Eli   Documents

General Information

 o Eli: Translator Construction Made Easy
 o Global Index
 o Frequently Asked Questions
 o Typical Eli Usage Errors

Tutorials

 o Quick Reference Card
 o Guide For new Eli Users
 o Release Notes of Eli
 o Tutorial on Name Analysis
 o Tutorial on Scope Graphs
 o Tutorial on Type Analysis
 o Typical Eli Usage Errors

Reference Manuals

 o User Interface
 o Eli products and parameters
 o LIDO Reference Manual
 o Typical Eli Usage Errors

Libraries

 o Eli library routines
 o Specification Module Library

Translation Tasks

 o Lexical analysis specification
 o Syntactic Analysis Manual
 o Computation in Trees

Tools

 o LIGA Control Language
 o Debugging Information for LIDO
 o Graphical ORder TOol

 o FunnelWeb User's Manual

 o Pattern-based Text Generator
 o Property Definition Language
 o Operator Identification Language
 o Tree Grammar Specification Language
 o Command Line Processing
 o COLA Options Reference Manual

 o Generating Unparsing Code

 o Monitoring a Processor's Execution

Administration

 o System Administration Guide

Mail Home

Frequently Asked Questions and Answers

Next Chapter Table of Contents



How to Interact with Eli


Why is my cache so big?

An Eli cache contains all of the intermediate information needed to build the products you have requested since that cache was created or reset. If you continually request the same product, based on the same set of specifications, perhaps changing some of the specification content between requests, the cache size will first grow and then stabilize.

When you switch to another set of specifications, the old set and the intermediate information based upon them remains in the cache. Thus as you do a sequence of different projects, the cache grows because it retains all of the information for earlier projects in addition to the information needed for the current project.

All of the information held in the cache was derived by Eli from something that you provided. Thus deleting that information will not affect the correctness of future derivations; it will only increase the time required because the information must be re-derived.

The command eli -r clears the cache of information before invoking Eli. If you use this command on the first invocation of Eli for a new project, information belonging to old projects will be deleted and the cache will subsequently contain only information derived in connection with this project.

In the case of a shared machine where disk space is limited, we recommend that you clear the cache when you terminate your session and do not expect to start another session soon. This can be done via the command eli -r ", which clears the cache and then invokes Eli to do nothing. Eli will terminate immediately.


How do I get new or improved components?

From time to time there will be upgrades to Eli components. These upgrades do not affect existing caches, which continue to use the version of the component that was in effect at the time they were created or last upgraded.

The command eli -R clears the cache of information and upgrades to the latest set of components before invoking Eli.


Is the file `.odinrc' still read?

> I can't find any description of this file in the help system.
> How can I now tell Eli which editor I want to use?

Eli doesn't read the file `.odinrc' any more. The information that was previously obtained from `.odinrc' is now provided by environment variables. The EDITOR environment variable specifies the editor Eli should use in response to the < command.

Each of the other Odin variables listed by the Eli ?= request is associated with an environment variable whose name is ODIN followed by the upper-case name of the Odin variable. For example, the default value of the Odin variable LogLevel will be the value of the environment variable ODINLOGLEVEL (if that environment variable is defined).

For additional information about Odin variables, see Variables of User Interface Manual.


Eli didn't notice that I changed my input file!

If you alter a file in an editor session started by the < command, Eli will check whether the file on which the request was made was changed during that session. Other checks are controlled by the Odin variable VerifyLevel:

-> VerifyLevel=?
0: No source file change verification.
1: Check for changes to source files at the beginning of each session.
2: Check for changes to source files before each interactive command.

The default value of VerifyLevel is 2, but if the environment variable ODINVERIFYLEVEL is defined then that value will be used as the default. You can check the current value of VerifyLevel by querying it explicitly, and you can also set it interactively. For more details, see Variables of User Interface Manual.

If VerifyLevel is not 2, you can inform Eli that a specific file `foo.fw' has changed by requesting the :test utility:

-> foo.fw !:test

If you omit the file name, Eli will check all files for changes. (This is equivalent to having VerifyLevel set to 2.)



Next Chapter Table of Contents