GORTO - Graphical Order Tool
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:
LIDO-Source text The source text in LIDO for this AG.
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.
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:
The total list of productions and symbols is determined as a union of all groups activated with the switches.
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:
The menu-points allow the selection of a specific strategy. After selecting such a menu-point GORTO starts automatically a new dependency analysis.
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.
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:
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.
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:
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:
The production menu can be activated by pressing Button3 and allows the following operations:
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.
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.
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.
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:
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 can be activated by pressing the Button3 and allows the following operations:
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.
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 can be activated by pressing Button3 and allows the following operations: