Tree-affix dendrogrammars for languages and compilers

  • Frank DeRemer
  • Richard Jullig
Attribute And Affix Grammars
Part of the Lecture Notes in Computer Science book series (LNCS, volume 94)


Research in progress is reported regarding a variation on attribute and affix grammars intended for describing the "static semantic" or "context-sensitive syntactic" constraints on programming languages. The grammars are oriented toward abstract-syntax trees, rather than concrete-syntax strings. Attributes are also trees (only) and predicates are simply nonterminals, defined just as other nonterminals are, NOT in some extra-grammatical way. Moreover, trees are allowed as decorations on trees. Thus, the formalism is completely self-contained. The grammars are proposed for language specifications in reference manuals and for the automatic generation of practical compiler modules. Such a module is given an abstract-syntax tree, analyses it, and produces the checked, decorated tree as its result.

Key words and phrases

static semantics context-sensitive syntax attribute grammars affix grammars abstract syntax concrete syntax language specification compiler generation translator writing system 


  1. [Ada 79]
    Preliminary Ada reference manual. SIGPLAN Notices 14 (6A), June 1979.Google Scholar
  2. [Boc 76]
    Bochmann, G.V.: Semantic evaluation from left to right. CACM 19, 55–62, 1976.Google Scholar
  3. [Cul 73] (3)
    Culik, K.: A model for the formal definition of programming languages. IJCM A(3), 315–345, 1973.Google Scholar
  4. [DeR 74] (7,10)
    De Remer, F.: Review of formalisms and notation. In: Compiler Construction — An Advanced Course (F. L. Bauer and J. Eickel, eds.), Lecture Notes in Computer Science 21, Springer-Verlag, N.Y., 1974.Google Scholar
  5. [JOR 75] (1)
    Jazayeri, M., Ogden, W.F., and Rounds, W.C. Complexity of the circularity problem for attribute grammars. CACM 18(12), 697–706, December, 1975.Google Scholar
  6. [Knu 68] (1)
    Knuth, D.E.: Semantics of context-free languages. Math. Sys. Theory 2(2), 127–145, 1968(errata 1971).CrossRefGoogle Scholar
  7. [Kos 71] (1)
    Koster, C.H.A.: Affix grammars. In: ALGOL 68 Implementation (J.E. Peck, ed.), 95–109, North-Holland, Amsterdam, 1971.Google Scholar
  8. [M&J 80] (1)
    Madsen, M. and Jones, N.: Letting the attributes influence the parsing. Workshop on Semantics-Directed Compiler Construction, Aarhus, Denmark, January, 1980.Google Scholar
  9. [McC 62] (5,16)
    McCarthy, J., et al: LISP 1.5 Programmer's Manual. MIT Press, Cambridge, Mass., 1962.Google Scholar
  10. [Rou 70] (5)
    Rounds, W.C.: Mappings and Grammars on Trees. Math. Sys. Theory 4(3), 257–287, 1970.CrossRefGoogle Scholar
  11. [Ste 79] (18)
    Steensgaard-Madsen, J.: Pascal clarifications and recommended extensions. Acta Inf. 12, 73–94, 1979.Google Scholar
  12. [Ten 76] (6,14)
    Tennent, R.D.: The denotational semantics of programming languages. CACM 19(8), 437–453, Aug. 1976.Google Scholar
  13. [Van 75] (2)
    Van Wijngaarden, A., et al: Revised report on the Algorithmic Language ALGOL 68. Acta Informatica 5, 1–236, 1975; Springer-Verlag, N.Y., 1976.CrossRefGoogle Scholar
  14. [Wat 74] (1,2)
    Watt, D.A.: LR parsing of affix grammars. Report 7, Comp. Sci. Dept., Univ. of Glasgow, Aug., 1974.Google Scholar
  15. [W&M 79] (1,2) (7,14)
    Watt, D., and Madsen, O.: Extended attribute grammars. DAIMI report no. PB-105, Comp. Sci. Dept., Aarhus University, Aarhus, Denmark, November 1979.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Frank DeRemer
    • 1
  • Richard Jullig
    • 1
  1. 1.University of CaliforniaSanta Cruz

Personalised recommendations