On implementing separate compilation in block-structured languages

  • Authors:
  • Richard J. LeBlanc;Charles N. Fischer

  • Affiliations:
  • School of Information and Computer Science, Georgia Institute of Technology;Computer Sciences Department, University of Wisconsin - Madison

  • Venue:
  • SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
  • Year:
  • 1979

Quantified Score

Hi-index 0.00

Visualization

Abstract

Perhaps the single most important paradigm of modern programming language design is block structure. Block-structured languages are characterized by nested definitional units (ALGOL blocks, PASCAL procedures, Euclid modules) having rather specialized scoping rules. In particular, access to entities defined in containing units is allowed (although sometimes with restrictions) while access to entities defined within a unit from outside it is severely restricted or totally forbidden. This method of programming language structuring supports a top-down program development methodology: the body of a definition unit can be developed (or modified) without affecting other units (since its internal details are “hidden” from the outside). Such units (most notably procedures) become the natural units of program development and modification.