skip to main content
article
Free access

Eli: a complete, flexible compiler construction system

Published: 01 February 1992 Publication History
First page of PDF

References

[1]
Bahrami, A. CAGT An automated approach to abstract and parsing grammars. MS thesis, Department of Electrical and Computer Engineering, University of Colorado, Boulder, Colo., 1986.
[2]
Clemm, G.M. and Osterweil, L.J. A mechanism for environment integration. ACM Trans. Prog. Languages and Syst: 12 (Jan. 1990), 1-25.
[3]
Gray, R.W. A generator for Lexical analyzers that programmers can use. In Proceedings of USENIX Conference (June 1988).
[4]
Griswold, R.E. and Griswold, M.T. The Icon Programming Language. Prentice Hall, Englewood Cliffs, N.J., 1983.
[5]
Griswold, R.E. and Griswold, M.T. The Implementation of the Icon Programming Language. Princeton University Press, Princeton, N J., 1986.
[6]
Heuring, V.P. The automatic generation of fast lexical analyzers. Softw.--Prac. Exp. 16 (Sept. 1986), 801-808.
[7]
Hext, J.B. Compile-time type matching. The Comput. J. 9 (Feb. 1967), 365-369.
[8]
Johnson, S.C. Yacc--Yet another compiler-compiler. Computer Science Tech. Rep. 32, Bell Telephone Laboratories, Murray Hill, N.J., July 1975.
[9]
Kastens, U. Code generation based on operator identification. Bericht der Reihe Informatik Nr. 49, Universitat-GH Paderborn, Paderborn, FRG, Jan. 1988.
[10]
Kastens, U. LIDO A specification language for attribute grammars. Betriebsdatenerfassung, Fachbereich Mathematik-lnformatik, Universitat-GH Paderborn, Pader, born, FRG, Oct. 1989.
[11]
Lesk, M.E. LEX--A Lexical ana* lyzer generator. Computing Science Tech. Rep. 39, Bell Telephone Lab, oratories, Murray Hill, N.J., 1975.
[12]
Persch, G., Winterstein, G, Dausmann, M., and Drossopoulou, S. Overloading in preliminary Ada. SIGPLAN Not. 15 (Nov. 1980), 47- 56.
[13]
Randell, B. and Russell, L.J. ALGOL 60 Implementation, Academic Press, London, 1964.
[14]
Rosing, M. and Schnabel, R.B. An overview of Dino--A new language for numerical computation on distributed memory multiprocessors. CU-CS-385-88, Department of Computer Science, University of Colorado, Boulder, Colo., Mar. 1988.
[15]
Rosing, M., Schnabel, R.B., and Weaver, R.P. Dino: Summary and Examples. In Proceedings of the 1988 Conference on Hypertube Concurrent Computers and Applications, ACM Press, 1988.
[16]
Sonnenschein, M. Graph translation schemes to generate compiler parts. ACM Trans. Prog. Languages and Syst. 9 (Oct. 1987), 473-490.
[17]
Waite, W.M. Use of attribute grammars in compiler construction. In Attribute Grammars and their Applications, vol. 41, P. Deransart and M. Jourdan, Eds., Springer Verlag, Berlin, 1990.
[18]
Wake, W.M. and Carter, L.R. The cost of a generated parser. Softw.-- Prac. Exp. 15 (Mar. 1985), 221-239:
[19]
Waite, W.M., Grosch, J., and Schroer, F.W. Three compiler specifications. GMD-Studien Nr. 166, Gesellschaft fur Mathematik und Datenverarbeitung, Karlsruhe, FRG, Aug. 1989.
[20]
Waite, W.M., Heuring, V.P., and Kastens, U. Configuration control in compiler construction. In Proceedings of the International Workshop on Software Version and Configuration Control, Teubner (Stuttgart, FRG, 1988).

Cited By

View all
  • (2024)Zipper-based embedding of strategic attribute grammarsJournal of Systems and Software10.1016/j.jss.2024.111975211(111975)Online publication date: May-2024
  • (2023)Efficient Embedding of Strategic Attribute Grammars via MemoizationProceedings of the 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation10.1145/3571786.3573019(41-54)Online publication date: 15-Jan-2023
  • (2022)Zipping Strategies and Attribute GrammarsFunctional and Logic Programming10.1007/978-3-030-99461-7_7(112-132)Online publication date: 10-May-2022
  • Show More Cited By

Recommendations

Reviews

Dirk Craeynest

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 inter action 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.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 35, Issue 2
Feb. 1992
124 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/129630
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 February 1992
Published in CACM Volume 35, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compiler generators
  2. language design
  3. text processors

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)225
  • Downloads (Last 6 weeks)30
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Zipper-based embedding of strategic attribute grammarsJournal of Systems and Software10.1016/j.jss.2024.111975211(111975)Online publication date: May-2024
  • (2023)Efficient Embedding of Strategic Attribute Grammars via MemoizationProceedings of the 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation10.1145/3571786.3573019(41-54)Online publication date: 15-Jan-2023
  • (2022)Zipping Strategies and Attribute GrammarsFunctional and Logic Programming10.1007/978-3-030-99461-7_7(112-132)Online publication date: 10-May-2022
  • (2020)Strategic tree rewriting in attribute grammarsProceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3426425.3426943(210-229)Online publication date: 16-Nov-2020
  • (2016)Fast, Flexible, and Declarative Construction of Abstract Syntax Trees with PEGsJournal of Information Processing10.2197/ipsjjip.24.12324:1(123-131)Online publication date: 2016
  • (2016)A domain specific language for optimal pumping systemsProceedings of the 1st Industry Track on Software Language Engineering10.1145/2998407.2998412(23-32)Online publication date: 31-Oct-2016
  • (2016)Proceedings of the 1st Industry Track on Software Language EngineeringundefinedOnline publication date: 31-Oct-2016
  • (2014)Compilers and InterpretersComputing Handbook, Third Edition10.1201/b16812-77(1-38)Online publication date: 8-May-2014
  • (2014)Scoping rules on a platterProceedings of the 10th ACM SIGPLAN workshop on Generic programming10.1145/2633628.2633633(59-70)Online publication date: 26-Aug-2014
  • (2014)Directive-based parallelization of the NIM weather model for GPUsProceedings of the First Workshop on Accelerator Programming using Directives10.1109/WACCPD.2014.9(55-61)Online publication date: 16-Nov-2014
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media