INTEGER ACSEQ , ACTION, AELSE , AFSEQ , AGCONT, AGGOTO INTEGER AGRET , AGSTNO, AMSEQ ,ASSEQ , ATSEQ INTEGER BLN , NOCALL, CHC , CHSPAC, CHZERO INTEGER CLASS , CONTNO, DUMMY , ELSNO , ENDNO , ENTNO INTEGER ERRCL , ERROR , ERRSTK, ERSTOP, EXTYPE, FLXNO INTEGER FORTCL, GGOTON, GOTONO, GSTNO , HASH , HOLDNO INTEGER I , ITEMP , J , L , LEVEL , LINENO INTEGER LL , LP , LR , LT INTEGER LISTCL, LOOPNO, LSTLEV, LWIDTH, MAJCNT INTEGER MAX , MAXSTK, MINCNT, MLINE , NCHPWD, NEWNO INTEGER NEXTNO, NUNITS, NXIFNO, OFFSET, OFFST2, P INTEGER PARAM1, PARAM2, PARAM3, PARAM4, PDUMMY, PENT INTEGER PRIME , PTABLE, Q , QM , QP , READ INTEGER REFNO , RETNO , RETRY , S , SAFETY, SASSN1 INTEGER SASSN2, SB , SB5I1 , SB6 , SB6I , SB7 , SBGOTO INTEGER SCONT INTEGER SCOMMA, SCP , SDASH , SDOST , SDUM , SEEDNO, SEQ INTEGER SETUP , SFLX , SFORCE, SGOTO , SGOTOI, SGUP1 INTEGER SGOTOP INTEGER SGUP2 , SHOLD , SIF , SIFP , SIFPN , SLIST INTEGER SNE , SOURCE, SPB , SPGOTO, SPINV , SPUTGO INTEGER SRP , SRTN , SSPACR, SST , SSTMAX, SSTOP INTEGER SRPCI INTEGER STACK , STNO , SVER , TCEXP , TCOND , TDO INTEGER TELSE , TEND , TESTNO, TEXEC , TFIN , TFORT INTEGER TIF , TINVOK, TMAX , TOP , TOPNO , TOPTYP INTEGER TRUNTL, TRWHIL, TSELCT, TTO , TUNLES, TUNTIL INTEGER TWHEN , TWHILE, UDO , UEXP , UFORT , ULEN INTEGER UOWSE , UPINV , USTART, UTYPE , WWIDTH LOGICAL COGOTO, FAKE , LONG LOGICAL DONE , ENDFIL, ENDPGM, ERLST , FIRST , FOUND , INSERT LOGICAL NOPGM , NOTFLG, PASS , SAVED ,SHORT , STREQ , STRLT DIMENSION UTYPE(3), USTART(3), ULEN(3) DIMENSION STACK(2000) DIMENSION ERRSTK(5) COMMON BLN , CLASS , DONE , ENDFIL, ENDPGM, ERLST COMMON ERROR , ERRSTK, ERSTOP, EXTYPE, FIRST , FLXNO COMMON FOUND , HOLDNO, LEVEL , LINENO, LSTLEV, MAJCNT COMMON MINCNT, MLINE , NOPGM , NUNITS, PASS , PTABLE, QP COMMON REFNO , SAVED , SFLX , SHOLD , SLIST , SOURCE COMMON SPINV , SPUTGO, SST , STACK , TOP , ULEN COMMON USTART, UTYPE , WWIDTH COMMON /PARAM/ PARAM1, PARAM2, PARAM3, PARAM4 DIMENSION SFLX (51) DIMENSION SHOLD (51) DIMENSION SLIST (101) DIMENSION SPINV (41) DIMENSION SPUTGO (11) DIMENSION SST (101) DIMENSION SASSN1 (8) DIMENSION SASSN2 (4) DIMENSION SB (2) DIMENSION SB5I1 (4) DIMENSION SB6 (4) DIMENSION SB7 (5) DIMENSION SB6I (5) DIMENSION SBGOTO (5) DIMENSION SCOMMA (2) DIMENSION SCONT (5) DIMENSION SCP (2) DIMENSION SDOST (6) DIMENSION SDASH (21) DIMENSION SDUM (9) DIMENSION SEQ (2) DIMENSION SFORCE (8) DIMENSION SGOTO (7) DIMENSION SGOTOI (8) DIMENSION SGOTOP (8) DIMENSION SGUP1 (30) DIMENSION SGUP2 (23) DIMENSION SIF (5) DIMENSION SIFP (6) DIMENSION SIFPN (8) DIMENSION SNE (3) DIMENSION SPB (2) DIMENSION SPGOTO (5) DIMENSION SRP (2) DIMENSION SRPCI (3) DIMENSION SRTN (7) DIMENSION SSPACR (3) DIMENSION SSTOP (9) DIMENSION SVER (12) DATA FORTCL /1/, LISTCL /2/, ERRCL /3/ DATA ACSEQ/1/, AELSE/2/, AFSEQ/3/, AGCONT/4/, AGGOTO/5/ DATA AGSTNO/6/, AMSEQ/7/, AGRET/8/, ASSEQ/9/, ATSEQ/10/ DATA UEXP/1/, UFORT/2/, UOWSE/3/, UPINV/4/, UDO/5/ DATA TCEXP/1/, TELSE/2/, TEND/3/, TEXEC/4/, TFIN/5/, TTO/6/ DATA TCOND/1/, TDO/2/, TFORT/3/, TIF/4/, TINVOK/5/, TRUNTL/6/ DATA TRWHIL/7/, TSELCT/8/, TUNLES/9/, TUNTIL/10/, TWHEN/11/ DATA TWHILE/12/ DATA SETUP /1/, RETRY /2/, READ /3/ DATA CHC /67/ DATA LWIDTH / 80/ DATA MAXSTK /2000/ DATA NCHPWD /2/ DATA PRIME /53/ DATA SAFETY /35/ DATA SEEDNO /32760/ DATA LONG /.FALSE./ DATA SHORT /.TRUE./ DATA FAKE /.FALSE./ DATA COGOTO /.FALSE./ DATA CHSPAC /32/ DATA CHZERO /48/ DATA SSTMAX /200/ DATA SASSN1 / 13, 2H , 2H , 2H , 2HAS, 2HSI, 2HGN, 1H / DATA SASSN2 / 5, 2H T, 2HO , 1HI/ DATA SB / 1, 1H / DATA SB5I1 / 6, 2H , 2H , 2H 1/ DATA SB6 / 6, 2H , 2H , 2H / DATA SB7 / 7, 2H , 2H , 2H , 1H / DATA SB6I / 7, 2H , 2H , 2H , 1HI/ DATA SBGOTO / 7, 2H G, 2HO , 2HTO, 1H / DATA SCOMMA / 1, 1H,/ DATA SCONT / 8, 2HCO, 2HNT, 2HIN, 2HUE/ DATA SCP / 2, 2H,(/ DATA SDOST / 9, 2H , 2H , 2H , 2HDO, 1H / DATA SDASH / 40, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H-- 1 , 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H-- 1 , 2H--, 2H--, 2H--, 2H--/ DATA SDUM / 15, 2HDU, 2HMM, 2HY-, 2HPR, 2HOC, 2HED, 2HUR, 1HE/ DATA SEQ / 1, 1H=/ DATA SFORCE / 14, 2H , 2H , 2H , 2HCO, 2HNT, 2HIN, 2HUE/ DATA SGOTO / 12, 2H , 2H , 2H , 2HGO, 2H T, 2HO / DATA SGOTOI / 13, 2H , 2H , 2H , 2HGO, 2H T, 2HO , 1HI/ DATA SGOTOP / 13, 2H , 2H , 2H , 2HGO, 2H T, 2HO , 1H(/ DATA SGUP1 / 57, 2H**, 2H**, 2H* , 2HTR, 2HAN, 2HSL, 2HAT, 2HOR 1 , 2H H, 2HAS, 2H U, 2HSE, 2HD , 2HUP, 2H I, 2HTS 1 , 2H A, 2HLL, 2HOT, 2HED, 2H S, 2HPA, 2HCE, 2H F 1 , 2HOR, 2H T, 2HAB, 2HLE, 1HS/ DATA SGUP2 / 44, 2H**, 2H**, 2H* , 2HTR, 2HAN, 2HSL, 2HAT, 2HIO 1 , 2HN , 2HMU, 2HST, 2H T, 2HER, 2HMI, 2HNA, 2HTE 1 , 2H I, 2HMM, 2HED, 2HIA, 2HTE, 2HLY/ DATA SIF / 8, 2H , 2H , 2H , 2HIF/ DATA SIFP / 9, 2H , 2H , 2H , 2HIF, 1H(/ DATA SIFPN / 14, 2H , 2H , 2H , 2HIF, 2H(., 2HNO, 2HT./ DATA SNE / 4, 2H.N, 2HE./ DATA SPB / 2, 2H) / DATA SPGOTO / 8, 2H) , 2HGO, 2H T, 2HO / DATA SRP / 1, 1H)/ DATA SRPCI / 4, 2H),, 2H I/ DATA SRTN / 12, 2H , 2H , 2H , 2HRE, 2HTU, 2HRN/ DATA SSPACR / 3, 2H. , 1H / DATA SSTOP / 15, 2H , 2H , 2H , 2HCA, 2HLL, 2H E, 2HXI, 1HT/ DATA SVER / 21, 2H(F, 2HLE, 2HCS, 2H V, 2HER, 2HSI, 2HON, 2H 2 1 , 2H2., 2H34, 1H)/ ASSIGN 32758 TO I32759 GO TO 32759 32758 GO TO 32756 32757 IF(DONE) GO TO 32755 32756 NOCALL=NOCALL+1 CALL OPENF(NOCALL,DONE,SVER) IF(DONE) GO TO 32754 ENDFIL=.FALSE. MINCNT=0 MAJCNT=0 LINENO=0 GO TO 32752 32753 IF(ENDFIL) GO TO 32751 32752 ASSIGN 32749 TO I32750 GO TO 32750 32749 ASSIGN 32747 TO I32748 GO TO 32748 32747 GO TO 32753 32751 CALL CLOSEF(MINCNT,MAJCNT) 32754 GO TO 32757 32755 CALL EXIT 32746 ASSIGN 32744 TO I32745 GO TO 32745 32744 ASSIGN 32742 TO I32743 GO TO 32743 32742 IF(.NOT.(UTYPE(1).EQ.UEXP)) GO TO 32740 GOTONO=NEWNO(0) STACK(TOP-2)=GOTONO ASSIGN 32738 TO I32739 GO TO 32739 32738 GO TO 32741 32740 STACK(TOP-2)=0 32741 ASSIGN 32736 TO I32737 GO TO 32737 32736 GO TO I32746 32735 TOP=TOP+4 STACK(TOP)=ACSEQ STACK(TOP-1)=LINENO STACK(TOP-2)=0 STACK(TOP-3)=0 LEVEL=LEVEL+1 ASSIGN 32734 TO I32743 GO TO 32743 32734 GO TO I32735 32733 CONTNO=NEWNO(0) ASSIGN 32731 TO I32732 GO TO 32732 32731 CALL CPYSTR(SST,SDOST) CALL CATNUM(SST,CONTNO) CALL CATSTR(SST,SB) CALL CATSUB(SST,SFLX,USTART(1)+1,ULEN(1)-2) STNO=FLXNO FLXNO=0 ASSIGN 32729 TO I32730 GO TO 32730 32729 ASSIGN 32728 TO I32737 GO TO 32737 32728 GO TO I32733 32727 TOP=TOP-2 ASSIGN 32726 TO I32743 GO TO 32743 32726 IF(.NOT.(NUNITS.EQ.1)) GO TO 32724 IF(.NOT.(UTYPE(1).EQ.UPINV)) GO TO 32722 ASSIGN 32720 TO I32721 GO TO 32721 32720 GO TO 32723 32722 CALL CPYSUB(SST,SFLX,USTART(1),ULEN(1)) IF(STREQ(SST,SCONT)) GO TO 32719 ASSIGN 32717 TO I32718 GO TO 32718 32717 CONTINUE 32719 CONTINUE 32723 GO TO 32725 32724 ASSIGN 32715 TO I32716 GO TO 32716 32715 CONTINUE 32725 GO TO I32727 32714 ASSIGN 32712 TO I32713 GO TO 32713 32712 IF(.NOT.(LONG.OR.COGOTO)) GO TO 32711 ASSIGN 32709 TO I32710 GO TO 32710 32709 CONTINUE 32711 ASSIGN 32707 TO I32708 GO TO 32708 32707 IF (ENDFIL) ERROR=25 ENDPGM=.TRUE. GO TO I32714 32706 IF((TFORT).NE.(EXTYPE)) GO TO 32704 ASSIGN 32703 TO I32708 GO TO 32708 32703 GO TO 32705 32704 IF((TIF).NE.(EXTYPE)) GO TO 32702 ASSIGN 32700 TO I32701 GO TO 32701 32700 GO TO 32705 32702 IF((TUNLES).NE.(EXTYPE)) GO TO 32699 ASSIGN 32697 TO I32698 GO TO 32698 32697 GO TO 32705 32699 IF((TWHEN).NE.(EXTYPE)) GO TO 32696 ASSIGN 32694 TO I32695 GO TO 32695 32694 GO TO 32705 32696 IF((TWHILE).NE.(EXTYPE)) GO TO 32693 ASSIGN 32691 TO I32692 GO TO 32692 32691 GO TO 32705 32693 IF((TUNTIL).NE.(EXTYPE)) GO TO 32690 ASSIGN 32688 TO I32689 GO TO 32689 32688 GO TO 32705 32690 IF((TRWHIL).NE.(EXTYPE)) GO TO 32687 ASSIGN 32685 TO I32686 GO TO 32686 32685 GO TO 32705 32687 IF((TRUNTL).NE.(EXTYPE)) GO TO 32684 ASSIGN 32682 TO I32683 GO TO 32683 32682 GO TO 32705 32684 IF((TINVOK).NE.(EXTYPE)) GO TO 32681 ASSIGN 32680 TO I32721 GO TO 32721 32680 GO TO 32705 32681 IF((TCOND).NE.(EXTYPE)) GO TO 32679 ASSIGN 32678 TO I32735 GO TO 32735 32678 GO TO 32705 32679 IF((TSELCT).NE.(EXTYPE)) GO TO 32677 ASSIGN 32675 TO I32676 GO TO 32676 32675 GO TO 32705 32677 IF((TDO).NE.(EXTYPE)) GO TO 32674 ASSIGN 32673 TO I32733 GO TO 32733 32673 CONTINUE 32674 CONTINUE 32705 GO TO I32706 32718 STNO=FLXNO CALL CPYSTR(SST,SB6) IF(.NOT.(UTYPE(1).EQ.UFORT)) GO TO 32671 J=1 GO TO 32672 32671 J=2 32672 CALL CATSUB(SST,SFLX,USTART(J),ULEN(J)) ASSIGN 32670 TO I32730 GO TO 32730 32670 GO TO I32718 32701 IF(.NOT.(NUNITS.EQ.2.AND.UTYPE(2).EQ.UFORT)) GO TO 32668 ASSIGN 32667 TO I32708 GO TO 32708 32667 GO TO 32669 32668 ASSIGN 32665 TO I32666 GO TO 32666 32665 CONTINUE 32669 GO TO I32701 32721 ASSIGN 32663 TO I32664 GO TO 32664 32663 ENTNO=STACK(PENT+1) RETNO=NEWNO(0) MAX=MAX-(1+OFFSET) STACK(MAX+1)=STACK(PENT+3) STACK(PENT+3)=MAX+1 STACK(MAX+2)=LINENO IF (LONG.OR.COGOTO) STACK(MAX+3)=RETNO IF(.NOT.(COGOTO)) GO TO 32661 STACK(PENT-2)=STACK(PENT-2)+1 CALL CPYSTR(SST,SB6I) CALL CATNUM(SST,ENTNO) CALL CATSTR(SST,SEQ) CALL CATNUM(SST,STACK(PENT-2)) GO TO 32662 32661 CALL CPYSTR(SST,SASSN1) CALL CATNUM(SST,RETNO) CALL CATSTR(SST,SASSN2) CALL CATNUM(SST,ENTNO) 32662 STNO=FLXNO ASSIGN 32660 TO I32730 GO TO 32730 32660 GOTONO=ENTNO ASSIGN 32658 TO I32659 GO TO 32659 32658 NEXTNO=RETNO GO TO I32721 32683 NOTFLG=.FALSE. ASSIGN 32657 TO I32686 GO TO 32686 32657 GO TO I32683 32686 ASSIGN 32656 TO I32743 GO TO 32743 32656 TESTNO=NEWNO(0) TOPNO=NEWNO(0) ENDNO=NEWNO(0) GOTONO=TOPNO ASSIGN 32655 TO I32659 GO TO 32659 32655 STNO=TESTNO GOTONO=ENDNO ASSIGN 32654 TO I32739 GO TO 32739 32654 GSTNO=ENDNO ASSIGN 32652 TO I32653 GO TO 32653 32652 GGOTON=TESTNO ASSIGN 32650 TO I32651 GO TO 32651 32650 NEXTNO=TOPNO ASSIGN 32649 TO I32737 GO TO 32737 32649 GO TO I32686 32676 ASSIGN 32648 TO I32743 GO TO 32743 32648 LEVEL=LEVEL+1 L=(ULEN(1)-1)/NCHPWD+6 TOP=TOP+L+1 IF(.NOT.(TOP+SAFETY.LT.MAX)) GO TO 32646 STACK(TOP)=ASSEQ STACK(TOP-1)=LINENO STACK(TOP-2)=0 STACK(TOP-3)=0 STACK(TOP-4)=L STACK(TOP-L)=0 CALL CATSUB(STACK(TOP-L),SFLX,USTART(1),ULEN(1)) GO TO 32647 32646 ASSIGN 32644 TO I32645 GO TO 32645 32644 CONTINUE 32647 GO TO I32676 32643 LEVEL=LEVEL-1 ASSIGN 32642 TO I32743 GO TO 32743 32642 STNO=STACK(TOP-2) IF(STNO.EQ.0) GO TO 32641 ASSIGN 32639 TO I32640 GO TO 32640 32639 CONTINUE 32641 ASSIGN 32637 TO I32638 GO TO 32638 32637 NEXTNO=STACK(TOP-3) ASSIGN 32635 TO I32636 GO TO 32636 32635 GO TO I32643 32634 ASSIGN 32633 TO I32745 GO TO 32745 32633 ASSIGN 32632 TO I32743 GO TO 32743 32632 IF(.NOT.(UTYPE(1).EQ.UEXP)) GO TO 32630 CALL CPYSTR(SST,SIFP) CALL CATSUB(SST,SFLX,USTART(1),ULEN(1)) CALL CATSTR(SST,SNE) I=STACK(TOP-4) CALL CATSTR(SST,STACK(TOP-I)) CALL CATSTR(SST,SPGOTO) NXIFNO=NEWNO(0) STACK(TOP-2)=NXIFNO CALL CATNUM(SST,NXIFNO) STNO=0 ASSIGN 32629 TO I32730 GO TO 32730 32629 GO TO 32631 32630 STACK(TOP-2)=0 32631 ASSIGN 32628 TO I32737 GO TO 32737 32628 GO TO I32634 32627 ASSIGN 32626 TO I32743 GO TO 32743 32626 LEVEL=LEVEL-1 TOP=TOP-2 GO TO I32627 32625 ASSIGN 32624 TO I32664 GO TO 32664 32624 IF(.NOT.(STACK(PENT+2).NE.0)) GO TO 32622 ERROR=26 MLINE=STACK(PENT+2) ENTNO=NEWNO(0) GO TO 32623 32622 ENTNO=STACK(PENT+1) STACK(PENT+2)=LINENO 32623 ASSIGN 32621 TO I32743 GO TO 32743 32621 ASSIGN 32620 TO I32638 GO TO 32638 32620 NEXTNO=ENTNO ASSIGN 32619 TO I32638 GO TO 32638 32619 TOP=TOP+2 STACK(TOP)=AGRET IF(.NOT.(SHORT.OR.FAKE)) GO TO 32617 STACK(TOP-1)=ENTNO GO TO 32618 32617 STACK(TOP-1)=STACK(PENT-1) 32618 UTYPE(1)=0 ASSIGN 32616 TO I32737 GO TO 32737 32616 GO TO I32625 32698 IF(.NOT.(NUNITS.EQ.2.AND.UTYPE(2).EQ.UFORT)) GO TO 32614 CALL CPYSTR(SST,SIFPN) CALL CATSUB(SST,SFLX,USTART(1),ULEN(1)) CALL CATSTR(SST,SPB) CALL CATSUB(SST,SFLX,USTART(2),ULEN(2)) STNO=FLXNO ASSIGN 32613 TO I32730 GO TO 32730 32613 GO TO 32615 32614 NOTFLG=.FALSE. ASSIGN 32612 TO I32666 GO TO 32666 32612 CONTINUE 32615 GO TO I32698 32689 NOTFLG=.FALSE. ASSIGN 32611 TO I32692 GO TO 32692 32611 GO TO I32689 32695 ENDNO=NEWNO(0) ELSNO=NEWNO(0) GSTNO=ENDNO ASSIGN 32610 TO I32653 GO TO 32653 32610 TOP=TOP+2 STACK(TOP-1)=LINENO STACK(TOP)=AELSE GSTNO=ELSNO ASSIGN 32609 TO I32653 GO TO 32653 32609 GGOTON=ENDNO ASSIGN 32608 TO I32651 GO TO 32651 32608 GOTONO=ELSNO STNO=FLXNO FLXNO=0 ASSIGN 32607 TO I32739 GO TO 32739 32607 ASSIGN 32606 TO I32737 GO TO 32737 32606 GO TO I32695 32692 IF(.NOT.(FLXNO.NE.0)) GO TO 32604 LOOPNO=FLXNO FLXNO=0 GO TO 32605 32604 IF(.NOT.(NEXTNO.NE.0)) GO TO 32603 LOOPNO=NEXTNO NEXTNO=0 GO TO 32605 32603 LOOPNO=NEWNO(0) 32605 ENDNO=NEWNO(0) GSTNO=ENDNO ASSIGN 32602 TO I32653 GO TO 32653 32602 GGOTON=LOOPNO ASSIGN 32601 TO I32651 GO TO 32651 32601 GOTONO=ENDNO STNO=LOOPNO ASSIGN 32600 TO I32739 GO TO 32739 32600 ASSIGN 32599 TO I32737 GO TO 32737 32599 GO TO I32692 32737 IF(.NOT.(NUNITS.EQ.1)) GO TO 32597 ASSIGN 32596 TO I32716 GO TO 32716 32596 GO TO 32598 32597 IF(.NOT.(UTYPE(2).EQ.UPINV)) GO TO 32595 ASSIGN 32594 TO I32721 GO TO 32721 32594 GO TO 32598 32595 CALL CPYSUB(SST,SFLX,USTART(2),ULEN(2)) IF(STREQ(SST,SCONT)) GO TO 32593 ASSIGN 32592 TO I32718 GO TO 32718 32592 CONTINUE 32593 CONTINUE 32598 GO TO I32737 32664 IF(.NOT.(UTYPE(1).EQ.UPINV)) GO TO 32590 J=1 GO TO 32591 32590 J=2 32591 CALL CPYSUB(SPINV,SFLX,USTART(J),ULEN(J)) IF(.NOT.(STREQ(SPINV,SDUM))) GO TO 32588 PENT=PDUMMY STACK(PENT+2)=0 GO TO 32589 32588 P=MAXSTK-HASH(SPINV,PRIME) FOUND=.FALSE. IF(STACK(P).EQ.0) GO TO 32587 GO TO 32585 32586 IF(STACK(P).EQ.0.OR.FOUND) GO TO 32584 32585 P=STACK(P) IF (STREQ(SPINV,STACK(P+4))) FOUND=.TRUE. GO TO 32586 32584 CONTINUE 32587 IF(.NOT.(FOUND)) GO TO 32582 PENT=P GO TO 32583 32582 TMAX=MAX-(4+OFFST2+(SPINV(1)+NCHPWD-1)/NCHPWD) IF(.NOT.(TMAX.LE.TOP+SAFETY)) GO TO 32580 PENT=PDUMMY STACK(PENT+2)=0 GO TO 32581 32580 MAX=TMAX PENT=MAX+OFFST2 IF (LONG.OR.COGOTO) STACK(PENT-1)=NEWNO(0) IF (COGOTO) STACK(PENT-2)=0 STACK(PENT)=0 STACK(P)=PENT STACK(PENT+1)=NEWNO(0) STACK(PENT+2)=0 STACK(PENT+3)=0 CALL CPYSTR(STACK(PENT+4),SPINV) 32581 CONTINUE 32583 CONTINUE 32589 GO TO I32664 32666 GOTONO=NEWNO(0) STNO=FLXNO FLXNO=0 ASSIGN 32579 TO I32739 GO TO 32739 32579 GSTNO=GOTONO ASSIGN 32578 TO I32653 GO TO 32653 32578 ASSIGN 32577 TO I32737 GO TO 32737 32577 GO TO I32666 32638 IF(.NOT.(NEXTNO.NE.0)) GO TO 32576 CALL PUTNUM(SFORCE,NEXTNO) CALL PUT(LINENO,SFORCE,FORTCL) NEXTNO=0 32576 GO TO I32638 32745 ENDNO=STACK(TOP-3) IF(.NOT.(ENDNO.EQ.0)) GO TO 32574 STACK(TOP-3)=NEWNO(0) GO TO 32575 32574 GOTONO=ENDNO ASSIGN 32573 TO I32659 GO TO 32659 32573 CONTINUE 32575 IF(.NOT.(NEXTNO.EQ.0)) GO TO 32571 NEXTNO=STACK(TOP-2) GO TO 32572 32571 IF(.NOT.(STACK(TOP-2).EQ.0)) GO TO 32570 GO TO 32572 32570 ASSIGN 32569 TO I32638 GO TO 32638 32569 NEXTNO=STACK(TOP-2) 32572 GO TO I32745 32568 STNO=STACK(TOP-1) ASSIGN 32567 TO I32640 GO TO 32640 32567 TOP=TOP-2 GO TO I32568 32566 GOTONO=STACK(TOP-1) ASSIGN 32565 TO I32659 GO TO 32659 32565 TOP=TOP-2 GO TO I32566 32710 P=PTABLE 32564 IF(P.EQ.0) GO TO 32563 IF(.NOT.(STACK(P+2).NE.0)) GO TO 32561 IF(.NOT.(LONG)) GO TO 32559 CALL CPYSTR(SST,SGOTOI) CALL CATNUM(SST,STACK(P+1)) CALL CATSTR(SST,SCP) GO TO 32560 32559 CALL CPYSTR(SST,SGOTOP) 32560 Q=STACK(P+3) STNO=STACK(P-1) IF(.NOT.(Q.EQ.0)) GO TO 32557 CALL CATNUM(SST,STACK(P+1)) GO TO 32558 32557 GO TO 32555 32556 IF(Q.EQ.0) GO TO 32554 32555 IF(.NOT.(SST(1).GT.SSTMAX-6)) GO TO 32553 ASSIGN 32552 TO I32730 GO TO 32730 32552 CALL CPYSTR(SST,SB5I1) 32553 CALL CATNUM(SST,STACK(Q+2)) CALL CATSTR(SST,SCOMMA) Q=STACK(Q) GO TO 32556 32554 SST(1)=SST(1)-1 32558 IF(.NOT.(LONG)) GO TO 32550 CALL CATSTR(SST,SRP) GO TO 32551 32550 IF(.NOT.(SST(1).GT.SSTMAX-9)) GO TO 32549 ASSIGN 32548 TO I32730 GO TO 32730 32548 CALL CPYSTR(SST,SB5I1) 32549 CALL CATSTR(SST,SRPCI) CALL CATNUM(SST,STACK(P+1)) 32551 ASSIGN 32547 TO I32730 GO TO 32730 32547 GO TO 32562 32561 CALL CPYSTR(SST,SSTOP) STNO=STACK(P+1) ASSIGN 32546 TO I32730 GO TO 32730 32546 CONTINUE 32562 P=STACK(P) GO TO 32564 32563 GO TO I32710 32545 STNO=0 CALL CPYSTR(SST,SGOTOI) IF (LONG.OR.COGOTO) SST(1)=SST(1)-1 CALL CATNUM(SST,STACK(TOP-1)) IF(.NOT.(FAKE)) GO TO 32544 CALL CATSTR(SST,SCP) CALL CATNUM(SST,STACK(TOP-1)) CALL CATSTR(SST,SRP) 32544 ASSIGN 32543 TO I32730 GO TO 32730 32543 TOP=TOP-2 GO TO I32545 32542 ASSIGN 32541 TO I32638 GO TO 32638 32541 NEXTNO=STACK(TOP-1) TOP=TOP-2 GO TO I32542 32645 CALL PUT(0,SGUP1,ERRCL) CALL PUT(0,SGUP2,ERRCL) CALL CLOSEF(MINCNT,-1) IF (.TRUE.) CALL EXIT GO TO I32645 32540 CALL PUT(0,SB,LISTCL) CALL PUT(0,SDASH,LISTCL) CALL PUT(0,SB,LISTCL) GO TO I32540 32759 NOCALL=0 PARAM1=NCHPWD PARAM2=CHZERO PARAM3=CHSPAC PARAM4=CHC BLN=0 WWIDTH=LWIDTH-6 REFNO=(LWIDTH-12)/7 IF(.NOT.(SHORT.OR.FAKE)) GO TO 32538 OFFSET=1 OFFST2=1 GO TO 32539 32538 IF(.NOT.(COGOTO)) GO TO 32537 OFFSET=2 OFFST2=3 GO TO 32539 32537 OFFSET=2 OFFST2=3 32539 NOTFLG=.TRUE. ERLST=.FALSE. GO TO I32759 32636 TOPTYP=STACK(TOP) IF((ASSEQ).NE.(TOPTYP)) GO TO 32535 TOP=TOP-STACK(TOP-4)-1 GO TO 32536 32535 IF((ACSEQ).NE.(TOPTYP)) GO TO 32534 TOP=TOP-4 GO TO 32536 32534 IF((AGGOTO).NE.(TOPTYP)) GO TO 32533 TOP=TOP-2 GO TO 32536 32533 IF((AGCONT).NE.(TOPTYP)) GO TO 32532 TOP=TOP-2 GO TO 32536 32532 IF((AFSEQ).NE.(TOPTYP)) GO TO 32531 TOP=TOP-2 GO TO 32536 32531 IF((AELSE).NE.(TOPTYP)) GO TO 32530 TOP=TOP-2 GO TO 32536 32530 IF((AGSTNO).NE.(TOPTYP)) GO TO 32529 TOP=TOP-2 GO TO 32536 32529 IF((ATSEQ).NE.(TOPTYP)) GO TO 32528 TOP=TOP-1 GO TO 32536 32528 IF((AMSEQ).NE.(TOPTYP)) GO TO 32527 TOP=TOP-1 GO TO 32536 32527 IF((AGRET).NE.(TOPTYP)) GO TO 32526 TOP=TOP-2 32526 CONTINUE 32536 GO TO I32636 32750 DUMMY=NEWNO(SEEDNO) ENDPGM=.FALSE. MAX=MAXSTK-(PRIME+OFFSET+3) PDUMMY=MAX+OFFSET DO 32525 I=MAX,MAXSTK STACK(I)=0 32525 CONTINUE TOP=1 STACK(TOP)=AMSEQ ERROR=0 FIRST=.TRUE. NOPGM=.FALSE. NEXTNO=0 SOURCE=READ LEVEL=0 LSTLEV=0 ASSIGN 32524 TO I32540 GO TO 32540 32524 GO TO I32750 32748 GO TO 32522 32523 IF(ENDPGM) GO TO 32521 32522 IF(.NOT.(TOP+SAFETY.GT.MAX)) GO TO 32520 ASSIGN 32519 TO I32645 GO TO 32645 32519 CONTINUE 32520 ACTION=STACK(TOP) IF((AGGOTO).NE.(ACTION)) GO TO 32517 ASSIGN 32516 TO I32566 GO TO 32566 32516 GO TO 32518 32517 IF((AGRET).NE.(ACTION)) GO TO 32515 ASSIGN 32514 TO I32545 GO TO 32545 32514 GO TO 32518 32515 IF((AGCONT).NE.(ACTION)) GO TO 32513 ASSIGN 32512 TO I32568 GO TO 32568 32512 GO TO 32518 32513 IF((AGSTNO).NE.(ACTION)) GO TO 32511 ASSIGN 32510 TO I32542 GO TO 32542 32510 GO TO 32518 32511 CALL ANALYZ IF((AFSEQ).NE.(ACTION)) GO TO 32508 IF((TEXEC).NE.(CLASS)) GO TO 32506 ASSIGN 32505 TO I32706 GO TO 32706 32505 GO TO 32507 32506 IF((TFIN).NE.(CLASS)) GO TO 32504 ASSIGN 32503 TO I32627 GO TO 32627 32503 GO TO 32507 32504 IF((TEND).NE.(CLASS)) GO TO 32502 ERROR=1 GO TO 32507 32502 IF((TELSE).NE.(CLASS)) GO TO 32501 ERROR=10 GO TO 32507 32501 IF((TTO).NE.(CLASS)) GO TO 32500 ERROR=13 GO TO 32507 32500 IF((TCEXP).NE.(CLASS)) GO TO 32499 ERROR=19 32499 CONTINUE 32507 GO TO 32509 32508 IF((AMSEQ).NE.(ACTION)) GO TO 32498 IF((TEXEC).NE.(CLASS)) GO TO 32496 ASSIGN 32495 TO I32706 GO TO 32706 32495 GO TO 32497 32496 IF((TEND).NE.(CLASS)) GO TO 32494 IF(.NOT.(NOPGM)) GO TO 32492 ENDPGM=.TRUE. GO TO 32493 32492 ASSIGN 32491 TO I32714 GO TO 32714 32491 CONTINUE 32493 GO TO 32497 32494 IF((TFIN).NE.(CLASS)) GO TO 32490 ERROR=5 GO TO 32497 32490 IF((TELSE).NE.(CLASS)) GO TO 32489 ERROR=8 GO TO 32497 32489 IF((TTO).NE.(CLASS)) GO TO 32488 STACK(TOP)=ATSEQ ASSIGN 32487 TO I32625 GO TO 32625 32487 GO TO 32497 32488 IF((TCEXP).NE.(CLASS)) GO TO 32486 ERROR=17 32486 CONTINUE 32497 GO TO 32509 32498 IF((ASSEQ).NE.(ACTION)) GO TO 32485 IF((TCEXP).NE.(CLASS)) GO TO 32483 ASSIGN 32482 TO I32634 GO TO 32634 32482 GO TO 32484 32483 IF((TFIN).NE.(CLASS)) GO TO 32481 ASSIGN 32480 TO I32643 GO TO 32643 32480 GO TO 32484 32481 IF((TEND).NE.(CLASS)) GO TO 32479 ERROR=3 GO TO 32484 32479 IF((TELSE).NE.(CLASS)) GO TO 32478 ERROR=12 GO TO 32484 32478 IF((TTO).NE.(CLASS)) GO TO 32477 ERROR=15 GO TO 32484 32477 IF((TEXEC).NE.(CLASS)) GO TO 32476 ERROR=23 32476 CONTINUE 32484 GO TO 32509 32485 IF((ACSEQ).NE.(ACTION)) GO TO 32475 IF((TCEXP).NE.(CLASS)) GO TO 32473 ASSIGN 32472 TO I32746 GO TO 32746 32472 GO TO 32474 32473 IF((TFIN).NE.(CLASS)) GO TO 32471 ASSIGN 32470 TO I32643 GO TO 32643 32470 GO TO 32474 32471 IF((TEND).NE.(CLASS)) GO TO 32469 ERROR=2 GO TO 32474 32469 IF((TELSE).NE.(CLASS)) GO TO 32468 ERROR=11 GO TO 32474 32468 IF((TTO).NE.(CLASS)) GO TO 32467 ERROR=14 GO TO 32474 32467 IF((TEXEC).NE.(CLASS)) GO TO 32466 ERROR=22 32466 CONTINUE 32474 GO TO 32509 32475 IF((AELSE).NE.(ACTION)) GO TO 32465 IF((TELSE).NE.(CLASS)) GO TO 32463 ASSIGN 32462 TO I32727 GO TO 32727 32462 GO TO 32464 32463 IF((TEND).NE.(CLASS)) GO TO 32461 ERROR=4 GO TO 32464 32461 IF((TFIN).NE.(CLASS)) GO TO 32460 ERROR=7 GO TO 32464 32460 IF((TTO).NE.(CLASS)) GO TO 32459 ERROR=16 GO TO 32464 32459 IF((TCEXP).NE.(CLASS)) GO TO 32458 ERROR=20 GO TO 32464 32458 IF((TEXEC).NE.(CLASS)) GO TO 32457 ERROR=24 32457 CONTINUE 32464 GO TO 32509 32465 IF((ATSEQ).NE.(ACTION)) GO TO 32456 IF((TTO).NE.(CLASS)) GO TO 32454 ASSIGN 32453 TO I32625 GO TO 32625 32453 GO TO 32455 32454 IF((TEND).NE.(CLASS)) GO TO 32452 ASSIGN 32451 TO I32714 GO TO 32714 32451 GO TO 32455 32452 IF((TFIN).NE.(CLASS)) GO TO 32450 ERROR=6 GO TO 32455 32450 IF((TELSE).NE.(CLASS)) GO TO 32449 ERROR=9 GO TO 32455 32449 IF((TCEXP).NE.(CLASS)) GO TO 32448 ERROR=18 GO TO 32455 32448 IF((TEXEC).NE.(CLASS)) GO TO 32447 ERROR=21 32447 CONTINUE 32455 CONTINUE 32456 CONTINUE 32509 IF(.NOT.(NOPGM)) CALL LIST 32518 GO TO 32523 32521 GO TO I32748 32716 TOP=TOP+2 STACK(TOP-1)=LINENO STACK(TOP)=AFSEQ LEVEL=LEVEL+1 GO TO I32716 32732 TOP=TOP+2 STACK(TOP-1)=CONTNO STACK(TOP)=AGCONT GO TO I32732 32651 TOP=TOP+2 STACK(TOP-1)=GGOTON STACK(TOP)=AGGOTO GO TO I32651 32653 TOP=TOP+2 STACK(TOP-1)=GSTNO STACK(TOP)=AGSTNO GO TO I32653 32640 ASSIGN 32446 TO I32638 GO TO 32638 32446 CALL PUTNUM(SFORCE,STNO) CALL PUT(LINENO,SFORCE,FORTCL) STNO=0 GO TO I32640 32708 IF(.NOT.(NEXTNO.EQ.0)) GO TO 32444 CALL PUT(LINENO,SFLX,FORTCL) GO TO 32445 32444 IF(.NOT.(FLXNO.NE.0.OR.PASS)) GO TO 32443 ASSIGN 32442 TO I32638 GO TO 32638 32442 CALL PUT(LINENO,SFLX,FORTCL) GO TO 32445 32443 CALL CPYSTR(SST,SFLX) CALL PUTNUM(SST,NEXTNO) CALL PUT(LINENO,SST,FORTCL) NEXTNO=0 32445 GO TO I32708 32659 CALL CPYSTR(SPUTGO,SGOTO) CALL CATNUM(SPUTGO,GOTONO) IF(.NOT.(NEXTNO.NE.0)) GO TO 32441 CALL PUTNUM(SPUTGO,NEXTNO) NEXTNO=0 32441 CALL PUT(LINENO,SPUTGO,FORTCL) GO TO I32659 32739 IF(.NOT.(NOTFLG)) GO TO 32439 CALL CPYSTR(SST,SIFPN) GO TO 32440 32439 CALL CPYSTR(SST,SIF) 32440 CALL CATSUB(SST,SFLX,USTART(1),ULEN(1)) IF(.NOT.(NOTFLG)) GO TO 32437 CALL CATSTR(SST,SPGOTO) GO TO 32438 32437 CALL CATSTR(SST,SBGOTO) 32438 CALL CATNUM(SST,GOTONO) ASSIGN 32436 TO I32730 GO TO 32730 32436 NOTFLG=.TRUE. GO TO I32739 32730 IF(NEXTNO.EQ.0) GO TO 32435 IF(.NOT.(STNO.EQ.0)) GO TO 32433 STNO=NEXTNO NEXTNO=0 GO TO 32434 32433 ASSIGN 32432 TO I32638 GO TO 32638 32432 CONTINUE 32434 CONTINUE 32435 IF(STNO.EQ.0) GO TO 32431 CALL PUTNUM(SST,STNO) STNO=0 32431 IF(.NOT.(SST(1).LE.72)) GO TO 32429 CALL PUT(LINENO,SST,FORTCL) GO TO 32430 32429 CALL CPYSUB (SLIST,SST,1,72) CALL PUT(LINENO,SLIST,FORTCL) S=73 L=66 GO TO 32427 32428 IF(S.GT.SST(1)) GO TO 32426 32427 IF(S+L-1.GT.SST(1)) L=SST(1)-S+1 CALL CPYSTR(SLIST,SB5I1) CALL CATSUB(SLIST,SST,S,L) CALL PUT(LINENO,SLIST,FORTCL) S=S+66 GO TO 32428 32426 CONTINUE 32430 GO TO I32730 32425 LL=0 LR=STACK(LP) 32424 IF(LR.EQ.0) GO TO 32423 LT=STACK(LR) STACK(LR)=LL LL=LR LR=LT GO TO 32424 32423 STACK(LP)=LL GO TO I32425 32743 IF(.NOT.(FLXNO.NE.0)) GO TO 32422 ASSIGN 32421 TO I32638 GO TO 32638 32421 NEXTNO=FLXNO FLXNO=0 32422 GO TO I32743 32713 P=MAX STACK(MAX)=0 ITEMP=MAXSTK-PRIME+1 DO 32420 I=ITEMP,MAXSTK IF(STACK(I).EQ.0) GO TO 32419 STACK(P)=STACK(I) GO TO 32417 32418 IF(STACK(P).EQ.0) GO TO 32416 32417 P=STACK(P) LP=P+3 ASSIGN 32415 TO I32425 GO TO 32425 32415 GO TO 32418 32416 CONTINUE 32419 CONTINUE 32420 CONTINUE Q=MAX-1 STACK(Q)=0 32414 IF(STACK(MAX).EQ.0) GO TO 32413 P=STACK(MAX) STACK(MAX)=STACK(P) QM=Q QP=STACK(QM) INSERT=.FALSE. 32412 IF(INSERT) GO TO 32411 IF(.NOT.(QP.EQ.0)) GO TO 32409 INSERT=.TRUE. GO TO 32410 32409 IF(.NOT.(STRLT(STACK(P+4),STACK(QP+4)))) GO TO 32408 INSERT=.TRUE. GO TO 32410 32408 QM=QP QP=STACK(QM) 32410 GO TO 32412 32411 STACK(P)=QP STACK(QM)=P GO TO 32414 32413 PTABLE=STACK(Q) GO TO I32713 END