This pretty printer relies heavily on our coding conventions, and can not be used as a general FORTRAN pretty printer. We stick, among others, to the following rules:
Subroutine and function definitions start in column 7.
Do not use TABs, but always type out the blanks.
Function names are explicitly declared.
Module headers start with a C and three forward slashes, and are terminated with three back slashes.
Comments start with a C.
Include files are included using the INCLUDE statement.
Subroutine names are followed by a blank and an opening bracket, function names are followed directly by the bracket.
Copyright notices start with C.---
Probably we stick to several more conventions that were not realy designed, but historically grew. With projects the size of WHAT IF one has to stick to many conventions rather rigurously, otherwise after a couple of years it becomes unreadable spaghetti.
The output is in postscript format. Comments are in bold. Copyright notices are removed. Placeholder comments are in Italics. There are 120 lines per page.
Total lines Comment lines Copyright lines Compiler directives Executable source lines Empty lines GVS tools calls (GVS subroutines and functions are guaranteed bug free) Modules Subroutines Functions Output calls without textstring placeholders Output calls with textstring placeholders Implicit none statements Format statements without placeholders Characters non-blank Characters blank
This option is used to convert the documentation into WHAT IF help files.
You have to type:
latex manual.tex makeindex manual latex manualThereafter you run 'xdvi manual.dvi' to preview (or dvips manual.dvi and ghostview manual.ps, or any other conversion). We use dvips to get a postscript file that gets printed.
The latex output can be converted to completey index and cross referenced HTML with the script xxx.
RUNOFF files are flat files of textlines no longer than 132 characters, but preferably shorter than 80 characters. RUNOFF directives can be put inbetween the text. Directives start with a period as the first character on the line. The next two till four positions are used for the actual directive (.NMCH .CH .HL .X .BR .LT or .EL). No other directives are supported. There can only be one directive per line. Directives can be followed by a directive textstring or a number. the following directives can be used:
.NMCH xx (where xx is the chapter number) .CH xx (where xx is the chapter title) .HL xx (where xx is a header level 1 for a paragraph, 2 for a sub-paragraph, 3 for a sub-sub-paragraph, etc.) .LT (To start literal text, this will not be justified etc. during the conversion) .EL (To indicate the end of literal text) .BR (To start on a new line) .X xx (Where xx is a text string to make an entry in the index table).The .HL lines can be closed by a word in brackets. If this word is found anywhere in the text in capitals, a cross reference is create in the WWW page.