******************************************************************************** * * This describes the files maintained on the directory SHRDLU which * go into making up the Natural Language Understanding system designed * by Terry Winograd (currently at Stanford University) * * The files are ordered alphabeticly within the directory, but are * described here in related groups, and are listed by the printing * routine in similar groups * ******************************************************************************** -- Files which support the BLOCKS micro-world BLOCKP > Microplanner code for essentially all the functions of the BLOCKS world. - there are some supplementary materials at the end of the dictionary and data files BLOCKL > LISP code to support the microplanner code of BLOCKS. In particular this includes the routine for finding space on an object and for maintaining the history list. DATA > The initial contents (assertions) of the BLOCKS world's microplanner data base. Plus a few addittional function calls for initializing all other aspects of the micro-world. PLNR 180 This is a complete EXPR code version of MICROPLANNER. Calls to MICROPLANNER in SHRDLU are always done by calling the function THVAL2, contained in the semantics files, rather than the usual call to THVAL. PLNR 180 can be loaded independantly and run as a toplevel MICROPLANNER if desired. A compiled version of the files is availlable as PLNR FASL on SHRDLU, and TS PLNR on SYS should point to a core dump of a toplevel MICROPLANNER THTRAC 18 This is a file of tracing routines designed for tracing opperations during the evaluation of MICROPLANNER code -- Toplevel files for the language understanding system -- SYSCOM > Contains the toplevel function SHRDLU as well as usefull extentions to LISP, special printing functions, break functions, garbage collection functions etc. MORPHO > Does all the morphological analysis required in the system via the function ETAOIN which is also the function called by SHRDLU to read in a user's sentence from the console. SHOW > This is the "Show - Tell" user package developed for use at a workshop at CMU in 1972. It provides a convenient way for a largely naieve user to interogate and change the data structures used in the system. Consult the MANUAL CMU for further details SETUP > A loose ends file for setting global variables, initializing trace routines, and setting up the initial environment. It is intended to be the final file read into the system before making a core dump. -- Files concerned with syntax PROGMR > This file contains all the functions that comprise the programmar language fro writing grammars. It expects to be entered from a toplevel call to PARSE as done in SHRDLU, and executes grammar programs via an intermediary function, APPLY-GRAMMAR, to permit differing opperations in the cases of compiled and intrepreted code. GINTER > "Grammar Interpreter" - Contains the calling sequence for use when running an uncompiled grammar. A precompiling pass is necessary on grammar functions to remove extra levels of function calls and to incorporate the calling program used in GINTER to eliminate GOTO's out of scope. GRAMAR > The entire syntactic recognition grammar for the system. See A.I. MEMO 282 "Grammar for the People" for comprehensive flowcharts of the functions in this file. DICTIO > Specifications and entrys for all of SHRDLU's vocabulary and related atomic symbols. This file contains all aspects of their definitions: syntax, semantics, macro-expanders, etc. -- Semantics files -- SMSPEC > "Semantic Specialists" This contains all the functions which know how to interpret the syntactic forms that will be found by the grammar: noun groups, relative clauses, pronouns, etc.. All calls to these functions come from the syntactic routines through the function SMCALL which is in PROGMR. SMUTIL > Utility routines used by all the semantic functions for building nodes, evaluating definitions, marker checks, backreference maintanence, quantifier adjusting, building MIRCOPLANNER code. SMASS > Access functions that are used by the two previous files to grovel through their data structures while retaining their perspicuity. -- Answering -- NEWANS > "new answer" Code for finding the answers to questions, absorbing new information, and following commands, then fromulating the appropriate English answers. This code is extensively interfaced with MICROPLANNER. -- Documentation -- MANUAL CMU, MANNEW >, HELP DOC, MINIH DOC These files are unfortunately all the documentation availlable on the care and feeding of the system appart from Winograd's book (which is far and away the best reference to the details of its opperation). MANUAL CMU, as its name implys, was developed for the workshop at CMU and it the most through overall guide. HELP DOC and MINIH DOC are essentially excerpts from it which were intended as online references. MANNEW is grossly incomplete, but it is also the most up to date, and covers initial ussage of hte system. .INDEX > This is a through cross-reference for all the LISP code used in the system. It lists functions and variables alphabeticly with listings of their interactions with the rest of the code (functions called, variables bound ...). Also of interest is the file LISP >, which alphabeticly lists all MACLISP functions ever invoked in the code and the functions that they were invoked from. -- At the end of the directory, the files whose first names are "Z" are the origninal files of the system circa January 1971. They use the old list oriented data structures and are essentially uncommented. However they can often be of use when trying to see if alternate formulations of some algorithm were ever considered.