This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Parallel Evaluation of Attribute Grammars
March 1992 (vol. 3 no. 2)
pp. 206-220
Examines the generation of parallel evaluators for attribute grammars, targeted to shared-memory MIMD computers. Evaluation-time overhead due to process scheduling and synchronization is reduced by detecting coarse-grain parallelism (as opposed to the naive one-process-per-node approach). As a means to more clearly expose inherent parallelism, it is shown how to automatically transform productions of the form X to Y X into list-productions of the form X to Y/sup +/. This transformation allows for many simplifications to be applied to the semantic rules, which can expose a significant degree of inherent parallelism, and thus further increase the evaluator's performance. Effectively, this constitutes an extension of the concept of attribute grammars to the level of abstract syntax.

[1] A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
[2] W. A. Babich and M. Jazayeri, "The method of attributes for data flow analysis, parts i and ii,"Acta Informatica, vol. 10. pp. 245-272, 1987.
[3] G.V. Bochmann, "Semantic evaluation from left to right,"Commun. ACM, vol. 19, no. 2, pp. 55-61, Feb. 1976.
[4] H.-J. Boehm and W. Zwaenepoel, "Parallel attribute grammar evaluation," Tech. Rep. Rice COMP TR87-55, Comput. Sci. Dep., Rice Univ., 1987.
[5] A. Demers, T. Reps, and T. Teitelbaum, "Incremental evaluation for attribute grammars with applications to syntax-directed editors," inConf. Rec. 8th Annu. ACM Symp. Principles Programming Languages, Jan. 1981, pp. 415-418.
[6] K-J. Raihaet al., "The compiler writing system HLP," Tech. Rep. A-1978-2, Dep. Comput. Sci., Univ. of Helsinki, 1978.
[7] R. Farrow, "Linguist-86, yet another translator writing system based on attribute grammars," inProc. SIGPLAN Symp. Compiler Construction, June 1982.
[8] R. Farrow, "Attribute grammars and data-flow languages," Tech. Rep., Comput. Sci. Dep., Columbia Univ., New York, NY 10027, 1983.
[9] R. Farrow, "Generating a production compiler from an attribute grammar,"IEEE Software, pp. 77-93, Oct. 1984.
[10] H. Ganzinger, K. Ripken, and R. Wilhelm, "Automatic generation of optimizing multipass compilers," inProc. IFIP Congress, 1977.
[11] M. Gokhale, "Generating parallel programs from nonprocedural specifications," inProc. 4th Jerusalem Conf. Inform. Technol., 1984, pp. 33-41.
[12] S. Horwitz, T. Reps, and D. Binkley, "Interprocedural slicing using dependence graphs,"ACM Trans. Programming Languages and Systems, vol. 12, no. 1, pp. 35-46, Jan. 1990.
[13] M. Jazayeri, W. F. Ogden, and W. C. Rounds, "The intrinsically exponential complexity of the circularity problem for attribute grammars,"Commun. ACM, vol. 18, 1975.
[14] M. Jazayeri and K. G. Walter, "Alternating semantic evaluator," inProc. ACM Annu. Conf., 1975.
[15] M. Jourdan, "Strongly noncircular attribute grammars and their recursive evaluation," inProc. ACM SIGPLAN 84 Symp. Compiler Construction, pp. 81-93, Rocquencourt-F78153 Le Chesnay Cedex, France, June 1984, INRIA.
[16] U. Kastens, "Ordered attribute grammars,"Acta Informatica, vol. 13, pp. 229-256, 1980.
[17] U. Kastens, B. Hutt, and E. Zimmermann,GAG-A Practical Compiler Generator, Lecture Notes in Computer Science. Berlin, Germany: Springer-Verlag, 1982.
[18] U. Kastens and E. Zimmermann, "GAG-A generator based on attributed grammars," Tech. Rep. 14/80, Institut für Informatik II, Universität Karlsruhe, Karlsruhe, Germany, 1980.
[19] T. Katayama, "HFP: A hierarchical and functional programming language based on attribute grammars," inConf. Rec. 5th Int. Conf. Software Eng., Mar. 1981, pp. 343-352.
[20] T. Katayama, "Translation of attribute grammars into procedures,"ACM Trans. Programming Languages Syst., vol. 6, no. 3, pp. 345-369, July 1984.
[21] K. Kennedy and J. Ramanathan, "A deterministic grammar evaluator based on dynamic sequences,"ACM Trans. Programming Languages Syst., vol., no. 1, pp. 142-160, July 1979.
[22] K. Kennedy and S. K. Warren, "Automatic generation of efficient evaluators for attribute grammars," inConf. Rec. 3rd ACM Symp. Principles Programming Languages, ACM, New York, Jan. 1976, pp. 32-49.
[23] D. E. Knuth, "Semantics of context-free languages,"Math. Syst. Theory J., vol. 2, pp. 127-145, 1968.
[24] D. E. Knuth, "Semantics of context-free languages: Correction,"Math. Syst. Theory J., vol. 5, p. 95, 1971.
[25] K. Koskimies, K-J. Raiha, and M. Sarjakoski, "Compiler construction using attribute grammars," inProc. ACM SIGPLAN Symp. Compiler Construction, June 1982.
[26] B. Lorho, "Semantic attributes processing in the system DELTA," inMethods of Algorithmic Language Implementation, Lecture Notes in Computer Science, Ershov and Kaster, Eds. Berlin, Germany: Springer-Verlag, 1977.
[27] P. Pnueli, A. Prywes, and Zarhi, "Scheduling equational specifications and nonprocedural programs," inAutomatic Program Construction Techniques, Biermann, Guiho, and Kodratoff, Eds. New York: Macmillan, 1984, pp. 273-288.
[28] D. Pozefsky, "Building efficient pass-oriented attribute grammar evaluators," Tech. Rep. 79-006, Dep. Comput. Sci., Univ. of North Carolina, Chapel Hill, NC, 1979.
[29] V. Sarkar and J. Hennessy, "Compile-time partitioning and scheduling of parallel programs," inProc. SIGPLAN Symp. Compiler Construction, July 1986, pp. 17-26.
[30] J. Uhl, S. Drossopoulou, G. Goss, M. Dausmann, G. Winterstein, and W. Kirchgässner,An Attribute Grammer for the Semantic Analysis of ADA, lecture notes in Computer Science. Berlin, Germany: Spiringer-Verlag, 1982.

Index Terms:
Index Termsattribute grammars; parallel evaluators; shared-memory MIMD computers; processscheduling; synchronization; coarse-grain parallelism; inherent parallelism;list-productions; semantic rules; abstract syntax; attribute grammars; parallelprogramming; programming theory
Citation:
A. Klaiber, M. Gokhale, "Parallel Evaluation of Attribute Grammars," IEEE Transactions on Parallel and Distributed Systems, vol. 3, no. 2, pp. 206-220, March 1992, doi:10.1109/71.127261
Usage of this product signifies your acceptance of the Terms of Use.