Abstract
This paper surveys the main evaluation strategies for non-circular attribute grammars, i.e., passes, sweeps, visits and plans. Attention is also focused on the iteration of evaluation passes for circular attribute grammars.
Preview
Unable to display preview. Download preview PDF.
References
Aho, A.V., Hopcroft, J.E. and Ullman, J.D.: The design and analysis of computer algorithms. Addison Wesley (1974).
Op den Akker, H.J.A., Melichar, B, Tarhio, J.: Attribute evaluation and parsing, elsewhere in these proceedings.
Alblas, H.: A characterization of attribute evaluation in passes. Acta Informatica 16 (1981), pp. 427–464.
Alblas, H.: Finding minimal pass sequences for attribute grammars. SIAM Journ. on Computing 14 (1985), pp. 889–914.
Alblas, H.: Iteration of transformation passes over attributed program trees. Acta Informatica 27 (1989), pp. 1–40.
Alblas, H.: Pass-oriented attribute evaluation and attributed tree transformations, Ph.D. Thesis, University of Twente (1987).
Alblas, H.: Introduction to Attribute Grammars, elsewhere in these proceedings.
Babich, W.A. and Jazayeri, M.: The method of attributes for data flow analysis, Part I: Exhaustive analysis, Part II: Demand analysis. Acta Informatica 10 (1978), pp. 245–272.
Bochmann, G.V.: Semantic evaluation from left to right. Comm. ACM 19 (1976), pp. 55–62.
Cohen, R. and Harry, E.: Automatic generation of near-optimal linear-time translators for noncircular attribute grammars. In: Proc. 6th ACM Symposium on Principles of Programming Languages (1979), pp. 121–134.
Courcelle, B. and Franchi-Zannettacci, P.: Attribute grammars and recursive program schemes, Theoretical Computer Science 17 (1982), pp. 163–191 and 235–257.
Deransart, P., Jourdan, M. and Lorho, B.: Attribute grammars, Definitions, Systems and Bibliography. Lecture Notes in Computer Science 323, Springer (1988).
Engelfriet, J.: Attribute grammars: Attribute evaluation methods. In: Methods and Tools for Compiler Construction (B. Lorho, ed.). Cambridge University Press (1984), pp. 103–138.
Engelfriet, J. and Filè, G.: Passes and paths of attribute grammars. Information and Control 49 (1981), pp. 125–169.
Engelfriet, J. and Filè, G.: The formal power of one-visit attribute grammars. Acta Informatica 16 (1981), pp. 275–302.
Engelfriet, J. and Filè, G.: Simple multi-visit attribute grammars. Journ. of Computer and System Sciences 24 (1982), pp. 283–314.
Engelfriet, J. and Filè, G.: Passes, sweeps and visits in attribute grammars. Memorandum INF-82-6, Dept. of Computer Science, University of Twente (1982).
Engelfriet, J. and Filè, G.: Passes, sweeps and visits in attribute grammars. In: Proc. 8th ICALP, Lecture Notes in Computer Science 115 (1981), Springer, pp. 193–207.
Farrow, R.: Experience with an attribute grammar based compiler. In: Proc. 9th ACM Symposium on Principles of Programming Languages (1982), pp. 95–107.
Farrow, R.: Sub-protocol-evaluators for attribute grammars. In: Proc. SIGPLAN '84 Symposium on Compiler Construction (1984), pp. 70–80.
Farrow, R.: Automatic generation of fixed-point-finding evaluators for circular, but well-defined, attribute grammars. In: Proc. SIGPLAN '86 Symposium on Compiler Construction (1986), pp. 85–98.
Filè, G.: Theory of attribute grammars. Ph.D. Thesis, University of Twente (1983).
Filè, G.: Classical and incremental attribute evaluation by means of recursive procedures. Theoretical Computer Science 53 (1987), pp. 25–65.
Ganzinger, H.: MUG1 Manual. Bericht 7608, Institut für Informatik, Technische Universität München (1974).
Ganzinger, H., Giegerich, R., Möncke, U. and Wilhelm, R.: A truly generative semanticsdirected compiler generator. In: Proc. ACM SIGPLAN '82 Symposium on Compiler Construction (1982), pp. 172–184.
Ganzinger, H., Ripken, K. and Wilhelm, R.: Automatic generation of optimizing multipass compilers. In: IFIP '77 (B. Gilchrist, ed.), North Holland Publishing Co. (1977), pp. 535–540.
Giegerich, R. and Wilhelm, R.: Attribute evaluation. In: Le point sur la compilation, Proc. IRIA Symposium on the State and the Art and Future Trends in Compilation (1978), pp. 337–365.
Giegerich, R. and Wilhelm, R.: Counter one-pass features in one-pass compilation: a formalization using attribute grammars. Information Processing Letters 7 (1978), pp. 279–284.
Jazayeri, M. and Walter, K.G.: Alternating semantic evaluator. In: Proc. ACM 1975 Annual Conference (1975), pp. 230–234.
Jourdan, M.: Recursive evaluators for attribute grammars: an implementation. In: Methods and Tools for Compiler Construction (B. Lorho, ed.), Cambridge University Press (1984), pp. 139–164.
Jourdan, M.: Strongly non-circular attribute grammars and their recursive evaluation. In: Proc. SIGPLAN '84 Symposium on Compiler Construction (1984), pp. 81–93.
Jourdan, M., Parigot, D., JuliÃe, C., Durin, O. and Le Bellec, C.: Design, implementation and evaluation of the FNC-2 attribute grammar system. In: Proc. SIGPLAN '90 Symposium on Programming Languages Design and Implementation (1990), pp. 209–222.
Kastens, U.: Ordered attributed grammars. Bericht 7/78, Institut für Informatik II, Universität Karlsruhe (1978).
Kastens, U.: Ordered attributed grammars. Acta Informatica 13 (1980), pp. 229–256.
Kastens, U.: The GAG system, A tool for compiler construction. In: Methods and Tools for Compiler Construction (B. Lorho, ed.), Cambridge University Press (1984), pp. 165–182.
Kastens, U.: LIGA: A language independent generator for attribute grammars, Bericht Nr. 63, Reihe Informatik, Universität Paderborn (1989).
Kastens, U., Hutt, B. and Zimmermann, E.: GAG, A practical compiler generator. Lecture Notes in Computer Science 141, Springer (1982).
Katayama, T.: Translation of attribute grammars into procedures. ACM Trans. on Programming Languages and Systems 6 (1984), pp. 345–369.
Kennedy, K. and Ramanathan, J.: A deterministic attribute grammar evaluator based on dynamic sequencing. ACM Trans. on Programming Languages and Systems 1 (1979), pp. 142–160.
Kennedy, K. and Warren, S.K.: Automatic generation of efficient evaluators for attribute grammars. In: Proc. 3rd ACM Symposium on Principles of Programming Languages (1976), pp. 32–49.
Knuth, D.E.: Semantics of context-free languages. Math. Systems Theory 2 (1968), pp. 127–145.
Knuth, D.E.: Semantics of context-free languages, Correction. Math. Systems Theory 5 (1971), pp. 95–96.
Koster, C.H.A.: Affix grammars. In: Algol 68 Implementation (J.E.L. Peck, ed.), North Holland Publishing Co. (1971), pp. 95–109.
Koster, C.H.A.: Using the CDL compiler-compiler. In: Compiler Construction: An Advanced Course. (F.L. Bauer and J. Eickel, eds.), Lecture Notes in Computer Science 21 (1974), Springer, pp. 366–426.
Lewis, P.M., Rosenkrantz, D.J. and Stearns, R.E.: Attributed translations. Journ. of Computer and System Sciences 9 (1974), pp. 279–307.
Räihä, K.-J.: On attribute grammars and their use in a compiler writing system. Report A-1977-4, Dept. of Computer Science, University of Helsinki (1977).
Räihä, K.-J.: Experiences with the compiler writing system HLP. In: Semantics-Directed Compiler Generation (N.D. Jones, ed.) Lecture Notes in Computer Science 94, Springer (1980), pp. 350–362.
Räihä, K.-J.: Attribute grammar design using the compiler writing system HLP. In: Methods and Tools for Compiler Construction (B. Lorho, ed.), Cambridge University Press (1984), pp. 165–182.
Räihä, K.-J. and Saarinen, M.: An optimization of the alternating semantic evaluator. Information Processing Letters 6 (1977), pp. 97–100.
Räihä, K.-J., Saarinen, M., Sarjakovski, M., Sippu, S., Soisalon-Soininen, E. and Tienari, M.: Revised Report on the compiler writing system HLP78. Report A-1983-1, Dept. of Computer Science, University of Helsinki (1983).
Räihä, K.-J., Saarinen, M., Soisalon-Soininen, E. and Tienari, M.: The compiler writing system HLP (Helsinki Language Processor). Report A-1978-2, Dept. of Computer Science, University of Helsinki (1978).
Räihä, K.-J. and Ukkonen, E.: On the optimal assignment of attributes to passes in multi-pass attribute evaluators. In: Proc. 7th ICALP (J. de Bakker and J. van Leeuwen, eds), Lecture Notes in Computer Science 85, Springer (1980), pp. 500–511.
Räihä, K.-J. and Ukkonen, E.: Minimizing the number of evaluation passes for attribute grammars. SIAM Journ. on Computing 10 (1981), pp. 772–786.
Riis Nielson, H.: Computation sequences: a way to characterize classes of attribute grammars. Acta Informatica 19 (1983), pp. 255–268.
Riis, H. and Skyum, S.: k-visit attribute grammars. Math. Systems Theory 15 (1981), pp. 17–28.
Saarinen, M.: On constructing efficient evaluators for attribute grammars, In: Proc. 5th ICALP, Lecture Notes in Computer Science 62, Springer (1978), pp. 382–397.
Watt, D.A.: The parsing problem for affix grammars. Acta Informatica 8 (1977), pp. 1–20.
Watt, D.A.: Rule splitting and attribute-directed parsing. In: Semantics-Directed Compiler Generation (N.D. Jones, ed.), Lecture Notes in Computer Science 94 (1989), Springer, pp. 363–392.
Wilhelm, R., Ripken, K., Ciesinger, H., Lahner, W. and Nollman, R.D.: Design evaluation of the compiler generating system MUG1. In: Proc. 2nd Int. Conf. on Software Engineering (1976), pp. 571–576.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Alblas, H. (1991). Attribute evaluation methods. In: Alblas, H., Melichar, B. (eds) Attribute Grammars, Applications and Systems. SAGA School 1991. Lecture Notes in Computer Science, vol 545. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54572-7_3
Download citation
DOI: https://doi.org/10.1007/3-540-54572-7_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54572-9
Online ISBN: 978-3-540-38490-8
eBook Packages: Springer Book Archive