|Parallel Parsing and Compiling email@example.com (1990-10-16)|
|From:||firstname.lastname@example.org (David Skillicorn)|
|Organization:||Queen's University, Kingston, Ontario, Canada|
|Date:||Tue, 16 Oct 1990 11:16:47 -0400|
Perhaps I can save some time by responding to Chou's (email@example.com)
request about parallel parsing directly.
There has indeed been a great deal of work in parallel parsing and
in parallel execution of other phases of compilation as well. Here is
a brief overview:
Parallel lexing: this is well understood. A log time (i.e. time logarithmic
in the length of the input) algorithm was discovered by Schell and
implemented and popularised by Hillis and Steele. It is very generally
Parallel parsing: this has been studied by practitioners and theoreticians.
Many results are known. CFL can be parsed in polylog time using an
impractical number of processors. Subclasses can be parsed on a linear
number of processors in polylog time -- many such subclasses are known.
Their mutual inclusions and the largest such subclass are not known.
Deterministic CFL can be practically parsed in log time with reasonable
numbers of processors -- pathological examples will take much longer.
Semantic analysis: this is well understood for moderately parallel
architectures (work by Wortman et al., Vandevoorde). Some attempts
to attack it using attribute grammars have been tried (see Paris WAGA
proceedings). No results using large scale parallelism.
Optimization: some work using moderate parallelism.
Parallelizing parsing will obviously not make a dramatic difference
to compiler performance by itself because it's a small part of where
the time goes. People began with it because it's formally understood.
In any case, a parallel compiler wouldn't sensibly have a sequential
parser, so something had to be done.
The opportunities for speeding up compilation lie mainly in the later
phases, particularly optimization which is becoming steadily more
important. There are many opportunities for research here.
David Barnard and I maintain an electronic mailing list at Queen's.
If you want to be added to the list, send your physical and email
address to firstname.lastname@example.org. To send a message to the
list, post to email@example.com.
We also maintain an on-line bibliography on parallel compilation which
you may want if you'd like to read about work in the area. It's in
BiBTeX format. To request a copy send me email (firstname.lastname@example.org).
We invite all researchers in the area to tell us when they publish a
paper or tech report that's relevant.
The first Workshop on Parallel Compilation took place last May. Proceedings
may be obtained by sending $C15 to:
Rm 215 Richardson Hall
Canada K7L 3N6
A pro forma invoice may be requested from email@example.com for
those who need it.
We have recently completed a survey paper on the whole area of parallel
compilation. It will be available in the Queen's tech report series.
I'll post a further note when it's available.
Return to the
Search the comp.compilers archives again.