Summary
Very much space is needed to store the values of all attribute instances in an attributed tree at the corresponding nodes; for that reason “global cells” are often used to store values of attribute instances. But these global cells must contain “the right value at the right time”, and, therefore, not all evaluation sequences of attribute instances are admissible, if one uses global cells.
In this paper we will study first the problem arising during the construction of such admissible evaluation sequences for attributed trees, if no special property of an underlying ag is presumed. This will lead to a number of restrictions on the “practically allowed” use of global cells. After that we will provide a method for the construction of admissible evaluation sequences for arbitrary attribute trees of given attribute grammars, if global cells are used in the restricted sense. The proposed method is independent of special classes of attribute grammars and can be used with arbitrary evaluator generators.
Similar content being viewed by others
References
Asbrock, B., Kastens, V., Zimmermann, E.: User Manual for the GAG. System. Univ. Karlsruhe, Fak. für Informatik, Report 15/81 (1981)
Bochmann, G.V.: Semantic Evaluation from Left to Right. Commun. ACM 19, 55–62 (1976)
Cohen, R., Harry, E.: Automatic Generation of Near-Optimal Linear-Time Translators for Non-Circular Attribute Grammars. 6th ACM Symp. on POPL, pp. 121–134 (1979)
Engelfriet, J., Rozenberg, G., Slutzki, G.: Tree Transducers, L-Systems and Two-Way Machines. JCSS 20, 150–202 (1980)
Engelfriet, J., Filé, G.: Passes, Sweeps and Visits. ICALP 81, 193–207 (1981)
Ganzinger, H.: On Storage Optimization for Automatically Generated Compilers. 4th GIConference on Theor. Comput. Sci. LNCS 67, 132–141 (1979)
Giegerich, R.: Introduction to the compiler generating system MUG2. TU München, TUMInfo-7913 (1979)
Jazayeri, M., Pozefsky, D.: A Family of Pass-Oriented Attribute Grammar Evaluators. Univ. of North Carolina, Dept. of CS, Report TR 78-010 (1978)
Jazayeri, M., Pozefsky, D.: Space Efficient Storage Management in an Attribute Grammar Evaluator. Univ. of North Carolina, Dept. of CS, Report TR 79-007 (1979)
Jazayeri, M., Pozefsky, D.: A Space Improvement in the ASE. Univ. of North Caroline, Dept. of CS, Report TR 80-002 (1980)
Kastens, U., Zimmermann, E.: GAG — A Generator Based on Attribute Grammars. Univ. Karlsruhe, Inst. für Informatik II, Report 14/80 (1980)
Kennedy, K., Warren, S.K.: Automatic Generation of Efficient Evaluators for Attribute Grammars. 3rd ACM Symp. on POPL, pp. 32–49 (1976)
Knuth, D.E.: Semantics of Context-Free Languages. Math. Syst. Theory 2, 127–145 (1968)
Knuth, D.E.: Semantics of Context-Free Languages. Math. Syst. Theory 5, 95–96 (1971)
Räihä, K.J., Saarinen, M., Soisalon-Soininen, E., Tienari, M.: The Compiler Writing System HLP. Univ. of Helsinki, Dept. of CS, Report A-1978-2 (1978)
Räihä, K.J.: Dynamic Allocation of Space for Attribute Grammars. SIGPLAN Notices 14, 2638 (1979)
Räihä, K.J.: A Space Management Technique for Multi-Pass Attribute Evaluators. Univ. of Helsinki, Dept. of CS, Report A-1981-4 (1981)
Riis, H., Skyum, S.: k-visit Attribute Grammars. Math. Syst. Theory 15, 17–28 (1981)
Sethi, R.: Complete Register Allocation Problems. SIAM J. Comp. 4, 226–248 (1975)
Sethi, R.: Pebbles Games for Studying Storage Sharing. TCS 19, 69–84 (1982)
Sonnenschein, M.: Generierung effizienter Compilerteile durch attributierten Grammatiken verwandte Konzepte. Diss. RWTH Aachen 1983
Grubert, U.: Entwurf und Implementierung einer dynamischen Speicherverwaltung im Rahmen eines Compiler-erzeugenden Systems. RWTH Aachen, Diplomarbeit 1984
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Sonnenschein, M. Global storage cells for attributes in an attribute grammar. Acta Informatica 22, 397–420 (1985). https://doi.org/10.1007/BF00288775
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00288775