ROBODoc

From Wikipedia, the free encyclopedia
ROBODoc
Developer(s)Frans Slothouber
Initial release1994 (1994)
Stable release
4.99.44 / January 29, 2021 (2021-01-29)
Operating systemLinux, Windows, Mac OS, Solaris
TypeDocumentation generator
LicenseGNU General Public License
WebsiteROBODoc 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

See also[edit]

External links[edit]