      SUBROUTINE REMOV0
      INTEGER SYMTE0(200),SYMLO0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAK0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAK0
      INTEGER OUTBU0(102,3)
      INTEGER OUTPA0(3)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(25000)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(3),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRS0(20),EXPRT0,FALSE0
      COMMON /CODEG0/EXPRS0,EXPRT0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SCLAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200)
      INTEGER CURLA0,BRACE0,DISPA0,INDEN0,FIRST0,SPNUM0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,DISPA0,INDEN0,MODUM0,FIRST0,PR
     *OFD0,SPNUM0,ERROR0,A$BUF
      INTEGER T
      INTEGER SKIPW0,LOOKUP
      INTEGER ID(200),TEXT(200)
      INTEGER INFO(3)
      IF((SKIPW0(ID).EQ.1023))GOTO 10000
        CALL SYNERR('Identifier must follow ''undefine''.')
        RETURN
10000 CALL DELET0(ID,ID)
      IF((SKIPW0(TEXT).EQ.169))GOTO 10001
        CALL SYNERR('Right paren must follow identifier in ''undefine''.
     *')
        RETURN
10001 IF((LOOKUP(ID,INFO,IDTAB0).EQ.0))GOTO 10003
      IF((INFO(1).NE.3))GOTO 10003
      GOTO 10002
10003   RETURN
10002 CALL DSFREE(INFO(3))
      CALL DELETE(ID,IDTAB0)
      RETURN
      END
      SUBROUTINE INVOK0(INFO)
      INTEGER INFO(3)
      INTEGER SYMTE0(200),SYMLO0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAK0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAK0
      INTEGER OUTBU0(102,3)
      INTEGER OUTPA0(3)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(25000)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(3),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRS0(20),EXPRT0,FALSE0
      COMMON /CODEG0/EXPRS0,EXPRT0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SCLAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200)
      INTEGER CURLA0,BRACE0,DISPA0,INDEN0,FIRST0,SPNUM0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,DISPA0,INDEN0,MODUM0,FIRST0,PR
     *OFD0,SPNUM0,ERROR0,A$BUF
      INTEGER I,NP,J,L
      INTEGER CTOC
      INTEGER DEFN(400)
      INTEGER N
      INTEGER TABLE(32)
      NP=0
      IF((INFO(2).LE.0))GOTO 10004
        CALL GETAC0(TABLE,NP)
10004 J=1
      I=INFO(3)
      GOTO 10007
10005 I=I+(1)
10007 IF((MEMAA0(I).EQ.0))GOTO 10006
        IF((MEMAA0(I).EQ.1023))GOTO 10008
          DEFN(J)=MEMAA0(I)
          J=J+(1)
          GOTO 10009
10008     I=I+(1)
          IF((NP.LT.MEMAA0(I)))GOTO 10010
            J=J+(CTOC(MEMAA0(TABLE(MEMAA0(I))),DEFN(J),400-J+1))
10010   CONTINUE
10009   IF((J.LT.400-1))GOTO 10011
          CALL SYNERR('result of define invocation too long.')
          GOTO 10006
10011 GOTO 10005
10006 DEFN(J)=0
      CALL PUTBC0(DEFN)
      I=1
      GOTO 10014
10012 I=I+(1)
10014 IF((I.GT.NP))GOTO 10013
        CALL DSFREE(TABLE(I))
      GOTO 10012
10013 RETURN
      END
      SUBROUTINE ENTER0
      INTEGER SYMTE0(200),SYMLO0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAK0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAK0
      INTEGER OUTBU0(102,3)
      INTEGER OUTPA0(3)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(25000)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(3),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRS0(20),EXPRT0,FALSE0
      COMMON /CODEG0/EXPRS0,EXPRT0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SCLAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200)
      INTEGER CURLA0,BRACE0,DISPA0,INDEN0,FIRST0,SPNUM0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,DISPA0,INDEN0,MODUM0,FIRST0,PR
     *OFD0,SPNUM0,ERROR0,A$BUF
      INTEGER ID(200),DEFN(400),TEXT(200)
      INTEGER I,NLPAR,T,NP
      INTEGER SKIPW0,GETFO0
      INTEGER PARAMS,P
      INTEGER GETDE0,MKTABL
      INTEGER INFO(3)
      T=SKIPW0(ID)
      IF((T.EQ.1023))GOTO 10015
        CALL SYNERR('only identifiers may be defined.')
        RETURN
10015 CALL DELET0(ID,ID)
      T=SKIPW0(TEXT)
      IF((T.NE.168))GOTO 10016
        IF((GETFO0(PARAMS,NP).NE.-3))GOTO 10017
          RETURN
10017   T=SKIPW0(TEXT)
        GOTO 10018
10016   NP=0
        PARAMS=0
10018 IF((T.EQ.172))GOTO 10019
        CALL SYNERR('define identifer must be followed by a comma.')
        IF((PARAMS.EQ.0))GOTO 10020
          CALL RMTABL(PARAMS)
10020   RETURN
10019 P=GETDE0(PARAMS)
      IF((P.NE.-3))GOTO 10021
        RETURN
10021 IF((LOOKUP(ID,INFO,IDTAB0).NE.1))GOTO 10022
      IF((INFO(1).NE.3))GOTO 10022
        CALL DSFREE(INFO(3))
10022 INFO(1)=3
      INFO(2)=NP
      INFO(3)=P
      CALL ENTER(ID,INFO,IDTAB0)
      RETURN
      END
      INTEGER FUNCTION DGETS0(TEXT)
      INTEGER TEXT(1)
      INTEGER TL
      INTEGER C
      INTEGER SYMTE0(200),SYMLO0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAK0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAK0
      INTEGER OUTBU0(102,3)
      INTEGER OUTPA0(3)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(25000)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(3),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRS0(20),EXPRT0,FALSE0
      COMMON /CODEG0/EXPRS0,EXPRT0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SCLAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200)
      INTEGER CURLA0,BRACE0,DISPA0,INDEN0,FIRST0,SPNUM0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,DISPA0,INDEN0,MODUM0,FIRST0,PR
     *OFD0,SPNUM0,ERROR0,A$BUF
      IF((INBUF0(IBPAA0).EQ.0))GOTO 10023
        C=INBUF0(IBPAA0)
        IBPAA0=IBPAA0+(1)
        GOTO 10024
10023   CALL REFIL0(C)
10024 IF((193.GT.C))GOTO 10027
      IF((C.GT.218))GOTO 10027
      GOTO 10026
10027 IF((225.GT.C))GOTO 10028
      IF((C.GT.250))GOTO 10028
      GOTO 10026
10028 GOTO 10025
10026   TEXT(1)=C
        TL=1
        IF((INBUF0(IBPAA0).EQ.0))GOTO 10029
          C=INBUF0(IBPAA0)
          IBPAA0=IBPAA0+(1)
          GOTO 10030
10029     CALL REFIL0(C)
10030   CONTINUE
10031   IF((193.GT.C))GOTO 10034
        IF((C.GT.218))GOTO 10034
        GOTO 10033
10034   IF((225.GT.C))GOTO 10035
        IF((C.GT.250))GOTO 10035
        GOTO 10033
10035   IF((176.GT.C))GOTO 10036
        IF((C.GT.185))GOTO 10036
        GOTO 10033
10036   IF((C.EQ.223))GOTO 10033
        IF((C.EQ.164))GOTO 10033
        GOTO 10032
10033     IF((TL.LT.200))GOTO 10037
            CALL SYNERR('token too long.')
            GOTO 10032
10037     TEXT(TL+1)=C
          TL=TL+(1)
          IF((INBUF0(IBPAA0).EQ.0))GOTO 10038
            C=INBUF0(IBPAA0)
            IBPAA0=IBPAA0+(1)
            GOTO 10039
10038       CALL REFIL0(C)
10039   GOTO 10031
10032   TEXT(TL+1)=0
        CALL PUTBA0(C)
        DGETS0=1023
        RETURN
10025 TEXT(1)=C
      TEXT(2)=0
      DGETS0=C
      RETURN
      END
      INTEGER FUNCTION GETFO0(TABLE,NUMBER)
      INTEGER TABLE
      INTEGER NUMBER
      INTEGER T
      INTEGER SKIPW0
      INTEGER TEXT(200)
      INTEGER MKTABL
      INTEGER INFO(3)
      TABLE=MKTABL(3)
      NUMBER=0
10040   T=SKIPW0(TEXT)
        IF((T.EQ.1023))GOTO 10041
          CALL SYNERR('define formal parameters must be identifiers.')
          CALL RMTABL(TABLE)
          GETFO0=-3
          RETURN
10041   CALL DELET0(TEXT,TEXT)
        NUMBER=NUMBER+1
        INFO(2)=NUMBER
        CALL ENTER(TEXT,INFO,TABLE)
        T=SKIPW0(TEXT)
        IF((T.EQ.172))GOTO 10042
        IF((T.EQ.169))GOTO 10042
          CALL SYNERR('commas must separate define formal parameters.')
          CALL RMTABL(TABLE)
          GETFO0=-3
          RETURN
10042 CONTINUE
      IF((T.NE.169))GOTO 10040
      GETFO0=-2
      RETURN
      END
      INTEGER FUNCTION SKIPW0(TEXT)
      INTEGER TEXT(1)
      INTEGER T
      INTEGER DGETS0
10043   T=DGETS0(TEXT)
      IF((T.EQ.138))GOTO 10043
      IF((T.EQ.160))GOTO 10043
      SKIPW0=T
      RETURN
      END
      INTEGER FUNCTION GETDE0(TABLE)
      INTEGER TABLE
      INTEGER SYMTE0(200),SYMLO0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAK0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAK0
      INTEGER OUTBU0(102,3)
      INTEGER OUTPA0(3)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(25000)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(3),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRS0(20),EXPRT0,FALSE0
      COMMON /CODEG0/EXPRS0,EXPRT0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SCLAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200)
      INTEGER CURLA0,BRACE0,DISPA0,INDEN0,FIRST0,SPNUM0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,DISPA0,INDEN0,MODUM0,FIRST0,PR
     *OFD0,SPNUM0,ERROR0,A$BUF
      INTEGER NLPAR,BUFLEN,L
      INTEGER DGETS0,LOOKUP,LENGTH
      INTEGER DEFN(400),TEXT(200),ID(200),INQUO0
      INTEGER SDUPL
      INTEGER INFO(3)
      INTEGER AAAAA0
      INTEGER AAAAB0
      NLPAR=0
      INQUO0=160
      BUFLEN=1
      DEFN(1)=0
10044   AAAAA0=DGETS0(TEXT)
        GOTO 10045
10046     IF((INQUO0.NE.160))GOTO 10047
            NLPAR=NLPAR+1
10047   GOTO 10048
10049     IF((INQUO0.NE.160))GOTO 10050
            NLPAR=NLPAR-1
            IF((NLPAR.GE.0))GOTO 10051
              GOTO 10052
10051     CONTINUE
10050   GOTO 10048
10053     IF((INQUO0.NE.160))GOTO 10054
            INQUO0=162
            GOTO 10055
10054       IF((INQUO0.NE.162))GOTO 10056
              INQUO0=160
10056     CONTINUE
10055   GOTO 10048
10057     IF((INQUO0.NE.160))GOTO 10058
            INQUO0=167
            GOTO 10059
10058       IF((INQUO0.NE.167))GOTO 10060
              INQUO0=160
10060     CONTINUE
10059   GOTO 10048
10061     CALL SYNERR('Missing right paren or EOF in define text.')
          GOTO 10052
10062     CALL DELET0(TEXT,ID)
          IF((TABLE.EQ.0))GOTO 10063
          IF((LOOKUP(ID,INFO,TABLE).NE.1))GOTO 10063
            TEXT(1)=1023
            TEXT(2)=INFO(2)
            TEXT(3)=0
10063   GOTO 10048
10045   IF(AAAAA0.EQ.-1)GOTO 10061
        AAAAB0=AAAAA0-161
        GOTO(10053,10064,10064,10064,10064,10057,10046,10049),AAAAB0
        IF(AAAAA0.EQ.1023)GOTO 10062
10064   CONTINUE
10048   L=LENGTH(TEXT)
        IF((BUFLEN+L.LT.400))GOTO 10065
          CALL SYNERR('definition too long.')
          GOTO 10052
10065   CALL SCOPY(TEXT,1,DEFN,BUFLEN)
        BUFLEN=BUFLEN+L
      GOTO 10044
10052 IF((TABLE.EQ.0))GOTO 10066
        CALL RMTABL(TABLE)
10066 GETDE0=SDUPL(DEFN)
      RETURN
      END
      SUBROUTINE GETAC0(TABLE,NP)
      INTEGER TABLE(32)
      INTEGER NP
      INTEGER NP,T
      INTEGER DGETS0,COLLE0
      INTEGER BUF(400),TEXT(200)
      INTEGER SDUPL
10067   T=DGETS0(TEXT)
      IF((T.EQ.160))GOTO 10067
      IF((T.EQ.168))GOTO 10068
        NP=0
        CALL PUTBC0(TEXT)
        RETURN
10068 NP=1
      GOTO 10071
10069 NP=NP+1
10071 IF((NP.GT.32))GOTO 10070
        T=COLLE0(BUF)
        TABLE(NP)=SDUPL(BUF)
        IF((T.NE.-1))GOTO 10072
          RETURN
10072 GOTO 10069
10070 CALL SYNERR('Too many actual parameters specified.')
      NP=32
      RETURN
      END
      INTEGER FUNCTION COLLE0(BUF)
      INTEGER BUF(400)
      INTEGER I,NLPAR
      INTEGER C,INQUO0
      INTEGER SYMTE0(200),SYMLO0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAK0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAK0
      INTEGER OUTBU0(102,3)
      INTEGER OUTPA0(3)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(25000)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(3),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRS0(20),EXPRT0,FALSE0
      COMMON /CODEG0/EXPRS0,EXPRT0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SCLAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200)
      INTEGER CURLA0,BRACE0,DISPA0,INDEN0,FIRST0,SPNUM0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,DISPA0,INDEN0,MODUM0,FIRST0,PR
     *OFD0,SPNUM0,ERROR0,A$BUF
      INTEGER AAAAC0
      INTEGER AAAAD0
      I=1
      INQUO0=160
      NLPAR=0
10073   IF((INBUF0(IBPAA0).EQ.0))GOTO 10074
          C=INBUF0(IBPAA0)
          IBPAA0=IBPAA0+(1)
          GOTO 10075
10074     CALL REFIL0(C)
10075   AAAAC0=C
        GOTO 10076
10077     IF((INQUO0.NE.160))GOTO 10078
            NLPAR=NLPAR+1
10078   GOTO 10079
10080     IF((INQUO0.NE.160))GOTO 10081
            NLPAR=NLPAR-1
            IF((NLPAR.GE.0))GOTO 10082
              GOTO 10083
10082     CONTINUE
10081   GOTO 10079
10084     IF((INQUO0.NE.160))GOTO 10085
            INQUO0=162
            GOTO 10086
10085       IF((INQUO0.NE.162))GOTO 10087
              INQUO0=160
10087     CONTINUE
10086   GOTO 10079
10088     IF((INQUO0.NE.160))GOTO 10089
            INQUO0=167
            GOTO 10090
10089       IF((INQUO0.NE.167))GOTO 10091
              INQUO0=160
10091     CONTINUE
10090   GOTO 10079
10092     IF((INQUO0.NE.160))GOTO 10093
          IF((NLPAR.GT.0))GOTO 10093
            GOTO 10083
10093   GOTO 10079
10094     CALL SYNERR('unbalanced paren or EOF in define actual paramete
     *r list.')
          GOTO 10083
10076   IF(AAAAC0.EQ.-1)GOTO 10094
        AAAAD0=AAAAC0-161
        GOTO(10084,10095,10095,10095,10095,10088,10077,10080,10095,10095
     *,10092),AAAAD0
10095   CONTINUE
10079   BUF(I)=C
        I=I+(1)
        IF((I.LT.400))GOTO 10096
          CALL SYNERR('define actual parameter too long.')
          GOTO 10083
10096 CONTINUE
      GOTO 10073
10083 BUF(I)=0
      IF((C.NE.172))GOTO 10097
        COLLE0=-2
        RETURN
10097 COLLE0=-1
      RETURN
      END
      SUBROUTINE DELET0(IN,OUT)
      INTEGER IN(1),OUT(1)
      INTEGER SYMTE0(200),SYMLO0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAK0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAK0
      INTEGER OUTBU0(102,3)
      INTEGER OUTPA0(3)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(25000)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(3),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRS0(20),EXPRT0,FALSE0
      COMMON /CODEG0/EXPRS0,EXPRT0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SCLAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200)
      INTEGER CURLA0,BRACE0,DISPA0,INDEN0,FIRST0,SPNUM0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,DISPA0,INDEN0,MODUM0,FIRST0,PR
     *OFD0,SPNUM0,ERROR0,A$BUF
      INTEGER I,J
      J=1
      I=1
      GOTO 10100
10098 I=I+(1)
10100 IF((IN(I).EQ.0))GOTO 10099
        IF((IN(I).EQ.223))GOTO 10101
          IF((A$BUF(237-225+1).EQ.0))GOTO 10102
            OUT(J)=MAPDN(IN(I))
            GOTO 10103
10102       OUT(J)=IN(I)
10103     J=J+(1)
10101 GOTO 10098
10099 OUT(J)=0
      RETURN
      END
C ---- Long Name Map ----
C getlinkid                      getli0
C deleteunderscores              delet0
C enterdefinition                enter0
C enterlongname                  entet0
C Fortfile                       fortf0
C Indent                         inden0
C Slt                            sltaa0
C compare                        compa0
C cleanup                        clean0
C convertstringconstant          conve0
C putbackstr                     putbc0
C Breaklab                       break0
C putback                        putba0
C obufcom                        obufc0
C invokemacro                    invok0
C Dispatchflag                   dispa0
C Spnum                          spnum0
C Proctable                      proct0
C refillbuffer                   refil0
C savemodulename                 savem0
C Outbuf                         outbu0
C Firststmt                      first0
C Symbol                         symbo0
C Inbuf                          inbuf0
C Ibp                            ibpaa0
C loopcom                        loopc0
C Unametable                     uname0
C Nextlab                        nextl0
C fatalerr                       fatal0
C Symlen                         symle0
C Prochead                       proch0
C removedefinition               remov0
C Symlongtext                    symlo0
C Level                          level0
C Mem                            memaa0
C dgetsym                        dgets0
C Falsebranch                    false0
C Scopetable                     scopf0
C Profdictfile                   profd0
C Symtext                        symte0
C Scvalue                        scval0
C Loopsp                         loops0
C Scl                            sclaa0
C codegen                        codeg0
C enterkw                        entes0
C Modulelongname                 modum0
C Result                         resul0
C Bracecount                     brace0
C initialize                     initi0
C skipwhitespace                 skipw0
C Exprstackptr                   exprt0
C Modulename                     modul0
C getactualparameters            getac0
C Outp                           outpa0
C Outfile                        outfi0
C Infile                         infil0
C makeunique                     makeu0
C inquote                        inquo0
C collectactualparameter         colle0
C Curlab                         curla0
C Exprstack                      exprs0
C Scopesp                        scope0
C getdefinition                  getde0
C getformalparameters            getfo0
C getlongname                    getlo0
C putbacknum                     putbb0
C Idtable                        idtab0
C Linenumber                     linen0
C Sclabel                        sclab0
C Errorsym                       error0
