# $ANTLR 3.5.2 sdl92.g 2021-04-13 11:49:18 import sys from antlr3 import * from antlr3.tree import * # for convenience in actions HIDDEN = BaseRecognizer.HIDDEN # token types EOF=-1 T__228=228 T__229=229 T__230=230 T__231=231 T__232=232 T__233=233 T__234=234 A=4 ACTION=5 ACTIVE=6 AGGREGATION=7 ALL=8 ALPHA=9 ALTERNATIVE=10 AND=11 ANSWER=12 ANY=13 APPEND=14 ARRAY=15 ASN1=16 ASNFILENAME=17 ASSIGN=18 ASSIG_OP=19 ASTERISK=20 B=21 BASE=22 BITSTR=23 BLOCK=24 C=25 CALL=26 CHANNEL=27 CHOICE=28 CIF=29 CLOSED_RANGE=30 COMMA=31 COMMENT=32 COMMENT2=33 COMPOSITE_STATE=34 CONDITIONAL=35 CONNECT=36 CONNECTION=37 CONSTANT=38 CONSTANTS=39 CREATE=40 D=41 DASH=42 DCL=43 DECISION=44 DEFAULT=45 DIGITS=46 DIV=47 DOT=48 E=49 ELSE=50 EMPTYSTR=51 END=52 ENDALTERNATIVE=53 ENDBLOCK=54 ENDCHANNEL=55 ENDCONNECTION=56 ENDDECISION=57 ENDFOR=58 ENDNEWTYPE=59 ENDPROCEDURE=60 ENDPROCESS=61 ENDSTATE=62 ENDSUBSTRUCTURE=63 ENDSYNTYPE=64 ENDSYSTEM=65 ENDTEXT=66 ENTRY_POINT=67 EQ=68 EXPONENT=69 EXPORT=70 EXPORTED=71 EXPRESSION=72 EXTERNAL=73 Exponent=74 F=75 FALSE=76 FI=77 FIELD=78 FIELDS=79 FIELD_NAME=80 FLOAT=81 FLOAT2=82 FLOATING_LABEL=83 FOR=84 FPAR=85 FROM=86 G=87 GE=88 GEODE=89 GROUND=90 GT=91 H=92 HYPERLINK=93 I=94 ID=95 IF=96 IFTHENELSE=97 IMPLIES=98 IMPORT=99 IN=100 INFORMAL_TEXT=101 INOUT=102 INPUT=103 INPUTLIST=104 INPUT_EXPRESSION=105 INPUT_NONE=106 INT=107 J=108 JOIN=109 K=110 KEEP=111 L=112 LABEL=113 LE=114 LITERAL=115 LT=116 L_BRACKET=117 L_PAREN=118 M=119 MANTISSA=120 MINUS_INFINITY=121 MKSTRING=122 MOD=123 MONITOR=124 N=125 NEG=126 NEQ=127 NEWTYPE=128 NEXTSTATE=129 NONE=130 NOT=131 NUMBER_OF_INSTANCES=132 O=133 OCTSTR=134 OPEN_RANGE=135 OR=136 OUT=137 OUTPUT=138 OUTPUT_BODY=139 OUTPUT_EXPRESSION=140 P=141 PARAM=142 PARAMNAMES=143 PARAMS=144 PAREN=145 PFPAR=146 PLUS=147 PLUS_INFINITY=148 POINT=149 PRIMARY=150 PRIORITY=151 PROCEDURE=152 PROCEDURE_CALL=153 PROCEDURE_NAME=154 PROCESS=155 PROVIDED=156 Q=157 QUESTION=158 R=159 RANGE=160 REFERENCED=161 REM=162 RESET=163 RETURN=164 RETURNS=165 ROUTE=166 R_BRACKET=167 R_PAREN=168 S=169 SAVE=170 SELECTOR=171 SEMI=172 SEQOF=173 SEQUENCE=174 SET=175 SIGNAL=176 SIGNALROUTE=177 SIGNAL_LIST=178 SORT=179 SPECIFIC=180 START=181 STATE=182 STATELIST=183 STATE_AGGREGATION=184 STATE_PARTITION_CONNECTION=185 STIMULUS=186 STOP=187 STOPIF=188 STR=189 STRING=190 STRUCT=191 SUBSTRUCTURE=192 SYNONYM=193 SYNONYM_LIST=194 SYNTYPE=195 SYSTEM=196 T=197 TASK=198 TASK_BODY=199 TERMINATOR=200 TEXT=201 TEXTAREA=202 TEXTAREA_CONTENT=203 THEN=204 THIS=205 TIMER=206 TO=207 TRANSITION=208 TRUE=209 TYPE=210 TYPE_INSTANCE=211 U=212 USE=213 V=214 VALUE=215 VARIABLE=216 VARIABLES=217 VIA=218 VIAPATH=219 VIEW=220 W=221 WITH=222 WS=223 X=224 XOR=225 Y=226 Z=227 # token names tokenNamesMap = { 0: "", 1: "", 2: "", 3: "", -1: "EOF", 228: "T__228", 229: "T__229", 230: "T__230", 231: "T__231", 232: "T__232", 233: "T__233", 234: "T__234", 4: "A", 5: "ACTION", 6: "ACTIVE", 7: "AGGREGATION", 8: "ALL", 9: "ALPHA", 10: "ALTERNATIVE", 11: "AND", 12: "ANSWER", 13: "ANY", 14: "APPEND", 15: "ARRAY", 16: "ASN1", 17: "ASNFILENAME", 18: "ASSIGN", 19: "ASSIG_OP", 20: "ASTERISK", 21: "B", 22: "BASE", 23: "BITSTR", 24: "BLOCK", 25: "C", 26: "CALL", 27: "CHANNEL", 28: "CHOICE", 29: "CIF", 30: "CLOSED_RANGE", 31: "COMMA", 32: "COMMENT", 33: "COMMENT2", 34: "COMPOSITE_STATE", 35: "CONDITIONAL", 36: "CONNECT", 37: "CONNECTION", 38: "CONSTANT", 39: "CONSTANTS", 40: "CREATE", 41: "D", 42: "DASH", 43: "DCL", 44: "DECISION", 45: "DEFAULT", 46: "DIGITS", 47: "DIV", 48: "DOT", 49: "E", 50: "ELSE", 51: "EMPTYSTR", 52: "END", 53: "ENDALTERNATIVE", 54: "ENDBLOCK", 55: "ENDCHANNEL", 56: "ENDCONNECTION", 57: "ENDDECISION", 58: "ENDFOR", 59: "ENDNEWTYPE", 60: "ENDPROCEDURE", 61: "ENDPROCESS", 62: "ENDSTATE", 63: "ENDSUBSTRUCTURE", 64: "ENDSYNTYPE", 65: "ENDSYSTEM", 66: "ENDTEXT", 67: "ENTRY_POINT", 68: "EQ", 69: "EXPONENT", 70: "EXPORT", 71: "EXPORTED", 72: "EXPRESSION", 73: "EXTERNAL", 74: "Exponent", 75: "F", 76: "FALSE", 77: "FI", 78: "FIELD", 79: "FIELDS", 80: "FIELD_NAME", 81: "FLOAT", 82: "FLOAT2", 83: "FLOATING_LABEL", 84: "FOR", 85: "FPAR", 86: "FROM", 87: "G", 88: "GE", 89: "GEODE", 90: "GROUND", 91: "GT", 92: "H", 93: "HYPERLINK", 94: "I", 95: "ID", 96: "IF", 97: "IFTHENELSE", 98: "IMPLIES", 99: "IMPORT", 100: "IN", 101: "INFORMAL_TEXT", 102: "INOUT", 103: "INPUT", 104: "INPUTLIST", 105: "INPUT_EXPRESSION", 106: "INPUT_NONE", 107: "INT", 108: "J", 109: "JOIN", 110: "K", 111: "KEEP", 112: "L", 113: "LABEL", 114: "LE", 115: "LITERAL", 116: "LT", 117: "L_BRACKET", 118: "L_PAREN", 119: "M", 120: "MANTISSA", 121: "MINUS_INFINITY", 122: "MKSTRING", 123: "MOD", 124: "MONITOR", 125: "N", 126: "NEG", 127: "NEQ", 128: "NEWTYPE", 129: "NEXTSTATE", 130: "NONE", 131: "NOT", 132: "NUMBER_OF_INSTANCES", 133: "O", 134: "OCTSTR", 135: "OPEN_RANGE", 136: "OR", 137: "OUT", 138: "OUTPUT", 139: "OUTPUT_BODY", 140: "OUTPUT_EXPRESSION", 141: "P", 142: "PARAM", 143: "PARAMNAMES", 144: "PARAMS", 145: "PAREN", 146: "PFPAR", 147: "PLUS", 148: "PLUS_INFINITY", 149: "POINT", 150: "PRIMARY", 151: "PRIORITY", 152: "PROCEDURE", 153: "PROCEDURE_CALL", 154: "PROCEDURE_NAME", 155: "PROCESS", 156: "PROVIDED", 157: "Q", 158: "QUESTION", 159: "R", 160: "RANGE", 161: "REFERENCED", 162: "REM", 163: "RESET", 164: "RETURN", 165: "RETURNS", 166: "ROUTE", 167: "R_BRACKET", 168: "R_PAREN", 169: "S", 170: "SAVE", 171: "SELECTOR", 172: "SEMI", 173: "SEQOF", 174: "SEQUENCE", 175: "SET", 176: "SIGNAL", 177: "SIGNALROUTE", 178: "SIGNAL_LIST", 179: "SORT", 180: "SPECIFIC", 181: "START", 182: "STATE", 183: "STATELIST", 184: "STATE_AGGREGATION", 185: "STATE_PARTITION_CONNECTION", 186: "STIMULUS", 187: "STOP", 188: "STOPIF", 189: "STR", 190: "STRING", 191: "STRUCT", 192: "SUBSTRUCTURE", 193: "SYNONYM", 194: "SYNONYM_LIST", 195: "SYNTYPE", 196: "SYSTEM", 197: "T", 198: "TASK", 199: "TASK_BODY", 200: "TERMINATOR", 201: "TEXT", 202: "TEXTAREA", 203: "TEXTAREA_CONTENT", 204: "THEN", 205: "THIS", 206: "TIMER", 207: "TO", 208: "TRANSITION", 209: "TRUE", 210: "TYPE", 211: "TYPE_INSTANCE", 212: "U", 213: "USE", 214: "V", 215: "VALUE", 216: "VARIABLE", 217: "VARIABLES", 218: "VIA", 219: "VIAPATH", 220: "VIEW", 221: "W", 222: "WITH", 223: "WS", 224: "X", 225: "XOR", 226: "Y", 227: "Z" } Token.registerTokenNamesMap(tokenNamesMap) # token names tokenNames = [ "", "", "", "", "A", "ACTION", "ACTIVE", "AGGREGATION", "ALL", "ALPHA", "ALTERNATIVE", "AND", "ANSWER", "ANY", "APPEND", "ARRAY", "ASN1", "ASNFILENAME", "ASSIGN", "ASSIG_OP", "ASTERISK", "B", "BASE", "BITSTR", "BLOCK", "C", "CALL", "CHANNEL", "CHOICE", "CIF", "CLOSED_RANGE", "COMMA", "COMMENT", "COMMENT2", "COMPOSITE_STATE", "CONDITIONAL", "CONNECT", "CONNECTION", "CONSTANT", "CONSTANTS", "CREATE", "D", "DASH", "DCL", "DECISION", "DEFAULT", "DIGITS", "DIV", "DOT", "E", "ELSE", "EMPTYSTR", "END", "ENDALTERNATIVE", "ENDBLOCK", "ENDCHANNEL", "ENDCONNECTION", "ENDDECISION", "ENDFOR", "ENDNEWTYPE", "ENDPROCEDURE", "ENDPROCESS", "ENDSTATE", "ENDSUBSTRUCTURE", "ENDSYNTYPE", "ENDSYSTEM", "ENDTEXT", "ENTRY_POINT", "EQ", "EXPONENT", "EXPORT", "EXPORTED", "EXPRESSION", "EXTERNAL", "Exponent", "F", "FALSE", "FI", "FIELD", "FIELDS", "FIELD_NAME", "FLOAT", "FLOAT2", "FLOATING_LABEL", "FOR", "FPAR", "FROM", "G", "GE", "GEODE", "GROUND", "GT", "H", "HYPERLINK", "I", "ID", "IF", "IFTHENELSE", "IMPLIES", "IMPORT", "IN", "INFORMAL_TEXT", "INOUT", "INPUT", "INPUTLIST", "INPUT_EXPRESSION", "INPUT_NONE", "INT", "J", "JOIN", "K", "KEEP", "L", "LABEL", "LE", "LITERAL", "LT", "L_BRACKET", "L_PAREN", "M", "MANTISSA", "MINUS_INFINITY", "MKSTRING", "MOD", "MONITOR", "N", "NEG", "NEQ", "NEWTYPE", "NEXTSTATE", "NONE", "NOT", "NUMBER_OF_INSTANCES", "O", "OCTSTR", "OPEN_RANGE", "OR", "OUT", "OUTPUT", "OUTPUT_BODY", "OUTPUT_EXPRESSION", "P", "PARAM", "PARAMNAMES", "PARAMS", "PAREN", "PFPAR", "PLUS", "PLUS_INFINITY", "POINT", "PRIMARY", "PRIORITY", "PROCEDURE", "PROCEDURE_CALL", "PROCEDURE_NAME", "PROCESS", "PROVIDED", "Q", "QUESTION", "R", "RANGE", "REFERENCED", "REM", "RESET", "RETURN", "RETURNS", "ROUTE", "R_BRACKET", "R_PAREN", "S", "SAVE", "SELECTOR", "SEMI", "SEQOF", "SEQUENCE", "SET", "SIGNAL", "SIGNALROUTE", "SIGNAL_LIST", "SORT", "SPECIFIC", "START", "STATE", "STATELIST", "STATE_AGGREGATION", "STATE_PARTITION_CONNECTION", "STIMULUS", "STOP", "STOPIF", "STR", "STRING", "STRUCT", "SUBSTRUCTURE", "SYNONYM", "SYNONYM_LIST", "SYNTYPE", "SYSTEM", "T", "TASK", "TASK_BODY", "TERMINATOR", "TEXT", "TEXTAREA", "TEXTAREA_CONTENT", "THEN", "THIS", "TIMER", "TO", "TRANSITION", "TRUE", "TYPE", "TYPE_INSTANCE", "U", "USE", "V", "VALUE", "VARIABLE", "VARIABLES", "VIA", "VIAPATH", "VIEW", "W", "WITH", "WS", "X", "XOR", "Y", "Z", "'!'", "'(.'", "'*/'", "'->'", "'.)'", "'/* CIF'", "':'" ] class sdl92Parser(Parser): grammarFileName = "sdl92.g" api_version = 1 tokenNames = tokenNames def __init__(self, input, state=None, *args, **kwargs): if state is None: state = RecognizerSharedState() super().__init__(input, state, *args, **kwargs) self.dfa54 = self.DFA54( self, 54, eot = self.DFA54_eot, eof = self.DFA54_eof, min = self.DFA54_min, max = self.DFA54_max, accept = self.DFA54_accept, special = self.DFA54_special, transition = self.DFA54_transition ) self.dfa96 = self.DFA96( self, 96, eot = self.DFA96_eot, eof = self.DFA96_eof, min = self.DFA96_min, max = self.DFA96_max, accept = self.DFA96_accept, special = self.DFA96_special, transition = self.DFA96_transition ) self.dfa138 = self.DFA138( self, 138, eot = self.DFA138_eot, eof = self.DFA138_eof, min = self.DFA138_min, max = self.DFA138_max, accept = self.DFA138_accept, special = self.DFA138_special, transition = self.DFA138_transition ) self.dfa199 = self.DFA199( self, 199, eot = self.DFA199_eot, eof = self.DFA199_eof, min = self.DFA199_min, max = self.DFA199_max, accept = self.DFA199_accept, special = self.DFA199_special, transition = self.DFA199_transition ) self.delegates = [] self._adaptor = None self.adaptor = CommonTreeAdaptor() def getTreeAdaptor(self): return self._adaptor def setTreeAdaptor(self, adaptor): self._adaptor = adaptor adaptor = property(getTreeAdaptor, setTreeAdaptor) class pr_file_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "pr_file" # sdl92.g:149:1: pr_file : ( use_clause | system_definition | process_definition )+ ; def pr_file(self, ): retval = self.pr_file_return() retval.start = self.input.LT(1) root_0 = None use_clause1 = None system_definition2 = None process_definition3 = None try: try: # sdl92.g:150:9: ( ( use_clause | system_definition | process_definition )+ ) # sdl92.g:150:17: ( use_clause | system_definition | process_definition )+ pass root_0 = self._adaptor.nil() # sdl92.g:150:17: ( use_clause | system_definition | process_definition )+ cnt1 = 0 while True: #loop1 alt1 = 4 LA1 = self.input.LA(1) if LA1 in {233}: LA1_2 = self.input.LA(2) if (LA1_2 == KEEP) : alt1 = 1 elif (LA1_2 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt1 = 3 elif LA1 in {USE}: alt1 = 1 elif LA1 in {SYSTEM}: alt1 = 2 elif LA1 in {PROCESS}: alt1 = 3 if alt1 == 1: # sdl92.g:150:18: use_clause pass self._state.following.append(self.FOLLOW_use_clause_in_pr_file1408) use_clause1 = self.use_clause() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, use_clause1.tree) elif alt1 == 2: # sdl92.g:151:19: system_definition pass self._state.following.append(self.FOLLOW_system_definition_in_pr_file1428) system_definition2 = self.system_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, system_definition2.tree) elif alt1 == 3: # sdl92.g:152:19: process_definition pass self._state.following.append(self.FOLLOW_process_definition_in_pr_file1448) process_definition3 = self.process_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, process_definition3.tree) else: if cnt1 >= 1: break #loop1 if self._state.backtracking > 0: raise BacktrackingFailed eee = EarlyExitException(1, self.input) raise eee cnt1 += 1 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "pr_file" class system_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "system_definition" # sdl92.g:156:1: system_definition : SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ; def system_definition(self, ): retval = self.system_definition_return() retval.start = self.input.LT(1) root_0 = None SYSTEM4 = None ENDSYSTEM8 = None system_name5 = None end6 = None entity_in_system7 = None system_name9 = None end10 = None SYSTEM4_tree = None ENDSYSTEM8_tree = None stream_SYSTEM = RewriteRuleTokenStream(self._adaptor, "token SYSTEM") stream_ENDSYSTEM = RewriteRuleTokenStream(self._adaptor, "token ENDSYSTEM") stream_entity_in_system = RewriteRuleSubtreeStream(self._adaptor, "rule entity_in_system") stream_system_name = RewriteRuleSubtreeStream(self._adaptor, "rule system_name") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:157:9: ( SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ) # sdl92.g:157:17: SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end pass SYSTEM4 = self.match(self.input, SYSTEM, self.FOLLOW_SYSTEM_in_system_definition1482) if self._state.backtracking == 0: stream_SYSTEM.add(SYSTEM4) self._state.following.append(self.FOLLOW_system_name_in_system_definition1484) system_name5 = self.system_name() self._state.following.pop() if self._state.backtracking == 0: stream_system_name.add(system_name5.tree) self._state.following.append(self.FOLLOW_end_in_system_definition1486) end6 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end6.tree) # sdl92.g:158:17: ( entity_in_system )* while True: #loop2 alt2 = 2 LA2_0 = self.input.LA(1) if (LA2_0 in {BLOCK, CHANNEL, EXPORTED, PROCEDURE, SIGNAL, 233}) : alt2 = 1 if alt2 == 1: # sdl92.g:158:17: entity_in_system pass self._state.following.append(self.FOLLOW_entity_in_system_in_system_definition1504) entity_in_system7 = self.entity_in_system() self._state.following.pop() if self._state.backtracking == 0: stream_entity_in_system.add(entity_in_system7.tree) else: break #loop2 ENDSYSTEM8 = self.match(self.input, ENDSYSTEM, self.FOLLOW_ENDSYSTEM_in_system_definition1523) if self._state.backtracking == 0: stream_ENDSYSTEM.add(ENDSYSTEM8) # sdl92.g:159:27: ( system_name )? alt3 = 2 LA3_0 = self.input.LA(1) if (LA3_0 == ID) : alt3 = 1 if alt3 == 1: # sdl92.g:159:27: system_name pass self._state.following.append(self.FOLLOW_system_name_in_system_definition1525) system_name9 = self.system_name() self._state.following.pop() if self._state.backtracking == 0: stream_system_name.add(system_name9.tree) self._state.following.append(self.FOLLOW_end_in_system_definition1528) end10 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end10.tree) # AST Rewrite # elements: SYSTEM, system_name, entity_in_system # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 160:9: -> ^( SYSTEM system_name ( entity_in_system )* ) # sdl92.g:160:17: ^( SYSTEM system_name ( entity_in_system )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SYSTEM.nextNode() , root_1) self._adaptor.addChild(root_1, stream_system_name.nextTree()) # sdl92.g:160:38: ( entity_in_system )* while stream_entity_in_system.hasNext(): self._adaptor.addChild(root_1, stream_entity_in_system.nextTree()) stream_entity_in_system.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "system_definition" class use_clause_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "use_clause" # sdl92.g:164:1: use_clause : ( use_asn1 )? USE package_name ( '/' def_selection_list )? end -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) ; def use_clause(self, ): retval = self.use_clause_return() retval.start = self.input.LT(1) root_0 = None USE12 = None char_literal14 = None use_asn111 = None package_name13 = None def_selection_list15 = None end16 = None USE12_tree = None char_literal14_tree = None stream_DIV = RewriteRuleTokenStream(self._adaptor, "token DIV") stream_USE = RewriteRuleTokenStream(self._adaptor, "token USE") stream_use_asn1 = RewriteRuleSubtreeStream(self._adaptor, "rule use_asn1") stream_package_name = RewriteRuleSubtreeStream(self._adaptor, "rule package_name") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_def_selection_list = RewriteRuleSubtreeStream(self._adaptor, "rule def_selection_list") try: try: # sdl92.g:165:9: ( ( use_asn1 )? USE package_name ( '/' def_selection_list )? end -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) ) # sdl92.g:165:17: ( use_asn1 )? USE package_name ( '/' def_selection_list )? end pass # sdl92.g:165:17: ( use_asn1 )? alt4 = 2 LA4_0 = self.input.LA(1) if (LA4_0 == 233) : alt4 = 1 if alt4 == 1: # sdl92.g:165:17: use_asn1 pass self._state.following.append(self.FOLLOW_use_asn1_in_use_clause1584) use_asn111 = self.use_asn1() self._state.following.pop() if self._state.backtracking == 0: stream_use_asn1.add(use_asn111.tree) USE12 = self.match(self.input, USE, self.FOLLOW_USE_in_use_clause1603) if self._state.backtracking == 0: stream_USE.add(USE12) self._state.following.append(self.FOLLOW_package_name_in_use_clause1605) package_name13 = self.package_name() self._state.following.pop() if self._state.backtracking == 0: stream_package_name.add(package_name13.tree) # sdl92.g:167:17: ( '/' def_selection_list )? alt5 = 2 LA5_0 = self.input.LA(1) if (LA5_0 == DIV) : alt5 = 1 if alt5 == 1: # sdl92.g:167:18: '/' def_selection_list pass char_literal14 = self.match(self.input, DIV, self.FOLLOW_DIV_in_use_clause1624) if self._state.backtracking == 0: stream_DIV.add(char_literal14) self._state.following.append(self.FOLLOW_def_selection_list_in_use_clause1626) def_selection_list15 = self.def_selection_list() self._state.following.pop() if self._state.backtracking == 0: stream_def_selection_list.add(def_selection_list15.tree) self._state.following.append(self.FOLLOW_end_in_use_clause1647) end16 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end16.tree) # AST Rewrite # elements: USE, use_asn1, end, package_name, def_selection_list # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 169:9: -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) # sdl92.g:169:17: ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_USE.nextNode() , root_1) # sdl92.g:169:23: ( use_asn1 )? if stream_use_asn1.hasNext(): self._adaptor.addChild(root_1, stream_use_asn1.nextTree()) stream_use_asn1.reset(); # sdl92.g:169:33: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); self._adaptor.addChild(root_1, stream_package_name.nextTree()) # sdl92.g:169:51: ( def_selection_list )? if stream_def_selection_list.hasNext(): self._adaptor.addChild(root_1, stream_def_selection_list.nextTree()) stream_def_selection_list.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "use_clause" class def_selection_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "def_selection_list" # sdl92.g:176:1: def_selection_list : ID ( ',' ! ID )* ; def def_selection_list(self, ): retval = self.def_selection_list_return() retval.start = self.input.LT(1) root_0 = None ID17 = None char_literal18 = None ID19 = None ID17_tree = None char_literal18_tree = None ID19_tree = None try: try: # sdl92.g:177:9: ( ID ( ',' ! ID )* ) # sdl92.g:177:17: ID ( ',' ! ID )* pass root_0 = self._adaptor.nil() ID17 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1711) if self._state.backtracking == 0: ID17_tree = self._adaptor.createWithPayload(ID17) self._adaptor.addChild(root_0, ID17_tree) # sdl92.g:177:20: ( ',' ! ID )* while True: #loop6 alt6 = 2 LA6_0 = self.input.LA(1) if (LA6_0 == COMMA) : alt6 = 1 if alt6 == 1: # sdl92.g:177:21: ',' ! ID pass char_literal18 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_def_selection_list1714) ID19 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1717) if self._state.backtracking == 0: ID19_tree = self._adaptor.createWithPayload(ID19) self._adaptor.addChild(root_0, ID19_tree) else: break #loop6 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "def_selection_list" class entity_in_system_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "entity_in_system" # sdl92.g:184:1: entity_in_system : ( signal_declaration | text_area | procedure | channel | block_definition ); def entity_in_system(self, ): retval = self.entity_in_system_return() retval.start = self.input.LT(1) root_0 = None signal_declaration20 = None text_area21 = None procedure22 = None channel23 = None block_definition24 = None try: try: # sdl92.g:185:9: ( signal_declaration | text_area | procedure | channel | block_definition ) alt7 = 5 LA7 = self.input.LA(1) if LA7 in {233}: LA7_1 = self.input.LA(2) if (self.synpred9_sdl92()) : alt7 = 1 elif (self.synpred10_sdl92()) : alt7 = 2 elif (self.synpred11_sdl92()) : alt7 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 7, 1, self.input) raise nvae elif LA7 in {SIGNAL}: alt7 = 1 elif LA7 in {EXPORTED, PROCEDURE}: alt7 = 3 elif LA7 in {CHANNEL}: alt7 = 4 elif LA7 in {BLOCK}: alt7 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 7, 0, self.input) raise nvae if alt7 == 1: # sdl92.g:185:17: signal_declaration pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_system1753) signal_declaration20 = self.signal_declaration() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, signal_declaration20.tree) elif alt7 == 2: # sdl92.g:186:19: text_area pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_text_area_in_entity_in_system1773) text_area21 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, text_area21.tree) elif alt7 == 3: # sdl92.g:187:19: procedure pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_procedure_in_entity_in_system1793) procedure22 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, procedure22.tree) elif alt7 == 4: # sdl92.g:188:19: channel pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_channel_in_entity_in_system1813) channel23 = self.channel() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, channel23.tree) elif alt7 == 5: # sdl92.g:189:19: block_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_block_definition_in_entity_in_system1833) block_definition24 = self.block_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, block_definition24.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "entity_in_system" class signal_declaration_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "signal_declaration" # sdl92.g:195:1: signal_declaration : ( paramnames )? SIGNAL signal_id ( input_params )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ) ; def signal_declaration(self, ): retval = self.signal_declaration_return() retval.start = self.input.LT(1) root_0 = None SIGNAL26 = None paramnames25 = None signal_id27 = None input_params28 = None end29 = None SIGNAL26_tree = None stream_SIGNAL = RewriteRuleTokenStream(self._adaptor, "token SIGNAL") stream_paramnames = RewriteRuleSubtreeStream(self._adaptor, "rule paramnames") stream_input_params = RewriteRuleSubtreeStream(self._adaptor, "rule input_params") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_signal_id = RewriteRuleSubtreeStream(self._adaptor, "rule signal_id") try: try: # sdl92.g:196:9: ( ( paramnames )? SIGNAL signal_id ( input_params )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ) ) # sdl92.g:196:17: ( paramnames )? SIGNAL signal_id ( input_params )? end pass # sdl92.g:196:17: ( paramnames )? alt8 = 2 LA8_0 = self.input.LA(1) if (LA8_0 == 233) : alt8 = 1 if alt8 == 1: # sdl92.g:196:17: paramnames pass self._state.following.append(self.FOLLOW_paramnames_in_signal_declaration1866) paramnames25 = self.paramnames() self._state.following.pop() if self._state.backtracking == 0: stream_paramnames.add(paramnames25.tree) SIGNAL26 = self.match(self.input, SIGNAL, self.FOLLOW_SIGNAL_in_signal_declaration1885) if self._state.backtracking == 0: stream_SIGNAL.add(SIGNAL26) self._state.following.append(self.FOLLOW_signal_id_in_signal_declaration1887) signal_id27 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: stream_signal_id.add(signal_id27.tree) # sdl92.g:197:34: ( input_params )? alt9 = 2 LA9_0 = self.input.LA(1) if (LA9_0 == L_PAREN) : alt9 = 1 if alt9 == 1: # sdl92.g:197:34: input_params pass self._state.following.append(self.FOLLOW_input_params_in_signal_declaration1889) input_params28 = self.input_params() self._state.following.pop() if self._state.backtracking == 0: stream_input_params.add(input_params28.tree) self._state.following.append(self.FOLLOW_end_in_signal_declaration1892) end29 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end29.tree) # AST Rewrite # elements: SIGNAL, paramnames, signal_id, input_params # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 198:9: -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ) # sdl92.g:198:17: ^( SIGNAL ( paramnames )? signal_id ( input_params )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SIGNAL.nextNode() , root_1) # sdl92.g:198:26: ( paramnames )? if stream_paramnames.hasNext(): self._adaptor.addChild(root_1, stream_paramnames.nextTree()) stream_paramnames.reset(); self._adaptor.addChild(root_1, stream_signal_id.nextTree()) # sdl92.g:198:48: ( input_params )? if stream_input_params.hasNext(): self._adaptor.addChild(root_1, stream_input_params.nextTree()) stream_input_params.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "signal_declaration" class channel_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "channel" # sdl92.g:202:1: channel : CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ; def channel(self, ): retval = self.channel_return() retval.start = self.input.LT(1) root_0 = None CHANNEL30 = None ENDCHANNEL33 = None channel_id31 = None route32 = None end34 = None CHANNEL30_tree = None ENDCHANNEL33_tree = None stream_CHANNEL = RewriteRuleTokenStream(self._adaptor, "token CHANNEL") stream_ENDCHANNEL = RewriteRuleTokenStream(self._adaptor, "token ENDCHANNEL") stream_route = RewriteRuleSubtreeStream(self._adaptor, "rule route") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_channel_id = RewriteRuleSubtreeStream(self._adaptor, "rule channel_id") try: try: # sdl92.g:203:9: ( CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ) # sdl92.g:203:17: CHANNEL channel_id ( route )+ ENDCHANNEL end pass CHANNEL30 = self.match(self.input, CHANNEL, self.FOLLOW_CHANNEL_in_channel1951) if self._state.backtracking == 0: stream_CHANNEL.add(CHANNEL30) self._state.following.append(self.FOLLOW_channel_id_in_channel1953) channel_id31 = self.channel_id() self._state.following.pop() if self._state.backtracking == 0: stream_channel_id.add(channel_id31.tree) # sdl92.g:204:17: ( route )+ cnt10 = 0 while True: #loop10 alt10 = 2 LA10_0 = self.input.LA(1) if (LA10_0 == FROM) : alt10 = 1 if alt10 == 1: # sdl92.g:204:17: route pass self._state.following.append(self.FOLLOW_route_in_channel1971) route32 = self.route() self._state.following.pop() if self._state.backtracking == 0: stream_route.add(route32.tree) else: if cnt10 >= 1: break #loop10 if self._state.backtracking > 0: raise BacktrackingFailed eee = EarlyExitException(10, self.input) raise eee cnt10 += 1 ENDCHANNEL33 = self.match(self.input, ENDCHANNEL, self.FOLLOW_ENDCHANNEL_in_channel1990) if self._state.backtracking == 0: stream_ENDCHANNEL.add(ENDCHANNEL33) self._state.following.append(self.FOLLOW_end_in_channel1992) end34 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end34.tree) # AST Rewrite # elements: CHANNEL, channel_id, route # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 206:9: -> ^( CHANNEL channel_id ( route )+ ) # sdl92.g:206:17: ^( CHANNEL channel_id ( route )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_CHANNEL.nextNode() , root_1) self._adaptor.addChild(root_1, stream_channel_id.nextTree()) # sdl92.g:206:38: ( route )+ if not (stream_route.hasNext()): raise RewriteEarlyExitException() while stream_route.hasNext(): self._adaptor.addChild(root_1, stream_route.nextTree()) stream_route.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "channel" class route_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "route" # sdl92.g:210:1: route : FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ; def route(self, ): retval = self.route_return() retval.start = self.input.LT(1) root_0 = None FROM35 = None TO37 = None WITH39 = None char_literal41 = None source_id36 = None dest_id38 = None signal_id40 = None signal_id42 = None end43 = None FROM35_tree = None TO37_tree = None WITH39_tree = None char_literal41_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_FROM = RewriteRuleTokenStream(self._adaptor, "token FROM") stream_TO = RewriteRuleTokenStream(self._adaptor, "token TO") stream_WITH = RewriteRuleTokenStream(self._adaptor, "token WITH") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_source_id = RewriteRuleSubtreeStream(self._adaptor, "rule source_id") stream_dest_id = RewriteRuleSubtreeStream(self._adaptor, "rule dest_id") stream_signal_id = RewriteRuleSubtreeStream(self._adaptor, "rule signal_id") try: try: # sdl92.g:211:9: ( FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ) # sdl92.g:211:17: FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end pass FROM35 = self.match(self.input, FROM, self.FOLLOW_FROM_in_route2048) if self._state.backtracking == 0: stream_FROM.add(FROM35) self._state.following.append(self.FOLLOW_source_id_in_route2050) source_id36 = self.source_id() self._state.following.pop() if self._state.backtracking == 0: stream_source_id.add(source_id36.tree) TO37 = self.match(self.input, TO, self.FOLLOW_TO_in_route2052) if self._state.backtracking == 0: stream_TO.add(TO37) self._state.following.append(self.FOLLOW_dest_id_in_route2054) dest_id38 = self.dest_id() self._state.following.pop() if self._state.backtracking == 0: stream_dest_id.add(dest_id38.tree) WITH39 = self.match(self.input, WITH, self.FOLLOW_WITH_in_route2056) if self._state.backtracking == 0: stream_WITH.add(WITH39) self._state.following.append(self.FOLLOW_signal_id_in_route2058) signal_id40 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: stream_signal_id.add(signal_id40.tree) # sdl92.g:211:58: ( ',' signal_id )* while True: #loop11 alt11 = 2 LA11_0 = self.input.LA(1) if (LA11_0 == COMMA) : alt11 = 1 if alt11 == 1: # sdl92.g:211:59: ',' signal_id pass char_literal41 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_route2061) if self._state.backtracking == 0: stream_COMMA.add(char_literal41) self._state.following.append(self.FOLLOW_signal_id_in_route2063) signal_id42 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: stream_signal_id.add(signal_id42.tree) else: break #loop11 self._state.following.append(self.FOLLOW_end_in_route2067) end43 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end43.tree) # AST Rewrite # elements: source_id, dest_id, signal_id # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 212:9: -> ^( ROUTE source_id dest_id ( signal_id )+ ) # sdl92.g:212:17: ^( ROUTE source_id dest_id ( signal_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(ROUTE, "ROUTE") , root_1) self._adaptor.addChild(root_1, stream_source_id.nextTree()) self._adaptor.addChild(root_1, stream_dest_id.nextTree()) # sdl92.g:212:43: ( signal_id )+ if not (stream_signal_id.hasNext()): raise RewriteEarlyExitException() while stream_signal_id.hasNext(): self._adaptor.addChild(root_1, stream_signal_id.nextTree()) stream_signal_id.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "route" class block_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "block_definition" # sdl92.g:216:1: block_definition : BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ; def block_definition(self, ): retval = self.block_definition_return() retval.start = self.input.LT(1) root_0 = None BLOCK44 = None ENDBLOCK48 = None block_id45 = None end46 = None entity_in_block47 = None end49 = None BLOCK44_tree = None ENDBLOCK48_tree = None stream_ENDBLOCK = RewriteRuleTokenStream(self._adaptor, "token ENDBLOCK") stream_BLOCK = RewriteRuleTokenStream(self._adaptor, "token BLOCK") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_entity_in_block = RewriteRuleSubtreeStream(self._adaptor, "rule entity_in_block") stream_block_id = RewriteRuleSubtreeStream(self._adaptor, "rule block_id") try: try: # sdl92.g:217:9: ( BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ) # sdl92.g:217:17: BLOCK block_id end ( entity_in_block )* ENDBLOCK end pass BLOCK44 = self.match(self.input, BLOCK, self.FOLLOW_BLOCK_in_block_definition2125) if self._state.backtracking == 0: stream_BLOCK.add(BLOCK44) self._state.following.append(self.FOLLOW_block_id_in_block_definition2127) block_id45 = self.block_id() self._state.following.pop() if self._state.backtracking == 0: stream_block_id.add(block_id45.tree) self._state.following.append(self.FOLLOW_end_in_block_definition2129) end46 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end46.tree) # sdl92.g:218:17: ( entity_in_block )* while True: #loop12 alt12 = 2 LA12_0 = self.input.LA(1) if (LA12_0 in {BLOCK, CONNECT, PROCESS, SIGNAL, SIGNALROUTE, 233}) : alt12 = 1 if alt12 == 1: # sdl92.g:218:17: entity_in_block pass self._state.following.append(self.FOLLOW_entity_in_block_in_block_definition2147) entity_in_block47 = self.entity_in_block() self._state.following.pop() if self._state.backtracking == 0: stream_entity_in_block.add(entity_in_block47.tree) else: break #loop12 ENDBLOCK48 = self.match(self.input, ENDBLOCK, self.FOLLOW_ENDBLOCK_in_block_definition2166) if self._state.backtracking == 0: stream_ENDBLOCK.add(ENDBLOCK48) self._state.following.append(self.FOLLOW_end_in_block_definition2168) end49 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end49.tree) # AST Rewrite # elements: BLOCK, block_id, entity_in_block # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 220:9: -> ^( BLOCK block_id ( entity_in_block )* ) # sdl92.g:220:17: ^( BLOCK block_id ( entity_in_block )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_BLOCK.nextNode() , root_1) self._adaptor.addChild(root_1, stream_block_id.nextTree()) # sdl92.g:220:34: ( entity_in_block )* while stream_entity_in_block.hasNext(): self._adaptor.addChild(root_1, stream_entity_in_block.nextTree()) stream_entity_in_block.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "block_definition" class entity_in_block_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "entity_in_block" # sdl92.g:228:1: entity_in_block : ( signal_declaration | signalroute | connection | block_definition | process_definition ); def entity_in_block(self, ): retval = self.entity_in_block_return() retval.start = self.input.LT(1) root_0 = None signal_declaration50 = None signalroute51 = None connection52 = None block_definition53 = None process_definition54 = None try: try: # sdl92.g:229:9: ( signal_declaration | signalroute | connection | block_definition | process_definition ) alt13 = 5 LA13 = self.input.LA(1) if LA13 in {233}: LA13_1 = self.input.LA(2) if (LA13_1 == KEEP) : alt13 = 1 elif (LA13_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt13 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 13, 1, self.input) raise nvae elif LA13 in {SIGNAL}: alt13 = 1 elif LA13 in {SIGNALROUTE}: alt13 = 2 elif LA13 in {CONNECT}: alt13 = 3 elif LA13 in {BLOCK}: alt13 = 4 elif LA13 in {PROCESS}: alt13 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 13, 0, self.input) raise nvae if alt13 == 1: # sdl92.g:229:17: signal_declaration pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_block2226) signal_declaration50 = self.signal_declaration() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, signal_declaration50.tree) elif alt13 == 2: # sdl92.g:230:19: signalroute pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signalroute_in_entity_in_block2246) signalroute51 = self.signalroute() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, signalroute51.tree) elif alt13 == 3: # sdl92.g:231:19: connection pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_connection_in_entity_in_block2266) connection52 = self.connection() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, connection52.tree) elif alt13 == 4: # sdl92.g:232:19: block_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_block_definition_in_entity_in_block2286) block_definition53 = self.block_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, block_definition53.tree) elif alt13 == 5: # sdl92.g:233:19: process_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_process_definition_in_entity_in_block2306) process_definition54 = self.process_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, process_definition54.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "entity_in_block" class signalroute_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "signalroute" # sdl92.g:239:1: signalroute : SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ; def signalroute(self, ): retval = self.signalroute_return() retval.start = self.input.LT(1) root_0 = None SIGNALROUTE55 = None route_id56 = None end57 = None route58 = None SIGNALROUTE55_tree = None stream_SIGNALROUTE = RewriteRuleTokenStream(self._adaptor, "token SIGNALROUTE") stream_route_id = RewriteRuleSubtreeStream(self._adaptor, "rule route_id") stream_route = RewriteRuleSubtreeStream(self._adaptor, "rule route") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:240:9: ( SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ) # sdl92.g:240:17: SIGNALROUTE route_id ( end )? ( route )* pass SIGNALROUTE55 = self.match(self.input, SIGNALROUTE, self.FOLLOW_SIGNALROUTE_in_signalroute2340) if self._state.backtracking == 0: stream_SIGNALROUTE.add(SIGNALROUTE55) self._state.following.append(self.FOLLOW_route_id_in_signalroute2342) route_id56 = self.route_id() self._state.following.pop() if self._state.backtracking == 0: stream_route_id.add(route_id56.tree) # sdl92.g:240:38: ( end )? alt14 = 2 LA14_0 = self.input.LA(1) if (LA14_0 == 233) : LA14_1 = self.input.LA(2) if (LA14_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA14_4 = self.input.LA(3) if (LA14_4 == L_PAREN) : LA14_6 = self.input.LA(4) if (LA14_6 == DASH) : LA14_8 = self.input.LA(5) if (LA14_8 == INT) : LA14_9 = self.input.LA(6) if (LA14_9 == COMMA) : LA14_11 = self.input.LA(7) if (LA14_11 == DASH) : LA14_12 = self.input.LA(8) if (LA14_12 == INT) : LA14_13 = self.input.LA(9) if (LA14_13 == R_PAREN) : LA14_14 = self.input.LA(10) if (LA14_14 == COMMA) : LA14_15 = self.input.LA(11) if (LA14_15 == L_PAREN) : LA14_16 = self.input.LA(12) if (LA14_16 == INT) : LA14_17 = self.input.LA(13) if (LA14_17 == COMMA) : LA14_18 = self.input.LA(14) if (LA14_18 == INT) : LA14_19 = self.input.LA(15) if (LA14_19 == R_PAREN) : LA14_20 = self.input.LA(16) if (LA14_20 == 230) : LA14_21 = self.input.LA(17) if (LA14_21 in {COMMENT, 233}) : alt14 = 1 elif (LA14_11 == INT) : LA14_13 = self.input.LA(8) if (LA14_13 == R_PAREN) : LA14_14 = self.input.LA(9) if (LA14_14 == COMMA) : LA14_15 = self.input.LA(10) if (LA14_15 == L_PAREN) : LA14_16 = self.input.LA(11) if (LA14_16 == INT) : LA14_17 = self.input.LA(12) if (LA14_17 == COMMA) : LA14_18 = self.input.LA(13) if (LA14_18 == INT) : LA14_19 = self.input.LA(14) if (LA14_19 == R_PAREN) : LA14_20 = self.input.LA(15) if (LA14_20 == 230) : LA14_21 = self.input.LA(16) if (LA14_21 in {COMMENT, 233}) : alt14 = 1 elif (LA14_6 == INT) : LA14_9 = self.input.LA(5) if (LA14_9 == COMMA) : LA14_11 = self.input.LA(6) if (LA14_11 == DASH) : LA14_12 = self.input.LA(7) if (LA14_12 == INT) : LA14_13 = self.input.LA(8) if (LA14_13 == R_PAREN) : LA14_14 = self.input.LA(9) if (LA14_14 == COMMA) : LA14_15 = self.input.LA(10) if (LA14_15 == L_PAREN) : LA14_16 = self.input.LA(11) if (LA14_16 == INT) : LA14_17 = self.input.LA(12) if (LA14_17 == COMMA) : LA14_18 = self.input.LA(13) if (LA14_18 == INT) : LA14_19 = self.input.LA(14) if (LA14_19 == R_PAREN) : LA14_20 = self.input.LA(15) if (LA14_20 == 230) : LA14_21 = self.input.LA(16) if (LA14_21 in {COMMENT, 233}) : alt14 = 1 elif (LA14_11 == INT) : LA14_13 = self.input.LA(7) if (LA14_13 == R_PAREN) : LA14_14 = self.input.LA(8) if (LA14_14 == COMMA) : LA14_15 = self.input.LA(9) if (LA14_15 == L_PAREN) : LA14_16 = self.input.LA(10) if (LA14_16 == INT) : LA14_17 = self.input.LA(11) if (LA14_17 == COMMA) : LA14_18 = self.input.LA(12) if (LA14_18 == INT) : LA14_19 = self.input.LA(13) if (LA14_19 == R_PAREN) : LA14_20 = self.input.LA(14) if (LA14_20 == 230) : LA14_21 = self.input.LA(15) if (LA14_21 in {COMMENT, 233}) : alt14 = 1 elif (LA14_1 == KEEP) : LA14_5 = self.input.LA(3) if (LA14_5 == SPECIFIC) : LA14_7 = self.input.LA(4) if (LA14_7 == GEODE) : LA14_10 = self.input.LA(5) if (LA14_10 == HYPERLINK) : alt14 = 1 elif (LA14_0 in {COMMENT, SEMI}) : alt14 = 1 if alt14 == 1: # sdl92.g:240:38: end pass self._state.following.append(self.FOLLOW_end_in_signalroute2344) end57 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end57.tree) # sdl92.g:241:17: ( route )* while True: #loop15 alt15 = 2 LA15_0 = self.input.LA(1) if (LA15_0 == FROM) : alt15 = 1 if alt15 == 1: # sdl92.g:241:17: route pass self._state.following.append(self.FOLLOW_route_in_signalroute2363) route58 = self.route() self._state.following.pop() if self._state.backtracking == 0: stream_route.add(route58.tree) else: break #loop15 # AST Rewrite # elements: SIGNALROUTE, route_id, route # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 242:9: -> ^( SIGNALROUTE route_id ( route )* ) # sdl92.g:242:17: ^( SIGNALROUTE route_id ( route )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SIGNALROUTE.nextNode() , root_1) self._adaptor.addChild(root_1, stream_route_id.nextTree()) # sdl92.g:242:40: ( route )* while stream_route.hasNext(): self._adaptor.addChild(root_1, stream_route.nextTree()) stream_route.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "signalroute" class connection_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "connection" # sdl92.g:246:1: connection : CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ; def connection(self, ): retval = self.connection_return() retval.start = self.input.LT(1) root_0 = None CONNECT59 = None AND61 = None channel_id60 = None route_id62 = None end63 = None CONNECT59_tree = None AND61_tree = None stream_AND = RewriteRuleTokenStream(self._adaptor, "token AND") stream_CONNECT = RewriteRuleTokenStream(self._adaptor, "token CONNECT") stream_route_id = RewriteRuleSubtreeStream(self._adaptor, "rule route_id") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_channel_id = RewriteRuleSubtreeStream(self._adaptor, "rule channel_id") try: try: # sdl92.g:247:9: ( CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ) # sdl92.g:247:17: CONNECT channel_id AND route_id end pass CONNECT59 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connection2420) if self._state.backtracking == 0: stream_CONNECT.add(CONNECT59) self._state.following.append(self.FOLLOW_channel_id_in_connection2422) channel_id60 = self.channel_id() self._state.following.pop() if self._state.backtracking == 0: stream_channel_id.add(channel_id60.tree) AND61 = self.match(self.input, AND, self.FOLLOW_AND_in_connection2424) if self._state.backtracking == 0: stream_AND.add(AND61) self._state.following.append(self.FOLLOW_route_id_in_connection2426) route_id62 = self.route_id() self._state.following.pop() if self._state.backtracking == 0: stream_route_id.add(route_id62.tree) self._state.following.append(self.FOLLOW_end_in_connection2428) end63 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end63.tree) # AST Rewrite # elements: channel_id, route_id # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 248:9: -> ^( CONNECTION channel_id route_id ) # sdl92.g:248:17: ^( CONNECTION channel_id route_id ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(CONNECTION, "CONNECTION") , root_1) self._adaptor.addChild(root_1, stream_channel_id.nextTree()) self._adaptor.addChild(root_1, stream_route_id.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "connection" class process_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "process_definition" # sdl92.g:260:1: process_definition : ( cif )? PROCESS (t= TYPE )? process_id ( number_of_instances )? ( ':' type_inst )? ( REFERENCED )? a= end ( pfpar )? ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( processBody )? ( ENDPROCESS )? ( TYPE )? ( process_id )? ( end )? -> ^( PROCESS ( cif )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) ; def process_definition(self, ): retval = self.process_definition_return() retval.start = self.input.LT(1) root_0 = None t = None PROCESS65 = None char_literal68 = None REFERENCED70 = None ENDPROCESS76 = None TYPE77 = None a = None cif64 = None process_id66 = None number_of_instances67 = None type_inst69 = None pfpar71 = None text_area72 = None procedure73 = None composite_state74 = None processBody75 = None process_id78 = None end79 = None t_tree = None PROCESS65_tree = None char_literal68_tree = None REFERENCED70_tree = None ENDPROCESS76_tree = None TYPE77_tree = None stream_234 = RewriteRuleTokenStream(self._adaptor, "token 234") stream_PROCESS = RewriteRuleTokenStream(self._adaptor, "token PROCESS") stream_ENDPROCESS = RewriteRuleTokenStream(self._adaptor, "token ENDPROCESS") stream_TYPE = RewriteRuleTokenStream(self._adaptor, "token TYPE") stream_REFERENCED = RewriteRuleTokenStream(self._adaptor, "token REFERENCED") stream_text_area = RewriteRuleSubtreeStream(self._adaptor, "rule text_area") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_process_id = RewriteRuleSubtreeStream(self._adaptor, "rule process_id") stream_pfpar = RewriteRuleSubtreeStream(self._adaptor, "rule pfpar") stream_processBody = RewriteRuleSubtreeStream(self._adaptor, "rule processBody") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_type_inst = RewriteRuleSubtreeStream(self._adaptor, "rule type_inst") stream_procedure = RewriteRuleSubtreeStream(self._adaptor, "rule procedure") stream_composite_state = RewriteRuleSubtreeStream(self._adaptor, "rule composite_state") stream_number_of_instances = RewriteRuleSubtreeStream(self._adaptor, "rule number_of_instances") try: try: # sdl92.g:261:9: ( ( cif )? PROCESS (t= TYPE )? process_id ( number_of_instances )? ( ':' type_inst )? ( REFERENCED )? a= end ( pfpar )? ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( processBody )? ( ENDPROCESS )? ( TYPE )? ( process_id )? ( end )? -> ^( PROCESS ( cif )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) ) # sdl92.g:261:17: ( cif )? PROCESS (t= TYPE )? process_id ( number_of_instances )? ( ':' type_inst )? ( REFERENCED )? a= end ( pfpar )? ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( processBody )? ( ENDPROCESS )? ( TYPE )? ( process_id )? ( end )? pass # sdl92.g:261:17: ( cif )? alt16 = 2 LA16_0 = self.input.LA(1) if (LA16_0 == 233) : alt16 = 1 if alt16 == 1: # sdl92.g:261:17: cif pass self._state.following.append(self.FOLLOW_cif_in_process_definition2485) cif64 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif64.tree) PROCESS65 = self.match(self.input, PROCESS, self.FOLLOW_PROCESS_in_process_definition2504) if self._state.backtracking == 0: stream_PROCESS.add(PROCESS65) # sdl92.g:262:26: (t= TYPE )? alt17 = 2 LA17_0 = self.input.LA(1) if (LA17_0 == TYPE) : alt17 = 1 if alt17 == 1: # sdl92.g:262:26: t= TYPE pass t = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2508) if self._state.backtracking == 0: stream_TYPE.add(t) self._state.following.append(self.FOLLOW_process_id_in_process_definition2511) process_id66 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: stream_process_id.add(process_id66.tree) # sdl92.g:263:17: ( number_of_instances )? alt18 = 2 LA18_0 = self.input.LA(1) if (LA18_0 == L_PAREN) : alt18 = 1 if alt18 == 1: # sdl92.g:263:17: number_of_instances pass self._state.following.append(self.FOLLOW_number_of_instances_in_process_definition2529) number_of_instances67 = self.number_of_instances() self._state.following.pop() if self._state.backtracking == 0: stream_number_of_instances.add(number_of_instances67.tree) # sdl92.g:263:38: ( ':' type_inst )? alt19 = 2 LA19_0 = self.input.LA(1) if (LA19_0 == 234) : alt19 = 1 if alt19 == 1: # sdl92.g:263:39: ':' type_inst pass char_literal68 = self.match(self.input, 234, self.FOLLOW_234_in_process_definition2533) if self._state.backtracking == 0: stream_234.add(char_literal68) self._state.following.append(self.FOLLOW_type_inst_in_process_definition2535) type_inst69 = self.type_inst() self._state.following.pop() if self._state.backtracking == 0: stream_type_inst.add(type_inst69.tree) # sdl92.g:263:55: ( REFERENCED )? alt20 = 2 LA20_0 = self.input.LA(1) if (LA20_0 == REFERENCED) : alt20 = 1 if alt20 == 1: # sdl92.g:263:55: REFERENCED pass REFERENCED70 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_process_definition2539) if self._state.backtracking == 0: stream_REFERENCED.add(REFERENCED70) self._state.following.append(self.FOLLOW_end_in_process_definition2544) a = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(a.tree) # sdl92.g:264:17: ( pfpar )? alt21 = 2 LA21_0 = self.input.LA(1) if (LA21_0 == FPAR) : alt21 = 1 if alt21 == 1: # sdl92.g:264:17: pfpar pass self._state.following.append(self.FOLLOW_pfpar_in_process_definition2562) pfpar71 = self.pfpar() self._state.following.pop() if self._state.backtracking == 0: stream_pfpar.add(pfpar71.tree) # sdl92.g:265:17: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* while True: #loop22 alt22 = 4 LA22 = self.input.LA(1) if LA22 in {233}: LA22_1 = self.input.LA(2) if (self.synpred30_sdl92()) : alt22 = 1 elif (self.synpred31_sdl92()) : alt22 = 2 elif LA22 in {STATE}: LA22_3 = self.input.LA(2) if (self.synpred32_sdl92()) : alt22 = 3 elif LA22 in {EXPORTED, PROCEDURE}: alt22 = 2 if alt22 == 1: # sdl92.g:265:18: text_area pass self._state.following.append(self.FOLLOW_text_area_in_process_definition2582) text_area72 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: stream_text_area.add(text_area72.tree) elif alt22 == 2: # sdl92.g:265:30: procedure pass self._state.following.append(self.FOLLOW_procedure_in_process_definition2586) procedure73 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: stream_procedure.add(procedure73.tree) elif alt22 == 3: # sdl92.g:265:42: ( composite_state_preamble )=> composite_state pass self._state.following.append(self.FOLLOW_composite_state_in_process_definition2595) composite_state74 = self.composite_state() self._state.following.pop() if self._state.backtracking == 0: stream_composite_state.add(composite_state74.tree) else: break #loop22 # sdl92.g:266:17: ( processBody )? alt23 = 2 LA23 = self.input.LA(1) if LA23 in {233}: LA23_1 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {CONNECTION, START, STATE}: alt23 = 1 elif LA23 in {ENDPROCESS}: LA23_3 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {TYPE}: LA23_4 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {ID}: LA23_5 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {COMMENT}: LA23_6 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {SEMI}: LA23_7 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {EOF}: LA23_8 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {USE}: LA23_9 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {SYSTEM}: LA23_10 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {PROCESS}: LA23_11 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {ENDBLOCK}: LA23_12 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {SIGNAL}: LA23_13 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {SIGNALROUTE}: LA23_14 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {CONNECT}: LA23_15 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 elif LA23 in {BLOCK}: LA23_16 = self.input.LA(2) if (self.synpred33_sdl92()) : alt23 = 1 if alt23 == 1: # sdl92.g:266:17: processBody pass self._state.following.append(self.FOLLOW_processBody_in_process_definition2615) processBody75 = self.processBody() self._state.following.pop() if self._state.backtracking == 0: stream_processBody.add(processBody75.tree) # sdl92.g:266:30: ( ENDPROCESS )? alt24 = 2 LA24_0 = self.input.LA(1) if (LA24_0 == ENDPROCESS) : alt24 = 1 if alt24 == 1: # sdl92.g:266:30: ENDPROCESS pass ENDPROCESS76 = self.match(self.input, ENDPROCESS, self.FOLLOW_ENDPROCESS_in_process_definition2618) if self._state.backtracking == 0: stream_ENDPROCESS.add(ENDPROCESS76) # sdl92.g:266:42: ( TYPE )? alt25 = 2 LA25_0 = self.input.LA(1) if (LA25_0 == TYPE) : alt25 = 1 if alt25 == 1: # sdl92.g:266:42: TYPE pass TYPE77 = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2621) if self._state.backtracking == 0: stream_TYPE.add(TYPE77) # sdl92.g:266:48: ( process_id )? alt26 = 2 LA26_0 = self.input.LA(1) if (LA26_0 == ID) : alt26 = 1 if alt26 == 1: # sdl92.g:266:48: process_id pass self._state.following.append(self.FOLLOW_process_id_in_process_definition2624) process_id78 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: stream_process_id.add(process_id78.tree) # sdl92.g:267:17: ( end )? alt27 = 2 LA27_0 = self.input.LA(1) if (LA27_0 == 233) : LA27_1 = self.input.LA(2) if (LA27_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA27_4 = self.input.LA(3) if (LA27_4 == L_PAREN) : LA27_6 = self.input.LA(4) if (LA27_6 == DASH) : LA27_8 = self.input.LA(5) if (LA27_8 == INT) : LA27_9 = self.input.LA(6) if (LA27_9 == COMMA) : LA27_11 = self.input.LA(7) if (LA27_11 == DASH) : LA27_12 = self.input.LA(8) if (LA27_12 == INT) : LA27_13 = self.input.LA(9) if (LA27_13 == R_PAREN) : LA27_14 = self.input.LA(10) if (LA27_14 == COMMA) : LA27_15 = self.input.LA(11) if (LA27_15 == L_PAREN) : LA27_16 = self.input.LA(12) if (LA27_16 == INT) : LA27_17 = self.input.LA(13) if (LA27_17 == COMMA) : LA27_18 = self.input.LA(14) if (LA27_18 == INT) : LA27_19 = self.input.LA(15) if (LA27_19 == R_PAREN) : LA27_20 = self.input.LA(16) if (LA27_20 == 230) : LA27_21 = self.input.LA(17) if (LA27_21 in {COMMENT, 233}) : alt27 = 1 elif (LA27_11 == INT) : LA27_13 = self.input.LA(8) if (LA27_13 == R_PAREN) : LA27_14 = self.input.LA(9) if (LA27_14 == COMMA) : LA27_15 = self.input.LA(10) if (LA27_15 == L_PAREN) : LA27_16 = self.input.LA(11) if (LA27_16 == INT) : LA27_17 = self.input.LA(12) if (LA27_17 == COMMA) : LA27_18 = self.input.LA(13) if (LA27_18 == INT) : LA27_19 = self.input.LA(14) if (LA27_19 == R_PAREN) : LA27_20 = self.input.LA(15) if (LA27_20 == 230) : LA27_21 = self.input.LA(16) if (LA27_21 in {COMMENT, 233}) : alt27 = 1 elif (LA27_6 == INT) : LA27_9 = self.input.LA(5) if (LA27_9 == COMMA) : LA27_11 = self.input.LA(6) if (LA27_11 == DASH) : LA27_12 = self.input.LA(7) if (LA27_12 == INT) : LA27_13 = self.input.LA(8) if (LA27_13 == R_PAREN) : LA27_14 = self.input.LA(9) if (LA27_14 == COMMA) : LA27_15 = self.input.LA(10) if (LA27_15 == L_PAREN) : LA27_16 = self.input.LA(11) if (LA27_16 == INT) : LA27_17 = self.input.LA(12) if (LA27_17 == COMMA) : LA27_18 = self.input.LA(13) if (LA27_18 == INT) : LA27_19 = self.input.LA(14) if (LA27_19 == R_PAREN) : LA27_20 = self.input.LA(15) if (LA27_20 == 230) : LA27_21 = self.input.LA(16) if (LA27_21 in {COMMENT, 233}) : alt27 = 1 elif (LA27_11 == INT) : LA27_13 = self.input.LA(7) if (LA27_13 == R_PAREN) : LA27_14 = self.input.LA(8) if (LA27_14 == COMMA) : LA27_15 = self.input.LA(9) if (LA27_15 == L_PAREN) : LA27_16 = self.input.LA(10) if (LA27_16 == INT) : LA27_17 = self.input.LA(11) if (LA27_17 == COMMA) : LA27_18 = self.input.LA(12) if (LA27_18 == INT) : LA27_19 = self.input.LA(13) if (LA27_19 == R_PAREN) : LA27_20 = self.input.LA(14) if (LA27_20 == 230) : LA27_21 = self.input.LA(15) if (LA27_21 in {COMMENT, 233}) : alt27 = 1 elif (LA27_1 == KEEP) : LA27_5 = self.input.LA(3) if (LA27_5 == SPECIFIC) : LA27_7 = self.input.LA(4) if (LA27_7 == GEODE) : LA27_10 = self.input.LA(5) if (LA27_10 == HYPERLINK) : alt27 = 1 elif (LA27_0 in {COMMENT, SEMI}) : alt27 = 1 if alt27 == 1: # sdl92.g:267:17: end pass self._state.following.append(self.FOLLOW_end_in_process_definition2643) end79 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end79.tree) # AST Rewrite # elements: PROCESS, cif, process_id, number_of_instances, type_inst, t, REFERENCED, a, pfpar, text_area, procedure, composite_state, processBody # token labels: t # rule labels: a, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 stream_t = RewriteRuleTokenStream(self._adaptor, "token t", t) if a is not None: stream_a = RewriteRuleSubtreeStream(self._adaptor, "rule a", a.tree) else: stream_a = RewriteRuleSubtreeStream(self._adaptor, "token a", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 268:9: -> ^( PROCESS ( cif )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) # sdl92.g:268:17: ^( PROCESS ( cif )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PROCESS.nextNode() , root_1) # sdl92.g:268:27: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); self._adaptor.addChild(root_1, stream_process_id.nextTree()) # sdl92.g:268:43: ( number_of_instances )? if stream_number_of_instances.hasNext(): self._adaptor.addChild(root_1, stream_number_of_instances.nextTree()) stream_number_of_instances.reset(); # sdl92.g:268:64: ( type_inst )? if stream_type_inst.hasNext(): self._adaptor.addChild(root_1, stream_type_inst.nextTree()) stream_type_inst.reset(); # sdl92.g:269:18: ( $t)? if stream_t.hasNext(): self._adaptor.addChild(root_1, stream_t.nextNode()) stream_t.reset(); # sdl92.g:269:21: ( REFERENCED )? if stream_REFERENCED.hasNext(): self._adaptor.addChild(root_1, stream_REFERENCED.nextNode() ) stream_REFERENCED.reset(); # sdl92.g:269:34: ( $a)? if stream_a.hasNext(): self._adaptor.addChild(root_1, stream_a.nextTree()) stream_a.reset(); # sdl92.g:269:37: ( pfpar )? if stream_pfpar.hasNext(): self._adaptor.addChild(root_1, stream_pfpar.nextTree()) stream_pfpar.reset(); # sdl92.g:269:44: ( text_area )* while stream_text_area.hasNext(): self._adaptor.addChild(root_1, stream_text_area.nextTree()) stream_text_area.reset(); # sdl92.g:269:55: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); # sdl92.g:270:17: ( composite_state )* while stream_composite_state.hasNext(): self._adaptor.addChild(root_1, stream_composite_state.nextTree()) stream_composite_state.reset(); # sdl92.g:270:34: ( processBody )? if stream_processBody.hasNext(): self._adaptor.addChild(root_1, stream_processBody.nextTree()) stream_processBody.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "process_definition" class pfpar_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "pfpar" # sdl92.g:275:1: pfpar : FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? -> ^( PFPAR ( parameters_of_sort )+ ) ; def pfpar(self, ): retval = self.pfpar_return() retval.start = self.input.LT(1) root_0 = None FPAR80 = None char_literal82 = None parameters_of_sort81 = None parameters_of_sort83 = None end84 = None FPAR80_tree = None char_literal82_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_FPAR = RewriteRuleTokenStream(self._adaptor, "token FPAR") stream_parameters_of_sort = RewriteRuleSubtreeStream(self._adaptor, "rule parameters_of_sort") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:276:9: ( FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? -> ^( PFPAR ( parameters_of_sort )+ ) ) # sdl92.g:276:17: FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? pass FPAR80 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_pfpar2765) if self._state.backtracking == 0: stream_FPAR.add(FPAR80) self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar2767) parameters_of_sort81 = self.parameters_of_sort() self._state.following.pop() if self._state.backtracking == 0: stream_parameters_of_sort.add(parameters_of_sort81.tree) # sdl92.g:277:17: ( ',' parameters_of_sort )* while True: #loop28 alt28 = 2 LA28_0 = self.input.LA(1) if (LA28_0 == COMMA) : alt28 = 1 if alt28 == 1: # sdl92.g:277:18: ',' parameters_of_sort pass char_literal82 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_pfpar2786) if self._state.backtracking == 0: stream_COMMA.add(char_literal82) self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar2788) parameters_of_sort83 = self.parameters_of_sort() self._state.following.pop() if self._state.backtracking == 0: stream_parameters_of_sort.add(parameters_of_sort83.tree) else: break #loop28 # sdl92.g:278:17: ( end )? alt29 = 2 LA29 = self.input.LA(1) if LA29 in {233}: LA29_1 = self.input.LA(2) if (LA29_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA29_5 = self.input.LA(3) if (LA29_5 == L_PAREN) : LA29_9 = self.input.LA(4) if (LA29_9 == DASH) : LA29_12 = self.input.LA(5) if (LA29_12 == INT) : LA29_13 = self.input.LA(6) if (LA29_13 == COMMA) : LA29_15 = self.input.LA(7) if (LA29_15 == DASH) : LA29_17 = self.input.LA(8) if (LA29_17 == INT) : LA29_18 = self.input.LA(9) if (LA29_18 == R_PAREN) : LA29_20 = self.input.LA(10) if (LA29_20 == COMMA) : LA29_22 = self.input.LA(11) if (LA29_22 == L_PAREN) : LA29_23 = self.input.LA(12) if (LA29_23 == INT) : LA29_24 = self.input.LA(13) if (LA29_24 == COMMA) : LA29_25 = self.input.LA(14) if (LA29_25 == INT) : LA29_26 = self.input.LA(15) if (LA29_26 == R_PAREN) : LA29_27 = self.input.LA(16) if (LA29_27 == 230) : LA29_28 = self.input.LA(17) if (LA29_28 == 233) : LA29_29 = self.input.LA(18) if (LA29_29 == KEEP) : LA29_30 = self.input.LA(19) if (LA29_30 == SPECIFIC) : LA29_31 = self.input.LA(20) if (LA29_31 == GEODE) : LA29_32 = self.input.LA(21) if (LA29_32 == HYPERLINK) : LA29_16 = self.input.LA(22) if (LA29_16 == STRING) : LA29_19 = self.input.LA(23) if (LA29_19 == 230) : LA29_21 = self.input.LA(24) if (LA29_21 == COMMENT) : LA29_2 = self.input.LA(25) if (LA29_2 == STRING) : LA29_7 = self.input.LA(26) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(27) if (self.synpred39_sdl92()) : alt29 = 1 elif (LA29_28 == COMMENT) : LA29_2 = self.input.LA(18) if (LA29_2 == STRING) : LA29_7 = self.input.LA(19) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(20) if (self.synpred39_sdl92()) : alt29 = 1 elif (LA29_15 == INT) : LA29_18 = self.input.LA(8) if (LA29_18 == R_PAREN) : LA29_20 = self.input.LA(9) if (LA29_20 == COMMA) : LA29_22 = self.input.LA(10) if (LA29_22 == L_PAREN) : LA29_23 = self.input.LA(11) if (LA29_23 == INT) : LA29_24 = self.input.LA(12) if (LA29_24 == COMMA) : LA29_25 = self.input.LA(13) if (LA29_25 == INT) : LA29_26 = self.input.LA(14) if (LA29_26 == R_PAREN) : LA29_27 = self.input.LA(15) if (LA29_27 == 230) : LA29_28 = self.input.LA(16) if (LA29_28 == 233) : LA29_29 = self.input.LA(17) if (LA29_29 == KEEP) : LA29_30 = self.input.LA(18) if (LA29_30 == SPECIFIC) : LA29_31 = self.input.LA(19) if (LA29_31 == GEODE) : LA29_32 = self.input.LA(20) if (LA29_32 == HYPERLINK) : LA29_16 = self.input.LA(21) if (LA29_16 == STRING) : LA29_19 = self.input.LA(22) if (LA29_19 == 230) : LA29_21 = self.input.LA(23) if (LA29_21 == COMMENT) : LA29_2 = self.input.LA(24) if (LA29_2 == STRING) : LA29_7 = self.input.LA(25) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(26) if (self.synpred39_sdl92()) : alt29 = 1 elif (LA29_28 == COMMENT) : LA29_2 = self.input.LA(17) if (LA29_2 == STRING) : LA29_7 = self.input.LA(18) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(19) if (self.synpred39_sdl92()) : alt29 = 1 elif (LA29_9 == INT) : LA29_13 = self.input.LA(5) if (LA29_13 == COMMA) : LA29_15 = self.input.LA(6) if (LA29_15 == DASH) : LA29_17 = self.input.LA(7) if (LA29_17 == INT) : LA29_18 = self.input.LA(8) if (LA29_18 == R_PAREN) : LA29_20 = self.input.LA(9) if (LA29_20 == COMMA) : LA29_22 = self.input.LA(10) if (LA29_22 == L_PAREN) : LA29_23 = self.input.LA(11) if (LA29_23 == INT) : LA29_24 = self.input.LA(12) if (LA29_24 == COMMA) : LA29_25 = self.input.LA(13) if (LA29_25 == INT) : LA29_26 = self.input.LA(14) if (LA29_26 == R_PAREN) : LA29_27 = self.input.LA(15) if (LA29_27 == 230) : LA29_28 = self.input.LA(16) if (LA29_28 == 233) : LA29_29 = self.input.LA(17) if (LA29_29 == KEEP) : LA29_30 = self.input.LA(18) if (LA29_30 == SPECIFIC) : LA29_31 = self.input.LA(19) if (LA29_31 == GEODE) : LA29_32 = self.input.LA(20) if (LA29_32 == HYPERLINK) : LA29_16 = self.input.LA(21) if (LA29_16 == STRING) : LA29_19 = self.input.LA(22) if (LA29_19 == 230) : LA29_21 = self.input.LA(23) if (LA29_21 == COMMENT) : LA29_2 = self.input.LA(24) if (LA29_2 == STRING) : LA29_7 = self.input.LA(25) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(26) if (self.synpred39_sdl92()) : alt29 = 1 elif (LA29_28 == COMMENT) : LA29_2 = self.input.LA(17) if (LA29_2 == STRING) : LA29_7 = self.input.LA(18) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(19) if (self.synpred39_sdl92()) : alt29 = 1 elif (LA29_15 == INT) : LA29_18 = self.input.LA(7) if (LA29_18 == R_PAREN) : LA29_20 = self.input.LA(8) if (LA29_20 == COMMA) : LA29_22 = self.input.LA(9) if (LA29_22 == L_PAREN) : LA29_23 = self.input.LA(10) if (LA29_23 == INT) : LA29_24 = self.input.LA(11) if (LA29_24 == COMMA) : LA29_25 = self.input.LA(12) if (LA29_25 == INT) : LA29_26 = self.input.LA(13) if (LA29_26 == R_PAREN) : LA29_27 = self.input.LA(14) if (LA29_27 == 230) : LA29_28 = self.input.LA(15) if (LA29_28 == 233) : LA29_29 = self.input.LA(16) if (LA29_29 == KEEP) : LA29_30 = self.input.LA(17) if (LA29_30 == SPECIFIC) : LA29_31 = self.input.LA(18) if (LA29_31 == GEODE) : LA29_32 = self.input.LA(19) if (LA29_32 == HYPERLINK) : LA29_16 = self.input.LA(20) if (LA29_16 == STRING) : LA29_19 = self.input.LA(21) if (LA29_19 == 230) : LA29_21 = self.input.LA(22) if (LA29_21 == COMMENT) : LA29_2 = self.input.LA(23) if (LA29_2 == STRING) : LA29_7 = self.input.LA(24) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(25) if (self.synpred39_sdl92()) : alt29 = 1 elif (LA29_28 == COMMENT) : LA29_2 = self.input.LA(16) if (LA29_2 == STRING) : LA29_7 = self.input.LA(17) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(18) if (self.synpred39_sdl92()) : alt29 = 1 elif (LA29_1 == KEEP) : LA29_6 = self.input.LA(3) if (LA29_6 == SPECIFIC) : LA29_10 = self.input.LA(4) if (LA29_10 == GEODE) : LA29_14 = self.input.LA(5) if (LA29_14 == HYPERLINK) : LA29_16 = self.input.LA(6) if (LA29_16 == STRING) : LA29_19 = self.input.LA(7) if (LA29_19 == 230) : LA29_21 = self.input.LA(8) if (LA29_21 == COMMENT) : LA29_2 = self.input.LA(9) if (LA29_2 == STRING) : LA29_7 = self.input.LA(10) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(11) if (self.synpred39_sdl92()) : alt29 = 1 elif LA29 in {COMMENT}: LA29_2 = self.input.LA(2) if (LA29_2 == STRING) : LA29_7 = self.input.LA(3) if (LA29_7 == SEMI) : LA29_11 = self.input.LA(4) if (self.synpred39_sdl92()) : alt29 = 1 elif LA29 in {SEMI}: LA29_3 = self.input.LA(2) if (self.synpred39_sdl92()) : alt29 = 1 if alt29 == 1: # sdl92.g:278:17: end pass self._state.following.append(self.FOLLOW_end_in_pfpar2808) end84 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end84.tree) # AST Rewrite # elements: parameters_of_sort # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 279:9: -> ^( PFPAR ( parameters_of_sort )+ ) # sdl92.g:279:17: ^( PFPAR ( parameters_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PFPAR, "PFPAR") , root_1) # sdl92.g:279:25: ( parameters_of_sort )+ if not (stream_parameters_of_sort.hasNext()): raise RewriteEarlyExitException() while stream_parameters_of_sort.hasNext(): self._adaptor.addChild(root_1, stream_parameters_of_sort.nextTree()) stream_parameters_of_sort.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "pfpar" class parameters_of_sort_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "parameters_of_sort" # sdl92.g:283:1: parameters_of_sort : variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ; def parameters_of_sort(self, ): retval = self.parameters_of_sort_return() retval.start = self.input.LT(1) root_0 = None char_literal86 = None variable_id85 = None variable_id87 = None sort88 = None char_literal86_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: # sdl92.g:284:9: ( variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ) # sdl92.g:284:17: variable_id ( ',' variable_id )* sort pass self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort2863) variable_id85 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id85.tree) # sdl92.g:284:29: ( ',' variable_id )* while True: #loop30 alt30 = 2 LA30_0 = self.input.LA(1) if (LA30_0 == COMMA) : alt30 = 1 if alt30 == 1: # sdl92.g:284:30: ',' variable_id pass char_literal86 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_parameters_of_sort2866) if self._state.backtracking == 0: stream_COMMA.add(char_literal86) self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort2868) variable_id87 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id87.tree) else: break #loop30 self._state.following.append(self.FOLLOW_sort_in_parameters_of_sort2872) sort88 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort88.tree) # AST Rewrite # elements: variable_id, sort # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 285:9: -> ^( PARAM ( variable_id )+ sort ) # sdl92.g:285:17: ^( PARAM ( variable_id )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAM, "PARAM") , root_1) # sdl92.g:285:25: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() while stream_variable_id.hasNext(): self._adaptor.addChild(root_1, stream_variable_id.nextTree()) stream_variable_id.reset() self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "parameters_of_sort" class procedure_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "procedure" # sdl92.g:292:1: procedure : ( cif )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ; def procedure(self, ): retval = self.procedure_return() retval.start = self.input.LT(1) root_0 = None EXPORTED90 = None PROCEDURE91 = None SEMI93 = None ENDPROCEDURE98 = None EXTERNAL100 = None REFERENCED101 = None e1 = None res = None e2 = None cif89 = None procedure_id92 = None fpar94 = None text_area95 = None procedure96 = None processBody97 = None procedure_id99 = None EXPORTED90_tree = None PROCEDURE91_tree = None SEMI93_tree = None ENDPROCEDURE98_tree = None EXTERNAL100_tree = None REFERENCED101_tree = None stream_PROCEDURE = RewriteRuleTokenStream(self._adaptor, "token PROCEDURE") stream_EXTERNAL = RewriteRuleTokenStream(self._adaptor, "token EXTERNAL") stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_ENDPROCEDURE = RewriteRuleTokenStream(self._adaptor, "token ENDPROCEDURE") stream_EXPORTED = RewriteRuleTokenStream(self._adaptor, "token EXPORTED") stream_REFERENCED = RewriteRuleTokenStream(self._adaptor, "token REFERENCED") stream_text_area = RewriteRuleSubtreeStream(self._adaptor, "rule text_area") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_procedure_id = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_id") stream_processBody = RewriteRuleSubtreeStream(self._adaptor, "rule processBody") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_fpar = RewriteRuleSubtreeStream(self._adaptor, "rule fpar") stream_procedure = RewriteRuleSubtreeStream(self._adaptor, "rule procedure") stream_procedure_result = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_result") try: try: # sdl92.g:293:9: ( ( cif )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ) # sdl92.g:293:17: ( cif )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end pass # sdl92.g:293:17: ( cif )? alt31 = 2 LA31_0 = self.input.LA(1) if (LA31_0 == 233) : alt31 = 1 if alt31 == 1: # sdl92.g:293:17: cif pass self._state.following.append(self.FOLLOW_cif_in_procedure2931) cif89 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif89.tree) # sdl92.g:294:17: ( EXPORTED )? alt32 = 2 LA32_0 = self.input.LA(1) if (LA32_0 == EXPORTED) : alt32 = 1 if alt32 == 1: # sdl92.g:294:17: EXPORTED pass EXPORTED90 = self.match(self.input, EXPORTED, self.FOLLOW_EXPORTED_in_procedure2950) if self._state.backtracking == 0: stream_EXPORTED.add(EXPORTED90) PROCEDURE91 = self.match(self.input, PROCEDURE, self.FOLLOW_PROCEDURE_in_procedure2953) if self._state.backtracking == 0: stream_PROCEDURE.add(PROCEDURE91) self._state.following.append(self.FOLLOW_procedure_id_in_procedure2955) procedure_id92 = self.procedure_id() self._state.following.pop() if self._state.backtracking == 0: stream_procedure_id.add(procedure_id92.tree) # sdl92.g:294:50: (e1= end | SEMI ) alt33 = 2 LA33_0 = self.input.LA(1) if (LA33_0 in {COMMENT, 233}) : alt33 = 1 elif (LA33_0 == SEMI) : LA33_2 = self.input.LA(2) if (self.synpred43_sdl92()) : alt33 = 1 elif (True) : alt33 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 33, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 33, 0, self.input) raise nvae if alt33 == 1: # sdl92.g:294:51: e1= end pass self._state.following.append(self.FOLLOW_end_in_procedure2960) e1 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e1.tree) elif alt33 == 2: # sdl92.g:294:60: SEMI pass SEMI93 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_procedure2964) if self._state.backtracking == 0: stream_SEMI.add(SEMI93) # sdl92.g:295:17: ( fpar )? alt34 = 2 LA34_0 = self.input.LA(1) if (LA34_0 == FPAR) : alt34 = 1 if alt34 == 1: # sdl92.g:295:17: fpar pass self._state.following.append(self.FOLLOW_fpar_in_procedure2983) fpar94 = self.fpar() self._state.following.pop() if self._state.backtracking == 0: stream_fpar.add(fpar94.tree) # sdl92.g:296:20: (res= procedure_result )? alt35 = 2 LA35_0 = self.input.LA(1) if (LA35_0 in {RETURNS, 231}) : alt35 = 1 if alt35 == 1: # sdl92.g:296:20: res= procedure_result pass self._state.following.append(self.FOLLOW_procedure_result_in_procedure3004) res = self.procedure_result() self._state.following.pop() if self._state.backtracking == 0: stream_procedure_result.add(res.tree) # sdl92.g:297:17: ( text_area | procedure )* while True: #loop36 alt36 = 3 LA36_0 = self.input.LA(1) if (LA36_0 == 233) : LA36_1 = self.input.LA(2) if (self.synpred46_sdl92()) : alt36 = 1 elif (self.synpred47_sdl92()) : alt36 = 2 elif (LA36_0 in {EXPORTED, PROCEDURE}) : alt36 = 2 if alt36 == 1: # sdl92.g:297:18: text_area pass self._state.following.append(self.FOLLOW_text_area_in_procedure3024) text_area95 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: stream_text_area.add(text_area95.tree) elif alt36 == 2: # sdl92.g:297:30: procedure pass self._state.following.append(self.FOLLOW_procedure_in_procedure3028) procedure96 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: stream_procedure.add(procedure96.tree) else: break #loop36 # sdl92.g:298:17: ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) alt39 = 3 LA39 = self.input.LA(1) if LA39 in {EOF, BLOCK, COMMENT, CONNECT, CONNECTION, ENDBLOCK, ENDPROCEDURE, ENDPROCESS, ID, PROCESS, SEMI, SIGNAL, SIGNALROUTE, START, STATE, SYSTEM, TYPE, USE, 233}: alt39 = 1 elif LA39 in {EXTERNAL}: alt39 = 2 elif LA39 in {REFERENCED}: alt39 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 39, 0, self.input) raise nvae if alt39 == 1: # sdl92.g:298:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) pass # sdl92.g:298:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) # sdl92.g:298:19: ( processBody )? ENDPROCEDURE ( procedure_id )? pass # sdl92.g:298:19: ( processBody )? alt37 = 2 LA37_0 = self.input.LA(1) if (LA37_0 in {CONNECTION, START, STATE, 233}) : alt37 = 1 elif (LA37_0 == ENDPROCEDURE) : LA37_2 = self.input.LA(2) if (self.synpred48_sdl92()) : alt37 = 1 if alt37 == 1: # sdl92.g:298:19: processBody pass self._state.following.append(self.FOLLOW_processBody_in_procedure3050) processBody97 = self.processBody() self._state.following.pop() if self._state.backtracking == 0: stream_processBody.add(processBody97.tree) ENDPROCEDURE98 = self.match(self.input, ENDPROCEDURE, self.FOLLOW_ENDPROCEDURE_in_procedure3053) if self._state.backtracking == 0: stream_ENDPROCEDURE.add(ENDPROCEDURE98) # sdl92.g:298:45: ( procedure_id )? alt38 = 2 LA38_0 = self.input.LA(1) if (LA38_0 == ID) : alt38 = 1 if alt38 == 1: # sdl92.g:298:45: procedure_id pass self._state.following.append(self.FOLLOW_procedure_id_in_procedure3055) procedure_id99 = self.procedure_id() self._state.following.pop() if self._state.backtracking == 0: stream_procedure_id.add(procedure_id99.tree) elif alt39 == 2: # sdl92.g:299:20: EXTERNAL pass EXTERNAL100 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_procedure3078) if self._state.backtracking == 0: stream_EXTERNAL.add(EXTERNAL100) elif alt39 == 3: # sdl92.g:299:31: REFERENCED pass REFERENCED101 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_procedure3082) if self._state.backtracking == 0: stream_REFERENCED.add(REFERENCED101) self._state.following.append(self.FOLLOW_end_in_procedure3103) e2 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e2.tree) # AST Rewrite # elements: PROCEDURE, cif, procedure_id, e1, e2, fpar, res, text_area, procedure, processBody, EXTERNAL, EXPORTED, REFERENCED # token labels: # rule labels: res, e1, e2, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if res is not None: stream_res = RewriteRuleSubtreeStream(self._adaptor, "rule res", res.tree) else: stream_res = RewriteRuleSubtreeStream(self._adaptor, "token res", None) if e1 is not None: stream_e1 = RewriteRuleSubtreeStream(self._adaptor, "rule e1", e1.tree) else: stream_e1 = RewriteRuleSubtreeStream(self._adaptor, "token e1", None) if e2 is not None: stream_e2 = RewriteRuleSubtreeStream(self._adaptor, "rule e2", e2.tree) else: stream_e2 = RewriteRuleSubtreeStream(self._adaptor, "token e2", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 301:9: -> ^( PROCEDURE ( cif )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) # sdl92.g:301:17: ^( PROCEDURE ( cif )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PROCEDURE.nextNode() , root_1) # sdl92.g:301:29: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); self._adaptor.addChild(root_1, stream_procedure_id.nextTree()) # sdl92.g:301:48: ( $e1)? if stream_e1.hasNext(): self._adaptor.addChild(root_1, stream_e1.nextTree()) stream_e1.reset(); # sdl92.g:301:53: ( $e2)? if stream_e2.hasNext(): self._adaptor.addChild(root_1, stream_e2.nextTree()) stream_e2.reset(); # sdl92.g:301:57: ( fpar )? if stream_fpar.hasNext(): self._adaptor.addChild(root_1, stream_fpar.nextTree()) stream_fpar.reset(); # sdl92.g:301:64: ( $res)? if stream_res.hasNext(): self._adaptor.addChild(root_1, stream_res.nextTree()) stream_res.reset(); # sdl92.g:302:17: ( text_area )* while stream_text_area.hasNext(): self._adaptor.addChild(root_1, stream_text_area.nextTree()) stream_text_area.reset(); # sdl92.g:302:28: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); # sdl92.g:302:39: ( processBody )? if stream_processBody.hasNext(): self._adaptor.addChild(root_1, stream_processBody.nextTree()) stream_processBody.reset(); # sdl92.g:302:52: ( EXTERNAL )? if stream_EXTERNAL.hasNext(): self._adaptor.addChild(root_1, stream_EXTERNAL.nextNode() ) stream_EXTERNAL.reset(); # sdl92.g:302:62: ( EXPORTED )? if stream_EXPORTED.hasNext(): self._adaptor.addChild(root_1, stream_EXPORTED.nextNode() ) stream_EXPORTED.reset(); # sdl92.g:302:72: ( REFERENCED )? if stream_REFERENCED.hasNext(): self._adaptor.addChild(root_1, stream_REFERENCED.nextNode() ) stream_REFERENCED.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "procedure" class procedure_result_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "procedure_result" # sdl92.g:306:1: procedure_result : ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ; def procedure_result(self, ): retval = self.procedure_result_return() retval.start = self.input.LT(1) root_0 = None string_literal102 = None RETURNS103 = None variable_id104 = None sort105 = None end106 = None string_literal102_tree = None RETURNS103_tree = None stream_231 = RewriteRuleTokenStream(self._adaptor, "token 231") stream_RETURNS = RewriteRuleTokenStream(self._adaptor, "token RETURNS") stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: # sdl92.g:307:9: ( ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ) # sdl92.g:307:17: ( '->' | RETURNS ) ( variable_id )? sort ( end )? pass # sdl92.g:307:17: ( '->' | RETURNS ) alt40 = 2 LA40_0 = self.input.LA(1) if (LA40_0 == 231) : alt40 = 1 elif (LA40_0 == RETURNS) : alt40 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 40, 0, self.input) raise nvae if alt40 == 1: # sdl92.g:307:18: '->' pass string_literal102 = self.match(self.input, 231, self.FOLLOW_231_in_procedure_result3209) if self._state.backtracking == 0: stream_231.add(string_literal102) elif alt40 == 2: # sdl92.g:307:25: RETURNS pass RETURNS103 = self.match(self.input, RETURNS, self.FOLLOW_RETURNS_in_procedure_result3213) if self._state.backtracking == 0: stream_RETURNS.add(RETURNS103) # sdl92.g:308:17: ( variable_id )? alt41 = 2 LA41_0 = self.input.LA(1) if (LA41_0 == ID) : LA41_1 = self.input.LA(2) if (LA41_1 == ID) : alt41 = 1 if alt41 == 1: # sdl92.g:308:17: variable_id pass self._state.following.append(self.FOLLOW_variable_id_in_procedure_result3232) variable_id104 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id104.tree) self._state.following.append(self.FOLLOW_sort_in_procedure_result3251) sort105 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort105.tree) # sdl92.g:309:22: ( end )? alt42 = 2 LA42_0 = self.input.LA(1) if (LA42_0 == 233) : LA42_1 = self.input.LA(2) if (LA42_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA42_4 = self.input.LA(3) if (LA42_4 == L_PAREN) : LA42_6 = self.input.LA(4) if (LA42_6 == DASH) : LA42_8 = self.input.LA(5) if (LA42_8 == INT) : LA42_9 = self.input.LA(6) if (LA42_9 == COMMA) : LA42_11 = self.input.LA(7) if (LA42_11 == DASH) : LA42_13 = self.input.LA(8) if (LA42_13 == INT) : LA42_14 = self.input.LA(9) if (LA42_14 == R_PAREN) : LA42_16 = self.input.LA(10) if (LA42_16 == COMMA) : LA42_18 = self.input.LA(11) if (LA42_18 == L_PAREN) : LA42_19 = self.input.LA(12) if (LA42_19 == INT) : LA42_20 = self.input.LA(13) if (LA42_20 == COMMA) : LA42_21 = self.input.LA(14) if (LA42_21 == INT) : LA42_22 = self.input.LA(15) if (LA42_22 == R_PAREN) : LA42_23 = self.input.LA(16) if (LA42_23 == 230) : LA42_24 = self.input.LA(17) if (LA42_24 == 233) : LA42_25 = self.input.LA(18) if (LA42_25 == KEEP) : LA42_26 = self.input.LA(19) if (LA42_26 == SPECIFIC) : LA42_27 = self.input.LA(20) if (LA42_27 == GEODE) : LA42_28 = self.input.LA(21) if (LA42_28 == HYPERLINK) : LA42_12 = self.input.LA(22) if (LA42_12 == STRING) : LA42_15 = self.input.LA(23) if (LA42_15 == 230) : LA42_17 = self.input.LA(24) if (LA42_17 == COMMENT) : alt42 = 1 elif (LA42_24 == COMMENT) : alt42 = 1 elif (LA42_11 == INT) : LA42_14 = self.input.LA(8) if (LA42_14 == R_PAREN) : LA42_16 = self.input.LA(9) if (LA42_16 == COMMA) : LA42_18 = self.input.LA(10) if (LA42_18 == L_PAREN) : LA42_19 = self.input.LA(11) if (LA42_19 == INT) : LA42_20 = self.input.LA(12) if (LA42_20 == COMMA) : LA42_21 = self.input.LA(13) if (LA42_21 == INT) : LA42_22 = self.input.LA(14) if (LA42_22 == R_PAREN) : LA42_23 = self.input.LA(15) if (LA42_23 == 230) : LA42_24 = self.input.LA(16) if (LA42_24 == 233) : LA42_25 = self.input.LA(17) if (LA42_25 == KEEP) : LA42_26 = self.input.LA(18) if (LA42_26 == SPECIFIC) : LA42_27 = self.input.LA(19) if (LA42_27 == GEODE) : LA42_28 = self.input.LA(20) if (LA42_28 == HYPERLINK) : LA42_12 = self.input.LA(21) if (LA42_12 == STRING) : LA42_15 = self.input.LA(22) if (LA42_15 == 230) : LA42_17 = self.input.LA(23) if (LA42_17 == COMMENT) : alt42 = 1 elif (LA42_24 == COMMENT) : alt42 = 1 elif (LA42_6 == INT) : LA42_9 = self.input.LA(5) if (LA42_9 == COMMA) : LA42_11 = self.input.LA(6) if (LA42_11 == DASH) : LA42_13 = self.input.LA(7) if (LA42_13 == INT) : LA42_14 = self.input.LA(8) if (LA42_14 == R_PAREN) : LA42_16 = self.input.LA(9) if (LA42_16 == COMMA) : LA42_18 = self.input.LA(10) if (LA42_18 == L_PAREN) : LA42_19 = self.input.LA(11) if (LA42_19 == INT) : LA42_20 = self.input.LA(12) if (LA42_20 == COMMA) : LA42_21 = self.input.LA(13) if (LA42_21 == INT) : LA42_22 = self.input.LA(14) if (LA42_22 == R_PAREN) : LA42_23 = self.input.LA(15) if (LA42_23 == 230) : LA42_24 = self.input.LA(16) if (LA42_24 == 233) : LA42_25 = self.input.LA(17) if (LA42_25 == KEEP) : LA42_26 = self.input.LA(18) if (LA42_26 == SPECIFIC) : LA42_27 = self.input.LA(19) if (LA42_27 == GEODE) : LA42_28 = self.input.LA(20) if (LA42_28 == HYPERLINK) : LA42_12 = self.input.LA(21) if (LA42_12 == STRING) : LA42_15 = self.input.LA(22) if (LA42_15 == 230) : LA42_17 = self.input.LA(23) if (LA42_17 == COMMENT) : alt42 = 1 elif (LA42_24 == COMMENT) : alt42 = 1 elif (LA42_11 == INT) : LA42_14 = self.input.LA(7) if (LA42_14 == R_PAREN) : LA42_16 = self.input.LA(8) if (LA42_16 == COMMA) : LA42_18 = self.input.LA(9) if (LA42_18 == L_PAREN) : LA42_19 = self.input.LA(10) if (LA42_19 == INT) : LA42_20 = self.input.LA(11) if (LA42_20 == COMMA) : LA42_21 = self.input.LA(12) if (LA42_21 == INT) : LA42_22 = self.input.LA(13) if (LA42_22 == R_PAREN) : LA42_23 = self.input.LA(14) if (LA42_23 == 230) : LA42_24 = self.input.LA(15) if (LA42_24 == 233) : LA42_25 = self.input.LA(16) if (LA42_25 == KEEP) : LA42_26 = self.input.LA(17) if (LA42_26 == SPECIFIC) : LA42_27 = self.input.LA(18) if (LA42_27 == GEODE) : LA42_28 = self.input.LA(19) if (LA42_28 == HYPERLINK) : LA42_12 = self.input.LA(20) if (LA42_12 == STRING) : LA42_15 = self.input.LA(21) if (LA42_15 == 230) : LA42_17 = self.input.LA(22) if (LA42_17 == COMMENT) : alt42 = 1 elif (LA42_24 == COMMENT) : alt42 = 1 elif (LA42_1 == KEEP) : LA42_5 = self.input.LA(3) if (LA42_5 == SPECIFIC) : LA42_7 = self.input.LA(4) if (LA42_7 == GEODE) : LA42_10 = self.input.LA(5) if (LA42_10 == HYPERLINK) : LA42_12 = self.input.LA(6) if (LA42_12 == STRING) : LA42_15 = self.input.LA(7) if (LA42_15 == 230) : LA42_17 = self.input.LA(8) if (LA42_17 == COMMENT) : alt42 = 1 elif (LA42_0 in {COMMENT, SEMI}) : alt42 = 1 if alt42 == 1: # sdl92.g:309:22: end pass self._state.following.append(self.FOLLOW_end_in_procedure_result3253) end106 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end106.tree) # AST Rewrite # elements: RETURNS, variable_id, sort # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 310:9: -> ^( RETURNS ( variable_id )? sort ) # sdl92.g:310:17: ^( RETURNS ( variable_id )? sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_RETURNS.nextNode() , root_1) # sdl92.g:310:27: ( variable_id )? if stream_variable_id.hasNext(): self._adaptor.addChild(root_1, stream_variable_id.nextTree()) stream_variable_id.reset(); self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "procedure_result" class fpar_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "fpar" # sdl92.g:314:1: fpar : FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ; def fpar(self, ): retval = self.fpar_return() retval.start = self.input.LT(1) root_0 = None FPAR107 = None char_literal109 = None formal_variable_param108 = None formal_variable_param110 = None end111 = None FPAR107_tree = None char_literal109_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_FPAR = RewriteRuleTokenStream(self._adaptor, "token FPAR") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_formal_variable_param = RewriteRuleSubtreeStream(self._adaptor, "rule formal_variable_param") try: try: # sdl92.g:315:9: ( FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ) # sdl92.g:315:17: FPAR formal_variable_param ( ',' formal_variable_param )* end pass FPAR107 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_fpar3310) if self._state.backtracking == 0: stream_FPAR.add(FPAR107) self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3312) formal_variable_param108 = self.formal_variable_param() self._state.following.pop() if self._state.backtracking == 0: stream_formal_variable_param.add(formal_variable_param108.tree) # sdl92.g:316:17: ( ',' formal_variable_param )* while True: #loop43 alt43 = 2 LA43_0 = self.input.LA(1) if (LA43_0 == COMMA) : alt43 = 1 if alt43 == 1: # sdl92.g:316:18: ',' formal_variable_param pass char_literal109 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_fpar3331) if self._state.backtracking == 0: stream_COMMA.add(char_literal109) self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3333) formal_variable_param110 = self.formal_variable_param() self._state.following.pop() if self._state.backtracking == 0: stream_formal_variable_param.add(formal_variable_param110.tree) else: break #loop43 self._state.following.append(self.FOLLOW_end_in_fpar3353) end111 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end111.tree) # AST Rewrite # elements: FPAR, formal_variable_param # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 318:9: -> ^( FPAR ( formal_variable_param )+ ) # sdl92.g:318:17: ^( FPAR ( formal_variable_param )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_FPAR.nextNode() , root_1) # sdl92.g:318:24: ( formal_variable_param )+ if not (stream_formal_variable_param.hasNext()): raise RewriteEarlyExitException() while stream_formal_variable_param.hasNext(): self._adaptor.addChild(root_1, stream_formal_variable_param.nextTree()) stream_formal_variable_param.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "fpar" class formal_variable_param_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "formal_variable_param" # sdl92.g:322:1: formal_variable_param : ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) ; def formal_variable_param(self, ): retval = self.formal_variable_param_return() retval.start = self.input.LT(1) root_0 = None INOUT112 = None IN113 = None OUT114 = None char_literal116 = None variable_id115 = None variable_id117 = None sort118 = None INOUT112_tree = None IN113_tree = None OUT114_tree = None char_literal116_tree = None stream_INOUT = RewriteRuleTokenStream(self._adaptor, "token INOUT") stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_IN = RewriteRuleTokenStream(self._adaptor, "token IN") stream_OUT = RewriteRuleTokenStream(self._adaptor, "token OUT") stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: # sdl92.g:323:9: ( ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) ) # sdl92.g:323:17: ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort pass # sdl92.g:323:17: ( INOUT | IN | OUT )? alt44 = 4 LA44 = self.input.LA(1) if LA44 in {INOUT}: alt44 = 1 elif LA44 in {IN}: alt44 = 2 elif LA44 in {OUT}: alt44 = 3 if alt44 == 1: # sdl92.g:323:18: INOUT pass INOUT112 = self.match(self.input, INOUT, self.FOLLOW_INOUT_in_formal_variable_param3408) if self._state.backtracking == 0: stream_INOUT.add(INOUT112) elif alt44 == 2: # sdl92.g:323:26: IN pass IN113 = self.match(self.input, IN, self.FOLLOW_IN_in_formal_variable_param3412) if self._state.backtracking == 0: stream_IN.add(IN113) elif alt44 == 3: # sdl92.g:323:31: OUT pass OUT114 = self.match(self.input, OUT, self.FOLLOW_OUT_in_formal_variable_param3416) if self._state.backtracking == 0: stream_OUT.add(OUT114) self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3436) variable_id115 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id115.tree) # sdl92.g:324:29: ( ',' variable_id )* while True: #loop45 alt45 = 2 LA45_0 = self.input.LA(1) if (LA45_0 == COMMA) : alt45 = 1 if alt45 == 1: # sdl92.g:324:30: ',' variable_id pass char_literal116 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_formal_variable_param3439) if self._state.backtracking == 0: stream_COMMA.add(char_literal116) self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3441) variable_id117 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id117.tree) else: break #loop45 self._state.following.append(self.FOLLOW_sort_in_formal_variable_param3445) sort118 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort118.tree) # AST Rewrite # elements: INOUT, IN, OUT, variable_id, sort # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 325:9: -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) # sdl92.g:325:17: ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAM, "PARAM") , root_1) # sdl92.g:325:25: ( INOUT )? if stream_INOUT.hasNext(): self._adaptor.addChild(root_1, stream_INOUT.nextNode() ) stream_INOUT.reset(); # sdl92.g:325:32: ( IN )? if stream_IN.hasNext(): self._adaptor.addChild(root_1, stream_IN.nextNode() ) stream_IN.reset(); # sdl92.g:325:36: ( OUT )? if stream_OUT.hasNext(): self._adaptor.addChild(root_1, stream_OUT.nextNode() ) stream_OUT.reset(); # sdl92.g:325:41: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() while stream_variable_id.hasNext(): self._adaptor.addChild(root_1, stream_variable_id.nextTree()) stream_variable_id.reset() self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "formal_variable_param" class text_area_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "text_area" # sdl92.g:330:1: text_area : cif ( content )? cif_end_text -> ^( TEXTAREA cif ( content )? cif_end_text ) ; def text_area(self, ): retval = self.text_area_return() retval.start = self.input.LT(1) root_0 = None cif119 = None content120 = None cif_end_text121 = None stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_cif_end_text = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end_text") stream_content = RewriteRuleSubtreeStream(self._adaptor, "rule content") try: try: # sdl92.g:331:9: ( cif ( content )? cif_end_text -> ^( TEXTAREA cif ( content )? cif_end_text ) ) # sdl92.g:331:17: cif ( content )? cif_end_text pass self._state.following.append(self.FOLLOW_cif_in_text_area3511) cif119 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif119.tree) # sdl92.g:332:17: ( content )? alt46 = 2 LA46_0 = self.input.LA(1) if (LA46_0 == 233) : LA46_1 = self.input.LA(2) if (self.synpred60_sdl92()) : alt46 = 1 elif (LA46_0 in {DCL, EXPORTED, FPAR, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 231}) : alt46 = 1 if alt46 == 1: # sdl92.g:332:17: content pass self._state.following.append(self.FOLLOW_content_in_text_area3529) content120 = self.content() self._state.following.pop() if self._state.backtracking == 0: stream_content.add(content120.tree) self._state.following.append(self.FOLLOW_cif_end_text_in_text_area3548) cif_end_text121 = self.cif_end_text() self._state.following.pop() if self._state.backtracking == 0: stream_cif_end_text.add(cif_end_text121.tree) # AST Rewrite # elements: cif, content, cif_end_text # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 334:9: -> ^( TEXTAREA cif ( content )? cif_end_text ) # sdl92.g:334:17: ^( TEXTAREA cif ( content )? cif_end_text ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TEXTAREA, "TEXTAREA") , root_1) self._adaptor.addChild(root_1, stream_cif.nextTree()) # sdl92.g:334:32: ( content )? if stream_content.hasNext(): self._adaptor.addChild(root_1, stream_content.nextTree()) stream_content.reset(); self._adaptor.addChild(root_1, stream_cif_end_text.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "text_area" class content_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "content" # sdl92.g:340:1: content : ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( synonym_definition )* ) ; def content(self, ): retval = self.content_return() retval.start = self.input.LT(1) root_0 = None res = None procedure122 = None use_clause123 = None signal_declaration124 = None fpar125 = None timer_declaration126 = None syntype_definition127 = None newtype_definition128 = None variable_definition129 = None monitor_definition130 = None synonym_definition131 = None stream_syntype_definition = RewriteRuleSubtreeStream(self._adaptor, "rule syntype_definition") stream_variable_definition = RewriteRuleSubtreeStream(self._adaptor, "rule variable_definition") stream_use_clause = RewriteRuleSubtreeStream(self._adaptor, "rule use_clause") stream_signal_declaration = RewriteRuleSubtreeStream(self._adaptor, "rule signal_declaration") stream_timer_declaration = RewriteRuleSubtreeStream(self._adaptor, "rule timer_declaration") stream_newtype_definition = RewriteRuleSubtreeStream(self._adaptor, "rule newtype_definition") stream_monitor_definition = RewriteRuleSubtreeStream(self._adaptor, "rule monitor_definition") stream_procedure = RewriteRuleSubtreeStream(self._adaptor, "rule procedure") stream_fpar = RewriteRuleSubtreeStream(self._adaptor, "rule fpar") stream_procedure_result = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_result") stream_synonym_definition = RewriteRuleSubtreeStream(self._adaptor, "rule synonym_definition") try: try: # sdl92.g:341:9: ( ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( synonym_definition )* ) ) # sdl92.g:341:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | synonym_definition )* pass # sdl92.g:341:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | synonym_definition )* while True: #loop47 alt47 = 12 LA47 = self.input.LA(1) if LA47 in {233}: LA47_1 = self.input.LA(2) if (LA47_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt47 = 1 elif (LA47_1 == KEEP) : LA47_14 = self.input.LA(3) if (LA47_14 == SPECIFIC) : LA47_15 = self.input.LA(4) if (LA47_15 == GEODE) : LA47_16 = self.input.LA(5) if (LA47_16 == ASNFILENAME) : alt47 = 2 elif (LA47_16 == PARAMNAMES) : alt47 = 3 elif LA47 in {EXPORTED, PROCEDURE}: alt47 = 1 elif LA47 in {USE}: alt47 = 2 elif LA47 in {SIGNAL}: alt47 = 3 elif LA47 in {FPAR}: alt47 = 4 elif LA47 in {RETURNS, 231}: alt47 = 5 elif LA47 in {TIMER}: alt47 = 6 elif LA47 in {SYNTYPE}: alt47 = 7 elif LA47 in {NEWTYPE}: alt47 = 8 elif LA47 in {DCL}: alt47 = 9 elif LA47 in {MONITOR}: alt47 = 10 elif LA47 in {SYNONYM}: alt47 = 11 if alt47 == 1: # sdl92.g:341:19: procedure pass self._state.following.append(self.FOLLOW_procedure_in_content3610) procedure122 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: stream_procedure.add(procedure122.tree) elif alt47 == 2: # sdl92.g:342:20: use_clause pass self._state.following.append(self.FOLLOW_use_clause_in_content3631) use_clause123 = self.use_clause() self._state.following.pop() if self._state.backtracking == 0: stream_use_clause.add(use_clause123.tree) elif alt47 == 3: # sdl92.g:343:20: signal_declaration pass self._state.following.append(self.FOLLOW_signal_declaration_in_content3652) signal_declaration124 = self.signal_declaration() self._state.following.pop() if self._state.backtracking == 0: stream_signal_declaration.add(signal_declaration124.tree) elif alt47 == 4: # sdl92.g:344:20: fpar pass self._state.following.append(self.FOLLOW_fpar_in_content3673) fpar125 = self.fpar() self._state.following.pop() if self._state.backtracking == 0: stream_fpar.add(fpar125.tree) elif alt47 == 5: # sdl92.g:345:20: res= procedure_result pass self._state.following.append(self.FOLLOW_procedure_result_in_content3696) res = self.procedure_result() self._state.following.pop() if self._state.backtracking == 0: stream_procedure_result.add(res.tree) elif alt47 == 6: # sdl92.g:346:20: timer_declaration pass self._state.following.append(self.FOLLOW_timer_declaration_in_content3717) timer_declaration126 = self.timer_declaration() self._state.following.pop() if self._state.backtracking == 0: stream_timer_declaration.add(timer_declaration126.tree) elif alt47 == 7: # sdl92.g:347:20: syntype_definition pass self._state.following.append(self.FOLLOW_syntype_definition_in_content3738) syntype_definition127 = self.syntype_definition() self._state.following.pop() if self._state.backtracking == 0: stream_syntype_definition.add(syntype_definition127.tree) elif alt47 == 8: # sdl92.g:348:20: newtype_definition pass self._state.following.append(self.FOLLOW_newtype_definition_in_content3759) newtype_definition128 = self.newtype_definition() self._state.following.pop() if self._state.backtracking == 0: stream_newtype_definition.add(newtype_definition128.tree) elif alt47 == 9: # sdl92.g:349:20: variable_definition pass self._state.following.append(self.FOLLOW_variable_definition_in_content3780) variable_definition129 = self.variable_definition() self._state.following.pop() if self._state.backtracking == 0: stream_variable_definition.add(variable_definition129.tree) elif alt47 == 10: # sdl92.g:350:20: monitor_definition pass self._state.following.append(self.FOLLOW_monitor_definition_in_content3801) monitor_definition130 = self.monitor_definition() self._state.following.pop() if self._state.backtracking == 0: stream_monitor_definition.add(monitor_definition130.tree) elif alt47 == 11: # sdl92.g:351:20: synonym_definition pass self._state.following.append(self.FOLLOW_synonym_definition_in_content3822) synonym_definition131 = self.synonym_definition() self._state.following.pop() if self._state.backtracking == 0: stream_synonym_definition.add(synonym_definition131.tree) else: break #loop47 # AST Rewrite # elements: fpar, res, procedure, variable_definition, monitor_definition, syntype_definition, newtype_definition, timer_declaration, signal_declaration, use_clause, synonym_definition # token labels: # rule labels: res, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if res is not None: stream_res = RewriteRuleSubtreeStream(self._adaptor, "rule res", res.tree) else: stream_res = RewriteRuleSubtreeStream(self._adaptor, "token res", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 352:9: -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( synonym_definition )* ) # sdl92.g:352:18: ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( synonym_definition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TEXTAREA_CONTENT, "TEXTAREA_CONTENT") , root_1) # sdl92.g:352:37: ( fpar )* while stream_fpar.hasNext(): self._adaptor.addChild(root_1, stream_fpar.nextTree()) stream_fpar.reset(); # sdl92.g:352:44: ( $res)? if stream_res.hasNext(): self._adaptor.addChild(root_1, stream_res.nextTree()) stream_res.reset(); # sdl92.g:352:49: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); # sdl92.g:352:60: ( variable_definition )* while stream_variable_definition.hasNext(): self._adaptor.addChild(root_1, stream_variable_definition.nextTree()) stream_variable_definition.reset(); # sdl92.g:353:20: ( monitor_definition )* while stream_monitor_definition.hasNext(): self._adaptor.addChild(root_1, stream_monitor_definition.nextTree()) stream_monitor_definition.reset(); # sdl92.g:353:40: ( syntype_definition )* while stream_syntype_definition.hasNext(): self._adaptor.addChild(root_1, stream_syntype_definition.nextTree()) stream_syntype_definition.reset(); # sdl92.g:353:60: ( newtype_definition )* while stream_newtype_definition.hasNext(): self._adaptor.addChild(root_1, stream_newtype_definition.nextTree()) stream_newtype_definition.reset(); # sdl92.g:354:20: ( timer_declaration )* while stream_timer_declaration.hasNext(): self._adaptor.addChild(root_1, stream_timer_declaration.nextTree()) stream_timer_declaration.reset(); # sdl92.g:354:39: ( signal_declaration )* while stream_signal_declaration.hasNext(): self._adaptor.addChild(root_1, stream_signal_declaration.nextTree()) stream_signal_declaration.reset(); # sdl92.g:354:59: ( use_clause )* while stream_use_clause.hasNext(): self._adaptor.addChild(root_1, stream_use_clause.nextTree()) stream_use_clause.reset(); # sdl92.g:355:20: ( synonym_definition )* while stream_synonym_definition.hasNext(): self._adaptor.addChild(root_1, stream_synonym_definition.nextTree()) stream_synonym_definition.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "content" class timer_declaration_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "timer_declaration" # sdl92.g:359:1: timer_declaration : TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ; def timer_declaration(self, ): retval = self.timer_declaration_return() retval.start = self.input.LT(1) root_0 = None TIMER132 = None char_literal134 = None timer_id133 = None timer_id135 = None end136 = None TIMER132_tree = None char_literal134_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_TIMER = RewriteRuleTokenStream(self._adaptor, "token TIMER") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_timer_id = RewriteRuleSubtreeStream(self._adaptor, "rule timer_id") try: try: # sdl92.g:360:9: ( TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ) # sdl92.g:360:17: TIMER timer_id ( ',' timer_id )* end pass TIMER132 = self.match(self.input, TIMER, self.FOLLOW_TIMER_in_timer_declaration3967) if self._state.backtracking == 0: stream_TIMER.add(TIMER132) self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration3969) timer_id133 = self.timer_id() self._state.following.pop() if self._state.backtracking == 0: stream_timer_id.add(timer_id133.tree) # sdl92.g:361:17: ( ',' timer_id )* while True: #loop48 alt48 = 2 LA48_0 = self.input.LA(1) if (LA48_0 == COMMA) : alt48 = 1 if alt48 == 1: # sdl92.g:361:18: ',' timer_id pass char_literal134 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_timer_declaration3988) if self._state.backtracking == 0: stream_COMMA.add(char_literal134) self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration3990) timer_id135 = self.timer_id() self._state.following.pop() if self._state.backtracking == 0: stream_timer_id.add(timer_id135.tree) else: break #loop48 self._state.following.append(self.FOLLOW_end_in_timer_declaration4010) end136 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end136.tree) # AST Rewrite # elements: TIMER, timer_id # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 363:9: -> ^( TIMER ( timer_id )+ ) # sdl92.g:363:17: ^( TIMER ( timer_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_TIMER.nextNode() , root_1) # sdl92.g:363:25: ( timer_id )+ if not (stream_timer_id.hasNext()): raise RewriteEarlyExitException() while stream_timer_id.hasNext(): self._adaptor.addChild(root_1, stream_timer_id.nextTree()) stream_timer_id.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "timer_declaration" class syntype_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "syntype_definition" # sdl92.g:367:1: syntype_definition : SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) ; def syntype_definition(self, ): retval = self.syntype_definition_return() retval.start = self.input.LT(1) root_0 = None SYNTYPE137 = None char_literal139 = None CONSTANTS141 = None char_literal143 = None ENDSYNTYPE145 = None syntype_name138 = None parent_sort140 = None range_condition142 = None range_condition144 = None syntype_name146 = None end147 = None SYNTYPE137_tree = None char_literal139_tree = None CONSTANTS141_tree = None char_literal143_tree = None ENDSYNTYPE145_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_CONSTANTS = RewriteRuleTokenStream(self._adaptor, "token CONSTANTS") stream_SYNTYPE = RewriteRuleTokenStream(self._adaptor, "token SYNTYPE") stream_ENDSYNTYPE = RewriteRuleTokenStream(self._adaptor, "token ENDSYNTYPE") stream_EQ = RewriteRuleTokenStream(self._adaptor, "token EQ") stream_range_condition = RewriteRuleSubtreeStream(self._adaptor, "rule range_condition") stream_parent_sort = RewriteRuleSubtreeStream(self._adaptor, "rule parent_sort") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_syntype_name = RewriteRuleSubtreeStream(self._adaptor, "rule syntype_name") try: try: # sdl92.g:368:9: ( SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) ) # sdl92.g:368:17: SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end pass SYNTYPE137 = self.match(self.input, SYNTYPE, self.FOLLOW_SYNTYPE_in_syntype_definition4064) if self._state.backtracking == 0: stream_SYNTYPE.add(SYNTYPE137) self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4066) syntype_name138 = self.syntype_name() self._state.following.pop() if self._state.backtracking == 0: stream_syntype_name.add(syntype_name138.tree) char_literal139 = self.match(self.input, EQ, self.FOLLOW_EQ_in_syntype_definition4068) if self._state.backtracking == 0: stream_EQ.add(char_literal139) self._state.following.append(self.FOLLOW_parent_sort_in_syntype_definition4070) parent_sort140 = self.parent_sort() self._state.following.pop() if self._state.backtracking == 0: stream_parent_sort.add(parent_sort140.tree) # sdl92.g:369:17: ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? alt50 = 2 LA50_0 = self.input.LA(1) if (LA50_0 == CONSTANTS) : alt50 = 1 if alt50 == 1: # sdl92.g:369:18: CONSTANTS ( range_condition ( ',' range_condition )* ) pass CONSTANTS141 = self.match(self.input, CONSTANTS, self.FOLLOW_CONSTANTS_in_syntype_definition4089) if self._state.backtracking == 0: stream_CONSTANTS.add(CONSTANTS141) # sdl92.g:369:28: ( range_condition ( ',' range_condition )* ) # sdl92.g:369:29: range_condition ( ',' range_condition )* pass self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4092) range_condition142 = self.range_condition() self._state.following.pop() if self._state.backtracking == 0: stream_range_condition.add(range_condition142.tree) # sdl92.g:369:45: ( ',' range_condition )* while True: #loop49 alt49 = 2 LA49_0 = self.input.LA(1) if (LA49_0 == COMMA) : alt49 = 1 if alt49 == 1: # sdl92.g:369:46: ',' range_condition pass char_literal143 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_syntype_definition4095) if self._state.backtracking == 0: stream_COMMA.add(char_literal143) self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4097) range_condition144 = self.range_condition() self._state.following.pop() if self._state.backtracking == 0: stream_range_condition.add(range_condition144.tree) else: break #loop49 ENDSYNTYPE145 = self.match(self.input, ENDSYNTYPE, self.FOLLOW_ENDSYNTYPE_in_syntype_definition4121) if self._state.backtracking == 0: stream_ENDSYNTYPE.add(ENDSYNTYPE145) # sdl92.g:370:28: ( syntype_name )? alt51 = 2 LA51_0 = self.input.LA(1) if (LA51_0 == ID) : alt51 = 1 if alt51 == 1: # sdl92.g:370:28: syntype_name pass self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4123) syntype_name146 = self.syntype_name() self._state.following.pop() if self._state.backtracking == 0: stream_syntype_name.add(syntype_name146.tree) self._state.following.append(self.FOLLOW_end_in_syntype_definition4126) end147 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end147.tree) # AST Rewrite # elements: SYNTYPE, syntype_name, parent_sort, range_condition # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 371:9: -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) # sdl92.g:371:17: ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SYNTYPE.nextNode() , root_1) self._adaptor.addChild(root_1, stream_syntype_name.nextTree()) self._adaptor.addChild(root_1, stream_parent_sort.nextTree()) # sdl92.g:371:52: ( range_condition )* while stream_range_condition.hasNext(): self._adaptor.addChild(root_1, stream_range_condition.nextTree()) stream_range_condition.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "syntype_definition" class syntype_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "syntype_name" # sdl92.g:375:1: syntype_name : sort ; def syntype_name(self, ): retval = self.syntype_name_return() retval.start = self.input.LT(1) root_0 = None sort148 = None try: try: # sdl92.g:376:9: ( sort ) # sdl92.g:376:17: sort pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_sort_in_syntype_name4184) sort148 = self.sort() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, sort148.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "syntype_name" class parent_sort_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "parent_sort" # sdl92.g:380:1: parent_sort : sort ; def parent_sort(self, ): retval = self.parent_sort_return() retval.start = self.input.LT(1) root_0 = None sort149 = None try: try: # sdl92.g:381:9: ( sort ) # sdl92.g:381:17: sort pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_sort_in_parent_sort4216) sort149 = self.sort() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, sort149.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "parent_sort" class newtype_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "newtype_definition" # sdl92.g:385:1: newtype_definition : NEWTYPE type_name ( array_definition | structure_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ) ; def newtype_definition(self, ): retval = self.newtype_definition_return() retval.start = self.input.LT(1) root_0 = None NEWTYPE150 = None ENDNEWTYPE154 = None type_name151 = None array_definition152 = None structure_definition153 = None type_name155 = None end156 = None NEWTYPE150_tree = None ENDNEWTYPE154_tree = None stream_ENDNEWTYPE = RewriteRuleTokenStream(self._adaptor, "token ENDNEWTYPE") stream_NEWTYPE = RewriteRuleTokenStream(self._adaptor, "token NEWTYPE") stream_type_name = RewriteRuleSubtreeStream(self._adaptor, "rule type_name") stream_structure_definition = RewriteRuleSubtreeStream(self._adaptor, "rule structure_definition") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_array_definition = RewriteRuleSubtreeStream(self._adaptor, "rule array_definition") try: try: # sdl92.g:386:9: ( NEWTYPE type_name ( array_definition | structure_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ) ) # sdl92.g:386:17: NEWTYPE type_name ( array_definition | structure_definition )? ENDNEWTYPE ( type_name )? end pass NEWTYPE150 = self.match(self.input, NEWTYPE, self.FOLLOW_NEWTYPE_in_newtype_definition4248) if self._state.backtracking == 0: stream_NEWTYPE.add(NEWTYPE150) self._state.following.append(self.FOLLOW_type_name_in_newtype_definition4250) type_name151 = self.type_name() self._state.following.pop() if self._state.backtracking == 0: stream_type_name.add(type_name151.tree) # sdl92.g:386:35: ( array_definition | structure_definition )? alt52 = 3 LA52_0 = self.input.LA(1) if (LA52_0 == ARRAY) : alt52 = 1 elif (LA52_0 == STRUCT) : alt52 = 2 if alt52 == 1: # sdl92.g:386:36: array_definition pass self._state.following.append(self.FOLLOW_array_definition_in_newtype_definition4253) array_definition152 = self.array_definition() self._state.following.pop() if self._state.backtracking == 0: stream_array_definition.add(array_definition152.tree) elif alt52 == 2: # sdl92.g:386:53: structure_definition pass self._state.following.append(self.FOLLOW_structure_definition_in_newtype_definition4255) structure_definition153 = self.structure_definition() self._state.following.pop() if self._state.backtracking == 0: stream_structure_definition.add(structure_definition153.tree) ENDNEWTYPE154 = self.match(self.input, ENDNEWTYPE, self.FOLLOW_ENDNEWTYPE_in_newtype_definition4275) if self._state.backtracking == 0: stream_ENDNEWTYPE.add(ENDNEWTYPE154) # sdl92.g:387:28: ( type_name )? alt53 = 2 LA53_0 = self.input.LA(1) if (LA53_0 == ID) : alt53 = 1 if alt53 == 1: # sdl92.g:387:28: type_name pass self._state.following.append(self.FOLLOW_type_name_in_newtype_definition4277) type_name155 = self.type_name() self._state.following.pop() if self._state.backtracking == 0: stream_type_name.add(type_name155.tree) self._state.following.append(self.FOLLOW_end_in_newtype_definition4280) end156 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end156.tree) # AST Rewrite # elements: NEWTYPE, type_name, array_definition, structure_definition # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 388:9: -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ) # sdl92.g:388:17: ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_NEWTYPE.nextNode() , root_1) self._adaptor.addChild(root_1, stream_type_name.nextTree()) # sdl92.g:388:37: ( array_definition )* while stream_array_definition.hasNext(): self._adaptor.addChild(root_1, stream_array_definition.nextTree()) stream_array_definition.reset(); # sdl92.g:388:55: ( structure_definition )* while stream_structure_definition.hasNext(): self._adaptor.addChild(root_1, stream_structure_definition.nextTree()) stream_structure_definition.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "newtype_definition" class type_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "type_name" # sdl92.g:392:1: type_name : sort ; def type_name(self, ): retval = self.type_name_return() retval.start = self.input.LT(1) root_0 = None sort157 = None try: try: # sdl92.g:393:9: ( sort ) # sdl92.g:393:17: sort pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_sort_in_type_name4339) sort157 = self.sort() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, sort157.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "type_name" class array_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "array_definition" # sdl92.g:397:1: array_definition : ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ; def array_definition(self, ): retval = self.array_definition_return() retval.start = self.input.LT(1) root_0 = None ARRAY158 = None char_literal159 = None char_literal161 = None char_literal163 = None sort160 = None sort162 = None ARRAY158_tree = None char_literal159_tree = None char_literal161_tree = None char_literal163_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_ARRAY = RewriteRuleTokenStream(self._adaptor, "token ARRAY") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: # sdl92.g:398:9: ( ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ) # sdl92.g:398:17: ARRAY '(' sort ',' sort ')' pass ARRAY158 = self.match(self.input, ARRAY, self.FOLLOW_ARRAY_in_array_definition4371) if self._state.backtracking == 0: stream_ARRAY.add(ARRAY158) char_literal159 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_array_definition4373) if self._state.backtracking == 0: stream_L_PAREN.add(char_literal159) self._state.following.append(self.FOLLOW_sort_in_array_definition4375) sort160 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort160.tree) char_literal161 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_array_definition4377) if self._state.backtracking == 0: stream_COMMA.add(char_literal161) self._state.following.append(self.FOLLOW_sort_in_array_definition4379) sort162 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort162.tree) char_literal163 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_array_definition4381) if self._state.backtracking == 0: stream_R_PAREN.add(char_literal163) # AST Rewrite # elements: ARRAY, sort, sort # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 399:9: -> ^( ARRAY sort sort ) # sdl92.g:399:17: ^( ARRAY sort sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ARRAY.nextNode() , root_1) self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "array_definition" class structure_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "structure_definition" # sdl92.g:403:1: structure_definition : STRUCT field_list end -> ^( STRUCT field_list ) ; def structure_definition(self, ): retval = self.structure_definition_return() retval.start = self.input.LT(1) root_0 = None STRUCT164 = None field_list165 = None end166 = None STRUCT164_tree = None stream_STRUCT = RewriteRuleTokenStream(self._adaptor, "token STRUCT") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_field_list = RewriteRuleSubtreeStream(self._adaptor, "rule field_list") try: try: # sdl92.g:404:9: ( STRUCT field_list end -> ^( STRUCT field_list ) ) # sdl92.g:404:17: STRUCT field_list end pass STRUCT164 = self.match(self.input, STRUCT, self.FOLLOW_STRUCT_in_structure_definition4436) if self._state.backtracking == 0: stream_STRUCT.add(STRUCT164) self._state.following.append(self.FOLLOW_field_list_in_structure_definition4438) field_list165 = self.field_list() self._state.following.pop() if self._state.backtracking == 0: stream_field_list.add(field_list165.tree) self._state.following.append(self.FOLLOW_end_in_structure_definition4440) end166 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end166.tree) # AST Rewrite # elements: STRUCT, field_list # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 405:9: -> ^( STRUCT field_list ) # sdl92.g:405:17: ^( STRUCT field_list ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_STRUCT.nextNode() , root_1) self._adaptor.addChild(root_1, stream_field_list.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "structure_definition" class field_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "field_list" # sdl92.g:409:1: field_list : field_definition ( end field_definition )* -> ^( FIELDS ( field_definition )+ ) ; def field_list(self, ): retval = self.field_list_return() retval.start = self.input.LT(1) root_0 = None field_definition167 = None end168 = None field_definition169 = None stream_field_definition = RewriteRuleSubtreeStream(self._adaptor, "rule field_definition") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:410:9: ( field_definition ( end field_definition )* -> ^( FIELDS ( field_definition )+ ) ) # sdl92.g:410:17: field_definition ( end field_definition )* pass self._state.following.append(self.FOLLOW_field_definition_in_field_list4493) field_definition167 = self.field_definition() self._state.following.pop() if self._state.backtracking == 0: stream_field_definition.add(field_definition167.tree) # sdl92.g:410:34: ( end field_definition )* while True: #loop54 alt54 = 2 alt54 = self.dfa54.predict(self.input) if alt54 == 1: # sdl92.g:410:35: end field_definition pass self._state.following.append(self.FOLLOW_end_in_field_list4496) end168 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end168.tree) self._state.following.append(self.FOLLOW_field_definition_in_field_list4498) field_definition169 = self.field_definition() self._state.following.pop() if self._state.backtracking == 0: stream_field_definition.add(field_definition169.tree) else: break #loop54 # AST Rewrite # elements: field_definition # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 411:9: -> ^( FIELDS ( field_definition )+ ) # sdl92.g:411:17: ^( FIELDS ( field_definition )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FIELDS, "FIELDS") , root_1) # sdl92.g:411:26: ( field_definition )+ if not (stream_field_definition.hasNext()): raise RewriteEarlyExitException() while stream_field_definition.hasNext(): self._adaptor.addChild(root_1, stream_field_definition.nextTree()) stream_field_definition.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "field_list" class field_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "field_definition" # sdl92.g:415:1: field_definition : field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ; def field_definition(self, ): retval = self.field_definition_return() retval.start = self.input.LT(1) root_0 = None char_literal171 = None field_name170 = None field_name172 = None sort173 = None char_literal171_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") try: try: # sdl92.g:416:9: ( field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ) # sdl92.g:416:17: field_name ( ',' field_name )* sort pass self._state.following.append(self.FOLLOW_field_name_in_field_definition4554) field_name170 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: stream_field_name.add(field_name170.tree) # sdl92.g:416:28: ( ',' field_name )* while True: #loop55 alt55 = 2 LA55_0 = self.input.LA(1) if (LA55_0 == COMMA) : alt55 = 1 if alt55 == 1: # sdl92.g:416:29: ',' field_name pass char_literal171 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_field_definition4557) if self._state.backtracking == 0: stream_COMMA.add(char_literal171) self._state.following.append(self.FOLLOW_field_name_in_field_definition4559) field_name172 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: stream_field_name.add(field_name172.tree) else: break #loop55 self._state.following.append(self.FOLLOW_sort_in_field_definition4563) sort173 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort173.tree) # AST Rewrite # elements: field_name, sort # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 417:9: -> ^( FIELD ( field_name )+ sort ) # sdl92.g:417:17: ^( FIELD ( field_name )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FIELD, "FIELD") , root_1) # sdl92.g:417:25: ( field_name )+ if not (stream_field_name.hasNext()): raise RewriteEarlyExitException() while stream_field_name.hasNext(): self._adaptor.addChild(root_1, stream_field_name.nextTree()) stream_field_name.reset() self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "field_definition" class variable_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "variable_definition" # sdl92.g:421:1: variable_definition : DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ; def variable_definition(self, ): retval = self.variable_definition_return() retval.start = self.input.LT(1) root_0 = None DCL174 = None char_literal176 = None variables_of_sort175 = None variables_of_sort177 = None end178 = None DCL174_tree = None char_literal176_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_DCL = RewriteRuleTokenStream(self._adaptor, "token DCL") stream_variables_of_sort = RewriteRuleSubtreeStream(self._adaptor, "rule variables_of_sort") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:422:9: ( DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ) # sdl92.g:422:17: DCL variables_of_sort ( ',' variables_of_sort )* end pass DCL174 = self.match(self.input, DCL, self.FOLLOW_DCL_in_variable_definition4619) if self._state.backtracking == 0: stream_DCL.add(DCL174) self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition4621) variables_of_sort175 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: stream_variables_of_sort.add(variables_of_sort175.tree) # sdl92.g:423:17: ( ',' variables_of_sort )* while True: #loop56 alt56 = 2 LA56_0 = self.input.LA(1) if (LA56_0 == COMMA) : alt56 = 1 if alt56 == 1: # sdl92.g:423:18: ',' variables_of_sort pass char_literal176 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variable_definition4640) if self._state.backtracking == 0: stream_COMMA.add(char_literal176) self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition4642) variables_of_sort177 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: stream_variables_of_sort.add(variables_of_sort177.tree) else: break #loop56 self._state.following.append(self.FOLLOW_end_in_variable_definition4662) end178 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end178.tree) # AST Rewrite # elements: DCL, variables_of_sort # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 425:9: -> ^( DCL ( variables_of_sort )+ ) # sdl92.g:425:17: ^( DCL ( variables_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_DCL.nextNode() , root_1) # sdl92.g:425:23: ( variables_of_sort )+ if not (stream_variables_of_sort.hasNext()): raise RewriteEarlyExitException() while stream_variables_of_sort.hasNext(): self._adaptor.addChild(root_1, stream_variables_of_sort.nextTree()) stream_variables_of_sort.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "variable_definition" class monitor_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "monitor_definition" # sdl92.g:429:1: monitor_definition : MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ; def monitor_definition(self, ): retval = self.monitor_definition_return() retval.start = self.input.LT(1) root_0 = None MONITOR179 = None char_literal181 = None variables_of_sort180 = None variables_of_sort182 = None end183 = None MONITOR179_tree = None char_literal181_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_MONITOR = RewriteRuleTokenStream(self._adaptor, "token MONITOR") stream_variables_of_sort = RewriteRuleSubtreeStream(self._adaptor, "rule variables_of_sort") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:430:9: ( MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ) # sdl92.g:430:17: MONITOR variables_of_sort ( ',' variables_of_sort )* end pass MONITOR179 = self.match(self.input, MONITOR, self.FOLLOW_MONITOR_in_monitor_definition4717) if self._state.backtracking == 0: stream_MONITOR.add(MONITOR179) self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition4719) variables_of_sort180 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: stream_variables_of_sort.add(variables_of_sort180.tree) # sdl92.g:431:17: ( ',' variables_of_sort )* while True: #loop57 alt57 = 2 LA57_0 = self.input.LA(1) if (LA57_0 == COMMA) : alt57 = 1 if alt57 == 1: # sdl92.g:431:18: ',' variables_of_sort pass char_literal181 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_monitor_definition4738) if self._state.backtracking == 0: stream_COMMA.add(char_literal181) self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition4740) variables_of_sort182 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: stream_variables_of_sort.add(variables_of_sort182.tree) else: break #loop57 self._state.following.append(self.FOLLOW_end_in_monitor_definition4760) end183 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end183.tree) # AST Rewrite # elements: MONITOR, variables_of_sort # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 433:9: -> ^( MONITOR ( variables_of_sort )+ ) # sdl92.g:433:17: ^( MONITOR ( variables_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_MONITOR.nextNode() , root_1) # sdl92.g:433:27: ( variables_of_sort )+ if not (stream_variables_of_sort.hasNext()): raise RewriteEarlyExitException() while stream_variables_of_sort.hasNext(): self._adaptor.addChild(root_1, stream_variables_of_sort.nextTree()) stream_variables_of_sort.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "monitor_definition" class synonym_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "synonym_definition" # sdl92.g:437:1: synonym_definition : internal_synonym_definition ; def synonym_definition(self, ): retval = self.synonym_definition_return() retval.start = self.input.LT(1) root_0 = None internal_synonym_definition184 = None try: try: # sdl92.g:438:9: ( internal_synonym_definition ) # sdl92.g:438:17: internal_synonym_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_internal_synonym_definition_in_synonym_definition4814) internal_synonym_definition184 = self.internal_synonym_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, internal_synonym_definition184.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "synonym_definition" class internal_synonym_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "internal_synonym_definition" # sdl92.g:442:1: internal_synonym_definition : SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) ; def internal_synonym_definition(self, ): retval = self.internal_synonym_definition_return() retval.start = self.input.LT(1) root_0 = None SYNONYM185 = None char_literal187 = None synonym_definition_item186 = None synonym_definition_item188 = None end189 = None SYNONYM185_tree = None char_literal187_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_SYNONYM = RewriteRuleTokenStream(self._adaptor, "token SYNONYM") stream_synonym_definition_item = RewriteRuleSubtreeStream(self._adaptor, "rule synonym_definition_item") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:443:9: ( SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) ) # sdl92.g:443:17: SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end pass SYNONYM185 = self.match(self.input, SYNONYM, self.FOLLOW_SYNONYM_in_internal_synonym_definition4846) if self._state.backtracking == 0: stream_SYNONYM.add(SYNONYM185) self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition4848) synonym_definition_item186 = self.synonym_definition_item() self._state.following.pop() if self._state.backtracking == 0: stream_synonym_definition_item.add(synonym_definition_item186.tree) # sdl92.g:443:49: ( ',' synonym_definition_item )* while True: #loop58 alt58 = 2 LA58_0 = self.input.LA(1) if (LA58_0 == COMMA) : alt58 = 1 if alt58 == 1: # sdl92.g:443:50: ',' synonym_definition_item pass char_literal187 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_internal_synonym_definition4851) if self._state.backtracking == 0: stream_COMMA.add(char_literal187) self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition4853) synonym_definition_item188 = self.synonym_definition_item() self._state.following.pop() if self._state.backtracking == 0: stream_synonym_definition_item.add(synonym_definition_item188.tree) else: break #loop58 self._state.following.append(self.FOLLOW_end_in_internal_synonym_definition4873) end189 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end189.tree) # AST Rewrite # elements: synonym_definition_item # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 445:9: -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) # sdl92.g:445:17: ^( SYNONYM_LIST ( synonym_definition_item )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SYNONYM_LIST, "SYNONYM_LIST") , root_1) # sdl92.g:445:32: ( synonym_definition_item )+ if not (stream_synonym_definition_item.hasNext()): raise RewriteEarlyExitException() while stream_synonym_definition_item.hasNext(): self._adaptor.addChild(root_1, stream_synonym_definition_item.nextTree()) stream_synonym_definition_item.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "internal_synonym_definition" class synonym_definition_item_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "synonym_definition_item" # sdl92.g:449:1: synonym_definition_item : sort sort '=' ground_expression -> ^( SYNONYM sort sort ground_expression ) ; def synonym_definition_item(self, ): retval = self.synonym_definition_item_return() retval.start = self.input.LT(1) root_0 = None char_literal192 = None sort190 = None sort191 = None ground_expression193 = None char_literal192_tree = None stream_EQ = RewriteRuleTokenStream(self._adaptor, "token EQ") stream_ground_expression = RewriteRuleSubtreeStream(self._adaptor, "rule ground_expression") stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: # sdl92.g:450:9: ( sort sort '=' ground_expression -> ^( SYNONYM sort sort ground_expression ) ) # sdl92.g:450:17: sort sort '=' ground_expression pass self._state.following.append(self.FOLLOW_sort_in_synonym_definition_item4927) sort190 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort190.tree) self._state.following.append(self.FOLLOW_sort_in_synonym_definition_item4929) sort191 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort191.tree) char_literal192 = self.match(self.input, EQ, self.FOLLOW_EQ_in_synonym_definition_item4931) if self._state.backtracking == 0: stream_EQ.add(char_literal192) self._state.following.append(self.FOLLOW_ground_expression_in_synonym_definition_item4933) ground_expression193 = self.ground_expression() self._state.following.pop() if self._state.backtracking == 0: stream_ground_expression.add(ground_expression193.tree) # AST Rewrite # elements: sort, sort, ground_expression # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 451:9: -> ^( SYNONYM sort sort ground_expression ) # sdl92.g:451:17: ^( SYNONYM sort sort ground_expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SYNONYM, "SYNONYM") , root_1) self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_1, stream_ground_expression.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "synonym_definition_item" class variables_of_sort_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "variables_of_sort" # sdl92.g:455:1: variables_of_sort : variable_id ( ',' variable_id )* sort ( ':=' ground_expression )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ) ; def variables_of_sort(self, ): retval = self.variables_of_sort_return() retval.start = self.input.LT(1) root_0 = None char_literal195 = None string_literal198 = None variable_id194 = None variable_id196 = None sort197 = None ground_expression199 = None char_literal195_tree = None string_literal198_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_ASSIG_OP = RewriteRuleTokenStream(self._adaptor, "token ASSIG_OP") stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") stream_ground_expression = RewriteRuleSubtreeStream(self._adaptor, "rule ground_expression") stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: # sdl92.g:456:9: ( variable_id ( ',' variable_id )* sort ( ':=' ground_expression )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ) ) # sdl92.g:456:17: variable_id ( ',' variable_id )* sort ( ':=' ground_expression )? pass self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort4990) variable_id194 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id194.tree) # sdl92.g:456:29: ( ',' variable_id )* while True: #loop59 alt59 = 2 LA59_0 = self.input.LA(1) if (LA59_0 == COMMA) : alt59 = 1 if alt59 == 1: # sdl92.g:456:30: ',' variable_id pass char_literal195 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variables_of_sort4993) if self._state.backtracking == 0: stream_COMMA.add(char_literal195) self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort4995) variable_id196 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id196.tree) else: break #loop59 self._state.following.append(self.FOLLOW_sort_in_variables_of_sort4999) sort197 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort197.tree) # sdl92.g:456:53: ( ':=' ground_expression )? alt60 = 2 LA60_0 = self.input.LA(1) if (LA60_0 == ASSIG_OP) : alt60 = 1 if alt60 == 1: # sdl92.g:456:54: ':=' ground_expression pass string_literal198 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_variables_of_sort5002) if self._state.backtracking == 0: stream_ASSIG_OP.add(string_literal198) self._state.following.append(self.FOLLOW_ground_expression_in_variables_of_sort5004) ground_expression199 = self.ground_expression() self._state.following.pop() if self._state.backtracking == 0: stream_ground_expression.add(ground_expression199.tree) # AST Rewrite # elements: variable_id, sort, ground_expression # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 457:9: -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ) # sdl92.g:457:17: ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(VARIABLES, "VARIABLES") , root_1) # sdl92.g:457:29: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() while stream_variable_id.hasNext(): self._adaptor.addChild(root_1, stream_variable_id.nextTree()) stream_variable_id.reset() self._adaptor.addChild(root_1, stream_sort.nextTree()) # sdl92.g:457:47: ( ground_expression )? if stream_ground_expression.hasNext(): self._adaptor.addChild(root_1, stream_ground_expression.nextTree()) stream_ground_expression.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "variables_of_sort" class ground_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "ground_expression" # sdl92.g:461:1: ground_expression : expression -> ^( GROUND expression ) ; def ground_expression(self, ): retval = self.ground_expression_return() retval.start = self.input.LT(1) root_0 = None expression200 = None stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: # sdl92.g:462:9: ( expression -> ^( GROUND expression ) ) # sdl92.g:462:17: expression pass self._state.following.append(self.FOLLOW_expression_in_ground_expression5065) expression200 = self.expression() self._state.following.pop() if self._state.backtracking == 0: stream_expression.add(expression200.tree) # AST Rewrite # elements: expression # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 463:9: -> ^( GROUND expression ) # sdl92.g:463:17: ^( GROUND expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(GROUND, "GROUND") , root_1) self._adaptor.addChild(root_1, stream_expression.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "ground_expression" class number_of_instances_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "number_of_instances" # sdl92.g:467:1: number_of_instances : '(' initial_number= INT ',' maximum_number= INT ')' -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) ; def number_of_instances(self, ): retval = self.number_of_instances_return() retval.start = self.input.LT(1) root_0 = None initial_number = None maximum_number = None char_literal201 = None char_literal202 = None char_literal203 = None initial_number_tree = None maximum_number_tree = None char_literal201_tree = None char_literal202_tree = None char_literal203_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") try: try: # sdl92.g:468:9: ( '(' initial_number= INT ',' maximum_number= INT ')' -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) ) # sdl92.g:468:17: '(' initial_number= INT ',' maximum_number= INT ')' pass char_literal201 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_number_of_instances5118) if self._state.backtracking == 0: stream_L_PAREN.add(char_literal201) initial_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances5122) if self._state.backtracking == 0: stream_INT.add(initial_number) char_literal202 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_number_of_instances5124) if self._state.backtracking == 0: stream_COMMA.add(char_literal202) maximum_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances5128) if self._state.backtracking == 0: stream_INT.add(maximum_number) char_literal203 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_number_of_instances5130) if self._state.backtracking == 0: stream_R_PAREN.add(char_literal203) # AST Rewrite # elements: initial_number, maximum_number # token labels: initial_number, maximum_number # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 stream_initial_number = RewriteRuleTokenStream(self._adaptor, "token initial_number", initial_number) stream_maximum_number = RewriteRuleTokenStream(self._adaptor, "token maximum_number", maximum_number) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 469:9: -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) # sdl92.g:469:17: ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(NUMBER_OF_INSTANCES, "NUMBER_OF_INSTANCES") , root_1) self._adaptor.addChild(root_1, stream_initial_number.nextNode()) self._adaptor.addChild(root_1, stream_maximum_number.nextNode()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "number_of_instances" class processBody_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "processBody" # sdl92.g:473:1: processBody : ( start )? ( state | floating_label )* ; def processBody(self, ): retval = self.processBody_return() retval.start = self.input.LT(1) root_0 = None start204 = None state205 = None floating_label206 = None try: try: # sdl92.g:474:9: ( ( start )? ( state | floating_label )* ) # sdl92.g:474:17: ( start )? ( state | floating_label )* pass root_0 = self._adaptor.nil() # sdl92.g:474:17: ( start )? alt61 = 2 LA61_0 = self.input.LA(1) if (LA61_0 == 233) : LA61_1 = self.input.LA(2) if (LA61_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA61_4 = self.input.LA(3) if (LA61_4 == L_PAREN) : LA61_6 = self.input.LA(4) if (LA61_6 == DASH) : LA61_8 = self.input.LA(5) if (LA61_8 == INT) : LA61_9 = self.input.LA(6) if (LA61_9 == COMMA) : LA61_11 = self.input.LA(7) if (LA61_11 == DASH) : LA61_13 = self.input.LA(8) if (LA61_13 == INT) : LA61_14 = self.input.LA(9) if (LA61_14 == R_PAREN) : LA61_16 = self.input.LA(10) if (LA61_16 == COMMA) : LA61_18 = self.input.LA(11) if (LA61_18 == L_PAREN) : LA61_19 = self.input.LA(12) if (LA61_19 == INT) : LA61_20 = self.input.LA(13) if (LA61_20 == COMMA) : LA61_21 = self.input.LA(14) if (LA61_21 == INT) : LA61_22 = self.input.LA(15) if (LA61_22 == R_PAREN) : LA61_23 = self.input.LA(16) if (LA61_23 == 230) : LA61_24 = self.input.LA(17) if (LA61_24 == 233) : LA61_25 = self.input.LA(18) if (LA61_25 == KEEP) : LA61_26 = self.input.LA(19) if (LA61_26 == SPECIFIC) : LA61_27 = self.input.LA(20) if (LA61_27 == GEODE) : LA61_28 = self.input.LA(21) if (LA61_28 == HYPERLINK) : LA61_12 = self.input.LA(22) if (LA61_12 == STRING) : LA61_15 = self.input.LA(23) if (LA61_15 == 230) : LA61_17 = self.input.LA(24) if (LA61_17 == START) : alt61 = 1 elif (LA61_24 == START) : alt61 = 1 elif (LA61_11 == INT) : LA61_14 = self.input.LA(8) if (LA61_14 == R_PAREN) : LA61_16 = self.input.LA(9) if (LA61_16 == COMMA) : LA61_18 = self.input.LA(10) if (LA61_18 == L_PAREN) : LA61_19 = self.input.LA(11) if (LA61_19 == INT) : LA61_20 = self.input.LA(12) if (LA61_20 == COMMA) : LA61_21 = self.input.LA(13) if (LA61_21 == INT) : LA61_22 = self.input.LA(14) if (LA61_22 == R_PAREN) : LA61_23 = self.input.LA(15) if (LA61_23 == 230) : LA61_24 = self.input.LA(16) if (LA61_24 == 233) : LA61_25 = self.input.LA(17) if (LA61_25 == KEEP) : LA61_26 = self.input.LA(18) if (LA61_26 == SPECIFIC) : LA61_27 = self.input.LA(19) if (LA61_27 == GEODE) : LA61_28 = self.input.LA(20) if (LA61_28 == HYPERLINK) : LA61_12 = self.input.LA(21) if (LA61_12 == STRING) : LA61_15 = self.input.LA(22) if (LA61_15 == 230) : LA61_17 = self.input.LA(23) if (LA61_17 == START) : alt61 = 1 elif (LA61_24 == START) : alt61 = 1 elif (LA61_6 == INT) : LA61_9 = self.input.LA(5) if (LA61_9 == COMMA) : LA61_11 = self.input.LA(6) if (LA61_11 == DASH) : LA61_13 = self.input.LA(7) if (LA61_13 == INT) : LA61_14 = self.input.LA(8) if (LA61_14 == R_PAREN) : LA61_16 = self.input.LA(9) if (LA61_16 == COMMA) : LA61_18 = self.input.LA(10) if (LA61_18 == L_PAREN) : LA61_19 = self.input.LA(11) if (LA61_19 == INT) : LA61_20 = self.input.LA(12) if (LA61_20 == COMMA) : LA61_21 = self.input.LA(13) if (LA61_21 == INT) : LA61_22 = self.input.LA(14) if (LA61_22 == R_PAREN) : LA61_23 = self.input.LA(15) if (LA61_23 == 230) : LA61_24 = self.input.LA(16) if (LA61_24 == 233) : LA61_25 = self.input.LA(17) if (LA61_25 == KEEP) : LA61_26 = self.input.LA(18) if (LA61_26 == SPECIFIC) : LA61_27 = self.input.LA(19) if (LA61_27 == GEODE) : LA61_28 = self.input.LA(20) if (LA61_28 == HYPERLINK) : LA61_12 = self.input.LA(21) if (LA61_12 == STRING) : LA61_15 = self.input.LA(22) if (LA61_15 == 230) : LA61_17 = self.input.LA(23) if (LA61_17 == START) : alt61 = 1 elif (LA61_24 == START) : alt61 = 1 elif (LA61_11 == INT) : LA61_14 = self.input.LA(7) if (LA61_14 == R_PAREN) : LA61_16 = self.input.LA(8) if (LA61_16 == COMMA) : LA61_18 = self.input.LA(9) if (LA61_18 == L_PAREN) : LA61_19 = self.input.LA(10) if (LA61_19 == INT) : LA61_20 = self.input.LA(11) if (LA61_20 == COMMA) : LA61_21 = self.input.LA(12) if (LA61_21 == INT) : LA61_22 = self.input.LA(13) if (LA61_22 == R_PAREN) : LA61_23 = self.input.LA(14) if (LA61_23 == 230) : LA61_24 = self.input.LA(15) if (LA61_24 == 233) : LA61_25 = self.input.LA(16) if (LA61_25 == KEEP) : LA61_26 = self.input.LA(17) if (LA61_26 == SPECIFIC) : LA61_27 = self.input.LA(18) if (LA61_27 == GEODE) : LA61_28 = self.input.LA(19) if (LA61_28 == HYPERLINK) : LA61_12 = self.input.LA(20) if (LA61_12 == STRING) : LA61_15 = self.input.LA(21) if (LA61_15 == 230) : LA61_17 = self.input.LA(22) if (LA61_17 == START) : alt61 = 1 elif (LA61_24 == START) : alt61 = 1 elif (LA61_1 == KEEP) : LA61_5 = self.input.LA(3) if (LA61_5 == SPECIFIC) : LA61_7 = self.input.LA(4) if (LA61_7 == GEODE) : LA61_10 = self.input.LA(5) if (LA61_10 == HYPERLINK) : LA61_12 = self.input.LA(6) if (LA61_12 == STRING) : LA61_15 = self.input.LA(7) if (LA61_15 == 230) : LA61_17 = self.input.LA(8) if (LA61_17 == START) : alt61 = 1 elif (LA61_0 == START) : alt61 = 1 if alt61 == 1: # sdl92.g:474:17: start pass self._state.following.append(self.FOLLOW_start_in_processBody5187) start204 = self.start() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, start204.tree) # sdl92.g:474:24: ( state | floating_label )* while True: #loop62 alt62 = 3 LA62 = self.input.LA(1) if LA62 in {233}: LA62_2 = self.input.LA(2) if (LA62_2 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA62_5 = self.input.LA(3) if (LA62_5 == L_PAREN) : LA62_7 = self.input.LA(4) if (LA62_7 == DASH) : LA62_9 = self.input.LA(5) if (LA62_9 == INT) : LA62_10 = self.input.LA(6) if (LA62_10 == COMMA) : LA62_12 = self.input.LA(7) if (LA62_12 == DASH) : LA62_14 = self.input.LA(8) if (LA62_14 == INT) : LA62_15 = self.input.LA(9) if (LA62_15 == R_PAREN) : LA62_17 = self.input.LA(10) if (LA62_17 == COMMA) : LA62_19 = self.input.LA(11) if (LA62_19 == L_PAREN) : LA62_20 = self.input.LA(12) if (LA62_20 == INT) : LA62_21 = self.input.LA(13) if (LA62_21 == COMMA) : LA62_22 = self.input.LA(14) if (LA62_22 == INT) : LA62_23 = self.input.LA(15) if (LA62_23 == R_PAREN) : LA62_24 = self.input.LA(16) if (LA62_24 == 230) : LA62 = self.input.LA(17) if LA62 in {233}: LA62_26 = self.input.LA(18) if (LA62_26 == KEEP) : LA62_27 = self.input.LA(19) if (LA62_27 == SPECIFIC) : LA62_28 = self.input.LA(20) if (LA62_28 == GEODE) : LA62_29 = self.input.LA(21) if (LA62_29 == HYPERLINK) : LA62_13 = self.input.LA(22) if (LA62_13 == STRING) : LA62_16 = self.input.LA(23) if (LA62_16 == 230) : LA62_18 = self.input.LA(24) if (LA62_18 == STATE) : alt62 = 1 elif (LA62_18 == CONNECTION) : alt62 = 2 elif LA62 in {STATE}: alt62 = 1 elif LA62 in {CONNECTION}: alt62 = 2 elif (LA62_12 == INT) : LA62_15 = self.input.LA(8) if (LA62_15 == R_PAREN) : LA62_17 = self.input.LA(9) if (LA62_17 == COMMA) : LA62_19 = self.input.LA(10) if (LA62_19 == L_PAREN) : LA62_20 = self.input.LA(11) if (LA62_20 == INT) : LA62_21 = self.input.LA(12) if (LA62_21 == COMMA) : LA62_22 = self.input.LA(13) if (LA62_22 == INT) : LA62_23 = self.input.LA(14) if (LA62_23 == R_PAREN) : LA62_24 = self.input.LA(15) if (LA62_24 == 230) : LA62 = self.input.LA(16) if LA62 in {233}: LA62_26 = self.input.LA(17) if (LA62_26 == KEEP) : LA62_27 = self.input.LA(18) if (LA62_27 == SPECIFIC) : LA62_28 = self.input.LA(19) if (LA62_28 == GEODE) : LA62_29 = self.input.LA(20) if (LA62_29 == HYPERLINK) : LA62_13 = self.input.LA(21) if (LA62_13 == STRING) : LA62_16 = self.input.LA(22) if (LA62_16 == 230) : LA62_18 = self.input.LA(23) if (LA62_18 == STATE) : alt62 = 1 elif (LA62_18 == CONNECTION) : alt62 = 2 elif LA62 in {STATE}: alt62 = 1 elif LA62 in {CONNECTION}: alt62 = 2 elif (LA62_7 == INT) : LA62_10 = self.input.LA(5) if (LA62_10 == COMMA) : LA62_12 = self.input.LA(6) if (LA62_12 == DASH) : LA62_14 = self.input.LA(7) if (LA62_14 == INT) : LA62_15 = self.input.LA(8) if (LA62_15 == R_PAREN) : LA62_17 = self.input.LA(9) if (LA62_17 == COMMA) : LA62_19 = self.input.LA(10) if (LA62_19 == L_PAREN) : LA62_20 = self.input.LA(11) if (LA62_20 == INT) : LA62_21 = self.input.LA(12) if (LA62_21 == COMMA) : LA62_22 = self.input.LA(13) if (LA62_22 == INT) : LA62_23 = self.input.LA(14) if (LA62_23 == R_PAREN) : LA62_24 = self.input.LA(15) if (LA62_24 == 230) : LA62 = self.input.LA(16) if LA62 in {233}: LA62_26 = self.input.LA(17) if (LA62_26 == KEEP) : LA62_27 = self.input.LA(18) if (LA62_27 == SPECIFIC) : LA62_28 = self.input.LA(19) if (LA62_28 == GEODE) : LA62_29 = self.input.LA(20) if (LA62_29 == HYPERLINK) : LA62_13 = self.input.LA(21) if (LA62_13 == STRING) : LA62_16 = self.input.LA(22) if (LA62_16 == 230) : LA62_18 = self.input.LA(23) if (LA62_18 == STATE) : alt62 = 1 elif (LA62_18 == CONNECTION) : alt62 = 2 elif LA62 in {STATE}: alt62 = 1 elif LA62 in {CONNECTION}: alt62 = 2 elif (LA62_12 == INT) : LA62_15 = self.input.LA(7) if (LA62_15 == R_PAREN) : LA62_17 = self.input.LA(8) if (LA62_17 == COMMA) : LA62_19 = self.input.LA(9) if (LA62_19 == L_PAREN) : LA62_20 = self.input.LA(10) if (LA62_20 == INT) : LA62_21 = self.input.LA(11) if (LA62_21 == COMMA) : LA62_22 = self.input.LA(12) if (LA62_22 == INT) : LA62_23 = self.input.LA(13) if (LA62_23 == R_PAREN) : LA62_24 = self.input.LA(14) if (LA62_24 == 230) : LA62 = self.input.LA(15) if LA62 in {233}: LA62_26 = self.input.LA(16) if (LA62_26 == KEEP) : LA62_27 = self.input.LA(17) if (LA62_27 == SPECIFIC) : LA62_28 = self.input.LA(18) if (LA62_28 == GEODE) : LA62_29 = self.input.LA(19) if (LA62_29 == HYPERLINK) : LA62_13 = self.input.LA(20) if (LA62_13 == STRING) : LA62_16 = self.input.LA(21) if (LA62_16 == 230) : LA62_18 = self.input.LA(22) if (LA62_18 == STATE) : alt62 = 1 elif (LA62_18 == CONNECTION) : alt62 = 2 elif LA62 in {STATE}: alt62 = 1 elif LA62 in {CONNECTION}: alt62 = 2 elif (LA62_2 == KEEP) : LA62_6 = self.input.LA(3) if (LA62_6 == SPECIFIC) : LA62_8 = self.input.LA(4) if (LA62_8 == GEODE) : LA62_11 = self.input.LA(5) if (LA62_11 == HYPERLINK) : LA62_13 = self.input.LA(6) if (LA62_13 == STRING) : LA62_16 = self.input.LA(7) if (LA62_16 == 230) : LA62_18 = self.input.LA(8) if (LA62_18 == STATE) : alt62 = 1 elif (LA62_18 == CONNECTION) : alt62 = 2 elif LA62 in {STATE}: alt62 = 1 elif LA62 in {CONNECTION}: alt62 = 2 if alt62 == 1: # sdl92.g:474:25: state pass self._state.following.append(self.FOLLOW_state_in_processBody5191) state205 = self.state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state205.tree) elif alt62 == 2: # sdl92.g:474:33: floating_label pass self._state.following.append(self.FOLLOW_floating_label_in_processBody5195) floating_label206 = self.floating_label() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, floating_label206.tree) else: break #loop62 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "processBody" class start_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "start" # sdl92.g:478:1: start : ( cif )? ( hyperlink )? START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( hyperlink )? ( $name)? ( end )? ( transition )? ) ; def start(self, ): retval = self.start_return() retval.start = self.input.LT(1) root_0 = None START209 = None name = None cif207 = None hyperlink208 = None end210 = None transition211 = None START209_tree = None stream_START = RewriteRuleTokenStream(self._adaptor, "token START") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_state_entry_point_name = RewriteRuleSubtreeStream(self._adaptor, "rule state_entry_point_name") stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: # sdl92.g:479:9: ( ( cif )? ( hyperlink )? START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( hyperlink )? ( $name)? ( end )? ( transition )? ) ) # sdl92.g:479:17: ( cif )? ( hyperlink )? START (name= state_entry_point_name )? end ( transition )? pass # sdl92.g:479:17: ( cif )? alt63 = 2 LA63_0 = self.input.LA(1) if (LA63_0 == 233) : LA63_1 = self.input.LA(2) if (LA63_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt63 = 1 if alt63 == 1: # sdl92.g:479:17: cif pass self._state.following.append(self.FOLLOW_cif_in_start5229) cif207 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif207.tree) # sdl92.g:480:17: ( hyperlink )? alt64 = 2 LA64_0 = self.input.LA(1) if (LA64_0 == 233) : alt64 = 1 if alt64 == 1: # sdl92.g:480:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_start5248) hyperlink208 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink208.tree) START209 = self.match(self.input, START, self.FOLLOW_START_in_start5267) if self._state.backtracking == 0: stream_START.add(START209) # sdl92.g:481:27: (name= state_entry_point_name )? alt65 = 2 LA65_0 = self.input.LA(1) if (LA65_0 == ID) : alt65 = 1 if alt65 == 1: # sdl92.g:481:27: name= state_entry_point_name pass self._state.following.append(self.FOLLOW_state_entry_point_name_in_start5271) name = self.state_entry_point_name() self._state.following.pop() if self._state.backtracking == 0: stream_state_entry_point_name.add(name.tree) self._state.following.append(self.FOLLOW_end_in_start5274) end210 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end210.tree) # sdl92.g:482:17: ( transition )? alt66 = 2 LA66 = self.input.LA(1) if LA66 in {233}: LA66_1 = self.input.LA(2) if (LA66_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA66_5 = self.input.LA(3) if (LA66_5 == L_PAREN) : LA66_7 = self.input.LA(4) if (LA66_7 == DASH) : LA66_9 = self.input.LA(5) if (LA66_9 == INT) : LA66_10 = self.input.LA(6) if (LA66_10 == COMMA) : LA66_12 = self.input.LA(7) if (LA66_12 == DASH) : LA66_14 = self.input.LA(8) if (LA66_14 == INT) : LA66_15 = self.input.LA(9) if (LA66_15 == R_PAREN) : LA66_17 = self.input.LA(10) if (LA66_17 == COMMA) : LA66_19 = self.input.LA(11) if (LA66_19 == L_PAREN) : LA66_20 = self.input.LA(12) if (LA66_20 == INT) : LA66_21 = self.input.LA(13) if (LA66_21 == COMMA) : LA66_22 = self.input.LA(14) if (LA66_22 == INT) : LA66_23 = self.input.LA(15) if (LA66_23 == R_PAREN) : LA66_24 = self.input.LA(16) if (LA66_24 == 230) : LA66_25 = self.input.LA(17) if (LA66_25 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif (LA66_25 == 233) : LA66_26 = self.input.LA(18) if (LA66_26 == KEEP) : LA66_27 = self.input.LA(19) if (LA66_27 == SPECIFIC) : LA66_28 = self.input.LA(20) if (LA66_28 == GEODE) : LA66_29 = self.input.LA(21) if (LA66_29 == HYPERLINK) : LA66_13 = self.input.LA(22) if (LA66_13 == STRING) : LA66_16 = self.input.LA(23) if (LA66_16 == 230) : LA66_18 = self.input.LA(24) if (LA66_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif (LA66_12 == INT) : LA66_15 = self.input.LA(8) if (LA66_15 == R_PAREN) : LA66_17 = self.input.LA(9) if (LA66_17 == COMMA) : LA66_19 = self.input.LA(10) if (LA66_19 == L_PAREN) : LA66_20 = self.input.LA(11) if (LA66_20 == INT) : LA66_21 = self.input.LA(12) if (LA66_21 == COMMA) : LA66_22 = self.input.LA(13) if (LA66_22 == INT) : LA66_23 = self.input.LA(14) if (LA66_23 == R_PAREN) : LA66_24 = self.input.LA(15) if (LA66_24 == 230) : LA66_25 = self.input.LA(16) if (LA66_25 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif (LA66_25 == 233) : LA66_26 = self.input.LA(17) if (LA66_26 == KEEP) : LA66_27 = self.input.LA(18) if (LA66_27 == SPECIFIC) : LA66_28 = self.input.LA(19) if (LA66_28 == GEODE) : LA66_29 = self.input.LA(20) if (LA66_29 == HYPERLINK) : LA66_13 = self.input.LA(21) if (LA66_13 == STRING) : LA66_16 = self.input.LA(22) if (LA66_16 == 230) : LA66_18 = self.input.LA(23) if (LA66_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif (LA66_7 == INT) : LA66_10 = self.input.LA(5) if (LA66_10 == COMMA) : LA66_12 = self.input.LA(6) if (LA66_12 == DASH) : LA66_14 = self.input.LA(7) if (LA66_14 == INT) : LA66_15 = self.input.LA(8) if (LA66_15 == R_PAREN) : LA66_17 = self.input.LA(9) if (LA66_17 == COMMA) : LA66_19 = self.input.LA(10) if (LA66_19 == L_PAREN) : LA66_20 = self.input.LA(11) if (LA66_20 == INT) : LA66_21 = self.input.LA(12) if (LA66_21 == COMMA) : LA66_22 = self.input.LA(13) if (LA66_22 == INT) : LA66_23 = self.input.LA(14) if (LA66_23 == R_PAREN) : LA66_24 = self.input.LA(15) if (LA66_24 == 230) : LA66_25 = self.input.LA(16) if (LA66_25 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif (LA66_25 == 233) : LA66_26 = self.input.LA(17) if (LA66_26 == KEEP) : LA66_27 = self.input.LA(18) if (LA66_27 == SPECIFIC) : LA66_28 = self.input.LA(19) if (LA66_28 == GEODE) : LA66_29 = self.input.LA(20) if (LA66_29 == HYPERLINK) : LA66_13 = self.input.LA(21) if (LA66_13 == STRING) : LA66_16 = self.input.LA(22) if (LA66_16 == 230) : LA66_18 = self.input.LA(23) if (LA66_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif (LA66_12 == INT) : LA66_15 = self.input.LA(7) if (LA66_15 == R_PAREN) : LA66_17 = self.input.LA(8) if (LA66_17 == COMMA) : LA66_19 = self.input.LA(9) if (LA66_19 == L_PAREN) : LA66_20 = self.input.LA(10) if (LA66_20 == INT) : LA66_21 = self.input.LA(11) if (LA66_21 == COMMA) : LA66_22 = self.input.LA(12) if (LA66_22 == INT) : LA66_23 = self.input.LA(13) if (LA66_23 == R_PAREN) : LA66_24 = self.input.LA(14) if (LA66_24 == 230) : LA66_25 = self.input.LA(15) if (LA66_25 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif (LA66_25 == 233) : LA66_26 = self.input.LA(16) if (LA66_26 == KEEP) : LA66_27 = self.input.LA(17) if (LA66_27 == SPECIFIC) : LA66_28 = self.input.LA(18) if (LA66_28 == GEODE) : LA66_29 = self.input.LA(19) if (LA66_29 == HYPERLINK) : LA66_13 = self.input.LA(20) if (LA66_13 == STRING) : LA66_16 = self.input.LA(21) if (LA66_16 == 230) : LA66_18 = self.input.LA(22) if (LA66_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif (LA66_1 == KEEP) : LA66_6 = self.input.LA(3) if (LA66_6 == SPECIFIC) : LA66_8 = self.input.LA(4) if (LA66_8 == GEODE) : LA66_11 = self.input.LA(5) if (LA66_11 == HYPERLINK) : LA66_13 = self.input.LA(6) if (LA66_13 == STRING) : LA66_16 = self.input.LA(7) if (LA66_16 == 230) : LA66_18 = self.input.LA(8) if (LA66_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt66 = 1 elif LA66 in {ID}: LA66_2 = self.input.LA(2) if (LA66_2 in {ASSIG_OP, DOT, L_PAREN, 228, 234}) : alt66 = 1 elif LA66 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}: alt66 = 1 if alt66 == 1: # sdl92.g:482:17: transition pass self._state.following.append(self.FOLLOW_transition_in_start5292) transition211 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition211.tree) # AST Rewrite # elements: START, cif, hyperlink, name, end, transition # token labels: # rule labels: name, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if name is not None: stream_name = RewriteRuleSubtreeStream(self._adaptor, "rule name", name.tree) else: stream_name = RewriteRuleSubtreeStream(self._adaptor, "token name", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 483:9: -> ^( START ( cif )? ( hyperlink )? ( $name)? ( end )? ( transition )? ) # sdl92.g:483:17: ^( START ( cif )? ( hyperlink )? ( $name)? ( end )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_START.nextNode() , root_1) # sdl92.g:483:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:483:30: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:483:42: ( $name)? if stream_name.hasNext(): self._adaptor.addChild(root_1, stream_name.nextTree()) stream_name.reset(); # sdl92.g:483:48: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); # sdl92.g:483:53: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) stream_transition.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "start" class floating_label_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "floating_label" # sdl92.g:487:1: floating_label : ( cif )? ( hyperlink )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( hyperlink )? connector_name ( transition )? ) ; def floating_label(self, ): retval = self.floating_label_return() retval.start = self.input.LT(1) root_0 = None CONNECTION214 = None char_literal216 = None ENDCONNECTION219 = None SEMI220 = None cif212 = None hyperlink213 = None connector_name215 = None transition217 = None cif_end_label218 = None CONNECTION214_tree = None char_literal216_tree = None ENDCONNECTION219_tree = None SEMI220_tree = None stream_CONNECTION = RewriteRuleTokenStream(self._adaptor, "token CONNECTION") stream_234 = RewriteRuleTokenStream(self._adaptor, "token 234") stream_ENDCONNECTION = RewriteRuleTokenStream(self._adaptor, "token ENDCONNECTION") stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") stream_cif_end_label = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end_label") stream_connector_name = RewriteRuleSubtreeStream(self._adaptor, "rule connector_name") stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: # sdl92.g:488:9: ( ( cif )? ( hyperlink )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( hyperlink )? connector_name ( transition )? ) ) # sdl92.g:488:17: ( cif )? ( hyperlink )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI pass # sdl92.g:488:17: ( cif )? alt67 = 2 LA67_0 = self.input.LA(1) if (LA67_0 == 233) : LA67_1 = self.input.LA(2) if (LA67_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt67 = 1 if alt67 == 1: # sdl92.g:488:17: cif pass self._state.following.append(self.FOLLOW_cif_in_floating_label5360) cif212 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif212.tree) # sdl92.g:489:17: ( hyperlink )? alt68 = 2 LA68_0 = self.input.LA(1) if (LA68_0 == 233) : alt68 = 1 if alt68 == 1: # sdl92.g:489:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_floating_label5379) hyperlink213 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink213.tree) CONNECTION214 = self.match(self.input, CONNECTION, self.FOLLOW_CONNECTION_in_floating_label5398) if self._state.backtracking == 0: stream_CONNECTION.add(CONNECTION214) self._state.following.append(self.FOLLOW_connector_name_in_floating_label5400) connector_name215 = self.connector_name() self._state.following.pop() if self._state.backtracking == 0: stream_connector_name.add(connector_name215.tree) char_literal216 = self.match(self.input, 234, self.FOLLOW_234_in_floating_label5402) if self._state.backtracking == 0: stream_234.add(char_literal216) # sdl92.g:491:17: ( transition )? alt69 = 2 LA69_0 = self.input.LA(1) if (LA69_0 == 233) : LA69_1 = self.input.LA(2) if (LA69_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, KEEP, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt69 = 1 elif (LA69_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}) : alt69 = 1 if alt69 == 1: # sdl92.g:491:17: transition pass self._state.following.append(self.FOLLOW_transition_in_floating_label5420) transition217 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition217.tree) # sdl92.g:492:17: ( cif_end_label )? alt70 = 2 LA70_0 = self.input.LA(1) if (LA70_0 == 233) : alt70 = 1 if alt70 == 1: # sdl92.g:492:17: cif_end_label pass self._state.following.append(self.FOLLOW_cif_end_label_in_floating_label5439) cif_end_label218 = self.cif_end_label() self._state.following.pop() if self._state.backtracking == 0: stream_cif_end_label.add(cif_end_label218.tree) ENDCONNECTION219 = self.match(self.input, ENDCONNECTION, self.FOLLOW_ENDCONNECTION_in_floating_label5458) if self._state.backtracking == 0: stream_ENDCONNECTION.add(ENDCONNECTION219) SEMI220 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_floating_label5460) if self._state.backtracking == 0: stream_SEMI.add(SEMI220) # AST Rewrite # elements: cif, hyperlink, connector_name, transition # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 494:9: -> ^( FLOATING_LABEL ( cif )? ( hyperlink )? connector_name ( transition )? ) # sdl92.g:494:17: ^( FLOATING_LABEL ( cif )? ( hyperlink )? connector_name ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FLOATING_LABEL, "FLOATING_LABEL") , root_1) # sdl92.g:494:34: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:494:39: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); self._adaptor.addChild(root_1, stream_connector_name.nextTree()) # sdl92.g:494:65: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) stream_transition.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "floating_label" class state_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state" # sdl92.g:498:1: state : ( state_definition | state_instance ); def state(self, ): retval = self.state_return() retval.start = self.input.LT(1) root_0 = None state_definition221 = None state_instance222 = None try: try: # sdl92.g:499:9: ( state_definition | state_instance ) alt71 = 2 LA71_0 = self.input.LA(1) if (LA71_0 == 233) : LA71_1 = self.input.LA(2) if (LA71_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA71_3 = self.input.LA(3) if (LA71_3 == L_PAREN) : LA71_7 = self.input.LA(4) if (LA71_7 == DASH) : LA71_10 = self.input.LA(5) if (LA71_10 == INT) : LA71_11 = self.input.LA(6) if (LA71_11 == COMMA) : LA71_13 = self.input.LA(7) if (LA71_13 == DASH) : LA71_15 = self.input.LA(8) if (LA71_15 == INT) : LA71_16 = self.input.LA(9) if (LA71_16 == R_PAREN) : LA71_18 = self.input.LA(10) if (LA71_18 == COMMA) : LA71_20 = self.input.LA(11) if (LA71_20 == L_PAREN) : LA71_21 = self.input.LA(12) if (LA71_21 == INT) : LA71_22 = self.input.LA(13) if (LA71_22 == COMMA) : LA71_23 = self.input.LA(14) if (LA71_23 == INT) : LA71_24 = self.input.LA(15) if (LA71_24 == R_PAREN) : LA71_25 = self.input.LA(16) if (LA71_25 == 230) : LA71_26 = self.input.LA(17) if (LA71_26 == 233) : LA71_27 = self.input.LA(18) if (LA71_27 == KEEP) : LA71_4 = self.input.LA(19) if (LA71_4 == SPECIFIC) : LA71_8 = self.input.LA(20) if (LA71_8 == GEODE) : LA71_12 = self.input.LA(21) if (LA71_12 == HYPERLINK) : LA71_14 = self.input.LA(22) if (LA71_14 == STRING) : LA71_17 = self.input.LA(23) if (LA71_17 == 230) : LA71_19 = self.input.LA(24) if (LA71_19 == STATE) : LA71_2 = self.input.LA(25) if (LA71_2 == ID) : LA71_5 = self.input.LA(26) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 27, self.input) raise nvae elif (LA71_26 == STATE) : LA71_2 = self.input.LA(18) if (LA71_2 == ID) : LA71_5 = self.input.LA(19) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 15, self.input) raise nvae elif (LA71_13 == INT) : LA71_16 = self.input.LA(8) if (LA71_16 == R_PAREN) : LA71_18 = self.input.LA(9) if (LA71_18 == COMMA) : LA71_20 = self.input.LA(10) if (LA71_20 == L_PAREN) : LA71_21 = self.input.LA(11) if (LA71_21 == INT) : LA71_22 = self.input.LA(12) if (LA71_22 == COMMA) : LA71_23 = self.input.LA(13) if (LA71_23 == INT) : LA71_24 = self.input.LA(14) if (LA71_24 == R_PAREN) : LA71_25 = self.input.LA(15) if (LA71_25 == 230) : LA71_26 = self.input.LA(16) if (LA71_26 == 233) : LA71_27 = self.input.LA(17) if (LA71_27 == KEEP) : LA71_4 = self.input.LA(18) if (LA71_4 == SPECIFIC) : LA71_8 = self.input.LA(19) if (LA71_8 == GEODE) : LA71_12 = self.input.LA(20) if (LA71_12 == HYPERLINK) : LA71_14 = self.input.LA(21) if (LA71_14 == STRING) : LA71_17 = self.input.LA(22) if (LA71_17 == 230) : LA71_19 = self.input.LA(23) if (LA71_19 == STATE) : LA71_2 = self.input.LA(24) if (LA71_2 == ID) : LA71_5 = self.input.LA(25) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 27, self.input) raise nvae elif (LA71_26 == STATE) : LA71_2 = self.input.LA(17) if (LA71_2 == ID) : LA71_5 = self.input.LA(18) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 10, self.input) raise nvae elif (LA71_7 == INT) : LA71_11 = self.input.LA(5) if (LA71_11 == COMMA) : LA71_13 = self.input.LA(6) if (LA71_13 == DASH) : LA71_15 = self.input.LA(7) if (LA71_15 == INT) : LA71_16 = self.input.LA(8) if (LA71_16 == R_PAREN) : LA71_18 = self.input.LA(9) if (LA71_18 == COMMA) : LA71_20 = self.input.LA(10) if (LA71_20 == L_PAREN) : LA71_21 = self.input.LA(11) if (LA71_21 == INT) : LA71_22 = self.input.LA(12) if (LA71_22 == COMMA) : LA71_23 = self.input.LA(13) if (LA71_23 == INT) : LA71_24 = self.input.LA(14) if (LA71_24 == R_PAREN) : LA71_25 = self.input.LA(15) if (LA71_25 == 230) : LA71_26 = self.input.LA(16) if (LA71_26 == 233) : LA71_27 = self.input.LA(17) if (LA71_27 == KEEP) : LA71_4 = self.input.LA(18) if (LA71_4 == SPECIFIC) : LA71_8 = self.input.LA(19) if (LA71_8 == GEODE) : LA71_12 = self.input.LA(20) if (LA71_12 == HYPERLINK) : LA71_14 = self.input.LA(21) if (LA71_14 == STRING) : LA71_17 = self.input.LA(22) if (LA71_17 == 230) : LA71_19 = self.input.LA(23) if (LA71_19 == STATE) : LA71_2 = self.input.LA(24) if (LA71_2 == ID) : LA71_5 = self.input.LA(25) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 27, self.input) raise nvae elif (LA71_26 == STATE) : LA71_2 = self.input.LA(17) if (LA71_2 == ID) : LA71_5 = self.input.LA(18) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 15, self.input) raise nvae elif (LA71_13 == INT) : LA71_16 = self.input.LA(7) if (LA71_16 == R_PAREN) : LA71_18 = self.input.LA(8) if (LA71_18 == COMMA) : LA71_20 = self.input.LA(9) if (LA71_20 == L_PAREN) : LA71_21 = self.input.LA(10) if (LA71_21 == INT) : LA71_22 = self.input.LA(11) if (LA71_22 == COMMA) : LA71_23 = self.input.LA(12) if (LA71_23 == INT) : LA71_24 = self.input.LA(13) if (LA71_24 == R_PAREN) : LA71_25 = self.input.LA(14) if (LA71_25 == 230) : LA71_26 = self.input.LA(15) if (LA71_26 == 233) : LA71_27 = self.input.LA(16) if (LA71_27 == KEEP) : LA71_4 = self.input.LA(17) if (LA71_4 == SPECIFIC) : LA71_8 = self.input.LA(18) if (LA71_8 == GEODE) : LA71_12 = self.input.LA(19) if (LA71_12 == HYPERLINK) : LA71_14 = self.input.LA(20) if (LA71_14 == STRING) : LA71_17 = self.input.LA(21) if (LA71_17 == 230) : LA71_19 = self.input.LA(22) if (LA71_19 == STATE) : LA71_2 = self.input.LA(23) if (LA71_2 == ID) : LA71_5 = self.input.LA(24) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 27, self.input) raise nvae elif (LA71_26 == STATE) : LA71_2 = self.input.LA(16) if (LA71_2 == ID) : LA71_5 = self.input.LA(17) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 3, self.input) raise nvae elif (LA71_1 == KEEP) : LA71_4 = self.input.LA(3) if (LA71_4 == SPECIFIC) : LA71_8 = self.input.LA(4) if (LA71_8 == GEODE) : LA71_12 = self.input.LA(5) if (LA71_12 == HYPERLINK) : LA71_14 = self.input.LA(6) if (LA71_14 == STRING) : LA71_17 = self.input.LA(7) if (LA71_17 == 230) : LA71_19 = self.input.LA(8) if (LA71_19 == STATE) : LA71_2 = self.input.LA(9) if (LA71_2 == ID) : LA71_5 = self.input.LA(10) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 1, self.input) raise nvae elif (LA71_0 == STATE) : LA71_2 = self.input.LA(2) if (LA71_2 == ID) : LA71_5 = self.input.LA(3) if (LA71_5 in {COMMA, COMMENT, SEMI, VIA, 233}) : alt71 = 1 elif (LA71_5 == 234) : alt71 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 5, self.input) raise nvae elif (LA71_2 == ASTERISK) : alt71 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 71, 0, self.input) raise nvae if alt71 == 1: # sdl92.g:499:11: state_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_state_definition_in_state5516) state_definition221 = self.state_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_definition221.tree) elif alt71 == 2: # sdl92.g:500:13: state_instance pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_state_instance_in_state5530) state_instance222 = self.state_instance() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_instance222.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state" class state_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state_definition" # sdl92.g:504:1: state_definition : ( cif )? ( hyperlink )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statelist ( via )? ( state_part )* ) ; def state_definition(self, ): retval = self.state_definition_return() retval.start = self.input.LT(1) root_0 = None STATE225 = None SEMI228 = None ENDSTATE230 = None e = None f = None cif223 = None hyperlink224 = None statelist226 = None via227 = None state_part229 = None statename231 = None STATE225_tree = None SEMI228_tree = None ENDSTATE230_tree = None stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_ENDSTATE = RewriteRuleTokenStream(self._adaptor, "token ENDSTATE") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") stream_statelist = RewriteRuleSubtreeStream(self._adaptor, "rule statelist") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") stream_state_part = RewriteRuleSubtreeStream(self._adaptor, "rule state_part") stream_via = RewriteRuleSubtreeStream(self._adaptor, "rule via") try: try: # sdl92.g:505:9: ( ( cif )? ( hyperlink )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statelist ( via )? ( state_part )* ) ) # sdl92.g:505:17: ( cif )? ( hyperlink )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end pass # sdl92.g:505:17: ( cif )? alt72 = 2 LA72_0 = self.input.LA(1) if (LA72_0 == 233) : LA72_1 = self.input.LA(2) if (LA72_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt72 = 1 if alt72 == 1: # sdl92.g:505:17: cif pass self._state.following.append(self.FOLLOW_cif_in_state_definition5562) cif223 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif223.tree) # sdl92.g:506:17: ( hyperlink )? alt73 = 2 LA73_0 = self.input.LA(1) if (LA73_0 == 233) : alt73 = 1 if alt73 == 1: # sdl92.g:506:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_state_definition5581) hyperlink224 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink224.tree) STATE225 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_definition5600) if self._state.backtracking == 0: stream_STATE.add(STATE225) self._state.following.append(self.FOLLOW_statelist_in_state_definition5602) statelist226 = self.statelist() self._state.following.pop() if self._state.backtracking == 0: stream_statelist.add(statelist226.tree) # sdl92.g:507:33: ( via )? alt74 = 2 LA74_0 = self.input.LA(1) if (LA74_0 == VIA) : alt74 = 1 if alt74 == 1: # sdl92.g:507:33: via pass self._state.following.append(self.FOLLOW_via_in_state_definition5604) via227 = self.via() self._state.following.pop() if self._state.backtracking == 0: stream_via.add(via227.tree) # sdl92.g:507:38: (e= end | SEMI ) alt75 = 2 LA75_0 = self.input.LA(1) if (LA75_0 in {COMMENT, 233}) : alt75 = 1 elif (LA75_0 == SEMI) : LA75_2 = self.input.LA(2) if (self.synpred101_sdl92()) : alt75 = 1 elif (True) : alt75 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 75, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 75, 0, self.input) raise nvae if alt75 == 1: # sdl92.g:507:39: e= end pass self._state.following.append(self.FOLLOW_end_in_state_definition5610) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) elif alt75 == 2: # sdl92.g:507:47: SEMI pass SEMI228 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_definition5614) if self._state.backtracking == 0: stream_SEMI.add(SEMI228) # sdl92.g:508:17: ( state_part )* while True: #loop76 alt76 = 2 LA76_0 = self.input.LA(1) if (LA76_0 in {CONNECT, INPUT, PROVIDED, SAVE, 233}) : alt76 = 1 if alt76 == 1: # sdl92.g:508:18: state_part pass self._state.following.append(self.FOLLOW_state_part_in_state_definition5634) state_part229 = self.state_part() self._state.following.pop() if self._state.backtracking == 0: stream_state_part.add(state_part229.tree) else: break #loop76 ENDSTATE230 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_definition5654) if self._state.backtracking == 0: stream_ENDSTATE.add(ENDSTATE230) # sdl92.g:509:26: ( statename )? alt77 = 2 LA77_0 = self.input.LA(1) if (LA77_0 == ID) : alt77 = 1 if alt77 == 1: # sdl92.g:509:26: statename pass self._state.following.append(self.FOLLOW_statename_in_state_definition5656) statename231 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename231.tree) self._state.following.append(self.FOLLOW_end_in_state_definition5661) f = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(f.tree) # AST Rewrite # elements: STATE, cif, hyperlink, e, statelist, via, state_part # token labels: # rule labels: e, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if e is not None: stream_e = RewriteRuleSubtreeStream(self._adaptor, "rule e", e.tree) else: stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 510:9: -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statelist ( via )? ( state_part )* ) # sdl92.g:510:17: ^( STATE ( cif )? ( hyperlink )? ( $e)? statelist ( via )? ( state_part )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_STATE.nextNode() , root_1) # sdl92.g:510:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:510:30: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:510:42: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) stream_e.reset(); self._adaptor.addChild(root_1, stream_statelist.nextTree()) # sdl92.g:510:55: ( via )? if stream_via.hasNext(): self._adaptor.addChild(root_1, stream_via.nextTree()) stream_via.reset(); # sdl92.g:510:60: ( state_part )* while stream_state_part.hasNext(): self._adaptor.addChild(root_1, stream_state_part.nextTree()) stream_state_part.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state_definition" class state_instance_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state_instance" # sdl92.g:514:1: state_instance : ( cif )? ( hyperlink )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statename ( via )? type_inst ( state_part )* ) ; def state_instance(self, ): retval = self.state_instance_return() retval.start = self.input.LT(1) root_0 = None STATE234 = None char_literal236 = None SEMI239 = None ENDSTATE241 = None e = None f = None cif232 = None hyperlink233 = None statename235 = None type_inst237 = None via238 = None state_part240 = None statename242 = None STATE234_tree = None char_literal236_tree = None SEMI239_tree = None ENDSTATE241_tree = None stream_234 = RewriteRuleTokenStream(self._adaptor, "token 234") stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_ENDSTATE = RewriteRuleTokenStream(self._adaptor, "token ENDSTATE") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") stream_type_inst = RewriteRuleSubtreeStream(self._adaptor, "rule type_inst") stream_state_part = RewriteRuleSubtreeStream(self._adaptor, "rule state_part") stream_via = RewriteRuleSubtreeStream(self._adaptor, "rule via") try: try: # sdl92.g:515:9: ( ( cif )? ( hyperlink )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statename ( via )? type_inst ( state_part )* ) ) # sdl92.g:515:17: ( cif )? ( hyperlink )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end pass # sdl92.g:515:17: ( cif )? alt78 = 2 LA78_0 = self.input.LA(1) if (LA78_0 == 233) : LA78_1 = self.input.LA(2) if (LA78_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt78 = 1 if alt78 == 1: # sdl92.g:515:17: cif pass self._state.following.append(self.FOLLOW_cif_in_state_instance5730) cif232 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif232.tree) # sdl92.g:516:17: ( hyperlink )? alt79 = 2 LA79_0 = self.input.LA(1) if (LA79_0 == 233) : alt79 = 1 if alt79 == 1: # sdl92.g:516:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_state_instance5749) hyperlink233 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink233.tree) STATE234 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_instance5768) if self._state.backtracking == 0: stream_STATE.add(STATE234) self._state.following.append(self.FOLLOW_statename_in_state_instance5770) statename235 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename235.tree) char_literal236 = self.match(self.input, 234, self.FOLLOW_234_in_state_instance5772) if self._state.backtracking == 0: stream_234.add(char_literal236) self._state.following.append(self.FOLLOW_type_inst_in_state_instance5774) type_inst237 = self.type_inst() self._state.following.pop() if self._state.backtracking == 0: stream_type_inst.add(type_inst237.tree) # sdl92.g:517:47: ( via )? alt80 = 2 LA80_0 = self.input.LA(1) if (LA80_0 == VIA) : alt80 = 1 if alt80 == 1: # sdl92.g:517:47: via pass self._state.following.append(self.FOLLOW_via_in_state_instance5776) via238 = self.via() self._state.following.pop() if self._state.backtracking == 0: stream_via.add(via238.tree) # sdl92.g:517:52: (e= end | SEMI ) alt81 = 2 LA81_0 = self.input.LA(1) if (LA81_0 in {COMMENT, 233}) : alt81 = 1 elif (LA81_0 == SEMI) : LA81_2 = self.input.LA(2) if (self.synpred107_sdl92()) : alt81 = 1 elif (True) : alt81 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 81, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 81, 0, self.input) raise nvae if alt81 == 1: # sdl92.g:517:53: e= end pass self._state.following.append(self.FOLLOW_end_in_state_instance5782) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) elif alt81 == 2: # sdl92.g:517:61: SEMI pass SEMI239 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_instance5786) if self._state.backtracking == 0: stream_SEMI.add(SEMI239) # sdl92.g:518:17: ( state_part )* while True: #loop82 alt82 = 2 LA82_0 = self.input.LA(1) if (LA82_0 in {CONNECT, INPUT, PROVIDED, SAVE, 233}) : alt82 = 1 if alt82 == 1: # sdl92.g:518:18: state_part pass self._state.following.append(self.FOLLOW_state_part_in_state_instance5806) state_part240 = self.state_part() self._state.following.pop() if self._state.backtracking == 0: stream_state_part.add(state_part240.tree) else: break #loop82 ENDSTATE241 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_instance5826) if self._state.backtracking == 0: stream_ENDSTATE.add(ENDSTATE241) # sdl92.g:519:26: ( statename )? alt83 = 2 LA83_0 = self.input.LA(1) if (LA83_0 == ID) : alt83 = 1 if alt83 == 1: # sdl92.g:519:26: statename pass self._state.following.append(self.FOLLOW_statename_in_state_instance5828) statename242 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename242.tree) self._state.following.append(self.FOLLOW_end_in_state_instance5833) f = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(f.tree) # AST Rewrite # elements: STATE, cif, hyperlink, e, statename, via, type_inst, state_part # token labels: # rule labels: e, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if e is not None: stream_e = RewriteRuleSubtreeStream(self._adaptor, "rule e", e.tree) else: stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 520:9: -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statename ( via )? type_inst ( state_part )* ) # sdl92.g:520:17: ^( STATE ( cif )? ( hyperlink )? ( $e)? statename ( via )? type_inst ( state_part )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_STATE.nextNode() , root_1) # sdl92.g:520:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:520:30: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:520:42: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) stream_e.reset(); self._adaptor.addChild(root_1, stream_statename.nextTree()) # sdl92.g:520:55: ( via )? if stream_via.hasNext(): self._adaptor.addChild(root_1, stream_via.nextTree()) stream_via.reset(); self._adaptor.addChild(root_1, stream_type_inst.nextTree()) # sdl92.g:520:70: ( state_part )* while stream_state_part.hasNext(): self._adaptor.addChild(root_1, stream_state_part.nextTree()) stream_state_part.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state_instance" class statelist_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "statelist" # sdl92.g:524:1: statelist : ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ); def statelist(self, ): retval = self.statelist_return() retval.start = self.input.LT(1) root_0 = None char_literal244 = None ASTERISK246 = None statename243 = None statename245 = None exception_state247 = None char_literal244_tree = None ASTERISK246_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_ASTERISK = RewriteRuleTokenStream(self._adaptor, "token ASTERISK") stream_exception_state = RewriteRuleSubtreeStream(self._adaptor, "rule exception_state") stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") try: try: # sdl92.g:525:9: ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ) alt86 = 2 LA86_0 = self.input.LA(1) if (LA86_0 == ID) : alt86 = 1 elif (LA86_0 == ASTERISK) : alt86 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 86, 0, self.input) raise nvae if alt86 == 1: # sdl92.g:525:17: ( ( statename ) ( ',' statename )* ) pass # sdl92.g:525:17: ( ( statename ) ( ',' statename )* ) # sdl92.g:525:18: ( statename ) ( ',' statename )* pass # sdl92.g:525:18: ( statename ) # sdl92.g:525:19: statename pass self._state.following.append(self.FOLLOW_statename_in_statelist5906) statename243 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename243.tree) # sdl92.g:525:29: ( ',' statename )* while True: #loop84 alt84 = 2 LA84_0 = self.input.LA(1) if (LA84_0 == COMMA) : alt84 = 1 if alt84 == 1: # sdl92.g:525:30: ',' statename pass char_literal244 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_statelist5909) if self._state.backtracking == 0: stream_COMMA.add(char_literal244) self._state.following.append(self.FOLLOW_statename_in_statelist5911) statename245 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename245.tree) else: break #loop84 # AST Rewrite # elements: statename # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 526:9: -> ^( STATELIST ( statename )+ ) # sdl92.g:526:17: ^( STATELIST ( statename )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(STATELIST, "STATELIST") , root_1) # sdl92.g:526:29: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() while stream_statename.hasNext(): self._adaptor.addChild(root_1, stream_statename.nextTree()) stream_statename.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 elif alt86 == 2: # sdl92.g:527:19: ASTERISK ( exception_state )? pass ASTERISK246 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_statelist5956) if self._state.backtracking == 0: stream_ASTERISK.add(ASTERISK246) # sdl92.g:527:28: ( exception_state )? alt85 = 2 LA85_0 = self.input.LA(1) if (LA85_0 == L_PAREN) : alt85 = 1 if alt85 == 1: # sdl92.g:527:28: exception_state pass self._state.following.append(self.FOLLOW_exception_state_in_statelist5958) exception_state247 = self.exception_state() self._state.following.pop() if self._state.backtracking == 0: stream_exception_state.add(exception_state247.tree) # AST Rewrite # elements: ASTERISK, exception_state # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 528:9: -> ^( ASTERISK ( exception_state )? ) # sdl92.g:528:17: ^( ASTERISK ( exception_state )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ASTERISK.nextNode() , root_1) # sdl92.g:528:28: ( exception_state )? if stream_exception_state.hasNext(): self._adaptor.addChild(root_1, stream_exception_state.nextTree()) stream_exception_state.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "statelist" class exception_state_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "exception_state" # sdl92.g:532:1: exception_state : '(' statename ( ',' statename )* ')' -> ( statename )+ ; def exception_state(self, ): retval = self.exception_state_return() retval.start = self.input.LT(1) root_0 = None char_literal248 = None char_literal250 = None char_literal252 = None statename249 = None statename251 = None char_literal248_tree = None char_literal250_tree = None char_literal252_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") try: try: # sdl92.g:533:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) # sdl92.g:533:17: '(' statename ( ',' statename )* ')' pass char_literal248 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_exception_state6013) if self._state.backtracking == 0: stream_L_PAREN.add(char_literal248) self._state.following.append(self.FOLLOW_statename_in_exception_state6015) statename249 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename249.tree) # sdl92.g:533:31: ( ',' statename )* while True: #loop87 alt87 = 2 LA87_0 = self.input.LA(1) if (LA87_0 == COMMA) : alt87 = 1 if alt87 == 1: # sdl92.g:533:32: ',' statename pass char_literal250 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_exception_state6018) if self._state.backtracking == 0: stream_COMMA.add(char_literal250) self._state.following.append(self.FOLLOW_statename_in_exception_state6020) statename251 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename251.tree) else: break #loop87 char_literal252 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_exception_state6024) if self._state.backtracking == 0: stream_R_PAREN.add(char_literal252) # AST Rewrite # elements: statename # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 534:9: -> ( statename )+ # sdl92.g:534:17: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() while stream_statename.hasNext(): self._adaptor.addChild(root_0, stream_statename.nextTree()) stream_statename.reset() retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "exception_state" class composite_state_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "composite_state" # sdl92.g:539:1: composite_state : ( composite_state_graph | state_aggregation ); def composite_state(self, ): retval = self.composite_state_return() retval.start = self.input.LT(1) root_0 = None composite_state_graph253 = None state_aggregation254 = None try: try: # sdl92.g:540:9: ( composite_state_graph | state_aggregation ) alt88 = 2 LA88_0 = self.input.LA(1) if (LA88_0 == STATE) : LA88_1 = self.input.LA(2) if (LA88_1 == AGGREGATION) : alt88 = 2 elif (LA88_1 == ID) : alt88 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 88, 1, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 88, 0, self.input) raise nvae if alt88 == 1: # sdl92.g:540:17: composite_state_graph pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_composite_state_graph_in_composite_state6075) composite_state_graph253 = self.composite_state_graph() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, composite_state_graph253.tree) elif alt88 == 2: # sdl92.g:541:19: state_aggregation pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_state_aggregation_in_composite_state6095) state_aggregation254 = self.state_aggregation() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_aggregation254.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "composite_state" class composite_state_preamble_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "composite_state_preamble" # sdl92.g:545:1: composite_state_preamble : STATE ( AGGREGATION )? statename end SUBSTRUCTURE ; def composite_state_preamble(self, ): retval = self.composite_state_preamble_return() retval.start = self.input.LT(1) root_0 = None STATE255 = None AGGREGATION256 = None SUBSTRUCTURE259 = None statename257 = None end258 = None STATE255_tree = None AGGREGATION256_tree = None SUBSTRUCTURE259_tree = None try: try: # sdl92.g:546:9: ( STATE ( AGGREGATION )? statename end SUBSTRUCTURE ) # sdl92.g:546:17: STATE ( AGGREGATION )? statename end SUBSTRUCTURE pass root_0 = self._adaptor.nil() STATE255 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_preamble6127) if self._state.backtracking == 0: STATE255_tree = self._adaptor.createWithPayload(STATE255) self._adaptor.addChild(root_0, STATE255_tree) # sdl92.g:546:23: ( AGGREGATION )? alt89 = 2 LA89_0 = self.input.LA(1) if (LA89_0 == AGGREGATION) : alt89 = 1 if alt89 == 1: # sdl92.g:546:23: AGGREGATION pass AGGREGATION256 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_composite_state_preamble6129) if self._state.backtracking == 0: AGGREGATION256_tree = self._adaptor.createWithPayload(AGGREGATION256) self._adaptor.addChild(root_0, AGGREGATION256_tree) self._state.following.append(self.FOLLOW_statename_in_composite_state_preamble6132) statename257 = self.statename() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, statename257.tree) self._state.following.append(self.FOLLOW_end_in_composite_state_preamble6134) end258 = self.end() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, end258.tree) SUBSTRUCTURE259 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_preamble6152) if self._state.backtracking == 0: SUBSTRUCTURE259_tree = self._adaptor.createWithPayload(SUBSTRUCTURE259) self._adaptor.addChild(root_0, SUBSTRUCTURE259_tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "composite_state_preamble" class composite_state_graph_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "composite_state_graph" # sdl92.g:550:1: composite_state_graph : STATE statename e= end SUBSTRUCTURE ( connection_points )* body= composite_state_body ENDSUBSTRUCTURE ( statename )? f= end -> ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) ; def composite_state_graph(self, ): retval = self.composite_state_graph_return() retval.start = self.input.LT(1) root_0 = None STATE260 = None SUBSTRUCTURE262 = None ENDSUBSTRUCTURE264 = None e = None body = None f = None statename261 = None connection_points263 = None statename265 = None STATE260_tree = None SUBSTRUCTURE262_tree = None ENDSUBSTRUCTURE264_tree = None stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_SUBSTRUCTURE = RewriteRuleTokenStream(self._adaptor, "token SUBSTRUCTURE") stream_ENDSUBSTRUCTURE = RewriteRuleTokenStream(self._adaptor, "token ENDSUBSTRUCTURE") stream_connection_points = RewriteRuleSubtreeStream(self._adaptor, "rule connection_points") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") stream_composite_state_body = RewriteRuleSubtreeStream(self._adaptor, "rule composite_state_body") try: try: # sdl92.g:551:9: ( STATE statename e= end SUBSTRUCTURE ( connection_points )* body= composite_state_body ENDSUBSTRUCTURE ( statename )? f= end -> ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) ) # sdl92.g:551:17: STATE statename e= end SUBSTRUCTURE ( connection_points )* body= composite_state_body ENDSUBSTRUCTURE ( statename )? f= end pass STATE260 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_graph6183) if self._state.backtracking == 0: stream_STATE.add(STATE260) self._state.following.append(self.FOLLOW_statename_in_composite_state_graph6185) statename261 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename261.tree) self._state.following.append(self.FOLLOW_end_in_composite_state_graph6189) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) SUBSTRUCTURE262 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_graph6207) if self._state.backtracking == 0: stream_SUBSTRUCTURE.add(SUBSTRUCTURE262) # sdl92.g:553:17: ( connection_points )* while True: #loop90 alt90 = 2 LA90_0 = self.input.LA(1) if (LA90_0 in {IN, OUT}) : alt90 = 1 if alt90 == 1: # sdl92.g:553:17: connection_points pass self._state.following.append(self.FOLLOW_connection_points_in_composite_state_graph6225) connection_points263 = self.connection_points() self._state.following.pop() if self._state.backtracking == 0: stream_connection_points.add(connection_points263.tree) else: break #loop90 self._state.following.append(self.FOLLOW_composite_state_body_in_composite_state_graph6246) body = self.composite_state_body() self._state.following.pop() if self._state.backtracking == 0: stream_composite_state_body.add(body.tree) ENDSUBSTRUCTURE264 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph6264) if self._state.backtracking == 0: stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE264) # sdl92.g:555:33: ( statename )? alt91 = 2 LA91_0 = self.input.LA(1) if (LA91_0 == ID) : alt91 = 1 if alt91 == 1: # sdl92.g:555:33: statename pass self._state.following.append(self.FOLLOW_statename_in_composite_state_graph6266) statename265 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename265.tree) self._state.following.append(self.FOLLOW_end_in_composite_state_graph6271) f = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(f.tree) # AST Rewrite # elements: statename, connection_points, body, e # token labels: # rule labels: e, body, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if e is not None: stream_e = RewriteRuleSubtreeStream(self._adaptor, "rule e", e.tree) else: stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) if body is not None: stream_body = RewriteRuleSubtreeStream(self._adaptor, "rule body", body.tree) else: stream_body = RewriteRuleSubtreeStream(self._adaptor, "token body", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 556:9: -> ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) # sdl92.g:556:17: ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(COMPOSITE_STATE, "COMPOSITE_STATE") , root_1) self._adaptor.addChild(root_1, stream_statename.nextTree()) # sdl92.g:556:45: ( connection_points )* while stream_connection_points.hasNext(): self._adaptor.addChild(root_1, stream_connection_points.nextTree()) stream_connection_points.reset(); self._adaptor.addChild(root_1, stream_body.nextTree()) # sdl92.g:556:71: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) stream_e.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "composite_state_graph" class state_aggregation_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state_aggregation" # sdl92.g:561:1: state_aggregation : STATE AGGREGATION statename e= end SUBSTRUCTURE ( connection_points )* (entities= entity_in_composite_state )* body= state_aggregation_body ENDSUBSTRUCTURE ( statename )? f= end -> ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) ; def state_aggregation(self, ): retval = self.state_aggregation_return() retval.start = self.input.LT(1) root_0 = None STATE266 = None AGGREGATION267 = None SUBSTRUCTURE269 = None ENDSUBSTRUCTURE271 = None e = None entities = None body = None f = None statename268 = None connection_points270 = None statename272 = None STATE266_tree = None AGGREGATION267_tree = None SUBSTRUCTURE269_tree = None ENDSUBSTRUCTURE271_tree = None stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_AGGREGATION = RewriteRuleTokenStream(self._adaptor, "token AGGREGATION") stream_SUBSTRUCTURE = RewriteRuleTokenStream(self._adaptor, "token SUBSTRUCTURE") stream_ENDSUBSTRUCTURE = RewriteRuleTokenStream(self._adaptor, "token ENDSUBSTRUCTURE") stream_state_aggregation_body = RewriteRuleSubtreeStream(self._adaptor, "rule state_aggregation_body") stream_entity_in_composite_state = RewriteRuleSubtreeStream(self._adaptor, "rule entity_in_composite_state") stream_connection_points = RewriteRuleSubtreeStream(self._adaptor, "rule connection_points") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") try: try: # sdl92.g:562:9: ( STATE AGGREGATION statename e= end SUBSTRUCTURE ( connection_points )* (entities= entity_in_composite_state )* body= state_aggregation_body ENDSUBSTRUCTURE ( statename )? f= end -> ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) ) # sdl92.g:562:17: STATE AGGREGATION statename e= end SUBSTRUCTURE ( connection_points )* (entities= entity_in_composite_state )* body= state_aggregation_body ENDSUBSTRUCTURE ( statename )? f= end pass STATE266 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_aggregation6335) if self._state.backtracking == 0: stream_STATE.add(STATE266) AGGREGATION267 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_state_aggregation6337) if self._state.backtracking == 0: stream_AGGREGATION.add(AGGREGATION267) self._state.following.append(self.FOLLOW_statename_in_state_aggregation6339) statename268 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename268.tree) self._state.following.append(self.FOLLOW_end_in_state_aggregation6343) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) SUBSTRUCTURE269 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_state_aggregation6361) if self._state.backtracking == 0: stream_SUBSTRUCTURE.add(SUBSTRUCTURE269) # sdl92.g:564:17: ( connection_points )* while True: #loop92 alt92 = 2 LA92_0 = self.input.LA(1) if (LA92_0 in {IN, OUT}) : alt92 = 1 if alt92 == 1: # sdl92.g:564:17: connection_points pass self._state.following.append(self.FOLLOW_connection_points_in_state_aggregation6379) connection_points270 = self.connection_points() self._state.following.pop() if self._state.backtracking == 0: stream_connection_points.add(connection_points270.tree) else: break #loop92 # sdl92.g:565:25: (entities= entity_in_composite_state )* while True: #loop93 alt93 = 2 LA93_0 = self.input.LA(1) if (LA93_0 == 233) : LA93_2 = self.input.LA(2) if (LA93_2 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA93_4 = self.input.LA(3) if (LA93_4 == L_PAREN) : LA93_5 = self.input.LA(4) if (LA93_5 == DASH) : LA93_6 = self.input.LA(5) if (LA93_6 == INT) : LA93_7 = self.input.LA(6) if (LA93_7 == COMMA) : LA93_8 = self.input.LA(7) if (LA93_8 == DASH) : LA93_9 = self.input.LA(8) if (LA93_9 == INT) : LA93_10 = self.input.LA(9) if (LA93_10 == R_PAREN) : LA93_11 = self.input.LA(10) if (LA93_11 == COMMA) : LA93_12 = self.input.LA(11) if (LA93_12 == L_PAREN) : LA93_13 = self.input.LA(12) if (LA93_13 == INT) : LA93_14 = self.input.LA(13) if (LA93_14 == COMMA) : LA93_15 = self.input.LA(14) if (LA93_15 == INT) : LA93_16 = self.input.LA(15) if (LA93_16 == R_PAREN) : LA93_17 = self.input.LA(16) if (LA93_17 == 230) : LA93_18 = self.input.LA(17) if (LA93_18 == 233) : LA93_19 = self.input.LA(18) if (LA93_19 == KEEP) : LA93_20 = self.input.LA(19) if (LA93_20 == SPECIFIC) : LA93_21 = self.input.LA(20) if (LA93_21 == GEODE) : LA93_22 = self.input.LA(21) if (LA93_22 in {ASNFILENAME, PARAMNAMES}) : alt93 = 1 elif (LA93_19 in {ANSWER, COMMENT, CONNECT, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt93 = 1 elif (LA93_18 in {DCL, EXPORTED, FPAR, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 231}) : alt93 = 1 elif (LA93_8 == INT) : LA93_10 = self.input.LA(8) if (LA93_10 == R_PAREN) : LA93_11 = self.input.LA(9) if (LA93_11 == COMMA) : LA93_12 = self.input.LA(10) if (LA93_12 == L_PAREN) : LA93_13 = self.input.LA(11) if (LA93_13 == INT) : LA93_14 = self.input.LA(12) if (LA93_14 == COMMA) : LA93_15 = self.input.LA(13) if (LA93_15 == INT) : LA93_16 = self.input.LA(14) if (LA93_16 == R_PAREN) : LA93_17 = self.input.LA(15) if (LA93_17 == 230) : LA93_18 = self.input.LA(16) if (LA93_18 == 233) : LA93_19 = self.input.LA(17) if (LA93_19 == KEEP) : LA93_20 = self.input.LA(18) if (LA93_20 == SPECIFIC) : LA93_21 = self.input.LA(19) if (LA93_21 == GEODE) : LA93_22 = self.input.LA(20) if (LA93_22 in {ASNFILENAME, PARAMNAMES}) : alt93 = 1 elif (LA93_19 in {ANSWER, COMMENT, CONNECT, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt93 = 1 elif (LA93_18 in {DCL, EXPORTED, FPAR, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 231}) : alt93 = 1 elif (LA93_5 == INT) : LA93_7 = self.input.LA(5) if (LA93_7 == COMMA) : LA93_8 = self.input.LA(6) if (LA93_8 == DASH) : LA93_9 = self.input.LA(7) if (LA93_9 == INT) : LA93_10 = self.input.LA(8) if (LA93_10 == R_PAREN) : LA93_11 = self.input.LA(9) if (LA93_11 == COMMA) : LA93_12 = self.input.LA(10) if (LA93_12 == L_PAREN) : LA93_13 = self.input.LA(11) if (LA93_13 == INT) : LA93_14 = self.input.LA(12) if (LA93_14 == COMMA) : LA93_15 = self.input.LA(13) if (LA93_15 == INT) : LA93_16 = self.input.LA(14) if (LA93_16 == R_PAREN) : LA93_17 = self.input.LA(15) if (LA93_17 == 230) : LA93_18 = self.input.LA(16) if (LA93_18 == 233) : LA93_19 = self.input.LA(17) if (LA93_19 == KEEP) : LA93_20 = self.input.LA(18) if (LA93_20 == SPECIFIC) : LA93_21 = self.input.LA(19) if (LA93_21 == GEODE) : LA93_22 = self.input.LA(20) if (LA93_22 in {ASNFILENAME, PARAMNAMES}) : alt93 = 1 elif (LA93_19 in {ANSWER, COMMENT, CONNECT, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt93 = 1 elif (LA93_18 in {DCL, EXPORTED, FPAR, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 231}) : alt93 = 1 elif (LA93_8 == INT) : LA93_10 = self.input.LA(7) if (LA93_10 == R_PAREN) : LA93_11 = self.input.LA(8) if (LA93_11 == COMMA) : LA93_12 = self.input.LA(9) if (LA93_12 == L_PAREN) : LA93_13 = self.input.LA(10) if (LA93_13 == INT) : LA93_14 = self.input.LA(11) if (LA93_14 == COMMA) : LA93_15 = self.input.LA(12) if (LA93_15 == INT) : LA93_16 = self.input.LA(13) if (LA93_16 == R_PAREN) : LA93_17 = self.input.LA(14) if (LA93_17 == 230) : LA93_18 = self.input.LA(15) if (LA93_18 == 233) : LA93_19 = self.input.LA(16) if (LA93_19 == KEEP) : LA93_20 = self.input.LA(17) if (LA93_20 == SPECIFIC) : LA93_21 = self.input.LA(18) if (LA93_21 == GEODE) : LA93_22 = self.input.LA(19) if (LA93_22 in {ASNFILENAME, PARAMNAMES}) : alt93 = 1 elif (LA93_19 in {ANSWER, COMMENT, CONNECT, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt93 = 1 elif (LA93_18 in {DCL, EXPORTED, FPAR, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 231}) : alt93 = 1 elif (LA93_0 in {EXPORTED, PROCEDURE}) : alt93 = 1 if alt93 == 1: # sdl92.g:565:25: entities= entity_in_composite_state pass self._state.following.append(self.FOLLOW_entity_in_composite_state_in_state_aggregation6400) entities = self.entity_in_composite_state() self._state.following.pop() if self._state.backtracking == 0: stream_entity_in_composite_state.add(entities.tree) else: break #loop93 self._state.following.append(self.FOLLOW_state_aggregation_body_in_state_aggregation6421) body = self.state_aggregation_body() self._state.following.pop() if self._state.backtracking == 0: stream_state_aggregation_body.add(body.tree) ENDSUBSTRUCTURE271 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation6439) if self._state.backtracking == 0: stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE271) # sdl92.g:567:33: ( statename )? alt94 = 2 LA94_0 = self.input.LA(1) if (LA94_0 == ID) : alt94 = 1 if alt94 == 1: # sdl92.g:567:33: statename pass self._state.following.append(self.FOLLOW_statename_in_state_aggregation6441) statename272 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename272.tree) self._state.following.append(self.FOLLOW_end_in_state_aggregation6446) f = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(f.tree) # AST Rewrite # elements: statename, connection_points, entities, body, e # token labels: # rule labels: entities, e, body, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if entities is not None: stream_entities = RewriteRuleSubtreeStream(self._adaptor, "rule entities", entities.tree) else: stream_entities = RewriteRuleSubtreeStream(self._adaptor, "token entities", None) if e is not None: stream_e = RewriteRuleSubtreeStream(self._adaptor, "rule e", e.tree) else: stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) if body is not None: stream_body = RewriteRuleSubtreeStream(self._adaptor, "rule body", body.tree) else: stream_body = RewriteRuleSubtreeStream(self._adaptor, "token body", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 568:9: -> ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) # sdl92.g:568:17: ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(STATE_AGGREGATION, "STATE_AGGREGATION") , root_1) self._adaptor.addChild(root_1, stream_statename.nextTree()) # sdl92.g:568:47: ( connection_points )* while stream_connection_points.hasNext(): self._adaptor.addChild(root_1, stream_connection_points.nextTree()) stream_connection_points.reset(); # sdl92.g:569:38: ( $entities)* while stream_entities.hasNext(): self._adaptor.addChild(root_1, stream_entities.nextTree()) stream_entities.reset(); self._adaptor.addChild(root_1, stream_body.nextTree()) # sdl92.g:569:55: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) stream_e.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state_aggregation" class entity_in_composite_state_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "entity_in_composite_state" # sdl92.g:574:1: entity_in_composite_state : ( text_area | procedure ) ; def entity_in_composite_state(self, ): retval = self.entity_in_composite_state_return() retval.start = self.input.LT(1) root_0 = None text_area273 = None procedure274 = None try: try: # sdl92.g:575:9: ( ( text_area | procedure ) ) # sdl92.g:575:17: ( text_area | procedure ) pass root_0 = self._adaptor.nil() # sdl92.g:575:17: ( text_area | procedure ) alt95 = 2 LA95_0 = self.input.LA(1) if (LA95_0 == 233) : LA95_1 = self.input.LA(2) if (self.synpred121_sdl92()) : alt95 = 1 elif (True) : alt95 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 95, 1, self.input) raise nvae elif (LA95_0 in {EXPORTED, PROCEDURE}) : alt95 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 95, 0, self.input) raise nvae if alt95 == 1: # sdl92.g:575:18: text_area pass self._state.following.append(self.FOLLOW_text_area_in_entity_in_composite_state6551) text_area273 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, text_area273.tree) elif alt95 == 2: # sdl92.g:575:30: procedure pass self._state.following.append(self.FOLLOW_procedure_in_entity_in_composite_state6555) procedure274 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, procedure274.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "entity_in_composite_state" class state_aggregation_body_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state_aggregation_body" # sdl92.g:580:1: state_aggregation_body : ( state_partitioning | state_partition_connection )* ( state )* ; def state_aggregation_body(self, ): retval = self.state_aggregation_body_return() retval.start = self.input.LT(1) root_0 = None state_partitioning275 = None state_partition_connection276 = None state277 = None try: try: # sdl92.g:581:9: ( ( state_partitioning | state_partition_connection )* ( state )* ) # sdl92.g:581:17: ( state_partitioning | state_partition_connection )* ( state )* pass root_0 = self._adaptor.nil() # sdl92.g:581:17: ( state_partitioning | state_partition_connection )* while True: #loop96 alt96 = 3 alt96 = self.dfa96.predict(self.input) if alt96 == 1: # sdl92.g:581:18: state_partitioning pass self._state.following.append(self.FOLLOW_state_partitioning_in_state_aggregation_body6590) state_partitioning275 = self.state_partitioning() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_partitioning275.tree) elif alt96 == 2: # sdl92.g:581:39: state_partition_connection pass self._state.following.append(self.FOLLOW_state_partition_connection_in_state_aggregation_body6594) state_partition_connection276 = self.state_partition_connection() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_partition_connection276.tree) else: break #loop96 # sdl92.g:582:17: ( state )* while True: #loop97 alt97 = 2 LA97_0 = self.input.LA(1) if (LA97_0 in {STATE, 233}) : alt97 = 1 if alt97 == 1: # sdl92.g:582:17: state pass self._state.following.append(self.FOLLOW_state_in_state_aggregation_body6614) state277 = self.state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state277.tree) else: break #loop97 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state_aggregation_body" class state_partitioning_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state_partitioning" # sdl92.g:587:1: state_partitioning : composite_state ; def state_partitioning(self, ): retval = self.state_partitioning_return() retval.start = self.input.LT(1) root_0 = None composite_state278 = None try: try: # sdl92.g:588:9: ( composite_state ) # sdl92.g:588:17: composite_state pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_composite_state_in_state_partitioning6648) composite_state278 = self.composite_state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, composite_state278.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state_partitioning" class state_partition_connection_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state_partition_connection" # sdl92.g:593:1: state_partition_connection : CONNECT outer= entry_point AND inner= entry_point end -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) ; def state_partition_connection(self, ): retval = self.state_partition_connection_return() retval.start = self.input.LT(1) root_0 = None CONNECT279 = None AND280 = None outer = None inner = None end281 = None CONNECT279_tree = None AND280_tree = None stream_AND = RewriteRuleTokenStream(self._adaptor, "token AND") stream_CONNECT = RewriteRuleTokenStream(self._adaptor, "token CONNECT") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_entry_point = RewriteRuleSubtreeStream(self._adaptor, "rule entry_point") try: try: # sdl92.g:594:9: ( CONNECT outer= entry_point AND inner= entry_point end -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) ) # sdl92.g:594:17: CONNECT outer= entry_point AND inner= entry_point end pass CONNECT279 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_state_partition_connection6681) if self._state.backtracking == 0: stream_CONNECT.add(CONNECT279) self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection6685) outer = self.entry_point() self._state.following.pop() if self._state.backtracking == 0: stream_entry_point.add(outer.tree) AND280 = self.match(self.input, AND, self.FOLLOW_AND_in_state_partition_connection6687) if self._state.backtracking == 0: stream_AND.add(AND280) self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection6691) inner = self.entry_point() self._state.following.pop() if self._state.backtracking == 0: stream_entry_point.add(inner.tree) self._state.following.append(self.FOLLOW_end_in_state_partition_connection6693) end281 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end281.tree) # AST Rewrite # elements: outer, inner, end # token labels: # rule labels: outer, inner, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if outer is not None: stream_outer = RewriteRuleSubtreeStream(self._adaptor, "rule outer", outer.tree) else: stream_outer = RewriteRuleSubtreeStream(self._adaptor, "token outer", None) if inner is not None: stream_inner = RewriteRuleSubtreeStream(self._adaptor, "rule inner", inner.tree) else: stream_inner = RewriteRuleSubtreeStream(self._adaptor, "token inner", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 595:9: -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) # sdl92.g:595:17: ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(STATE_PARTITION_CONNECTION, "STATE_PARTITION_CONNECTION") , root_1) self._adaptor.addChild(root_1, stream_outer.nextTree()) self._adaptor.addChild(root_1, stream_inner.nextTree()) # sdl92.g:595:60: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state_partition_connection" class entry_point_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "entry_point" # sdl92.g:600:1: entry_point : state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ; def entry_point(self, ): retval = self.entry_point_return() retval.start = self.input.LT(1) root_0 = None state_part_id = None VIA282 = None point283 = None state_part_id_tree = None VIA282_tree = None stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") stream_VIA = RewriteRuleTokenStream(self._adaptor, "token VIA") stream_point = RewriteRuleSubtreeStream(self._adaptor, "rule point") try: try: # sdl92.g:601:9: (state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ) # sdl92.g:601:17: state_part_id= ID VIA point pass state_part_id = self.match(self.input, ID, self.FOLLOW_ID_in_entry_point6756) if self._state.backtracking == 0: stream_ID.add(state_part_id) VIA282 = self.match(self.input, VIA, self.FOLLOW_VIA_in_entry_point6758) if self._state.backtracking == 0: stream_VIA.add(VIA282) self._state.following.append(self.FOLLOW_point_in_entry_point6760) point283 = self.point() self._state.following.pop() if self._state.backtracking == 0: stream_point.add(point283.tree) # AST Rewrite # elements: state_part_id, point # token labels: state_part_id # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 stream_state_part_id = RewriteRuleTokenStream(self._adaptor, "token state_part_id", state_part_id) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 602:9: -> ^( ENTRY_POINT $state_part_id point ) # sdl92.g:602:17: ^( ENTRY_POINT $state_part_id point ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(ENTRY_POINT, "ENTRY_POINT") , root_1) self._adaptor.addChild(root_1, stream_state_part_id.nextNode()) self._adaptor.addChild(root_1, stream_point.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "entry_point" class point_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "point" # sdl92.g:607:1: point : (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ; def point(self, ): retval = self.point_return() retval.start = self.input.LT(1) root_0 = None state_point = None DEFAULT284 = None state_point_tree = None DEFAULT284_tree = None stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") stream_DEFAULT = RewriteRuleTokenStream(self._adaptor, "token DEFAULT") try: try: # sdl92.g:608:9: ( (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ) # sdl92.g:608:17: (state_point= ID | DEFAULT ) pass # sdl92.g:608:17: (state_point= ID | DEFAULT ) alt98 = 2 LA98_0 = self.input.LA(1) if (LA98_0 == ID) : alt98 = 1 elif (LA98_0 == DEFAULT) : alt98 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 98, 0, self.input) raise nvae if alt98 == 1: # sdl92.g:608:18: state_point= ID pass state_point = self.match(self.input, ID, self.FOLLOW_ID_in_point6820) if self._state.backtracking == 0: stream_ID.add(state_point) elif alt98 == 2: # sdl92.g:608:35: DEFAULT pass DEFAULT284 = self.match(self.input, DEFAULT, self.FOLLOW_DEFAULT_in_point6824) if self._state.backtracking == 0: stream_DEFAULT.add(DEFAULT284) # AST Rewrite # elements: state_point, DEFAULT # token labels: state_point # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 stream_state_point = RewriteRuleTokenStream(self._adaptor, "token state_point", state_point) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 609:9: -> ^( POINT ( $state_point)? ( DEFAULT )? ) # sdl92.g:609:17: ^( POINT ( $state_point)? ( DEFAULT )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(POINT, "POINT") , root_1) # sdl92.g:609:26: ( $state_point)? if stream_state_point.hasNext(): self._adaptor.addChild(root_1, stream_state_point.nextNode()) stream_state_point.reset(); # sdl92.g:609:39: ( DEFAULT )? if stream_DEFAULT.hasNext(): self._adaptor.addChild(root_1, stream_DEFAULT.nextNode() ) stream_DEFAULT.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "point" class connection_points_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "connection_points" # sdl92.g:614:1: connection_points : ( IN state_entry_exit_points end -> ^( IN state_entry_exit_points ( end )? ) | OUT state_entry_exit_points end -> ^( OUT state_entry_exit_points ( end )? ) ); def connection_points(self, ): retval = self.connection_points_return() retval.start = self.input.LT(1) root_0 = None IN285 = None OUT288 = None state_entry_exit_points286 = None end287 = None state_entry_exit_points289 = None end290 = None IN285_tree = None OUT288_tree = None stream_IN = RewriteRuleTokenStream(self._adaptor, "token IN") stream_OUT = RewriteRuleTokenStream(self._adaptor, "token OUT") stream_state_entry_exit_points = RewriteRuleSubtreeStream(self._adaptor, "rule state_entry_exit_points") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:615:9: ( IN state_entry_exit_points end -> ^( IN state_entry_exit_points ( end )? ) | OUT state_entry_exit_points end -> ^( OUT state_entry_exit_points ( end )? ) ) alt99 = 2 LA99_0 = self.input.LA(1) if (LA99_0 == IN) : alt99 = 1 elif (LA99_0 == OUT) : alt99 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 99, 0, self.input) raise nvae if alt99 == 1: # sdl92.g:615:17: IN state_entry_exit_points end pass IN285 = self.match(self.input, IN, self.FOLLOW_IN_in_connection_points6884) if self._state.backtracking == 0: stream_IN.add(IN285) self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points6886) state_entry_exit_points286 = self.state_entry_exit_points() self._state.following.pop() if self._state.backtracking == 0: stream_state_entry_exit_points.add(state_entry_exit_points286.tree) self._state.following.append(self.FOLLOW_end_in_connection_points6888) end287 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end287.tree) # AST Rewrite # elements: IN, state_entry_exit_points, end # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 616:9: -> ^( IN state_entry_exit_points ( end )? ) # sdl92.g:616:17: ^( IN state_entry_exit_points ( end )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_IN.nextNode() , root_1) self._adaptor.addChild(root_1, stream_state_entry_exit_points.nextTree()) # sdl92.g:616:46: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 elif alt99 == 2: # sdl92.g:617:19: OUT state_entry_exit_points end pass OUT288 = self.match(self.input, OUT, self.FOLLOW_OUT_in_connection_points6932) if self._state.backtracking == 0: stream_OUT.add(OUT288) self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points6934) state_entry_exit_points289 = self.state_entry_exit_points() self._state.following.pop() if self._state.backtracking == 0: stream_state_entry_exit_points.add(state_entry_exit_points289.tree) self._state.following.append(self.FOLLOW_end_in_connection_points6936) end290 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end290.tree) # AST Rewrite # elements: OUT, state_entry_exit_points, end # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 618:9: -> ^( OUT state_entry_exit_points ( end )? ) # sdl92.g:618:17: ^( OUT state_entry_exit_points ( end )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_OUT.nextNode() , root_1) self._adaptor.addChild(root_1, stream_state_entry_exit_points.nextTree()) # sdl92.g:618:47: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "connection_points" class state_entry_exit_points_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state_entry_exit_points" # sdl92.g:623:1: state_entry_exit_points : '(' statename ( ',' statename )* ')' -> ( statename )+ ; def state_entry_exit_points(self, ): retval = self.state_entry_exit_points_return() retval.start = self.input.LT(1) root_0 = None char_literal291 = None char_literal293 = None char_literal295 = None statename292 = None statename294 = None char_literal291_tree = None char_literal293_tree = None char_literal295_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") try: try: # sdl92.g:624:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) # sdl92.g:624:17: '(' statename ( ',' statename )* ')' pass char_literal291 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_state_entry_exit_points6993) if self._state.backtracking == 0: stream_L_PAREN.add(char_literal291) self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points6995) statename292 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename292.tree) # sdl92.g:624:31: ( ',' statename )* while True: #loop100 alt100 = 2 LA100_0 = self.input.LA(1) if (LA100_0 == COMMA) : alt100 = 1 if alt100 == 1: # sdl92.g:624:32: ',' statename pass char_literal293 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_state_entry_exit_points6998) if self._state.backtracking == 0: stream_COMMA.add(char_literal293) self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points7000) statename294 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename294.tree) else: break #loop100 char_literal295 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_state_entry_exit_points7004) if self._state.backtracking == 0: stream_R_PAREN.add(char_literal295) # AST Rewrite # elements: statename # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 625:9: -> ( statename )+ # sdl92.g:625:17: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() while stream_statename.hasNext(): self._adaptor.addChild(root_0, stream_statename.nextTree()) stream_statename.reset() retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state_entry_exit_points" class composite_state_body_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "composite_state_body" # sdl92.g:632:1: composite_state_body : ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? ; def composite_state_body(self, ): retval = self.composite_state_body_return() retval.start = self.input.LT(1) root_0 = None EOF302 = None text_area296 = None procedure297 = None composite_state298 = None start299 = None state300 = None floating_label301 = None EOF302_tree = None try: try: # sdl92.g:633:9: ( ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? ) # sdl92.g:633:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? pass root_0 = self._adaptor.nil() # sdl92.g:633:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* while True: #loop101 alt101 = 4 LA101 = self.input.LA(1) if LA101 in {233}: LA101_1 = self.input.LA(2) if (self.synpred128_sdl92()) : alt101 = 1 elif (self.synpred129_sdl92()) : alt101 = 2 elif LA101 in {STATE}: LA101_3 = self.input.LA(2) if (self.synpred130_sdl92()) : alt101 = 3 elif LA101 in {EXPORTED, PROCEDURE}: alt101 = 2 if alt101 == 1: # sdl92.g:633:13: text_area pass self._state.following.append(self.FOLLOW_text_area_in_composite_state_body7053) text_area296 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, text_area296.tree) elif alt101 == 2: # sdl92.g:634:15: procedure pass self._state.following.append(self.FOLLOW_procedure_in_composite_state_body7069) procedure297 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, procedure297.tree) elif alt101 == 3: # sdl92.g:635:15: ( composite_state_preamble )=> composite_state pass self._state.following.append(self.FOLLOW_composite_state_in_composite_state_body7090) composite_state298 = self.composite_state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, composite_state298.tree) else: break #loop101 # sdl92.g:636:12: ( start )* while True: #loop102 alt102 = 2 LA102_0 = self.input.LA(1) if (LA102_0 == 233) : LA102_1 = self.input.LA(2) if (LA102_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA102_4 = self.input.LA(3) if (LA102_4 == L_PAREN) : LA102_6 = self.input.LA(4) if (LA102_6 == DASH) : LA102_8 = self.input.LA(5) if (LA102_8 == INT) : LA102_9 = self.input.LA(6) if (LA102_9 == COMMA) : LA102_11 = self.input.LA(7) if (LA102_11 == DASH) : LA102_13 = self.input.LA(8) if (LA102_13 == INT) : LA102_14 = self.input.LA(9) if (LA102_14 == R_PAREN) : LA102_16 = self.input.LA(10) if (LA102_16 == COMMA) : LA102_18 = self.input.LA(11) if (LA102_18 == L_PAREN) : LA102_19 = self.input.LA(12) if (LA102_19 == INT) : LA102_20 = self.input.LA(13) if (LA102_20 == COMMA) : LA102_21 = self.input.LA(14) if (LA102_21 == INT) : LA102_22 = self.input.LA(15) if (LA102_22 == R_PAREN) : LA102_23 = self.input.LA(16) if (LA102_23 == 230) : LA102_24 = self.input.LA(17) if (LA102_24 == 233) : LA102_25 = self.input.LA(18) if (LA102_25 == KEEP) : LA102_5 = self.input.LA(19) if (LA102_5 == SPECIFIC) : LA102_7 = self.input.LA(20) if (LA102_7 == GEODE) : LA102_10 = self.input.LA(21) if (LA102_10 == HYPERLINK) : LA102_12 = self.input.LA(22) if (LA102_12 == STRING) : LA102_15 = self.input.LA(23) if (LA102_15 == 230) : LA102_17 = self.input.LA(24) if (LA102_17 == START) : alt102 = 1 elif (LA102_24 == START) : alt102 = 1 elif (LA102_11 == INT) : LA102_14 = self.input.LA(8) if (LA102_14 == R_PAREN) : LA102_16 = self.input.LA(9) if (LA102_16 == COMMA) : LA102_18 = self.input.LA(10) if (LA102_18 == L_PAREN) : LA102_19 = self.input.LA(11) if (LA102_19 == INT) : LA102_20 = self.input.LA(12) if (LA102_20 == COMMA) : LA102_21 = self.input.LA(13) if (LA102_21 == INT) : LA102_22 = self.input.LA(14) if (LA102_22 == R_PAREN) : LA102_23 = self.input.LA(15) if (LA102_23 == 230) : LA102_24 = self.input.LA(16) if (LA102_24 == 233) : LA102_25 = self.input.LA(17) if (LA102_25 == KEEP) : LA102_5 = self.input.LA(18) if (LA102_5 == SPECIFIC) : LA102_7 = self.input.LA(19) if (LA102_7 == GEODE) : LA102_10 = self.input.LA(20) if (LA102_10 == HYPERLINK) : LA102_12 = self.input.LA(21) if (LA102_12 == STRING) : LA102_15 = self.input.LA(22) if (LA102_15 == 230) : LA102_17 = self.input.LA(23) if (LA102_17 == START) : alt102 = 1 elif (LA102_24 == START) : alt102 = 1 elif (LA102_6 == INT) : LA102_9 = self.input.LA(5) if (LA102_9 == COMMA) : LA102_11 = self.input.LA(6) if (LA102_11 == DASH) : LA102_13 = self.input.LA(7) if (LA102_13 == INT) : LA102_14 = self.input.LA(8) if (LA102_14 == R_PAREN) : LA102_16 = self.input.LA(9) if (LA102_16 == COMMA) : LA102_18 = self.input.LA(10) if (LA102_18 == L_PAREN) : LA102_19 = self.input.LA(11) if (LA102_19 == INT) : LA102_20 = self.input.LA(12) if (LA102_20 == COMMA) : LA102_21 = self.input.LA(13) if (LA102_21 == INT) : LA102_22 = self.input.LA(14) if (LA102_22 == R_PAREN) : LA102_23 = self.input.LA(15) if (LA102_23 == 230) : LA102_24 = self.input.LA(16) if (LA102_24 == 233) : LA102_25 = self.input.LA(17) if (LA102_25 == KEEP) : LA102_5 = self.input.LA(18) if (LA102_5 == SPECIFIC) : LA102_7 = self.input.LA(19) if (LA102_7 == GEODE) : LA102_10 = self.input.LA(20) if (LA102_10 == HYPERLINK) : LA102_12 = self.input.LA(21) if (LA102_12 == STRING) : LA102_15 = self.input.LA(22) if (LA102_15 == 230) : LA102_17 = self.input.LA(23) if (LA102_17 == START) : alt102 = 1 elif (LA102_24 == START) : alt102 = 1 elif (LA102_11 == INT) : LA102_14 = self.input.LA(7) if (LA102_14 == R_PAREN) : LA102_16 = self.input.LA(8) if (LA102_16 == COMMA) : LA102_18 = self.input.LA(9) if (LA102_18 == L_PAREN) : LA102_19 = self.input.LA(10) if (LA102_19 == INT) : LA102_20 = self.input.LA(11) if (LA102_20 == COMMA) : LA102_21 = self.input.LA(12) if (LA102_21 == INT) : LA102_22 = self.input.LA(13) if (LA102_22 == R_PAREN) : LA102_23 = self.input.LA(14) if (LA102_23 == 230) : LA102_24 = self.input.LA(15) if (LA102_24 == 233) : LA102_25 = self.input.LA(16) if (LA102_25 == KEEP) : LA102_5 = self.input.LA(17) if (LA102_5 == SPECIFIC) : LA102_7 = self.input.LA(18) if (LA102_7 == GEODE) : LA102_10 = self.input.LA(19) if (LA102_10 == HYPERLINK) : LA102_12 = self.input.LA(20) if (LA102_12 == STRING) : LA102_15 = self.input.LA(21) if (LA102_15 == 230) : LA102_17 = self.input.LA(22) if (LA102_17 == START) : alt102 = 1 elif (LA102_24 == START) : alt102 = 1 elif (LA102_1 == KEEP) : LA102_5 = self.input.LA(3) if (LA102_5 == SPECIFIC) : LA102_7 = self.input.LA(4) if (LA102_7 == GEODE) : LA102_10 = self.input.LA(5) if (LA102_10 == HYPERLINK) : LA102_12 = self.input.LA(6) if (LA102_12 == STRING) : LA102_15 = self.input.LA(7) if (LA102_15 == 230) : LA102_17 = self.input.LA(8) if (LA102_17 == START) : alt102 = 1 elif (LA102_0 == START) : alt102 = 1 if alt102 == 1: # sdl92.g:636:12: start pass self._state.following.append(self.FOLLOW_start_in_composite_state_body7105) start299 = self.start() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, start299.tree) else: break #loop102 # sdl92.g:636:19: ( state | floating_label )* while True: #loop103 alt103 = 3 LA103 = self.input.LA(1) if LA103 in {233}: LA103_2 = self.input.LA(2) if (LA103_2 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA103_5 = self.input.LA(3) if (LA103_5 == L_PAREN) : LA103_7 = self.input.LA(4) if (LA103_7 == DASH) : LA103_9 = self.input.LA(5) if (LA103_9 == INT) : LA103_10 = self.input.LA(6) if (LA103_10 == COMMA) : LA103_12 = self.input.LA(7) if (LA103_12 == DASH) : LA103_14 = self.input.LA(8) if (LA103_14 == INT) : LA103_15 = self.input.LA(9) if (LA103_15 == R_PAREN) : LA103_17 = self.input.LA(10) if (LA103_17 == COMMA) : LA103_19 = self.input.LA(11) if (LA103_19 == L_PAREN) : LA103_20 = self.input.LA(12) if (LA103_20 == INT) : LA103_21 = self.input.LA(13) if (LA103_21 == COMMA) : LA103_22 = self.input.LA(14) if (LA103_22 == INT) : LA103_23 = self.input.LA(15) if (LA103_23 == R_PAREN) : LA103_24 = self.input.LA(16) if (LA103_24 == 230) : LA103 = self.input.LA(17) if LA103 in {233}: LA103_26 = self.input.LA(18) if (LA103_26 == KEEP) : LA103_6 = self.input.LA(19) if (LA103_6 == SPECIFIC) : LA103_8 = self.input.LA(20) if (LA103_8 == GEODE) : LA103_11 = self.input.LA(21) if (LA103_11 == HYPERLINK) : LA103_13 = self.input.LA(22) if (LA103_13 == STRING) : LA103_16 = self.input.LA(23) if (LA103_16 == 230) : LA103_18 = self.input.LA(24) if (LA103_18 == STATE) : alt103 = 1 elif (LA103_18 == CONNECTION) : alt103 = 2 elif LA103 in {STATE}: alt103 = 1 elif LA103 in {CONNECTION}: alt103 = 2 elif (LA103_12 == INT) : LA103_15 = self.input.LA(8) if (LA103_15 == R_PAREN) : LA103_17 = self.input.LA(9) if (LA103_17 == COMMA) : LA103_19 = self.input.LA(10) if (LA103_19 == L_PAREN) : LA103_20 = self.input.LA(11) if (LA103_20 == INT) : LA103_21 = self.input.LA(12) if (LA103_21 == COMMA) : LA103_22 = self.input.LA(13) if (LA103_22 == INT) : LA103_23 = self.input.LA(14) if (LA103_23 == R_PAREN) : LA103_24 = self.input.LA(15) if (LA103_24 == 230) : LA103 = self.input.LA(16) if LA103 in {233}: LA103_26 = self.input.LA(17) if (LA103_26 == KEEP) : LA103_6 = self.input.LA(18) if (LA103_6 == SPECIFIC) : LA103_8 = self.input.LA(19) if (LA103_8 == GEODE) : LA103_11 = self.input.LA(20) if (LA103_11 == HYPERLINK) : LA103_13 = self.input.LA(21) if (LA103_13 == STRING) : LA103_16 = self.input.LA(22) if (LA103_16 == 230) : LA103_18 = self.input.LA(23) if (LA103_18 == STATE) : alt103 = 1 elif (LA103_18 == CONNECTION) : alt103 = 2 elif LA103 in {STATE}: alt103 = 1 elif LA103 in {CONNECTION}: alt103 = 2 elif (LA103_7 == INT) : LA103_10 = self.input.LA(5) if (LA103_10 == COMMA) : LA103_12 = self.input.LA(6) if (LA103_12 == DASH) : LA103_14 = self.input.LA(7) if (LA103_14 == INT) : LA103_15 = self.input.LA(8) if (LA103_15 == R_PAREN) : LA103_17 = self.input.LA(9) if (LA103_17 == COMMA) : LA103_19 = self.input.LA(10) if (LA103_19 == L_PAREN) : LA103_20 = self.input.LA(11) if (LA103_20 == INT) : LA103_21 = self.input.LA(12) if (LA103_21 == COMMA) : LA103_22 = self.input.LA(13) if (LA103_22 == INT) : LA103_23 = self.input.LA(14) if (LA103_23 == R_PAREN) : LA103_24 = self.input.LA(15) if (LA103_24 == 230) : LA103 = self.input.LA(16) if LA103 in {233}: LA103_26 = self.input.LA(17) if (LA103_26 == KEEP) : LA103_6 = self.input.LA(18) if (LA103_6 == SPECIFIC) : LA103_8 = self.input.LA(19) if (LA103_8 == GEODE) : LA103_11 = self.input.LA(20) if (LA103_11 == HYPERLINK) : LA103_13 = self.input.LA(21) if (LA103_13 == STRING) : LA103_16 = self.input.LA(22) if (LA103_16 == 230) : LA103_18 = self.input.LA(23) if (LA103_18 == STATE) : alt103 = 1 elif (LA103_18 == CONNECTION) : alt103 = 2 elif LA103 in {STATE}: alt103 = 1 elif LA103 in {CONNECTION}: alt103 = 2 elif (LA103_12 == INT) : LA103_15 = self.input.LA(7) if (LA103_15 == R_PAREN) : LA103_17 = self.input.LA(8) if (LA103_17 == COMMA) : LA103_19 = self.input.LA(9) if (LA103_19 == L_PAREN) : LA103_20 = self.input.LA(10) if (LA103_20 == INT) : LA103_21 = self.input.LA(11) if (LA103_21 == COMMA) : LA103_22 = self.input.LA(12) if (LA103_22 == INT) : LA103_23 = self.input.LA(13) if (LA103_23 == R_PAREN) : LA103_24 = self.input.LA(14) if (LA103_24 == 230) : LA103 = self.input.LA(15) if LA103 in {233}: LA103_26 = self.input.LA(16) if (LA103_26 == KEEP) : LA103_6 = self.input.LA(17) if (LA103_6 == SPECIFIC) : LA103_8 = self.input.LA(18) if (LA103_8 == GEODE) : LA103_11 = self.input.LA(19) if (LA103_11 == HYPERLINK) : LA103_13 = self.input.LA(20) if (LA103_13 == STRING) : LA103_16 = self.input.LA(21) if (LA103_16 == 230) : LA103_18 = self.input.LA(22) if (LA103_18 == STATE) : alt103 = 1 elif (LA103_18 == CONNECTION) : alt103 = 2 elif LA103 in {STATE}: alt103 = 1 elif LA103 in {CONNECTION}: alt103 = 2 elif (LA103_2 == KEEP) : LA103_6 = self.input.LA(3) if (LA103_6 == SPECIFIC) : LA103_8 = self.input.LA(4) if (LA103_8 == GEODE) : LA103_11 = self.input.LA(5) if (LA103_11 == HYPERLINK) : LA103_13 = self.input.LA(6) if (LA103_13 == STRING) : LA103_16 = self.input.LA(7) if (LA103_16 == 230) : LA103_18 = self.input.LA(8) if (LA103_18 == STATE) : alt103 = 1 elif (LA103_18 == CONNECTION) : alt103 = 2 elif LA103 in {STATE}: alt103 = 1 elif LA103 in {CONNECTION}: alt103 = 2 if alt103 == 1: # sdl92.g:636:20: state pass self._state.following.append(self.FOLLOW_state_in_composite_state_body7109) state300 = self.state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state300.tree) elif alt103 == 2: # sdl92.g:636:28: floating_label pass self._state.following.append(self.FOLLOW_floating_label_in_composite_state_body7113) floating_label301 = self.floating_label() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, floating_label301.tree) else: break #loop103 # sdl92.g:637:12: ( EOF )? alt104 = 2 LA104_0 = self.input.LA(1) if (LA104_0 == EOF) : alt104 = 1 if alt104 == 1: # sdl92.g:637:12: EOF pass EOF302 = self.match(self.input, EOF, self.FOLLOW_EOF_in_composite_state_body7128) if self._state.backtracking == 0: EOF302_tree = self._adaptor.createWithPayload(EOF302) self._adaptor.addChild(root_0, EOF302_tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "composite_state_body" class state_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "state_part" # sdl92.g:641:1: state_part : ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ); def state_part(self, ): retval = self.state_part_return() retval.start = self.input.LT(1) root_0 = None input_part303 = None save_part304 = None spontaneous_transition305 = None continuous_signal306 = None connect_part307 = None try: try: # sdl92.g:642:9: ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ) alt105 = 5 LA105 = self.input.LA(1) if LA105 in {233}: LA105_1 = self.input.LA(2) if (LA105_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA105_6 = self.input.LA(3) if (LA105_6 == L_PAREN) : LA105_10 = self.input.LA(4) if (LA105_10 == DASH) : LA105_12 = self.input.LA(5) if (LA105_12 == INT) : LA105_13 = self.input.LA(6) if (LA105_13 == COMMA) : LA105_15 = self.input.LA(7) if (LA105_15 == DASH) : LA105_17 = self.input.LA(8) if (LA105_17 == INT) : LA105_18 = self.input.LA(9) if (LA105_18 == R_PAREN) : LA105_20 = self.input.LA(10) if (LA105_20 == COMMA) : LA105_22 = self.input.LA(11) if (LA105_22 == L_PAREN) : LA105_23 = self.input.LA(12) if (LA105_23 == INT) : LA105_24 = self.input.LA(13) if (LA105_24 == COMMA) : LA105_25 = self.input.LA(14) if (LA105_25 == INT) : LA105_26 = self.input.LA(15) if (LA105_26 == R_PAREN) : LA105_27 = self.input.LA(16) if (LA105_27 == 230) : LA105 = self.input.LA(17) if LA105 in {233}: LA105_29 = self.input.LA(18) if (LA105_29 == KEEP) : LA105_7 = self.input.LA(19) if (LA105_7 == SPECIFIC) : LA105_11 = self.input.LA(20) if (LA105_11 == GEODE) : LA105_14 = self.input.LA(21) if (LA105_14 == HYPERLINK) : LA105_16 = self.input.LA(22) if (LA105_16 == STRING) : LA105_19 = self.input.LA(23) if (LA105_19 == 230) : LA105 = self.input.LA(24) if LA105 in {INPUT}: LA105_2 = self.input.LA(25) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 29, self.input) raise nvae elif LA105 in {INPUT}: LA105_2 = self.input.LA(18) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 27, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 17, self.input) raise nvae elif (LA105_15 == INT) : LA105_18 = self.input.LA(8) if (LA105_18 == R_PAREN) : LA105_20 = self.input.LA(9) if (LA105_20 == COMMA) : LA105_22 = self.input.LA(10) if (LA105_22 == L_PAREN) : LA105_23 = self.input.LA(11) if (LA105_23 == INT) : LA105_24 = self.input.LA(12) if (LA105_24 == COMMA) : LA105_25 = self.input.LA(13) if (LA105_25 == INT) : LA105_26 = self.input.LA(14) if (LA105_26 == R_PAREN) : LA105_27 = self.input.LA(15) if (LA105_27 == 230) : LA105 = self.input.LA(16) if LA105 in {233}: LA105_29 = self.input.LA(17) if (LA105_29 == KEEP) : LA105_7 = self.input.LA(18) if (LA105_7 == SPECIFIC) : LA105_11 = self.input.LA(19) if (LA105_11 == GEODE) : LA105_14 = self.input.LA(20) if (LA105_14 == HYPERLINK) : LA105_16 = self.input.LA(21) if (LA105_16 == STRING) : LA105_19 = self.input.LA(22) if (LA105_19 == 230) : LA105 = self.input.LA(23) if LA105 in {INPUT}: LA105_2 = self.input.LA(24) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 29, self.input) raise nvae elif LA105 in {INPUT}: LA105_2 = self.input.LA(17) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 27, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 15, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 12, self.input) raise nvae elif (LA105_10 == INT) : LA105_13 = self.input.LA(5) if (LA105_13 == COMMA) : LA105_15 = self.input.LA(6) if (LA105_15 == DASH) : LA105_17 = self.input.LA(7) if (LA105_17 == INT) : LA105_18 = self.input.LA(8) if (LA105_18 == R_PAREN) : LA105_20 = self.input.LA(9) if (LA105_20 == COMMA) : LA105_22 = self.input.LA(10) if (LA105_22 == L_PAREN) : LA105_23 = self.input.LA(11) if (LA105_23 == INT) : LA105_24 = self.input.LA(12) if (LA105_24 == COMMA) : LA105_25 = self.input.LA(13) if (LA105_25 == INT) : LA105_26 = self.input.LA(14) if (LA105_26 == R_PAREN) : LA105_27 = self.input.LA(15) if (LA105_27 == 230) : LA105 = self.input.LA(16) if LA105 in {233}: LA105_29 = self.input.LA(17) if (LA105_29 == KEEP) : LA105_7 = self.input.LA(18) if (LA105_7 == SPECIFIC) : LA105_11 = self.input.LA(19) if (LA105_11 == GEODE) : LA105_14 = self.input.LA(20) if (LA105_14 == HYPERLINK) : LA105_16 = self.input.LA(21) if (LA105_16 == STRING) : LA105_19 = self.input.LA(22) if (LA105_19 == 230) : LA105 = self.input.LA(23) if LA105 in {INPUT}: LA105_2 = self.input.LA(24) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 29, self.input) raise nvae elif LA105 in {INPUT}: LA105_2 = self.input.LA(17) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 27, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 17, self.input) raise nvae elif (LA105_15 == INT) : LA105_18 = self.input.LA(7) if (LA105_18 == R_PAREN) : LA105_20 = self.input.LA(8) if (LA105_20 == COMMA) : LA105_22 = self.input.LA(9) if (LA105_22 == L_PAREN) : LA105_23 = self.input.LA(10) if (LA105_23 == INT) : LA105_24 = self.input.LA(11) if (LA105_24 == COMMA) : LA105_25 = self.input.LA(12) if (LA105_25 == INT) : LA105_26 = self.input.LA(13) if (LA105_26 == R_PAREN) : LA105_27 = self.input.LA(14) if (LA105_27 == 230) : LA105 = self.input.LA(15) if LA105 in {233}: LA105_29 = self.input.LA(16) if (LA105_29 == KEEP) : LA105_7 = self.input.LA(17) if (LA105_7 == SPECIFIC) : LA105_11 = self.input.LA(18) if (LA105_11 == GEODE) : LA105_14 = self.input.LA(19) if (LA105_14 == HYPERLINK) : LA105_16 = self.input.LA(20) if (LA105_16 == STRING) : LA105_19 = self.input.LA(21) if (LA105_19 == 230) : LA105 = self.input.LA(22) if LA105 in {INPUT}: LA105_2 = self.input.LA(23) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 29, self.input) raise nvae elif LA105 in {INPUT}: LA105_2 = self.input.LA(16) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 27, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 15, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 10, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 6, self.input) raise nvae elif (LA105_1 == KEEP) : LA105_7 = self.input.LA(3) if (LA105_7 == SPECIFIC) : LA105_11 = self.input.LA(4) if (LA105_11 == GEODE) : LA105_14 = self.input.LA(5) if (LA105_14 == HYPERLINK) : LA105_16 = self.input.LA(6) if (LA105_16 == STRING) : LA105_19 = self.input.LA(7) if (LA105_19 == 230) : LA105 = self.input.LA(8) if LA105 in {INPUT}: LA105_2 = self.input.LA(9) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 1, self.input) raise nvae elif LA105 in {INPUT}: LA105_2 = self.input.LA(2) if (LA105_2 == NONE) : alt105 = 3 elif (LA105_2 in {ASTERISK, ID}) : alt105 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 2, self.input) raise nvae elif LA105 in {SAVE}: alt105 = 2 elif LA105 in {PROVIDED}: alt105 = 4 elif LA105 in {CONNECT}: alt105 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 105, 0, self.input) raise nvae if alt105 == 1: # sdl92.g:642:17: input_part pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_input_part_in_state_part7161) input_part303 = self.input_part() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, input_part303.tree) elif alt105 == 2: # sdl92.g:644:19: save_part pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_save_part_in_state_part7198) save_part304 = self.save_part() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, save_part304.tree) elif alt105 == 3: # sdl92.g:645:19: spontaneous_transition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_spontaneous_transition_in_state_part7233) spontaneous_transition305 = self.spontaneous_transition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, spontaneous_transition305.tree) elif alt105 == 4: # sdl92.g:646:19: continuous_signal pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_continuous_signal_in_state_part7253) continuous_signal306 = self.continuous_signal() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, continuous_signal306.tree) elif alt105 == 5: # sdl92.g:647:19: connect_part pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_connect_part_in_state_part7273) connect_part307 = self.connect_part() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, connect_part307.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "state_part" class connect_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "connect_part" # sdl92.g:652:1: connect_part : ( cif )? ( hyperlink )? CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( hyperlink )? ( connect_list )? ( end )? ( transition )? ) ; def connect_part(self, ): retval = self.connect_part_return() retval.start = self.input.LT(1) root_0 = None CONNECT310 = None cif308 = None hyperlink309 = None connect_list311 = None end312 = None transition313 = None CONNECT310_tree = None stream_CONNECT = RewriteRuleTokenStream(self._adaptor, "token CONNECT") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") stream_connect_list = RewriteRuleSubtreeStream(self._adaptor, "rule connect_list") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: # sdl92.g:653:9: ( ( cif )? ( hyperlink )? CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( hyperlink )? ( connect_list )? ( end )? ( transition )? ) ) # sdl92.g:653:17: ( cif )? ( hyperlink )? CONNECT ( connect_list )? end ( transition )? pass # sdl92.g:653:17: ( cif )? alt106 = 2 LA106_0 = self.input.LA(1) if (LA106_0 == 233) : LA106_1 = self.input.LA(2) if (LA106_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt106 = 1 if alt106 == 1: # sdl92.g:653:17: cif pass self._state.following.append(self.FOLLOW_cif_in_connect_part7306) cif308 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif308.tree) # sdl92.g:654:17: ( hyperlink )? alt107 = 2 LA107_0 = self.input.LA(1) if (LA107_0 == 233) : alt107 = 1 if alt107 == 1: # sdl92.g:654:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_connect_part7325) hyperlink309 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink309.tree) CONNECT310 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connect_part7344) if self._state.backtracking == 0: stream_CONNECT.add(CONNECT310) # sdl92.g:655:25: ( connect_list )? alt108 = 2 LA108_0 = self.input.LA(1) if (LA108_0 in {ASTERISK, ID}) : alt108 = 1 if alt108 == 1: # sdl92.g:655:25: connect_list pass self._state.following.append(self.FOLLOW_connect_list_in_connect_part7346) connect_list311 = self.connect_list() self._state.following.pop() if self._state.backtracking == 0: stream_connect_list.add(connect_list311.tree) self._state.following.append(self.FOLLOW_end_in_connect_part7349) end312 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end312.tree) # sdl92.g:656:17: ( transition )? alt109 = 2 LA109_0 = self.input.LA(1) if (LA109_0 == 233) : LA109_1 = self.input.LA(2) if (LA109_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA109_4 = self.input.LA(3) if (LA109_4 == L_PAREN) : LA109_6 = self.input.LA(4) if (LA109_6 == DASH) : LA109_8 = self.input.LA(5) if (LA109_8 == INT) : LA109_9 = self.input.LA(6) if (LA109_9 == COMMA) : LA109_11 = self.input.LA(7) if (LA109_11 == DASH) : LA109_13 = self.input.LA(8) if (LA109_13 == INT) : LA109_14 = self.input.LA(9) if (LA109_14 == R_PAREN) : LA109_16 = self.input.LA(10) if (LA109_16 == COMMA) : LA109_18 = self.input.LA(11) if (LA109_18 == L_PAREN) : LA109_19 = self.input.LA(12) if (LA109_19 == INT) : LA109_20 = self.input.LA(13) if (LA109_20 == COMMA) : LA109_21 = self.input.LA(14) if (LA109_21 == INT) : LA109_22 = self.input.LA(15) if (LA109_22 == R_PAREN) : LA109_23 = self.input.LA(16) if (LA109_23 == 230) : LA109_24 = self.input.LA(17) if (LA109_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_24 == 233) : LA109_25 = self.input.LA(18) if (LA109_25 == KEEP) : LA109_5 = self.input.LA(19) if (LA109_5 == SPECIFIC) : LA109_7 = self.input.LA(20) if (LA109_7 == GEODE) : LA109_10 = self.input.LA(21) if (LA109_10 == HYPERLINK) : LA109_12 = self.input.LA(22) if (LA109_12 == STRING) : LA109_15 = self.input.LA(23) if (LA109_15 == 230) : LA109_17 = self.input.LA(24) if (LA109_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_11 == INT) : LA109_14 = self.input.LA(8) if (LA109_14 == R_PAREN) : LA109_16 = self.input.LA(9) if (LA109_16 == COMMA) : LA109_18 = self.input.LA(10) if (LA109_18 == L_PAREN) : LA109_19 = self.input.LA(11) if (LA109_19 == INT) : LA109_20 = self.input.LA(12) if (LA109_20 == COMMA) : LA109_21 = self.input.LA(13) if (LA109_21 == INT) : LA109_22 = self.input.LA(14) if (LA109_22 == R_PAREN) : LA109_23 = self.input.LA(15) if (LA109_23 == 230) : LA109_24 = self.input.LA(16) if (LA109_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_24 == 233) : LA109_25 = self.input.LA(17) if (LA109_25 == KEEP) : LA109_5 = self.input.LA(18) if (LA109_5 == SPECIFIC) : LA109_7 = self.input.LA(19) if (LA109_7 == GEODE) : LA109_10 = self.input.LA(20) if (LA109_10 == HYPERLINK) : LA109_12 = self.input.LA(21) if (LA109_12 == STRING) : LA109_15 = self.input.LA(22) if (LA109_15 == 230) : LA109_17 = self.input.LA(23) if (LA109_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_6 == INT) : LA109_9 = self.input.LA(5) if (LA109_9 == COMMA) : LA109_11 = self.input.LA(6) if (LA109_11 == DASH) : LA109_13 = self.input.LA(7) if (LA109_13 == INT) : LA109_14 = self.input.LA(8) if (LA109_14 == R_PAREN) : LA109_16 = self.input.LA(9) if (LA109_16 == COMMA) : LA109_18 = self.input.LA(10) if (LA109_18 == L_PAREN) : LA109_19 = self.input.LA(11) if (LA109_19 == INT) : LA109_20 = self.input.LA(12) if (LA109_20 == COMMA) : LA109_21 = self.input.LA(13) if (LA109_21 == INT) : LA109_22 = self.input.LA(14) if (LA109_22 == R_PAREN) : LA109_23 = self.input.LA(15) if (LA109_23 == 230) : LA109_24 = self.input.LA(16) if (LA109_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_24 == 233) : LA109_25 = self.input.LA(17) if (LA109_25 == KEEP) : LA109_5 = self.input.LA(18) if (LA109_5 == SPECIFIC) : LA109_7 = self.input.LA(19) if (LA109_7 == GEODE) : LA109_10 = self.input.LA(20) if (LA109_10 == HYPERLINK) : LA109_12 = self.input.LA(21) if (LA109_12 == STRING) : LA109_15 = self.input.LA(22) if (LA109_15 == 230) : LA109_17 = self.input.LA(23) if (LA109_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_11 == INT) : LA109_14 = self.input.LA(7) if (LA109_14 == R_PAREN) : LA109_16 = self.input.LA(8) if (LA109_16 == COMMA) : LA109_18 = self.input.LA(9) if (LA109_18 == L_PAREN) : LA109_19 = self.input.LA(10) if (LA109_19 == INT) : LA109_20 = self.input.LA(11) if (LA109_20 == COMMA) : LA109_21 = self.input.LA(12) if (LA109_21 == INT) : LA109_22 = self.input.LA(13) if (LA109_22 == R_PAREN) : LA109_23 = self.input.LA(14) if (LA109_23 == 230) : LA109_24 = self.input.LA(15) if (LA109_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_24 == 233) : LA109_25 = self.input.LA(16) if (LA109_25 == KEEP) : LA109_5 = self.input.LA(17) if (LA109_5 == SPECIFIC) : LA109_7 = self.input.LA(18) if (LA109_7 == GEODE) : LA109_10 = self.input.LA(19) if (LA109_10 == HYPERLINK) : LA109_12 = self.input.LA(20) if (LA109_12 == STRING) : LA109_15 = self.input.LA(21) if (LA109_15 == 230) : LA109_17 = self.input.LA(22) if (LA109_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_1 == KEEP) : LA109_5 = self.input.LA(3) if (LA109_5 == SPECIFIC) : LA109_7 = self.input.LA(4) if (LA109_7 == GEODE) : LA109_10 = self.input.LA(5) if (LA109_10 == HYPERLINK) : LA109_12 = self.input.LA(6) if (LA109_12 == STRING) : LA109_15 = self.input.LA(7) if (LA109_15 == 230) : LA109_17 = self.input.LA(8) if (LA109_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt109 = 1 elif (LA109_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}) : alt109 = 1 if alt109 == 1: # sdl92.g:656:17: transition pass self._state.following.append(self.FOLLOW_transition_in_connect_part7367) transition313 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition313.tree) # AST Rewrite # elements: CONNECT, cif, hyperlink, connect_list, end, transition # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 657:9: -> ^( CONNECT ( cif )? ( hyperlink )? ( connect_list )? ( end )? ( transition )? ) # sdl92.g:657:17: ^( CONNECT ( cif )? ( hyperlink )? ( connect_list )? ( end )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_CONNECT.nextNode() , root_1) # sdl92.g:657:27: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:657:32: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:657:43: ( connect_list )? if stream_connect_list.hasNext(): self._adaptor.addChild(root_1, stream_connect_list.nextTree()) stream_connect_list.reset(); # sdl92.g:657:57: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); # sdl92.g:657:62: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) stream_transition.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "connect_part" class connect_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "connect_list" # sdl92.g:661:1: connect_list : ( state_exit_point_name ( ',' state_exit_point_name )* -> ( state_exit_point_name )+ | ASTERISK ); def connect_list(self, ): retval = self.connect_list_return() retval.start = self.input.LT(1) root_0 = None char_literal315 = None ASTERISK317 = None state_exit_point_name314 = None state_exit_point_name316 = None char_literal315_tree = None ASTERISK317_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_state_exit_point_name = RewriteRuleSubtreeStream(self._adaptor, "rule state_exit_point_name") try: try: # sdl92.g:662:9: ( state_exit_point_name ( ',' state_exit_point_name )* -> ( state_exit_point_name )+ | ASTERISK ) alt111 = 2 LA111_0 = self.input.LA(1) if (LA111_0 == ID) : alt111 = 1 elif (LA111_0 == ASTERISK) : alt111 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 111, 0, self.input) raise nvae if alt111 == 1: # sdl92.g:662:17: state_exit_point_name ( ',' state_exit_point_name )* pass self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list7434) state_exit_point_name314 = self.state_exit_point_name() self._state.following.pop() if self._state.backtracking == 0: stream_state_exit_point_name.add(state_exit_point_name314.tree) # sdl92.g:662:39: ( ',' state_exit_point_name )* while True: #loop110 alt110 = 2 LA110_0 = self.input.LA(1) if (LA110_0 == COMMA) : alt110 = 1 if alt110 == 1: # sdl92.g:662:40: ',' state_exit_point_name pass char_literal315 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_connect_list7437) if self._state.backtracking == 0: stream_COMMA.add(char_literal315) self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list7439) state_exit_point_name316 = self.state_exit_point_name() self._state.following.pop() if self._state.backtracking == 0: stream_state_exit_point_name.add(state_exit_point_name316.tree) else: break #loop110 # AST Rewrite # elements: state_exit_point_name # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 663:17: -> ( state_exit_point_name )+ # sdl92.g:663:20: ( state_exit_point_name )+ if not (stream_state_exit_point_name.hasNext()): raise RewriteEarlyExitException() while stream_state_exit_point_name.hasNext(): self._adaptor.addChild(root_0, stream_state_exit_point_name.nextTree()) stream_state_exit_point_name.reset() retval.tree = root_0 elif alt111 == 2: # sdl92.g:664:19: ASTERISK pass root_0 = self._adaptor.nil() ASTERISK317 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_connect_list7482) if self._state.backtracking == 0: ASTERISK317_tree = self._adaptor.createWithPayload(ASTERISK317) self._adaptor.addChild(root_0, ASTERISK317_tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "connect_list" class spontaneous_transition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "spontaneous_transition" # sdl92.g:668:1: spontaneous_transition : ( cif )? ( hyperlink )? INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( hyperlink )? transition ) ; def spontaneous_transition(self, ): retval = self.spontaneous_transition_return() retval.start = self.input.LT(1) root_0 = None INPUT320 = None NONE321 = None cif318 = None hyperlink319 = None end322 = None enabling_condition323 = None transition324 = None INPUT320_tree = None NONE321_tree = None stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") stream_NONE = RewriteRuleTokenStream(self._adaptor, "token NONE") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_enabling_condition = RewriteRuleSubtreeStream(self._adaptor, "rule enabling_condition") stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: # sdl92.g:669:9: ( ( cif )? ( hyperlink )? INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( hyperlink )? transition ) ) # sdl92.g:669:17: ( cif )? ( hyperlink )? INPUT NONE end ( enabling_condition )? transition pass # sdl92.g:669:17: ( cif )? alt112 = 2 LA112_0 = self.input.LA(1) if (LA112_0 == 233) : LA112_1 = self.input.LA(2) if (LA112_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt112 = 1 if alt112 == 1: # sdl92.g:669:17: cif pass self._state.following.append(self.FOLLOW_cif_in_spontaneous_transition7514) cif318 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif318.tree) # sdl92.g:670:17: ( hyperlink )? alt113 = 2 LA113_0 = self.input.LA(1) if (LA113_0 == 233) : alt113 = 1 if alt113 == 1: # sdl92.g:670:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_spontaneous_transition7533) hyperlink319 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink319.tree) INPUT320 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_spontaneous_transition7552) if self._state.backtracking == 0: stream_INPUT.add(INPUT320) NONE321 = self.match(self.input, NONE, self.FOLLOW_NONE_in_spontaneous_transition7554) if self._state.backtracking == 0: stream_NONE.add(NONE321) self._state.following.append(self.FOLLOW_end_in_spontaneous_transition7556) end322 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end322.tree) # sdl92.g:672:17: ( enabling_condition )? alt114 = 2 LA114_0 = self.input.LA(1) if (LA114_0 == PROVIDED) : alt114 = 1 if alt114 == 1: # sdl92.g:672:17: enabling_condition pass self._state.following.append(self.FOLLOW_enabling_condition_in_spontaneous_transition7574) enabling_condition323 = self.enabling_condition() self._state.following.pop() if self._state.backtracking == 0: stream_enabling_condition.add(enabling_condition323.tree) self._state.following.append(self.FOLLOW_transition_in_spontaneous_transition7593) transition324 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition324.tree) # AST Rewrite # elements: cif, hyperlink, transition # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 674:9: -> ^( INPUT_NONE ( cif )? ( hyperlink )? transition ) # sdl92.g:674:17: ^( INPUT_NONE ( cif )? ( hyperlink )? transition ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(INPUT_NONE, "INPUT_NONE") , root_1) # sdl92.g:674:30: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:674:35: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); self._adaptor.addChild(root_1, stream_transition.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "spontaneous_transition" class enabling_condition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "enabling_condition" # sdl92.g:678:1: enabling_condition : PROVIDED expression end -> ^( PROVIDED expression ) ; def enabling_condition(self, ): retval = self.enabling_condition_return() retval.start = self.input.LT(1) root_0 = None PROVIDED325 = None expression326 = None end327 = None PROVIDED325_tree = None stream_PROVIDED = RewriteRuleTokenStream(self._adaptor, "token PROVIDED") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:679:9: ( PROVIDED expression end -> ^( PROVIDED expression ) ) # sdl92.g:679:17: PROVIDED expression end pass PROVIDED325 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_enabling_condition7652) if self._state.backtracking == 0: stream_PROVIDED.add(PROVIDED325) self._state.following.append(self.FOLLOW_expression_in_enabling_condition7654) expression326 = self.expression() self._state.following.pop() if self._state.backtracking == 0: stream_expression.add(expression326.tree) self._state.following.append(self.FOLLOW_end_in_enabling_condition7656) end327 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end327.tree) # AST Rewrite # elements: PROVIDED, expression # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 680:9: -> ^( PROVIDED expression ) # sdl92.g:680:17: ^( PROVIDED expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PROVIDED.nextNode() , root_1) self._adaptor.addChild(root_1, stream_expression.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "enabling_condition" class continuous_signal_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "continuous_signal" # sdl92.g:684:1: continuous_signal : ( cif )? ( hyperlink )? PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( hyperlink )? ( $p)? ( $e)? ( transition )? ) ; def continuous_signal(self, ): retval = self.continuous_signal_return() retval.start = self.input.LT(1) root_0 = None p = None PROVIDED330 = None PRIORITY332 = None e = None cif328 = None hyperlink329 = None expression331 = None end333 = None transition334 = None p_tree = None PROVIDED330_tree = None PRIORITY332_tree = None stream_PROVIDED = RewriteRuleTokenStream(self._adaptor, "token PROVIDED") stream_PRIORITY = RewriteRuleTokenStream(self._adaptor, "token PRIORITY") stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: # sdl92.g:685:9: ( ( cif )? ( hyperlink )? PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( hyperlink )? ( $p)? ( $e)? ( transition )? ) ) # sdl92.g:685:17: ( cif )? ( hyperlink )? PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? pass # sdl92.g:685:17: ( cif )? alt115 = 2 LA115_0 = self.input.LA(1) if (LA115_0 == 233) : LA115_1 = self.input.LA(2) if (LA115_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt115 = 1 if alt115 == 1: # sdl92.g:685:17: cif pass self._state.following.append(self.FOLLOW_cif_in_continuous_signal7709) cif328 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif328.tree) # sdl92.g:686:17: ( hyperlink )? alt116 = 2 LA116_0 = self.input.LA(1) if (LA116_0 == 233) : alt116 = 1 if alt116 == 1: # sdl92.g:686:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_continuous_signal7728) hyperlink329 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink329.tree) PROVIDED330 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_continuous_signal7747) if self._state.backtracking == 0: stream_PROVIDED.add(PROVIDED330) self._state.following.append(self.FOLLOW_expression_in_continuous_signal7749) expression331 = self.expression() self._state.following.pop() if self._state.backtracking == 0: stream_expression.add(expression331.tree) self._state.following.append(self.FOLLOW_end_in_continuous_signal7753) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) # sdl92.g:688:17: ( PRIORITY p= INT end )? alt117 = 2 LA117_0 = self.input.LA(1) if (LA117_0 == PRIORITY) : alt117 = 1 if alt117 == 1: # sdl92.g:688:18: PRIORITY p= INT end pass PRIORITY332 = self.match(self.input, PRIORITY, self.FOLLOW_PRIORITY_in_continuous_signal7772) if self._state.backtracking == 0: stream_PRIORITY.add(PRIORITY332) p = self.match(self.input, INT, self.FOLLOW_INT_in_continuous_signal7776) if self._state.backtracking == 0: stream_INT.add(p) self._state.following.append(self.FOLLOW_end_in_continuous_signal7778) end333 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end333.tree) # sdl92.g:689:17: ( transition )? alt118 = 2 LA118_0 = self.input.LA(1) if (LA118_0 == 233) : LA118_1 = self.input.LA(2) if (LA118_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA118_4 = self.input.LA(3) if (LA118_4 == L_PAREN) : LA118_6 = self.input.LA(4) if (LA118_6 == DASH) : LA118_8 = self.input.LA(5) if (LA118_8 == INT) : LA118_9 = self.input.LA(6) if (LA118_9 == COMMA) : LA118_11 = self.input.LA(7) if (LA118_11 == DASH) : LA118_13 = self.input.LA(8) if (LA118_13 == INT) : LA118_14 = self.input.LA(9) if (LA118_14 == R_PAREN) : LA118_16 = self.input.LA(10) if (LA118_16 == COMMA) : LA118_18 = self.input.LA(11) if (LA118_18 == L_PAREN) : LA118_19 = self.input.LA(12) if (LA118_19 == INT) : LA118_20 = self.input.LA(13) if (LA118_20 == COMMA) : LA118_21 = self.input.LA(14) if (LA118_21 == INT) : LA118_22 = self.input.LA(15) if (LA118_22 == R_PAREN) : LA118_23 = self.input.LA(16) if (LA118_23 == 230) : LA118_24 = self.input.LA(17) if (LA118_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_24 == 233) : LA118_25 = self.input.LA(18) if (LA118_25 == KEEP) : LA118_5 = self.input.LA(19) if (LA118_5 == SPECIFIC) : LA118_7 = self.input.LA(20) if (LA118_7 == GEODE) : LA118_10 = self.input.LA(21) if (LA118_10 == HYPERLINK) : LA118_12 = self.input.LA(22) if (LA118_12 == STRING) : LA118_15 = self.input.LA(23) if (LA118_15 == 230) : LA118_17 = self.input.LA(24) if (LA118_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_11 == INT) : LA118_14 = self.input.LA(8) if (LA118_14 == R_PAREN) : LA118_16 = self.input.LA(9) if (LA118_16 == COMMA) : LA118_18 = self.input.LA(10) if (LA118_18 == L_PAREN) : LA118_19 = self.input.LA(11) if (LA118_19 == INT) : LA118_20 = self.input.LA(12) if (LA118_20 == COMMA) : LA118_21 = self.input.LA(13) if (LA118_21 == INT) : LA118_22 = self.input.LA(14) if (LA118_22 == R_PAREN) : LA118_23 = self.input.LA(15) if (LA118_23 == 230) : LA118_24 = self.input.LA(16) if (LA118_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_24 == 233) : LA118_25 = self.input.LA(17) if (LA118_25 == KEEP) : LA118_5 = self.input.LA(18) if (LA118_5 == SPECIFIC) : LA118_7 = self.input.LA(19) if (LA118_7 == GEODE) : LA118_10 = self.input.LA(20) if (LA118_10 == HYPERLINK) : LA118_12 = self.input.LA(21) if (LA118_12 == STRING) : LA118_15 = self.input.LA(22) if (LA118_15 == 230) : LA118_17 = self.input.LA(23) if (LA118_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_6 == INT) : LA118_9 = self.input.LA(5) if (LA118_9 == COMMA) : LA118_11 = self.input.LA(6) if (LA118_11 == DASH) : LA118_13 = self.input.LA(7) if (LA118_13 == INT) : LA118_14 = self.input.LA(8) if (LA118_14 == R_PAREN) : LA118_16 = self.input.LA(9) if (LA118_16 == COMMA) : LA118_18 = self.input.LA(10) if (LA118_18 == L_PAREN) : LA118_19 = self.input.LA(11) if (LA118_19 == INT) : LA118_20 = self.input.LA(12) if (LA118_20 == COMMA) : LA118_21 = self.input.LA(13) if (LA118_21 == INT) : LA118_22 = self.input.LA(14) if (LA118_22 == R_PAREN) : LA118_23 = self.input.LA(15) if (LA118_23 == 230) : LA118_24 = self.input.LA(16) if (LA118_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_24 == 233) : LA118_25 = self.input.LA(17) if (LA118_25 == KEEP) : LA118_5 = self.input.LA(18) if (LA118_5 == SPECIFIC) : LA118_7 = self.input.LA(19) if (LA118_7 == GEODE) : LA118_10 = self.input.LA(20) if (LA118_10 == HYPERLINK) : LA118_12 = self.input.LA(21) if (LA118_12 == STRING) : LA118_15 = self.input.LA(22) if (LA118_15 == 230) : LA118_17 = self.input.LA(23) if (LA118_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_11 == INT) : LA118_14 = self.input.LA(7) if (LA118_14 == R_PAREN) : LA118_16 = self.input.LA(8) if (LA118_16 == COMMA) : LA118_18 = self.input.LA(9) if (LA118_18 == L_PAREN) : LA118_19 = self.input.LA(10) if (LA118_19 == INT) : LA118_20 = self.input.LA(11) if (LA118_20 == COMMA) : LA118_21 = self.input.LA(12) if (LA118_21 == INT) : LA118_22 = self.input.LA(13) if (LA118_22 == R_PAREN) : LA118_23 = self.input.LA(14) if (LA118_23 == 230) : LA118_24 = self.input.LA(15) if (LA118_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_24 == 233) : LA118_25 = self.input.LA(16) if (LA118_25 == KEEP) : LA118_5 = self.input.LA(17) if (LA118_5 == SPECIFIC) : LA118_7 = self.input.LA(18) if (LA118_7 == GEODE) : LA118_10 = self.input.LA(19) if (LA118_10 == HYPERLINK) : LA118_12 = self.input.LA(20) if (LA118_12 == STRING) : LA118_15 = self.input.LA(21) if (LA118_15 == 230) : LA118_17 = self.input.LA(22) if (LA118_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_1 == KEEP) : LA118_5 = self.input.LA(3) if (LA118_5 == SPECIFIC) : LA118_7 = self.input.LA(4) if (LA118_7 == GEODE) : LA118_10 = self.input.LA(5) if (LA118_10 == HYPERLINK) : LA118_12 = self.input.LA(6) if (LA118_12 == STRING) : LA118_15 = self.input.LA(7) if (LA118_15 == 230) : LA118_17 = self.input.LA(8) if (LA118_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt118 = 1 elif (LA118_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}) : alt118 = 1 if alt118 == 1: # sdl92.g:689:17: transition pass self._state.following.append(self.FOLLOW_transition_in_continuous_signal7798) transition334 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition334.tree) # AST Rewrite # elements: PROVIDED, expression, cif, hyperlink, p, e, transition # token labels: p # rule labels: e, retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 stream_p = RewriteRuleTokenStream(self._adaptor, "token p", p) if e is not None: stream_e = RewriteRuleSubtreeStream(self._adaptor, "rule e", e.tree) else: stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 690:9: -> ^( PROVIDED expression ( cif )? ( hyperlink )? ( $p)? ( $e)? ( transition )? ) # sdl92.g:690:17: ^( PROVIDED expression ( cif )? ( hyperlink )? ( $p)? ( $e)? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PROVIDED.nextNode() , root_1) self._adaptor.addChild(root_1, stream_expression.nextTree()) # sdl92.g:690:39: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:690:44: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:690:56: ( $p)? if stream_p.hasNext(): self._adaptor.addChild(root_1, stream_p.nextNode()) stream_p.reset(); # sdl92.g:690:60: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) stream_e.reset(); # sdl92.g:690:63: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) stream_transition.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "continuous_signal" class save_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "save_part" # sdl92.g:694:1: save_part : SAVE save_list end -> ^( SAVE save_list ) ; def save_part(self, ): retval = self.save_part_return() retval.start = self.input.LT(1) root_0 = None SAVE335 = None save_list336 = None end337 = None SAVE335_tree = None stream_SAVE = RewriteRuleTokenStream(self._adaptor, "token SAVE") stream_save_list = RewriteRuleSubtreeStream(self._adaptor, "rule save_list") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:695:9: ( SAVE save_list end -> ^( SAVE save_list ) ) # sdl92.g:695:17: SAVE save_list end pass SAVE335 = self.match(self.input, SAVE, self.FOLLOW_SAVE_in_save_part7869) if self._state.backtracking == 0: stream_SAVE.add(SAVE335) self._state.following.append(self.FOLLOW_save_list_in_save_part7871) save_list336 = self.save_list() self._state.following.pop() if self._state.backtracking == 0: stream_save_list.add(save_list336.tree) self._state.following.append(self.FOLLOW_end_in_save_part7889) end337 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end337.tree) # AST Rewrite # elements: SAVE, save_list # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 697:9: -> ^( SAVE save_list ) # sdl92.g:697:17: ^( SAVE save_list ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SAVE.nextNode() , root_1) self._adaptor.addChild(root_1, stream_save_list.nextTree()) self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "save_part" class save_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "save_list" # sdl92.g:701:1: save_list : ( signal_list | asterisk_save_list ); def save_list(self, ): retval = self.save_list_return() retval.start = self.input.LT(1) root_0 = None signal_list338 = None asterisk_save_list339 = None try: try: # sdl92.g:702:9: ( signal_list | asterisk_save_list ) alt119 = 2 LA119_0 = self.input.LA(1) if (LA119_0 == ID) : alt119 = 1 elif (LA119_0 == ASTERISK) : alt119 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 119, 0, self.input) raise nvae if alt119 == 1: # sdl92.g:702:17: signal_list pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signal_list_in_save_list7942) signal_list338 = self.signal_list() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, signal_list338.tree) elif alt119 == 2: # sdl92.g:703:19: asterisk_save_list pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_asterisk_save_list_in_save_list7962) asterisk_save_list339 = self.asterisk_save_list() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, asterisk_save_list339.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "save_list" class asterisk_save_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "asterisk_save_list" # sdl92.g:707:1: asterisk_save_list : ASTERISK ; def asterisk_save_list(self, ): retval = self.asterisk_save_list_return() retval.start = self.input.LT(1) root_0 = None ASTERISK340 = None ASTERISK340_tree = None try: try: # sdl92.g:708:9: ( ASTERISK ) # sdl92.g:708:17: ASTERISK pass root_0 = self._adaptor.nil() ASTERISK340 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_asterisk_save_list7994) if self._state.backtracking == 0: ASTERISK340_tree = self._adaptor.createWithPayload(ASTERISK340) self._adaptor.addChild(root_0, ASTERISK340_tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "asterisk_save_list" class signal_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "signal_list" # sdl92.g:711:1: signal_list : signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ; def signal_list(self, ): retval = self.signal_list_return() retval.start = self.input.LT(1) root_0 = None char_literal342 = None signal_item341 = None signal_item343 = None char_literal342_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_signal_item = RewriteRuleSubtreeStream(self._adaptor, "rule signal_item") try: try: # sdl92.g:712:9: ( signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ) # sdl92.g:712:17: signal_item ( ',' signal_item )* pass self._state.following.append(self.FOLLOW_signal_item_in_signal_list8017) signal_item341 = self.signal_item() self._state.following.pop() if self._state.backtracking == 0: stream_signal_item.add(signal_item341.tree) # sdl92.g:712:29: ( ',' signal_item )* while True: #loop120 alt120 = 2 LA120_0 = self.input.LA(1) if (LA120_0 == COMMA) : alt120 = 1 if alt120 == 1: # sdl92.g:712:30: ',' signal_item pass char_literal342 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_signal_list8020) if self._state.backtracking == 0: stream_COMMA.add(char_literal342) self._state.following.append(self.FOLLOW_signal_item_in_signal_list8022) signal_item343 = self.signal_item() self._state.following.pop() if self._state.backtracking == 0: stream_signal_item.add(signal_item343.tree) else: break #loop120 # AST Rewrite # elements: signal_item # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 713:9: -> ^( SIGNAL_LIST ( signal_item )+ ) # sdl92.g:713:17: ^( SIGNAL_LIST ( signal_item )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SIGNAL_LIST, "SIGNAL_LIST") , root_1) # sdl92.g:713:31: ( signal_item )+ if not (stream_signal_item.hasNext()): raise RewriteEarlyExitException() while stream_signal_item.hasNext(): self._adaptor.addChild(root_1, stream_signal_item.nextTree()) stream_signal_item.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "signal_list" class signal_item_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "signal_item" # sdl92.g:720:1: signal_item : signal_id ; def signal_item(self, ): retval = self.signal_item_return() retval.start = self.input.LT(1) root_0 = None signal_id344 = None try: try: # sdl92.g:721:9: ( signal_id ) # sdl92.g:721:17: signal_id pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signal_id_in_signal_item8081) signal_id344 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, signal_id344.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "signal_item" class input_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "input_part" # sdl92.g:741:1: input_part : ( cif )? ( hyperlink )? INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( hyperlink )? ( end )? inputlist ( enabling_condition )? ( transition )? ) ; def input_part(self, ): retval = self.input_part_return() retval.start = self.input.LT(1) root_0 = None INPUT347 = None cif345 = None hyperlink346 = None inputlist348 = None end349 = None enabling_condition350 = None transition351 = None INPUT347_tree = None stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") stream_inputlist = RewriteRuleSubtreeStream(self._adaptor, "rule inputlist") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_enabling_condition = RewriteRuleSubtreeStream(self._adaptor, "rule enabling_condition") stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: # sdl92.g:742:9: ( ( cif )? ( hyperlink )? INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( hyperlink )? ( end )? inputlist ( enabling_condition )? ( transition )? ) ) # sdl92.g:742:17: ( cif )? ( hyperlink )? INPUT inputlist end ( enabling_condition )? ( transition )? pass # sdl92.g:742:17: ( cif )? alt121 = 2 LA121_0 = self.input.LA(1) if (LA121_0 == 233) : LA121_1 = self.input.LA(2) if (LA121_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt121 = 1 if alt121 == 1: # sdl92.g:742:17: cif pass self._state.following.append(self.FOLLOW_cif_in_input_part8110) cif345 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif345.tree) # sdl92.g:743:17: ( hyperlink )? alt122 = 2 LA122_0 = self.input.LA(1) if (LA122_0 == 233) : alt122 = 1 if alt122 == 1: # sdl92.g:743:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_input_part8129) hyperlink346 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink346.tree) INPUT347 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_part8148) if self._state.backtracking == 0: stream_INPUT.add(INPUT347) self._state.following.append(self.FOLLOW_inputlist_in_input_part8150) inputlist348 = self.inputlist() self._state.following.pop() if self._state.backtracking == 0: stream_inputlist.add(inputlist348.tree) self._state.following.append(self.FOLLOW_end_in_input_part8152) end349 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end349.tree) # sdl92.g:745:17: ( enabling_condition )? alt123 = 2 LA123_0 = self.input.LA(1) if (LA123_0 == PROVIDED) : LA123_1 = self.input.LA(2) if (self.synpred156_sdl92()) : alt123 = 1 if alt123 == 1: # sdl92.g:745:17: enabling_condition pass self._state.following.append(self.FOLLOW_enabling_condition_in_input_part8170) enabling_condition350 = self.enabling_condition() self._state.following.pop() if self._state.backtracking == 0: stream_enabling_condition.add(enabling_condition350.tree) # sdl92.g:746:17: ( transition )? alt124 = 2 LA124_0 = self.input.LA(1) if (LA124_0 == 233) : LA124_1 = self.input.LA(2) if (LA124_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA124_4 = self.input.LA(3) if (LA124_4 == L_PAREN) : LA124_6 = self.input.LA(4) if (LA124_6 == DASH) : LA124_8 = self.input.LA(5) if (LA124_8 == INT) : LA124_9 = self.input.LA(6) if (LA124_9 == COMMA) : LA124_11 = self.input.LA(7) if (LA124_11 == DASH) : LA124_13 = self.input.LA(8) if (LA124_13 == INT) : LA124_14 = self.input.LA(9) if (LA124_14 == R_PAREN) : LA124_16 = self.input.LA(10) if (LA124_16 == COMMA) : LA124_18 = self.input.LA(11) if (LA124_18 == L_PAREN) : LA124_19 = self.input.LA(12) if (LA124_19 == INT) : LA124_20 = self.input.LA(13) if (LA124_20 == COMMA) : LA124_21 = self.input.LA(14) if (LA124_21 == INT) : LA124_22 = self.input.LA(15) if (LA124_22 == R_PAREN) : LA124_23 = self.input.LA(16) if (LA124_23 == 230) : LA124_24 = self.input.LA(17) if (LA124_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_24 == 233) : LA124_25 = self.input.LA(18) if (LA124_25 == KEEP) : LA124_5 = self.input.LA(19) if (LA124_5 == SPECIFIC) : LA124_7 = self.input.LA(20) if (LA124_7 == GEODE) : LA124_10 = self.input.LA(21) if (LA124_10 == HYPERLINK) : LA124_12 = self.input.LA(22) if (LA124_12 == STRING) : LA124_15 = self.input.LA(23) if (LA124_15 == 230) : LA124_17 = self.input.LA(24) if (LA124_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_11 == INT) : LA124_14 = self.input.LA(8) if (LA124_14 == R_PAREN) : LA124_16 = self.input.LA(9) if (LA124_16 == COMMA) : LA124_18 = self.input.LA(10) if (LA124_18 == L_PAREN) : LA124_19 = self.input.LA(11) if (LA124_19 == INT) : LA124_20 = self.input.LA(12) if (LA124_20 == COMMA) : LA124_21 = self.input.LA(13) if (LA124_21 == INT) : LA124_22 = self.input.LA(14) if (LA124_22 == R_PAREN) : LA124_23 = self.input.LA(15) if (LA124_23 == 230) : LA124_24 = self.input.LA(16) if (LA124_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_24 == 233) : LA124_25 = self.input.LA(17) if (LA124_25 == KEEP) : LA124_5 = self.input.LA(18) if (LA124_5 == SPECIFIC) : LA124_7 = self.input.LA(19) if (LA124_7 == GEODE) : LA124_10 = self.input.LA(20) if (LA124_10 == HYPERLINK) : LA124_12 = self.input.LA(21) if (LA124_12 == STRING) : LA124_15 = self.input.LA(22) if (LA124_15 == 230) : LA124_17 = self.input.LA(23) if (LA124_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_6 == INT) : LA124_9 = self.input.LA(5) if (LA124_9 == COMMA) : LA124_11 = self.input.LA(6) if (LA124_11 == DASH) : LA124_13 = self.input.LA(7) if (LA124_13 == INT) : LA124_14 = self.input.LA(8) if (LA124_14 == R_PAREN) : LA124_16 = self.input.LA(9) if (LA124_16 == COMMA) : LA124_18 = self.input.LA(10) if (LA124_18 == L_PAREN) : LA124_19 = self.input.LA(11) if (LA124_19 == INT) : LA124_20 = self.input.LA(12) if (LA124_20 == COMMA) : LA124_21 = self.input.LA(13) if (LA124_21 == INT) : LA124_22 = self.input.LA(14) if (LA124_22 == R_PAREN) : LA124_23 = self.input.LA(15) if (LA124_23 == 230) : LA124_24 = self.input.LA(16) if (LA124_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_24 == 233) : LA124_25 = self.input.LA(17) if (LA124_25 == KEEP) : LA124_5 = self.input.LA(18) if (LA124_5 == SPECIFIC) : LA124_7 = self.input.LA(19) if (LA124_7 == GEODE) : LA124_10 = self.input.LA(20) if (LA124_10 == HYPERLINK) : LA124_12 = self.input.LA(21) if (LA124_12 == STRING) : LA124_15 = self.input.LA(22) if (LA124_15 == 230) : LA124_17 = self.input.LA(23) if (LA124_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_11 == INT) : LA124_14 = self.input.LA(7) if (LA124_14 == R_PAREN) : LA124_16 = self.input.LA(8) if (LA124_16 == COMMA) : LA124_18 = self.input.LA(9) if (LA124_18 == L_PAREN) : LA124_19 = self.input.LA(10) if (LA124_19 == INT) : LA124_20 = self.input.LA(11) if (LA124_20 == COMMA) : LA124_21 = self.input.LA(12) if (LA124_21 == INT) : LA124_22 = self.input.LA(13) if (LA124_22 == R_PAREN) : LA124_23 = self.input.LA(14) if (LA124_23 == 230) : LA124_24 = self.input.LA(15) if (LA124_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_24 == 233) : LA124_25 = self.input.LA(16) if (LA124_25 == KEEP) : LA124_5 = self.input.LA(17) if (LA124_5 == SPECIFIC) : LA124_7 = self.input.LA(18) if (LA124_7 == GEODE) : LA124_10 = self.input.LA(19) if (LA124_10 == HYPERLINK) : LA124_12 = self.input.LA(20) if (LA124_12 == STRING) : LA124_15 = self.input.LA(21) if (LA124_15 == 230) : LA124_17 = self.input.LA(22) if (LA124_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_1 == KEEP) : LA124_5 = self.input.LA(3) if (LA124_5 == SPECIFIC) : LA124_7 = self.input.LA(4) if (LA124_7 == GEODE) : LA124_10 = self.input.LA(5) if (LA124_10 == HYPERLINK) : LA124_12 = self.input.LA(6) if (LA124_12 == STRING) : LA124_15 = self.input.LA(7) if (LA124_15 == 230) : LA124_17 = self.input.LA(8) if (LA124_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt124 = 1 elif (LA124_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}) : alt124 = 1 if alt124 == 1: # sdl92.g:746:17: transition pass self._state.following.append(self.FOLLOW_transition_in_input_part8189) transition351 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition351.tree) # AST Rewrite # elements: INPUT, cif, hyperlink, end, inputlist, enabling_condition, transition # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 747:9: -> ^( INPUT ( cif )? ( hyperlink )? ( end )? inputlist ( enabling_condition )? ( transition )? ) # sdl92.g:747:17: ^( INPUT ( cif )? ( hyperlink )? ( end )? inputlist ( enabling_condition )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_INPUT.nextNode() , root_1) # sdl92.g:747:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:747:30: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:747:41: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); self._adaptor.addChild(root_1, stream_inputlist.nextTree()) # sdl92.g:748:27: ( enabling_condition )? if stream_enabling_condition.hasNext(): self._adaptor.addChild(root_1, stream_enabling_condition.nextTree()) stream_enabling_condition.reset(); # sdl92.g:748:47: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) stream_transition.reset(); self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "input_part" class inputlist_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "inputlist" # sdl92.g:754:1: inputlist : ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ); def inputlist(self, ): retval = self.inputlist_return() retval.start = self.input.LT(1) root_0 = None ASTERISK352 = None char_literal354 = None stimulus353 = None stimulus355 = None ASTERISK352_tree = None char_literal354_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_stimulus = RewriteRuleSubtreeStream(self._adaptor, "rule stimulus") try: try: # sdl92.g:755:9: ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ) alt126 = 2 LA126_0 = self.input.LA(1) if (LA126_0 == ASTERISK) : alt126 = 1 elif (LA126_0 == ID) : alt126 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 126, 0, self.input) raise nvae if alt126 == 1: # sdl92.g:755:17: ASTERISK pass root_0 = self._adaptor.nil() ASTERISK352 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_inputlist8276) if self._state.backtracking == 0: ASTERISK352_tree = self._adaptor.createWithPayload(ASTERISK352) self._adaptor.addChild(root_0, ASTERISK352_tree) elif alt126 == 2: # sdl92.g:756:19: ( stimulus ( ',' stimulus )* ) pass # sdl92.g:756:19: ( stimulus ( ',' stimulus )* ) # sdl92.g:756:20: stimulus ( ',' stimulus )* pass self._state.following.append(self.FOLLOW_stimulus_in_inputlist8297) stimulus353 = self.stimulus() self._state.following.pop() if self._state.backtracking == 0: stream_stimulus.add(stimulus353.tree) # sdl92.g:756:29: ( ',' stimulus )* while True: #loop125 alt125 = 2 LA125_0 = self.input.LA(1) if (LA125_0 == COMMA) : alt125 = 1 if alt125 == 1: # sdl92.g:756:30: ',' stimulus pass char_literal354 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_inputlist8300) if self._state.backtracking == 0: stream_COMMA.add(char_literal354) self._state.following.append(self.FOLLOW_stimulus_in_inputlist8302) stimulus355 = self.stimulus() self._state.following.pop() if self._state.backtracking == 0: stream_stimulus.add(stimulus355.tree) else: break #loop125 # AST Rewrite # elements: stimulus # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 757:9: -> ^( INPUTLIST ( stimulus )+ ) # sdl92.g:757:17: ^( INPUTLIST ( stimulus )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(INPUTLIST, "INPUTLIST") , root_1) # sdl92.g:757:29: ( stimulus )+ if not (stream_stimulus.hasNext()): raise RewriteEarlyExitException() while stream_stimulus.hasNext(): self._adaptor.addChild(root_1, stream_stimulus.nextTree()) stream_stimulus.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "inputlist" class stimulus_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "stimulus" # sdl92.g:761:1: stimulus : stimulus_id ( input_params )? ; def stimulus(self, ): retval = self.stimulus_return() retval.start = self.input.LT(1) root_0 = None stimulus_id356 = None input_params357 = None try: try: # sdl92.g:762:9: ( stimulus_id ( input_params )? ) # sdl92.g:762:17: stimulus_id ( input_params )? pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_stimulus_id_in_stimulus8359) stimulus_id356 = self.stimulus_id() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, stimulus_id356.tree) # sdl92.g:762:29: ( input_params )? alt127 = 2 LA127_0 = self.input.LA(1) if (LA127_0 == L_PAREN) : alt127 = 1 if alt127 == 1: # sdl92.g:762:29: input_params pass self._state.following.append(self.FOLLOW_input_params_in_stimulus8361) input_params357 = self.input_params() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, input_params357.tree) retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "stimulus" class input_params_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "input_params" # sdl92.g:766:1: input_params : L_PAREN variable_id ( ',' variable_id )* R_PAREN -> ^( PARAMS ( variable_id )+ ) ; def input_params(self, ): retval = self.input_params_return() retval.start = self.input.LT(1) root_0 = None L_PAREN358 = None char_literal360 = None R_PAREN362 = None variable_id359 = None variable_id361 = None L_PAREN358_tree = None char_literal360_tree = None R_PAREN362_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") try: try: # sdl92.g:767:9: ( L_PAREN variable_id ( ',' variable_id )* R_PAREN -> ^( PARAMS ( variable_id )+ ) ) # sdl92.g:767:17: L_PAREN variable_id ( ',' variable_id )* R_PAREN pass L_PAREN358 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_params8394) if self._state.backtracking == 0: stream_L_PAREN.add(L_PAREN358) self._state.following.append(self.FOLLOW_variable_id_in_input_params8396) variable_id359 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id359.tree) # sdl92.g:767:37: ( ',' variable_id )* while True: #loop128 alt128 = 2 LA128_0 = self.input.LA(1) if (LA128_0 == COMMA) : alt128 = 1 if alt128 == 1: # sdl92.g:767:38: ',' variable_id pass char_literal360 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_input_params8399) if self._state.backtracking == 0: stream_COMMA.add(char_literal360) self._state.following.append(self.FOLLOW_variable_id_in_input_params8401) variable_id361 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id361.tree) else: break #loop128 R_PAREN362 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_params8405) if self._state.backtracking == 0: stream_R_PAREN.add(R_PAREN362) # AST Rewrite # elements: variable_id # token labels: # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) root_0 = self._adaptor.nil() # 768:9: -> ^( PARAMS ( variable_id )+ ) # sdl92.g:768:17: ^( PARAMS ( variable_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAMS, "PARAMS") , root_1) # sdl92.g:768:26: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() while stream_variable_id.hasNext(): self._adaptor.addChild(root_1, stream_variable_id.nextTree()) stream_variable_id.reset() self._adaptor.addChild(root_0, root_1) retval.tree = root_0 retval.stop = self.input.LT(-1) if self._state.backtracking == 0: retval.tree = self._adaptor.rulePostProcessing(root_0) self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) except RecognitionException as re: self.reportError(re) self.recover(self.input, re) retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re) finally: pass return retval # $ANTLR end "input_params" class transition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "transition" # sdl92.g:772:1: transition : ( ( action )+ ( label )? ( terminator_statement )? -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) | terminator_statement -> ^( TRANSITION terminator_statement ) ); def transition(self, ): retval = self.transition_return() retval.start = self.input.LT(1) root_0 = None action363 = None label364 = None terminator_statement365 = None terminator_statement366 = None stream_terminator_statement = RewriteRuleSubtreeStream(self._adaptor, "rule terminator_statement") stream_action = RewriteRuleSubtreeStream(self._adaptor, "rule action") stream_label = RewriteRuleSubtreeStream(self._adaptor, "rule label") try: try: # sdl92.g:773:9: ( ( action )+ ( label )? ( terminator_statement )? -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) | terminator_statement -> ^( TRANSITION terminator_statement ) ) alt132 = 2 LA132 = self.input.LA(1) if LA132 in {233}: LA132_1 = self.input.LA(2) if (LA132_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA132_5 = self.input.LA(3) if (LA132_5 == L_PAREN) : LA132_8 = self.input.LA(4) if (LA132_8 == DASH) : LA132_11 = self.input.LA(5) if (LA132_11 == INT) : LA132_12 = self.input.LA(6) if (LA132_12 == COMMA) : LA132_15 = self.input.LA(7) if (LA132_15 == DASH) : LA132_18 = self.input.LA(8) if (LA132_18 == INT) : LA132_19 = self.input.LA(9) if (LA132_19 == R_PAREN) : LA132_23 = self.input.LA(10) if (LA132_23 == COMMA) : LA132_26 = self.input.LA(11) if (LA132_26 == L_PAREN) : LA132_29 = self.input.LA(12) if (LA132_29 == INT) : LA132_31 = self.input.LA(13) if (LA132_31 == COMMA) : LA132_33 = self.input.LA(14) if (LA132_33 == INT) : LA132_35 = self.input.LA(15) if (LA132_35 == R_PAREN) : LA132_37 = self.input.LA(16) if (LA132_37 == 230) : LA132 = self.input.LA(17) if LA132 in {ID}: LA132_41 = self.input.LA(18) if (LA132_41 == 234) : LA132 = self.input.LA(19) if LA132 in {233}: LA132_10 = self.input.LA(20) if (LA132_10 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA132_14 = self.input.LA(21) if (LA132_14 == L_PAREN) : LA132_17 = self.input.LA(22) if (LA132_17 == DASH) : LA132_21 = self.input.LA(23) if (LA132_21 == INT) : LA132_22 = self.input.LA(24) if (LA132_22 == COMMA) : LA132_25 = self.input.LA(25) if (LA132_25 == DASH) : LA132_27 = self.input.LA(26) if (LA132_27 == INT) : LA132_28 = self.input.LA(27) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(28) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(29) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(30) if (LA132_34 == INT) : LA132_36 = self.input.LA(31) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(32) if (LA132_38 == INT) : LA132_40 = self.input.LA(33) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(34) if (LA132_43 == 230) : LA132 = self.input.LA(35) if LA132 in {233}: LA132_42 = self.input.LA(36) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(37) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(38) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(39) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(40) if (LA132_16 == STRING) : LA132_20 = self.input.LA(41) if (LA132_20 == 230) : LA132_24 = self.input.LA(42) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 27, self.input) raise nvae elif (LA132_25 == INT) : LA132_28 = self.input.LA(26) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(27) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(28) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(29) if (LA132_34 == INT) : LA132_36 = self.input.LA(30) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(31) if (LA132_38 == INT) : LA132_40 = self.input.LA(32) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(33) if (LA132_43 == 230) : LA132 = self.input.LA(34) if LA132 in {233}: LA132_42 = self.input.LA(35) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(36) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(37) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(38) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(39) if (LA132_16 == STRING) : LA132_20 = self.input.LA(40) if (LA132_20 == 230) : LA132_24 = self.input.LA(41) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 21, self.input) raise nvae elif (LA132_17 == INT) : LA132_22 = self.input.LA(23) if (LA132_22 == COMMA) : LA132_25 = self.input.LA(24) if (LA132_25 == DASH) : LA132_27 = self.input.LA(25) if (LA132_27 == INT) : LA132_28 = self.input.LA(26) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(27) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(28) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(29) if (LA132_34 == INT) : LA132_36 = self.input.LA(30) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(31) if (LA132_38 == INT) : LA132_40 = self.input.LA(32) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(33) if (LA132_43 == 230) : LA132 = self.input.LA(34) if LA132 in {233}: LA132_42 = self.input.LA(35) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(36) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(37) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(38) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(39) if (LA132_16 == STRING) : LA132_20 = self.input.LA(40) if (LA132_20 == 230) : LA132_24 = self.input.LA(41) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 27, self.input) raise nvae elif (LA132_25 == INT) : LA132_28 = self.input.LA(25) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(26) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(27) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(28) if (LA132_34 == INT) : LA132_36 = self.input.LA(29) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(30) if (LA132_38 == INT) : LA132_40 = self.input.LA(31) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(32) if (LA132_43 == 230) : LA132 = self.input.LA(33) if LA132 in {233}: LA132_42 = self.input.LA(34) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(35) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(36) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(37) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(38) if (LA132_16 == STRING) : LA132_20 = self.input.LA(39) if (LA132_20 == 230) : LA132_24 = self.input.LA(40) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 14, self.input) raise nvae elif (LA132_10 == KEEP) : LA132_6 = self.input.LA(21) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(22) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(23) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(24) if (LA132_16 == STRING) : LA132_20 = self.input.LA(25) if (LA132_20 == 230) : LA132_24 = self.input.LA(26) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 10, self.input) raise nvae elif LA132 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, OUTPUT, RESET, SET, STRING, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 41, self.input) raise nvae elif LA132 in {233}: LA132_42 = self.input.LA(18) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(19) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(20) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(21) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(22) if (LA132_16 == STRING) : LA132_20 = self.input.LA(23) if (LA132_20 == 230) : LA132_24 = self.input.LA(24) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 39, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 37, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 35, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 33, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 31, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 29, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 18, self.input) raise nvae elif (LA132_15 == INT) : LA132_19 = self.input.LA(8) if (LA132_19 == R_PAREN) : LA132_23 = self.input.LA(9) if (LA132_23 == COMMA) : LA132_26 = self.input.LA(10) if (LA132_26 == L_PAREN) : LA132_29 = self.input.LA(11) if (LA132_29 == INT) : LA132_31 = self.input.LA(12) if (LA132_31 == COMMA) : LA132_33 = self.input.LA(13) if (LA132_33 == INT) : LA132_35 = self.input.LA(14) if (LA132_35 == R_PAREN) : LA132_37 = self.input.LA(15) if (LA132_37 == 230) : LA132 = self.input.LA(16) if LA132 in {ID}: LA132_41 = self.input.LA(17) if (LA132_41 == 234) : LA132 = self.input.LA(18) if LA132 in {233}: LA132_10 = self.input.LA(19) if (LA132_10 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA132_14 = self.input.LA(20) if (LA132_14 == L_PAREN) : LA132_17 = self.input.LA(21) if (LA132_17 == DASH) : LA132_21 = self.input.LA(22) if (LA132_21 == INT) : LA132_22 = self.input.LA(23) if (LA132_22 == COMMA) : LA132_25 = self.input.LA(24) if (LA132_25 == DASH) : LA132_27 = self.input.LA(25) if (LA132_27 == INT) : LA132_28 = self.input.LA(26) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(27) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(28) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(29) if (LA132_34 == INT) : LA132_36 = self.input.LA(30) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(31) if (LA132_38 == INT) : LA132_40 = self.input.LA(32) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(33) if (LA132_43 == 230) : LA132 = self.input.LA(34) if LA132 in {233}: LA132_42 = self.input.LA(35) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(36) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(37) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(38) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(39) if (LA132_16 == STRING) : LA132_20 = self.input.LA(40) if (LA132_20 == 230) : LA132_24 = self.input.LA(41) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 27, self.input) raise nvae elif (LA132_25 == INT) : LA132_28 = self.input.LA(25) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(26) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(27) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(28) if (LA132_34 == INT) : LA132_36 = self.input.LA(29) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(30) if (LA132_38 == INT) : LA132_40 = self.input.LA(31) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(32) if (LA132_43 == 230) : LA132 = self.input.LA(33) if LA132 in {233}: LA132_42 = self.input.LA(34) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(35) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(36) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(37) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(38) if (LA132_16 == STRING) : LA132_20 = self.input.LA(39) if (LA132_20 == 230) : LA132_24 = self.input.LA(40) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 21, self.input) raise nvae elif (LA132_17 == INT) : LA132_22 = self.input.LA(22) if (LA132_22 == COMMA) : LA132_25 = self.input.LA(23) if (LA132_25 == DASH) : LA132_27 = self.input.LA(24) if (LA132_27 == INT) : LA132_28 = self.input.LA(25) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(26) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(27) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(28) if (LA132_34 == INT) : LA132_36 = self.input.LA(29) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(30) if (LA132_38 == INT) : LA132_40 = self.input.LA(31) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(32) if (LA132_43 == 230) : LA132 = self.input.LA(33) if LA132 in {233}: LA132_42 = self.input.LA(34) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(35) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(36) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(37) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(38) if (LA132_16 == STRING) : LA132_20 = self.input.LA(39) if (LA132_20 == 230) : LA132_24 = self.input.LA(40) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 27, self.input) raise nvae elif (LA132_25 == INT) : LA132_28 = self.input.LA(24) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(25) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(26) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(27) if (LA132_34 == INT) : LA132_36 = self.input.LA(28) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(29) if (LA132_38 == INT) : LA132_40 = self.input.LA(30) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(31) if (LA132_43 == 230) : LA132 = self.input.LA(32) if LA132 in {233}: LA132_42 = self.input.LA(33) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(34) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(35) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(36) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(37) if (LA132_16 == STRING) : LA132_20 = self.input.LA(38) if (LA132_20 == 230) : LA132_24 = self.input.LA(39) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 14, self.input) raise nvae elif (LA132_10 == KEEP) : LA132_6 = self.input.LA(20) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(21) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(22) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(23) if (LA132_16 == STRING) : LA132_20 = self.input.LA(24) if (LA132_20 == 230) : LA132_24 = self.input.LA(25) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 10, self.input) raise nvae elif LA132 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, OUTPUT, RESET, SET, STRING, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 41, self.input) raise nvae elif LA132 in {233}: LA132_42 = self.input.LA(17) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(18) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(19) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(20) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(21) if (LA132_16 == STRING) : LA132_20 = self.input.LA(22) if (LA132_20 == 230) : LA132_24 = self.input.LA(23) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 39, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 37, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 35, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 33, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 31, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 29, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 15, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 11, self.input) raise nvae elif (LA132_8 == INT) : LA132_12 = self.input.LA(5) if (LA132_12 == COMMA) : LA132_15 = self.input.LA(6) if (LA132_15 == DASH) : LA132_18 = self.input.LA(7) if (LA132_18 == INT) : LA132_19 = self.input.LA(8) if (LA132_19 == R_PAREN) : LA132_23 = self.input.LA(9) if (LA132_23 == COMMA) : LA132_26 = self.input.LA(10) if (LA132_26 == L_PAREN) : LA132_29 = self.input.LA(11) if (LA132_29 == INT) : LA132_31 = self.input.LA(12) if (LA132_31 == COMMA) : LA132_33 = self.input.LA(13) if (LA132_33 == INT) : LA132_35 = self.input.LA(14) if (LA132_35 == R_PAREN) : LA132_37 = self.input.LA(15) if (LA132_37 == 230) : LA132 = self.input.LA(16) if LA132 in {ID}: LA132_41 = self.input.LA(17) if (LA132_41 == 234) : LA132 = self.input.LA(18) if LA132 in {233}: LA132_10 = self.input.LA(19) if (LA132_10 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA132_14 = self.input.LA(20) if (LA132_14 == L_PAREN) : LA132_17 = self.input.LA(21) if (LA132_17 == DASH) : LA132_21 = self.input.LA(22) if (LA132_21 == INT) : LA132_22 = self.input.LA(23) if (LA132_22 == COMMA) : LA132_25 = self.input.LA(24) if (LA132_25 == DASH) : LA132_27 = self.input.LA(25) if (LA132_27 == INT) : LA132_28 = self.input.LA(26) if (LA132_28 == R_PAREN) : LA132_30 = self.input.LA(27) if (LA132_30 == COMMA) : LA132_32 = self.input.LA(28) if (LA132_32 == L_PAREN) : LA132_34 = self.input.LA(29) if (LA132_34 == INT) : LA132_36 = self.input.LA(30) if (LA132_36 == COMMA) : LA132_38 = self.input.LA(31) if (LA132_38 == INT) : LA132_40 = self.input.LA(32) if (LA132_40 == R_PAREN) : LA132_43 = self.input.LA(33) if (LA132_43 == 230) : LA132 = self.input.LA(34) if LA132 in {233}: LA132_42 = self.input.LA(35) if (LA132_42 == KEEP) : LA132_6 = self.input.LA(36) if (LA132_6 == SPECIFIC) : LA132_9 = self.input.LA(37) if (LA132_9 == GEODE) : LA132_13 = self.input.LA(38) if (LA132_13 == HYPERLINK) : LA132_16 = self.input.LA(39) if (LA132_16 == STRING) : LA132_20 = self.input.LA(40) if (LA132_20 == 230) : LA132_24 = self.input.LA(41) if (LA132_24 in {CALL, DECISION, OUTPUT, TASK}) : alt132 = 1 elif (LA132_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 42, self.input) raise nvae elif LA132 in {CALL, DECISION, OUTPUT, TASK}: alt132 = 1 elif LA132 in {JOIN, NEXTSTATE, RETURN, STOP}: alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 132, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise Backtrack