The polaris internal representation

Keith A. Faigin, Stephen A. Weatherford, Jay P. Hoeflinger, David A Padua, Paul M. Petersen

Research output: Contribution to journalArticlepeer-review

Abstract

The Polaris Program Manipulation System is a production quality tool for source-to-source transformations and complex analysis of Fortran code. In this paper, we describe the motivations for and the implementation of Polaris' internal representation (IR). The IR is composed of a basic abstract syntax tree on top of which exist many layers of functionality. This functionality allows complex operations on the data structure. Further, the IR is designed to enforce the consistency of the internal structure in terms of both the correctness of the data structures and the correctness of the Fortran code being manipulated. In addition, operations on the IR result in the automatic updating of affected data structures such as flow information. We describe low the system's philosophies developed from its predecessor, the Delta prototyping system, and how they were implemented in Polaris' IR. We also provide a number of examples of using the Polaris system.

Original languageEnglish (US)
Pages (from-to)553-586
Number of pages34
JournalInternational Journal of Parallel Programming
Volume22
Issue number5
DOIs
StatePublished - Oct 1994
Externally publishedYes

Keywords

  • Internal representation
  • object-oriented
  • parallelizing compiler
  • source-to-source transformation

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'The polaris internal representation'. Together they form a unique fingerprint.

Cite this