Supporting the attribute grammar programming paradigm in a lazy functional programming language

  • R. A. Frost
  • S. Karamatos
Part of the Lecture Notes in Computer Science book series (LNCS, volume 693)


Attribute grammars were introduced in the late 60's. In the 70's they found use in compiler work, a use that is continuing to grow. A more recent development is that of the ‘attribute grammar programming paradigm’. A number of environments have been built to support this paradigm. W/AGE is one such environment. It consists of several functions that extend the standard environment of the pure lazy functional programming language Miranda. W/AGE has been used in the construction of various types of program including natural language interpreters, database front-ends, file-processors, theorem provers, and VLSI specification transformers.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    B. Edupuganty and B. R. Bryant, Two-level grammar as a functional programming language. The Computer Journal, 32 (1), 36–44 (1989).Google Scholar
  2. 2.
    M. S. Feather, A survey and Classification of some program transformation approaches and techniques. In L. G. L. T. Meertens (Editor) Program Specification and Transformation. IFIP 1987. Elsevier Science Publishers B. V. North-Holland.Google Scholar
  3. 3.
    P. Forbig, and U. Lammel, Knowledge based program generation using attribute grammars, in: Grabowski, J (ed), Proc. of the Berliner Informatik Tage bit '89. Akademie d. Wissenschaften der DDR, iir-Report, 114–123, (1989).Google Scholar
  4. 4.
    R. A. Frost, Constructing Programs in a Calculus of Interpreters, Proceedings of the 1990 ACM International Workshop on Formal Methods in Software Development, (1990).Google Scholar
  5. 5.
    R. A. Frost, Constructing programs as executable attribute grammars, The Computer Journal (to appear in the August 1992 issue).Google Scholar
  6. 6.
    R. A Frost, Guarded Attribute Grammars: Top Down Parsing and Left Recursive Productions, ACM SIGPLAN 27(6), 72–76, (1992).Google Scholar
  7. 7.
    E. C. R. Hehner and B. A. Silverberg, Programming with grammars: an exercise in methodology-directed language design. The Computer Journal 26 (3), 227–281 (1983).Google Scholar
  8. 8.
    T. Johnsson, Attribute grammars as a functional programming paradigm. Springer Lecture Notes 274, 155–173 (1987).Google Scholar
  9. 9.
    T. Katayama, HFP: A hierarchical and functional programming based on attribute grammars, Proceedings of 5th International Conf. on Software Engineering, 343–353, (1981).Google Scholar
  10. 10.
    D. E. Knuth, Semantics of context-free languages. Math. Syst. Theory. 2(2), 127–145, (1968).Google Scholar
  11. 11.
    D. E. Knuth, Semantics of context-free languages: correction. Math. Syst. Theory. 5, 95–96, (1971).Google Scholar
  12. 12.
    D. E. Knuth, Examples of Formal Semantics. Springer Lecture Notes in Computer Science Vol 188, 212–235 (1971).Google Scholar
  13. 13.
    K. Koskimies, Lazy recursive descent parsing for modular language implementation. Software Practice and Experience, 20 (8), 749–772 (1990).Google Scholar
  14. 14.
    T. Panayiotopoulos, G. Papakonstantinou, and G. Stamatopoulos, Attribute grammars and logic programming, Agnew. Inf. No 5 (1988) 227.Google Scholar
  15. 15.
    Y. Shinoda and T. Katayama, Attribute grammar based programming and its environment, Proceedings of 21st Hawaii International Conference on System Sciences, Kailu-Kona, Hawaii, 612–620, (1988).Google Scholar
  16. 16.
    E. Simon, A new programming methodology using attribute grammars, Acta Cybernetica, 7 (4), 425–436 (1986).Google Scholar
  17. 17.
    D. Turner, A non-strict functional language with polymorphic types. Proc. IFIP Int. Conf. on Functional Programming Languages and Computer Architecture, Nancy, France. Springer Lecture Notes in Computer Science 201. (1985).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • R. A. Frost
    • 1
  • S. Karamatos
    • 1
  1. 1.School of Computer ScienceUniversity of WindsorCanada

Personalised recommendations