Towards an algebraic specification of code generation (Q1121033)
From MaRDI portal
| This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use this page instead for the normal view: Towards an algebraic specification of code generation |
scientific article; zbMATH DE number 4102506
| Language | Label | Description | Also known as |
|---|---|---|---|
| English | Towards an algebraic specification of code generation |
scientific article; zbMATH DE number 4102506 |
Statements
Towards an algebraic specification of code generation (English)
0 references
1988
0 references
The authors show how the problem of code generation can be treated fully algebraically. They demonstrate the approach by specifying the compiler for a very simple language, which describes arithmetic expressions. The authors first define the abstract syntax and the semantics of this language and then that of the target language. For this purpose, they use a stack machine. The main section of the paper defines the code generator as an operation of an appropriate abstract data type and proves this translation to be correct. The proof clarifies the major advantage of this approach: Theorems about the code generator can be proved by induction on the term structure of the abstract syntax. In addition, the authors consider an ``a posteriori'' optimization and show that the approach is applicable to this phase, too. Finally, they mention a prototype implementation using the Passau RAP system. The paper is written very clearly and is an important step towards a uniform specification of all compiler phases.
0 references
algebraic specification
0 references
code generation
0 references
Passau RAP system
0 references
compiler
0 references
0.8921271
0 references
0.8829924
0 references