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.
Preview
Unable to display preview. Download preview PDF.
References
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.
-, “The Trouble with Parallel Attribute Evaluation: an Explanation by Example,” oral presentation at IFIP WG 2.4 meeting, Grassau, Jan. 1991.
-, “Introduction to Attribute Grammars,” in this volume, 1991.
-, “Incremental Attribute Evaluation,” in this volume, 1991.
-, “Attribute Evaluation Methods,” in this volume, 1991.
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.
G. V. Bochmann, “Semantic Evaluation from Left to Right,” Comm. ACM 19, 2 (Feb. 1976), 55–62.
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.
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.
J. Engelfriet, “Attribute Grammars: Attribute Evaluation Methods,” in Methods and Tools for Compiler Construction, B. Lorho, ed., 103–138, Cambridge Univ. Press, Cambridge, 1984.
I. Fang, “FOLDS, a Declarative Formal Language Definition System,” PhD thesis, report STAN-CS-72-329, Comp. Sc. Dept., Stanford Univ., Dec. 1972.
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.
J. L. Frankel, “The Architecture of Closely-coupled Distributed Computers and their Language Processors,” PhD thesis, Dept. of Applied Maths., Harvard Univ., 1983.
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.
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.
-, “Internals and Externals of the FNC-2 Attribute Grammar System,” in this volume, 1991.
G. E. Kaiser, S. M. Kaplan & J. Micallef, “Multiuser, Distributed Language-Based Environments,” IEEE Software (Nov. 1987), 58–67.
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.
-, “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.
-, “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.
U. Kastens, “Ordered Attribute Grammars,” Acta Inform. 13, 3 (1980), 229–256.
-, “An Attribute Grammar System in a Compiler Construction Environment,” in this volume, 1991.
-, “Implementation of Visit-Oriented Attribute Evaluates,” in this volume, 1991.
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.
E. Klein, “Ein Modell zur Generierung paralleler Attributauswerter,” Dissertation, Fakultät für Informatik, Univ. Karlsruhe, 1991.
E. Klein & K. Koskimies, “The Parallelization of One-Pass Compilers,” Arbeitspapier 416, GMD, Karlsruhe, Nov. 1989.
-, “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.
D. E. Knuth, “Semantics of Context-free Languages,” Math. Systems Theory 2, 2 (June 1968), 127–145.
M. F. Kuiper, “Parallel Attribute Evaluation,” PhD thesis, Faculteit Wiskunde en Informatica, Rijksuniv. Utrecht, Nov. 1989.
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.
D. E. Lipkie, “A Compiler Design for Multiple Independent Processor Computers,” PhD thesis, Dept. of Comp. Sc., Univ. of Washington, Seattle, WA, 1979.
B. Marmol, “Évaluateurs d'attributs parallèles sur multi-processeurs à mémoire partagée,” rapport de DEA, Univ. d'Orléans, Sept. 1990.
U. Möncke & R. Wilhelm, “Grammar Flow Analysis,” in this volume, 1991.
T. Reps, Generating Language-based Environments, MIT Press, Cambridge, MA, 1984.
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.
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.
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.
M. T. Vandevoorde, “Parallel Compilation on a Tightly-coupled Multiprocessor,” SRC report 26, DEC Systems Research Center, Palo Alto, CA, Mar. 1988.
A. K. Zaring, “Parallel Evaluation in Attribute Grammar-based Systems,” PhD thesis, Tech. Rep. 90–1149, Dept. of Comp. Sc., Cornell Univ., Aug. 1990.
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights 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