kirancodes.me
To Proof Maintenance & Beyond!

On implementing separate compilation in block-structured languages

Richard J. LeBlanc, Charles N. Fischer

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.

Related papers