Skip to main content

Attribute evaluation methods

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 545))

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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A.V., Hopcroft, J.E. and Ullman, J.D.: The design and analysis of computer algorithms. Addison Wesley (1974).

    Google Scholar 

  2. Op den Akker, H.J.A., Melichar, B, Tarhio, J.: Attribute evaluation and parsing, elsewhere in these proceedings.

    Google Scholar 

  3. Alblas, H.: A characterization of attribute evaluation in passes. Acta Informatica 16 (1981), pp. 427–464.

    Article  Google Scholar 

  4. Alblas, H.: Finding minimal pass sequences for attribute grammars. SIAM Journ. on Computing 14 (1985), pp. 889–914.

    Article  Google Scholar 

  5. Alblas, H.: Iteration of transformation passes over attributed program trees. Acta Informatica 27 (1989), pp. 1–40.

    Article  Google Scholar 

  6. Alblas, H.: Pass-oriented attribute evaluation and attributed tree transformations, Ph.D. Thesis, University of Twente (1987).

    Google Scholar 

  7. Alblas, H.: Introduction to Attribute Grammars, elsewhere in these proceedings.

    Google Scholar 

  8. 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.

    Article  Google Scholar 

  9. Bochmann, G.V.: Semantic evaluation from left to right. Comm. ACM 19 (1976), pp. 55–62.

    Article  Google Scholar 

  10. 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.

    Google Scholar 

  11. Courcelle, B. and Franchi-Zannettacci, P.: Attribute grammars and recursive program schemes, Theoretical Computer Science 17 (1982), pp. 163–191 and 235–257.

    Article  Google Scholar 

  12. Deransart, P., Jourdan, M. and Lorho, B.: Attribute grammars, Definitions, Systems and Bibliography. Lecture Notes in Computer Science 323, Springer (1988).

    Google Scholar 

  13. Engelfriet, J.: Attribute grammars: Attribute evaluation methods. In: Methods and Tools for Compiler Construction (B. Lorho, ed.). Cambridge University Press (1984), pp. 103–138.

    Google Scholar 

  14. Engelfriet, J. and Filè, G.: Passes and paths of attribute grammars. Information and Control 49 (1981), pp. 125–169.

    Article  Google Scholar 

  15. Engelfriet, J. and Filè, G.: The formal power of one-visit attribute grammars. Acta Informatica 16 (1981), pp. 275–302.

    Article  Google Scholar 

  16. Engelfriet, J. and Filè, G.: Simple multi-visit attribute grammars. Journ. of Computer and System Sciences 24 (1982), pp. 283–314.

    Article  Google Scholar 

  17. Engelfriet, J. and Filè, G.: Passes, sweeps and visits in attribute grammars. Memorandum INF-82-6, Dept. of Computer Science, University of Twente (1982).

    Google Scholar 

  18. 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.

    Google Scholar 

  19. Farrow, R.: Experience with an attribute grammar based compiler. In: Proc. 9th ACM Symposium on Principles of Programming Languages (1982), pp. 95–107.

    Google Scholar 

  20. Farrow, R.: Sub-protocol-evaluators for attribute grammars. In: Proc. SIGPLAN '84 Symposium on Compiler Construction (1984), pp. 70–80.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. Filè, G.: Theory of attribute grammars. Ph.D. Thesis, University of Twente (1983).

    Google Scholar 

  23. Filè, G.: Classical and incremental attribute evaluation by means of recursive procedures. Theoretical Computer Science 53 (1987), pp. 25–65.

    Article  Google Scholar 

  24. Ganzinger, H.: MUG1 Manual. Bericht 7608, Institut für Informatik, Technische Universität München (1974).

    Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Article  Google Scholar 

  29. Jazayeri, M. and Walter, K.G.: Alternating semantic evaluator. In: Proc. ACM 1975 Annual Conference (1975), pp. 230–234.

    Google Scholar 

  30. 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.

    Google Scholar 

  31. Jourdan, M.: Strongly non-circular attribute grammars and their recursive evaluation. In: Proc. SIGPLAN '84 Symposium on Compiler Construction (1984), pp. 81–93.

    Google Scholar 

  32. 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.

    Google Scholar 

  33. Kastens, U.: Ordered attributed grammars. Bericht 7/78, Institut für Informatik II, Universität Karlsruhe (1978).

    Google Scholar 

  34. Kastens, U.: Ordered attributed grammars. Acta Informatica 13 (1980), pp. 229–256.

    Article  Google Scholar 

  35. 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.

    Google Scholar 

  36. Kastens, U.: LIGA: A language independent generator for attribute grammars, Bericht Nr. 63, Reihe Informatik, Universität Paderborn (1989).

    Google Scholar 

  37. Kastens, U., Hutt, B. and Zimmermann, E.: GAG, A practical compiler generator. Lecture Notes in Computer Science 141, Springer (1982).

    Google Scholar 

  38. Katayama, T.: Translation of attribute grammars into procedures. ACM Trans. on Programming Languages and Systems 6 (1984), pp. 345–369.

    Article  Google Scholar 

  39. 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.

    Article  Google Scholar 

  40. 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.

    Google Scholar 

  41. Knuth, D.E.: Semantics of context-free languages. Math. Systems Theory 2 (1968), pp. 127–145.

    Article  Google Scholar 

  42. Knuth, D.E.: Semantics of context-free languages, Correction. Math. Systems Theory 5 (1971), pp. 95–96.

    Article  Google Scholar 

  43. Koster, C.H.A.: Affix grammars. In: Algol 68 Implementation (J.E.L. Peck, ed.), North Holland Publishing Co. (1971), pp. 95–109.

    Google Scholar 

  44. 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.

    Google Scholar 

  45. Lewis, P.M., Rosenkrantz, D.J. and Stearns, R.E.: Attributed translations. Journ. of Computer and System Sciences 9 (1974), pp. 279–307.

    Google Scholar 

  46. 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).

    Google Scholar 

  47. 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.

    Google Scholar 

  48. 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.

    Google Scholar 

  49. Räihä, K.-J. and Saarinen, M.: An optimization of the alternating semantic evaluator. Information Processing Letters 6 (1977), pp. 97–100.

    Article  Google Scholar 

  50. 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).

    Google Scholar 

  51. 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).

    Google Scholar 

  52. 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.

    Google Scholar 

  53. 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.

    Article  Google Scholar 

  54. Riis Nielson, H.: Computation sequences: a way to characterize classes of attribute grammars. Acta Informatica 19 (1983), pp. 255–268.

    Article  Google Scholar 

  55. Riis, H. and Skyum, S.: k-visit attribute grammars. Math. Systems Theory 15 (1981), pp. 17–28.

    Article  Google Scholar 

  56. Saarinen, M.: On constructing efficient evaluators for attribute grammars, In: Proc. 5th ICALP, Lecture Notes in Computer Science 62, Springer (1978), pp. 382–397.

    Google Scholar 

  57. Watt, D.A.: The parsing problem for affix grammars. Acta Informatica 8 (1977), pp. 1–20.

    Google Scholar 

  58. 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.

    Google Scholar 

  59. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Henk Alblas Bořivoj Melichar

Rights and permissions

Reprints 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

Publish with us

Policies and ethics