Eli   Documents Get Eli: Translator Construction Made Easy at SourceForge.net.
    Fast, secure and Free Open Source software downloads

General Information

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


 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
 o Typical Eli Usage Errors

Reference Manuals

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


 o Eli library routines
 o Specification Module Library

Translation Tasks

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


 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


 o System Administration Guide

Mail Home

LIDO - Reference Manual

Previous Chapter Next Chapter Table of Contents

Outdated Constructs

The following constructs are still supported to achieve compatibility with previous LIDO versions. Their use is strongly discouraged.


In previous versions of LIDO terminal symbols could have attributes, at most one synthesized and several inherited. They were associated explicitly by specifications of the form

   TERM Identifier: Sym: int;

Attributes of terminals could be used in attribute notations or CONSTITUENT(S) constructs:

   CONSTITUENT Identifier.Sym
If the above constructs occur in a specification a new nonterminal symbol that has the specified attributes is introduced by LIGA, as well as a production that derives to the terminal.

Terminal symbols could be element of a LISTOF production:

   Idents LISTOF Identifier
This facility is NOT allowed anymore. It is indicated by an error message, and has to be transformed explicitly.


The key word DEPENDS_ON introducing a DependsClause is now abbreviated by the token <-.

The key word NONTERM should be replaced by SYMBOL.

   NONTERM Stmt: code: PTGNode;


The pragma notations are substituted by simpler notations:

Calling a function the name of which is composed from a string and the rule name, e.g.

   LIGAPragma (RuleFct, "PTG", ...)
is now achieved by
   RuleFct ("PTG", ...)
See see Predefined Entities.

A pattern for the sequence of right-hand side attributes, e.g

   LIGAPragma (RhsAttrs, Ptg)
is now written
Hence a combination of both features above, like
     SYNT.Ptg = LIGAPragma (RuleFct, "PTG", LIGAPragma (RhsAttrs, Ptg));
is now written
     SYNT.Ptg = RuleFct ("PTG", RHS.Ptg);
See see Attributes.

Computations were specified to be executed while the input is being read and the tree is being built using a pragma

   LIGAPragma (BottomUp, printf("early output\n"));
Now the keyword BOTTOMUP is added to the computation:
   printf("early output\n") BOTTOMUP;
See see Computations.

Previous Chapter Next Chapter Table of Contents