An evaluation of an automatically generated compiler

Compilers or language translators can be generated using a variety of formal specification techniques. Whether generation is worthwhile depends on the effort required to specify the translation task and the quality of the generated compiler. A systematic comparison was conducted between a hand-coded translator for the Icon programming language and one generated by the Eli compiler construction system. A direct comparison could be made since the generated program performs the same translation as the hand-coded program. The results of the comparison show that efficient compilers can be generated from specifications that are much smaller and more problem oriented than the equivalent source code. We also found that further work must be done to reduce the dynamic memory usage of the generated compilers.

[1]  Richard L. Sites,et al.  Alpha Architecture Reference Manual , 1995 .

[2]  M. L. Hall The optimization of automatically generated compilers , 1987 .

[3]  Josef Grosch,et al.  Lalr - A Generator for Efficient Parsers , 1990, Softw. Pract. Exp..

[4]  William M. Waite,et al.  The cost of a generated parser , 1985, Softw. Pract. Exp..

[5]  Susan L. Graham,et al.  Gprof: A call graph execution profiler , 1982, SIGPLAN '82.

[6]  Peter Dencker,et al.  Optimization of parser tables for portable compilers , 1984, TOPL.

[7]  Anthony M. Sloane,et al.  Eli: a complete, flexible compiler construction system , 1992, CACM.

[8]  Alan Eustace,et al.  ATOM - A System for Building Customized Program Analysis Tools , 1994, PLDI.

[9]  Johannes Röhrich,et al.  Methods for the automatic construction of error correcting parsers , 1980, Acta Informatica.

[10]  Paul Klint,et al.  Incremental generation of lexical scanners , 1992, TOPL.

[11]  Robert William Gray Declarative specifications for automatically constructed compilers , 1990 .

[12]  Ralph E. Griswold,et al.  The implementation of the Icon programming language , 1986 .

[13]  William M. Waite,et al.  The cost of lexical analysis , 1986, Softw. Pract. Exp..

[14]  Vincent P. Heuring The Automatic Generation of Fast Lexical Analysers , 1986, Softw. Pract. Exp..

[15]  Pierre Deransart,et al.  Attribute Grammars: Definitions, Systems and Bibliography , 1988 .

[16]  Christopher W. Fraser,et al.  Engineering a simple, efficient code-generator generator , 1992, LOPL.

[17]  Peter Bumbulis,et al.  RE2C: a more versatile scanner generator , 1993, LOPL.