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

Execution Monitoring Reference

Next Chapter Table of Contents


Using Noosa

This chapter describes how to invoke the Noosa system and run your program under the control of Noosa.

Invoking Noosa

Noosa is invoked from within Eli using any of the :mon, or :mongdb products in conjunction with the +monitor parameter. See Monitoring of Products and Parameters Reference Manual, for details on how to use these products. Because Noosa is based on an X11 window system toolkit, you must be running an X session when Noosa is invoked.

Invoking Noosa will produce a window containing two main areas: an input text window and a transcript window. Noosa has a fairly conventional menu-based interface. See the Help menus in most windows for general information about how to use Noosa and to get specific descriptions of all menu commands.

The most important menu command to know at this stage is Quit in the main Noosa menu since it gets you out of Noosa when your monitoring session is over. You will then be able to resume your interactive Eli session.

Controlling Your Program

The text entry area just under the menu bar in the main Noosa window contains the name of your program and command-line arguments. Normally you shouldn't need to worry about the name of your program. It will be set by Eli and will refer to a file in your Eli cache.

The program arguments will be as specified using the +arg parameter when you invoked Noosa (see arg of Products and Parameters Reference Manual). If you didn't specify +arg then the program will not be given any command-line arguments when run. The arguments can be edited in the text entry; there is no need to exit Noosa and re-enter with a new +arg setting if the argument values must be changed. You can specify as many +arg parameters as you like; their values will all be passed as command-line arguments.

Use the Execution menu to control the execution of your program by running it (Run command), continuing from a stoppage (Continue) or killing the process entirely (Kill). For convenience the same menu can be obtained by pressing the middle button in either the input text window or the transcript window. These commonly used commands are also available via the keyboard shortcuts Alt-R, Alt-C, and Alt-K, respectively.

User Initialisation

When Noosa begins execution it loads user initialisation files called `.noosarc' from the user's home directory and the current directory in that order (if they exist).

A `.noosarc' can contain arbitrary Tcl/Tk code to initialise the Noosa system. A complete description of the Tcl language and Tk toolkit is beyond the scope of this manual. See the Tcl/Tk online manual pages or any of the available books for details.

The `.noosarc' interface is presently mostly undocumented. Future versions of this manual will describe in detail how Noosa can be configured using a `.noosarc' file.

One facility that is documented is the ability to use a `.noosarc' file to autoload event handlers. The Handlers window allows you to save the current state of your handlers in a file. Suppose that you save them in `myhandlers.hnd'. That file can loaded on startup by placing the following lines in a `.noosarc'.

source myhandlers.hnd

Noosa also loads any files of type tcl that are present in your Eli specifications. You can provide any extra monitoring support you need in these files. See Browsing non-standard types, for information on how to provide Tcl support for browsing your own data types.

Changing files from within Noosa

It is often useful to be able to edit files while monitoring your program. For example, you might want to change the test data being used, or you might want to fix bugs in your specifications before you forget about them. The Files command in the Windows menu brings up a window from which you can open arbitrary files and edit them.

If you change your specifications while monitoring, Eli will only notice the changes if you have the VerifyLevel variable in Eli set to 2. (See Variables of ui, for more information on influencing Eli with variables.)

X resources used by Noosa

Noosa is written using the Tk X11 toolkit. Thus you can set any X11 resources that Tk supports. These include settings for the fonts used in various types of window, the colours used to highlight various regions, and so on. For complete documentation of the resources that Tk supports, see the Tk documentation.

To illustrate the use of Tk resources, suppose that you want to change the fonts used for text and entry windows, and alter the colours used for the selection (Noosa default: red background and yellow foreground). The following settings might be used in your `.Xdefaults' file.

Noosa*Text.font:         -adobe-courier-bold-r-*-*-12-*-*-*-*-*-*-* 
Noosa*Entry.font:        -adobe-courier-bold-r-*-*-12-*-*-*-*-*-*-*
Noosa*selectBackground:  blue
Noosa*selectForeground:  green

To make common situations easier, Noosa also supports some specific resources.

Noosa.width
The width in characters of text windows except file windows (see below) (default: 80).

Noosa.inputHeight
Noosa.transHeight
The height in lines of the input and transcript windows (default: 15 and 15).

Noosa.handHeight
The height in lines of the text part of the handlers window (default: 20).

Noosa.fileWidth
Noosa.fileHeight
The width in characters and the height in lines of the file editing windows (defaults: 80 and 30).

Noosa.treeWidth
Noosa.treeHeight
The width and height in pixels of the tree windows (see also below) (defaults: 400 and 300).

Noosa.valueColour
The colour used to highlight values in the transcript window that can be opened (default: blue).

Noosa.nodeColour
The colour used to highlight nodes in the abstract tree displays (default: red).

Noosa.treeFont
Noosa.treeFontSize
The font used to describe the tree nodes (default: TkFixedFont, 10).

Note that in each case the width and height of a window is the actual display area of the window, not including any borders.

Noosa also allows fine-grained control over the sizes of the various tree displays. The following resources control the sizes of the four different types of tree display. If these resources are not set, the values of Noosa.treeWidth and Noosa.treeHeight are used.

treeFullWidth, treeFullHeight, treeSrcWidth, treeSrcHeight, treeCompWidth, treeCompHeight, treeIncrWidth, and treeIncrHeight.


Next Chapter Table of Contents