Automatic generation of parallel compilers in the PVM environment

The so-called high-performance computers are usually intended for regular, large-scale numerical computation. However, these machines can also be used for other kinds of computations, such as compilers. We report a prototype parallel evaluation system for ordered attribute grammar in the PVM environment. A compiler, which seems inherently sequential, is specified in terms of an (ordered) attribute grammar. The evaluation sequence for this attribute-grammar specification is automatically generated. Finally, a frontend, which consists of a scanner and a parser, and a backend, which partitions the work of evaluation among tasks and coordinates the cooperation of these tasks, together implement the specified compiler. This system is useful not only for parallel compiler construction but also for many other applications for attribute grammars.

[1]  Martin Jourdan,et al.  A Survey of Parallel Attribute Evaluation Methods , 1991, Attribute Grammars, Applications and Systems.

[2]  Uwe Kastens,et al.  Ordered attributed grammars , 1980, Acta Informatica.

[3]  Joost Engelfriet,et al.  Simple Multi-Visit Attribute Grammars , 1982, J. Comput. Syst. Sci..

[4]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.

[5]  William M Waite A Complete Specification of a Simple Compiler ; CU-CS-638-93 , 1993 .

[6]  Willy Zwaenepoel,et al.  Parallel Attribute Grammar Evaluation , 1987, ICDCS.

[7]  William M. Waite Use of Attribute Grammars in Compiler Construction , 1990, WAGA.

[8]  Henk Alblas,et al.  Attribute Evaluation Methods , 1991, Attribute Grammars, Applications and Systems.

[9]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[10]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[11]  Vaidy S. Sunderam,et al.  TPVM: distributed concurrent computing with lightweight processes , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[12]  Thomas W. Reps,et al.  Incremental Context-Dependent Analysis for Language-Based Editors , 1983, TOPL.

[13]  Ken Kennedy,et al.  A Deterministic Attribute Grammar Evaluator Based on Dynamic Scheduling , 1979, TOPL.

[14]  Thomas W. Reps,et al.  Scan grammars: parallel attribute evaluation via data-parallelism , 1993, SPAA '93.

[15]  Alan Keith Zaring Parallel Evaluation in Attribute Grammar-Based Systems , 1990 .

[16]  Charles N. Fischer,et al.  Crafting a Compiler with C , 1991 .

[17]  Rodney Farrow,et al.  Generating a Production compiler from an Attribute Grammar , 1984, IEEE Software.

[18]  Gregor von Bochmann,et al.  Semantic evaluation from left to right , 1976, CACM.