Skip to main content

Parallel one-pass compilation

  • Parallel Evaluation
  • Conference paper
  • First Online:

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

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.

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., Ullman J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley 1974.

    Google Scholar 

  2. Bochmann G.V.: Semantic Evaluation from Left to Right. CACM 19,2 (February 1976), 55–62.

    Google Scholar 

  3. Boehm H-J., Zwaenepoel W.: Parallel Attribute Grammar Evaluation. Report Rice COMP TR87-55, Dept. of Computer Science, Rice University, Houston, Texas, June 1987.

    Google Scholar 

  4. Dennis J.B., Van Horn E.C.: Programming Semantics for Multi-Programmed Computations. CACM 9,3 (March 1966), 143–155.

    Google Scholar 

  5. Dürre K: An Algorithm for Coloring the Vertices of an Arbitrary Graph. In: Lecture Notes in Economics and Mathematical Systems 78, Springer 1973.

    Google Scholar 

  6. Engelfriet J., File G.: The Formal Power of One-Visit Attribute Grammars. Acta Informatica 16,3 (November 1981), 275–302.

    Article  Google Scholar 

  7. Fischer C.N.: On Parsing Context-Free Languages in Parallel Environments. PhD Thesis, Dept. of Computer Science, Cornell University (1975)

    Google Scholar 

  8. Frankel J.L.: The Architecture of Closely-Coupled Distributed Computers and their Language Processors. Ph.D. Thesis, Harvard University, 1983.

    Google Scholar 

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

    Google Scholar 

  10. Hess, A.: Integration eines kooperierenden Zerteilers in ein paralleles Attributauswertungssystem, Studienarbeit, University of Karlsruhe, 1990.

    Google Scholar 

  11. Karp R.M.: Reducibility Among Combinatorial Problems. In: Complexity of Computer Computations (Miller, Thatcher ed.) Plenum Press, New York 1972.

    Google Scholar 

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

    Google Scholar 

  13. Klein E., Koskimies K.: The Parallelization of One-Pass Compilers. Arbeitspapiere der GMD 416, Gesellschaft für Mathematik und Datenverarbeitung, Birlinghoven, Nov 1989.

    Google Scholar 

  14. Knuth D.E.: Semantics of Context-Free Languages. Mathematical Systems Theory 2, 127–145 (1968)

    Article  Google Scholar 

  15. Koskimies K., Räihä K-J.: Modelling of Space-Efficient One-pass Translation using Attribute Grammars. Software Practice & Experience 13 (1983), 119–129.

    Google Scholar 

  16. Kuiper M.F.: Parallel Attribute Evaluation. PhD Dissertation, University of Utrecht, November 1989.

    Google Scholar 

  17. Lewis P.M., Rosenkrantz D.J., Stearns R.E.: Attributed Translations. Journal of Computer and System Sciences 9 (1974), 279–307.

    Google Scholar 

  18. Mickunas M.D., Schell R.M.: Parallel Compilation in a Multiprocessor Environment. Dept. of Computer Science, University of Illinois at Urbana-Champaign, February 1979.

    Google Scholar 

  19. Miller J.A., LeBlanc R.J.: Distributed Compilation: A Case Study. In: Proc. of 3rd Int. Conf. on Distributed Computing Systems, 1982, 548–553.

    Google Scholar 

  20. Nabavi, P.: Eine Simulationsumgebung zur parallelen Attributauswertung, Diploma Thesis, University of Karlsruhe, 1990.

    Google Scholar 

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

    Google Scholar 

  22. Seshadri V.: Concurrent Semantic Analysis. Technical Report CSRI-216, Computer Systems Research Institute, University of Toronto, September 1988.

    Google Scholar 

  23. Vandevoorde M.T.: Parallel Compilation on a Tightly Coupled Multiprocessor. Report 26, Digital Systems Research Center, Palo Alto, March 1988.

    Google Scholar 

  24. Waite W.M., Goos G.: Compiler Construction. Springer 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. Deransart M. Jourdan

Rights and permissions

Reprints 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

Publish with us

Policies and ethics