Guide for New Eli Users
A text processor is a program that takes a sequence of characters as input, computes some set of values based on that sequence, and then carries out some action determined by the computed values. A desk calculator program is therefore a text processor, as is a Pascal compiler and the input subsystem of a transaction processor.
The Eli system creates executable text processing programs from specifications. A user provides Eli with specifications that describe a particular text processing problem, and Eli creates a program to solve that problem. By making simple requests of Eli, the user can test the generated program, obtain an executable copy, or obtain a directory containing a source copy.
This manual is intended for the new Eli user. It begins with a general characterization of text processing problems. The emphasis is on a strategy for decomposing such problems and describing their components, but an indication of how Eli builds working software from these descriptions is also included.
The simplest way to understand a system is to see how it is used. We therefore present a concrete text processing problem and show, step by step, how a program to solve it is specified and produced. Each component of the specification is discussed, and exercises provided to lead you through the production process. The text of the specification is part of the Eli distribution.
As with any complex system, there are ways to customize Eli to fit particular working styles. We therefore describe some of the common things that you might want to do to change Eli's behavior in order to fit your working style.
Finally, we give an overview of the Eli documentation.