Advertisement

OPTRAN, a Language for the Specification of Program Transformations

  • Ingrid Glasner
  • Ulrich Möncke
  • Reinhard Wilhelm
Conference paper
Part of the Informatik-Fachberichte book series (INFORMATIK, volume 25)

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.

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BöJ 66]
    Böhm,C., Jacopini,G.: Flow Diagrams, Turing Machines, and Languages with Only Two Formation Rules, CACM, Vol. 19, No. 5, May 1966Google Scholar
  2. [deR 74]
    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 1974Google Scholar
  3. [Gan 74]
    Ganzinger,H.: Modifizierte attributierte Grammatiken, Report No. 7420, Abt. Mathematik, Technische Universität München, 1974Google Scholar
  4. [Gan 79a]
    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–141Google Scholar
  5. [Gan 79b]
    Ganzinger,H.: ADELE: An Attribute Definition Language, TUM-INFO, Inst, für Informatik, Technische Universität München, in preparationGoogle Scholar
  6. [Gie 79]
    Giegerich,R.: Introduction to the Compiler Generating System MUG2, TUM-INFO-7913, Inst, für Informatik, Technische Universität München, 1979Google Scholar
  7. [GRW 77]
    Ganzinger, H., Ripken, K., Wilhelm, R.: Automatic Generation of Optimizing Multipass Compilers, in B. Gilchrist, (Ed.): Information Processing 77, pp. 535–540, North Holland, 1977Google Scholar
  8. [Knu 68]
    Knuth,D.E.: Semantics of Context-free Languages, Math. Systems Theory, Vol. 2, No. 2, pp. 127–145, 1968MathSciNetMATHCrossRefGoogle Scholar
  9. [Kro 75]
    Krön,H.H.: Tree Templates and Subtree Transformational Grammars, Ph.D. Thesis, Univ. of California at Santa Cruz, 1975Google Scholar
  10. [Lov 76]
    Loveman,D.B.: Program Improvement by Source to Source Transformations, Conf. Record of the 3rd ACM Symposium on Principles of Programming Languages, 1976Google Scholar
  11. [Mön 77]
    Möncke,U.: Transformations-Grammatiken: Automatische Generierung des Analysators. Dipl.-Arbeit, FB Mathematik, TU München, 1977Google Scholar
  12. [Ros 73]
    Rosen,B.K.: Tree-manipulating Systems and Church-Rosser Theorems, JACM, Vol. 20, No. 1, pp. 160–187, 1973MATHCrossRefGoogle Scholar
  13. [Ros 77]
    Rosen,B.K.: High Level Data Flow Analysis, CACM, Vol. 20, No. 10, pp. 712–724, Oct. 77Google Scholar
  14. [Sta 76]
    Standish,T.A., Harriman,D.C., Kibler,D.F., Neighbors,J.M.: The Irvine Program Transformation Catalogue, University of California at Irvine, 1976Google Scholar
  15. [Wil 74]
    Wilhelm,R.: Code-Optimierung mittels attributierter Transformationsgrammatiken, Lec. Notes in Comp. Science 26, pp. 257–266, Springer-Verlag, 1974MathSciNetGoogle Scholar
  16. [Wil 79]
    Wilhelm,R.: Computation and Use of Data Flow Information in Optimizing Compilers, Acta Informatica, Vol. 12, pp. 209–225, 1979MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin · Heidelberg 1980

Authors and Affiliations

  • Ingrid Glasner
    • 1
  • Ulrich Möncke
    • 1
  • Reinhard Wilhelm
    • 1
  1. 1.Fachbereich 10 - InformatikUniversität des SaarlandesSaarbrückenGermany

Personalised recommendations