fortran preprocessor for in-line code substitution

harvard!seismo!rochester!steinmetz!sierra!lamson (Lamson)
30 Apr 87 20:21:46 GMT

          From comp.compilers

Related articles
fortran preprocessor for in-line code substitution harvard!seismo!rochester!steinmetz!sierra!lamson (1987-04-30)
| List of all articles for this month |

Posted-Date: 30 Apr 87 20:21:46 GMT
From: harvard!seismo!rochester!steinmetz!sierra!lamson (Lamson)
Newsgroups: comp.lang.fortran,comp.compilers,comp.sources.wanted
Date: 30 Apr 87 20:21:46 GMT
Original-sender: rochester!steinmetz!
Organization: General Electric CRD, Schenectady, NY

We are looking for software to read FORTRAN-77 source code and
do an in-line replacement of subroutine/function calls with the
source (also fortran) code from the called subroutine/function.

We're interested in such a tool for several reasons:

1) to allow (encourage) users to modularize code (good software
engineering) without the penalty of subroutine call
overhead for frequently called routines.

2) to develop portable applications on top of non-portable functions
(bit manipulation, etc.).

3) to allow vectorizing/parallelizing compilers to "do their thing"
across fortran module boundaries.

4) to restructure existing code in a more "parallel" sense (minimizing
synchronization and communication).

Has anyone done something like this that is publically available?
Or are you looking for a good CS thesis project? Failing that, do
enough people think this makes sense that we can get some support to
develop such a tool here, probably based on TOOLPACK.

p.s. The next thing would be a tool to take a section of code
out of a routine that had "evolved" beyond desirable size
and "modularize" it automatically.
                Scott| ARPA:
              Lamson| UUCP:
(518)387-5795| GE DECnet: qtmvax::lamson
[There are a zillion Fortran source mungers out there, ratfor being the most
familiar to the Unix crowd. I'd expect this has been done before, and invite
reports. -John]

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.