The C programming language
Deriving Target Code as a Representation of Continuation Semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new method for compiler code generation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Loops in combinator-based compilers
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Theory of Programming Language Semantics
A Theory of Programming Language Semantics
Experience with an attribute grammar-based compiler
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Description-driven code generation using attribute grammars
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A semantics-directed compiler generator
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Experiences with the compiler writing system HLP
Semantics-Directed Compiler Generation, Proceedings of a Workshop
Direct implementation of compiler specifications or the pascal p-code compiler revisited
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Experience with an experimental compiler generator based on denotational semantics
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Denotational semantics as a specification of code generators
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Control flow aspects of semantics directed compiling (Summary)
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Retargetable code generation and optimization using attribute grammars
Retargetable code generation and optimization using attribute grammars
A compiler generator for semantic grammars
A compiler generator for semantic grammars
A realistic compiler generator based on high-level semantics: another progress report
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
A self-applicable partial evaluator for the lambda calculus: correctness and pragmatics
ACM Transactions on Programming Languages and Systems (TOPLAS)
SPARE: A Development Environment for Program Analysis Algorithms
IEEE Transactions on Software Engineering
On the use of LISP in implementing denotational semantics
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Hi-index | 0.00 |
The descriptive techniques of formal semantics can be used for the generation of complete prototype compilers. First, we review the essential characteristics of such semantics implementation systems, and discuss our experience with two existing experimental systems. Then, we show how to derive a complete conventional compiler for a small language from its denotational semantics. The compiler is specified in three phases consisting of a front-end (parser, tree builder, and semantic checker), a translator from syntax trees to prefix code, and a code generator which converts the prefix code into IBM/370 style assembly code. The translator component is obtained by modifying the standard semantics of the language in two steps: first, the semantic domains and the equations are rewritten in a straight forward way to achieve a normal form, and then the auxiliary semantic functions are interpreted as instructions for a prefix code machine. The entire three part specification has been implemented with the help of Paulson's semantics processing system.