Linked Forest Manipulation Systems—A Tool for Computational Semantics
Linked trees, as data structures for describing the computational semantics of programming languages, were introduced in reference 1, and seem to be the best known data structure type for that task. The definitional model introduced there has been used to describe concisely and in readable form several complete programming languages (algol 60(2), altran (3), lucid (4), and protel (5)) and to prove the correctness of an interpreter for lucid.(4) Here, we give a readable informal description of the rewriting systems for linked trees, and a new, somewhat simplified, and algebraically-oriented formal definition of linked forest manipulation systems and a description of their application to computational semantics. An algol-like language ALG and the λ-calculus are used as examples.
KeywordsFinite Subset Semantic Description Derivation Tree Tree Expression Abstract Syntax Tree
Unable to display preview. Download preview PDF.
- 2.Zoltan, A. C., “A Formal Definition of algol 60 Using Linked Forest Manipulation Systems,” Research Report CSRR-1072, Department of Computer Science, University of Waterloo (1972).Google Scholar
- 3.Farah, M., “A Formal Description of ALTRAN Using Linked Forest Manipulation Systems,” Res. Report CS-73–08, Department of Computer Science, University of Waterloo (1973).Google Scholar
- 4.Farah, M., Correctness of a LUCID Interpreter Based on Linked Forest Manipulation Systems, Internat. J. Comput. Math. Section A., 8(1) (1980).Google Scholar
- 5.Farah, M., “A Formal Description of PROTEL,” Language Development, Bell-Northern Research, Ottawa (1980).Google Scholar
- 6.Lucas, P., Lauer, P., and Stigleitner, H., “Method and Notation for the Formal Definition of Programming Languages,” Technical Report TR 25.087, IBM Laboratory, Vienna (1968).Google Scholar
- 9.di Forino, C., Generalized Markov algorithms and automata in Automata Theory (E.R. Caianiello, ed.), pp. 115–130, Academic Press, New York (1966).Google Scholar