What: robodoc
Description: Generate documentation (in a wide variety of formats) from source. Requires an ANSI C compiler. Works for many languages - assembler, C, C++, COBOL, FORTRAN, HTML, Java, LISP, Occam, Pascal, Perl, Shell, Tcl/Tk, etc. Version 2.x and newer now maintained by Frans Slothouber.
Currently at Version 4.99.41.
Updated: 02/2011
Contact: (mailto:frans.slothouber -a-t- (Frans Slothouber)

See also NaturalDocs, TMML, Sdoc (probably because they are some of the many other documentation applications available).

MAKR, 2006-12-13: (continuing a discussion from Source Documentation Tools ...) No I am not using OO extensions. But given the flexibility of robodoc, I don't see a reason why OO should make it difficult. All you need is either a comment line starting character (like #) or a comment starting and stopping sequence (like /* ... */). You can configure it all.

Likewise configurable are the header types to track and organise your documentation. As default header types are available (taken from Robodoc documentation): class, constant, function, module, method, structure, types, unittest, variable and a generic type. But you can also define your own types, e.g. I defined the types Standard Variables and Standard Pages in my project's robodoc.rc:

        p "Standard Pages"     robo_std_pages
        s "Standard Variables" robo_std_vars

Now I can go and document the Standard Variable mountPoint like this:

 #****s* standard/mountPoint
 #       mountPoint
 #       ::standard::newVariable mountPoint

That is all it takes to configure you own header type. Robodoc will now organise the documentation accordingly, e.g. by generating an index for Standard Variables...

Needless to say that the documentation items (like NAME and SYNOPSIS in the example above) can be configured too. There are quite a number already supported...

Take a look into its manual [L1 ] for more ...

escargo 13 Dec 2006 - I was corresponding with the robodoc developers about the need for more generalization a few years ago. It sounds like they have met much more general needs. I wanted to use robodoc for some snit work I was doing.

RLH 18 Jan 2008 - I have been trying robodoc out and it seems to be easy and pretty darn good at what it does.