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

LCL

Previous Chapter Table of Contents


Optim Options

Options introduced by "Optimopt" control the strategy for attribute optimization applied by Optim.

OptimOpt    ::= 'OFF' / 'INFO' / 'MORE_GLOBALS' /
                'NO_VARIABLES' / 'NO_STACKS' / /
                'NO_GROUPING' / 'GROUPING VARIABLE'
                'ATTRSPEZ' Type ( symbname '[' ( ident ) + ']' ) *
symbname    ::= ident / 'ANYSYMBOL'
Type        ::= 'GLOBAL VAR' / 'GLOBAL STACK' / 'TREE_NODE' /
                'GROUP VAR' / 'GROUP STACK'

'OFF'
This option supresses the optimization entirely.

'INFO'
This option produces a listing of the results of the optimization that gives all attribute storage decisions and the visit-sequences as modified by stack operations. Attribute evaluations that are omitted due to optimization are marked by the string IS DELETED.

This option can be included automatically in Eli by using the derivation :OptimInfo.

'MORE_GLOBALS'
If this option is set, a second optimization algorithm is started. This algorithm takes the attributes which are classified as tree nodes by the first optimization algorithm and tries to globalize them too.

'NO_VARIABLES'
No attributes are implemented as global variable. Instead all attributes which can be globalized are implemented as global stack.

'NO_STACKS'
No attributes are implemented as global stack. Instead all attributes which could be implemented by global stack are allocated in the tree.

'NO_GROUPING'
If this option is set, all grouping of variables is supressed, including the grouping requested by system internal grouping directives for CHAIN attributes. This option usually leads to increased memory and time requirements of the generated processor. It is only recommended during the development of language processors for large specifications, since it may decrease the time required for processor generation.

'GROUPING VARIABLE'
If this option is set, different attributes which can be implemented by a global variable each are possibly grouped to one global variable.

'ATTRSPEZ' Type ( symbname '[' ( ident )+ ']' )*
This option requires a particular storage decision for the specified attributes.

Type 'GLOBAL VAR' requires global variables.

Type 'GLOBAL STACK' requires global stacks.

Type 'TREE_NODE' requires allocation in the tree.

Type 'GROUP VAR' requires allocation to a single global variable.

Type 'GROUP STACK' requires allocation to a single global stack.

symbname specifies a symbolname and ident an attributname. If 'ANY_SYMBOL' is used instead, all attributes with corresponding attribute name are taken.

Optim will try to fulfill the above given specifications. It will ignore those that would result in incorrect computation. A specified group will not be enlarged by an attribute not belonging to this specification; an attribute specified but not in a group will not be put in any group; and a group specification consisting of n attributes will result in a set of groups within these n attributes, which is the best found by the algorithm.

Any attributes which are not appearing in any ATTRSPEZ specification will be optimized as usual.

To specify the ATTRSPEZ-specifications, the tool Gorto can be used, see Top of Graphical Dependancy Analyzer.


Previous Chapter Table of Contents