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.
Preview
Unable to display preview. Download preview PDF.
References
Bertling, H., H. Ganzinger: Completion-Time Optimization of Rewrite-Time Goal Solving, RTA 89, Chapel Hill, April 1989.
Krieg-Brückner, B. (Ed.): Program Development by Specification and Transformation, to appear, Springer-Verlag.
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.
Deransart, P., M. Jourdan, B. Lorho: Attribute Grammars — Definitions, Systems and Bibliography, Lecture Notes in Computers Science 323, Springer Verlag, 1988
Ferdinand, C. Pattern Matching in a Functional Transformation Language using Treeparsing, PLILP'90, LNCS, Springer, 1990, to appear.
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
Harrison, P.G.: Function inversion, In: Bjørner, D., Ershov, A.P., Jones, N.D.: Partial Evaluation and Mixed Computation, Elsevier, North Holland, 1988.
Heckmann, R.: Inversion of Functions, ESPRIT Project, PROSPECTRA Study Note S.1.6-SN-21.0, 1989, submitted for publication
Heckmann, R.: A Functional Language for the Specification of Complex Tree Transformations, in Ganzinger (Ed.) Proceedings of ESOP '88, LNCS 300, Springer-Verlag, 1988.
Heckmann, R., G. Sander: TrafoLa-H Reference Manual, Language and Type System, in [BKB90], Vol II, The PROSPECTRA Language Family Chapter 8, Springer 1990.
Huet, G., B. Lang: Proving and Applying Program Transformations Expressed with Second Order Patterns, Acta Inf. 11, pp. 31–55, 1978.
Katayama T.: Translation of Attribute Grammars into Procedures, ACM TOPLAS 6, 3, pp. 345–369, 1984.
Keller, P., T. Maas: An OPTRAN-generated frontend for ADA, this volume.
Kron, H.H.: Tree Templates and Subtree Transformational Grammars, Ph.D. Thesis, University of California, Santa Cruz 1975.
Lipps, P.: OPTRAN: A Language/System for the Specification of Program Transformations — Annotated Bibliography, Internal Report, FB 10–Informatik, Universität des Saarlandes, 1988
Lipps, P., M. Olk, U. Möncke, and R. Wilhelm: Attribute (Re)evaluation in OPTRAN, Acta Informatica 26, pp. 213–239 (1988)
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
Nivat, M., H. Ait-Kaci: Resolution of Equations in Algebraic Structures, Academic Press, 1989
De Miguel J.A.: CSG Scripts Language Reference Manual, ESPRIT Project PROSPECTRA S.1.5.C2-R-9.0, 1990.
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.
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.
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.
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.
Reps, T., T. Teitelbaum: The Synthesizer Generator, Texts and Monographs in Computer Science, Springer-Verlag, 1989.
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.
Sephton, K. et. al.: Using “tuples” the Flagship Programming Environment, Functional Programming Section, Imperial College, 1990
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.
Teitelbaum, T., R. Chapman: Higher-order Attribute Grammars and Editing Environments, ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, to appear, 1990
Wilhelm, R.: Computation and Use of Data Flow Information in Optimizing Compilers, in Acta Informatica 12, pp. 209–225, Springer-Verlag, 1979
Author information
Authors and Affiliations
Editor information
Rights 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