[comp.os.vms] Fortran Subroutine Mapper Summary

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).
------