From: user1 on
Phred Phungus wrote:
>
>
> I think this makes a good template for you going forward, with an
> implementation-dependent kick from the southwest.
>

The southwest. Have you been chewing on peyote (again) ?



From: aerogeek on
On Feb 4, 5:34 am, agng8716 <day_light_2...(a)yahoo.com> wrote:
> I would like to extract call tree information from a fairly large code
> (containing Fortran90, Fortran77, C, m4 scripts) which is spread
> across
> numerous files and subdirectories.  Can anyone recommend a good
> (hopefully open source) method or tool for doing this in Linux?
>
> Please note that the code has numerous options and I want the
> complete
> static call tree - not the runtime trace-back tree.  In particular, I
> would
> like to know:
>   -The name of each routine or function.
>   -The source file that contains the routine.
>   -Whether the routine is global or is contained by another routine or
> module.
>   -Which routines call it.
>   -Which routines it calls.
>     -The exact order in which it calls each routine.
> Other things what would be nice, but not necessary.
>   -The list of arguments
>   -The list of included files
>   -The list of modules used
>   -The list of common blocks used
>
> The preferred output would be either:
>   -Some type of database
>   -HTML tree
>   -Simple ASCII tree
>   -Graph (dot) files
> This information would then be used to generate an annotated HTML tree
> to document the source.
>
> I'm having difficulty finding such a tool (especially for Fortran90
> and
> mixed-language codes), and I would rather not attempt to write my
> own parser.  I'm not even sure what the best search terms are for
> something like this.
>
> Are there compilers that will dump this type of table info?
>
> Should I be looking for a static analyzer?
>
> Are there in-line documentation programs that do this (and more)?
> I looked briefly at Doxygen but the trees it generates are
> alphabetical.
> I need trees that indicate the call order and multiple calls (these
> subtrees need not be included again).
>
> Any suggestions would be greatly appreciated.

You can check this http://legacy.cleanscape.net/products/fortranlint/index.html

i have evaluation version of it and it does a good job. My code was
fortran 77 and 90 with small sections of c.

hope this helps.
From: Phred Phungus on
user1 wrote:
> Phred Phungus wrote:
>>
>>
>> I think this makes a good template for you going forward, with an
>> implementation-dependent kick from the southwest.
>>
>
> The southwest. Have you been chewing on peyote (again) ?
>
>
>

No, that came from Andy Vaught when I was getting the what's for from
him on how to get a good seed from gfortran and g95 at the same time.

A call tree? Never heard of that. Cheers,
--
Phred Phungus
From: dpb on
agng8716 wrote:
> I would like to extract call tree information from a fairly large code
> (containing Fortran90, Fortran77, C, m4 scripts) which is spread
> across
> numerous files and subdirectories. Can anyone recommend a good
> (hopefully open source) method or tool for doing this in Linux?
....

Might look at Understand for [Fortran|C|...]

Not open source but has evaluation version available (or at least did)
that can use for limited time. Not sure how it deals w/ the mixed
language issue though nor whether can choose more than one language at a
time for evaluation...but few years ago when had sizable mish-mash of
code to pick up and figure out how to modify it was invaluable and they
were great about support even for eval version. Hence, when seems
appropriate I try to push folks their direction ever since as at least
some repayment... :)

<www.scitools.com>

--
From: sep on
maybe doxygen provides it: www.doxygen.org. It works with several
programming languages and is able to generate call trees for each
procedure