File: resources.html

package info (click to toggle)
ftnchek 2.11.2-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 5,392 kB
  • ctags: 2,790
  • sloc: ansic: 21,570; fortran: 2,921; yacc: 2,794; sh: 1,623; makefile: 693; lisp: 264; awk: 163
file content (133 lines) | stat: -rw-r--r-- 6,390 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<HTML>
<HEAD>
<TITLE>Option: resources</TITLE>
</HEAD>
<BODY>
<A HREF="toc.html">Table of Contents</A><P>
<P>Previous: <A HREF="reference.html">-reference</A><HR><P>
<H2>Option: <font color=#FF0080>resources</font></H2><P>
<A NAME="resources"></A><DT><B><A HREF="resources.html">-resources</A></B>  </DT>
<DD>Prints the amount of resources used 
by <B>ftnchek </B> in processing the program.  This listing may be useful in analyzing 
the size and complexity of a program.  It can also help in choosing larger 
sizes for <B>ftnchek </B>'s internal tables if they are too small to analyze a 
particular program. Default = no.  <blockquote></DD>
</DL>
<P>
In this listing, the term ``chunk size'' 
is the size of the blocks of memory allocated to store the item in question, 
in units of the size of one item, not necessarily in bytes.  When the initially 
allocated space is filled up, more memory is allocated in chunks of this 
size. The following is an explanation of the items printed: 
<DL>

<DT><I>Source lines 
processed:</I>  </DT>
<DD>Total number of lines of code, with separate totals for statement 
lines and comment lines.  Comment lines include lines with 'C' or '*' in column 
1 as well as blank lines and lines containing only an inline comment.  
Statement lines are all other lines, including lines that have an inline 
comment following some code.  Continuation lines are counted as separate 
lines.  Lines in include files are counted each time the file is included. 
</DD>

<DT><I>Total executable statements:</I>  </DT>
<DD>Number of statements in the program, other 
than specification, data, statement-function, FORMAT, ENTRY, and END statements. 
</DD>

<DT><I>Total number of modules:</I>  </DT>
<DD>A module is any external subprogram, including 
the main program, subroutines, functions, and block data units.  This count 
is of modules defined within the source, not modules referenced.  Statement 
functions are not included.  A subprogram with multiple entry points is 
only counted once. </DD>

<DT><I>Max identifier name chars:</I>  </DT>
<DD>Number of characters used 
for storing identifier names.  An identifier is a variable, subprogram, 
or common block name.  Local names are those of local variables in a subprogram, 
whereas global names refer to subprogram and common block names, as well 
as dummy argument names and common variable names.  Actual argument text 
(up to 15 characters for each argument) is also included here.  The space 
used for local names is recovered at the end of each module, whereas the 
global space grows until the whole program is analyzed.  Unfortunately, 
this figure may include some common block names and arguments stored more 
than once, although a heuristic is used that will avoid duplicates in 
many cases. </DD>

<DT><I>Max token text chars:</I>  </DT>
<DD>A token is the smallest syntactic unit 
of the FORTRAN language above the level of individual characters. For instance 
a token can be a variable name, a numerical constant, a quoted text string, 
or a punctuation character.  Token text is stored while a module is being 
processed.  For technical reasons, single-character tokens are not included 
in this total.  Items that are not represented in the symbol table may 
be duplicated.  The space for token text is recovered at the end of each 
module, so this figure represents the maximum for any one module. </DD>

<DT><I>Max local 
symbols:</I>  </DT>
<DD>This is the largest number of entries in the local symbol table 
for any module.  Local symbol table entries include all variables and parameters, 
common block names, statement functions, external subprograms and intrinsic 
functions referenced by the module.  Literal constants are not stored in 
the local symbol table. </DD>

<DT><I>Max global symbols:</I>  </DT>
<DD>This is the number of entries 
in the global symbol table at the end of processing.  Global symbol table 
entries include external subprogram and common block names.  Intrinsic 
functions and statement functions are not included. </DD>

<DT><I>Max number of tokenlists:</I> 
 </DT>
<DD>A token list is a sequence of tokens representing the actual or dummy 
argument list of a subprogram, or the list of variables in a common block 
or namelist.  Therefore this number represents the largest sum of COMMON, 
CALL, NAMELIST and ENTRY statements and function invocations for any one 
module.  The space is recovered at the end of each module. </DD>

<DT><I>Max token list/tree 
space:</I>  </DT>
<DD>This is the largest number of tokens in all the token lists and 
token trees of any one module.  A token tree is formed when analyzing an 
expression: each operand is a leaf of the tree, and the operators are 
the nodes.  Therefore this number is a measure of the maximum complexity 
of an individual module.  For instance a module with many long arithmetic 
expressions will have a high number.  Note that unlike token text described 
above, the number of tokens is independent of the length of the variable 
names or literal constants in the expressions. </DD>

<DT><I>Number of subprogram invocations:</I> 
 </DT>
<DD>This is the sum over all modules of the number of CALL statements and 
function invocations (except intrinsic functions and statement functions). 
</DD>

<DT><I>Number of common block decls:</I>  </DT>
<DD>This is the sum over all modules of the 
number of common block declarations.  That is, each declaration of a block 
in a different module is counted separately.  (The standard allows multiple 
declarations of a block within the same module; these are counted as only 
one declaration since they are equivalent to a single long declaration.) 
</DD>

<DT><I>Number of array dim &amp; param ptrs:</I>  </DT>
<DD>This is the sum over all modules of 
the number of array dimension and parameter definition text strings saved 
for use by the <B><A HREF="makedcls.html">-makedcls</A> </B> option.  The length of the text strings is not 
counted.  Each dimension of a multidimensional array is counted separately. 
</DD>
</DL>
<P>
These numbers are obviously not the same when project files are used in 
place of the original source code.  Even the numbers for global entities 
may be different, since some redundant information is eliminated in project 
files.  </blockquote>
<P>
 
<DL>

<P><HR><P>Next: <A HREF="sixchar.html">-sixchar</A>
</BODY></HTML>