Jump to content

Comparison of documentation generators

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 81.252.230.89 (talk) at 14:14, 23 August 2010 (→‎Language support: remove hypersql yes to "support C/C++".). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The following tables compare general and technical information for a number of documentation generators. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

General information

Basic general information about the generators: creator/company, license/price etc.

Name Creator First public release date Latest stable version Software license
Autoduck Eric Artzt 1993 2.10[ttp://www.ddj.com/cpp/184403427] Freeware[1]
BI Documenter Mienasoft 2006 1.5 Proprietary
DB Manual Blue Oceans Ltd 2006 1.3 Proprietary
DBDesc Logica2 2005 3.1 Proprietary
DBScribe Leadum Software 2007 1.1 Proprietary
classdoc Jens Gulden 2001 1.0 GPL
CppDoc Richard Feit November 23, 1998 2.3.1 Proprietary
Ddoc Walter Bright September 19, 2005 DMD 1.010 / GDC 0.14 Freeware / GPL
devscribe Geoff Cox 2008 2.00[2] MSDN Code Gallery Licenses
Doc-O-Matic toolsfactory software inc Nov. 2000 6.1 Proprietary
SQL Documentor InfoCaptor Nov. 2005 3.4 Proprietary
DOC++ Dragos Acostachioaie. December 22, 2002 3.4.10 GPL
Document! X Innovasys 1998 5.2.1.3 Proprietary
Doxygen Dimitri van Heesch 1997 1.7.1 GPL
Epydoc Edward Loper January 2002 3.0 MIT License
fpdoc Sebastian Guenther ? 2.4.0 GPL
GenHelp FraserSoft Oct. 1998 5.6.7 Proprietary
HeaderDoc Apple Computer ? 8.7 APSL
Help Generator Agora Software BV August 2004 4.0 Proprietary
HyperSQL Randy Phillips, Itzchak Rehberg 2001 3.5 GPL
Imagix 4D Imagix Corp. 1995 6.6 Proprietary
Javadoc Sun Microsystems 1995 1.6 GPL
JSDoc Michael Mathews July 2001 1.10.2 GPL
JsDoc Toolkit Michael Mathews 2007? 2.0.0 MIT License
KDOC Sirtaj Singh Kang 1999 3.0.1 ?
Natural Docs Greg Valure May 26, 2003 1.4 GPL
NDoc Kevin Downs July 27, 2003 1.3.1 GPL
phpDocumentor Joshua Eichorn 2000 1.4.2 LGPL
phpSimpleDoc Thierry Graff 2008 1.0 GPL
Project Analyzer Aivosto Oy 9.0 Proprietary
RDoc Dave Thomas December 14, 2001 in Ruby core Ruby License
ROBODoc Frans Slothouber January 19, 1995 4.99.36 GPL
Sandcastle Microsoft May 2008 2.4.10520 Ms-PL
SoDa IBM July 2008 7.0 Proprietary
Sphinx Georg Brandl March 2008 1.0.2 BSD
ThimbleDoc Thimbleopensource.com 2008 0.2beta GPL
TwinText PTLogica 2002 2008.0.406 Proprietary
VBDOX Mihayl Stamenov October 26, 2001 2.1.0 GPL
VSdocman Helixoft Oct. 2000 5.0 Proprietary
jGrouseDoc Denis Riabtchik Apr. 2007 1.5 BSD
Haddock Simon Marlow 2002 2.0.0.0 (2008) BSD
Universal Report Universal Software 2001-2008 8.1 Free Education / Proprietary
YARD Loren Segal February 24, 2007 0.2.3.5 MIT License
Name Creator First public release date Latest stable version Software license

Operating system support

The operating systems the generators can run on.

Windows Mac OS X Linux BSD Unix
Autoduck Yes No No No No
BI Documenter Yes No No No No
classdoc Yes Yes Yes Yes Yes
CppDoc Yes No Yes No No
DB Manual Yes No No No No
DBDesc Yes No No No No
DBScribe Yes No No No No
Ddoc Yes Yes3 Yes Yes3 No
devscribe Yes No No No No
Doc-O-Matic Yes No No No No
DOC++ Yes Yes? Yes Yes Yes
Document! X Yes No No No No
Doxygen Yes Yes Yes Yes Yes
Epydoc Yes Yes Yes Yes Yes
fpdoc Yes Yes Yes Yes Yes
GenHelp Yes No No No No
Haddock Yes Yes Yes Yes Yes
HeaderDoc No Yes Yes Yes Yes
Help Generator Yes No No No No
HyperSQL Yes Yes Yes Yes Yes
Imagix 4D Yes No Yes No Yes
Javadoc Yes Yes Yes Yes Yes
jGrouseDoc Yes Yes Yes Yes Yes
JSDoc Yes Yes Yes Yes Yes
JsDoc Toolkit Yes Yes Yes Yes Yes
KDOC Partial Yes Yes Yes Yes
Natural Docs Yes Yes Yes Yes Yes
NDoc Yes No No No No
phpDocumentor Yes Yes Yes Yes Yes
phpSimpleDoc Yes Yes Yes Yes Yes
Project Analyzer Yes No No No No
RDoc Yes Yes Yes Yes Yes
ROBODoc Yes Yes Yes Yes Yes
Sandcastle Yes No No No No
ThimbleDoc Yes Yes Yes Yes Yes
TwinText Yes No No No No
Universal Report Yes No No No No
VBDOX Yes No No No No
VSdocman Yes No No No No
YARD Yes Yes Yes Yes Yes
Windows Mac OS X Linux BSD Unix

Note (4): GNU D Compiler.

Language support

The programming languages the generators recognize.

C/C++ Java C# VB / VBScript Delphi / Pascal Ada D IDL .NET1 Access
Autoduck Yes No No Yes No No No No No No
BI Documenter No No No No No No No No Yes No
classdoc No Yes No No No No No No No No
CppDoc Yes No No No No No No No No No
DB Manual No No No No No No No No Yes No
DBDesc No No No No No No No No Yes No
DBScribe No No No No No No No No No No
Ddoc No No No No No No Yes No No No
devscribe No No Yes No No No No No No No
Doc-O-Matic Yes Yes Yes Yes Yes No No Yes Yes No
DOC++ Yes Yes No No No No No Yes No No
Document! X C++/CLI only No Yes Yes No No No Yes Yes Yes
Doxygen Yes Yes Yes No3 No3 No Partial Yes No No
Epydoc No No No No No No No No No No
fpdoc No No No No Yes No No No No No
GenHelp Yes No Yes No Yes No No No Yes No
Haddock No No No No No No No No No No
HeaderDoc Yes Yes No No Yes No No Yes No No
Help Generator Yes No Yes Yes No No No No Yes Yes
HyperSQL No No No No No No No No No No
Imagix 4D Yes Yes No No No No No No No No
Javadoc No Yes No No No No No No No No
jGrouseDoc No No No No No No No No No No
JSDoc No No No No No No No No No No
JsDoc Toolkit No No No No No No No No No No
KDOC Yes No No No No No No Yes No No
Natural Docs Partial Partial Yes Partial Partial Partial No No No No
NDoc No No Yes No No No No No Yes No
phpDocumentor No No No No No No No No No No
phpSimpleDoc No No No No No No No No No No
Project Analyzer No No No Yes No No No No Yes No
RDoc Partial No No No No No No No No No
ROBODoc Yes Yes Yes Yes Yes Yes Yes Yes No No
TwinText Yes Yes Yes Yes Yes Yes Partial Yes Yes No
Universal Report Yes Yes Yes Yes Yes Yes No No Yes Yes
VBDOX No No No Yes No No No No No No
VSdocman No No Yes Yes No No No No Yes No
YARD No No No No No No No No No No
C/C++ Java C# VB / VBScript Delphi / Pascal Ada D IDL .NET1 Access
PHP Perl Python Ruby JavaScript ActionScript PL/SQL Tcl Haskell Any With Comments2
Autoduck No No No No No No No No No No
BI Documenter No No No No No No No No No No
classdoc No No No No No No No No No No
CppDoc No No No No No No No No No No
DB Manual No No No No No No No No No No
DBScribe No No No No No No Yes No No No
Ddoc No No No No No No No No No No
devscribe No No No No No No No No No No
Doc-O-Matic Yes No No No Yes No No No No Yes
DOC++ No No No No No No No No No No
Document! X No No No No No No Yes No No No
Doxygen Yes No3 Yes No No No No No No No
Epydoc No No Yes No No No No No No No
fpdoc No No No No No No No No No No
GenHelp No No No No No No No No No No
Haddock No No No No No No No No Yes No
HeaderDoc Yes Yes No No Yes No No No No No
HyperSQL No No No No No No Yes No No No
Imagix 4D No No No No No No No No No No
Javadoc No No No No No No No No No No
jGrouseDoc No No No No Yes No No No No No
JSDoc No No No No Yes No No No No No
JsDoc Toolkit No No No No Yes No No No No No
KDOC No No No No No No No No No No
Natural Docs Partial Yes Partial Partial Partial Yes Partial Partial No Yes
NDoc No No No No No No No No No No
phpDocumentor Yes No No No No No No No No No
phpSimpleDoc Yes No No No No No No No No No
Project Analyzer No No No No No No No No No No
RDoc No No No Yes No No No No No No
ROBODoc Yes Yes No Yes Yes Partial Yes Yes No Yes
ThimbleDoc Yes No No No No No No No No No
TwinText Yes Yes Yes Yes Yes Yes Yes Yes No Yes
Universal Report Yes Yes Yes No Yes Yes Yes No No Yes
VBDOX No No No No No No No No No No
VSdocman No No No No No No No No No No
YARD No No No Yes No No No No No No
PHP Perl Python Ruby JavaScript ActionScript PL/SQL Tcl Haskell Any With Comments2

Note (1): .NET is not a programming language, but is listed here for convenience.

Note (2): Generators listed here can be extended to support any language that has comments.

Note (3): Though not supported as a native input language, Doxygen can be extended through the use of filters. Examples include Visual Basic, VB.NET, Perl, and Pascal:

Input formats

The input formats the generators can read.

Text Binary
Autoduck Yes No
BI Documenter No Yes
DB Manual No Yes
classdoc No Yes
CppDoc Yes No
DBDesc No Yes
DBScribe No Yes
Ddoc Yes No
devscribe No Yes
Doc-O-Matic Yes No
DOC++ Yes No (except Java class files)
Document! X Yes Yes
Doxygen Yes No
Epydoc Yes No
fpdoc Yes No
GenHelp Yes No
Haddock Yes No
HeaderDoc Yes No
Help Generator Yes Yes
HyperSQL Yes No
Imagix 4D Yes No
Javadoc Yes No
jGrouseDoc Yes No
JSDoc Yes No
JsDoc Toolkit Yes No
KDOC Yes No
Natural Docs Yes No
NDoc No Yes
phpDocumentor Yes No
phpSimpleDoc Yes No
Project Analyzer Yes Yes
RDoc Yes No
ROBODoc Yes No
TwinText Yes Yes
Universal Report Yes No
VBDOX Yes No
VSdocman Yes No
YARD Yes No
Text Binary

Output formats

The output formats the generators can write.

HTML CHM RTF PDF LaTeX PostScript man pages DocBook XML
Autoduck Yes No Yes No No No No No No
BI Documenter Yes Yes No No No No No No No
classdoc Yes No No No No No No No No
CppDoc Yes No No No No No No No No
DB Manual Yes Yes No No No No No No No
DBDesc Yes No Yes Yes No No No No Yes
DBScribe Yes Yes Yes No No No No No No
Ddoc Yes Yes4 No Yes4 Yes4 Yes4 Yes4 No Yes4
devscribe Yes No No No No No No No Yes
Doc-O-Matic Yes Yes Yes Yes No No No No Yes
DOC++ Yes No No Yes7 Yes Yes7 No No No
Document! X Yes Yes No No No No No No No
Doxygen Yes Yes Yes Yes Yes Yes Yes No Yes
Epydoc Yes No No Yes Indirectly5 Indirectly5 No No No
fpdoc Yes Yes Yes No Yes No Yes No Yes
GenHelp Yes Yes Yes No No No No No No
Haddock Yes Yes No No No No No Partial No
HeaderDoc Yes No No No No No Yes No Yes
Help Generator Yes Yes Yes No No No No No Yes
HyperSQL Yes No No No No No No No No
Imagix 4D Yes No Yes No No No No No No
Javadoc Yes Indirectly6 Indirectly6 Indirectly6 Indirectly6 Indirectly6 Indirectly6 Indirectly6 Indirectly6
jGrouseDoc Yes No No No No No No No Yes
JSDoc Yes No No No No No No No No
JsDoc Toolkit Yes No No No No No No No Yes+JSON
KDOC Yes No No No No No No No No
Natural Docs Yes No No No No No No No No
NDoc Yes Yes No No No No No No No
phpDocumentor Yes Yes No Yes No No No Yes Yes
phpSimpleDoc Yes No No No No No No No No
Project Analyzer Yes Yes Yes Yes No No No No No
Sandcastle Yes Yes No No No No No No No
RDoc Yes No No No No No No No No
ROBODoc Yes Yes Yes Yes Yes Yes Yes Yes No
ThimbleDoc Yes No No No No No No No No
TwinText Yes Yes No No No No No No No
Universal Report Yes No Yes Yes Yes Yes No No No
VBDOX Yes Yes Yes No No No No No No
VSdocman Yes Yes Yes No No No No No Yes
YARD Yes No No No No No No No No
HTML CHM RTF PDF LaTeX PostScript man pages DocBook XML

Note (4): Ddoc has a macro system which can be customized to output any desired format. CHM, groff (manpages), XHTML, XML, and LaTeX (so PostScript and PDF) were tested. They are not currently included in the standard distribution. Standard HTML output also is generated using macros and can be redefined.

Note (5): Though not officially supported as an output format, Epydoc uses LaTeX and PostScript as intermediate steps to produce the final PDF documentation.

Note (6): Via Doclets from Third Parties.

Note (7): DOC++ outputs LaTeX and includes templates to enable conversion to PDF or PostScript with the appropriate latex tools. Required tools however are not included with DOC++.

Other features

possibility of extended customization generated diagrams highlighting and linking of generated doc parameter types extracted
Autoduck
BI Documenter
classdoc
CppDoc
DB Manual
DBDesc full customization for all output formats using XSL templates and a built-in designer All SQL code syntax highlighted Yes
DBScribe
Ddoc with macros
devscribe Via code, XSLT, CSS and web.config Looks and reads just like code with syntax coloring in Visual Studio style. Supports linking from all member and method parameter types.
Doc-O-Matic full customization for all output formats, template for MSDN and other lookalike output, custom XMLDoc/JavaDoc tags local, module and global graphical class hierarchies, local text class hierarchies fully cross linked project wide, automatic inter-project links, automatic links into framework documentation like MSDN, Borland/CodeGear Help types extracted and linked
DOC++
Document! X customizable HTML based templates, custom comment tags linked graphical object relationship diagrams internal links and links to .NET framework documentation types extracted and linked
Doxygen with XSLT caller and callee graphs, dependency graphs, inheritance diagrams, collaboration diagrams
Epydoc
Haddock Yes Yes
HeaderDoc Custom headers, footers, code coloring, and other CSS styles in individual pages. Project-wide TOC is generated from a user-defined template. Configurable syntax highlighting/coloring with automatic linking to symbols in declaration, ability to manual link to symbols in discussion, etc. Provides warnings if tagged parameters do not match code, parsed parameters included in XML output and Doxygen-style tagfile (-D flag in 8.7). Partial C preprocessor support with -p flag. Preliminary support for #if/#ifdef control over documentation through an external utility (not currently installed by default).
Help Generator
HyperSQL custom CSS, options via configuration file, optional central todo/bug lists (items extracted from javadoc comments) Pie Charts for code statistics, object relationship diagrams (dependency graphs) fully cross linked project wide for views, packages, package functions, and package procedures; optional inclusion of source code with syntax highlighting; links to javadoc generated references as well as directly to the code lines; code statistics Provides warnings if tagged parameters count does not match code
Imagix 4D customizable through style sheets and CSS linked hierarchy and dependency graphs for function calls, variable sets and reads, class inheritance and interface, and file includes and interface, intra-function flow charts fully cross linked project wide, including all hierarchy and dependency graphs, metrics tables, source code snippets, and source files full semantic analysis of source code, including parameter types, condition compilation directives, macro expansions
Javadoc
jGrouseDoc With XSLT cross reference to generated documentation Yes
JSDoc Yes
JsDoc Toolkit Yes
KDOC
Natural Docs
NDoc
phpDocumentor Smarty-based templates class inheritance diagrams cross reference to generated documentation, and to php.net function reference Yes
phpSimpleDoc class / interface inheritance Yes Yes
Project Analyzer custom CSS File dependencies, inheritance, control flow, data flow, variable access, class instantiation, data

declaration, Form.Show order, procedure calls, project dependencies, file belongs to project, class cohesion.

Cross-referenced source code types extracted and linked, source code level linkage
RDoc
ROBODoc
TwinText 20 CSS styles. Well documented CSS facilitates customization. ASCII diagramming and picture importing. Table of Contents, Index, and per-page cross referencing. Method/Function parameters extracted and linked.
Universal Report customizable HTML based templates, custom comment tags linked graphical object relationship diagrams internal links between routines and objects data types extracted and linked
VBDOX
VSdocman full customization for all output formats, templates for MSDN-like output, custom XML comment tags linked graphical class diagrams, class inheritance tree internal links and links to .NET framework documentation types extracted and linked
YARD customizable Ruby templates class diagrams with extra tool internal classes/modules cross-referenced and Ruby source highlighted
possibility of extended customization generated diagrams highlighting and linking of generated doc parameter types extracted

See also

  • OneClickHelp [3] converts Doc to Chm / Chm to Doc