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

General Information

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


 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


 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

Open PDF File

Association of properties to definitions

The input for a text processor usually describes objects that have certain properties, e.g. named entities like variables in a program, or fields of a data base. Their properties are determined, used, or checked according to the context in which an object occurs. An object may occur several times in the input. The occurrences are mapped to a unique identification, a key (see Name Analysis Library of Name analysis according to scope rules). Properties are associated and accessed via those keys. Properties are represented by values of certain types. The Eli tool PDL is used to generate functions that store property values in a data base of the language processor and that retrieve values from it.

The modules of this library can solve a large variety of tasks. E.g. the OccCnt module enumerates occurrences of each object. Its result can be used to check whether an identifier is multiply defined. It can also be used to trigger an output operation exactly once for each object. Such an output may say how often the identifier occurs in the text, or it may be a declaration of the identifier in the target code.

The first section describes how the modules are instatiated and used, the others describe the modules contained in this library: