# $ANTLR 3.5.2 sdl92.g 2020-07-08 21:02:36 import sys from antlr3 import * from antlr3.tree import * # for convenience in actions HIDDEN = BaseRecognizer.HIDDEN # token types EOF=-1 T__224=224 T__225=225 T__226=226 T__227=227 T__228=228 T__229=229 T__230=230 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 EXPRESSION=71 EXTERNAL=72 Exponent=73 F=74 FALSE=75 FI=76 FIELD=77 FIELDS=78 FIELD_NAME=79 FLOAT=80 FLOAT2=81 FLOATING_LABEL=82 FOR=83 FPAR=84 FROM=85 G=86 GE=87 GEODE=88 GROUND=89 GT=90 H=91 HYPERLINK=92 I=93 ID=94 IF=95 IFTHENELSE=96 IMPLIES=97 IMPORT=98 IN=99 INFORMAL_TEXT=100 INOUT=101 INPUT=102 INPUTLIST=103 INPUT_NONE=104 INT=105 J=106 JOIN=107 K=108 KEEP=109 L=110 LABEL=111 LE=112 LITERAL=113 LT=114 L_BRACKET=115 L_PAREN=116 M=117 MANTISSA=118 MINUS_INFINITY=119 MKSTRING=120 MOD=121 N=122 NEG=123 NEQ=124 NEWTYPE=125 NEXTSTATE=126 NONE=127 NOT=128 NUMBER_OF_INSTANCES=129 O=130 OCTSTR=131 OPEN_RANGE=132 OR=133 OUT=134 OUTPUT=135 OUTPUT_BODY=136 P=137 PARAM=138 PARAMNAMES=139 PARAMS=140 PAREN=141 PFPAR=142 PLUS=143 PLUS_INFINITY=144 POINT=145 PRIMARY=146 PRIORITY=147 PROCEDURE=148 PROCEDURE_CALL=149 PROCEDURE_NAME=150 PROCESS=151 PROVIDED=152 Q=153 QUESTION=154 R=155 RANGE=156 REFERENCED=157 REM=158 RESET=159 RETURN=160 RETURNS=161 ROUTE=162 R_BRACKET=163 R_PAREN=164 S=165 SAVE=166 SELECTOR=167 SEMI=168 SEQOF=169 SEQUENCE=170 SET=171 SIGNAL=172 SIGNALROUTE=173 SIGNAL_LIST=174 SORT=175 SPECIFIC=176 START=177 STATE=178 STATELIST=179 STATE_AGGREGATION=180 STATE_PARTITION_CONNECTION=181 STIMULUS=182 STOP=183 STOPIF=184 STR=185 STRING=186 STRUCT=187 SUBSTRUCTURE=188 SYNONYM=189 SYNONYM_LIST=190 SYNTYPE=191 SYSTEM=192 T=193 TASK=194 TASK_BODY=195 TERMINATOR=196 TEXT=197 TEXTAREA=198 TEXTAREA_CONTENT=199 THEN=200 THIS=201 TIMER=202 TO=203 TRANSITION=204 TRUE=205 TYPE=206 TYPE_INSTANCE=207 U=208 USE=209 V=210 VALUE=211 VARIABLE=212 VARIABLES=213 VIA=214 VIAPATH=215 VIEW=216 W=217 WITH=218 WS=219 X=220 XOR=221 Y=222 Z=223 # token names tokenNamesMap = { 0: "", 1: "", 2: "", 3: "", -1: "EOF", 224: "T__224", 225: "T__225", 226: "T__226", 227: "T__227", 228: "T__228", 229: "T__229", 230: "T__230", 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: "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_NONE", 105: "INT", 106: "J", 107: "JOIN", 108: "K", 109: "KEEP", 110: "L", 111: "LABEL", 112: "LE", 113: "LITERAL", 114: "LT", 115: "L_BRACKET", 116: "L_PAREN", 117: "M", 118: "MANTISSA", 119: "MINUS_INFINITY", 120: "MKSTRING", 121: "MOD", 122: "N", 123: "NEG", 124: "NEQ", 125: "NEWTYPE", 126: "NEXTSTATE", 127: "NONE", 128: "NOT", 129: "NUMBER_OF_INSTANCES", 130: "O", 131: "OCTSTR", 132: "OPEN_RANGE", 133: "OR", 134: "OUT", 135: "OUTPUT", 136: "OUTPUT_BODY", 137: "P", 138: "PARAM", 139: "PARAMNAMES", 140: "PARAMS", 141: "PAREN", 142: "PFPAR", 143: "PLUS", 144: "PLUS_INFINITY", 145: "POINT", 146: "PRIMARY", 147: "PRIORITY", 148: "PROCEDURE", 149: "PROCEDURE_CALL", 150: "PROCEDURE_NAME", 151: "PROCESS", 152: "PROVIDED", 153: "Q", 154: "QUESTION", 155: "R", 156: "RANGE", 157: "REFERENCED", 158: "REM", 159: "RESET", 160: "RETURN", 161: "RETURNS", 162: "ROUTE", 163: "R_BRACKET", 164: "R_PAREN", 165: "S", 166: "SAVE", 167: "SELECTOR", 168: "SEMI", 169: "SEQOF", 170: "SEQUENCE", 171: "SET", 172: "SIGNAL", 173: "SIGNALROUTE", 174: "SIGNAL_LIST", 175: "SORT", 176: "SPECIFIC", 177: "START", 178: "STATE", 179: "STATELIST", 180: "STATE_AGGREGATION", 181: "STATE_PARTITION_CONNECTION", 182: "STIMULUS", 183: "STOP", 184: "STOPIF", 185: "STR", 186: "STRING", 187: "STRUCT", 188: "SUBSTRUCTURE", 189: "SYNONYM", 190: "SYNONYM_LIST", 191: "SYNTYPE", 192: "SYSTEM", 193: "T", 194: "TASK", 195: "TASK_BODY", 196: "TERMINATOR", 197: "TEXT", 198: "TEXTAREA", 199: "TEXTAREA_CONTENT", 200: "THEN", 201: "THIS", 202: "TIMER", 203: "TO", 204: "TRANSITION", 205: "TRUE", 206: "TYPE", 207: "TYPE_INSTANCE", 208: "U", 209: "USE", 210: "V", 211: "VALUE", 212: "VARIABLE", 213: "VARIABLES", 214: "VIA", 215: "VIAPATH", 216: "VIEW", 217: "W", 218: "WITH", 219: "WS", 220: "X", 221: "XOR", 222: "Y", 223: "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", "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_NONE", "INT", "J", "JOIN", "K", "KEEP", "L", "LABEL", "LE", "LITERAL", "LT", "L_BRACKET", "L_PAREN", "M", "MANTISSA", "MINUS_INFINITY", "MKSTRING", "MOD", "N", "NEG", "NEQ", "NEWTYPE", "NEXTSTATE", "NONE", "NOT", "NUMBER_OF_INSTANCES", "O", "OCTSTR", "OPEN_RANGE", "OR", "OUT", "OUTPUT", "OUTPUT_BODY", "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.dfa53 = self.DFA53( self, 53, eot = self.DFA53_eot, eof = self.DFA53_eof, min = self.DFA53_min, max = self.DFA53_max, accept = self.DFA53_accept, special = self.DFA53_special, transition = self.DFA53_transition ) self.dfa91 = self.DFA91( self, 91, eot = self.DFA91_eot, eof = self.DFA91_eof, min = self.DFA91_min, max = self.DFA91_max, accept = self.DFA91_accept, special = self.DFA91_special, transition = self.DFA91_transition ) self.dfa133 = self.DFA133( self, 133, eot = self.DFA133_eot, eof = self.DFA133_eof, min = self.DFA133_min, max = self.DFA133_max, accept = self.DFA133_accept, special = self.DFA133_special, transition = self.DFA133_transition ) self.dfa194 = self.DFA194( self, 194, eot = self.DFA194_eot, eof = self.DFA194_eof, min = self.DFA194_min, max = self.DFA194_max, accept = self.DFA194_accept, special = self.DFA194_special, transition = self.DFA194_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:146: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:147:9: ( ( use_clause | system_definition | process_definition )+ ) # sdl92.g:147:17: ( use_clause | system_definition | process_definition )+ pass root_0 = self._adaptor.nil() # sdl92.g:147:17: ( use_clause | system_definition | process_definition )+ cnt1 = 0 while True: #loop1 alt1 = 4 LA1 = self.input.LA(1) if LA1 in {229}: 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:147:18: use_clause pass self._state.following.append(self.FOLLOW_use_clause_in_pr_file1375) 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:148:19: system_definition pass self._state.following.append(self.FOLLOW_system_definition_in_pr_file1395) 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:149:19: process_definition pass self._state.following.append(self.FOLLOW_process_definition_in_pr_file1415) 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:153: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:154:9: ( SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ) # sdl92.g:154:17: SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end pass SYSTEM4 = self.match(self.input, SYSTEM, self.FOLLOW_SYSTEM_in_system_definition1449) if self._state.backtracking == 0: stream_SYSTEM.add(SYSTEM4) self._state.following.append(self.FOLLOW_system_name_in_system_definition1451) 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_definition1453) end6 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end6.tree) # sdl92.g:155:17: ( entity_in_system )* while True: #loop2 alt2 = 2 LA2_0 = self.input.LA(1) if (LA2_0 in {BLOCK, CHANNEL, PROCEDURE, SIGNAL, 229}) : alt2 = 1 if alt2 == 1: # sdl92.g:155:17: entity_in_system pass self._state.following.append(self.FOLLOW_entity_in_system_in_system_definition1471) 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_definition1490) if self._state.backtracking == 0: stream_ENDSYSTEM.add(ENDSYSTEM8) # sdl92.g:156:27: ( system_name )? alt3 = 2 LA3_0 = self.input.LA(1) if (LA3_0 == ID) : alt3 = 1 if alt3 == 1: # sdl92.g:156:27: system_name pass self._state.following.append(self.FOLLOW_system_name_in_system_definition1492) 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_definition1495) 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() # 157:9: -> ^( SYSTEM system_name ( entity_in_system )* ) # sdl92.g:157: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:157: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:161: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:162:9: ( ( use_asn1 )? USE package_name ( '/' def_selection_list )? end -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) ) # sdl92.g:162:17: ( use_asn1 )? USE package_name ( '/' def_selection_list )? end pass # sdl92.g:162:17: ( use_asn1 )? alt4 = 2 LA4_0 = self.input.LA(1) if (LA4_0 == 229) : alt4 = 1 if alt4 == 1: # sdl92.g:162:17: use_asn1 pass self._state.following.append(self.FOLLOW_use_asn1_in_use_clause1551) 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_clause1570) if self._state.backtracking == 0: stream_USE.add(USE12) self._state.following.append(self.FOLLOW_package_name_in_use_clause1572) package_name13 = self.package_name() self._state.following.pop() if self._state.backtracking == 0: stream_package_name.add(package_name13.tree) # sdl92.g:164:17: ( '/' def_selection_list )? alt5 = 2 LA5_0 = self.input.LA(1) if (LA5_0 == DIV) : alt5 = 1 if alt5 == 1: # sdl92.g:164:18: '/' def_selection_list pass char_literal14 = self.match(self.input, DIV, self.FOLLOW_DIV_in_use_clause1591) if self._state.backtracking == 0: stream_DIV.add(char_literal14) self._state.following.append(self.FOLLOW_def_selection_list_in_use_clause1593) 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_clause1614) 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() # 166:9: -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) # sdl92.g:166: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:166:23: ( use_asn1 )? if stream_use_asn1.hasNext(): self._adaptor.addChild(root_1, stream_use_asn1.nextTree()) stream_use_asn1.reset(); # sdl92.g:166: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:166: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:173: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:174:9: ( ID ( ',' ! ID )* ) # sdl92.g:174:17: ID ( ',' ! ID )* pass root_0 = self._adaptor.nil() ID17 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1678) if self._state.backtracking == 0: ID17_tree = self._adaptor.createWithPayload(ID17) self._adaptor.addChild(root_0, ID17_tree) # sdl92.g:174:20: ( ',' ! ID )* while True: #loop6 alt6 = 2 LA6_0 = self.input.LA(1) if (LA6_0 == COMMA) : alt6 = 1 if alt6 == 1: # sdl92.g:174:21: ',' ! ID pass char_literal18 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_def_selection_list1681) ID19 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1684) 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:181: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:182:9: ( signal_declaration | text_area | procedure | channel | block_definition ) alt7 = 5 LA7 = self.input.LA(1) if LA7 in {229}: 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 {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:182:17: signal_declaration pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_system1720) 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:183:19: text_area pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_text_area_in_entity_in_system1740) 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:184:19: procedure pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_procedure_in_entity_in_system1760) procedure22 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, procedure22.tree) elif alt7 == 4: # sdl92.g:185:19: channel pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_channel_in_entity_in_system1780) channel23 = self.channel() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, channel23.tree) elif alt7 == 5: # sdl92.g:186:19: block_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_block_definition_in_entity_in_system1800) 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:192: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:193:9: ( ( paramnames )? SIGNAL signal_id ( input_params )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ) ) # sdl92.g:193:17: ( paramnames )? SIGNAL signal_id ( input_params )? end pass # sdl92.g:193:17: ( paramnames )? alt8 = 2 LA8_0 = self.input.LA(1) if (LA8_0 == 229) : alt8 = 1 if alt8 == 1: # sdl92.g:193:17: paramnames pass self._state.following.append(self.FOLLOW_paramnames_in_signal_declaration1833) 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_declaration1852) if self._state.backtracking == 0: stream_SIGNAL.add(SIGNAL26) self._state.following.append(self.FOLLOW_signal_id_in_signal_declaration1854) signal_id27 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: stream_signal_id.add(signal_id27.tree) # sdl92.g:194:34: ( input_params )? alt9 = 2 LA9_0 = self.input.LA(1) if (LA9_0 == L_PAREN) : alt9 = 1 if alt9 == 1: # sdl92.g:194:34: input_params pass self._state.following.append(self.FOLLOW_input_params_in_signal_declaration1856) 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_declaration1859) 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() # 195:9: -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ) # sdl92.g:195:17: ^( SIGNAL ( paramnames )? signal_id ( input_params )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SIGNAL.nextNode() , root_1) # sdl92.g:195: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:195: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:199: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:200:9: ( CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ) # sdl92.g:200:17: CHANNEL channel_id ( route )+ ENDCHANNEL end pass CHANNEL30 = self.match(self.input, CHANNEL, self.FOLLOW_CHANNEL_in_channel1918) if self._state.backtracking == 0: stream_CHANNEL.add(CHANNEL30) self._state.following.append(self.FOLLOW_channel_id_in_channel1920) channel_id31 = self.channel_id() self._state.following.pop() if self._state.backtracking == 0: stream_channel_id.add(channel_id31.tree) # sdl92.g:201: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:201:17: route pass self._state.following.append(self.FOLLOW_route_in_channel1938) 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_channel1957) if self._state.backtracking == 0: stream_ENDCHANNEL.add(ENDCHANNEL33) self._state.following.append(self.FOLLOW_end_in_channel1959) 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() # 203:9: -> ^( CHANNEL channel_id ( route )+ ) # sdl92.g:203: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:203: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:207: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:208:9: ( FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ) # sdl92.g:208:17: FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end pass FROM35 = self.match(self.input, FROM, self.FOLLOW_FROM_in_route2015) if self._state.backtracking == 0: stream_FROM.add(FROM35) self._state.following.append(self.FOLLOW_source_id_in_route2017) 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_route2019) if self._state.backtracking == 0: stream_TO.add(TO37) self._state.following.append(self.FOLLOW_dest_id_in_route2021) 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_route2023) if self._state.backtracking == 0: stream_WITH.add(WITH39) self._state.following.append(self.FOLLOW_signal_id_in_route2025) signal_id40 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: stream_signal_id.add(signal_id40.tree) # sdl92.g:208: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:208:59: ',' signal_id pass char_literal41 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_route2028) if self._state.backtracking == 0: stream_COMMA.add(char_literal41) self._state.following.append(self.FOLLOW_signal_id_in_route2030) 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_route2034) 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() # 209:9: -> ^( ROUTE source_id dest_id ( signal_id )+ ) # sdl92.g:209: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:209: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:213: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:214:9: ( BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ) # sdl92.g:214:17: BLOCK block_id end ( entity_in_block )* ENDBLOCK end pass BLOCK44 = self.match(self.input, BLOCK, self.FOLLOW_BLOCK_in_block_definition2092) if self._state.backtracking == 0: stream_BLOCK.add(BLOCK44) self._state.following.append(self.FOLLOW_block_id_in_block_definition2094) 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_definition2096) end46 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end46.tree) # sdl92.g:215:17: ( entity_in_block )* while True: #loop12 alt12 = 2 LA12_0 = self.input.LA(1) if (LA12_0 in {BLOCK, CONNECT, PROCESS, SIGNAL, SIGNALROUTE, 229}) : alt12 = 1 if alt12 == 1: # sdl92.g:215:17: entity_in_block pass self._state.following.append(self.FOLLOW_entity_in_block_in_block_definition2114) 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_definition2133) if self._state.backtracking == 0: stream_ENDBLOCK.add(ENDBLOCK48) self._state.following.append(self.FOLLOW_end_in_block_definition2135) 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() # 217:9: -> ^( BLOCK block_id ( entity_in_block )* ) # sdl92.g:217: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:217: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:225: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:226:9: ( signal_declaration | signalroute | connection | block_definition | process_definition ) alt13 = 5 LA13 = self.input.LA(1) if LA13 in {229}: 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:226:17: signal_declaration pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_block2193) 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:227:19: signalroute pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signalroute_in_entity_in_block2213) signalroute51 = self.signalroute() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, signalroute51.tree) elif alt13 == 3: # sdl92.g:228:19: connection pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_connection_in_entity_in_block2233) connection52 = self.connection() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, connection52.tree) elif alt13 == 4: # sdl92.g:229:19: block_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_block_definition_in_entity_in_block2253) 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:230:19: process_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_process_definition_in_entity_in_block2273) 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:236: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:237:9: ( SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ) # sdl92.g:237:17: SIGNALROUTE route_id ( end )? ( route )* pass SIGNALROUTE55 = self.match(self.input, SIGNALROUTE, self.FOLLOW_SIGNALROUTE_in_signalroute2307) if self._state.backtracking == 0: stream_SIGNALROUTE.add(SIGNALROUTE55) self._state.following.append(self.FOLLOW_route_id_in_signalroute2309) route_id56 = self.route_id() self._state.following.pop() if self._state.backtracking == 0: stream_route_id.add(route_id56.tree) # sdl92.g:237:38: ( end )? alt14 = 2 LA14_0 = self.input.LA(1) if (LA14_0 == 229) : 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 == 226) : LA14_21 = self.input.LA(17) if (LA14_21 in {COMMENT, 229}) : 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 == 226) : LA14_21 = self.input.LA(16) if (LA14_21 in {COMMENT, 229}) : 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 == 226) : LA14_21 = self.input.LA(16) if (LA14_21 in {COMMENT, 229}) : 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 == 226) : LA14_21 = self.input.LA(15) if (LA14_21 in {COMMENT, 229}) : 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:237:38: end pass self._state.following.append(self.FOLLOW_end_in_signalroute2311) end57 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end57.tree) # sdl92.g:238:17: ( route )* while True: #loop15 alt15 = 2 LA15_0 = self.input.LA(1) if (LA15_0 == FROM) : alt15 = 1 if alt15 == 1: # sdl92.g:238:17: route pass self._state.following.append(self.FOLLOW_route_in_signalroute2330) 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() # 239:9: -> ^( SIGNALROUTE route_id ( route )* ) # sdl92.g:239: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:239: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:243: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:244:9: ( CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ) # sdl92.g:244:17: CONNECT channel_id AND route_id end pass CONNECT59 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connection2387) if self._state.backtracking == 0: stream_CONNECT.add(CONNECT59) self._state.following.append(self.FOLLOW_channel_id_in_connection2389) 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_connection2391) if self._state.backtracking == 0: stream_AND.add(AND61) self._state.following.append(self.FOLLOW_route_id_in_connection2393) 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_connection2395) 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() # 245:9: -> ^( CONNECTION channel_id route_id ) # sdl92.g:245: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:257: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_PROCESS = RewriteRuleTokenStream(self._adaptor, "token PROCESS") stream_ENDPROCESS = RewriteRuleTokenStream(self._adaptor, "token ENDPROCESS") stream_TYPE = RewriteRuleTokenStream(self._adaptor, "token TYPE") stream_230 = RewriteRuleTokenStream(self._adaptor, "token 230") 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:258: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:258: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:258:17: ( cif )? alt16 = 2 LA16_0 = self.input.LA(1) if (LA16_0 == 229) : alt16 = 1 if alt16 == 1: # sdl92.g:258:17: cif pass self._state.following.append(self.FOLLOW_cif_in_process_definition2452) 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_definition2471) if self._state.backtracking == 0: stream_PROCESS.add(PROCESS65) # sdl92.g:259:26: (t= TYPE )? alt17 = 2 LA17_0 = self.input.LA(1) if (LA17_0 == TYPE) : alt17 = 1 if alt17 == 1: # sdl92.g:259:26: t= TYPE pass t = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2475) if self._state.backtracking == 0: stream_TYPE.add(t) self._state.following.append(self.FOLLOW_process_id_in_process_definition2478) process_id66 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: stream_process_id.add(process_id66.tree) # sdl92.g:260:17: ( number_of_instances )? alt18 = 2 LA18_0 = self.input.LA(1) if (LA18_0 == L_PAREN) : alt18 = 1 if alt18 == 1: # sdl92.g:260:17: number_of_instances pass self._state.following.append(self.FOLLOW_number_of_instances_in_process_definition2496) 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:260:38: ( ':' type_inst )? alt19 = 2 LA19_0 = self.input.LA(1) if (LA19_0 == 230) : alt19 = 1 if alt19 == 1: # sdl92.g:260:39: ':' type_inst pass char_literal68 = self.match(self.input, 230, self.FOLLOW_230_in_process_definition2500) if self._state.backtracking == 0: stream_230.add(char_literal68) self._state.following.append(self.FOLLOW_type_inst_in_process_definition2502) type_inst69 = self.type_inst() self._state.following.pop() if self._state.backtracking == 0: stream_type_inst.add(type_inst69.tree) # sdl92.g:260:55: ( REFERENCED )? alt20 = 2 LA20_0 = self.input.LA(1) if (LA20_0 == REFERENCED) : alt20 = 1 if alt20 == 1: # sdl92.g:260:55: REFERENCED pass REFERENCED70 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_process_definition2506) if self._state.backtracking == 0: stream_REFERENCED.add(REFERENCED70) self._state.following.append(self.FOLLOW_end_in_process_definition2511) a = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(a.tree) # sdl92.g:261:17: ( pfpar )? alt21 = 2 LA21_0 = self.input.LA(1) if (LA21_0 == FPAR) : alt21 = 1 if alt21 == 1: # sdl92.g:261:17: pfpar pass self._state.following.append(self.FOLLOW_pfpar_in_process_definition2529) pfpar71 = self.pfpar() self._state.following.pop() if self._state.backtracking == 0: stream_pfpar.add(pfpar71.tree) # sdl92.g:262:17: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* while True: #loop22 alt22 = 4 LA22 = self.input.LA(1) if LA22 in {229}: 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 {PROCEDURE}: alt22 = 2 if alt22 == 1: # sdl92.g:262:18: text_area pass self._state.following.append(self.FOLLOW_text_area_in_process_definition2549) 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:262:30: procedure pass self._state.following.append(self.FOLLOW_procedure_in_process_definition2553) procedure73 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: stream_procedure.add(procedure73.tree) elif alt22 == 3: # sdl92.g:262:42: ( composite_state_preamble )=> composite_state pass self._state.following.append(self.FOLLOW_composite_state_in_process_definition2562) 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:263:17: ( processBody )? alt23 = 2 LA23 = self.input.LA(1) if LA23 in {229}: 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:263:17: processBody pass self._state.following.append(self.FOLLOW_processBody_in_process_definition2582) processBody75 = self.processBody() self._state.following.pop() if self._state.backtracking == 0: stream_processBody.add(processBody75.tree) # sdl92.g:263:30: ( ENDPROCESS )? alt24 = 2 LA24_0 = self.input.LA(1) if (LA24_0 == ENDPROCESS) : alt24 = 1 if alt24 == 1: # sdl92.g:263:30: ENDPROCESS pass ENDPROCESS76 = self.match(self.input, ENDPROCESS, self.FOLLOW_ENDPROCESS_in_process_definition2585) if self._state.backtracking == 0: stream_ENDPROCESS.add(ENDPROCESS76) # sdl92.g:263:42: ( TYPE )? alt25 = 2 LA25_0 = self.input.LA(1) if (LA25_0 == TYPE) : alt25 = 1 if alt25 == 1: # sdl92.g:263:42: TYPE pass TYPE77 = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2588) if self._state.backtracking == 0: stream_TYPE.add(TYPE77) # sdl92.g:263:48: ( process_id )? alt26 = 2 LA26_0 = self.input.LA(1) if (LA26_0 == ID) : alt26 = 1 if alt26 == 1: # sdl92.g:263:48: process_id pass self._state.following.append(self.FOLLOW_process_id_in_process_definition2591) process_id78 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: stream_process_id.add(process_id78.tree) # sdl92.g:264:17: ( end )? alt27 = 2 LA27_0 = self.input.LA(1) if (LA27_0 == 229) : 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 == 226) : LA27_21 = self.input.LA(17) if (LA27_21 in {COMMENT, 229}) : 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 == 226) : LA27_21 = self.input.LA(16) if (LA27_21 in {COMMENT, 229}) : 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 == 226) : LA27_21 = self.input.LA(16) if (LA27_21 in {COMMENT, 229}) : 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 == 226) : LA27_21 = self.input.LA(15) if (LA27_21 in {COMMENT, 229}) : 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:264:17: end pass self._state.following.append(self.FOLLOW_end_in_process_definition2610) 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() # 265:9: -> ^( PROCESS ( cif )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) # sdl92.g:265: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:265: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:265: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:265:64: ( type_inst )? if stream_type_inst.hasNext(): self._adaptor.addChild(root_1, stream_type_inst.nextTree()) stream_type_inst.reset(); # sdl92.g:266:18: ( $t)? if stream_t.hasNext(): self._adaptor.addChild(root_1, stream_t.nextNode()) stream_t.reset(); # sdl92.g:266:21: ( REFERENCED )? if stream_REFERENCED.hasNext(): self._adaptor.addChild(root_1, stream_REFERENCED.nextNode() ) stream_REFERENCED.reset(); # sdl92.g:266:34: ( $a)? if stream_a.hasNext(): self._adaptor.addChild(root_1, stream_a.nextTree()) stream_a.reset(); # sdl92.g:266:37: ( pfpar )? if stream_pfpar.hasNext(): self._adaptor.addChild(root_1, stream_pfpar.nextTree()) stream_pfpar.reset(); # sdl92.g:266:44: ( text_area )* while stream_text_area.hasNext(): self._adaptor.addChild(root_1, stream_text_area.nextTree()) stream_text_area.reset(); # sdl92.g:266:55: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); # sdl92.g:267:17: ( composite_state )* while stream_composite_state.hasNext(): self._adaptor.addChild(root_1, stream_composite_state.nextTree()) stream_composite_state.reset(); # sdl92.g:267: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:272: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:273:9: ( FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? -> ^( PFPAR ( parameters_of_sort )+ ) ) # sdl92.g:273:17: FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? pass FPAR80 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_pfpar2732) if self._state.backtracking == 0: stream_FPAR.add(FPAR80) self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar2734) 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:274: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:274:18: ',' parameters_of_sort pass char_literal82 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_pfpar2753) if self._state.backtracking == 0: stream_COMMA.add(char_literal82) self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar2755) 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:275:17: ( end )? alt29 = 2 LA29 = self.input.LA(1) if LA29 in {229}: 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 == 226) : LA29_28 = self.input.LA(17) if (LA29_28 == 229) : 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 == 226) : 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 == 226) : LA29_28 = self.input.LA(16) if (LA29_28 == 229) : 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 == 226) : 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 == 226) : LA29_28 = self.input.LA(16) if (LA29_28 == 229) : 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 == 226) : 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 == 226) : LA29_28 = self.input.LA(15) if (LA29_28 == 229) : 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 == 226) : 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 == 226) : 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:275:17: end pass self._state.following.append(self.FOLLOW_end_in_pfpar2775) 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() # 276:9: -> ^( PFPAR ( parameters_of_sort )+ ) # sdl92.g:276:17: ^( PFPAR ( parameters_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PFPAR, "PFPAR") , root_1) # sdl92.g:276: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:280: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:281:9: ( variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ) # sdl92.g:281:17: variable_id ( ',' variable_id )* sort pass self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort2830) variable_id85 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id85.tree) # sdl92.g:281: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:281:30: ',' variable_id pass char_literal86 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_parameters_of_sort2833) if self._state.backtracking == 0: stream_COMMA.add(char_literal86) self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort2835) 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_sort2839) 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() # 282:9: -> ^( PARAM ( variable_id )+ sort ) # sdl92.g:282:17: ^( PARAM ( variable_id )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAM, "PARAM") , root_1) # sdl92.g:282: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:287:1: procedure : ( cif )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL ) e2= end -> ^( PROCEDURE ( cif )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ) ; def procedure(self, ): retval = self.procedure_return() retval.start = self.input.LT(1) root_0 = None PROCEDURE90 = None SEMI92 = None ENDPROCEDURE97 = None EXTERNAL99 = None e1 = None res = None e2 = None cif89 = None procedure_id91 = None fpar93 = None text_area94 = None procedure95 = None processBody96 = None procedure_id98 = None PROCEDURE90_tree = None SEMI92_tree = None ENDPROCEDURE97_tree = None EXTERNAL99_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_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:288:9: ( ( cif )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL ) e2= end -> ^( PROCEDURE ( cif )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ) ) # sdl92.g:288:17: ( cif )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL ) e2= end pass # sdl92.g:288:17: ( cif )? alt31 = 2 LA31_0 = self.input.LA(1) if (LA31_0 == 229) : alt31 = 1 if alt31 == 1: # sdl92.g:288:17: cif pass self._state.following.append(self.FOLLOW_cif_in_procedure2896) cif89 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif89.tree) PROCEDURE90 = self.match(self.input, PROCEDURE, self.FOLLOW_PROCEDURE_in_procedure2915) if self._state.backtracking == 0: stream_PROCEDURE.add(PROCEDURE90) self._state.following.append(self.FOLLOW_procedure_id_in_procedure2917) procedure_id91 = self.procedure_id() self._state.following.pop() if self._state.backtracking == 0: stream_procedure_id.add(procedure_id91.tree) # sdl92.g:289:40: (e1= end | SEMI ) alt32 = 2 LA32_0 = self.input.LA(1) if (LA32_0 in {COMMENT, 229}) : alt32 = 1 elif (LA32_0 == SEMI) : LA32_2 = self.input.LA(2) if (self.synpred42_sdl92()) : alt32 = 1 elif (True) : alt32 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 32, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 32, 0, self.input) raise nvae if alt32 == 1: # sdl92.g:289:41: e1= end pass self._state.following.append(self.FOLLOW_end_in_procedure2922) e1 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e1.tree) elif alt32 == 2: # sdl92.g:289:50: SEMI pass SEMI92 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_procedure2926) if self._state.backtracking == 0: stream_SEMI.add(SEMI92) # sdl92.g:290:17: ( fpar )? alt33 = 2 LA33_0 = self.input.LA(1) if (LA33_0 == FPAR) : alt33 = 1 if alt33 == 1: # sdl92.g:290:17: fpar pass self._state.following.append(self.FOLLOW_fpar_in_procedure2945) fpar93 = self.fpar() self._state.following.pop() if self._state.backtracking == 0: stream_fpar.add(fpar93.tree) # sdl92.g:291:20: (res= procedure_result )? alt34 = 2 LA34_0 = self.input.LA(1) if (LA34_0 in {RETURNS, 227}) : alt34 = 1 if alt34 == 1: # sdl92.g:291:20: res= procedure_result pass self._state.following.append(self.FOLLOW_procedure_result_in_procedure2966) res = self.procedure_result() self._state.following.pop() if self._state.backtracking == 0: stream_procedure_result.add(res.tree) # sdl92.g:292:17: ( text_area | procedure )* while True: #loop35 alt35 = 3 LA35_0 = self.input.LA(1) if (LA35_0 == 229) : LA35_1 = self.input.LA(2) if (self.synpred45_sdl92()) : alt35 = 1 elif (self.synpred46_sdl92()) : alt35 = 2 elif (LA35_0 == PROCEDURE) : alt35 = 2 if alt35 == 1: # sdl92.g:292:18: text_area pass self._state.following.append(self.FOLLOW_text_area_in_procedure2986) text_area94 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: stream_text_area.add(text_area94.tree) elif alt35 == 2: # sdl92.g:292:30: procedure pass self._state.following.append(self.FOLLOW_procedure_in_procedure2990) procedure95 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: stream_procedure.add(procedure95.tree) else: break #loop35 # sdl92.g:293:17: ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL ) alt38 = 2 LA38_0 = self.input.LA(1) if (LA38_0 in {EOF, BLOCK, COMMENT, CONNECT, CONNECTION, ENDBLOCK, ENDPROCEDURE, ENDPROCESS, ID, PROCESS, SEMI, SIGNAL, SIGNALROUTE, START, STATE, SYSTEM, TYPE, USE, 229}) : alt38 = 1 elif (LA38_0 == EXTERNAL) : alt38 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 38, 0, self.input) raise nvae if alt38 == 1: # sdl92.g:293:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) pass # sdl92.g:293:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) # sdl92.g:293:19: ( processBody )? ENDPROCEDURE ( procedure_id )? pass # sdl92.g:293:19: ( processBody )? alt36 = 2 LA36_0 = self.input.LA(1) if (LA36_0 in {CONNECTION, START, STATE, 229}) : alt36 = 1 elif (LA36_0 == ENDPROCEDURE) : LA36_2 = self.input.LA(2) if (self.synpred47_sdl92()) : alt36 = 1 if alt36 == 1: # sdl92.g:293:19: processBody pass self._state.following.append(self.FOLLOW_processBody_in_procedure3012) processBody96 = self.processBody() self._state.following.pop() if self._state.backtracking == 0: stream_processBody.add(processBody96.tree) ENDPROCEDURE97 = self.match(self.input, ENDPROCEDURE, self.FOLLOW_ENDPROCEDURE_in_procedure3015) if self._state.backtracking == 0: stream_ENDPROCEDURE.add(ENDPROCEDURE97) # sdl92.g:293:45: ( procedure_id )? alt37 = 2 LA37_0 = self.input.LA(1) if (LA37_0 == ID) : alt37 = 1 if alt37 == 1: # sdl92.g:293:45: procedure_id pass self._state.following.append(self.FOLLOW_procedure_id_in_procedure3017) procedure_id98 = self.procedure_id() self._state.following.pop() if self._state.backtracking == 0: stream_procedure_id.add(procedure_id98.tree) elif alt38 == 2: # sdl92.g:293:62: EXTERNAL pass EXTERNAL99 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_procedure3023) if self._state.backtracking == 0: stream_EXTERNAL.add(EXTERNAL99) self._state.following.append(self.FOLLOW_end_in_procedure3044) 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 # 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() # 295:9: -> ^( PROCEDURE ( cif )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ) # sdl92.g:295:17: ^( PROCEDURE ( cif )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PROCEDURE.nextNode() , root_1) # sdl92.g:295: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:295:48: ( $e1)? if stream_e1.hasNext(): self._adaptor.addChild(root_1, stream_e1.nextTree()) stream_e1.reset(); # sdl92.g:295:53: ( $e2)? if stream_e2.hasNext(): self._adaptor.addChild(root_1, stream_e2.nextTree()) stream_e2.reset(); # sdl92.g:295:57: ( fpar )? if stream_fpar.hasNext(): self._adaptor.addChild(root_1, stream_fpar.nextTree()) stream_fpar.reset(); # sdl92.g:295:64: ( $res)? if stream_res.hasNext(): self._adaptor.addChild(root_1, stream_res.nextTree()) stream_res.reset(); # sdl92.g:296:17: ( text_area )* while stream_text_area.hasNext(): self._adaptor.addChild(root_1, stream_text_area.nextTree()) stream_text_area.reset(); # sdl92.g:296:28: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); # sdl92.g:296:39: ( processBody )? if stream_processBody.hasNext(): self._adaptor.addChild(root_1, stream_processBody.nextTree()) stream_processBody.reset(); # sdl92.g:296:52: ( EXTERNAL )? if stream_EXTERNAL.hasNext(): self._adaptor.addChild(root_1, stream_EXTERNAL.nextNode() ) stream_EXTERNAL.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:300: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_literal100 = None RETURNS101 = None variable_id102 = None sort103 = None end104 = None string_literal100_tree = None RETURNS101_tree = None stream_RETURNS = RewriteRuleTokenStream(self._adaptor, "token RETURNS") stream_227 = RewriteRuleTokenStream(self._adaptor, "token 227") 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:301:9: ( ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ) # sdl92.g:301:17: ( '->' | RETURNS ) ( variable_id )? sort ( end )? pass # sdl92.g:301:17: ( '->' | RETURNS ) alt39 = 2 LA39_0 = self.input.LA(1) if (LA39_0 == 227) : alt39 = 1 elif (LA39_0 == RETURNS) : alt39 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 39, 0, self.input) raise nvae if alt39 == 1: # sdl92.g:301:18: '->' pass string_literal100 = self.match(self.input, 227, self.FOLLOW_227_in_procedure_result3144) if self._state.backtracking == 0: stream_227.add(string_literal100) elif alt39 == 2: # sdl92.g:301:25: RETURNS pass RETURNS101 = self.match(self.input, RETURNS, self.FOLLOW_RETURNS_in_procedure_result3148) if self._state.backtracking == 0: stream_RETURNS.add(RETURNS101) # sdl92.g:302:17: ( variable_id )? alt40 = 2 LA40_0 = self.input.LA(1) if (LA40_0 == ID) : LA40_1 = self.input.LA(2) if (LA40_1 == ID) : alt40 = 1 if alt40 == 1: # sdl92.g:302:17: variable_id pass self._state.following.append(self.FOLLOW_variable_id_in_procedure_result3167) variable_id102 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id102.tree) self._state.following.append(self.FOLLOW_sort_in_procedure_result3186) sort103 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort103.tree) # sdl92.g:303:22: ( end )? alt41 = 2 LA41_0 = self.input.LA(1) if (LA41_0 == 229) : LA41_1 = self.input.LA(2) if (LA41_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA41_4 = self.input.LA(3) if (LA41_4 == L_PAREN) : LA41_6 = self.input.LA(4) if (LA41_6 == DASH) : LA41_8 = self.input.LA(5) if (LA41_8 == INT) : LA41_9 = self.input.LA(6) if (LA41_9 == COMMA) : LA41_11 = self.input.LA(7) if (LA41_11 == DASH) : LA41_13 = self.input.LA(8) if (LA41_13 == INT) : LA41_14 = self.input.LA(9) if (LA41_14 == R_PAREN) : LA41_16 = self.input.LA(10) if (LA41_16 == COMMA) : LA41_18 = self.input.LA(11) if (LA41_18 == L_PAREN) : LA41_19 = self.input.LA(12) if (LA41_19 == INT) : LA41_20 = self.input.LA(13) if (LA41_20 == COMMA) : LA41_21 = self.input.LA(14) if (LA41_21 == INT) : LA41_22 = self.input.LA(15) if (LA41_22 == R_PAREN) : LA41_23 = self.input.LA(16) if (LA41_23 == 226) : LA41_24 = self.input.LA(17) if (LA41_24 == 229) : LA41_25 = self.input.LA(18) if (LA41_25 == KEEP) : LA41_26 = self.input.LA(19) if (LA41_26 == SPECIFIC) : LA41_27 = self.input.LA(20) if (LA41_27 == GEODE) : LA41_28 = self.input.LA(21) if (LA41_28 == HYPERLINK) : LA41_12 = self.input.LA(22) if (LA41_12 == STRING) : LA41_15 = self.input.LA(23) if (LA41_15 == 226) : LA41_17 = self.input.LA(24) if (LA41_17 == COMMENT) : alt41 = 1 elif (LA41_24 == COMMENT) : alt41 = 1 elif (LA41_11 == INT) : LA41_14 = self.input.LA(8) if (LA41_14 == R_PAREN) : LA41_16 = self.input.LA(9) if (LA41_16 == COMMA) : LA41_18 = self.input.LA(10) if (LA41_18 == L_PAREN) : LA41_19 = self.input.LA(11) if (LA41_19 == INT) : LA41_20 = self.input.LA(12) if (LA41_20 == COMMA) : LA41_21 = self.input.LA(13) if (LA41_21 == INT) : LA41_22 = self.input.LA(14) if (LA41_22 == R_PAREN) : LA41_23 = self.input.LA(15) if (LA41_23 == 226) : LA41_24 = self.input.LA(16) if (LA41_24 == 229) : LA41_25 = self.input.LA(17) if (LA41_25 == KEEP) : LA41_26 = self.input.LA(18) if (LA41_26 == SPECIFIC) : LA41_27 = self.input.LA(19) if (LA41_27 == GEODE) : LA41_28 = self.input.LA(20) if (LA41_28 == HYPERLINK) : LA41_12 = self.input.LA(21) if (LA41_12 == STRING) : LA41_15 = self.input.LA(22) if (LA41_15 == 226) : LA41_17 = self.input.LA(23) if (LA41_17 == COMMENT) : alt41 = 1 elif (LA41_24 == COMMENT) : alt41 = 1 elif (LA41_6 == INT) : LA41_9 = self.input.LA(5) if (LA41_9 == COMMA) : LA41_11 = self.input.LA(6) if (LA41_11 == DASH) : LA41_13 = self.input.LA(7) if (LA41_13 == INT) : LA41_14 = self.input.LA(8) if (LA41_14 == R_PAREN) : LA41_16 = self.input.LA(9) if (LA41_16 == COMMA) : LA41_18 = self.input.LA(10) if (LA41_18 == L_PAREN) : LA41_19 = self.input.LA(11) if (LA41_19 == INT) : LA41_20 = self.input.LA(12) if (LA41_20 == COMMA) : LA41_21 = self.input.LA(13) if (LA41_21 == INT) : LA41_22 = self.input.LA(14) if (LA41_22 == R_PAREN) : LA41_23 = self.input.LA(15) if (LA41_23 == 226) : LA41_24 = self.input.LA(16) if (LA41_24 == 229) : LA41_25 = self.input.LA(17) if (LA41_25 == KEEP) : LA41_26 = self.input.LA(18) if (LA41_26 == SPECIFIC) : LA41_27 = self.input.LA(19) if (LA41_27 == GEODE) : LA41_28 = self.input.LA(20) if (LA41_28 == HYPERLINK) : LA41_12 = self.input.LA(21) if (LA41_12 == STRING) : LA41_15 = self.input.LA(22) if (LA41_15 == 226) : LA41_17 = self.input.LA(23) if (LA41_17 == COMMENT) : alt41 = 1 elif (LA41_24 == COMMENT) : alt41 = 1 elif (LA41_11 == INT) : LA41_14 = self.input.LA(7) if (LA41_14 == R_PAREN) : LA41_16 = self.input.LA(8) if (LA41_16 == COMMA) : LA41_18 = self.input.LA(9) if (LA41_18 == L_PAREN) : LA41_19 = self.input.LA(10) if (LA41_19 == INT) : LA41_20 = self.input.LA(11) if (LA41_20 == COMMA) : LA41_21 = self.input.LA(12) if (LA41_21 == INT) : LA41_22 = self.input.LA(13) if (LA41_22 == R_PAREN) : LA41_23 = self.input.LA(14) if (LA41_23 == 226) : LA41_24 = self.input.LA(15) if (LA41_24 == 229) : LA41_25 = self.input.LA(16) if (LA41_25 == KEEP) : LA41_26 = self.input.LA(17) if (LA41_26 == SPECIFIC) : LA41_27 = self.input.LA(18) if (LA41_27 == GEODE) : LA41_28 = self.input.LA(19) if (LA41_28 == HYPERLINK) : LA41_12 = self.input.LA(20) if (LA41_12 == STRING) : LA41_15 = self.input.LA(21) if (LA41_15 == 226) : LA41_17 = self.input.LA(22) if (LA41_17 == COMMENT) : alt41 = 1 elif (LA41_24 == COMMENT) : alt41 = 1 elif (LA41_1 == KEEP) : LA41_5 = self.input.LA(3) if (LA41_5 == SPECIFIC) : LA41_7 = self.input.LA(4) if (LA41_7 == GEODE) : LA41_10 = self.input.LA(5) if (LA41_10 == HYPERLINK) : LA41_12 = self.input.LA(6) if (LA41_12 == STRING) : LA41_15 = self.input.LA(7) if (LA41_15 == 226) : LA41_17 = self.input.LA(8) if (LA41_17 == COMMENT) : alt41 = 1 elif (LA41_0 in {COMMENT, SEMI}) : alt41 = 1 if alt41 == 1: # sdl92.g:303:22: end pass self._state.following.append(self.FOLLOW_end_in_procedure_result3188) end104 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end104.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() # 304:9: -> ^( RETURNS ( variable_id )? sort ) # sdl92.g:304:17: ^( RETURNS ( variable_id )? sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_RETURNS.nextNode() , root_1) # sdl92.g:304: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:308: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 FPAR105 = None char_literal107 = None formal_variable_param106 = None formal_variable_param108 = None end109 = None FPAR105_tree = None char_literal107_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:309:9: ( FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ) # sdl92.g:309:17: FPAR formal_variable_param ( ',' formal_variable_param )* end pass FPAR105 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_fpar3245) if self._state.backtracking == 0: stream_FPAR.add(FPAR105) self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3247) formal_variable_param106 = self.formal_variable_param() self._state.following.pop() if self._state.backtracking == 0: stream_formal_variable_param.add(formal_variable_param106.tree) # sdl92.g:310:17: ( ',' formal_variable_param )* while True: #loop42 alt42 = 2 LA42_0 = self.input.LA(1) if (LA42_0 == COMMA) : alt42 = 1 if alt42 == 1: # sdl92.g:310:18: ',' formal_variable_param pass char_literal107 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_fpar3266) if self._state.backtracking == 0: stream_COMMA.add(char_literal107) self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3268) 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) else: break #loop42 self._state.following.append(self.FOLLOW_end_in_fpar3288) end109 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end109.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() # 312:9: -> ^( FPAR ( formal_variable_param )+ ) # sdl92.g:312:17: ^( FPAR ( formal_variable_param )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_FPAR.nextNode() , root_1) # sdl92.g:312: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:316: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 INOUT110 = None IN111 = None OUT112 = None char_literal114 = None variable_id113 = None variable_id115 = None sort116 = None INOUT110_tree = None IN111_tree = None OUT112_tree = None char_literal114_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:317:9: ( ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) ) # sdl92.g:317:17: ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort pass # sdl92.g:317:17: ( INOUT | IN | OUT )? alt43 = 4 LA43 = self.input.LA(1) if LA43 in {INOUT}: alt43 = 1 elif LA43 in {IN}: alt43 = 2 elif LA43 in {OUT}: alt43 = 3 if alt43 == 1: # sdl92.g:317:18: INOUT pass INOUT110 = self.match(self.input, INOUT, self.FOLLOW_INOUT_in_formal_variable_param3343) if self._state.backtracking == 0: stream_INOUT.add(INOUT110) elif alt43 == 2: # sdl92.g:317:26: IN pass IN111 = self.match(self.input, IN, self.FOLLOW_IN_in_formal_variable_param3347) if self._state.backtracking == 0: stream_IN.add(IN111) elif alt43 == 3: # sdl92.g:317:31: OUT pass OUT112 = self.match(self.input, OUT, self.FOLLOW_OUT_in_formal_variable_param3351) if self._state.backtracking == 0: stream_OUT.add(OUT112) self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3371) variable_id113 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id113.tree) # sdl92.g:318:29: ( ',' variable_id )* while True: #loop44 alt44 = 2 LA44_0 = self.input.LA(1) if (LA44_0 == COMMA) : alt44 = 1 if alt44 == 1: # sdl92.g:318:30: ',' variable_id pass char_literal114 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_formal_variable_param3374) if self._state.backtracking == 0: stream_COMMA.add(char_literal114) self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3376) variable_id115 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id115.tree) else: break #loop44 self._state.following.append(self.FOLLOW_sort_in_formal_variable_param3380) sort116 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort116.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() # 319:9: -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) # sdl92.g:319: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:319:25: ( INOUT )? if stream_INOUT.hasNext(): self._adaptor.addChild(root_1, stream_INOUT.nextNode() ) stream_INOUT.reset(); # sdl92.g:319:32: ( IN )? if stream_IN.hasNext(): self._adaptor.addChild(root_1, stream_IN.nextNode() ) stream_IN.reset(); # sdl92.g:319:36: ( OUT )? if stream_OUT.hasNext(): self._adaptor.addChild(root_1, stream_OUT.nextNode() ) stream_OUT.reset(); # sdl92.g:319: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:324: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 cif117 = None content118 = None cif_end_text119 = 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:325:9: ( cif ( content )? cif_end_text -> ^( TEXTAREA cif ( content )? cif_end_text ) ) # sdl92.g:325:17: cif ( content )? cif_end_text pass self._state.following.append(self.FOLLOW_cif_in_text_area3446) cif117 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif117.tree) # sdl92.g:326:17: ( content )? alt45 = 2 LA45_0 = self.input.LA(1) if (LA45_0 == 229) : LA45_1 = self.input.LA(2) if (self.synpred58_sdl92()) : alt45 = 1 elif (LA45_0 in {DCL, FPAR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 227}) : alt45 = 1 if alt45 == 1: # sdl92.g:326:17: content pass self._state.following.append(self.FOLLOW_content_in_text_area3464) content118 = self.content() self._state.following.pop() if self._state.backtracking == 0: stream_content.add(content118.tree) self._state.following.append(self.FOLLOW_cif_end_text_in_text_area3483) cif_end_text119 = self.cif_end_text() self._state.following.pop() if self._state.backtracking == 0: stream_cif_end_text.add(cif_end_text119.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() # 328:9: -> ^( TEXTAREA cif ( content )? cif_end_text ) # sdl92.g:328: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:328: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:334:1: content : ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_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 procedure120 = None use_clause121 = None signal_declaration122 = None fpar123 = None timer_declaration124 = None syntype_definition125 = None newtype_definition126 = None variable_definition127 = None synonym_definition128 = 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_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:335:9: ( ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( synonym_definition )* ) ) # sdl92.g:335:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | synonym_definition )* pass # sdl92.g:335:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | synonym_definition )* while True: #loop46 alt46 = 11 LA46 = self.input.LA(1) if LA46 in {229}: LA46_1 = self.input.LA(2) if (LA46_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt46 = 1 elif (LA46_1 == KEEP) : LA46_13 = self.input.LA(3) if (LA46_13 == SPECIFIC) : LA46_14 = self.input.LA(4) if (LA46_14 == GEODE) : LA46_15 = self.input.LA(5) if (LA46_15 == ASNFILENAME) : alt46 = 2 elif (LA46_15 == PARAMNAMES) : alt46 = 3 elif LA46 in {PROCEDURE}: alt46 = 1 elif LA46 in {USE}: alt46 = 2 elif LA46 in {SIGNAL}: alt46 = 3 elif LA46 in {FPAR}: alt46 = 4 elif LA46 in {RETURNS, 227}: alt46 = 5 elif LA46 in {TIMER}: alt46 = 6 elif LA46 in {SYNTYPE}: alt46 = 7 elif LA46 in {NEWTYPE}: alt46 = 8 elif LA46 in {DCL}: alt46 = 9 elif LA46 in {SYNONYM}: alt46 = 10 if alt46 == 1: # sdl92.g:335:19: procedure pass self._state.following.append(self.FOLLOW_procedure_in_content3545) procedure120 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: stream_procedure.add(procedure120.tree) elif alt46 == 2: # sdl92.g:336:20: use_clause pass self._state.following.append(self.FOLLOW_use_clause_in_content3566) use_clause121 = self.use_clause() self._state.following.pop() if self._state.backtracking == 0: stream_use_clause.add(use_clause121.tree) elif alt46 == 3: # sdl92.g:337:20: signal_declaration pass self._state.following.append(self.FOLLOW_signal_declaration_in_content3587) signal_declaration122 = self.signal_declaration() self._state.following.pop() if self._state.backtracking == 0: stream_signal_declaration.add(signal_declaration122.tree) elif alt46 == 4: # sdl92.g:338:20: fpar pass self._state.following.append(self.FOLLOW_fpar_in_content3608) fpar123 = self.fpar() self._state.following.pop() if self._state.backtracking == 0: stream_fpar.add(fpar123.tree) elif alt46 == 5: # sdl92.g:339:20: res= procedure_result pass self._state.following.append(self.FOLLOW_procedure_result_in_content3631) res = self.procedure_result() self._state.following.pop() if self._state.backtracking == 0: stream_procedure_result.add(res.tree) elif alt46 == 6: # sdl92.g:340:20: timer_declaration pass self._state.following.append(self.FOLLOW_timer_declaration_in_content3652) timer_declaration124 = self.timer_declaration() self._state.following.pop() if self._state.backtracking == 0: stream_timer_declaration.add(timer_declaration124.tree) elif alt46 == 7: # sdl92.g:341:20: syntype_definition pass self._state.following.append(self.FOLLOW_syntype_definition_in_content3673) syntype_definition125 = self.syntype_definition() self._state.following.pop() if self._state.backtracking == 0: stream_syntype_definition.add(syntype_definition125.tree) elif alt46 == 8: # sdl92.g:342:20: newtype_definition pass self._state.following.append(self.FOLLOW_newtype_definition_in_content3694) newtype_definition126 = self.newtype_definition() self._state.following.pop() if self._state.backtracking == 0: stream_newtype_definition.add(newtype_definition126.tree) elif alt46 == 9: # sdl92.g:343:20: variable_definition pass self._state.following.append(self.FOLLOW_variable_definition_in_content3715) variable_definition127 = self.variable_definition() self._state.following.pop() if self._state.backtracking == 0: stream_variable_definition.add(variable_definition127.tree) elif alt46 == 10: # sdl92.g:344:20: synonym_definition pass self._state.following.append(self.FOLLOW_synonym_definition_in_content3736) synonym_definition128 = self.synonym_definition() self._state.following.pop() if self._state.backtracking == 0: stream_synonym_definition.add(synonym_definition128.tree) else: break #loop46 # AST Rewrite # elements: fpar, res, procedure, variable_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() # 345:9: -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( synonym_definition )* ) # sdl92.g:345:18: ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_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:345:37: ( fpar )* while stream_fpar.hasNext(): self._adaptor.addChild(root_1, stream_fpar.nextTree()) stream_fpar.reset(); # sdl92.g:345:44: ( $res)? if stream_res.hasNext(): self._adaptor.addChild(root_1, stream_res.nextTree()) stream_res.reset(); # sdl92.g:345:49: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); # sdl92.g:345:60: ( variable_definition )* while stream_variable_definition.hasNext(): self._adaptor.addChild(root_1, stream_variable_definition.nextTree()) stream_variable_definition.reset(); # sdl92.g:346:20: ( syntype_definition )* while stream_syntype_definition.hasNext(): self._adaptor.addChild(root_1, stream_syntype_definition.nextTree()) stream_syntype_definition.reset(); # sdl92.g:346:40: ( newtype_definition )* while stream_newtype_definition.hasNext(): self._adaptor.addChild(root_1, stream_newtype_definition.nextTree()) stream_newtype_definition.reset(); # sdl92.g:346:60: ( timer_declaration )* while stream_timer_declaration.hasNext(): self._adaptor.addChild(root_1, stream_timer_declaration.nextTree()) stream_timer_declaration.reset(); # sdl92.g:347:20: ( signal_declaration )* while stream_signal_declaration.hasNext(): self._adaptor.addChild(root_1, stream_signal_declaration.nextTree()) stream_signal_declaration.reset(); # sdl92.g:347:40: ( use_clause )* while stream_use_clause.hasNext(): self._adaptor.addChild(root_1, stream_use_clause.nextTree()) stream_use_clause.reset(); # sdl92.g:347:52: ( 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:351: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 TIMER129 = None char_literal131 = None timer_id130 = None timer_id132 = None end133 = None TIMER129_tree = None char_literal131_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:352:9: ( TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ) # sdl92.g:352:17: TIMER timer_id ( ',' timer_id )* end pass TIMER129 = self.match(self.input, TIMER, self.FOLLOW_TIMER_in_timer_declaration3859) if self._state.backtracking == 0: stream_TIMER.add(TIMER129) self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration3861) timer_id130 = self.timer_id() self._state.following.pop() if self._state.backtracking == 0: stream_timer_id.add(timer_id130.tree) # sdl92.g:353:17: ( ',' timer_id )* while True: #loop47 alt47 = 2 LA47_0 = self.input.LA(1) if (LA47_0 == COMMA) : alt47 = 1 if alt47 == 1: # sdl92.g:353:18: ',' timer_id pass char_literal131 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_timer_declaration3880) if self._state.backtracking == 0: stream_COMMA.add(char_literal131) self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration3882) timer_id132 = self.timer_id() self._state.following.pop() if self._state.backtracking == 0: stream_timer_id.add(timer_id132.tree) else: break #loop47 self._state.following.append(self.FOLLOW_end_in_timer_declaration3902) end133 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end133.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() # 355:9: -> ^( TIMER ( timer_id )+ ) # sdl92.g:355:17: ^( TIMER ( timer_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_TIMER.nextNode() , root_1) # sdl92.g:355: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:359: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 SYNTYPE134 = None char_literal136 = None CONSTANTS138 = None char_literal140 = None ENDSYNTYPE142 = None syntype_name135 = None parent_sort137 = None range_condition139 = None range_condition141 = None syntype_name143 = None end144 = None SYNTYPE134_tree = None char_literal136_tree = None CONSTANTS138_tree = None char_literal140_tree = None ENDSYNTYPE142_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:360:9: ( SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) ) # sdl92.g:360:17: SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end pass SYNTYPE134 = self.match(self.input, SYNTYPE, self.FOLLOW_SYNTYPE_in_syntype_definition3956) if self._state.backtracking == 0: stream_SYNTYPE.add(SYNTYPE134) self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition3958) syntype_name135 = self.syntype_name() self._state.following.pop() if self._state.backtracking == 0: stream_syntype_name.add(syntype_name135.tree) char_literal136 = self.match(self.input, EQ, self.FOLLOW_EQ_in_syntype_definition3960) if self._state.backtracking == 0: stream_EQ.add(char_literal136) self._state.following.append(self.FOLLOW_parent_sort_in_syntype_definition3962) parent_sort137 = self.parent_sort() self._state.following.pop() if self._state.backtracking == 0: stream_parent_sort.add(parent_sort137.tree) # sdl92.g:361:17: ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? alt49 = 2 LA49_0 = self.input.LA(1) if (LA49_0 == CONSTANTS) : alt49 = 1 if alt49 == 1: # sdl92.g:361:18: CONSTANTS ( range_condition ( ',' range_condition )* ) pass CONSTANTS138 = self.match(self.input, CONSTANTS, self.FOLLOW_CONSTANTS_in_syntype_definition3981) if self._state.backtracking == 0: stream_CONSTANTS.add(CONSTANTS138) # sdl92.g:361:28: ( range_condition ( ',' range_condition )* ) # sdl92.g:361:29: range_condition ( ',' range_condition )* pass self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition3984) range_condition139 = self.range_condition() self._state.following.pop() if self._state.backtracking == 0: stream_range_condition.add(range_condition139.tree) # sdl92.g:361:45: ( ',' range_condition )* while True: #loop48 alt48 = 2 LA48_0 = self.input.LA(1) if (LA48_0 == COMMA) : alt48 = 1 if alt48 == 1: # sdl92.g:361:46: ',' range_condition pass char_literal140 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_syntype_definition3987) if self._state.backtracking == 0: stream_COMMA.add(char_literal140) self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition3989) range_condition141 = self.range_condition() self._state.following.pop() if self._state.backtracking == 0: stream_range_condition.add(range_condition141.tree) else: break #loop48 ENDSYNTYPE142 = self.match(self.input, ENDSYNTYPE, self.FOLLOW_ENDSYNTYPE_in_syntype_definition4013) if self._state.backtracking == 0: stream_ENDSYNTYPE.add(ENDSYNTYPE142) # sdl92.g:362:28: ( syntype_name )? alt50 = 2 LA50_0 = self.input.LA(1) if (LA50_0 == ID) : alt50 = 1 if alt50 == 1: # sdl92.g:362:28: syntype_name pass self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4015) syntype_name143 = self.syntype_name() self._state.following.pop() if self._state.backtracking == 0: stream_syntype_name.add(syntype_name143.tree) self._state.following.append(self.FOLLOW_end_in_syntype_definition4018) end144 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end144.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() # 363:9: -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) # sdl92.g:363: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:363: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:367:1: syntype_name : sort ; def syntype_name(self, ): retval = self.syntype_name_return() retval.start = self.input.LT(1) root_0 = None sort145 = None try: try: # sdl92.g:368:9: ( sort ) # sdl92.g:368:17: sort pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_sort_in_syntype_name4076) sort145 = self.sort() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, sort145.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:372:1: parent_sort : sort ; def parent_sort(self, ): retval = self.parent_sort_return() retval.start = self.input.LT(1) root_0 = None sort146 = None try: try: # sdl92.g:373:9: ( sort ) # sdl92.g:373:17: sort pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_sort_in_parent_sort4108) sort146 = self.sort() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, sort146.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:377: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 NEWTYPE147 = None ENDNEWTYPE151 = None type_name148 = None array_definition149 = None structure_definition150 = None type_name152 = None end153 = None NEWTYPE147_tree = None ENDNEWTYPE151_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:378:9: ( NEWTYPE type_name ( array_definition | structure_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ) ) # sdl92.g:378:17: NEWTYPE type_name ( array_definition | structure_definition )? ENDNEWTYPE ( type_name )? end pass NEWTYPE147 = self.match(self.input, NEWTYPE, self.FOLLOW_NEWTYPE_in_newtype_definition4140) if self._state.backtracking == 0: stream_NEWTYPE.add(NEWTYPE147) self._state.following.append(self.FOLLOW_type_name_in_newtype_definition4142) type_name148 = self.type_name() self._state.following.pop() if self._state.backtracking == 0: stream_type_name.add(type_name148.tree) # sdl92.g:378:35: ( array_definition | structure_definition )? alt51 = 3 LA51_0 = self.input.LA(1) if (LA51_0 == ARRAY) : alt51 = 1 elif (LA51_0 == STRUCT) : alt51 = 2 if alt51 == 1: # sdl92.g:378:36: array_definition pass self._state.following.append(self.FOLLOW_array_definition_in_newtype_definition4145) array_definition149 = self.array_definition() self._state.following.pop() if self._state.backtracking == 0: stream_array_definition.add(array_definition149.tree) elif alt51 == 2: # sdl92.g:378:53: structure_definition pass self._state.following.append(self.FOLLOW_structure_definition_in_newtype_definition4147) structure_definition150 = self.structure_definition() self._state.following.pop() if self._state.backtracking == 0: stream_structure_definition.add(structure_definition150.tree) ENDNEWTYPE151 = self.match(self.input, ENDNEWTYPE, self.FOLLOW_ENDNEWTYPE_in_newtype_definition4167) if self._state.backtracking == 0: stream_ENDNEWTYPE.add(ENDNEWTYPE151) # sdl92.g:379:28: ( type_name )? alt52 = 2 LA52_0 = self.input.LA(1) if (LA52_0 == ID) : alt52 = 1 if alt52 == 1: # sdl92.g:379:28: type_name pass self._state.following.append(self.FOLLOW_type_name_in_newtype_definition4169) type_name152 = self.type_name() self._state.following.pop() if self._state.backtracking == 0: stream_type_name.add(type_name152.tree) self._state.following.append(self.FOLLOW_end_in_newtype_definition4172) end153 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end153.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() # 380:9: -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ) # sdl92.g:380: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:380:37: ( array_definition )* while stream_array_definition.hasNext(): self._adaptor.addChild(root_1, stream_array_definition.nextTree()) stream_array_definition.reset(); # sdl92.g:380: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:384:1: type_name : sort ; def type_name(self, ): retval = self.type_name_return() retval.start = self.input.LT(1) root_0 = None sort154 = None try: try: # sdl92.g:385:9: ( sort ) # sdl92.g:385:17: sort pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_sort_in_type_name4231) sort154 = self.sort() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, sort154.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:389: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 ARRAY155 = None char_literal156 = None char_literal158 = None char_literal160 = None sort157 = None sort159 = None ARRAY155_tree = None char_literal156_tree = None char_literal158_tree = None char_literal160_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:390:9: ( ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ) # sdl92.g:390:17: ARRAY '(' sort ',' sort ')' pass ARRAY155 = self.match(self.input, ARRAY, self.FOLLOW_ARRAY_in_array_definition4263) if self._state.backtracking == 0: stream_ARRAY.add(ARRAY155) char_literal156 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_array_definition4265) if self._state.backtracking == 0: stream_L_PAREN.add(char_literal156) self._state.following.append(self.FOLLOW_sort_in_array_definition4267) sort157 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort157.tree) char_literal158 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_array_definition4269) if self._state.backtracking == 0: stream_COMMA.add(char_literal158) self._state.following.append(self.FOLLOW_sort_in_array_definition4271) sort159 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort159.tree) char_literal160 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_array_definition4273) if self._state.backtracking == 0: stream_R_PAREN.add(char_literal160) # 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() # 391:9: -> ^( ARRAY sort sort ) # sdl92.g:391: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:395: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 STRUCT161 = None field_list162 = None end163 = None STRUCT161_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:396:9: ( STRUCT field_list end -> ^( STRUCT field_list ) ) # sdl92.g:396:17: STRUCT field_list end pass STRUCT161 = self.match(self.input, STRUCT, self.FOLLOW_STRUCT_in_structure_definition4328) if self._state.backtracking == 0: stream_STRUCT.add(STRUCT161) self._state.following.append(self.FOLLOW_field_list_in_structure_definition4330) field_list162 = self.field_list() self._state.following.pop() if self._state.backtracking == 0: stream_field_list.add(field_list162.tree) self._state.following.append(self.FOLLOW_end_in_structure_definition4332) end163 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end163.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() # 397:9: -> ^( STRUCT field_list ) # sdl92.g:397: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:401: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_definition164 = None end165 = None field_definition166 = None stream_field_definition = RewriteRuleSubtreeStream(self._adaptor, "rule field_definition") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: # sdl92.g:402:9: ( field_definition ( end field_definition )* -> ^( FIELDS ( field_definition )+ ) ) # sdl92.g:402:17: field_definition ( end field_definition )* pass self._state.following.append(self.FOLLOW_field_definition_in_field_list4385) field_definition164 = self.field_definition() self._state.following.pop() if self._state.backtracking == 0: stream_field_definition.add(field_definition164.tree) # sdl92.g:402:34: ( end field_definition )* while True: #loop53 alt53 = 2 alt53 = self.dfa53.predict(self.input) if alt53 == 1: # sdl92.g:402:35: end field_definition pass self._state.following.append(self.FOLLOW_end_in_field_list4388) end165 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end165.tree) self._state.following.append(self.FOLLOW_field_definition_in_field_list4390) field_definition166 = self.field_definition() self._state.following.pop() if self._state.backtracking == 0: stream_field_definition.add(field_definition166.tree) else: break #loop53 # 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() # 403:9: -> ^( FIELDS ( field_definition )+ ) # sdl92.g:403:17: ^( FIELDS ( field_definition )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FIELDS, "FIELDS") , root_1) # sdl92.g:403: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:407: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_literal168 = None field_name167 = None field_name169 = None sort170 = None char_literal168_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:408:9: ( field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ) # sdl92.g:408:17: field_name ( ',' field_name )* sort pass self._state.following.append(self.FOLLOW_field_name_in_field_definition4446) field_name167 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: stream_field_name.add(field_name167.tree) # sdl92.g:408:28: ( ',' field_name )* while True: #loop54 alt54 = 2 LA54_0 = self.input.LA(1) if (LA54_0 == COMMA) : alt54 = 1 if alt54 == 1: # sdl92.g:408:29: ',' field_name pass char_literal168 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_field_definition4449) if self._state.backtracking == 0: stream_COMMA.add(char_literal168) self._state.following.append(self.FOLLOW_field_name_in_field_definition4451) field_name169 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: stream_field_name.add(field_name169.tree) else: break #loop54 self._state.following.append(self.FOLLOW_sort_in_field_definition4455) sort170 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort170.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() # 409:9: -> ^( FIELD ( field_name )+ sort ) # sdl92.g:409:17: ^( FIELD ( field_name )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FIELD, "FIELD") , root_1) # sdl92.g:409: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:413: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 DCL171 = None char_literal173 = None variables_of_sort172 = None variables_of_sort174 = None end175 = None DCL171_tree = None char_literal173_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:414:9: ( DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ) # sdl92.g:414:17: DCL variables_of_sort ( ',' variables_of_sort )* end pass DCL171 = self.match(self.input, DCL, self.FOLLOW_DCL_in_variable_definition4511) if self._state.backtracking == 0: stream_DCL.add(DCL171) self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition4513) variables_of_sort172 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: stream_variables_of_sort.add(variables_of_sort172.tree) # sdl92.g:415:17: ( ',' variables_of_sort )* while True: #loop55 alt55 = 2 LA55_0 = self.input.LA(1) if (LA55_0 == COMMA) : alt55 = 1 if alt55 == 1: # sdl92.g:415:18: ',' variables_of_sort pass char_literal173 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variable_definition4532) if self._state.backtracking == 0: stream_COMMA.add(char_literal173) self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition4534) variables_of_sort174 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: stream_variables_of_sort.add(variables_of_sort174.tree) else: break #loop55 self._state.following.append(self.FOLLOW_end_in_variable_definition4554) end175 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end175.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() # 417:9: -> ^( DCL ( variables_of_sort )+ ) # sdl92.g:417:17: ^( DCL ( variables_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_DCL.nextNode() , root_1) # sdl92.g:417: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 synonym_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "synonym_definition" # sdl92.g:421: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_definition176 = None try: try: # sdl92.g:422:9: ( internal_synonym_definition ) # sdl92.g:422:17: internal_synonym_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_internal_synonym_definition_in_synonym_definition4608) internal_synonym_definition176 = self.internal_synonym_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, internal_synonym_definition176.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:426: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 SYNONYM177 = None char_literal179 = None synonym_definition_item178 = None synonym_definition_item180 = None end181 = None SYNONYM177_tree = None char_literal179_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:427:9: ( SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) ) # sdl92.g:427:17: SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end pass SYNONYM177 = self.match(self.input, SYNONYM, self.FOLLOW_SYNONYM_in_internal_synonym_definition4640) if self._state.backtracking == 0: stream_SYNONYM.add(SYNONYM177) self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition4642) synonym_definition_item178 = self.synonym_definition_item() self._state.following.pop() if self._state.backtracking == 0: stream_synonym_definition_item.add(synonym_definition_item178.tree) # sdl92.g:427:49: ( ',' synonym_definition_item )* while True: #loop56 alt56 = 2 LA56_0 = self.input.LA(1) if (LA56_0 == COMMA) : alt56 = 1 if alt56 == 1: # sdl92.g:427:50: ',' synonym_definition_item pass char_literal179 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_internal_synonym_definition4645) if self._state.backtracking == 0: stream_COMMA.add(char_literal179) self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition4647) synonym_definition_item180 = self.synonym_definition_item() self._state.following.pop() if self._state.backtracking == 0: stream_synonym_definition_item.add(synonym_definition_item180.tree) else: break #loop56 self._state.following.append(self.FOLLOW_end_in_internal_synonym_definition4667) end181 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end181.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() # 429:9: -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) # sdl92.g:429: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:429: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:433: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_literal184 = None sort182 = None sort183 = None ground_expression185 = None char_literal184_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:434:9: ( sort sort '=' ground_expression -> ^( SYNONYM sort sort ground_expression ) ) # sdl92.g:434:17: sort sort '=' ground_expression pass self._state.following.append(self.FOLLOW_sort_in_synonym_definition_item4721) sort182 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort182.tree) self._state.following.append(self.FOLLOW_sort_in_synonym_definition_item4723) sort183 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort183.tree) char_literal184 = self.match(self.input, EQ, self.FOLLOW_EQ_in_synonym_definition_item4725) if self._state.backtracking == 0: stream_EQ.add(char_literal184) self._state.following.append(self.FOLLOW_ground_expression_in_synonym_definition_item4727) ground_expression185 = self.ground_expression() self._state.following.pop() if self._state.backtracking == 0: stream_ground_expression.add(ground_expression185.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() # 435:9: -> ^( SYNONYM sort sort ground_expression ) # sdl92.g:435: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:439: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_literal187 = None string_literal190 = None variable_id186 = None variable_id188 = None sort189 = None ground_expression191 = None char_literal187_tree = None string_literal190_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:440:9: ( variable_id ( ',' variable_id )* sort ( ':=' ground_expression )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ) ) # sdl92.g:440:17: variable_id ( ',' variable_id )* sort ( ':=' ground_expression )? pass self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort4784) variable_id186 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id186.tree) # sdl92.g:440:29: ( ',' variable_id )* while True: #loop57 alt57 = 2 LA57_0 = self.input.LA(1) if (LA57_0 == COMMA) : alt57 = 1 if alt57 == 1: # sdl92.g:440:30: ',' variable_id pass char_literal187 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variables_of_sort4787) if self._state.backtracking == 0: stream_COMMA.add(char_literal187) self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort4789) variable_id188 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id188.tree) else: break #loop57 self._state.following.append(self.FOLLOW_sort_in_variables_of_sort4793) sort189 = self.sort() self._state.following.pop() if self._state.backtracking == 0: stream_sort.add(sort189.tree) # sdl92.g:440:53: ( ':=' ground_expression )? alt58 = 2 LA58_0 = self.input.LA(1) if (LA58_0 == ASSIG_OP) : alt58 = 1 if alt58 == 1: # sdl92.g:440:54: ':=' ground_expression pass string_literal190 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_variables_of_sort4796) if self._state.backtracking == 0: stream_ASSIG_OP.add(string_literal190) self._state.following.append(self.FOLLOW_ground_expression_in_variables_of_sort4798) ground_expression191 = self.ground_expression() self._state.following.pop() if self._state.backtracking == 0: stream_ground_expression.add(ground_expression191.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() # 441:9: -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ) # sdl92.g:441: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:441: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:441: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:445:1: ground_expression : expression -> ^( GROUND expression ) ; def ground_expression(self, ): retval = self.ground_expression_return() retval.start = self.input.LT(1) root_0 = None expression192 = None stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: # sdl92.g:446:9: ( expression -> ^( GROUND expression ) ) # sdl92.g:446:17: expression pass self._state.following.append(self.FOLLOW_expression_in_ground_expression4859) expression192 = self.expression() self._state.following.pop() if self._state.backtracking == 0: stream_expression.add(expression192.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() # 447:9: -> ^( GROUND expression ) # sdl92.g:447: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:451: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_literal193 = None char_literal194 = None char_literal195 = None initial_number_tree = None maximum_number_tree = None char_literal193_tree = None char_literal194_tree = None char_literal195_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:452:9: ( '(' initial_number= INT ',' maximum_number= INT ')' -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) ) # sdl92.g:452:17: '(' initial_number= INT ',' maximum_number= INT ')' pass char_literal193 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_number_of_instances4912) if self._state.backtracking == 0: stream_L_PAREN.add(char_literal193) initial_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances4916) if self._state.backtracking == 0: stream_INT.add(initial_number) char_literal194 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_number_of_instances4918) if self._state.backtracking == 0: stream_COMMA.add(char_literal194) maximum_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances4922) if self._state.backtracking == 0: stream_INT.add(maximum_number) char_literal195 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_number_of_instances4924) if self._state.backtracking == 0: stream_R_PAREN.add(char_literal195) # 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() # 453:9: -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) # sdl92.g:453: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:457:1: processBody : ( start )? ( state | floating_label )* ; def processBody(self, ): retval = self.processBody_return() retval.start = self.input.LT(1) root_0 = None start196 = None state197 = None floating_label198 = None try: try: # sdl92.g:458:9: ( ( start )? ( state | floating_label )* ) # sdl92.g:458:17: ( start )? ( state | floating_label )* pass root_0 = self._adaptor.nil() # sdl92.g:458:17: ( start )? alt59 = 2 LA59_0 = self.input.LA(1) if (LA59_0 == 229) : LA59_1 = self.input.LA(2) if (LA59_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA59_4 = self.input.LA(3) if (LA59_4 == L_PAREN) : LA59_6 = self.input.LA(4) if (LA59_6 == DASH) : LA59_8 = self.input.LA(5) if (LA59_8 == INT) : LA59_9 = self.input.LA(6) if (LA59_9 == COMMA) : LA59_11 = self.input.LA(7) if (LA59_11 == DASH) : LA59_13 = self.input.LA(8) if (LA59_13 == INT) : LA59_14 = self.input.LA(9) if (LA59_14 == R_PAREN) : LA59_16 = self.input.LA(10) if (LA59_16 == COMMA) : LA59_18 = self.input.LA(11) if (LA59_18 == L_PAREN) : LA59_19 = self.input.LA(12) if (LA59_19 == INT) : LA59_20 = self.input.LA(13) if (LA59_20 == COMMA) : LA59_21 = self.input.LA(14) if (LA59_21 == INT) : LA59_22 = self.input.LA(15) if (LA59_22 == R_PAREN) : LA59_23 = self.input.LA(16) if (LA59_23 == 226) : LA59_24 = self.input.LA(17) if (LA59_24 == 229) : LA59_25 = self.input.LA(18) if (LA59_25 == KEEP) : LA59_26 = self.input.LA(19) if (LA59_26 == SPECIFIC) : LA59_27 = self.input.LA(20) if (LA59_27 == GEODE) : LA59_28 = self.input.LA(21) if (LA59_28 == HYPERLINK) : LA59_12 = self.input.LA(22) if (LA59_12 == STRING) : LA59_15 = self.input.LA(23) if (LA59_15 == 226) : LA59_17 = self.input.LA(24) if (LA59_17 == START) : alt59 = 1 elif (LA59_24 == START) : alt59 = 1 elif (LA59_11 == INT) : LA59_14 = self.input.LA(8) if (LA59_14 == R_PAREN) : LA59_16 = self.input.LA(9) if (LA59_16 == COMMA) : LA59_18 = self.input.LA(10) if (LA59_18 == L_PAREN) : LA59_19 = self.input.LA(11) if (LA59_19 == INT) : LA59_20 = self.input.LA(12) if (LA59_20 == COMMA) : LA59_21 = self.input.LA(13) if (LA59_21 == INT) : LA59_22 = self.input.LA(14) if (LA59_22 == R_PAREN) : LA59_23 = self.input.LA(15) if (LA59_23 == 226) : LA59_24 = self.input.LA(16) if (LA59_24 == 229) : LA59_25 = self.input.LA(17) if (LA59_25 == KEEP) : LA59_26 = self.input.LA(18) if (LA59_26 == SPECIFIC) : LA59_27 = self.input.LA(19) if (LA59_27 == GEODE) : LA59_28 = self.input.LA(20) if (LA59_28 == HYPERLINK) : LA59_12 = self.input.LA(21) if (LA59_12 == STRING) : LA59_15 = self.input.LA(22) if (LA59_15 == 226) : LA59_17 = self.input.LA(23) if (LA59_17 == START) : alt59 = 1 elif (LA59_24 == START) : alt59 = 1 elif (LA59_6 == INT) : LA59_9 = self.input.LA(5) if (LA59_9 == COMMA) : LA59_11 = self.input.LA(6) if (LA59_11 == DASH) : LA59_13 = self.input.LA(7) if (LA59_13 == INT) : LA59_14 = self.input.LA(8) if (LA59_14 == R_PAREN) : LA59_16 = self.input.LA(9) if (LA59_16 == COMMA) : LA59_18 = self.input.LA(10) if (LA59_18 == L_PAREN) : LA59_19 = self.input.LA(11) if (LA59_19 == INT) : LA59_20 = self.input.LA(12) if (LA59_20 == COMMA) : LA59_21 = self.input.LA(13) if (LA59_21 == INT) : LA59_22 = self.input.LA(14) if (LA59_22 == R_PAREN) : LA59_23 = self.input.LA(15) if (LA59_23 == 226) : LA59_24 = self.input.LA(16) if (LA59_24 == 229) : LA59_25 = self.input.LA(17) if (LA59_25 == KEEP) : LA59_26 = self.input.LA(18) if (LA59_26 == SPECIFIC) : LA59_27 = self.input.LA(19) if (LA59_27 == GEODE) : LA59_28 = self.input.LA(20) if (LA59_28 == HYPERLINK) : LA59_12 = self.input.LA(21) if (LA59_12 == STRING) : LA59_15 = self.input.LA(22) if (LA59_15 == 226) : LA59_17 = self.input.LA(23) if (LA59_17 == START) : alt59 = 1 elif (LA59_24 == START) : alt59 = 1 elif (LA59_11 == INT) : LA59_14 = self.input.LA(7) if (LA59_14 == R_PAREN) : LA59_16 = self.input.LA(8) if (LA59_16 == COMMA) : LA59_18 = self.input.LA(9) if (LA59_18 == L_PAREN) : LA59_19 = self.input.LA(10) if (LA59_19 == INT) : LA59_20 = self.input.LA(11) if (LA59_20 == COMMA) : LA59_21 = self.input.LA(12) if (LA59_21 == INT) : LA59_22 = self.input.LA(13) if (LA59_22 == R_PAREN) : LA59_23 = self.input.LA(14) if (LA59_23 == 226) : LA59_24 = self.input.LA(15) if (LA59_24 == 229) : LA59_25 = self.input.LA(16) if (LA59_25 == KEEP) : LA59_26 = self.input.LA(17) if (LA59_26 == SPECIFIC) : LA59_27 = self.input.LA(18) if (LA59_27 == GEODE) : LA59_28 = self.input.LA(19) if (LA59_28 == HYPERLINK) : LA59_12 = self.input.LA(20) if (LA59_12 == STRING) : LA59_15 = self.input.LA(21) if (LA59_15 == 226) : LA59_17 = self.input.LA(22) if (LA59_17 == START) : alt59 = 1 elif (LA59_24 == START) : alt59 = 1 elif (LA59_1 == KEEP) : LA59_5 = self.input.LA(3) if (LA59_5 == SPECIFIC) : LA59_7 = self.input.LA(4) if (LA59_7 == GEODE) : LA59_10 = self.input.LA(5) if (LA59_10 == HYPERLINK) : LA59_12 = self.input.LA(6) if (LA59_12 == STRING) : LA59_15 = self.input.LA(7) if (LA59_15 == 226) : LA59_17 = self.input.LA(8) if (LA59_17 == START) : alt59 = 1 elif (LA59_0 == START) : alt59 = 1 if alt59 == 1: # sdl92.g:458:17: start pass self._state.following.append(self.FOLLOW_start_in_processBody4981) start196 = self.start() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, start196.tree) # sdl92.g:458:24: ( state | floating_label )* while True: #loop60 alt60 = 3 LA60 = self.input.LA(1) if LA60 in {229}: LA60_2 = self.input.LA(2) if (LA60_2 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA60_5 = self.input.LA(3) if (LA60_5 == L_PAREN) : LA60_7 = self.input.LA(4) if (LA60_7 == DASH) : LA60_9 = self.input.LA(5) if (LA60_9 == INT) : LA60_10 = self.input.LA(6) if (LA60_10 == COMMA) : LA60_12 = self.input.LA(7) if (LA60_12 == DASH) : LA60_14 = self.input.LA(8) if (LA60_14 == INT) : LA60_15 = self.input.LA(9) if (LA60_15 == R_PAREN) : LA60_17 = self.input.LA(10) if (LA60_17 == COMMA) : LA60_19 = self.input.LA(11) if (LA60_19 == L_PAREN) : LA60_20 = self.input.LA(12) if (LA60_20 == INT) : LA60_21 = self.input.LA(13) if (LA60_21 == COMMA) : LA60_22 = self.input.LA(14) if (LA60_22 == INT) : LA60_23 = self.input.LA(15) if (LA60_23 == R_PAREN) : LA60_24 = self.input.LA(16) if (LA60_24 == 226) : LA60 = self.input.LA(17) if LA60 in {229}: LA60_26 = self.input.LA(18) if (LA60_26 == KEEP) : LA60_27 = self.input.LA(19) if (LA60_27 == SPECIFIC) : LA60_28 = self.input.LA(20) if (LA60_28 == GEODE) : LA60_29 = self.input.LA(21) if (LA60_29 == HYPERLINK) : LA60_13 = self.input.LA(22) if (LA60_13 == STRING) : LA60_16 = self.input.LA(23) if (LA60_16 == 226) : LA60_18 = self.input.LA(24) if (LA60_18 == STATE) : alt60 = 1 elif (LA60_18 == CONNECTION) : alt60 = 2 elif LA60 in {STATE}: alt60 = 1 elif LA60 in {CONNECTION}: alt60 = 2 elif (LA60_12 == INT) : LA60_15 = self.input.LA(8) if (LA60_15 == R_PAREN) : LA60_17 = self.input.LA(9) if (LA60_17 == COMMA) : LA60_19 = self.input.LA(10) if (LA60_19 == L_PAREN) : LA60_20 = self.input.LA(11) if (LA60_20 == INT) : LA60_21 = self.input.LA(12) if (LA60_21 == COMMA) : LA60_22 = self.input.LA(13) if (LA60_22 == INT) : LA60_23 = self.input.LA(14) if (LA60_23 == R_PAREN) : LA60_24 = self.input.LA(15) if (LA60_24 == 226) : LA60 = self.input.LA(16) if LA60 in {229}: LA60_26 = self.input.LA(17) if (LA60_26 == KEEP) : LA60_27 = self.input.LA(18) if (LA60_27 == SPECIFIC) : LA60_28 = self.input.LA(19) if (LA60_28 == GEODE) : LA60_29 = self.input.LA(20) if (LA60_29 == HYPERLINK) : LA60_13 = self.input.LA(21) if (LA60_13 == STRING) : LA60_16 = self.input.LA(22) if (LA60_16 == 226) : LA60_18 = self.input.LA(23) if (LA60_18 == STATE) : alt60 = 1 elif (LA60_18 == CONNECTION) : alt60 = 2 elif LA60 in {STATE}: alt60 = 1 elif LA60 in {CONNECTION}: alt60 = 2 elif (LA60_7 == INT) : LA60_10 = self.input.LA(5) if (LA60_10 == COMMA) : LA60_12 = self.input.LA(6) if (LA60_12 == DASH) : LA60_14 = self.input.LA(7) if (LA60_14 == INT) : LA60_15 = self.input.LA(8) if (LA60_15 == R_PAREN) : LA60_17 = self.input.LA(9) if (LA60_17 == COMMA) : LA60_19 = self.input.LA(10) if (LA60_19 == L_PAREN) : LA60_20 = self.input.LA(11) if (LA60_20 == INT) : LA60_21 = self.input.LA(12) if (LA60_21 == COMMA) : LA60_22 = self.input.LA(13) if (LA60_22 == INT) : LA60_23 = self.input.LA(14) if (LA60_23 == R_PAREN) : LA60_24 = self.input.LA(15) if (LA60_24 == 226) : LA60 = self.input.LA(16) if LA60 in {229}: LA60_26 = self.input.LA(17) if (LA60_26 == KEEP) : LA60_27 = self.input.LA(18) if (LA60_27 == SPECIFIC) : LA60_28 = self.input.LA(19) if (LA60_28 == GEODE) : LA60_29 = self.input.LA(20) if (LA60_29 == HYPERLINK) : LA60_13 = self.input.LA(21) if (LA60_13 == STRING) : LA60_16 = self.input.LA(22) if (LA60_16 == 226) : LA60_18 = self.input.LA(23) if (LA60_18 == STATE) : alt60 = 1 elif (LA60_18 == CONNECTION) : alt60 = 2 elif LA60 in {STATE}: alt60 = 1 elif LA60 in {CONNECTION}: alt60 = 2 elif (LA60_12 == INT) : LA60_15 = self.input.LA(7) if (LA60_15 == R_PAREN) : LA60_17 = self.input.LA(8) if (LA60_17 == COMMA) : LA60_19 = self.input.LA(9) if (LA60_19 == L_PAREN) : LA60_20 = self.input.LA(10) if (LA60_20 == INT) : LA60_21 = self.input.LA(11) if (LA60_21 == COMMA) : LA60_22 = self.input.LA(12) if (LA60_22 == INT) : LA60_23 = self.input.LA(13) if (LA60_23 == R_PAREN) : LA60_24 = self.input.LA(14) if (LA60_24 == 226) : LA60 = self.input.LA(15) if LA60 in {229}: LA60_26 = self.input.LA(16) if (LA60_26 == KEEP) : LA60_27 = self.input.LA(17) if (LA60_27 == SPECIFIC) : LA60_28 = self.input.LA(18) if (LA60_28 == GEODE) : LA60_29 = self.input.LA(19) if (LA60_29 == HYPERLINK) : LA60_13 = self.input.LA(20) if (LA60_13 == STRING) : LA60_16 = self.input.LA(21) if (LA60_16 == 226) : LA60_18 = self.input.LA(22) if (LA60_18 == STATE) : alt60 = 1 elif (LA60_18 == CONNECTION) : alt60 = 2 elif LA60 in {STATE}: alt60 = 1 elif LA60 in {CONNECTION}: alt60 = 2 elif (LA60_2 == KEEP) : LA60_6 = self.input.LA(3) if (LA60_6 == SPECIFIC) : LA60_8 = self.input.LA(4) if (LA60_8 == GEODE) : LA60_11 = self.input.LA(5) if (LA60_11 == HYPERLINK) : LA60_13 = self.input.LA(6) if (LA60_13 == STRING) : LA60_16 = self.input.LA(7) if (LA60_16 == 226) : LA60_18 = self.input.LA(8) if (LA60_18 == STATE) : alt60 = 1 elif (LA60_18 == CONNECTION) : alt60 = 2 elif LA60 in {STATE}: alt60 = 1 elif LA60 in {CONNECTION}: alt60 = 2 if alt60 == 1: # sdl92.g:458:25: state pass self._state.following.append(self.FOLLOW_state_in_processBody4985) state197 = self.state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state197.tree) elif alt60 == 2: # sdl92.g:458:33: floating_label pass self._state.following.append(self.FOLLOW_floating_label_in_processBody4989) floating_label198 = self.floating_label() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, floating_label198.tree) else: break #loop60 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:462: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 START201 = None name = None cif199 = None hyperlink200 = None end202 = None transition203 = None START201_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:463:9: ( ( cif )? ( hyperlink )? START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( hyperlink )? ( $name)? ( end )? ( transition )? ) ) # sdl92.g:463:17: ( cif )? ( hyperlink )? START (name= state_entry_point_name )? end ( transition )? pass # sdl92.g:463:17: ( cif )? alt61 = 2 LA61_0 = self.input.LA(1) if (LA61_0 == 229) : 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}) : alt61 = 1 if alt61 == 1: # sdl92.g:463:17: cif pass self._state.following.append(self.FOLLOW_cif_in_start5023) cif199 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif199.tree) # sdl92.g:464:17: ( hyperlink )? alt62 = 2 LA62_0 = self.input.LA(1) if (LA62_0 == 229) : alt62 = 1 if alt62 == 1: # sdl92.g:464:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_start5042) hyperlink200 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink200.tree) START201 = self.match(self.input, START, self.FOLLOW_START_in_start5061) if self._state.backtracking == 0: stream_START.add(START201) # sdl92.g:465:27: (name= state_entry_point_name )? alt63 = 2 LA63_0 = self.input.LA(1) if (LA63_0 == ID) : alt63 = 1 if alt63 == 1: # sdl92.g:465:27: name= state_entry_point_name pass self._state.following.append(self.FOLLOW_state_entry_point_name_in_start5065) 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_start5068) end202 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end202.tree) # sdl92.g:466:17: ( transition )? alt64 = 2 LA64 = self.input.LA(1) if LA64 in {229}: LA64_1 = self.input.LA(2) if (LA64_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA64_5 = self.input.LA(3) if (LA64_5 == L_PAREN) : LA64_7 = self.input.LA(4) if (LA64_7 == DASH) : LA64_9 = self.input.LA(5) if (LA64_9 == INT) : LA64_10 = self.input.LA(6) if (LA64_10 == COMMA) : LA64_12 = self.input.LA(7) if (LA64_12 == DASH) : LA64_14 = self.input.LA(8) if (LA64_14 == INT) : LA64_15 = self.input.LA(9) if (LA64_15 == R_PAREN) : LA64_17 = self.input.LA(10) if (LA64_17 == COMMA) : LA64_19 = self.input.LA(11) if (LA64_19 == L_PAREN) : LA64_20 = self.input.LA(12) if (LA64_20 == INT) : LA64_21 = self.input.LA(13) if (LA64_21 == COMMA) : LA64_22 = self.input.LA(14) if (LA64_22 == INT) : LA64_23 = self.input.LA(15) if (LA64_23 == R_PAREN) : LA64_24 = self.input.LA(16) if (LA64_24 == 226) : LA64_25 = self.input.LA(17) if (LA64_25 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif (LA64_25 == 229) : LA64_26 = self.input.LA(18) if (LA64_26 == KEEP) : LA64_27 = self.input.LA(19) if (LA64_27 == SPECIFIC) : LA64_28 = self.input.LA(20) if (LA64_28 == GEODE) : LA64_29 = self.input.LA(21) if (LA64_29 == HYPERLINK) : LA64_13 = self.input.LA(22) if (LA64_13 == STRING) : LA64_16 = self.input.LA(23) if (LA64_16 == 226) : LA64_18 = self.input.LA(24) if (LA64_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif (LA64_12 == INT) : LA64_15 = self.input.LA(8) if (LA64_15 == R_PAREN) : LA64_17 = self.input.LA(9) if (LA64_17 == COMMA) : LA64_19 = self.input.LA(10) if (LA64_19 == L_PAREN) : LA64_20 = self.input.LA(11) if (LA64_20 == INT) : LA64_21 = self.input.LA(12) if (LA64_21 == COMMA) : LA64_22 = self.input.LA(13) if (LA64_22 == INT) : LA64_23 = self.input.LA(14) if (LA64_23 == R_PAREN) : LA64_24 = self.input.LA(15) if (LA64_24 == 226) : LA64_25 = self.input.LA(16) if (LA64_25 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif (LA64_25 == 229) : LA64_26 = self.input.LA(17) if (LA64_26 == KEEP) : LA64_27 = self.input.LA(18) if (LA64_27 == SPECIFIC) : LA64_28 = self.input.LA(19) if (LA64_28 == GEODE) : LA64_29 = self.input.LA(20) if (LA64_29 == HYPERLINK) : LA64_13 = self.input.LA(21) if (LA64_13 == STRING) : LA64_16 = self.input.LA(22) if (LA64_16 == 226) : LA64_18 = self.input.LA(23) if (LA64_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif (LA64_7 == INT) : LA64_10 = self.input.LA(5) if (LA64_10 == COMMA) : LA64_12 = self.input.LA(6) if (LA64_12 == DASH) : LA64_14 = self.input.LA(7) if (LA64_14 == INT) : LA64_15 = self.input.LA(8) if (LA64_15 == R_PAREN) : LA64_17 = self.input.LA(9) if (LA64_17 == COMMA) : LA64_19 = self.input.LA(10) if (LA64_19 == L_PAREN) : LA64_20 = self.input.LA(11) if (LA64_20 == INT) : LA64_21 = self.input.LA(12) if (LA64_21 == COMMA) : LA64_22 = self.input.LA(13) if (LA64_22 == INT) : LA64_23 = self.input.LA(14) if (LA64_23 == R_PAREN) : LA64_24 = self.input.LA(15) if (LA64_24 == 226) : LA64_25 = self.input.LA(16) if (LA64_25 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif (LA64_25 == 229) : LA64_26 = self.input.LA(17) if (LA64_26 == KEEP) : LA64_27 = self.input.LA(18) if (LA64_27 == SPECIFIC) : LA64_28 = self.input.LA(19) if (LA64_28 == GEODE) : LA64_29 = self.input.LA(20) if (LA64_29 == HYPERLINK) : LA64_13 = self.input.LA(21) if (LA64_13 == STRING) : LA64_16 = self.input.LA(22) if (LA64_16 == 226) : LA64_18 = self.input.LA(23) if (LA64_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif (LA64_12 == INT) : LA64_15 = self.input.LA(7) if (LA64_15 == R_PAREN) : LA64_17 = self.input.LA(8) if (LA64_17 == COMMA) : LA64_19 = self.input.LA(9) if (LA64_19 == L_PAREN) : LA64_20 = self.input.LA(10) if (LA64_20 == INT) : LA64_21 = self.input.LA(11) if (LA64_21 == COMMA) : LA64_22 = self.input.LA(12) if (LA64_22 == INT) : LA64_23 = self.input.LA(13) if (LA64_23 == R_PAREN) : LA64_24 = self.input.LA(14) if (LA64_24 == 226) : LA64_25 = self.input.LA(15) if (LA64_25 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif (LA64_25 == 229) : LA64_26 = self.input.LA(16) if (LA64_26 == KEEP) : LA64_27 = self.input.LA(17) if (LA64_27 == SPECIFIC) : LA64_28 = self.input.LA(18) if (LA64_28 == GEODE) : LA64_29 = self.input.LA(19) if (LA64_29 == HYPERLINK) : LA64_13 = self.input.LA(20) if (LA64_13 == STRING) : LA64_16 = self.input.LA(21) if (LA64_16 == 226) : LA64_18 = self.input.LA(22) if (LA64_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif (LA64_1 == KEEP) : LA64_6 = self.input.LA(3) if (LA64_6 == SPECIFIC) : LA64_8 = self.input.LA(4) if (LA64_8 == GEODE) : LA64_11 = self.input.LA(5) if (LA64_11 == HYPERLINK) : LA64_13 = self.input.LA(6) if (LA64_13 == STRING) : LA64_16 = self.input.LA(7) if (LA64_16 == 226) : LA64_18 = self.input.LA(8) if (LA64_18 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt64 = 1 elif LA64 in {ID}: LA64_2 = self.input.LA(2) if (LA64_2 in {ASSIG_OP, DOT, L_PAREN, 224, 230}) : alt64 = 1 elif LA64 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}: alt64 = 1 if alt64 == 1: # sdl92.g:466:17: transition pass self._state.following.append(self.FOLLOW_transition_in_start5086) transition203 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition203.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() # 467:9: -> ^( START ( cif )? ( hyperlink )? ( $name)? ( end )? ( transition )? ) # sdl92.g:467:17: ^( START ( cif )? ( hyperlink )? ( $name)? ( end )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_START.nextNode() , root_1) # sdl92.g:467:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:467:30: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:467:42: ( $name)? if stream_name.hasNext(): self._adaptor.addChild(root_1, stream_name.nextTree()) stream_name.reset(); # sdl92.g:467:48: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); # sdl92.g:467: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:471: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 CONNECTION206 = None char_literal208 = None ENDCONNECTION211 = None SEMI212 = None cif204 = None hyperlink205 = None connector_name207 = None transition209 = None cif_end_label210 = None CONNECTION206_tree = None char_literal208_tree = None ENDCONNECTION211_tree = None SEMI212_tree = None stream_CONNECTION = RewriteRuleTokenStream(self._adaptor, "token CONNECTION") stream_ENDCONNECTION = RewriteRuleTokenStream(self._adaptor, "token ENDCONNECTION") stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_230 = RewriteRuleTokenStream(self._adaptor, "token 230") 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:472:9: ( ( cif )? ( hyperlink )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( hyperlink )? connector_name ( transition )? ) ) # sdl92.g:472:17: ( cif )? ( hyperlink )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI pass # sdl92.g:472:17: ( cif )? alt65 = 2 LA65_0 = self.input.LA(1) if (LA65_0 == 229) : LA65_1 = self.input.LA(2) if (LA65_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt65 = 1 if alt65 == 1: # sdl92.g:472:17: cif pass self._state.following.append(self.FOLLOW_cif_in_floating_label5154) cif204 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif204.tree) # sdl92.g:473:17: ( hyperlink )? alt66 = 2 LA66_0 = self.input.LA(1) if (LA66_0 == 229) : alt66 = 1 if alt66 == 1: # sdl92.g:473:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_floating_label5173) hyperlink205 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink205.tree) CONNECTION206 = self.match(self.input, CONNECTION, self.FOLLOW_CONNECTION_in_floating_label5192) if self._state.backtracking == 0: stream_CONNECTION.add(CONNECTION206) self._state.following.append(self.FOLLOW_connector_name_in_floating_label5194) connector_name207 = self.connector_name() self._state.following.pop() if self._state.backtracking == 0: stream_connector_name.add(connector_name207.tree) char_literal208 = self.match(self.input, 230, self.FOLLOW_230_in_floating_label5196) if self._state.backtracking == 0: stream_230.add(char_literal208) # sdl92.g:475:17: ( transition )? alt67 = 2 LA67_0 = self.input.LA(1) if (LA67_0 == 229) : LA67_1 = self.input.LA(2) if (LA67_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, KEEP, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt67 = 1 elif (LA67_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}) : alt67 = 1 if alt67 == 1: # sdl92.g:475:17: transition pass self._state.following.append(self.FOLLOW_transition_in_floating_label5214) transition209 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition209.tree) # sdl92.g:476:17: ( cif_end_label )? alt68 = 2 LA68_0 = self.input.LA(1) if (LA68_0 == 229) : alt68 = 1 if alt68 == 1: # sdl92.g:476:17: cif_end_label pass self._state.following.append(self.FOLLOW_cif_end_label_in_floating_label5233) cif_end_label210 = self.cif_end_label() self._state.following.pop() if self._state.backtracking == 0: stream_cif_end_label.add(cif_end_label210.tree) ENDCONNECTION211 = self.match(self.input, ENDCONNECTION, self.FOLLOW_ENDCONNECTION_in_floating_label5252) if self._state.backtracking == 0: stream_ENDCONNECTION.add(ENDCONNECTION211) SEMI212 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_floating_label5254) if self._state.backtracking == 0: stream_SEMI.add(SEMI212) # 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() # 478:9: -> ^( FLOATING_LABEL ( cif )? ( hyperlink )? connector_name ( transition )? ) # sdl92.g:478: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:478:34: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:478: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:478: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:482:1: state : ( state_definition | state_instance ); def state(self, ): retval = self.state_return() retval.start = self.input.LT(1) root_0 = None state_definition213 = None state_instance214 = None try: try: # sdl92.g:483:9: ( state_definition | state_instance ) alt69 = 2 LA69_0 = self.input.LA(1) if (LA69_0 == 229) : LA69_1 = self.input.LA(2) if (LA69_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA69_3 = self.input.LA(3) if (LA69_3 == L_PAREN) : LA69_7 = self.input.LA(4) if (LA69_7 == DASH) : LA69_10 = self.input.LA(5) if (LA69_10 == INT) : LA69_11 = self.input.LA(6) if (LA69_11 == COMMA) : LA69_13 = self.input.LA(7) if (LA69_13 == DASH) : LA69_15 = self.input.LA(8) if (LA69_15 == INT) : LA69_16 = self.input.LA(9) if (LA69_16 == R_PAREN) : LA69_18 = self.input.LA(10) if (LA69_18 == COMMA) : LA69_20 = self.input.LA(11) if (LA69_20 == L_PAREN) : LA69_21 = self.input.LA(12) if (LA69_21 == INT) : LA69_22 = self.input.LA(13) if (LA69_22 == COMMA) : LA69_23 = self.input.LA(14) if (LA69_23 == INT) : LA69_24 = self.input.LA(15) if (LA69_24 == R_PAREN) : LA69_25 = self.input.LA(16) if (LA69_25 == 226) : LA69_26 = self.input.LA(17) if (LA69_26 == 229) : LA69_27 = self.input.LA(18) if (LA69_27 == KEEP) : LA69_4 = self.input.LA(19) if (LA69_4 == SPECIFIC) : LA69_8 = self.input.LA(20) if (LA69_8 == GEODE) : LA69_12 = self.input.LA(21) if (LA69_12 == HYPERLINK) : LA69_14 = self.input.LA(22) if (LA69_14 == STRING) : LA69_17 = self.input.LA(23) if (LA69_17 == 226) : LA69_19 = self.input.LA(24) if (LA69_19 == STATE) : LA69_2 = self.input.LA(25) if (LA69_2 == ID) : LA69_5 = self.input.LA(26) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 27, self.input) raise nvae elif (LA69_26 == STATE) : LA69_2 = self.input.LA(18) if (LA69_2 == ID) : LA69_5 = self.input.LA(19) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 15, self.input) raise nvae elif (LA69_13 == INT) : LA69_16 = self.input.LA(8) if (LA69_16 == R_PAREN) : LA69_18 = self.input.LA(9) if (LA69_18 == COMMA) : LA69_20 = self.input.LA(10) if (LA69_20 == L_PAREN) : LA69_21 = self.input.LA(11) if (LA69_21 == INT) : LA69_22 = self.input.LA(12) if (LA69_22 == COMMA) : LA69_23 = self.input.LA(13) if (LA69_23 == INT) : LA69_24 = self.input.LA(14) if (LA69_24 == R_PAREN) : LA69_25 = self.input.LA(15) if (LA69_25 == 226) : LA69_26 = self.input.LA(16) if (LA69_26 == 229) : LA69_27 = self.input.LA(17) if (LA69_27 == KEEP) : LA69_4 = self.input.LA(18) if (LA69_4 == SPECIFIC) : LA69_8 = self.input.LA(19) if (LA69_8 == GEODE) : LA69_12 = self.input.LA(20) if (LA69_12 == HYPERLINK) : LA69_14 = self.input.LA(21) if (LA69_14 == STRING) : LA69_17 = self.input.LA(22) if (LA69_17 == 226) : LA69_19 = self.input.LA(23) if (LA69_19 == STATE) : LA69_2 = self.input.LA(24) if (LA69_2 == ID) : LA69_5 = self.input.LA(25) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 27, self.input) raise nvae elif (LA69_26 == STATE) : LA69_2 = self.input.LA(17) if (LA69_2 == ID) : LA69_5 = self.input.LA(18) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 10, self.input) raise nvae elif (LA69_7 == INT) : LA69_11 = self.input.LA(5) if (LA69_11 == COMMA) : LA69_13 = self.input.LA(6) if (LA69_13 == DASH) : LA69_15 = self.input.LA(7) if (LA69_15 == INT) : LA69_16 = self.input.LA(8) if (LA69_16 == R_PAREN) : LA69_18 = self.input.LA(9) if (LA69_18 == COMMA) : LA69_20 = self.input.LA(10) if (LA69_20 == L_PAREN) : LA69_21 = self.input.LA(11) if (LA69_21 == INT) : LA69_22 = self.input.LA(12) if (LA69_22 == COMMA) : LA69_23 = self.input.LA(13) if (LA69_23 == INT) : LA69_24 = self.input.LA(14) if (LA69_24 == R_PAREN) : LA69_25 = self.input.LA(15) if (LA69_25 == 226) : LA69_26 = self.input.LA(16) if (LA69_26 == 229) : LA69_27 = self.input.LA(17) if (LA69_27 == KEEP) : LA69_4 = self.input.LA(18) if (LA69_4 == SPECIFIC) : LA69_8 = self.input.LA(19) if (LA69_8 == GEODE) : LA69_12 = self.input.LA(20) if (LA69_12 == HYPERLINK) : LA69_14 = self.input.LA(21) if (LA69_14 == STRING) : LA69_17 = self.input.LA(22) if (LA69_17 == 226) : LA69_19 = self.input.LA(23) if (LA69_19 == STATE) : LA69_2 = self.input.LA(24) if (LA69_2 == ID) : LA69_5 = self.input.LA(25) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 27, self.input) raise nvae elif (LA69_26 == STATE) : LA69_2 = self.input.LA(17) if (LA69_2 == ID) : LA69_5 = self.input.LA(18) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 15, self.input) raise nvae elif (LA69_13 == INT) : LA69_16 = self.input.LA(7) if (LA69_16 == R_PAREN) : LA69_18 = self.input.LA(8) if (LA69_18 == COMMA) : LA69_20 = self.input.LA(9) if (LA69_20 == L_PAREN) : LA69_21 = self.input.LA(10) if (LA69_21 == INT) : LA69_22 = self.input.LA(11) if (LA69_22 == COMMA) : LA69_23 = self.input.LA(12) if (LA69_23 == INT) : LA69_24 = self.input.LA(13) if (LA69_24 == R_PAREN) : LA69_25 = self.input.LA(14) if (LA69_25 == 226) : LA69_26 = self.input.LA(15) if (LA69_26 == 229) : LA69_27 = self.input.LA(16) if (LA69_27 == KEEP) : LA69_4 = self.input.LA(17) if (LA69_4 == SPECIFIC) : LA69_8 = self.input.LA(18) if (LA69_8 == GEODE) : LA69_12 = self.input.LA(19) if (LA69_12 == HYPERLINK) : LA69_14 = self.input.LA(20) if (LA69_14 == STRING) : LA69_17 = self.input.LA(21) if (LA69_17 == 226) : LA69_19 = self.input.LA(22) if (LA69_19 == STATE) : LA69_2 = self.input.LA(23) if (LA69_2 == ID) : LA69_5 = self.input.LA(24) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 27, self.input) raise nvae elif (LA69_26 == STATE) : LA69_2 = self.input.LA(16) if (LA69_2 == ID) : LA69_5 = self.input.LA(17) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 3, self.input) raise nvae elif (LA69_1 == KEEP) : LA69_4 = self.input.LA(3) if (LA69_4 == SPECIFIC) : LA69_8 = self.input.LA(4) if (LA69_8 == GEODE) : LA69_12 = self.input.LA(5) if (LA69_12 == HYPERLINK) : LA69_14 = self.input.LA(6) if (LA69_14 == STRING) : LA69_17 = self.input.LA(7) if (LA69_17 == 226) : LA69_19 = self.input.LA(8) if (LA69_19 == STATE) : LA69_2 = self.input.LA(9) if (LA69_2 == ID) : LA69_5 = self.input.LA(10) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 8, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 4, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 1, self.input) raise nvae elif (LA69_0 == STATE) : LA69_2 = self.input.LA(2) if (LA69_2 == ID) : LA69_5 = self.input.LA(3) if (LA69_5 in {COMMA, COMMENT, SEMI, VIA, 229}) : alt69 = 1 elif (LA69_5 == 230) : alt69 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 5, self.input) raise nvae elif (LA69_2 == ASTERISK) : alt69 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 69, 0, self.input) raise nvae if alt69 == 1: # sdl92.g:483:11: state_definition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_state_definition_in_state5310) state_definition213 = self.state_definition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_definition213.tree) elif alt69 == 2: # sdl92.g:484:13: state_instance pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_state_instance_in_state5324) state_instance214 = self.state_instance() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_instance214.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:487: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 STATE217 = None SEMI220 = None ENDSTATE222 = None e = None f = None cif215 = None hyperlink216 = None statelist218 = None via219 = None state_part221 = None statename223 = None STATE217_tree = None SEMI220_tree = None ENDSTATE222_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:488: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:488:17: ( cif )? ( hyperlink )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end pass # sdl92.g:488:17: ( cif )? alt70 = 2 LA70_0 = self.input.LA(1) if (LA70_0 == 229) : LA70_1 = self.input.LA(2) if (LA70_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt70 = 1 if alt70 == 1: # sdl92.g:488:17: cif pass self._state.following.append(self.FOLLOW_cif_in_state_definition5355) cif215 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif215.tree) # sdl92.g:489:17: ( hyperlink )? alt71 = 2 LA71_0 = self.input.LA(1) if (LA71_0 == 229) : alt71 = 1 if alt71 == 1: # sdl92.g:489:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_state_definition5374) hyperlink216 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink216.tree) STATE217 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_definition5393) if self._state.backtracking == 0: stream_STATE.add(STATE217) self._state.following.append(self.FOLLOW_statelist_in_state_definition5395) statelist218 = self.statelist() self._state.following.pop() if self._state.backtracking == 0: stream_statelist.add(statelist218.tree) # sdl92.g:490:33: ( via )? alt72 = 2 LA72_0 = self.input.LA(1) if (LA72_0 == VIA) : alt72 = 1 if alt72 == 1: # sdl92.g:490:33: via pass self._state.following.append(self.FOLLOW_via_in_state_definition5397) via219 = self.via() self._state.following.pop() if self._state.backtracking == 0: stream_via.add(via219.tree) # sdl92.g:490:38: (e= end | SEMI ) alt73 = 2 LA73_0 = self.input.LA(1) if (LA73_0 in {COMMENT, 229}) : alt73 = 1 elif (LA73_0 == SEMI) : LA73_2 = self.input.LA(2) if (self.synpred97_sdl92()) : alt73 = 1 elif (True) : alt73 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 73, 2, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 73, 0, self.input) raise nvae if alt73 == 1: # sdl92.g:490:39: e= end pass self._state.following.append(self.FOLLOW_end_in_state_definition5403) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) elif alt73 == 2: # sdl92.g:490:47: SEMI pass SEMI220 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_definition5407) if self._state.backtracking == 0: stream_SEMI.add(SEMI220) # sdl92.g:491:17: ( state_part )* while True: #loop74 alt74 = 2 LA74_0 = self.input.LA(1) if (LA74_0 in {CONNECT, INPUT, PROVIDED, SAVE, 229}) : alt74 = 1 if alt74 == 1: # sdl92.g:491:18: state_part pass self._state.following.append(self.FOLLOW_state_part_in_state_definition5428) state_part221 = self.state_part() self._state.following.pop() if self._state.backtracking == 0: stream_state_part.add(state_part221.tree) else: break #loop74 ENDSTATE222 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_definition5448) if self._state.backtracking == 0: stream_ENDSTATE.add(ENDSTATE222) # sdl92.g:492:26: ( statename )? alt75 = 2 LA75_0 = self.input.LA(1) if (LA75_0 == ID) : alt75 = 1 if alt75 == 1: # sdl92.g:492:26: statename pass self._state.following.append(self.FOLLOW_statename_in_state_definition5450) statename223 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename223.tree) self._state.following.append(self.FOLLOW_end_in_state_definition5455) 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() # 493:9: -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statelist ( via )? ( state_part )* ) # sdl92.g:493: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:493:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:493:30: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:493: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:493:55: ( via )? if stream_via.hasNext(): self._adaptor.addChild(root_1, stream_via.nextTree()) stream_via.reset(); # sdl92.g:493: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:497:1: state_instance : ( cif )? ( hyperlink )? STATE statename ':' type_inst e= end ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statename type_inst ) ; def state_instance(self, ): retval = self.state_instance_return() retval.start = self.input.LT(1) root_0 = None STATE226 = None char_literal228 = None ENDSTATE230 = None e = None f = None cif224 = None hyperlink225 = None statename227 = None type_inst229 = None statename231 = None STATE226_tree = None char_literal228_tree = None ENDSTATE230_tree = None stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_230 = RewriteRuleTokenStream(self._adaptor, "token 230") 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") try: try: # sdl92.g:498:9: ( ( cif )? ( hyperlink )? STATE statename ':' type_inst e= end ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statename type_inst ) ) # sdl92.g:498:17: ( cif )? ( hyperlink )? STATE statename ':' type_inst e= end ENDSTATE ( statename )? f= end pass # sdl92.g:498:17: ( cif )? alt76 = 2 LA76_0 = self.input.LA(1) if (LA76_0 == 229) : LA76_1 = self.input.LA(2) if (LA76_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt76 = 1 if alt76 == 1: # sdl92.g:498:17: cif pass self._state.following.append(self.FOLLOW_cif_in_state_instance5524) cif224 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif224.tree) # sdl92.g:499:17: ( hyperlink )? alt77 = 2 LA77_0 = self.input.LA(1) if (LA77_0 == 229) : alt77 = 1 if alt77 == 1: # sdl92.g:499:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_state_instance5543) hyperlink225 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink225.tree) STATE226 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_instance5562) if self._state.backtracking == 0: stream_STATE.add(STATE226) self._state.following.append(self.FOLLOW_statename_in_state_instance5564) statename227 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename227.tree) char_literal228 = self.match(self.input, 230, self.FOLLOW_230_in_state_instance5566) if self._state.backtracking == 0: stream_230.add(char_literal228) self._state.following.append(self.FOLLOW_type_inst_in_state_instance5568) type_inst229 = self.type_inst() self._state.following.pop() if self._state.backtracking == 0: stream_type_inst.add(type_inst229.tree) self._state.following.append(self.FOLLOW_end_in_state_instance5572) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) ENDSTATE230 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_instance5590) if self._state.backtracking == 0: stream_ENDSTATE.add(ENDSTATE230) # sdl92.g:501:26: ( statename )? alt78 = 2 LA78_0 = self.input.LA(1) if (LA78_0 == ID) : alt78 = 1 if alt78 == 1: # sdl92.g:501:26: statename pass self._state.following.append(self.FOLLOW_statename_in_state_instance5592) 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_instance5597) 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, type_inst # 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() # 502:9: -> ^( STATE ( cif )? ( hyperlink )? ( $e)? statename type_inst ) # sdl92.g:502:17: ^( STATE ( cif )? ( hyperlink )? ( $e)? statename type_inst ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_STATE.nextNode() , root_1) # sdl92.g:502:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:502:30: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:502: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()) self._adaptor.addChild(root_1, stream_type_inst.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 "state_instance" class statelist_return(ParserRuleReturnScope): def __init__(self): super().__init__() self.tree = None # $ANTLR start "statelist" # sdl92.g:506: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_literal233 = None ASTERISK235 = None statename232 = None statename234 = None exception_state236 = None char_literal233_tree = None ASTERISK235_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:507:9: ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ) alt81 = 2 LA81_0 = self.input.LA(1) if (LA81_0 == ID) : alt81 = 1 elif (LA81_0 == ASTERISK) : alt81 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 81, 0, self.input) raise nvae if alt81 == 1: # sdl92.g:507:17: ( ( statename ) ( ',' statename )* ) pass # sdl92.g:507:17: ( ( statename ) ( ',' statename )* ) # sdl92.g:507:18: ( statename ) ( ',' statename )* pass # sdl92.g:507:18: ( statename ) # sdl92.g:507:19: statename pass self._state.following.append(self.FOLLOW_statename_in_statelist5664) statename232 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename232.tree) # sdl92.g:507:29: ( ',' statename )* while True: #loop79 alt79 = 2 LA79_0 = self.input.LA(1) if (LA79_0 == COMMA) : alt79 = 1 if alt79 == 1: # sdl92.g:507:30: ',' statename pass char_literal233 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_statelist5667) if self._state.backtracking == 0: stream_COMMA.add(char_literal233) self._state.following.append(self.FOLLOW_statename_in_statelist5669) statename234 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename234.tree) else: break #loop79 # 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() # 508:9: -> ^( STATELIST ( statename )+ ) # sdl92.g:508:17: ^( STATELIST ( statename )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(STATELIST, "STATELIST") , root_1) # sdl92.g:508: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 alt81 == 2: # sdl92.g:509:19: ASTERISK ( exception_state )? pass ASTERISK235 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_statelist5714) if self._state.backtracking == 0: stream_ASTERISK.add(ASTERISK235) # sdl92.g:509:28: ( exception_state )? alt80 = 2 LA80_0 = self.input.LA(1) if (LA80_0 == L_PAREN) : alt80 = 1 if alt80 == 1: # sdl92.g:509:28: exception_state pass self._state.following.append(self.FOLLOW_exception_state_in_statelist5716) exception_state236 = self.exception_state() self._state.following.pop() if self._state.backtracking == 0: stream_exception_state.add(exception_state236.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() # 510:9: -> ^( ASTERISK ( exception_state )? ) # sdl92.g:510:17: ^( ASTERISK ( exception_state )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ASTERISK.nextNode() , root_1) # sdl92.g:510: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:514: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_literal237 = None char_literal239 = None char_literal241 = None statename238 = None statename240 = None char_literal237_tree = None char_literal239_tree = None char_literal241_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:515:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) # sdl92.g:515:17: '(' statename ( ',' statename )* ')' pass char_literal237 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_exception_state5771) if self._state.backtracking == 0: stream_L_PAREN.add(char_literal237) self._state.following.append(self.FOLLOW_statename_in_exception_state5773) statename238 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename238.tree) # sdl92.g:515:31: ( ',' statename )* while True: #loop82 alt82 = 2 LA82_0 = self.input.LA(1) if (LA82_0 == COMMA) : alt82 = 1 if alt82 == 1: # sdl92.g:515:32: ',' statename pass char_literal239 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_exception_state5776) if self._state.backtracking == 0: stream_COMMA.add(char_literal239) self._state.following.append(self.FOLLOW_statename_in_exception_state5778) statename240 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename240.tree) else: break #loop82 char_literal241 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_exception_state5782) if self._state.backtracking == 0: stream_R_PAREN.add(char_literal241) # 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() # 516:9: -> ( statename )+ # sdl92.g:516: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:521: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_graph242 = None state_aggregation243 = None try: try: # sdl92.g:522:9: ( composite_state_graph | state_aggregation ) alt83 = 2 LA83_0 = self.input.LA(1) if (LA83_0 == STATE) : LA83_1 = self.input.LA(2) if (LA83_1 == AGGREGATION) : alt83 = 2 elif (LA83_1 == ID) : alt83 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 83, 1, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 83, 0, self.input) raise nvae if alt83 == 1: # sdl92.g:522:17: composite_state_graph pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_composite_state_graph_in_composite_state5833) composite_state_graph242 = self.composite_state_graph() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, composite_state_graph242.tree) elif alt83 == 2: # sdl92.g:523:19: state_aggregation pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_state_aggregation_in_composite_state5853) state_aggregation243 = self.state_aggregation() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_aggregation243.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:527: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 STATE244 = None AGGREGATION245 = None SUBSTRUCTURE248 = None statename246 = None end247 = None STATE244_tree = None AGGREGATION245_tree = None SUBSTRUCTURE248_tree = None try: try: # sdl92.g:528:9: ( STATE ( AGGREGATION )? statename end SUBSTRUCTURE ) # sdl92.g:528:17: STATE ( AGGREGATION )? statename end SUBSTRUCTURE pass root_0 = self._adaptor.nil() STATE244 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_preamble5885) if self._state.backtracking == 0: STATE244_tree = self._adaptor.createWithPayload(STATE244) self._adaptor.addChild(root_0, STATE244_tree) # sdl92.g:528:23: ( AGGREGATION )? alt84 = 2 LA84_0 = self.input.LA(1) if (LA84_0 == AGGREGATION) : alt84 = 1 if alt84 == 1: # sdl92.g:528:23: AGGREGATION pass AGGREGATION245 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_composite_state_preamble5887) if self._state.backtracking == 0: AGGREGATION245_tree = self._adaptor.createWithPayload(AGGREGATION245) self._adaptor.addChild(root_0, AGGREGATION245_tree) self._state.following.append(self.FOLLOW_statename_in_composite_state_preamble5890) statename246 = self.statename() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, statename246.tree) self._state.following.append(self.FOLLOW_end_in_composite_state_preamble5892) end247 = self.end() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, end247.tree) SUBSTRUCTURE248 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_preamble5910) if self._state.backtracking == 0: SUBSTRUCTURE248_tree = self._adaptor.createWithPayload(SUBSTRUCTURE248) self._adaptor.addChild(root_0, SUBSTRUCTURE248_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:532: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 STATE249 = None SUBSTRUCTURE251 = None ENDSUBSTRUCTURE253 = None e = None body = None f = None statename250 = None connection_points252 = None statename254 = None STATE249_tree = None SUBSTRUCTURE251_tree = None ENDSUBSTRUCTURE253_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:533: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:533:17: STATE statename e= end SUBSTRUCTURE ( connection_points )* body= composite_state_body ENDSUBSTRUCTURE ( statename )? f= end pass STATE249 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_graph5941) if self._state.backtracking == 0: stream_STATE.add(STATE249) self._state.following.append(self.FOLLOW_statename_in_composite_state_graph5943) statename250 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename250.tree) self._state.following.append(self.FOLLOW_end_in_composite_state_graph5947) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) SUBSTRUCTURE251 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_graph5965) if self._state.backtracking == 0: stream_SUBSTRUCTURE.add(SUBSTRUCTURE251) # sdl92.g:535:17: ( connection_points )* while True: #loop85 alt85 = 2 LA85_0 = self.input.LA(1) if (LA85_0 in {IN, OUT}) : alt85 = 1 if alt85 == 1: # sdl92.g:535:17: connection_points pass self._state.following.append(self.FOLLOW_connection_points_in_composite_state_graph5983) connection_points252 = self.connection_points() self._state.following.pop() if self._state.backtracking == 0: stream_connection_points.add(connection_points252.tree) else: break #loop85 self._state.following.append(self.FOLLOW_composite_state_body_in_composite_state_graph6004) body = self.composite_state_body() self._state.following.pop() if self._state.backtracking == 0: stream_composite_state_body.add(body.tree) ENDSUBSTRUCTURE253 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph6022) if self._state.backtracking == 0: stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE253) # sdl92.g:537:33: ( statename )? alt86 = 2 LA86_0 = self.input.LA(1) if (LA86_0 == ID) : alt86 = 1 if alt86 == 1: # sdl92.g:537:33: statename pass self._state.following.append(self.FOLLOW_statename_in_composite_state_graph6024) statename254 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename254.tree) self._state.following.append(self.FOLLOW_end_in_composite_state_graph6029) 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() # 538:9: -> ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) # sdl92.g:538: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:538: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:538: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:543: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 STATE255 = None AGGREGATION256 = None SUBSTRUCTURE258 = None ENDSUBSTRUCTURE260 = None e = None entities = None body = None f = None statename257 = None connection_points259 = None statename261 = None STATE255_tree = None AGGREGATION256_tree = None SUBSTRUCTURE258_tree = None ENDSUBSTRUCTURE260_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:544: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:544:17: STATE AGGREGATION statename e= end SUBSTRUCTURE ( connection_points )* (entities= entity_in_composite_state )* body= state_aggregation_body ENDSUBSTRUCTURE ( statename )? f= end pass STATE255 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_aggregation6093) if self._state.backtracking == 0: stream_STATE.add(STATE255) AGGREGATION256 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_state_aggregation6095) if self._state.backtracking == 0: stream_AGGREGATION.add(AGGREGATION256) self._state.following.append(self.FOLLOW_statename_in_state_aggregation6097) statename257 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename257.tree) self._state.following.append(self.FOLLOW_end_in_state_aggregation6101) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) SUBSTRUCTURE258 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_state_aggregation6119) if self._state.backtracking == 0: stream_SUBSTRUCTURE.add(SUBSTRUCTURE258) # sdl92.g:546:17: ( connection_points )* while True: #loop87 alt87 = 2 LA87_0 = self.input.LA(1) if (LA87_0 in {IN, OUT}) : alt87 = 1 if alt87 == 1: # sdl92.g:546:17: connection_points pass self._state.following.append(self.FOLLOW_connection_points_in_state_aggregation6137) connection_points259 = self.connection_points() self._state.following.pop() if self._state.backtracking == 0: stream_connection_points.add(connection_points259.tree) else: break #loop87 # sdl92.g:547:25: (entities= entity_in_composite_state )* while True: #loop88 alt88 = 2 LA88_0 = self.input.LA(1) if (LA88_0 == 229) : LA88_2 = self.input.LA(2) if (LA88_2 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA88_4 = self.input.LA(3) if (LA88_4 == L_PAREN) : LA88_5 = self.input.LA(4) if (LA88_5 == DASH) : LA88_6 = self.input.LA(5) if (LA88_6 == INT) : LA88_7 = self.input.LA(6) if (LA88_7 == COMMA) : LA88_8 = self.input.LA(7) if (LA88_8 == DASH) : LA88_9 = self.input.LA(8) if (LA88_9 == INT) : LA88_10 = self.input.LA(9) if (LA88_10 == R_PAREN) : LA88_11 = self.input.LA(10) if (LA88_11 == COMMA) : LA88_12 = self.input.LA(11) if (LA88_12 == L_PAREN) : LA88_13 = self.input.LA(12) if (LA88_13 == INT) : LA88_14 = self.input.LA(13) if (LA88_14 == COMMA) : LA88_15 = self.input.LA(14) if (LA88_15 == INT) : LA88_16 = self.input.LA(15) if (LA88_16 == R_PAREN) : LA88_17 = self.input.LA(16) if (LA88_17 == 226) : LA88_18 = self.input.LA(17) if (LA88_18 == 229) : LA88_19 = self.input.LA(18) if (LA88_19 == KEEP) : LA88_20 = self.input.LA(19) if (LA88_20 == SPECIFIC) : LA88_21 = self.input.LA(20) if (LA88_21 == GEODE) : LA88_22 = self.input.LA(21) if (LA88_22 in {ASNFILENAME, PARAMNAMES}) : alt88 = 1 elif (LA88_19 in {ANSWER, COMMENT, CONNECT, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt88 = 1 elif (LA88_18 in {DCL, FPAR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 227}) : alt88 = 1 elif (LA88_8 == INT) : LA88_10 = self.input.LA(8) if (LA88_10 == R_PAREN) : LA88_11 = self.input.LA(9) if (LA88_11 == COMMA) : LA88_12 = self.input.LA(10) if (LA88_12 == L_PAREN) : LA88_13 = self.input.LA(11) if (LA88_13 == INT) : LA88_14 = self.input.LA(12) if (LA88_14 == COMMA) : LA88_15 = self.input.LA(13) if (LA88_15 == INT) : LA88_16 = self.input.LA(14) if (LA88_16 == R_PAREN) : LA88_17 = self.input.LA(15) if (LA88_17 == 226) : LA88_18 = self.input.LA(16) if (LA88_18 == 229) : LA88_19 = self.input.LA(17) if (LA88_19 == KEEP) : LA88_20 = self.input.LA(18) if (LA88_20 == SPECIFIC) : LA88_21 = self.input.LA(19) if (LA88_21 == GEODE) : LA88_22 = self.input.LA(20) if (LA88_22 in {ASNFILENAME, PARAMNAMES}) : alt88 = 1 elif (LA88_19 in {ANSWER, COMMENT, CONNECT, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt88 = 1 elif (LA88_18 in {DCL, FPAR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 227}) : alt88 = 1 elif (LA88_5 == INT) : LA88_7 = self.input.LA(5) if (LA88_7 == COMMA) : LA88_8 = self.input.LA(6) if (LA88_8 == DASH) : LA88_9 = self.input.LA(7) if (LA88_9 == INT) : LA88_10 = self.input.LA(8) if (LA88_10 == R_PAREN) : LA88_11 = self.input.LA(9) if (LA88_11 == COMMA) : LA88_12 = self.input.LA(10) if (LA88_12 == L_PAREN) : LA88_13 = self.input.LA(11) if (LA88_13 == INT) : LA88_14 = self.input.LA(12) if (LA88_14 == COMMA) : LA88_15 = self.input.LA(13) if (LA88_15 == INT) : LA88_16 = self.input.LA(14) if (LA88_16 == R_PAREN) : LA88_17 = self.input.LA(15) if (LA88_17 == 226) : LA88_18 = self.input.LA(16) if (LA88_18 == 229) : LA88_19 = self.input.LA(17) if (LA88_19 == KEEP) : LA88_20 = self.input.LA(18) if (LA88_20 == SPECIFIC) : LA88_21 = self.input.LA(19) if (LA88_21 == GEODE) : LA88_22 = self.input.LA(20) if (LA88_22 in {ASNFILENAME, PARAMNAMES}) : alt88 = 1 elif (LA88_19 in {ANSWER, COMMENT, CONNECT, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt88 = 1 elif (LA88_18 in {DCL, FPAR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 227}) : alt88 = 1 elif (LA88_8 == INT) : LA88_10 = self.input.LA(7) if (LA88_10 == R_PAREN) : LA88_11 = self.input.LA(8) if (LA88_11 == COMMA) : LA88_12 = self.input.LA(9) if (LA88_12 == L_PAREN) : LA88_13 = self.input.LA(10) if (LA88_13 == INT) : LA88_14 = self.input.LA(11) if (LA88_14 == COMMA) : LA88_15 = self.input.LA(12) if (LA88_15 == INT) : LA88_16 = self.input.LA(13) if (LA88_16 == R_PAREN) : LA88_17 = self.input.LA(14) if (LA88_17 == 226) : LA88_18 = self.input.LA(15) if (LA88_18 == 229) : LA88_19 = self.input.LA(16) if (LA88_19 == KEEP) : LA88_20 = self.input.LA(17) if (LA88_20 == SPECIFIC) : LA88_21 = self.input.LA(18) if (LA88_21 == GEODE) : LA88_22 = self.input.LA(19) if (LA88_22 in {ASNFILENAME, PARAMNAMES}) : alt88 = 1 elif (LA88_19 in {ANSWER, COMMENT, CONNECT, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt88 = 1 elif (LA88_18 in {DCL, FPAR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SYNONYM, SYNTYPE, TIMER, USE, 227}) : alt88 = 1 elif (LA88_0 == PROCEDURE) : alt88 = 1 if alt88 == 1: # sdl92.g:547:25: entities= entity_in_composite_state pass self._state.following.append(self.FOLLOW_entity_in_composite_state_in_state_aggregation6158) 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 #loop88 self._state.following.append(self.FOLLOW_state_aggregation_body_in_state_aggregation6179) body = self.state_aggregation_body() self._state.following.pop() if self._state.backtracking == 0: stream_state_aggregation_body.add(body.tree) ENDSUBSTRUCTURE260 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation6197) if self._state.backtracking == 0: stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE260) # sdl92.g:549:33: ( statename )? alt89 = 2 LA89_0 = self.input.LA(1) if (LA89_0 == ID) : alt89 = 1 if alt89 == 1: # sdl92.g:549:33: statename pass self._state.following.append(self.FOLLOW_statename_in_state_aggregation6199) 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_state_aggregation6204) 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() # 550:9: -> ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) # sdl92.g:550: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:550:47: ( connection_points )* while stream_connection_points.hasNext(): self._adaptor.addChild(root_1, stream_connection_points.nextTree()) stream_connection_points.reset(); # sdl92.g:551: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:551: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:556: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_area262 = None procedure263 = None try: try: # sdl92.g:557:9: ( ( text_area | procedure ) ) # sdl92.g:557:17: ( text_area | procedure ) pass root_0 = self._adaptor.nil() # sdl92.g:557:17: ( text_area | procedure ) alt90 = 2 LA90_0 = self.input.LA(1) if (LA90_0 == 229) : LA90_1 = self.input.LA(2) if (self.synpred114_sdl92()) : alt90 = 1 elif (True) : alt90 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 90, 1, self.input) raise nvae elif (LA90_0 == PROCEDURE) : alt90 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 90, 0, self.input) raise nvae if alt90 == 1: # sdl92.g:557:18: text_area pass self._state.following.append(self.FOLLOW_text_area_in_entity_in_composite_state6309) text_area262 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, text_area262.tree) elif alt90 == 2: # sdl92.g:557:30: procedure pass self._state.following.append(self.FOLLOW_procedure_in_entity_in_composite_state6313) procedure263 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, procedure263.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:562: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_partitioning264 = None state_partition_connection265 = None state266 = None try: try: # sdl92.g:563:9: ( ( state_partitioning | state_partition_connection )* ( state )* ) # sdl92.g:563:17: ( state_partitioning | state_partition_connection )* ( state )* pass root_0 = self._adaptor.nil() # sdl92.g:563:17: ( state_partitioning | state_partition_connection )* while True: #loop91 alt91 = 3 alt91 = self.dfa91.predict(self.input) if alt91 == 1: # sdl92.g:563:18: state_partitioning pass self._state.following.append(self.FOLLOW_state_partitioning_in_state_aggregation_body6348) state_partitioning264 = self.state_partitioning() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_partitioning264.tree) elif alt91 == 2: # sdl92.g:563:39: state_partition_connection pass self._state.following.append(self.FOLLOW_state_partition_connection_in_state_aggregation_body6352) state_partition_connection265 = self.state_partition_connection() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state_partition_connection265.tree) else: break #loop91 # sdl92.g:564:17: ( state )* while True: #loop92 alt92 = 2 LA92_0 = self.input.LA(1) if (LA92_0 in {STATE, 229}) : alt92 = 1 if alt92 == 1: # sdl92.g:564:17: state pass self._state.following.append(self.FOLLOW_state_in_state_aggregation_body6372) state266 = self.state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state266.tree) else: break #loop92 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:569:1: state_partitioning : composite_state ; def state_partitioning(self, ): retval = self.state_partitioning_return() retval.start = self.input.LT(1) root_0 = None composite_state267 = None try: try: # sdl92.g:570:9: ( composite_state ) # sdl92.g:570:17: composite_state pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_composite_state_in_state_partitioning6406) composite_state267 = self.composite_state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, composite_state267.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:575: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 CONNECT268 = None AND269 = None outer = None inner = None end270 = None CONNECT268_tree = None AND269_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:576:9: ( CONNECT outer= entry_point AND inner= entry_point end -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) ) # sdl92.g:576:17: CONNECT outer= entry_point AND inner= entry_point end pass CONNECT268 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_state_partition_connection6439) if self._state.backtracking == 0: stream_CONNECT.add(CONNECT268) self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection6443) outer = self.entry_point() self._state.following.pop() if self._state.backtracking == 0: stream_entry_point.add(outer.tree) AND269 = self.match(self.input, AND, self.FOLLOW_AND_in_state_partition_connection6445) if self._state.backtracking == 0: stream_AND.add(AND269) self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection6449) 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_connection6451) end270 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end270.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() # 577:9: -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) # sdl92.g:577: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:577: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:582: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 VIA271 = None point272 = None state_part_id_tree = None VIA271_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:583:9: (state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ) # sdl92.g:583:17: state_part_id= ID VIA point pass state_part_id = self.match(self.input, ID, self.FOLLOW_ID_in_entry_point6514) if self._state.backtracking == 0: stream_ID.add(state_part_id) VIA271 = self.match(self.input, VIA, self.FOLLOW_VIA_in_entry_point6516) if self._state.backtracking == 0: stream_VIA.add(VIA271) self._state.following.append(self.FOLLOW_point_in_entry_point6518) point272 = self.point() self._state.following.pop() if self._state.backtracking == 0: stream_point.add(point272.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() # 584:9: -> ^( ENTRY_POINT $state_part_id point ) # sdl92.g:584: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:589: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 DEFAULT273 = None state_point_tree = None DEFAULT273_tree = None stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") stream_DEFAULT = RewriteRuleTokenStream(self._adaptor, "token DEFAULT") try: try: # sdl92.g:590:9: ( (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ) # sdl92.g:590:17: (state_point= ID | DEFAULT ) pass # sdl92.g:590:17: (state_point= ID | DEFAULT ) alt93 = 2 LA93_0 = self.input.LA(1) if (LA93_0 == ID) : alt93 = 1 elif (LA93_0 == DEFAULT) : alt93 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 93, 0, self.input) raise nvae if alt93 == 1: # sdl92.g:590:18: state_point= ID pass state_point = self.match(self.input, ID, self.FOLLOW_ID_in_point6578) if self._state.backtracking == 0: stream_ID.add(state_point) elif alt93 == 2: # sdl92.g:590:35: DEFAULT pass DEFAULT273 = self.match(self.input, DEFAULT, self.FOLLOW_DEFAULT_in_point6582) if self._state.backtracking == 0: stream_DEFAULT.add(DEFAULT273) # 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() # 591:9: -> ^( POINT ( $state_point)? ( DEFAULT )? ) # sdl92.g:591:17: ^( POINT ( $state_point)? ( DEFAULT )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(POINT, "POINT") , root_1) # sdl92.g:591:26: ( $state_point)? if stream_state_point.hasNext(): self._adaptor.addChild(root_1, stream_state_point.nextNode()) stream_state_point.reset(); # sdl92.g:591: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:596: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 IN274 = None OUT277 = None state_entry_exit_points275 = None end276 = None state_entry_exit_points278 = None end279 = None IN274_tree = None OUT277_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:597: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 )? ) ) alt94 = 2 LA94_0 = self.input.LA(1) if (LA94_0 == IN) : alt94 = 1 elif (LA94_0 == OUT) : alt94 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 94, 0, self.input) raise nvae if alt94 == 1: # sdl92.g:597:17: IN state_entry_exit_points end pass IN274 = self.match(self.input, IN, self.FOLLOW_IN_in_connection_points6642) if self._state.backtracking == 0: stream_IN.add(IN274) self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points6644) state_entry_exit_points275 = self.state_entry_exit_points() self._state.following.pop() if self._state.backtracking == 0: stream_state_entry_exit_points.add(state_entry_exit_points275.tree) self._state.following.append(self.FOLLOW_end_in_connection_points6646) end276 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end276.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() # 598:9: -> ^( IN state_entry_exit_points ( end )? ) # sdl92.g:598: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:598: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 alt94 == 2: # sdl92.g:599:19: OUT state_entry_exit_points end pass OUT277 = self.match(self.input, OUT, self.FOLLOW_OUT_in_connection_points6690) if self._state.backtracking == 0: stream_OUT.add(OUT277) self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points6692) state_entry_exit_points278 = self.state_entry_exit_points() self._state.following.pop() if self._state.backtracking == 0: stream_state_entry_exit_points.add(state_entry_exit_points278.tree) self._state.following.append(self.FOLLOW_end_in_connection_points6694) end279 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end279.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() # 600:9: -> ^( OUT state_entry_exit_points ( end )? ) # sdl92.g:600: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:600: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:605: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_literal280 = None char_literal282 = None char_literal284 = None statename281 = None statename283 = None char_literal280_tree = None char_literal282_tree = None char_literal284_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:606:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) # sdl92.g:606:17: '(' statename ( ',' statename )* ')' pass char_literal280 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_state_entry_exit_points6751) if self._state.backtracking == 0: stream_L_PAREN.add(char_literal280) self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points6753) statename281 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename281.tree) # sdl92.g:606:31: ( ',' statename )* while True: #loop95 alt95 = 2 LA95_0 = self.input.LA(1) if (LA95_0 == COMMA) : alt95 = 1 if alt95 == 1: # sdl92.g:606:32: ',' statename pass char_literal282 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_state_entry_exit_points6756) if self._state.backtracking == 0: stream_COMMA.add(char_literal282) self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points6758) statename283 = self.statename() self._state.following.pop() if self._state.backtracking == 0: stream_statename.add(statename283.tree) else: break #loop95 char_literal284 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_state_entry_exit_points6762) if self._state.backtracking == 0: stream_R_PAREN.add(char_literal284) # 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() # 607:9: -> ( statename )+ # sdl92.g:607: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:614: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 EOF291 = None text_area285 = None procedure286 = None composite_state287 = None start288 = None state289 = None floating_label290 = None EOF291_tree = None try: try: # sdl92.g:615:9: ( ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? ) # sdl92.g:615:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? pass root_0 = self._adaptor.nil() # sdl92.g:615:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* while True: #loop96 alt96 = 4 LA96 = self.input.LA(1) if LA96 in {229}: LA96_1 = self.input.LA(2) if (self.synpred121_sdl92()) : alt96 = 1 elif (self.synpred122_sdl92()) : alt96 = 2 elif LA96 in {STATE}: LA96_3 = self.input.LA(2) if (self.synpred123_sdl92()) : alt96 = 3 elif LA96 in {PROCEDURE}: alt96 = 2 if alt96 == 1: # sdl92.g:615:13: text_area pass self._state.following.append(self.FOLLOW_text_area_in_composite_state_body6811) text_area285 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, text_area285.tree) elif alt96 == 2: # sdl92.g:616:15: procedure pass self._state.following.append(self.FOLLOW_procedure_in_composite_state_body6827) procedure286 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, procedure286.tree) elif alt96 == 3: # sdl92.g:617:15: ( composite_state_preamble )=> composite_state pass self._state.following.append(self.FOLLOW_composite_state_in_composite_state_body6848) composite_state287 = self.composite_state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, composite_state287.tree) else: break #loop96 # sdl92.g:618:12: ( start )* while True: #loop97 alt97 = 2 LA97_0 = self.input.LA(1) if (LA97_0 == 229) : LA97_1 = self.input.LA(2) if (LA97_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA97_4 = self.input.LA(3) if (LA97_4 == L_PAREN) : LA97_6 = self.input.LA(4) if (LA97_6 == DASH) : LA97_8 = self.input.LA(5) if (LA97_8 == INT) : LA97_9 = self.input.LA(6) if (LA97_9 == COMMA) : LA97_11 = self.input.LA(7) if (LA97_11 == DASH) : LA97_13 = self.input.LA(8) if (LA97_13 == INT) : LA97_14 = self.input.LA(9) if (LA97_14 == R_PAREN) : LA97_16 = self.input.LA(10) if (LA97_16 == COMMA) : LA97_18 = self.input.LA(11) if (LA97_18 == L_PAREN) : LA97_19 = self.input.LA(12) if (LA97_19 == INT) : LA97_20 = self.input.LA(13) if (LA97_20 == COMMA) : LA97_21 = self.input.LA(14) if (LA97_21 == INT) : LA97_22 = self.input.LA(15) if (LA97_22 == R_PAREN) : LA97_23 = self.input.LA(16) if (LA97_23 == 226) : LA97_24 = self.input.LA(17) if (LA97_24 == 229) : LA97_25 = self.input.LA(18) if (LA97_25 == KEEP) : LA97_5 = self.input.LA(19) if (LA97_5 == SPECIFIC) : LA97_7 = self.input.LA(20) if (LA97_7 == GEODE) : LA97_10 = self.input.LA(21) if (LA97_10 == HYPERLINK) : LA97_12 = self.input.LA(22) if (LA97_12 == STRING) : LA97_15 = self.input.LA(23) if (LA97_15 == 226) : LA97_17 = self.input.LA(24) if (LA97_17 == START) : alt97 = 1 elif (LA97_24 == START) : alt97 = 1 elif (LA97_11 == INT) : LA97_14 = self.input.LA(8) if (LA97_14 == R_PAREN) : LA97_16 = self.input.LA(9) if (LA97_16 == COMMA) : LA97_18 = self.input.LA(10) if (LA97_18 == L_PAREN) : LA97_19 = self.input.LA(11) if (LA97_19 == INT) : LA97_20 = self.input.LA(12) if (LA97_20 == COMMA) : LA97_21 = self.input.LA(13) if (LA97_21 == INT) : LA97_22 = self.input.LA(14) if (LA97_22 == R_PAREN) : LA97_23 = self.input.LA(15) if (LA97_23 == 226) : LA97_24 = self.input.LA(16) if (LA97_24 == 229) : LA97_25 = self.input.LA(17) if (LA97_25 == KEEP) : LA97_5 = self.input.LA(18) if (LA97_5 == SPECIFIC) : LA97_7 = self.input.LA(19) if (LA97_7 == GEODE) : LA97_10 = self.input.LA(20) if (LA97_10 == HYPERLINK) : LA97_12 = self.input.LA(21) if (LA97_12 == STRING) : LA97_15 = self.input.LA(22) if (LA97_15 == 226) : LA97_17 = self.input.LA(23) if (LA97_17 == START) : alt97 = 1 elif (LA97_24 == START) : alt97 = 1 elif (LA97_6 == INT) : LA97_9 = self.input.LA(5) if (LA97_9 == COMMA) : LA97_11 = self.input.LA(6) if (LA97_11 == DASH) : LA97_13 = self.input.LA(7) if (LA97_13 == INT) : LA97_14 = self.input.LA(8) if (LA97_14 == R_PAREN) : LA97_16 = self.input.LA(9) if (LA97_16 == COMMA) : LA97_18 = self.input.LA(10) if (LA97_18 == L_PAREN) : LA97_19 = self.input.LA(11) if (LA97_19 == INT) : LA97_20 = self.input.LA(12) if (LA97_20 == COMMA) : LA97_21 = self.input.LA(13) if (LA97_21 == INT) : LA97_22 = self.input.LA(14) if (LA97_22 == R_PAREN) : LA97_23 = self.input.LA(15) if (LA97_23 == 226) : LA97_24 = self.input.LA(16) if (LA97_24 == 229) : LA97_25 = self.input.LA(17) if (LA97_25 == KEEP) : LA97_5 = self.input.LA(18) if (LA97_5 == SPECIFIC) : LA97_7 = self.input.LA(19) if (LA97_7 == GEODE) : LA97_10 = self.input.LA(20) if (LA97_10 == HYPERLINK) : LA97_12 = self.input.LA(21) if (LA97_12 == STRING) : LA97_15 = self.input.LA(22) if (LA97_15 == 226) : LA97_17 = self.input.LA(23) if (LA97_17 == START) : alt97 = 1 elif (LA97_24 == START) : alt97 = 1 elif (LA97_11 == INT) : LA97_14 = self.input.LA(7) if (LA97_14 == R_PAREN) : LA97_16 = self.input.LA(8) if (LA97_16 == COMMA) : LA97_18 = self.input.LA(9) if (LA97_18 == L_PAREN) : LA97_19 = self.input.LA(10) if (LA97_19 == INT) : LA97_20 = self.input.LA(11) if (LA97_20 == COMMA) : LA97_21 = self.input.LA(12) if (LA97_21 == INT) : LA97_22 = self.input.LA(13) if (LA97_22 == R_PAREN) : LA97_23 = self.input.LA(14) if (LA97_23 == 226) : LA97_24 = self.input.LA(15) if (LA97_24 == 229) : LA97_25 = self.input.LA(16) if (LA97_25 == KEEP) : LA97_5 = self.input.LA(17) if (LA97_5 == SPECIFIC) : LA97_7 = self.input.LA(18) if (LA97_7 == GEODE) : LA97_10 = self.input.LA(19) if (LA97_10 == HYPERLINK) : LA97_12 = self.input.LA(20) if (LA97_12 == STRING) : LA97_15 = self.input.LA(21) if (LA97_15 == 226) : LA97_17 = self.input.LA(22) if (LA97_17 == START) : alt97 = 1 elif (LA97_24 == START) : alt97 = 1 elif (LA97_1 == KEEP) : LA97_5 = self.input.LA(3) if (LA97_5 == SPECIFIC) : LA97_7 = self.input.LA(4) if (LA97_7 == GEODE) : LA97_10 = self.input.LA(5) if (LA97_10 == HYPERLINK) : LA97_12 = self.input.LA(6) if (LA97_12 == STRING) : LA97_15 = self.input.LA(7) if (LA97_15 == 226) : LA97_17 = self.input.LA(8) if (LA97_17 == START) : alt97 = 1 elif (LA97_0 == START) : alt97 = 1 if alt97 == 1: # sdl92.g:618:12: start pass self._state.following.append(self.FOLLOW_start_in_composite_state_body6863) start288 = self.start() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, start288.tree) else: break #loop97 # sdl92.g:618:19: ( state | floating_label )* while True: #loop98 alt98 = 3 LA98 = self.input.LA(1) if LA98 in {229}: LA98_2 = self.input.LA(2) if (LA98_2 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA98_5 = self.input.LA(3) if (LA98_5 == L_PAREN) : LA98_7 = self.input.LA(4) if (LA98_7 == DASH) : LA98_9 = self.input.LA(5) if (LA98_9 == INT) : LA98_10 = self.input.LA(6) if (LA98_10 == COMMA) : LA98_12 = self.input.LA(7) if (LA98_12 == DASH) : LA98_14 = self.input.LA(8) if (LA98_14 == INT) : LA98_15 = self.input.LA(9) if (LA98_15 == R_PAREN) : LA98_17 = self.input.LA(10) if (LA98_17 == COMMA) : LA98_19 = self.input.LA(11) if (LA98_19 == L_PAREN) : LA98_20 = self.input.LA(12) if (LA98_20 == INT) : LA98_21 = self.input.LA(13) if (LA98_21 == COMMA) : LA98_22 = self.input.LA(14) if (LA98_22 == INT) : LA98_23 = self.input.LA(15) if (LA98_23 == R_PAREN) : LA98_24 = self.input.LA(16) if (LA98_24 == 226) : LA98 = self.input.LA(17) if LA98 in {229}: LA98_26 = self.input.LA(18) if (LA98_26 == KEEP) : LA98_6 = self.input.LA(19) if (LA98_6 == SPECIFIC) : LA98_8 = self.input.LA(20) if (LA98_8 == GEODE) : LA98_11 = self.input.LA(21) if (LA98_11 == HYPERLINK) : LA98_13 = self.input.LA(22) if (LA98_13 == STRING) : LA98_16 = self.input.LA(23) if (LA98_16 == 226) : LA98_18 = self.input.LA(24) if (LA98_18 == STATE) : alt98 = 1 elif (LA98_18 == CONNECTION) : alt98 = 2 elif LA98 in {STATE}: alt98 = 1 elif LA98 in {CONNECTION}: alt98 = 2 elif (LA98_12 == INT) : LA98_15 = self.input.LA(8) if (LA98_15 == R_PAREN) : LA98_17 = self.input.LA(9) if (LA98_17 == COMMA) : LA98_19 = self.input.LA(10) if (LA98_19 == L_PAREN) : LA98_20 = self.input.LA(11) if (LA98_20 == INT) : LA98_21 = self.input.LA(12) if (LA98_21 == COMMA) : LA98_22 = self.input.LA(13) if (LA98_22 == INT) : LA98_23 = self.input.LA(14) if (LA98_23 == R_PAREN) : LA98_24 = self.input.LA(15) if (LA98_24 == 226) : LA98 = self.input.LA(16) if LA98 in {229}: LA98_26 = self.input.LA(17) if (LA98_26 == KEEP) : LA98_6 = self.input.LA(18) if (LA98_6 == SPECIFIC) : LA98_8 = self.input.LA(19) if (LA98_8 == GEODE) : LA98_11 = self.input.LA(20) if (LA98_11 == HYPERLINK) : LA98_13 = self.input.LA(21) if (LA98_13 == STRING) : LA98_16 = self.input.LA(22) if (LA98_16 == 226) : LA98_18 = self.input.LA(23) if (LA98_18 == STATE) : alt98 = 1 elif (LA98_18 == CONNECTION) : alt98 = 2 elif LA98 in {STATE}: alt98 = 1 elif LA98 in {CONNECTION}: alt98 = 2 elif (LA98_7 == INT) : LA98_10 = self.input.LA(5) if (LA98_10 == COMMA) : LA98_12 = self.input.LA(6) if (LA98_12 == DASH) : LA98_14 = self.input.LA(7) if (LA98_14 == INT) : LA98_15 = self.input.LA(8) if (LA98_15 == R_PAREN) : LA98_17 = self.input.LA(9) if (LA98_17 == COMMA) : LA98_19 = self.input.LA(10) if (LA98_19 == L_PAREN) : LA98_20 = self.input.LA(11) if (LA98_20 == INT) : LA98_21 = self.input.LA(12) if (LA98_21 == COMMA) : LA98_22 = self.input.LA(13) if (LA98_22 == INT) : LA98_23 = self.input.LA(14) if (LA98_23 == R_PAREN) : LA98_24 = self.input.LA(15) if (LA98_24 == 226) : LA98 = self.input.LA(16) if LA98 in {229}: LA98_26 = self.input.LA(17) if (LA98_26 == KEEP) : LA98_6 = self.input.LA(18) if (LA98_6 == SPECIFIC) : LA98_8 = self.input.LA(19) if (LA98_8 == GEODE) : LA98_11 = self.input.LA(20) if (LA98_11 == HYPERLINK) : LA98_13 = self.input.LA(21) if (LA98_13 == STRING) : LA98_16 = self.input.LA(22) if (LA98_16 == 226) : LA98_18 = self.input.LA(23) if (LA98_18 == STATE) : alt98 = 1 elif (LA98_18 == CONNECTION) : alt98 = 2 elif LA98 in {STATE}: alt98 = 1 elif LA98 in {CONNECTION}: alt98 = 2 elif (LA98_12 == INT) : LA98_15 = self.input.LA(7) if (LA98_15 == R_PAREN) : LA98_17 = self.input.LA(8) if (LA98_17 == COMMA) : LA98_19 = self.input.LA(9) if (LA98_19 == L_PAREN) : LA98_20 = self.input.LA(10) if (LA98_20 == INT) : LA98_21 = self.input.LA(11) if (LA98_21 == COMMA) : LA98_22 = self.input.LA(12) if (LA98_22 == INT) : LA98_23 = self.input.LA(13) if (LA98_23 == R_PAREN) : LA98_24 = self.input.LA(14) if (LA98_24 == 226) : LA98 = self.input.LA(15) if LA98 in {229}: LA98_26 = self.input.LA(16) if (LA98_26 == KEEP) : LA98_6 = self.input.LA(17) if (LA98_6 == SPECIFIC) : LA98_8 = self.input.LA(18) if (LA98_8 == GEODE) : LA98_11 = self.input.LA(19) if (LA98_11 == HYPERLINK) : LA98_13 = self.input.LA(20) if (LA98_13 == STRING) : LA98_16 = self.input.LA(21) if (LA98_16 == 226) : LA98_18 = self.input.LA(22) if (LA98_18 == STATE) : alt98 = 1 elif (LA98_18 == CONNECTION) : alt98 = 2 elif LA98 in {STATE}: alt98 = 1 elif LA98 in {CONNECTION}: alt98 = 2 elif (LA98_2 == KEEP) : LA98_6 = self.input.LA(3) if (LA98_6 == SPECIFIC) : LA98_8 = self.input.LA(4) if (LA98_8 == GEODE) : LA98_11 = self.input.LA(5) if (LA98_11 == HYPERLINK) : LA98_13 = self.input.LA(6) if (LA98_13 == STRING) : LA98_16 = self.input.LA(7) if (LA98_16 == 226) : LA98_18 = self.input.LA(8) if (LA98_18 == STATE) : alt98 = 1 elif (LA98_18 == CONNECTION) : alt98 = 2 elif LA98 in {STATE}: alt98 = 1 elif LA98 in {CONNECTION}: alt98 = 2 if alt98 == 1: # sdl92.g:618:20: state pass self._state.following.append(self.FOLLOW_state_in_composite_state_body6867) state289 = self.state() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, state289.tree) elif alt98 == 2: # sdl92.g:618:28: floating_label pass self._state.following.append(self.FOLLOW_floating_label_in_composite_state_body6871) floating_label290 = self.floating_label() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, floating_label290.tree) else: break #loop98 # sdl92.g:619:12: ( EOF )? alt99 = 2 LA99_0 = self.input.LA(1) if (LA99_0 == EOF) : alt99 = 1 if alt99 == 1: # sdl92.g:619:12: EOF pass EOF291 = self.match(self.input, EOF, self.FOLLOW_EOF_in_composite_state_body6886) if self._state.backtracking == 0: EOF291_tree = self._adaptor.createWithPayload(EOF291) self._adaptor.addChild(root_0, EOF291_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:623: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_part292 = None save_part293 = None spontaneous_transition294 = None continuous_signal295 = None connect_part296 = None try: try: # sdl92.g:624:9: ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ) alt100 = 5 LA100 = self.input.LA(1) if LA100 in {229}: LA100_1 = self.input.LA(2) if (LA100_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA100_6 = self.input.LA(3) if (LA100_6 == L_PAREN) : LA100_10 = self.input.LA(4) if (LA100_10 == DASH) : LA100_12 = self.input.LA(5) if (LA100_12 == INT) : LA100_13 = self.input.LA(6) if (LA100_13 == COMMA) : LA100_15 = self.input.LA(7) if (LA100_15 == DASH) : LA100_17 = self.input.LA(8) if (LA100_17 == INT) : LA100_18 = self.input.LA(9) if (LA100_18 == R_PAREN) : LA100_20 = self.input.LA(10) if (LA100_20 == COMMA) : LA100_22 = self.input.LA(11) if (LA100_22 == L_PAREN) : LA100_23 = self.input.LA(12) if (LA100_23 == INT) : LA100_24 = self.input.LA(13) if (LA100_24 == COMMA) : LA100_25 = self.input.LA(14) if (LA100_25 == INT) : LA100_26 = self.input.LA(15) if (LA100_26 == R_PAREN) : LA100_27 = self.input.LA(16) if (LA100_27 == 226) : LA100 = self.input.LA(17) if LA100 in {229}: LA100_29 = self.input.LA(18) if (LA100_29 == KEEP) : LA100_7 = self.input.LA(19) if (LA100_7 == SPECIFIC) : LA100_11 = self.input.LA(20) if (LA100_11 == GEODE) : LA100_14 = self.input.LA(21) if (LA100_14 == HYPERLINK) : LA100_16 = self.input.LA(22) if (LA100_16 == STRING) : LA100_19 = self.input.LA(23) if (LA100_19 == 226) : LA100 = self.input.LA(24) if LA100 in {INPUT}: LA100_2 = self.input.LA(25) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 29, self.input) raise nvae elif LA100 in {INPUT}: LA100_2 = self.input.LA(18) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 27, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 17, self.input) raise nvae elif (LA100_15 == INT) : LA100_18 = self.input.LA(8) if (LA100_18 == R_PAREN) : LA100_20 = self.input.LA(9) if (LA100_20 == COMMA) : LA100_22 = self.input.LA(10) if (LA100_22 == L_PAREN) : LA100_23 = self.input.LA(11) if (LA100_23 == INT) : LA100_24 = self.input.LA(12) if (LA100_24 == COMMA) : LA100_25 = self.input.LA(13) if (LA100_25 == INT) : LA100_26 = self.input.LA(14) if (LA100_26 == R_PAREN) : LA100_27 = self.input.LA(15) if (LA100_27 == 226) : LA100 = self.input.LA(16) if LA100 in {229}: LA100_29 = self.input.LA(17) if (LA100_29 == KEEP) : LA100_7 = self.input.LA(18) if (LA100_7 == SPECIFIC) : LA100_11 = self.input.LA(19) if (LA100_11 == GEODE) : LA100_14 = self.input.LA(20) if (LA100_14 == HYPERLINK) : LA100_16 = self.input.LA(21) if (LA100_16 == STRING) : LA100_19 = self.input.LA(22) if (LA100_19 == 226) : LA100 = self.input.LA(23) if LA100 in {INPUT}: LA100_2 = self.input.LA(24) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 29, self.input) raise nvae elif LA100 in {INPUT}: LA100_2 = self.input.LA(17) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 27, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 15, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 12, self.input) raise nvae elif (LA100_10 == INT) : LA100_13 = self.input.LA(5) if (LA100_13 == COMMA) : LA100_15 = self.input.LA(6) if (LA100_15 == DASH) : LA100_17 = self.input.LA(7) if (LA100_17 == INT) : LA100_18 = self.input.LA(8) if (LA100_18 == R_PAREN) : LA100_20 = self.input.LA(9) if (LA100_20 == COMMA) : LA100_22 = self.input.LA(10) if (LA100_22 == L_PAREN) : LA100_23 = self.input.LA(11) if (LA100_23 == INT) : LA100_24 = self.input.LA(12) if (LA100_24 == COMMA) : LA100_25 = self.input.LA(13) if (LA100_25 == INT) : LA100_26 = self.input.LA(14) if (LA100_26 == R_PAREN) : LA100_27 = self.input.LA(15) if (LA100_27 == 226) : LA100 = self.input.LA(16) if LA100 in {229}: LA100_29 = self.input.LA(17) if (LA100_29 == KEEP) : LA100_7 = self.input.LA(18) if (LA100_7 == SPECIFIC) : LA100_11 = self.input.LA(19) if (LA100_11 == GEODE) : LA100_14 = self.input.LA(20) if (LA100_14 == HYPERLINK) : LA100_16 = self.input.LA(21) if (LA100_16 == STRING) : LA100_19 = self.input.LA(22) if (LA100_19 == 226) : LA100 = self.input.LA(23) if LA100 in {INPUT}: LA100_2 = self.input.LA(24) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 29, self.input) raise nvae elif LA100 in {INPUT}: LA100_2 = self.input.LA(17) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 27, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 17, self.input) raise nvae elif (LA100_15 == INT) : LA100_18 = self.input.LA(7) if (LA100_18 == R_PAREN) : LA100_20 = self.input.LA(8) if (LA100_20 == COMMA) : LA100_22 = self.input.LA(9) if (LA100_22 == L_PAREN) : LA100_23 = self.input.LA(10) if (LA100_23 == INT) : LA100_24 = self.input.LA(11) if (LA100_24 == COMMA) : LA100_25 = self.input.LA(12) if (LA100_25 == INT) : LA100_26 = self.input.LA(13) if (LA100_26 == R_PAREN) : LA100_27 = self.input.LA(14) if (LA100_27 == 226) : LA100 = self.input.LA(15) if LA100 in {229}: LA100_29 = self.input.LA(16) if (LA100_29 == KEEP) : LA100_7 = self.input.LA(17) if (LA100_7 == SPECIFIC) : LA100_11 = self.input.LA(18) if (LA100_11 == GEODE) : LA100_14 = self.input.LA(19) if (LA100_14 == HYPERLINK) : LA100_16 = self.input.LA(20) if (LA100_16 == STRING) : LA100_19 = self.input.LA(21) if (LA100_19 == 226) : LA100 = self.input.LA(22) if LA100 in {INPUT}: LA100_2 = self.input.LA(23) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 29, self.input) raise nvae elif LA100 in {INPUT}: LA100_2 = self.input.LA(16) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 27, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 18, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 15, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 10, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 6, self.input) raise nvae elif (LA100_1 == KEEP) : LA100_7 = self.input.LA(3) if (LA100_7 == SPECIFIC) : LA100_11 = self.input.LA(4) if (LA100_11 == GEODE) : LA100_14 = self.input.LA(5) if (LA100_14 == HYPERLINK) : LA100_16 = self.input.LA(6) if (LA100_16 == STRING) : LA100_19 = self.input.LA(7) if (LA100_19 == 226) : LA100 = self.input.LA(8) if LA100 in {INPUT}: LA100_2 = self.input.LA(9) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 21, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 14, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 11, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 1, self.input) raise nvae elif LA100 in {INPUT}: LA100_2 = self.input.LA(2) if (LA100_2 == NONE) : alt100 = 3 elif (LA100_2 in {ASTERISK, ID}) : alt100 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 2, self.input) raise nvae elif LA100 in {SAVE}: alt100 = 2 elif LA100 in {PROVIDED}: alt100 = 4 elif LA100 in {CONNECT}: alt100 = 5 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 100, 0, self.input) raise nvae if alt100 == 1: # sdl92.g:624:17: input_part pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_input_part_in_state_part6919) input_part292 = self.input_part() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, input_part292.tree) elif alt100 == 2: # sdl92.g:626:19: save_part pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_save_part_in_state_part6956) save_part293 = self.save_part() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, save_part293.tree) elif alt100 == 3: # sdl92.g:627:19: spontaneous_transition pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_spontaneous_transition_in_state_part6991) spontaneous_transition294 = self.spontaneous_transition() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, spontaneous_transition294.tree) elif alt100 == 4: # sdl92.g:628:19: continuous_signal pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_continuous_signal_in_state_part7011) continuous_signal295 = self.continuous_signal() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, continuous_signal295.tree) elif alt100 == 5: # sdl92.g:629:19: connect_part pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_connect_part_in_state_part7031) connect_part296 = self.connect_part() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, connect_part296.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:634: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 CONNECT299 = None cif297 = None hyperlink298 = None connect_list300 = None end301 = None transition302 = None CONNECT299_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:635:9: ( ( cif )? ( hyperlink )? CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( hyperlink )? ( connect_list )? ( end )? ( transition )? ) ) # sdl92.g:635:17: ( cif )? ( hyperlink )? CONNECT ( connect_list )? end ( transition )? pass # sdl92.g:635:17: ( cif )? alt101 = 2 LA101_0 = self.input.LA(1) if (LA101_0 == 229) : LA101_1 = self.input.LA(2) if (LA101_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt101 = 1 if alt101 == 1: # sdl92.g:635:17: cif pass self._state.following.append(self.FOLLOW_cif_in_connect_part7064) cif297 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif297.tree) # sdl92.g:636:17: ( hyperlink )? alt102 = 2 LA102_0 = self.input.LA(1) if (LA102_0 == 229) : alt102 = 1 if alt102 == 1: # sdl92.g:636:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_connect_part7083) hyperlink298 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink298.tree) CONNECT299 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connect_part7102) if self._state.backtracking == 0: stream_CONNECT.add(CONNECT299) # sdl92.g:637:25: ( connect_list )? alt103 = 2 LA103_0 = self.input.LA(1) if (LA103_0 in {ASTERISK, ID}) : alt103 = 1 if alt103 == 1: # sdl92.g:637:25: connect_list pass self._state.following.append(self.FOLLOW_connect_list_in_connect_part7104) connect_list300 = self.connect_list() self._state.following.pop() if self._state.backtracking == 0: stream_connect_list.add(connect_list300.tree) self._state.following.append(self.FOLLOW_end_in_connect_part7107) end301 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end301.tree) # sdl92.g:638:17: ( transition )? alt104 = 2 LA104_0 = self.input.LA(1) if (LA104_0 == 229) : LA104_1 = self.input.LA(2) if (LA104_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA104_4 = self.input.LA(3) if (LA104_4 == L_PAREN) : LA104_6 = self.input.LA(4) if (LA104_6 == DASH) : LA104_8 = self.input.LA(5) if (LA104_8 == INT) : LA104_9 = self.input.LA(6) if (LA104_9 == COMMA) : LA104_11 = self.input.LA(7) if (LA104_11 == DASH) : LA104_13 = self.input.LA(8) if (LA104_13 == INT) : LA104_14 = self.input.LA(9) if (LA104_14 == R_PAREN) : LA104_16 = self.input.LA(10) if (LA104_16 == COMMA) : LA104_18 = self.input.LA(11) if (LA104_18 == L_PAREN) : LA104_19 = self.input.LA(12) if (LA104_19 == INT) : LA104_20 = self.input.LA(13) if (LA104_20 == COMMA) : LA104_21 = self.input.LA(14) if (LA104_21 == INT) : LA104_22 = self.input.LA(15) if (LA104_22 == R_PAREN) : LA104_23 = self.input.LA(16) if (LA104_23 == 226) : LA104_24 = self.input.LA(17) if (LA104_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_24 == 229) : LA104_25 = self.input.LA(18) if (LA104_25 == KEEP) : LA104_5 = self.input.LA(19) if (LA104_5 == SPECIFIC) : LA104_7 = self.input.LA(20) if (LA104_7 == GEODE) : LA104_10 = self.input.LA(21) if (LA104_10 == HYPERLINK) : LA104_12 = self.input.LA(22) if (LA104_12 == STRING) : LA104_15 = self.input.LA(23) if (LA104_15 == 226) : LA104_17 = self.input.LA(24) if (LA104_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_11 == INT) : LA104_14 = self.input.LA(8) if (LA104_14 == R_PAREN) : LA104_16 = self.input.LA(9) if (LA104_16 == COMMA) : LA104_18 = self.input.LA(10) if (LA104_18 == L_PAREN) : LA104_19 = self.input.LA(11) if (LA104_19 == INT) : LA104_20 = self.input.LA(12) if (LA104_20 == COMMA) : LA104_21 = self.input.LA(13) if (LA104_21 == INT) : LA104_22 = self.input.LA(14) if (LA104_22 == R_PAREN) : LA104_23 = self.input.LA(15) if (LA104_23 == 226) : LA104_24 = self.input.LA(16) if (LA104_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_24 == 229) : LA104_25 = self.input.LA(17) if (LA104_25 == KEEP) : LA104_5 = self.input.LA(18) if (LA104_5 == SPECIFIC) : LA104_7 = self.input.LA(19) if (LA104_7 == GEODE) : LA104_10 = self.input.LA(20) if (LA104_10 == HYPERLINK) : LA104_12 = self.input.LA(21) if (LA104_12 == STRING) : LA104_15 = self.input.LA(22) if (LA104_15 == 226) : LA104_17 = self.input.LA(23) if (LA104_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_6 == INT) : LA104_9 = self.input.LA(5) if (LA104_9 == COMMA) : LA104_11 = self.input.LA(6) if (LA104_11 == DASH) : LA104_13 = self.input.LA(7) if (LA104_13 == INT) : LA104_14 = self.input.LA(8) if (LA104_14 == R_PAREN) : LA104_16 = self.input.LA(9) if (LA104_16 == COMMA) : LA104_18 = self.input.LA(10) if (LA104_18 == L_PAREN) : LA104_19 = self.input.LA(11) if (LA104_19 == INT) : LA104_20 = self.input.LA(12) if (LA104_20 == COMMA) : LA104_21 = self.input.LA(13) if (LA104_21 == INT) : LA104_22 = self.input.LA(14) if (LA104_22 == R_PAREN) : LA104_23 = self.input.LA(15) if (LA104_23 == 226) : LA104_24 = self.input.LA(16) if (LA104_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_24 == 229) : LA104_25 = self.input.LA(17) if (LA104_25 == KEEP) : LA104_5 = self.input.LA(18) if (LA104_5 == SPECIFIC) : LA104_7 = self.input.LA(19) if (LA104_7 == GEODE) : LA104_10 = self.input.LA(20) if (LA104_10 == HYPERLINK) : LA104_12 = self.input.LA(21) if (LA104_12 == STRING) : LA104_15 = self.input.LA(22) if (LA104_15 == 226) : LA104_17 = self.input.LA(23) if (LA104_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_11 == INT) : LA104_14 = self.input.LA(7) if (LA104_14 == R_PAREN) : LA104_16 = self.input.LA(8) if (LA104_16 == COMMA) : LA104_18 = self.input.LA(9) if (LA104_18 == L_PAREN) : LA104_19 = self.input.LA(10) if (LA104_19 == INT) : LA104_20 = self.input.LA(11) if (LA104_20 == COMMA) : LA104_21 = self.input.LA(12) if (LA104_21 == INT) : LA104_22 = self.input.LA(13) if (LA104_22 == R_PAREN) : LA104_23 = self.input.LA(14) if (LA104_23 == 226) : LA104_24 = self.input.LA(15) if (LA104_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_24 == 229) : LA104_25 = self.input.LA(16) if (LA104_25 == KEEP) : LA104_5 = self.input.LA(17) if (LA104_5 == SPECIFIC) : LA104_7 = self.input.LA(18) if (LA104_7 == GEODE) : LA104_10 = self.input.LA(19) if (LA104_10 == HYPERLINK) : LA104_12 = self.input.LA(20) if (LA104_12 == STRING) : LA104_15 = self.input.LA(21) if (LA104_15 == 226) : LA104_17 = self.input.LA(22) if (LA104_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_1 == KEEP) : LA104_5 = self.input.LA(3) if (LA104_5 == SPECIFIC) : LA104_7 = self.input.LA(4) if (LA104_7 == GEODE) : LA104_10 = self.input.LA(5) if (LA104_10 == HYPERLINK) : LA104_12 = self.input.LA(6) if (LA104_12 == STRING) : LA104_15 = self.input.LA(7) if (LA104_15 == 226) : LA104_17 = self.input.LA(8) if (LA104_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt104 = 1 elif (LA104_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}) : alt104 = 1 if alt104 == 1: # sdl92.g:638:17: transition pass self._state.following.append(self.FOLLOW_transition_in_connect_part7125) transition302 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition302.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() # 639:9: -> ^( CONNECT ( cif )? ( hyperlink )? ( connect_list )? ( end )? ( transition )? ) # sdl92.g:639: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:639:27: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:639:32: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:639:43: ( connect_list )? if stream_connect_list.hasNext(): self._adaptor.addChild(root_1, stream_connect_list.nextTree()) stream_connect_list.reset(); # sdl92.g:639:57: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); # sdl92.g:639: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:643: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_literal304 = None ASTERISK306 = None state_exit_point_name303 = None state_exit_point_name305 = None char_literal304_tree = None ASTERISK306_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:644:9: ( state_exit_point_name ( ',' state_exit_point_name )* -> ( state_exit_point_name )+ | ASTERISK ) alt106 = 2 LA106_0 = self.input.LA(1) if (LA106_0 == ID) : alt106 = 1 elif (LA106_0 == ASTERISK) : alt106 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 106, 0, self.input) raise nvae if alt106 == 1: # sdl92.g:644:17: state_exit_point_name ( ',' state_exit_point_name )* pass self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list7192) state_exit_point_name303 = self.state_exit_point_name() self._state.following.pop() if self._state.backtracking == 0: stream_state_exit_point_name.add(state_exit_point_name303.tree) # sdl92.g:644:39: ( ',' state_exit_point_name )* while True: #loop105 alt105 = 2 LA105_0 = self.input.LA(1) if (LA105_0 == COMMA) : alt105 = 1 if alt105 == 1: # sdl92.g:644:40: ',' state_exit_point_name pass char_literal304 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_connect_list7195) if self._state.backtracking == 0: stream_COMMA.add(char_literal304) self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list7197) state_exit_point_name305 = self.state_exit_point_name() self._state.following.pop() if self._state.backtracking == 0: stream_state_exit_point_name.add(state_exit_point_name305.tree) else: break #loop105 # 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() # 645:17: -> ( state_exit_point_name )+ # sdl92.g:645: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 alt106 == 2: # sdl92.g:646:19: ASTERISK pass root_0 = self._adaptor.nil() ASTERISK306 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_connect_list7240) if self._state.backtracking == 0: ASTERISK306_tree = self._adaptor.createWithPayload(ASTERISK306) self._adaptor.addChild(root_0, ASTERISK306_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:650: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 INPUT309 = None NONE310 = None cif307 = None hyperlink308 = None end311 = None enabling_condition312 = None transition313 = None INPUT309_tree = None NONE310_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:651:9: ( ( cif )? ( hyperlink )? INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( hyperlink )? transition ) ) # sdl92.g:651:17: ( cif )? ( hyperlink )? INPUT NONE end ( enabling_condition )? transition pass # sdl92.g:651:17: ( cif )? alt107 = 2 LA107_0 = self.input.LA(1) if (LA107_0 == 229) : LA107_1 = self.input.LA(2) if (LA107_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt107 = 1 if alt107 == 1: # sdl92.g:651:17: cif pass self._state.following.append(self.FOLLOW_cif_in_spontaneous_transition7272) cif307 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif307.tree) # sdl92.g:652:17: ( hyperlink )? alt108 = 2 LA108_0 = self.input.LA(1) if (LA108_0 == 229) : alt108 = 1 if alt108 == 1: # sdl92.g:652:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_spontaneous_transition7291) hyperlink308 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink308.tree) INPUT309 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_spontaneous_transition7310) if self._state.backtracking == 0: stream_INPUT.add(INPUT309) NONE310 = self.match(self.input, NONE, self.FOLLOW_NONE_in_spontaneous_transition7312) if self._state.backtracking == 0: stream_NONE.add(NONE310) self._state.following.append(self.FOLLOW_end_in_spontaneous_transition7314) end311 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end311.tree) # sdl92.g:654:17: ( enabling_condition )? alt109 = 2 LA109_0 = self.input.LA(1) if (LA109_0 == PROVIDED) : alt109 = 1 if alt109 == 1: # sdl92.g:654:17: enabling_condition pass self._state.following.append(self.FOLLOW_enabling_condition_in_spontaneous_transition7332) enabling_condition312 = self.enabling_condition() self._state.following.pop() if self._state.backtracking == 0: stream_enabling_condition.add(enabling_condition312.tree) self._state.following.append(self.FOLLOW_transition_in_spontaneous_transition7351) transition313 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition313.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() # 656:9: -> ^( INPUT_NONE ( cif )? ( hyperlink )? transition ) # sdl92.g:656: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:656:30: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:656: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:660: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 PROVIDED314 = None expression315 = None end316 = None PROVIDED314_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:661:9: ( PROVIDED expression end -> ^( PROVIDED expression ) ) # sdl92.g:661:17: PROVIDED expression end pass PROVIDED314 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_enabling_condition7410) if self._state.backtracking == 0: stream_PROVIDED.add(PROVIDED314) self._state.following.append(self.FOLLOW_expression_in_enabling_condition7412) expression315 = self.expression() self._state.following.pop() if self._state.backtracking == 0: stream_expression.add(expression315.tree) self._state.following.append(self.FOLLOW_end_in_enabling_condition7414) end316 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end316.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() # 662:9: -> ^( PROVIDED expression ) # sdl92.g:662: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:666: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 PROVIDED319 = None PRIORITY321 = None e = None cif317 = None hyperlink318 = None expression320 = None end322 = None transition323 = None p_tree = None PROVIDED319_tree = None PRIORITY321_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:667:9: ( ( cif )? ( hyperlink )? PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( hyperlink )? ( $p)? ( $e)? ( transition )? ) ) # sdl92.g:667:17: ( cif )? ( hyperlink )? PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? pass # sdl92.g:667:17: ( cif )? alt110 = 2 LA110_0 = self.input.LA(1) if (LA110_0 == 229) : LA110_1 = self.input.LA(2) if (LA110_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt110 = 1 if alt110 == 1: # sdl92.g:667:17: cif pass self._state.following.append(self.FOLLOW_cif_in_continuous_signal7467) cif317 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif317.tree) # sdl92.g:668:17: ( hyperlink )? alt111 = 2 LA111_0 = self.input.LA(1) if (LA111_0 == 229) : alt111 = 1 if alt111 == 1: # sdl92.g:668:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_continuous_signal7486) hyperlink318 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink318.tree) PROVIDED319 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_continuous_signal7505) if self._state.backtracking == 0: stream_PROVIDED.add(PROVIDED319) self._state.following.append(self.FOLLOW_expression_in_continuous_signal7507) expression320 = self.expression() self._state.following.pop() if self._state.backtracking == 0: stream_expression.add(expression320.tree) self._state.following.append(self.FOLLOW_end_in_continuous_signal7511) e = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(e.tree) # sdl92.g:670:17: ( PRIORITY p= INT end )? alt112 = 2 LA112_0 = self.input.LA(1) if (LA112_0 == PRIORITY) : alt112 = 1 if alt112 == 1: # sdl92.g:670:18: PRIORITY p= INT end pass PRIORITY321 = self.match(self.input, PRIORITY, self.FOLLOW_PRIORITY_in_continuous_signal7530) if self._state.backtracking == 0: stream_PRIORITY.add(PRIORITY321) p = self.match(self.input, INT, self.FOLLOW_INT_in_continuous_signal7534) if self._state.backtracking == 0: stream_INT.add(p) self._state.following.append(self.FOLLOW_end_in_continuous_signal7536) end322 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end322.tree) # sdl92.g:671:17: ( transition )? alt113 = 2 LA113_0 = self.input.LA(1) if (LA113_0 == 229) : LA113_1 = self.input.LA(2) if (LA113_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA113_4 = self.input.LA(3) if (LA113_4 == L_PAREN) : LA113_6 = self.input.LA(4) if (LA113_6 == DASH) : LA113_8 = self.input.LA(5) if (LA113_8 == INT) : LA113_9 = self.input.LA(6) if (LA113_9 == COMMA) : LA113_11 = self.input.LA(7) if (LA113_11 == DASH) : LA113_13 = self.input.LA(8) if (LA113_13 == INT) : LA113_14 = self.input.LA(9) if (LA113_14 == R_PAREN) : LA113_16 = self.input.LA(10) if (LA113_16 == COMMA) : LA113_18 = self.input.LA(11) if (LA113_18 == L_PAREN) : LA113_19 = self.input.LA(12) if (LA113_19 == INT) : LA113_20 = self.input.LA(13) if (LA113_20 == COMMA) : LA113_21 = self.input.LA(14) if (LA113_21 == INT) : LA113_22 = self.input.LA(15) if (LA113_22 == R_PAREN) : LA113_23 = self.input.LA(16) if (LA113_23 == 226) : LA113_24 = self.input.LA(17) if (LA113_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_24 == 229) : LA113_25 = self.input.LA(18) if (LA113_25 == KEEP) : LA113_5 = self.input.LA(19) if (LA113_5 == SPECIFIC) : LA113_7 = self.input.LA(20) if (LA113_7 == GEODE) : LA113_10 = self.input.LA(21) if (LA113_10 == HYPERLINK) : LA113_12 = self.input.LA(22) if (LA113_12 == STRING) : LA113_15 = self.input.LA(23) if (LA113_15 == 226) : LA113_17 = self.input.LA(24) if (LA113_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_11 == INT) : LA113_14 = self.input.LA(8) if (LA113_14 == R_PAREN) : LA113_16 = self.input.LA(9) if (LA113_16 == COMMA) : LA113_18 = self.input.LA(10) if (LA113_18 == L_PAREN) : LA113_19 = self.input.LA(11) if (LA113_19 == INT) : LA113_20 = self.input.LA(12) if (LA113_20 == COMMA) : LA113_21 = self.input.LA(13) if (LA113_21 == INT) : LA113_22 = self.input.LA(14) if (LA113_22 == R_PAREN) : LA113_23 = self.input.LA(15) if (LA113_23 == 226) : LA113_24 = self.input.LA(16) if (LA113_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_24 == 229) : LA113_25 = self.input.LA(17) if (LA113_25 == KEEP) : LA113_5 = self.input.LA(18) if (LA113_5 == SPECIFIC) : LA113_7 = self.input.LA(19) if (LA113_7 == GEODE) : LA113_10 = self.input.LA(20) if (LA113_10 == HYPERLINK) : LA113_12 = self.input.LA(21) if (LA113_12 == STRING) : LA113_15 = self.input.LA(22) if (LA113_15 == 226) : LA113_17 = self.input.LA(23) if (LA113_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_6 == INT) : LA113_9 = self.input.LA(5) if (LA113_9 == COMMA) : LA113_11 = self.input.LA(6) if (LA113_11 == DASH) : LA113_13 = self.input.LA(7) if (LA113_13 == INT) : LA113_14 = self.input.LA(8) if (LA113_14 == R_PAREN) : LA113_16 = self.input.LA(9) if (LA113_16 == COMMA) : LA113_18 = self.input.LA(10) if (LA113_18 == L_PAREN) : LA113_19 = self.input.LA(11) if (LA113_19 == INT) : LA113_20 = self.input.LA(12) if (LA113_20 == COMMA) : LA113_21 = self.input.LA(13) if (LA113_21 == INT) : LA113_22 = self.input.LA(14) if (LA113_22 == R_PAREN) : LA113_23 = self.input.LA(15) if (LA113_23 == 226) : LA113_24 = self.input.LA(16) if (LA113_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_24 == 229) : LA113_25 = self.input.LA(17) if (LA113_25 == KEEP) : LA113_5 = self.input.LA(18) if (LA113_5 == SPECIFIC) : LA113_7 = self.input.LA(19) if (LA113_7 == GEODE) : LA113_10 = self.input.LA(20) if (LA113_10 == HYPERLINK) : LA113_12 = self.input.LA(21) if (LA113_12 == STRING) : LA113_15 = self.input.LA(22) if (LA113_15 == 226) : LA113_17 = self.input.LA(23) if (LA113_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_11 == INT) : LA113_14 = self.input.LA(7) if (LA113_14 == R_PAREN) : LA113_16 = self.input.LA(8) if (LA113_16 == COMMA) : LA113_18 = self.input.LA(9) if (LA113_18 == L_PAREN) : LA113_19 = self.input.LA(10) if (LA113_19 == INT) : LA113_20 = self.input.LA(11) if (LA113_20 == COMMA) : LA113_21 = self.input.LA(12) if (LA113_21 == INT) : LA113_22 = self.input.LA(13) if (LA113_22 == R_PAREN) : LA113_23 = self.input.LA(14) if (LA113_23 == 226) : LA113_24 = self.input.LA(15) if (LA113_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_24 == 229) : LA113_25 = self.input.LA(16) if (LA113_25 == KEEP) : LA113_5 = self.input.LA(17) if (LA113_5 == SPECIFIC) : LA113_7 = self.input.LA(18) if (LA113_7 == GEODE) : LA113_10 = self.input.LA(19) if (LA113_10 == HYPERLINK) : LA113_12 = self.input.LA(20) if (LA113_12 == STRING) : LA113_15 = self.input.LA(21) if (LA113_15 == 226) : LA113_17 = self.input.LA(22) if (LA113_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_1 == KEEP) : LA113_5 = self.input.LA(3) if (LA113_5 == SPECIFIC) : LA113_7 = self.input.LA(4) if (LA113_7 == GEODE) : LA113_10 = self.input.LA(5) if (LA113_10 == HYPERLINK) : LA113_12 = self.input.LA(6) if (LA113_12 == STRING) : LA113_15 = self.input.LA(7) if (LA113_15 == 226) : LA113_17 = self.input.LA(8) if (LA113_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt113 = 1 elif (LA113_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}) : alt113 = 1 if alt113 == 1: # sdl92.g:671:17: transition pass self._state.following.append(self.FOLLOW_transition_in_continuous_signal7556) transition323 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition323.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() # 672:9: -> ^( PROVIDED expression ( cif )? ( hyperlink )? ( $p)? ( $e)? ( transition )? ) # sdl92.g:672: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:672:39: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:672:44: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:672:56: ( $p)? if stream_p.hasNext(): self._adaptor.addChild(root_1, stream_p.nextNode()) stream_p.reset(); # sdl92.g:672:60: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) stream_e.reset(); # sdl92.g:672: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:676: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 SAVE324 = None save_list325 = None end326 = None SAVE324_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:677:9: ( SAVE save_list end -> ^( SAVE save_list ) ) # sdl92.g:677:17: SAVE save_list end pass SAVE324 = self.match(self.input, SAVE, self.FOLLOW_SAVE_in_save_part7627) if self._state.backtracking == 0: stream_SAVE.add(SAVE324) self._state.following.append(self.FOLLOW_save_list_in_save_part7629) save_list325 = self.save_list() self._state.following.pop() if self._state.backtracking == 0: stream_save_list.add(save_list325.tree) self._state.following.append(self.FOLLOW_end_in_save_part7647) end326 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end326.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() # 679:9: -> ^( SAVE save_list ) # sdl92.g:679: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:683: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_list327 = None asterisk_save_list328 = None try: try: # sdl92.g:684:9: ( signal_list | asterisk_save_list ) alt114 = 2 LA114_0 = self.input.LA(1) if (LA114_0 == ID) : alt114 = 1 elif (LA114_0 == ASTERISK) : alt114 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 114, 0, self.input) raise nvae if alt114 == 1: # sdl92.g:684:17: signal_list pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signal_list_in_save_list7700) signal_list327 = self.signal_list() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, signal_list327.tree) elif alt114 == 2: # sdl92.g:685:19: asterisk_save_list pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_asterisk_save_list_in_save_list7720) asterisk_save_list328 = self.asterisk_save_list() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, asterisk_save_list328.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:689: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 ASTERISK329 = None ASTERISK329_tree = None try: try: # sdl92.g:690:9: ( ASTERISK ) # sdl92.g:690:17: ASTERISK pass root_0 = self._adaptor.nil() ASTERISK329 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_asterisk_save_list7752) if self._state.backtracking == 0: ASTERISK329_tree = self._adaptor.createWithPayload(ASTERISK329) self._adaptor.addChild(root_0, ASTERISK329_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:693: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_literal331 = None signal_item330 = None signal_item332 = None char_literal331_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_signal_item = RewriteRuleSubtreeStream(self._adaptor, "rule signal_item") try: try: # sdl92.g:694:9: ( signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ) # sdl92.g:694:17: signal_item ( ',' signal_item )* pass self._state.following.append(self.FOLLOW_signal_item_in_signal_list7775) signal_item330 = self.signal_item() self._state.following.pop() if self._state.backtracking == 0: stream_signal_item.add(signal_item330.tree) # sdl92.g:694:29: ( ',' signal_item )* while True: #loop115 alt115 = 2 LA115_0 = self.input.LA(1) if (LA115_0 == COMMA) : alt115 = 1 if alt115 == 1: # sdl92.g:694:30: ',' signal_item pass char_literal331 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_signal_list7778) if self._state.backtracking == 0: stream_COMMA.add(char_literal331) self._state.following.append(self.FOLLOW_signal_item_in_signal_list7780) signal_item332 = self.signal_item() self._state.following.pop() if self._state.backtracking == 0: stream_signal_item.add(signal_item332.tree) else: break #loop115 # 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() # 695:9: -> ^( SIGNAL_LIST ( signal_item )+ ) # sdl92.g:695: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:695: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:702:1: signal_item : signal_id ; def signal_item(self, ): retval = self.signal_item_return() retval.start = self.input.LT(1) root_0 = None signal_id333 = None try: try: # sdl92.g:703:9: ( signal_id ) # sdl92.g:703:17: signal_id pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_signal_id_in_signal_item7839) signal_id333 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, signal_id333.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:723: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 INPUT336 = None cif334 = None hyperlink335 = None inputlist337 = None end338 = None enabling_condition339 = None transition340 = None INPUT336_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:724:9: ( ( cif )? ( hyperlink )? INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( hyperlink )? ( end )? inputlist ( enabling_condition )? ( transition )? ) ) # sdl92.g:724:17: ( cif )? ( hyperlink )? INPUT inputlist end ( enabling_condition )? ( transition )? pass # sdl92.g:724:17: ( cif )? alt116 = 2 LA116_0 = self.input.LA(1) if (LA116_0 == 229) : LA116_1 = self.input.LA(2) if (LA116_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt116 = 1 if alt116 == 1: # sdl92.g:724:17: cif pass self._state.following.append(self.FOLLOW_cif_in_input_part7868) cif334 = self.cif() self._state.following.pop() if self._state.backtracking == 0: stream_cif.add(cif334.tree) # sdl92.g:725:17: ( hyperlink )? alt117 = 2 LA117_0 = self.input.LA(1) if (LA117_0 == 229) : alt117 = 1 if alt117 == 1: # sdl92.g:725:17: hyperlink pass self._state.following.append(self.FOLLOW_hyperlink_in_input_part7887) hyperlink335 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: stream_hyperlink.add(hyperlink335.tree) INPUT336 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_part7906) if self._state.backtracking == 0: stream_INPUT.add(INPUT336) self._state.following.append(self.FOLLOW_inputlist_in_input_part7908) inputlist337 = self.inputlist() self._state.following.pop() if self._state.backtracking == 0: stream_inputlist.add(inputlist337.tree) self._state.following.append(self.FOLLOW_end_in_input_part7910) end338 = self.end() self._state.following.pop() if self._state.backtracking == 0: stream_end.add(end338.tree) # sdl92.g:727:17: ( enabling_condition )? alt118 = 2 LA118_0 = self.input.LA(1) if (LA118_0 == PROVIDED) : LA118_1 = self.input.LA(2) if (self.synpred149_sdl92()) : alt118 = 1 if alt118 == 1: # sdl92.g:727:17: enabling_condition pass self._state.following.append(self.FOLLOW_enabling_condition_in_input_part7928) enabling_condition339 = self.enabling_condition() self._state.following.pop() if self._state.backtracking == 0: stream_enabling_condition.add(enabling_condition339.tree) # sdl92.g:728:17: ( transition )? alt119 = 2 LA119_0 = self.input.LA(1) if (LA119_0 == 229) : LA119_1 = self.input.LA(2) if (LA119_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA119_4 = self.input.LA(3) if (LA119_4 == L_PAREN) : LA119_6 = self.input.LA(4) if (LA119_6 == DASH) : LA119_8 = self.input.LA(5) if (LA119_8 == INT) : LA119_9 = self.input.LA(6) if (LA119_9 == COMMA) : LA119_11 = self.input.LA(7) if (LA119_11 == DASH) : LA119_13 = self.input.LA(8) if (LA119_13 == INT) : LA119_14 = self.input.LA(9) if (LA119_14 == R_PAREN) : LA119_16 = self.input.LA(10) if (LA119_16 == COMMA) : LA119_18 = self.input.LA(11) if (LA119_18 == L_PAREN) : LA119_19 = self.input.LA(12) if (LA119_19 == INT) : LA119_20 = self.input.LA(13) if (LA119_20 == COMMA) : LA119_21 = self.input.LA(14) if (LA119_21 == INT) : LA119_22 = self.input.LA(15) if (LA119_22 == R_PAREN) : LA119_23 = self.input.LA(16) if (LA119_23 == 226) : LA119_24 = self.input.LA(17) if (LA119_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_24 == 229) : LA119_25 = self.input.LA(18) if (LA119_25 == KEEP) : LA119_5 = self.input.LA(19) if (LA119_5 == SPECIFIC) : LA119_7 = self.input.LA(20) if (LA119_7 == GEODE) : LA119_10 = self.input.LA(21) if (LA119_10 == HYPERLINK) : LA119_12 = self.input.LA(22) if (LA119_12 == STRING) : LA119_15 = self.input.LA(23) if (LA119_15 == 226) : LA119_17 = self.input.LA(24) if (LA119_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_11 == INT) : LA119_14 = self.input.LA(8) if (LA119_14 == R_PAREN) : LA119_16 = self.input.LA(9) if (LA119_16 == COMMA) : LA119_18 = self.input.LA(10) if (LA119_18 == L_PAREN) : LA119_19 = self.input.LA(11) if (LA119_19 == INT) : LA119_20 = self.input.LA(12) if (LA119_20 == COMMA) : LA119_21 = self.input.LA(13) if (LA119_21 == INT) : LA119_22 = self.input.LA(14) if (LA119_22 == R_PAREN) : LA119_23 = self.input.LA(15) if (LA119_23 == 226) : LA119_24 = self.input.LA(16) if (LA119_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_24 == 229) : LA119_25 = self.input.LA(17) if (LA119_25 == KEEP) : LA119_5 = self.input.LA(18) if (LA119_5 == SPECIFIC) : LA119_7 = self.input.LA(19) if (LA119_7 == GEODE) : LA119_10 = self.input.LA(20) if (LA119_10 == HYPERLINK) : LA119_12 = self.input.LA(21) if (LA119_12 == STRING) : LA119_15 = self.input.LA(22) if (LA119_15 == 226) : LA119_17 = self.input.LA(23) if (LA119_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_6 == INT) : LA119_9 = self.input.LA(5) if (LA119_9 == COMMA) : LA119_11 = self.input.LA(6) if (LA119_11 == DASH) : LA119_13 = self.input.LA(7) if (LA119_13 == INT) : LA119_14 = self.input.LA(8) if (LA119_14 == R_PAREN) : LA119_16 = self.input.LA(9) if (LA119_16 == COMMA) : LA119_18 = self.input.LA(10) if (LA119_18 == L_PAREN) : LA119_19 = self.input.LA(11) if (LA119_19 == INT) : LA119_20 = self.input.LA(12) if (LA119_20 == COMMA) : LA119_21 = self.input.LA(13) if (LA119_21 == INT) : LA119_22 = self.input.LA(14) if (LA119_22 == R_PAREN) : LA119_23 = self.input.LA(15) if (LA119_23 == 226) : LA119_24 = self.input.LA(16) if (LA119_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_24 == 229) : LA119_25 = self.input.LA(17) if (LA119_25 == KEEP) : LA119_5 = self.input.LA(18) if (LA119_5 == SPECIFIC) : LA119_7 = self.input.LA(19) if (LA119_7 == GEODE) : LA119_10 = self.input.LA(20) if (LA119_10 == HYPERLINK) : LA119_12 = self.input.LA(21) if (LA119_12 == STRING) : LA119_15 = self.input.LA(22) if (LA119_15 == 226) : LA119_17 = self.input.LA(23) if (LA119_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_11 == INT) : LA119_14 = self.input.LA(7) if (LA119_14 == R_PAREN) : LA119_16 = self.input.LA(8) if (LA119_16 == COMMA) : LA119_18 = self.input.LA(9) if (LA119_18 == L_PAREN) : LA119_19 = self.input.LA(10) if (LA119_19 == INT) : LA119_20 = self.input.LA(11) if (LA119_20 == COMMA) : LA119_21 = self.input.LA(12) if (LA119_21 == INT) : LA119_22 = self.input.LA(13) if (LA119_22 == R_PAREN) : LA119_23 = self.input.LA(14) if (LA119_23 == 226) : LA119_24 = self.input.LA(15) if (LA119_24 in {CALL, DECISION, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_24 == 229) : LA119_25 = self.input.LA(16) if (LA119_25 == KEEP) : LA119_5 = self.input.LA(17) if (LA119_5 == SPECIFIC) : LA119_7 = self.input.LA(18) if (LA119_7 == GEODE) : LA119_10 = self.input.LA(19) if (LA119_10 == HYPERLINK) : LA119_12 = self.input.LA(20) if (LA119_12 == STRING) : LA119_15 = self.input.LA(21) if (LA119_15 == 226) : LA119_17 = self.input.LA(22) if (LA119_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_1 == KEEP) : LA119_5 = self.input.LA(3) if (LA119_5 == SPECIFIC) : LA119_7 = self.input.LA(4) if (LA119_7 == GEODE) : LA119_10 = self.input.LA(5) if (LA119_10 == HYPERLINK) : LA119_12 = self.input.LA(6) if (LA119_12 == STRING) : LA119_15 = self.input.LA(7) if (LA119_15 == 226) : LA119_17 = self.input.LA(8) if (LA119_17 in {CALL, DECISION, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, TASK}) : alt119 = 1 elif (LA119_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RESET, RETURN, SET, STOP, STRING, TASK}) : alt119 = 1 if alt119 == 1: # sdl92.g:728:17: transition pass self._state.following.append(self.FOLLOW_transition_in_input_part7947) transition340 = self.transition() self._state.following.pop() if self._state.backtracking == 0: stream_transition.add(transition340.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() # 729:9: -> ^( INPUT ( cif )? ( hyperlink )? ( end )? inputlist ( enabling_condition )? ( transition )? ) # sdl92.g:729: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:729:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); # sdl92.g:729:30: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); # sdl92.g:729: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:730:27: ( enabling_condition )? if stream_enabling_condition.hasNext(): self._adaptor.addChild(root_1, stream_enabling_condition.nextTree()) stream_enabling_condition.reset(); # sdl92.g:730: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:736:1: inputlist : ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ); def inputlist(self, ): retval = self.inputlist_return() retval.start = self.input.LT(1) root_0 = None ASTERISK341 = None char_literal343 = None stimulus342 = None stimulus344 = None ASTERISK341_tree = None char_literal343_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_stimulus = RewriteRuleSubtreeStream(self._adaptor, "rule stimulus") try: try: # sdl92.g:737:9: ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ) alt121 = 2 LA121_0 = self.input.LA(1) if (LA121_0 == ASTERISK) : alt121 = 1 elif (LA121_0 == ID) : alt121 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 121, 0, self.input) raise nvae if alt121 == 1: # sdl92.g:737:17: ASTERISK pass root_0 = self._adaptor.nil() ASTERISK341 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_inputlist8034) if self._state.backtracking == 0: ASTERISK341_tree = self._adaptor.createWithPayload(ASTERISK341) self._adaptor.addChild(root_0, ASTERISK341_tree) elif alt121 == 2: # sdl92.g:738:19: ( stimulus ( ',' stimulus )* ) pass # sdl92.g:738:19: ( stimulus ( ',' stimulus )* ) # sdl92.g:738:20: stimulus ( ',' stimulus )* pass self._state.following.append(self.FOLLOW_stimulus_in_inputlist8055) stimulus342 = self.stimulus() self._state.following.pop() if self._state.backtracking == 0: stream_stimulus.add(stimulus342.tree) # sdl92.g:738:29: ( ',' stimulus )* while True: #loop120 alt120 = 2 LA120_0 = self.input.LA(1) if (LA120_0 == COMMA) : alt120 = 1 if alt120 == 1: # sdl92.g:738:30: ',' stimulus pass char_literal343 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_inputlist8058) if self._state.backtracking == 0: stream_COMMA.add(char_literal343) self._state.following.append(self.FOLLOW_stimulus_in_inputlist8060) stimulus344 = self.stimulus() self._state.following.pop() if self._state.backtracking == 0: stream_stimulus.add(stimulus344.tree) else: break #loop120 # 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() # 739:9: -> ^( INPUTLIST ( stimulus )+ ) # sdl92.g:739:17: ^( INPUTLIST ( stimulus )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(INPUTLIST, "INPUTLIST") , root_1) # sdl92.g:739: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:743:1: stimulus : stimulus_id ( input_params )? ; def stimulus(self, ): retval = self.stimulus_return() retval.start = self.input.LT(1) root_0 = None stimulus_id345 = None input_params346 = None try: try: # sdl92.g:744:9: ( stimulus_id ( input_params )? ) # sdl92.g:744:17: stimulus_id ( input_params )? pass root_0 = self._adaptor.nil() self._state.following.append(self.FOLLOW_stimulus_id_in_stimulus8117) stimulus_id345 = self.stimulus_id() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, stimulus_id345.tree) # sdl92.g:744:29: ( input_params )? alt122 = 2 LA122_0 = self.input.LA(1) if (LA122_0 == L_PAREN) : alt122 = 1 if alt122 == 1: # sdl92.g:744:29: input_params pass self._state.following.append(self.FOLLOW_input_params_in_stimulus8119) input_params346 = self.input_params() self._state.following.pop() if self._state.backtracking == 0: self._adaptor.addChild(root_0, input_params346.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:748: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_PAREN347 = None char_literal349 = None R_PAREN351 = None variable_id348 = None variable_id350 = None L_PAREN347_tree = None char_literal349_tree = None R_PAREN351_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:749:9: ( L_PAREN variable_id ( ',' variable_id )* R_PAREN -> ^( PARAMS ( variable_id )+ ) ) # sdl92.g:749:17: L_PAREN variable_id ( ',' variable_id )* R_PAREN pass L_PAREN347 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_params8152) if self._state.backtracking == 0: stream_L_PAREN.add(L_PAREN347) self._state.following.append(self.FOLLOW_variable_id_in_input_params8154) variable_id348 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id348.tree) # sdl92.g:749:37: ( ',' variable_id )* while True: #loop123 alt123 = 2 LA123_0 = self.input.LA(1) if (LA123_0 == COMMA) : alt123 = 1 if alt123 == 1: # sdl92.g:749:38: ',' variable_id pass char_literal349 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_input_params8157) if self._state.backtracking == 0: stream_COMMA.add(char_literal349) self._state.following.append(self.FOLLOW_variable_id_in_input_params8159) variable_id350 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: stream_variable_id.add(variable_id350.tree) else: break #loop123 R_PAREN351 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_params8163) if self._state.backtracking == 0: stream_R_PAREN.add(R_PAREN351) # 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() # 750:9: -> ^( PARAMS ( variable_id )+ ) # sdl92.g:750:17: ^( PARAMS ( variable_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAMS, "PARAMS") , root_1) # sdl92.g:750: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:754: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 action352 = None label353 = None terminator_statement354 = None terminator_statement355 = 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:755:9: ( ( action )+ ( label )? ( terminator_statement )? -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) | terminator_statement -> ^( TRANSITION terminator_statement ) ) alt127 = 2 LA127 = self.input.LA(1) if LA127 in {229}: LA127_1 = self.input.LA(2) if (LA127_1 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA127_5 = self.input.LA(3) if (LA127_5 == L_PAREN) : LA127_8 = self.input.LA(4) if (LA127_8 == DASH) : LA127_11 = self.input.LA(5) if (LA127_11 == INT) : LA127_12 = self.input.LA(6) if (LA127_12 == COMMA) : LA127_15 = self.input.LA(7) if (LA127_15 == DASH) : LA127_18 = self.input.LA(8) if (LA127_18 == INT) : LA127_19 = self.input.LA(9) if (LA127_19 == R_PAREN) : LA127_23 = self.input.LA(10) if (LA127_23 == COMMA) : LA127_26 = self.input.LA(11) if (LA127_26 == L_PAREN) : LA127_29 = self.input.LA(12) if (LA127_29 == INT) : LA127_31 = self.input.LA(13) if (LA127_31 == COMMA) : LA127_33 = self.input.LA(14) if (LA127_33 == INT) : LA127_35 = self.input.LA(15) if (LA127_35 == R_PAREN) : LA127_37 = self.input.LA(16) if (LA127_37 == 226) : LA127 = self.input.LA(17) if LA127 in {ID}: LA127_41 = self.input.LA(18) if (LA127_41 == 230) : LA127 = self.input.LA(19) if LA127 in {229}: LA127_10 = self.input.LA(20) if (LA127_10 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA127_14 = self.input.LA(21) if (LA127_14 == L_PAREN) : LA127_17 = self.input.LA(22) if (LA127_17 == DASH) : LA127_21 = self.input.LA(23) if (LA127_21 == INT) : LA127_22 = self.input.LA(24) if (LA127_22 == COMMA) : LA127_25 = self.input.LA(25) if (LA127_25 == DASH) : LA127_27 = self.input.LA(26) if (LA127_27 == INT) : LA127_28 = self.input.LA(27) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(28) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(29) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(30) if (LA127_34 == INT) : LA127_36 = self.input.LA(31) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(32) if (LA127_38 == INT) : LA127_40 = self.input.LA(33) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(34) if (LA127_43 == 226) : LA127 = self.input.LA(35) if LA127 in {229}: LA127_42 = self.input.LA(36) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(37) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(38) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(39) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(40) if (LA127_16 == STRING) : LA127_20 = self.input.LA(41) if (LA127_20 == 226) : LA127_24 = self.input.LA(42) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 27, self.input) raise nvae elif (LA127_25 == INT) : LA127_28 = self.input.LA(26) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(27) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(28) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(29) if (LA127_34 == INT) : LA127_36 = self.input.LA(30) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(31) if (LA127_38 == INT) : LA127_40 = self.input.LA(32) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(33) if (LA127_43 == 226) : LA127 = self.input.LA(34) if LA127 in {229}: LA127_42 = self.input.LA(35) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(36) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(37) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(38) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(39) if (LA127_16 == STRING) : LA127_20 = self.input.LA(40) if (LA127_20 == 226) : LA127_24 = self.input.LA(41) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 21, self.input) raise nvae elif (LA127_17 == INT) : LA127_22 = self.input.LA(23) if (LA127_22 == COMMA) : LA127_25 = self.input.LA(24) if (LA127_25 == DASH) : LA127_27 = self.input.LA(25) if (LA127_27 == INT) : LA127_28 = self.input.LA(26) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(27) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(28) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(29) if (LA127_34 == INT) : LA127_36 = self.input.LA(30) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(31) if (LA127_38 == INT) : LA127_40 = self.input.LA(32) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(33) if (LA127_43 == 226) : LA127 = self.input.LA(34) if LA127 in {229}: LA127_42 = self.input.LA(35) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(36) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(37) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(38) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(39) if (LA127_16 == STRING) : LA127_20 = self.input.LA(40) if (LA127_20 == 226) : LA127_24 = self.input.LA(41) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 27, self.input) raise nvae elif (LA127_25 == INT) : LA127_28 = self.input.LA(25) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(26) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(27) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(28) if (LA127_34 == INT) : LA127_36 = self.input.LA(29) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(30) if (LA127_38 == INT) : LA127_40 = self.input.LA(31) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(32) if (LA127_43 == 226) : LA127 = self.input.LA(33) if LA127 in {229}: LA127_42 = self.input.LA(34) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(35) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(36) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(37) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(38) if (LA127_16 == STRING) : LA127_20 = self.input.LA(39) if (LA127_20 == 226) : LA127_24 = self.input.LA(40) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 14, self.input) raise nvae elif (LA127_10 == KEEP) : LA127_6 = self.input.LA(21) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(22) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(23) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(24) if (LA127_16 == STRING) : LA127_20 = self.input.LA(25) if (LA127_20 == 226) : LA127_24 = self.input.LA(26) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 10, self.input) raise nvae elif LA127 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, OUTPUT, RESET, SET, STRING, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 41, self.input) raise nvae elif LA127 in {229}: LA127_42 = self.input.LA(18) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(19) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(20) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(21) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(22) if (LA127_16 == STRING) : LA127_20 = self.input.LA(23) if (LA127_20 == 226) : LA127_24 = self.input.LA(24) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 39, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 37, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 35, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 33, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 31, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 29, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 18, self.input) raise nvae elif (LA127_15 == INT) : LA127_19 = self.input.LA(8) if (LA127_19 == R_PAREN) : LA127_23 = self.input.LA(9) if (LA127_23 == COMMA) : LA127_26 = self.input.LA(10) if (LA127_26 == L_PAREN) : LA127_29 = self.input.LA(11) if (LA127_29 == INT) : LA127_31 = self.input.LA(12) if (LA127_31 == COMMA) : LA127_33 = self.input.LA(13) if (LA127_33 == INT) : LA127_35 = self.input.LA(14) if (LA127_35 == R_PAREN) : LA127_37 = self.input.LA(15) if (LA127_37 == 226) : LA127 = self.input.LA(16) if LA127 in {ID}: LA127_41 = self.input.LA(17) if (LA127_41 == 230) : LA127 = self.input.LA(18) if LA127 in {229}: LA127_10 = self.input.LA(19) if (LA127_10 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA127_14 = self.input.LA(20) if (LA127_14 == L_PAREN) : LA127_17 = self.input.LA(21) if (LA127_17 == DASH) : LA127_21 = self.input.LA(22) if (LA127_21 == INT) : LA127_22 = self.input.LA(23) if (LA127_22 == COMMA) : LA127_25 = self.input.LA(24) if (LA127_25 == DASH) : LA127_27 = self.input.LA(25) if (LA127_27 == INT) : LA127_28 = self.input.LA(26) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(27) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(28) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(29) if (LA127_34 == INT) : LA127_36 = self.input.LA(30) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(31) if (LA127_38 == INT) : LA127_40 = self.input.LA(32) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(33) if (LA127_43 == 226) : LA127 = self.input.LA(34) if LA127 in {229}: LA127_42 = self.input.LA(35) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(36) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(37) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(38) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(39) if (LA127_16 == STRING) : LA127_20 = self.input.LA(40) if (LA127_20 == 226) : LA127_24 = self.input.LA(41) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 27, self.input) raise nvae elif (LA127_25 == INT) : LA127_28 = self.input.LA(25) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(26) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(27) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(28) if (LA127_34 == INT) : LA127_36 = self.input.LA(29) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(30) if (LA127_38 == INT) : LA127_40 = self.input.LA(31) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(32) if (LA127_43 == 226) : LA127 = self.input.LA(33) if LA127 in {229}: LA127_42 = self.input.LA(34) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(35) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(36) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(37) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(38) if (LA127_16 == STRING) : LA127_20 = self.input.LA(39) if (LA127_20 == 226) : LA127_24 = self.input.LA(40) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 21, self.input) raise nvae elif (LA127_17 == INT) : LA127_22 = self.input.LA(22) if (LA127_22 == COMMA) : LA127_25 = self.input.LA(23) if (LA127_25 == DASH) : LA127_27 = self.input.LA(24) if (LA127_27 == INT) : LA127_28 = self.input.LA(25) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(26) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(27) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(28) if (LA127_34 == INT) : LA127_36 = self.input.LA(29) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(30) if (LA127_38 == INT) : LA127_40 = self.input.LA(31) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(32) if (LA127_43 == 226) : LA127 = self.input.LA(33) if LA127 in {229}: LA127_42 = self.input.LA(34) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(35) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(36) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(37) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(38) if (LA127_16 == STRING) : LA127_20 = self.input.LA(39) if (LA127_20 == 226) : LA127_24 = self.input.LA(40) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 27, self.input) raise nvae elif (LA127_25 == INT) : LA127_28 = self.input.LA(24) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(25) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(26) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(27) if (LA127_34 == INT) : LA127_36 = self.input.LA(28) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(29) if (LA127_38 == INT) : LA127_40 = self.input.LA(30) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(31) if (LA127_43 == 226) : LA127 = self.input.LA(32) if LA127 in {229}: LA127_42 = self.input.LA(33) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(34) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(35) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(36) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(37) if (LA127_16 == STRING) : LA127_20 = self.input.LA(38) if (LA127_20 == 226) : LA127_24 = self.input.LA(39) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 25, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 22, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 17, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 14, self.input) raise nvae elif (LA127_10 == KEEP) : LA127_6 = self.input.LA(20) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(21) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(22) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(23) if (LA127_16 == STRING) : LA127_20 = self.input.LA(24) if (LA127_20 == 226) : LA127_24 = self.input.LA(25) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 10, self.input) raise nvae elif LA127 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, OUTPUT, RESET, SET, STRING, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 7, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 41, self.input) raise nvae elif LA127 in {229}: LA127_42 = self.input.LA(17) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(18) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(19) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(20) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(21) if (LA127_16 == STRING) : LA127_20 = self.input.LA(22) if (LA127_20 == 226) : LA127_24 = self.input.LA(23) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 39, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 37, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 35, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 33, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 31, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 29, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 26, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 23, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 19, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 15, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 12, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 11, self.input) raise nvae elif (LA127_8 == INT) : LA127_12 = self.input.LA(5) if (LA127_12 == COMMA) : LA127_15 = self.input.LA(6) if (LA127_15 == DASH) : LA127_18 = self.input.LA(7) if (LA127_18 == INT) : LA127_19 = self.input.LA(8) if (LA127_19 == R_PAREN) : LA127_23 = self.input.LA(9) if (LA127_23 == COMMA) : LA127_26 = self.input.LA(10) if (LA127_26 == L_PAREN) : LA127_29 = self.input.LA(11) if (LA127_29 == INT) : LA127_31 = self.input.LA(12) if (LA127_31 == COMMA) : LA127_33 = self.input.LA(13) if (LA127_33 == INT) : LA127_35 = self.input.LA(14) if (LA127_35 == R_PAREN) : LA127_37 = self.input.LA(15) if (LA127_37 == 226) : LA127 = self.input.LA(16) if LA127 in {ID}: LA127_41 = self.input.LA(17) if (LA127_41 == 230) : LA127 = self.input.LA(18) if LA127 in {229}: LA127_10 = self.input.LA(19) if (LA127_10 in {ANSWER, COMMENT, CONNECT, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : LA127_14 = self.input.LA(20) if (LA127_14 == L_PAREN) : LA127_17 = self.input.LA(21) if (LA127_17 == DASH) : LA127_21 = self.input.LA(22) if (LA127_21 == INT) : LA127_22 = self.input.LA(23) if (LA127_22 == COMMA) : LA127_25 = self.input.LA(24) if (LA127_25 == DASH) : LA127_27 = self.input.LA(25) if (LA127_27 == INT) : LA127_28 = self.input.LA(26) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(27) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(28) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(29) if (LA127_34 == INT) : LA127_36 = self.input.LA(30) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(31) if (LA127_38 == INT) : LA127_40 = self.input.LA(32) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(33) if (LA127_43 == 226) : LA127 = self.input.LA(34) if LA127 in {229}: LA127_42 = self.input.LA(35) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(36) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(37) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(38) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(39) if (LA127_16 == STRING) : LA127_20 = self.input.LA(40) if (LA127_20 == 226) : LA127_24 = self.input.LA(41) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 20, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 16, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 13, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 9, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 6, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 42, self.input) raise nvae elif LA127 in {CALL, DECISION, OUTPUT, TASK}: alt127 = 1 elif LA127 in {JOIN, NEXTSTATE, RETURN, STOP}: alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 44, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 43, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 40, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 38, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 36, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 34, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 32, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 30, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 28, self.input) raise nvae else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 27, self.input) raise nvae elif (LA127_25 == INT) : LA127_28 = self.input.LA(25) if (LA127_28 == R_PAREN) : LA127_30 = self.input.LA(26) if (LA127_30 == COMMA) : LA127_32 = self.input.LA(27) if (LA127_32 == L_PAREN) : LA127_34 = self.input.LA(28) if (LA127_34 == INT) : LA127_36 = self.input.LA(29) if (LA127_36 == COMMA) : LA127_38 = self.input.LA(30) if (LA127_38 == INT) : LA127_40 = self.input.LA(31) if (LA127_40 == R_PAREN) : LA127_43 = self.input.LA(32) if (LA127_43 == 226) : LA127 = self.input.LA(33) if LA127 in {229}: LA127_42 = self.input.LA(34) if (LA127_42 == KEEP) : LA127_6 = self.input.LA(35) if (LA127_6 == SPECIFIC) : LA127_9 = self.input.LA(36) if (LA127_9 == GEODE) : LA127_13 = self.input.LA(37) if (LA127_13 == HYPERLINK) : LA127_16 = self.input.LA(38) if (LA127_16 == STRING) : LA127_20 = self.input.LA(39) if (LA127_20 == 226) : LA127_24 = self.input.LA(40) if (LA127_24 in {CALL, DECISION, OUTPUT, TASK}) : alt127 = 1 elif (LA127_24 in {JOIN, NEXTSTATE, RETURN, STOP}) : alt127 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed nvae = NoViableAltException("", 127, 24, self.input) raise nvae