This paper describes a technique for implementing the part of a compiler that processes the semantics of a programming language. It presents a concise, easy to understand notation for describing this semantic processing. The notation utilizes semantic charts which are similar to the separable transition diagrams [Conway63, Barnard75] that are used to define the syntax of programming languages. The charts describe semantic processing in terms of a set of operations that manipulate a small number of special-purpose data structures. They form a variable-free programming language, which accesses data via a set of operations organized into mechanisms to manage the associated data structure. These mechanisms can be modelled (and thus formalized) using abstract data types.
[1]
Richard C. Holt.
Structured concurrent programming with operating systems applications
,
1978
.
[2]
Richard C. Holt,et al.
SP/k: a system for teaching computer programming
,
1977,
CACM.
[3]
Marvin V. Zelkowitz,et al.
Programming Languages: Design and Implementation
,
1975
.
[4]
Thomas Richard Wilcox.
Generating machine code for high-level programming languages
,
1971
.
[5]
James R. Cordy.
A diagrammatic approach to programming language semantics
,
1976
.
[6]
Melvin E. Conway,et al.
Design of a separable transition-diagram compiler
,
1963,
CACM.