General Information

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

Tutorials

 o Quick Reference Card
 o Guide For new Eli Users
 o Release Notes of Eli
 o Tutorial on Name Analysis
 o Tutorial on Type Analysis

Reference Manuals

 o User Interface
 o Eli products and parameters
 o LIDO Reference Manual

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

 Questions, Comments, ....

Eli User Interface Reference Manual

Previous Chapter Next Chapter Table of Contents


The Odinfile

Eli consults file `Odinfile' in the current directory for information about the task at hand. `Odinfile' is used to define one or more targets. Each target defines some product that can be requested, using the notation target == odin-expression. Here are examples of the three common kinds of target:

mkhdr == sets.specs :exe
mkhdr is a file target. This line specifies that mkhdr should always be equal to the derived file object sets.specs :exe. If the command eli mkhdr is given in a directory with a file `Odinfile' containing this line, it will result in a non-interactive Eli session guaranteeing that file mkhdr in this directory is up to date. (The same effect can be obtained in an interactive session by responding to the -> prompt with mkhdr.)

%results == input +cmd=(mkhdr) :stdout
%results is a virtual target. A virtual target is simply a name for an odin-expression, and can be used wherever and odin-expression is required. If the command eli '%results>' is given in a directory with a file `Odinfile' containing this line, it will result in a non-interactive Eli session guaranteeing that the derived object input +cmd=(mkhdr) :stdout is up to date, and writing the content to the standard output. (The same effect can be obtained in an interactive session by responding to the -> prompt with %results>.)

%test ! == . +cmd=diff (%results) (result) :run
%test is an executable target. An executable target is a target that is executable. If the command eli %test is given in a directory with a file `Odinfile' containing this line, it will result in a non-interactive Eli session guaranteeing that the derived object input +cmd=(mkhdr) :stdout (named %results) is up to date, and executing the diff command with this object and the file `result' from the current directory as arguments. Execution will take place in the current directory. (The same effect can be obtained in an interactive session by responding to the -> prompt with %test.)


Previous Chapter Next Chapter Table of Contents