Comparison of documentation generators

Comparison of documentation generators

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.

Contents

General information

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

Name Creator First public release date Latest stable version Software license
ApiGen David Grudl, Jaroslav Hanslík, Ondřej Nešpor 2010 2.2.1 New BSD / GPL v2 / GPL v3
Appledoc Gentle Bytes 2009 2.0.3[1] Modified BSD
Autoduck Eric Artzt 1993 2.10[2] Freeware[3]
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 1998/11/23 2.3.1 Proprietary
Ddoc Walter Bright 2005/09/19 DMD 1.010 / GDC 0.14 Freeware / GPL
devscribe Geoff Cox 2008 2.00 [4] MSDN Code Gallery Licenses
Doc-O-Matic toolsfactory software inc 2000/11/-- 6.1 Proprietary
SQL Documentor InfoCaptor 2005/11/-- 3.4 Proprietary
DOC++ Dragos Acostachioaie. 2002/12/22 3.4.10 GPL
Document! X Innovasys 1998 5.2.1.3 Proprietary
Doxygen Dimitri van Heesch 1997 1.7.5 GPL
Epydoc Edward Loper 2002/01/-- 3.0 MIT License
fpdoc Sebastian Guenther 2005? 2.4.0 GPL
GenHelp FraserSoft 1998/10/-- 5.6.7 Proprietary
HeaderDoc Apple Inc. 2000/09/-- 8.7.15 APSL
Help Generator Agora Software BV 2004/08/-- 4.0 Proprietary
HyperSQL Randy Phillips, Itzchak Rehberg 2001 3.7.5 GPL
IDLdoc Michael Galloy 2002 3.3.1 BSD
Imagix 4D Imagix Corp. 1995 6.6 Proprietary
Javadoc Sun Microsystems 1995 1.6 GPL
JSDoc Michael Mathews 2001/07/-- 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 2003/05/26 1.51 GPL
NDoc Kevin Downs 2003/07/27 1.3.1 GPL
phpDocumentor Joshua Eichorn 2000 1.4.2 LGPL
phpSimpleDoc Thierry Graff 2008 1.0 GPL
Project Analyzer Aivosto Oy 1997? 9.0 Proprietary
RDoc Dave Thomas 2001/12/14 in Ruby core Ruby License
ROBODoc Frans Slothouber 1995/01/19 4.99.36 GPL
Sandcastle Microsoft 2008/05/-- 2.4.10520 Ms-PL
SoDa IBM 2008/07/-- 7.0 Proprietary
Sphinx Georg Brandl 2008/03/-- 1.1 BSD
ThimbleDoc Thimbleopensource.com 2008 0.2beta GPL
TwinText PTLogica 2002 2008.0.406 Proprietary
VBDOX Mihayl Stamenov 2001/10/26 2.1.0 GPL
VSdocman Helixoft 2000/10/-- 5.4 Proprietary
jGrouseDoc Denis Riabtchik 2007/04/-- 1.5 BSD
Haddock Simon Marlow 2002 2.0.0.0 (2008) BSD
Universal Report Universal Software 2001–2010 9.0 Free Education / Proprietary
YARD Loren Segal 2007/02/24 0.7.3 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
ApiGen Yes Yes Yes Yes Yes
Appledoc No Yes No No No
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
IDLdoc Yes Yes Yes No 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 Fortran
ApiGen No No No No No No No No No No No
Autoduck Yes No No Yes No No No No No No No
BI Documenter No No No No No No No No Yes No No
classdoc No Yes No No No No No No No No No
CppDoc Yes No No No No No No No No No No
DB Manual No No No No No No No No Yes No No
DBDesc No No No No No No No No Yes No No
DBScribe No No No No No No No No No No No
Ddoc No No No No No No Yes No No No No
devscribe No No Yes No No No No No No No No
Doc-O-Matic Yes Yes Yes Yes Yes No No Yes Yes No No
DOC++ Yes Yes No No No No No Yes No No No
Document! X C++/CLI only No Yes Yes No No No Yes Yes Yes No
Doxygen Yes Yes Yes No3 No3 No Partial Yes No No Yes
Epydoc No No No No No No No No No No No
fpdoc No No No No Yes No No No No No No
GenHelp Yes No Yes No Yes No No No Yes No No
Haddock No No No No No No No No No No No
HeaderDoc Yes Yes No No Yes No No Yes No No No
Help Generator Yes No Yes Yes No No No No Yes Yes No
HyperSQL No No No No No No No No No No No
Imagix 4D Yes Yes No No No No No No No No No
Javadoc No Yes No No No No No No No No No
jGrouseDoc No No No No No No No No No No No
JSDoc No No No No No No No No No No No
JsDoc Toolkit No No No No No No No No No No No
KDOC Yes No No No No No No Yes No No No
Natural Docs Partial Partial Yes Partial Partial Partial No No No No Partial
NDoc No No Yes No No No No No Yes No No
phpDocumentor No No No No No No No No No No No
phpSimpleDoc No No No No No No No No No No No
Project Analyzer No No No Yes No No No No Yes No No
RDoc Partial No No No No No No No No No No
ROBODoc Yes Yes Yes Yes Yes Yes Yes Yes No No Yes
TwinText Yes Yes Yes Yes Yes Yes Partial Yes Yes No Yes
Universal Report Yes Yes Yes Yes Yes Yes No No Yes Yes Yes
VBDOX No No No Yes No No No No No No No
VSdocman No No Yes Yes No No No No Yes No No
YARD No No No No No No No No No No No
C/C++ Java C# VB / VBScript Delphi / Pascal Ada D IDL .NET1 Access Fortran
PHP Perl Python Ruby JavaScript ActionScript PL/SQL Tcl Haskell Any With Comments2
ApiGen Yes No No No No No No No No No
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
ApiGen Yes No
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
IDLdoc Yes No (except for .sav files)
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
Plain Old Documentation Yes No
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
ApiGen Yes No No No No No No No No
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 Yes8 No No No No No No No No8
IDLdoc Yes No No No Yes No No Yes Yes
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 Yes9 No No No No Indirectly10 No Yes9
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++.

Note (8): HyperSQL can output UnitTests (which can be embedded with the JavaDoc like description) as XML

Note (9): RDoc currently only provides generators for CHM and XML documents in the RDoc version provided as part of the Ruby 1.9 Core.

Note (10): RDoc generates documentation for RI, which is Ruby's version of the Unix man pages.

Other features

possibility of extended customization generated diagrams highlighting and linking of generated doc parameter types extracted
ApiGen Customizable Latte-based templates cross reference to generated documentation, and to php.net function reference Yes
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 to do/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
IDLdoc customizable through user-defined templates and stylesheets Yes Yes
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

  • API Writer

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Documentation Logicielle — La documentation logicielle est un texte écrit qui accompagne le logiciel informatique. Elle explique comment le logiciel fonctionne, ou comment on doit l employer. Le terme peut avoir des significations différentes pour des personnes de… …   Wikipédia en Français

  • Documentation logicielle — La documentation logicielle est un texte écrit qui accompagne le logiciel informatique. Elle explique comment le logiciel fonctionne, et/ou comment on doit l employer. Le terme peut avoir des significations différentes pour des personnes de… …   Wikipédia en Français

  • Documentation generator — A documentation generator is a programming tool that generates documentation intended for programmers (API documentation) or end users (End user Guide), or both, from a set of specially commented source code files, and in some cases, binary files …   Wikipedia

  • Software documentation — or source code documentation is written text that accompanies computer software. It either explains how it operates or how to use it, and may mean different things to people in different roles. Contents 1 Role of documentation in software… …   Wikipedia

  • Comparison of agent-based modeling software — In the last few years, the agent based modeling (ABM) community has developed several practical agent based modeling toolkits that enable individuals to develop agent based applications. More and more such toolkits are coming into existence, and… …   Wikipedia

  • Comparison of open source configuration management software — This is a comparison of free (libre) and open source configuration management software. Contents 1 Basic properties 2 Platform support 3 Short descriptions 4 Refere …   Wikipedia

  • Programming tool — A programming tool or software development tool is a program or application that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs that… …   Wikipedia

  • Comment (computer programming) — For comments in Wikipedia markup, see Help:Wiki markup#Character formatting and WP:COMMENT. An illustration of Java source code with prologue comments indicated in red and inline comments in green. Program code is in blue …   Wikipedia

  • Natural Docs — Original author(s) Greg Valure Stable release 1.5 / July 22, 2010 Operating system Cross platform …   Wikipedia

  • Doxygen — Developer(s) Dimitri van Heesch Initial release 26 October 1997 (1997 10 26)[1] …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”