SUBROUTINE BP INTEGER ADDR, ADRFLG, CUROP, NEXTOP, CFLAG INTEGER PI, XBBL, XA, XF, XZERO, DPVFLG INTEGER LC, LCI, LODLCI, LODLCV, LDLCVO, MAXLCV INTEGER NEXT, NUMBER, I, IOTYPE INTEGER J, K, L, LABNLX, M, N INTEGER PSYMB, SYMBOL, TOP, VALFLG, QVALUE INTEGER OPTOPX, OPNXTX, TOPX, NEXTX INTEGER DUMMY, OVCHN, PEEKS INTEGER LO, CI, CO, LOGICF, LOCSUP INTEGER VAREF, INPUTJ, LCTS, CRUCNT, FLTCNT INTEGER ICLP05 LOGICAL ENDOK,CONEND COMMON /LOGOS/ ADDR, ADRFLG, CUROP, NEXTOP, CFLAG COMMON /LOGOS/ PI, XBBL, XA, XF, XZERO, DPVFLG COMMON /LOGOS/ LC, LCI, LODLCI, LODLCV, LDLCVO, MAXLCV COMMON /LOGOS/ NEXT, NUMBER, I, IOTYPE COMMON /LOGOS/ J, K, L, LABNLX, M, N COMMON /LOGOS/ PSYMB, SYMBOL, TOP, VALFLG, QVALUE COMMON /LOGOS/ OPTOPX, OPNXTX, TOPX, NEXTX COMMON /LOGOS/ DUMMY, OVCHN, PEEKS COMMON /LOGOS/ LO, CI, CO, LOGICF, LOCSUP COMMON /LOGOS/ VAREF, INPUTJ, LCTS, CRUCNT, FLTCNT COMMON /LOGOS/ ICLP05 COMMON /LOGOS/ ENDOK,CONEND LOGICAL MSEEN, SMSEEN, ZFLAG INTEGER SMODE, TPFLAG, DEFMOD, LEVEL INTEGER STOAC, OP COMMON /BPO/ MSEEN, SMSEEN, ZFLAG COMMON /BPO/ SMODE, TPFLAG, DEFMOD, LEVEL COMMON /BPO/ STOAC, OP INTEGER PLEVEL, STOPS (20) INTEGER CNLSID (9), CNLTLI (9), CNLEND (9) INTEGER CLX, CPLOC (30) INTEGER NESTX, PNESTX INTEGER RELLEV, RELCNT, TRUEF LOGICAL RELPAS INTEGER CMPFLG INTEGER ILB INTEGER BRCT, BROK, TNESTX COMMON /COMP/ PLEVEL, STOPS COMMON /COMP/ CNLSID, CNLTLI, CNLEND COMMON /COMP/ CLX, CPLOC COMMON /COMP/ NESTX, PNESTX COMMON /COMP/ RELLEV, RELCNT, TRUEF COMMON /COMP/ RELPAS COMMON /COMP/ CMPFLG COMMON /COMP/ ILB COMMON /COMP/ BRCT, BROK, TNESTX INTEGER GENRET INTEGER MODEX INTEGER RAWMDX INTEGER SPTR INTEGER TSTSTK INTEGER SWAP INTEGER TOPDP INTEGER NEXTDP INTEGER TOPSP INTEGER NEXTSP INTEGER SAVCAL INTEGER OUT INTEGER GETSP INTEGER SMODEX INTEGER SETX INTEGER ICLP02 COMMON /GENC/ GENRET COMMON /GENC/ MODEX COMMON /GENC/ RAWMDX COMMON /GENC/ SPTR COMMON /GENC/ TSTSTK COMMON /GENC/ SWAP COMMON /GENC/ TOPDP COMMON /GENC/ NEXTDP COMMON /GENC/ TOPSP COMMON /GENC/ NEXTSP COMMON /GENC/ SAVCAL COMMON /GENC/ OUT COMMON /GENC/ GETSP COMMON /GENC/ SMODEX COMMON /GENC/ SETX COMMON /GENC/ ICLP02 INTEGER LEVELB, NLEVEL, LLEVEL, ILEVEL, CLEVEL INTEGER ICLP04 COMMON /LEVELS/ LEVELB, NLEVEL, LLEVEL, ILEVEL, CLEVEL COMMON /LEVELS/ ICLP04 INTEGER CODE INTEGER NOUNLC INTEGER DATALC INTEGER COMLOC INTEGER FBLOCK INTEGER ZREL INTEGER ABSLC INTEGER CBTAB (15) INTEGER CBX INTEGER LCTAB (15) COMMON /LCFUNC/ CODE COMMON /LCFUNC/ NOUNLC COMMON /LCFUNC/ DATALC COMMON /LCFUNC/ COMLOC COMMON /LCFUNC/ FBLOCK COMMON /LCFUNC/ ZREL COMMON /LCFUNC/ ABSLC COMMON /LCFUNC/ CBTAB COMMON /LCFUNC/ CBX COMMON /LCFUNC/ LCTAB INTEGER NI, NJ, NK INTEGER NSIZE INTEGER NLX, FNLX, REMNLX, OVNLX, TNAME INTEGER NLSTRT, NLSTOP, NLSIZE, SRCHST INTEGER NTSTRT INTEGER NTSTOP INTEGER NTSIZE INTEGER PARFLG INTEGER SPARFL INTEGER NLWRDS INTEGER TX INTEGER NLENO INTEGER STDMD INTEGER MSHIFT INTEGER REGCNT INTEGER NULLX INTEGER STPTRX INTEGER SPMODE INTEGER DPMODE INTEGER SPECMD INTEGER ENFLAG INTEGER DFINED INTEGER CVALUE INTEGER NLXLCI INTEGER ENEXTD INTEGER NAMAT0 INTEGER NAMCON INTEGER NLMODE INTEGER PARBIT INTEGER OPBIT INTEGER LOCALB INTEGER REGBIT INTEGER EXTBIT INTEGER STRBIT INTEGER DPBIT INTEGER CBIT INTEGER PBIT INTEGER EPBIT INTEGER IOBIT INTEGER ARBIT INTEGER EXDBIT INTEGER TPLBIT INTEGER USEBIT INTEGER LCMASK INTEGER MDMASK INTEGER NAMLOC, REGNUM COMMON /NLIST/ NI COMMON /NLIST/ NJ COMMON /NLIST/ NK COMMON /NLIST/ NSIZE COMMON /NLIST/ NLX COMMON /NLIST/ FNLX COMMON /NLIST/ REMNLX COMMON /NLIST/ OVNLX COMMON /NLIST/ TNAME COMMON /NLIST/ NLSTRT COMMON /NLIST/ NLSTOP COMMON /NLIST/ NLSIZE COMMON /NLIST/ SRCHST COMMON /NLIST/ NTSTRT COMMON /NLIST/ NTSTOP COMMON /NLIST/ NTSIZE COMMON /NLIST/ PARFLG COMMON /NLIST/ SPARFL COMMON /NLIST/ NLWRDS COMMON /NLIST/ TX COMMON /NLIST/ NLENO COMMON /NLIST/ STDMD COMMON /NLIST/ MSHIFT COMMON /NLIST/ REGCNT COMMON /NLIST/ NULLX COMMON /NLIST/ STPTRX COMMON /NLIST/ SPMODE COMMON /NLIST/ DPMODE COMMON /NLIST/ SPECMD COMMON /NLIST/ ENFLAG COMMON /NLIST/ DFINED COMMON /NLIST/ CVALUE COMMON /NLIST/ NLXLCI COMMON /NLIST/ ENEXTD COMMON /NLIST/ NAMAT0 COMMON /NLIST/ NAMCON COMMON /NLIST/ NLMODE COMMON /NLIST/ PARBIT COMMON /NLIST/ OPBIT COMMON /NLIST/ LOCALB COMMON /NLIST/ REGBIT COMMON /NLIST/ EXTBIT COMMON /NLIST/ STRBIT COMMON /NLIST/ DPBIT COMMON /NLIST/ CBIT COMMON /NLIST/ PBIT COMMON /NLIST/ EPBIT COMMON /NLIST/ IOBIT COMMON /NLIST/ ARBIT COMMON /NLIST/ EXDBIT COMMON /NLIST/ TPLBIT COMMON /NLIST/ USEBIT COMMON /NLIST/ LCMASK COMMON /NLIST/ MDMASK COMMON /NLIST/ NAMLOC, REGNUM INTEGER NINE INTEGER COMMA, SEMIC, PERIOD, COLON, FOR, DOOP, WHILE INTEGER RBRACE, LBRACE, RETOP, CRUTCH INTEGER LPAREN, RPAREN, LBK, RBK INTEGER EQUAL, NEQUAL, GTR, GEQ, LESS, LESSEQ, ARROW INTEGER PLUS, MINUS, MULT, DIVIDE, MODOP INTEGER OROP, ANDOP, AOROP, XOROP, AANDOP INTEGER LSHIFT, RSHIFT, LCYCLE, RCYCLE, ALSHFT, ARSHFT INTEGER NEG, UPARO, DNARO, COM INTEGER LOC, GIZZY, QUOTE, ZRL, TEMPL INTEGER SP, DP, ST, HEX INTEGER ATSIGN INTEGER ICLP06 COMMON /OPERS/ NINE COMMON /OPERS/ COMMA, SEMIC, PERIOD, COLON, FOR, DOOP, WHILE COMMON /OPERS/ RBRACE, LBRACE, RETOP, CRUTCH COMMON /OPERS/ LPAREN, RPAREN, LBK, RBK COMMON /OPERS/ EQUAL, NEQUAL, GTR, GEQ, LESS, LESSEQ, ARROW COMMON /OPERS/ PLUS, MINUS, MULT, DIVIDE, MODOP COMMON /OPERS/ OROP, ANDOP, AOROP, XOROP, AANDOP COMMON /OPERS/ LSHIFT, RSHIFT, LCYCLE, RCYCLE, ALSHFT, ARSHFT COMMON /OPERS/ NEG, UPARO, DNARO, COM COMMON /OPERS/ LOC, GIZZY, QUOTE, ZRL, TEMPL COMMON /OPERS/ SP, DP, ST, HEX COMMON /OPERS/ ATSIGN COMMON /OPERS/ ICLP06 INTEGER AREG, XREG, YREG, NRREGS INTEGER STATUS (10), STAREG, STXREG, STYREG INTEGER REGS (10) INTEGER ACTREG (2), ACTLO, ACTHI INTEGER NZREG INTEGER ICLP10 COMMON / REGS / AREG, XREG, YREG, NRREGS COMMON / REGS / STATUS, REGS, ACTREG, NZREG COMMON / REGS / ICLP10 EQUIVALENCE (ACTLO, ACTREG (1)) EQUIVALENCE (ACTHI, ACTREG (2)) EQUIVALENCE (STAREG, STATUS (1)) EQUIVALENCE (STXREG, STATUS (2)) EQUIVALENCE (STYREG, STATUS (3)) INTEGER QUOTEX INTEGER CONTF INTEGER CONTRL INTEGER HEAD INTEGER EJECT INTEGER BLANK INTEGER SLASH INTEGER CARDC INTEGER FLINCT (8) INTEGER EOCC INTEGER ENDCRD (3) INTEGER RECORD (66) INTEGER RECPTR INTEGER SOURCE (150) INTEGER SRCEND INTEGER SLEN INTEGER TF (3) COMMON /SRCE/ QUOTEX COMMON /SRCE/ CONTF COMMON /SRCE/ CONTRL COMMON /SRCE/ HEAD COMMON /SRCE/ EJECT COMMON /SRCE/ BLANK COMMON /SRCE/ SLASH COMMON /SRCE/ CARDC COMMON /SRCE/ FLINCT COMMON /SRCE/ EOCC COMMON /SRCE/ ENDCRD COMMON /SRCE/ RECORD COMMON /SRCE/ RECPTR COMMON /SRCE/ SOURCE COMMON /SRCE/ SRCEND COMMON /SRCE/ SLEN COMMON /SRCE/ TF INTEGER STK (20, 13) INTEGER NAMEX (40) INTEGER OPX, STKSIZ, OCBIT, FUNBIT, SBIAS INTEGER ICLP14 COMMON /SDEFS/ STK, OPX, STKSIZ, OCBIT, FUNBIT, SBIAS COMMON /SDEFS/ ICLP14 EQUIVALENCE (STK (1,1), NAMEX (1)) INTEGER MODE (40), SUBX (20), SUBXM (20), BIAS (40) EQUIVALENCE (STK (1, 3), MODE (1)) EQUIVALENCE (STK (1, 2), SUBX (1)) EQUIVALENCE (STK (1, 4), SUBXM (1)) EQUIVALENCE (STK (1, 5), BIAS (1)) INTEGER LOCFLG (20) EQUIVALENCE (STK (1, 7), LOCFLG (1)) INTEGER OSTACK (20) EQUIVALENCE (STK (1, 8), OSTACK (1)) INTEGER BRACEX, SELX, LSX, SELXB INTEGER FUNCNT, FSCNT, FRCNT, FUNVAL INTEGER NRFLS, ARGSIZ, PARCNT INTEGER BSTACK (10), SUBENT (40) INTEGER FLS (6), PARSAV, FLSAVE (6) INTEGER WHSTRT (30), WHLOW (10), WHHIGH (10) INTEGER LOOPT (10), LOOPE (10), LOOPF (10) COMMON /BRACE/ BRACEX, SELX, LSX, SELXB COMMON /BRACE/ FUNCNT, FSCNT, FRCNT, FUNVAL COMMON /BRACE/ NRFLS, ARGSIZ, PARCNT COMMON /BRACE/ WHSTRT, BSTACK, SUBENT COMMON /BRACE/ FLS, PARSAV, FLSAVE EQUIVALENCE (WHSTRT, LOOPT) EQUIVALENCE (WHLOW, LOOPE, WHSTRT (11)) EQUIVALENCE (WHHIGH, LOOPF, WHSTRT (21)) INTEGER ADCINX INTEGER ANDINX INTEGER ASLINX INTEGER BITINX INTEGER CMPINX INTEGER CPXINX INTEGER CPYINX INTEGER DECINX INTEGER EORINX INTEGER INCINX INTEGER JMPINX INTEGER JSRINX INTEGER LDAINX INTEGER LDXINX INTEGER LDYINX INTEGER LSRINX INTEGER ORAINX INTEGER ROLINX INTEGER RORINX INTEGER SBCINX INTEGER STAINX INTEGER STXINX INTEGER STYINX INTEGER ICLP07 COMMON /OPINX/ ADCINX, ANDINX, ASLINX, BITINX, CMPINX COMMON /OPINX/ CPXINX, CPYINX, DECINX, EORINX, INCINX COMMON /OPINX/ JMPINX, JSRINX, LDAINX, LDXINX, LDYINX COMMON /OPINX/ LSRINX, ORAINX, ROLINX, RORINX, SBCINX COMMON /OPINX/ STAINX, STXINX, STYINX COMMON /OPINX/ ICLP07 INTEGER IOSTEP INTEGER IONX INTEGER PACKET INTEGER IOFLAG INTEGER IOINDX INTEGER IONAME (6) INTEGER ICLP03 COMMON /IOC/ IOSTEP COMMON /IOC/ IONX COMMON /IOC/ PACKET COMMON /IOC/ IOFLAG COMMON /IOC/ IOINDX COMMON /IOC/ IONAME COMMON /IOC/ ICLP03 INTEGER CLRACV INTEGER CLRACX INTEGER CLRSTA INTEGER TRAREG INTEGER SAVREG INTEGER CTFREE INTEGER SETREG INTEGER ICLP11 COMMON /RMCODE/ CLRACV, CLRACX, CLRSTA, TRAREG, SAVREG COMMON /RMCODE/ CTFREE, SETREG COMMON /RMCODE/ ICLP11 INTEGER TS, ISOPX, GACT INTEGER DECODE, NLOPS, ENTNUM INTEGER BPRET INTEGER COP (2) INTEGER FSX, FSTACK (5), FOPX LOGICAL NLTEST DATA COP / 31, 33/ DATA FSX / 0/ 1 MSEEN = .FALSE. CONTINUE 13002 CONTINUE SMSEEN = .FALSE. SMODE = 0 OSTACK (OPX) = 0 2 CONTINUE 13004 CONTINUE CALL ADVAN 25 IF (NEXTOP .EQ. CONTRL) RETURN IF (.NOT. (NEXTOP .EQ. TEMPL))GO TO 13006 CALL PEEK IF (LOGICF .NE. 0 .OR. PEEKS .NE. LBK) CALL FAULTP (49) TPFLAG = TPLBIT GO TO 13004 13006 CONTINUE IF (.NOT. (NEXTOP .EQ. ZRL))GO TO 13008 CALL PEEK IF (LOGICF .NE. 0 .OR. PEEKS .NE. LBRACE) CALL FAULTP (68) ZFLAG = .TRUE. GO TO 13004 13008 CONTINUE IF (.NOT. (NEXTOP .GE. ST))GO TO 13010 IOTYPE = NEXTOP GO TO 13004 13010 CONTINUE IF (.NOT.(NEXTOP .GE. SP))GO TO 13005 SMODE = NEXTOP DEFMOD = SMODE - SP SMSEEN = .TRUE. MSEEN = .TRUE. IF (.NOT. (NAMEX (OPX) .NE. 0))GO TO 13012 CALL FAULTP (16) 13012 CONTINUE GO TO 13004 13005 CONTINUE IF (.NOT. (NAMEX (OPX) .EQ. 0 .AND. ISHFT (OSTACK (OPX-1), -10) .L 1E. 10))GO TO 13014 IF (NEXTOP .EQ. PLUS) GOTO 2 IF (NEXTOP .EQ. MINUS) NEXTOP = NEG 13014 CONTINUE IF (.NOT. (SMODE .NE. 0))GO TO 13016 SMODE = 0 TS = DEFMOD GO TO 13017 13016 CONTINUE NLX = NAMEX (OPX) IF (.NOT. (NLX .EQ. 0))GO TO 13018 TS = STDMD GO TO 13019 13018 CONTINUE IF (.NOT. (NLTEST (NLX, CBIT) .AND. .NOT. NLTEST (NLX, DPBIT) .AND 1.DEFMOD .NE. DPMODE))GO TO 13020 TS = DEFMOD GO TO 13021 13020 CONTINUE TS = NLOPS (NLMODE, NLX) 13021 CONTINUE 13019 CONTINUE 13017 CONTINUE MODE (OPX) = TS IF (.NOT. (LOCFLG (OPX) .NE. 0))GO TO 13022 MODE (OPX) = DPMODE 13022 CONTINUE CALL DUMST ('BP2 ') OPX = OPX + 1 100 LEVEL = DECODE (1, NEXTOP) IF (.NOT. (LEVEL .NE. 2))GO TO 13024 BPRET=1 GO TO 700 101 GO TO 800 102 GO TO 900 103 IF (.NOT. (LEVEL .EQ. 4))GO TO 13026 TS = DECODE (2, NEXTOP) GO TO ( 3, 9, 9, 200, 300), TS 13026 CONTINUE GO TO 13025 13024 CONTINUE IF (.NOT. (NEXTOP .EQ. LBK))GO TO 13028 CALL PEEK IF (PEEKS .EQ. RBK) CALL FAULTP (41) 13028 CONTINUE IF (.NOT. (NEXTOP .EQ. LPAREN))GO TO 13030 PLEVEL = PLEVEL + 1 STOPS (PLEVEL) = CLX IF (.NOT. (NAMEX (OPX-1) .NE. 0))GO TO 13032 IF (LEVELB .EQ. LLEVEL .OR. LEVELB .EQ. ILEVEL) GO TO 400 CALL FAULTP (4) NAMEX (OPX-1) = 0 CALL SCAN (RPAREN, 0, 0) PLEVEL = PLEVEL - 1 GO TO 100 13032 CONTINUE GO TO 13031 13030 CONTINUE IF (.NOT. (NEXTOP .EQ. LOC))GO TO 13034 OPX = OPX - 1 CALL ADVAN MODE (OPX) = DPMODE LOCFLG (OPX) = 1 GO TO 25 13034 CONTINUE 13031 CONTINUE 13025 CONTINUE IF (NEXTOP .EQ. ARROW) LEVEL = 22 OSTACK (OPX-1) = ISHFT (LEVEL, 10) + ISHFT (CFLAG, -3) + NEXTOP GO TO 13002 3 IF (.NOT. (IAND (OSTACK (OPX-2), 63) .EQ. LBK))GO TO 13036 CALL FAULTP (60) OPX = OPX - 1 13036 CONTINUE IF (FSX .NE. 0) GO TO 410 RETURN 9 CALL FATAL (6) RETURN 200 IF (.NOT. (IAND (OSTACK (OPX-2), 63) .NE. LPAREN))GO TO 13038 CALL FAULTP (62) GO TO 13039 13038 CONTINUE PLEVEL = PLEVEL - 1 IF (IAND (OSTACK (OPX-2), FUNBIT) .NE. 0) GO TO 3 OPX = OPX - 1 ISOPX = OPX + 20 CALL MSTAK (OPX, OPX - 1) NAMEX (OPX) = 0 OSTACK (OPX-1) = OSTACK (OPX) DO 13040 I = 1, NRREGS IF (.NOT. (STATUS (I) .GE. OPX .AND. STATUS (I) .LE. STKSIZ .OR. S 1TATUS (I) .GE. ISOPX))GO TO 13042 STATUS (I) = STATUS (I) - 1 13042 CONTINUE 13040 CONTINUE 13039 CONTINUE 250 LEVEL = CFLAG CALL ADVAN CALL DUMST ('BPFR') CFLAG = LEVEL IF (NAMEX (OPX) .NE. 0 .OR. DECODE (1, NEXTOP) .EQ. 2) CALL FAULTP 1 (3) GO TO 100 300 IF (.NOT. (IAND (OSTACK (OPX-2), 63) .NE. LBK))GO TO 13044 CALL FAULTP (61) GO TO 13045 13044 CONTINUE OPX = OPX - 1 NEXTX = OPX IF (.NOT. (SUBX (OPX) .NE. 0 .OR. BIAS (OPX) .NE. 0 .OR. LOCFLG (O 1PX) .NE. 0))GO TO 13046 CALL GENER (SETX) IF (.NOT. (LOGICF .EQ. 0))GO TO 13048 CALL FAULTP (11) GO TO 13049 13048 CONTINUE CALL SETUP (LDAINX, OPX) CALL GEN (COM+1, OPX, OPX) CALL REGMAN (CLRACX, AREG, 0) TS = MODE (OPX) CALL CLRSTK (OPX) NAMEX (OPX) = REGS (AREG) MODE (OPX) = TS STATUS (AREG) = OPX 13049 CONTINUE 13046 CONTINUE BIAS (OPX-1) = SBIAS SBIAS = 0 OPTOPX = NAMEX (OPX) IF (.NOT. (OPTOPX .NE. 0))GO TO 13050 IF (.NOT. (NLTEST (OPTOPX, CBIT)))GO TO 13052 BIAS (OPX-1) = BIAS (OPX-1) + NLOPS (CVALUE, OPTOPX) GO TO 13053 13052 CONTINUE IF (.NOT. (NLTEST (OPTOPX, REGBIT)))GO TO 13054 TS = NLOPS (REGNUM, OPTOPX) IF (.NOT. (STATUS (TS) .NE. 0))GO TO 13056 STATUS (TS) = STATUS (TS) + 19 13056 CONTINUE 13054 CONTINUE SUBX (OPX-1) = OPTOPX SUBXM (OPX-1) = MODE (OPX) NAMEX (OPX) = 0 13053 CONTINUE 13050 CONTINUE 13045 CONTINUE OSTACK (OPX-1) = 0 IF (NAMEX (OPX-1) .EQ. 0) NAMEX (OPX-1) = NULLX NLX = NAMEX (OPX-1) IF (NLTEST (NLX, CBIT + REGBIT)) CALL FAULTP (65) CALL ADVAN CALL DUMST ('BP ]') STOAC = 0 BPRET=2 GO TO 700 310 IF (NAMEX (OPX) .NE. 0) CALL FAULTP (32) CUROP = IAND (OSTACK (OPX-2), 63) GO TO 100 400 FSX = FSX + 1 FSTACK (FSX) = OPX IF (CUROP .EQ. ARROW) CALL FAULTP (8) CALL PEEK IF (.NOT. (PEEKS .NE. RPAREN))GO TO 13058 CONTINUE 13060 CONTINUE OSTACK (OPX-1) = 1024 + LPAREN + FUNBIT DEFMOD = STDMD STOAC = 0 GO TO 1 410 NLX = NAMEX (OPX-1) IF (.NOT. (NLTEST (NLX, REGBIT)))GO TO 13062 TS = NLOPS (REGNUM, NLX) IF (STATUS (TS) .EQ. 0) STATUS (TS) = OPX - 1 CALL GENER (SAVCAL) 13062 CONTINUE IF (.NOT.(NEXTOP .EQ. COMMA))GO TO 13061 GO TO 13060 13061 CONTINUE IF (NEXTOP .NE. RPAREN) CALL FAULTP (60) GO TO 13059 13058 CONTINUE PLEVEL = PLEVEL - 1 CALL FNZS 13059 CONTINUE FOPX = OPX - 1 OPX = FSTACK (FSX) FSX = FSX - 1 IF (.NOT. (OPX .LE. FOPX))GO TO 13064 CALL GENER (SAVCAL) TS = FOPX - OPX + 1 K = FOPX 13068 IF (.NOT.(K .GE. OPX))GO TO 13067 TOPX = K + 1 NEXTX = K CALL CLRSTK (TOPX) NAMEX (TOPX) = FLS (TS) MODE (TOPX) = DPMODE MODE (NEXTX) = DPMODE LOCFLG (NEXTX) = 1 NEXTOP = COMMA CALL REGMAN (CLRSTA, 0, 0) CALL SETUP (LDAINX, NEXTX) CALL SETUP (STAINX, TOPX) CALL GEN (ARROW, NEXTX, TOPX) CALL REGMAN (CLRSTA, 0, 0) TS = TS - 1 K = K - 1 GO TO 13068 13067 CONTINUE NAMEX (OPX) = 0 13064 CONTINUE CALL DUMST ('FUNC') OPX = OPX - 1 CALL GENT (1) ACTLO = AREG IF (.NOT. (MODE (OPX) .EQ. DPMODE))GO TO 13069 ACTHI = AREG ACTLO = XREG 13069 CONTINUE OPX = OPX + 1 CALL GENER (OUT) CALL REGSRC (6, REGS, SPMODE, 0, 0, 0, NZREG) STOAC = 1 GO TO 250 700 IF (.NOT. (LOCFLG (OPX-1) .NE. 0 .AND. SUBX (OPX-1) .EQ. 0))GO TO 113071 IF (.NOT. (NLOPS (NLXLCI, NAMEX (OPX-1)) .EQ. ABSLC))GO TO 13073 NLX = NAMEX (OPX-1) NUMBER = NLOPS (NAMLOC, NLX) + BIAS (OPX-1) NAMEX (OPX-1) = ENTNUM (DUMMY) BIAS (OPX-1) = 0 LOCFLG (OPX-1) = 0 13073 CONTINUE 13071 CONTINUE GOTO (101,310),BPRET 800 IF (.NOT. (LEVEL .EQ. 10 .AND. NEXTOP .NE. ARROW))GO TO 13075 RELLEV = PLEVEL RELPAS = .TRUE. GO TO 13076 13075 CONTINUE IF (.NOT. (LEVEL .EQ. 6))GO TO 13077 IF (.NOT. (RELPAS .AND. PLEVEL .LE. RELLEV))GO TO 13079 RELCNT = RELCNT + 1 RELPAS = .FALSE. GO TO 13080 13079 CONTINUE NEXTOP = COP (NEXTOP - 28) LEVEL = DECODE (1, NEXTOP) 13080 CONTINUE 13077 CONTINUE 13076 CONTINUE GO TO 102 900 CONTINUE 13081 CONTINUE TS = ISHFT (OSTACK (OPX-2), -10) IF (.NOT.(TS .GE. LEVEL))GO TO 13082 OPX = OPX - 1 TOPX = OPX NEXTX = TOPX - 1 OP = IAND (OSTACK (NEXTX), 63) CALL DUMST ('POP ') CALL GENER (SETX) STOAC = 0 TS = DECODE (2, OP) GO TO ( 3, 999, 999, 999, 999, 960, 970, 970, 970, 980, 970, 970, 1 970, 970, 970, 990), TS 960 IF (.NOT. ( (OP .EQ. LESS .OR. OP .EQ. GTR) .AND. OPNXTX .EQ. 0))G 1O TO 13083 IOFLAG = 1 GO TO 3 13083 CONTINUE CALL LCOMP (1) NAMEX (OPX) = 0 GO TO 13081 970 CONTINUE CALL CODE2 (TS) CALL DUMST ('POP1') GO TO 13081 980 NAMEX (OPX) = 0 GO TO 13081 990 TS = OP OP = MINUS CALL CODE2 (8) OP = TS NAMEX (OPX) = 0 GO TO 13081 13082 CONTINUE GO TO 103 999 CALL FATAL (6) RETURN END