Two compiler generators, both based on attribute grammars, have been used together in an attempt to generate almost all compiler phases. Rie is a compiler generator based on a one-pass attribute grammar called ECLR-attributed grammar [Sassa 87]. The generated compiler evaluates attributes in parallel with LR parsing. It can be used to generate one-pass compilers or the front-end of multipass compilers. Jun is a compiler generator which works on tree grammars. It is based on finitely recursive attribute grammars, a class of attribute grammars which allow circularities in attribute dependency [Farrow 86]. It overcomes the difficulty of circularities in the attribute dependency which often appear in data-flow equations of optimizers. The evaluator generated by Jun evaluates attributes on a tree, rather than a source program. This same formalism can be used to generate code generators and interpreters. So, the single Jun system can cover most of the compiler back-end. By combining both Rie and Jun, the generation of almost all compiler phases may be possible.
CITATION STYLE
Sassa, M. (1991). Rie and Jun: Towards the generation of all compiler phases. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 477 LNCS, pp. 56–70). Springer Verlag. https://doi.org/10.1007/3-540-53669-8_74
Mendeley helps you to discover research relevant for your work.