The Specification of Code Generation Algorithms.

Abstract

This thesis addresses the problem of automatically constructing the code generation phase of a compiler from a specification of the source language and target machine. A framework for such a specification is presented in which information about language and machine-dependent semantics is incorporated as a set of transformations on an internal representation of the source language program. The intermediate language which serves as the internal representation, and the metalanguage in which the transformations are written are discussed in detail. The major goal of this approach is to separate machine and language-dependent knowledge (as embodied in a tansformation catalogue) from general knowledge about code generation. This general knowledge is supplied by the third component of the framework: a metainterpreter incorporating a fairly complete repertoire of language and machine-independent optimization algorithms for intermediate language programs. The metainterpreter is also capable of selecting and applying transformations from the transformation catalogue. The three-component framework described in the thesis provides a specification that can easily be tailored to new languages and machine architectures without compromising the ability to generate optimal code. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1978
Accession Number
ADA054301

Entities

People

  • Christopher J. Terman

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Artificial Intelligence
  • Catalogs
  • Computer Programming
  • Computer Science
  • Computers
  • Electrical Engineering
  • Engineering
  • High Level Languages
  • Linguistics
  • Machine Languages
  • Production
  • Programming Languages
  • Specifications
  • Standards
  • Translations

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Computer Science.