      SUBROUTINE RATFO0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER CTOI
      INTEGER NUM,I
      INTEGER AAAAA0
      INTEGER AAAAB0
      INTEGER AAAAC0
      INTEGER AAAAD0
      INTEGER AAAAE0
      INTEGER AAAAF0
      INTEGER AAAAG0
      INTEGER AAAAH0
      INTEGER AAAAI0
      INTEGER AAAAJ0
      INTEGER AAAAK0
      INTEGER AAAAL0
      INTEGER AAAAM0
      GOTO 10001
10000 I=1
      NUM=CTOI(SYMTE0,I)
      IF((NUM.LE.10000))GOTO 10002
        CALL SYNERR('Possible label conflict.')
10002 CALL OUTNUM(NUM,3)
      GOTO 10003
10001 STATE=1
      IF((SYMBO0.NE.1032))GOTO 10004
        STATE=3
        AAAAA0=1
        GOTO 10000
10005   CALL GETSYM
10004 IF((STATE.NE.3))GOTO 10006
10007     STATE=1
          IF((SYMBO0.NE.138))GOTO 10008
            STATE=3
            CALL GETSYM
10008   CONTINUE
        IF((STATE.EQ.3))GOTO 10007
        AAAAB0=STATE
        GOTO 10009
10010     STATE=3
        GOTO 10011
10009   IF(AAAAB0.EQ.1)GOTO 10010
10011   IF((STATE.EQ.3))GOTO 10012
          GPST=2
          RETURN
10012   CONTINUE
10013     STATE=1
          IF((SYMBO0.NE.1032))GOTO 10014
            STATE=3
            AAAAA0=2
            GOTO 10000
10015       CALL GETSYM
10014     IF((STATE.NE.3))GOTO 10016
10017         STATE=1
              IF((SYMBO0.NE.138))GOTO 10018
                STATE=3
                CALL GETSYM
10018       CONTINUE
            IF((STATE.EQ.3))GOTO 10017
            AAAAC0=STATE
            GOTO 10019
10020         STATE=3
            GOTO 10021
10019       IF(AAAAC0.EQ.1)GOTO 10020
10021       IF((STATE.EQ.3))GOTO 10022
              GPST=2
              RETURN
10022     CONTINUE
10016   CONTINUE
        IF((STATE.EQ.3))GOTO 10013
        AAAAD0=STATE
        GOTO 10023
10024     STATE=3
        GOTO 10025
10023   IF(AAAAD0.EQ.1)GOTO 10024
10025   IF((STATE.EQ.3))GOTO 10026
          GPST=2
          RETURN
10026   CALL DECLA0(STATE)
        AAAAE0=STATE
        GOTO 10027
10028     GPST=2
          RETURN
10029     CALL SYNERR('Label not allowed on declaration.')
        GOTO 10030
10027   AAAAF0=AAAAE0-1
        GOTO(10028,10029),AAAAF0
10030   IF((STATE.NE.1))GOTO 10031
          CALL STATE0(STATE)
          AAAAG0=STATE
          GOTO 10032
10033       GPST=2
            RETURN
10032     IF(AAAAG0.EQ.2)GOTO 10033
          IF((STATE.NE.1))GOTO 10034
            IF((SYMBO0.NE.253))GOTO 10035
              STATE=3
10035       IF((STATE.NE.1))GOTO 10036
              IF((SYMBO0.NE.-1))GOTO 10037
                STATE=3
                CALL SYNERR('Unexpected EOF.')
10037       CONTINUE
10036     CONTINUE
10034   CONTINUE
10031   IF((STATE.EQ.3))GOTO 10038
          GPST=2
          RETURN
10038   STATE=1
        IF((SYMBO0.NE.187))GOTO 10039
          STATE=3
          CALL GETSYM
10039   AAAAH0=STATE
        GOTO 10040
10041     STATE=3
        GOTO 10042
10040   IF(AAAAH0.EQ.1)GOTO 10041
10042   IF((STATE.EQ.3))GOTO 10043
          GPST=2
          RETURN
10043   CONTINUE
10044     STATE=1
          IF((SYMBO0.NE.138))GOTO 10045
            STATE=3
            CALL GETSYM
10045   CONTINUE
        IF((STATE.EQ.3))GOTO 10044
        AAAAI0=STATE
        GOTO 10046
10047     STATE=3
        GOTO 10048
10046   IF(AAAAI0.EQ.1)GOTO 10047
10048   IF((STATE.EQ.3))GOTO 10049
          GPST=2
          RETURN
10049 CONTINUE
10006 IF((STATE.NE.1))GOTO 10050
        CALL DECLA0(STATE)
        AAAAJ0=STATE
        GOTO 10051
10052     GPST=2
          RETURN
10051   IF(AAAAJ0.EQ.2)GOTO 10052
        IF((STATE.NE.1))GOTO 10053
          CALL STATE0(STATE)
          AAAAK0=STATE
          GOTO 10054
10055       GPST=2
            RETURN
10054     IF(AAAAK0.EQ.2)GOTO 10055
10053   IF((STATE.NE.3))GOTO 10056
          STATE=1
          IF((SYMBO0.NE.187))GOTO 10057
            STATE=3
            CALL GETSYM
10057     AAAAL0=STATE
          GOTO 10058
10059       STATE=3
          GOTO 10060
10058     IF(AAAAL0.EQ.1)GOTO 10059
10060     IF((STATE.EQ.3))GOTO 10061
            GPST=2
            RETURN
10061     CONTINUE
10062       STATE=1
            IF((SYMBO0.NE.138))GOTO 10063
              STATE=3
              CALL GETSYM
10063     CONTINUE
          IF((STATE.EQ.3))GOTO 10062
          AAAAM0=STATE
          GOTO 10064
10065       STATE=3
          GOTO 10066
10064     IF(AAAAM0.EQ.1)GOTO 10065
10066     IF((STATE.EQ.3))GOTO 10067
            GPST=2
            RETURN
10067   CONTINUE
10056 CONTINUE
10050 GPST=STATE
      RETURN
10003 GOTO(10005,10015),AAAAA0
      GOTO 10003
      END
      SUBROUTINE DECLA0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAAN0
      INTEGER AAAAO0
      INTEGER AAAAP0
      INTEGER AAAAQ0
      INTEGER AAAAR0(7)
      INTEGER AAAAS0
      INTEGER AAAAT0(3)
      INTEGER AAAAU0
      INTEGER AAAAV0
      INTEGER AAAAW0
      INTEGER AAAAX0
      INTEGER AAAAY0
      INTEGER AAAAZ0
      INTEGER AAABA0
      INTEGER AAABB0
      INTEGER AAABC0
      INTEGER AAABD0
      INTEGER AAABE0
      INTEGER AAABF0
      INTEGER AAABG0
      INTEGER AAABH0
      INTEGER AAABI0
      DATA AAAAR0/174,228,225,244,225,174,0/
      DATA AAAAT0/170,160,0/
      GOTO 10069
10068 IF((FIRST0.NE.1))GOTO 10071
        CALL SYNERR('Missing ''end'' statement.')
10070 GOTO 10071
10069 STATE=1
      AAAAO0=SYMBO0
      GOTO 10072
10073   STATE=3
        AAAAN0=1
        GOTO 10068
10074   CALL OUTTAB(1)
        CALL OUTSTR(SYMTE0,1)
        CALL OUTCH(160,1)
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          STATE=1
          IF((SYMBO0.NE.1024))GOTO 10076
            STATE=3
            CALL OUTSTR(SYMTE0,1)
            CALL SAVEM0
            CALL GETSYM
            GOTO 10077
10076       CALL SYNERR('Missing subroutine name.')
            STATE=3
10077     IF((STATE.EQ.3))GOTO 10078
            GPST=2
            RETURN
10078     CALL DECLO0(STATE)
          AAAAP0=STATE
          GOTO 10079
10080       GPST=2
            RETURN
10081       STATE=3
          GOTO 10082
10079     GOTO(10081,10080),AAAAP0
10082     IF((STATE.EQ.3))GOTO 10083
            GPST=2
            RETURN
10083   CONTINUE
10075 GOTO 10084
10085   STATE=3
        AAAAN0=2
        GOTO 10068
10086   CALL OUTTAB(1)
        CALL OUTSTR(SYMTE0,1)
        CALL OUTCH(160,1)
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          STATE=1
          IF((SYMBO0.NE.1024))GOTO 10088
            STATE=3
            CALL OUTSTR(SYMTE0,1)
            CALL SAVEM0
            CALL GETSYM
            GOTO 10089
10088       CALL SYNERR('Missing function name.')
            STATE=3
10089     IF((STATE.EQ.3))GOTO 10090
            GPST=2
            RETURN
10090     CALL DECLO0(STATE)
          AAAAQ0=STATE
          GOTO 10091
10092       GPST=2
            RETURN
10093       STATE=3
          GOTO 10094
10091     GOTO(10093,10092),AAAAQ0
10094     IF((STATE.EQ.3))GOTO 10095
            GPST=2
            RETURN
10095   CONTINUE
10087 GOTO 10084
10096   STATE=3
        AAAAN0=3
        GOTO 10068
10097   CALL OUTTAB(1)
        CALL OUTSTR(SYMTE0,1)
        CALL SCOPY(AAAAR0,1,MODUL0,1)
        CALL SCOPY(MODUL0,1,MODUM0,1)
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL DECLO0(STATE)
          AAAAS0=STATE
          GOTO 10099
10100       GPST=2
            RETURN
10101       STATE=3
          GOTO 10102
10099     GOTO(10101,10100),AAAAS0
10102     IF((STATE.EQ.3))GOTO 10103
            GPST=2
            RETURN
10103   CONTINUE
10098 GOTO 10084
10104   STATE=3
        CALL OUTTAB(1)
        CALL OUTSTR(SYMTE0,1)
        CALL OUTCH(160,1)
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          STATE=1
          IF((SYMBO0.NE.170))GOTO 10106
            STATE=3
            CALL OUTSTR(AAAAT0,1)
            CALL GETSYM
10106     IF((STATE.NE.3))GOTO 10107
            STATE=1
            IF((SYMBO0.NE.1032))GOTO 10108
              STATE=3
              CALL OUTSTR(SYMTE0,1)
              CALL OUTCH(160,1)
              CALL GETSYM
              GOTO 10109
10108         CALL SYNERR('Missing integer in type size.')
              STATE=3
10109       IF((STATE.EQ.3))GOTO 10110
              GPST=2
              RETURN
10110     CONTINUE
10107     AAAAU0=STATE
          GOTO 10111
10112       STATE=3
          GOTO 10113
10111     IF(AAAAU0.EQ.1)GOTO 10112
10113     IF((STATE.EQ.3))GOTO 10114
            GPST=2
            RETURN
10114     STATE=1
          IF((SYMBO0.NE.1022))GOTO 10115
            STATE=3
            AAAAN0=4
            GOTO 10068
10116       CALL OUTSTR(SYMTE0,1)
            CALL OUTCH(160,1)
            CALL GETSYM
            GOTO 10117
10115       CALL BEGIN0
10117     IF((STATE.NE.3))GOTO 10118
            STATE=1
            IF((SYMBO0.NE.1024))GOTO 10119
              STATE=3
              CALL OUTSTR(SYMTE0,1)
              CALL SAVEM0
              CALL GETSYM
              GOTO 10120
10119         CALL SYNERR('Missing function name.')
              STATE=3
10120       IF((STATE.EQ.3))GOTO 10121
              GPST=2
              RETURN
10121     CONTINUE
10118     AAAAV0=STATE
          GOTO 10122
10123       STATE=3
          GOTO 10124
10122     IF(AAAAV0.EQ.1)GOTO 10123
10124     IF((STATE.EQ.3))GOTO 10125
            GPST=2
            RETURN
10125     CALL DECLO0(STATE)
          AAAAW0=STATE
          GOTO 10126
10127       GPST=2
            RETURN
10128       STATE=3
          GOTO 10129
10126     GOTO(10128,10127),AAAAW0
10129     IF((STATE.EQ.3))GOTO 10130
            GPST=2
            RETURN
10130   CONTINUE
10105 GOTO 10084
10131   STATE=3
        CALL BEGIN0
        CALL OUTTAB(1)
        CALL OUTSTR(SYMTE0,1)
        CALL OUTCH(160,1)
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL DECLO0(STATE)
          AAAAX0=STATE
          GOTO 10133
10134       GPST=2
            RETURN
10135       STATE=3
          GOTO 10136
10133     GOTO(10135,10134),AAAAX0
10136     IF((STATE.EQ.3))GOTO 10137
            GPST=2
            RETURN
10137   CONTINUE
10132 GOTO 10084
10138   STATE=3
        CALL BEGIN0
        CALL OUTTAB(2)
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL DATAO0(STATE)
          AAAAY0=STATE
          GOTO 10140
10141       GPST=2
            RETURN
10142       STATE=3
          GOTO 10143
10140     GOTO(10142,10141),AAAAY0
10143     IF((STATE.EQ.3))GOTO 10144
            GPST=2
            RETURN
10144   CONTINUE
10139 GOTO 10084
10145   STATE=3
        CALL BEGIN0
        CALL OUTTAB(2)
        CALL OUTSTR(SYMTE0,2)
        CALL OUTCH(160,2)
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL DATAO0(STATE)
          AAAAZ0=STATE
          GOTO 10147
10148       GPST=2
            RETURN
10149       STATE=3
          GOTO 10150
10147     GOTO(10149,10148),AAAAZ0
10150     IF((STATE.EQ.3))GOTO 10151
            GPST=2
            RETURN
10151   CONTINUE
10146 GOTO 10084
10152   STATE=3
        CALL BEGIN0
        CALL OUTTAB(4)
        CALL OUTSTR(SYMTE0,4)
        CALL OUTCH(160,4)
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL EQUIV0(STATE)
          AAABA0=STATE
          GOTO 10154
10155       GPST=2
            RETURN
10156       STATE=3
          GOTO 10157
10154     GOTO(10156,10155),AAABA0
10157     IF((STATE.EQ.3))GOTO 10158
            GPST=2
            RETURN
10158   CONTINUE
10153 GOTO 10084
10159   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL LINKA0(STATE)
          AAABB0=STATE
          GOTO 10161
10162       GPST=2
            RETURN
10163       STATE=3
          GOTO 10164
10161     GOTO(10163,10162),AAABB0
10164     IF((STATE.EQ.3))GOTO 10165
            GPST=2
            RETURN
10165   CONTINUE
10160 GOTO 10084
10166   STATE=3
        CALL BEGIN0
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL LOCAL0(STATE)
          AAABC0=STATE
          GOTO 10168
10169       GPST=2
            RETURN
10170       STATE=3
          GOTO 10171
10168     GOTO(10170,10169),AAABC0
10171     IF((STATE.EQ.3))GOTO 10172
            GPST=2
            RETURN
10172   CONTINUE
10167 GOTO 10084
10173   STATE=3
        CALL BEGIN0
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL PROCE0(STATE)
          AAABD0=STATE
          GOTO 10175
10176       GPST=2
            RETURN
10177       STATE=3
          GOTO 10178
10175     GOTO(10177,10176),AAABD0
10178     IF((STATE.EQ.3))GOTO 10179
            GPST=2
            RETURN
10179   CONTINUE
10174 GOTO 10084
10180   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          STATE=1
          IF((SYMBO0.NE.168))GOTO 10182
            STATE=3
            CALL ENTER0
            CALL GETSYM
            GOTO 10183
10182       CALL SYNERR('Left paren must follow ''define''.')
            STATE=3
10183     IF((STATE.EQ.3))GOTO 10184
            GPST=2
            RETURN
10184   CONTINUE
10181 GOTO 10084
10185   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          STATE=1
          IF((SYMBO0.NE.168))GOTO 10187
            STATE=3
            CALL REMOV0
            CALL GETSYM
            GOTO 10188
10187       CALL SYNERR('Left paren must follow ''undefine''.')
            STATE=3
10188     IF((STATE.EQ.3))GOTO 10189
            GPST=2
            RETURN
10189   CONTINUE
10186 GOTO 10084
10190   STATE=3
        CALL BEGIN0
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL STRDE0(STATE)
          AAABE0=STATE
          GOTO 10192
10193       GPST=2
            RETURN
10192     IF(AAABE0.EQ.2)GOTO 10193
          IF((STATE.EQ.3))GOTO 10194
            GPST=2
            RETURN
10194   CONTINUE
10191 GOTO 10084
10195   STATE=3
        CALL BEGIN0
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL STRTA0(STATE)
          AAABF0=STATE
          GOTO 10197
10198       GPST=2
            RETURN
10197     IF(AAABF0.EQ.2)GOTO 10198
          IF((STATE.EQ.3))GOTO 10199
            GPST=2
            RETURN
10199   CONTINUE
10196 GOTO 10084
10200   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL INCLU0(STATE)
          AAABG0=STATE
          GOTO 10202
10203       GPST=2
            RETURN
10202     IF(AAABG0.EQ.2)GOTO 10203
          IF((STATE.EQ.3))GOTO 10204
            GPST=2
            RETURN
10204   CONTINUE
10201 GOTO 10084
10205   STATE=3
        CALL ENDMO0
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10084
          CALL ENDDE0(STATE)
          AAABH0=STATE
          GOTO 10207
10208       GPST=2
            RETURN
10207     IF(AAABH0.EQ.2)GOTO 10208
          IF((STATE.EQ.3))GOTO 10209
            GPST=2
            RETURN
10209   CONTINUE
10206 GOTO 10084
10072 AAABI0=AAAAO0-1008
      GOTO(10096,10210,10210,10210,10145,10180,10210,10210,10152,10205, 
     *    10210,10210,10210,10085,10210,10210,10210,10210,10200,10159,  
     *   10166,10131,10210,10210,10210,10173,10210,10210,10210,10210,   
     *  10138,10210,10210,10190,10195,10073,10104,10185),AAABI0
10210 CONTINUE
10084 GPST=STATE
      RETURN
10071 GOTO(10074,10086,10097,10116),AAAAN0
      GOTO 10071
      END
      SUBROUTINE INCLU0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER OPEN
      INTEGER FILEN0(200)
      INTEGER AAABJ0
      IF((LEVEL0.LT.5))GOTO 10211
        CALL FATAL0('Includes nested too deeply.')
10211 STATE=1
      IF((SYMBO0.NE.1024))GOTO 10212
        STATE=3
        CALL SCOPY(SYMTE0,1,FILEN0,1)
        CALL GETSYM
10212 IF((STATE.NE.1))GOTO 10213
        IF((SYMBO0.NE.1041))GOTO 10214
          STATE=3
          CALL SCOPY(SYMTE0,1,FILEN0,1)
          CALL GETSYM
10214 CONTINUE
10213 AAABJ0=STATE
      GOTO 10215
10216   CALL SYNERR('Missing file name.')
        STATE=3
      GOTO 10217
10218   LEVEL0=LEVEL0+(1)
        LINEN0(LEVEL0)=0
        INFIL0(LEVEL0)=OPEN(FILEN0,1)
        IF((INFIL0(LEVEL0).NE.-3))GOTO 10217
          CALL CTOC(FILEN0,ERROR0,200)
          CALL SYNERR('Can''t open ''include'' file.')
          LEVEL0=LEVEL0-(1)
10219 GOTO 10217
10215 GOTO(10216,10220,10218),AAABJ0
10220 CONTINUE
10217 GPST=STATE
      RETURN
      END
      SUBROUTINE LINKA0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAABK0
      STATE=1
      IF((SYMBO0.NE.1024))GOTO 10221
        STATE=3
        CALL GETSYM
        GOTO 10222
10221   CALL SYNERR('Identifier required.')
        STATE=3
10222 IF((STATE.NE.3))GOTO 10223
10224     STATE=1
          IF((SYMBO0.NE.172))GOTO 10225
            STATE=3
            CALL GETSYM
10225     IF((STATE.NE.3))GOTO 10226
            STATE=1
            IF((SYMBO0.NE.1024))GOTO 10227
              STATE=3
              CALL GETSYM
              GOTO 10228
10227         CALL SYNERR('Identifier required.')
              STATE=3
10228       IF((STATE.EQ.3))GOTO 10229
              GPST=2
              RETURN
10229     CONTINUE
10226   CONTINUE
        IF((STATE.EQ.3))GOTO 10224
        AAABK0=STATE
        GOTO 10230
10231     STATE=3
        GOTO 10232
10230   IF(AAABK0.EQ.1)GOTO 10231
10232   IF((STATE.EQ.3))GOTO 10233
          GPST=2
          RETURN
10233 CONTINUE
10223 GPST=STATE
      RETURN
      END
      SUBROUTINE LOCAL0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAABL0
      STATE=1
      IF((SYMBO0.NE.1024))GOTO 10234
        STATE=3
        CALL SETUP0
        CALL GETSYM
        GOTO 10235
10234   CALL SYNERR('Identifier required.')
        STATE=3
10235 IF((STATE.NE.3))GOTO 10236
10237     STATE=1
          IF((SYMBO0.NE.172))GOTO 10238
            STATE=3
            CALL GETSYM
10238     IF((STATE.NE.3))GOTO 10239
            STATE=1
            IF((SYMBO0.NE.1024))GOTO 10240
              STATE=3
              CALL SETUP0
              CALL GETSYM
              GOTO 10241
10240         CALL SYNERR('Identifier required.')
              STATE=3
10241       IF((STATE.EQ.3))GOTO 10242
              GPST=2
              RETURN
10242     CONTINUE
10239   CONTINUE
        IF((STATE.EQ.3))GOTO 10237
        AAABL0=STATE
        GOTO 10243
10244     STATE=3
        GOTO 10245
10243   IF(AAABL0.EQ.1)GOTO 10244
10245   IF((STATE.EQ.3))GOTO 10246
          GPST=2
          RETURN
10246 CONTINUE
10236 GPST=STATE
      RETURN
      END
      SUBROUTINE PROCE0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER SKIPL0,I,J
      INTEGER CTOI
      INTEGER HD
      INTEGER AAABM0
      INTEGER AAABN0
      INTEGER AAABO0
      INTEGER AAABP0
      INTEGER AAABQ0
      INTEGER AAABR0
      INTEGER AAABS0
      INTEGER AAABT0
      INTEGER AAABU0
      STATE=1
      IF((SYMBO0.NE.1033))GOTO 10247
        STATE=3
        HD=PROCH0
        IF((MEMAA0(HD+4).NE.0))GOTO 10248
          CALL SYNERR('Procedure defined twice.')
          MEMAA0(HD+4)=1
10248   CALL GETSYM
10247 IF((STATE.NE.1))GOTO 10249
        IF((SYMBO0.NE.1024))GOTO 10250
          STATE=3
          CALL SETUQ0(HD)
          CALL GETSYM
10250 CONTINUE
10249 IF((STATE.NE.1))GOTO 10251
        CALL SETUQ0(HD)
        CALL SYNERR('Procedure name required.')
        STATE=3
10251 IF((STATE.NE.3))GOTO 10252
10253     STATE=1
          IF((SYMBO0.NE.138))GOTO 10254
            STATE=3
            CALL GETSYM
10254   CONTINUE
        IF((STATE.EQ.3))GOTO 10253
        AAABM0=STATE
        GOTO 10255
10256     STATE=3
        GOTO 10257
10255   IF(AAABM0.EQ.1)GOTO 10256
10257   IF((STATE.EQ.3))GOTO 10258
          GPST=2
          RETURN
10258   STATE=1
        IF((SYMBO0.NE.168))GOTO 10259
          STATE=3
          CALL GETSYM
10259   IF((STATE.NE.3))GOTO 10260
          STATE=1
          IF((SYMBO0.NE.1024))GOTO 10261
            STATE=3
            IF((MEMAA0(HD+4).NE.0))GOTO 10262
              CALL ENTEV0(HD)
10262       CALL GETSYM
            GOTO 10263
10261       CALL SYNERR('Identifier required.')
            STATE=3
10263     IF((STATE.EQ.3))GOTO 10264
            GPST=2
            RETURN
10264     CONTINUE
10265       STATE=1
            IF((SYMBO0.NE.172))GOTO 10266
              STATE=3
              CALL GETSYM
10266       IF((STATE.NE.3))GOTO 10267
              STATE=1
              IF((SYMBO0.NE.1024))GOTO 10268
                STATE=3
                IF((MEMAA0(HD+4).NE.0))GOTO 10269
                  CALL ENTEV0(HD)
10269           CALL GETSYM
                GOTO 10270
10268           CALL SYNERR('Identifier required.')
                STATE=3
10270         IF((STATE.EQ.3))GOTO 10271
                GPST=2
                RETURN
10271       CONTINUE
10267     CONTINUE
          IF((STATE.EQ.3))GOTO 10265
          AAABN0=STATE
          GOTO 10272
10273       STATE=3
          GOTO 10274
10272     IF(AAABN0.EQ.1)GOTO 10273
10274     IF((STATE.EQ.3))GOTO 10275
            GPST=2
            RETURN
10275     STATE=1
          IF((SYMBO0.NE.169))GOTO 10276
            STATE=3
            CALL GETSYM
            GOTO 10277
10276       CALL SYNERR('Missing right paren.')
            STATE=3
10277     IF((STATE.EQ.3))GOTO 10278
            GPST=2
            RETURN
10278   CONTINUE
10260   AAABO0=STATE
        GOTO 10279
10280     STATE=3
        GOTO 10281
10279   IF(AAABO0.EQ.1)GOTO 10280
10281   IF((STATE.EQ.3))GOTO 10282
          GPST=2
          RETURN
10282   CONTINUE
10283     STATE=1
          IF((SYMBO0.NE.138))GOTO 10284
            STATE=3
            CALL GETSYM
10284   CONTINUE
        IF((STATE.EQ.3))GOTO 10283
        AAABP0=STATE
        GOTO 10285
10286     STATE=3
        GOTO 10287
10285   IF(AAABP0.EQ.1)GOTO 10286
10287   IF((STATE.EQ.3))GOTO 10288
          GPST=2
          RETURN
10288   STATE=1
        IF((SYMBO0.NE.1035))GOTO 10289
          STATE=3
          CALL GETSYM
10289   IF((STATE.NE.3))GOTO 10290
          STATE=1
          IF((SYMBO0.NE.1032))GOTO 10291
            STATE=3
            I=1
            J=CTOI(SYMTE0,I)
            IF((MEMAA0(HD+4).NE.1))GOTO 10292
            IF((MEMAA0(HD+7).EQ.J))GOTO 10292
              CALL SYNERR('Conflicting proc declaration.')
              GOTO 10293
10292         MEMAA0(HD+7)=J
10293       CALL GETSYM
10291     IF((STATE.EQ.3))GOTO 10294
            GPST=2
            RETURN
10294   CONTINUE
10290   AAABQ0=STATE
        GOTO 10295
10296     STATE=3
        GOTO 10297
10295   IF(AAABQ0.EQ.1)GOTO 10296
10297   IF((STATE.EQ.3))GOTO 10298
          GPST=2
          RETURN
10298   CONTINUE
10299     STATE=1
          IF((SYMBO0.NE.138))GOTO 10300
            STATE=3
            CALL GETSYM
10300   CONTINUE
        IF((STATE.EQ.3))GOTO 10299
        AAABR0=STATE
        GOTO 10301
10302     STATE=3
        GOTO 10303
10301   IF(AAABR0.EQ.1)GOTO 10302
10303   IF((STATE.EQ.3))GOTO 10304
          GPST=2
          RETURN
10304   IF((MEMAA0(HD+4).NE.0))GOTO 10305
          CALL GENPS0(HD)
10305   STATE=1
        IF((SYMBO0.NE.1021))GOTO 10306
          STATE=3
          MEMAA0(HD+4)=1
          CALL GETSYM
10306   IF((STATE.NE.1))GOTO 10307
          IF((SYMBO0.NE.251))GOTO 10308
            STATE=3
            MEMAA0(HD+4)=0
            SKIPL0=0
            CALL OUTGO(SKIPL0)
            CALL GENPT0(HD)
            CALL ENTEW0
            CALL CREAT0(HD)
            BRACE0=BRACE0+(1)
            CALL GETSYM
            GOTO 10309
10308       CALL ENTEW0
            CALL SYNERR('Left brace must follow procedure.')
            STATE=3
10309     IF((STATE.NE.3))GOTO 10310
10311         STATE=1
              IF((SYMBO0.NE.138))GOTO 10312
                STATE=3
                CALL GETSYM
10312       CONTINUE
            IF((STATE.EQ.3))GOTO 10311
            AAABS0=STATE
            GOTO 10313
10314         STATE=3
            GOTO 10315
10313       IF(AAABS0.EQ.1)GOTO 10314
10315       IF((STATE.EQ.3))GOTO 10316
              GPST=2
              RETURN
10316       CONTINUE
10317         CALL RATFO0(STATE)
              AAABT0=STATE
              GOTO 10318
10319           GPST=2
                RETURN
10318         IF(AAABT0.EQ.2)GOTO 10319
            IF((STATE.EQ.3))GOTO 10317
            AAABU0=STATE
            GOTO 10320
10321         STATE=3
            GOTO 10322
10320       IF(AAABU0.EQ.1)GOTO 10321
10322       IF((STATE.EQ.3))GOTO 10323
              GPST=2
              RETURN
10323       STATE=1
            IF((SYMBO0.NE.253))GOTO 10324
              STATE=3
              BRACE0=BRACE0-(1)
              CALL OUTGO(MEMAA0(HD+0))
              CALL OUTNUM(SKIPL0,3)
              CALL EXITS0
              CALL GETSYM
              GOTO 10325
10324         CALL EXITS0
              CALL SYNERR('Missing right brace.')
              STATE=3
10325       IF((STATE.EQ.3))GOTO 10326
              GPST=2
              RETURN
10326     CONTINUE
10310   CONTINUE
10307   IF((STATE.EQ.3))GOTO 10327
          GPST=2
          RETURN
10327 CONTINUE
10252 GPST=STATE
      RETURN
      END
      SUBROUTINE STRDE0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER STRNA0(200)
      INTEGER I
      STATE=1
      IF((SYMBO0.NE.1024))GOTO 10328
        STATE=3
        CALL SCOPY(SYMTE0,1,STRNA0,1)
        CALL GETSYM
        GOTO 10329
10328   CALL SYNERR('Identifier required.')
        STATE=3
10329 IF((STATE.NE.3))GOTO 10330
        STATE=1
        IF((SYMBO0.NE.1041))GOTO 10331
          STATE=3
          CALL GENIN0(STRNA0,SYMLE0+1)
          I=1
          GOTO 10334
10332     I=I+(1)
10334     IF((SYMTE0(I).EQ.0))GOTO 10333
            CALL GENCH0(STRNA0,I,SYMTE0(I))
          GOTO 10332
10333     CALL GENCH0(STRNA0,I,0)
          CALL GENDA0
          CALL GETSYM
          GOTO 10335
10331     CALL SYNERR('String constant required.')
          STATE=3
10335   IF((STATE.EQ.3))GOTO 10336
          GPST=2
          RETURN
10336 CONTINUE
10330 GPST=STATE
      RETURN
      END
      SUBROUTINE STRTA0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER N1(200),N2(200)
      INTEGER SPOS(600)
      INTEGER LN1,LN2,I,NUM
      INTEGER GCTOI
      INTEGER AAABV0
      INTEGER AAABW0
      INTEGER AAABX0
      INTEGER AAABY0
      INTEGER AAABZ0
      INTEGER AAACA0
      INTEGER AAACB0
      INTEGER AAACC0
      INTEGER AAACD0
      INTEGER AAACE0
      INTEGER AAACF0
      INTEGER AAACG0
      GOTO 10347
10337 I=1
      GOTO 10341
10339 I=I+(1)
10341 IF((SYMTE0(I).EQ.0))GOTO 10340
        CALL GENCH0(N2,LN2+1,SYMTE0(I))
        LN2=LN2+(1)
      GOTO 10339
10340 CALL GENCH0(N2,LN2+1,0)
      LN2=LN2+(1)
      GOTO 10342
10343 CALL GENDB0(N2,LN2+1,NUM)
      LN2=LN2+(1)
      GOTO 10345
10346 IF((LN1.GE.600))GOTO 10348
        LN1=LN1+(1)
        SPOS(LN1)=LN2+1
        GOTO 10350
10348   CALL SYNERR('Too many string table elements.')
10349 GOTO 10350
10347 LN1=1
      SPOS(1)=1
      LN2=0
      STATE=1
      IF((SYMBO0.NE.1024))GOTO 10351
        STATE=3
        CALL SCOPY(SYMTE0,1,N1,1)
        CALL GETSYM
        GOTO 10352
10351   N1(1)=0
        CALL SYNERR('Identifier required.')
        STATE=3
10352 IF((STATE.NE.3))GOTO 10353
        STATE=1
        IF((SYMBO0.NE.172))GOTO 10354
          STATE=3
          CALL GETSYM
          GOTO 10355
10354     CALL SYNERR('Comma required.')
          STATE=3
10355   IF((STATE.EQ.3))GOTO 10356
          GPST=2
          RETURN
10356   STATE=1
        IF((SYMBO0.NE.1024))GOTO 10357
          STATE=3
          CALL SCOPY(SYMTE0,1,N2,1)
          CALL GETSYM
          GOTO 10358
10357     N2(1)=0
          CALL SYNERR('Identifier required.')
          STATE=3
10358   IF((STATE.EQ.3))GOTO 10359
          GPST=2
          RETURN
10359   CONTINUE
10360     STATE=1
          IF((SYMBO0.NE.138))GOTO 10361
            STATE=3
            CALL GETSYM
10361   CONTINUE
        IF((STATE.EQ.3))GOTO 10360
        AAABY0=STATE
        GOTO 10362
10363     STATE=3
        GOTO 10364
10362   IF(AAABY0.EQ.1)GOTO 10363
10364   IF((STATE.EQ.3))GOTO 10365
          GPST=2
          RETURN
10365   STATE=1
        IF((SYMBO0.NE.172))GOTO 10366
          STATE=3
          CALL GETSYM
10366   AAABZ0=STATE
        GOTO 10367
10368     STATE=3
        GOTO 10369
10367   IF(AAABZ0.EQ.1)GOTO 10368
10369   IF((STATE.EQ.3))GOTO 10370
          GPST=2
          RETURN
10370   STATE=1
        IF((SYMBO0.NE.175))GOTO 10371
          STATE=3
          CALL GETSYM
10371   AAACA0=STATE
        GOTO 10372
10373     STATE=3
        GOTO 10374
10372   IF(AAACA0.EQ.1)GOTO 10373
10374   IF((STATE.EQ.3))GOTO 10375
          GPST=2
          RETURN
10375   CONTINUE
10376     STATE=1
          IF((SYMBO0.NE.175))GOTO 10377
            STATE=3
            AAABX0=1
            GOTO 10346
10378       CALL GETSYM
10377   CONTINUE
        IF((STATE.EQ.3))GOTO 10376
        AAACB0=STATE
        GOTO 10379
10380     STATE=3
        GOTO 10381
10379   IF(AAACB0.EQ.1)GOTO 10380
10381   IF((STATE.EQ.3))GOTO 10382
          GPST=2
          RETURN
10382   CONTINUE
10383     STATE=1
          IF((SYMBO0.NE.138))GOTO 10384
            STATE=3
            CALL GETSYM
10384   CONTINUE
        IF((STATE.EQ.3))GOTO 10383
        AAACC0=STATE
        GOTO 10385
10386     STATE=3
        GOTO 10387
10385   IF(AAACC0.EQ.1)GOTO 10386
10387   IF((STATE.EQ.3))GOTO 10388
          GPST=2
          RETURN
10388   STATE=1
        IF((SYMBO0.NE.1041))GOTO 10389
          STATE=3
          AAABV0=1
          GOTO 10337
10390     CALL GETSYM
10389   IF((STATE.NE.1))GOTO 10391
          IF((SYMBO0.NE.173))GOTO 10392
            STATE=3
            CALL GETSYM
10392     IF((STATE.NE.3))GOTO 10393
            STATE=1
            IF((SYMBO0.NE.1032))GOTO 10394
              STATE=3
              I=1
              NUM=-GCTOI(SYMTE0,I,10)
              AAABW0=1
              GOTO 10343
10395         CALL GETSYM
10394       IF((STATE.EQ.3))GOTO 10396
              GPST=2
              RETURN
10396     CONTINUE
10393     IF((STATE.NE.1))GOTO 10397
            IF((SYMBO0.NE.186))GOTO 10398
              STATE=3
              CALL GETSYM
10398       IF((STATE.NE.3))GOTO 10399
              STATE=1
              IF((SYMBO0.NE.1032))GOTO 10400
                STATE=3
                I=1
                NUM=GCTOI(SYMTE0,I,8)
                AAABW0=2
                GOTO 10343
10401           CALL GETSYM
10400         IF((STATE.EQ.3))GOTO 10402
                GPST=2
                RETURN
10402       CONTINUE
10399       IF((STATE.NE.1))GOTO 10403
              IF((SYMBO0.NE.1032))GOTO 10404
                STATE=3
                I=1
                NUM=GCTOI(SYMTE0,I,10)
                AAABW0=3
                GOTO 10343
10405           CALL GETSYM
10404       CONTINUE
10403     CONTINUE
10397   CONTINUE
10391   IF((STATE.NE.1))GOTO 10406
          CALL SYNERR('Integer or string required.')
          STATE=3
10406   IF((STATE.EQ.3))GOTO 10407
          GPST=2
          RETURN
10407   CONTINUE
10408     STATE=1
          IF((SYMBO0.NE.172))GOTO 10409
            STATE=3
            CALL GETSYM
10409     IF((STATE.NE.1))GOTO 10410
            IF((SYMBO0.NE.175))GOTO 10411
              STATE=3
              AAABX0=2
              GOTO 10346
10412         CALL GETSYM
10411     CONTINUE
10410     IF((STATE.NE.3))GOTO 10413
10414         STATE=1
              IF((SYMBO0.NE.138))GOTO 10415
                STATE=3
                CALL GETSYM
10415       CONTINUE
            IF((STATE.EQ.3))GOTO 10414
            AAACD0=STATE
            GOTO 10416
10417         STATE=3
            GOTO 10418
10416       IF(AAACD0.EQ.1)GOTO 10417
10418       IF((STATE.EQ.3))GOTO 10419
              GPST=2
              RETURN
10419       CONTINUE
10420         STATE=1
              IF((SYMBO0.NE.175))GOTO 10421
                STATE=3
                AAABX0=3
                GOTO 10346
10422           CALL GETSYM
10421         IF((STATE.NE.3))GOTO 10423
10424             STATE=1
                  IF((SYMBO0.NE.138))GOTO 10425
                    STATE=3
                    CALL GETSYM
10425           CONTINUE
                IF((STATE.EQ.3))GOTO 10424
                AAACE0=STATE
                GOTO 10426
10427             STATE=3
                GOTO 10428
10426           IF(AAACE0.EQ.1)GOTO 10427
10428           IF((STATE.EQ.3))GOTO 10429
                  GPST=2
                  RETURN
10429         CONTINUE
10423       CONTINUE
            IF((STATE.EQ.3))GOTO 10420
            AAACF0=STATE
            GOTO 10430
10431         STATE=3
            GOTO 10432
10430       IF(AAACF0.EQ.1)GOTO 10431
10432       IF((STATE.EQ.3))GOTO 10433
              GPST=2
              RETURN
10433       STATE=1
            IF((SYMBO0.NE.173))GOTO 10434
              STATE=3
              CALL GETSYM
10434       IF((STATE.NE.3))GOTO 10435
              STATE=1
              IF((SYMBO0.NE.1032))GOTO 10436
                STATE=3
                I=1
                NUM=-GCTOI(SYMTE0,I,10)
                AAABW0=4
                GOTO 10343
10437           CALL GETSYM
10436         IF((STATE.EQ.3))GOTO 10438
                GPST=2
                RETURN
10438       CONTINUE
10435       IF((STATE.NE.1))GOTO 10439
              IF((SYMBO0.NE.186))GOTO 10440
                STATE=3
                CALL GETSYM
10440         IF((STATE.NE.3))GOTO 10441
                STATE=1
                IF((SYMBO0.NE.1032))GOTO 10442
                  STATE=3
                  I=1
                  NUM=GCTOI(SYMTE0,I,8)
                  AAABW0=5
                  GOTO 10343
10443             CALL GETSYM
10442           IF((STATE.EQ.3))GOTO 10444
                  GPST=2
                  RETURN
10444         CONTINUE
10441         IF((STATE.NE.1))GOTO 10445
                IF((SYMBO0.NE.1032))GOTO 10446
                  STATE=3
                  I=1
                  NUM=GCTOI(SYMTE0,I,10)
                  AAABW0=6
                  GOTO 10343
10447             CALL GETSYM
10446           IF((STATE.NE.1))GOTO 10448
                  IF((SYMBO0.NE.1041))GOTO 10449
                    STATE=3
                    AAABV0=2
                    GOTO 10337
10450               CALL GETSYM
10449           CONTINUE
10448         CONTINUE
10445       CONTINUE
10439       IF((STATE.NE.1))GOTO 10451
              CALL SYNERR('Integer or string required.')
              STATE=3
10451       IF((STATE.EQ.3))GOTO 10452
              GPST=2
              RETURN
10452     CONTINUE
10413   CONTINUE
        IF((STATE.EQ.3))GOTO 10408
        AAACG0=STATE
        GOTO 10453
10454     STATE=3
        GOTO 10455
10453   IF(AAACG0.EQ.1)GOTO 10454
10455   IF((STATE.EQ.3))GOTO 10456
          GPST=2
          RETURN
10456 CONTINUE
10353 CALL GENDA0
      CALL GENDB0(N1,1,LN1)
      I=1
      GOTO 10459
10457 I=I+(1)
10459 IF((I.GT.LN1))GOTO 10458
        CALL GENDB0(N1,I+1,SPOS(I))
      GOTO 10457
10458 CALL GENDA0
      CALL GENIN0(N1,LN1+1)
      CALL GENIN0(N2,LN2)
      GPST=STATE
      RETURN
10350 GOTO(10378,10412,10422),AAABX0
      GOTO 10350
10345 GOTO(10395,10401,10405,10437,10443,10447),AAABW0
      GOTO 10345
10342 GOTO(10390,10450),AAABV0
      GOTO 10342
      END
      SUBROUTINE ENDDE0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAACH0(4)
      INTEGER AAACI0
      DATA AAACH0/197,206,196,0/
      CALL GENPV0
      DISPA0=0
      CALL OUTTAB(3)
      CALL OUTSTR(AAACH0,3)
      CALL OUTDON(3)
      IF((BRACE0.LE.0))GOTO 10460
        CALL SYNERR('Missing right brace.')
10460 BRACE0=0
      CALL REWIND(OUTFI0(4))
      CALL FCOPY(OUTFI0(4),FORTF0)
      CALL REWIND(OUTFI0(4))
      CALL TRUNC(OUTFI0(4))
      CALL REWIND(OUTFI0(2))
      CALL FCOPY(OUTFI0(2),FORTF0)
      CALL REWIND(OUTFI0(2))
      CALL TRUNC(OUTFI0(2))
      CALL REWIND(OUTFI0(3))
      IF((A$BUF(231-225+1).EQ.0))GOTO 10461
        CALL CLEAO0
        GOTO 10462
10461   CALL FCOPY(OUTFI0(3),FORTF0)
10462 CALL REWIND(OUTFI0(3))
      CALL TRUNC(OUTFI0(3))
      CALL CODEO0(STATE)
      AAACI0=STATE
      GOTO 10463
10464   GPST=2
        RETURN
10463 IF(AAACI0.EQ.2)GOTO 10464
      GPST=STATE
      RETURN
      END
      SUBROUTINE STATE0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAACJ0
      INTEGER AAACK0
      INTEGER AAACL0
      INTEGER AAACM0
      INTEGER AAACN0
      INTEGER AAACO0
      INTEGER AAACP0
      INTEGER AAACQ0
      INTEGER AAACR0
      INTEGER AAACS0
      INTEGER AAACT0
      INTEGER AAACU0
      INTEGER AAACV0
      INTEGER AAACW0
      INTEGER AAACX0
      INTEGER AAACY0
      INTEGER AAACZ0
      INTEGER AAADA0
      INTEGER AAADB0
      STATE=1
      AAACJ0=SYMBO0
      GOTO 10465
10466   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL IFSTMT(STATE)
          AAACK0=STATE
          GOTO 10468
10469       GPST=2
            RETURN
10468     IF(AAACK0.EQ.2)GOTO 10469
          IF((STATE.EQ.3))GOTO 10470
            GPST=2
            RETURN
10470   CONTINUE
10467 GOTO 10471
10472   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL FORST0(STATE)
          AAACL0=STATE
          GOTO 10474
10475       GPST=2
            RETURN
10474     IF(AAACL0.EQ.2)GOTO 10475
          IF((STATE.EQ.3))GOTO 10476
            GPST=2
            RETURN
10476   CONTINUE
10473 GOTO 10471
10477   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL WHILE0(STATE)
          AAACM0=STATE
          GOTO 10479
10480       GPST=2
            RETURN
10479     IF(AAACM0.EQ.2)GOTO 10480
          IF((STATE.EQ.3))GOTO 10481
            GPST=2
            RETURN
10481   CONTINUE
10478 GOTO 10471
10482   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL REPEA0(STATE)
          AAACN0=STATE
          GOTO 10484
10485       GPST=2
            RETURN
10484     IF(AAACN0.EQ.2)GOTO 10485
          IF((STATE.EQ.3))GOTO 10486
            GPST=2
            RETURN
10486   CONTINUE
10483 GOTO 10471
10487   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL CASES0(STATE)
          AAACO0=STATE
          GOTO 10489
10490       GPST=2
            RETURN
10489     IF(AAACO0.EQ.2)GOTO 10490
          IF((STATE.EQ.3))GOTO 10491
            GPST=2
            RETURN
10491   CONTINUE
10488 GOTO 10471
10492   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL SELEC0(STATE)
          AAACP0=STATE
          GOTO 10494
10495       GPST=2
            RETURN
10494     IF(AAACP0.EQ.2)GOTO 10495
          IF((STATE.EQ.3))GOTO 10496
            GPST=2
            RETURN
10496   CONTINUE
10493 GOTO 10471
10497   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL PROCF0(STATE)
          AAACQ0=STATE
          GOTO 10499
10500       GPST=2
            RETURN
10499     IF(AAACQ0.EQ.2)GOTO 10500
          IF((STATE.EQ.3))GOTO 10501
            GPST=2
            RETURN
10501   CONTINUE
10498 GOTO 10471
10502   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL DOSTMT(STATE)
          AAACR0=STATE
          GOTO 10504
10505       GPST=2
            RETURN
10504     IF(AAACR0.EQ.2)GOTO 10505
          IF((STATE.EQ.3))GOTO 10506
            GPST=2
            RETURN
10506   CONTINUE
10503 GOTO 10471
10507   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL COMPO0(STATE)
          AAACS0=STATE
          GOTO 10509
10510       GPST=2
            RETURN
10509     IF(AAACS0.EQ.2)GOTO 10510
          IF((STATE.EQ.3))GOTO 10511
            GPST=2
            RETURN
10511   CONTINUE
10508 GOTO 10471
10512   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL RETUS0(STATE)
          AAACT0=STATE
          GOTO 10514
10515       GPST=2
            RETURN
10514     IF(AAACT0.EQ.2)GOTO 10515
          IF((STATE.EQ.3))GOTO 10516
            GPST=2
            RETURN
10516   CONTINUE
10513 GOTO 10471
10517   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL BREAK0(STATE)
          AAACU0=STATE
          GOTO 10519
10520       GPST=2
            RETURN
10519     IF(AAACU0.EQ.2)GOTO 10520
          IF((STATE.EQ.3))GOTO 10521
            GPST=2
            RETURN
10521   CONTINUE
10518 GOTO 10471
10522   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL NEXTS0(STATE)
          AAACV0=STATE
          GOTO 10524
10525       GPST=2
            RETURN
10524     IF(AAACV0.EQ.2)GOTO 10525
          IF((STATE.EQ.3))GOTO 10526
            GPST=2
            RETURN
10526   CONTINUE
10523 GOTO 10471
10527   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL STOPS0(STATE)
          AAACW0=STATE
          GOTO 10529
10530       GPST=2
            RETURN
10529     IF(AAACW0.EQ.2)GOTO 10530
          IF((STATE.EQ.3))GOTO 10531
            GPST=2
            RETURN
10531   CONTINUE
10528 GOTO 10471
10532   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL GOTOS0(STATE)
          AAACX0=STATE
          GOTO 10534
10535       GPST=2
            RETURN
10534     IF(AAACX0.EQ.2)GOTO 10535
          IF((STATE.EQ.3))GOTO 10536
            GPST=2
            RETURN
10536   CONTINUE
10533 GOTO 10471
10537   STATE=3
        CALL GETSYM
        IF((STATE.NE.3))GOTO 10471
          CALL CALLS0(STATE)
          AAACY0=STATE
          GOTO 10539
10540       GPST=2
            RETURN
10539     IF(AAACY0.EQ.2)GOTO 10540
          IF((STATE.EQ.3))GOTO 10541
            GPST=2
            RETURN
10541   CONTINUE
10538 GOTO 10471
10542   STATE=3
        IF((STATE.NE.3))GOTO 10471
          CALL ESCAP0(STATE)
          AAACZ0=STATE
          GOTO 10544
10545       GPST=2
            RETURN
10544     IF(AAACZ0.EQ.2)GOTO 10545
          IF((STATE.EQ.3))GOTO 10546
            GPST=2
            RETURN
10546   CONTINUE
10543 GOTO 10471
10547   STATE=3
        CALL BEGIP0
      GOTO 10471
10548   STATE=3
        CALL SYNERR('''else'' without matching ''if'' or ''select''.')
        CALL GETSYM
      GOTO 10471
10549   STATE=3
        CALL SYNERR('''until'' without matching ''repeat''.')
        CALL GETSYM
      GOTO 10471
10550   STATE=3
        CALL SYNERR('Unbalanced parentheses.')
        CALL GETSYM
      GOTO 10471
10551   STATE=3
        CALL SYNERR('''when'' without matching ''select''.')
        CALL GETSYM
      GOTO 10471
10552   STATE=3
        CALL SYNERR('''ifany'' without matching ''select''.')
        CALL GETSYM
      GOTO 10471
10465 AAADA0=AAACJ0-164
      GOTO(10542,10553,10553,10553,10550),AAADA0
      IF(AAACJ0.EQ.187)GOTO 10547
      IF(AAACJ0.EQ.251)GOTO 10507
      AAADA0=AAACJ0-1009
      GOTO(10517,10537,10487,10553,10553,10502,10548,10553,10553,10472, 
     *    10553,10553,10553,10532,10553,10552,10466,10553,10553,10553,  
     *   10553,10522,10553,10497,10553,10553,10482,10512,10492,10553,   
     *  10527,10553,10553,10553,10553,10553,10553,10549,10551,10477),AAA
     *DA0
10553 CONTINUE
10471 IF((STATE.NE.1))GOTO 10554
        CALL OTHER0(STATE)
        AAADB0=STATE
        GOTO 10555
10556     GPST=2
          RETURN
10555   IF(AAADB0.EQ.2)GOTO 10556
10554 GPST=STATE
      RETURN
      END
      SUBROUTINE IFSTMT(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER LAB,NEGLAB
      INTEGER LABGEN
      INTEGER AAADC0
      INTEGER AAADD0
      INTEGER AAADE0
      INTEGER AAADF0
      INTEGER AAADG0
      INTEGER AAADH0
      INTEGER AAADI0
      CALL BEGIP0
      NEGLAB=LABGEN(1)
      FALSE0=NEGLAB
      CALL PARBO0(STATE)
      AAADC0=STATE
      GOTO 10557
10558   GPST=2
        RETURN
10559   CALL SYNERR('Missing condition.')
        STATE=3
      GOTO 10560
10561   INDEN0=INDEN0+(1)
      GOTO 10560
10557 GOTO(10559,10558,10561),AAADC0
10560 IF((STATE.NE.3))GOTO 10562
10563     STATE=1
          IF((SYMBO0.NE.138))GOTO 10564
            STATE=3
            CALL GETSYM
10564   CONTINUE
        IF((STATE.EQ.3))GOTO 10563
        AAADD0=STATE
        GOTO 10565
10566     STATE=3
        GOTO 10567
10565   IF(AAADD0.EQ.1)GOTO 10566
10567   IF((STATE.EQ.3))GOTO 10568
          GPST=2
          RETURN
10568   CALL RATFO0(STATE)
        AAADE0=STATE
        GOTO 10569
10570     GPST=2
          RETURN
10571     CALL SYNERR('Improper conditional statement.')
          STATE=3
        GOTO 10572
10573     INDEN0=INDEN0-(1)
        GOTO 10572
10569   GOTO(10571,10570,10573),AAADE0
10572   IF((STATE.EQ.3))GOTO 10574
          GPST=2
          RETURN
10574   STATE=1
        IF((SYMBO0.NE.1016))GOTO 10575
          STATE=3
          INDEN0=INDEN0+(1)
          LAB=0
          CALL OUTGO(LAB)
          CALL OUTNUM(NEGLAB,3)
          CALL GETSYM
          GOTO 10576
10575     CALL OUTNUM(NEGLAB,3)
10576   IF((STATE.NE.3))GOTO 10577
10578       STATE=1
            IF((SYMBO0.NE.138))GOTO 10579
              STATE=3
              CALL GETSYM
10579     CONTINUE
          IF((STATE.EQ.3))GOTO 10578
          AAADF0=STATE
          GOTO 10580
10581       STATE=3
          GOTO 10582
10580     IF(AAADF0.EQ.1)GOTO 10581
10582     IF((STATE.EQ.3))GOTO 10583
            GPST=2
            RETURN
10583     CALL RATFO0(STATE)
          AAADG0=STATE
          GOTO 10584
10585       GPST=2
            RETURN
10586       INDEN0=INDEN0-(1)
            CALL OUTNUM(LAB,3)
          GOTO 10587
10584     AAADH0=AAADG0-1
          GOTO(10585,10586),AAADH0
10587     IF((STATE.EQ.3))GOTO 10588
            GPST=2
            RETURN
10588   CONTINUE
10577   AAADI0=STATE
        GOTO 10589
10590     STATE=3
        GOTO 10591
10589   IF(AAADI0.EQ.1)GOTO 10590
10591   IF((STATE.EQ.3))GOTO 10592
          GPST=2
          RETURN
10592 CONTINUE
10562 GPST=STATE
      RETURN
      END
      SUBROUTINE FORST0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER TESTL0
      INTEGER LABGEN
      INTEGER EXPR
      INTEGER EXPRS0
      INTEGER AAADJ0
      INTEGER AAADK0
      INTEGER AAADL0
      INTEGER AAADM0
      INTEGER AAADN0
      INTEGER AAADO0
      INTEGER AAADP0
      INTEGER AAADQ0
      INTEGER AAADR0
      INTEGER AAADS0
      INTEGER AAADT0
      LOOPS0=LOOPS0+(1)
      IF((LOOPS0.LE.10))GOTO 10593
        CALL FATAL0('loops nested too deeply.')
10593 NEXTL0(LOOPS0)=LABGEN(1)
      BREAL0(LOOPS0)=LABGEN(1)
      TESTL0=LABGEN(1)
      STATE=1
      IF((SYMBO0.NE.168))GOTO 10594
        STATE=3
        CALL GETSYM
        GOTO 10595
10594   CALL SYNERR('Missing ( in for clause.')
        STATE=3
10595 IF((STATE.NE.3))GOTO 10596
10597     STATE=1
          IF((SYMBO0.NE.138))GOTO 10598
            STATE=3
            CALL GETSYM
10598   CONTINUE
        IF((STATE.EQ.3))GOTO 10597
        AAADJ0=STATE
        GOTO 10599
10600     STATE=3
        GOTO 10601
10599   IF(AAADJ0.EQ.1)GOTO 10600
10601   IF((STATE.EQ.3))GOTO 10602
          GPST=2
          RETURN
10602   CALL RATFO0(STATE)
        AAADK0=STATE
        GOTO 10603
10604     GPST=2
          RETURN
10605     CALL SYNERR('Illegal statement in ''for''.')
          STATE=3
        GOTO 10606
10607     CALL OUTGO(TESTL0)
        GOTO 10606
10603   GOTO(10605,10604,10607),AAADK0
10606   IF((STATE.EQ.3))GOTO 10608
          GPST=2
          RETURN
10608   STATE=1
        IF((SYMBO0.NE.187))GOTO 10609
          STATE=3
          EXPR=0
10609   IF((STATE.NE.1))GOTO 10610
          CALL BOOLE0(STATE)
          AAADL0=STATE
          GOTO 10611
10612       GPST=2
            RETURN
10613       EXPR=EXPRS0(EXPR)
          GOTO 10614
10611     AAADM0=AAADL0-1
          GOTO(10612,10613),AAADM0
10614   CONTINUE
10610   AAADN0=STATE
        GOTO 10615
10616     STATE=3
        GOTO 10617
10615   IF(AAADN0.EQ.1)GOTO 10616
10617   IF((STATE.EQ.3))GOTO 10618
          GPST=2
          RETURN
10618   STATE=1
        IF((SYMBO0.NE.187))GOTO 10619
          STATE=3
          CALL OUTNUM(NEXTL0(LOOPS0),3)
          CALL GETSYM
          GOTO 10620
10619     CALL SYNERR('Missing ; after condition.')
          STATE=3
10620   IF((STATE.EQ.3))GOTO 10621
          GPST=2
          RETURN
10621   CONTINUE
10622     STATE=1
          IF((SYMBO0.NE.138))GOTO 10623
            STATE=3
            CALL GETSYM
10623   CONTINUE
        IF((STATE.EQ.3))GOTO 10622
        AAADO0=STATE
        GOTO 10624
10625     STATE=3
        GOTO 10626
10624   IF(AAADO0.EQ.1)GOTO 10625
10626   IF((STATE.EQ.3))GOTO 10627
          GPST=2
          RETURN
10627   STATE=1
        IF((SYMBO0.NE.169))GOTO 10628
          STATE=3
10628   IF((STATE.NE.1))GOTO 10629
          CALL RATFO0(STATE)
          AAADP0=STATE
          GOTO 10630
10631       GPST=2
            RETURN
10630     IF(AAADP0.EQ.2)GOTO 10631
10629   AAADQ0=STATE
        GOTO 10632
10633     STATE=3
        GOTO 10634
10632   IF(AAADQ0.EQ.1)GOTO 10633
10634   IF((STATE.EQ.3))GOTO 10635
          GPST=2
          RETURN
10635   STATE=1
        IF((SYMBO0.NE.169))GOTO 10636
          STATE=3
          CALL OUTNUM(TESTL0,3)
          IF((EXPR.EQ.0))GOTO 10637
            CALL EXPRT0(EXPR)
            CALL GENER0(BREAL0(LOOPS0))
10637     INDEN0=INDEN0+(1)
          CALL GETSYM
          GOTO 10638
10636     CALL SYNERR('Missing ) in for clause.')
          STATE=3
10638   IF((STATE.EQ.3))GOTO 10639
          GPST=2
          RETURN
10639   CONTINUE
10640     STATE=1
          IF((SYMBO0.NE.138))GOTO 10641
            STATE=3
            CALL GETSYM
10641   CONTINUE
        IF((STATE.EQ.3))GOTO 10640
        AAADR0=STATE
        GOTO 10642
10643     STATE=3
        GOTO 10644
10642   IF(AAADR0.EQ.1)GOTO 10643
10644   IF((STATE.EQ.3))GOTO 10645
          GPST=2
          RETURN
10645   CALL RATFO0(STATE)
        AAADS0=STATE
        GOTO 10646
10647     GPST=2
          RETURN
10648     INDEN0=INDEN0-(1)
        GOTO 10649
10646   AAADT0=AAADS0-1
        GOTO(10647,10648),AAADT0
10649   IF((STATE.EQ.3))GOTO 10650
          GPST=2
          RETURN
10650 CONTINUE
10596 CALL OUTGO(NEXTL0(LOOPS0))
      CALL OUTNUM(BREAL0(LOOPS0),3)
      LOOPS0=LOOPS0-(1)
      GPST=STATE
      RETURN
      END
      SUBROUTINE WHILE0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER LABGEN
      INTEGER AAADU0
      INTEGER AAADV0
      INTEGER AAADW0
      INTEGER AAADX0
      CALL BEGIP0
      LOOPS0=LOOPS0+(1)
      IF((LOOPS0.LE.10))GOTO 10651
        CALL FATAL0('loops nested too deeply.')
10651 NEXTL0(LOOPS0)=LABGEN(1)
      BREAL0(LOOPS0)=LABGEN(1)
      FALSE0=BREAL0(LOOPS0)
      CALL OUTNUM(NEXTL0(LOOPS0),3)
      CALL PARBO0(STATE)
      AAADU0=STATE
      GOTO 10652
10653   GPST=2
        RETURN
10654   CALL SYNERR('Missing condition.')
        STATE=3
      GOTO 10655
10656   INDEN0=INDEN0+(1)
      GOTO 10655
10652 GOTO(10654,10653,10656),AAADU0
10655 IF((STATE.NE.3))GOTO 10657
10658     STATE=1
          IF((SYMBO0.NE.138))GOTO 10659
            STATE=3
            CALL GETSYM
10659   CONTINUE
        IF((STATE.EQ.3))GOTO 10658
        AAADV0=STATE
        GOTO 10660
10661     STATE=3
        GOTO 10662
10660   IF(AAADV0.EQ.1)GOTO 10661
10662   IF((STATE.EQ.3))GOTO 10663
          GPST=2
          RETURN
10663   CALL RATFO0(STATE)
        AAADW0=STATE
        GOTO 10664
10665     GPST=2
          RETURN
10666     INDEN0=INDEN0-(1)
        GOTO 10667
10664   AAADX0=AAADW0-1
        GOTO(10665,10666),AAADX0
10667   IF((STATE.EQ.3))GOTO 10668
          GPST=2
          RETURN
10668 CONTINUE
10657 CALL OUTGO(NEXTL0(LOOPS0))
      CALL OUTNUM(BREAL0(LOOPS0),3)
      LOOPS0=LOOPS0-(1)
      GPST=STATE
      RETURN
      END
      SUBROUTINE REPEA0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER LOOPL0
      INTEGER LABGEN
      INTEGER AAADY0
      INTEGER AAADZ0
      INTEGER AAAEA0
      INTEGER AAAEB0
      INTEGER AAAEC0
      INTEGER AAAED0
      CALL BEGIP0
      LOOPS0=LOOPS0+(1)
      IF((LOOPS0.LE.10))GOTO 10669
        CALL FATAL0('loops nested too deeply.')
10669 NEXTL0(LOOPS0)=0
      BREAL0(LOOPS0)=0
      LOOPL0=LABGEN(1)
      CALL OUTNUM(LOOPL0,3)
      INDEN0=INDEN0+(1)
10670   STATE=1
        IF((SYMBO0.NE.138))GOTO 10671
          STATE=3
          CALL GETSYM
10671 CONTINUE
      IF((STATE.EQ.3))GOTO 10670
      AAADY0=STATE
      GOTO 10672
10673   STATE=3
      GOTO 10674
10672 IF(AAADY0.EQ.1)GOTO 10673
10674 IF((STATE.NE.3))GOTO 10675
        CALL RATFO0(STATE)
        AAADZ0=STATE
        GOTO 10676
10677     GPST=2
          RETURN
10678     INDEN0=INDEN0-(1)
          CALL OUTNUM(NEXTL0(LOOPS0),3)
        GOTO 10679
10676   AAAEA0=AAADZ0-1
        GOTO(10677,10678),AAAEA0
10679   IF((STATE.EQ.3))GOTO 10680
          GPST=2
          RETURN
10680   STATE=1
        IF((SYMBO0.NE.1047))GOTO 10681
          STATE=3
          CALL BEGIP0
          FALSE0=LOOPL0
          CALL GETSYM
          GOTO 10682
10681     CALL OUTGO(LOOPL0)
10682   IF((STATE.NE.3))GOTO 10683
10684       STATE=1
            IF((SYMBO0.NE.138))GOTO 10685
              STATE=3
              CALL GETSYM
10685     CONTINUE
          IF((STATE.EQ.3))GOTO 10684
          AAAEB0=STATE
          GOTO 10686
10687       STATE=3
          GOTO 10688
10686     IF(AAAEB0.EQ.1)GOTO 10687
10688     IF((STATE.EQ.3))GOTO 10689
            GPST=2
            RETURN
10689     CALL PARBO0(STATE)
          AAAEC0=STATE
          GOTO 10690
10691       GPST=2
            RETURN
10692       CALL SYNERR('Missing condition.')
            STATE=3
          GOTO 10693
10690     GOTO(10692,10691),AAAEC0
10693     IF((STATE.EQ.3))GOTO 10694
            GPST=2
            RETURN
10694   CONTINUE
10683   AAAED0=STATE
        GOTO 10695
10696     STATE=3
        GOTO 10697
10695   IF(AAAED0.EQ.1)GOTO 10696
10697   IF((STATE.EQ.3))GOTO 10698
          GPST=2
          RETURN
10698 CONTINUE
10675 CALL OUTNUM(BREAL0(LOOPS0),3)
      LOOPS0=LOOPS0-(1)
      GPST=STATE
      RETURN
      END
      SUBROUTINE PARBO0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAEE0
      STATE=1
      IF((SYMBO0.NE.168))GOTO 10699
        STATE=3
        CALL GETSYM
        GOTO 10700
10699   CALL SYNERR('Left parenthesis required.')
        STATE=3
10700 IF((STATE.NE.3))GOTO 10701
        CALL BOOLE0(STATE)
        AAAEE0=STATE
        GOTO 10702
10703     GPST=2
          RETURN
10704     CALL SYNERR('Illegal condition.')
          STATE=3
        GOTO 10705
10702   GOTO(10704,10703),AAAEE0
10705   IF((STATE.EQ.3))GOTO 10706
          GPST=2
          RETURN
10706   STATE=1
        IF((SYMBO0.NE.169))GOTO 10707
          STATE=3
          CALL GETSYM
          GOTO 10708
10707     CALL SYNERR('Missing right parenthesis.')
          STATE=3
10708   IF((STATE.EQ.3))GOTO 10709
          GPST=2
          RETURN
10709 CONTINUE
10701 CALL GENER0(FALSE0)
      GPST=STATE
      RETURN
      END
      SUBROUTINE BOOLE0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAEF0
      INTEGER AAAEG0
      INTEGER AAAEH0
      INTEGER AAAEI0
      INTEGER AAAEJ0
      INTEGER AAAEK0
      INTEGER AAAEL0
      CALL BOOLT0(STATE)
      AAAEF0=STATE
      GOTO 10710
10711   GPST=2
        RETURN
10710 IF(AAAEF0.EQ.2)GOTO 10711
      IF((STATE.NE.3))GOTO 10712
10713     STATE=1
          IF((SYMBO0.NE.138))GOTO 10714
            STATE=3
            CALL GETSYM
10714   CONTINUE
        IF((STATE.EQ.3))GOTO 10713
        AAAEG0=STATE
        GOTO 10715
10716     STATE=3
        GOTO 10717
10715   IF(AAAEG0.EQ.1)GOTO 10716
10717   IF((STATE.EQ.3))GOTO 10718
          GPST=2
          RETURN
10718   CONTINUE
10719     STATE=1
          IF((SYMBO0.NE.1008))GOTO 10720
            STATE=3
            CALL GETSYM
10720     IF((STATE.NE.3))GOTO 10721
            CALL BOOLT0(STATE)
            AAAEH0=STATE
            GOTO 10722
10723         GPST=2
              RETURN
10724         CALL ENTEU0(1008)
            GOTO 10725
10722       AAAEI0=AAAEH0-1
            GOTO(10723,10724),AAAEI0
10725       IF((STATE.EQ.3))GOTO 10726
              GPST=2
              RETURN
10726     CONTINUE
10721     IF((STATE.NE.1))GOTO 10727
            IF((SYMBO0.NE.252))GOTO 10728
              STATE=3
              CALL GETSYM
10728       IF((STATE.NE.3))GOTO 10729
              CALL BOOLT0(STATE)
              AAAEJ0=STATE
              GOTO 10730
10731           GPST=2
                RETURN
10732           IF((A$BUF(243-225+1).EQ.0))GOTO 10733
                  CALL ENTEU0(1008)
                  GOTO 10735
10733             CALL ENTEU0(252)
10734         GOTO 10735
10730         AAAEK0=AAAEJ0-1
              GOTO(10731,10732),AAAEK0
10735         IF((STATE.EQ.3))GOTO 10736
                GPST=2
                RETURN
10736       CONTINUE
10729     CONTINUE
10727   CONTINUE
        IF((STATE.EQ.3))GOTO 10719
        AAAEL0=STATE
        GOTO 10737
10738     STATE=3
        GOTO 10739
10737   IF(AAAEL0.EQ.1)GOTO 10738
10739   IF((STATE.EQ.3))GOTO 10740
          GPST=2
          RETURN
10740 CONTINUE
10712 GPST=STATE
      RETURN
      END
      SUBROUTINE BOOLT0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAEM0
      INTEGER AAAEN0
      INTEGER AAAEO0
      INTEGER AAAEP0
      INTEGER AAAEQ0
      INTEGER AAAER0
      INTEGER AAAES0
      CALL BOOLF0(STATE)
      AAAEM0=STATE
      GOTO 10741
10742   GPST=2
        RETURN
10741 IF(AAAEM0.EQ.2)GOTO 10742
      IF((STATE.NE.3))GOTO 10743
10744     STATE=1
          IF((SYMBO0.NE.138))GOTO 10745
            STATE=3
            CALL GETSYM
10745   CONTINUE
        IF((STATE.EQ.3))GOTO 10744
        AAAEN0=STATE
        GOTO 10746
10747     STATE=3
        GOTO 10748
10746   IF(AAAEN0.EQ.1)GOTO 10747
10748   IF((STATE.EQ.3))GOTO 10749
          GPST=2
          RETURN
10749   CONTINUE
10750     STATE=1
          IF((SYMBO0.NE.1000))GOTO 10751
            STATE=3
            CALL GETSYM
10751     IF((STATE.NE.3))GOTO 10752
            CALL BOOLF0(STATE)
            AAAEO0=STATE
            GOTO 10753
10754         GPST=2
              RETURN
10755         CALL ENTEU0(1000)
            GOTO 10756
10753       AAAEP0=AAAEO0-1
            GOTO(10754,10755),AAAEP0
10756       IF((STATE.EQ.3))GOTO 10757
              GPST=2
              RETURN
10757     CONTINUE
10752     IF((STATE.NE.1))GOTO 10758
            IF((SYMBO0.NE.166))GOTO 10759
              STATE=3
              CALL GETSYM
10759       IF((STATE.NE.3))GOTO 10760
              CALL BOOLF0(STATE)
              AAAEQ0=STATE
              GOTO 10761
10762           GPST=2
                RETURN
10763           IF((A$BUF(243-225+1).EQ.0))GOTO 10764
                  CALL ENTEU0(1000)
                  GOTO 10766
10764             CALL ENTEU0(166)
10765         GOTO 10766
10761         AAAER0=AAAEQ0-1
              GOTO(10762,10763),AAAER0
10766         IF((STATE.EQ.3))GOTO 10767
                GPST=2
                RETURN
10767       CONTINUE
10760     CONTINUE
10758   CONTINUE
        IF((STATE.EQ.3))GOTO 10750
        AAAES0=STATE
        GOTO 10768
10769     STATE=3
        GOTO 10770
10768   IF(AAAES0.EQ.1)GOTO 10769
10770   IF((STATE.EQ.3))GOTO 10771
          GPST=2
          RETURN
10771 CONTINUE
10743 GPST=STATE
      RETURN
      END
      SUBROUTINE BOOLF0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAET0
      INTEGER AAAEU0
      INTEGER AAAEV0
      INTEGER AAAEW0
10772   STATE=1
        IF((SYMBO0.NE.138))GOTO 10773
          STATE=3
          CALL GETSYM
10773 CONTINUE
      IF((STATE.EQ.3))GOTO 10772
      AAAET0=STATE
      GOTO 10774
10775   STATE=3
      GOTO 10776
10774 IF(AAAET0.EQ.1)GOTO 10775
10776 IF((STATE.NE.3))GOTO 10777
        STATE=1
        IF((SYMBO0.NE.1007))GOTO 10778
          STATE=3
          CALL GETSYM
10778   IF((STATE.NE.3))GOTO 10779
          CALL BOOLF0(STATE)
          AAAEU0=STATE
          GOTO 10780
10781       GPST=2
            RETURN
10782       CALL ENTEU0(1007)
          GOTO 10783
10780     AAAEV0=AAAEU0-1
          GOTO(10781,10782),AAAEV0
10783     IF((STATE.EQ.3))GOTO 10784
            GPST=2
            RETURN
10784   CONTINUE
10779   IF((STATE.NE.1))GOTO 10785
          CALL BOOLP0(STATE)
          AAAEW0=STATE
          GOTO 10786
10787       GPST=2
            RETURN
10786     IF(AAAEW0.EQ.2)GOTO 10787
10785   IF((STATE.EQ.3))GOTO 10788
          GPST=2
          RETURN
10788 CONTINUE
10777 GPST=STATE
      RETURN
      END
      SUBROUTINE BOOLP0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAEX0
      INTEGER AAAEY0
      INTEGER AAAEZ0
      INTEGER AAAFA0
      INTEGER AAAFB0
      INTEGER AAAFC0
      INTEGER AAAFD0
      INTEGER AAAFE0
      INTEGER AAAFF0
      INTEGER AAAFG0
      INTEGER AAAFH0
      INTEGER AAAFI0
      INTEGER AAAFJ0
      INTEGER AAAFK0
      INTEGER AAAFL0
      CALL BOOLO0(STATE)
      AAAEX0=STATE
      GOTO 10789
10790   GPST=2
        RETURN
10789 IF(AAAEX0.EQ.2)GOTO 10790
      IF((STATE.NE.3))GOTO 10791
10792     STATE=1
          IF((SYMBO0.NE.138))GOTO 10793
            STATE=3
            CALL GETSYM
10793   CONTINUE
        IF((STATE.EQ.3))GOTO 10792
        AAAEY0=STATE
        GOTO 10794
10795     STATE=3
        GOTO 10796
10794   IF(AAAEY0.EQ.1)GOTO 10795
10796   IF((STATE.EQ.3))GOTO 10797
          GPST=2
          RETURN
10797   CONTINUE
10798     STATE=1
          IF((SYMBO0.NE.1001))GOTO 10799
            STATE=3
            CALL GETSYM
10799     IF((STATE.NE.3))GOTO 10800
            CALL BOOLO0(STATE)
            AAAEZ0=STATE
            GOTO 10801
10802         GPST=2
              RETURN
10803         CALL ENTEU0(1001)
            GOTO 10804
10801       AAAFA0=AAAEZ0-1
            GOTO(10802,10803),AAAFA0
10804       IF((STATE.EQ.3))GOTO 10805
              GPST=2
              RETURN
10805     CONTINUE
10800     IF((STATE.NE.1))GOTO 10806
            IF((SYMBO0.NE.1006))GOTO 10807
              STATE=3
              CALL GETSYM
10807       IF((STATE.NE.3))GOTO 10808
              CALL BOOLO0(STATE)
              AAAFB0=STATE
              GOTO 10809
10810           GPST=2
                RETURN
10811           CALL ENTEU0(1006)
              GOTO 10812
10809         AAAFC0=AAAFB0-1
              GOTO(10810,10811),AAAFC0
10812         IF((STATE.EQ.3))GOTO 10813
                GPST=2
                RETURN
10813       CONTINUE
10808       IF((STATE.NE.1))GOTO 10814
              IF((SYMBO0.NE.1003))GOTO 10815
                STATE=3
                CALL GETSYM
10815         IF((STATE.NE.3))GOTO 10816
                CALL BOOLO0(STATE)
                AAAFD0=STATE
                GOTO 10817
10818             GPST=2
                  RETURN
10819             CALL ENTEU0(1003)
                GOTO 10820
10817           AAAFE0=AAAFD0-1
                GOTO(10818,10819),AAAFE0
10820           IF((STATE.EQ.3))GOTO 10821
                  GPST=2
                  RETURN
10821         CONTINUE
10816         IF((STATE.NE.1))GOTO 10822
                IF((SYMBO0.NE.1005))GOTO 10823
                  STATE=3
                  CALL GETSYM
10823           IF((STATE.NE.3))GOTO 10824
                  CALL BOOLO0(STATE)
                  AAAFF0=STATE
                  GOTO 10825
10826               GPST=2
                    RETURN
10827               CALL ENTEU0(1005)
                  GOTO 10828
10825             AAAFG0=AAAFF0-1
                  GOTO(10826,10827),AAAFG0
10828             IF((STATE.EQ.3))GOTO 10829
                    GPST=2
                    RETURN
10829           CONTINUE
10824           IF((STATE.NE.1))GOTO 10830
                  IF((SYMBO0.NE.1002))GOTO 10831
                    STATE=3
                    CALL GETSYM
10831             IF((STATE.NE.3))GOTO 10832
                    CALL BOOLO0(STATE)
                    AAAFH0=STATE
                    GOTO 10833
10834                 GPST=2
                      RETURN
10835                 CALL ENTEU0(1002)
                    GOTO 10836
10833               AAAFI0=AAAFH0-1
                    GOTO(10834,10835),AAAFI0
10836               IF((STATE.EQ.3))GOTO 10837
                      GPST=2
                      RETURN
10837             CONTINUE
10832             IF((STATE.NE.1))GOTO 10838
                    IF((SYMBO0.NE.1004))GOTO 10839
                      STATE=3
                      CALL GETSYM
10839               IF((STATE.NE.3))GOTO 10840
                      CALL BOOLO0(STATE)
                      AAAFJ0=STATE
                      GOTO 10841
10842                   GPST=2
                        RETURN
10843                   CALL ENTEU0(1004)
                      GOTO 10844
10841                 AAAFK0=AAAFJ0-1
                      GOTO(10842,10843),AAAFK0
10844                 IF((STATE.EQ.3))GOTO 10845
                        GPST=2
                        RETURN
10845               CONTINUE
10840             CONTINUE
10838           CONTINUE
10830         CONTINUE
10822       CONTINUE
10814     CONTINUE
10806   CONTINUE
        IF((STATE.EQ.3))GOTO 10798
        AAAFL0=STATE
        GOTO 10846
10847     STATE=3
        GOTO 10848
10846   IF(AAAFL0.EQ.1)GOTO 10847
10848   IF((STATE.EQ.3))GOTO 10849
          GPST=2
          RETURN
10849 CONTINUE
10791 GPST=STATE
      RETURN
      END
      SUBROUTINE BOOLO0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAFM0
      INTEGER AAAFN0
      INTEGER AAAFO0
      INTEGER AAAFP0
10850   STATE=1
        IF((SYMBO0.NE.138))GOTO 10851
          STATE=3
          CALL GETSYM
10851 CONTINUE
      IF((STATE.EQ.3))GOTO 10850
      AAAFM0=STATE
      GOTO 10852
10853   STATE=3
      GOTO 10854
10852 IF(AAAFM0.EQ.1)GOTO 10853
10854 IF((STATE.NE.3))GOTO 10855
        STATE=1
        IF((SYMBO0.NE.168))GOTO 10856
          STATE=3
          CALL GETSYM
10856   IF((STATE.NE.3))GOTO 10857
          CALL BOOLE0(STATE)
          AAAFN0=STATE
          GOTO 10858
10859       GPST=2
            RETURN
10860       CALL SYNERR('Improper Boolean expression.')
            STATE=3
          GOTO 10861
10858     GOTO(10860,10859),AAAFN0
10861     IF((STATE.EQ.3))GOTO 10862
            GPST=2
            RETURN
10862     CONTINUE
10863       STATE=1
            IF((SYMBO0.NE.138))GOTO 10864
              STATE=3
              CALL GETSYM
10864     CONTINUE
          IF((STATE.EQ.3))GOTO 10863
          AAAFO0=STATE
          GOTO 10865
10866       STATE=3
          GOTO 10867
10865     IF(AAAFO0.EQ.1)GOTO 10866
10867     IF((STATE.EQ.3))GOTO 10868
            GPST=2
            RETURN
10868     STATE=1
          IF((SYMBO0.NE.169))GOTO 10869
            STATE=3
            CALL GETSYM
            CALL CHECK0
            GOTO 10870
10869       CALL SYNERR('Missing right parenthesis.')
            STATE=3
10870     IF((STATE.EQ.3))GOTO 10871
            GPST=2
            RETURN
10871   CONTINUE
10857   IF((STATE.NE.1))GOTO 10872
          CALL SIMPL0(STATE)
          AAAFP0=STATE
          GOTO 10873
10874       GPST=2
            RETURN
10875       CALL SYNERR('Improper Boolean expression.')
            STATE=3
          GOTO 10876
10873     GOTO(10875,10874),AAAFP0
10876   CONTINUE
10872   IF((STATE.EQ.3))GOTO 10877
          GPST=2
          RETURN
10877 CONTINUE
10855 GPST=STATE
      RETURN
      END
      SUBROUTINE SELEC0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER INTSE0,SC,L,OUTLAB,TESTL0
      INTEGER SLAB(256),STEXT(256)
      INTEGER STYPE(256)
      INTEGER LABGEN
      INTEGER TEMPV0(10)
      INTEGER P
      INTEGER EXPRS0
      INTEGER AAAFQ0
      INTEGER AAAFR0
      INTEGER AAAFS0
      INTEGER AAAFT0
      INTEGER AAAFU0
      INTEGER AAAFV0
      INTEGER AAAFW0
      INTEGER AAAFX0
      INTEGER AAAFY0
      INTEGER AAAFZ0
      INTEGER AAAGA0
      INTEGER AAAGB0
      INTEGER AAAGC0
      INTEGER AAAGD0
      INTEGER AAAGE0
      INTEGER AAAGF0
      INTEGER AAAGG0
      CALL BEGIP0
      SC=0
      OUTLAB=0
      TESTL0=LABGEN(1)
      STATE=1
      IF((SYMBO0.NE.168))GOTO 10878
        STATE=3
        INTSE0=1
        CALL VARGEN(TEMPV0)
        CALL GENIN0(TEMPV0,0)
        CALL OUTTAB(3)
        CALL OUTSTR(TEMPV0,3)
        CALL OUTCH(189,3)
        CALL GETSYM
        GOTO 10879
10878   INTSE0=0
        TEMPV0(1)=0
10879 IF((STATE.NE.3))GOTO 10880
        CALL SIMPL0(STATE)
        AAAFQ0=STATE
        GOTO 10881
10882     GPST=2
          RETURN
10883     CALL SYNERR('Illegal expression.')
          STATE=3
        GOTO 10884
10885     CALL GENEX0(EXPRS0(P))
          CALL OUTDON(3)
        GOTO 10884
10881   GOTO(10883,10882,10885),AAAFQ0
10884   IF((STATE.EQ.3))GOTO 10886
          GPST=2
          RETURN
10886   STATE=1
        IF((SYMBO0.NE.169))GOTO 10887
          STATE=3
          CALL GETSYM
          GOTO 10888
10887     CALL SYNERR('Missing right parenthesis.')
          STATE=3
10888   IF((STATE.EQ.3))GOTO 10889
          GPST=2
          RETURN
10889 CONTINUE
10880 AAAFR0=STATE
      GOTO 10890
10891   STATE=3
        CALL OUTGO(TESTL0)
      GOTO 10892
10893   CALL OUTGO(TESTL0)
      GOTO 10892
10890 GOTO(10891,10894,10893),AAAFR0
10894 CONTINUE
10892 IF((STATE.NE.3))GOTO 10895
10896     STATE=1
          IF((SYMBO0.NE.138))GOTO 10897
            STATE=3
            CALL GETSYM
10897   CONTINUE
        IF((STATE.EQ.3))GOTO 10896
        AAAFS0=STATE
        GOTO 10898
10899     STATE=3
        GOTO 10900
10898   IF(AAAFS0.EQ.1)GOTO 10899
10900   IF((STATE.EQ.3))GOTO 10901
          GPST=2
          RETURN
10901   CONTINUE
10902     STATE=1
          IF((SYMBO0.NE.1048))GOTO 10903
            STATE=3
            L=LABGEN(1)
            CALL OUTNUM(L,3)
            CALL GETSYM
10903     IF((STATE.NE.3))GOTO 10904
            STATE=1
            IF((SYMBO0.NE.168))GOTO 10905
              STATE=3
              CALL GETSYM
              GOTO 10906
10905         CALL SYNERR('Missing left paren after ''when''.')
              STATE=3
10906       IF((STATE.EQ.3))GOTO 10907
              GPST=2
              RETURN
10907       CALL BOOLE0(STATE)
            AAAFT0=STATE
            GOTO 10908
10909         GPST=2
              RETURN
10910         CALL SYNERR('Illegal expression.')
              STATE=3
            GOTO 10911
10912         IF((SC.LT.256))GOTO 10913
                CALL FATAL0('Too many ''select'' alternatives.')
10913         SC=SC+(1)
              SLAB(SC)=L
              STEXT(SC)=EXPRS0(P)
              IF((INTSE0.NE.1))GOTO 10914
                CALL SETUR0(STEXT(SC),STYPE(SC),TEMPV0)
                GOTO 10911
10914           STYPE(SC)=1024
10915       GOTO 10911
10908       GOTO(10910,10909,10912),AAAFT0
10911       IF((STATE.EQ.3))GOTO 10916
              GPST=2
              RETURN
10916       CONTINUE
10917         STATE=1
              IF((SYMBO0.NE.138))GOTO 10918
                STATE=3
                CALL GETSYM
10918       CONTINUE
            IF((STATE.EQ.3))GOTO 10917
            AAAFU0=STATE
            GOTO 10919
10920         STATE=3
            GOTO 10921
10919       IF(AAAFU0.EQ.1)GOTO 10920
10921       IF((STATE.EQ.3))GOTO 10922
              GPST=2
              RETURN
10922       CONTINUE
10923         STATE=1
              IF((SYMBO0.NE.172))GOTO 10924
                STATE=3
                CALL GETSYM
10924         IF((STATE.NE.3))GOTO 10925
                CALL BOOLE0(STATE)
                AAAFV0=STATE
                GOTO 10926
10927             GPST=2
                  RETURN
10928             CALL SYNERR('Illegal expression.')
                  STATE=3
                GOTO 10929
10930             IF((SC.LT.256))GOTO 10931
                    CALL FATAL0('Too many SELECT alternatives.')
10931             SC=SC+(1)
                  SLAB(SC)=L
                  STEXT(SC)=EXPRS0(P)
                  IF((INTSE0.NE.1))GOTO 10932
                    CALL SETUR0(STEXT(SC),STYPE(SC),TEMPV0)
                    GOTO 10929
10932               STYPE(SC)=1024
10933           GOTO 10929
10926           GOTO(10928,10927,10930),AAAFV0
10929           IF((STATE.EQ.3))GOTO 10934
                  GPST=2
                  RETURN
10934         CONTINUE
10925       CONTINUE
            IF((STATE.EQ.3))GOTO 10923
            AAAFW0=STATE
            GOTO 10935
10936         STATE=3
            GOTO 10937
10935       IF(AAAFW0.EQ.1)GOTO 10936
10937       IF((STATE.EQ.3))GOTO 10938
              GPST=2
              RETURN
10938       STATE=1
            IF((SYMBO0.NE.169))GOTO 10939
              STATE=3
              INDEN0=INDEN0+(1)
              CALL GETSYM
              GOTO 10940
10939         CALL SYNERR('Missing right parenthesis.')
              STATE=3
10940       IF((STATE.EQ.3))GOTO 10941
              GPST=2
              RETURN
10941       CONTINUE
10942         STATE=1
              IF((SYMBO0.NE.138))GOTO 10943
                STATE=3
                CALL GETSYM
10943       CONTINUE
            IF((STATE.EQ.3))GOTO 10942
            AAAFX0=STATE
            GOTO 10944
10945         STATE=3
            GOTO 10946
10944       IF(AAAFX0.EQ.1)GOTO 10945
10946       IF((STATE.EQ.3))GOTO 10947
              GPST=2
              RETURN
10947       CALL RATFO0(STATE)
            AAAFY0=STATE
            GOTO 10948
10949         GPST=2
              RETURN
10950         CALL SYNERR('Illegal statement.')
              STATE=3
            GOTO 10951
10952         INDEN0=INDEN0-(1)
              CALL OUTGO(OUTLAB)
            GOTO 10951
10948       GOTO(10950,10949,10952),AAAFY0
10951       IF((STATE.EQ.3))GOTO 10953
              GPST=2
              RETURN
10953     CONTINUE
10904   CONTINUE
        IF((STATE.EQ.3))GOTO 10902
        AAAFZ0=STATE
        GOTO 10954
10955     STATE=3
        GOTO 10956
10954   IF(AAAFZ0.EQ.1)GOTO 10955
10956   IF((STATE.EQ.3))GOTO 10957
          GPST=2
          RETURN
10957   STATE=1
        IF((SYMBO0.NE.1025))GOTO 10958
          STATE=3
          CALL OUTNUM(OUTLAB,3)
          OUTLAB=0
          INDEN0=INDEN0+(1)
          CALL GETSYM
10958   IF((STATE.NE.3))GOTO 10959
10960       STATE=1
            IF((SYMBO0.NE.138))GOTO 10961
              STATE=3
              CALL GETSYM
10961     CONTINUE
          IF((STATE.EQ.3))GOTO 10960
          AAAGA0=STATE
          GOTO 10962
10963       STATE=3
          GOTO 10964
10962     IF(AAAGA0.EQ.1)GOTO 10963
10964     IF((STATE.EQ.3))GOTO 10965
            GPST=2
            RETURN
10965     CALL RATFO0(STATE)
          AAAGB0=STATE
          GOTO 10966
10967       GPST=2
            RETURN
10968       CALL SYNERR('Illegal statement after ''ifany''.')
          GOTO 10969
10970       INDEN0=INDEN0-(1)
            CALL OUTGO(OUTLAB)
          GOTO 10969
10966     GOTO(10968,10967,10970),AAAGB0
10969     IF((STATE.EQ.3))GOTO 10971
            GPST=2
            RETURN
10971   CONTINUE
10959   AAAGC0=STATE
        GOTO 10972
10973     STATE=3
        GOTO 10974
10972   IF(AAAGC0.EQ.1)GOTO 10973
10974   IF((STATE.EQ.3))GOTO 10975
          GPST=2
          RETURN
10975   CONTINUE
10976     STATE=1
          IF((SYMBO0.NE.138))GOTO 10977
            STATE=3
            CALL GETSYM
10977   CONTINUE
        IF((STATE.EQ.3))GOTO 10976
        AAAGD0=STATE
        GOTO 10978
10979     STATE=3
        GOTO 10980
10978   IF(AAAGD0.EQ.1)GOTO 10979
10980   IF((STATE.EQ.3))GOTO 10981
          GPST=2
          RETURN
10981   CALL OUTNUM(TESTL0,3)
        CALL GENSE0(SC,SLAB,STEXT,STYPE,TEMPV0)
        STATE=1
        IF((SYMBO0.NE.1016))GOTO 10982
          STATE=3
          INDEN0=INDEN0+(1)
          CALL GETSYM
10982   IF((STATE.NE.3))GOTO 10983
10984       STATE=1
            IF((SYMBO0.NE.138))GOTO 10985
              STATE=3
              CALL GETSYM
10985     CONTINUE
          IF((STATE.EQ.3))GOTO 10984
          AAAGE0=STATE
          GOTO 10986
10987       STATE=3
          GOTO 10988
10986     IF(AAAGE0.EQ.1)GOTO 10987
10988     IF((STATE.EQ.3))GOTO 10989
            GPST=2
            RETURN
10989     CALL RATFO0(STATE)
          AAAGF0=STATE
          GOTO 10990
10991       GPST=2
            RETURN
10992       CALL SYNERR('Illegal statement.')
            STATE=3
          GOTO 10993
10994       INDEN0=INDEN0-(1)
          GOTO 10993
10990     GOTO(10992,10991,10994),AAAGF0
10993     IF((STATE.EQ.3))GOTO 10995
            GPST=2
            RETURN
10995   CONTINUE
10983   AAAGG0=STATE
        GOTO 10996
10997     STATE=3
        GOTO 10998
10996   IF(AAAGG0.EQ.1)GOTO 10997
10998   IF((STATE.EQ.3))GOTO 10999
          GPST=2
          RETURN
10999 CONTINUE
10895 CALL OUTNUM(OUTLAB,3)
      GPST=STATE
      RETURN
      END
      SUBROUTINE PROCF0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER HD,P
      INTEGER AAAGH0
      INTEGER AAAGI0
      INTEGER AAAGJ0
      INTEGER AAAGK0
      CALL BEGIP0
      HD=PROCH0
      P=MEMAA0(HD+3)
      STATE=1
      IF((SYMBO0.NE.168))GOTO 11000
        STATE=3
        CALL GETSYM
11000 IF((STATE.NE.3))GOTO 11001
        CALL SIMPL0(STATE)
        AAAGH0=STATE
        GOTO 11002
11003     GPST=2
          RETURN
11004     CALL SYNERR('Expression required.')
          STATE=3
        GOTO 11005
11006     CALL GENPA0(P)
        GOTO 11005
11002   GOTO(11004,11003,11006),AAAGH0
11005   IF((STATE.EQ.3))GOTO 11007
          GPST=2
          RETURN
11007   CONTINUE
11008     STATE=1
          IF((SYMBO0.NE.172))GOTO 11009
            STATE=3
            CALL GETSYM
11009     IF((STATE.NE.3))GOTO 11010
            CALL SIMPL0(STATE)
            AAAGI0=STATE
            GOTO 11011
11012         GPST=2
              RETURN
11013         CALL SYNERR('Expression required.')
              STATE=3
            GOTO 11014
11015         CALL GENPA0(P)
            GOTO 11014
11011       GOTO(11013,11012,11015),AAAGI0
11014       IF((STATE.EQ.3))GOTO 11016
              GPST=2
              RETURN
11016     CONTINUE
11010   CONTINUE
        IF((STATE.EQ.3))GOTO 11008
        AAAGJ0=STATE
        GOTO 11017
11018     STATE=3
        GOTO 11019
11017   IF(AAAGJ0.EQ.1)GOTO 11018
11019   IF((STATE.EQ.3))GOTO 11020
          GPST=2
          RETURN
11020   STATE=1
        IF((SYMBO0.NE.169))GOTO 11021
          STATE=3
          CALL GETSYM
          GOTO 11022
11021     CALL SYNERR('Missing right paren.')
          STATE=3
11022   IF((STATE.EQ.3))GOTO 11023
          GPST=2
          RETURN
11023 CONTINUE
11001 AAAGK0=STATE
      GOTO 11024
11025   STATE=3
      GOTO 11026
11024 IF(AAAGK0.EQ.1)GOTO 11025
11026 IF((P.EQ.0))GOTO 11027
        CALL SYNERR('Too many parameters specified.')
11027 CALL GENPR0(HD)
      GPST=STATE
      RETURN
      END
      SUBROUTINE CASES0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER RANGE0,START0,NUMST0
      INTEGER ESCLAB,I
      INTEGER LABGEN
      INTEGER CASEV0(200)
      INTEGER AAAGL0
      INTEGER AAAGM0
      INTEGER AAAGN0
      INTEGER AAAGO0
      INTEGER AAAGP0
      INTEGER AAAGQ0(6)
      INTEGER AAAGR0
      INTEGER AAAGS0
      INTEGER AAAGT0
      INTEGER AAAGU0
      INTEGER AAAGV0
      DATA AAAGQ0/199,207,212,207,168,0/
      CALL BEGIP0
      STATE=1
      IF((SYMBO0.NE.1024))GOTO 11028
        STATE=3
        CALL SCOPY(SYMTE0,1,CASEV0,1)
        RANGE0=LABGEN(1)
        ESCLAB=LABGEN(1)
        CALL OUTGO(RANGE0)
        START0=LABGEN(100)-1
        NUMST0=0
        CALL GETSYM
        GOTO 11029
11028   CALL SYNERR('Missing variable after case.')
        STATE=3
11029 IF((STATE.NE.3))GOTO 11030
11031     STATE=1
          IF((SYMBO0.NE.138))GOTO 11032
            STATE=3
            CALL GETSYM
11032   CONTINUE
        IF((STATE.EQ.3))GOTO 11031
        AAAGL0=STATE
        GOTO 11033
11034     STATE=3
        GOTO 11035
11033   IF(AAAGL0.EQ.1)GOTO 11034
11035   IF((STATE.EQ.3))GOTO 11036
          GPST=2
          RETURN
11036   STATE=1
        IF((SYMBO0.NE.251))GOTO 11037
          STATE=3
          BRACE0=BRACE0+(1)
          INDEN0=INDEN0+(1)
          CALL GETSYM
          GOTO 11038
11037     CALL SYNERR('Expected compound statement.')
          STATE=3
11038   IF((STATE.EQ.3))GOTO 11039
          GPST=2
          RETURN
11039   CONTINUE
11040     STATE=1
          IF((SYMBO0.NE.138))GOTO 11041
            STATE=3
            CALL GETSYM
11041   CONTINUE
        IF((STATE.EQ.3))GOTO 11040
        AAAGM0=STATE
        GOTO 11042
11043     STATE=3
        GOTO 11044
11042   IF(AAAGM0.EQ.1)GOTO 11043
11044   IF((STATE.EQ.3))GOTO 11045
          GPST=2
          RETURN
11045   CONTINUE
11046     CALL OUTNUM(START0+NUMST0+1,3)
          CALL RATFO0(STATE)
          AAAGN0=STATE
          GOTO 11047
11048       GPST=2
            RETURN
11049       CALL OUTGO(ESCLAB)
            NUMST0=NUMST0+(1)
          GOTO 11050
11047     AAAGO0=AAAGN0-1
          GOTO(11048,11049),AAAGO0
11050   CONTINUE
        IF((STATE.EQ.3))GOTO 11046
        AAAGP0=STATE
        GOTO 11051
11052     STATE=3
        GOTO 11053
11051   IF(AAAGP0.EQ.1)GOTO 11052
11053   IF((STATE.EQ.3))GOTO 11054
          GPST=2
          RETURN
11054   STATE=1
        IF((SYMBO0.NE.253))GOTO 11055
          STATE=3
          INDEN0=INDEN0-(1)
          BRACE0=BRACE0-(1)
          CALL OUTNUM(RANGE0,3)
          CALL OUTTAB(3)
          CALL OUTSTR(AAAGQ0,3)
          I=1
          GOTO 11058
11056     I=I+(1)
11058     IF((I.GT.NUMST0))GOTO 11057
            CALL OUTGO0(START0+I)
            IF((I.GE.NUMST0))GOTO 11056
              CALL OUTCH(172,3)
11059     GOTO 11056
11057     CALL OUTCH(169,3)
          CALL OUTCH(172,3)
          CALL OUTSTR(CASEV0,3)
          CALL OUTDON(3)
          CALL GETSYM
11055   IF((STATE.EQ.3))GOTO 11060
          GPST=2
          RETURN
11060   CONTINUE
11061     STATE=1
          IF((SYMBO0.NE.138))GOTO 11062
            STATE=3
            CALL GETSYM
11062   CONTINUE
        IF((STATE.EQ.3))GOTO 11061
        AAAGR0=STATE
        GOTO 11063
11064     STATE=3
        GOTO 11065
11063   IF(AAAGR0.EQ.1)GOTO 11064
11065   IF((STATE.EQ.3))GOTO 11066
          GPST=2
          RETURN
11066   STATE=1
        IF((SYMBO0.NE.1016))GOTO 11067
          STATE=3
          INDEN0=INDEN0+(1)
          CALL GETSYM
          GOTO 11068
11067     CALL OUTNUM(ESCLAB,3)
11068   IF((STATE.NE.3))GOTO 11069
11070       STATE=1
            IF((SYMBO0.NE.138))GOTO 11071
              STATE=3
              CALL GETSYM
11071     CONTINUE
          IF((STATE.EQ.3))GOTO 11070
          AAAGS0=STATE
          GOTO 11072
11073       STATE=3
          GOTO 11074
11072     IF(AAAGS0.EQ.1)GOTO 11073
11074     IF((STATE.EQ.3))GOTO 11075
            GPST=2
            RETURN
11075     CALL RATFO0(STATE)
          AAAGT0=STATE
          GOTO 11076
11077       GPST=2
            RETURN
11078       INDEN0=INDEN0-(1)
            CALL OUTNUM(ESCLAB,3)
          GOTO 11079
11076     AAAGU0=AAAGT0-1
          GOTO(11077,11078),AAAGU0
11079     IF((STATE.EQ.3))GOTO 11080
            GPST=2
            RETURN
11080   CONTINUE
11069   AAAGV0=STATE
        GOTO 11081
11082     STATE=3
        GOTO 11083
11081   IF(AAAGV0.EQ.1)GOTO 11082
11083   IF((STATE.EQ.3))GOTO 11084
          GPST=2
          RETURN
11084 CONTINUE
11030 GPST=STATE
      RETURN
      END
      SUBROUTINE DOSTMT(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER LABGEN
      INTEGER AAAGW0(4)
      INTEGER AAAGX0
      INTEGER AAAGY0
      INTEGER AAAGZ0
      INTEGER AAAHA0
      INTEGER AAAHB0
      DATA AAAGW0/196,207,160,0/
      CALL BEGIP0
      LOOPS0=LOOPS0+(1)
      IF((LOOPS0.LE.10))GOTO 11085
        CALL FATAL0('loops nested too deeply.')
11085 NEXTL0(LOOPS0)=LABGEN(1)
      BREAL0(LOOPS0)=LABGEN(1)
      CALL OUTTAB(3)
      CALL OUTSTR(AAAGW0,3)
      CALL OUTNUM(NEXTL0(LOOPS0),3)
      CALL OUTCH(160,3)
      CALL CODEO0(STATE)
      AAAGX0=STATE
      GOTO 11086
11087   GPST=2
        RETURN
11088   STATE=3
      GOTO 11089
11090   INDEN0=INDEN0+(1)
      GOTO 11089
11086 GOTO(11088,11087,11090),AAAGX0
11089 IF((STATE.NE.3))GOTO 11091
        STATE=1
        IF((SYMBO0.NE.187))GOTO 11092
          STATE=3
          CALL GETSYM
11092   AAAGY0=STATE
        GOTO 11093
11094     STATE=3
        GOTO 11095
11093   IF(AAAGY0.EQ.1)GOTO 11094
11095   IF((STATE.EQ.3))GOTO 11096
          GPST=2
          RETURN
11096   CONTINUE
11097     STATE=1
          IF((SYMBO0.NE.138))GOTO 11098
            STATE=3
            CALL GETSYM
11098   CONTINUE
        IF((STATE.EQ.3))GOTO 11097
        AAAGZ0=STATE
        GOTO 11099
11100     STATE=3
        GOTO 11101
11099   IF(AAAGZ0.EQ.1)GOTO 11100
11101   IF((STATE.EQ.3))GOTO 11102
          GPST=2
          RETURN
11102   CALL RATFO0(STATE)
        AAAHA0=STATE
        GOTO 11103
11104     GPST=2
          RETURN
11105     CALL OUTNUM(NEXTL0(LOOPS0),3)
          INDEN0=INDEN0-(1)
          CALL OUTNUM(BREAL0(LOOPS0),3)
          LOOPS0=LOOPS0-(1)
        GOTO 11106
11103   AAAHB0=AAAHA0-1
        GOTO(11104,11105),AAAHB0
11106   IF((STATE.EQ.3))GOTO 11107
          GPST=2
          RETURN
11107 CONTINUE
11091 GPST=STATE
      RETURN
      END
      SUBROUTINE COMPO0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAHC0
      INTEGER AAAHD0
      INTEGER AAAHE0
      BRACE0=BRACE0+(1)
      CALL ENTEW0
11108   STATE=1
        IF((SYMBO0.NE.138))GOTO 11109
          STATE=3
          CALL GETSYM
11109 CONTINUE
      IF((STATE.EQ.3))GOTO 11108
      AAAHC0=STATE
      GOTO 11110
11111   STATE=3
      GOTO 11112
11110 IF(AAAHC0.EQ.1)GOTO 11111
11112 IF((STATE.NE.3))GOTO 11113
11114     CALL RATFO0(STATE)
          AAAHD0=STATE
          GOTO 11115
11116       GPST=2
            RETURN
11115     IF(AAAHD0.EQ.2)GOTO 11116
        IF((STATE.EQ.3))GOTO 11114
        AAAHE0=STATE
        GOTO 11117
11118     STATE=3
        GOTO 11119
11117   IF(AAAHE0.EQ.1)GOTO 11118
11119   IF((STATE.EQ.3))GOTO 11120
          GPST=2
          RETURN
11120   STATE=1
        IF((SYMBO0.NE.253))GOTO 11121
          STATE=3
          CALL EXITS0
          BRACE0=BRACE0-(1)
          CALL GETSYM
          GOTO 11122
11121     CALL SYNERR('Missing right brace.')
          STATE=3
11122   IF((STATE.EQ.3))GOTO 11123
          GPST=2
          RETURN
11123 CONTINUE
11113 GPST=STATE
      RETURN
      END
      SUBROUTINE RETUS0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAHF0(7)
      INTEGER AAAHG0
      INTEGER AAAHH0(7)
      INTEGER AAAHI0
      INTEGER AAAHJ0
      DATA AAAHF0/210,197,212,213,210,206,0/
      DATA AAAHH0/210,197,212,213,210,206,0/
      CALL BEGIP0
      CALL RETUR0
      STATE=1
      IF((SYMBO0.NE.168))GOTO 11124
        STATE=3
        CALL OUTTAB(3)
        CALL OUTSTR(MODUL0,3)
        CALL OUTCH(189,3)
        CALL GETSYM
        GOTO 11125
11124   CALL OUTTAB(3)
        CALL OUTSTR(AAAHF0,3)
11125 IF((STATE.NE.3))GOTO 11126
        CALL CODEO0(STATE)
        AAAHG0=STATE
        GOTO 11127
11128     GPST=2
          RETURN
11129     STATE=3
        GOTO 11130
11127   GOTO(11129,11128),AAAHG0
11130   IF((STATE.EQ.3))GOTO 11131
          GPST=2
          RETURN
11131   STATE=1
        IF((SYMBO0.NE.169))GOTO 11132
          STATE=3
          CALL OUTTAB(3)
          CALL OUTSTR(AAAHH0,3)
          CALL GETSYM
          GOTO 11133
11132     CALL SYNERR('Missing right parenthesis.')
          STATE=3
11133   IF((STATE.EQ.3))GOTO 11134
          GPST=2
          RETURN
11134 CONTINUE
11126 AAAHI0=STATE
      GOTO 11135
11136   STATE=3
      GOTO 11137
11135 IF(AAAHI0.EQ.1)GOTO 11136
11137 IF((STATE.NE.3))GOTO 11138
        CALL CODEO0(STATE)
        AAAHJ0=STATE
        GOTO 11139
11140     GPST=2
          RETURN
11141     CALL OUTDON(3)
          STATE=3
          DISPA0=1
        GOTO 11142
11143     DISPA0=1
        GOTO 11142
11139   GOTO(11141,11140,11143),AAAHJ0
11142   IF((STATE.EQ.3))GOTO 11144
          GPST=2
          RETURN
11144 CONTINUE
11138 GPST=STATE
      RETURN
      END
      SUBROUTINE BREAK0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER NUM,I,J
      INTEGER CTOI
      INTEGER AAAHK0
      CALL BEGIP0
      STATE=1
      IF((SYMBO0.NE.1032))GOTO 11145
        STATE=3
        I=1
        NUM=CTOI(SYMTE0,I)
        CALL GETSYM
        GOTO 11146
11145   NUM=1
11146 AAAHK0=STATE
      GOTO 11147
11148   STATE=3
      GOTO 11149
11147 IF(AAAHK0.EQ.1)GOTO 11148
11149 IF((NUM.LE.LOOPS0))GOTO 11150
        CALL SYNERR('Illegal ''break''.')
        GOTO 11151
11150   J=LOOPS0-NUM+1
        CALL OUTGO(BREAL0(J))
11151 GPST=STATE
      RETURN
      END
      SUBROUTINE NEXTS0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER NUM,I,J
      INTEGER CTOI
      INTEGER AAAHL0
      CALL BEGIP0
      STATE=1
      IF((SYMBO0.NE.1032))GOTO 11152
        STATE=3
        I=1
        NUM=CTOI(SYMTE0,I)
        CALL GETSYM
        GOTO 11153
11152   NUM=1
11153 AAAHL0=STATE
      GOTO 11154
11155   STATE=3
      GOTO 11156
11154 IF(AAAHL0.EQ.1)GOTO 11155
11156 IF((NUM.LE.LOOPS0))GOTO 11157
        CALL SYNERR('Illegal ''next''.')
        GOTO 11158
11157   J=LOOPS0-NUM+1
        CALL OUTGO(NEXTL0(J))
11158 GPST=STATE
      RETURN
      END
      SUBROUTINE STOPS0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAHM0(9)
      INTEGER AAAHN0(5)
      INTEGER AAAHO0
      DATA AAAHM0/227,225,236,236,160,243,247,244,0/
      DATA AAAHN0/211,212,207,208,0/
      CALL BEGIP0
      CALL STOPM0
      IF((A$BUF(249-225+1).NE.0))GOTO 11159
        CALL OUTTAB(3)
        CALL OUTSTR(AAAHM0,3)
        CALL OUTDON(3)
11159 IF((A$BUF(249-225+1).NE.0))GOTO 11161
      IF((SYMBO0.EQ.138))GOTO 11160
      IF((SYMBO0.EQ.187))GOTO 11160
      IF((SYMBO0.EQ.253))GOTO 11160
      GOTO 11161
11161   CALL OUTTAB(3)
        CALL OUTSTR(AAAHN0,3)
11160 CALL CODEO0(STATE)
      AAAHO0=STATE
      GOTO 11163
11164   GPST=2
        RETURN
11165   CALL OUTDON(3)
        STATE=3
      GOTO 11166
11163 GOTO(11165,11164),AAAHO0
11166 DISPA0=1
      GPST=STATE
      RETURN
      END
      SUBROUTINE GOTOS0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER I,N
      INTEGER CTOI
      INTEGER AAAHP0(6)
      INTEGER AAAHQ0
      INTEGER AAAHR0
      DATA AAAHP0/199,207,212,207,160,0/
      CALL BEGIP0
      CALL OUTTAB(3)
      CALL OUTSTR(AAAHP0,3)
      STATE=1
      IF((SYMBO0.NE.1032))GOTO 11167
        STATE=3
        I=1
        N=CTOI(SYMTE0,I)
        CALL OUTGO0(N)
        CALL OUTDON(3)
        DISPA0=1
        CALL GETSYM
11167 IF((STATE.NE.1))GOTO 11168
        IF((SYMBO0.NE.168))GOTO 11169
          STATE=3
11169   IF((STATE.NE.3))GOTO 11170
          CALL CODEO0(STATE)
          AAAHQ0=STATE
          GOTO 11171
11172       GPST=2
            RETURN
11173       CALL SYNERR('Illegal computed GOTO.')
            CALL OUTDON(3)
            STATE=3
          GOTO 11174
11175       DISPA0=0
          GOTO 11174
11171     GOTO(11173,11172,11175),AAAHQ0
11174     IF((STATE.EQ.3))GOTO 11176
            GPST=2
            RETURN
11176   CONTINUE
11170   IF((STATE.NE.1))GOTO 11177
          CALL CODEO0(STATE)
          AAAHR0=STATE
          GOTO 11178
11179       GPST=2
            RETURN
11180       CALL OUTDON(3)
            STATE=3
            DISPA0=1
          GOTO 11181
11182       DISPA0=1
          GOTO 11181
11178     GOTO(11180,11179,11182),AAAHR0
11181   CONTINUE
11177 CONTINUE
11168 GPST=STATE
      RETURN
      END
      SUBROUTINE CALLS0(GPST)
      INTEGER GPST
      INTEGER SYMTE0(200),SYMLO0(200),LASTV0(200)
      INTEGER SYMLE0,SYMBO0
      INTEGER IDTAB0,UNAME0
      COMMON /LEXCOM/SYMTE0,SYMLE0,SYMBO0,IDTAB0,UNAME0,SYMLO0,LASTV0
      INTEGER INBUF0(505)
      INTEGER IBPAA0,LINEN0(5),LEVEL0
      INTEGER INFIL0(5)
      COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0
      INTEGER LOOPS0,NEXTL0(10),BREAL0(10)
      COMMON /LOOPC0/LOOPS0,NEXTL0,BREAL0
      INTEGER OUTBU0(128,4)
      INTEGER OUTPA0(4)
      COMMON /OBUFC0/OUTBU0,OUTPA0
      INTEGER MEMAA0(32767)
      COMMON /DS$MEM/MEMAA0
      INTEGER OUTFI0(4),FORTF0
      COMMON /OUTFIL/OUTFI0,FORTF0
      INTEGER EXPRU0(20),EXPRV0,FALSE0
      COMMON /CODEG0/EXPRU0,EXPRV0,FALSE0
      INTEGER SCVAL0(256),SCLAB0(256),SLTAA0,RESUL0(10)
      COMMON /SELGEN/SCVAL0,SCLAB0,SLTAA0,RESUL0
      INTEGER SCOPE0
      INTEGER SCOPF0(100),PROCH0,PROCT0
      COMMON /PRCCOM/SCOPE0,SCOPF0,PROCH0,PROCT0
      INTEGER DISPA0,LASTD0,XGOFR0(407),XGOTO0(407),LGOLI0(1000),LGOPO0(
     *1000),LGOST0(1000),LGOLP0
      COMMON /GOCOM/DISPA0,LASTD0,XGOFR0,XGOTO0,LGOLI0,LGOPO0,LGOST0,LGO
     *LP0
      INTEGER MODUL0(200),MODUM0(200),ERROR0(200),TLITC0(256),TLITE0
      INTEGER CURLA0,BRACE0,INDEN0,FIRST0,SPNUM0,LASTN0,CODEL0
      INTEGER PROFD0
      INTEGER A$BUF(200)
      COMMON /MISCOM/MODUL0,CURLA0,BRACE0,INDEN0,MODUM0,FIRST0,PROFD0,SP
     *NUM0,ERROR0,A$BUF,LASTN0,CODEL0,TLITC0,TLITE0
      INTEGER STATE
      INTEGER AAAHS0(6)
      INTEGER AAAHT0
      INTEGER AAAHU0
      DATA AAAHS0/195,193,204,204,160,0/
      STATE=1
      IF((SYMBO0.NE.1033))GOTO 11183
        STATE=3
        CALL GETSYM
        GOTO 11184
11183   CALL BEGIP0
        CALL OUTTAB(3)
        CALL OUTSTR(AAAHS0,3)
11184 IF((STATE.NE.3))GOTO 11185
        CALL PROCF0(STATE)
        AAAHT0=STATE
        GOTO 11186
11187     GPST=2
          RETURN
11186   IF(AAAHT0.EQ.2)GOTO 11187
        IF((STATE.EQ.3))GOTO 11188
          GPST=2
          RETURN
11188 CONTINUE
11185 IF((STATE.NE.1))GOTO 11189
        CALL CODEO0(STATE)
        AAAHU0=STATE
        GOTO 11190
11191     GPST=2
          RETURN
11192     CALL OUTDON(3)
          STATE=3
        GOTO 11193
11190   GOTO(11192,11191),AAAHU0
11193 CONTINUE
11189 GPST=STATE
      RETURN
      END
C ---- Long Name Map ----
C boolterm                       boolt0
C callstmt                       calls0
C casestmt                       cases0
C returnstmt                     retus0
C Xgofrom                        xgofr0
C booloperand                    boolo0
C collectbalancedstring          collf0
C dataother                      datao0
C deleteunderscores              delet0
C enterdefinition                enter0
C codeother                      codeo0
C endmodule                      endmo0
C enterlongname                  entet0
C forstmt                        forst0
C Fortfile                       fortf0
C Tlitchar                       tlitc0
C Tliteos                        tlite0
C Indent                         inden0
C Slt                            sltaa0
C rangelab                       range0
C casevar                        casev0
C otherstmt                      other0
C skiplab                        skipl0
C cleanup                        clean0
C convertstringconstant          conve0
C putbackstr                     putbc0
C simpleboolexpr                 simpl0
C Breaklab                       breal0
C boolexpr                       boole0
C looplab                        loopl0
C generateexprcode               gener0
C putback                        putba0
C Xgoto                          xgoto0
C Lgostmt                        lgost0
C filename                       filen0
C copylefthandside               copyl0
C genchardata                    gench0
C maketreenode                   maket0
C obufcom                        obufc0
C genprocentry                   genpt0
C invokemacro                    invok0
C linkagedecl                    linka0
C setupprochead                  setuq0
C Dispatchflag                   dispa0
C Spnum                          spnum0
C Codelinenum                    codel0
C genintdecl                     genin0
C selectstmt                     selec0
C checklastforboolean            check0
C loadtranstable                 loadt0
C repeatstmt                     repea0
C Proctable                      proct0
C Lastdispatchflag               lastd0
C begindecl                      begin0
C refillbuffer                   refil0
C testlab                        testl0
C exprstackpop                   exprs0
C strtabledecl                   strta0
C equivother                     equiv0
C stopmodule                     stopm0
C strdecl                        strde0
C returnmodule                   retur0
C intselect                      intse0
C genproccontroldecl             genps0
C beginstmt                      begip0
C breakstmt                      break0
C genparam                       genpa0
C savemodulename                 savem0
C genprocgoto                    genpu0
C genselectcode                  gense0
C includedecl                    inclu0
C listlongnames                  listl0
C localdecl                      local0
C Lgoline                        lgoli0
C Lgopos                         lgopo0
C checkmissingend                checl0
C Outbuf                         outbu0
C Firststmt                      first0
C Symbol                         symbo0
C Inbuf                          inbuf0
C Ibp                            ibpaa0
C compoundstmt                   compo0
C genexpr                        genex0
C loopcom                        loopc0
C ratforcode                     ratfo0
C replacetreenode                repla0
C Unametable                     uname0
C Nextlab                        nextl0
C enddecl                        endde0
C fatalerr                       fatal0
C Symlen                         symle0
C Prochead                       proch0
C strname                        strna0
C boolfactor                     boolf0
C exitscope                      exits0
C gendataitem                    gendb0
C parboolexpr                    parbo0
C propagatenots                  propa0
C removedefinition               remov0
C statement                      state0
C Symlongtext                    symlo0
C Level                          level0
C Mem                            memaa0
C dgetsym                        dgets0
C gettranschar                   gettr0
C Falsebranch                    false0
C Scopetable                     scopf0
C Profdictfile                   profd0
C boolprimary                    boolp0
C Symtext                        symte0
C Scvalue                        scval0
C dolabel                        dolab0
C declaration                    decla0
C endprogram                     endpr0
C enteroperator                  enteu0
C gotostmt                       gotos0
C process                        procg0
C Loopsp                         loops0
C tempvar                        tempv0
C codegen                        codeg0
C enterkw                        entes0
C setuplocalid                   setup0
C Modulelongname                 modum0
C enterprocparam                 entev0
C proceduredecl                  proce0
C Result                         resul0
C Bracecount                     brace0
C initialize                     initi0
C restoresym                     resto0
C skipwhitespace                 skipw0
C Exprstackptr                   exprv0
C Lgolp                          lgolp0
C Modulename                     modul0
C genproccall                    genpr0
C genprocreturn                  genpv0
C getactualparameters            getac0
C Outp                           outpa0
C Outfile                        outfi0
C beginmodule                    begio0
C Infile                         infil0
C makeunique                     makeu0
C nextstmt                       nexts0
C collectactualparameter         colle0
C gendataend                     genda0
C negatechildren                 negat0
C outgolab                       outgo0
C procedurestmt                  procf0
C Curlab                         curla0
C startlab                       start0
C genselgoto                     gensf0
C Exprstack                      expru0
C copytreenode                   copyt0
C enterscope                     entew0
C savesym                        saves0
C whilestmt                      while0
C Lastvar                        lastv0
C Scopesp                        scope0
C createprocscope                creat0
C escapestmt                     escap0
C getdefinition                  getde0
C numstmts                       numst0
C exprstackpush                  exprt0
C getformalparameters            getfo0
C getlongname                    getlo0
C putbacknum                     putbb0
C setupwhen                      setur0
C cleanupgotos                   cleao0
C Idtable                        idtab0
C declother                      declo0
C stopstmt                       stops0
C Linenumber                     linen0
C Sclabel                        sclab0
C Errorsym                       error0
C Lastnumout                     lastn0
