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

GORTO - Graphical Order Tool

Previous Chapter Next Chapter Table of Contents


The windows of GORTO

Figure 1: The Graphical User Interface

The user interface of GORTO is composed of several distinct windows, which can be manipulated in the same manner as any other window. A view over the different windows is given in Figure 1. (While reading this documentation we suggest to call GORTO under ELI to practice what is described in the following.) The following types of windows are offered:

Main window
The main window of GORTO is divided in several parts and includes the possibility of activating several menus and opening symbol and production windows. The actual status of the tool is announced in the main window.
Each Symbol-window contains the dependency graphs for one symbol. The dependencies between attributes are described by arrows and the partitions are implicitly described by the graphical layout arrangement of the attributes
Production windows contain the dependency graph for one production each. The dependencies between attributes are also described by arrows.
Visit-Sequence windows include the visit-sequence for one production each. In one visit-sequence the lifetime of those attribute instances are described which appear defining in the corresponding production.

LIDO-Source text The source text in LIDO for this AG.

The Main Window

The main window is horizontally divided in several parts and allows mainly the opening of production and symbol windows. Furthermore different menus can be activated in the main window.

Main Menu and Status Display

The upper part of the main window contains the main menu and an overall status indication. Depending on the situation the status indication informs either about the actual state of a running dependency analysis or about the success of the last dependency analysis. The main menu allows the following operations:

`Lido window' Opening and closing source text windows.

`Close all windows' Close all opened windows.

`New computation' Start a new dependency analysis.

`Hide attribute' Hiding attributes.

`Unhide attribute' Show hidden attributes.

`Show Partitioned Dependencies' Show partitioned dependencies.

`Leave GORTO' Leaving GORTO.

Selection of Productions and Symbols

Another part of the main window allows the selection of productions and symbols. Gorto indicates two lists of the names of productions and of symbols. The selection of a name by pressing the mouse-button opens the according window. The amount of listed productions and symbols can be influenced with the switchboard arranged above. The switches have the following significance:

Productions or symbols with cyclic dependency graphs.
Productions or symbols with dependencies added manually.
Productions and symbols changed after the last computation.
Productions a visit sequence has been computed for.
Symbols for which a partition has been computed

The total list of productions and symbols is determined as a union of all groups activated with the switches.

Strategy Menus

For computation of visit-sequences and partitions Order offers different strategies, which can be activated with the according menu in the main window. Therefore two menus exist:

Topological Strategy
Strategy to compute visit sequences.
Partition Strategy
Strategy to compute partitions.

The menu-points allow the selection of a specific strategy. After selecting such a menu-point GORTO starts automatically a new dependency analysis.

Hiding of attributes

It is possible to hide several attributes in the representation of production graphs via the main menu. Hidden attributes are not visable any more in the production graphs to save space on the screen and get a better overview. They still are considered in all internal computations.

After selection of the menu point 'Hide attribute' a dialog window appears, in which the desired attribute name has to be entered. Regular terms can be used in the defining form of regexp(3). The input can be confirmed with 'Confirm' or canceled with 'Cancel'. When confirming all selected attributes are hidden no matter to which symbol they belong. Additionally with the commands 'Including, Constituent' and 'Chain' it is possible to hide the attributes generated by LIGA when expanding the corresponding LIDO notations.

With the menu point 'Unhide attribute' attributes can be reinserted with the same regulations. The structure of the dialog window to insert attributes is the same as it is for hiding attributes.

Description of Symbols and Dependencies

First the general concepts of descriptions of symbols and dependencies shall be explained.

Description of symbols

Symbols are described by their names and their attributes. The attributes are arranged under the symbol name and sorted in the sequence of the computed partitions. Additionally the synthesized attributes are moved right with respect to the inherited attributes, so that the layout of all attributes implicitly describe the computed partition.

If in case of cyclic dependencies no partitions can be computed, the sequence of the description of course does not represent a partition. In this case the inherited attributes are located before the synthesized attributes.

Description of dependencies

Dependencies are described by an arrow, which is located between both involved attributes pointing the dependent attribute. To mark different origins of dependencies the following different lines are used:

straight line
direct dependency
dashed line
caused by induction of dependencies
doted line
caused by partitioning


A production window shows the dependency graph for a production as well as the information concerning the status of the production. The described dependencies can be traced interactively.

Status indication

The upper part of the production window contains information about the actual status of this production. Every single entry has the same meaning as the corresponding button in the main window.

Layout of symbols and dependencies

Additionally to the different types of lines described above the different types of dependencies are furthermore distinguished by their graphical location. The dependency arrows are located either outside at a single symbol or inside between the symbols. The meaning of this layout is as follows:

Dependencies which originate from another context
Dependencies which originate from this production

Tracing Dependencies

Figure 2: Tracing Dependencies

The origin of the shown dependencies can be traced interactively by selecting an arrow with the mouse-button. The origin of this dependency is shown as a directed path or it is shown directly in the source-text. In case of the directed path a new window will be opened in which the dependencies are marked on their path with thick lines. The selected dependency is then marked thick and dashed. Both ways of indication are described in Figure 2. There are three variants of starting a dependency trace which are described in the following with the corresponding mouse-buttons in brackets:

FOLLOW <Shift-Button1>
The selected dependency is traced without consideration of dependencies which might be marked.
If the dependency had been marked by a previous trace, the selected dependency will be traced now. The trace of non-marked dependencies is therefore omitted.
FOLLOW-AND-CLOSE (Ctrl-Button 1)
The selected dependency will be traced in any case as with the variant FOLLOW. Additionally all windows are automatically closed which are not involved in this trace.

The Production Menu

The production menu can be activated by pressing Button3 and allows the following operations:

Close this production
Close this production window
Close all productions
Close all production windows
Follow all marks
Automatic tracing of marked dependencies
Show visit-sequence
Open the corresponding visit sequence window


A symbol-window shows the dependency graph of a symbol together with the affiliated status information. The shown dependency graphs can be traced and the computed partition of the symbol can be modified.

Status Notification

The upper part of a symbol-window contains information about the actual status of the symbol. The entries have the same meaning as the corresponding buttons in the main window.

Trace of Dependencies

The dependencies can be trace in symbol-windows in the same way as in production-windows. Again there are the three variants FOLLOW, FOLLOW-MARKED and FOLLOW-AND-CLOSE, which show the derivation of the selected dependencies as a directed path and open a new window, if necessary.

Modification of Partitions

GORTO divides the attributes of a symbol into two different classes: critical and non-critical attributes. Critical attributes are those attributes, which can't be moved to another partition without increasing the total number of partitions. Non-critical attributes can be moved, up to a certain extend, within the actual partitioning. The critical attributes are displayed in bold and italic, the non-critical attributes described in a normal font. GORTO offers three possibilities to modify a partition:

Moving of a non-critical attribute
First a non-critical attribute has to be selected with the mouse-button. This attribute can be moved by selecting another partition of attributes of the same class with button2. The attribute is then automatically fixed to the desired partition by insert onof two dependencies to critical attributes in the adjacent partitions.
Adding a new partition
Before or after the actual partitions a new partition can be added which contains a selected attribute. Again the attribute has to be selected with the mouse button. Afterwards the new partition can be added before or after all of the the existing partitions by selecting an attribute of the first or the last partition with the Shift-Button2. The selected attribute will be used to produce a new dependency, which forces the computation of a new partition with the attribute selected first.
Segmentation of existing partitions
An existing partition can be segmented into several partitions by `squeezing' an attribute of another partition between the two attributes of the the original partition. To do that, click on the attribute which has to be `squeezed' in. Within the partition which shall be segmented both surrounding attributes have to be selected. Both attributes are selected one by one by pressing the Ctrl-Button2, first the attribute which shall proceed, then the attribute which follows the new partition. If the respective partition contains only two attributes, then it is not necessary to select the second one. GORTO identifies it automatically.

A modification of the partition doesn't lead automatically to a completely new computation of all dependency graphs. The changes will be made only locally within the effected graphs. A completely new computation must be started manually using the main menu.

The Symbol Menu

The symbol-menu can be activated by pressing the Button3 and allows the following operations:

Close this symbol
Close the symbol window
CLose all symbols
CLose all symbol windows
Remove arranged dependencies
Remove all the added dependencies
Force partition
Freeze the partition
Select production
Select production
Show last BnNF use


A visit-sequence window can be activated by an operation of the production menu. shows the visit-sequences of a production together with the lifetimes of the attribute instances within this production. The visit-sequence can be modified within the frame of the certain restrictions.

Description visit-sequences

A visit-sequence will be described by a sequence of operations which are located one below the other. The operations are described by a short text which contains several informations depending on the type of the operation. In case of more than one leave from root-symbol of the production each single visit is separated and terminated with a leave-operation.

The lifetime of all attribute instances which are computed in the described visit-sequence is shown in form of a dependency. This dependency starts with the computation and ends with the last use of the attribute value.

Modification of visit-sequences

As mentioned earlier the described visit-sequence can be modified within the frame of the remaining freedom. When selecting an operation by pressing the mouse-button, the area in which this operation can be moved without any conflicts is shown. The operation can be moved by pressing Button2 at the new position (similar to moving in partitions). Operations which can't be moved are printed in bold and italic, like the critical attributes in dependency graphs.

The Visit-sequence Menu

The visit-sequence-menu can be activated by pressing Button3 and allows the following operations:

Close this visit-sequence
Close all visit sequences
Don't show last attribute use
Fix position of this element
Remove arranged dependencies

Previous Chapter Next Chapter Table of Contents