Object-orientation in attribute grammars

  • Kai Koskimies
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 545)


Object-orientation is a language design and programming paradigm aiming at better structuring, reusing, and maintaining properties of software. This paradigm has been successfully combined with conventional programming languages, as well as with functional and logic programming languages; it seems obvious that object-orientation has come to stay. Recently, some suggestions to extend the attribute grammar formalism with features supporting object-orientation have been proposed. These proposals are reviewed, and the approach taken in the TOOLS system is described and motivated. It is demonstrated that object-orientation contributes to the uniformity and applicability of attribute grammar descriptions.


Class Hierarchy Language Structure Default Rule Syntax Tree Concrete Syntax 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AMH90]
    Aksit M., Mostert R., Haverkort B.: Compiler Generation Based on Grammar Inheritance. Memoranda Informatica 90–07, Department of Computer Science, University of Twente, Feb 1990.Google Scholar
  2. [Boo91]
    Booch G.: Object-Oriented Design with Applications. Benjamin Cummings 1991.Google Scholar
  3. [CaI84]
    Cameron R.D., Ito M.R.: Grammar-Based Definition of Metaprogramming Systems. ACM TOPLAS 6,1 (January 84), 20–54.Google Scholar
  4. [CNS87]
    Christ-Neumann M.-L., Schmidt H.-W.: ASDL — An Object-Oriented Specification Language for Syntax-Directed Environments. In: Proc. of ESEC '87, LNCS 289, Springer-Verlag 1987, 71–79.Google Scholar
  5. [DMN70]
    Dahl O.-J., Myhrhaug B., Nygaard K.: Simula 67 Common Base Language. N.S.-22, Norwegian Computing Center, Oslo 1970.Google Scholar
  6. [DuC90]
    Dueck G.P.D., Cormack G.V.: Modular Attribute Grammars. The Computer Journal 33,2 (1990), 164–172.CrossRefGoogle Scholar
  7. [Gro89]
    Grosch J.: Ag — An Attribute Evaluator Generator. Report 16, Project Compiler Generation, GMD Forschungsstelle Karlsruhe, 1989.Google Scholar
  8. [Gro90]
    Grosch J.: Object-Oriented Attribute Grammars. In: Proc. 5th International Symposium on Computer and Information Sciences (ISCIS V), A.E. Harmanci, E. Gelenbe (eds.), Cappadocia, Nevsehir, Turkey, 1990, 807–816.Google Scholar
  9. [GrE90]
    Grosch J., Emmelmann H.: A Tool Box for Compiler Construction. In: Proc. of Workshop on Compiler-Compilers, Schwerin 1990, LNCS 477, Springer-Verlag 1991, 106–116.Google Scholar
  10. [Hed89]
    Hedin G.: An Object-Oriented Notation for Attribute Grammars. In: Proc. of the European Conference on Object-Oriented Programming (ECOOP '89), Nottingham, 1989. The British Computer Society Workshop Series, Cambridge University Press 1989, 329–345.Google Scholar
  11. [Knu68]
    Knuth D.E.: Semantics of Context-Free Languages. Math. Syst. Theory 2,2 (1968), 127–145.CrossRefGoogle Scholar
  12. [KNP88]
    Koskimies K., Nurmi O., Paakki J., Sippu S.: The Design of a Language Processor Generator. Software Practice & Experience 18,2 (1988), 107–135.Google Scholar
  13. [KoM91]
    Koskimies K., Mäkinen E.: On a Grammar Transformation Related to Class Hierarchies. Report A-1991-2, Department of Computer Science, University of Tampere, May 1991.Google Scholar
  14. [Kos88]
    Koskimies K.: Software Engineering Aspects in Language Implementation. In: Proc. of Workshop on Compiler Compilers and High Speed Compilation, D. Hammer (ed.), LNCS 371, Springer-Verlag 1988, 39–51.Google Scholar
  15. [Kos89]
    Koskimies K.: Techniques for Modular Language Implementation. Report A-1989-5, Department of Computer Science, University of Tampere, 1989.Google Scholar
  16. [KoP87]
    Koskimies K., Paakki J.: TOOLS: A Unifying Approach to Object-Oriented Language Implementation. In: Proc. of ACM Sigplan '87 Conference on Interpreters and Interpretive Techniques. Sigplan Notices 22,7 (1987), 153–164.CrossRefGoogle Scholar
  17. [KoP90]
    Koskimies K., Paakki J.: Automating Language Implementation — A Pragmatic Approach. Ellis Horwood Books in Information Technology, Chichester, England, 1990.Google Scholar
  18. [Kur75]
    Kurki-Suonio R.: Towards Better Structured Definitions of Programming Languages. Report STAN-CS-75-500, Computer Science Department, Stanford University, 1975.Google Scholar
  19. [LMN88]
    Lehrmann Madsen O., Nørgaard C.: An Object-Oriented Metaprogramming System. In: Proc. 21st Annual Hawaii International Conference on System Sciences (B.D. Shriver ed.), 1988, 406–415.Google Scholar
  20. [Lie87]
    Lieberman H.: Reversible Object-Oriented Interpreters. In: Proc. of the European Conference on Object-Oriented Programming (ECOOP'87), 1987, 11–19.Google Scholar
  21. [Mag90]
    Magnusson B., Bengtsson M., Dahlin L.-O., Fries G., Gustavsson A., Hedin G., Minör S., Oscarsson D., Taube M.: An Overview of the Mjølner/Orm Environment: Incremental Language and Software Development. Report LU-CS-TR:90:57, Department of Computer Science, Lund University, 1990. Also in Proc. TOOLS '90, Paris 1990.Google Scholar
  22. [Rep82]
    Reps T.W.: Optimal-time Incremental Semantic Analysis for Syntax-Directed Editors. In: Conf. Record of the 9th ACM Symposium on Principles of Programming Languages, 169–176, 1982.Google Scholar
  23. [ShK90]
    Shinoda Y., Katayama T.: Object-Oriented Extension of Attribute Grammars and its Implementation. In: Workshop on Attribute Grammars and Their Applications, P. Deransart, M. Jourdan (eds.), Paris, LNCS 461, Springer-Verlag, 177–191.Google Scholar
  24. [Ten88]
    Tenma T., Tsubotani H., Tanaka M., Ichikawa T.: A System for Generating Language-Oriented Editors. IEEE Trans. on Software Engineering 14,8 (August 1988), 1098–1109.CrossRefGoogle Scholar
  25. [Uhl86]
    Uhl J.: Spezifikation von Programmiersprachen und Übersetzern. GMD-Bericht Nr. 161, Gesellschaft für Mathematik und Datenverarbeitung, 1986.Google Scholar
  26. [Wat86]
    Watt D.A.: Modular Description of Programming Languages. Report A-81 734, Computer Science Division — EECS, University of California, Berkeley 1985.Google Scholar
  27. [Weg87]
    Wegner P.: Dimensions of Object-Oriented Languages. In: Proc. of ACM '87 Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA '87), Orlando, Florida 1987. ACM Sigplan Notices 22,12 (1987), 168–182.Google Scholar
  28. [Weg90]
    Wegner P.: Concepts and Paradigms of Object-Oriented Programming. OOPS Messenger 1,1 (August 1990), 7–87.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Kai Koskimies
    • 1
  1. 1.Department of Computer ScienceUniversity of TampereTampereFinland

Personalised recommendations