Advertisement

Linked Forest Manipulation Systems—A Tool for Computational Semantics

  • Karel CulikII
  • Mansour Farah

Abstract

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.

Keywords

Finite Subset Semantic Description Derivation Tree Tree Expression Abstract Syntax Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Culik II K., A Model for the Formal Definition of Programming Languages, Internat. J. Comput. Math 3, Section A, pp. 315–345 (1973).MathSciNetCrossRefGoogle Scholar
  2. 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. 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. 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. 5.
    Farah, M., “A Formal Description of PROTEL,” Language Development, Bell-Northern Research, Ottawa (1980).Google Scholar
  6. 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
  7. 7.
    Wegner, P., The Vienna Definition Language, Comput. Surveys 4, 5–63 (1972).MathSciNetMATHCrossRefGoogle Scholar
  8. 8.
    de Bakker, J. W., Formal Definition of Programming Languages, Mathematical Center Tracts. 16, Mathematisch Centrum, Amsterdam (1967).MATHGoogle Scholar
  9. 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
  10. 10.
    Wirth, N. and Weber, H., euler, A generalization of algol, and its formal definition, Comm. ACM 9, 13–23, 89–99 (1966).CrossRefGoogle Scholar
  11. 11.
    Knuth, D. E., Semantics of context-free languages, Math. Systems Theory. 2, 127–145 (1968).MathSciNetMATHCrossRefGoogle Scholar
  12. 12.
    McCarthy, J., A basis for a mathematical theory of computation, in Computer Programming and Formal Methods, pp. 33–69, North-Holland (1963).CrossRefGoogle Scholar
  13. 13.
    Rosen, B. K., Tree-manipulating systems and Church-Rosser theorem,J. Assoc. Comput. Mach. 20, 160–187 (1973).MathSciNetMATHCrossRefGoogle Scholar
  14. 14.
    Rosenkrantz, D. J., Programmed grammars and classes of formal languages,J. Assoc. Comput. Mach. 16, 107–131 (1969).MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Plenum Press, New York 1981

Authors and Affiliations

  • Karel CulikII
    • 1
  • Mansour Farah
    • 2
  1. 1.Department of Computer ScienceUniversity of WaterlooWaterlooCanada
  2. 2.Département de Physique-MathématiquesUniversité de MonctonMonctonCanada

Personalised recommendations