ROBODoc
Encyclopedia
ROBODoc is a documentation tool similar to Javadoc
Javadoc
Javadoc is a documentation generator from Sun Microsystems for generating API documentation in HTML format from Java source code.The "doc comments" format used by Javadoc is the de facto industry standard for documenting Java classes. Some IDEs, such as Netbeans and Eclipse automatically generate...

 and licensed under the GPL. It is used to extract API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 documentation from source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

. It can be used with any language that supports comments and works by extracting specially formatted headers. These are then reformatted into HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

, DocBook
DocBook
DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software but it can be used for any other sort of documentation....

, TROFF
Troff
troff is a document processing system developed by AT&T for the Unix operating system.-History:troff can trace its origins back to a text formatting program called RUNOFF, written by Jerome H. Saltzer for MIT's CTSS operating system in the mid-1960s...

, ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

, LaTeX
LaTeX
LaTeX is a document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as . The term LaTeX refers only to the language in which documents are written, not to the editor used to write those documents. In order to...

, PDF
Portable Document Format
Portable Document Format is an open standard for document exchange. This file format, created by Adobe Systems in 1993, is used for representing documents in a manner independent of application software, hardware, and operating systems....

, or RTF
Rich Text Format
The Rich Text Format is a proprietary document file format with published specification developed by Microsoft Corporation since 1987 for Microsoft products and for cross-platform document interchange....

.

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

ROBODoc works with C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

, Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

, shell script
Shell script
A shell script is a script written for the shell, or command line interpreter, of an operating system. It is often considered a simple domain-specific programming language...

s, Assembler
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

, DCL
DCL
- Organizations :* Detroit College of Law, now known as Michigan State University College of Law* Data Connection Ltd, see Metaswitch* Disney Cruise Line, a cruise line company * Distillers Company Limited, a producer of spirits...

, DB/C, Tcl/Tk, Forth, Lisp, COBOL
COBOL
COBOL is one of the oldest programming languages. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....

, Occam, Basic
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....

, HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

, Clarion, and any other language that supports comments.

History

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
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

. Autodocs produced ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

 output only. Jacco created a version that created output in Amigaguide
Amigaguide
AmigaGuide is a hypertext document file format designed for the Amiga, files are stored in ASCII so it is possible to read and edit a file without the need for special software.Since Workbench 2.1 an Amiga Guide system for O.S...

format. This made it possible to create hyperlinks between the various documentation parts.

Example

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

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK