Eli has been used to construct complete compilers for standard programming languages extensions to standardf programming languages, and special-purpose languages.
The number of specifications can be reduced, and special-purpose languages can be used to simplify those specifications.
To overcome this barrier Eli embodies a decomposition of the total problem into a set of well-defined subproblems, provides libraries and special-purpose languages for solving those subproblems, and automatically combines the solutions into a working compiler.
One of thse special-purpose languages, OIL, is used to solve the operator identification problem common to compiler construction.
This experience includes generation of processors for normal programming languages, for extensions to standard languages, and for special-purpose languages.