      PROGRAM FLECS                                                     00085 
      INTEGER NUMLIN                            !830307 MAO             00169 
      LOGICAL CNTALL                            !830307 MAO             00170 
      COMMON/FLINE/CNTALL,NUMLIN                                        00171 
      INTEGER DTYPE                             !22-JUN-81 (MAO)        00173 
      COMMON/DIR/DTYPE                          !22-JUN-81 (MAO)        00174 
      LOGICAL PASFLG                                    !30JUN81MAO     00176 
      INTEGER CNDLVL                                    !30JUN81MAO     00177 
      INTEGER OFFLVL                                    !30JUN81MAO     00178 
      INTEGER COND                                      !30JUN81MAO     00179 
      INTEGER CNDVAL                                    !30JUN81MAO     00180 
      COMMON/COND/PASFLG,CNDLVL,OFFLVL,COND,CNDVAL(4,10) !30JUN81MAO    00181 
      INTEGER POUND                                     !26-JUN-81MAO   00186 
      INTEGER TDIR                                      !22-JUN-81MAO   00187 
      INTEGER TOFF                                      !30JUN81MAO     00188 
      INTEGER DPAGE                                     !22-JUN-81MAO   00189 
      INTEGER DPIF,DPUNL,DPEND                          !30JUN81MAO     00190 
      INTEGER DNAME                                     !30JUN81MAO     00191 
      INTEGER DINCL                                     !29-JUN-81MAO   00192 
      INTEGER UDIR                                      !29-JUN-81MAO   00193 
      INTEGER DIMP                                      !840307MAO      00194 
      INTEGER ACSEQ , ACTION, AELSE , AFSEQ , AGCONT, AGGOTO            00195 
      INTEGER AGRET , AGSTNO, AMSEQ ,ASSEQ , ATSEQ                      00196 
      INTEGER BLN   , NOCALL, CHC   , CHSPAC, CHZERO                    00197 
      INTEGER CINLIN                                    !25-JAN-80      00198 
      INTEGER CLASS , CONTNO, DUMMY , ELSNO , ENDNO , ENTNO             00199 
      INTEGER ERRCL , ERROR , ERRSTK, ERSTOP, EXTYPE, FLXNO             00200 
      INTEGER FORTCL, GGOTON, GOTONO, GSTNO , HASH  , HOLDNO            00201 
      INTEGER I     , ITEMP , J     , L     , LEVEL , LINENO            00202 
      INTEGER LL    , LP    , LR    , LT                                00203 
      INTEGER LISTCL, LOOPNO, LSTLEV, LWIDTH, MAJCNT                    00204 
      INTEGER MAX   , MAXSTK, MINCNT, MLINE , NCHPWD, NEWNO             00205 
      INTEGER NEXTNO, NUNITS, NXIFNO, OFFSET, OFFST2, P                 00206 
      INTEGER PARAM1, PARAM2, PARAM3, PARAM4, PDUMMY, PENT              00207 
      INTEGER PARAM5                                    !25-JAN-80      00208 
      INTEGER PRIME , PTABLE, Q     , QM    , QP    , READ              00209 
      INTEGER REFNO , RETNO , RETRY , S     , SAFETY, SASSN1            00210 
      INTEGER SASSN2, SB    , SB5I1 , SB6   , SB6I  , SB7   , SBGOTO    00211 
      INTEGER SCONT                                                     00212 
      INTEGER SCOMMA, SCP   , SDASH , SDOST , SDUM  , SEEDNO, SEQ       00213 
      INTEGER SETUP , SFLX  , SFORCE, SGOTO , SGOTOI, SGUP1             00214 
      INTEGER SGOTOP                                                    00215 
      INTEGER SGUP2 , SHOLD , SIF   , SIFP  , SIFPN , SLIST             00216 
      INTEGER SNE   , SOURCE, SPB   , SPGOTO, SPINV , SPUTGO            00217 
      INTEGER SRP   , SRTN  , SSPACR, SST   , SSTMAX, SSTOP             00218 
      INTEGER SRPCI                                                     00219 
      INTEGER STACK , STNO  , SVER  , TCEXP , TCOND , TDO               00220 
      INTEGER TELSE , TEND  , TESTNO, TEXEC , TFIN  , TFORT             00221 
      INTEGER TIF   , TINVOK, TMAX  , TOP   , TOPNO , TOPTYP            00222 
      INTEGER TRUNTL, TRWHIL, TSELCT, TTO   , TUNLES, TUNTIL            00223 
      INTEGER TWHEN , TWHILE, UDO   , UEXP  , UFORT , ULEN              00224 
      INTEGER UOWSE , UPINV , USTART, UTYPE , WWIDTH                    00225 
      LOGICAL ALECS                                     !20-FEB-80      00232 
      LOGICAL IMPSET                                    !840307MAO      00233 
      LOGICAL COGOTO, FAKE  , LONG                                      00234 
      LOGICAL DONE  , ENDFIL, ENDPGM, ERLST , FIRST , FOUND , INSERT    00235 
      LOGICAL NOPGM , NOTFLG, PASS  , SAVED ,SHORT , STREQ , STRLT      00236 
      DIMENSION  UTYPE(3), USTART(3), ULEN(3)                           00244 
      DIMENSION STACK(2000)                                             00247 
      DIMENSION ERRSTK(5)                                               00250 
      COMMON BLN   , CLASS , DONE  , ENDFIL, ENDPGM, ERLST              00259 
      COMMON ERROR , ERRSTK, ERSTOP, EXTYPE, FIRST , FLXNO              00260 
      COMMON FOUND , HOLDNO, LEVEL , LINENO, LSTLEV, MAJCNT             00261 
      COMMON MINCNT, MLINE , NOPGM , NUNITS, PASS  , PTABLE, QP         00262 
      COMMON REFNO , SAVED , SFLX  , SHOLD , SLIST , SOURCE             00263 
      COMMON SPINV , SPUTGO, SST   , STACK , TOP   , ULEN               00264 
      COMMON USTART, UTYPE , WWIDTH                                     00265 
      COMMON /PARAM/ PARAM1, PARAM2, PARAM3, PARAM4, PARAM5 !25-JAN-80  00358 
      DIMENSION SFLX   (51)                                             00371 
      DIMENSION SHOLD  (51)                                             00373 
      DIMENSION SLIST  (101)                                            00375 
      DIMENSION SPINV  (41)                                             00377 
      DIMENSION SPUTGO (11)                                             00379 
      DIMENSION SST    (101)                                            00381 
      DIMENSION SASSN1 (8)                                              00387 
      DIMENSION SASSN2 (4)                                              00390 
      DIMENSION SB     (2)                                              00393 
      DIMENSION SB5I1  (4)                                              00396 
      DIMENSION SB6    (4)                                              00399 
      DIMENSION SB7    (5)                                              00402 
      DIMENSION SB6I   (5)                                              00405 
      DIMENSION SBGOTO (5)                                              00408 
      DIMENSION SCOMMA (2)                                              00411 
      DIMENSION SCONT  (5)                                              00414 
      DIMENSION SCP    (2)                                              00417 
      DIMENSION SDOST  (6)                                              00420 
      DIMENSION SDASH  (21)                                             00423 
      DIMENSION SDUM   (9)                                              00428 
      DIMENSION SEQ    (2)                                              00431 
      DIMENSION SFORCE (8)                                              00434 
      DIMENSION SGOTO  (7)                                              00437 
      DIMENSION SGOTOI (8)                                              00440 
      DIMENSION SGOTOP (8)                                              00443 
      DIMENSION SGUP1  (30)                                             00446 
      DIMENSION SGUP2  (23)                                             00452 
      DIMENSION SIF    (5)                                              00457 
      DIMENSION SIFP   (6)                                              00460 
      DIMENSION SIFPN  (8)                                              00463 
      DIMENSION SNE    (3)                                              00466 
      DIMENSION SPB    (2)                                              00469 
      DIMENSION SPGOTO (5)                                              00472 
      DIMENSION SRP    (2)                                              00475 
      DIMENSION SRPCI  (3)                                              00478 
      DIMENSION SRTN   (7)                                              00481 
      DIMENSION SSPACR (3)                                              00484 
      DIMENSION SSTOP  (9)                                              00487 
      DIMENSION SVER   (12)                                             00490 
      DATA POUND/"43/           !# SIGN FOR COLUMN 1    !26-JUN-81MAO   00499 
      DATA FORTCL /1/, LISTCL /2/, ERRCL /3/                            00500 
      DATA ACSEQ/1/, AELSE/2/, AFSEQ/3/, AGCONT/4/, AGGOTO/5/           00501 
      DATA AGSTNO/6/, AMSEQ/7/, AGRET/8/, ASSEQ/9/, ATSEQ/10/           00502 
      DATA UEXP/1/, UFORT/2/, UOWSE/3/, UPINV/4/, UDO/5/                00503 
      DATA UDIR/6/                                      !29-JUN-81MAO   00504 
      DATA TCEXP/1/, TELSE/2/, TEND/3/, TEXEC/4/, TFIN/5/, TTO/6/       00505 
      DATA TDIR /7/                                     !22-JUN-81      00506 
      DATA TOFF /8/                                     !30JUN81MAO     00507 
      DATA TCOND/1/, TDO/2/, TFORT/3/, TIF/4/, TINVOK/5/, TRUNTL/6/     00508 
      DATA TRWHIL/7/, TSELCT/8/, TUNLES/9/, TUNTIL/10/, TWHEN/11/       00509 
      DATA TWHILE/12/                                                   00510 
      DATA DPAGE /1/                                    !22-JUN-81      00511 
      DATA DINCL /2/                                    !29-JUN-81MAO   00512 
      DATA DPIF /3/, DPUNL /4/, DPEND /5/               !30JUN81MAO     00513 
      DATA DNAME /6/                                    !30JUN81MAO     00514 
      DATA DIMP  /7/                                    !840307MAO      00515 
      DATA SETUP /1/, RETRY /2/, READ /3/                               00516 
      DATA CHC /67/                                                     00517 
      DATA CINLIN /33/                          !25-JAN-80              00518 
      DATA LWIDTH /132/                                                 00519 
      DATA MAXSTK /2000/                                                00520 
      DATA NCHPWD /2/                                                   00521 
      DATA PRIME /53/                                                   00522 
      DATA SAFETY /35/                                                  00523 
      DATA SEEDNO /32760/                                               00524 
      DATA LONG /.FALSE./                                               00525 
      DATA SHORT /.TRUE./                                               00526 
      DATA FAKE /.FALSE./                                               00527 
      DATA COGOTO /.FALSE./                                             00528 
      DATA CHSPAC /32/                                                  00529 
      DATA CHZERO /48/                                                  00530 
      DATA SSTMAX /200/                                                 00531 
      DATA SASSN1 / 13, 2H  , 2H  , 2H  , 2HAS, 2HSI, 2HGN, 1H /        00532 
      DATA SASSN2 /  5, 2H T, 2HO , 1HI/                                00533 
      DATA SB     /  1, 1H /                                            00534 
      DATA SB5I1  /  6, 2H  , 2H  , 2H 1/                               00535 
      DATA SB6    /  6, 2H  , 2H  , 2H  /                               00536 
      DATA SB7    /  7, 2H  , 2H  , 2H  , 1H /                          00537 
      DATA SB6I   /  7, 2H  , 2H  , 2H  , 1HI/                          00538 
      DATA SBGOTO /  7, 2H G, 2HO , 2HTO, 1H /                          00539 
      DATA SCOMMA /  1, 1H,/                                            00540 
      DATA SCONT  /  8, 2HCO, 2HNT, 2HIN, 2HUE/                         00541 
      DATA SCP    /  2, 2H,(/                                           00542 
      DATA SDOST  /  9, 2H  , 2H  , 2H  , 2HDO, 1H /                    00543 
      DATA SDASH  / 40, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--  00544 
     1                , 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--  00545 
     1                , 2H--, 2H--, 2H--, 2H--/                         00546 
      DATA SDUM   / 15, 2HDU, 2HMM, 2HY-, 2HPR, 2HOC, 2HED, 2HUR, 1HE/  00547 
      DATA SEQ    /  1, 1H=/                                            00548 
      DATA SFORCE / 14, 2H  , 2H  , 2H  , 2HCO, 2HNT, 2HIN, 2HUE/       00549 
      DATA SGOTO  / 12, 2H  , 2H  , 2H  , 2HGO, 2H T, 2HO /             00550 
      DATA SGOTOI / 13, 2H  , 2H  , 2H  , 2HGO, 2H T, 2HO , 1HI/        00551 
      DATA SGOTOP / 13, 2H  , 2H  , 2H  , 2HGO, 2H T, 2HO , 1H(/        00552 
      DATA SGUP1  / 57, 2H**, 2H**, 2H* , 2HTR, 2HAN, 2HSL, 2HAT, 2HOR  00553 
     1                , 2H H, 2HAS, 2H U, 2HSE, 2HD , 2HUP, 2H I, 2HTS  00554 
     1                , 2H A, 2HLL, 2HOT, 2HED, 2H S, 2HPA, 2HCE, 2H F  00555 
     1                , 2HOR, 2H T, 2HAB, 2HLE, 1HS/                    00556 
      DATA SGUP2  / 44, 2H**, 2H**, 2H* , 2HTR, 2HAN, 2HSL, 2HAT, 2HIO  00557 
     1                , 2HN , 2HMU, 2HST, 2H T, 2HER, 2HMI, 2HNA, 2HTE  00558 
     1                , 2H I, 2HMM, 2HED, 2HIA, 2HTE, 2HLY/             00559 
      DATA SIF    /  8, 2H  , 2H  , 2H  , 2HIF/                         00560 
      DATA SIFP   /  9, 2H  , 2H  , 2H  , 2HIF, 1H(/                    00561 
      DATA SIFPN  / 14, 2H  , 2H  , 2H  , 2HIF, 2H(., 2HNO, 2HT./       00562 
      DATA SNE    /  4, 2H.N, 2HE./                                     00563 
      DATA SPB    /  2, 2H) /                                           00564 
      DATA SPGOTO /  8, 2H) , 2HGO, 2H T, 2HO /                         00565 
      DATA SRP    /  1, 1H)/                                            00566 
      DATA SRPCI  /  4, 2H),, 2H I/                                     00567 
      DATA SRTN   / 12, 2H  , 2H  , 2H  , 2HRE, 2HTU, 2HRN/             00568 
      DATA SSPACR /  3, 2H. , 1H /                                      00569 
      DATA SSTOP  / 15, 2H  , 2H  , 2H  , 2HCA, 2HLL, 2H E, 2HXI, 1HT/  00570 
      DATA SVER   / 21, 2H(F, 2HLE, 2HCS, 2H V, 2HER, 2HSI, 2HON, 2H 2  00571 
     1                , 2H2., 2H38, 1H)/                                00572 
      ASSIGN 32757 TO I32758                                            00578 
      GO TO 32758                                                       00578 
32757 GO TO 32755                                                       00579 
32756 IF(DONE) GO TO 32754                                              00579 
32755 NOCALL=NOCALL+1           !ONE MORE CALL MADE TO OPENF            00580 
      CALL OPENF(NOCALL,DONE,SVER)      !GET CMD LINE, OPEN FTN,FLL,FLX 00581 
      IF(DONE) GO TO 32753                                              00582 
      ENDFIL=.FALSE.                                                    00583 
      MINCNT=0          !NUMBER OF WARNINGS                             00584 
      MAJCNT=0          !NUMBER OF ERRORS                               00585 
      LINENO=0          !INITIALIZE LINE # FOR FLX FILE                 00586 
      GO TO 32751                                                       00587 
32752 IF(ENDFIL) GO TO 32750                                            00587 
32751 ASSIGN 32748 TO I32749                                            00588 
      GO TO 32749                                                       00588 
32748 ASSIGN 32746 TO I32747                                            00589 
      GO TO 32747                                                       00589 
32746 GO TO 32752                                                       00590 
32750 CALL CLOSEF(MINCNT,MAJCNT)        !CLOSE FLX,FTN,FLL FILES        00591 
32753 GO TO 32756                                                       00593 
32754 CALL EXFLE                        !MAO, 30-APR-80                 00594 
32745 CONTINUE                                                          00595 
      CALL CPYSUB (SST,SFLX,USTART(1),ULEN(1))                          00599 
      CALL NEWNAM (SST(1),SST(2))                                       00600 
      GO TO I32745                                                      00601 
32744 CONTINUE                                                          00602 
      ASSIGN 32742 TO I32743                                            00603 
      GO TO 32743                                                       00603 
32742 ASSIGN 32740 TO I32741                                            00604 
      GO TO 32741                                                       00604 
32740 IF(.NOT.(UTYPE(1).EQ.UEXP)) GO TO 32738                           00605 
      GOTONO=NEWNO(0)                                                   00606 
      STACK(TOP-2)=GOTONO                                               00607 
      ASSIGN 32736 TO I32737                                            00608 
      GO TO 32737                                                       00608 
32736 GO TO 32739                                                       00609 
32738 STACK(TOP-2)=0       !OTHERWISE CLAUSE                            00610 
32739 ASSIGN 32734 TO I32735                                            00611 
      GO TO 32735                                                       00611 
32734 GO TO I32744                                                      00612 
32733 CONTINUE                                                          00613 
      TOP=TOP+4                                                         00618 
      STACK(TOP)=ACSEQ                                                  00619 
      STACK(TOP-1)=LINENO                                               00620 
      STACK(TOP-2)=0                                                    00621 
      STACK(TOP-3)=0                                                    00622 
      LEVEL=LEVEL+1                                                     00623 
      ASSIGN 32732 TO I32741                                            00624 
      GO TO 32741                                                       00624 
32732 GO TO I32733                                                      00625 
32731 CONTINUE                                                          00626 
      ASSIGN 32729 TO I32730                                            00628 
      GO TO 32730                                                       00628 
32729 GSTNO=NEWNO(0)                                                    00629 
      ASSIGN 32727 TO I32728                                            00630 
      GO TO 32728                                                       00630 
32727 NEXTNO=NEWNO(0)           !START OF SCOPE LABEL                   00631 
      CONTNO=NEWNO(0)           !LOOP NON-EXIT LABEL                    00632 
      ASSIGN 32725 TO I32726                                            00633 
      GO TO 32726                                                       00633 
32725 CALL ALEDO(SST,SFLX,USTART(1),ULEN(1),CONTNO,NEXTNO,GSTNO,        00635 
     1 LINENO,MAJCNT,FORTCL,ERRCL)                                      00636 
      ASSIGN 32724 TO I32735                                            00649 
      GO TO 32735                                                       00649 
32724 GO TO I32731                                                      00650 
32723 CONTINUE                                                          00651 
      TOP=TOP-2                                                         00652 
      ASSIGN 32722 TO I32741                                            00653 
      GO TO 32741                                                       00653 
32722 IF(.NOT.(NUNITS.EQ.1)) GO TO 32720                                00654 
      IF(.NOT.(UTYPE(1).EQ.UPINV)) GO TO 32718                          00655 
      ASSIGN 32716 TO I32717                                            00655 
      GO TO 32717                                                       00655 
32716 GO TO 32719                                                       00655 
32718 CALL CPYSUB(SST,SFLX,USTART(1),ULEN(1))                           00657 
      IF(STREQ(SST,SCONT)) GO TO 32715                                  00658 
      ASSIGN 32713 TO I32714                                            00658 
      GO TO 32714                                                       00658 
32713 CONTINUE                                                          00658 
32715 CONTINUE                                                          00659 
32719 GO TO 32721                                                       00660 
32720 ASSIGN 32711 TO I32712                                            00661 
      GO TO 32712                                                       00661 
32711 CONTINUE                                                          00661 
32721 GO TO I32723                                                      00662 
32710 CONTINUE                                                          00663 
      IF(.NOT.(CNDLVL.NE.0)) GO TO 32708                                00664 
      ERROR=404                      !30JUN81MAO                        00664 
      GO TO 32709                                                       00664 
32708 ASSIGN 32706 TO I32707                                            00666 
      GO TO 32707                                                       00666 
32706 ASSIGN 32704 TO I32705                                            00668 
      GO TO 32705                                                       00668 
32704 IF (ENDFIL)   ERROR=25                                            00669 
      ENDPGM=.TRUE.                                                     00670 
32709 GO TO I32710                                                      00678 
32703 CONTINUE                                                          00679 
      IF((TFORT).NE.(EXTYPE)) GO TO 32701                               00681 
      ASSIGN 32700 TO I32705                                            00681 
      GO TO 32705                                                       00681 
32700 GO TO 32702                                                       00682 
32701 IF((TIF).NE.(EXTYPE)) GO TO 32699                                 00682 
      ASSIGN 32697 TO I32698                                            00682 
      GO TO 32698                                                       00682 
32697 GO TO 32702                                                       00683 
32699 IF((TUNLES).NE.(EXTYPE)) GO TO 32696                              00683 
      ASSIGN 32694 TO I32695                                            00683 
      GO TO 32695                                                       00683 
32694 GO TO 32702                                                       00684 
32696 IF((TWHEN).NE.(EXTYPE)) GO TO 32693                               00684 
      ASSIGN 32691 TO I32692                                            00684 
      GO TO 32692                                                       00684 
32691 GO TO 32702                                                       00685 
32693 IF((TWHILE).NE.(EXTYPE)) GO TO 32690                              00685 
      ASSIGN 32688 TO I32689                                            00685 
      GO TO 32689                                                       00685 
32688 GO TO 32702                                                       00686 
32690 IF((TUNTIL).NE.(EXTYPE)) GO TO 32687                              00686 
      ASSIGN 32685 TO I32686                                            00686 
      GO TO 32686                                                       00686 
32685 GO TO 32702                                                       00687 
32687 IF((TRWHIL).NE.(EXTYPE)) GO TO 32684                              00687 
      ASSIGN 32682 TO I32683                                            00687 
      GO TO 32683                                                       00687 
32682 GO TO 32702                                                       00688 
32684 IF((TRUNTL).NE.(EXTYPE)) GO TO 32681                              00688 
      ASSIGN 32679 TO I32680                                            00688 
      GO TO 32680                                                       00688 
32679 GO TO 32702                                                       00689 
32681 IF((TINVOK).NE.(EXTYPE)) GO TO 32678                              00689 
      ASSIGN 32677 TO I32717                                            00689 
      GO TO 32717                                                       00689 
32677 GO TO 32702                                                       00690 
32678 IF((TCOND).NE.(EXTYPE)) GO TO 32676                               00690 
      ASSIGN 32675 TO I32733                                            00690 
      GO TO 32733                                                       00690 
32675 GO TO 32702                                                       00691 
32676 IF((TSELCT).NE.(EXTYPE)) GO TO 32674                              00691 
      ASSIGN 32672 TO I32673                                            00691 
      GO TO 32673                                                       00691 
32672 GO TO 32702                                                       00692 
32674 IF((TDO).NE.(EXTYPE)) GO TO 32671                                 00692 
      ASSIGN 32670 TO I32731                                            00692 
      GO TO 32731                                                       00692 
32670 CONTINUE                                                          00693 
32671 CONTINUE                                                          00693 
32702 GO TO I32703                                                      00694 
32714 CONTINUE                                                          00695 
      STNO=FLXNO        !IF STMNT # ON FLX LINE, PUT IT ON THIS LINE    00696 
      CALL CPYSTR(SST,SB6)      !PUT IN 6 BLANKS                        00697 
      IF(.NOT.(UTYPE(1).EQ.UFORT)) GO TO 32668                          00698 
      J=1                                                               00698 
      GO TO 32669                                                       00698 
32668 J=2                                                               00699 
32669 CALL CATSUB(SST,SFLX,USTART(J),ULEN(J))   !ADD ON FORTRAN LINE    00700 
      ASSIGN 32666 TO I32667                                            00701 
      GO TO 32667                                                       00701 
32666 GO TO I32714                                                      00702 
32698 CONTINUE                                                          00703 
      ASSIGN 32664 TO I32665                                            00705 
      GO TO 32665                                                       00705 
32664 CONTINUE                                                          00706 
      GO TO I32698                                                      00711 
32717 CONTINUE                                                          00712 
      ASSIGN 32662 TO I32663                                            00713 
      GO TO 32663                                                       00713 
32662 ENTNO=STACK(PENT+1)       !START OF PROCEDURE STMNT #             00714 
      RETNO=NEWNO(0)    !WHERE TO RETURN FROM THIS CALL                 00715 
      MAX=MAX-(1+OFFSET)                                                00716 
      STACK(MAX+1)=STACK(PENT+3)                                        00717 
      STACK(PENT+3)=MAX+1                                               00718 
      STACK(MAX+2)=LINENO                                               00719 
      IF (LONG.OR.COGOTO) STACK(MAX+3)=RETNO                            00720 
      ASSIGN 32661 TO I32730                                            00722 
      GO TO 32730                                                       00722 
32661 CALL ALEINV(ENTNO,LINENO,FORTCL)                                  00723 
      GO TO I32717                                                      00745 
32680 CONTINUE                                                          00746 
      NOTFLG=.FALSE.                                                    00747 
      ASSIGN 32660 TO I32683                                            00748 
      GO TO 32683                                                       00748 
32660 GO TO I32680                                                      00749 
32683 CONTINUE                                                          00750 
      ASSIGN 32659 TO I32741                                            00751 
      GO TO 32741                                                       00751 
32659 TESTNO=NEWNO(0)   !# ON IF(.NOT.                                  00752 
      TOPNO=NEWNO(0)    !# AT TOP OF SCOPE                              00753 
      ENDNO=NEWNO(0)    !# PAST END OF LOOP                             00754 
      GOTONO=TOPNO                                                      00755 
      ASSIGN 32657 TO I32658                                            00756 
      GO TO 32658                                                       00756 
32657 STNO=TESTNO                                                       00757 
      GOTONO=ENDNO                                                      00758 
      ASSIGN 32656 TO I32737                                            00759 
      GO TO 32737                                                       00759 
32656 GSTNO=ENDNO                                                       00760 
      ASSIGN 32655 TO I32728                                            00761 
      GO TO 32728                                                       00761 
32655 GGOTON=TESTNO                                                     00762 
      ASSIGN 32653 TO I32654                                            00763 
      GO TO 32654                                                       00763 
32653 NEXTNO=TOPNO      !NEXT STMNT #=TOPNO                             00764 
      ASSIGN 32652 TO I32735                                            00765 
      GO TO 32735                                                       00765 
32652 GO TO I32683                                                      00766 
32673 CONTINUE                                                          00767 
      ASSIGN 32651 TO I32741                                            00768 
      GO TO 32741                                                       00768 
32651 LEVEL=LEVEL+1                                                     00769 
      L=(ULEN(1)-1)/NCHPWD+6    !PREPARE TO STORE EXPRESSION ON STACK   00770 
      TOP=TOP+L+1                                                       00771 
      IF(.NOT.(TOP+SAFETY.LT.MAX)) GO TO 32649                          00772 
      STACK(TOP)=ASSEQ                                                  00773 
      STACK(TOP-1)=LINENO                                               00774 
      STACK(TOP-2)=0                                                    00775 
      STACK(TOP-3)=0                                                    00776 
      STACK(TOP-4)=L                                                    00777 
      STACK(TOP-L)=0                                                    00778 
      CALL CATSUB(STACK(TOP-L),SFLX,USTART(1),ULEN(1)) !PUT ON STACK    00779 
      GO TO 32650                                                       00780 
32649 ASSIGN 32647 TO I32648                                            00781 
      GO TO 32648                                                       00781 
32647 CONTINUE                                                          00781 
32650 GO TO I32673                                                      00782 
32646 CONTINUE                                                          00783 
      LEVEL=LEVEL-1                                                     00784 
      ASSIGN 32645 TO I32741                                            00785 
      GO TO 32741                                                       00785 
32645 STNO=STACK(TOP-2)                                                 00786 
      IF(STNO.EQ.0) GO TO 32644                                         00787 
      ASSIGN 32642 TO I32643                                            00787 
      GO TO 32643                                                       00787 
32642 CONTINUE                                                          00787 
32644 ASSIGN 32640 TO I32641                                            00788 
      GO TO 32641                                                       00788 
32640 NEXTNO=STACK(TOP-3)       !GET # BEYOND END OF CONDITIONAL        00789 
      ASSIGN 32638 TO I32639                                            00790 
      GO TO 32639                                                       00790 
32638 GO TO I32646                                                      00791 
32637 CONTINUE                                                          00792 
      ASSIGN 32636 TO I32743                                            00793 
      GO TO 32743                                                       00793 
32636 ASSIGN 32635 TO I32741                                            00794 
      GO TO 32741                                                       00794 
32635 IF(.NOT.(UTYPE(1).EQ.UEXP)) GO TO 32633                           00795 
      ASSIGN 32632 TO I32730                                            00797 
      GO TO 32730                                                       00797 
32632 I=STACK(TOP-4)                                                    00798 
      NXIFNO=NEWNO(0)                                                   00799 
      STACK(TOP-2)=NXIFNO                                               00800 
      CALL ALESXP(SST,SFLX,USTART(1),ULEN(1),STACK(TOP-I),              00801 
     1 NXIFNO,LINENO,FORTCL)                                            00802 
      GO TO 32634                                                       00817 
32633 STACK(TOP-2)=0       !FOR (OTHERWISE)                             00818 
32634 ASSIGN 32631 TO I32735                                            00819 
      GO TO 32735                                                       00819 
32631 GO TO I32637                                                      00820 
32630 CONTINUE                                                          00821 
      ASSIGN 32629 TO I32741                                            00825 
      GO TO 32741                                                       00825 
32629 LEVEL=LEVEL-1                                                     00826 
      TOP=TOP-2                                                         00827 
      GO TO I32630                                                      00828 
32628 CONTINUE                                                          00829 
      ASSIGN 32627 TO I32663                                            00830 
      GO TO 32663                                                       00830 
32627 IF(.NOT.(STACK(PENT+2).NE.0)) GO TO 32625                         00831 
      ERROR=26                                                          00832 
      MLINE=STACK(PENT+2)                                               00833 
      ENTNO=NEWNO(0)                                                    00834 
      GO TO 32626                                                       00835 
32625 ENTNO=STACK(PENT+1)                                               00837 
      STACK(PENT+2)=LINENO                                              00838 
32626 ASSIGN 32624 TO I32741                                            00840 
      GO TO 32741                                                       00840 
32624 ASSIGN 32623 TO I32641                                            00841 
      GO TO 32641                                                       00841 
32623 NEXTNO=ENTNO                                                      00842 
      ASSIGN 32622 TO I32641                                            00843 
      GO TO 32641                                                       00843 
32622 TOP=TOP+2                                                         00844 
      STACK(TOP)=AGRET                                                  00845 
      IF(.NOT.(SHORT.OR.FAKE)) GO TO 32620                              00846 
      STACK(TOP-1)=ENTNO   !SHORT .T. AT LAMPF                          00846 
      GO TO 32621                                                       00846 
32620 STACK(TOP-1)=STACK(PENT-1)                                        00847 
32621 UTYPE(1)=0                                                        00848 
      ASSIGN 32619 TO I32735                                            00849 
      GO TO 32735                                                       00849 
32619 GO TO I32628                                                      00850 
32695 CONTINUE                                                          00851 
      NOTFLG=.FALSE.                                                    00853 
      ASSIGN 32618 TO I32665                                            00854 
      GO TO 32665                                                       00854 
32618 CONTINUE                                                          00855 
      GO TO I32695                                                      00870 
32686 CONTINUE                                                          00871 
      NOTFLG=.FALSE.                                                    00872 
      ASSIGN 32617 TO I32689                                            00873 
      GO TO 32689                                                       00873 
32617 GO TO I32686                                                      00874 
32692 CONTINUE                                                          00875 
      ENDNO=NEWNO(0)    !PAST END OF WHEN-ELSE                          00876 
      ELSNO=NEWNO(0)    !START OF ELSE                                  00877 
      GSTNO=ENDNO                                                       00878 
      ASSIGN 32616 TO I32728                                            00879 
      GO TO 32728                                                       00879 
32616 TOP=TOP+2                                                         00880 
      STACK(TOP-1)=LINENO                                               00881 
      STACK(TOP)=AELSE  !STACK CMD TO LOOK FOR ELSE                     00882 
      GSTNO=ELSNO                                                       00883 
      ASSIGN 32615 TO I32728                                            00884 
      GO TO 32728                                                       00884 
32615 GGOTON=ENDNO                                                      00885 
      ASSIGN 32614 TO I32654                                            00886 
      GO TO 32654                                                       00886 
32614 GOTONO=ELSNO      !WHERE TO GO IF LOGICAL CONDITION FALSE         00887 
      STNO=FLXNO                                                        00888 
      FLXNO=0                                                           00889 
      ASSIGN 32613 TO I32737                                            00890 
      GO TO 32737                                                       00890 
32613 ASSIGN 32612 TO I32735                                            00891 
      GO TO 32735                                                       00891 
32612 GO TO I32692                                                      00892 
32689 CONTINUE                                                          00893 
      IF(.NOT.(FLXNO.NE.0)) GO TO 32610                                 00895 
      LOOPNO=FLXNO                                                      00896 
      FLXNO=0                                                           00897 
      GO TO 32611                                                       00899 
32610 IF(.NOT.(NEXTNO.NE.0)) GO TO 32609                                00899 
      LOOPNO=NEXTNO                                                     00900 
      NEXTNO=0                                                          00901 
      GO TO 32611                                                       00903 
32609 LOOPNO=NEWNO(0)                                                   00904 
32611 ENDNO=NEWNO(0)                                                    00907 
      GSTNO=ENDNO                                                       00908 
      ASSIGN 32608 TO I32728                                            00909 
      GO TO 32728                                                       00909 
32608 GGOTON=LOOPNO                                                     00910 
      ASSIGN 32607 TO I32654                                            00911 
      GO TO 32654                                                       00911 
32607 GOTONO=ENDNO                                                      00912 
      STNO=LOOPNO                                                       00913 
      ASSIGN 32606 TO I32737                                            00914 
      GO TO 32737                                                       00914 
32606 ASSIGN 32605 TO I32735                                            00915 
      GO TO 32735                                                       00915 
32605 GO TO I32689                                                      00916 
32735 CONTINUE                                                          00917 
      IF(.NOT.(NUNITS.EQ.1)) GO TO 32603                                00923 
      ASSIGN 32602 TO I32712                                            00923 
      GO TO 32712                                                       00923 
32602 GO TO 32604                                                       00924 
32603 IF(.NOT.(UTYPE(2).EQ.UPINV)) GO TO 32601                          00924 
      ASSIGN 32600 TO I32717                                            00924 
      GO TO 32717                                                       00924 
32600 GO TO 32604                                                       00925 
32601 CALL CPYSUB(SST,SFLX,USTART(2),ULEN(2))   !IS IT JUST "CONTINUE"? 00926 
      IF(STREQ(SST,SCONT)) GO TO 32599                                  00927 
      ASSIGN 32598 TO I32714                                            00927 
      GO TO 32714                                                       00927 
32598 CONTINUE                                                          00927 
32599 CONTINUE                                                          00929 
32604 GO TO I32735                                                      00930 
32663 CONTINUE                                                          00931 
      IF(.NOT.(UTYPE(1).EQ.UPINV)) GO TO 32596                          00932 
      J=1                                                               00932 
      GO TO 32597                                                       00932 
32596 J=2                                                               00933 
32597 CALL CPYSUB(SPINV,SFLX,USTART(J),ULEN(J))                         00934 
      IF(.NOT.(STREQ(SPINV,SDUM))) GO TO 32594                          00935 
      PENT=PDUMMY                                                       00936 
      STACK(PENT+2)=0                                                   00937 
      GO TO 32595                                                       00938 
32594 P=MAXSTK-HASH(SPINV,PRIME)                                        00940 
      FOUND=.FALSE.                                                     00941 
      IF(STACK(P).EQ.0) GO TO 32593                                     00942 
      GO TO 32591                                                       00943 
32592 IF(STACK(P).EQ.0.OR.FOUND) GO TO 32590                            00943 
32591 P=STACK(P)                                                        00944 
      IF (STREQ(SPINV,STACK(P+4))) FOUND=.TRUE.                         00945 
      GO TO 32592                                                       00946 
32590 CONTINUE                                                          00947 
32593 IF(.NOT.(FOUND)) GO TO 32588                                      00948 
      PENT=P                                                            00948 
      GO TO 32589                                                       00948 
32588 TMAX=MAX-(4+OFFST2+(SPINV(1)+NCHPWD-1)/NCHPWD)                    00950 
      IF(.NOT.(TMAX.LE.TOP+SAFETY)) GO TO 32586                         00951 
      PENT=PDUMMY                                                       00952 
      STACK(PENT+2)=0                                                   00953 
      GO TO 32587                                                       00954 
32586 MAX=TMAX                                                          00956 
      PENT=MAX+OFFST2                                                   00957 
      IF (LONG.OR.COGOTO) STACK(PENT-1)=NEWNO(0)                        00958 
      IF (COGOTO) STACK(PENT-2)=0                                       00959 
      STACK(PENT)=0                                                     00960 
      STACK(P)=PENT                                                     00961 
      STACK(PENT+1)=NEWNO(0)                                            00962 
      STACK(PENT+2)=0                                                   00966 
      STACK(PENT+3)=0                                                   00967 
      CALL CPYSTR(STACK(PENT+4),SPINV)                                  00968 
32587 CONTINUE                                                          00970 
32589 CONTINUE                                                          00971 
32595 GO TO I32663                                                      00972 
32665 CONTINUE                                                          00973 
      GOTONO=NEWNO(0)           !GET STMNT # TO GOTO                    00974 
      STNO=FLXNO                                                        00975 
      FLXNO=0                                                           00976 
      ASSIGN 32585 TO I32737                                            00977 
      GO TO 32737                                                       00977 
32585 GSTNO=GOTONO                                                      00978 
      ASSIGN 32584 TO I32728                                            00979 
      GO TO 32728                                                       00979 
32584 ASSIGN 32583 TO I32735                                            00980 
      GO TO 32735                                                       00980 
32583 GO TO I32665                                                      00981 
32641 CONTINUE                                                          00982 
      IF(.NOT.(NEXTNO.NE.0)) GO TO 32582                                00987 
      CALL PUTLBL(NEXTNO,LINENO,FORTCL)                                 00989 
      NEXTNO=0                                                          00995 
32582 GO TO I32641                                                      00997 
32730 CONTINUE                                                          00998 
      ASSIGN 32581 TO I32641                                            01003 
      GO TO 32641                                                       01003 
32581 IF(.NOT.(STNO.NE.0)) GO TO 32580                                  01004 
      NEXTNO=STNO                                                       01005 
      ASSIGN 32579 TO I32641                                            01006 
      GO TO 32641                                                       01006 
32579 STNO=0                                                            01007 
32580 IF(.NOT.(FLXNO.NE.0)) GO TO 32578                                 01009 
      NEXTNO=FLXNO                                                      01010 
      ASSIGN 32577 TO I32641                                            01011 
      GO TO 32641                                                       01011 
32577 FLXNO=0                                                           01012 
32578 GO TO I32730                                                      01014 
32743 CONTINUE                                                          01015 
      ENDNO=STACK(TOP-3)                                                01019 
      IF(.NOT.(ENDNO.EQ.0)) GO TO 32575                                 01020 
      STACK(TOP-3)=NEWNO(0)                                             01021 
      GO TO 32576                                                       01022 
32575 GOTONO=ENDNO                                                      01024 
      ASSIGN 32574 TO I32658                                            01025 
      GO TO 32658                                                       01025 
32574 CONTINUE                                                          01026 
32576 IF(.NOT.(NEXTNO.EQ.0)) GO TO 32572                                01028 
      NEXTNO=STACK(TOP-2)                                               01028 
      GO TO 32573                                                       01029 
32572 IF(.NOT.(STACK(TOP-2).EQ.0)) GO TO 32571                          01029 
      GO TO 32573                                                       01030 
32571 ASSIGN 32570 TO I32641                                            01031 
      GO TO 32641                                                       01031 
32570 NEXTNO=STACK(TOP-2)                                               01032 
32573 GO TO I32743                                                      01035 
32569 CONTINUE                                                          01036 
      ASSIGN 32568 TO I32730                                            01038 
      GO TO 32730                                                       01038 
32568 CALL ALEBRI(STACK(TOP-1),LINENO,FORTCL)                           01039 
      TOP=TOP-2                                                         01045 
      GO TO I32569                                                      01046 
32567 CONTINUE                                                          01047 
      GOTONO=STACK(TOP-1)                                               01051 
      ASSIGN 32566 TO I32658                                            01052 
      GO TO 32658                                                       01052 
32566 TOP=TOP-2                                                         01053 
      GO TO I32567                                                      01054 
32565 CONTINUE                                                          01102 
      STNO=0                                                            01103 
      ASSIGN 32564 TO I32730                                            01105 
      GO TO 32730                                                       01105 
32564 CALL ALERTS(LINENO,FORTCL)                                        01106 
      TOP=TOP-2                                                         01119 
      GO TO I32565                                                      01120 
32563 CONTINUE                                                          01121 
      ASSIGN 32562 TO I32641                                            01126 
      GO TO 32641                                                       01126 
32562 NEXTNO=STACK(TOP-1)                                               01127 
      TOP=TOP-2                                                         01128 
      GO TO I32563                                                      01129 
32648 CONTINUE                                                          01130 
      CALL PUT(0,SGUP1,ERRCL)                                           01131 
      CALL PUT(0,SGUP2,ERRCL)                                           01132 
      CALL CLOSEF(MINCNT,-1)                                            01133 
      CALL EXFLE                        !MAO, 30-APR-80                 01134 
      GO TO I32648                                                      01135 
32561 CONTINUE                                                          01145 
      CALL CPYSUB (SST,SFLX,USTART(1),ULEN(1))                          01149 
      CALL OPNINC (SST(1),SST(2),ERROR)                                 01150 
      IF (ERROR.NE.0) ERROR=ERROR+300                                   01151 
      GO TO I32561                                                      01152 
32758 CONTINUE                                                          01153 
      CALL LAMPFI(ALECS,CHC,CINLIN)             !20-FEB-80              01157 
      NOCALL=0                  !# OF TIMES OPENF HAS BEEN CALLED       01159 
      PARAM1=NCHPWD             !# OF CHARACTERS PER INTEGER WORD       01160 
      PARAM2=CHZERO                                                     01161 
      PARAM3=CHSPAC                                                     01162 
      PARAM4=CHC                !COMMENT CHARACTER                      01163 
      PARAM5=CINLIN             !IN-LINE COMMENT CHAR   !25-JAN-80      01164 
      BLN=0                                                             01165 
      WWIDTH=LWIDTH-18          !11-SEP-75, 830307 ADD FORT LINE #      01166 
      REFNO=(WWIDTH-6)/7        !11-SEP-75      !830311                 01167 
      IF(.NOT.(SHORT.OR.FAKE)) GO TO 32559                              01169 
      OFFSET=1                                                          01170 
      OFFST2=1                                                          01171 
      GO TO 32560                                                       01173 
32559 IF(.NOT.(COGOTO)) GO TO 32558                                     01173 
      OFFSET=2                                                          01174 
      OFFST2=3                                                          01175 
      GO TO 32560                                                       01177 
32558 OFFSET=2                                                          01178 
      OFFST2=3                                                          01179 
32560 NOTFLG=.TRUE.                                                     01182 
      ERLST=.FALSE.                                                     01183 
      IMPSET=.FALSE.                                    !840307MAO      01185 
      GO TO I32758                                                      01186 
32639 CONTINUE                                                          01187 
      TOPTYP=STACK(TOP)                                                 01188 
      IF((ASSEQ).NE.(TOPTYP)) GO TO 32556                               01190 
      TOP=TOP-STACK(TOP-4)-1                                            01190 
      GO TO 32557                                                       01191 
32556 IF((ACSEQ).NE.(TOPTYP)) GO TO 32555                               01191 
      TOP=TOP-4                                                         01191 
      GO TO 32557                                                       01192 
32555 IF((AGGOTO).NE.(TOPTYP)) GO TO 32554                              01192 
      TOP=TOP-2                                                         01192 
      GO TO 32557                                                       01193 
32554 IF((AGCONT).NE.(TOPTYP)) GO TO 32553                              01193 
      TOP=TOP-2                                                         01193 
      GO TO 32557                                                       01194 
32553 IF((AFSEQ).NE.(TOPTYP)) GO TO 32552                               01194 
      TOP=TOP-2                                                         01194 
      GO TO 32557                                                       01195 
32552 IF((AELSE).NE.(TOPTYP)) GO TO 32551                               01195 
      TOP=TOP-2                                                         01195 
      GO TO 32557                                                       01196 
32551 IF((AGSTNO).NE.(TOPTYP)) GO TO 32550                              01196 
      TOP=TOP-2                                                         01196 
      GO TO 32557                                                       01197 
32550 IF((ATSEQ).NE.(TOPTYP)) GO TO 32549                               01197 
      TOP=TOP-1                                                         01197 
      GO TO 32557                                                       01198 
32549 IF((AMSEQ).NE.(TOPTYP)) GO TO 32548                               01198 
      TOP=TOP-1                                                         01198 
      GO TO 32557                                                       01199 
32548 IF((AGRET).NE.(TOPTYP)) GO TO 32547                               01199 
      TOP=TOP-2                                                         01199 
32547 CONTINUE                                                          01200 
32557 GO TO I32639                                                      01201 
32749 CONTINUE                                                          01202 
      DUMMY=NEWNO(SEEDNO)       !INITIALIZE STMNT # GENERATOR           01205 
      ENDPGM=.FALSE.                                                    01206 
      MAX=MAXSTK-(PRIME+OFFSET+3)                                       01207 
      PDUMMY=MAX+OFFSET                                                 01208 
      DO 32546 I=MAX,MAXSTK                                             01209 
      STACK(I)=0                                                        01209 
32546 CONTINUE                                                          01209 
      TOP=1             !START OF STACK                                 01210 
      STACK(TOP)=AMSEQ  !INITIAL CMD: LOOK FOR FLECS MAIN LINE OR FORT  01211 
      ERROR=0                                                           01212 
      FIRST=.TRUE.      !THIS IS FIRST READ ON THIS FILE                01213 
      NOPGM=.FALSE.                                                     01214 
      NEXTNO=0          !STMNT # FOR NEXT STMNT PUT IN FTN FILE         01215 
      SOURCE=READ       !GET INPUT FROM FILE                            01216 
      LEVEL=0                                                           01217 
      LSTLEV=0                                                          01218 
      PASFLG=.TRUE.                                     !30JUN81MAO     01219 
      CNDLVL=0                                  !30JUN81MAO             01220 
      OFFLVL=0                                  !30JUN81MAO             01221 
      NUMLIN=0  !NO FORT LINES YET                      !830307         01223 
      GO TO I32749                                                      01229 
32545 CONTINUE                                                          01230 
      IF((DPAGE).NE.(DTYPE)) GO TO 32543                                01235 
      ASSIGN 32541 TO I32542                                            01235 
      GO TO 32542                                                       01235 
32541 GO TO 32544                                                       01236 
32543 IF((DINCL).NE.(DTYPE)) GO TO 32540                                01236 
      ASSIGN 32539 TO I32561                                            01236 
      GO TO 32561                                                       01236 
32539 GO TO 32544                                                       01237 
32540 IF((DPIF).NE.(DTYPE)) GO TO 32538                                 01237 
      ASSIGN 32536 TO I32537                                            01237 
      GO TO 32537                                                       01237 
32536 GO TO 32544                                                       01238 
32538 IF((DPUNL).NE.(DTYPE)) GO TO 32535                                01238 
      ASSIGN 32533 TO I32534                                            01238 
      GO TO 32534                                                       01238 
32533 GO TO 32544                                                       01239 
32535 IF((DPEND).NE.(DTYPE)) GO TO 32532                                01239 
      ASSIGN 32530 TO I32531                                            01239 
      GO TO 32531                                                       01239 
32530 GO TO 32544                                                       01240 
32532 IF((DNAME).NE.(DTYPE)) GO TO 32529                                01240 
      ASSIGN 32528 TO I32745                                            01240 
      GO TO 32745                                                       01240 
32528 CONTINUE                                                          01241 
32529 CONTINUE                                                          01244 
32544 GO TO I32545                                                      01245 
32531 CONTINUE                                                          01254 
      ASSIGN 32527 TO I32730                                            01255 
      GO TO 32730                                                       01255 
32527 IF(.NOT.(CNDLVL.EQ.0)) GO TO 32525                                01256 
      ERROR=401      !extra .PASSEND                                    01256 
      GO TO 32526                                                       01256 
32525 IF (CNDLVL.EQ.OFFLVL) PASFLG=.TRUE.       !back on                01258 
      CNDLVL=CNDLVL-1                                                   01259 
32526 GO TO I32531                                                      01261 
32537 CONTINUE                                                          01262 
      ASSIGN 32524 TO I32730                                            01264 
      GO TO 32730                                                       01264 
32524 CNDLVL=CNDLVL+1           !one more level of conditional          01265 
      IF(.NOT.(PASFLG)) GO TO 32523                                     01266 
      CALL CPYSUB (SST,SFLX,USTART(1),ULEN(1))  !get the name           01270 
      IF(.NOT.(SST(1).GT.6)) GO TO 32522                                01271 
      SST(1)=6                                                          01272 
      ERROR=402                                                         01273 
32522 IF (SST(1).LT.1) ERROR=403                !no name given!         01275 
      IF(.NOT.(ERROR.EQ.0)) GO TO 32521                                 01276 
      I=1                                                               01277 
      FOUND=.FALSE.                                                     01278 
32520 IF(I.GT.COND .OR. FOUND) GO TO 32519                              01279 
      FOUND=STREQ (SST,CNDVAL(1,I))                                     01280 
      I=I+1                                                             01281 
      GO TO 32520                                                       01282 
32519 IF(.NOT.(NOTFLG)) FOUND=.NOT.FOUND !invert for .PASSUNLESS        01284 
      IF(FOUND) GO TO 32518                                             01286 
      PASFLG=.FALSE.                                                    01287 
      OFFLVL=CNDLVL                                                     01288 
32518 CONTINUE                                                          01290 
32521 CONTINUE                                                          01291 
32523 GO TO I32537                                                      01292 
32534 CONTINUE                                                          01293 
      NOTFLG=.FALSE.            !signal really PASSUNLESS               01294 
      ASSIGN 32517 TO I32537                                            01295 
      GO TO 32537                                                       01295 
32517 NOTFLG=.TRUE.             !reset to default value                 01296 
      GO TO I32534                                                      01297 
32747 CONTINUE                                                          01298 
      GO TO 32515                                                       01299 
32516 IF(ENDPGM) GO TO 32514                                            01299 
32515 IF(.NOT.(TOP+SAFETY.GT.MAX)) GO TO 32513                          01300 
      ASSIGN 32512 TO I32648                                            01300 
      GO TO 32648                                                       01300 
32512 CONTINUE                                                          01300 
32513 ACTION=STACK(TOP)                 !ON FIRST PASS=AMSEQ            01301 
      IF((AGGOTO).NE.(ACTION)) GO TO 32510                              01303 
      ASSIGN 32509 TO I32567                                            01303 
      GO TO 32567                                                       01303 
32509 GO TO 32511                                                       01304 
32510 IF((AGRET).NE.(ACTION)) GO TO 32508                               01304 
      ASSIGN 32507 TO I32565                                            01304 
      GO TO 32565                                                       01304 
32507 GO TO 32511                                                       01305 
32508 IF((AGCONT).NE.(ACTION)) GO TO 32506                              01305 
      ASSIGN 32505 TO I32569                                            01305 
      GO TO 32569                                                       01305 
32505 GO TO 32511                                                       01306 
32506 IF((AGSTNO).NE.(ACTION)) GO TO 32504                              01306 
      ASSIGN 32503 TO I32563                                            01306 
      GO TO 32563                                                       01306 
32503 GO TO 32511                                                       01307 
32504 CALL ANALYZ       !GET INPUT AND FIGURE OUT WHAT NEEDS DOING      01308 
      IF((AFSEQ).NE.(ACTION)) GO TO 32501                               01310 
      IF((TDIR).NE.(CLASS)) GO TO 32499                                 01312 
      ASSIGN 32498 TO I32545                                            01312 
      GO TO 32545                                                       01312 
32498 GO TO 32500                                                       01313 
32499 IF((TEXEC).NE.(CLASS)) GO TO 32497                                01313 
      ASSIGN 32496 TO I32703                                            01313 
      GO TO 32703                                                       01313 
32496 GO TO 32500                                                       01314 
32497 IF((TFIN).NE.(CLASS)) GO TO 32495                                 01314 
      ASSIGN 32494 TO I32630                                            01314 
      GO TO 32630                                                       01314 
32494 GO TO 32500                                                       01315 
32495 IF((TEND).NE.(CLASS)) GO TO 32493                                 01315 
      ERROR=1                                                           01315 
      GO TO 32500                                                       01316 
32493 IF((TELSE).NE.(CLASS)) GO TO 32492                                01316 
      ERROR=10                                                          01316 
      GO TO 32500                                                       01317 
32492 IF((TTO).NE.(CLASS)) GO TO 32491                                  01317 
      ERROR=13                                                          01317 
      GO TO 32500                                                       01318 
32491 IF((TCEXP).NE.(CLASS)) GO TO 32490                                01318 
      ERROR=19                                                          01318 
      GO TO 32500                                                       01319 
32490 IF((TOFF).NE.(CLASS)) GO TO 32489                                 01319 
      CONTINUE                                    !30JUN81MAO           01319 
32489 CONTINUE                                                          01320 
32500 GO TO 32502                                                       01322 
32501 IF((AMSEQ).NE.(ACTION)) GO TO 32488                               01322 
      IF((TDIR).NE.(CLASS)) GO TO 32486                                 01324 
      ASSIGN 32485 TO I32545                                            01324 
      GO TO 32545                                                       01324 
32485 GO TO 32487                                                       01325 
32486 IF((TEXEC).NE.(CLASS)) GO TO 32484                                01325 
      ASSIGN 32483 TO I32703                                            01325 
      GO TO 32703                                                       01325 
32483 GO TO 32487                                                       01326 
32484 IF((TEND).NE.(CLASS)) GO TO 32482                                 01326 
      IF(.NOT.(NOPGM)) GO TO 32480                                      01327 
      ENDPGM=.TRUE.                                                     01327 
      GO TO 32481                                                       01327 
32480 ASSIGN 32479 TO I32710                                            01328 
      GO TO 32710                                                       01328 
32479 CONTINUE                                                          01328 
32481 GO TO 32487                                                       01330 
32482 IF((TFIN).NE.(CLASS)) GO TO 32478                                 01330 
      ERROR=5                                                           01330 
      GO TO 32487                                                       01331 
32478 IF((TELSE).NE.(CLASS)) GO TO 32477                                01331 
      ERROR=8                                                           01331 
      GO TO 32487                                                       01332 
32477 IF((TTO).NE.(CLASS)) GO TO 32476                                  01332 
      STACK(TOP)=ATSEQ  !NOTE TOP NOT SHIFTED!!-->ONLY PROC DFN LEGAL   01333 
      ASSIGN 32475 TO I32628                                            01334 
      GO TO 32628                                                       01334 
32475 GO TO 32487                                                       01336 
32476 IF((TCEXP).NE.(CLASS)) GO TO 32474                                01336 
      ERROR=17                                                          01336 
      GO TO 32487                                                       01337 
32474 IF((TOFF).NE.(CLASS)) GO TO 32473                                 01337 
      CONTINUE                                    !30JUN81MAO           01337 
32473 CONTINUE                                                          01338 
32487 GO TO 32502                                                       01340 
32488 IF((ASSEQ).NE.(ACTION)) GO TO 32472                               01340 
      IF((TDIR).NE.(CLASS)) GO TO 32470                                 01342 
      ASSIGN 32469 TO I32545                                            01342 
      GO TO 32545                                                       01342 
32469 GO TO 32471                                                       01343 
32470 IF((TCEXP).NE.(CLASS)) GO TO 32468                                01343 
      ASSIGN 32467 TO I32637                                            01343 
      GO TO 32637                                                       01343 
32467 GO TO 32471                                                       01344 
32468 IF((TFIN).NE.(CLASS)) GO TO 32466                                 01344 
      ASSIGN 32465 TO I32646                                            01344 
      GO TO 32646                                                       01344 
32465 GO TO 32471                                                       01345 
32466 IF((TEND).NE.(CLASS)) GO TO 32464                                 01345 
      ERROR=3                                                           01345 
      GO TO 32471                                                       01346 
32464 IF((TELSE).NE.(CLASS)) GO TO 32463                                01346 
      ERROR=12                                                          01346 
      GO TO 32471                                                       01347 
32463 IF((TTO).NE.(CLASS)) GO TO 32462                                  01347 
      ERROR=15                                                          01347 
      GO TO 32471                                                       01348 
32462 IF((TEXEC).NE.(CLASS)) GO TO 32461                                01348 
      ERROR=23                                                          01348 
      GO TO 32471                                                       01349 
32461 IF((TOFF).NE.(CLASS)) GO TO 32460                                 01349 
      CONTINUE                                    !30JUN81MAO           01349 
32460 CONTINUE                                                          01350 
32471 GO TO 32502                                                       01352 
32472 IF((ACSEQ).NE.(ACTION)) GO TO 32459                               01352 
      IF((TDIR).NE.(CLASS)) GO TO 32457                                 01354 
      ASSIGN 32456 TO I32545                                            01354 
      GO TO 32545                                                       01354 
32456 GO TO 32458                                                       01355 
32457 IF((TCEXP).NE.(CLASS)) GO TO 32455                                01355 
      ASSIGN 32454 TO I32744                                            01355 
      GO TO 32744                                                       01355 
32454 GO TO 32458                                                       01356 
32455 IF((TFIN).NE.(CLASS)) GO TO 32453                                 01356 
      ASSIGN 32452 TO I32646                                            01356 
      GO TO 32646                                                       01356 
32452 GO TO 32458                                                       01357 
32453 IF((TEND).NE.(CLASS)) GO TO 32451                                 01357 
      ERROR=2                                                           01357 
      GO TO 32458                                                       01358 
32451 IF((TELSE).NE.(CLASS)) GO TO 32450                                01358 
      ERROR=11                                                          01358 
      GO TO 32458                                                       01359 
32450 IF((TTO).NE.(CLASS)) GO TO 32449                                  01359 
      ERROR=14                                                          01359 
      GO TO 32458                                                       01360 
32449 IF((TEXEC).NE.(CLASS)) GO TO 32448                                01360 
      ERROR=22                                                          01360 
      GO TO 32458                                                       01361 
32448 IF((TOFF).NE.(CLASS)) GO TO 32447                                 01361 
      CONTINUE                                    !30JUN81MAO           01361 
32447 CONTINUE                                                          01362 
32458 GO TO 32502                                                       01364 
32459 IF((AELSE).NE.(ACTION)) GO TO 32446                               01364 
      IF((TDIR).NE.(CLASS)) GO TO 32444                                 01366 
      ASSIGN 32443 TO I32545                                            01366 
      GO TO 32545                                                       01366 
32443 GO TO 32445                                                       01367 
32444 IF((TELSE).NE.(CLASS)) GO TO 32442                                01367 
      ASSIGN 32441 TO I32723                                            01367 
      GO TO 32723                                                       01367 
32441 GO TO 32445                                                       01368 
32442 IF((TEND).NE.(CLASS)) GO TO 32440                                 01368 
      ERROR=4                                                           01368 
      GO TO 32445                                                       01369 
32440 IF((TFIN).NE.(CLASS)) GO TO 32439                                 01369 
      ERROR=7                                                           01369 
      GO TO 32445                                                       01370 
32439 IF((TTO).NE.(CLASS)) GO TO 32438                                  01370 
      ERROR=16                                                          01370 
      GO TO 32445                                                       01371 
32438 IF((TCEXP).NE.(CLASS)) GO TO 32437                                01371 
      ERROR=20                                                          01371 
      GO TO 32445                                                       01372 
32437 IF((TEXEC).NE.(CLASS)) GO TO 32436                                01372 
      ERROR=24                                                          01372 
      GO TO 32445                                                       01373 
32436 IF((TOFF).NE.(CLASS)) GO TO 32435                                 01373 
      CONTINUE                                    !30JUN81MAO           01373 
32435 CONTINUE                                                          01374 
32445 GO TO 32502                                                       01376 
32446 IF((ATSEQ).NE.(ACTION)) GO TO 32434                               01376 
      IF((TDIR).NE.(CLASS)) GO TO 32432                                 01378 
      ASSIGN 32431 TO I32545                                            01378 
      GO TO 32545                                                       01378 
32431 GO TO 32433                                                       01379 
32432 IF((TTO).NE.(CLASS)) GO TO 32430                                  01379 
      ASSIGN 32429 TO I32628                                            01379 
      GO TO 32628                                                       01379 
32429 GO TO 32433                                                       01380 
32430 IF((TEND).NE.(CLASS)) GO TO 32428                                 01380 
      ASSIGN 32427 TO I32710                                            01380 
      GO TO 32710                                                       01380 
32427 GO TO 32433                                                       01381 
32428 IF((TFIN).NE.(CLASS)) GO TO 32426                                 01381 
      ERROR=6                                                           01381 
      GO TO 32433                                                       01382 
32426 IF((TELSE).NE.(CLASS)) GO TO 32425                                01382 
      ERROR=9                                                           01382 
      GO TO 32433                                                       01383 
32425 IF((TCEXP).NE.(CLASS)) GO TO 32424                                01383 
      ERROR=18                                                          01383 
      GO TO 32433                                                       01384 
32424 IF((TEXEC).NE.(CLASS)) GO TO 32423                                01384 
      ERROR=21                                                          01384 
      GO TO 32433                                                       01385 
32423 IF((TOFF).NE.(CLASS)) GO TO 32422                                 01385 
      CONTINUE                                    !30JUN81MAO           01385 
32422 CONTINUE                                                          01386 
32433 CONTINUE                                                          01388 
32434 CONTINUE                                                          01388 
32502 IF(.NOT.(NOPGM .OR. CLASS.EQ.TOFF)) CALL LIST       !30JUN81MAO   01389 
32511 GO TO 32516                                                       01392 
32514 GO TO I32747                                                      01393 
32712 CONTINUE                                                          01394 
      TOP=TOP+2                                                         01395 
      STACK(TOP-1)=LINENO                                               01396 
      STACK(TOP)=AFSEQ                                                  01397 
      LEVEL=LEVEL+1                                                     01398 
      GO TO I32712                                                      01399 
32726 CONTINUE                                                          01400 
      TOP=TOP+2                                                         01401 
      STACK(TOP-1)=CONTNO                                               01402 
      STACK(TOP)=AGCONT                                                 01403 
      GO TO I32726                                                      01404 
32654 CONTINUE                                                          01405 
      TOP=TOP+2                                                         01406 
      STACK(TOP-1)=GGOTON                                               01407 
      STACK(TOP)=AGGOTO                                                 01408 
      GO TO I32654                                                      01409 
32728 CONTINUE                                                          01410 
      TOP=TOP+2                                                         01411 
      STACK(TOP-1)=GSTNO                                                01412 
      STACK(TOP)=AGSTNO                                                 01413 
      GO TO I32728                                                      01414 
32643 CONTINUE                                                          01415 
      ASSIGN 32421 TO I32641                                            01416 
      GO TO 32641                                                       01416 
32421 CONTINUE                                                          01417 
      CALL PUTLBL(STNO,LINENO,FORTCL)                                   01418 
      STNO=0                                                            01424 
      GO TO I32643                                                      01425 
32705 CONTINUE                                                          01426 
      CALL CPYSTR (SST,SFLX)                            !26JUN81MAO     01430 
      CALL GETCH (SST(2),1,I)           !# IN COL 1?    !26-JUN-81(MAO) 01431 
      IF (I.EQ.POUND)CALL PUTCH(SST(2),1,CHSPAC) !BLANK OUT !26JUN81MAO 01432 
      IF(.NOT.(NEXTNO.EQ.0)) GO TO 32419                                01434 
      CALL PUT(LINENO,SST,FORTCL)         !26JUN81MAO                   01434 
      GO TO 32420                                                       01435 
32419 IF(.NOT.(FLXNO.NE.0.OR.PASS)) GO TO 32418                         01435 
      ASSIGN 32417 TO I32641                                            01436 
      GO TO 32641                                                       01436 
32417 CALL PUT(LINENO,SST,FORTCL)                       !26JUN81MAO     01437 
      GO TO 32420                                                       01439 
32418 CONTINUE                                                          01441 
      CALL PUTLBL(NEXTNO,LINENO,FORTCL)                                 01442 
      CALL PUT(LINENO,SST,FORTCL)                       !26JUN81MAO     01443 
      NEXTNO=0                                                          01449 
32420 GO TO I32705                                                      01452 
32658 CONTINUE                                                          01453 
      ASSIGN 32416 TO I32730                                            01455 
      GO TO 32730                                                       01455 
32416 CALL ALEBRI(GOTONO,LINENO,FORTCL)                                 01456 
      GO TO I32658                                                      01467 
32737 CONTINUE                                                          01468 
      ASSIGN 32415 TO I32730                                            01473 
      GO TO 32730                                                       01473 
32415 CALL PUTLOG(SFLX,USTART(1),ULEN(1),NOTFLG,GOTONO,LINENO,          01474 
     1 MAJCNT,FORTCL,ERRCL)                                             01475 
      NOTFLG=.TRUE.                                                     01486 
      GO TO I32737                                                      01487 
32542 CONTINUE                                                          01488 
      CALL NEWPG                                                        01492 
      GO TO I32542                                                      01493 
32667 CONTINUE                                                          01494 
      IF(NEXTNO.EQ.0) GO TO 32414                                       01495 
      IF(.NOT.(STNO.EQ.0)) GO TO 32412                                  01496 
      STNO=NEXTNO                                                       01497 
      NEXTNO=0                                                          01498 
      GO TO 32413                                                       01499 
32412 ASSIGN 32411 TO I32641                                            01500 
      GO TO 32641                                                       01500 
32411 CONTINUE                                                          01500 
32413 CONTINUE                                                          01501 
32414 IF(STNO.EQ.0) GO TO 32410                                         01502 
      CALL PUTLBL(STNO,LINENO,FORTCL)                                   01504 
      STNO=0                                                            01509 
32410 IF(.NOT.(SST(1).LE.72)) GO TO 32408                               01514 
      CALL PUT(LINENO,SST,FORTCL)                                       01514 
      GO TO 32409                                                       01514 
32408 ERROR=500                 !Warning message from L!830308          01525 
      CALL CPYSUB (SLIST,SST,1,72)                                      01526 
      CALL PUT(LINENO,SLIST,FORTCL)                                     01527 
      S=73                                                              01528 
      L=66                                                              01529 
      GO TO 32406                                                       01530 
32407 IF(S.GT.SST(1)) GO TO 32405                                       01530 
32406 IF(S+L-1.GT.SST(1)) L=SST(1)-S+1                                  01531 
      CALL CPYSTR(SLIST,SB5I1)                                          01532 
      CALL CATSUB(SLIST,SST,S,L)                                        01533 
      CALL PUT(LINENO,SLIST,FORTCL)                                     01534 
      IF(.NOT.(CNTALL)) NUMLIN=NUMLIN-1   !USUALLY DONT COUNT !830307   01535 
      S=S+66                                                            01536 
      GO TO 32407                                                       01537 
32405 CONTINUE                                                          01538 
32409 GO TO I32667                                                      01539 
32404 CONTINUE                                                          01540 
      LL=0                                                              01541 
      LR=STACK(LP)                                                      01542 
32403 IF(LR.EQ.0) GO TO 32402                                           01543 
      LT=STACK(LR)                                                      01544 
      STACK(LR)=LL                                                      01545 
      LL=LR                                                             01546 
      LR=LT                                                             01547 
      GO TO 32403                                                       01548 
32402 STACK(LP)=LL                                                      01549 
      GO TO I32404                                                      01550 
32741 CONTINUE                                                          01551 
      IF(.NOT.(FLXNO.NE.0)) GO TO 32401                                 01552 
      ASSIGN 32400 TO I32641                                            01553 
      GO TO 32641                                                       01553 
32400 NEXTNO=FLXNO                                                      01554 
      FLXNO=0                                                           01555 
32401 GO TO I32741                                                      01557 
32707 CONTINUE                                                          01558 
      P=MAX                                                             01559 
      STACK(MAX)=0                                                      01560 
      ITEMP=MAXSTK-PRIME+1                                              01561 
      DO 32399 I=ITEMP,MAXSTK                                           01562 
      IF(STACK(I).EQ.0) GO TO 32398                                     01563 
      STACK(P)=STACK(I)                                                 01564 
      GO TO 32396                                                       01565 
32397 IF(STACK(P).EQ.0) GO TO 32395                                     01565 
32396 P=STACK(P)                                                        01566 
      LP=P+3                                                            01567 
      ASSIGN 32394 TO I32404                                            01568 
      GO TO 32404                                                       01568 
32394 GO TO 32397                                                       01569 
32395 CONTINUE                                                          01570 
32398 CONTINUE                                                          01571 
32399 CONTINUE                                                          01571 
      Q=MAX-1                                                           01572 
      STACK(Q)=0                                                        01573 
32393 IF(STACK(MAX).EQ.0) GO TO 32392                                   01574 
      P=STACK(MAX)                                                      01575 
      STACK(MAX)=STACK(P)                                               01576 
      QM=Q                                                              01577 
      QP=STACK(QM)                                                      01578 
      INSERT=.FALSE.                                                    01579 
32391 IF(INSERT) GO TO 32390                                            01580 
      IF(.NOT.(QP.EQ.0)) GO TO 32388                                    01582 
      INSERT=.TRUE.                                                     01582 
      GO TO 32389                                                       01583 
32388 IF(.NOT.(STRLT(STACK(P+4),STACK(QP+4)))) GO TO 32387              01583 
      INSERT=.TRUE.                                                     01583 
      GO TO 32389                                                       01584 
32387 QM=QP                                                             01585 
      QP=STACK(QM)                                                      01586 
32389 GO TO 32391                                                       01589 
32390 STACK(P)=QP                                                       01590 
      STACK(QM)=P                                                       01591 
      GO TO 32393                                                       01592 
32392 PTABLE=STACK(Q)                                                   01593 
      GO TO I32707                                                      01594 
      END                                                               01595 
