| Experience with an experimental compiler generator based on denotational semantics |
| Full text |
Pdf
(1.02 MB)
|
| Source
|
Symposium on Compiler Construction
archive
Proceedings of the 1982 SIGPLAN symposium on Compiler construction
table of contents
Boston, Massachusetts, United States
Pages: 216 - 229
Year of Publication: 1982
ISBN:0-89791-074-5
Also published in ...
|
|
Authors
|
|
James Bodwin
|
Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI
|
|
Laurette Bradley
|
Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI
|
|
Kohji Kanda
|
Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI
|
|
Diane Litle
|
Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI
|
|
Uwe Pleban
|
Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 16, Citation Count: 10
|
|
|
ABSTRACT
Compiler generation based on formal semantics has received considerable attention in recent years from a number of semanticists. Compiler writers, on the other hand, know relatively little about these efforts. This paper tries to remedy this situation by discussing our experimentation with the Semantics Implementation System (SIS) of Peter Mosses. SIS allows the user to generate a complete compiler from a formal specification of the syntax and semantics of a programming language. In particular, the translator component of a compiler is obtained by directly implementing a denotational semantics. Consequently, a compiler is expressed as a higher order function. A program is compiled by formally applying the compiler to a tree representation of the program and simplifying this application. The experimentation with SIS indicates that compiler generation based on denotational semantics is feasible, though not yet viable. We argue that SIS constitutes an important first step toward the automatic construction of provably correct, complete, and reasonably efficient compilers from formal syntactic and semantic specifications.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Donzeau-Gouge, V., Kahn, G., and Lang, B. A Complete Machine-Checked Definition of a Simple Programming Language Using Denotational Semantics. IRIA Rapport de Recherche No. 330, Le Chesnay, France, October 1978.
|
| |
2
|
|
| |
3
|
Johnson, S.C. YACC: Yet Another Compiler-Compiler. Bell Laboratories Computing Science Technical Report No. 32, Murray Hill, NJ, 1975.
|
| |
4
|
|
| |
5
|
Jones, N.D., and Christiansen, H. Control Flow Treatment in a Simple Semantics-Directed Compiler Generator. DAIMI PB-137, Computer Science Department, Aarhus University, Aarhus, Denmark, September 1981.
|
| |
6
|
|
| |
7
|
|
| |
8
|
Mosses, P.D. SIS—Semantics Implementation System (Reference Manual and User Guide). DIAMI MD-30, Computer Science Department, Aarhus University, Aarhus, Denmark, August 1979.
|
| |
9
|
Mosses, P. SIS—Operating Notes. DAIMI MD-32, Computer Science Department, Aarhus University, Aarhus, Denmark, August 1979.
|
| |
10
|
Mosses, P. SIS—Tested Examples. DAIMI MD-33, Computer Science Department, Aarhus University, Aarhus, Denmark, August 1979.
|
| |
11
|
Mosses, P. SIS—A Brief Description of SIS. Supplied as part of the documentation.
|
| |
12
|
Mosses, P. Abstract Semantic Algebras (Preliminary Version). DAIMI IR-29, Computer Science Department, Aarhus University, Aarhus, Denmark, October 1981.
|
 |
13
|
|
| |
14
|
Muchnick, S.S., and Pleban, U.F. The Denotational Semantic Comparison of Programming Languages. Submitted to ACM TOPLAS.
|
| |
15
|
Petersen, K.B. SIS—Implementation Notes. DAIMI MD-31, Computer Science Department, Aarhus University, Aarhus, Denmark, August 1979.
|
| |
16
|
Scott, D.S. Data Types as Lattices. SIAM Journal of Computing 5, 1976, 522-587.
|
| |
17
|
|
| |
18
|
Sethi, R. Control Flow Aspects of Semantics Directed Compiling. Computing Science Technical Report No. 98, Bell Laboratories, September 1981.
|
| |
19
|
|
| |
20
|
Steele, G.L., Jr., and Sussman, G.J. The Revised Report on SCHEME, A Dialect of LISP. Memo 452, MIT AI Lab, January 1978.
|
 |
21
|
|
| |
22
|
Tennent, R.D. A Denotational Definition of the Programming Language Pascal. Programming Research Group, University of Oxford, April, 1978.
|
| |
23
|
Vuillemin, J.E. Correct and Optimal Implementations of Recursion in a Simple Programming Language. IRIA Rapport de Recherche No.24, Le Chesnay, France, 1973.
|
CITED BY 10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Don Milos , Uwe Pleban , George Loegel, Direct implementation of compiler specifications or the pascal p-code compiler revisited, Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.196-207, January 15-18, 1984, Salt Lake City, Utah, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|