Language definition-based compiler development

A Rosselet�- Journal of Systems and Software, 1987 - Elsevier
A Rosselet
Journal of Systems and Software, 1987Elsevier
An important reason for developing a formal definition of a programming language is to
provide guidance for implementors. At the very least, a formal definition establishes a
standard of implementation correctness. Here we examine one avenue of compiler
implementation based on a constructive functional language definition organized into a set
of modular theories and syntax-directed rules. A modular implementation, whose structure
follows that of the formal definition, is developed by a combination of hand coding and�…
Abstract
An important reason for developing a formal definition of a programming language is to provide guidance for implementors. At the very least, a formal definition establishes a standard of implementation correctness. Here we examine one avenue of compiler implementation based on a constructive functional language definition organized into a set of modular theories and syntax-directed rules. A modular implementation, whose structure follows that of the formal definition, is developed by a combination of hand coding and semiformal transformations that bring the definition down to the level of a program in a Pascal-like language. Program verification techniques are then used to confirm the correctness of the implementation steps.
Elsevier