Skip to main content

A survey of parallel attribute evaluation methods

  • Conference paper
  • First Online:
Attribute Grammars, Applications and Systems (SAGA School 1991)

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

Abstract

Exploiting parallelism in attribute evaluation is of potentially high interest because of both its applications (e.g. in speeding up heavily-used programs such as compilers) and its feasibility (i.e. most practical attribute grammars exhibit much parallelism). In this paper we review and compare the various methods that have appeared in the literature for both exhaustive and incremental attribute evaluation on both tightlycoupled (shared-memory) and loosely-coupled (distributed) architectures. We pay particular attention to a simple but effective method for constructing efficient visitsequence-based evaluators that run on tightly-coupled multi-processor machines by giving an account of how we implemented this method in practice and reporting the results of preliminary but realistic experiments; these results are highly encouraging.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Alblas, “Concurrent Incremental Attribute Evaluation,” in Attribute Grammars and their Applications (WAGA), Paris, P. Deransart & M. Jourdan, eds., 343–358, Lect. Notes in Comp. Sci. #461, Springer-Verlag, New York-Heidelberg-Berlin, Sept. 1990.

    Google Scholar 

  2. -, “The Trouble with Parallel Attribute Evaluation: an Explanation by Example,” oral presentation at IFIP WG 2.4 meeting, Grassau, Jan. 1991.

    Google Scholar 

  3. -, “Introduction to Attribute Grammars,” in this volume, 1991.

    Google Scholar 

  4. -, “Incremental Attribute Evaluation,” in this volume, 1991.

    Google Scholar 

  5. -, “Attribute Evaluation Methods,” in this volume, 1991.

    Google Scholar 

  6. B. Alpern, A. Carle, B. Rosen, P. Sweeney & F. K. Zadeck, “Incremental Evaluation of Attributed Graphs,” research report RC 13205, IBM T.J. Watson Research Center, Yorktown Heights, NY, Oct. 1987. Also published as Tech. Rep, CS-87-29, Dept. of Comp. Sc., Brown Univ., Providence, RI.

    Google Scholar 

  7. G. V. Bochmann, “Semantic Evaluation from Left to Right,” Comm. ACM 19, 2 (Feb. 1976), 55–62.

    Article  Google Scholar 

  8. H-J. Böhm & W. Zwanepoel, “Parallel Attribute Grammar Evaluation,” in 7th Int. Conf. on Distributed Computing Systems, Berlin, R. Popescu-Zeletin, G. Le Lann & K. H. Kim, eds., 347–354, Sept. 1987.

    Google Scholar 

  9. P. Deransart, M. Jourdan & B. Lorho, Attribute Grammars: Definitions, Systems and Bibliography, Lect. Notes in Comp. Sci. #323, Springer-Verlag, New York-Heidelberg-Berlin, Aug. 1988.

    Google Scholar 

  10. J. Engelfriet, “Attribute Grammars: Attribute Evaluation Methods,” in Methods and Tools for Compiler Construction, B. Lorho, ed., 103–138, Cambridge Univ. Press, Cambridge, 1984.

    Google Scholar 

  11. I. Fang, “FOLDS, a Declarative Formal Language Definition System,” PhD thesis, report STAN-CS-72-329, Comp. Sc. Dept., Stanford Univ., Dec. 1972.

    Google Scholar 

  12. A. Feng, “Efficient Incremental Attribute Evaluation in Distributed Structure-Oriented Software Environments,” PhD thesis, Dept. of Inf. and Comp. Sc., Faculty of Eng. Sc., Univ. of Osaka, Jan. 1991.

    Google Scholar 

  13. J. L. Frankel, “The Architecture of Closely-coupled Distributed Computers and their Language Processors,” PhD thesis, Dept. of Applied Maths., Harvard Univ., 1983.

    Google Scholar 

  14. T. Gross, A. Zobel & M. Zolg, “Parallel Compilation for a Parallel Machine,” in ACM SIGPLAN '89 Conf. on Progr. Languages Design and Implementation, Portland, OR, published as ACM SIGPLAN Notices 24, 7 (July 1989), 91–100.

    Google Scholar 

  15. M. Jourdan & D. Parigot, The FNC-2 System User's Guide and Reference Manual release 0.4, INRIA, Rocquencourt, Feb. 1989. This manual is periodically updated.

    Google Scholar 

  16. -, “Internals and Externals of the FNC-2 Attribute Grammar System,” in this volume, 1991.

    Google Scholar 

  17. G. E. Kaiser, S. M. Kaplan & J. Micallef, “Multiuser, Distributed Language-Based Environments,” IEEE Software (Nov. 1987), 58–67.

    Google Scholar 

  18. S. M. Kaplan & G. E. Kaiser, “Incremental Attribute Evaluation in Distributed Language-based Environments,” in 5th ACM Symp. on Principles of Distributed Computing, Calgary, 121–130, Aug. 1986.

    Google Scholar 

  19. -, “Parallel and Distributed Incremental Attribute Evaluation Algorithms for Multi-User Software Development Environments,” report CUCS-019-90, Dept. of Comp. Sc., Columbia Univ., New York, Apr. 1990.

    Google Scholar 

  20. -, “An Incremental Priority-Based Solution to the Multiple Asynchronous Edit Problem,” report CUCS-010-90, Dept. of Comp. Sc., Columbia Univ., New York, Nov. 1990.

    Google Scholar 

  21. U. Kastens, “Ordered Attribute Grammars,” Acta Inform. 13, 3 (1980), 229–256.

    Article  Google Scholar 

  22. -, “An Attribute Grammar System in a Compiler Construction Environment,” in this volume, 1991.

    Google Scholar 

  23. -, “Implementation of Visit-Oriented Attribute Evaluates,” in this volume, 1991.

    Google Scholar 

  24. K. Kennedy & S. K. Warren, “Automatic Generation of Efficient Evaluates for Attribute Grammars,” in 3rd ACM Symp. on Principles of Progr. Languages, Atlanta, Ge, 32–49, Jan. 1976.

    Google Scholar 

  25. E. Klein, “Ein Modell zur Generierung paralleler Attributauswerter,” Dissertation, Fakultät für Informatik, Univ. Karlsruhe, 1991.

    Google Scholar 

  26. E. Klein & K. Koskimies, “The Parallelization of One-Pass Compilers,” Arbeitspapier 416, GMD, Karlsruhe, Nov. 1989.

    Google Scholar 

  27. -, “Parallel One-pass Compilation,” in Attribute Grammars and their Applications (WAGA), Paris, P. Deransart & M. Jourdan, eds., 76–90, Lect. Notes in Comp. Sei. #461, Springer-Verlag, New York-Heidelberg-Berlin, Sept. 1990.

    Google Scholar 

  28. D. E. Knuth, “Semantics of Context-free Languages,” Math. Systems Theory 2, 2 (June 1968), 127–145.

    Article  Google Scholar 

  29. M. F. Kuiper, “Parallel Attribute Evaluation,” PhD thesis, Faculteit Wiskunde en Informatica, Rijksuniv. Utrecht, Nov. 1989.

    Google Scholar 

  30. M. F. Kuiper & S. D. Swierstra, “Parallel Attribute Evaluation: Structure of Evaluates and Detection of Parallelism,” in Attribute Grammars and their Applications (WAGA), Paris, P. Deransart & M. Jourdan, eds., 61–75, Lect. Notes in Comp. Sci. #461, Springer-Verlag, New York-Heidelberg-Berlin, Sept. 1990.

    Google Scholar 

  31. D. E. Lipkie, “A Compiler Design for Multiple Independent Processor Computers,” PhD thesis, Dept. of Comp. Sc., Univ. of Washington, Seattle, WA, 1979.

    Google Scholar 

  32. B. Marmol, “Évaluateurs d'attributs parallèles sur multi-processeurs à mémoire partagée,” rapport de DEA, Univ. d'Orléans, Sept. 1990.

    Google Scholar 

  33. U. Möncke & R. Wilhelm, “Grammar Flow Analysis,” in this volume, 1991.

    Google Scholar 

  34. T. Reps, Generating Language-based Environments, MIT Press, Cambridge, MA, 1984.

    Google Scholar 

  35. R. M. Schell, “Methods for Constructing Parallel Compilers for Use in a Multiprocessor Environment,” PhD thesis, report UIUCDCS-R-79-0958, Dept. of Comp. Sc., Univ. of Illinois at Urbana-Champaign, Feb. 1979.

    Google Scholar 

  36. V. Seshadri, D. B. Wortman, M. D. Junkin, S. Weber, C. P. Yu & I. Small, “Semantic Analysis in a Concurrent Compiler,” in ACM SIGPLAN '88 Conf. on Progr. Languages Design and Implementation, Atlanta, GA, published as ACM SIGPLAN Notices 23, 7 (July 1988), 233–239.

    Google Scholar 

  37. Y. Shinoda & T. Katayama, “Object-oriented Extension of Attribute Grammars and its Implementation Using Distributed Attribute Evaluation Algorithm,” in Attribute Grammars and their Applications (WAGA), Paris, P. Deransart & M. Jourdan, eds., 177–191, Lect. Notes in Comp. Sci. #461, Springer-Verlag, New York-Heidelberg-Berlin, Sept. 1990.

    Google Scholar 

  38. M. T. Vandevoorde, “Parallel Compilation on a Tightly-coupled Multiprocessor,” SRC report 26, DEC Systems Research Center, Palo Alto, CA, Mar. 1988.

    Google Scholar 

  39. A. K. Zaring, “Parallel Evaluation in Attribute Grammar-based Systems,” PhD thesis, Tech. Rep. 90–1149, Dept. of Comp. Sc., Cornell Univ., Aug. 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Jourdan .

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

Jourdan, M. (1991). A survey of parallel 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_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-54572-7_9

  • 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