Skip to main content

Object oriented extension of attribute grammars and its implementation using distributed attribute evaluation algorithm

  • Relationships With Other Formalisms II
  • Conference paper
  • First Online:

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

Abstract

Attribute grammars, as originally introduced by D.E.Knuth, have been exploited in conjunction with automated compiler generation from its description and other programming language related tools which are written using static semantics. Although it is well recognized through these applications that attribute grammars is useful in manipulation of large and complex data structures generally appear in today's computer systems, it is prevented from being used in such applications because of its weakness in describing dynamic semantics often required for them. This paper introduces an extension of attribute grammars based on the object-oriented programming paradigm, which supports describing the dynamic behavior of the system of persistent objects, including modifications of attribute values and tree structures, while preserving the advantages of standard attribute grammars.

We also introduce a distributed attribute evaluation algorithm based on message passing among objects. This algorithm is a natural way of implementing a large system of objects based in our model. The algorithm is asymptotically time optimal, and also has important properties which are required for application of the model to systems such as software databases, where attribute evaluation involves human interaction.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Article  Google Scholar 

  2. R. Fallow. Generating a Production Compiler from an Attribute Grammar. IEEE Software, 1(4), 1984.

    Google Scholar 

  3. T. W. Reps and T. Teitelbaum. Generating Language Based Environments. MIT Press, 1984.

    Google Scholar 

  4. T. Katayama. HFP, A Hierarchical and Functional Programming. In Proceedings of the 5th International Conference on Software Engineering, pages 343–353, 1981.

    Google Scholar 

  5. Y. Shinoda and T. Katayama. Attribute Grammar Based Programming and its Environment. In Proceedings of the 21st Hawaii International Conference on System Sciences, Software Track, 1988.

    Google Scholar 

  6. K. Kishida, T. Katayama, M. Matsuo, I. Miyamoto, K. Ochimizu, N. Saito, J.H. Sayler, K. Torii, and L.G. Williams. SDA: a noval approach to software environment design and construction. In Proceedings of the 10th International Conference on Software Engineering, pages 69–79, 1988.

    Google Scholar 

  7. T. Katayama. Hierarchical and functional software process description. In Proceedings of the Fourth International Software Process Workshop, 1988.

    Google Scholar 

  8. Daniel M. Yellin. Attribute Grammar Inversion and Source-to-source translation. Lecture Notes in Computer Science, Springer-Verlag, 1988.

    Google Scholar 

  9. T. W. Reps and T. Teitelbaum. The Synthesizer Generator. Texts and Monographs in Computer Science, Springer-Verlag, 1989.

    Google Scholar 

  10. G.E. Kaiser. Generation of run-time environments. In Proceedings of SIGPLAN '86 Symposium on Compiler Construction, pages 51–57, 1986.

    Google Scholar 

  11. P. M. Lewis, D. J. Rosenkranz, and R. E. Stearns. Attribute translations. Journal of Computer Systems and Sciences, 9(3):279–307, December 1974.

    Google Scholar 

  12. T. Katayama. Translation of Attribute Grammars into Procedures. ACM Transaction of Programming Languages and Systems, 6(2):345–369, 1984.

    Article  Google Scholar 

  13. S. M. Kaplan and G. E. Kaiser. Incremental attribute evaluation in distributed language-based environments. In Proceedings of the 5th Symposium on Principles of Distributed Computing, pages 121–130, 1986.

    Google Scholar 

  14. I. Fang. FOLDS, a Declarative Formal Language Definition System. PhD thesis, STAN-CS-72-329, CSD, Stanford University, 1972.

    Google Scholar 

  15. T. W. Reps. Optimal-time incremental semantic analysis for syntax-directed editors. In Conference Record of the 9th ACM Symposium on Principles of Programming Languages, pages 169–176, January 1982.

    Google Scholar 

  16. D. Betz. XLISP: An Experimental Object Oriented Language. January 1985.

    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

Shinoda, Y., Katayama, T. (1990). Object oriented extension of attribute grammars and its implementation using distributed attribute evaluation algorithm. 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_13

Download citation

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

  • 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