      SUBROUTINE ALEBRI(NUMBER,LINENO,IOCLAS)                           00045 
      INTEGER*2 NUMBER,LINENO,IOCLAS                                    00049 
      INTEGER*2 SBRI(9)                                                 00053 
      DATA SBRI/15,2H  ,2H  ,2H  ,2HBR,2H I,2H  ,2H  ,1H /              00054 
      ENCODE(5,1,SBRI(7))NUMBER                                         00056 
1     FORMAT(I5)                                                        00057 
      CALL PUT(LINENO,SBRI,IOCLAS)                                      00059 
      RETURN                                                            00061 
      END                                                               00062 
      SUBROUTINE ALEDO(SST,SFLX,ISTART,LEN,CONTNO,NEXTNO,GSTNO,         00161 
     1 LINENO,MAJCNT,FORTCL,ERRCL)                                      00162 
      INTEGER SST(1),SFLX(1),ISTART,LEN,CONTNO,NEXTNO,GSTNO,MAJCNT,     00166 
     1 LINENO,FORTCL,ERRCL                                              00167 
      INTEGER*2 SNOTIM(19), SERR(8)                                     00171 
      DATA SNOTIM/35,2H**,2H**,2H* ,2H  ,2H (,2HDO,2H L,2HOO,           00175 
     1 2HPS,2H N,2HOT,2H I,2HMP,2HLE,2HME,2HNT,2HED,1H)/                00176 
      DATA SERR/13,2H**,2H**,2H**,2HAL,2HE ,2HER,1HR/                   00179 
      MAJCNT=MAJCNT+1                                                   00182 
      CALL PUT(0,SNOTIM,ERRCL)  !DO LOOPS NOT IMPLEMENTED               00183 
      CALL PUT(LINENO,SERR,FORTCL)                                      00187 
      RETURN                                                            00190 
      END                                                               00191 
      SUBROUTINE ALEINV(NUMBER,LINENO,IOCLAS)                           00236 
      INTEGER*2 NUMBER,LINENO,IOCLAS                                    00240 
      INTEGER*2 SJSRPC(11)                                              00244 
      DATA SJSRPC/19,2H  ,2H  ,2H  ,2HJS,2HR ,2HPC,2H,I,2H  ,2H  ,1H /  00246 
      ENCODE(5,1,SJSRPC(9))NUMBER                                       00248 
1     FORMAT(I5)                                                        00249 
      CALL PUT(LINENO,SJSRPC,IOCLAS)                                    00251 
      RETURN                                                            00253 
      END                                                               00254 
      SUBROUTINE ALESXP(SST,SFLX,ISTART,LEN,SEL,NXIFNO,                 00306 
     1 LINENO,IOCLAS)                                                   00307 
      INTEGER*2 SST(1),SFLX(1),ISTART,LEN,SEL(1),NXIFNO,LINENO,IOCLAS   00311 
      INTEGER*2 SCMP(6),SCOMMA(2),SBNEI(7)                              00315 
      DATA SCMP         /10,2H  ,2H  ,2H  ,2HCM,2HP /                   00317 
      DATA SCOMMA       /1,1H,/                                         00318 
      DATA SBNEI        /11,2H  ,2H  ,2H  ,2HBN,2HE ,1HI/               00319 
      CALL CPYSTR(SST,SCMP)                                             00323 
      CALL CATSUB(SST,SFLX,ISTART+1,LEN-2)      !LEAVE OUT ()           00324 
      CALL CATSTR(SST,SCOMMA)                                           00325 
      CALL CATSUB(SST,SEL,2,SEL(1)-2)   !LEAVE OUT ()                   00329 
      CALL PUT(LINENO,SST,IOCLAS)               !PUT IT OUT             00331 
      CALL CPYSTR(SST,SBNEI)                                            00335 
      CALL CATNUM(SST,NXIFNO)                                           00336 
      CALL PUT(LINENO,SST,IOCLAS)                                       00337 
      RETURN                                                            00339 
      END                                                               00340 
      SUBROUTINE ALERTS(LINENO,IOCLAS)                                  00384 
      INTEGER*2 LINENO,IOCLAS                                           00388 
      INTEGER*2 SRTSPC(7)                                               00392 
      DATA SRTSPC /12,2H  ,2H  ,2H  ,2HRT,2HS ,2HPC/                    00393 
      CALL PUT(LINENO,SRTSPC,IOCLAS)                                    00396 
      RETURN                                                            00398 
      END                                                               00399 
      SUBROUTINE PUTLBL(LBLNUM,LINENO,IOCLAS)                           00445 
      INTEGER*2 LBLNUM,IOCLAS,LINENO                                    00449 
      BYTE BLABEL(8)                                                    00453 
      INTEGER*2 SLABEL(5)                                               00454 
      EQUIVALENCE (BLABEL(1),SLABEL(2))                                 00455 
      DATA SLABEL/7,2HI ,2H  ,2H  ,1H:/                                 00457 
      ENCODE(5,1,BLABEL(2))LBLNUM       !INSERT #                       00460 
1     FORMAT(I5)                                                        00461 
      CALL PUT(LINENO,SLABEL,IOCLAS)    !OUTPUT IT                      00463 
      RETURN                                                            00465 
      END                                                               00466 
      SUBROUTINE PUTLOG(STRING,IBEGIN,LEN,NOTFLG,GOTONO,LINENO,         00537 
     1 MAJCNT,ASSMCL,ERRCL)                                             00538 
      LOGICAL*2 NOTFLG                                                  00542 
      INTEGER*2 STRING(1),IBEGIN,LEN,GOTONO,LINENO,MAJCNT,              00543 
     1 ASSMCL,ERRCL                                                     00544 
      BYTE LINE(80),BTEMP(4),ISMOD,LFLAG,I1COND                         00548 
      INTEGER*2 NXTCHR,NCHAR,LENOP,SIGNOP,ITEMP,SLINE(41),              00550 
     1 STEMP(61),ICOL(6),IOPR1,IOPR2,SKPLBL,EXELBL,ERR,                 00551 
     2 I,I1,ILEN,IOPD1,IOPD2,ITYPE,J,JTYPE,L1,LOPD1,LOPD2,NCOL,L,S      00552 
      INTEGER*4 IITEMP                                                  00554 
      EQUIVALENCE (SLINE(2),LINE(1)),(BTEMP(1),ITEMP,IITEMP)            00556 
      INTEGER*2 SALPHA(14),SBEQ(7),SBGE(7),SBGT(7),                     00560 
     1 SBHI(7),SBHIS(7),SBIT(6),SBLE(7),SBLO(7),SBLOS(7),               00561 
     2 SBLT(7),SBNE(7),SCC(5),SCCCLR(2,4),SCCSET(2,4),SCMP(6),          00562 
     3 SCOMMA(2),SSPACE(2),SSPI(2),STST(6)                              00563 
      INTEGER*2 SCCOP(20),SERR(8),SILLOP(30),SNOCON(15),SCOM(24),       00567 
     1 SNOOP(14),SUNBAL(15),SUNDFN(16),SWNC(15),SILLCO(19),SILLMO(15)   00568 
      DATA SALPHA  /26,2HAB,2HCD,2HEF,2HGH,2HIJ,2HKL,2HMN,2HOP,         00573 
     1 2HQR,2HST,2HUV,2HWX,2HYZ/                                        00574 
      DATA SBEQ   /11,2H  ,2H  ,2H  ,2HBE,2HQ ,1HI/                     00577 
      DATA SBGE   /11,2H  ,2H  ,2H  ,2HBG,2HE ,1HI/                     00580 
      DATA SBGT   /11,2H  ,2H  ,2H  ,2HBG,2HT ,1HI/                     00583 
      DATA SBHI   /11,2H  ,2H  ,2H  ,2HBH,2HI ,1HI/                     00586 
      DATA SBHIS  /12,2H  ,2H  ,2H  ,2HBH,2HIS,2H I/                    00589 
      DATA SBIT   /9,2H  ,2H  ,2H  ,2HBI,1HT /                          00592 
      DATA SBLE   /11,2H  ,2H  ,2H  ,2HBL,2HE ,1HI/                     00595 
      DATA SBLO   /11,2H  ,2H  ,2H  ,2HBL,2HO ,1HI/                     00598 
      DATA SBLOS  /12,2H  ,2H  ,2H  ,2HBL,2HOS,2H I/                    00601 
      DATA SBLT   /11,2H  ,2H  ,2H  ,2HBL,2HT ,1HI/                     00604 
      DATA SBNE   /11,2H  ,2H  ,2H  ,2HBN,2HE ,1HI/                     00607 
      DATA SCC    /7,2H  ,2H  ,2H  ,1HB/                                00610 
      DATA SCCCLR /2,2HCC,2,2HVC,2,2HNE,2,2HPL/                         00613 
      DATA SCCSET /2,2HCS,2,2HVS,2,2HEQ,2,2HMI/                         00616 
      DATA SCMP   / 9,2H  ,2H  ,2H  ,2HCM,1HP/                          00619 
      DATA SCOMMA /1,1H,/                                               00622 
      DATA SSPACE / 1,1H /                                              00625 
      DATA SSPI   /2,2H I/                                              00628 
      DATA STST   /10,2H  ,2H  ,2H  ,2HTS,2HT /                         00631 
      DATA SCCOP  /37,2H**,2H**,2H* ,2H  ,2H (,2HCO,2HND,2HIT,2HIO,     00636 
     1 2HN ,2HCO,2HDE,2H H,2HAS,2H O,2HPE,2HRA,2HND,1H)/                00637 
      DATA SCOM/46,2H**,2H**,2H* ,2H  ,2H (,2HCO,2HND,2HIT,2HIO,        00640 
     1 2HN ,2HCO,2HDE,2H M,2HOD,2HIF,2HIE,2HD ,2HBY,2H 1,2HST,          00641 
     2 2H T,2HES,2HT)/                                                  00642 
      DATA SERR   /13,2H**,2H**,2H**,2HAL,2HE ,2HER,1HR/                00645 
      DATA SILLCO/35,2H**,2H**,2H* ,2H  ,2H (,2HIL,2HLE,2HGA,           00648 
     1 2HL ,2HCO,2HMP,2HOU,2HND,2H L,2HOG,2HIC,2HAL,1H)/                00649 
      DATA SILLMO/27,2H**,2H**,2H* ,2H  ,2H (,2HIL,2HLE,2HGA,           00652 
     1 2HL ,2HMO,2HDI,2HFI,2HER,1H)/                                    00653 
      DATA SILLOP /58,2H**,2H**,2H* ,2H  ,2H (,2HAR,2HIT,2HHM,          00656 
     1 2HET,2HIC,2H O,2HPE,2HRA,2HTO,2HR ,2HUS,2HED,2H W,2HHE,          00657 
     2 2HRE,2H L,2HOG,2HIC,2HAL,2H R,2HEQ,2HUI,2HRE,2HD)/               00658 
      DATA SNOCON /27,2H**,2H**,2H* ,2H  ,2H (,2HNO,2HTH,2HIN,          00661 
     1 2HG ,2HIN,2H P,2HAR,2HEN,1H)/                                    00662 
      DATA SNOOP  /26,2H**,2H**,2H* ,2H  ,2H (,2HMI,2HSS,2HIN,          00665 
     1 2HG ,2HOP,2HER,2HAN,2HD)/                                        00666 
      DATA SUNBAL /28,2H**,2H**,2H* ,2H  ,2H (,2HUN,2HBA,2HLA,          00669 
     1 2HNC,2HED,2H C,2HOL,2HON,2HS)/                                   00670 
      DATA SUNDFN /29,2H**,2H**,2H* ,2H  ,2H (,2HUN,2HDE,2HFI,          00673 
     1 2HNE,2HD ,2HOP,2HER,2HAT,2HOR,1H)/                               00674 
      DATA SWNC   /28,2H**,2H**,2H* ,2H  ,2H (,2HWR,2HON,2HG ,2H# ,     00677 
     1 2HOF,2H C,2HOL,2HON,2HS)/                                        00678 
      ERR=0                     !NO ERRORS IN PARSING YET               00794 
      NCHAR=LEN-2               !# OF CHARACTERS IN "LINE" W/O ()       00799 
      CALL CPYSUB(SLINE,STRING,IBEGIN+1,NCHAR)                          00800 
      NCOL=0                                                            00804 
      I=1                                                               00805 
32758 IF(.NOT.(I.LE.NCHAR)) GO TO 32757                                 00806 
      IF(.NOT.(LINE(I).EQ.1H:)) GO TO 32756                             00807 
      NCOL=NCOL+1                                                       00808 
      IF(NCOL.LT.7)ICOL(NCOL)=I                                         00809 
32756 I=I+1                                                             00811 
      GO TO 32758                                                       00812 
32757 NXTCHR=1          !FIND 1ST NONBLANK CHARACTER IN "LINE"          00814 
      ASSIGN 32754 TO I32755                                            00815 
      GO TO 32755                                                       00815 
32754 IF(.NOT.(NXTCHR.GT.NCHAR)) GO TO 32752                            00818 
      ERR=1    !NO CONTENT                                              00818 
      GO TO 32753                                                       00819 
32752 IF(.NOT.(NCOL.EQ.0)) GO TO 32751                                  00819 
      I1=NXTCHR                                                         00820 
      L1=NCHAR-I1+1                                                     00821 
      LFLAG=NOTFLG                                                      00822 
      SKPLBL=GOTONO                                                     00823 
      ASSIGN 32749 TO I32750                                            00824 
      GO TO 32750                                                       00824 
32749 GO TO 32753                                                       00826 
32751 IF(.NOT.(NCOL.EQ.2)) GO TO 32748                                  00826 
      I1=NXTCHR                                                         00827 
      L1=NCHAR-I1+1                                                     00828 
      LFLAG=NOTFLG                                                      00829 
      SKPLBL=GOTONO                                                     00830 
      IOPR1=ICOL(1)                                                     00831 
      IOPR2=ICOL(2)                                                     00832 
      ASSIGN 32746 TO I32747                                            00833 
      GO TO 32747                                                       00833 
32746 GO TO 32753                                                       00835 
32748 IF(.NOT.(NCOL.EQ.4)) GO TO 32745                                  00835 
      ASSIGN 32743 TO I32744                                            00835 
      GO TO 32744                                                       00835 
32743 GO TO 32753                                                       00836 
32745 IF(.NOT.(NCOL.EQ.6)) GO TO 32742                                  00836 
      ASSIGN 32740 TO I32741                                            00836 
      GO TO 32741                                                       00836 
32740 GO TO 32753                                                       00837 
32742 IF(.NOT.(NCOL/2*2.NE.NCOL)) GO TO 32739                           00837 
      ERR=2           !UNBALANCED COLONS                                00837 
      GO TO 32753                                                       00838 
32739 ERR=3          !WRONG # OF COLONS                                 00838 
32753 IF(.NOT.(ERR.NE.0)) GO TO 32738                                   00841 
      MAJCNT=MAJCNT+1                                                   00842 
      CALL PUT(LINENO,SERR,ASSMCL)                                      00846 
      IF((1).NE.(ERR)) GO TO 32736                                      00851 
      CALL PUT(0,SNOCON,ERRCL)       !NO CONTENT                        00851 
      GO TO 32737                                                       00852 
32736 IF((2).NE.(ERR)) GO TO 32735                                      00852 
      CALL PUT(0,SUNBAL,ERRCL)       !UNBALANCED COLONS                 00852 
      GO TO 32737                                                       00853 
32735 IF((3).NE.(ERR)) GO TO 32734                                      00853 
      CALL PUT(0,SWNC  ,ERRCL)       !WRONG # OF COLONS                 00853 
      GO TO 32737                                                       00854 
32734 IF((4).NE.(ERR)) GO TO 32733                                      00854 
      CALL PUT(0,SUNDFN,ERRCL)       !UNDEFINED OPERATOR                00854 
      GO TO 32737                                                       00855 
32733 IF((5).NE.(ERR)) GO TO 32732                                      00855 
      CALL PUT(0,SCCOP ,ERRCL)       !CC WITH OPERAND                   00855 
      GO TO 32737                                                       00856 
32732 IF((6).NE.(ERR)) GO TO 32731                                      00856 
      CALL PUT(0,SILLCO,ERRCL)       !ILLEGAL COMPOUND                  00856 
      GO TO 32737                                                       00857 
32731 IF((7).NE.(ERR)) GO TO 32730                                      00857 
      CALL PUT(0,SNOOP ,ERRCL)       !MISSING OPERAND                   00857 
      GO TO 32737                                                       00858 
32730 IF((8).NE.(ERR)) GO TO 32729                                      00858 
      CALL PUT(0,SILLOP,ERRCL)       !ILLEGAL OPERATOR                  00858 
      GO TO 32737                                                       00859 
32729 IF((9).NE.(ERR)) GO TO 32728                                      00859 
      CALL PUT(0,SILLMO,ERRCL)       !ILLEGAL MODIFIER                  00859 
      GO TO 32737                                                       00860 
32728 IF((10).NE.(ERR)) GO TO 32727                                     00860 
      CALL PUT(0,SCOM, ERRCL)       !MOD COND CODE                      00860 
32727 CONTINUE                                                          00861 
32737 CONTINUE                                                          00862 
32738 RETURN                                                            00865 
32726 CONTINUE                                                          00866 
      BTEMP(1)=LINE(IOPR1+1)    !NOTE EQUIV (BTEMP(1),ITEMP)            00876 
      BTEMP(2)=LINE(IOPR1+2)                                            00877 
      IF((2HEQ).NE.(ITEMP)) GO TO 32724                                 00879 
      ITYPE=1                                                           00879 
      GO TO 32725                                                       00880 
32724 IF((2HNE).NE.(ITEMP)) GO TO 32723                                 00880 
      ITYPE=-1                                                          00880 
      GO TO 32725                                                       00881 
32723 IF((2HGT).NE.(ITEMP)) GO TO 32722                                 00881 
      ITYPE=2                                                           00881 
      GO TO 32725                                                       00882 
32722 IF((2HLE).NE.(ITEMP)) GO TO 32721                                 00882 
      ITYPE=-2                                                          00882 
      GO TO 32725                                                       00883 
32721 IF((2HLT).NE.(ITEMP)) GO TO 32720                                 00883 
      ITYPE=3                                                           00883 
      GO TO 32725                                                       00884 
32720 IF((2HGE).NE.(ITEMP)) GO TO 32719                                 00884 
      ITYPE=-3                                                          00884 
      GO TO 32725                                                       00885 
32719 ERR=4  !UNDEFINED OPERATOR                                        00885 
32725 GO TO I32726                                                      00887 
32718 CONTINUE                                                          00888 
      IF(.NOT.(LINE(IOPR1+5).NE.1HI.OR.LINE(IOPR1+6).NE.1HN)) GO TO 327100898 
     16                                                                 00898 
      ERR=4 !UNDFN OP                                                   00898 
      GO TO 32717                                                       00898 
32716 DO 32715 I=1,4                                                    00900 
      BTEMP(I)=LINE(IOPR1+I)                                            00900 
32715 CONTINUE                                                          00900 
      IF((4HSET.).NE.(IITEMP)) GO TO 32713                              00902 
      ITYPE=5                                                           00902 
      GO TO 32714                                                       00903 
32713 IF((4HCLR.).NE.(IITEMP)) GO TO 32712                              00903 
      ITYPE=-5                                                          00903 
      GO TO 32714                                                       00904 
32712 ERR=4  !UNDEFINED OPERATOR                                        00904 
32714 CONTINUE                                                          00906 
32717 GO TO I32718                                                      00907 
32711 CONTINUE                                                          00908 
      DO 32710 I=1,3                                                    00919 
      BTEMP(I)=LINE(IOPR1+I)                                            00919 
32710 CONTINUE                                                          00919 
      BTEMP(4)=1H               !NOTE EQUIV (BTEMP(1),IITEMP)           00920 
      IF(.NOT.(ISMOD)) GO TO 32708                                      00922 
      ERR=4              !UNDEFINED OPERATOR                            00922 
      GO TO 32709                                                       00923 
32708 IF(.NOT.(IITEMP.EQ.4HAND )) GO TO 32707                           00923 
      ITYPE=4                                                           00923 
      GO TO 32709                                                       00924 
32707 IF(.NOT.(IITEMP.EQ.4HIOR )) GO TO 32706                           00924 
      ITYPE=-4                                                          00924 
      GO TO 32709                                                       00925 
32706 ERR=4          !UNDEFINED OPERATOR                                00925 
32709 GO TO I32711                                                      00927 
32705 CONTINUE                                                          00928 
      LENOP=2                   !DEFAULT LENGTH TO "WORD"               00943 
      SIGNOP=1                  !DEFAULT TO "SIGNED"                    00944 
      I=IOPR1+1                                                         00948 
32704 IF(.NOT.(LINE(I).NE.1H:.AND.LINE(I).NE.1H_)) GO TO 32703          00949 
      I=I+1                                                             00949 
      GO TO 32704                                                       00949 
32703 ILEN=I-IOPR1-1            !LENGTH OF OPERATOR                     00950 
      IF(.NOT.(LINE(I).NE.1H_)) GO TO 32701                             00951 
      ISMOD=.FALSE.                                                     00951 
      GO TO 32702                                                       00951 
32701 ISMOD=.TRUE.                                                      00953 
      J=IOPR2-I-1                       !MODIFIER LENGTH                00954 
      IF(.NOT.(J.LT.1.OR.J.GT.2)) GO TO 32699                           00955 
      ERR=9       !ILLEGAL MODIFIER                                     00955 
      GO TO 32700                                                       00955 
32699 L=0               !NO LENGTH MODIFIERS YET                        00957 
      S=0               !NO SIGN MODIFIERS YET                          00958 
      DO 32698 ITEMP=1,J                                                00959 
      IF((1HW).NE.(LINE(I+ITEMP))) GO TO 32696                          00961 
      LENOP=2                                                           00962 
      L=L+1                                                             00963 
      GO TO 32697                                                       00965 
32696 IF((1HB).NE.(LINE(I+ITEMP))) GO TO 32695                          00965 
      LENOP=1                                                           00966 
      L=L+1                                                             00967 
      GO TO 32697                                                       00969 
32695 IF((1HL).NE.(LINE(I+ITEMP))) GO TO 32694                          00969 
      LENOP=4                                                           00970 
      L=L+1                                                             00971 
      GO TO 32697                                                       00973 
32694 IF((1HS).NE.(LINE(I+ITEMP))) GO TO 32693                          00973 
      SIGNOP=1                                                          00974 
      S=S+1                                                             00975 
      GO TO 32697                                                       00977 
32693 IF((1HU).NE.(LINE(I+ITEMP))) GO TO 32692                          00977 
      SIGNOP=0                                                          00978 
      S=S+1                                                             00979 
      GO TO 32697                                                       00981 
32692 ERR=9  !ILLEGAL MODIFIER                                          00981 
32697 CONTINUE                                                          00983 
32698 CONTINUE                                                          00983 
      IF(S.GT.1.OR.L.GT.1)ERR=9 !ILLEGAL MODIFIER                       00984 
32700 CONTINUE                                                          00986 
32702 IF(.NOT.(ERR.EQ.0)) GO TO 32691                                   00990 
      IF((2).NE.(ILEN)) GO TO 32689                                     00992 
      ASSIGN 32688 TO I32726                                            00992 
      GO TO 32726                                                       00992 
32688 GO TO 32690                                                       00993 
32689 IF((3).NE.(ILEN)) GO TO 32687                                     00993 
      ASSIGN 32686 TO I32711                                            00993 
      GO TO 32711                                                       00993 
32686 GO TO 32690                                                       00994 
32687 IF((6).NE.(ILEN)) GO TO 32685                                     00994 
      ASSIGN 32684 TO I32718                                            00994 
      GO TO 32718                                                       00994 
32684 GO TO 32690                                                       00995 
32685 ERR=4  !UNDEFINED OPERATOR                                        00995 
32690 CONTINUE                                                          00997 
32691 GO TO I32705                                                      00998 
32755 CONTINUE                                                          00999 
32683 IF(.NOT.(NXTCHR.LE.NCHAR.AND.LINE(NXTCHR).EQ.1H )) GO TO 32682    01006 
      NXTCHR=NXTCHR+1                                                   01006 
      GO TO 32683                                                       01006 
32682 GO TO I32755                                                      01007 
32681 CONTINUE                                                          01008 
      CALL CPYSTR(STEMP,SCMP)                                           01027 
      IF((1).NE.(LENOP)) GO TO 32679                                    01029 
      CALL CATSUB(STEMP,SALPHA,2,1)  !APPEND B                          01029 
      GO TO 32680                                                       01030 
32679 IF((2).NE.(LENOP)) GO TO 32678                                    01030 
      GO TO 32680                                                       01031 
32678 IF((4).NE.(LENOP)) GO TO 32677                                    01031 
      CALL CATSUB(STEMP,SALPHA,12,1) !APPEND L                          01031 
32677 CONTINUE                                                          01032 
32680 CALL CATSTR(STEMP,SSPACE)                                         01033 
      CALL CATSUB(STEMP,SLINE,IOPD1,LOPD1)                              01034 
      CALL CATSTR(STEMP,SCOMMA)                                         01035 
      CALL CATSUB(STEMP,SLINE,IOPD2,LOPD2)                              01036 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01037 
      I=IABS(ITYPE)                                                     01041 
      IF((1).NE.(I)) GO TO 32675                                        01043 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32673                       01044 
      CALL CPYSTR(STEMP,SBNE)                                           01044 
      GO TO 32674                                                       01044 
32673 CALL CPYSTR(STEMP,SBEQ)                                           01045 
32674 GO TO 32676                                                       01047 
32675 IF((2).NE.(I)) GO TO 32672                                        01047 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32670                       01048 
      IF(.NOT.(SIGNOP.NE.0)) GO TO 32668                                01049 
      CALL CPYSTR(STEMP,SBLE)                                           01049 
      GO TO 32669                                                       01049 
32668 CALL CPYSTR(STEMP,SBLOS)                                          01050 
32669 GO TO 32671                                                       01051 
32670 IF(.NOT.(SIGNOP.NE.0)) GO TO 32666                                01053 
      CALL CPYSTR(STEMP,SBGT)                                           01053 
      GO TO 32667                                                       01053 
32666 CALL CPYSTR(STEMP,SBHI)                                           01054 
32667 CONTINUE                                                          01055 
32671 GO TO 32676                                                       01057 
32672 IF((3).NE.(I)) GO TO 32665                                        01057 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32663                       01058 
      IF(.NOT.(SIGNOP.NE.0)) GO TO 32661                                01059 
      CALL CPYSTR(STEMP,SBGE)                                           01059 
      GO TO 32662                                                       01059 
32661 CALL CPYSTR(STEMP,SBHIS)                                          01060 
32662 GO TO 32664                                                       01061 
32663 IF(.NOT.(SIGNOP.NE.0)) GO TO 32659                                01063 
      CALL CPYSTR(STEMP,SBLT)                                           01063 
      GO TO 32660                                                       01063 
32659 CALL CPYSTR(STEMP,SBLO)                                           01064 
32660 CONTINUE                                                          01065 
32664 CONTINUE                                                          01067 
32665 CONTINUE                                                          01067 
32676 CALL CATNUM(STEMP,SKPLBL)                                         01071 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01072 
      GO TO I32681                                                      01073 
32658 CONTINUE                                                          01074 
      CALL CPYSTR(STEMP,SBIT)                                           01092 
      IF((1).NE.(LENOP)) GO TO 32656                                    01094 
      CALL CATSUB(STEMP,SALPHA,2,1)  !APPEND B                          01094 
      GO TO 32657                                                       01095 
32656 IF((2).NE.(LENOP)) GO TO 32655                                    01095 
      GO TO 32657                                                       01096 
32655 IF((4).NE.(LENOP)) GO TO 32654                                    01096 
      CALL CATSUB(STEMP,SALPHA,12,1) !APPEND L                          01096 
32654 CONTINUE                                                          01097 
32657 CALL CATSTR(STEMP,SSPACE)                                         01098 
      CALL CATSUB(STEMP,SLINE,IOPD1,LOPD1)                              01099 
      CALL CATSTR(STEMP,SCOMMA)                                         01100 
      CALL CATSUB(STEMP,SLINE,IOPD2,LOPD2)                              01101 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01102 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32652                       01106 
      CALL CPYSTR(STEMP,SBEQ)                                           01106 
      GO TO 32653                                                       01106 
32652 CALL CPYSTR(STEMP,SBNE)                                           01107 
32653 CALL CATNUM(STEMP,SKPLBL)                                         01108 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01109 
      GO TO I32658                                                      01110 
32651 CONTINUE                                                          01111 
      CALL CPYSTR(STEMP,SCC)            !"      B"                      01129 
      J=IOPR1+1                 !1ST CHAR IN OPERATOR                   01133 
      NXTCHR=IOPR2+1                                                    01134 
      ASSIGN 32650 TO I32755                                            01135 
      GO TO 32755                                                       01135 
32650 IF(.NOT.(NXTCHR.LE.I1+L1-1.AND.LINE(NXTCHR).NE.1H:)) GO TO 32648  01137 
      ERR=5 !IS OPERAND                                                 01137 
      GO TO 32649                                                       01138 
32648 IF(.NOT.((IOPR2-IOPR1).NE.6)) GO TO 32647                         01138 
      ERR=4 !UNDEFINED OPERATOR                                         01138 
      GO TO 32649                                                       01139 
32647 IF(.NOT.(LINE(J).EQ.1HC)) GO TO 32646                             01139 
      ITYPE=1                                                           01139 
      GO TO 32649                                                       01140 
32646 IF(.NOT.(LINE(J).EQ.1HV)) GO TO 32645                             01140 
      ITYPE=2                                                           01140 
      GO TO 32649                                                       01141 
32645 IF(.NOT.(LINE(J).EQ.1HZ)) GO TO 32644                             01141 
      ITYPE=3                                                           01141 
      GO TO 32649                                                       01142 
32644 IF(.NOT.(LINE(J).EQ.1HN)) GO TO 32643                             01142 
      ITYPE=4                                                           01142 
      GO TO 32649                                                       01143 
32643 ERR=4  !UNDEFINED OPERATOR                                        01143 
32649 IF(.NOT.(ERR.EQ.0)) GO TO 32642                                   01146 
      DO 32641 I=1,4                                                    01147 
      BTEMP(I)=LINE(J+I)  !GET TYPE; NOTE EQUIV(BTEMP,IITEMP)           01147 
32641 CONTINUE                                                          01147 
      IF((4H.SET).NE.(IITEMP)) GO TO 32639                              01149 
      IF(.NOT.(LFLAG)) GO TO 32637                                      01150 
      CALL CATSUB(STEMP,SCCCLR(1,ITYPE),1,2)                            01150 
      GO TO 32638                                                       01150 
32637 CALL CATSUB(STEMP,SCCSET(1,ITYPE),1,2)                            01151 
32638 GO TO 32640                                                       01153 
32639 IF((4H.CLR).NE.(IITEMP)) GO TO 32636                              01153 
      IF(.NOT.(LFLAG)) GO TO 32634                                      01154 
      CALL CATSUB(STEMP,SCCSET(1,ITYPE),1,2)                            01154 
      GO TO 32635                                                       01154 
32634 CALL CATSUB(STEMP,SCCCLR(1,ITYPE),1,2)                            01155 
32635 GO TO 32640                                                       01157 
32636 ERR=4  !UNDEFINED OPERATOR                                        01157 
32640 CONTINUE                                                          01159 
32642 IF(.NOT.(ERR.EQ.0)) GO TO 32633                                   01160 
      CALL CATSTR(STEMP,SSPI)                                           01164 
      CALL CATNUM(STEMP,SKPLBL)                                         01165 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01166 
32633 GO TO I32651                                                      01168 
32744 CONTINUE                                                          01169 
      I1COND=LINE(NXTCHR).EQ.1H:                                        01187 
      IF(.NOT.(I1COND)) GO TO 32631                                     01188 
      IOPR1=ICOL(3)                                                     01189 
      IOPR2=ICOL(4)                                                     01190 
      GO TO 32632                                                       01191 
32631 IOPR1=ICOL(1)                                                     01193 
      IOPR2=ICOL(2)                                                     01194 
32632 ASSIGN 32630 TO I32705                                            01196 
      GO TO 32705                                                       01196 
32630 IF(.NOT.(ERR.EQ.0)) GO TO 32629                                   01198 
      EXELBL=NEWNO(0)                                                   01199 
      JTYPE=ITYPE               !SAVE TYPE OF CENTRAL OPERATOR          01200 
      IF((4).NE.(ITYPE)) GO TO 32627                                    01202 
      LFLAG=.TRUE.                                                      01203 
      IF(.NOT.(NOTFLG)) GO TO 32625                                     01204 
      SKPLBL=GOTONO                                                     01204 
      GO TO 32626                                                       01204 
32625 SKPLBL=EXELBL                                                     01205 
32626 GO TO 32628                                                       01207 
32627 IF((-4).NE.(ITYPE)) GO TO 32624                                   01207 
      LFLAG=.FALSE.                                                     01208 
      IF(.NOT.(NOTFLG)) GO TO 32622                                     01209 
      SKPLBL=EXELBL                                                     01209 
      GO TO 32623                                                       01209 
32622 SKPLBL=GOTONO                                                     01210 
32623 GO TO 32628                                                       01212 
32624 ERR=6  !ILLEGAL COMPOUND                                          01212 
32628 CONTINUE                                                          01214 
32629 IF(.NOT.(ERR.EQ.0)) GO TO 32621                                   01215 
      I1=NXTCHR                                                         01216 
      IOPR1=ICOL(1)                                                     01217 
      IOPR2=ICOL(2)                                                     01218 
      IF(.NOT.(I1COND)) GO TO 32619                                     01219 
      L1=ICOL(3)-NXTCHR                                                 01220 
      ASSIGN 32618 TO I32651                                            01221 
      GO TO 32651                                                       01221 
32618 IF(.NOT.(ERR.EQ.0)) GO TO 32617                                   01222 
      NXTCHR=ICOL(4)+1                                                  01223 
      ASSIGN 32616 TO I32755                                            01224 
      GO TO 32755                                                       01224 
32616 I1=NXTCHR                                                         01225 
      L1=NCHAR-I1+1                                                     01226 
      IOPR1=ICOL(3)                                                     01227 
      IOPR2=ICOL(4)                                                     01228 
      SKPLBL=GOTONO                                                     01229 
      LFLAG=NOTFLG                                                      01230 
      ASSIGN 32615 TO I32750                                            01231 
      GO TO 32750                                                       01231 
32615 LFLAG=NOTFLG.XOR.(JTYPE.GT.0)                                     01232 
      IF(LFLAG.AND..NOT.ERR)CALL PUTLBL(EXELBL,LINENO,ASSMCL)           01233 
32617 GO TO 32620                                                       01235 
32619 NXTCHR=ICOL(2)+1                                                  01241 
      ASSIGN 32614 TO I32755                                            01242 
      GO TO 32755                                                       01242 
32614 IF(.NOT.(NXTCHR.LT.ICOL(3))) GO TO 32612                          01243 
      ERR=6     !ILLEGAL COMPOUND                                       01243 
      GO TO 32613                                                       01243 
32612 ERR=10                       !MODIFIED COND CODE                  01244 
32613 CONTINUE                                                          01245 
32620 CONTINUE                                                          01246 
32621 GO TO I32744                                                      01247 
32750 CONTINUE                                                          01248 
      IF(.NOT.(L1.LT.1)) GO TO 32610                                    01264 
      ERR=1        !NO CONTENT                                          01264 
      GO TO 32611                                                       01264 
32610 CALL CPYSTR(STEMP,STST)                                           01266 
      CALL CATSUB(STEMP,SLINE,I1,L1)                                    01267 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01268 
      IF(.NOT.(LFLAG)) GO TO 32608                                      01272 
      CALL CPYSTR(STEMP,SBEQ)                                           01272 
      GO TO 32609                                                       01272 
32608 CALL CPYSTR(STEMP,SBNE)                                           01273 
32609 CALL CATNUM(STEMP,SKPLBL)                                         01274 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01275 
32611 GO TO I32750                                                      01277 
32607 CONTINUE                                                          01278 
      IF(.NOT.(LFLAG.XOR.ITYPE.LT.0)) GO TO 32605                       01297 
      EXELBL=SKPLBL                                                     01297 
      GO TO 32606                                                       01297 
32605 EXELBL=NEWNO(0)                                                   01298 
32606 CALL CPYSTR(STEMP,STST)                                           01302 
      CALL CATSUB(STEMP,SLINE,IOPD1,LOPD1)                              01303 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01304 
      IF(.NOT.(ITYPE.GT.0)) GO TO 32603                                 01308 
      CALL CPYSTR(STEMP,SBEQ)                                           01308 
      GO TO 32604                                                       01308 
32603 CALL CPYSTR(STEMP,SBNE)                                           01309 
32604 CALL CATNUM(STEMP,EXELBL)                                         01310 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01311 
      CALL CPYSTR(STEMP,STST)                                           01315 
      CALL CATSUB(STEMP,SLINE,IOPD2,LOPD2)                              01316 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01317 
      IF(.NOT.(LFLAG)) GO TO 32601                                      01321 
      CALL CPYSTR(STEMP,SBEQ)                                           01321 
      GO TO 32602                                                       01321 
32601 CALL CPYSTR(STEMP,SBNE)                                           01322 
32602 CALL CATNUM(STEMP,SKPLBL)                                         01323 
      CALL PUT(LINENO,STEMP,ASSMCL)                                     01324 
      IF(LFLAG.XOR.ITYPE.GT.0)CALL PUTLBL(EXELBL,LINENO,ASSMCL)         01326 
      GO TO I32607                                                      01327 
32600 CONTINUE                                                          01328 
      ASSIGN 32599 TO I32705                                            01342 
      GO TO 32705                                                       01342 
32599 IF(.NOT.(ERR.EQ.0)) GO TO 32598                                   01343 
      I=IABS(ITYPE)                                                     01344 
      IOPD1=I1                  !START OF OPERAND 1                     01345 
      LOPD1=IOPR1-IOPD1         !LENGTH OF OPERAND 1                    01346 
      NXTCHR=IOPR2+1                                                    01347 
      ASSIGN 32597 TO I32755                                            01348 
      GO TO 32755                                                       01348 
32597 IOPD2=NXTCHR              !START OF OPERAND 2                     01349 
      LOPD2=(I1+L1)-IOPD2       !LENGTH OF OPERAND 2                    01350 
      IF(.NOT.(LOPD1.LT.1.OR.LOPD2.LT.1)) GO TO 32595                   01352 
      ERR=7   !MISSING OPERAND                                          01352 
      GO TO 32596                                                       01353 
32595 IF(.NOT.(NCOL.GT.2.AND.I.EQ.4)) GO TO 32594                       01353 
      ERR=6       !ILLEGAL COMPOUND                                     01353 
      GO TO 32596                                                       01354 
32594 IF((4).NE.(I)) GO TO 32592                                        01356 
      ASSIGN 32591 TO I32607                                            01356 
      GO TO 32607                                                       01356 
32591 GO TO 32593                                                       01357 
32592 IF((5).NE.(I)) GO TO 32590                                        01357 
      ASSIGN 32589 TO I32658                                            01357 
      GO TO 32658                                                       01357 
32589 GO TO 32593                                                       01358 
32590 ASSIGN 32588 TO I32681                                            01358 
      GO TO 32681                                                       01358 
32588 CONTINUE                                                          01359 
32593 CONTINUE                                                          01361 
32596 CONTINUE                                                          01362 
32598 GO TO I32600                                                      01363 
32747 CONTINUE                                                          01364 
      IF(.NOT.(IOPR1.GT.I1)) GO TO 32586                                01374 
      ASSIGN 32585 TO I32600                                            01374 
      GO TO 32600                                                       01374 
32585 GO TO 32587                                                       01374 
32586 ASSIGN 32584 TO I32651                                            01375 
      GO TO 32651                                                       01375 
32584 CONTINUE                                                          01375 
32587 GO TO I32747                                                      01376 
32741 CONTINUE                                                          01377 
      IOPR1=ICOL(3)                                                     01393 
      IOPR2=ICOL(4)                                                     01394 
      ASSIGN 32583 TO I32705                                            01395 
      GO TO 32705                                                       01395 
32583 IF(.NOT.(ERR.EQ.0)) GO TO 32582                                   01397 
      EXELBL=NEWNO(0)                                                   01398 
      JTYPE=ITYPE               !SAVE TYPE OF CENTRAL OPERATOR          01399 
      IF((4).NE.(ITYPE)) GO TO 32580                                    01401 
      LFLAG=.TRUE.                                                      01402 
      IF(.NOT.(NOTFLG)) GO TO 32578                                     01403 
      SKPLBL=GOTONO                                                     01403 
      GO TO 32579                                                       01403 
32578 SKPLBL=EXELBL                                                     01404 
32579 GO TO 32581                                                       01406 
32580 IF((-4).NE.(ITYPE)) GO TO 32577                                   01406 
      LFLAG=.FALSE.                                                     01407 
      IF(.NOT.(NOTFLG)) GO TO 32575                                     01408 
      SKPLBL=EXELBL                                                     01408 
      GO TO 32576                                                       01408 
32575 SKPLBL=GOTONO                                                     01409 
32576 GO TO 32581                                                       01411 
32577 ERR=8  !ILLEGAL OPERATOR FOR COMPOUND                             01411 
32581 CONTINUE                                                          01413 
32582 IF(.NOT.(ERR.EQ.0)) GO TO 32574                                   01414 
      I1=NXTCHR         !START OF 1ST LOGICAL SUBCONDITION              01415 
      L1=ICOL(3)-NXTCHR !LENGTH OF IT                                   01416 
      IOPR1=ICOL(1)                                                     01417 
      IOPR2=ICOL(2)                                                     01418 
      I1COND=IOPR1.EQ.I1                !.T. IF IS CONDITION CODE       01419 
      ASSIGN 32573 TO I32747                                            01420 
      GO TO 32747                                                       01420 
32573 IF(.NOT.(ERR.EQ.0)) GO TO 32572                                   01421 
      NXTCHR=ICOL(4)+1                                                  01422 
      ASSIGN 32571 TO I32755                                            01423 
      GO TO 32755                                                       01423 
32571 I1=NXTCHR                                                         01424 
      L1=NCHAR-I1+1                                                     01425 
      IOPR1=ICOL(5)                                                     01426 
      IOPR2=ICOL(6)                                                     01427 
      IF(.NOT.(IOPR1.EQ.I1.AND..NOT.I1COND)) GO TO 32569                01428 
      ERR=10                                                            01428 
      GO TO 32570                                                       01428 
32569 SKPLBL=GOTONO                                                     01430 
      LFLAG=NOTFLG                                                      01431 
      ASSIGN 32568 TO I32747                                            01432 
      GO TO 32747                                                       01432 
32568 LFLAG=NOTFLG.XOR.(JTYPE.GT.0)                                     01433 
      IF(LFLAG.AND..NOT.ERR)CALL PUTLBL(EXELBL,LINENO,ASSMCL)           01434 
32570 CONTINUE                                                          01436 
32572 CONTINUE                                                          01437 
32574 GO TO I32741                                                      01438 
      END                                                               01439 
