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
Preview
Unable to display preview. Download preview PDF.
References
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers, Principles, Techniques, and Tools. Addison Wesley, 1986.
Lex Augusteijn. Codegen language definition. Technical Report D0454, ESPRIT-415 subproject A, August 1989.
Lex Augusteijn. Elegant language definition. Technical Report D0335, ESPRIT-415 subproject A, August 1989.
Lex Augusteijn. The elegant scanner generator. Technical Report D0282, ESPRIT-415 subproject A, August 1989.
Lex Augusteijn. Typegen language definition. Technical Report M0044, POOMA, August 1989.
Pierre Deransart, Martin Jourdan, and Bernard Lorho. Attribute Grammars. Lecture Notes in Computer Science 323. Springer Verlag, Berlin, 1988.
F.E.J. Kruseman Aretz. On a recursive ascent parser. Information Processing Letters, 29:201–206, 1988.
Uwe Kastens. Ordered attribute grammars. Acta Informatica, 13:229–256, 1980.
Uwe Kastens, Brigitte Hutt, and Erich Zimmermann. GAG: A Practical Compiler Generator. Lecture Notes in Computer Science 141. Springer Verlag, Berlin, 1981.
Donald E. Knuth. Semantics of context-free languages. Mathematical Systems Theory, 2(2):127–145, 1968.
Donald E. Knuth. Semantics of context-free languages (correction). Mathematical Systems Theory, 5(1):95–96, 1971.
C.H.A. Koster. A technique for parsing ambiguous languages. Technical Report FB20, TU Berlin, October 1974.
J.P. Morrison. Compiling extended bnf notation to elegant's attribute grammer description language. Technical Report D0459, ESPRIT-415 subproject A, January 1989.
Kari-Jouko Räihä and Miko Saarinen. Testing attribute gramars for circularity. Acta Informatica, 17:185–192, 1982.
Author information
Authors and Affiliations
Editor information
Rights 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