The Eli system was developed to reduce the cost of producing compilers. The compilation problem is decomposed into smaller problems, each of which is then solved by using declarative specifications instead of writing algorithmic code. Eli is an open system that smooths the interaction between independently developed tools and hides the details of these tools from the user.
The paper gives an overview of the Eli compiler construction system, presents several case studies, and indicates future work to improve the system and the performance of the generated compilers. The authors describe the Eli system, and the way users interact with it, using a simple block-structured language as an example. The expert system Odin is used to manage information on the Eli tools, their relationships, and a cache of derived objects. Odin then automatically determines the sequence of operations needed to satisfy a user request. The system provides specification languages tailored to specific subproblems. Several examples are given. By removing redundancy from the specifications, and by hiding all of the processing needed to use output of one tool as input to another, Eli smooths the interaction between tools. The structure of Eli makes an easy evolution possible, because a change in one tool or specification technique does not affect other tools or specification techniques.
The authors also report on their extensive experience with Eli, demonstrate the broad application of the system, and give an idea of the increase in productivity and the quality of the generated processors. The paper gives a good overview of the Eli system. Due to the limited length, this overview has to be sketchy in places, such as in the handling of the encoding subproblem (code generation and assembly). Nevertheless, the basic ideas behind Eli and the general structure of the system are presented clearly.
The paper certainly incites readers interested in programming language implementation to find out more about Eli. Unfortunately, the references do not suggest any further reading on Eli itself, though a contact address is given, so more information can be requested.