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

New Features of Eli Version 4.4

Previous Chapter Next Chapter Table of Contents


Better error reporting for known operators

The Oil operator identification functions return an invalid operator if the specified operator indication is not associated with an operator matching the context specified. This results in a possibly misleading error report, effectively stating that there is no such operator.

When an operator indication is associated with exactly one operator, it may be preferable to indicate specific mismatches between the requirements of the operator and the types produced by the context. This can be done by returning the only possible operator, which places appropriate constraints on the types of the operands and delivers a specific result type.

OilNoOverload takes two arguments. The first is the operator indication being identified and the second is the result of a normal Oil operator identification function. The value of the second argument is returned if it is valid. If the second argument is invalid, OilNoOverload checks whether the first argument is associated with exactly one operator. If so, then OilNoOverload returns that operator; otherwise it returns the invalid operator yielded by the second argument.

OilNoOverload( `oi', OilIdOpTS2( `rt', `oi', `ats1', `ats2' ));

The arguments are:

`oi'
The operator indication being identified.

`rt'
The required result type.

`ats1'
The set of possible first operand types.

`ats2'
The set of possible second operand types.


Previous Chapter Next Chapter Table of Contents