Browse Prior Art Database

A Programming Environment for Fortran

IP.com Disclosure Number: IPCOM000128269D
Original Publication Date: 1984-Dec-31
Included in the Prior Art Database: 2005-Sep-15
Document File: 17 page(s) / 58K

Publishing Venue

Software Patent Institute

Related People

Robert T. Hood: AUTHOR [+4]

Abstract

Although it has many flaws by comparison with more modem programming languages, For-tran remains the standard language for numerical programming-partly because there is a large body of important software coded in it, partly because good optimizing compilers can be written for it, and partly because it is reasonably easy to transport Fortran programs from one machine to another. The numerical analysis community has developed reliable packages of Fortran subrou-tines to solve various kinds of problems (e.g., LINPACK, EISPACK and MINPACK) and these packages are widely distributed. Yet, in spite of its popularity, Most of the sophisticated new tools for program development have not been extended to support it. As a part of the IR' project at Rice University, we are build-ing a retargetable interactive programming environment for Fortran. At the heart of the environ-ment is project management software that maintains a data base on all the program modules. The data base contains not only the source for each module in the system but also related information such as the composition of programs, cross-module procedure call information, interprocedural data flow information, and specifications for calls to existing procedures. The data base is used by all the other tools in the environment: an intelligent editor that knows enough Fortran to assist the user in preparing programs, an interactive source-level debugging system, and an optimizing compiler with extensive interprocedural analysis. Of particular interest, because, of our previous work on compiler optimization, is the assis-tance such a system can give to interprocedural data flow analysis and optimization. Because all the modules of a program are saved in the data base, the information needed to analyze data. flow effects and improve code across procedure boundaries is conveniently available to the optimizing compiler. Thus, the environment will permit us to build compilation systems which optimize the program as a whole rather than module by module-something which has not been possible with conventional compilation techniques. A Programming Environment for Fortrani Robert T Hood Ken Kennedy Department of Computer Science Rice University Houston, Texas 77251

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 6% of the total text.

Page 1 of 17

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

A Programming Environment for Fortran*

Robert T. Hood Ken KeTe4

Rice CO MP TR84- 1 June 1984

Department of Computer Science Rice University P.O. Box 1892 Houston, TX 77251

*Support for this work was provided by the National Science Foundation under grants MCS- 8104006 and MCS-8121884 and by International Business Machines Corporation under a Faculty Development Award. "Previously available as Rice MASC TR83-22.

Abstract

Although it has many flaws by comparison with more modem programming languages, For-tran remains the standard language for numerical programming-partly because there is a large body of important software coded in it, partly because good optimizing compilers can be written for it, and partly because it is reasonably easy to transport Fortran programs from one machine to another. The numerical analysis community has developed reliable packages of Fortran subrou- tines to solve various kinds of problems (e.g., LINPACK, EISPACK and MINPACK) and these packages are widely distributed. Yet, in spite of its popularity, Most of the sophisticated new tools for program development have not been extended to support it. As a part of the IR' project at Rice University, we are build-ing a retargetable interactive programming environment for Fortran. At the heart of the environ-ment is project management software that maintains a data base on all the program modules. The data base contains not only the source for each module in the system but also related information such as the composition of programs, cross-module procedure call information, interprocedural data flow information, and specifications for calls to existing procedures. The data base is used by all the other tools in the environment: an intelligent editor that knows enough Fortran to assist the user in preparing programs, an interactive source-level debugging system, and an optimizing compiler with extensive interprocedural analysis. Of particular interest, because, of our previous work on compiler optimization, is the assis-tance such a system can give to interprocedural data flow analysis and optimization. Because all the modules of a program are saved in the data base, the information needed to analyze data. flow effects and improve code across procedure boundaries is conveniently available to the optimizing compiler. Thus, the environment will permit us to build compilation systems which optimize the program as a whole rather than module by module- something which has not been possible with conventional compilation techniques. A Programming Environment for Fortrani

Robert T Hood Ken Kennedy

Department of Computer Science Rice University Houston, Texas 77251

1. Introduction

It is well known that progress in software has not kept pace with the dramatic advances in hardware technology. In a period when the power of machines has advanced by a factor of

Rice University Page 1 Dec 31, 1984

Page 2 of 17

A...