.de EX          \"Begin example
.ne 5
.if n .sp 1
.if t .sp .5
.nf
.in +.5i
..
.de EE
.fi
.in -.5i
.if n .sp 1
.if t .sp .5
..

.TH ROBODoc 1 "V3.2.1 June 1999"

.SH NAME

ROBODoc - Extract documentation from source code.

.SH SYNOPSIS
.B robodoc
.I source-file
.I documentation-file
.B [options]

.SH DESCRIPTION

ROBODoc extracts specially formated documentation from the source code.
It allows you to maintain a program and its documentation in a single
file.

.SH OPTIONS

.IP ASCII
Generate documentation in ASCII format.

.IP -c
Show warranty and copyright statement.

.IP C
Use ANSI C grammar in source items (experimental, HTML only).

.IP FOLD
Enable folding if HTML output is selected (experimental).

.IP "GENXREF xreffile"
Generate a xreffile.
 
.IP GUIDE
Generate documentation in Amiga Guide format.

.IP HTML
Generate documentation in HTML format.

.IP INDEX
Create a master index file. In this case call robodoc as
robodoc <xrefsfile> <master index file> INDEX 

.IP INTERNAL
Also include headers that are marked internal.

.IP INTERNALONLY
Only extract the headers that are marked internal (that start with ****i*).

.IP NOSOURCE
Do not include the source items in the documentation.

.IP LATEX
Generate documentation in LaTeX format.

.IP RTF
Generate documentation in RTF format.

.IP SINGLEDOC
Do not create a document header and footer when creating 
documentation in LaTeX format.  This allows you to include
the generated documents into big document or 
master index file.

.IP SORT
Sort the headers alphabetically.

.IP "TABSIZE <n>"         
Convert each tab into n spaces.

.IP TITLE 
Sets the title that is used for the master index file.

.IP TOC
Generate a table of contents. Is only useful when you select ASCII as
output mode. With all other output modes the Table of contents is
generated anyway.

.IP -v
Verbose mode, robodoc tells what it is doing.

.IP "XREF <xrefsfile>"
Use the all xref files listed in the file xrefsfile to make
cross links between documents.

The following abbreviations are also allowed: -s SORT, -t TOC, -x
XREF, -g GENXREF, -i INTERNAL, -io INTERNALONLY, -ts TABSIZE.

.SH "ITEM NAMES SUPPORTED"

.IP NAME 
Item's name followed by --, then a short description.
 
.IP COPYRIGHT 
Who own the copyright.

.IP "SYNOPSIS, USAGE"
How to use it. 

.IP "FUNCTION, DESCRIPTION, PURPOSE"
What does it do.

.IP AUTHOR 
Who wrote it.

.IP "CREATION DATE"
When did the work start.

.IP "MODIFICATION HISTORY, HISTORY"
Who has done which changes and when.

.IP "INPUTS, ARGUMENTS, OPTIONS, PARAMETERS, SWITCHES"
What can we feed into it. 

.IP "OUTPUT, SIDE EFFECTS"
What output is made.

.IP "RESULT, RETURN VALUE"
What do we get returned.

.IP "EXAMPLE" 
A clear example of the items use. 

.IP "NOTES"
Any annotations. 

.IP "DIAGNOSTICS" 
Diagnostical output. 

.IP "WARNINGS, ERRORS" 
Warning & error-messages.

.IP BUGS
Known bugs. 

.IP "TODO, IDEAS" 
What to implement next & ideas. 

.IP PORTABILITY
Where does it come from, where will it work.

.IP "SEE ALSO"
References to other functions, man pages, other documentation.

.IP "METHODS, NEW METHODS"
OOP methods.

.IP "ATTRIBUTES, NEW ATTRIBUTES"
OOP attributes, could also be used for structures.

.IP TAGS
Tagitem description.

.IP COMMANDS
Command description.

.IP "DERIVED FROM"
OOP super class.

.IP "DERIVED BY"
OOP sub class.

.IP "USES, CHILDREN"
What modules are used by this one.

.IP "USED BY, PARENTS"
Which modules use this one.

.IP SOURCE
Source code inclusion.

.SH "HEADER TYPES SUPPORTED"

.IP h
Header that describes the project.


.IP f
Header for a function.

.IP s
Header for a structure.

.IP c
Header for a class.

.IP m
Header for a method.

.IP v
Header for a variable

.IP d
Header for a constant (from define).

.IP i
Internal header.

.IP *
Generic header, for everything else.

.SH EXAMPLES

A simple example, you have one tcl source file and want to extract
the documentation.

.EX
robodoc wopr.tcl wopr.tcl.html HTML SORT
.EE

Assume you have a program divided in two source files, gluify.c and
gluify.h.  To generate the documentation for this program, complete
with cross links, you would use:

.EX
echo "gluify.c.xref" > gluify.xrefs
echo "gluify.h.xref" >> gluify.xrefs
robodoc gluify.c gluify.c.html HTML GENXREF gluify.c.xref
robodoc gluify.h gluify.h.html HTML GENXREF gluify.h.xref
robodoc gluify.c gluify.c.html HTML XREF gluify.xrefs
robodoc gluify.h gluify.h.html HTML XREF gluify.xrefs
.EE

.SH SEE ALSO

The documentation in HTML format that comes with ROBODoc.  Latest
version can be found on http://www.xs4all.nl/~rfsber/Robo/ or on
http://freshmeat.net/


