SUBROUTINE EXTER0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER ID,PARAMS,MODE,DM INTEGER SC,JUNK,ISSTO0 INTEGER Q 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 INTEGER AAAAN0 INTEGER AAAAO0 INTEGER AAAAP0 INTEGER AAAAQ0 CALL SSALL0(2) SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=MODE CALL DECLS0(STATE) AAAAA0=STATE GOTO 10000 10001 GPST=2 RETURN 10002 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) CALL SSDEA0(2) ID=0 PARAMS=0 CALL SSALL0(2) SEMSK0(SEMSP0-1)=ID SEMSK0(SEMSP0-2)=PARAMS GOTO 10003 10000 AAAAB0=AAAAA0-1 GOTO(10001,10002),AAAAB0 10003 IF((STATE.NE.3))GOTO 10004 STATE=1 IF((SYMBO0.NE.187))GOTO 10005 STATE=3 ID=SEMSK0(SEMSP0-1) PARAMS=SEMSK0(SEMSP0-2) CALL SSDEA0(2) CALL GETSYM 10005 IF((STATE.NE.1))GOTO 10006 CALL DECLB0(STATE) AAAAC0=STATE GOTO 10007 10008 GPST=2 RETURN 10009 ID=SEMSK0(SEMSP0-1) PARAMS=SEMSK0(SEMSP0-2) CALL SSDEA0(2) DM=MODE CALL CREAU0(DM) GOTO 10010 10007 AAAAD0=AAAAC0-1 GOTO(10008,10009),AAAAD0 10010 IF((STATE.NE.3))GOTO 10011 STATE=1 IF((SYMBO0.NE.172))GOTO 10012 STATE=3 CALL ENTET0(ID,DM,SC,PARAMS,0,0) CALL ALLOC0(ID) IF((ISSTO0(ID).NE.1))GOTO 10013 CALL OUTVAR(ID) CALL OUTOP0(39) CALL OUTSI0(MEMAA0(ID+1)) 10013 CALL SSALL0(3) SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=MODE SEMSK0(SEMSP0-3)=0 CALL GETSYM 10012 IF((STATE.NE.3))GOTO 10014 CALL INITE0(STATE) AAAAE0=STATE GOTO 10015 10016 GPST=2 RETURN 10017 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) JUNK=SEMSK0(SEMSP0-3) CALL SSDEA0(3) GOTO 10018 10015 AAAAF0=AAAAE0-1 GOTO(10016,10017),AAAAF0 10018 IF((STATE.EQ.3))GOTO 10019 GPST=2 RETURN 10019 CONTINUE 10014 IF((STATE.NE.1))GOTO 10020 IF((SYMBO0.NE.189))GOTO 10021 STATE=3 CALL ENTET0(ID,DM,SC,PARAMS,0,0) CALL OUTVAR(ID) CALL SSALL0(1) SEMSK0(SEMSP0-1)=ID CALL GETSYM 10021 IF((STATE.NE.3))GOTO 10022 CALL INITJ0(STATE) AAAAG0=STATE GOTO 10023 10024 GPST=2 RETURN 10025 ID=SEMSK0(SEMSP0-1) CALL SSDEA0(1) CALL ALLOC0(ID) CALL OUTOP0(39) CALL OUTSI0(MEMAA0(ID+1)) GOTO 10026 10023 AAAAH0=AAAAG0-1 GOTO(10024,10025),AAAAH0 10026 IF((STATE.EQ.3))GOTO 10027 GPST=2 RETURN 10027 STATE=1 IF((SYMBO0.NE.172))GOTO 10028 STATE=3 CALL SSALL0(3) SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=MODE SEMSK0(SEMSP0-3)=0 CALL GETSYM 10028 IF((STATE.NE.3))GOTO 10029 CALL INITE0(STATE) AAAAI0=STATE GOTO 10030 10031 GPST=2 RETURN 10032 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) JUNK=SEMSK0(SEMSP0-3) CALL SSDEA0(3) GOTO 10033 10030 AAAAJ0=AAAAI0-1 GOTO(10031,10032),AAAAJ0 10033 IF((STATE.EQ.3))GOTO 10034 GPST=2 RETURN 10034 CONTINUE 10029 AAAAK0=STATE GOTO 10035 10036 STATE=3 GOTO 10037 10035 IF(AAAAK0.EQ.1)GOTO 10036 10037 IF((STATE.EQ.3))GOTO 10038 GPST=2 RETURN 10038 CONTINUE 10022 IF((STATE.NE.1))GOTO 10039 IF((SYMBO0.NE.187))GOTO 10040 STATE=3 CALL ENTET0(ID,DM,SC,PARAMS,0,0) IF((ISSTO0(ID).NE.1))GOTO 10041 CALL OUTVAR(ID) CALL ALLOC0(ID) CALL OUTOP0(39) CALL OUTSI0(MEMAA0(ID+1)) 10041 CONTINUE 10040 IF((STATE.NE.1))GOTO 10042 CALL EMPTY(STATE) AAAAL0=STATE GOTO 10043 10044 GPST=2 RETURN 10045 IF((MEMAA0(DM+3).EQ.15))GOTO 10046 CALL SYNERR('Semicolon required.',0) GOTO 10048 10046 STATE=1 10047 GOTO 10048 10043 AAAAM0=AAAAL0-1 GOTO(10044,10045),AAAAM0 10048 IF((STATE.NE.1))GOTO 10049 CALL EMPTY(STATE) AAAAN0=STATE GOTO 10050 10051 GPST=2 RETURN 10052 IF((SC.NE.6))GOTO 10053 CALL SYNERR('Function may not be TYPEDEF.',0) SC=1 10053 Q=0 CALL ENTET0(ID,DM,SC,Q,0,1) CALL ALLOC0(ID) CALL SSALL0(2) SEMSK0(SEMSP0-1)=ID SEMSK0(SEMSP0-2)=PARAMS GOTO 10054 10050 AAAAO0=AAAAN0-1 GOTO(10051,10052),AAAAO0 10054 IF((STATE.NE.3))GOTO 10055 CALL FUNCT0(STATE) AAAAP0=STATE GOTO 10056 10057 GPST=2 RETURN 10058 ID=SEMSK0(SEMSP0-1) PARAMS=SEMSK0(SEMSP0-2) CALL SSDEA0(2) GOTO 10059 10056 AAAAQ0=AAAAP0-1 GOTO(10057,10058),AAAAQ0 10059 IF((STATE.EQ.3))GOTO 10060 GPST=2 RETURN 10060 CONTINUE 10055 CONTINUE 10049 CONTINUE 10042 CONTINUE 10039 CONTINUE 10020 IF((STATE.EQ.3))GOTO 10061 GPST=2 RETURN 10061 CONTINUE 10011 CONTINUE 10006 IF((STATE.NE.1))GOTO 10062 CALL SYNERR('Illegal element in external definition.',0) CALL SKIPTO(172) STATE=3 10062 IF((STATE.EQ.3))GOTO 10063 GPST=2 RETURN 10063 CONTINUE 10004 GPST=STATE RETURN END SUBROUTINE FUNCT0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER ID,PARAMS INTEGER Q,MP INTEGER NEWSYM INTEGER ARGCT,JUNK INTEGER FINDS0,NEWOBJ,ISAGG0 INTEGER AAAAR0 INTEGER AAAAS0 INTEGER AAAAT0 INTEGER AAAAU0 INTEGER AAAAV0 INTEGER AAAAW0 INTEGER AAAAX0(6) INTEGER AAAAY0(25) INTEGER AAAAZ0 INTEGER AAABA0 INTEGER AAABB0 DATA AAAAX0/163,242,244,238,246,0/ DATA AAAAY0/208,225,242,225,237,229,244,229,242,243,160,237,245,24 *3,244,160,226,229,160,238,225,237,229,228,0/ ID=SEMSK0(SEMSP0-1) PARAMS=SEMSK0(SEMSP0-2) OUTFP0=3 CALL CKFND0(ID) PROCM0=MEMAA0(MEMAA0(ID+1)) CALL ENTEV0 10064 CALL TYPEO0(STATE) AAAAR0=STATE GOTO 10065 10066 GPST=2 RETURN 10067 CALL SSALL0(1) SEMSK0(SEMSP0-1)=1 GOTO 10068 10065 AAAAS0=AAAAR0-1 GOTO(10066,10067),AAAAS0 10068 IF((STATE.NE.3))GOTO 10069 CALL DECLA0(STATE) AAAAT0=STATE GOTO 10070 10071 GPST=2 RETURN 10072 JUNK=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10073 10070 AAAAU0=AAAAT0-1 GOTO(10071,10072),AAAAU0 10073 IF((STATE.EQ.3))GOTO 10074 GPST=2 RETURN 10074 CONTINUE 10069 CONTINUE IF((STATE.EQ.3))GOTO 10064 AAAAV0=STATE GOTO 10075 10076 STATE=3 GOTO 10077 10075 IF(AAAAV0.EQ.1)GOTO 10076 10077 IF((STATE.NE.3))GOTO 10078 CALL EMPTY(STATE) AAAAW0=STATE GOTO 10079 10080 GPST=2 RETURN 10081 ARGCT=0 Q=PARAMS GOTO 10084 10082 Q=MEMAA0(Q) 10084 IF((Q.EQ.0))GOTO 10083 ARGCT=ARGCT+(1) GOTO 10082 10083 IF((ISAGG0(PROCM0).NE.0))GOTO 10085 CALL OUTPR0(ID,ARGCT) ARGCT=0 PROCR0=0 GOTO 10086 10085 CALL OUTPR0(ID,ARGCT+1) MP=PROCM0 CALL CREAT0(MP,12,0) Q=NEWSYM(AAAAX0,MP,2,1,LLAAA0,NEWOBJ(0),0) MEMAA0(Q+4)=1 CALL OUTARG(Q) ARGCT=1 PROCR0=Q 10086 CONTINUE 10087 IF((PARAMS.EQ.0))GOTO 10088 IF((MEMAA0(PARAMS+1).NE.0))GOTO 10089 CALL SYNERR(AAAAY0,0) GOTO 10090 10089 IF((FINDS0(MEMAA0(MEMAA0(PARAMS+1)),Q,1).NE.1))GOTO 10091 IF((MEMAA0(Q).NE.1))GOTO 10091 IF((MEMAA0(Q+3).NE.LLAAA0))GOTO 10091 ARGCT=ARGCT+(1) MEMAA0(Q+4)=ARGCT CALL CKFNA0(Q) CALL OUTARG(Q) GOTO 10092 10091 CALL CTOC(MEMAA0(MEMAA0(PARAMS+1)),ERROR0,200) CALL SYNERR('parameter not declared.',0) 10092 CONTINUE 10090 IF((MEMAA0(PARAMS+1).EQ.0))GOTO 10093 CALL DSFREE(MEMAA0(PARAMS+1)) 10093 Q=MEMAA0(PARAMS) CALL DSFREE(PARAMS) PARAMS=Q GOTO 10087 10088 CALL OUTOP0(39) CALL CKFNE0 GOTO 10094 10079 AAAAZ0=AAAAW0-1 GOTO(10080,10081),AAAAZ0 10094 IF((STATE.EQ.3))GOTO 10095 GPST=2 RETURN 10095 CALL COMPO0(STATE) AAABA0=STATE GOTO 10096 10097 GPST=2 RETURN 10098 CALL CLEAN0 CALL EXITLL CALL OUTOP0(39) OUTFP0=2 SEMSK0(SEMSP0-1)=ID SEMSK0(SEMSP0-2)=PARAMS GOTO 10099 10096 AAABB0=AAABA0-1 GOTO(10097,10098),AAABB0 10099 IF((STATE.EQ.3))GOTO 10100 GPST=2 RETURN 10100 CONTINUE 10078 GPST=STATE RETURN END SUBROUTINE STATE0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAABC0 INTEGER AAABD0 INTEGER AAABE0 INTEGER AAABF0 INTEGER AAABG0 INTEGER AAABH0 INTEGER AAABI0 INTEGER AAABJ0 INTEGER AAABK0 INTEGER AAABL0 INTEGER AAABM0 INTEGER AAABN0 INTEGER AAABO0 INTEGER AAABP0 INTEGER AAABQ0 INTEGER AAABR0 STATE=1 AAABC0=SYMBO0 GOTO 10101 10102 STATE=3 CALL ENTEV0 IF((STATE.NE.3))GOTO 10109 CALL COMPO0(STATE) AAABD0=STATE GOTO 10104 10105 GPST=2 RETURN 10106 CALL CLEAN0 CALL EXITLL GOTO 10107 10104 AAABE0=AAABD0-1 GOTO(10105,10106),AAABE0 10107 IF((STATE.EQ.3))GOTO 10108 GPST=2 RETURN 10108 CONTINUE 10103 GOTO 10109 10110 STATE=3 IF((NSYMB0.EQ.186))GOTO 10111 STATE=1 10111 IF((STATE.NE.3))GOTO 10109 CALL STATF0(STATE) AAABF0=STATE GOTO 10113 10114 GPST=2 RETURN 10113 IF(AAABF0.EQ.2)GOTO 10114 IF((STATE.EQ.3))GOTO 10115 GPST=2 RETURN 10115 CONTINUE 10112 GOTO 10109 10116 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL IFSTA0(STATE) AAABG0=STATE GOTO 10118 10119 GPST=2 RETURN 10118 IF(AAABG0.EQ.2)GOTO 10119 IF((STATE.EQ.3))GOTO 10120 GPST=2 RETURN 10120 CONTINUE 10117 GOTO 10109 10121 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL WHILE0(STATE) AAABH0=STATE GOTO 10123 10124 GPST=2 RETURN 10123 IF(AAABH0.EQ.2)GOTO 10124 IF((STATE.EQ.3))GOTO 10125 GPST=2 RETURN 10125 CONTINUE 10122 GOTO 10109 10126 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL DOSTA0(STATE) AAABI0=STATE GOTO 10128 10129 GPST=2 RETURN 10128 IF(AAABI0.EQ.2)GOTO 10129 IF((STATE.EQ.3))GOTO 10130 GPST=2 RETURN 10130 CONTINUE 10127 GOTO 10109 10131 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL FORST0(STATE) AAABJ0=STATE GOTO 10133 10134 GPST=2 RETURN 10133 IF(AAABJ0.EQ.2)GOTO 10134 IF((STATE.EQ.3))GOTO 10135 GPST=2 RETURN 10135 CONTINUE 10132 GOTO 10109 10136 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL SWITC0(STATE) AAABK0=STATE GOTO 10138 10139 GPST=2 RETURN 10138 IF(AAABK0.EQ.2)GOTO 10139 IF((STATE.EQ.3))GOTO 10140 GPST=2 RETURN 10140 CONTINUE 10137 GOTO 10109 10141 STATE=3 CALL SYNERR('''Case'' not in scope of ''switch''.',0) CALL GETSYM GOTO 10109 10142 STATE=3 CALL SYNERR('''Default'' not in scope of ''switch''.',0) CALL GETSYM GOTO 10109 10143 STATE=3 CALL GETSYM GOTO 10109 10144 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL BREAK0(STATE) AAABL0=STATE GOTO 10146 10147 GPST=2 RETURN 10146 IF(AAABL0.EQ.2)GOTO 10147 IF((STATE.EQ.3))GOTO 10148 GPST=2 RETURN 10148 STATE=1 IF((SYMBO0.NE.187))GOTO 10149 STATE=3 CALL GETSYM GOTO 10150 10149 CALL SYNERR('missing semicolon.',0) STATE=3 10150 IF((STATE.EQ.3))GOTO 10151 GPST=2 RETURN 10151 CONTINUE 10145 GOTO 10109 10152 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL CONTI0(STATE) AAABM0=STATE GOTO 10154 10155 GPST=2 RETURN 10154 IF(AAABM0.EQ.2)GOTO 10155 IF((STATE.EQ.3))GOTO 10156 GPST=2 RETURN 10156 STATE=1 IF((SYMBO0.NE.187))GOTO 10157 STATE=3 CALL GETSYM GOTO 10158 10157 CALL SYNERR('missing semicolon.',0) STATE=3 10158 IF((STATE.EQ.3))GOTO 10159 GPST=2 RETURN 10159 CONTINUE 10153 GOTO 10109 10160 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL RETUR0(STATE) AAABN0=STATE GOTO 10162 10163 GPST=2 RETURN 10162 IF(AAABN0.EQ.2)GOTO 10163 IF((STATE.EQ.3))GOTO 10164 GPST=2 RETURN 10164 STATE=1 IF((SYMBO0.NE.187))GOTO 10165 STATE=3 CALL GETSYM GOTO 10166 10165 CALL SYNERR('missing semicolon.',0) STATE=3 10166 IF((STATE.EQ.3))GOTO 10167 GPST=2 RETURN 10167 CONTINUE 10161 GOTO 10109 10168 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 10109 CALL GOTOS0(STATE) AAABO0=STATE GOTO 10170 10171 GPST=2 RETURN 10170 IF(AAABO0.EQ.2)GOTO 10171 IF((STATE.EQ.3))GOTO 10172 GPST=2 RETURN 10172 STATE=1 IF((SYMBO0.NE.187))GOTO 10173 STATE=3 CALL GETSYM GOTO 10174 10173 CALL SYNERR('missing semicolon.',0) STATE=3 10174 IF((STATE.EQ.3))GOTO 10175 GPST=2 RETURN 10175 CONTINUE 10169 GOTO 10109 10101 IF(AAABC0.EQ.187)GOTO 10143 IF(AAABC0.EQ.251)GOTO 10102 AAABP0=AAABC0-1022 GOTO(10110,10176,10176,10176,10176,10176,10144,10141,10176,10152, * 10176,10142,10176,10126,10176,10176,10176,10176,10176,10176, * 10176,10131,10176,10168,10176,10176,10116,10176,10176,10176, * 10176,10176,10160,10176,10176,10176,10176,10136,10176,10176, * 10176,10176,10121),AAABP0 10176 CONTINUE 10109 IF((STATE.NE.1))GOTO 10177 CALL EXPRE0(STATE) AAABQ0=STATE GOTO 10178 10179 GPST=2 RETURN 10180 CALL OUTOP0(59) CALL GENMA0 CALL OUTEX0 GOTO 10181 10178 AAABR0=AAABQ0-1 GOTO(10179,10180),AAABR0 10181 IF((STATE.NE.3))GOTO 10182 STATE=1 IF((SYMBO0.NE.187))GOTO 10183 STATE=3 CALL GETSYM GOTO 10184 10183 CALL SYNERR('missing semicolon.',0) STATE=3 10184 IF((STATE.EQ.3))GOTO 10185 GPST=2 RETURN 10185 CONTINUE 10182 CONTINUE 10177 GPST=STATE RETURN END SUBROUTINE STATF0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAABS0 STATE=1 IF((SYMBO0.NE.1023))GOTO 10186 STATE=3 CALL DECLC0(1) CALL OUTLAB(SYMPT0) CALL GETSYM 10186 IF((STATE.NE.3))GOTO 10187 STATE=1 IF((SYMBO0.NE.186))GOTO 10188 STATE=3 CALL GETSYM 10188 IF((STATE.EQ.3))GOTO 10189 GPST=2 RETURN 10189 CONTINUE 10190 STATE=1 IF((SYMBO0.NE.1023))GOTO 10191 STATE=3 IF((NSYMB0.EQ.':'))GOTO 10192 STATE=1 10192 CONTINUE 10191 IF((STATE.NE.3))GOTO 10193 STATE=1 IF((SYMBO0.NE.1023))GOTO 10194 STATE=3 CALL DECLC0(1) CALL OUTLAB(SYMPT0) CALL GETSYM 10194 IF((STATE.EQ.3))GOTO 10195 GPST=2 RETURN 10195 STATE=1 IF((SYMBO0.NE.186))GOTO 10196 STATE=3 CALL GETSYM 10196 IF((STATE.EQ.3))GOTO 10197 GPST=2 RETURN 10197 CONTINUE 10193 CONTINUE IF((STATE.EQ.3))GOTO 10190 AAABS0=STATE GOTO 10198 10199 STATE=3 GOTO 10200 10198 IF(AAABS0.EQ.1)GOTO 10199 10200 IF((STATE.EQ.3))GOTO 10201 GPST=2 RETURN 10201 CONTINUE 10187 GPST=STATE RETURN END SUBROUTINE GOTOS0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE STATE=1 IF((SYMBO0.NE.1023))GOTO 10202 STATE=3 CALL DECLC0(0) CALL OUTGO0(SYMPT0) CALL GETSYM GOTO 10203 10202 CALL SYNERR('Label required following ''goto''.',0) STATE=3 10203 GPST=STATE RETURN END SUBROUTINE RETUR0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER P INTEGER AAABT0 CALL EXPRE0(STATE) AAABT0=STATE GOTO 10204 10205 GPST=2 RETURN 10206 CALL OUTST0(54) CALL OUTOP0(39) STATE=3 GOTO 10207 10208 IF((PROCR0.NE.0))GOTO 10209 CALL OUTST0(54) CALL GENMA0 CALL GENCO0(PROCM0) CALL OUTEX0 GOTO 10207 10209 CALL ESPOP(P) CALL GENOQ0(PROCR0) CALL GENOP0(15) CALL ESPUSH(P) CALL GENCO0(PROCM0) CALL GENOP0(5) CALL OUTOP0(59) CALL OUTEX0 CALL OUTST0(54) CALL OUTOP0(39) 10210 GOTO 10207 10204 GOTO(10206,10205,10208),AAABT0 10207 GPST=STATE RETURN END SUBROUTINE CONTI0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER NL,I INTEGER AAABU0 INTEGER AAABV0 INTEGER AAABW0 CALL SSALL0(1) SEMSK0(SEMSP0-1)=0 CALL CONST0(STATE) AAABU0=STATE GOTO 10211 10212 GPST=2 RETURN 10213 NL=SEMSK0(SEMSP0-1) CALL SSDEA0(1) NL=1 STATE=3 GOTO 10214 10215 NL=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10214 10211 GOTO(10213,10212,10215),AAABU0 10214 IF((STATE.NE.3))GOTO 10216 CALL EMPTY(STATE) AAABV0=STATE GOTO 10217 10218 GPST=2 RETURN 10219 CALL OUTST0(36) CALL OUTNUM(NL) I=CTLSP0 GOTO 10222 10220 I=I-(1) 10222 IF((I.LE.0))GOTO 10221 IF((NL.LE.0))GOTO 10221 IF((CTLSK0(I).EQ.4))GOTO 10220 NL=NL-(1) 10223 GOTO 10220 10221 IF((NL.LE.0))GOTO 10225 CALL SYNERR('Not enough loops active.',0) 10224 GOTO 10225 10217 AAABW0=AAABV0-1 GOTO(10218,10219),AAABW0 10225 IF((STATE.EQ.3))GOTO 10226 GPST=2 RETURN 10226 CONTINUE 10216 GPST=STATE RETURN END SUBROUTINE BREAK0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER NL,I INTEGER AAABX0 INTEGER AAABY0 INTEGER AAABZ0 CALL SSALL0(1) SEMSK0(SEMSP0-1)=0 CALL CONST0(STATE) AAABX0=STATE GOTO 10227 10228 GPST=2 RETURN 10229 NL=SEMSK0(SEMSP0-1) CALL SSDEA0(1) NL=1 STATE=3 GOTO 10230 10231 NL=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10230 10227 GOTO(10229,10228,10231),AAABX0 10230 IF((STATE.NE.3))GOTO 10232 CALL EMPTY(STATE) AAABY0=STATE GOTO 10233 10234 GPST=2 RETURN 10235 CALL OUTST0(6) CALL OUTNUM(NL) I=CTLSP0 GOTO 10238 10236 I=I-(1) 10238 IF((I.LE.0))GOTO 10237 IF((NL.LE.0))GOTO 10237 NL=NL-(1) GOTO 10236 10237 IF((NL.LE.0))GOTO 10240 CALL SYNERR('Not enough loops active.',0) 10239 GOTO 10240 10233 AAABZ0=AAABY0-1 GOTO(10234,10235),AAABZ0 10240 IF((STATE.EQ.3))GOTO 10241 GPST=2 RETURN 10241 CONTINUE 10232 GPST=STATE RETURN END SUBROUTINE SWITC0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER LSTATE INTEGER ISCON0 INTEGER V,MP INTEGER AAACA0 INTEGER AAACB0 INTEGER AAACC0 INTEGER AAACD0 INTEGER AAACE0 INTEGER AAACF0 INTEGER AAACG0 LSTATE=1 CALL CSPUSH(4) CALL OUTST0(63) CALL EXPRE0(STATE) AAACA0=STATE GOTO 10242 10243 GPST=2 RETURN 10244 CALL SYNERR('Expression required after ''switch''.',0) STATE=3 MP=INTMO0 GOTO 10245 10246 CALL GENMA0 CALL CHECK0 CALL ESTOP(V) MP=MEMAA0(V+1) CALL OUTMO0(MP) CALL OUTEX0 GOTO 10245 10242 GOTO(10244,10243,10246),AAACA0 10245 IF((STATE.NE.3))GOTO 10247 STATE=1 IF((SYMBO0.NE.251))GOTO 10248 STATE=3 CALL GETSYM GOTO 10249 10248 CALL SYNERR('Left brace required after ''switch''.',0) STATE=3 10249 IF((STATE.EQ.3))GOTO 10250 GPST=2 RETURN 10250 CONTINUE 10251 STATE=1 IF((SYMBO0.NE.1030))GOTO 10252 STATE=3 IF((LSTATE.NE.1))GOTO 10253 LSTATE=2 GOTO 10254 10253 CALL OUTOP0(39) 10254 CALL GETSYM 10252 IF((STATE.NE.3))GOTO 10255 CALL EXPRE0(STATE) AAACB0=STATE GOTO 10256 10257 GPST=2 RETURN 10258 CALL SYNERR('Constant expr required after ''case''.',0) STATE=3 GOTO 10259 10260 CALL OUTOP0(7) CALL GENCO0(MP) CALL ESTOP(V) IF((ISCON0(V).NE.0))GOTO 10261 CALL SYNERR('Constant expression required.',0) 10261 CALL GENMA0 CALL OUTEX0 GOTO 10259 10256 GOTO(10258,10257,10260),AAACB0 10259 IF((STATE.EQ.3))GOTO 10262 GPST=2 RETURN 10262 STATE=1 IF((SYMBO0.NE.186))GOTO 10263 STATE=3 CALL GETSYM GOTO 10264 10263 CALL SYNERR('Colon required after ''case''.',0) STATE=3 10264 IF((STATE.EQ.3))GOTO 10265 GPST=2 RETURN 10265 CONTINUE 10255 IF((STATE.NE.1))GOTO 10266 IF((SYMBO0.NE.1034))GOTO 10267 STATE=3 IF((LSTATE.NE.1))GOTO 10268 LSTATE=3 GOTO 10269 10268 IF((LSTATE.NE.2))GOTO 10270 LSTATE=3 CALL OUTOP0(39) GOTO 10271 10270 CALL SYNERR('Only 1 ''default'' allowed per ''switch'' *.',0) 10271 CONTINUE 10269 CALL OUTOP0(12) CALL GETSYM 10267 IF((STATE.NE.3))GOTO 10272 STATE=1 IF((SYMBO0.NE.186))GOTO 10273 STATE=3 CALL GETSYM GOTO 10274 10273 CALL SYNERR('Colon required after ''default''.',0) STATE=3 10274 IF((STATE.EQ.3))GOTO 10275 GPST=2 RETURN 10275 CONTINUE 10272 IF((STATE.NE.1))GOTO 10276 CALL STATE0(STATE) AAACC0=STATE GOTO 10277 10278 GPST=2 RETURN 10279 IF((LSTATE.NE.1))GOTO 10281 CALL SYNERR('''Case'' must follow ''switch''.',0) 10280 GOTO 10281 10277 AAACD0=AAACC0-1 GOTO(10278,10279),AAACD0 10281 CONTINUE 10276 CONTINUE 10266 CONTINUE IF((STATE.EQ.3))GOTO 10251 AAACE0=STATE GOTO 10282 10283 STATE=3 GOTO 10284 10282 IF(AAACE0.EQ.1)GOTO 10283 10284 IF((STATE.EQ.3))GOTO 10285 GPST=2 RETURN 10285 STATE=1 IF((SYMBO0.NE.253))GOTO 10286 STATE=3 CALL GETSYM GOTO 10287 10286 CALL SYNERR('Right brace required.',0) STATE=3 10287 IF((STATE.EQ.3))GOTO 10288 GPST=2 RETURN 10288 CALL EMPTY(STATE) AAACF0=STATE GOTO 10289 10290 GPST=2 RETURN 10291 CALL OUTOP0(39) CALL OUTOP0(39) CALL CSPOP GOTO 10292 10289 AAACG0=AAACF0-1 GOTO(10290,10291),AAACG0 10292 IF((STATE.EQ.3))GOTO 10293 GPST=2 RETURN 10293 CONTINUE 10247 GPST=STATE RETURN END SUBROUTINE FORST0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAACH0 INTEGER AAACI0 INTEGER AAACJ0 INTEGER AAACK0 INTEGER AAACL0 INTEGER AAACM0 INTEGER AAACN0 CALL CSPUSH(2) CALL OUTST0(20) STATE=1 IF((SYMBO0.NE.168))GOTO 10294 STATE=3 CALL GETSYM GOTO 10295 10294 CALL SYNERR('Left paren required after ''for''.',0) STATE=3 10295 IF((STATE.NE.3))GOTO 10296 CALL EXPRE0(STATE) AAACH0=STATE GOTO 10297 10298 GPST=2 RETURN 10299 CALL OUTOP0(39) GOTO 10300 10301 CALL GENMA0 CALL OUTEX0 GOTO 10300 10297 GOTO(10299,10298,10301),AAACH0 10300 AAACI0=STATE GOTO 10302 10303 STATE=3 GOTO 10304 10302 IF(AAACI0.EQ.1)GOTO 10303 10304 IF((STATE.EQ.3))GOTO 10305 GPST=2 RETURN 10305 STATE=1 IF((SYMBO0.NE.187))GOTO 10306 STATE=3 CALL GETSYM GOTO 10307 10306 CALL SYNERR('Semicolon required.',0) STATE=3 10307 IF((STATE.EQ.3))GOTO 10308 GPST=2 RETURN 10308 CALL EXPRE0(STATE) AAACJ0=STATE GOTO 10309 10310 GPST=2 RETURN 10311 CALL OUTOP0(39) GOTO 10312 10313 CALL GENMA0 CALL GENTO0 CALL OUTEX0 GOTO 10312 10309 GOTO(10311,10310,10313),AAACJ0 10312 AAACK0=STATE GOTO 10314 10315 STATE=3 GOTO 10316 10314 IF(AAACK0.EQ.1)GOTO 10315 10316 IF((STATE.EQ.3))GOTO 10317 GPST=2 RETURN 10317 STATE=1 IF((SYMBO0.NE.187))GOTO 10318 STATE=3 CALL GETSYM GOTO 10319 10318 CALL SYNERR('Semicolon required.',0) STATE=3 10319 IF((STATE.EQ.3))GOTO 10320 GPST=2 RETURN 10320 CALL EXPRE0(STATE) AAACL0=STATE GOTO 10321 10322 GPST=2 RETURN 10323 CALL OUTOP0(39) GOTO 10324 10325 CALL GENMA0 CALL OUTEX0 GOTO 10324 10321 GOTO(10323,10322,10325),AAACL0 10324 AAACM0=STATE GOTO 10326 10327 STATE=3 GOTO 10328 10326 IF(AAACM0.EQ.1)GOTO 10327 10328 IF((STATE.EQ.3))GOTO 10329 GPST=2 RETURN 10329 STATE=1 IF((SYMBO0.NE.169))GOTO 10330 STATE=3 CALL GETSYM GOTO 10331 10330 CALL SYNERR('Right paren required after ''for''.',0) STATE=3 10331 IF((STATE.EQ.3))GOTO 10332 GPST=2 RETURN 10332 CALL STATE0(STATE) AAACN0=STATE GOTO 10333 10334 GPST=2 RETURN 10335 CALL SYNERR('Statement required after ''for''.',0) STATE=3 GOTO 10336 10337 CALL OUTOP0(39) CALL CSPOP GOTO 10336 10333 GOTO(10335,10334,10337),AAACN0 10336 IF((STATE.EQ.3))GOTO 10338 GPST=2 RETURN 10338 CONTINUE 10296 GPST=STATE RETURN END SUBROUTINE DOSTA0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAACO0 INTEGER AAACP0 INTEGER AAACQ0 INTEGER AAACR0 CALL CSPUSH(3) CALL OUTST0(18) CALL STATE0(STATE) AAACO0=STATE GOTO 10339 10340 GPST=2 RETURN 10341 CALL SYNERR('Statement required after ''do''.',0) STATE=3 GOTO 10342 10343 CALL OUTOP0(39) GOTO 10342 10339 GOTO(10341,10340,10343),AAACO0 10342 IF((STATE.NE.3))GOTO 10344 STATE=1 IF((SYMBO0.NE.1065))GOTO 10345 STATE=3 CALL GETSYM GOTO 10346 10345 CALL SYNERR('''While'' required after ''do''.',0) STATE=3 10346 IF((STATE.EQ.3))GOTO 10347 GPST=2 RETURN 10347 CALL EXPRE0(STATE) AAACP0=STATE GOTO 10348 10349 GPST=2 RETURN 10350 CALL SYNERR('Expression required after ''while''.',0) STATE=3 GOTO 10351 10352 CALL GENMA0 CALL GENOP0(38) CALL GENTO0 CALL OUTEX0 GOTO 10351 10348 GOTO(10350,10349,10352),AAACP0 10351 IF((STATE.EQ.3))GOTO 10353 GPST=2 RETURN 10353 CALL EMPTY(STATE) AAACQ0=STATE GOTO 10354 10355 GPST=2 RETURN 10356 CALL CSPOP GOTO 10357 10354 AAACR0=AAACQ0-1 GOTO(10355,10356),AAACR0 10357 IF((STATE.EQ.3))GOTO 10358 GPST=2 RETURN 10358 CONTINUE 10344 GPST=STATE RETURN END SUBROUTINE IFSTA0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAACS0 INTEGER AAACT0 INTEGER AAACU0 INTEGER AAACV0 INTEGER AAACW0 INTEGER AAACX0 CALL OUTST0(24) CALL OUTMO0(INTMO0) STATE=1 IF((SYMBO0.NE.168))GOTO 10359 STATE=3 CALL GETSYM GOTO 10360 10359 CALL SYNERR('Left paren required after ''if''.',0) STATE=3 10360 IF((STATE.NE.3))GOTO 10361 CALL EXPRE0(STATE) AAACS0=STATE GOTO 10362 10363 GPST=2 RETURN 10364 CALL SYNERR('Expression required after ''if''.',0) STATE=3 GOTO 10365 10366 CALL GENMA0 CALL GENTO0 CALL OUTEX0 GOTO 10365 10362 GOTO(10364,10363,10366),AAACS0 10365 IF((STATE.EQ.3))GOTO 10367 GPST=2 RETURN 10367 STATE=1 IF((SYMBO0.NE.169))GOTO 10368 STATE=3 CALL GETSYM GOTO 10369 10368 CALL SYNERR('Right paren required after ''if''.',0) STATE=3 10369 IF((STATE.EQ.3))GOTO 10370 GPST=2 RETURN 10370 CALL STATE0(STATE) AAACT0=STATE GOTO 10371 10372 GPST=2 RETURN 10373 CALL SYNERR('Statement required after ''if''.',0) STATE=3 GOTO 10374 10375 CALL OUTOP0(39) GOTO 10374 10371 GOTO(10373,10372,10375),AAACT0 10374 IF((STATE.EQ.3))GOTO 10376 GPST=2 RETURN 10376 STATE=1 IF((SYMBO0.NE.1038))GOTO 10377 STATE=3 CALL GETSYM 10377 IF((STATE.NE.3))GOTO 10378 CALL STATE0(STATE) AAACU0=STATE GOTO 10379 10380 GPST=2 RETURN 10381 CALL SYNERR('Statement required after ''else''.',0) STATE=3 GOTO 10382 10379 GOTO(10381,10380),AAACU0 10382 IF((STATE.EQ.3))GOTO 10383 GPST=2 RETURN 10383 CONTINUE 10378 AAACV0=STATE GOTO 10384 10385 STATE=3 GOTO 10386 10384 IF(AAACV0.EQ.1)GOTO 10385 10386 IF((STATE.EQ.3))GOTO 10387 GPST=2 RETURN 10387 CALL EMPTY(STATE) AAACW0=STATE GOTO 10388 10389 GPST=2 RETURN 10390 CALL OUTOP0(39) GOTO 10391 10388 AAACX0=AAACW0-1 GOTO(10389,10390),AAACX0 10391 IF((STATE.EQ.3))GOTO 10392 GPST=2 RETURN 10392 CONTINUE 10361 GPST=STATE RETURN END SUBROUTINE WHILE0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAACY0 INTEGER AAACZ0 INTEGER AAADA0 INTEGER AAADB0 CALL CSPUSH(1) CALL OUTST0(65) STATE=1 IF((SYMBO0.NE.168))GOTO 10393 STATE=3 CALL GETSYM GOTO 10394 10393 CALL SYNERR('Left paren required after ''while''.',0) STATE=3 10394 IF((STATE.NE.3))GOTO 10395 CALL EXPRE0(STATE) AAACY0=STATE GOTO 10396 10397 GPST=2 RETURN 10398 CALL SYNERR('Expression required after ''while''.',0) STATE=3 GOTO 10399 10400 CALL GENMA0 CALL GENTO0 CALL OUTEX0 GOTO 10399 10396 GOTO(10398,10397,10400),AAACY0 10399 IF((STATE.EQ.3))GOTO 10401 GPST=2 RETURN 10401 STATE=1 IF((SYMBO0.NE.169))GOTO 10402 STATE=3 CALL GETSYM GOTO 10403 10402 CALL SYNERR('Right paren required after ''while''.',0) STATE=3 10403 IF((STATE.EQ.3))GOTO 10404 GPST=2 RETURN 10404 CALL STATE0(STATE) AAACZ0=STATE GOTO 10405 10406 GPST=2 RETURN 10407 CALL SYNERR('Statement required after ''while''.',0) STATE=3 GOTO 10408 10405 GOTO(10407,10406),AAACZ0 10408 IF((STATE.EQ.3))GOTO 10409 GPST=2 RETURN 10409 CALL EMPTY(STATE) AAADA0=STATE GOTO 10410 10411 GPST=2 RETURN 10412 CALL OUTOP0(39) CALL CSPOP GOTO 10413 10410 AAADB0=AAADA0-1 GOTO(10411,10412),AAADB0 10413 IF((STATE.EQ.3))GOTO 10414 GPST=2 RETURN 10414 CONTINUE 10395 GPST=STATE RETURN END SUBROUTINE COMPO0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER JUNK INTEGER AAADC0 INTEGER AAADD0 INTEGER AAADE0 INTEGER AAADF0 INTEGER AAADG0 INTEGER AAADH0 INTEGER AAADI0 INTEGER AAADJ0 STATE=1 IF((SYMBO0.NE.251))GOTO 10415 STATE=3 CALL GETSYM GOTO 10416 10415 CALL SYNERR('Left brace required.',0) STATE=3 10416 IF((STATE.NE.3))GOTO 10417 10418 CALL NOTSU0(STATE) AAADC0=STATE GOTO 10419 10420 GPST=2 RETURN 10421 CALL SSALL0(1) SEMSK0(SEMSP0-1)=0 GOTO 10422 10419 AAADD0=AAADC0-1 GOTO(10420,10421),AAADD0 10422 IF((STATE.NE.3))GOTO 10423 CALL DECLA0(STATE) AAADE0=STATE GOTO 10424 10425 GPST=2 RETURN 10426 JUNK=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10427 10424 AAADF0=AAADE0-1 GOTO(10425,10426),AAADF0 10427 IF((STATE.EQ.3))GOTO 10428 GPST=2 RETURN 10428 CONTINUE 10423 CONTINUE IF((STATE.EQ.3))GOTO 10418 AAADG0=STATE GOTO 10429 10430 STATE=3 GOTO 10431 10429 IF(AAADG0.EQ.1)GOTO 10430 10431 IF((STATE.EQ.3))GOTO 10432 GPST=2 RETURN 10432 CONTINUE 10433 CALL NOTST0(STATE) AAADH0=STATE GOTO 10434 10435 GPST=2 RETURN 10434 IF(AAADH0.EQ.2)GOTO 10435 IF((STATE.NE.3))GOTO 10436 CALL STATE0(STATE) AAADI0=STATE GOTO 10437 10438 GPST=2 RETURN 10437 IF(AAADI0.EQ.2)GOTO 10438 IF((STATE.EQ.3))GOTO 10439 GPST=2 RETURN 10439 CONTINUE 10436 CONTINUE IF((STATE.EQ.3))GOTO 10433 AAADJ0=STATE GOTO 10440 10441 STATE=3 GOTO 10442 10440 IF(AAADJ0.EQ.1)GOTO 10441 10442 IF((STATE.EQ.3))GOTO 10443 GPST=2 RETURN 10443 STATE=1 IF((SYMBO0.NE.253))GOTO 10444 STATE=3 CALL GETSYM GOTO 10445 10444 CALL SYNERR('Right brace required.',0) STATE=3 10445 IF((STATE.EQ.3))GOTO 10446 GPST=2 RETURN 10446 CONTINUE 10417 GPST=STATE RETURN END SUBROUTINE DECLA0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER FLAG,SC INTEGER MODE INTEGER AAADK0 INTEGER AAADL0 INTEGER AAADM0 INTEGER AAADN0 INTEGER AAADO0 INTEGER AAADP0 FLAG=SEMSK0(SEMSP0-1) CALL SSALL0(2) SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=MODE CALL DECLS0(STATE) AAADK0=STATE GOTO 10447 10448 GPST=2 RETURN 10449 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) CALL SSDEA0(2) GOTO 10450 10447 AAADL0=AAADK0-1 GOTO(10448,10449),AAADL0 10450 IF((STATE.NE.3))GOTO 10451 STATE=1 IF((SYMBO0.NE.187))GOTO 10452 STATE=3 CALL GETSYM 10452 IF((STATE.NE.1))GOTO 10453 CALL EMPTY(STATE) AAADM0=STATE GOTO 10454 10455 GPST=2 RETURN 10456 CALL SSALL0(3) SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=MODE SEMSK0(SEMSP0-3)=FLAG GOTO 10457 10454 AAADN0=AAADM0-1 GOTO(10455,10456),AAADN0 10457 IF((STATE.NE.3))GOTO 10458 CALL INITE0(STATE) AAADO0=STATE GOTO 10459 10460 GPST=2 RETURN 10461 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) FLAG=SEMSK0(SEMSP0-3) CALL SSDEA0(3) GOTO 10462 10459 AAADP0=AAADO0-1 GOTO(10460,10461),AAADP0 10462 IF((STATE.EQ.3))GOTO 10463 GPST=2 RETURN 10463 STATE=1 IF((SYMBO0.NE.187))GOTO 10464 STATE=3 CALL GETSYM GOTO 10465 10464 CALL SYNERR('Semicolon required.',0) STATE=3 10465 IF((STATE.EQ.3))GOTO 10466 GPST=2 RETURN 10466 CONTINUE 10458 CONTINUE 10453 IF((STATE.NE.3))GOTO 10467 SEMSK0(SEMSP0-1)=FLAG 10467 IF((STATE.EQ.3))GOTO 10468 GPST=2 RETURN 10468 CONTINUE 10451 GPST=STATE RETURN END SUBROUTINE DECLS0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER MODE INTEGER SC INTEGER JUNK INTEGER FINDS0 INTEGER P INTEGER AAADQ0 INTEGER AAADR0 INTEGER AAADS0 INTEGER AAADT0 INTEGER AAADU0 INTEGER AAADV0 INTEGER AAADW0 INTEGER AAADX0 INTEGER AAADY0 INTEGER AAADZ0 INTEGER AAAEA0 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) P=0 MODE=20 SC=1 10469 STATE=1 AAADQ0=SYMBO0 GOTO 10470 10471 STATE=3 IF((SC.EQ.1))GOTO 10472 CALL SYNERR('''Auto'' is redundant.',0) 10472 SC=2 CALL GETSYM GOTO 10473 10474 STATE=3 IF((SC.EQ.1))GOTO 10475 CALL SYNERR('''Extern'' is redundant.',0) 10475 SC=3 CALL GETSYM GOTO 10473 10476 STATE=3 IF((SC.EQ.1))GOTO 10477 CALL SYNERR('''Register'' is redundant.',0) 10477 SC=4 CALL GETSYM GOTO 10473 10478 STATE=3 IF((SC.EQ.1))GOTO 10479 CALL SYNERR('''Static'' is redundant.',0) 10479 SC=5 CALL GETSYM GOTO 10473 10480 STATE=3 IF((SC.EQ.1))GOTO 10481 CALL SYNERR('''Typedef'' is redundant.',0) 10481 SC=6 CALL GETSYM GOTO 10473 10482 STATE=3 IF((MODE.NE.6))GOTO 10483 MODE=2 P=CHARU0 GOTO 10484 10483 IF((MODE.NE.20))GOTO 10485 MODE=1 P=CHARM0 GOTO 10486 10485 CALL SYNERR('''Char'' is redundant.',0) 10486 CONTINUE 10484 CALL GETSYM GOTO 10473 10487 STATE=3 IF((MODE.NE.6))GOTO 10488 MODE=7 P=SHORU0 GOTO 10489 10488 IF((MODE.EQ.20))GOTO 10491 IF((MODE.EQ.3))GOTO 10491 GOTO 10490 10491 MODE=4 P=SHORT0 GOTO 10492 10490 CALL SYNERR('''Short'' is redundant.',0) 10492 CONTINUE 10489 CALL GETSYM GOTO 10473 10493 STATE=3 IF((MODE.NE.20))GOTO 10494 MODE=3 P=INTMO0 GOTO 10495 10494 IF((MODE.EQ.4))GOTO 10496 IF((MODE.EQ.5))GOTO 10496 IF((MODE.EQ.6))GOTO 10496 IF((MODE.EQ.7))GOTO 10496 IF((MODE.EQ.8))GOTO 10496 CALL SYNERR('''Int'' is redundant.',0) 10496 CONTINUE 10495 CALL GETSYM GOTO 10473 10497 STATE=3 IF((MODE.EQ.20))GOTO 10499 IF((MODE.EQ.3))GOTO 10499 GOTO 10498 10499 MODE=5 P=LONGM0 GOTO 10500 10498 IF((MODE.NE.6))GOTO 10501 MODE=8 P=LONGU0 GOTO 10502 10501 IF((MODE.NE.9))GOTO 10503 MODE=10 P=DOUBL0 GOTO 10504 10503 CALL SYNERR('''Long'' is redundant.',0) 10504 CONTINUE 10502 CONTINUE 10500 CALL GETSYM GOTO 10473 10505 STATE=3 IF((MODE.NE.4))GOTO 10506 MODE=7 P=SHORU0 GOTO 10507 10506 IF((MODE.NE.1))GOTO 10508 MODE=2 P=CHARU0 GOTO 10509 10508 IF((MODE.NE.5))GOTO 10510 MODE=8 P=LONGU0 GOTO 10511 10510 IF((MODE.EQ.20))GOTO 10513 IF((MODE.EQ.3))GOTO 10513 GOTO 10512 10513 MODE=6 P=UNSIG0 GOTO 10514 10512 CALL SYNERR('''Unsigned'' is redundant.',0) 10514 CONTINUE 10511 CONTINUE 10509 CONTINUE 10507 CALL GETSYM GOTO 10473 10515 STATE=3 IF((MODE.NE.20))GOTO 10516 MODE=9 P=FLOAT0 GOTO 10517 10516 IF((MODE.NE.5))GOTO 10518 MODE=10 P=DOUBL0 GOTO 10519 10518 IF((MODE.EQ.10))GOTO 10520 CALL SYNERR('''Float'' is redundant.',0) 10520 CONTINUE 10519 CONTINUE 10517 CALL GETSYM GOTO 10473 10521 STATE=3 IF((MODE.EQ.20))GOTO 10523 IF((MODE.EQ.9))GOTO 10523 GOTO 10522 10523 MODE=10 P=DOUBL0 GOTO 10524 10522 CALL SYNERR('''Double'' is redundant.',0) 10524 CALL GETSYM GOTO 10473 10525 STATE=3 IF((MODE.EQ.20))GOTO 10526 CALL SYNERR('''Struct'' is redundant.',0) 10526 MODE=16 CALL SSALL0(2) SEMSK0(SEMSP0-1)=0 SEMSK0(SEMSP0-2)=P CALL GETSYM IF((STATE.NE.3))GOTO 10473 CALL STRUH0(STATE) AAADR0=STATE GOTO 10528 10529 GPST=2 RETURN 10530 JUNK=SEMSK0(SEMSP0-1) P=SEMSK0(SEMSP0-2) CALL SSDEA0(2) GOTO 10531 10528 AAADS0=AAADR0-1 GOTO(10529,10530),AAADS0 10531 IF((STATE.EQ.3))GOTO 10532 GPST=2 RETURN 10532 CONTINUE 10527 GOTO 10473 10533 STATE=3 IF((MODE.EQ.20))GOTO 10534 CALL SYNERR('''Union'' is redundant.',0) 10534 MODE=17 CALL SSALL0(2) SEMSK0(SEMSP0-1)=1 SEMSK0(SEMSP0-2)=P CALL GETSYM IF((STATE.NE.3))GOTO 10473 CALL STRUH0(STATE) AAADT0=STATE GOTO 10536 10537 GPST=2 RETURN 10538 JUNK=SEMSK0(SEMSP0-1) P=SEMSK0(SEMSP0-2) CALL SSDEA0(2) GOTO 10539 10536 AAADU0=AAADT0-1 GOTO(10537,10538),AAADU0 10539 IF((STATE.EQ.3))GOTO 10540 GPST=2 RETURN 10540 CONTINUE 10535 GOTO 10473 10541 STATE=3 IF((MODE.EQ.20))GOTO 10542 CALL SYNERR('''Enum'' is redundant.',0) 10542 MODE=14 CALL SSALL0(1) SEMSK0(SEMSP0-1)=P CALL GETSYM IF((STATE.NE.3))GOTO 10473 CALL ENUMS0(STATE) AAADV0=STATE GOTO 10544 10545 GPST=2 RETURN 10546 P=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10547 10544 AAADW0=AAADV0-1 GOTO(10545,10546),AAADW0 10547 IF((STATE.EQ.3))GOTO 10548 GPST=2 RETURN 10548 CONTINUE 10543 GOTO 10473 10549 STATE=3 IF((FINDS0(SYMTE0,SYMPT0,1).EQ.0))GOTO 10551 IF((MEMAA0(SYMPT0+2).NE.6))GOTO 10551 GOTO 10550 10551 STATE=1 GOTO 10552 10550 IF((MODE.EQ.20))GOTO 10553 IF((MEMAA0(SYMPT0+3).NE.LLAAA0))GOTO 10554 CALL SYNERR('Mode and typedef name cannot appear togethe *r.',0) 10554 STATE=1 10553 CONTINUE 10552 IF((STATE.NE.3))GOTO 10473 STATE=1 IF((SYMBO0.NE.1023))GOTO 10556 STATE=3 MODE=19 P=MEMAA0(SYMPT0+1) CALL GETSYM 10556 IF((STATE.EQ.3))GOTO 10557 GPST=2 RETURN 10557 CONTINUE 10555 GOTO 10473 10470 AAADX0=AAADQ0-1022 GOTO(10549,10558,10558,10558,10558,10471,10558,10558,10482,10558 *,10558,10558,10558,10558,10521,10558,10558,10558,10541,10474,10515 *,10558,10558,10558,10558,10558,10558,10558,10493,10558,10497,10476 *,10558,10487,10558,10478,10525,10558,10480,10558,10533,10505),AAAD *X0 10558 CONTINUE 10473 CONTINUE IF((STATE.EQ.3))GOTO 10469 AAADY0=STATE GOTO 10559 10560 STATE=3 GOTO 10561 10559 IF(AAADY0.EQ.1)GOTO 10560 10561 IF((STATE.NE.3))GOTO 10562 CALL EMPTY(STATE) AAADZ0=STATE GOTO 10563 10564 GPST=2 RETURN 10565 IF((MODE.NE.20))GOTO 10566 P=INTMO0 10566 SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=P GOTO 10567 10563 AAAEA0=AAADZ0-1 GOTO(10564,10565),AAAEA0 10567 IF((STATE.EQ.3))GOTO 10568 GPST=2 RETURN 10568 CONTINUE 10562 GPST=STATE RETURN END SUBROUTINE INITE0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAEB0 INTEGER AAAEC0 INTEGER AAAED0 CALL INITD0(STATE) AAAEB0=STATE GOTO 10569 10570 GPST=2 RETURN 10569 IF(AAAEB0.EQ.2)GOTO 10570 IF((STATE.NE.3))GOTO 10571 10572 STATE=1 IF((SYMBO0.NE.172))GOTO 10573 STATE=3 CALL GETSYM 10573 IF((STATE.NE.3))GOTO 10574 CALL INITD0(STATE) AAAEC0=STATE GOTO 10575 10576 GPST=2 RETURN 10575 IF(AAAEC0.EQ.2)GOTO 10576 IF((STATE.EQ.3))GOTO 10577 GPST=2 RETURN 10577 CONTINUE 10574 CONTINUE IF((STATE.EQ.3))GOTO 10572 AAAED0=STATE GOTO 10578 10579 STATE=3 GOTO 10580 10578 IF(AAAED0.EQ.1)GOTO 10579 10580 IF((STATE.EQ.3))GOTO 10581 GPST=2 RETURN 10581 CONTINUE 10571 GPST=STATE RETURN END SUBROUTINE INITD0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER DM,ID,PARAMS INTEGER MODE INTEGER SC,ARG INTEGER ISSTO0 INTEGER AAAEE0 INTEGER AAAEF0 INTEGER AAAEG0 INTEGER AAAEH0 INTEGER AAAEI0 INTEGER AAAEJ0 INTEGER AAAEK0 INTEGER AAAEL0 INTEGER AAAEM0 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) ARG=SEMSK0(SEMSP0-3) ID=0 PARAMS=0 CALL SSALL0(2) SEMSK0(SEMSP0-1)=ID SEMSK0(SEMSP0-2)=PARAMS CALL DECLB0(STATE) AAAEE0=STATE GOTO 10582 10583 GPST=2 RETURN 10584 ID=SEMSK0(SEMSP0-1) PARAMS=SEMSK0(SEMSP0-2) CALL SSDEA0(2) DM=MODE CALL CREAU0(DM) CALL ENTET0(ID,DM,SC,PARAMS,ARG,0) IF((ISSTO0(ID).NE.1))GOTO 10586 CALL OUTVAR(ID) 10585 GOTO 10586 10582 AAAEF0=AAAEE0-1 GOTO(10583,10584),AAAEF0 10586 IF((STATE.NE.3))GOTO 10587 STATE=1 IF((SYMBO0.NE.189))GOTO 10588 STATE=3 IF((ARG.NE.1))GOTO 10589 CALL SYNERR('Parameters cannot be initialized.',0) STATE=1 CALL SKIPTO(172) 10589 CALL GETSYM 10588 IF((STATE.NE.3))GOTO 10590 CALL EMPTY(STATE) AAAEG0=STATE GOTO 10591 10592 GPST=2 RETURN 10593 CALL SSALL0(1) SEMSK0(SEMSP0-1)=ID GOTO 10594 10591 AAAEH0=AAAEG0-1 GOTO(10592,10593),AAAEH0 10594 IF((STATE.EQ.3))GOTO 10595 GPST=2 RETURN 10595 CALL INITJ0(STATE) AAAEI0=STATE GOTO 10596 10597 GPST=2 RETURN 10598 ID=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10599 10596 AAAEJ0=AAAEI0-1 GOTO(10597,10598),AAAEJ0 10599 IF((STATE.EQ.3))GOTO 10600 GPST=2 RETURN 10600 CONTINUE 10590 AAAEK0=STATE GOTO 10601 10602 STATE=3 GOTO 10603 10601 IF(AAAEK0.EQ.1)GOTO 10602 10603 IF((STATE.EQ.3))GOTO 10604 GPST=2 RETURN 10604 CALL EMPTY(STATE) AAAEL0=STATE GOTO 10605 10606 GPST=2 RETURN 10607 CALL ALLOC0(ID) IF((ISSTO0(ID).NE.1))GOTO 10608 CALL OUTOP0(39) CALL OUTSI0(MEMAA0(ID+1)) 10608 SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=MODE SEMSK0(SEMSP0-3)=ARG GOTO 10609 10605 AAAEM0=AAAEL0-1 GOTO(10606,10607),AAAEM0 10609 IF((STATE.EQ.3))GOTO 10610 GPST=2 RETURN 10610 CONTINUE 10587 GPST=STATE RETURN END SUBROUTINE DECLB0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER PARAMS,ID INTEGER SCNT,V INTEGER Q,TAIL,TP,MP INTEGER SDUPL,DSGET INTEGER AAAEN0 INTEGER AAAEO0 INTEGER AAAEP0 INTEGER AAAEQ0 INTEGER AAAER0 INTEGER AAAES0 INTEGER AAAET0 INTEGER AAAEU0 INTEGER AAAEV0 INTEGER AAAEW0 INTEGER AAAEX0 INTEGER AAAEY0 INTEGER AAAEZ0 ID=SEMSK0(SEMSP0-1) PARAMS=SEMSK0(SEMSP0-2) SCNT=0 10611 STATE=1 IF((SYMBO0.NE.170))GOTO 10612 STATE=3 SCNT=SCNT+(1) CALL GETSYM 10612 CONTINUE IF((STATE.EQ.3))GOTO 10611 AAAEN0=STATE GOTO 10613 10614 STATE=3 GOTO 10615 10613 IF(AAAEN0.EQ.1)GOTO 10614 10615 IF((STATE.NE.3))GOTO 10616 STATE=1 IF((SYMBO0.NE.168))GOTO 10617 STATE=3 CALL SSALL0(2) SEMSK0(SEMSP0-1)=ID SEMSK0(SEMSP0-2)=PARAMS CALL GETSYM 10617 IF((STATE.NE.3))GOTO 10618 CALL DECLB0(STATE) AAAEO0=STATE GOTO 10619 10620 GPST=2 RETURN 10621 ID=SEMSK0(SEMSP0-1) PARAMS=SEMSK0(SEMSP0-2) CALL SSDEA0(2) GOTO 10622 10619 AAAEP0=AAAEO0-1 GOTO(10620,10621),AAAEP0 10622 IF((STATE.EQ.3))GOTO 10623 GPST=2 RETURN 10623 STATE=1 IF((SYMBO0.NE.169))GOTO 10624 STATE=3 CALL GETSYM GOTO 10625 10624 CALL SYNERR('right paren required.',0) STATE=3 10625 IF((STATE.EQ.3))GOTO 10626 GPST=2 RETURN 10626 CONTINUE 10618 IF((STATE.NE.1))GOTO 10627 IF((SYMBO0.NE.1023))GOTO 10628 STATE=3 ID=SDUPL(SYMTE0) CALL GETSYM 10628 CONTINUE 10627 IF((STATE.NE.1))GOTO 10629 CALL SYNERR('Identifier required in declarator.',0) CALL GETSYM STATE=3 10629 IF((STATE.EQ.3))GOTO 10630 GPST=2 RETURN 10630 CONTINUE 10631 STATE=1 IF((SYMBO0.NE.168))GOTO 10632 STATE=3 CALL GETSYM 10632 IF((STATE.NE.3))GOTO 10633 STATE=1 IF((SYMBO0.NE.1023))GOTO 10634 STATE=3 TP=SDUPL(SYMTE0) MP=0 CALL GETSYM GOTO 10635 10634 CALL SSALL0(1) SEMSK0(SEMSP0-1)=MP 10635 IF((STATE.NE.1))GOTO 10636 CALL TYPEN0(STATE) AAAEQ0=STATE GOTO 10637 10638 GPST=2 RETURN 10639 MP=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10640 10641 MP=SEMSK0(SEMSP0-1) CALL SSDEA0(1) TP=0 GOTO 10640 10637 GOTO(10639,10638,10641),AAAEQ0 10640 IF((STATE.NE.1))GOTO 10642 IF((SYMBO0.NE.172))GOTO 10643 STATE=3 TP=0 MP=0 10643 CONTINUE 10642 CONTINUE 10636 IF((STATE.NE.3))GOTO 10644 IF((PARAMS.EQ.0))GOTO 10645 CALL SYNERR('Only 1 parameter list allowed.',0) 10645 TAIL=DSGET(3) PARAMS=TAIL MEMAA0(TAIL+1)=TP MEMAA0(TAIL+2)=MP MEMAA0(TAIL)=0 10644 IF((STATE.NE.3))GOTO 10646 10647 STATE=1 IF((SYMBO0.NE.172))GOTO 10648 STATE=3 CALL GETSYM 10648 IF((STATE.NE.3))GOTO 10649 STATE=1 IF((SYMBO0.NE.1023))GOTO 10650 STATE=3 TP=SDUPL(SYMTE0) MP=0 CALL GETSYM GOTO 10651 10650 CALL SSALL0(1) SEMSK0(SEMSP0-1)=MP 10651 IF((STATE.NE.1))GOTO 10652 CALL TYPEN0(STATE) AAAER0=STATE GOTO 10653 10654 GPST=2 RETURN 10655 MP=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10656 10657 MP=SEMSK0(SEMSP0-1) CALL SSDEA0(1) TP=0 GOTO 10656 10653 GOTO(10655,10654,10657),AAAER0 10656 IF((STATE.NE.1))GOTO 10658 IF((SYMBO0.NE.172))GOTO 10659 STATE=3 TP=0 MP=0 10659 CONTINUE 10658 CONTINUE 10652 AAAES0=STATE GOTO 10660 10661 CALL SYNERR('Parameters must be identifiers.',0) STATE=3 GOTO 10662 10663 Q=DSGET(3) MEMAA0(Q+1)=TP MEMAA0(Q+2)=MP MEMAA0(Q)=0 MEMAA0(TAIL)=Q TAIL=Q GOTO 10662 10660 GOTO(10661,10664,10663),AAAES0 10664 CONTINUE 10662 IF((STATE.EQ.3))GOTO 10665 GPST=2 RETURN 10665 CONTINUE 10649 CONTINUE IF((STATE.EQ.3))GOTO 10647 AAAET0=STATE GOTO 10666 10667 STATE=3 GOTO 10668 10666 IF(AAAET0.EQ.1)GOTO 10667 10668 IF((STATE.EQ.3))GOTO 10669 GPST=2 RETURN 10669 CONTINUE 10646 AAAEU0=STATE GOTO 10670 10671 STATE=3 GOTO 10672 10670 IF(AAAEU0.EQ.1)GOTO 10671 10672 IF((STATE.EQ.3))GOTO 10673 GPST=2 RETURN 10673 STATE=1 IF((SYMBO0.NE.169))GOTO 10674 STATE=3 CALL SAVEM0(15,0) CALL GETSYM GOTO 10675 10674 CALL SYNERR('Parameters must be identifiers.',0) STATE=3 10675 IF((STATE.EQ.3))GOTO 10676 GPST=2 RETURN 10676 CONTINUE 10633 IF((STATE.NE.1))GOTO 10677 IF((SYMBO0.NE.219))GOTO 10678 STATE=3 CALL SSALL0(1) SEMSK0(SEMSP0-1)=0 CALL GETSYM 10678 IF((STATE.NE.3))GOTO 10679 CALL CONST0(STATE) AAAEV0=STATE GOTO 10680 10681 GPST=2 RETURN 10682 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) V=0 GOTO 10683 10684 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10683 10680 GOTO(10682,10681,10684),AAAEV0 10683 AAAEW0=STATE GOTO 10685 10686 STATE=3 GOTO 10687 10685 IF(AAAEW0.EQ.1)GOTO 10686 10687 IF((STATE.EQ.3))GOTO 10688 GPST=2 RETURN 10688 STATE=1 IF((SYMBO0.NE.221))GOTO 10689 STATE=3 CALL SAVEM0(13,V) CALL GETSYM GOTO 10690 10689 CALL SYNERR('Right bracket required.',0) STATE=3 10690 IF((STATE.EQ.3))GOTO 10691 GPST=2 RETURN 10691 CONTINUE 10679 CONTINUE 10677 CONTINUE IF((STATE.EQ.3))GOTO 10631 AAAEX0=STATE GOTO 10692 10693 STATE=3 GOTO 10694 10692 IF(AAAEX0.EQ.1)GOTO 10693 10694 IF((STATE.EQ.3))GOTO 10695 GPST=2 RETURN 10695 CALL EMPTY(STATE) AAAEY0=STATE GOTO 10696 10697 GPST=2 RETURN 10699 SCNT=SCNT-(1) 10701 IF((SCNT.LE.0))GOTO 10700 CALL SAVEM0(12,0) GOTO 10699 10700 SEMSK0(SEMSP0-1)=ID SEMSK0(SEMSP0-2)=PARAMS GOTO 10702 10696 AAAEZ0=AAAEY0-1 GOTO(10697,10701),AAAEZ0 10702 IF((STATE.EQ.3))GOTO 10703 GPST=2 RETURN 10703 CONTINUE 10616 GPST=STATE RETURN END SUBROUTINE STRUH0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER UNION INTEGER MP,TAIL,ID INTEGER FINDS0,MAKES0,ENTEW0 INTEGER MT INTEGER AAAFA0 INTEGER AAAFB0 INTEGER AAAFC0 INTEGER AAAFD0 INTEGER AAAFE0 UNION=SEMSK0(SEMSP0-1) MP=SEMSK0(SEMSP0-2) IF((UNION.NE.0))GOTO 10704 MT=16 GOTO 10705 10704 MT=17 10705 STATE=1 IF((SYMBO0.NE.251))GOTO 10706 STATE=3 MP=ENTEW0(MODET0,MT,0) 10706 IF((STATE.NE.1))GOTO 10707 IF((SYMBO0.NE.1023))GOTO 10708 STATE=3 IF((FINDS0(SYMTE0,ID,2).EQ.0))GOTO 10710 IF((MEMAA0(ID+3).EQ.LLAAA0))GOTO 10709 IF((NSYMB0.NE.251))GOTO 10709 GOTO 10710 10710 ID=MAKES0(SYMTE0,4,LLAAA0) MP=ENTEW0(MODET0,MT,0) MEMAA0(ID+1)=MP GOTO 10712 10709 IF((MEMAA0(ID).EQ.4))GOTO 10713 CALL SYNERR('Struct tag already declared as struct member. *',0) MP=ENTEW0(MODET0,MT,0) GOTO 10714 10713 IF((NSYMB0.NE.251))GOTO 10715 IF((MEMAA0(ID+1).EQ.0))GOTO 10715 IF((MEMAA0(MEMAA0(ID+1)+5).EQ.0))GOTO 10715 CALL SYNERR('Struct already defined.',0) MP=ENTEW0(MODET0,MT,0) GOTO 10716 10715 MP=MEMAA0(ID+1) 10716 CONTINUE 10714 CONTINUE 10712 CALL GETSYM 10708 CONTINUE 10707 IF((STATE.NE.1))GOTO 10717 CALL SYNERR('Name or left brace must follow ''struct''.',0) STATE=3 MP=ENTEW0(MODET0,MT,0) 10717 IF((STATE.NE.3))GOTO 10718 STATE=1 IF((SYMBO0.NE.251))GOTO 10719 STATE=3 MEMAA0(MP+5)=0 CALL PUTLO0(MEMAA0(MP+6),INTL(0)) TAIL=0 CALL SSALL0(2) SEMSK0(SEMSP0-1)=MP SEMSK0(SEMSP0-2)=TAIL CALL GETSYM 10719 IF((STATE.NE.3))GOTO 10720 CALL STRUF0(STATE) AAAFA0=STATE GOTO 10721 10722 GPST=2 RETURN 10723 MP=SEMSK0(SEMSP0-1) TAIL=SEMSK0(SEMSP0-2) CALL SSDEA0(2) CALL ALIGN0(INTMO0,MEMAA0(MP+6)) GOTO 10724 10721 AAAFB0=AAAFA0-1 GOTO(10722,10723),AAAFB0 10724 IF((STATE.EQ.3))GOTO 10725 GPST=2 RETURN 10725 STATE=1 IF((SYMBO0.NE.253))GOTO 10726 STATE=3 CALL GETSYM GOTO 10727 10726 CALL SYNERR('Right brace required.',0) STATE=3 10727 IF((STATE.EQ.3))GOTO 10728 GPST=2 RETURN 10728 CONTINUE 10720 AAAFC0=STATE GOTO 10729 10730 STATE=3 GOTO 10731 10729 IF(AAAFC0.EQ.1)GOTO 10730 10731 IF((STATE.EQ.3))GOTO 10732 GPST=2 RETURN 10732 CALL EMPTY(STATE) AAAFD0=STATE GOTO 10733 10734 GPST=2 RETURN 10735 IF((MP.NE.0))GOTO 10736 MP=INTMO0 10736 SEMSK0(SEMSP0-1)=UNION SEMSK0(SEMSP0-2)=MP GOTO 10737 10733 AAAFE0=AAAFD0-1 GOTO(10734,10735),AAAFE0 10737 IF((STATE.EQ.3))GOTO 10738 GPST=2 RETURN 10738 CONTINUE 10718 GPST=STATE RETURN END SUBROUTINE STRUF0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAFF0 INTEGER AAAFG0 INTEGER AAAFH0 INTEGER AAAFI0 CALL STRUC0(STATE) AAAFF0=STATE GOTO 10739 10740 GPST=2 RETURN 10739 IF(AAAFF0.EQ.2)GOTO 10740 IF((STATE.NE.3))GOTO 10741 10742 CALL TYPEO0(STATE) AAAFG0=STATE GOTO 10743 10744 GPST=2 RETURN 10743 IF(AAAFG0.EQ.2)GOTO 10744 IF((STATE.NE.3))GOTO 10745 CALL STRUC0(STATE) AAAFH0=STATE GOTO 10746 10747 GPST=2 RETURN 10746 IF(AAAFH0.EQ.2)GOTO 10747 IF((STATE.EQ.3))GOTO 10748 GPST=2 RETURN 10748 CONTINUE 10745 CONTINUE IF((STATE.EQ.3))GOTO 10742 AAAFI0=STATE GOTO 10749 10750 STATE=3 GOTO 10751 10749 IF(AAAFI0.EQ.1)GOTO 10750 10751 IF((STATE.EQ.3))GOTO 10752 GPST=2 RETURN 10752 CONTINUE 10741 GPST=STATE RETURN END SUBROUTINE STRUC0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER MP,TAIL,ID INTEGER SC,SIZE INTEGER MODE INTEGER AAAFJ0 INTEGER AAAFK0 INTEGER AAAFL0 INTEGER AAAFM0 INTEGER AAAFN0 INTEGER AAAFO0 MP=SEMSK0(SEMSP0-1) TAIL=SEMSK0(SEMSP0-2) CALL SSALL0(2) SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=MODE CALL DECLS0(STATE) AAAFJ0=STATE GOTO 10753 10754 GPST=2 RETURN 10755 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) CALL SSDEA0(2) IF((SC.EQ.1))GOTO 10756 CALL SYNERR('Storage class cannot appear in ''struct''.',0) SC=1 10756 CALL SSALL0(3) SEMSK0(SEMSP0-1)=MP SEMSK0(SEMSP0-2)=TAIL SEMSK0(SEMSP0-3)=MODE GOTO 10757 10753 AAAFK0=AAAFJ0-1 GOTO(10754,10755),AAAFK0 10757 IF((STATE.NE.3))GOTO 10758 CALL STRUE0(STATE) AAAFL0=STATE GOTO 10759 10760 GPST=2 RETURN 10761 MP=SEMSK0(SEMSP0-1) TAIL=SEMSK0(SEMSP0-2) MODE=SEMSK0(SEMSP0-3) CALL SSDEA0(3) GOTO 10762 10759 AAAFM0=AAAFL0-1 GOTO(10760,10761),AAAFM0 10762 IF((STATE.EQ.3))GOTO 10763 GPST=2 RETURN 10763 STATE=1 IF((SYMBO0.NE.187))GOTO 10764 STATE=3 CALL GETSYM GOTO 10765 10764 CALL SYNERR('Semicolon required.',0) STATE=3 10765 IF((STATE.EQ.3))GOTO 10766 GPST=2 RETURN 10766 CALL EMPTY(STATE) AAAFN0=STATE GOTO 10767 10768 GPST=2 RETURN 10769 SEMSK0(SEMSP0-1)=MP SEMSK0(SEMSP0-2)=TAIL GOTO 10770 10767 AAAFO0=AAAFN0-1 GOTO(10768,10769),AAAFO0 10770 IF((STATE.EQ.3))GOTO 10771 GPST=2 RETURN 10771 CONTINUE 10758 GPST=STATE RETURN END SUBROUTINE STRUE0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAFP0 INTEGER AAAFQ0 INTEGER AAAFR0 CALL STRUD0(STATE) AAAFP0=STATE GOTO 10772 10773 GPST=2 RETURN 10772 IF(AAAFP0.EQ.2)GOTO 10773 IF((STATE.NE.3))GOTO 10774 10775 STATE=1 IF((SYMBO0.NE.172))GOTO 10776 STATE=3 CALL GETSYM 10776 IF((STATE.NE.3))GOTO 10777 CALL STRUD0(STATE) AAAFQ0=STATE GOTO 10778 10779 GPST=2 RETURN 10778 IF(AAAFQ0.EQ.2)GOTO 10779 IF((STATE.EQ.3))GOTO 10780 GPST=2 RETURN 10780 CONTINUE 10777 CONTINUE IF((STATE.EQ.3))GOTO 10775 AAAFR0=STATE GOTO 10781 10782 STATE=3 GOTO 10783 10781 IF(AAAFR0.EQ.1)GOTO 10782 10783 IF((STATE.EQ.3))GOTO 10784 GPST=2 RETURN 10784 CONTINUE 10774 GPST=STATE RETURN END SUBROUTINE STRUD0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER ID,TAIL,MODE,MP INTEGER PARAMS,DM INTEGER DSGET INTEGER V,SIZE INTEGER * 4 SIZEO0 INTEGER AAAFS0 INTEGER AAAFT0 INTEGER AAAFU0 INTEGER AAAFV0 INTEGER AAAFW0 INTEGER AAAFX0 INTEGER AAAFY0 INTEGER AAAFZ0 INTEGER AAAGA0 MP=SEMSK0(SEMSP0-1) TAIL=SEMSK0(SEMSP0-2) MODE=SEMSK0(SEMSP0-3) STATE=1 IF((SYMBO0.NE.186))GOTO 10785 STATE=3 CALL SSALL0(1) SEMSK0(SEMSP0-1)=0 CALL GETSYM 10785 IF((STATE.NE.3))GOTO 10786 CALL CONST0(STATE) AAAFS0=STATE GOTO 10787 10788 GPST=2 RETURN 10789 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) V=0 CALL SYNERR('Constant expression required.',0) STATE=3 GOTO 10790 10791 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) IF((V.GE.0))GOTO 10792 CALL SYNERR('Field size must be >= 0.',0) GOTO 10790 10792 IF((V.NE.0))GOTO 10794 CALL ALIGN0(SHORT0,MEMAA0(MP+6)) GOTO 10795 10794 IF((V.LE.16))GOTO 10796 DM=LONGU0 GOTO 10797 10796 DM=SHORU0 10797 CALL CREAT0(DM,11,V) CALL ALIGN0(DM,MEMAA0(MP+6)) CALL ALLOD0(MP,SIZEO0(DM)) 10795 CONTINUE 10793 GOTO 10790 10787 GOTO(10789,10788,10791),AAAFS0 10790 IF((STATE.EQ.3))GOTO 10798 GPST=2 RETURN 10798 CONTINUE 10786 IF((STATE.NE.1))GOTO 10799 CALL EMPTY(STATE) AAAFT0=STATE GOTO 10800 10801 GPST=2 RETURN 10802 ID=0 PARAMS=0 CALL SSALL0(2) SEMSK0(SEMSP0-1)=ID SEMSK0(SEMSP0-2)=PARAMS GOTO 10803 10800 AAAFU0=AAAFT0-1 GOTO(10801,10802),AAAFU0 10803 IF((STATE.NE.3))GOTO 10804 CALL DECLB0(STATE) AAAFV0=STATE GOTO 10805 10806 GPST=2 RETURN 10807 ID=SEMSK0(SEMSP0-1) PARAMS=SEMSK0(SEMSP0-2) CALL SSDEA0(2) DM=MODE CALL CREAU0(DM) GOTO 10808 10805 AAAFW0=AAAFV0-1 GOTO(10806,10807),AAAFW0 10808 IF((STATE.EQ.3))GOTO 10809 GPST=2 RETURN 10809 STATE=1 IF((SYMBO0.NE.186))GOTO 10810 STATE=3 CALL SSALL0(1) SEMSK0(SEMSP0-1)=0 CALL GETSYM 10810 IF((STATE.NE.3))GOTO 10811 CALL CONST0(STATE) AAAFX0=STATE GOTO 10812 10813 GPST=2 RETURN 10814 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) CALL SYNERR('Constant expression required.',0) STATE=3 GOTO 10815 10816 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) IF((V.GT.0))GOTO 10817 CALL SYNERR('Field size must be > 0.',0) V=1 10817 IF((V.LE.32))GOTO 10818 CALL SYNERR('Field size must be <= 32.',0) V=32 10818 IF((DM.EQ.INTMO0))GOTO 10819 IF((DM.EQ.SHORT0))GOTO 10819 IF((DM.EQ.LONGM0))GOTO 10819 IF((DM.EQ.UNSIG0))GOTO 10819 IF((DM.EQ.LONGU0))GOTO 10819 IF((DM.EQ.SHORU0))GOTO 10819 IF((DM.EQ.CHARM0))GOTO 10819 CALL SYNERR('Only fields of integers are allowed.',0) 10819 IF((V.LE.16))GOTO 10820 DM=LONGU0 GOTO 10821 10820 DM=SHORU0 10821 CALL CREAT0(DM,11,V) GOTO 10815 10812 GOTO(10814,10813,10816),AAAFX0 10815 IF((STATE.EQ.3))GOTO 10822 GPST=2 RETURN 10822 CONTINUE 10811 AAAFY0=STATE GOTO 10823 10824 STATE=3 GOTO 10825 10823 IF(AAAFY0.EQ.1)GOTO 10824 10825 IF((STATE.EQ.3))GOTO 10826 GPST=2 RETURN 10826 CALL EMPTY(STATE) AAAFZ0=STATE GOTO 10827 10828 GPST=2 RETURN 10829 CALL ALIGN0(DM,MEMAA0(MP+6)) IF((MEMAA0(MP+3).NE.17))GOTO 10830 CALL ENTEX0(ID,DM,PARAMS,INTL(0)) GOTO 10831 10830 CALL ENTEX0(ID,DM,PARAMS,MEMAA0(MP+6)) 10831 CALL ALLOD0(MP,SIZEO0(DM)) IF((MEMAA0(MP+5).NE.0))GOTO 10832 MEMAA0(MP+5)=DSGET(2) TAIL=MEMAA0(MP+5) GOTO 10833 10832 MEMAA0(TAIL)=DSGET(2) TAIL=MEMAA0(TAIL) 10833 MEMAA0(TAIL)=0 MEMAA0(TAIL+1)=ID GOTO 10834 10827 AAAGA0=AAAFZ0-1 GOTO(10828,10829),AAAGA0 10834 IF((STATE.EQ.3))GOTO 10835 GPST=2 RETURN 10835 CONTINUE 10804 CONTINUE 10799 IF((STATE.NE.3))GOTO 10836 SEMSK0(SEMSP0-1)=MP SEMSK0(SEMSP0-2)=TAIL SEMSK0(SEMSP0-3)=MODE 10836 GPST=STATE RETURN END SUBROUTINE ENUMS0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER MP INTEGER V INTEGER FINDS0 INTEGER ID INTEGER MAKES0,ENTEW0 INTEGER AAAGB0 INTEGER AAAGC0 INTEGER AAAGD0 INTEGER AAAGE0 INTEGER AAAGF0 INTEGER AAAGG0 INTEGER AAAGH0 INTEGER AAAGI0 MP=SEMSK0(SEMSP0-1) STATE=1 IF((SYMBO0.NE.251))GOTO 10837 STATE=3 MP=ENTEW0(MODET0,14,0) 10837 IF((STATE.NE.1))GOTO 10838 IF((SYMBO0.NE.1023))GOTO 10839 STATE=3 IF((FINDS0(SYMTE0,ID,1).EQ.0))GOTO 10841 IF((MEMAA0(ID+3).EQ.LLAAA0))GOTO 10840 IF((NSYMB0.NE.251))GOTO 10840 GOTO 10841 10841 ID=MAKES0(SYMTE0,5,LLAAA0) MP=ENTEW0(MODET0,14,0) MEMAA0(ID+1)=MP GOTO 10843 10840 IF((MEMAA0(ID).EQ.5))GOTO 10844 CALL SYNERR('Already defined, but not as ''enum''.',0) MP=ENTEW0(MODET0,14,0) GOTO 10845 10844 IF((NSYMB0.NE.251))GOTO 10846 IF((MEMAA0(ID+1).EQ.0))GOTO 10846 IF((MEMAA0(MEMAA0(ID+1)+5).EQ.0))GOTO 10846 CALL SYNERR('Enum already defined.',0) MP=ENTEW0(MODET0,14,0) GOTO 10847 10846 MP=MEMAA0(ID+1) 10847 CONTINUE 10845 CONTINUE 10843 CALL GETSYM 10839 CONTINUE 10838 IF((STATE.NE.1))GOTO 10848 CALL SYNERR('Name or left brace must follow ''enum''.',0) STATE=3 MP=ENTEW0(MODET0,14,0) 10848 IF((STATE.NE.3))GOTO 10849 STATE=1 IF((SYMBO0.NE.251))GOTO 10850 STATE=3 MEMAA0(MP+5)=1 V=0 CALL SSALL0(2) SEMSK0(SEMSP0-1)=MP SEMSK0(SEMSP0-2)=V CALL GETSYM 10850 IF((STATE.NE.3))GOTO 10851 CALL ENUMD0(STATE) AAAGB0=STATE GOTO 10852 10853 GPST=2 RETURN 10854 MP=SEMSK0(SEMSP0-1) V=SEMSK0(SEMSP0-2) CALL SSDEA0(2) GOTO 10855 10852 AAAGC0=AAAGB0-1 GOTO(10853,10854),AAAGC0 10855 IF((STATE.EQ.3))GOTO 10856 GPST=2 RETURN 10856 CONTINUE 10857 STATE=1 IF((SYMBO0.NE.172))GOTO 10858 STATE=3 CALL SSALL0(2) SEMSK0(SEMSP0-1)=MP SEMSK0(SEMSP0-2)=V CALL GETSYM 10858 IF((STATE.NE.3))GOTO 10859 CALL ENUMD0(STATE) AAAGD0=STATE GOTO 10860 10861 GPST=2 RETURN 10862 MP=SEMSK0(SEMSP0-1) V=SEMSK0(SEMSP0-2) CALL SSDEA0(2) GOTO 10863 10860 AAAGE0=AAAGD0-1 GOTO(10861,10862),AAAGE0 10863 IF((STATE.EQ.3))GOTO 10864 GPST=2 RETURN 10864 CONTINUE 10859 CONTINUE IF((STATE.EQ.3))GOTO 10857 AAAGF0=STATE GOTO 10865 10866 STATE=3 GOTO 10867 10865 IF(AAAGF0.EQ.1)GOTO 10866 10867 IF((STATE.EQ.3))GOTO 10868 GPST=2 RETURN 10868 STATE=1 IF((SYMBO0.NE.253))GOTO 10869 STATE=3 CALL GETSYM GOTO 10870 10869 CALL SYNERR('Right brace required.',0) STATE=3 10870 IF((STATE.EQ.3))GOTO 10871 GPST=2 RETURN 10871 CONTINUE 10851 AAAGG0=STATE GOTO 10872 10873 STATE=3 GOTO 10874 10872 IF(AAAGG0.EQ.1)GOTO 10873 10874 IF((STATE.EQ.3))GOTO 10875 GPST=2 RETURN 10875 CALL EMPTY(STATE) AAAGH0=STATE GOTO 10876 10877 GPST=2 RETURN 10878 IF((MP.NE.0))GOTO 10879 MP=INTMO0 10879 SEMSK0(SEMSP0-1)=MP GOTO 10880 10876 AAAGI0=AAAGH0-1 GOTO(10877,10878),AAAGI0 10880 IF((STATE.EQ.3))GOTO 10881 GPST=2 RETURN 10881 CONTINUE 10849 GPST=STATE RETURN END SUBROUTINE ENUMD0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER MP INTEGER V INTEGER ID INTEGER SDUPL,NEWSYM INTEGER AAAGJ0 INTEGER AAAGK0 INTEGER AAAGL0 INTEGER AAAGM0 INTEGER AAAGN0 MP=SEMSK0(SEMSP0-1) V=SEMSK0(SEMSP0-2) STATE=1 IF((SYMBO0.NE.1023))GOTO 10882 STATE=3 ID=NEWSYM(SYMTE0,MP,5,0,LLAAA0,0,1,6) CALL GETSYM GOTO 10883 10882 CALL SYNERR('Identifier expected.',0) STATE=3 ID=0 10883 IF((STATE.NE.3))GOTO 10884 STATE=1 IF((SYMBO0.NE.189))GOTO 10885 STATE=3 CALL SSALL0(1) SEMSK0(SEMSP0-1)=V CALL GETSYM 10885 IF((STATE.NE.3))GOTO 10886 CALL CONST0(STATE) AAAGJ0=STATE GOTO 10887 10888 GPST=2 RETURN 10889 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10890 10887 AAAGK0=AAAGJ0-1 GOTO(10888,10889),AAAGK0 10890 IF((STATE.EQ.3))GOTO 10891 GPST=2 RETURN 10891 CONTINUE 10886 AAAGL0=STATE GOTO 10892 10893 STATE=3 GOTO 10894 10892 IF(AAAGL0.EQ.1)GOTO 10893 10894 IF((STATE.EQ.3))GOTO 10895 GPST=2 RETURN 10895 CALL EMPTY(STATE) AAAGM0=STATE GOTO 10896 10897 GPST=2 RETURN 10898 MEMAA0(ID+5)=V V=V+(1) SEMSK0(SEMSP0-1)=MP SEMSK0(SEMSP0-2)=V GOTO 10899 10896 AAAGN0=AAAGM0-1 GOTO(10897,10898),AAAGN0 10899 IF((STATE.EQ.3))GOTO 10900 GPST=2 RETURN 10900 CONTINUE 10884 GPST=STATE RETURN END SUBROUTINE TYPEN0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER MODE INTEGER SC INTEGER AAAGO0 INTEGER AAAGP0 INTEGER AAAGQ0 INTEGER AAAGR0 INTEGER AAAGS0 INTEGER AAAGT0 MODE=SEMSK0(SEMSP0-1) CALL TYPEO0(STATE) AAAGO0=STATE GOTO 10901 10902 GPST=2 RETURN 10903 CALL SSALL0(2) SEMSK0(SEMSP0-1)=SC SEMSK0(SEMSP0-2)=MODE GOTO 10904 10901 AAAGP0=AAAGO0-1 GOTO(10902,10903),AAAGP0 10904 IF((STATE.NE.3))GOTO 10905 CALL DECLS0(STATE) AAAGQ0=STATE GOTO 10906 10907 GPST=2 RETURN 10908 SC=SEMSK0(SEMSP0-1) MODE=SEMSK0(SEMSP0-2) CALL SSDEA0(2) IF((SC.EQ.1))GOTO 10910 CALL SYNERR('Storage class specifier illegal.',0) 10909 GOTO 10910 10906 AAAGR0=AAAGQ0-1 GOTO(10907,10908),AAAGR0 10910 IF((STATE.EQ.3))GOTO 10911 GPST=2 RETURN 10911 CALL ABSTR0(STATE) AAAGS0=STATE GOTO 10912 10913 GPST=2 RETURN 10914 CALL CREAU0(MODE) SEMSK0(SEMSP0-1)=MODE GOTO 10915 10912 AAAGT0=AAAGS0-1 GOTO(10913,10914),AAAGT0 10915 IF((STATE.EQ.3))GOTO 10916 GPST=2 RETURN 10916 CONTINUE 10905 GPST=STATE RETURN END SUBROUTINE ABSTR0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER SCNT,V INTEGER AAAGU0 INTEGER AAAGV0 INTEGER AAAGW0 INTEGER AAAGX0 INTEGER AAAGY0 INTEGER AAAGZ0 INTEGER AAAHA0 INTEGER AAAHB0 SCNT=0 10917 STATE=1 IF((SYMBO0.NE.170))GOTO 10918 STATE=3 SCNT=SCNT+(1) CALL GETSYM 10918 CONTINUE IF((STATE.EQ.3))GOTO 10917 AAAGU0=STATE GOTO 10919 10920 STATE=3 GOTO 10921 10919 IF(AAAGU0.EQ.1)GOTO 10920 10921 IF((STATE.NE.3))GOTO 10922 STATE=1 IF((SYMBO0.NE.168))GOTO 10923 STATE=3 IF((NSYMB0.NE.169))GOTO 10924 STATE=1 10924 CONTINUE 10923 IF((STATE.NE.3))GOTO 10925 STATE=1 IF((SYMBO0.NE.168))GOTO 10926 STATE=3 CALL GETSYM 10926 IF((STATE.EQ.3))GOTO 10927 GPST=2 RETURN 10927 CALL ABSTR0(STATE) AAAGV0=STATE GOTO 10928 10929 GPST=2 RETURN 10928 IF(AAAGV0.EQ.2)GOTO 10929 IF((STATE.EQ.3))GOTO 10930 GPST=2 RETURN 10930 STATE=1 IF((SYMBO0.NE.169))GOTO 10931 STATE=3 CALL GETSYM GOTO 10932 10931 CALL SYNERR('Right paren required.',0) STATE=3 10932 IF((STATE.EQ.3))GOTO 10933 GPST=2 RETURN 10933 CONTINUE 10925 AAAGW0=STATE GOTO 10934 10935 STATE=3 GOTO 10936 10934 IF(AAAGW0.EQ.1)GOTO 10935 10936 IF((STATE.EQ.3))GOTO 10937 GPST=2 RETURN 10937 CONTINUE 10938 STATE=1 IF((SYMBO0.NE.168))GOTO 10939 STATE=3 CALL GETSYM 10939 IF((STATE.NE.3))GOTO 10940 STATE=1 IF((SYMBO0.NE.169))GOTO 10941 STATE=3 CALL SAVEM0(15,0) CALL GETSYM GOTO 10942 10941 CALL SYNERR('Parameters not allowed.',0) STATE=3 10942 IF((STATE.EQ.3))GOTO 10943 GPST=2 RETURN 10943 CONTINUE 10940 IF((STATE.NE.1))GOTO 10944 IF((SYMBO0.NE.219))GOTO 10945 STATE=3 CALL SSALL0(1) SEMSK0(SEMSP0-1)=0 CALL GETSYM 10945 IF((STATE.NE.3))GOTO 10946 CALL CONST0(STATE) AAAGX0=STATE GOTO 10947 10948 GPST=2 RETURN 10949 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) V=0 GOTO 10950 10951 V=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 10950 10947 GOTO(10949,10948,10951),AAAGX0 10950 AAAGY0=STATE GOTO 10952 10953 STATE=3 GOTO 10954 10952 IF(AAAGY0.EQ.1)GOTO 10953 10954 IF((STATE.EQ.3))GOTO 10955 GPST=2 RETURN 10955 STATE=1 IF((SYMBO0.NE.221))GOTO 10956 STATE=3 CALL SAVEM0(13,V) CALL GETSYM GOTO 10957 10956 CALL SYNERR('Right bracket required.',0) STATE=3 10957 IF((STATE.EQ.3))GOTO 10958 GPST=2 RETURN 10958 CONTINUE 10946 CONTINUE 10944 CONTINUE IF((STATE.EQ.3))GOTO 10938 AAAGZ0=STATE GOTO 10959 10960 STATE=3 GOTO 10961 10959 IF(AAAGZ0.EQ.1)GOTO 10960 10961 IF((STATE.EQ.3))GOTO 10962 GPST=2 RETURN 10962 CALL EMPTY(STATE) AAAHA0=STATE GOTO 10963 10964 GPST=2 RETURN 10966 SCNT=SCNT-(1) 10968 IF((SCNT.LE.0))GOTO 10969 CALL SAVEM0(12,0) GOTO 10966 10963 AAAHB0=AAAHA0-1 GOTO(10964,10968),AAAHB0 10969 IF((STATE.EQ.3))GOTO 10970 GPST=2 RETURN 10970 CONTINUE 10922 GPST=STATE RETURN END SUBROUTINE CONST0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER VALUE INTEGER P INTEGER AAAHC0 INTEGER AAAHD0 VALUE=SEMSK0(SEMSP0-1) CALL EXPR0(STATE) AAAHC0=STATE GOTO 10971 10972 GPST=2 RETURN 10973 CALL GENCO0(SHORT0) CALL ESPOP(P) IF((MEMAA0(P).NE.3))GOTO 10974 CALL GETLI0(P,VALUE,1) GOTO 10975 10974 CALL SYNERR('Constant expression required.',0) VALUE=1 10975 CALL DEALL0(P) SEMSK0(SEMSP0-1)=VALUE GOTO 10976 10971 AAAHD0=AAAHC0-1 GOTO(10972,10973),AAAHD0 10976 GPST=STATE RETURN END SUBROUTINE EXPRE0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAHE0 INTEGER AAAHF0 INTEGER AAAHG0 CALL EXPR0(STATE) AAAHE0=STATE GOTO 10977 10978 GPST=2 RETURN 10977 IF(AAAHE0.EQ.2)GOTO 10978 IF((STATE.NE.3))GOTO 10979 10980 STATE=1 IF((SYMBO0.NE.172))GOTO 10981 STATE=3 CALL GETSYM 10981 IF((STATE.NE.3))GOTO 10982 CALL EXPR0(STATE) AAAHF0=STATE GOTO 10983 10984 GPST=2 RETURN 10985 CALL SYNERR('Illegal element following '',''.',0) STATE=3 GOTO 10986 10987 CALL GENOP0(59) GOTO 10986 10983 GOTO(10985,10984,10987),AAAHF0 10986 IF((STATE.EQ.3))GOTO 10988 GPST=2 RETURN 10988 CONTINUE 10982 CONTINUE IF((STATE.EQ.3))GOTO 10980 AAAHG0=STATE GOTO 10989 10990 STATE=3 GOTO 10991 10989 IF(AAAHG0.EQ.1)GOTO 10990 10991 IF((STATE.EQ.3))GOTO 10992 GPST=2 RETURN 10992 CONTINUE 10979 GPST=STATE RETURN END SUBROUTINE EXPR0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER OP INTEGER AAAHH0 INTEGER AAAHI0 INTEGER AAAHJ0 INTEGER AAAHK0 INTEGER AAAHL0 CALL EXPR1(STATE) AAAHH0=STATE GOTO 10993 10994 GPST=2 RETURN 10993 IF(AAAHH0.EQ.2)GOTO 10994 IF((STATE.NE.3))GOTO 10995 10996 STATE=1 AAAHI0=SYMBO0 GOTO 10997 10998 STATE=3 OP=5 CALL GETSYM GOTO 10999 11000 STATE=3 OP=3 CALL GETSYM GOTO 10999 11001 STATE=3 OP=16 CALL GETSYM GOTO 10999 11002 STATE=3 OP=61 CALL GETSYM GOTO 10999 11003 STATE=3 OP=52 CALL GETSYM GOTO 10999 11004 STATE=3 OP=41 CALL GETSYM GOTO 10999 11005 STATE=3 OP=1 CALL GETSYM GOTO 10999 11006 STATE=3 OP=29 CALL GETSYM GOTO 10999 11007 STATE=3 OP=55 CALL GETSYM GOTO 10999 11008 STATE=3 OP=33 CALL GETSYM GOTO 10999 11009 STATE=3 OP=66 CALL GETSYM GOTO 10999 10997 IF(AAAHI0.EQ.189)GOTO 10998 AAAHJ0=AAAHI0-999 GOTO(11000,11010,11010,11001,11010,11010,11010,11010,11002, * 11003,11010,11004,11010,11005,11010,11006,11010,11007,11010, * 11008,11009),AAAHJ0 11010 CONTINUE 10999 IF((STATE.NE.3))GOTO 11011 CALL EXPR0(STATE) AAAHK0=STATE GOTO 11012 11013 GPST=2 RETURN 11014 CALL SYNERR('Illegal element following assignment.',0) STATE=3 GOTO 11015 11016 CALL GENOP0(OP) GOTO 11015 11012 GOTO(11014,11013,11016),AAAHK0 11015 IF((STATE.EQ.3))GOTO 11017 GPST=2 RETURN 11017 CONTINUE 11011 CONTINUE IF((STATE.EQ.3))GOTO 10996 AAAHL0=STATE GOTO 11018 11019 STATE=3 GOTO 11020 11018 IF(AAAHL0.EQ.1)GOTO 11019 11020 IF((STATE.EQ.3))GOTO 11021 GPST=2 RETURN 11021 CONTINUE 10995 GPST=STATE RETURN END SUBROUTINE EXPR1(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAHM0 INTEGER AAAHN0 INTEGER AAAHO0 INTEGER AAAHP0 CALL EXPR2(STATE) AAAHM0=STATE GOTO 11022 11023 GPST=2 RETURN 11022 IF(AAAHM0.EQ.2)GOTO 11023 IF((STATE.NE.3))GOTO 11024 11025 STATE=1 IF((SYMBO0.NE.191))GOTO 11026 STATE=3 CALL GETSYM 11026 IF((STATE.NE.3))GOTO 11027 CALL EXPRE0(STATE) AAAHN0=STATE GOTO 11028 11029 GPST=2 RETURN 11030 CALL SYNERR('Illegal element following ''?''.',0) STATE=3 GOTO 11031 11028 GOTO(11030,11029),AAAHN0 11031 IF((STATE.EQ.3))GOTO 11032 GPST=2 RETURN 11032 STATE=1 IF((SYMBO0.NE.186))GOTO 11033 STATE=3 CALL GETSYM GOTO 11034 11033 CALL SYNERR('Colon required after ''?''.',0) STATE=3 11034 IF((STATE.EQ.3))GOTO 11035 GPST=2 RETURN 11035 CALL EXPR2(STATE) AAAHO0=STATE GOTO 11036 11037 GPST=2 RETURN 11038 CALL SYNERR('Illegal element following '':''.',0) STATE=3 GOTO 11039 11040 CALL GENOP0(71) CALL GENOP0(70) GOTO 11039 11036 GOTO(11038,11037,11040),AAAHO0 11039 IF((STATE.EQ.3))GOTO 11041 GPST=2 RETURN 11041 CONTINUE 11027 CONTINUE IF((STATE.EQ.3))GOTO 11025 AAAHP0=STATE GOTO 11042 11043 STATE=3 GOTO 11044 11042 IF(AAAHP0.EQ.1)GOTO 11043 11044 IF((STATE.EQ.3))GOTO 11045 GPST=2 RETURN 11045 CONTINUE 11024 GPST=STATE RETURN END SUBROUTINE EXPR2(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAHQ0 INTEGER AAAHR0 INTEGER AAAHS0 CALL EXPR3(STATE) AAAHQ0=STATE GOTO 11046 11047 GPST=2 RETURN 11046 IF(AAAHQ0.EQ.2)GOTO 11047 IF((STATE.NE.3))GOTO 11048 11049 STATE=1 IF((SYMBO0.NE.1012))GOTO 11050 STATE=3 CALL GETSYM 11050 IF((STATE.NE.3))GOTO 11051 CALL EXPR3(STATE) AAAHR0=STATE GOTO 11052 11053 GPST=2 RETURN 11054 CALL SYNERR('Illegal element following ''||''.',0) STATE=3 GOTO 11055 11056 CALL GENOP0(60) GOTO 11055 11052 GOTO(11054,11053,11056),AAAHR0 11055 IF((STATE.EQ.3))GOTO 11057 GPST=2 RETURN 11057 CONTINUE 11051 CONTINUE IF((STATE.EQ.3))GOTO 11049 AAAHS0=STATE GOTO 11058 11059 STATE=3 GOTO 11060 11058 IF(AAAHS0.EQ.1)GOTO 11059 11060 IF((STATE.EQ.3))GOTO 11061 GPST=2 RETURN 11061 CONTINUE 11048 GPST=STATE RETURN END SUBROUTINE EXPR3(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAHT0 INTEGER AAAHU0 INTEGER AAAHV0 CALL EXPR4(STATE) AAAHT0=STATE GOTO 11062 11063 GPST=2 RETURN 11062 IF(AAAHT0.EQ.2)GOTO 11063 IF((STATE.NE.3))GOTO 11064 11065 STATE=1 IF((SYMBO0.NE.1001))GOTO 11066 STATE=3 CALL GETSYM 11066 IF((STATE.NE.3))GOTO 11067 CALL EXPR4(STATE) AAAHU0=STATE GOTO 11068 11069 GPST=2 RETURN 11070 CALL SYNERR('Illegal element following ''&&''.',0) STATE=3 GOTO 11071 11072 CALL GENOP0(57) GOTO 11071 11068 GOTO(11070,11069,11072),AAAHU0 11071 IF((STATE.EQ.3))GOTO 11073 GPST=2 RETURN 11073 CONTINUE 11067 CONTINUE IF((STATE.EQ.3))GOTO 11065 AAAHV0=STATE GOTO 11074 11075 STATE=3 GOTO 11076 11074 IF(AAAHV0.EQ.1)GOTO 11075 11076 IF((STATE.EQ.3))GOTO 11077 GPST=2 RETURN 11077 CONTINUE 11064 GPST=STATE RETURN END SUBROUTINE EXPR4(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAHW0 INTEGER AAAHX0 INTEGER AAAHY0 CALL EXPR5(STATE) AAAHW0=STATE GOTO 11078 11079 GPST=2 RETURN 11078 IF(AAAHW0.EQ.2)GOTO 11079 IF((STATE.NE.3))GOTO 11080 11081 STATE=1 IF((SYMBO0.NE.252))GOTO 11082 STATE=3 CALL GETSYM 11082 IF((STATE.NE.3))GOTO 11083 CALL EXPR5(STATE) AAAHX0=STATE GOTO 11084 11085 GPST=2 RETURN 11086 CALL SYNERR('Illegal element following ''|''.',0) STATE=3 GOTO 11087 11088 CALL GENOP0(42) GOTO 11087 11084 GOTO(11086,11085,11088),AAAHX0 11087 IF((STATE.EQ.3))GOTO 11089 GPST=2 RETURN 11089 CONTINUE 11083 CONTINUE IF((STATE.EQ.3))GOTO 11081 AAAHY0=STATE GOTO 11090 11091 STATE=3 GOTO 11092 11090 IF(AAAHY0.EQ.1)GOTO 11091 11092 IF((STATE.EQ.3))GOTO 11093 GPST=2 RETURN 11093 CONTINUE 11080 GPST=STATE RETURN END SUBROUTINE EXPR5(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAHZ0 INTEGER AAAIA0 INTEGER AAAIB0 CALL EXPR6(STATE) AAAHZ0=STATE GOTO 11094 11095 GPST=2 RETURN 11094 IF(AAAHZ0.EQ.2)GOTO 11095 IF((STATE.NE.3))GOTO 11096 11097 STATE=1 IF((SYMBO0.NE.222))GOTO 11098 STATE=3 CALL GETSYM 11098 IF((STATE.NE.3))GOTO 11099 CALL EXPR6(STATE) AAAIA0=STATE GOTO 11100 11101 GPST=2 RETURN 11102 CALL SYNERR('Illegal element following ''^''.',0) STATE=3 GOTO 11103 11104 CALL GENOP0(67) GOTO 11103 11100 GOTO(11102,11101,11104),AAAIA0 11103 IF((STATE.EQ.3))GOTO 11105 GPST=2 RETURN 11105 CONTINUE 11099 CONTINUE IF((STATE.EQ.3))GOTO 11097 AAAIB0=STATE GOTO 11106 11107 STATE=3 GOTO 11108 11106 IF(AAAIB0.EQ.1)GOTO 11107 11108 IF((STATE.EQ.3))GOTO 11109 GPST=2 RETURN 11109 CONTINUE 11096 GPST=STATE RETURN END SUBROUTINE EXPR6(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER AAAIC0 INTEGER AAAID0 INTEGER AAAIE0 CALL EXPR7(STATE) AAAIC0=STATE GOTO 11110 11111 GPST=2 RETURN 11110 IF(AAAIC0.EQ.2)GOTO 11111 IF((STATE.NE.3))GOTO 11112 11113 STATE=1 IF((SYMBO0.NE.166))GOTO 11114 STATE=3 CALL GETSYM 11114 IF((STATE.NE.3))GOTO 11115 CALL EXPR7(STATE) AAAID0=STATE GOTO 11116 11117 GPST=2 RETURN 11118 CALL SYNERR('Illegal element following ''&''.',0) STATE=3 GOTO 11119 11120 CALL GENOP0(4) GOTO 11119 11116 GOTO(11118,11117,11120),AAAID0 11119 IF((STATE.EQ.3))GOTO 11121 GPST=2 RETURN 11121 CONTINUE 11115 CONTINUE IF((STATE.EQ.3))GOTO 11113 AAAIE0=STATE GOTO 11122 11123 STATE=3 GOTO 11124 11122 IF(AAAIE0.EQ.1)GOTO 11123 11124 IF((STATE.EQ.3))GOTO 11125 GPST=2 RETURN 11125 CONTINUE 11112 GPST=STATE RETURN END SUBROUTINE EXPR7(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER OP INTEGER AAAIF0 INTEGER AAAIG0 INTEGER AAAIH0 CALL EXPR8(STATE) AAAIF0=STATE GOTO 11126 11127 GPST=2 RETURN 11126 IF(AAAIF0.EQ.2)GOTO 11127 IF((STATE.NE.3))GOTO 11128 11129 STATE=1 IF((SYMBO0.NE.1004))GOTO 11130 STATE=3 OP=19 CALL GETSYM 11130 IF((STATE.NE.1))GOTO 11131 IF((SYMBO0.NE.1010))GOTO 11132 STATE=3 OP=37 CALL GETSYM 11132 CONTINUE 11131 IF((STATE.NE.3))GOTO 11133 CALL EXPR8(STATE) AAAIG0=STATE GOTO 11134 11135 GPST=2 RETURN 11136 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11137 11138 CALL GENOP0(OP) GOTO 11137 11134 GOTO(11136,11135,11138),AAAIG0 11137 IF((STATE.EQ.3))GOTO 11139 GPST=2 RETURN 11139 CONTINUE 11133 CONTINUE IF((STATE.EQ.3))GOTO 11129 AAAIH0=STATE GOTO 11140 11141 STATE=3 GOTO 11142 11140 IF(AAAIH0.EQ.1)GOTO 11141 11142 IF((STATE.EQ.3))GOTO 11143 GPST=2 RETURN 11143 CONTINUE 11128 GPST=STATE RETURN END SUBROUTINE EXPR8(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER OP INTEGER AAAII0 INTEGER AAAIJ0 INTEGER AAAIK0 CALL EXPR9(STATE) AAAII0=STATE GOTO 11144 11145 GPST=2 RETURN 11144 IF(AAAII0.EQ.2)GOTO 11145 IF((STATE.NE.3))GOTO 11146 11147 STATE=1 IF((SYMBO0.NE.190))GOTO 11148 STATE=3 OP=23 CALL GETSYM 11148 IF((STATE.NE.1))GOTO 11149 IF((SYMBO0.NE.188))GOTO 11150 STATE=3 OP=31 CALL GETSYM 11150 IF((STATE.NE.1))GOTO 11151 IF((SYMBO0.NE.1005))GOTO 11152 STATE=3 OP=21 CALL GETSYM 11152 IF((STATE.NE.1))GOTO 11153 IF((SYMBO0.NE.1007))GOTO 11154 STATE=3 OP=28 CALL GETSYM 11154 CONTINUE 11153 CONTINUE 11151 CONTINUE 11149 IF((STATE.NE.3))GOTO 11155 CALL EXPR9(STATE) AAAIJ0=STATE GOTO 11156 11157 GPST=2 RETURN 11158 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11159 11160 CALL GENOP0(OP) GOTO 11159 11156 GOTO(11158,11157,11160),AAAIJ0 11159 IF((STATE.EQ.3))GOTO 11161 GPST=2 RETURN 11161 CONTINUE 11155 CONTINUE IF((STATE.EQ.3))GOTO 11147 AAAIK0=STATE GOTO 11162 11163 STATE=3 GOTO 11164 11162 IF(AAAIK0.EQ.1)GOTO 11163 11164 IF((STATE.EQ.3))GOTO 11165 GPST=2 RETURN 11165 CONTINUE 11146 GPST=STATE RETURN END SUBROUTINE EXPR9(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER OP INTEGER AAAIL0 INTEGER AAAIM0 INTEGER AAAIN0 CALL EXPR10(STATE) AAAIL0=STATE GOTO 11166 11167 GPST=2 RETURN 11166 IF(AAAIL0.EQ.2)GOTO 11167 IF((STATE.NE.3))GOTO 11168 11169 STATE=1 IF((SYMBO0.NE.1018))GOTO 11170 STATE=3 OP=56 CALL GETSYM 11170 IF((STATE.NE.1))GOTO 11171 IF((SYMBO0.NE.1016))GOTO 11172 STATE=3 OP=30 CALL GETSYM 11172 CONTINUE 11171 IF((STATE.NE.3))GOTO 11173 CALL EXPR10(STATE) AAAIM0=STATE GOTO 11174 11175 GPST=2 RETURN 11176 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11177 11178 CALL GENOP0(OP) GOTO 11177 11174 GOTO(11176,11175,11178),AAAIM0 11177 IF((STATE.EQ.3))GOTO 11179 GPST=2 RETURN 11179 CONTINUE 11173 CONTINUE IF((STATE.EQ.3))GOTO 11169 AAAIN0=STATE GOTO 11180 11181 STATE=3 GOTO 11182 11180 IF(AAAIN0.EQ.1)GOTO 11181 11182 IF((STATE.EQ.3))GOTO 11183 GPST=2 RETURN 11183 CONTINUE 11168 GPST=STATE RETURN END SUBROUTINE EXPR10(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER OP INTEGER AAAIO0 INTEGER AAAIP0 INTEGER AAAIQ0 CALL EXPR11(STATE) AAAIO0=STATE GOTO 11184 11185 GPST=2 RETURN 11184 IF(AAAIO0.EQ.2)GOTO 11185 IF((STATE.NE.3))GOTO 11186 11187 STATE=1 IF((SYMBO0.NE.171))GOTO 11188 STATE=3 OP=2 CALL GETSYM 11188 IF((STATE.NE.1))GOTO 11189 IF((SYMBO0.NE.173))GOTO 11190 STATE=3 OP=62 CALL GETSYM 11190 CONTINUE 11189 IF((STATE.NE.3))GOTO 11191 CALL EXPR11(STATE) AAAIP0=STATE GOTO 11192 11193 GPST=2 RETURN 11194 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11195 11196 CALL GENOP0(OP) GOTO 11195 11192 GOTO(11194,11193,11196),AAAIP0 11195 IF((STATE.EQ.3))GOTO 11197 GPST=2 RETURN 11197 CONTINUE 11191 CONTINUE IF((STATE.EQ.3))GOTO 11187 AAAIQ0=STATE GOTO 11198 11199 STATE=3 GOTO 11200 11198 IF(AAAIQ0.EQ.1)GOTO 11199 11200 IF((STATE.EQ.3))GOTO 11201 GPST=2 RETURN 11201 CONTINUE 11186 GPST=STATE RETURN END SUBROUTINE EXPR11(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER OP INTEGER AAAIR0 INTEGER AAAIS0 INTEGER AAAIT0 CALL EXPR12(STATE) AAAIR0=STATE GOTO 11202 11203 GPST=2 RETURN 11202 IF(AAAIR0.EQ.2)GOTO 11203 IF((STATE.NE.3))GOTO 11204 11205 STATE=1 IF((SYMBO0.NE.170))GOTO 11206 STATE=3 OP=34 CALL GETSYM 11206 IF((STATE.NE.1))GOTO 11207 IF((SYMBO0.NE.175))GOTO 11208 STATE=3 OP=17 CALL GETSYM 11208 IF((STATE.NE.1))GOTO 11209 IF((SYMBO0.NE.165))GOTO 11210 STATE=3 OP=53 CALL GETSYM 11210 CONTINUE 11209 CONTINUE 11207 IF((STATE.NE.3))GOTO 11211 CALL EXPR12(STATE) AAAIS0=STATE GOTO 11212 11213 GPST=2 RETURN 11214 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11215 11216 CALL GENOP0(OP) GOTO 11215 11212 GOTO(11214,11213,11216),AAAIS0 11215 IF((STATE.EQ.3))GOTO 11217 GPST=2 RETURN 11217 CONTINUE 11211 CONTINUE IF((STATE.EQ.3))GOTO 11205 AAAIT0=STATE GOTO 11218 11219 STATE=3 GOTO 11220 11218 IF(AAAIT0.EQ.1)GOTO 11219 11220 IF((STATE.EQ.3))GOTO 11221 GPST=2 RETURN 11221 CONTINUE 11204 GPST=STATE RETURN END SUBROUTINE EXPR12(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER P INTEGER OP,KLUGE INTEGER NEXTI0,ESPOP INTEGER WSIZE INTEGER MODE INTEGER * 4 SIZEO0 INTEGER AAAIU0 INTEGER AAAIV0 INTEGER AAAIW0 INTEGER AAAIX0 INTEGER AAAIY0 INTEGER AAAIZ0 INTEGER AAAJA0 INTEGER AAAJB0 INTEGER AAAJC0 INTEGER AAAJD0 INTEGER AAAJE0 INTEGER AAAJF0 STATE=1 AAAIU0=SYMBO0 GOTO 11222 11223 STATE=3 OP=15 CALL GETSYM GOTO 11224 11225 STATE=3 OP=51 CALL GETSYM GOTO 11224 11226 STATE=3 OP=35 CALL GETSYM GOTO 11224 11227 STATE=3 OP=38 CALL GETSYM GOTO 11224 11228 STATE=3 OP=46 CALL GETSYM GOTO 11224 11229 STATE=3 OP=45 CALL GETSYM GOTO 11224 11230 STATE=3 OP=8 CALL GETSYM GOTO 11224 11222 AAAIV0=AAAIU0-160 GOTO(11227,11231,11231,11231,11231,11225,11231,11231,11231,11223, * 11231,11231,11226),AAAIV0 IF(AAAIU0.EQ.254)GOTO 11230 AAAIV0=AAAIU0-1001 GOTO(11229,11231,11231,11231,11228),AAAIV0 11231 CONTINUE 11224 IF((STATE.NE.3))GOTO 11232 CALL EXPR12(STATE) AAAIW0=STATE GOTO 11233 11234 GPST=2 RETURN 11235 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11236 11237 CALL GENOP0(OP) GOTO 11236 11233 GOTO(11235,11234,11237),AAAIW0 11236 IF((STATE.EQ.3))GOTO 11238 GPST=2 RETURN 11238 CONTINUE 11232 IF((STATE.NE.1))GOTO 11239 IF((SYMBO0.NE.1057))GOTO 11240 STATE=3 CALL GETSYM 11240 IF((STATE.NE.3))GOTO 11241 STATE=1 IF((SYMBO0.NE.168))GOTO 11242 STATE=3 IF((NEXTI0(0).NE.0))GOTO 11243 STATE=1 11243 CONTINUE 11242 IF((STATE.NE.3))GOTO 11244 STATE=1 IF((SYMBO0.NE.168))GOTO 11245 STATE=3 CALL SSALL0(1) SEMSK0(SEMSP0-1)=MODE CALL GETSYM 11245 IF((STATE.EQ.3))GOTO 11246 GPST=2 RETURN 11246 CALL TYPEN0(STATE) AAAIX0=STATE GOTO 11247 11248 GPST=2 RETURN 11249 MODE=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 11250 11247 AAAIY0=AAAIX0-1 GOTO(11248,11249),AAAIY0 11250 IF((STATE.EQ.3))GOTO 11251 GPST=2 RETURN 11251 STATE=1 IF((SYMBO0.NE.169))GOTO 11252 STATE=3 CALL GENINT(WSIZE(SIZEO0(MODE))) CALL GETSYM GOTO 11253 11252 CALL SYNERR('Right paren required.',0) STATE=3 11253 IF((STATE.EQ.3))GOTO 11254 GPST=2 RETURN 11254 CONTINUE 11244 IF((STATE.NE.1))GOTO 11255 CALL EXPR12(STATE) AAAIZ0=STATE GOTO 11256 11257 GPST=2 RETURN 11258 CALL SYNERR('Illegal ''sizeof'' operand.',0) STATE=3 GOTO 11259 11260 P=ESPOP(P) CALL GENINT(WSIZE(SIZEO0(MEMAA0(P+1)))) CALL DEALL0(P) GOTO 11259 11256 GOTO(11258,11257,11260),AAAIZ0 11259 CONTINUE 11255 IF((STATE.EQ.3))GOTO 11261 GPST=2 RETURN 11261 CONTINUE 11241 IF((STATE.NE.1))GOTO 11262 IF((SYMBO0.NE.168))GOTO 11263 STATE=3 IF((NEXTI0(0).NE.0))GOTO 11264 STATE=1 11264 CONTINUE 11263 IF((STATE.NE.3))GOTO 11265 STATE=1 IF((SYMBO0.NE.168))GOTO 11266 STATE=3 KLUGE=0 CALL SSALL0(1) SEMSK0(SEMSP0-1)=MODE CALL GETSYM 11266 IF((STATE.EQ.3))GOTO 11267 GPST=2 RETURN 11267 CALL TYPEN0(STATE) AAAJA0=STATE GOTO 11268 11269 GPST=2 RETURN 11270 MODE=SEMSK0(SEMSP0-1) CALL SSDEA0(1) GOTO 11271 11268 AAAJB0=AAAJA0-1 GOTO(11269,11270),AAAJB0 11271 IF((STATE.EQ.3))GOTO 11272 GPST=2 RETURN 11272 STATE=1 IF((SYMBO0.NE.169))GOTO 11273 STATE=3 CALL GETSYM GOTO 11274 11273 CALL SYNERR('Right paren required.',0) STATE=3 11274 IF((STATE.EQ.3))GOTO 11275 GPST=2 RETURN 11275 STATE=1 IF((SYMBO0.NE.191))GOTO 11276 STATE=3 IF((MEMAA0(MEMAA0(MODE+1)+3).EQ.12))GOTO 11277 IF((MEMAA0(MEMAA0(MODE+1)+3).EQ.13))GOTO 11277 IF((MEMAA0(MEMAA0(MODE+1)+3).EQ.15))GOTO 11277 KLUGE=1 11277 CALL GETSYM 11276 AAAJC0=STATE GOTO 11278 11279 STATE=3 GOTO 11280 11278 IF(AAAJC0.EQ.1)GOTO 11279 11280 IF((STATE.EQ.3))GOTO 11281 GPST=2 RETURN 11281 CALL EXPR12(STATE) AAAJD0=STATE GOTO 11282 11283 GPST=2 RETURN 11284 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11285 11286 IF((KLUGE.NE.0))GOTO 11287 CALL GENCA0(MODE) GOTO 11285 11287 CALL CREAT0(MODE,12,0) CALL GENCA0(MODE) CALL GENOP0(15) 11288 GOTO 11285 11282 GOTO(11284,11283,11286),AAAJD0 11285 IF((STATE.EQ.3))GOTO 11289 GPST=2 RETURN 11289 CONTINUE 11265 IF((STATE.NE.1))GOTO 11290 CALL PRIMA0(STATE) AAAJE0=STATE GOTO 11291 11292 GPST=2 RETURN 11291 IF(AAAJE0.EQ.2)GOTO 11292 IF((STATE.NE.3))GOTO 11293 11294 STATE=1 IF((SYMBO0.NE.1006))GOTO 11295 STATE=3 CALL GENOP0(44) CALL GETSYM 11295 IF((STATE.NE.1))GOTO 11296 IF((SYMBO0.NE.1002))GOTO 11297 STATE=3 CALL GENOP0(43) CALL GETSYM 11297 CONTINUE 11296 CONTINUE IF((STATE.EQ.3))GOTO 11294 AAAJF0=STATE GOTO 11298 11299 STATE=3 GOTO 11300 11298 IF(AAAJF0.EQ.1)GOTO 11299 11300 IF((STATE.EQ.3))GOTO 11301 GPST=2 RETURN 11301 CONTINUE 11293 CONTINUE 11290 CONTINUE 11262 CONTINUE 11239 GPST=STATE RETURN END SUBROUTINE PRIMA0(GPST) INTEGER GPST INTEGER SYMTE0(200),NSYMT0(200) INTEGER SYMLE0,SYMBO0,SYMLI0,NSYML0,NSYMB0,NSYMM0 INTEGER SYMPT0,NSYMP0 COMMON /LEXCOM/SYMBO0,NSYMB0,SYMLE0,NSYML0,SYMPT0,NSYMP0,SYMTE0,NS *YMT0,SYMLI0,NSYMM0 INTEGER INBUF0(1105) INTEGER IBPAA0,LINEN0(5),LEVEL0 INTEGER INFIL0(5) COMMON /INCOM/INBUF0,IBPAA0,LINEN0,INFIL0,LEVEL0 INTEGER DIRTO0,DFOTO0 INTEGER PPTBL0 INTEGER DIRNA0(300),DFONA0(300) COMMON /PPCOM/PPTBL0,DIRTO0,DIRNA0,DFOTO0,DFONA0 INTEGER KEYWD0,IDTBL0(50),SMTBL0(50) INTEGER LLAAA0 COMMON /IDCOM/LLAAA0,KEYWD0,IDTBL0,SMTBL0 INTEGER MEMAA0(30000) COMMON /DS$MEM/MEMAA0 INTEGER SEMSK0(300),CTLSK0(50) INTEGER SEMSP0,CTLSP0 COMMON /PARCOM/SEMSK0,SEMSP0,CTLSK0,CTLSP0 INTEGER INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LABEL0,PO *INT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0(20),MODEU0(20),MODE *V0 COMMON /MODCOM/INTMO0,CHARM0,SHORT0,LONGM0,UNSIG0,FLOAT0,DOUBL0,LA *BEL0,POINT0,SHORU0,LONGU0,CHARU0,MODET0,MODEL0,MODES0,MODEU0,MODEV *0 INTEGER EXPSK0(100),PROCM0,PROCR0 INTEGER EXPSP0,OBJNO0 INTEGER * 4 ZINIT0 COMMON /EXPCOM/EXPSK0,EXPSP0,OBJNO0,PROCM0,PROCR0,ZINIT0 INTEGER OUTFP0,NERRS0 INTEGER MODUL0(200),ERROR0(200) INTEGER A$BUF(200) INTEGER OUTFI0(3),CKFIL0 INTEGER FNAME0(5) COMMON /MISCOM/MODUL0,ERROR0,A$BUF,OUTFI0,OUTFP0,CKFIL0,NERRS0,FNA *ME0 INTEGER STATE INTEGER P,V,MP,PLIST INTEGER ALLOE0,ESTOP INTEGER ISAGG0 INTEGER AAAJG0 INTEGER AAAJH0 INTEGER AAAJI0 INTEGER AAAJJ0 INTEGER AAAJK0 INTEGER AAAJL0 INTEGER AAAJM0 INTEGER AAAJN0 INTEGER AAAJO0 INTEGER AAAJP0 STATE=1 AAAJG0=SYMBO0 GOTO 11302 11303 STATE=3 IF((NSYMB0.NE.168))GOTO 11304 CALL CHECM0 GOTO 11305 11304 CALL CHECL0(1) 11305 CALL GETSYM GOTO 11306 11307 STATE=3 CALL GENLIT(1021,SYMTE0,SYMLE0) CALL GETSYM GOTO 11306 11308 STATE=3 CALL GENLIT(1026,SYMTE0,SYMLE0) CALL GETSYM GOTO 11306 11309 STATE=3 CALL GENLIT(1025,SYMTE0,0) CALL GETSYM GOTO 11306 11310 STATE=3 CALL GENLIT(1024,SYMTE0,0) CALL GETSYM GOTO 11306 11311 STATE=3 CALL GENLIT(1022,SYMTE0,0) CALL GETSYM GOTO 11306 11312 STATE=3 CALL GETSYM IF((STATE.NE.3))GOTO 11306 CALL EXPRE0(STATE) AAAJH0=STATE GOTO 11314 11315 GPST=2 RETURN 11316 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11317 11314 GOTO(11316,11315),AAAJH0 11317 IF((STATE.EQ.3))GOTO 11318 GPST=2 RETURN 11318 STATE=1 IF((SYMBO0.NE.169))GOTO 11319 STATE=3 CALL GETSYM GOTO 11320 11319 CALL SYNERR('Right paren required.',0) STATE=3 11320 IF((STATE.EQ.3))GOTO 11321 GPST=2 RETURN 11321 CONTINUE 11313 GOTO 11306 11302 IF(AAAJG0.EQ.168)GOTO 11312 AAAJI0=AAAJG0-1020 GOTO(11307,11311,11303,11310,11309,11308),AAAJI0 11306 IF((STATE.NE.3))GOTO 11322 11323 STATE=1 IF((SYMBO0.NE.168))GOTO 11324 STATE=3 CALL ESTOP(V) IF((MEMAA0(V).NE.1))GOTO 11325 PLIST=MEMAA0(V+8) GOTO 11326 11325 PLIST=0 11326 CALL CKFNC0(V) CALL GENOP0(39) IF((MEMAA0(MEMAA0(V+1)+3).EQ.15))GOTO 11327 CALL SYNERR('Only functions can be called.',0) 11327 MP=MEMAA0(MEMAA0(V+1)) IF((MP.EQ.0))GOTO 11328 IF((ISAGG0(MP).NE.1))GOTO 11328 P=ALLOE0(MP) CALL GENOQ0(P) CALL GENOP0(47) 11328 CALL GETSYM 11324 IF((STATE.NE.3))GOTO 11329 CALL EXPR0(STATE) AAAJJ0=STATE GOTO 11330 11331 GPST=2 RETURN 11332 CALL CKFNA0(ESTOP(V)) IF((PLIST.EQ.0))GOTO 11333 IF((MEMAA0(PLIST+2).EQ.0))GOTO 11334 CALL GENCO0(MEMAA0(PLIST+2)) 11334 PLIST=MEMAA0(PLIST) 11333 CALL GENOP0(47) GOTO 11335 11330 AAAJK0=AAAJJ0-1 GOTO(11331,11332),AAAJK0 11335 IF((STATE.NE.3))GOTO 11336 11337 STATE=1 IF((SYMBO0.NE.172))GOTO 11338 STATE=3 CALL GETSYM 11338 IF((STATE.NE.3))GOTO 11339 CALL EXPR0(STATE) AAAJL0=STATE GOTO 11340 11341 GPST=2 RETURN 11342 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11343 11344 CALL CKFNA0(ESTOP(V)) IF((PLIST.EQ.0))GOTO 11345 IF((MEMAA0(PLIST+2).EQ.0))GOTO 11346 CALL GENCO0(MEMAA0(PLIST+2)) 11346 PLIST=MEMAA0(PLIST) 11345 CALL GENOP0(47) GOTO 11343 11340 GOTO(11342,11341,11344),AAAJL0 11343 IF((STATE.EQ.3))GOTO 11347 GPST=2 RETURN 11347 CONTINUE 11339 CONTINUE IF((STATE.EQ.3))GOTO 11337 AAAJM0=STATE GOTO 11348 11349 STATE=3 GOTO 11350 11348 IF(AAAJM0.EQ.1)GOTO 11349 11350 IF((STATE.EQ.3))GOTO 11351 GPST=2 RETURN 11351 CONTINUE 11336 AAAJN0=STATE GOTO 11352 11353 STATE=3 GOTO 11354 11352 IF(AAAJN0.EQ.1)GOTO 11353 11354 IF((STATE.EQ.3))GOTO 11355 GPST=2 RETURN 11355 STATE=1 IF((SYMBO0.NE.169))GOTO 11356 STATE=3 CALL CKFNE0 CALL GENOP0(48) IF((MP.EQ.0))GOTO 11357 IF((ISAGG0(MP).NE.1))GOTO 11357 CALL GENOQ0(P) CALL GENOP0(59) 11357 CALL GETSYM GOTO 11358 11356 CALL SYNERR('Right paren required.',0) STATE=3 11358 IF((STATE.EQ.3))GOTO 11359 GPST=2 RETURN 11359 CONTINUE 11329 IF((STATE.NE.1))GOTO 11360 IF((SYMBO0.NE.219))GOTO 11361 STATE=3 CALL GETSYM 11361 IF((STATE.NE.3))GOTO 11362 CALL EXPRE0(STATE) AAAJO0=STATE GOTO 11363 11364 GPST=2 RETURN 11365 CALL SYNERR('Illegal element in expression.',0) STATE=3 GOTO 11366 11363 GOTO(11365,11364),AAAJO0 11366 IF((STATE.EQ.3))GOTO 11367 GPST=2 RETURN 11367 STATE=1 IF((SYMBO0.NE.221))GOTO 11368 STATE=3 CALL GENIN0 CALL GETSYM GOTO 11369 11368 CALL SYNERR('Right bracket required.',0) STATE=3 11369 IF((STATE.EQ.3))GOTO 11370 GPST=2 RETURN 11370 CONTINUE 11362 IF((STATE.NE.1))GOTO 11371 IF((SYMBO0.NE.174))GOTO 11372 STATE=3 CALL GETSYM 11372 IF((STATE.NE.3))GOTO 11373 STATE=1 IF((SYMBO0.NE.1023))GOTO 11374 STATE=3 CALL CHECL0(2) CALL GENOP0(58) CALL GETSYM GOTO 11375 11374 CALL SYNERR('''Struct'' member required.',0) STATE=3 11375 IF((STATE.EQ.3))GOTO 11376 GPST=2 RETURN 11376 CONTINUE 11373 IF((STATE.NE.1))GOTO 11377 IF((SYMBO0.NE.1014))GOTO 11378 STATE=3 CALL GETSYM 11378 IF((STATE.NE.3))GOTO 11379 STATE=1 IF((SYMBO0.NE.1023))GOTO 11380 STATE=3 CALL GENOP0(15) CALL CHECL0(2) CALL GENOP0(58) CALL GETSYM GOTO 11381 11380 CALL SYNERR('''Struct'' member required.',0) STATE=3 11381 IF((STATE.EQ.3))GOTO 11382 GPST=2 RETURN 11382 CONTINUE 11379 CONTINUE 11377 CONTINUE 11371 CONTINUE 11360 CONTINUE IF((STATE.EQ.3))GOTO 11323 AAAJP0=STATE GOTO 11383 11384 STATE=3 GOTO 11385 11383 IF(AAAJP0.EQ.1)GOTO 11384 11385 IF((STATE.EQ.3))GOTO 11386 GPST=2 RETURN 11386 CONTINUE 11322 GPST=STATE RETURN END C ---- Long Name Map ---- C dumpsymentry dumpt0 C Procmode procm0 C declspecifiers decls0 C enterdefinition entes0 C islvalue islva0 C outoper outop0 C installdefinition insta0 C Nerrs nerrs0 C dumpsym dumps0 C entersmdecl entex0 C enumspecifier enums0 C openinclude openi0 C Nsymbol nsymb0 C Expsk expsk0 C enterchildmode enter0 C gencast genca0 C Dfoname dfona0 C checkarith check0 C droplitval dropl0 C outgoto outgo0 C returnstatement retur0 C Nsymlen nsyml0 C Symptr sympt0 C ckfncall ckfnc0 C cleanupll clean0 C genmakearith genma0 C Outfp outfp0 C alloctemp alloe0 C forstatement forst0 C outinitend outio0 C outsize outsi0 C putbackstr putbc0 C Floatmodeptr float0 C createmode creat0 C displaymode displ0 C Expsp expsp0 C convoper convo0 C outexprtree outey0 C putback putba0 C structdeclaratorlist strue0 C Nsymtext nsymt0 C Modelist model0 C Fnametable fname0 C genopnd genoq0 C isconstant iscon0 C isstored issto0 C Dirname dirna0 C invokemacro invok0 C makemode makem0 C notstatementstart notsu0 C outexpr outex0 C structdecllist struf0 C Ll llaaa0 C Modesavelen modeu0 C functionheader funct0 C outdeclarations outde0 C Charunsmodeptr charu0 C Modesavetype modes0 C structdeclaration struc0 C Dfotop dfoto0 C ckputname ckpuu0 C findmode findm0 C refillbuffer refil0 C Keywdtbl keywd0 C declarations decla0 C entersiblingmode entew0 C genoper genop0 C getlong getlo0 C typeorscspec typeo0 C declarator declb0 C ssalloc ssall0 C accesssym acces0 C declarelabel declc0 C ifstatement ifsta0 C initializer initj0 C isnullconv isnul0 C resetline reset0 C Charmodeptr charm0 C ckputmode ckput0 C createsavedmode creau0 C displaysc dispo0 C dumpexpr dumpe0 C foldconst foldc0 C getlitval getli0 C initdeclarator initd0 C statementlabel statf0 C Idtbl idtbl0 C checkdeclaration checl0 C enumdeclarator enumd0 C gentoboolean gento0 C isarith isari0 C processifdef procg0 C Dirtop dirto0 C constantexpr const0 C expression expre0 C outstmt outst0 C checkfunctiondeclaration checm0 C convtype convt0 C dostatement dosta0 C enterll entev0 C Intmodeptr intmo0 C Doublemodeptr doubl0 C Zinitlen zinit0 C makesym makes0 C breakstatement break0 C expr10 expr10 C externaldefinition exter0 C structorunionspecifier struh0 C Symbol symbo0 C Nsymline nsymm0 C Inbuf inbuf0 C Ibp ibpaa0 C collectquotedstring collf0 C notstatementend notst0 C outname outna0 C arrayinit array0 C displayoper dispn0 C fatalerr fatal0 C findsym finds0 C scalarinit scala0 C Symlen symle0 C Pointermodeptr point0 C genindex genin0 C Ckfile ckfil0 C ckfndef ckfnd0 C displayop dispm0 C enteriddecl entet0 C isaggregate isagg0 C removedefinition remov0 C statement state0 C Level level0 C Mem memaa0 C Objno objno0 C arithexcep arith0 C compoundstatement compo0 C continuestatement conti0 C dgetsym dgets0 C initdeclaratorlist inite0 C outmode outmo0 C processdebug procf0 C savemode savem0 C Nsymptr nsymp0 C Labelmodeptr label0 C Shortunsmodeptr shoru0 C allocstruct allod0 C structinit strug0 C Symtext symte0 C cpreprocessor cprep0 C process proce0 C recordsym recor0 C Unsignedmodeptr unsig0 C Longunsmodeptr longu0 C enterkw enteu0 C outproccallarg outps0 C allocatestorage alloc0 C displaysymbol dispp0 C alignmode align0 C initialize initi0 C nextistype nexti0 C skipwhitespace skipw0 C Shortmodeptr short0 C Modulename modul0 C getactualparameters getac0 C gotostatement gotos0 C switchstatement switc0 C Outfile outfi0 C ckfnend ckfne0 C convconst convc0 C dumpmode dumpm0 C ispointer ispoi0 C primary prima0 C Infile infil0 C Longmodeptr longm0 C comparemode compa0 C modifyparammode modif0 C sizeofmode sizeo0 C Ctlsk ctlsk0 C collectactualparameter colle0 C outinitstart outip0 C Pptbl pptbl0 C Smtbl smtbl0 C Modesavect modev0 C ckfnarg ckfna0 C Semsk semsk0 C Procrtnv procr0 C getdefinition getde0 C putlong putlo0 C getformalparameters getfo0 C putbacknum putbb0 C Ctlsp ctlsp0 C Modetable modet0 C genconvert genco0 C processifndef proch0 C structdeclarator strud0 C abstractdeclarator abstr0 C deallocexpr deall0 C gobbleuntilelseorendif gobbl0 C outinit outin0 C outproc outpr0 C putlitval putli0 C ssdealloc ssdea0 C typename typen0 C whilestatement while0 C Symline symli0 C Linenumber linen0 C Semsp semsp0 C Errorsym error0