SUBROUTINE APNDM0(BUF) INTEGER BUF(1) COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER MACNAM(3) INTEGER STRTM0,I,MACLOC INTEGER FINDM0 INTEGER AAAAA0(51) INTEGER AAAAB0(36) DATA AAAAA0/237,225,227,242,239,160,168,170,243,169,160,227,225,23 *8,238,239,244,160,226,229,160,225,240,240,229,238,228,229,228,172, *160,233,244,160,228,239,229,243,160,238,239,244,160,229,248,233,24 *3,244,170,238,0/ DATA AAAAB0/238,239,244,160,229,238,239,245,231,232,160,243,240,22 *5,227,229,160,244,239,160,225,240,240,229,238,228,160,244,239,160, *237,225,227,242,239,0/ CALL GETNAM(BUF,MACNAM) MACLOC=FINDM0(MACNAM) IF((MACLOC.NE.-3))GOTO 10000 CALL PRINT(-15,AAAAA0,MACNAM) CALL SWT 10000 IF((FIRST0.NE.MACLOC))GOTO 10001 FIRST0=MACBU0(MACLOC+3) MACTO0=MACLOC-2 STRTM0=MACBU0(MACLOC+5) GOTO 10002 10001 IF(((50000-MACTO0).GE.((MACLOC+6)-MACBU0(MACLOC+5))))GOTO 10003 CALL MACGC MACLOC=FINDM0(MACNAM) IF(((50000-MACTO0).GE.((MACLOC+6)-MACBU0(MACLOC+5))))GOTO * 10004 CALL ERROR(AAAAB0) 10004 CONTINUE 10003 STRTM0=MACTO0 I=MACBU0(MACLOC+5) GOTO 10007 10005 I=I+(1) MACTO0=MACTO0+(1) 10007 IF((I.GT.MACLOC-3))GOTO 10006 MACBU0(MACTO0)=MACBU0(I) GOTO 10005 10006 CALL MACREL(MACLOC) 10002 CALL MACINP(MACNAM,STRTM0) RETURN END SUBROUTINE DEFMAC(BUF) INTEGER BUF(1) COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER MACNAM(3) INTEGER STRTM0,MACLOC INTEGER FINDM0 CALL GETNAM(BUF,MACNAM) STRTM0=MACTO0 MACLOC=FINDM0(MACNAM) IF((MACLOC.EQ.-3))GOTO 10008 CALL MACREL(MACLOC) 10008 CALL MACINP(MACNAM,STRTM0) RETURN END INTEGER FUNCTION DOMAC(BUF) INTEGER BUF(1) COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER I DOMAC=-2 I=FIRST0 GOTO 10011 10009 I=MACBU0(I+3) 10011 IF((I.EQ.-3))GOTO 10010 IF((MACBU0(I).NE.BUF(2)))GOTO 10009 IF((MACBU0(I+1).NE.BUF(3)))GOTO 10009 FPTRA0=FPTRA0+(1) IF((FPTRA0.LE.100))GOTO 10013 CALL RESET0 CALL PUTLIN(BUF,-15) CALL ERROR('Too many macros/input files.') 10013 FLIST0(FPTRA0)=MACBU0(I+5) FTYPE0(FPTRA0)=0 CALL EMARGS(BUF) RETURN 10010 DOMAC=-3 RETURN END SUBROUTINE EMARGS(BUF) INTEGER BUF(1) COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER I,J,K INTEGER ARGS(134) INTEGER AAAAC0(14) INTEGER AAAAD0(25) INTEGER AAAAE0(28) DATA AAAAC0/237,233,243,243,233,238,231,160,241,245,239,244,229,0/ DATA AAAAD0/212,239,239,160,237,225,238,249,160,237,225,227,242,23 *9,160,225,242,231,245,237,229,238,244,243,0/ DATA AAAAE0/212,239,239,160,237,225,238,249,160,238,229,243,244,22 *9,228,160,237,225,227,242,239,160,227,225,236,236,243,0/ J=1 I=2 10014 CONTINUE 10015 IF((BUF(I).NE.160))GOTO 10016 I=I+(1) GOTO 10015 10016 IF((BUF(I).EQ.138))GOTO 10019 IF((BUF(I).EQ.0))GOTO 10019 GOTO 10017 10017 CONTINUE 10020 CONTINUE 10021 IF((BUF(I).NE.162))GOTO 10031 I=I+(1) GOTO 10025 10023 I=I+(1) 10025 IF((BUF(I).EQ.162))GOTO 10024 IF((BUF(I).EQ.138))GOTO 10027 IF((BUF(I).EQ.0))GOTO 10027 GOTO 10026 10027 CALL RESET0 CALL PUTLIN(BUF,-15) CALL ERROR(AAAAC0) 10026 ARGS(J)=BUF(I) J=J+(1) GOTO 10023 10024 I=I+(1) IF((BUF(I).NE.162))GOTO 10021 ARGS(J)=162 J=J+(1) 10028 GOTO 10021 10029 I=I+(1) 10031 IF((BUF(I).EQ.160))GOTO 10030 IF((BUF(I).EQ.137))GOTO 10030 IF((BUF(I).EQ.162))GOTO 10030 IF((BUF(I).EQ.138))GOTO 10030 IF((BUF(I).EQ.0))GOTO 10030 ARGS(J)=BUF(I) J=J+(1) GOTO 10029 10030 CONTINUE IF((BUF(I).EQ.162))GOTO 10020 ARGS(J)=0 J=J+(1) GOTO 10014 10019 IF((ARGTO0+J.LE.1000))GOTO 10032 CALL RESET0 CALL PUTLIN(BUF,-15) CALL ERROR(AAAAD0) 10032 MACLV0=MACLV0+(1) IF((MACLV0.LE.100))GOTO 10033 CALL RESET0 CALL PUTLIN(BUF,-15) CALL ERROR(AAAAE0) 10033 ARGVA0(MACLV0)=ARGTO0 K=1 GOTO 10036 10034 K=K+(1) 10036 IF((K.GE.J))GOTO 10035 ARGBU0(ARGTO0)=ARGS(K) ARGTO0=ARGTO0+(1) GOTO 10034 10035 RETURN END SUBROUTINE ENDMAC COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 ARGTO0=ARGVA0(MACLV0) MACLV0=MACLV0-(1) RETURN END INTEGER FUNCTION EVALF0(FBUF,BUF,MAXBUF) INTEGER FBUF(1),BUF(MAXBUF) INTEGER MAXBUF COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER NAME(134),STR(1454),FCNBUF(1454) INTEGER MAPUP,TEMPS0(1454) INTEGER STR1(134),STR2(134),REL(4) INTEGER I,J,K,NR,AMOUNT,FNUM,VAL,OPND1,OPND2,R,V,S1,S2 INTEGER ITOC,CTOI,GCTOI,LOOKUP,CTOC,ITOROM,TRNARG,INDEX INTEGER STRLSR,STRCMP INTEGER RELX(12) INTEGER RELT(52) INTEGER UNDERL,BOFACE,ITOLET,ITALIC INTEGER VERT(16) INTEGER AAAAF0 INTEGER AAAAG0 INTEGER AAAAH0 INTEGER AAAAI0 INTEGER AAAAJ0 INTEGER AAAAK0 INTEGER AAAAL0 INTEGER AAAAM0 INTEGER AAAAN0 INTEGER AAAAO0 INTEGER AAAAP0(37) INTEGER AAAAQ0 INTEGER AAAAR0 INTEGER AAAAS0 INTEGER AAAAT0 INTEGER AAAAU0(26) DATA RELT/1,2,188,189,0,1,2,189,188,0,1,0,188,0,2,0,189,189,0,2,0, *189,0,1,3,254,189,0,1,3,188,190,0,1,3,190,188,0,2,3,190,189,0,2,3, *189,190,0,3,0,190,0/ DATA RELX/11,1,6,11,15,20,24,29,34,39,44,49/ DATA VERT/16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31/ DATA AAAAP0/230,237,244,160,229,242,242,239,242,186,160,160,233,23 *6,236,229,231,225,236,160,246,229,242,244,233,227,236,229,160,243, *240,225,227,233,238,231,0/ DATA AAAAU0/233,238,160,229,246,225,236,223,230,227,238,186,160,22 *7,225,238,167,244,160,232,225,240,240,229,238,0/ CALL MASSIN(FBUF,FCNBUF,1454) I=1 10037 IF((FCNBUF(I).NE.160))GOTO 10038 I=I+(1) GOTO 10037 10038 J=1 GOTO 10041 10039 J=J+(1) I=I+(1) 10041 IF((FCNBUF(I).EQ.0))GOTO 10040 IF((FCNBUF(I).EQ.160))GOTO 10040 NAME(J)=FCNBUF(I) GOTO 10039 10040 NAME(J)=0 J=1 NR=CTOI(NAME,J) IF((NAME(J).NE.0))GOTO 10042 IF((MACLV0.LE.1))GOTO 10042 EVALF0=TRNARG(NR,BUF,MAXBUF) RETURN 10042 CONTINUE 10043 IF((FCNBUF(I).NE.160))GOTO 10044 I=I+(1) GOTO 10043 10044 IF((LOOKUP(NAME,FNUM,FNTAB0).NE.0))GOTO 10045 IF((LOOKUP(NAME,FNUM,SPCHA0).NE.1))GOTO 10046 J=CTOI(FCNBUF,I) J=MIN0(MAX0(1,J),MAXBUF-1) DO 10047 K=1,J BUF(K)=FNUM 10047 CONTINUE 10048 BUF(J+1)=0 EVALF0=J RETURN 10046 BUF(1)=219 J=CTOC(FCNBUF,BUF(2),MAXBUF-2)+2 BUF(J)=221 BUF(J+1)=0 EVALF0=J RETURN 10045 AAAAF0=FNUM GOTO 10049 10050 VAL=NOSPA0 GOTO 10051 10052 VAL=PLVAL0 GOTO 10051 10053 VAL=CURPA0 GOTO 10051 10054 VAL=LINEN0 GOTO 10051 10055 VAL=POVAL0 GOTO 10051 10056 VAL=LSVAL0 GOTO 10051 10057 VAL=INVAL0 GOTO 10051 10058 VAL=RMVAL0 GOTO 10051 10059 VAL=TIVAL0 GOTO 10051 10060 VAL=LMVAL0 GOTO 10051 10061 VAL=MACLV0 GOTO 10051 10062 VAL=M1VAL0 GOTO 10051 10063 VAL=M2VAL0 GOTO 10051 10064 VAL=M3VAL0 GOTO 10051 10065 VAL=M4VAL0 GOTO 10051 10066 VAL=TIWID0 GOTO 10051 10067 OPND1=GCTOI(FCNBUF,I,10) OPND2=GCTOI(FCNBUF,I,10) VAL=OPND1+OPND2 GOTO 10051 10068 OPND1=GCTOI(FCNBUF,I,10) OPND2=GCTOI(FCNBUF,I,10) VAL=OPND1-OPND2 GOTO 10051 10069 VAL=BOTTO0 GOTO 10051 10070 VAL=M1VAL0+M2VAL0+1 GOTO 10051 10071 AAAAG0=FCNBUF(I) GOTO 10072 10073 AMOUNT=+1 GOTO 10074 10075 AMOUNT=-1 GOTO 10074 10074 I=I+(1) GOTO 10076 10072 AAAAH0=AAAAG0-170 GOTO(10073,10077,10075),AAAAH0 10077 AMOUNT=0 10076 NR=CTOI(FCNBUF,I) IF((NR.LT.1))GOTO 10078 IF((NR.GT.200))GOTO 10078 NUMRE0(NR)=NUMRE0(NR)+(AMOUNT) VAL=NUMRE0(NR) AAAAI0=FCNBUF(I) GOTO 10079 10080 NUMRE0(NR)=NUMRE0(NR)+(1) GOTO 10051 10082 NUMRE0(NR)=NUMRE0(NR)-(1) GOTO 10051 10079 AAAAJ0=AAAAI0-170 GOTO(10080,10083,10082),AAAAJ0 10083 CONTINUE 10081 GOTO 10051 10078 VAL=0 10084 GOTO 10051 10051 K=ITOC(VAL,STR,32) IF((K.GE.4))GOTO 10085 IF((FNUM.NE.19))GOTO 10085 J=5 GOTO 10088 10086 J=J-(1) K=K-(1) 10088 IF((J.LE.0))GOTO 10087 IF((K.LT.0))GOTO 10089 STR(J)=STR(K+1) GOTO 10086 10089 STR(J)=32 10090 GOTO 10086 10087 CONTINUE 10085 EVALF0=CTOC(STR,BUF,MAXBUF) GOTO 10091 10049 AAAAK0=AAAAF0-5 GOTO(10057,10092,10060,10054,10056,10061,10071,10052,10053,10055 *,10058,10092,10092,10053,10059,10092,10092,10092,10092,10092,10092 *,10092,10092,10092,10092,10092,10092,10062,10063,10064,10065,10092 *,10092,10092,10092,10067,10068,10092,10092,10092,10092,10092,10092 *,10092,10069,10070,10066,10092,10050),AAAAK0 10092 AAAAL0=FNUM GOTO 10093 10094 STR(1)=CMDCH0 GOTO 10095 10096 STR(1)=NBCCH0 GOTO 10095 10097 STR(1)=TABCH0 GOTO 10095 10098 VAL=CTOI(FCNBUF,I) IF((AND(VAL,1).NE.0))GOTO 10099 STR(1)=177 GOTO 10095 10099 STR(1)=176 10100 GOTO 10095 10101 VAL=CTOI(FCNBUF,I) IF((AND(VAL,1).NE.0))GOTO 10102 STR(1)=176 GOTO 10095 10102 STR(1)=177 10103 GOTO 10095 10104 J=1 GOTO 10107 10105 I=I+(1) J=J+(1) 10107 IF((FCNBUF(I).EQ.160))GOTO 10106 STR1(J)=FCNBUF(I) GOTO 10105 10106 STR1(J)=0 10108 IF((FCNBUF(I).NE.160))GOTO 10109 I=I+(1) GOTO 10108 10109 J=1 GOTO 10112 10110 I=I+(1) J=J+(1) 10112 IF((FCNBUF(I).EQ.160))GOTO 10111 REL(J)=FCNBUF(I) GOTO 10110 10111 REL(J)=0 10113 IF((FCNBUF(I).NE.160))GOTO 10114 I=I+(1) GOTO 10113 10114 J=1 GOTO 10117 10115 I=I+(1) J=J+(1) 10117 IF((FCNBUF(I).EQ.160))GOTO 10116 IF((FCNBUF(I).EQ.0))GOTO 10116 STR2(J)=FCNBUF(I) GOTO 10115 10116 STR2(J)=0 R=STRLSR(RELX,RELT,2,REL) IF((R.NE.-1))GOTO 10118 CALL ERROR('cmp: bad relational operator.') 10118 V=STRCMP(STR1,STR2) IF((RELT(RELX(R)).EQ.V))GOTO 10120 IF((RELT(RELX(R)+1).EQ.V))GOTO 10120 GOTO 10119 10120 STR(1)=177 GOTO 10095 10119 STR(1)=176 10121 GOTO 10095 10122 S1=GCTOI(FCNBUF,I,10) 10123 IF((FCNBUF(I).NE.160))GOTO 10124 I=I+(1) GOTO 10123 10124 J=1 GOTO 10127 10125 I=I+(1) J=J+(1) 10127 IF((FCNBUF(I).EQ.160))GOTO 10126 REL(J)=FCNBUF(I) GOTO 10125 10126 REL(J)=0 S2=GCTOI(FCNBUF,I,10) R=STRLSR(RELX,RELT,2,REL) IF((R.NE.-1))GOTO 10128 CALL ERROR('icmp: bad relational operator.') 10128 AAAAM0=R-1 GOTO 10129 10130 IF((S1.GT.S2))GOTO 10131 STR(1)=177 GOTO 10095 10131 STR(1)=176 10132 GOTO 10095 10134 IF((S1.GE.S2))GOTO 10135 STR(1)=177 GOTO 10095 10135 STR(1)=176 10136 GOTO 10095 10137 IF((S1.NE.S2))GOTO 10138 STR(1)=177 GOTO 10095 10138 STR(1)=176 10139 GOTO 10095 10140 IF((S1.EQ.S2))GOTO 10141 STR(1)=177 GOTO 10095 10141 STR(1)=176 10142 GOTO 10095 10143 IF((S1.LT.S2))GOTO 10144 STR(1)=177 GOTO 10095 10144 STR(1)=176 10145 GOTO 10095 10146 IF((S1.LE.S2))GOTO 10147 STR(1)=177 GOTO 10095 10147 STR(1)=176 10148 GOTO 10095 10129 GOTO(10130,10130,10134,10137,10137,10140,10140,10140,10143, * 10143,10146),AAAAM0 10133 GOTO 10095 10095 STR(2)=0 EVALF0=CTOC(STR,BUF,MAXBUF) GOTO 10149 10093 AAAAN0=AAAAL0-1 GOTO(10096,10094),AAAAN0 IF(AAAAL0.EQ.18)GOTO 10097 AAAAN0=AAAAL0-36 GOTO(10098,10101,10150,10150,10150,10150,10150,10150,10150, * 10150,10150,10150,10104,10150,10150,10150,10122),AAAAN0 10150 AAAAO0=FNUM GOTO 10151 10152 CALL DATE(5,STR) STR(1)=MAPUP(STR(1)) GOTO 10153 10154 CALL DATE(1,STR) GOTO 10153 10155 CALL DATE(2,STR) GOTO 10153 10156 CALL DATE(7,STR) CALL SDROP(STR,STR,INDEX(STR,160)) GOTO 10153 10157 VAL=CTOI(FCNBUF,I) CALL ITOROM(VAL,STR,32) IF((FNUM.NE.23))GOTO 10153 CALL MAPSTR(STR,2) 10158 GOTO 10153 10159 VAL=CTOI(FCNBUF,I) CALL ITOLET(VAL,STR) IF((FNUM.NE.30))GOTO 10153 CALL MAPSTR(STR,2) 10160 GOTO 10153 10161 VAL=CTOI(FCNBUF,I) IF((VAL.LT.1))GOTO 10163 IF((VAL.GT.16))GOTO 10163 GOTO 10162 10163 CALL ERROR(AAAAP0) 10162 STR(1)=VERT(VAL) STR(2)=0 GOTO 10153 10164 VAL=CTOI(FCNBUF,I) IF((AND(VAL,1).NE.0))GOTO 10165 STR(1)=177 GOTO 10166 10165 STR(1)=176 10166 STR(2)=0 GOTO 10153 10167 VAL=CTOI(FCNBUF,I) IF((AND(VAL,1).NE.0))GOTO 10168 STR(1)=176 GOTO 10169 10168 STR(1)=177 10169 STR(2)=0 GOTO 10153 10170 IF((AND(CURPA0,1).NE.0))GOTO 10171 CALL MASSIN(EVENH0,TEMPS0,1454) GOTO 10172 10171 CALL MASSIN(ODDHE0,TEMPS0,1454) 10172 CALL MKTL(TEMPS0,CURPA0,STR,1454) GOTO 10153 10173 CALL MASSIN(EVENH0,TEMPS0,1454) CALL MKTL(TEMPS0,CURPA0,STR,1454) GOTO 10153 10174 CALL MASSIN(ODDHE0,TEMPS0,1454) CALL MKTL(TEMPS0,CURPA0,STR,1454) GOTO 10153 10175 IF((AND(CURPA0,1).NE.0))GOTO 10176 CALL MASSIN(EVENF0,TEMPS0,1454) GOTO 10177 10176 CALL MASSIN(ODDFO0,TEMPS0,1454) 10177 CALL MKTL(TEMPS0,CURPA0,STR,1454) GOTO 10153 10178 CALL MASSIN(EVENF0,TEMPS0,1454) CALL MKTL(TEMPS0,CURPA0,STR,1454) GOTO 10153 10179 CALL MASSIN(ODDFO0,TEMPS0,1454) CALL MKTL(TEMPS0,CURPA0,STR,1454) GOTO 10153 10153 EVALF0=CTOC(STR,BUF,MAXBUF) GOTO 10180 10151 AAAAQ0=AAAAO0-3 GOTO(10154,10152,10181,10156,10181,10181,10181,10181,10181, * 10181,10181,10181,10181,10181,10181,10181,10181,10155,10157, * 10157,10181,10181,10181,10181,10181,10159,10159,10161,10181, * 10181,10181,10181,10181,10164,10167,10181,10181,10181,10181, * 10170,10173,10174,10175,10178,10179),AAAAQ0 10181 AAAAR0=FNUM GOTO 10182 10183 EVALF0=BOFACE(FCNBUF(I),BUF,MAXBUF) GOTO 10184 10185 EVALF0=ITALIC(FCNBUF(I),BUF,MAXBUF) GOTO 10184 10186 EVALF0=UNDERL(FCNBUF(I),BUF,MAXBUF,0) GOTO 10184 10187 EVALF0=UNDERL(FCNBUF(I),BUF,MAXBUF,1) GOTO 10184 10188 BUF(1)=10 EVALF0=CTOC(FCNBUF(I),BUF(2),MAXBUF-2)+2 BUF(EVALF0)=11 BUF(EVALF0+1)=0 GOTO 10184 10189 BUF(1)=11 EVALF0=CTOC(FCNBUF(I),BUF(2),MAXBUF-2)+2 BUF(EVALF0)=10 BUF(EVALF0+1)=0 GOTO 10184 10190 CALL MAPSTR(FCNBUF(I),2) EVALF0=CTOC(FCNBUF(I),BUF,MAXBUF) GOTO 10184 10191 CALL MAPSTR(FCNBUF(I),1) EVALF0=CTOC(FCNBUF(I),BUF,MAXBUF) GOTO 10184 10182 AAAAS0=AAAAR0-23 GOTO(10183,10186,10187,10188,10189,10192,10192,10192,10192 *,10192,10192,10192,10192,10192,10192,10190,10191,10192,10192,10192 *,10192,10192,10192,10192,10192,10192,10192,10192,10192,10192,10192 *,10185),AAAAS0 10192 AAAAT0=FNUM GOTO 10193 10194 NR=CTOI(FCNBUF,I) VAL=GCTOI(FCNBUF,I,10) IF((1.GT.NR))GOTO 10198 IF((NR.GT.200))GOTO 10198 IF((FNUM.NE.17))GOTO 10196 NUMRE0(NR)=VAL GOTO 10197 10196 NUMRE0(NR)=NUMRE0(NR)+(VAL) 10197 CONTINUE 10195 GOTO 10198 10198 BUF(1)=0 EVALF0=0 GOTO 10199 10193 IF(AAAAT0.EQ.1)GOTO 10194 IF(AAAAT0.EQ.17)GOTO 10194 BUF(1)=0 EVALF0=0 CALL REMARK(AAAAU0) 10199 CONTINUE 10184 CONTINUE 10180 CONTINUE 10149 CONTINUE 10091 CONTINUE RETURN END INTEGER FUNCTION EXTRA0(BUF,INDEX,FCNBUF,SIZE) INTEGER INDEX,SIZE INTEGER BUF(1),FCNBUF(SIZE) INTEGER I,J,LEVEL INTEGER AAAAV0 INTEGER AAAAW0 J=1 LEVEL=1 I=INDEX+1 GOTO 10202 10200 I=I+(1) 10202 IF((BUF(I).EQ.0))GOTO 10201 IF((BUF(I).EQ.138))GOTO 10201 AAAAV0=BUF(I) GOTO 10203 10204 IF((BUF(I+1).EQ.0))GOTO 10206 IF((BUF(I+1).EQ.138))GOTO 10206 I=I+(1) 10205 GOTO 10206 10207 LEVEL=LEVEL+(1) GOTO 10206 10208 LEVEL=LEVEL-(1) IF((LEVEL.GT.0))GOTO 10206 GOTO 10201 10203 IF(AAAAV0.EQ.192)GOTO 10204 AAAAW0=AAAAV0-218 GOTO(10207,10210,10208),AAAAW0 10210 CONTINUE 10206 IF((J.GE.SIZE))GOTO 10201 FCNBUF(J)=BUF(I) J=J+(1) GOTO 10200 10201 FCNBUF(J)=0 IF((LEVEL.NE.0))GOTO 10213 INDEX=I EXTRA0=-2 GOTO 10214 10213 EXTRA0=-3 10214 RETURN END INTEGER FUNCTION FINDM0(MACNAM) INTEGER MACNAM(3) COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER I FINDM0=-3 I=FIRST0 GOTO 10217 10215 I=MACBU0(I+3) 10217 IF((I.EQ.-3))GOTO 10216 IF((MACBU0(I).NE.MACNAM(1)))GOTO 10215 IF((MACBU0(I+1).NE.MACNAM(2)))GOTO 10215 FINDM0=I GOTO 10216 10216 RETURN END SUBROUTINE GETNAM(BUF,NAME) INTEGER BUF(1),NAME(3) INTEGER I,J I=1 10219 IF((BUF(I).EQ.160))GOTO 10220 IF((BUF(I).EQ.137))GOTO 10220 IF((BUF(I).EQ.138))GOTO 10220 IF((BUF(I).EQ.0))GOTO 10220 I=I+(1) GOTO 10219 10220 CONTINUE 10221 IF((BUF(I).NE.160))GOTO 10222 I=I+(1) GOTO 10221 10222 J=1 GOTO 10225 10223 J=J+(1) 10225 IF((J.GT.2))GOTO 10228 IF((BUF(I).EQ.160))GOTO 10228 IF((BUF(I).EQ.137))GOTO 10228 IF((BUF(I).EQ.138))GOTO 10228 NAME(J)=BUF(I) I=I+(1) GOTO 10223 10226 J=J+(1) 10228 IF((J.GT.2))GOTO 10227 NAME(J)=160 GOTO 10226 10227 NAME(3)=0 RETURN END SUBROUTINE ITOLET(NUM,LET) INTEGER NUM INTEGER LET(1) IF((NUM.LT.1))GOTO 10230 IF((NUM.GT.26))GOTO 10230 GOTO 10229 10230 LET(1)=191 GOTO 10231 10229 LET(1)=225+NUM-1 10231 LET(2)=0 RETURN END INTEGER FUNCTION ITOROM(VAL,STR,SIZE) INTEGER VAL,SIZE INTEGER STR(SIZE) INTEGER INT,OUT OUT=1 INT=IABS(VAL) IF((VAL.GE.0))GOTO 10232 IF((OUT.GE.SIZE))GOTO 10233 STR(OUT)=173 OUT=OUT+(1) 10233 CONTINUE 10232 CONTINUE 10234 IF((INT.LT.1000))GOTO 10235 IF((OUT.GE.SIZE))GOTO 10236 STR(OUT)=237 OUT=OUT+(1) 10236 INT=INT-(1000) GOTO 10234 10235 IF((INT.LT.900))GOTO 10237 IF((OUT.GE.SIZE))GOTO 10238 STR(OUT)=227 OUT=OUT+(1) 10238 IF((OUT.GE.SIZE))GOTO 10239 STR(OUT)=237 OUT=OUT+(1) 10239 INT=INT-(900) GOTO 10240 10237 IF((INT.LT.500))GOTO 10241 IF((OUT.GE.SIZE))GOTO 10242 STR(OUT)=228 OUT=OUT+(1) 10242 INT=INT-(500) 10241 CONTINUE 10240 IF((INT.LT.400))GOTO 10243 IF((OUT.GE.SIZE))GOTO 10244 STR(OUT)=227 OUT=OUT+(1) 10244 IF((OUT.GE.SIZE))GOTO 10245 STR(OUT)=228 OUT=OUT+(1) 10245 INT=INT-(400) GOTO 10246 10243 CONTINUE 10247 IF((INT.LT.100))GOTO 10248 IF((OUT.GE.SIZE))GOTO 10249 STR(OUT)=227 OUT=OUT+(1) 10249 INT=INT-(100) GOTO 10247 10248 CONTINUE 10246 IF((INT.LT.90))GOTO 10250 IF((OUT.GE.SIZE))GOTO 10251 STR(OUT)=248 OUT=OUT+(1) 10251 IF((OUT.GE.SIZE))GOTO 10252 STR(OUT)=227 OUT=OUT+(1) 10252 INT=INT-(90) GOTO 10253 10250 IF((INT.LT.50))GOTO 10254 IF((OUT.GE.SIZE))GOTO 10255 STR(OUT)=236 OUT=OUT+(1) 10255 INT=INT-(50) 10254 CONTINUE 10253 IF((INT.LT.40))GOTO 10256 IF((OUT.GE.SIZE))GOTO 10257 STR(OUT)=248 OUT=OUT+(1) 10257 IF((OUT.GE.SIZE))GOTO 10258 STR(OUT)=236 OUT=OUT+(1) 10258 INT=INT-(40) GOTO 10259 10256 CONTINUE 10260 IF((INT.LT.10))GOTO 10261 IF((OUT.GE.SIZE))GOTO 10262 STR(OUT)=248 OUT=OUT+(1) 10262 INT=INT-(10) GOTO 10260 10261 CONTINUE 10259 IF((INT.LT.9))GOTO 10263 IF((OUT.GE.SIZE))GOTO 10264 STR(OUT)=233 OUT=OUT+(1) 10264 IF((OUT.GE.SIZE))GOTO 10265 STR(OUT)=248 OUT=OUT+(1) 10265 INT=INT-(9) GOTO 10266 10263 IF((INT.LT.5))GOTO 10267 IF((OUT.GE.SIZE))GOTO 10268 STR(OUT)=246 OUT=OUT+(1) 10268 INT=INT-(5) 10267 CONTINUE 10266 IF((INT.LT.4))GOTO 10269 IF((OUT.GE.SIZE))GOTO 10270 STR(OUT)=233 OUT=OUT+(1) 10270 IF((OUT.GE.SIZE))GOTO 10271 STR(OUT)=246 OUT=OUT+(1) 10271 INT=INT-(4) GOTO 10272 10269 CONTINUE 10273 IF((INT.LT.1))GOTO 10274 IF((OUT.GE.SIZE))GOTO 10275 STR(OUT)=233 OUT=OUT+(1) 10275 INT=INT-(1) GOTO 10273 10274 CONTINUE 10272 STR(OUT)=0 ITOROM=OUT-1 RETURN END SUBROUTINE MACINP(MACNAM,STRTM0) INTEGER MACNAM(3) INTEGER STRTM0 COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER ENNAM(3),LINE(1454) INTEGER LEN INTEGER READLN,SCOPY INTEGER AAAAX0(28) DATA AAAAX0/186,160,237,233,243,243,233,238,231,160,229,238,228,16 *0,239,230,160,228,229,230,233,238,233,244,233,239,238,0/ 10276 LEN=READLN(LINE,1454) IF((LEN.NE.-1))GOTO 10277 CALL RESET0 CALL PUTLIN(MACNAM,-15) CALL ERROR(AAAAX0) 10277 IF((LINE(1).EQ.CMDCH0))GOTO 10279 IF((LINE(1).EQ.NBCCH0))GOTO 10279 GOTO 10278 10279 IF((LINE(2).NE.229))GOTO 10278 IF((LINE(3).NE.238))GOTO 10278 CALL GETNAM(LINE,ENNAM) IF((MACNAM(1).NE.ENNAM(1)))GOTO 10280 IF((MACNAM(2).NE.ENNAM(2)))GOTO 10280 GOTO 10281 10280 CONTINUE 10278 IF((MACTO0+LEN.LE.50000))GOTO 10282 CALL MACGC 10282 MACTO0=MACTO0+(SCOPY(LINE,1,MACBU0,MACTO0)+1) GOTO 10276 10281 IF((MACTO0+8.LE.50000))GOTO 10283 CALL MACGC 10283 MACBU0(MACTO0)=-1 MACBU0(MACTO0+1)=0 MACBU0(MACTO0+2)=MACNAM(1) MACBU0(MACTO0+3)=MACNAM(2) MACBU0(MACTO0+4)=0 MACBU0(MACTO0+5)=FIRST0 MACBU0(MACTO0+6)=-3 MACBU0(MACTO0+7)=STRTM0 IF((MACBU0(MACTO0+2+3).EQ.-3))GOTO 10284 MACBU0(MACBU0(MACTO0+2+3)+4)=MACTO0+2 10284 FIRST0=MACTO0+2 MACTO0=MACTO0+(8) RETURN END SUBROUTINE MACGC COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER SGARB,EGARB,SMAC,EMAC,I,J,K INTEGER AAAAY0(27) INTEGER AAAAZ0(20) DATA AAAAY0/243,240,225,227,229,160,230,239,242,160,237,225,227,24 *2,239,243,160,229,248,232,225,245,243,244,229,228,0/ DATA AAAAZ0/237,225,227,242,239,160,225,242,229,225,160,229,248,22 *7,229,229,228,229,228,0/ SGARB=1 GOTO 10287 10285 SGARB=SGARB+(1) 10287 IF((SGARB.GT.50000))GOTO 10286 IF((MACBU0(SGARB).EQ.0))GOTO 10286 GOTO 10285 10286 IF((SGARB.NE.50000))GOTO 10288 CALL ERROR(AAAAY0) 10288 EGARB=SGARB+1 GOTO 10291 10289 EGARB=EGARB+(1) 10291 IF((MACBU0(EGARB).EQ.0))GOTO 10290 GOTO 10289 10290 SMAC=EGARB+1 10292 EMAC=SMAC GOTO 10295 10293 EMAC=EMAC+(1) 10295 IF((EMAC.GT.50000))GOTO 10294 IF((MACBU0(EMAC).EQ.-1))GOTO 10294 GOTO 10293 10294 IF((MACBU0(EMAC).NE.-1))GOTO 10296 EMAC=EMAC+(7) GOTO 10297 10296 EMAC=MACTO0-1 10297 I=SGARB J=SMAC GOTO 10300 10298 I=I+(1) J=J+(1) 10300 IF((J.GT.EMAC))GOTO 10299 MACBU0(I)=MACBU0(J) GOTO 10298 10299 K=SGARB SGARB=I IF((EMAC.GE.50000))GOTO 10301 IF((MACBU0(EMAC+1).NE.0))GOTO 10301 EGARB=EMAC+2 GOTO 10304 10302 EGARB=EGARB+(1) 10304 IF((MACBU0(EGARB).EQ.0))GOTO 10305 GOTO 10302 10301 EGARB=EMAC 10305 IF((EMAC.NE.MACTO0-1))GOTO 10306 IF((FIRST0.EQ.EMAC-5))GOTO 10306 GOTO 10307 10306 J=J-(5) IF((EMAC.EQ.MACTO0-1))GOTO 10308 FIRST0=J 10308 MACBU0(J+5)=K IF((MACBU0(J+3).EQ.-3))GOTO 10309 MACBU0(MACBU0(J+3)+4)=J 10309 IF((MACBU0(J+4).EQ.-3))GOTO 10310 MACBU0(MACBU0(J+4)+3)=J 10310 SMAC=J 10307 IF((EMAC.NE.MACTO0-1))GOTO 10292 IF((MACTO0+10.LE.50000))GOTO 10311 CALL ERROR(AAAAZ0) 10311 MACTO0=SGARB RETURN END SUBROUTINE MACREL(MACLOC) INTEGER MACLOC COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER I,PRV,NXT NXT=MACBU0(MACLOC+3) PRV=MACBU0(MACLOC+4) IF((NXT.EQ.-3))GOTO 10312 MACBU0(NXT+4)=PRV 10312 IF((PRV.EQ.-3))GOTO 10313 MACBU0(PRV+3)=NXT 10313 I=MACBU0(MACLOC+5) IF((I.EQ.1))GOTO 10314 IF((MACBU0(I-1).NE.0))GOTO 10314 MACBU0(I-1)=160 GOTO 10315 10314 MACBU0(I)=0 10315 I=MACLOC+6 IF((I.GE.50000))GOTO 10316 IF((MACBU0(I).NE.0))GOTO 10316 MACBU0(I)=160 GOTO 10317 10316 MACBU0(MACLOC+5)=0 10317 RETURN END INTEGER FUNCTION MASSIN(BUF,OBUF,SIZE) INTEGER SIZE INTEGER BUF(1),OBUF(SIZE) INTEGER I,J INTEGER EXTRA0,EVALF0 INTEGER FCNBUF(134) J=1 I=1 GOTO 10320 10318 I=I+(1) 10320 IF((BUF(I).EQ.0))GOTO 10319 IF((BUF(I).NE.219))GOTO 10321 IF((EXTRA0(BUF,I,FCNBUF,134).NE.-2))GOTO 10321 J=J+(EVALF0(FCNBUF,OBUF(J),SIZE-J+1)) GOTO 10318 10321 IF((BUF(I).NE.192))GOTO 10323 IF((BUF(I+1).EQ.192))GOTO 10324 IF((BUF(I+1).EQ.219))GOTO 10324 GOTO 10323 10324 I=I+(1) 10323 IF((J.GE.SIZE))GOTO 10325 OBUF(J)=BUF(I) J=J+(1) 10325 CONTINUE 10322 GOTO 10318 10319 OBUF(J)=0 MASSIN=J-1 RETURN END INTEGER FUNCTION RDMAC(BUF,I,SIZE) INTEGER I,SIZE INTEGER BUF(SIZE) COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER CTOC RDMAC=CTOC(MACBU0(I),BUF,SIZE) I=I+(RDMAC+1) IF((BUF(1).NE.-1))GOTO 10326 RDMAC=-1 10326 RETURN END INTEGER FUNCTION TRNARG(ARGNO,BUF,MAXBUF) INTEGER ARGNO,MAXBUF INTEGER BUF(1) COMMON /COUT/OUTPA0,OUTWA0,OUTWD0,OUTBU0(1454) INTEGER OUTPA0,OUTWA0,OUTWD0 INTEGER OUTBU0 COMMON /CPAGE/START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2V *AL0,M3VAL0,M4VAL0,BOTTO0,EVENH0(1454),ODDHE0(1454),EVENF0(1454),OD *DFO0(1454) INTEGER START0,ENDPA0,CURPA0,NEWPA0,LINEN0,PLVAL0,M1VAL0,M2VAL0,M3 *VAL0,M4VAL0,BOTTO0 INTEGER EVENH0,ODDHE0,EVENF0,ODDFO0 COMMON /CPARAM/FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,IN *VAL0,TIVAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL *0,ITVAL0 INTEGER FILLA0,NOSPA0,ADJUS0,DVFLA0,TIWID0,POVAL0,MOVAL0,INVAL0,TI *VAL0,LMVAL0,RMVAL0,BFVAL0,CEVAL0,ULVAL0,LSVAL0,OOVAL0,EOVAL0,ITVAL *0 COMMON /CMISC/HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0(100),FTYPE *0(100),OLIST0(100),OUTFI0,NEXTA0,TABSA0(134),NUMRE0(200),MCOUT0,MC *CHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0(180) INTEGER HYPHE0,EXTRB0,NOBRE0,WORDL0,FPTRA0,FLIST0,FTYPE0,OLIST0,OU *TFI0,NEXTA0,TABSA0,NUMRE0,MCOUT0 INTEGER MCCHA0,TMCCH0,CMDCH0,NBCCH0,REPLC0,TABCH0,FILEN0 COMMON /CMACRO/MACLV0,ARGVA0(100),ARGTO0,FIRST0,MACTO0,MACBU0(5000 *0),ARGBU0(1000) INTEGER MACLV0,ARGVA0,ARGTO0,FIRST0,MACTO0 INTEGER MACBU0,ARGBU0 COMMON /COPTS/STOPM0 INTEGER STOPM0 COMMON /TABCOM/COMTA0,FNTAB0,SPCHA0 INTEGER COMTA0,FNTAB0,SPCHA0 COMMON /DS$MEM/MEMAA0(4090) INTEGER MEMAA0 INTEGER J,K INTEGER CTOC TRNARG=0 IF((ARGNO.LT.0))GOTO 10327 J=ARGNO K=ARGVA0(MACLV0) GOTO 10330 10328 J=J-(1) 10330 IF((K.GE.ARGTO0))GOTO 10329 IF((J.LE.0))GOTO 10329 10331 IF((ARGBU0(K).EQ.0))GOTO 10332 K=K+(1) GOTO 10331 10332 K=K+(1) GOTO 10328 10329 IF((K.GE.ARGTO0))GOTO 10333 TRNARG=CTOC(ARGBU0(K),BUF,MAXBUF) 10333 CONTINUE 10327 RETURN END C ---- Long Name Map ---- C Fill filla0 C Nbcch nbcch0 C Spchartable spcha0 C Cmdch cmdch0 C Curpag curpa0 C Newpag newpa0 C Olist olist0 C tempstr temps0 C Tabs tabsa0 C Tabch tabch0 C Mactop macto0 C Lineno linen0 C Fntable fntab0 C Firstmacro first0 C Argv argva0 C chktrap chktr0 C Evenfooter evenf0 C Adjust adjus0 C Nobreak nobre0 C Bfval bfval0 C Ceval ceval0 C Argtop argto0 C M1val m1val0 C Numreg numre0 C M2val m2val0 C M3val m3val0 C Evenheader evenh0 C M4val m4val0 C Tmcch tmcch0 C Nospace nospa0 C Stopmode stopm0 C processline proce0 C Filename filen0 C Outbuf outbu0 C Bottom botto0 C Fptr fptra0 C Oddfooter oddfo0 C Wordlast wordl0 C Extrablankmode extrb0 C Eoval eoval0 C Macbuf macbu0 C Comtable comta0 C Mem memaa0 C findmac findm0 C Startpage start0 C Oddheader oddhe0 C Inval inval0 C strtmac strtm0 C apndmac apndm0 C Lmval lmval0 C Hyphenation hyphe0 C Dvflag dvfla0 C Mcch mccha0 C extractfcn extra0 C initialize initi0 C Outp outpa0 C Plval plval0 C Moval moval0 C Outfile outfi0 C Tival tival0 C Itval itval0 C Nextarg nexta0 C Argbuf argbu0 C Ooval ooval0 C resetfiles reset0 C Poval poval0 C Rmval rmval0 C Lsval lsval0 C Flist flist0 C Outwds outwd0 C Tiwidth tiwid0 C Ulval ulval0 C evalfcn evalf0 C Outw outwa0 C Endpage endpa0 C Replch replc0 C options optio0 C Ftype ftype0 C Mcout mcout0 C Maclvl maclv0