TECHNIQUES FOR AUTOMATING THE CONSTRUCTION OF TRANSLATORS FOR PROGRAMMING LANGUAGES,

Abstract

Formal procedures are summarized for constructing translators whereby a computer is used to generate substantial portions of the translators, the latter being termed symbolic machine language assemblers, macro expanders, or compilers. The translators all perform the task of translating programs written in one language into equivalent programs written in another. BASIC BOOTSTRAP PROCEDURE: The first translators were written in an available machine language and were mostly symbolic machine language translators (assemblers). Application of the 'bootstrap' procedure was the writing in symbolic language, including the translator itself, of programs, once a symbolic machine language translator became available for a particular machine. The bootstrap procedure has the property that each translator can translate its own description into itself since it is described by a language which is a subset of the language it translates. The NELIAC, compiler for the Remington Rand M460 is a 'selfcompiling compiler'. MULTIPLE BOOTSTRAP PROCEDURES: These procedures involve translators producing object programs for machines other than the machine that performed the translation. As an example of the use of an intermediate language and multiple bootstrap procedure, there is cited the translator constructed for the FORTRAN language and the IBM-7090 and CDC-3600 computers by Mendicino, Storch, and Sutherland at the Lawrence Radiation Lab. of the University of California.

Document Details

Document Type
Technical Report
Publication Date
Jan 13, 1964
Accession Number
AD0609487

Entities

People

  • W. H. Wattenburg

Organizations

  • University of California, Berkeley

Tags

DTIC Thesaurus Topics

  • California
  • Compilers
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computers
  • Construction
  • Formal Languages
  • Language
  • Machine Languages
  • Programming Languages
  • Translations
  • Translators

Readers

  • Computer Science.