On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
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
Realistic compiler generation
Category-sorted algebra-based action semantics
Conference proceedings on Algebraic methodology and software technology
Programming language syntax and semantics
Programming language syntax and semantics
Extraction of strong typing laws from action semantics definitions
ESOP'92 Symposium proceedings on 4th European symposium on programming
A provably correct compiler generator
ESOP'92 Symposium proceedings on 4th European symposium on programming
The structure of typed programming languages
The structure of typed programming languages
Control Flow Aspects of Semantics-Directed Compiling
ACM Transactions on Programming Languages and Systems (TOPLAS)
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
The Definition of Standard ML
Principal type-schemes for functional programs
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
Type Inference for Action Semantics
ESOP '90 Proceedings of the 3rd European Symposium on Programming
Types in Lambda Calculi and Programming Languages
ESOP '90 Proceedings of the 3rd European Symposium on Programming
Actress: An Action Semantics Directed Compiler Generator
CC '92 Proceedings of the 4th International Conference on Compiler Construction
Code generation from two-level denotational meta-languages
Programs as Data Objects, Proceedings of a Workshop
Hi-index | 0.00 |
We present a methodology for compiler synthesis based on Mosses-Watt's action semantics. Each action in action semantics notation is assigned specific ''analysis functions'', such as a typing function and a binding-time function. When a language is given an action semantics, the typing and binding-time functions for the individual actions compose into typing and binding-time analyses for the language; these are implemented as the type checker and static semantics processor, respectively, in the synthesized compiler. Other analyses can be similarly formalized and implemented. We show a sample language semantics and its synthesized compiler, and we describe the compiler synthesizer that we have developed.