Abstract
The paper describes the implementation concept including optimizing transformations of the aggregate handling in the MAGIC System. The MAGIC System is a system for specification and rapid prototyping of compilers developped at the Technical University of Munich. One of its main features is a powerful functional specification language based on an extension of attribute coupled grammars [GaG84]. For the specification of structured symboltables, the language provides the generic abstract datatype aggregate.
As the user may handle aggregates like any other values, the system must provide the mapping of aggregate values to objects in the storage and of functions to storage changing procedures. This optimizing implementation mapping consists of three parts. First, all aggregate occurrences are determined and their dependencies are analysed. Then the algorithm tries to refine the attribute dependencies, so that reading operations to an aggregate-valued attribute preceed writing operations to this attribute. Finally, the functions are replaced by the corresponding operations that operate on a shared hashtable.
Support for this research was provided by the Siemens AG München ZTI SOF 2
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
G. Bartmuß, S. Thürmel: MUG-Tutorial; Internal Report; Technical University of Munich; 84
F.L. Bauer, H. Wössner: Algorithmische Sprache und Programmentwicklung; Springer Verrlag; 81
D. Björner: Towards a Formal Description of Ada; LNCS 98; Springer Verlag; 80
H. Ganzinger: On Storage Optimization for Automatically Generated Compilers; LNCS Vol. 67, pp 132–141
H. Ganzinger, R. Giegerich, et al.: Attribute Coupled Grammars: SIGPLAN 84 Symp. on Compiler Construction; 84
R. Harper: Introduction to Standard ML; Dep. of Computer Science, University of Edinburgh; Technical Report ECS-LFCS-86-14
R. Hoover, T. Teitelbaum: Efficient Incremental Evaluation of Aggregate Values in Attribute Grammars; ACM Proc. of the 86 SIGPLAN Symposium on Compiler Construction
U. Kastens: Lifetime Analysis for Attributes; Acta Informatica 24; 1987, pp.633–651
K. Kenedy, S. Warren: Automatic Generation of Efficient Evaluators for Attribute Grammars; 3rd ACM Symposium on Principles of Programming Languages, Atlanta; 76
J. Knopp, A. Liebl, A. Poetzsch-Heffter: MAGIC — An Interactive Compiler Specification System; Internal Report; Technical University Munich; 88
F. Plenk: Optimierende Implementierungstransformation für funktionale Attributgrammatiken; Diplomarbeit; Technical University of Munich; 88
A. Poetzsch-Heffter: Report on the MAGIC Specification Language; to appear december 88
K.-J. Räihä: A Globalizing Transformation for Attribute Grammars; ACM Proc. of the 86 SIGPLAN Symposium on Compiler Construction
J. Uhl, et al.: An Attribute Grammar for the Semantic Analysis of Ada; LNCS 139; Springer Verlag; 82
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Poetzsch-Heffter, A. (1989). Optimizing implementation of aggregates in the compiler specification system MAGIC. In: Hammer, D. (eds) Compiler Compilers and High Speed Compilation. CCHSC 1988. Lecture Notes in Computer Science, vol 371. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51364-7_15
Download citation
DOI: https://doi.org/10.1007/3-540-51364-7_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51364-3
Online ISBN: 978-3-540-46200-2
eBook Packages: Springer Book Archive