Abstract
The transformation of attributed trees is a very elegant and powerful method to deal with problems like code optimization in compilers, language-based editors, theorem proving, source-to-source translation (such as high level programming language to high level programming language, high level intermediate language to low level intermediate language) and translation of natural languages. The specification language OPTRAN has been designed to describe transformations statically. Transformations, which logically belong together, are collected in modules. A system for transforming attributed trees is generated separately for each of those modules. Such a system mainly consists of an attribute evaluator, a tree analyser, a transformer and an attribute reevaluator.
Zusammenfassung
Die Transformation attributierter Bäume ist eine elegante und sehr mächtige Methode zur Bearbeitung von Problemen wie Codeoptimierung in Compilern, rechnergestutzte Programmentwicklung, automatische Beweiser, source-to-source-Ũbersetzung (wie Programmiersprache nach Programmiersprache, hohe Zwischensprache nach niedriger Zwischensprache) und maschinelle Ubersetzung natũrlicher Sprachen. Transformationen können statisch beschrieben werden mithilfe der Spezifikationssprache OPTRAN. Logisch zusammengehörige Transformationen werden zu Moduln zusammengefaßt. Ein System zur Transformation attributierter Bäume wird anhand einer solchen Spezifikation jeweils für ein Modul generiert. Hauptbestandteile eines solchen Systems sind ein Attributauswerter (Erstattributierer), ein Baumanalysator, ein Transformator und ein Reattributierer.
work supported by the DFG-project “Manipulation of Attributed Trees”
work supported by the SFB-project “VLSI-Design and Parallelism”
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R.Cohen, E. Harry, Automatic generation of near-optimal linear-time translators for non-circular attribute grammars, POPL 6, 1979
V. Donzeau-Gouge, G. Huet, G. Kahn, 9. Lang, Programming environments based on structured editors: the MENTOR-experience, INRIA, Research Report, 1980
J. Engelfriet, G. Filé, Formal properties of one-visit and multi-pass attribute grammars, Lecture Notes in Comp. Sci., 85, 1979
M. Eulenstein, POCO, ein portables System zur Generierung portabler Compiler, Doctoral dissertation, Universität Saarbrucken, 1983
H. Ganzinger, R. Giegerich, U. Möncke, R. Wilhelm, A truly generative semantics-directed compiler generator, ACM Symp. on Compiler Construction, 1982
R. Giegerich, U. Möncke, R. Wilhelm, Invariance of approximative semantics with respect to program transformations, Informatik-Fachberichte 50, Springer 1981
I. Glasner, U. Möncke, R. Wilhelm, OPTRAN, a language for the specifcation of program transformations, Informatik-Fachberichte 34, Springer, March 1980
G. Jochum, Automatische Konstruktion und einheitliche Darstellung von Attributauswertungsalgorithmen, Doctoral dissertation, TUM-Bericht, Technische Universität München, 1981
M. Jazayeri, W.F. Ogden, W.C. Rounds, The intrinsically exponential complexity of the circularity problem for attribute grammars, POPL 2, 1975
K. Kennedy, S.K. Warren, Automatic generation of efficient evaluators for attribute grammars, POPL 3, 1976
G. Kahn, B. Lang, B. Mėlèse, E. Morcos, Metal: A formalism to specified formalisms, INRIA, Research Report, 1983
U. Möncke, Doctoral dissertation, Universität Saarbrucken, forthcoming
U. Möncke, R. Wilhelm, Iterative algorithms on grammar graphs, Proc. of the 8th Conf. on Graphtheoretic Concepts in Computer Science, Hanser, 1982
U. Möncke, B. Weisgerber, Implementation of a system for transformation of attributed trees, Universität Saarbrucken, internal report, forthcoming
T. Payton, S. Keller, J. Perkins, S. Rowan, S. Mardinly, SSAGS: A syntax and semantics analysis and generation system, IEEE, 1982
K.J. Räihä, E. Ukkonen, Minimizing the numbers of evaluation passes for attribute grammars, Report C-1979-121, University of Helsinki, 1979
Th. Reps, Generating language-based environments, PhD-thesis, Cornell University, 1932
M. Schmigalla, Attributierte Transformationsgrammatiken: Die Erstattributierung, Diplomarbeit, Universität Saarbrucken, 1983,
A. Schũtte, Attributierte Transformationsgrammatiken: Die Reattributierung, Diplomarbeit, Universität Saarbrucken, 1983
B. Weisgerber, Attributierte Transformationsgrammatiken: Die Qaumanalyse und Untersuchungen zu Transformationsstrategien, Diplomarbeit, Universität Saarbrücken, 1983
R. Wilhelm, Code-Optimierung mittels attributierter Transformationsgrammatiken, Lecture Notes in Comp. Science 26, Springer, 1974
R. Wilhelm, A modified tree-to-tree correction problem, Information processing letters, Vol. 12, North-Holland, 1981
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1984 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Möncke, U., Weisgerber, B., Wilhelm, R. (1984). How to Implement a System for Manipulation of Attributed Trees. In: Ammann, U. (eds) Programmiersprachen und Programmentwicklung. Informatik-Fachberichte, vol 77. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-69393-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-69393-9_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-12905-9
Online ISBN: 978-3-642-69393-9
eBook Packages: Springer Book Archive