charettep%v36b.DECnet@NUSC.ARPA ("V36B::CHARETTEP") (11/11/87)
Greetings and Permuatations,
About two weeks ago, I requested information about a program which
would analyze FORTRAN code and generate flow charts. Thanks to responses
by many of you, I traced down INDEX, a DECUS program which is touted as
a "FORTRAN Cross Referencer and Flow Chart Generator". (imbed disclaimer)
I haven't had time to test it out, so I can't speak for it's usefulness or
reliablilty, but it looks quite useful.
If you would like a copy, I will gladly forward the source to you.
I wish I could make it available for Anonymous FTP, but our site doesn't
allow anonymous access. Be warned, however, that it is quite large, however
(23 files, ~3000 blocks of source, with the largest file having 880 blocks).
I tried packing it using VMS_SHAR, with MAX_PART_SIZE = 64
INDEX-FORTRAN CROSS REFERENCE AND FLOW CHART
ABSTRACT
INDEX is a FORTRAN source cross-referenceing and flow charting
utility that allows the user to look at individual source files
(optionally saving the data for an overall SUPER INDEX) and determine
what variables are used on what lines and how they are used.
Furthermore the user can select for display/save for SUPER INDEX only
those variables or COMMON blocks with the characteristics that he is
interested in-global/local, assigned value/not assigned value,
used/unused, imported/exported, etc in any combination. Also
available is the optional ability to show up to four additional items
of information for display during the regular and SUPER INDEX:
The variable storage location information (local, in COMMON,
passed by argument, etc).
The variable type (REAL F_Floating, structured etc)
Usage in FUNCTION/SUBROUTINE calls (routine used in and
argument number).
A user selected tag of up to 31 characters.
The data saved for a SUPER INDEX listing (consisting of 6 data items
as outlined above) can be displayed with a great deal of flexibility
as to the data item selection, order and format (or saved in an ISAM
data file for the user to work on directly). A special option of the
SUPER INDEX allows the output of a list of module entry points which
pass data in and out by argument, the name of each argument and it's
type , the name of any module which call that entry point along with
the the name of each variable passed in the corresponding argument
position and it's type. The resulting information supplied allows the
user to follow the flow of data throughout a program or find the usage
of any selected data variable as required.
If selected, the user may at the same time generate a flow chart
of the source file currently being cross-referenced.
If wanted, the user can generate in place of the SUPER INDEX, an
entry point cross reference listing showing who calls who and is
called by who (with optional graphical tree has be5
iate8:charettep%v36b.DECnet@NUSC.ARPA ("V36B::CHARETTEP") (11/11/87)
Greetings and Permuatations,
About two weeks ago, I requested information about a program which
would analyze FORTRAN code and generate flow charts. Thanks to responses
by many of you, I traced down INDEX, a DECUS program which is touted as
a "FORTRAN Cross Referencer and Flow Chart Generator". (imbed disclaimer)
I haven't had time to test it out, so I can't speak for it's usefulness or
reliablilty, but it looks quite useful.
It is quite large, however
too bad vms_shar couldn't slice it up into equal parts ... hmm
INDEX-FORTRAN CROSS REFERENCE AND FLOW CHART
ABSTRACT
INDEX is a FORTRAN source cross-referenceing and flow charting
utility that allows the user to look at individual source files
(optionally saving the data for an overall SUPER INDEX) and determine
what variables are used on what lines and how they are used.
Furthermore the user can select for display/save for SUPER INDEX only
those variables or COMMON blocks with the characteristics that he is
interested in-global/local, assigned value/not assigned value,
used/unused, imported/exported, etc in any combination. Also
available is the optional ability to show up to four additional items
of information for display during the regular and SUPER INDEX:
The variable storage location information (local, in COMMON,
passed by argument, etc).
The variable type (REAL F_Floating, structured etc)
Usage in FUNCTION/SUBROUTINE calls (routine used in and
argument number).
A user selected tag of up to 31 characters.
The data saved for a SUPER INDEX listing (consisting of 6 data items
as outlined above) can be displayed with a great deal of flexibility
as to the data item selection, order and format (or saved in an ISAM
data file for the user to work on directly). A special option of the
SUPER INDEX allows the output of a list of module entry points which
pass data in and out by argument, the name of each argument and it's
type , the name of any module which call that entry point along with
the the name of each variable passed in the corresponding argument
position and it's type. The resulting information supplied allows the
user to follow the flow of data throughout a program or find the usage
of any selected data variable as required.
If selected, the user may at the same time generate a flow chart
of the source file currently being cross-referenced.
If wanted, the user can generate in place of the SUPER INDEX, an
entry point cross reference listing showing who calls who and is
called by who (with optional graphical tree output).
------