Natural Docs
   HOME

TheInfoList



OR:

Natural Docs is a multi-language
documentation generator A documentation generator is a programming tool that generates software documentation intended for programmers ( API documentation) or end users (end-user guide), or both, from a set of source code files, and in some cases, binary files. Some gen ...
. 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, no ...
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 P ...
. 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 comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
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 (meaning ...
, C#, and
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offic ...
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 JavaSc ...
, 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 for ...
, 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 Iron Realms Entertainment (formerly known as Achaea LLC) is a computer game development company that has created the MUDs '' Achaea, Dreams of Divine Lands''; ''Aetolia, The Midnight Age''; ''Imperian, the Sundered Heavens''; ''Lusternia, Age ...
.Rapture
by
Iron Realms Entertainment Iron Realms Entertainment (formerly known as Achaea LLC) is a computer game development company that has created the MUDs '' Achaea, Dreams of Divine Lands''; ''Aetolia, The Midnight Age''; ''Imperian, the Sundered Heavens''; ''Lusternia, Age ...
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 (meaning ...
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 for ...
: /** * 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 The following tables compare general and technical information for a number of documentation generators. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the s ...


Notes and references

{{Reflist


Further reading


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