home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
fchk294s.zip
/
ftnchek-2.9.4
/
blurb.txt
< prev
next >
Wrap
Text File
|
1996-10-02
|
15KB
|
463 lines
FTNCHEK 2.9(1L) FTNCHEK 2.9(1L)
NAME
ftnchek - Fortran 77 program checker
SYNOPSIS
ftnchek [ -arguments[=num] ] [ -array[=num] ]
[ -calltree[=num] ] [ -[no]check ] [ -columns[=num] ]
[ -common[=num] ] [ -[no]crossref ] [ -[no]declare ]
[ -[no]division ] [ -[no]extern ] [ -[no]f77[=str] ]
[ -[no]help ] [ -include=str ] [ -intrinsic[=num] ]
[ -[no]library ] [ -[no]list ] [ -makedcls[=num] ]
[ -[no]novice ] [ -output=str ]
[ -[no]portability[=str] ] [ -[no]pretty[=str] ]
[ -[no]project ] [ -[no]pure ] [ -[no]quiet ]
[ -[no]reference ] [ -[no]resources ]
[ -[no]sixchar ] [ -[no]sort ] [ -source[=num] ]
[ -[no]symtab ] [ -[no]truncation[=str] ]
[ -usage[=num] ] [ -[no]vcg ] [ -[no]version ]
[ -[no]volatile ] [ -wordsize[=num] ] [ -wrap[=num] ]
[ files ... ]
DESCRIPTION
ftnchek (short for Fortran checker) is designed to detect
certain errors in a Fortran program that a compiler usu-
ally does not. ftnchek is not primarily intended to
detect syntax errors. Its purpose is to assist the user
in finding semantic errors. Semantic errors are legal in
the Fortran language but are wasteful or may cause incor-
rect operation. For example, variables which are never
used may indicate some omission in the program; uninitial-
ized variables contain garbage which may cause incorrect
results to be calculated; and variables which are not
declared may not have the intended type. ftnchek is
intended to assist users in the debugging of their Fortran
program. It is not intended to catch all syntax errors.
This is the function of the compiler. Prior to using
ftnchek, the user should verify that the program compiles
correctly.
INVOKING FTNCHEK
ftnchek is invoked through a command of the form:
$ ftnchek [-option -option ...] filename [filename ...]
The brackets indicate something which is optional. The
brackets themselves are not actually typed. Here options
are command-line switches or settings, which control the
operation of the program and the amount of information
that will be printed out. If no option is specified, the
default action is to print error messages, warnings, and
4 Apr 1996 1
FTNCHEK 2.9(1L) FTNCHEK 2.9(1L)
informational messages, but not the program listing or
symbol tables.
Each option begins with the '-' character. (On VAX/VMS or
MS-DOS systems you may use either '/' or '-'.) The
options are described at greater length in the next sec-
tion.
ftnchek options fall into two categories: switches, which
are either true or false, and settings, which have a
numeric or string value. The name of a switch is prefixed
by 'no' to turn it off: e.g. -nopure would turn off the
warnings about impure functions. The 'no' prefix can also
be used with numeric settings, having the effect of turn-
ing off the corresponding warnings. Settings that control
lists of warnings have a special syntax discussed below.
Only the first 3 characters of an option name (not count-
ing the '-') need be provided. A colon may be used in
place of an equals sign for numeric or string setting
assignments; however, we show only the equals sign form
below.
The switches and settings which ftnchek currently recog-
nizes are:
-arguments=num
Set level of strictness in checking subprogram
arguments. Min is 0 (no checking). Max is 3 (most
checking). Default = turn-on = 3.
-array=num
Set level of strictness in checking array arguments
of subprograms. Min is 0 (least strict). Max is 3
(most strict). Default = turn-on = 3.
-calltree=num
Produce subprogram call hierarchy in one of 3 for-
mats. Default = 0, no tree. Turn-on = 1, call-
tree format. Other values are 2, who-calls-who and
3, VCG.
-check Perform checking. Default = yes.
-columns=num
Set maximum line length to num columns. (Beyond
this is ignored.) Turn-on = max = 132. Default =
72.
-common=num
Set level of strictness in checking COMMON blocks.
Min is 0 (no checking). Max is 3 (must be identi-
cal). Default = turn-on = 3.
4 Apr 1996 2
FTNCHEK 2.9(1L) FTNCHEK 2.9(1L)
-crossref
Print cross-reference list of subprogram calls and
COMMON block use. Default = no.
-declare
Print a list of all identifiers whose datatype is
not explicitly declared. Default = no.
-division
Warn wherever division is done (except division by
a constant). Default = no.
-extern
Warn if external subprograms which are invoked are
never defined. Default = yes.
-f77=list
Control specific warnings about supported exten-
sions to the Fortran 77 Standard. Default = none.
-help Print command summary. Default = no.
-include=path
Define a directory to search for INCLUDE files.
Cumulative.
-intrinsic=num
Control treatment of nonstandard intrinsic func-
tions. Three digits. Max = 223. Default = turn-
on = 222 for Unix version, 223 for VMS version, 221
for others.
-library
Begin library mode: do not warn about subprograms
in file that are defined but never used. Default =
no.
-list Print source listing of program. Default = no.
-makedcls=num
Prepare a file of declarations. Min is 0 (no dec-
laration file). Max is 1023. Default = 0, turn-on
= 1.
-novice
Give output suitable for novice users. Default =
yes.
-output=filename
Send output to the given file. Default is to send
output to the screen. (Default filename extension
is .lis).
4 Apr 1996 3
FTNCHEK 2.9(1L) FTNCHEK 2.9(1L)
-portability=list
Warn about non-portable usages. Default = none.
-pretty=list
Give warnings for possibly misleading appearance of
source code. Default = all.
-project
Create project file (see explanation below).
Default = no.
-pure Assume functions are pure, i.e. have no side
effects. Default = yes.
-quiet Produce less verbose output. Default = no.
-reference
Print table of subprograms referenced by each sub-
program. Default = no.
-resources
Print amount of resources used in analyzing the
program. Default = no.
-sixchar
List any variable names which clash at 6 characters
length. Default = no.
-sort Print list of subprograms sorted in prerequisite
order. Default = no.
-source=num
Select source formatting options. Sum of 1 for DEC
Fortran tab-formatted lines, 2 for VMS-style
INCLUDE statement, and 4 for UNIX-style backslash
escape sequences. Default = 0. Turn-on = max = 7.
-symtab
Print symbol table for each subprogram. Default =
no.
-truncation=list
Check for possible loss of accuracy by truncation.
Default = all.
-usage=num
Control warnings about unused variables, etc.
Three digits: 1st digit = subprograms, 2nd digit =
common, 3rd digit = local variables. For each
digit: min is 0 (no checking). Max is 3 (most
checking). Default = turn-on = 333.
-vcg Produce VCG format of call graph.
4 Apr 1996 4
FTNCHEK 2.9(1L) FTNCHEK 2.9(1L)
-version
Print version number. Default = no.
-volatile
Assume COMMON blocks lose definition between acti-
vations. Default = no.
-wordsize=num
Set the default word size for numeric quantities to
num bytes. Default = turn-on = 4 bytes.
-wrap=num
Set output column at which to wrap long error mes-
sages and warnings to the next line. If set to 0,
turn off wrapping. Default = turn-on = 79.
When more than one option is used, they should be sepa-
rated by a blank space, except on systems such as VMS
where options begin with slash ( / ). No blank spaces may
be placed around the equals sign ( = ) in a setting.
ftnchek "?" will produce a command summary listing all
options and settings.
For settings that take a list of warnings, namely -f77,
-pretty, -portability, and -truncation, the list consists
of keywords separated by commas or colons. The list can
be omitted, having the effect of turning on all the corre-
sponding warnings. Also, if the list is omitted, the set-
ting name can be prefixed with no to turn off all the
warnings it controls. For example, -f77 turns on all
warnings about nonstandard constructions, while -nof77
turns them all off. Three special keywords are:
help Print out all the warning option keywords con-
trolled by the setting, with a brief explanation of
their meanings. This keyword cannot be given in a
list with other keywords.
all Set all warnings. This turns on all warnings con-
trolled by the setting.
none Clear all warnings. This turns off all warnings
controlled by the setting.
These special keywords must be given in full. For all
other warning keywords, only as many letters of the key-
word as are necessary to identify it unambiguously need be
given. Including a keyword in the list turns its warnings
on. For example, -f77=intrinsic would turn on only the
warnings about use of nonstandard intrinsic functions.
Prefixing a keyword by no- turns its warnings off. For
example, -pretty=no-long-line turns off warnings about
lines exceeding 72 columns in length while leaving all
4 Apr 1996 5
FTNCHEK 2.9(1L) FTNCHEK 2.9(1L)
other warnings about misleading appearance in effect. If
a setting has default none, you can turn on all warnings
except one or two by using all first. For example,
-f77=all,no-include enables warnings about all nonstandard
extensions except INCLUDE statements. If a setting has
default all, you can turn off all warnings except one or
two by using none first. For example, -trunca-
tion=none,demotion would turn off all precision related
warnings except about demotions.
When ftnchek starts up, it looks for environment variables
and also for a preferences file. Any options defined in
the environment or in the preferences file are used as
defaults in place of the built-in defaults. They are
over-ridden by any command line options. See the section
on changing the defaults for details about the environment
options and the preferences file.
When giving a name of an input file, the extension is
optional. If no extension is given, ftnchek will first
look for a project file with extension .prj, and will use
that if it exists. If not, then ftnchek will look for a
Fortran source file with the extension .for for VMS sys-
tems, .f for UNIX systems. More than one file name can be
given to ftnchek, and it will process the modules in all
files as if they were in a single file.
Wildcards are allowed in the specification of filenames on
the command line for the VMS and MS-DOS versions, as also
of course under UNIX and any other system that performs
wildcard expansion in the command processor.
If no filename is given, ftnchek will read input from the
standard input.
INSTALLATION AND SUPPORT
The ftnchek program can be obtained by anonymous ftp from
many software servers, including host netlib.org
(128.169.92.17) where it is located in directory /fortran.
You should download it in binary mode. If the file exten-
sion is .Z, uncompress with the Unix uncompress(1) util-
ity. If the file extension is .gz, uncompress with the
GNU gunzip(1L) program. Then use tar(1) to unpack the
files into a subdirectory.
Installation requires a C compiler for your computer. See
the INSTALL file provided with the distribution for
instructions on installing ftnchek on your system. Exe-
cutable binary for particular systems such as IBM PC or
Macintosh, as available, can be obtained by anonymous ftp
from ftp.dsm.fordham.edu (150.108.64.2), located in
4 Apr 1996 6
FTNCHEK 2.9(1L) FTNCHEK 2.9(1L)
directory /pub/ftnchek2.9. Assistance in preparing such
executable binary forms is welcome.
Information about the latest version and the status of the
project can be obtained by the Internet command ``finger
ftnchek@mary.fordham.edu''. For further information and
to report bugs, you may contact Dr. Robert Moniot at the
following network address:
moniot@mary.fordham.edu
4 Apr 1996 7