PL/C: the design of a high-performance compiler for PL/I

  • Authors:
  • Howard L. Morgan;Robert A. Wagner

  • Affiliations:
  • Cornell University, Ithaca, New York;Cornell University, Ithaca, New York

  • Venue:
  • AFIPS '71 (Spring) Proceedings of the May 18-20, 1971, spring joint computer conference
  • Year:
  • 1971

Quantified Score

Hi-index 0.00

Visualization

Abstract

A general purpose production compiler faces many diverse and demanding tasks. It must obviously accept the full source language---including all rarely used and difficult to compile features; it must produce efficient object code; it must be prepared to accept very large and long programs---and accept them in pieces to be integrated later. It is obvious that by yielding on some of these requirements, and by sacrificing generality for efficiency for a particular class of program or user, improved compiler performance should be obtainable. One large and important class of users are those just learning the language. Their programs are typically short, submitted all at once, and require only a modest subset of the language. They need to be compiled repeatedly to eliminate errors, and are often discarded as soon as they execute properly. In general, their execution time is very small relative to the total compilation time. It should also be noted that such programs occur in tremendous numbers since classes of hundreds of students submitting programs daily are not at all uncommon. This class of program is further enlarged by the observation that even experienced programmers have rather similar requirements (except for requiring a larger subset of the language) during the development and checkout of a new system.