Abstract
The process of compiler generation from formal definitions of the lambdacalculus is studied. The compiling schemes developed utilize as an object language the set of state transition machines (STMs): automata-like transition sets using first order arguments. An intermediate definition form, the STM_interpreter, is defined and treated as central to the formulation of state transition code. Three compiling schemes are produced: one derived directly from an STM-interpreter; one formulated from a version of Landin's SECD-machine; and one defined through meaning preserving transformations upon a denotational definition of the lambda-calculus itself. The results are compared and some tentative conclusions are made regarding the utility of compiler generation with the use of the STM forms.
Chapter PDF
Similar content being viewed by others
References
Aho, A.V., and Ullman, J.D. The Theory of Parsing, Translation, and Compiling, Volume I, Prentice-Hall, Englewood Cliffs, N.J. (1972).
Church, A. The Calculi of Lambda-Conversion, Annals of Mathematical Studies 6, Princeton Univ. Press, Princeton, N.J. (1951).
Curry, H.B., and Feys, R. Combinatory Logic, Volume I, North-Holland, Amsterdam (1958).
Ershov, A.P. On the Essence of Compilation, in Formal Description of Programming Language Concepts, Neuhold, ed., North-Holland, Amsterdam (1976) 391–420.
Jones, N.D., and Schmidt, D.A. Compiler Generation from Denotational Semantics, PB-113, Aarhus University, Aarhus, Denmark (1979).
Kleene, S.C. Introduction to Metamathematics, North-Holland, Amsterdam (1952).
Landin, P.J. The Mechanical Evaluation of Expressions, Computer Journal 6–4 (1964) 308–320.
Plotkin, G.D. Call-by-Name, Call-by-Value and the Lambda-Calculus, Theoretical Computer Science 1 (1975) 125–159.
Reynolds, J.C. Definitional Interpreters for Higher-Order Programming Languages, Proc. of the ACM National Conference, Boston, (1972) 717–740.
Reynolds, J.C. On the Relation between Dlrect and Continuation Semantics, Proc. of the Second Colloquium on Automata, Languages and Programming, Saarbrücken, Springer-Verlag, Berlin (1974) 141–156.
Schmidt, D.A. Compiler Generation from Lambda-Calculus Definitions of Programming Languages, Ph.D. Thesis, Kansas State University, Manhattan, Kansas, forthcoming.
Scott, D.A. Data Types as Lattices, SIAM Journal of Computing 5 (1976) 522–587.
Stoy, J.E. Denotational Semantics, MIT Press, Cambridge, Mass. (1977).
Strachey, C., and Wadsworth, C.P. Continuations — A Mathematical Semantics for Handling full Jumps, Technical monograph PRG-11, Oxford University (1974).
Wadsworth, C.P. The Relation between Computational and Denotational Properties for Scott's Models of the Lambda-Calculus, SIAM Journal of Computing 5 (1976) 488–521.
Watt, D.A., and Madsen, O.L. Extended Attribute Grammars, Report no. 10, University of Glasgow (1977).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1980 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schmidt, D.A. (1980). State transition machines for lambda-calculus expressions. In: Jones, N.D. (eds) Semantics-Directed Compiler Generation. SDCG 1980. Lecture Notes in Computer Science, vol 94. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-10250-7_32
Download citation
DOI: https://doi.org/10.1007/3-540-10250-7_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-10250-2
Online ISBN: 978-3-540-38339-0
eBook Packages: Springer Book Archive