INTEGER IFD,TFD1,TFD2 INTEGER OPEN,MKTEMP INTEGER STATE(4) INTEGER GFNARG,GKLARG INTEGER NAME(180) INTEGER A$BUF(200) COMMON /OPTCOM/A$BUF INTEGER SYMTE0(200),SYMNA0(200) INTEGER SYMLE0,SYMBO0 INTEGER IDTAB0 COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,SYMNA0 INTEGER INBUF0(505) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER OUTBU0(102) INTEGER OUTPA0,OUTLI0,OUTWI0 COMMON /OBUFC0/OUTBU0,OUTPA0,OUTLI0,OUTWI0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER PARSCL INTEGER AAAAA0(6) INTEGER AAAAB0 INTEGER AAAAC0 DATA AAAAA0/226,233,236,240,245,0/ IF((PARSCL(AAAAA0,A$BUF).NE.-3))GOTO 10000 CALL ERROR('Usage: xref {-{b | i | l | p | u}} {}.') 10000 CALL INITC0 TFD1=MKTEMP(3) TFD2=MKTEMP(3) IF((TFD1.EQ.-3))GOTO 10002 IF((TFD2.EQ.-3))GOTO 10002 GOTO 10001 10002 CALL ERROR('can''t create temporary files.') 10001 STATE(1)=1 10003 AAAAB0=GFNARG(NAME,STATE) GOTO 10004 10005 GOTO 10006 10007 IFD=OPEN(NAME,1) IF((IFD.NE.-3))GOTO 10008 CALL PRINT(-15,'*s: can''t open*n.',NAME) GOTO 10009 10008 CALL BUILD0(IFD,TFD1) CALL CLOSE(IFD) IF((A$BUF(240-225+1).EQ.0))GOTO 10010 CALL PUTCH(140,-11) 10010 CONTINUE 10009 GOTO 10011 10012 CALL PRINT(-15,'*s: can''t open*n.',NAME) GOTO 10011 10004 AAAAC0=AAAAB0+4 GOTO(10012,10007,10005),AAAAC0 10011 CONTINUE GOTO 10003 10006 CALL REWIND(TFD1) CALL SORT(TFD1,TFD2) CALL RMTEMP(TFD1) CALL PRINT0(TFD2,-11) CALL RMTEMP(TFD2) CALL SWT END SUBROUTINE INITC0 INTEGER A$BUF(200) COMMON /OPTCOM/A$BUF INTEGER SYMTE0(200),SYMNA0(200) INTEGER SYMLE0,SYMBO0 INTEGER IDTAB0 COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,SYMNA0 INTEGER INBUF0(505) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER OUTBU0(102) INTEGER OUTPA0,OUTLI0,OUTWI0 COMMON /OBUFC0/OUTBU0,OUTPA0,OUTLI0,OUTWI0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER I INTEGER AAAAD0(7) INTEGER AAAAE0(8) INTEGER AAAAF0(10) INTEGER AAAAG0(10) INTEGER AAAAH0(8) INTEGER AAAAI0(6) INTEGER AAAAJ0(3) INTEGER AAAAK0(5) INTEGER AAAAL0(4) INTEGER AAAAM0(6) INTEGER AAAAN0(7) INTEGER AAAAO0(6) INTEGER AAAAP0(5) INTEGER AAAAQ0(3) INTEGER AAAAR0(7) INTEGER AAAAS0(6) INTEGER AAAAT0(5) INTEGER AAAAU0(5) INTEGER AAAAV0(5) INTEGER AAAAW0(5) INTEGER AAAAX0(4) INTEGER AAAAY0(8) INTEGER AAAAZ0(7) INTEGER AAABA0(9) INTEGER AAABB0(7) INTEGER AAABC0(5) INTEGER AAABD0(6) INTEGER AAABE0(9) INTEGER AAABF0(8) INTEGER AAABG0(10) INTEGER AAABH0(8) INTEGER AAABI0(9) INTEGER AAABJ0(10) INTEGER AAABK0(9) INTEGER AAABL0(10) INTEGER AAABM0(8) INTEGER AAABN0(12) INTEGER AAABO0(9) INTEGER AAABP0(11) INTEGER AAABQ0(7) INTEGER AAABR0(5) INTEGER AAABS0(6) INTEGER AAABT0(5) INTEGER AAABU0(5) INTEGER AAABV0(7) INTEGER AAABW0(10) INTEGER AAABX0(12) INTEGER AAABY0(10) DATA AAAAD0/243,244,242,233,238,231,0/ DATA AAAAE0/236,233,238,235,225,231,229,0/ DATA AAAAF0/240,242,239,227,229,228,245,242,229,0/ DATA AAAAG0/242,229,227,245,242,243,233,246,229,0/ DATA AAAAH0/230,239,242,247,225,242,228,0/ DATA AAAAI0/236,239,227,225,236,0/ DATA AAAAJ0/233,230,0/ DATA AAAAK0/229,236,243,229,0/ DATA AAAAL0/230,239,242,0/ DATA AAAAM0/247,232,233,236,229,0/ DATA AAAAN0/242,229,240,229,225,244,0/ DATA AAAAO0/245,238,244,233,236,0/ DATA AAAAP0/227,225,243,229,0/ DATA AAAAQ0/228,239,0/ DATA AAAAR0/242,229,244,245,242,238,0/ DATA AAAAS0/226,242,229,225,235,0/ DATA AAAAT0/238,229,248,244,0/ DATA AAAAU0/243,244,239,240,0/ DATA AAAAV0/231,239,244,239,0/ DATA AAAAW0/227,225,236,236,0/ DATA AAAAX0/229,238,228,0/ DATA AAAAY0/233,238,227,236,245,228,229,0/ DATA AAAAZ0/228,229,230,233,238,229,0/ DATA AAABA0/245,238,228,229,230,233,238,229,0/ DATA AAABB0/243,229,236,229,227,244,0/ DATA AAABC0/247,232,229,238,0/ DATA AAABD0/233,230,225,238,249,0/ DATA AAABE0/227,239,238,244,233,238,245,229,0/ DATA AAABF0/227,239,237,240,236,229,248,0/ DATA AAABG0/240,242,229,227,233,243,233,239,238,0/ DATA AAABH0/236,239,231,233,227,225,236,0/ DATA AAABI0/233,237,240,236,233,227,233,244,0/ DATA AAABJ0/240,225,242,225,237,229,244,229,242,0/ DATA AAABK0/229,248,244,229,242,238,225,236,0/ DATA AAABL0/228,233,237,229,238,243,233,239,238,0/ DATA AAABM0/233,238,244,229,231,229,242,0/ DATA AAABN0/229,241,245,233,246,225,236,229,238,227,229,0/ DATA AAABO0/230,245,238,227,244,233,239,238,0/ DATA AAABP0/243,245,226,242,239,245,244,233,238,229,0/ DATA AAABQ0/227,239,237,237,239,238,0/ DATA AAABR0/228,225,244,225,0/ DATA AAABS0/244,242,225,227,229,0/ DATA AAABT0/243,225,246,229,0/ DATA AAABU0/242,229,225,236,0/ DATA AAABV0/228,239,245,226,236,229,0/ DATA AAABW0/226,236,239,227,235,228,225,244,225,0/ DATA AAABX0/243,244,225,227,235,232,229,225,228,229,242,0/ DATA AAABY0/243,232,239,242,244,227,225,236,236,0/ IBPAA0=400 INBUF0(IBPAA0)=0 OUTPA0=1 OUTLI0=1 OUTWI0=76 CALL DSINIT(30000) IDTAB0=MKTABL(1) CALL ENTER0(AAAAD0) CALL ENTER0(AAAAE0) CALL ENTER0(AAAAF0) CALL ENTER0(AAAAG0) CALL ENTER0(AAAAH0) CALL ENTER0(AAAAI0) CALL ENTER0(AAAAJ0) CALL ENTER0(AAAAK0) CALL ENTER0(AAAAL0) CALL ENTER0(AAAAM0) CALL ENTER0(AAAAN0) CALL ENTER0(AAAAO0) CALL ENTER0(AAAAP0) CALL ENTER0(AAAAQ0) CALL ENTER0(AAAAR0) CALL ENTER0(AAAAS0) CALL ENTER0(AAAAT0) CALL ENTER0(AAAAU0) CALL ENTER0(AAAAV0) CALL ENTER0(AAAAW0) CALL ENTER0(AAAAX0) CALL ENTER0(AAAAY0) CALL ENTER0(AAAAZ0) CALL ENTER0(AAABA0) CALL ENTER0(AAABB0) CALL ENTER0(AAABC0) CALL ENTER0(AAABD0) CALL ENTER0(AAABE0) CALL ENTER0(AAABF0) CALL ENTER0(AAABG0) CALL ENTER0(AAABH0) CALL ENTER0(AAABI0) CALL ENTER0(AAABJ0) CALL ENTER0(AAABK0) CALL ENTER0(AAABL0) CALL ENTER0(AAABM0) CALL ENTER0(AAABN0) CALL ENTER0(AAABO0) CALL ENTER0(AAABP0) CALL ENTER0(AAABQ0) CALL ENTER0(AAABR0) CALL ENTER0(AAABS0) CALL ENTER0(AAABT0) CALL ENTER0(AAABU0) CALL ENTER0(AAABV0) CALL ENTER0(AAABW0) CALL ENTER0(AAABX0) CALL ENTER0(AAABY0) RETURN END SUBROUTINE ENTER0(KW) INTEGER KW(1) INTEGER A$BUF(200) COMMON /OPTCOM/A$BUF INTEGER SYMTE0(200),SYMNA0(200) INTEGER SYMLE0,SYMBO0 INTEGER IDTAB0 COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,SYMNA0 INTEGER INBUF0(505) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER OUTBU0(102) INTEGER OUTPA0,OUTLI0,OUTWI0 COMMON /OBUFC0/OUTBU0,OUTPA0,OUTLI0,OUTWI0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER INFO(1) INFO(0)=1 CALL ENTER(KW,INFO,IDTAB0) RETURN END SUBROUTINE SYNERR(MESSA0) INTEGER MESSA0(1) INTEGER A$BUF(200) COMMON /OPTCOM/A$BUF INTEGER SYMTE0(200),SYMNA0(200) INTEGER SYMLE0,SYMBO0 INTEGER IDTAB0 COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,SYMNA0 INTEGER INBUF0(505) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER OUTBU0(102) INTEGER OUTPA0,OUTLI0,OUTWI0 COMMON /OBUFC0/OUTBU0,OUTPA0,OUTLI0,OUTWI0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER I INTEGER STR(102) CALL PRINT(-15,'*i.',LINEN0(1)) I=2 GOTO 10015 10013 I=I+(1) 10015 IF((I.GT.LEVEL0))GOTO 10014 CALL PRINT(-15,'@.*i.',LINEN0(I)) GOTO 10013 10014 CALL PRINT(-15,': *p@.*n.',MESSA0) RETURN END C ---- Long Name Map ---- C message messa0 C compare compa0 C initcrossref initc0 C putbackstr putbb0 C putback putba0 C obufcom obufc0 C buildcrossref build0 C underline under0 C Outbuf outbu0 C Symbol symbo0 C Inbuf inbuf0 C Ibp ibpaa0 C Symlen symle0 C Level level0 C Mem memaa0 C Symtext symte0 C dumpbuffer dumpb0 C enterkw enter0 C outputkeyword outpu0 C Outwidth outwi0 C Outp outpa0 C boldface boldf0 C Infile infil0 C Symname symna0 C skipblanksandcomments skipb0 C printcrossref print0 C Idtable idtab0 C Outline outli0 C Linenumber linen0