TCL/TK PAPPI Documentation

LOCAL LINKS
10.9 (/System/Library/Frameworks)
TK commands / TCL
Below 10.9 (/Library/Frameworks)
TK commands / TCL commands

SWI Prolog 6.2.6 (/opt/local/)
SWI-Prolog Packages / SWI-Prolog Reference Manual

Loading

Core system pappi.pl / Main GUI interface.tcl / Examples GUI browse.tcl

Run

Core System

/opt/local/bin/swipl
?- [pappi].
To start GUI and setup communication channels:
?- start_gui.
?- server.
To test examples:

  1. Use right menu tab: load defaults.
  2. Type example into Sentence box. Hit return.
or:
      
?- [canned_load].
?- [canned_examples].
equivalently:
?- [canned].
Main GUI

(Use goal start_gui from Prolog or...)

wish interface.tcl
      

Examples GUI

(use menu item "Lasnik & Uriagereka '88 examples" from the right tab in the main GUI, or...)

wish browse.tcl
wish browse.tcl "l&u.xpl"

To Do

bombs on

[3:1]

System Architecture


Main GUI
interface.tcl
tcl/tk
Client
(button-
invoked
)
 
callprolog t
Server
 
 
 
 

port: 9994


port: 9990
Theory-specific
parser: j5parser
language files: Eng
(lexicon,periphery,GLR machine)
principles: principles13
 
  Core System
pappi
SWI-Prolog
Server
(threaded)
server
run_server
server_loop/1
Client
(main thread)
Prolog
command
line
Server
(threaded)
examples
browse
browse_loop/1

port: 9992

Examples GUI
browse.tcl
tcl/tk
 
 
 
 
 
 
Client
(button-
invoked
)
runexample i
buildsentence t

Core system files

pappi.pl loads in all of the files below except noInterface.pl and swi.pl.
pappi_tty.pl substitutes noInterface.pl and swi.pl for interface.pl (+2) and swiI.pl, respectively.

opDecls.pl operator declarations, used by
NSMacros.pl defines term_expansion/2, also translation of AGR features
Nutilities.pl relies on opDecls.pl, defines control predicates, AGR feature agreement predicates, constituent, feature and chain item predicates, list and open list predicates, atom and term predicates, clause temporary storage, marking, internal database, flags, local cut, predicate definition predicates, predicate rewriting support, file i/o predicates, tracing, positional feature predicates
swiI.pl SWI-Prolog-specific (cf. Quintus/Sicstus) predicates. Eliminates calls to C foreign language interface used in Quintus/Sicstus versions. Also some predicates specialized for TCL/TK GUI.
swi.pl Same as swiI.pl except printNotice/1 is defined here instead in interface.pl. Used for TTY interface only.
ttyI.pl tty level user interface calls (used to be mapped to X-window system C calls). Now specialized for TCL/TK GUI.
interface.pl TCL/TK GUI interface code. Also socket communication code. Can start interface. Some calls from tty.pl have been moved here.
interface2.pl threads in sentence browser.
noInterface.pl TTY interface. GUI stuff blanked. Also tree printing calls brpr.pl.
pprint.pl pretty printing for node labels. Features may show up too on label.
indexS.pl Index numbering for display purposes only. (Internally, indices stay Prolog variables.)
fpr.pl feature pretty printing.
brpr.pl tty-level tree printing as bracketed expressions. (Used only by pappi_tty.pl.)
parserOps.pl parser operation dependency graph support. Needed to generate licit parser operation orders. (Unused currently.)
voteMatrix.pl dynamic parser operation ordering. (Not even ported. No longer supported.)
progLang.pl principle programming language.
parserControlI.pl parser generation and run-time support for principle interleaving, merging etc. Now a bit TCL/TK GUI dependent (parser operation numbering now not generated until parser has been loaded). Relies on typeInf.pl below.
typeInf.pl type inferencing for principle interleaving. Supports parserControlI.pl.
lex.pl compile-time subcategorization support for xbar-based grammar rules from lexical entries. Canonical Structural Realization (CSR) and allowExt feature VP subcategorization support. Supports NxbComp1.pl.
glrControl.pl control parameters for GLR machine construction.
NxbComp1.pl xbar-based grammar compilation step 1. Produces ssrules - variable-instantiated phrase structure rules. Relies on hdMvmt1.pl below.
hdMvmt1.pl head movement compilation step. Called by NxbComp1.pl above.
hdMvmtRT.pl run-time support for head movement on the GLR machine. Pushes C,I,V head movement features onto a global list local to clauses.
Nglr1.pl xbar-based grammar compilation step 2. Takes ssrules produced by NxbComp1.pl and produces a GLR machine (shift-reduce parser with variable depth lookahead).
glrRT.pl run-time support for GLR machine.
scripts.pl high-level scripts for running code.
pStrategies.pl support for dynamic ordering, also semantic cue driven failure parsing. (Possibly unused.)
master_dummy.pl implements master/slave loosely-coupled parsers. (Not ported. Now just stubs.)
loadModuleTty.pl implements simultaneously-available copies of PAPPI in their own namespaces. Used originally to keep all languages loaded simultaneously. (Needs work to convert it from Quintus to SWI support.)

Last modified: Wed Nov 13 15:31:36 MST 2013