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

Definition Table Specification and Usage


The definition table module embodies the concept of a set of distinguishable entities, each having some set of properties.

Typical Specification (.pdl file)

    Name: Type;

generates the basic query operations:

   GetName(DefTableKey key, Type deflt)
   void SetName(DefTableKey key, Type add, Type replace)
   void ResetName(DefTableKey key, Type val)

Typical Error Situations

  • Accessing a property before it has been set:

    ==> wrong runtime behavior

    Typical Solution Pattern:

        RULE r_root: ... 
                   root.propset = CONSTITUENTS objects.propset;
        RULE r_set: ...
                   x.propset = SetProp(xyz_key, v1, v2);
        RULE r_get: ...
                   ... y.GetProp(y_key, defltval) 
                                <- INCLUDING root.propset;
    

Back to Typical Eli Errors