1 |
adcroft |
1.1 |
f90mapper |
2 |
|
|
--------- |
3 |
|
|
|
4 |
|
|
Program to produce hyperlinked static analysis of a Fortran 90 program. |
5 |
|
|
|
6 |
|
|
Usage: f90mapper -d dictionary -o directory sourcefiles. |
7 |
|
|
|
8 |
|
|
-d dictionary: dictionary is the name of a text file containing definitions |
9 |
|
|
for each variable sourcefiles. No default. |
10 |
|
|
The dictionary file has the following format |
11 |
|
|
# Comment |
12 |
|
|
variable { HREF="html_reference"; |
13 |
|
|
TEXT="Decsription"; |
14 |
|
|
UNITS="umits"; |
15 |
|
|
NOTES="notes"; |
16 |
|
|
} |
17 |
|
|
The { } fields are optional. |
18 |
|
|
Example dictionary entries: |
19 |
|
|
--------------------------- |
20 |
|
|
1. Variable called A2MOMXY which holds a diffusion coefficient |
21 |
|
|
in m^2.s^-1. Discussed further in a document called manual |
22 |
|
|
at the marker called LAPL_DIFF. Footnotes a, b and c apply |
23 |
|
|
to A2MOMXY. |
24 |
|
|
> A2MOMXY {HREF="manual#LAPL_DIFF"; |
25 |
|
|
> TEXT="Used internally to hold lateral diffusion coefficient."; |
26 |
|
|
> UNITS="m<sup>2</sup>s<sup>-1</sup>"; NOTES="a b c";} |
27 |
|
|
2. Variable calle ARR. With no hyperlinks, no units and no |
28 |
|
|
footnotes. |
29 |
|
|
> ARR {TEXT="Temporary three-dimensional work array.";} |
30 |
|
|
|
31 |
|
|
The separate utility "DefinitionParser" can be used to create a dictionary |
32 |
|
|
of variable definitions from a source code with structured comments. |
33 |
|
|
|
34 |
|
|
Many files are created in a subdirectory called vdb/ these include |
35 |
|
|
vdict.html - variable dictionary. HTML file |
36 |
|
|
containing table of variables and their |
37 |
|
|
defintions. |
38 |
|
|
names/variable.html - for each variable name a file is created |
39 |
|
|
called "variable_name".html which |
40 |
|
|
tabulates all the uses of that name throughout |
41 |
|
|
sourcefiles. |
42 |
|
|
code/sourcefile.html - for each sourcefile a file is created |
43 |
|
|
called "sourcefile_name".html which |
44 |
|
|
is a hypertext version of the original source. |
45 |
|
|
Variables and procedures are hyperlinked |
46 |
|
|
to the variable dictionary. Procedure calls |
47 |
|
|
are also hyperlinked to the procedure source |
48 |
|
|
if it lies within the scope of sourcefiles. |
49 |
|
|
In the working directory a set of cross-linked html files |
50 |
|
|
with root file named "code_reference.html" are created. |
51 |
|
|
The root file can be used to browse through the entire |
52 |
|
|
code tree that was parsed. |
53 |
|
|
|