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