Zusammenfassung
Die Programmiersprache OPTRAN wurde entwickelt zur Beschreibung von Programmtransformationen. Die zu transformierenden Programme werden dargestellt als attributierte Programmbäume, wie es in automatisch erzeugten Mehrlauf-Übersetzern, z.B. MUG2, üblich ist. OPTRAN basiert auf den attributierten Transformationsgrammatiken, bietet jedoch einige Erweiterungen zur Kompaktifizierung der Darstellung, zur Effizienzsteigerung der generierten Transformatoren und zur Beschreibung der Kooperation zwischen mehreren Transformationsläufen.
Abstract
The programming language OPTRAN has been developed as a tool for the description of program transformations. The intermediate form of programs to be transformed is the attributed program tree, as existing in many automatically generated multi-pass compilers, e.g. MUG2. OPTRAN is based on attributed transformational grammars, but extends these to achieve more compact descriptions, more efficient transformers, and an adequate cooperation of several transformation passes.
This research was carried out within the DFG-project “Manipulation attributierter Bäume”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Böhm,C., Jacopini,G.: Flow Diagrams, Turing Machines, and Languages with Only Two Formation Rules, CACM, Vol. 19, No. 5, May 1966
de Remer,F.L.: Transformational Grammars, in F.L. Bauer, J. Eickel (Eds.) Compiler Construction: An Advanced Course, Lec. Notes in Computer Science 21, Springer Verlag, New York 1974
Ganzinger,H.: Modifizierte attributierte Grammatiken, Report No. 7420, Abt. Mathematik, Technische Universität München, 1974
Ganzinger,H.: On storage optimization for automatically generated compilers. Theoretical Computer-Science, 4th GI Conference, K. Weihrauch (Ed.), Springer-Verlag, Berlin-Heidelberg-New York, March 1979, pp. 132–141
Ganzinger,H.: ADELE: An Attribute Definition Language, TUM-INFO, Inst, für Informatik, Technische Universität München, in preparation
Giegerich,R.: Introduction to the Compiler Generating System MUG2, TUM-INFO-7913, Inst, für Informatik, Technische Universität München, 1979
Ganzinger, H., Ripken, K., Wilhelm, R.: Automatic Generation of Optimizing Multipass Compilers, in B. Gilchrist, (Ed.): Information Processing 77, pp. 535–540, North Holland, 1977
Knuth,D.E.: Semantics of Context-free Languages, Math. Systems Theory, Vol. 2, No. 2, pp. 127–145, 1968
Krön,H.H.: Tree Templates and Subtree Transformational Grammars, Ph.D. Thesis, Univ. of California at Santa Cruz, 1975
Loveman,D.B.: Program Improvement by Source to Source Transformations, Conf. Record of the 3rd ACM Symposium on Principles of Programming Languages, 1976
Möncke,U.: Transformations-Grammatiken: Automatische Generierung des Analysators. Dipl.-Arbeit, FB Mathematik, TU München, 1977
Rosen,B.K.: Tree-manipulating Systems and Church-Rosser Theorems, JACM, Vol. 20, No. 1, pp. 160–187, 1973
Rosen,B.K.: High Level Data Flow Analysis, CACM, Vol. 20, No. 10, pp. 712–724, Oct. 77
Standish,T.A., Harriman,D.C., Kibler,D.F., Neighbors,J.M.: The Irvine Program Transformation Catalogue, University of California at Irvine, 1976
Wilhelm,R.: Code-Optimierung mittels attributierter Transformationsgrammatiken, Lec. Notes in Comp. Science 26, pp. 257–266, Springer-Verlag, 1974
Wilhelm,R.: Computation and Use of Data Flow Information in Optimizing Compilers, Acta Informatica, Vol. 12, pp. 209–225, 1979
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1980 Springer-Verlag Berlin · Heidelberg
About this paper
Cite this paper
Glasner, I., Möncke, U., Wilhelm, R. (1980). OPTRAN, a Language for the Specification of Program Transformations. In: Hoffmann, HJ. (eds) Programmiersprachen und Programmentwicklung. Informatik-Fachberichte, vol 25. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-67600-0_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-67600-0_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-09937-6
Online ISBN: 978-3-642-67600-0
eBook Packages: Springer Book Archive