Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Eli: a complete, flexible compiler construction system
Gray R., Levi S., Heuring V., Sloane A., Waite W. Communications of the ACM35 (2):121-130,1992.Type:Article
Date Reviewed: Apr 1 1993

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.

Reviewer:  Dirk Craeynest Review #: CR116471
Bookmark and Share
 
Eli (D.3.4 ... )
 
 
Specialized Application Languages (D.3.2 ... )
 
 
Translator Writing Systems And Compiler Generators (D.3.4 ... )
 
 
Language Classifications (D.3.2 )
 
 
Processors (D.3.4 )
 
 
Programming Environments (D.2.6 )
 
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy