      SUBROUTINE ALEBRI(NUMBER,LINENO,IOCLAS)                           00047 
      INTEGER*2 NUMBER,LINENO,IOCLAS                                    00051 
      INTEGER*2 SBRI(10)                                                00055 
      DATA SBRI/17,2H  ,2H  ,2H  ,2HBR,2HW ,2H I,2H  ,2H  ,1H /         00057 
      CALL PUTNUM (SBRI(7),NUMBER)                      !850301mao      00069 
      CALL PUT(LINENO,SBRI,IOCLAS)                                      00071 
      RETURN                                                            00073 
      END                                                               00074 
      SUBROUTINE ALEDO(SST,SFLX,ISTART,LEN,CONTNO,NEXTNO,GSTNO,         00169 
     1 LINENO,MAJCNT,FORTCL,ERRCL)                                      00170 
      INTEGER SST(1),SFLX(1),ISTART,LEN,CONTNO,NEXTNO,GSTNO,MAJCNT,     00174 
     1 LINENO,FORTCL,ERRCL                                              00175 
      INTEGER*2 SNOTIM(19), SERR(8)                                     00179 
      DATA SNOTIM/35,2H**,2H**,2H* ,2H  ,2H (,2HDO,2H L,2HOO,           00183 
     1 2HPS,2H N,2HOT,2H I,2HMP,2HLE,2HME,2HNT,2HED,1H)/                00184 
      DATA SERR/13,2H**,2H**,2H**,2HAL,2HE ,2HER,1HR/                   00187 
      MAJCNT=MAJCNT+1                                                   00190 
      CALL PUT(0,SNOTIM,ERRCL)  !DO LOOPS NOT IMPLEMENTED               00191 
      CALL PUT(LINENO,SERR,FORTCL)                                      00195 
      RETURN                                                            00198 
      END                                                               00199 
      SUBROUTINE ALEINV(NUMBER,LINENO,IOCLAS)                           00242 
      INTEGER*2 NUMBER,LINENO,IOCLAS                                    00246 
      INTEGER*2 SJSRPC(11)                                              00250 
      DATA SJSRPC/19,2H  ,2H  ,2H  ,2HJS,2HB ,2H  ,2H I,2H  ,2H  ,1H /  00253 
      CALL PUTNUM (SJSRPC(8),NUMBER)                    !850301mao      00265 
      CALL PUT(LINENO,SJSRPC,IOCLAS)                                    00267 
      RETURN                                                            00269 
      END                                                               00270 
      SUBROUTINE ALESXP(SST,SFLX,ISTART,LEN,SEL,NXIFNO,                 00319 
     1 LINENO,IOCLAS)                                                   00320 
      INTEGER*2 SST(1),SFLX(1),ISTART,LEN,SEL(1),NXIFNO,LINENO,IOCLAS   00324 
      INTEGER*2 SCMP(7),SCOMMA(2),SBNEI(7)                              00328 
      DATA SCMP         /11,2H  ,2H  ,2H  ,2HCM,2HPW,1H /               00331 
      DATA SCOMMA       /1,1H,/                                         00332 
      DATA SBNEI        /12,2H  ,2H  ,2H  ,2HBN,2HEQ,2H I/              00333 
      CALL CPYSTR(SST,SCMP)                                             00349 
      CALL CATSUB(SST,SFLX,ISTART+1,LEN-2)      !LEAVE OUT ()           00350 
      CALL CATSTR(SST,SCOMMA)                                           00351 
      CALL CATSUB(SST,SEL,2,SEL(1)-2)   !LEAVE OUT ()                   00355 
      CALL PUT(LINENO,SST,IOCLAS)               !PUT IT OUT             00357 
      CALL CPYSTR(SST,SBNEI)                                            00361 
      CALL CATNUM(SST,NXIFNO)                                           00362 
      CALL PUT(LINENO,SST,IOCLAS)                                       00363 
      RETURN                                                            00365 
      END                                                               00366 
      SUBROUTINE ALERTS(LINENO,IOCLAS)                                  00407 
      INTEGER*2 LINENO,IOCLAS                                           00411 
      INTEGER*2 SRTSPC(7)                                               00415 
      DATA SRTSPC /12,2H  ,2H  ,2H  ,2HRS,2HB ,2H  /                    00417 
      CALL PUT(LINENO,SRTSPC,IOCLAS)                                    00429 
      RETURN                                                            00431 
      END                                                               00432 
      SUBROUTINE PUTLBL(LBLNUM,LINENO,IOCLAS)                           00475 
      INTEGER*2 LBLNUM,IOCLAS,LINENO                                    00479 
      INTEGER*2 COLON(2)                                                00483 
      INTEGER*2 ILABEL(2)                                               00484 
      INTEGER*2 SLABEL(5)                                               00485 
      INTEGER*2 NUM(4)                                                  00486 
      DATA COLON /1,1H:/                                !850301mao      00488 
      DATA ILABEL/1,1HI/                                !850301mao      00489 
      DATA NUM   /5,2H  ,2H  ,1H /                      !850301mao      00490 
      CALL PUTNUM (NUM,LBLNUM)  !put # into string!850301mao            00494 
      CALL CPYSTR (SLABEL,ILABEL)       !I              !850301mao      00496 
      CALL CATSTR (SLABEL,NUM)  !Innnnn         !850301mao              00497 
      CALL CATSTR (SLABEL,COLON)        !Innnnn:        !850301mao      00498 
      CALL PUT(LINENO,SLABEL,IOCLAS)    !OUTPUT IT                      00500 
      RETURN                                                            00502 
      END                                                               00503 
      SUBROUTINE PUTLOG(STRING,IBEGIN,LEN,NOTFLG,GOTONO,LINENO,         00574 
     1 MAJCNT,ASSMCL,ERRCL)                                             00575 
      LOGICAL*2 NOTFLG                                                  00579 
      INTEGER*2 STRING(1),IBEGIN,LEN,GOTONO,LINENO,MAJCNT,              00580 
     1 ASSMCL,ERRCL                                                     00581 
      BYTE LINE(80),BTEMP(4),ISMOD,LFLAG,I1COND                         00585 
      INTEGER*2 NXTCHR,NCHAR,LENOP,SIGNOP,ITEMP,SLINE(41),              00587 
     1 STEMP(61),ICOL(6),IOPR1,IOPR2,SKPLBL,EXELBL,ERR,                 00588 
     2 I,I1,ILEN,IOPD1,IOPD2,ITYPE,J,JTYPE,L1,LOPD1,LOPD2,NCOL,L,S      00589 
      INTEGER*4 IITEMP                                                  00591 
      EQUIVALENCE (SLINE(2),LINE(1)),(BTEMP(1),ITEMP,IITEMP)            00593 
      INTEGER*2 SALPHA(14),SBEQ(7),SBGE(7),SBGT(7),                     00597 
     1 SBHI(8),SBHIS(8),SBIT(6),SBLE(7),SBLO(8),SBLOS(8),               00598 
     2 SBLT(7),SBNE(7),SCC(5),SCCCLR(3,4),SCCSET(3,4),SCMP(6),          00599 
     3 SCOMMA(2),SSPACE(2),SSPI(2),STST(7)                              00600 
      INTEGER*2 SCCOP(20),SERR(8),SILLOP(30),SNOCON(15),SCOM(24),       00604 
     1 SNOOP(14),SUNBAL(15),SUNDFN(16),SWNC(15),SILLCO(19),SILLMO(15)   00605 
      DATA SALPHA  /26,2HAB,2HCD,2HEF,2HGH,2HIJ,2HKL,2HMN,2HOP,         00610 
     1 2HQR,2HST,2HUV,2HWX,2HYZ/                                        00611 
      DATA SBEQ   /12,2H  ,2H  ,2H  ,2HBE,2HQL,2H I/                    00615 
      DATA SBGE   /12,2H  ,2H  ,2H  ,2HBG,2HEQ,2H I/                    00618 
      DATA SBGT   /12,2H  ,2H  ,2H  ,2HBG,2HTR,2H I/                    00621 
      DATA SBHI   /13,2H  ,2H  ,2H  ,2HBG,2HTR,2HU ,1HI/                00624 
      DATA SBHIS  /13,2H  ,2H  ,2H  ,2HBG,2HEQ,2HU ,1HI/                00627 
      DATA SBIT   /9,2H  ,2H  ,2H  ,2HBI,1HT /                          00630 
      DATA SBLE   /12,2H  ,2H  ,2H  ,2HBL,2HEQ,2H I/                    00633 
      DATA SBLO   /13,2H  ,2H  ,2H  ,2HBL,2HSS,2HU ,1HI/                00636 
      DATA SBLOS  /13,2H  ,2H  ,2H  ,2HBL,2HEQ,2HU ,1HI/                00639 
      DATA SBLT   /12,2H  ,2H  ,2H  ,2HBL,2HSS,2H I/                    00642 
      DATA SBNE   /12,2H  ,2H  ,2H  ,2HBN,2HEQ,2H I/                    00645 
      DATA SCC    /7,2H  ,2H  ,2H  ,1HB/                                00648 
      DATA SCCCLR /4,2HCC,2H  ,4,2HVC,2H  ,4,2HNE,2HQ ,4,2HGE,2HQ /     00651 
      DATA SCCSET /4,2HCS,2H  ,4,2HVS,2H  ,4,2HEQ,2HL ,4,2HLS,2HS /     00654 
      DATA SCMP   / 9,2H  ,2H  ,2H  ,2HCM,1HP/                          00657 
      DATA SCOMMA /1,1H,/                                               00660 
      DATA SSPACE / 1,1H /                                              00663 
      DATA SSPI   /2,2H I/                                              00666 
      DATA STST   /11,2H  ,2H  ,2H  ,2HTS,2HTW,1H  /                    00669 
      DATA SCCOP  /37,2H**,2H**,2H* ,2H  ,2H (,2HCO,2HND,2HIT,2HIO,     00734 
     1 2HN ,2HCO,2HDE,2H H,2HAS,2H O,2HPE,2HRA,2HND,1H)/                00735 
      DATA SCOM/46,2H**,2H**,2H* ,2H  ,2H (,2HCO,2HND,2HIT,2HIO,        00738 
     1 2HN ,2HCO,2HDE,2H M,2HOD,2HIF,2HIE,2HD ,2HBY,2H 1,2HST,          00739 
     2 2H T,2HES,2HT)/                                                  00740 
      DATA SERR   /13,2H**,2H**,2H**,2HAL,2HE ,2HER,1HR/                00743 
      DATA SILLCO/35,2H**,2H**,2H* ,2H  ,2H (,2HIL,2HLE,2HGA,           00746 
     1 2HL ,2HCO,2HMP,2HOU,2HND,2H L,2HOG,2HIC,2HAL,1H)/                00747 
      DATA SILLMO/27,2H**,2H**,2H* ,2H  ,2H (,2HIL,2HLE,2HGA,           00750 
     1 2HL ,2HMO,2HDI,2HFI,2HER,1H)/                                    00751 
      DATA SILLOP /58,2H**,2H**,2H* ,2H  ,2H (,2HAR,2HIT,2HHM,          00754 
     1 2HET,2HIC,2H O,2HPE,2HRA,2HTO,2HR ,2HUS,2HED,2H W,2HHE,          00755 
     2 2HRE,2H L,2HOG,2HIC,2HAL,2H R,2HEQ,2HUI,2HRE,2HD)/               00756 
      DATA SNOCON /27,2H**,2H**,2H* ,2H  ,2H (,2HNO,2HTH,2HIN,          00759 
     1 2HG ,2HIN,2H P,2HAR,2HEN,1H)/                                    00760 
      DATA SNOOP  /26,2H**,2H**,2H* ,2H  ,2H (,2HMI,2HSS,2HIN,          00763 
     1 2HG ,2HOP,2HER,2HAN,2HD)/                                        00764 
      DATA SUNBAL /28,2H**,2H**,2H* ,2H  ,2H (,2HUN,2HBA,2HLA,          00767 
     1 2HNC,2HED,2H C,2HOL,2HON,2HS)/                                   00768 
      DATA SUNDFN /29,2H**,2H**,2H* ,2H  ,2H (,2HUN,2HDE,2HFI,          00771 
     1 2HNE,2HD ,2HOP,2HER,2HAT,2HOR,1H)/                               00772 
      DATA SWNC   /28,2H**,2H**,2H* ,2H  ,2H (,2HWR,2HON,2HG ,2H# ,     00775 
     1 2HOF,2H C,2HOL,2HON,2HS)/                                        00776 
      ERR=0                     !NO ERRORS IN PARSING YET               00898 
      NCHAR=LEN-2               !# OF CHARACTERS IN "LINE" W/O ()       00903 
      CALL CPYSUB(SLINE,STRING,IBEGIN+1,NCHAR)                          00904 
      NCOL=0                                                            00908 
      I=1                                                               00909 
32758 IF(.NOT.(I.LE.NCHAR)) GO TO 32757                                 00910 
      IF(.NOT.(LINE(I).EQ.1H:)) GO TO 32756                             00911 
      NCOL=NCOL+1                                                       00912 
      IF(NCOL.LT.7)ICOL(NCOL)=I                                         00913 
32756 I=I+1                                                             00915 
      GO TO 32758                                                       00916 
32757 NXTCHR=1          !FIND 1ST NONBLANK CHARACTER IN "LINE"          00918 
      ASSIGN 32754 TO I32755                                            00919 
      GO TO 32755                                                       00919 
32754 IF(.NOT.(NXTCHR.GT.NCHAR)) GO TO 32752                            00922 
      ERR=1    !NO CONTENT                                              00922 
      GO TO 32753                                                       00923 
32752 IF(.NOT.(NCOL.EQ.0)) GO TO 32751                                  00923 
      I1=NXTCHR                                                         00924 
      L1=NCHAR-I1+1                                                     00925 
      LFLAG=NOTFLG                                                      00926 
      SKPLBL=GOTONO                                                     00927 
      ASSIGN 32749 TO I32750                                            00928 
      GO TO 32750                                                       00928 
32749 GO TO 32753                                                       00930 
32751 IF(.NOT.(NCOL.EQ.2)) GO TO 32748                                  00930 
      I1=NXTCHR                                                         00931 
      L1=NCHAR-I1+1                                                     00932 
      LFLAG=NOTFLG                                                      00933 
      SKPLBL=GOTONO                                                     00934 
      IOPR1=ICOL(1)                                                     00935 
      IOPR2=ICOL(2)                                                     00936 
      ASSIGN 32746 TO I32747                                            00937 
      GO TO 32747                                                       00937 
32746 GO TO 32753                                                       00939 
32748 IF(.NOT.(NCOL.EQ.4)) GO TO 32745                                  00939 
      ASSIGN 32743 TO I32744                                            00939 
      GO TO 32744                                                       00939 
32743 GO TO 32753                                                       00940 
32745 IF(.NOT.(NCOL.EQ.6)) GO TO 32742                                  00940 
      ASSIGN 32740 TO I32741                                            00940 
      GO TO 32741                                                       00940 
32740 GO TO 32753                                                       00941 
32742 IF(.NOT.(NCOL/2*2.NE.NCOL)) GO TO 32739                           00941 
      ERR=2           !UNBALANCED COLONS                                00941 
      GO TO 32753                                                       00942 
32739 ERR=3          !WRONG # OF COLONS                                 00942 
32753 IF(.NOT.(ERR.NE.0)) GO TO 32738                                   00945 
      MAJCNT=MAJCNT+1                                                   00946 
      CALL PUT(LINENO,SERR,ASSMCL)                                      00950 
      IF((1).NE.(ERR)) GO TO 32736                                      00955 
      CALL PUT(0,SNOCON,ERRCL)       !NO CONTENT                        00955 
      GO TO 32737                                                       00956 
32736 IF((2).NE.(ERR)) GO TO 32735                                      00956 
      CALL PUT(0,SUNBAL,ERRCL)       !UNBALANCED COLONS                 00956 
      GO TO 32737                                                       00957 
32735 IF((3).NE.(ERR)) GO TO 32734                                      00957 
      CALL PUT(0,SWNC  ,ERRCL)       !WRONG # OF COLONS                 00957 
      GO TO 32737                                                       00958 
32734 IF((4).NE.(ERR)) GO TO 32733                                      00958 
      CALL PUT(0,SUNDFN,ERRCL)       !UNDEFINED OPERATOR                00958 
      GO TO 32737                                                       00959 
32733 IF((5).NE.(ERR)) GO TO 32732                                      00959 
      CALL PUT(0,SCCOP ,ERRCL)       !CC WITH OPERAND                   00959 
      GO TO 32737                                                       00960 
32732 IF((6).NE.(ERR)) GO TO 32731                                      00960 
      CALL PUT(0,SILLCO,ERRCL)       !ILLEGAL COMPOUND                  00960 
      GO TO 32737                                                       00961 
32731 IF((7).NE.(ERR)) GO TO 32730                                      00961 
      CALL PUT(0,SNOOP ,ERRCL)       !MISSING OPERAND                   00961 
      GO TO 32737                                                       00962 
32730 IF((8).NE.(ERR)) GO TO 32729                                      00962 
      CALL PUT(0,SILLOP,ERRCL)       !ILLEGAL OPERATOR                  00962 
      GO TO 32737                                                       00963 
32729 IF((9).NE.(ERR)) GO TO 32728                                      00963 
      CALL PUT(0,SILLMO,ERRCL)       !ILLEGAL MODIFIER                  00963 
      GO TO 32737                                                       00964 
32728 IF((10).NE.(ERR)) GO TO 32727                                     00964 
      CALL PUT(0,SCOM, ERRCL)       !MOD COND CODE                      00964 
32727 CONTINUE                                                          00965 
32737 CONTINUE                                                          00966 
32738 RETURN                                                            00969 
32726 CONTINUE                                                          00970 
      BTEMP(1)=LINE(IOPR1+1)    !NOTE EQUIV (BTEMP(1),ITEMP)            00980 
      BTEMP(2)=LINE(IOPR1+2)                                            00981 
      IF((2HEQ).NE.(ITEMP)) GO TO 32724                                 00983 
      ITYPE=1                                                           00983 
      GO TO 32725                                                       00984 
32724 IF((2HNE).NE.(ITEMP)) GO TO 32723                                 00984 
      ITYPE=-1                                                          00984 
      GO TO 32725                                                       00985 
32723 IF((2HGT).NE.(ITEMP)) GO TO 32722                                 00985 
      ITYPE=2                                                           00985 
      GO TO 32725                                                       00986 
32722 IF((2HLE).NE.(ITEMP)) GO TO 32721                                 00986 
      ITYPE=-2                                                          00986 
      GO TO 32725                                                       00987 
32721 IF((2HLT).NE.(ITEMP)) GO TO 32720                                 00987 
      ITYPE=3                                                           00987 
      GO TO 32725                                                       00988 
32720 IF((2HGE).NE.(ITEMP)) GO TO 32719                                 00988 
      ITYPE=-3                                                          00988 
      GO TO 32725                                                       00989 
32719 ERR=4  !UNDEFINED OPERATOR                                        00989 
32725 GO TO I32726                                                      00991 
32718 CONTINUE                                                          00992 
      I=IOPR1+5                                                         01002 
      IF(.NOT.(LINE(I).NE.1HI.OR.LINE(I+1).NE.1HN)) GO TO 32716         01003 
      ERR=4 !UNDFN OP                                                   01004 
      GO TO 32717                                                       01005 
32716 DO 32715 I=1,4                                                    01007 
      BTEMP(I)=LINE(IOPR1+I)                                            01007 
32715 CONTINUE                                                          01007 
      IF((4HSET.).NE.(IITEMP)) GO TO 32713                              01009 
      ITYPE=5                                                           01009 
      GO TO 32714                                                       01010 
32713 IF((4HCLR.).NE.(IITEMP)) GO TO 32712                              01010 
      ITYPE=-5                                                          01010 
      GO TO 32714                                                       01011 
32712 ERR=4  !UNDEFINED OPERATOR                                        01011 
32714 CONTINUE                                                          01013 
32717 GO TO I32718                                                      01014 
32711 CONTINUE                                                          01015 
      DO 32710 I=1,3                                                    01026 
      BTEMP(I)=LINE(IOPR1+I)                                            01026 
32710 CONTINUE                                                          01026 
      BTEMP(4)=1H               !NOTE EQUIV (BTEMP(1),IITEMP)           01027 
      IF(.NOT.(ISMOD)) GO TO 32708                                      01029 
      ERR=4              !UNDEFINED OPERATOR                            01029 
      GO TO 32709                                                       01030 
32708 IF(.NOT.(IITEMP.EQ.4HAND )) GO TO 32707                           01030 
      ITYPE=4                                                           01030 
      GO TO 32709                                                       01031 
32707 IF(.NOT.(IITEMP.EQ.4HIOR )) GO TO 32706                           01031 
      ITYPE=-4                                                          01031 
      GO TO 32709                                                       01032 
32706 ERR=4          !UNDEFINED OPERATOR                                01032 
32709 GO TO I32711                                                      01034 
32705 CONTINUE                                                          01035 
      LENOP=2                   !DEFAULT LENGTH TO "WORD"               01050 
      SIGNOP=1                  !DEFAULT TO "SIGNED"                    01051 
      I=IOPR1+1                                                         01055 
32704 IF(.NOT.(LINE(I).NE.1H:.AND.LINE(I).NE.1H_)) GO TO 32703          01056 
      I=I+1                                                             01056 
      GO TO 32704                                                       01056 
32703 ILEN=I-IOPR1-1            !LENGTH OF OPERATOR                     01057 
      IF(.NOT.(LINE(I).NE.1H_)) GO TO 32701                             01058 
      ISMOD=.FALSE.                                                     01058 
      GO TO 32702                                                       01058 
32701 ISMOD=.TRUE.                                                      01060 
      J=IOPR2-I-1                       !MODIFIER LENGTH                01061 
      IF(.NOT.(J.LT.1.OR.J.GT.2)) GO TO 32699                           01062 
      ERR=9       !ILLEGAL MODIFIER                                     01062 
      GO TO 32700                                                       01062 
32699 L=0               !NO LENGTH MODIFIERS YET                        01064 
      S=0               !NO SIGN MODIFIERS YET                          01065 
      DO 32698 ITEMP=1,J                                                01066 
      IF((1HW).NE.(LINE(I+ITEMP))) GO TO 32696                          01068 
      LENOP=2                                                           01069 
      L=L+1                                                             01070 
      GO TO 32697                                                       01072 
32696 IF((1HB).NE.(LINE(I+ITEMP))) GO TO 32695                          01072 
      LENOP=1                                                           01073 
      L=L+1                                                             01074 
      GO TO 32697                                                       01076 
32695 IF((1HL).NE.(LINE(I+ITEMP))) GO TO 32694                          01076 
      LENOP=4                                                           01077 
      L=L+1                                                             01078 
      GO TO 32697                                                       01080 
32694 IF((1HS).NE.(LINE(I+ITEMP))) GO TO 32693                          01080 
      SIGNOP=1                                                          01081 
      S=S+1                                                             01082 
      GO TO 32697                                                       01084 
32693 IF((1HU).NE.(LINE(I+ITEMP))) GO TO 32692                          01084 
      SIGNOP=0                                                          01085 
      S=S+1                                                             01086 
      GO TO 32697                                                       01088 
32692 ERR=9  !ILLEGAL MODIFIER                                          01088 
32697 CONTINUE                                                          01090 
32698 CONTINUE                                                          01090 
      IF(S.GT.1.OR.L.GT.1)ERR=9 !ILLEGAL MODIFIER                       01091 
32700 CONTINUE                                                          01093 
32702 IF(.NOT.(ERR.EQ.0)) GO TO 32691                                   01097 
      IF((2).NE.(ILEN)) GO TO 32689                                     01099 
      ASSIGN 32688 TO I32726                                            01099 
      GO TO 32726                                                       01099 
32688 GO TO 32690                                                       01100 
32689 IF((3).NE.(ILEN)) GO TO 32687                                     01100 
      ASSIGN 32686 TO I32711                                            01100 
      GO TO 32711                                                       01100 
32686 GO TO 32690                                                       01101 
32687 IF((6).NE.(ILEN)) GO TO 32685                                     01101 
      ASSIGN 32684 TO I32718                                            01101 
      GO TO 32718                                                       01101 
32684 GO TO 32690                                                       01102 
32685 ERR=4  !UNDEFINED OPERATOR                                        01102 
32690 CONTINUE                                                          01104 
32691 GO TO I32705                                                      01105 
32755 CONTINUE                                                          01106 
32683 IF(.NOT.(NXTCHR.LE.NCHAR.AND.LINE(NXTCHR).EQ.1H )) GO TO 32682    01113 
      NXTCHR=NXTCHR+1                                                   01113 
      GO TO 32683                                                       01113 
32682 GO TO I32755                                                      01114 
32681 CONTINUE                                                          01115 
      CALL CPYSTR(STEMP,SCMP)                                           01134 
      IF((1).NE.(LENOP)) GO TO 32679                                    01136 
      CALL CATSUB(STEMP,SALPHA,2,1)  !APPEND B                          01136 
      GO TO 32680                                                       01137 
32679 IF((2).NE.(LENOP)) GO TO 32678                                    01137 
      CALL CATSUB(STEMP,SALPHA,23,1)            !APPEND W               01139 
      GO TO 32680                                                       01145 
32678 IF((4).NE.(LENOP)) GO TO 32677                                    01145 
      CALL CATSUB(STEMP,SALPHA,12,1) !APPEND L                          01145 
32677 CONTINUE                                                          01146 
32680 CALL CATSTR(STEMP,SSPACE)                                         01147 
      CALL CATSUB(STEMP,SLINE,IOPD1,LOPD1)                              01148 
      CALL CATSTR(STEMP,SCOMMA)                                         01149 
      CALL CATSUB(STEMP,SLINE,IOPD2,LOPD2)                              01150 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01151 
      I=IABS(ITYPE)                                                     01155 
      IF((1).NE.(I)) GO TO 32675                                        01157 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32673                       01158 
      CALL CPYSTR(STEMP,SBNE)                                           01158 
      GO TO 32674                                                       01158 
32673 CALL CPYSTR(STEMP,SBEQ)                                           01159 
32674 GO TO 32676                                                       01161 
32675 IF((2).NE.(I)) GO TO 32672                                        01161 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32670                       01162 
      IF(.NOT.(SIGNOP.NE.0)) GO TO 32668                                01163 
      CALL CPYSTR(STEMP,SBLE)                                           01163 
      GO TO 32669                                                       01163 
32668 CALL CPYSTR(STEMP,SBLOS)                                          01164 
32669 GO TO 32671                                                       01165 
32670 IF(.NOT.(SIGNOP.NE.0)) GO TO 32666                                01167 
      CALL CPYSTR(STEMP,SBGT)                                           01167 
      GO TO 32667                                                       01167 
32666 CALL CPYSTR(STEMP,SBHI)                                           01168 
32667 CONTINUE                                                          01169 
32671 GO TO 32676                                                       01171 
32672 IF((3).NE.(I)) GO TO 32665                                        01171 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32663                       01172 
      IF(.NOT.(SIGNOP.NE.0)) GO TO 32661                                01173 
      CALL CPYSTR(STEMP,SBGE)                                           01173 
      GO TO 32662                                                       01173 
32661 CALL CPYSTR(STEMP,SBHIS)                                          01174 
32662 GO TO 32664                                                       01175 
32663 IF(.NOT.(SIGNOP.NE.0)) GO TO 32659                                01177 
      CALL CPYSTR(STEMP,SBLT)                                           01177 
      GO TO 32660                                                       01177 
32659 CALL CPYSTR(STEMP,SBLO)                                           01178 
32660 CONTINUE                                                          01179 
32664 CONTINUE                                                          01181 
32665 CONTINUE                                                          01181 
32676 CALL CATNUM(STEMP,SKPLBL)                                         01185 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01186 
      GO TO I32681                                                      01187 
32658 CONTINUE                                                          01188 
      CALL CPYSTR(STEMP,SBIT)                                           01206 
      IF((1).NE.(LENOP)) GO TO 32656                                    01208 
      CALL CATSUB(STEMP,SALPHA,2,1)  !APPEND B                          01208 
      GO TO 32657                                                       01209 
32656 IF((2).NE.(LENOP)) GO TO 32655                                    01209 
      CALL CATSUB(STEMP,SALPHA,23,1)            !APPEND W               01211 
      GO TO 32657                                                       01217 
32655 IF((4).NE.(LENOP)) GO TO 32654                                    01217 
      CALL CATSUB(STEMP,SALPHA,12,1) !APPEND L                          01217 
32654 CONTINUE                                                          01218 
32657 CALL CATSTR(STEMP,SSPACE)                                         01219 
      CALL CATSUB(STEMP,SLINE,IOPD1,LOPD1)                              01220 
      CALL CATSTR(STEMP,SCOMMA)                                         01221 
      CALL CATSUB(STEMP,SLINE,IOPD2,LOPD2)                              01222 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01223 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32652                       01227 
      CALL CPYSTR(STEMP,SBEQ)                                           01227 
      GO TO 32653                                                       01227 
32652 CALL CPYSTR(STEMP,SBNE)                                           01228 
32653 CALL CATNUM(STEMP,SKPLBL)                                         01229 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01230 
      GO TO I32658                                                      01231 
32651 CONTINUE                                                          01232 
      CALL CPYSTR(STEMP,SCC)            !"      B"                      01250 
      J=IOPR1+1                 !1ST CHAR IN OPERATOR                   01254 
      NXTCHR=IOPR2+1                                                    01255 
      ASSIGN 32650 TO I32755                                            01256 
      GO TO 32755                                                       01256 
32650 IF(.NOT.(NXTCHR.LE.I1+L1-1.AND.LINE(NXTCHR).NE.1H:)) GO TO 32648  01258 
      ERR=5 !IS OPERAND                                                 01258 
      GO TO 32649                                                       01259 
32648 IF(.NOT.((IOPR2-IOPR1).NE.6)) GO TO 32647                         01259 
      ERR=4 !UNDEFINED OPERATOR                                         01259 
      GO TO 32649                                                       01260 
32647 IF(.NOT.(LINE(J).EQ.1HC)) GO TO 32646                             01260 
      ITYPE=1                                                           01260 
      GO TO 32649                                                       01261 
32646 IF(.NOT.(LINE(J).EQ.1HV)) GO TO 32645                             01261 
      ITYPE=2                                                           01261 
      GO TO 32649                                                       01262 
32645 IF(.NOT.(LINE(J).EQ.1HZ)) GO TO 32644                             01262 
      ITYPE=3                                                           01262 
      GO TO 32649                                                       01263 
32644 IF(.NOT.(LINE(J).EQ.1HN)) GO TO 32643                             01263 
      ITYPE=4                                                           01263 
      GO TO 32649                                                       01264 
32643 ERR=4  !UNDEFINED OPERATOR                                        01264 
32649 IF(.NOT.(ERR.EQ.0)) GO TO 32642                                   01267 
      DO 32641 I=1,4                                                    01268 
      BTEMP(I)=LINE(J+I)  !GET TYPE; NOTE EQUIV(BTEMP,IITEMP)           01268 
32641 CONTINUE                                                          01268 
      IF((4H.SET).NE.(IITEMP)) GO TO 32639                              01270 
      IF(.NOT.(LFLAG)) GO TO 32637                                      01271 
      CALL CATSTR(STEMP,SCCCLR(1,ITYPE))                                01271 
      GO TO 32638                                                       01271 
32637 CALL CATSTR(STEMP,SCCSET(1,ITYPE))                                01272 
32638 GO TO 32640                                                       01274 
32639 IF((4H.CLR).NE.(IITEMP)) GO TO 32636                              01274 
      IF(.NOT.(LFLAG)) GO TO 32634                                      01275 
      CALL CATSTR(STEMP,SCCSET(1,ITYPE))                                01275 
      GO TO 32635                                                       01275 
32634 CALL CATSTR(STEMP,SCCCLR(1,ITYPE))                                01276 
32635 GO TO 32640                                                       01278 
32636 ERR=4  !UNDEFINED OPERATOR                                        01278 
32640 CONTINUE                                                          01280 
32642 IF(.NOT.(ERR.EQ.0)) GO TO 32633                                   01281 
      CALL CATSTR(STEMP,SSPI)                                           01285 
      CALL CATNUM(STEMP,SKPLBL)                                         01286 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01287 
32633 GO TO I32651                                                      01289 
32744 CONTINUE                                                          01290 
      I1COND=LINE(NXTCHR).EQ.1H:                                        01308 
      IF(.NOT.(I1COND)) GO TO 32631                                     01309 
      IOPR1=ICOL(3)                                                     01310 
      IOPR2=ICOL(4)                                                     01311 
      GO TO 32632                                                       01312 
32631 IOPR1=ICOL(1)                                                     01314 
      IOPR2=ICOL(2)                                                     01315 
32632 ASSIGN 32630 TO I32705                                            01317 
      GO TO 32705                                                       01317 
32630 IF(.NOT.(ERR.EQ.0)) GO TO 32629                                   01319 
      EXELBL=NEWNO(0)                                                   01320 
      JTYPE=ITYPE               !SAVE TYPE OF CENTRAL OPERATOR          01321 
      IF((4).NE.(ITYPE)) GO TO 32627                                    01323 
      LFLAG=.TRUE.                                                      01324 
      IF(.NOT.(NOTFLG)) GO TO 32625                                     01325 
      SKPLBL=GOTONO                                                     01325 
      GO TO 32626                                                       01325 
32625 SKPLBL=EXELBL                                                     01326 
32626 GO TO 32628                                                       01328 
32627 IF((-4).NE.(ITYPE)) GO TO 32624                                   01328 
      LFLAG=.FALSE.                                                     01329 
      IF(.NOT.(NOTFLG)) GO TO 32622                                     01330 
      SKPLBL=EXELBL                                                     01330 
      GO TO 32623                                                       01330 
32622 SKPLBL=GOTONO                                                     01331 
32623 GO TO 32628                                                       01333 
32624 ERR=6  !ILLEGAL COMPOUND                                          01333 
32628 CONTINUE                                                          01335 
32629 IF(.NOT.(ERR.EQ.0)) GO TO 32621                                   01336 
      I1=NXTCHR                                                         01337 
      IOPR1=ICOL(1)                                                     01338 
      IOPR2=ICOL(2)                                                     01339 
      IF(.NOT.(I1COND)) GO TO 32619                                     01340 
      L1=ICOL(3)-NXTCHR                                                 01341 
      ASSIGN 32618 TO I32651                                            01342 
      GO TO 32651                                                       01342 
32618 IF(.NOT.(ERR.EQ.0)) GO TO 32617                                   01343 
      NXTCHR=ICOL(4)+1                                                  01344 
      ASSIGN 32616 TO I32755                                            01345 
      GO TO 32755                                                       01345 
32616 I1=NXTCHR                                                         01346 
      L1=NCHAR-I1+1                                                     01347 
      IOPR1=ICOL(3)                                                     01348 
      IOPR2=ICOL(4)                                                     01349 
      SKPLBL=GOTONO                                                     01350 
      LFLAG=NOTFLG                                                      01351 
      ASSIGN 32615 TO I32750                                            01352 
      GO TO 32750                                                       01352 
32615 LFLAG=NOTFLG.XOR.(JTYPE.GT.0)                                     01353 
      IF(LFLAG.AND..NOT.ERR)CALL PUTLBL(EXELBL,LINENO,ASSMCL)           01354 
32617 GO TO 32620                                                       01356 
32619 NXTCHR=ICOL(2)+1                                                  01362 
      ASSIGN 32614 TO I32755                                            01363 
      GO TO 32755                                                       01363 
32614 IF(.NOT.(NXTCHR.LT.ICOL(3))) GO TO 32612                          01364 
      ERR=6     !ILLEGAL COMPOUND                                       01364 
      GO TO 32613                                                       01364 
32612 ERR=10                       !MODIFIED COND CODE                  01365 
32613 CONTINUE                                                          01366 
32620 CONTINUE                                                          01367 
32621 GO TO I32744                                                      01368 
32750 CONTINUE                                                          01369 
      IF(.NOT.(L1.LT.1)) GO TO 32610                                    01385 
      ERR=1        !NO CONTENT                                          01385 
      GO TO 32611                                                       01385 
32610 CALL CPYSTR(STEMP,STST)                                           01387 
      CALL CATSUB(STEMP,SLINE,I1,L1)                                    01388 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01389 
      IF(.NOT.(LFLAG)) GO TO 32608                                      01393 
      CALL CPYSTR(STEMP,SBEQ)                                           01393 
      GO TO 32609                                                       01393 
32608 CALL CPYSTR(STEMP,SBNE)                                           01394 
32609 CALL CATNUM(STEMP,SKPLBL)                                         01395 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01396 
32611 GO TO I32750                                                      01398 
32607 CONTINUE                                                          01399 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32605                       01418 
      EXELBL=SKPLBL                                                     01418 
      GO TO 32606                                                       01418 
32605 EXELBL=NEWNO(0)                                                   01419 
32606 CALL CPYSTR(STEMP,STST)                                           01423 
      CALL CATSUB(STEMP,SLINE,IOPD1,LOPD1)                              01424 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01425 
      IF(.NOT.(ITYPE.GT.0)) GO TO 32603                                 01429 
      CALL CPYSTR(STEMP,SBEQ)                                           01429 
      GO TO 32604                                                       01429 
32603 CALL CPYSTR(STEMP,SBNE)                                           01430 
32604 CALL CATNUM(STEMP,EXELBL)                                         01431 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01432 
      CALL CPYSTR(STEMP,STST)                                           01436 
      CALL CATSUB(STEMP,SLINE,IOPD2,LOPD2)                              01437 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01438 
      IF(.NOT.(LFLAG)) GO TO 32601                                      01442 
      CALL CPYSTR(STEMP,SBEQ)                                           01442 
      GO TO 32602                                                       01442 
32601 CALL CPYSTR(STEMP,SBNE)                                           01443 
32602 CALL CATNUM(STEMP,SKPLBL)                                         01444 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01445 
      IF(LFLAG.XOR.ITYPE.GT.0)CALL PUTLBL(EXELBL,LINENO,ASSMCL)         01447 
      GO TO I32607                                                      01448 
32600 CONTINUE                                                          01449 
      ASSIGN 32599 TO I32705                                            01463 
      GO TO 32705                                                       01463 
32599 IF(.NOT.(ERR.EQ.0)) GO TO 32598                                   01464 
      I=IABS(ITYPE)                                                     01465 
      IOPD1=I1                  !START OF OPERAND 1                     01466 
      LOPD1=IOPR1-IOPD1         !LENGTH OF OPERAND 1                    01467 
      NXTCHR=IOPR2+1                                                    01468 
      ASSIGN 32597 TO I32755                                            01469 
      GO TO 32755                                                       01469 
32597 IOPD2=NXTCHR              !START OF OPERAND 2                     01470 
      LOPD2=(I1+L1)-IOPD2       !LENGTH OF OPERAND 2                    01471 
      IF(.NOT.(LOPD1.LT.1.OR.LOPD2.LT.1)) GO TO 32595                   01473 
      ERR=7   !MISSING OPERAND                                          01473 
      GO TO 32596                                                       01474 
32595 IF(.NOT.(NCOL.GT.2.AND.I.EQ.4)) GO TO 32594                       01474 
      ERR=6       !ILLEGAL COMPOUND                                     01474 
      GO TO 32596                                                       01475 
32594 IF((4).NE.(I)) GO TO 32592                                        01477 
      ASSIGN 32591 TO I32607                                            01477 
      GO TO 32607                                                       01477 
32591 GO TO 32593                                                       01478 
32592 IF((5).NE.(I)) GO TO 32590                                        01478 
      ASSIGN 32589 TO I32658                                            01478 
      GO TO 32658                                                       01478 
32589 GO TO 32593                                                       01479 
32590 ASSIGN 32588 TO I32681                                            01479 
      GO TO 32681                                                       01479 
32588 CONTINUE                                                          01480 
32593 CONTINUE                                                          01482 
32596 CONTINUE                                                          01483 
32598 GO TO I32600                                                      01484 
32747 CONTINUE                                                          01485 
      IF(.NOT.(IOPR1.GT.I1)) GO TO 32586                                01495 
      ASSIGN 32585 TO I32600                                            01495 
      GO TO 32600                                                       01495 
32585 GO TO 32587                                                       01495 
32586 ASSIGN 32584 TO I32651                                            01496 
      GO TO 32651                                                       01496 
32584 CONTINUE                                                          01496 
32587 GO TO I32747                                                      01497 
32741 CONTINUE                                                          01498 
      IOPR1=ICOL(3)                                                     01514 
      IOPR2=ICOL(4)                                                     01515 
      ASSIGN 32583 TO I32705                                            01516 
      GO TO 32705                                                       01516 
32583 IF(.NOT.(ERR.EQ.0)) GO TO 32582                                   01518 
      EXELBL=NEWNO(0)                                                   01519 
      JTYPE=ITYPE               !SAVE TYPE OF CENTRAL OPERATOR          01520 
      IF((4).NE.(ITYPE)) GO TO 32580                                    01522 
      LFLAG=.TRUE.                                                      01523 
      IF(.NOT.(NOTFLG)) GO TO 32578                                     01524 
      SKPLBL=GOTONO                                                     01524 
      GO TO 32579                                                       01524 
32578 SKPLBL=EXELBL                                                     01525 
32579 GO TO 32581                                                       01527 
32580 IF((-4).NE.(ITYPE)) GO TO 32577                                   01527 
      LFLAG=.FALSE.                                                     01528 
      IF(.NOT.(NOTFLG)) GO TO 32575                                     01529 
      SKPLBL=EXELBL                                                     01529 
      GO TO 32576                                                       01529 
32575 SKPLBL=GOTONO                                                     01530 
32576 GO TO 32581                                                       01532 
32577 ERR=8  !ILLEGAL OPERATOR FOR COMPOUND                             01532 
32581 CONTINUE                                                          01534 
32582 IF(.NOT.(ERR.EQ.0)) GO TO 32574                                   01535 
      I1=NXTCHR         !START OF 1ST LOGICAL SUBCONDITION              01536 
      L1=ICOL(3)-NXTCHR !LENGTH OF IT                                   01537 
      IOPR1=ICOL(1)                                                     01538 
      IOPR2=ICOL(2)                                                     01539 
      I1COND=IOPR1.EQ.I1                !.T. IF IS CONDITION CODE       01540 
      ASSIGN 32573 TO I32747                                            01541 
      GO TO 32747                                                       01541 
32573 IF(.NOT.(ERR.EQ.0)) GO TO 32572                                   01542 
      NXTCHR=ICOL(4)+1                                                  01543 
      ASSIGN 32571 TO I32755                                            01544 
      GO TO 32755                                                       01544 
32571 I1=NXTCHR                                                         01545 
      L1=NCHAR-I1+1                                                     01546 
      IOPR1=ICOL(5)                                                     01547 
      IOPR2=ICOL(6)                                                     01548 
      IF(.NOT.(IOPR1.EQ.I1.AND..NOT.I1COND)) GO TO 32569                01549 
      ERR=10                                                            01549 
      GO TO 32570                                                       01549 
32569 SKPLBL=GOTONO                                                     01551 
      LFLAG=NOTFLG                                                      01552 
      ASSIGN 32568 TO I32747                                            01553 
      GO TO 32747                                                       01553 
32568 LFLAG=NOTFLG.XOR.(JTYPE.GT.0)                                     01554 
      IF(LFLAG.AND..NOT.ERR)CALL PUTLBL(EXELBL,LINENO,ASSMCL)           01555 
32570 CONTINUE                                                          01557 
32572 CONTINUE                                                          01558 
32574 GO TO I32741                                                      01559 
      END                                                               01560 
