Skip to main content

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

  • Chapter
  • First Online:
Functional Programming, Concurrency, Simulation and Automated Reasoning

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 693))

Abstract

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.

The authors acknowledge the assistance of N.S.E.R.C. of Canada, and of Subir Bandyopadhyay and Walid Saba of the School of Computer Science at the University of Windsor.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. 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. R. A. Frost, Constructing programs as executable attribute grammars, The Computer Journal (to appear in the August 1992 issue).

    Google Scholar 

  6. R. A Frost, Guarded Attribute Grammars: Top Down Parsing and Left Recursive Productions, ACM SIGPLAN 27(6), 72–76, (1992).

    Google Scholar 

  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. T. Johnsson, Attribute grammars as a functional programming paradigm. Springer Lecture Notes 274, 155–173 (1987).

    Google Scholar 

  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. D. E. Knuth, Semantics of context-free languages. Math. Syst. Theory. 2(2), 127–145, (1968).

    Google Scholar 

  11. D. E. Knuth, Semantics of context-free languages: correction. Math. Syst. Theory. 5, 95–96, (1971).

    Google Scholar 

  12. D. E. Knuth, Examples of Formal Semantics. Springer Lecture Notes in Computer Science Vol 188, 212–235 (1971).

    Google Scholar 

  13. K. Koskimies, Lazy recursive descent parsing for modular language implementation. Software Practice and Experience, 20 (8), 749–772 (1990).

    Google Scholar 

  14. T. Panayiotopoulos, G. Papakonstantinou, and G. Stamatopoulos, Attribute grammars and logic programming, Agnew. Inf. No 5 (1988) 227.

    Google Scholar 

  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. E. Simon, A new programming methodology using attribute grammars, Acta Cybernetica, 7 (4), 425–436 (1986).

    Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter E. Lauer

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Frost, R.A., Karamatos, S. (1993). Supporting the attribute grammar programming paradigm in a lazy functional programming language. In: Lauer, P.E. (eds) Functional Programming, Concurrency, Simulation and Automated Reasoning. Lecture Notes in Computer Science, vol 693. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56883-2_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-56883-2_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56883-4

  • Online ISBN: 978-3-540-47776-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics