(FILECREATED "13-Aug-84 16:51:11" {ERIS}<SPEECH>LEXICON>LOADFOOTPARSER.;4 11938  

      changes to:  (VARS LOADFOOTPARSERCOMS)
		   (FNS LOADFOOTPARSER)

      previous date: "13-Aug-84 16:12:45" {ERIS}<SPEECH>LEXICON>LOADFOOTPARSER.;1)


(* Copyright (c) 1984 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT LOADFOOTPARSERCOMS)

(RPAQQ LOADFOOTPARSERCOMS [(* This is the FOOTPARSER system description file. Loading it and 
			      executing (LOADFOOTPARSER)
			      will create a new FOOTPARSER system.)
			   (VARS DLFG.LISPUSERSFILES ENV.LISPUSERSFILES FOOTPARSERFILES 
				 LFG.LISPUSERSFILES 10LFG.LISPUSERSFILES)
			   (VARS 10LFGFILES DLFGFILES LFG.LISPUSERSFILES LFGFILES LFGSYSFILES)
			   (INITVARS (LFGWINDOWLST))
			   (VARS (DWIMIFYCOMPFLG T))
			   (PROP VARTYPE LFGWINDOWLST)
			   [ADDVARS (AFTERSYSOUTFORMS (SETNM (QUOTE LFG]
			   (P (SETNM (QUOTE LFG)))
			   (* Loading LFG)
			   (FNS LOADFOOTPARSER UPDATELFG)
			   (INITVARS (LFGINITFILENAME))
			   (FNS CHANGEDFILES COMPLFG CURRENTLFG GETLFGFILES LISTLFG)
			   (* LFG file manipulation utilities)
			   (DECLARE: DONTEVAL@LOAD DONTCOPY EVAL@COMPILEWHEN (NEQ (COMPILEMODE)
										  (QUOTE D))
				     (ADDVARS (DONTCOMPILEFNS MAKELFG COPYLFG DEMO/ LOADLFGDEMO)))
			   (DECLARE: DONTEVAL@LOAD EVAL@COMPILE DONTCOPY (P (RESETSAVE DWIMIFYCOMPFLG 
										       T)))
			   (DECLARE: DOCOPY (DECLARE: EVAL@LOADWHEN (NEQ (EVALV (QUOTE LDFLG))
									 (QUOTE SYSLOAD))
						      (PROP DATABASE LOADLFG)))
			   (LOCALVARS . T)
			   (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
				     (ADDVARS (NLAMA DEMO/)
					      (NLAML)
					      (LAMA])



(* This is the FOOTPARSER system description file. Loading it and executing (LOADFOOTPARSER) 
will create a new FOOTPARSER system.)


(RPAQQ DLFG.LISPUSERSFILES (TEDIT GRAPHER BROWSER))

(RPAQQ ENV.LISPUSERSFILES (SAMEDIR SHOW DATABASEFNS SINGLEFILEINDEX COMPILEBANG))

(RPAQQ FOOTPARSERFILES (BACKLINK REGEXP FSM GRAMMARFORMAT GRAMMARUSER LEXFORMAT GSP MORPHOLOGY 
				 STARTUP PRINTLFG))

(RPAQQ LFG.LISPUSERSFILES (LOADFILES SIMPLEFNS PERFORMTRAN DECL))

(RPAQQ 10LFG.LISPUSERSFILES (TTYINEDIT))

(RPAQQ 10LFGFILES NIL)

(RPAQQ DLFGFILES (LFGWINDOWS DISPLAYENTITY LATDISPLAY))

(RPAQQ LFG.LISPUSERSFILES (LOADFILES SIMPLEFNS PERFORMTRAN DECL))

(RPAQQ LFGFILES (BACKLINK REGEXP FSM SOLVE GRAMMARFORMAT GRAMMARUSER LEXFORMAT GSP MORPHOLOGY STARTUP 
			  PRINTLFG SEMANTICS PRINTSEMANTICS ENGSEM))

(RPAQQ LFGSYSFILES (LOADLFG HOSTCHANGE SETUPTTYIN))

(RPAQ? LFGWINDOWLST )

(RPAQQ DWIMIFYCOMPFLG T)

(PUTPROPS LFGWINDOWLST VARTYPE ALIST)

(ADDTOVAR AFTERSYSOUTFORMS (SETNM (QUOTE LFG)))
(SETNM (QUOTE LFG))



(* Loading LFG)

(DEFINEQ

(LOADFOOTPARSER
  [LAMBDA (LDFLG SLOWFLAG DIRS SYMFLAG NODBFLG)              (* pkh: "13-Aug-84 16:42")
    (DECLARE (GLOBALVARS NOSPELLFLG LOADDBFLG COMPILE.EXT LOADFILESCOMPILE.EXTENSIONS))
    (MOVD? (QUOTE GREET)
	   (QUOTE OLDGREET))
    (MOVD (QUOTE GREETLFG)
	  (QUOTE GREET))
    (DOFILESLOAD (CONS (QUOTE (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES))
		       LFG.LISPUSERSFILES))
    (DOFILESLOAD (CONS (QUOTE (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES))
		       ENV.LISPUSERSFILES))
    (DOFILESLOAD (CONS (QUOTE (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES))
		       (SELECTQ (SYSTEMTYPE)
				(D DLFG.LISPUSERSFILES)
				((TENEX TOPS20)
				  10LFG.LISPUSERSFILES)
				NIL)))
    (PROG NIL
          (LOAD? (OR (INFILEP (PACKFILENAME (QUOTE EXTENSION)
					    COMPILE.EXT
					    (QUOTE BODY)
					    (QUOTE SYSTEMPATCH)))
		     (INFILEP (QUOTE SYSTEMPATCH))
		     (RETURN))
		 (QUOTE SYSLOAD)))
    (SELECTQ (SYSTEMTYPE)
	     [D                                              (* Change title font and then redraw tty title in new 
							     font)
		(WINDOWPROP (TTYDISPLAYSTREAM)
			    (QUOTE TITLE)
			    (WINDOWPROP (TTYDISPLAYSTREAM)
					(QUOTE TITLE]
	     (PROGN (FILESLOAD (SYSLOAD)
			       SETUPTTYIN)                   (* Sets up EMACS like stuff)
		    (SETUPTTYIN)))
    (RESETVARS ((NOSPELLFLG T)
		[LOADDBFLG (COND
			     (NODBFLG (QUOTE NO))
			     (T (QUOTE YES]
		(LOADFILESCOMPILE.EXTENSIONS LOADFILESCOMPILE.EXTENSIONS))
	       [SETQ SYMFLAG (COND
		   (SYMFLAG NIL)
		   (T [COND
			((NOT SLOWFLAG)
			  (push LOADFILESCOMPILE.EXTENSIONS (PACK* (QUOTE F)
								   COMPILE.EXT]
		      (QUOTE COM]
	       (LOADFILES DIRS FOOTPARSERFILES SYMFLAG LDFLG)
	       (LOADFILES DIRS (QUOTE (MODIFY-LFG))
			  SYMFLAG LDFLG)
	       (LOADFILES DIRS (SELECTQ (SYSTEMTYPE)
					(D DLFGFILES)
					((TOPS20 TENEX)
					  10LFGFILES)
					NIL)
			  SYMFLAG LDFLG))
    (SELECTQ (SYSTEMTYPE)
	     (D (SETUPLFGWINDOWS)
		[COND
		  ((DEFINEDP (QUOTE LAFITE))
		    (FONTCREATE (QUOTE CLASSIC)
				10 NIL NIL (QUOTE DISPLAY))
                                                             (* Create the lafite fonts that are defined in common 
							     LFG user init files, so that greeting doesn't require 
							     file-server accesses)
		    (FONTCREATE (QUOTE TIMESROMAN)
				10 NIL NIL (QUOTE DISPLAY]
		(CHANGELFGFONTS (QUOTE SMALL)))
	     ((TENEX TOPS20)
	       (RECLAIM (QUOTE ARRAYP))
	       (RECLAIM (QUOTE ATOM.CHARS))
	       (RECLAIM (QUOTE STRING.CHARS)))
	     NIL)
    T])

(UPDATELFG
  [LAMBDA (ASKFLAG FILES)                                    (* rmk: "11-AUG-82 10:00" posted: " 3-AUG-81 22:55")

          (* updates sysout with new versions of compiled files. If given T as an argument the user will be consulted 
	  whether to load, otherwise the update will be done automatically)


    (PROG (LOADFILES)
          (SETQ LOADFILES (for X DIRFILE SYSOUTFILE FILE.COM in (OR FILES (GETLFGFILES))
			     when [PROGN (SETQ SYSOUTFILE (CDAR (CURRENTLFG X)))
					 (SETQ FILE.COM (PACKFILENAME (QUOTE VERSION)
								      NIL
								      (QUOTE BODY)
								      SYSOUTFILE))
					 (COND
					   ((NEQ SYSOUTFILE (SETQ DIRFILE (INFILEP FILE.COM)))
					     (printout T X 15 "Dir: " DIRFILE 15 "Sysout: " 
						       SYSOUTFILE ,,)
					     (COND
					       (ASKFLAG (EQ (ASKUSER NIL NIL "Load? ")
							    (QUOTE Y)))
					       (T (TERPRI T)
						  T]
			     collect FILE.COM))
          (for X in LOADFILES do (LOAD X T])
)

(RPAQ? LFGINITFILENAME )
(DEFINEQ

(CHANGEDFILES
  [LAMBDA (FARG FILES COMPDIRECTORY EXTENSION SOURCEDIRECTORY)
                                                             (* rmk: "16-JUL-82 23:36")

          (* If FARG=NIL, all files on FILES will be selected. If T, then only those files for which there exists a version 
	  on SOURCEDIRECTORY subsequent than the compiled version on DIRECTORY. Otherwise, if FARG is a member of FILES, 
	  then it and all subsequent files will be selected.)


    (for F FC FS in (OR (LISTP FARG)
			(FMEMB FARG FILES)
			FILES)
       when [AND (PROGN (COND
			  ([NOT (SETQ FS (INFILEP (PACKFILENAME (QUOTE DIRECTORY)
								SOURCEDIRECTORY
								(QUOTE NAME)
								(NAMEFIELD F]
			    (printout T T "Can't find source file: " (PACKFILENAME (QUOTE DIRECTORY)
										   SOURCEDIRECTORY
										   (QUOTE NAME)
										   (NAMEFIELD F))
				      T)))
			FS)
		 (OR (NULL FARG)
		     (NOT (AND (SETQ FC (INFILEP (PACKFILENAME (QUOTE DIRECTORY)
							       COMPDIRECTORY
							       (QUOTE NAME)
							       (NAMEFIELD F)
							       (QUOTE EXTENSION)
							       EXTENSION)))
			       (IGREATERP (GETFILEINFO FC (QUOTE ICREATIONDATE))
					  (GETFILEINFO FS (QUOTE ICREATIONDATE]
       collect FS])

(COMPLFG
  [LAMBDA (FILES)                                            (* rmk: "30-Jun-84 21:59")
                                                             (* Compiles all files that need it)
    (for F in (GETLFGFILES) do (LOADCOMP? F))
    (for F in (LFGNEEDCOMP FILES)
       do (TERPRI T)
	  (BCOMPL (PRINT F T)))
    (FASTCOMPILE (LFGNEEDCOMP FILES T])

(CURRENTLFG
  [LAMBDA (FILES)                                            (* lsl: "30-JUL-82 16:35" posted: " 3-AUG-81 22:55")
                                                             (* makes a list of consed pairs of the current versions,
							     symbolic and compiled, in use in the sysout)
    (for X inside (OR FILES (GETLFGFILES))
       collect (CONS [CDR (CAR (GETP X (QUOTE FILEDATES]
		     (CAR (OR (GETP (PACKFILENAME (QUOTE EXTENSION)
						  COMPILE.EXT
						  (QUOTE BODY)
						  X)
				    (QUOTE FILEMAP))
			      (GETP (PACKFILENAME (QUOTE EXTENSION)
						  (PACK* (QUOTE F)
							 COMPILE.EXT)
						  (QUOTE BODY)
						  X)
				    (QUOTE FILEMAP])

(GETLFGFILES
  [LAMBDA NIL                                                (* rmk: "30-Jun-84 21:59")
    (SORT (APPEND (GETDEF (QUOTE LFGFILES)
			  (QUOTE VARS)
			  (QUOTE LOADLFG))
		  (COND
		    ((EQ (SYSTEMTYPE)
			 (QUOTE D))
		      (GETDEF (QUOTE DLFGFILES)
			      (QUOTE VARS)
			      (QUOTE LOADLFG])

(LISTLFG
  [LAMBDA (DONTASKFLAG)                                      (* rmk: "30-Jun-84 22:00" posted: " 9-AUG-81 17:17")
                                                             (* This function will list the most recent version of 
							     every LFGFILE. Good for updating your notebook!)
    (APPLY (FUNCTION LISTFILES)
	   (for X F in (CONS (QUOTE LOADLFG)
			     (GETLFGFILES))
	      when [AND (PROG1 (SETQ F (INFILEP X))
			       (PRIN2 [OR F (CONS X (QUOTE (not found]
				      T)
			       (SPACES 2 T))
			(OR DONTASKFLAG (EQ (ASKUSER)
					    (QUOTE Y]
	      collect F])
)



(* LFG file manipulation utilities)

(DECLARE: DONTEVAL@LOAD DONTCOPY EVAL@COMPILEWHEN (NEQ (COMPILEMODE)
						       (QUOTE D)) 

(ADDTOVAR DONTCOMPILEFNS MAKELFG COPYLFG DEMO/ LOADLFGDEMO)
)
(DECLARE: DONTEVAL@LOAD EVAL@COMPILE DONTCOPY 
(RESETSAVE DWIMIFYCOMPFLG T)
)
(DECLARE: DOCOPY 
(DECLARE: EVAL@LOADWHEN (NEQ (EVALV (QUOTE LDFLG))
			     (QUOTE SYSLOAD)) 

(PUTPROPS LOADLFG DATABASE NO)
)
)
(DECLARE: DOEVAL@COMPILE DONTCOPY

(LOCALVARS . T)
)
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS 

(ADDTOVAR NLAMA DEMO/)

(ADDTOVAR NLAML )

(ADDTOVAR LAMA )
)
(PRETTYCOMPRINT LOADFOOTPARSERCOMS)

(RPAQQ LOADFOOTPARSERCOMS [(* This is the FOOTPARSER system description file. Loading it and 
			      executing (LOADFOOTPARSER)
			      will create a new FOOTPARSER system.)
			   (VARS DLFG.LISPUSERSFILES ENV.LISPUSERSFILES FOOTPARSERFILES 
				 LFG.LISPUSERSFILES 10LFG.LISPUSERSFILES)
			   (VARS 10LFGFILES DLFGFILES LFG.LISPUSERSFILES LFGFILES LFGSYSFILES)
			   (INITVARS (LFGWINDOWLST))
			   (VARS (DWIMIFYCOMPFLG T))
			   (PROP VARTYPE LFGWINDOWLST)
			   [ADDVARS (AFTERSYSOUTFORMS (SETNM (QUOTE LFG]
			   (P (SETNM (QUOTE LFG)))
			   (* Loading LFG)
			   (FNS LOADFOOTPARSER UPDATELFG)
			   (INITVARS (LFGINITFILENAME))
			   (FNS CHANGEDFILES COMPLFG CURRENTLFG GETLFGFILES LISTLFG)
			   (* LFG file manipulation utilities)
			   (DECLARE: DONTEVAL@LOAD DONTCOPY EVAL@COMPILEWHEN (NEQ (COMPILEMODE)
										  (QUOTE D))
				     (ADDVARS (DONTCOMPILEFNS MAKELFG COPYLFG DEMO/ LOADLFGDEMO)))
			   (DECLARE: DONTEVAL@LOAD EVAL@COMPILE DONTCOPY (P (RESETSAVE DWIMIFYCOMPFLG 
										       T)))
			   (DECLARE: DOCOPY (DECLARE: EVAL@LOADWHEN (NEQ (EVALV (QUOTE LDFLG))
									 (QUOTE SYSLOAD))
						      (PROP DATABASE LOADLFG)))
			   (LOCALVARS . T)
			   (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
				     (ADDVARS (NLAMA)
					      (NLAML)
					      (LAMA])
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS 

(ADDTOVAR NLAMA )

(ADDTOVAR NLAML )

(ADDTOVAR LAMA )
)
(PUTPROPS LOADFOOTPARSER COPYRIGHT ("Xerox Corporation" 1984))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (2764 6367 (LOADFOOTPARSER 2774 . 5340) (UPDATELFG 5342 . 6365)) (6398 9762 (
CHANGEDFILES 6408 . 7675) (COMPLFG 7677 . 8088) (CURRENTLFG 8090 . 8803) (GETLFGFILES 8805 . 9127) (
LISTLFG 9129 . 9760)))))
STOP