IMPLICIT INTEGER(A-Z) DIMENSION KEYS(5) LOGICAL*1 NAME(14,6),UNREF(6) LOGICAL*1 REFIT(6) DIMENSION CLASSCT(9) LOGICAL*1 LINE(140), LEX(140) COMPLEX COMMAND(17),OPTIONS(56) DIMENSION OPTVAL(56) DIMENSION CLASS(56) DIMENSION BUFFER(600),F1BUFF(256),F2BUFF(256) LOGICAL*1 SEP, TAB LOGICAL*1 TROUBLE,LIST,LISTED,XREF LOGICAL*1 REFDEF(9), FID(16) COMMON /STRINGS/ NAME,LEX,COMMAND,OPTIONS,LINE, + NCLASS, SEP, UNREF, TAB, FID COMMON /UNITS/ INUNIT,TABLESIZE COMMON /VALUES/ KEYS, AUXVAL, LINEX, LINEND, KEY, CLASS, + NEXTOBJECT, NEXTPLACE, NEXTTEXT, NEXTVERB, NEXTVAR, + NEXTINIT, NEXTLABEL, NEXTREPEAT, SYMCNT, + CLASSCT, NEXTNULL, TROUBLE, LIST, REFIT, + OPTVAL, NREC, REFDEF, LISTED, XREF COMMON /F2DATA/ F2BLK,F2BYTE,F2BUFF,BUFFER COMMON /F1DATA/ F1BLK,F1BYTE,F1BUFF COMMON /FIX1/ OCNT COMMON /FIX2/ XCNT COMMON /FIX20/ I1,I3 COMMON /LSTFX1/ PAGE,PLINE,CMCODE,OLDBP,WRDLST(50) COMMON /LSTFX2/ LSTBLK,LSTBYT CALL MUNGPR CALL SORT(10,10,1,1,0,SYMCNT) CALL MUNGP1 CALL SORT(10,10,0,9,1,SYMCNT) CALL MUNGP2 CALL SORT(9,4,0,1,2,OCNT) WRITE (9'OCNT+1,ERR=20,END=20) 0,0,0,0 IF (.NOT. (XREF .AND. LIST)) GOTO 10 CALL SORT(8,14,-1,0,0,XCNT) CALL OUTXREF 10 IF (TROUBLE) STOP 'Trouble' STOP 'Finis' 20 STOP 'Record Index File Error' END BLOCK DATA IMPLICIT INTEGER(A-Z) LOGICAL*1 NAME(14,6),UNREF(6),REFIT(6),LINE(140),LEX(140) COMPLEX COMMAND(17),OPTIONS(56) DIMENSION OPTVAL(56),CLASS(56),CLASSCT(9),KEYS(5) LOGICAL*1 SEP,TAB,TROUBLE,LIST,LISTED,XREF,REFDEF(9),FID(16) COMMON /STRINGS/ NAME,LEX,COMMAND,OPTIONS,LINE, + NCLASS, SEP, UNREF, TAB, FID COMMON /VALUES/ KEYS, AUXVAL, LINEX, LINEND, KEY, CLASS, + NEXTOBJECT, NEXTPLACE, NEXTTEXT, NEXTVERB, NEXTVAR, + NEXTINIT, NEXTLABEL, NEXTREPEAT, SYMCNT, + CLASSCT, NEXTNULL, TROUBLE, LIST, REFIT, + OPTVAL, NREC, REFDEF, LISTED, XREF DATA COMMAND/'TEXT ', 'OBJECT ','PLACE ','VERB ', + 'INITIAL ', 'LABEL ', 'REPEAT ', 'AT ', + 'ACTION ', 'SYNONYM ', 'VARIABLE', 'NULLWORD', 'LIST ', + 'NOLIST ', 'DEFINE ', 'INCLUDE ', 'XREF '/ DATA OPTIONS/'KEYWORD ', 'HAVE ', 'NEAR ', + 'AT ', 'ANYOF ', + 'IFEQ ', 'IFLT ', 'IFGT ', 'IFAT ', + 'CHANCE ', 'ELSE ', 'FIN ', + 'EOF ', 'GET ', 'DROP ', 'APPORT ', + 'SET ', 'ADD ', 'SUB ', + 'GOTO ', 'MOVE ', 'CALL ', 'SAY ', + 'NAME ', 'VALUE ', 'PROCEED ', 'QUIT ', 'STOP ', + 'IFHAVE ', 'IFNEAR ', 'OR ', 'RANDOM ', + 'BIT ', 'BIS ', + 'BIC ', 'ITOBJECT', 'ITPLACE ', 'EOI ', 'IFLOC ', + 'INPUT ', 'LOCATE ', 'NOT ', 'IFKEY ', + 'LDA ', 'EVAL ', + 'MULTIPLY', 'DIVIDE ', 'SVARIABL', 'EXECUTIV', + 'QUERY ', 'AND ', 'EOR ', 'DEPOSIT ', 'ITLIST ', + 'SMOVE ', 'DEFAULT '/ DATA CLASS/ -1, -1, -1, -1, -1, 2, 2, 2, 1, 1, 0, 0, 0, + 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, 2, 2, 0, 0, 0, + 1, 1, 0, 2, 2, 2, 2, 1, 1, 0, 2, 0, 2, 0, 1, 2, 2, + 2, 2, 2, 2, 1, 0, 0, 2, 1, 3, 1/ DATA TROUBLE /.FALSE./, LIST /.FALSE./ DATA CLASSCT/0, 8*0/ DATA REFDEF /.FALSE., .TRUE., .FALSE., .TRUE., .FALSE., + .FALSE., .FALSE., .FALSE., .TRUE./ DATA XREF/.FALSE./ END