      PARAMETER VOCAB=500
      PARAMETER OBJECTS=150
      PARAMETER PLACES=300
      PARAMETER VARS=50
      PARAMETER BUFFSIZE=500
      PARAMETER LINESIZE=2
      PARAMETER MAXCALL=10
      PARAMETER MAXDO=2
      PARAMETER INIT=0
      PARAMETER OBJECT=1
      PARAMETER PLACE=2
      PARAMETER VERB=3
      PARAMETER TEXT=4
      PARAMETER LABEL=5
      PARAMETER REPEAT=6
      PARAMETER VARIABLE=7
      PARAMETER NULL=8
      IMPLICIT INTEGER(A-Y)
      IMPLICIT CHARACTER*6  ($)
      CHARACTER*140 $LINE,$LEX,$TEXT
      CHARACTER*1 $SEP
      CHARACTER*140 BLANKS
      CHARACTER*10 $DIGITS
      CHARACTER*26 $UC,$LC
      CHARACTER*15 $ARG
      CHARACTER*8 $ACCT, $MYACCT
      LOGICAL TRUTH,PASSON,NEGATE,ENABLED,FULL,CACHEOK
      DIMENSION LOGICALS(3)
      DIMENSION ARGWORDS(LINESIZE)
      DIMENSION $WORD(VOCAB),FILEKEY(VOCAB)
      DIMENSION OBJVAL(0:OBJECTS),OBJBIT(0:OBJECTS),OBJLOC(0:OBJECTS)
      DIMENSION PLACEBIT(0:PLACES)
      DIMENSION VARVAL(0:VARS),VARBIT(0:VARS)
      DIMENSION BUFFER(BUFFSIZE)
      DIMENSION LINEWORD(LINESIZE),$ARG(LINESIZE)
      DIMENSION CALLREC(MAXCALL),CALLBP(MAXCALL),CALLDOS(MAXCALL)
      DIMENSION DOVAR(MAXDO),DOPOINT(MAXDO),DOMODE(MAXDO)
      DIMENSION CACHEOK(INIT:NULL)
      COMMON /STRINGS/ $LINE,$LEX,$WORD,$SEP,BLANKS,$DIGITS,
     + $TEXT,$ARG,$UC,$LC,$ACCT,$MYACCT,$BADVAR
      COMMON /VALUES/ FILEKEY,OBJVAL,OBJBIT,PLACEBIT,
     + LINEX, LINEND, SYMCNT, DBT, BUFFER, LINEWORD, LINELEN, DBI,
     + INUNIT, OUTUNIT, REC, BP, HERE, THERE, STATUS,
     + ARG1, ARG2, NOBJ, NPLACE, NREP, OBJLOC, NINIT,
     + PARSTAT, DUAL, BADWORD, SYNTAX, XVERB, XOBJECT,
     }
     + LOOKING,BEEN,MOVED,WORD1,WORD2,OPCODE,SKIPFLAG,TRUTH,
     + NEGATE,PASSON, NVARS, ENABLED, FULL, CACHEOK, CHECKSUM,
     + FREEZER, EXPLORE, SAYXX, LOGICMODE, LOGICALS, DOMODE, WORD3
      EQUIVALENCE (ARGWORDS(1), ARG1)

