Skip to main content

The Elegant compiler generator system

  • Systems
  • Conference paper
  • First Online:
Attribute Grammars and their Applications

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

Abstract

At the Philips Research Laboratories Eindhoven a compiler generator system, called Elegant, has been developed. This system offers the ability to specify a compiler by means of an attribute grammar (AG). This AG is allowed to be pseudo circular. A pseudo circular attribute grammar is a powerful formalism, including the class of non-circular AG's, which allows the structure of an AG for a programming language to be language independent by using a general attribution scheme, which gives rise to very concise and natural grammars. Pseudo circular attribute grammars can be implemented efficiently by the use of a technique called lazy evaluation, for which an implementation in Modula-2 is presented. The performance of both the Elegant system and compilers generated by it, is analyzed. It appears to be as good as that of commercial production quality compilers.

This work has been performed in the framework of Esprit project 415

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. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers, Principles, Techniques, and Tools. Addison Wesley, 1986.

    Google Scholar 

  2. Lex Augusteijn. Codegen language definition. Technical Report D0454, ESPRIT-415 subproject A, August 1989.

    Google Scholar 

  3. Lex Augusteijn. Elegant language definition. Technical Report D0335, ESPRIT-415 subproject A, August 1989.

    Google Scholar 

  4. Lex Augusteijn. The elegant scanner generator. Technical Report D0282, ESPRIT-415 subproject A, August 1989.

    Google Scholar 

  5. Lex Augusteijn. Typegen language definition. Technical Report M0044, POOMA, August 1989.

    Google Scholar 

  6. Pierre Deransart, Martin Jourdan, and Bernard Lorho. Attribute Grammars. Lecture Notes in Computer Science 323. Springer Verlag, Berlin, 1988.

    Google Scholar 

  7. F.E.J. Kruseman Aretz. On a recursive ascent parser. Information Processing Letters, 29:201–206, 1988.

    Article  Google Scholar 

  8. Uwe Kastens. Ordered attribute grammars. Acta Informatica, 13:229–256, 1980.

    Article  Google Scholar 

  9. Uwe Kastens, Brigitte Hutt, and Erich Zimmermann. GAG: A Practical Compiler Generator. Lecture Notes in Computer Science 141. Springer Verlag, Berlin, 1981.

    Google Scholar 

  10. Donald E. Knuth. Semantics of context-free languages. Mathematical Systems Theory, 2(2):127–145, 1968.

    Article  Google Scholar 

  11. Donald E. Knuth. Semantics of context-free languages (correction). Mathematical Systems Theory, 5(1):95–96, 1971.

    Google Scholar 

  12. C.H.A. Koster. A technique for parsing ambiguous languages. Technical Report FB20, TU Berlin, October 1974.

    Google Scholar 

  13. J.P. Morrison. Compiling extended bnf notation to elegant's attribute grammer description language. Technical Report D0459, ESPRIT-415 subproject A, January 1989.

    Google Scholar 

  14. Kari-Jouko Räihä and Miko Saarinen. Testing attribute gramars for circularity. Acta Informatica, 17:185–192, 1982.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. Deransart M. Jourdan

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Augusteijn, L. (1990). The Elegant compiler generator system. In: Deransart, P., Jourdan, M. (eds) Attribute Grammars and their Applications. Lecture Notes in Computer Science, vol 461. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53101-7_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-53101-7_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53101-2

  • Online ISBN: 978-3-540-46666-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics