Eli combines a variety of standard tools implementing powerful compiler construction strategies into a domain-specific programming environment that automatically generates complete language implementations from application-oriented specifications.

The implementations might be interpretive, using the constructs of the source language to invoke operations of an existing system, or might involve translation to an arbitrary target language. Eli offers complete solutions for common libraries of reusable specifications, making possible the production of high-quality implementations from simple problem descriptions.

A joint project of the University of Colorado, the Universität Paderborn and Macquarie University , Eli has been in use worldwide since 1989. It generates programs whose performance is comparable to that of good hand-coded implementations. Development time for a processor using Eli is generally between one quarter and one third of the that for comparable hand code, and maintenance is significantly easier because specifications rather than implementations are being maintained.

Eli uses Tcl/Tk for GUI, configuration and custom scripting, including event handling.



Eli is used in DEViL , which automatically produces development environments for domain specific visual languages generated from specifications with a high level of abstraction.

DEViL's GUI uses Tcl/Tk, including the Tkzinc widget.