New Features of Eli Version 4.8
Eli has the ability to generate a complete text processor, including all of
the tree computation needed for contextual analysis.
It assumes, however, that the input language can be described by a
reasonably consistent grammar.
This is not the always the case, even for programming languages, and it may
be that more ad-hoc methods are needed to construct a tree that describes
the source text.
There are many tools other than Eli that one can use to create processors
that scan and parse text, and they differ among themselves in strategy and
All support mechanisms to build trees on the basis of the relationships
implicit in the input text.
Once the tree is built, however, most systems provide no further aid.
The user is responsible for writing code in C or Java to process and
transform the tree.
Eli now has the ability to interact with a scanner/parser developed using
any arbitrary technology
(see Using Foreign parsers of Syntactic Analysis).
For example, the
"foreign" analyzer might be a collection of C or C++
routines that could be defined by a `specs' file and invoked by the
main program that Eli generates.
Alternatively, it might be a main program that invokes a
shared library to build and process the tree.
In either case, Eli can generate code to interact with it and automate the
tedious job of constructing tree computations.