Skip to main content

Tree transformations, functional languages, and attribute grammars

  • Relationships With Other Formalisms I
  • Conference paper
  • First Online:
Book cover Attribute Grammars and their Applications

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

Abstract

The role of attribute grammars and functional programming languages in program transformation tools is studied. Starting from our own experiences with designing and implementing two such tools, the OPTRAN transformer generator and the functional language TrafoLa, we compare those with other systems, e.g. the Cornell Synthesizer Generator and the Flagship tuples environment. Some design hints are derived from this comparison.

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. Bertling, H., H. Ganzinger: Completion-Time Optimization of Rewrite-Time Goal Solving, RTA 89, Chapel Hill, April 1989.

    Google Scholar 

  2. Krieg-Brückner, B. (Ed.): Program Development by Specification and Transformation, to appear, Springer-Verlag.

    Google Scholar 

  3. Courcelle, B. and P. Franchi-Zannettacci: Attribute Grammars and Recursive Program Schemes (I and II), Theoretical Computer Science, 17, 2 and 3, pp. 163–191 and 235–257, 1982.

    Article  Google Scholar 

  4. Deransart, P., M. Jourdan, B. Lorho: Attribute Grammars — Definitions, Systems and Bibliography, Lecture Notes in Computers Science 323, Springer Verlag, 1988

    Google Scholar 

  5. Ferdinand, C. Pattern Matching in a Functional Transformation Language using Treeparsing, PLILP'90, LNCS, Springer, 1990, to appear.

    Google Scholar 

  6. Giegerich, R., U. Möncke, and R. Wilhelm: Invariance of Approximative Semantics with respect to Program Transformations, pp. 1–10 in 11. GI Fachtagung für Programmiersprachen und Programmentwicklung, Informatik Fachberichte 50, Springer-Verlag, 1981

    Google Scholar 

  7. Harrison, P.G.: Function inversion, In: Bjørner, D., Ershov, A.P., Jones, N.D.: Partial Evaluation and Mixed Computation, Elsevier, North Holland, 1988.

    Google Scholar 

  8. Heckmann, R.: Inversion of Functions, ESPRIT Project, PROSPECTRA Study Note S.1.6-SN-21.0, 1989, submitted for publication

    Google Scholar 

  9. Heckmann, R.: A Functional Language for the Specification of Complex Tree Transformations, in Ganzinger (Ed.) Proceedings of ESOP '88, LNCS 300, Springer-Verlag, 1988.

    Google Scholar 

  10. Heckmann, R., G. Sander: TrafoLa-H Reference Manual, Language and Type System, in [BKB90], Vol II, The PROSPECTRA Language Family Chapter 8, Springer 1990.

    Google Scholar 

  11. Huet, G., B. Lang: Proving and Applying Program Transformations Expressed with Second Order Patterns, Acta Inf. 11, pp. 31–55, 1978.

    Google Scholar 

  12. Katayama T.: Translation of Attribute Grammars into Procedures, ACM TOPLAS 6, 3, pp. 345–369, 1984.

    Article  Google Scholar 

  13. Keller, P., T. Maas: An OPTRAN-generated frontend for ADA, this volume.

    Google Scholar 

  14. Kron, H.H.: Tree Templates and Subtree Transformational Grammars, Ph.D. Thesis, University of California, Santa Cruz 1975.

    Google Scholar 

  15. Lipps, P.: OPTRAN: A Language/System for the Specification of Program Transformations — Annotated Bibliography, Internal Report, FB 10–Informatik, Universität des Saarlandes, 1988

    Google Scholar 

  16. Lipps, P., M. Olk, U. Möncke, and R. Wilhelm: Attribute (Re)evaluation in OPTRAN, Acta Informatica 26, pp. 213–239 (1988)

    Article  Google Scholar 

  17. Lipps, P., U. Möncke, R. Wilhelm: OPTRAN: A Language/System for the Specification of Program Transformations — System Overview and Experiences, in Hammer (Ed.): Proceedings of the Workshop on Compiler Compilers and High Speed Compilation, Berlin GDR 1988, LNCS 371, Springer-Verlag, 1988

    Google Scholar 

  18. Nivat, M., H. Ait-Kaci: Resolution of Equations in Algebraic Structures, Academic Press, 1989

    Google Scholar 

  19. De Miguel J.A.: CSG Scripts Language Reference Manual, ESPRIT Project PROSPECTRA S.1.5.C2-R-9.0, 1990.

    Google Scholar 

  20. Möncke, U., B. Weisgerber, R. Wilhelm: How to Implement a System for Manipulation of Attributed Trees, in U. Ammann (Ed.), GI 8. Fachtagung “Programmiersprachen und Programmentwicklung”, Zürich, pp. 112–127, IFB vol. 77, Springer-Verlag, 1984.

    Google Scholar 

  21. Pfenning, F., R.L. Nord: The Ergo Attribute System, in Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pp. 110–120, ACM Press, 1988.

    Google Scholar 

  22. Pfenning, F., C. Elliot: Higher-order abstract syntax, in Proceedings of the SIGPLAN '88 Symposium on Language Design and Implementation, pp. 199–208, ACM Press, 1988.

    Google Scholar 

  23. Reps, T.: Optimal-time Incremental Semantic Analysis for Syntax-Directed Editors, pp. 169–176 in Conference Record of the Ninth ACM Symposium on Principles of Programming Languages, Albuquerque, NM, January 25–27, 1982, ACM, New York, NY 1982.

    Google Scholar 

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

    Google Scholar 

  25. Sagiv, S., O. Edelstein, N. Francez, and M. Rodeh: Resolving Circularity in Attribute Grammars with Applications to Data Flow Analysis, in 16th ACM Symposium on Principles of Programming Languages, 1989.

    Google Scholar 

  26. Sephton, K. et. al.: Using “tuples” the Flagship Programming Environment, Functional Programming Section, Imperial College, 1990

    Google Scholar 

  27. Swierstra S.D., H.H. Vogt and M.F. Kuiper: Higher order attribute grammars in Proceedings of the SIGPLAN '89 Symposium on Programming Language Design and Implementation, pp. 131–145, ACM Press, 1989.

    Google Scholar 

  28. Teitelbaum, T., R. Chapman: Higher-order Attribute Grammars and Editing Environments, ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, to appear, 1990

    Google Scholar 

  29. Wilhelm, R.: Computation and Use of Data Flow Information in Optimizing Compilers, in Acta Informatica 12, pp. 209–225, Springer-Verlag, 1979

    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

Wilhelm, R. (1990). Tree transformations, functional languages, and attribute grammars. 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_9

Download citation

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

  • 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