An investigation into concurrent semantic analysis

V. Seshadri, D. B. Wortman
1991 Software, Practice & Experience  
Concurrency is an attractive method for reducing the execution time of compilers. By dividing source programs into segments which can be compiled concurrently, the task of compiling programs can be accelerated. Many of the difficult problems which arise when constructing a concurrent compiler occur in the implementation of the semantic analyser. This paper investigates the problems involved in designing the semantic analyser for a concurrent compiler for a modern, block-structured language.
more » ... ral approaches to solving the problems which arise are presented. These solutions are then implemented as part of a concurrent Modula-2+ compiler, running on a shared memory multiprocessor. A performance evaluation of these semantic analysers is presented. * Reserved words may not be used by the programmer for other purposes, e.g. variable names, while keywords may be. The presence of keywords makes determination of program structure during lexical analysis much more difficult. * We assume that lexical analysis is context-free, i.e. independent of programmer declarations.
doi:10.1002/spe.4380211205 fatcat:xiyjl3pvinbbnf3xfg4nyxqexi