rdoc-f95: Enhanced version of RDoc Fortran 90/95 parser

INSTALLATION

% sudo gem install rdoc-f95

USAGE

Set the environment variable PATH to include the directory where the execution program is installed, and RUBYLIB to include the directory where the libraries are installed.

Move to a directory where your Fortran 90/95 files exist, and execute the following command. HTML documents will be generated in doc directory.

% rdoc-f95 -U --ignore-case --inline-source

Files ending .f90, .F90, .f95, .F95 are parsed as Fortran 90/95 programs. All Fortran 90/95 programs in subdirectories are parsed recursively.

Just as in the original RDoc, files ending with .rb and .rbw are parsed as Ruby programs and files ending with .c, .cc, .cpp, .CC, .cxx are parsed as C programs.

With the option --op,

the directory where HTML documents are generated can be changed. --title option sets title of HTML documents. When --all option is used, private subroutines, functions etc. in Fortran 90/95 programs are shown in HTML documents (for developers). If files or directories are specified as arguments (for example, “src/*.f90” or “test/”), the particular files are parsed. In the following example, files with suffix “.f90” in a directory “src/” and files in a directory “test/” are parsed.

% rdoc-f95 -U --ignore-case --inline-source  \
           --op rdoc --title "RDoc documentations" src/*.f90 test/

Alternatively, you can parse only a part of files by creating a “.document” file and writing names of the files and the directories to the file.

For more information, see www.ruby-doc.org/stdlib/libdoc/rdoc/rdoc/index.html

RULES for RDocF95 Document

Refer to parse_f95.rb which explains parsed information, way of looking at documents, the format of comment blocks in Fortran 90/95 source code. If you use “–mathml” option (see below), refer to RDoc::Markup::ToXHtmlTexParser, too. For general information, see www.ruby-doc.org/stdlib/libdoc/rdoc/rdoc/index.html

SAMPLES

DIFFERENCES from original RDoc

This patch has been created for enhancing the Fortran 90/95 parser of RDoc . The Fortran 90/95 parse script is mainly modified, and other programs are also improved.

The original RDoc has been developed by Dave Thomas and is now maintained by Ryan Davis and Eric Hodel, etc. . The RDoc is available from the Ruby source code repository. See Ruby Repository Guide. For more information about RDoc, see www.ruby-doc.org/stdlib/libdoc/rdoc/rdoc/index.html or RubyForge: rdoc Project

Differences to the original one are given below.

#Enhancement of an analytical performance of Fortran 90/95 source codes

# See lib/rdoc-f95/parsers/parse_f95.rb for details.

#Modification of format of comment blocks

# See lib/rdoc-f95/parsers/parse_f95.rb for details. ++

Addition of --ignore-case option

In the Fortran 90/95 Standard,

upper case letters are not distinguished from lower case letters, although original RDoc produces case-dependently cross-references of Class and Methods. When this options is specified, upper cases are not distinguished from lower cases.

Cross-reference of file names

Cross-reference of file names is available as well as modules, subroutines, and so on.

Modification of --style option

Original RDoc can not treat relative path stylesheet. Application of this patch modifies this function.

Conversion of TeX formula into MathML

TeX formula can be converted into MathML format with –mathml option, if MathML library for Ruby version 0.6b – 0.8 is installed. This library is available from Bottega of Hiraku (only JAPANESE). See RDoc::Markup::ToXHtmlTexParser about format.

*** Caution *** Documents generated with “–mathml” option are not displayed correctly according to browser and/or its setting. We have been confirmed that documents generated with “–mathml” option are displayed correctly with Mozilla Firefox and Internet Explorer (+ MathPlayer). See MathML Software - Browsers for other browsers.

Some formats of comments in HTML document are changed to improve the analysis features. See parse_f95.rb

LICENSE

Licence of the enhanced version of RDoc Fortran 90/95 parser conforms to that of original RDoc. see rdoc.rubyforge.org/

HISTORY

0.0.1

  • Initial release