Misplaced Pages

Natural Docs

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Multi-language software documentation generator
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
The topic of this article may not meet Misplaced Pages's notability guidelines for products and services. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.
Find sources: "Natural Docs" – news · newspapers · books · scholar · JSTOR (January 2015) (Learn how and when to remove this message)
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Natural Docs" – news · newspapers · books · scholar · JSTOR (January 2015) (Learn how and when to remove this message)
(Learn how and when to remove this message)
Natural Docs
Original author(s)Greg Valure
Stable release2.3 / September 11, 2023
Repository
Written inC# (Perl before 2.0)
Operating systemCross-platform
TypeDocumentation generator
LicenseAGPL
WebsiteNaturalDocs.org

Natural Docs is a multi-language documentation generator. It is written in C# and available as free software under the terms of the AGPL. It attempts to keep the comments written in source code 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, C#, and Perl 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, either with frames or without.

Unlike Javadoc, 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. It has gained popularity amongst ActionScript 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:
  *    <Divide>
  */
 int Multiply (int x, int y)
    {  return x * y;  }

For comparison, this is how the same thing would be documented with Javadoc:

 /** 	 
  * 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) 	 
    { return x * y; }

See also

Notes and references

  1. About Natural Docs
  2. Natural Docs Languages
  3. CNET's Global Framework by CNET Networks, Inc. and generated documentation using Natural Docs
  4. Rapture by Iron Realms Entertainment and generated documentation using Natural Docs

Further reading

Categories: