A methodology is described for generating provably correct compilers from denotational definitions of programming languages. An application is given to produce compilers into STM code (an STM or state transition machine is a flow-chart-like program, low-level enough to be translated into efficient code on conventional computers). First, a compiler phi: LAMC -> STM from a lambda calculus dialect is defined. Any denotational definition DD of language L defines a map DD': L -> LAMC, so DD'_circle phi compiles L into STM code. Correctness follows from the correctness of phi.The algebraic framework of Morris, ADJ, etc. is used. The set of STMs is given an algebraic structure so any DD'_circ phi may be specified by giving a deri...
We present non-standard denotational specifications of the SSA form and of its conversion processes ...
Current methodology for compiler construction evolved from the need to release programmers form the ...
Interpreters and compilers are two different ways of implementing programming languages. An interpre...
It is suggested that denotational semantic definitions of programming languages should be based on ...
my father- in memoriam. my mother, Daniel, my sisters and brothers.- II-We describe a method for the...
Several recently developed semantics systems automatically generate compilers from denotational desc...
Abstract. The process of compiler generation from lambda-calculus definitions is studied. The compil...
. There are very few examples of the generation of efficient compilers from denotational specificati...
Using concepts from denotational semantics, we have produced a very simple compiler that can be used...
Program transformations are frequently performed by optimizing compilers, and the correctness of app...
The intermediate representations (IR) used by most compilers have an operational semantics. The node...
A simple algebra-based algorithm for compiler generation is described. Its input is a semantic defi...
A compiler generator is described which produces compilers competitive with handwritten ones in comp...
Given a complete, formal description of the semantics of a programming language, it should be possib...
Program transformations are frequently performed by optimizing compilers and the correctness of app...
We present non-standard denotational specifications of the SSA form and of its conversion processes ...
Current methodology for compiler construction evolved from the need to release programmers form the ...
Interpreters and compilers are two different ways of implementing programming languages. An interpre...
It is suggested that denotational semantic definitions of programming languages should be based on ...
my father- in memoriam. my mother, Daniel, my sisters and brothers.- II-We describe a method for the...
Several recently developed semantics systems automatically generate compilers from denotational desc...
Abstract. The process of compiler generation from lambda-calculus definitions is studied. The compil...
. There are very few examples of the generation of efficient compilers from denotational specificati...
Using concepts from denotational semantics, we have produced a very simple compiler that can be used...
Program transformations are frequently performed by optimizing compilers, and the correctness of app...
The intermediate representations (IR) used by most compilers have an operational semantics. The node...
A simple algebra-based algorithm for compiler generation is described. Its input is a semantic defi...
A compiler generator is described which produces compilers competitive with handwritten ones in comp...
Given a complete, formal description of the semantics of a programming language, it should be possib...
Program transformations are frequently performed by optimizing compilers and the correctness of app...
We present non-standard denotational specifications of the SSA form and of its conversion processes ...
Current methodology for compiler construction evolved from the need to release programmers form the ...
Interpreters and compilers are two different ways of implementing programming languages. An interpre...