Abstract
The parallelization of one-pass compilers is studied systematically. The approach is not restricted to different features in certain languages; instead, L-attributed grammars are used as the model of compilation. This language-independent approach can be used to generate a parallel compiler on the basis of a formal specification of the source language. The scheduling strategy is based on a static examination of the attribute dependencies of a production rule. Thus the potential of parallelism at runtime depends on the attribute dependencies of the grammar. Parallel (asynchronous) processes communicating via events serve as the machine model for attribute evaluation. Aiming at a full model of one-pass compilation, the pure L-attributed model is extended with pipelined parsing. In order to gain experience with parallel attribute evaluation, a simulator has been implemented. Experiments with the simulating system are described and interpreted.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aho A.V., Hopcroft J.E., Ullman J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley 1974.
Bochmann G.V.: Semantic Evaluation from Left to Right. CACM 19,2 (February 1976), 55–62.
Boehm H-J., Zwaenepoel W.: Parallel Attribute Grammar Evaluation. Report Rice COMP TR87-55, Dept. of Computer Science, Rice University, Houston, Texas, June 1987.
Dennis J.B., Van Horn E.C.: Programming Semantics for Multi-Programmed Computations. CACM 9,3 (March 1966), 143–155.
Dürre K: An Algorithm for Coloring the Vertices of an Arbitrary Graph. In: Lecture Notes in Economics and Mathematical Systems 78, Springer 1973.
Engelfriet J., File G.: The Formal Power of One-Visit Attribute Grammars. Acta Informatica 16,3 (November 1981), 275–302.
Fischer C.N.: On Parsing Context-Free Languages in Parallel Environments. PhD Thesis, Dept. of Computer Science, Cornell University (1975)
Frankel J.L.: The Architecture of Closely-Coupled Distributed Computers and their Language Processors. Ph.D. Thesis, Harvard University, 1983.
Gross T., Zobel A., Zolg M.: Parallel Compilation for a Parallel Machine. In: Proc. of Sigplan '89 Conference on Programming Language Design and Implementation. Sigplan Notices 24,7 (July 1989), 91–100.
Hess, A.: Integration eines kooperierenden Zerteilers in ein paralleles Attributauswertungssystem, Studienarbeit, University of Karlsruhe, 1990.
Karp R.M.: Reducibility Among Combinatorial Problems. In: Complexity of Computer Computations (Miller, Thatcher ed.) Plenum Press, New York 1972.
Katseff H.P.: Data Partitioning to Implement a Parallel Assembler. In: Proc. of ACM 88' Conference on Parallel Programming: Experience with Applications, Languages and Systems (PPEALS), Sigplan Notices 23, 9 (September 1988), 66–76.
Klein E., Koskimies K.: The Parallelization of One-Pass Compilers. Arbeitspapiere der GMD 416, Gesellschaft für Mathematik und Datenverarbeitung, Birlinghoven, Nov 1989.
Knuth D.E.: Semantics of Context-Free Languages. Mathematical Systems Theory 2, 127–145 (1968)
Koskimies K., Räihä K-J.: Modelling of Space-Efficient One-pass Translation using Attribute Grammars. Software Practice & Experience 13 (1983), 119–129.
Kuiper M.F.: Parallel Attribute Evaluation. PhD Dissertation, University of Utrecht, November 1989.
Lewis P.M., Rosenkrantz D.J., Stearns R.E.: Attributed Translations. Journal of Computer and System Sciences 9 (1974), 279–307.
Mickunas M.D., Schell R.M.: Parallel Compilation in a Multiprocessor Environment. Dept. of Computer Science, University of Illinois at Urbana-Champaign, February 1979.
Miller J.A., LeBlanc R.J.: Distributed Compilation: A Case Study. In: Proc. of 3rd Int. Conf. on Distributed Computing Systems, 1982, 548–553.
Nabavi, P.: Eine Simulationsumgebung zur parallelen Attributauswertung, Diploma Thesis, University of Karlsruhe, 1990.
Schell R.M.: Methods for constructing parallel compilers for use in a multi-processor environment. PhD thesis, Report No. 958, Department of Computer Science, University of Illinois at Urbana-Champaign, February 1979.
Seshadri V.: Concurrent Semantic Analysis. Technical Report CSRI-216, Computer Systems Research Institute, University of Toronto, September 1988.
Vandevoorde M.T.: Parallel Compilation on a Tightly Coupled Multiprocessor. Report 26, Digital Systems Research Center, Palo Alto, March 1988.
Waite W.M., Goos G.: Compiler Construction. Springer 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Klein, E., Koskimies, K. (1990). Parallel one-pass compilation. In: Deransart, P., Jourdan, M. (eds) Attribute Grammars and their Applications. Lecture Notes in Computer Science, vol 461. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53101-7_6
Download citation
DOI: https://doi.org/10.1007/3-540-53101-7_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53101-2
Online ISBN: 978-3-540-46666-6
eBook Packages: Springer Book Archive