f90doc
f90doc is an easy-to-learn documentation tool for Fortran 90 written by
Erik Demaine.
Basically, it generates pages of HTML documentation from Fortran 90 source.
The documentation is derived from comments prefixed with !!
written (if desired) in a simple and intuitive documentation language
whose source is easily readable in the code itself, while formatting nicely
in HTML.
f90doc is similar to
javadoc,
but does not require comments to be written in HTML.
Overview
A list of main features for the latest version:
- A useful (but simple) documentation
language that is easily readable with a text editor and
convertable into HTML, supporting lists, bold, italic, and verbatim
text.
-
module
, subroutine
, function
,
type
, interface
, and variable declarations,
each of which can be commented.
- A table of contents for each top-level block (module, program,
subroutine, or function), with links to the full description
of each portion.
-
use
statements in modules, which generate links.
-
call
statements in programs, subroutines, and functions,
which generate a list and optionally links.
-
module procedure
statements in interfaces, which generate
links.
- Detection of public/privateness of module objects.
A couple of limitations: only free-form input files are supported, and only
objects in modules are documented.
Related work
There are three related projects for different languages:
Documentation
For more details on f90doc, including how to use it, see the
documentation page.
For a quick start, you can look at the Fortran 90 code
and resulting HTML documentation for a simple
example.
Availability
f90doc is free, distributed according to
MIT license
(as of version 0.4.0).
Also, if you make changes to f90doc that you think would be useful to the rest
of the world, I'd appreciate it if you send them to me for consideration.
RPM packages
have been prepared by Mark Ashdown.
Please send any comments, suggestions, criticism, or (perish the thought) bug
reports to edemaine@mit.edu.
Also, send me e-mail if you want to be informed of future updates.
Translation into
Armenian,
Finnish,
Serbo-Croatian,
Ukranian.