pflow - command line utility for printing the call graph of a fortran program
pflow [-indent=8] [-dups=0] [-type=tree] *.f
This is a simplified Perl version of the FLOW program http://www.netlib.org/floppy/contents.html#link13. It takes Fortran 77 source code and prints a call graph.
The output looks something like this:
MAIN EXTSUB * 1 SUB1 SUB11 SUB12 SUB2 SUB1 (1) SUB21
This means that MAIN calls EXTSUB, which is labeled with an asterisk because it is external (meaning it is not defined within the program that was parsed), SUB1, and SUB2. SUB1 calls SUB11 and SUB12. SUB2 calls SUB1; to avoid duplication, a link is made by labeling SUB1 with a 1. This is the default behavior, with 'dups' => 0. When dups => 1, the branch is duplicated:
MAIN EXTSUB * SUB1 SUB11 SUB12 SUB2 SUB1 SUB11 SUB12 SUB21
In case of recursion, the label system is used even with dups => 1, to avoid an endless loop.
The number of spaces to indent each call level. The default is 8.
If true, duplicate a branch that has already been called. If false, place a level pointing to the first place where the branch was defined. The default is false.
Specify which type of dump should be used. There are several options:
The default; print a call tree (like the examples shown in the DESCRIPTION section.
Print one subroutine per line, followed by the list of all the subroutines that it calls.
Print one subroutines per line, followed by the list of all the subroutines that call it.
0.55
CallGraph, CallGraph::Node, CallGraph::Dumper, CallGraph::Lang::Fortran. The FLOPPY and FLOW user's guide at http://www.netlib.org/floppy/contents.html.
Ivan Tubert <itub@cpan.org>
Copyright (c) 2004 Ivan Tubert. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install CallGraph, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CallGraph
CPAN shell
perl -MCPAN -e shell install CallGraph
For more information on module installation, please visit the detailed CPAN module installation guide.