|
ABSTRACT
We show how to analyze the denotational semantics for a programming language to obtain a compiler and a suitable target machine for the language. We do this by rewriting the equations using suitable combinators. The machine operates by simulating the reduction sequences for the combinator terms. The reduction sequences pass through certain standard forms, which become an architecture for the machine, and the combinators become machine instructions. Despite the abstract nature of its development, the machine greatly resembles a conventional one. The method is illustrated by a simple expression language with procedures and input-output.
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
|
|
 |
2
|
T. J.W. Clarke , P. J.S. Gladstone , C. D. MacLean , A. C. Norman, SKIM - The S, K, I reduction machine, Proceedings of the 1980 ACM conference on LISP and functional programming, p.128-135, August 25-27, 1980, Stanford University, California, United States
[doi> 10.1145/800087.802798]
|
| |
3
|
Curry, H. B., and Feys, R. Combinatory Logic, Vol. 1. North- Holland, Amsterdam, 1958.
|
| |
4
|
Federhen, S. "A Mathematical Semantics for PLANNER" M.S. Thesis, University of Maryland, 1980.
|
| |
5
|
|
| |
6
|
|
| |
7
|
|
 |
8
|
|
| |
9
|
Mosses, P. D. "Mathematical Semantics and Compiler Generation", D. Phil thesis, Oxford Univ., 1975.
|
| |
10
|
|
| |
11
|
|
| |
12
|
Raoult, J. C., and Sethi, R. "On metalanguages for a compiler generator: properties of a notation for combining functions", manuscript, Bell Laboratories, Murray Hill, N.J. (July, 1981).
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
| |
16
|
Thatcher, J. W., Wagner, E. G., and Wright, J. B. "More on Advice on Structuring Compilers and Proving Them Correct" Theoret. Comp. Sci. 15 (1981), 223--249.
|
| |
17
|
Turner, D. A. "A New Implementation Technique for Applicative Languages" Software: Practice and Experience 9 (1979), 31--49.
|
 |
18
|
|
| |
19
|
Wand, M. "Different Advice on Structuring Compilers and Proving Them Correct" Indiana University Computer Science Department, Technical Report No. 95 (September, 1980).
|
|