HOME

TheInfoList



OR:

Natural Docs is a multi-language documentation generator. It is written in C# and available as
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
under the terms of the
Affero General Public License The Affero General Public License (Affero GPL and informally Affero License) is a free software license. The first version of the Affero General Public License (AGPLv1), was published by Affero, Inc. in March 2002, and based on the GNU General Pu ...
. It attempts to keep the comments written in
source code In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
just as readable as the generated documentation. It is written and maintained by Greg Valure.


Background

Theoretically, Natural Docs can generate documentation from any language that can support comments, or from plain text files. When executed, it can automatically document functions, variables, classes, and inheritance from
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meani ...
, C#, and
Perl Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
regardless of existing documentation in the source code. In all other languages, these need to be explicitly documented for them to be generated. It can generate documentation in
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
, either with frames or without. Unlike
Javadoc Javadoc (originally cased JavaDoc) is a documentation generator created by Sun Microsystems for the Java language (now owned by Oracle Corporation) for generating API documentation in HTML format from Java source code. The HTML format is used ...
, it is not considered an industry standard for documenting in any language, although it can incorporate Javadoc documentation for languages with "full support." It is used by some hobbyists and companies, such as CNET Networks, Inc. and Iron Realms Entertainment.Rapture
by Iron Realms Entertainment an
generated documentation
using Natural Docs It has gained popularity amongst
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meani ...
developers because no other free documentation generator exists that fully supports ActionScript and because it generates higher-quality output than similar generators that partially support the language, such as ROBODoc.


Example

This is an example of the documentation style: /* * Function: Multiply * * Multiplies two integers. * * Parameters: * x - The first integer. * y - The second integer. * * Returns: * The two integers multiplied together. * * See Also: * */ int Multiply (int x, int y) For comparison, this is how the same thing would be documented with
Javadoc Javadoc (originally cased JavaDoc) is a documentation generator created by Sun Microsystems for the Java language (now owned by Oracle Corporation) for generating API documentation in HTML format from Java source code. The HTML format is used ...
: /** * Multiplies two integers. * * @param x The first integer. * @param y The second integer. * @return The two integers multiplied together. * @see Divide */ int Multiply (int x, int y)


See also

* Comparison of documentation generators


Notes and references

{{Reflist


Further reading


Natural Docs Home Page
Free documentation generators Software using the GNU AGPL license