ROBODoc

From Wikipedia, the free encyclopedia
Jump to: navigation, search
ROBODoc
Developer(s) Frans Slothouber
Initial release 1994 (1994)
Stable release 4.99.41 / February 6, 2011 (2011-02-06)
Operating system Linux, Windows, Mac OS, Solaris
Type Documentation generator
License GNU General Public License
Website ROBODoc Homepage

ROBODoc is a documentation tool similar to Javadoc and licensed under the GPL. It is used to extract API documentation from source code. It can be used with any language that supports comments and works by extracting specially formatted headers. These are then reformatted into HTML, DocBook, TROFF, ASCII, LaTeX, PDF, or RTF.

It can be used to document any programming artifact, such as: classes, functions, tests, makefile entries, etc.

ROBODoc works with C, C++, Fortran, Perl, shell scripts, Assembler, DCL, DB/C, Tcl/Tk, Forth, Lisp, COBOL, Occam, Basic, HTML, Clarion, and any other language that supports comments.[citation needed]

History[edit]

The first version of ROBODoc was written by Jacco van Weert in 1995. ROBODoc was inspired by the Autodocs program that was available on the Amiga. Autodocs produced ASCII output only. Jacco created a version that created output in Amigaguide format. This made it possible to create hyperlinks between the various documentation parts.

Example[edit]

A typical ROBODoc header

  /****f* Robodoc/RB_Panic [2.0d]
   * SYNOPSIS
   */
 
   void RB_Panic (char* cause, char *add_info)
 
  /*
   * FUNCTION
   *   Prints an error message.
   *   Frees all resources used by robodoc.
   *   Terminates program.
   * INPUTS
   *   * cause    - pointer to a string which describes the
   *                cause of the error.
   *   * add_info - pointer to a string with additional information.
   * SEE ALSO
   *   RB_Close_The_Shop ()
   * SOURCE
   */
    {
      printf ("Robodoc: Error, %s\n",cause) ;
      printf ("         %s\n", add_info) ;
      printf ("Robodoc: Panic Fatal error, closing down..\n") ;
      RB_Close_The_Shop () ; /* Free All Resources */
      exit(100) ;
    }
 
   /*******/

and the resulting output

Robodoc example small.png

See also[edit]

External links[edit]