Differences between revisions 4 and 5
Revision 4 as of 2005-08-02 12:21:10
Size: 3290
Comment:
Revision 5 as of 2005-08-02 18:47:23
Size: 4684
Editor: StephanOepen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
=== Keyboard Conventions ===
|| '''Context''' || '''Key''' || '''Function''' ||
|| Any browser || q || Close this window ||
|| Any browser || Q || Close all windows of this type ||
|| Any browser || p || Save !PostScript to /tmp/ ||
|| Any browser || l || Save LaTeX to /tmp/ ||
|| AVM browser || Right || Next Unification Failure ||
|| AVM browser || Left || Previous Unification Failure ||

=== Mouse Conventions ===
|| '''Context''' || '''Left Click''' || '''Right Click or Control-Click''' ||
|| Mini-tree Background || Expand Tree || Menu (same as top tree-node) ||
|| Tree Node || Feature Structure || Menu ||
|| Chart Node || Feature Structure || Menu ||
|| AVM Node || Expand / Collapse || Menu ||
Line 35: Line 20:
LUI currently provides browsers for four types of linguistic structures: trees, AVMs, MRSs, and parse charts.
Line 37: Line 21:
=== Tree Browsing ===

=== AVM and MRS browsing ===

=== Chart Browsing ===
LUI currently provides browsers for four types of linguistic structures, viz. constituent trees
(LuiTree), feature structures (LuiAvm), MRSs (LuiMrs), and parse charts (LuiChart).
Line 45: Line 26:
Recent LUI binaries for Linux-x86 and Mac OS X are part of the LKB CVS repository. To enable LUI during an LKB session, run the Lisp command '''(lui-initialize)''', and to disable LUI, run '''(lui-shutdown)'''. Recent LUI binaries for Linux (x86 in 32- and 64-bit mode) and Mac OS X are part of the
LinGO LKB CVS repository. As of August 2005, LUI support is also included in LKB builds
(see the LkbInstallation pages). During an initial testing phase, LUI support is ''not''
turned on by default. There are multiple ways of activating LUI, e.g. (a) manually within a
running LKB session, (b) from within the `.lkbrc' user-specific LKB configuration file, or
(c) by means of a shell environment variable.
Line 47: Line 33:
LUI can also run in remote mode, communicating with an LKB host on a different machine. First, the LKB host must be told to accept connections. This is accomplished by the command '''(lui-initialize :port 4001)'''. Then, LUI must be launched with a special commandline option. The executable lives in the "bin/linux.x86.32/yzlui" location inside the LKB directory for Linux, and the "bin/macos.ppc.32/yzlui.app/Contents/MacOS/yzlui" location for Mac OS X. A remote connection is established by running '''$YZLUI -c remote_host:4001''' (or of course any other port which you choose to use). === Turning LUI Support On and Off ===
Line 49: Line 35:
Unexpected behavior may comprise a bug. LUI maintains a log file describing your session in the file ''/tmp/yzlui.debug.username''. To enable LUI during an LKB session, at the Common-Lisp prompt evaluate the
command
{{{
  (lui-initialize)
}}}

Activating LUI for a running LKB session means switching graphical display
to LUI widgets for the supported types of linguistic objects (see above).
Once LUI has been initialized, parse trees, AVMs, et al. should all be
displayed using LUI widgets.

Conversely, to disable LUI for the current LKB session, evaluate
{{{
  (lui-shutdown)
}}}

For debugging purposes or comparison to the LKB built-in display (on
platforms that support built-in graphics for the LKB), it is possible
to toggle between LUI-enabled mode and no-LUI mode frequently within
a single session.

=== Turning on LUI by Default ===

One options for requesting LUI activation at LKB start-up is to place
a call to `lui-initialize()` (see above) into the file `.lkbrc` in a user
home directory. The `.lkbrc` file is a user-specific configuration file
that is read when the LKB starts up.

Another option is to set (and export) a shell variable `LUI` to a positive
value, e.g. (in your user-specific `.bashrc` file):
{{{
  export LUI=on
}}}
Note that for shells other than bash(1) (or the MacOS environment), the
syntax of setting environment variables may differ. Finally, setting the
value of the `LUI` environment variable to a positive integer will cause
the LKB to activate LUI support but wait for an external (typically remote)
LUI to connect to the port named by its numeric value (see below).

=== LUI Remote Mode ===

LUI can also run in remote mode, communicating with an LKB host on a different machine. First, the LKB host must be told to accept connections. This is accomplished by a command like:
{{{ (lui-initialize :port 4001)}}}
Then, LUI must be launched with a special commandline option. The executable lives in the `lkb/bin/linux.x86.32/yzlui` location inside the DELPH-IN top-level source directory (for Linux, x86, 32-bit) or the `bin/macos.ppc.32/yzlui.app/Contents/MacOS/yzlui` location for Mac OS X. A remote connection is established by
launching a LUI process (manually) from a shell, and directing it to talk to a running LKB
session and the numeric port used as the argument to the `lui-initialize()` call. Assumming the
LKB session runs on host `cypriot.stanford.edu`, say, the following might work:
{{{
  $YZLUI -c cypriot.stanford.edu:4001
}}}

= Testing and Bug Reporting =

Unexpected behavior may comprise a bug. LUI maintains a log file describing your session in the file `/tmp/yzlui.debug.username` (where ''username'' corresponds to your own user id).
Line 52: Line 91:


= Screen Shots =

http://www.delph-in.net/lui/trees.jpg
http://www.delph-in.net/lui/avm.jpg

Overview

The Linguistic User Interface (LUI) is an on-going project to build a visualization tool for the most common object types in constraint-based grammars, i.e. trees, feature structures, MRSs, charts, et al. While the LKB comes with built-in browsers for all of these, the current use of the CLIM (Common-Lisp Interface Manager) toolkit in the LKB severely limits portability and ease of use (and programmatic extension). Thus, portability and royalty-free delivery are among the primary motivations for the LUI project; at the same time, LUI attempts to `conservatively' improve over the existing LKB tools, for example in terms of layout options, scalability, user parameterization, display effiency. While preserving all existing LKB display functionality, LUI adds some new facilities, including drag-and-drop interactive unification, display of, and navigation through multiple feature structure incompatibilities, and creation of screen dumps in (for now) PostScript or !LaTeX formats.

LUI is an application of the [http://yz-windows.sourceforge.net/ YZ Windows] API, developed mainly by WoodleyPackard, who is also the main LUI developer (with LKB-side support by StephanOepen).

Existing LUI Browsers

LUI currently provides browsers for four types of linguistic structures, viz. constituent trees (LuiTree), feature structures (LuiAvm), MRSs (LuiMrs), and parse charts (LuiChart).

Obtaining and Running LUI

Recent LUI binaries for Linux (x86 in 32- and 64-bit mode) and Mac OS X are part of the LinGO LKB CVS repository. As of August 2005, LUI support is also included in LKB builds (see the LkbInstallation pages). During an initial testing phase, LUI support is not turned on by default. There are multiple ways of activating LUI, e.g. (a) manually within a running LKB session, (b) from within the `.lkbrc' user-specific LKB configuration file, or (c) by means of a shell environment variable.

Turning LUI Support On and Off

To enable LUI during an LKB session, at the Common-Lisp prompt evaluate the command

  (lui-initialize)

Activating LUI for a running LKB session means switching graphical display to LUI widgets for the supported types of linguistic objects (see above). Once LUI has been initialized, parse trees, AVMs, et al. should all be displayed using LUI widgets.

Conversely, to disable LUI for the current LKB session, evaluate

  (lui-shutdown)

For debugging purposes or comparison to the LKB built-in display (on platforms that support built-in graphics for the LKB), it is possible to toggle between LUI-enabled mode and no-LUI mode frequently within a single session.

Turning on LUI by Default

One options for requesting LUI activation at LKB start-up is to place a call to lui-initialize() (see above) into the file .lkbrc in a user home directory. The .lkbrc file is a user-specific configuration file that is read when the LKB starts up.

Another option is to set (and export) a shell variable LUI to a positive value, e.g. (in your user-specific .bashrc file):

  export LUI=on

Note that for shells other than bash(1) (or the MacOS environment), the syntax of setting environment variables may differ. Finally, setting the value of the LUI environment variable to a positive integer will cause the LKB to activate LUI support but wait for an external (typically remote) LUI to connect to the port named by its numeric value (see below).

LUI Remote Mode

LUI can also run in remote mode, communicating with an LKB host on a different machine. First, the LKB host must be told to accept connections. This is accomplished by a command like:   (lui-initialize :port 4001) Then, LUI must be launched with a special commandline option. The executable lives in the lkb/bin/linux.x86.32/yzlui location inside the DELPH-IN top-level source directory (for Linux, x86, 32-bit) or the bin/macos.ppc.32/yzlui.app/Contents/MacOS/yzlui location for Mac OS X. A remote connection is established by launching a LUI process (manually) from a shell, and directing it to talk to a running LKB session and the numeric port used as the argument to the lui-initialize() call. Assumming the LKB session runs on host cypriot.stanford.edu, say, the following might work:

  $YZLUI -c cypriot.stanford.edu:4001

Testing and Bug Reporting

Unexpected behavior may comprise a bug. LUI maintains a log file describing your session in the file /tmp/yzlui.debug.username (where username corresponds to your own user id).

Ongoing Development

LkbLui (last edited 2020-09-04 08:11:07 by FrancisBond)

(The DELPH-IN infrastructure is hosted at the University of Oslo)