From 6ea094ab107f094ee2069e62df198ac39e3b0b19 Mon Sep 17 00:00:00 2001 From: Maxime Perrotin Date: Fri, 26 Apr 2024 13:46:39 +0200 Subject: [PATCH 1/3] WIP: requirement management support missing: RIDs, and Token retrieval --- opengeode/Pr.py | 55 + opengeode/genericSymbols.py | 8 +- opengeode/ogAST.py | 42 + opengeode/ogParser.py | 80 +- opengeode/sdl92Lexer.py | 2460 +-- opengeode/sdl92Parser.py | 27558 +++++++++++++++++----------------- sdl92.g | 58 +- 7 files changed, 15558 insertions(+), 14703 deletions(-) diff --git a/opengeode/Pr.py b/opengeode/Pr.py index 746ecbef..f172126b 100644 --- a/opengeode/Pr.py +++ b/opengeode/Pr.py @@ -180,6 +180,42 @@ def hyperlink(symbol): return f"/* CIF Keep Specific Geode HyperLink '{symbol.text.hyperlink}' */" +def req_server(symbol): + ''' Gitlab server holding requirements ''' + if genericSymbols.g_QtTaste: + url = genericSymbols.g_url + if type(url) != str: + url = url.toString() + return f"/* CIF Keep Specific Geode REQSERVER '{url}' */" + else: + return '' + +def req_ids(symbol): + ''' PR string for the optional requirement ids associated to a symbol ''' + if symbol.req_model is None: + return [] + # We have to check if some requirements are selected for the symbol + ticked = symbol.req_model.selectedRequirements() + ticked.extend(symbol.ast.req_ids) + selected=set(ticked) + result = [] + for each in selected: + result.append(f"/* CIF Keep Specific Geode REQID '{each}' */") + return result + + +def rid_ids(symbol): + ''' PR string for the optional requirement ids associated to a symbol ''' + if symbol.rid_model is None: + return[] + # We have to check if some requirements are selected for the symbol + #selected = symbol.rid_model.selectedReviews() + result = [] + #for each in selected: + # result.append(f"/* CIF Keep Specific Geode RID '{each}' */") + return result + + def partition(symbol): scene = symbol.scene() if scene: @@ -195,6 +231,8 @@ def common(name, symbol): result.append(cif_coord(name, symbol)) if symbol.text.hyperlink: result.append(hyperlink(symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) if isinstance(symbol, (sdlSymbols.State, sdlSymbols.Procedure)) and name != 'NEXTSTATE': part = partition(symbol) if part: @@ -235,6 +273,8 @@ def _comment(symbol, **kwargs): result.append(cif_coord('comment', symbol)) if symbol.text.hyperlink: result.append(hyperlink(symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) result.append("comment '" + str(symbol.text).replace("'", "\\'") + "';") return result @@ -306,6 +346,8 @@ def _decisionanswer(symbol, recursive=True, **kwargs): ans = f'({ans})' if symbol.text.hyperlink: result.append(hyperlink(symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) result.append(f'{ans}:') if recursive: result.extend(recursive_aligned(symbol)) @@ -347,6 +389,8 @@ def _procedurecall(symbol, **kwargs): result.append(cif_coord('PROCEDURECALL', symbol)) if symbol.text.hyperlink: result.append(hyperlink(symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) result.append('call {}{}'.format(str(symbol.text), ';' if not symbol.comment else '')) if symbol.comment: @@ -361,6 +405,8 @@ def _procedurecall(symbol, **kwargs): result.append(cif_coord('CREATE', symbol)) if symbol.text.hyperlink: result.append(hyperlink(symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) result.append(f'create {str(symbol.text)}{";" if not symbol.comment else ""}') if symbol.comment: result.extend(generate(symbol.comment)) @@ -374,6 +420,8 @@ def _textsymbol(symbol, **kwargs): #if symbol.text.hyperlink: # no hyperlink for text symbols (see sdl92.g) # result.append(hyperlink(symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) part = partition(symbol) if part: result.append(part) @@ -392,6 +440,8 @@ def _label(symbol, recursive=True, **kwargs): result.append(cif_coord('label', symbol)) if symbol.text.hyperlink: result.append(hyperlink(symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) if symbol.common_name == 'floating_label': part = partition(symbol) if part: @@ -463,6 +513,9 @@ def _process(symbol, recursive=True, **kwargs): #result = common(name, symbol) result = Indent() result.append(cif_coord('PROCESS', symbol)) + result.append(req_server(symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) result.append("{} {}{}".format(name, str(symbol.text), ";" if not symbol.comment else "")) if symbol.comment: @@ -498,6 +551,8 @@ def _start(symbol, recursive=True, **kwargs): ''' START symbol or branch if recursive is set ''' result = Indent() result.append(cif_coord('START', symbol)) + result.extend(req_ids(symbol)) + result.extend(rid_ids(symbol)) result.append('START{via}{comment}' .format(via=(' ' + str(symbol) + ' ') if str(symbol).replace('START', '') else '', diff --git a/opengeode/genericSymbols.py b/opengeode/genericSymbols.py index a8887bb3..c3e38ee2 100644 --- a/opengeode/genericSymbols.py +++ b/opengeode/genericSymbols.py @@ -79,7 +79,7 @@ @Slot (QUrl, str) def set_credentials(url, token): - ''' Slot called whenever user changed the credentials in a Requirements + ''' Slot called whenever user changed the credentials in a Requirement or Review widget ''' global g_url, g_token g_url = url @@ -575,6 +575,12 @@ def contextMenuEvent(self, event): if self.req_widget.token() != g_token: self.req_widget.setToken(g_token) self.req_widget.show() + # Set the list of selected requirements, both from the AST and + # from the user-selection + ticked = self.req_model.selectedRequirements() + ticked.extend(self.ast.req_ids) + selected = set(ticked) + self.req_model.setSelectedRequirements(list(selected)) elif action.text() == rid_action: # update credentials if they were changed in another # instance of the widget diff --git a/opengeode/ogAST.py b/opengeode/ogAST.py index c21f5dd6..645ad0c7 100644 --- a/opengeode/ogAST.py +++ b/opengeode/ogAST.py @@ -353,6 +353,9 @@ def __init__(self): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # hint for backends needing a temporary variable to hold the question self.tmpVar = -1 # Errors associated to this element @@ -397,6 +400,9 @@ def __init__(self): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # Errors associated to this element self.errors, self.warnings = [], [] # the path allows to retrieve the location of the symbol @@ -423,6 +429,9 @@ def __init__(self): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] self.elems = [] # Errors associated to this element self.errors, self.warnings = [], [] @@ -453,6 +462,9 @@ def __init__(self): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # Errors associated to this element self.errors, self.warnings = [], [] # the path allows to retrieve the location of the symbol @@ -505,6 +517,9 @@ def __init__(self, defName=''): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # Errors associated to this element self.errors, self.warnings = [], [] # the path allows to retrieve the location of the symbol @@ -550,6 +565,9 @@ def __init__(self, defName=''): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # optional Label instance (to be placed just before the terminator) self.label = None # Return expression @@ -615,6 +633,9 @@ def __init__(self): self.charPositionInLine = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # No comment for labels - keep to None self.comment = None # List of terminators following this label @@ -712,6 +733,9 @@ def __init__(self): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # list of terminators following the input symbol self.terminators = [] # If this input is in fact a continuous signal, code generators will ignore it @@ -784,6 +808,9 @@ def __init__(self): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # list of terminators following the start symbol self.terminators = [] # Errors associated to this element @@ -824,6 +851,9 @@ def __init__(self): self.charPositionInLine = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # Errors associated to this element self.errors, self.warnings = [], [] # the path allows to retrieve the location of the symbol @@ -861,6 +891,9 @@ def __init__(self, defName=''): self.comment = None # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # optional composite state content (type CompositeState) self.composite = None # via clause, used for entering nested state with an entry point @@ -912,6 +945,9 @@ def __init__(self): self.procedures = [] # optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # List of Observer states defined in this text area (error/success/ignore states) # used for error reporting to get the right symbol coordinates self.observer_states : List [str] = [] @@ -959,6 +995,9 @@ def __init__(self): self.height = 35 # Optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # Local variables dictionary (see Process) self.variables = {} # MONITOR variables used in observers (same structure as DCL) @@ -1064,6 +1103,9 @@ def __init__(self): self.height = 75 # Optional hyperlink self.hyperlink = None + # Optional set of requirements and RID ids for this item + self.req_ids = [] + self.rid_ids = [] # Optional comment self.comment = None diff --git a/opengeode/ogParser.py b/opengeode/ogParser.py index 9c33fa04..62fc4a49 100644 --- a/opengeode/ogParser.py +++ b/opengeode/ogParser.py @@ -47,7 +47,7 @@ from . import sdl92Lexer as lexer from . import sdl92Parser -from . import ogAST +from . import ogAST, genericSymbols from .Asn1scc import parse_asn1, ASN1, create_choice_determinant_types LOG = logging.getLogger(__name__) @@ -3741,6 +3741,10 @@ def procedure_pre(root, parent=None, context=None): proc.pos_x = symbolid(child) elif child.type == lexer.PARTITION: proc.partition = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + proc.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + proc.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == lexer.ID: proc.line = child.getLine() proc.charPositionInLine = child.getCharPositionInLine() @@ -4004,8 +4008,10 @@ def floating_label(root, parent, context): lab_x = lab.pos_x elif child.type == lexer.HYPERLINK: lab.hyperlink = child.getChild(0).text[1:-1] - elif child.type == lexer.HYPERLINK: - lab.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + lab.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + lab.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == lexer.PARTITION: lab.partition = child.getChild(0).toString()[1:-1] elif child.type == lexer.TRANSITION: @@ -4680,6 +4686,10 @@ def text_area(root, parent=None, context=None): ta.inputString = dedent(string).strip() elif child.type == lexer.HYPERLINK: ta.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + ta.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + ta.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == lexer.PARTITION: ta.partition = child.getChild(0).toString()[1:-1] else: @@ -5177,6 +5187,12 @@ def process_definition(root, parent=None, context=None): pass elif child.type == lexer.COMMENT: process.comment, _, _ = end(child) + elif child.type == lexer.REQ_ID: + process.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + process.rid_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.REQ_SERVER: + genericSymbols.g_url = child.getChild(0).toString()[1:-1] else: warnings.append(['Unsupported process definition child: ' + sdl92Parser.tokenNamesMap[child.type] + @@ -5348,6 +5364,10 @@ def continuous_signal(root, parent, context): dec.comment = i.comment elif child.type == lexer.HYPERLINK: i.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + i.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + i.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == 0: # Syntax error caught by the parser, no need to report again pass @@ -5552,6 +5572,10 @@ def input_part(root, parent, context): i.comment, _, _ = end(child) elif child.type == lexer.HYPERLINK: i.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + i.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + i.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == 0: # Syntax error caught by the parser, no need to report again pass @@ -5687,6 +5711,10 @@ def gather_inputlist(state_ast): state_def.comment, _, _ = end(child) elif child.type == lexer.HYPERLINK: state_def.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + state_def.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + state_def.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == lexer.PARTITION: state_def.partition = child.getChild(0).toString()[1:-1] elif child.type == lexer.PROVIDED: @@ -5821,6 +5849,10 @@ def connect_part(root, parent, context): conn.transition = trans elif child.type == lexer.HYPERLINK: conn.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + conn.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + conn.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == lexer.COMMENT: conn.comment, _, _ = end(child) else: @@ -5943,6 +5975,10 @@ def start(root, parent=None, context=None): s.comment, _, _ = end(child) elif child.type == lexer.HYPERLINK: s.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + s.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + s.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == lexer.PARTITION: s.partition = child.getChild(0).toString()[1:-1] else: @@ -5970,6 +6006,10 @@ def end(root, parent=None, context=None): c.inputString = child.toString()[1:-1] elif child.type == lexer.HYPERLINK: c.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + c.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + c.rid_ids.append(child.getChild(0).toString()[1:-1]) return c, [], [] @@ -6126,6 +6166,10 @@ def output(root, parent, out_ast=None, context=None): out_ast.comment, _, _ = end(child) elif child.type == lexer.HYPERLINK: out_ast.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + out_ast.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + out_ast.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == 0: pass else: @@ -6209,6 +6253,10 @@ def alternative_part(root, parent, context): warnings.extend(warn) elif child.type == lexer.HYPERLINK: ans.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + ans.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + ans.rid_ids.append(child.getChild(0).toString()[1:-1]) else: warnings.append('Unsupported answer type: ' + sdl92Parser.tokenNamesMap[child.type]) @@ -6301,6 +6349,10 @@ def decision(root, parent, context): dec.comment, _, _ = end(child) elif child.type == lexer.HYPERLINK: dec.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + dec.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + dec.rid_ids.append(child.getChild(0).toString()[1:-1]) elif child.type == lexer.ANSWER: ans, err, warn = alternative_part(child, parent, context) errors.extend(err) @@ -6322,6 +6374,10 @@ def decision(root, parent, context): warnings.extend(warn) elif child.type == lexer.HYPERLINK: ans.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + ans.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + ans.rid_ids.append(child.getChild(0).toString()[1:-1]) ans.answers.append({'kind': 'else', 'content': None}) dec.answers.append(ans) has_else = True @@ -6784,6 +6840,10 @@ def terminator_statement(root, parent, context): t.comment, _, _ = end(term) elif term.type == lexer.HYPERLINK: t.hyperlink = term.getChild(0).toString()[1:-1] + elif term.type == lexer.REQ_ID: + t.req_ids.append(term.getChild(0).toString()[1:-1]) + elif term.type == lexer.RID_ID: + t.rid_ids.append(term.getChild(0).toString()[1:-1]) else: warnings.append('Unsupported terminator type: ' + str(term.type)) @@ -7222,6 +7282,7 @@ def task(root, parent=None, context=None): warnings = [] coord = False comment, body = None, None + req_ids, rid_ids, hyperlink = [], [], None for child in root.getChildren(): if child.type == lexer.CIF: # Get symbol coordinates @@ -7241,7 +7302,11 @@ def task(root, parent=None, context=None): elif child.type == lexer.COMMENT: comment, _, _ = end(child) elif child.type == lexer.HYPERLINK: - body.hyperlink = child.getChild(0).toString()[1:-1] + hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + rid_ids.append(child.getChild(0).toString()[1:-1]) else: warnings.append('Unsupported child type in task definition: ' + str(child.type)) @@ -7256,6 +7321,9 @@ def task(root, parent=None, context=None): warnings = [[w, [0, 0], []] for w in warnings] if body: body.comment = comment + body.hyperlink = hyperlink + body.req_ids = req_ids + body.rid_ids = rid_ids else: warnings.append(['TASK missing content', [pos_x or 0, pos_y or 0], []]) body = ogAST.TaskAssign() @@ -7300,6 +7368,10 @@ def create_request(root, parent=None, context=None): result.comment, _, _ = end(child) elif child.type == lexer.HYPERLINK: result.hyperlink = child.getChild(0).toString()[1:-1] + elif child.type == lexer.REQ_ID: + result.req_ids.append(child.getChild(0).toString()[1:-1]) + elif child.type == lexer.RID_ID: + result.rid_ids.append(child.getChild(0).toString()[1:-1]) else: warnings.append('Unsupported child type in CREATE definition: ' + str(child.type)) diff --git a/opengeode/sdl92Lexer.py b/opengeode/sdl92Lexer.py index 5b892ca8..c515cf28 100644 --- a/opengeode/sdl92Lexer.py +++ b/opengeode/sdl92Lexer.py @@ -1,4 +1,4 @@ -# $ANTLR 3.5.2 sdl92.g 2024-04-23 13:10:53 +# $ANTLR 3.5.2 sdl92.g 2024-04-26 13:30:03 import sys from antlr3 import * @@ -10,8 +10,6 @@ # token types EOF=-1 -T__246=246 -T__247=247 T__248=248 T__249=249 T__250=250 @@ -19,6 +17,8 @@ T__252=252 T__253=253 T__254=254 +T__255=255 +T__256=256 A=4 ACTION=5 ACTIVE=6 @@ -194,79 +194,81 @@ REM=176 RENAMES=177 REQ_ID=178 -RETURN=179 -RETURNS=180 -RID_ID=181 -ROUTE=182 -R_BRACKET=183 -R_PAREN=184 -S=185 -SAVE=186 -SELECTOR=187 -SEMI=188 -SEQOF=189 -SEQUENCE=190 -SIGNAL=191 -SIGNALROUTE=192 -SIGNAL_LIST=193 -SORT=194 -SPECIFIC=195 -START=196 -STATE=197 -STATELIST=198 -STATE_AGGREGATION=199 -STATE_PARTITION_CONNECTION=200 -STIMULUS=201 -STOP=202 -STOPIF=203 -STR=204 -STRING=205 -STRUCT=206 -SUBSTRUCTURE=207 -SUCCESSSTATES=208 -SYMBOLID=209 -SYNONYM=210 -SYNONYM_LIST=211 -SYNTYPE=212 -SYSTEM=213 -T=214 -TASK=215 -TASK_BODY=216 -TERMINATOR=217 -TEXT=218 -TEXTAREA=219 -TEXTAREA_CONTENT=220 -THEN=221 -THIS=222 -TIMER=223 -TO=224 -TRANSITION=225 -TRUE=226 -TYPE=227 -TYPE_INSTANCE=228 -U=229 -UNHANDLED=230 -USE=231 -V=232 -VALUE=233 -VARIABLE=234 -VARIABLES=235 -VIA=236 -VIAPATH=237 -VIEW=238 -W=239 -WITH=240 -WS=241 -X=242 -XOR=243 -Y=244 -Z=245 +REQ_SERVER=179 +RETURN=180 +RETURNS=181 +RID_ID=182 +RID_SERVER=183 +ROUTE=184 +R_BRACKET=185 +R_PAREN=186 +S=187 +SAVE=188 +SELECTOR=189 +SEMI=190 +SEQOF=191 +SEQUENCE=192 +SIGNAL=193 +SIGNALROUTE=194 +SIGNAL_LIST=195 +SORT=196 +SPECIFIC=197 +START=198 +STATE=199 +STATELIST=200 +STATE_AGGREGATION=201 +STATE_PARTITION_CONNECTION=202 +STIMULUS=203 +STOP=204 +STOPIF=205 +STR=206 +STRING=207 +STRUCT=208 +SUBSTRUCTURE=209 +SUCCESSSTATES=210 +SYMBOLID=211 +SYNONYM=212 +SYNONYM_LIST=213 +SYNTYPE=214 +SYSTEM=215 +T=216 +TASK=217 +TASK_BODY=218 +TERMINATOR=219 +TEXT=220 +TEXTAREA=221 +TEXTAREA_CONTENT=222 +THEN=223 +THIS=224 +TIMER=225 +TO=226 +TRANSITION=227 +TRUE=228 +TYPE=229 +TYPE_INSTANCE=230 +U=231 +UNHANDLED=232 +USE=233 +V=234 +VALUE=235 +VARIABLE=236 +VARIABLES=237 +VIA=238 +VIAPATH=239 +VIEW=240 +W=241 +WITH=242 +WS=243 +X=244 +XOR=245 +Y=246 +Z=247 # token names tokenNamesMap = { 0: "", 1: "", 2: "", 3: "", - -1: "EOF", 246: "T__246", 247: "T__247", 248: "T__248", 249: "T__249", - 250: "T__250", 251: "T__251", 252: "T__252", 253: "T__253", 254: "T__254", + -1: "EOF", 248: "T__248", 249: "T__249", 250: "T__250", 251: "T__251", + 252: "T__252", 253: "T__253", 254: "T__254", 255: "T__255", 256: "T__256", 4: "A", 5: "ACTION", 6: "ACTIVE", 7: "AGGREGATION", 8: "ALL", 9: "ALPHA", 10: "ALTERNATIVE", 11: "ALWAYS", 12: "AND", 13: "ANSWER", 14: "ANY", 15: "APPEND", 16: "ARRAY", 17: "ASN1", 18: "ASNFILENAME", 19: "ASSIGN", @@ -301,21 +303,22 @@ 161: "PLUS", 162: "PLUS_INFINITY", 163: "POINT", 164: "PRIMARY", 165: "PRIORITY", 166: "PROCEDURE", 167: "PROCEDURE_CALL", 168: "PROCEDURE_NAME", 169: "PROCESS", 170: "PROVIDED", 171: "Q", 172: "QUESTION", 173: "R", 174: "RANGE", - 175: "REFERENCED", 176: "REM", 177: "RENAMES", 178: "REQ_ID", 179: "RETURN", - 180: "RETURNS", 181: "RID_ID", 182: "ROUTE", 183: "R_BRACKET", 184: "R_PAREN", - 185: "S", 186: "SAVE", 187: "SELECTOR", 188: "SEMI", 189: "SEQOF", 190: "SEQUENCE", - 191: "SIGNAL", 192: "SIGNALROUTE", 193: "SIGNAL_LIST", 194: "SORT", - 195: "SPECIFIC", 196: "START", 197: "STATE", 198: "STATELIST", 199: "STATE_AGGREGATION", - 200: "STATE_PARTITION_CONNECTION", 201: "STIMULUS", 202: "STOP", 203: "STOPIF", - 204: "STR", 205: "STRING", 206: "STRUCT", 207: "SUBSTRUCTURE", 208: "SUCCESSSTATES", - 209: "SYMBOLID", 210: "SYNONYM", 211: "SYNONYM_LIST", 212: "SYNTYPE", - 213: "SYSTEM", 214: "T", 215: "TASK", 216: "TASK_BODY", 217: "TERMINATOR", - 218: "TEXT", 219: "TEXTAREA", 220: "TEXTAREA_CONTENT", 221: "THEN", - 222: "THIS", 223: "TIMER", 224: "TO", 225: "TRANSITION", 226: "TRUE", - 227: "TYPE", 228: "TYPE_INSTANCE", 229: "U", 230: "UNHANDLED", 231: "USE", - 232: "V", 233: "VALUE", 234: "VARIABLE", 235: "VARIABLES", 236: "VIA", - 237: "VIAPATH", 238: "VIEW", 239: "W", 240: "WITH", 241: "WS", 242: "X", - 243: "XOR", 244: "Y", 245: "Z" + 175: "REFERENCED", 176: "REM", 177: "RENAMES", 178: "REQ_ID", 179: "REQ_SERVER", + 180: "RETURN", 181: "RETURNS", 182: "RID_ID", 183: "RID_SERVER", 184: "ROUTE", + 185: "R_BRACKET", 186: "R_PAREN", 187: "S", 188: "SAVE", 189: "SELECTOR", + 190: "SEMI", 191: "SEQOF", 192: "SEQUENCE", 193: "SIGNAL", 194: "SIGNALROUTE", + 195: "SIGNAL_LIST", 196: "SORT", 197: "SPECIFIC", 198: "START", 199: "STATE", + 200: "STATELIST", 201: "STATE_AGGREGATION", 202: "STATE_PARTITION_CONNECTION", + 203: "STIMULUS", 204: "STOP", 205: "STOPIF", 206: "STR", 207: "STRING", + 208: "STRUCT", 209: "SUBSTRUCTURE", 210: "SUCCESSSTATES", 211: "SYMBOLID", + 212: "SYNONYM", 213: "SYNONYM_LIST", 214: "SYNTYPE", 215: "SYSTEM", + 216: "T", 217: "TASK", 218: "TASK_BODY", 219: "TERMINATOR", 220: "TEXT", + 221: "TEXTAREA", 222: "TEXTAREA_CONTENT", 223: "THEN", 224: "THIS", + 225: "TIMER", 226: "TO", 227: "TRANSITION", 228: "TRUE", 229: "TYPE", + 230: "TYPE_INSTANCE", 231: "U", 232: "UNHANDLED", 233: "USE", 234: "V", + 235: "VALUE", 236: "VARIABLE", 237: "VARIABLES", 238: "VIA", 239: "VIAPATH", + 240: "VIEW", 241: "W", 242: "WITH", 243: "WS", 244: "X", 245: "XOR", + 246: "Y", 247: "Z" } Token.registerTokenNamesMap(tokenNamesMap) @@ -358,10 +361,10 @@ def __init__(self, input=None, state=None): - # $ANTLR start "T__246" - def mT__246(self, ): + # $ANTLR start "T__248" + def mT__248(self, ): try: - _type = T__246 + _type = T__248 _channel = DEFAULT_CHANNEL # sdl92.g:7:8: ( '!' ) @@ -376,14 +379,14 @@ def mT__246(self, ): finally: pass - # $ANTLR end "T__246" + # $ANTLR end "T__248" - # $ANTLR start "T__247" - def mT__247(self, ): + # $ANTLR start "T__249" + def mT__249(self, ): try: - _type = T__247 + _type = T__249 _channel = DEFAULT_CHANNEL # sdl92.g:8:8: ( '(.' ) @@ -399,14 +402,14 @@ def mT__247(self, ): finally: pass - # $ANTLR end "T__247" + # $ANTLR end "T__249" - # $ANTLR start "T__248" - def mT__248(self, ): + # $ANTLR start "T__250" + def mT__250(self, ): try: - _type = T__248 + _type = T__250 _channel = DEFAULT_CHANNEL # sdl92.g:9:8: ( '*/' ) @@ -422,14 +425,14 @@ def mT__248(self, ): finally: pass - # $ANTLR end "T__248" + # $ANTLR end "T__250" - # $ANTLR start "T__249" - def mT__249(self, ): + # $ANTLR start "T__251" + def mT__251(self, ): try: - _type = T__249 + _type = T__251 _channel = DEFAULT_CHANNEL # sdl92.g:10:8: ( '-*' ) @@ -445,14 +448,14 @@ def mT__249(self, ): finally: pass - # $ANTLR end "T__249" + # $ANTLR end "T__251" - # $ANTLR start "T__250" - def mT__250(self, ): + # $ANTLR start "T__252" + def mT__252(self, ): try: - _type = T__250 + _type = T__252 _channel = DEFAULT_CHANNEL # sdl92.g:11:8: ( '->' ) @@ -468,14 +471,14 @@ def mT__250(self, ): finally: pass - # $ANTLR end "T__250" + # $ANTLR end "T__252" - # $ANTLR start "T__251" - def mT__251(self, ): + # $ANTLR start "T__253" + def mT__253(self, ): try: - _type = T__251 + _type = T__253 _channel = DEFAULT_CHANNEL # sdl92.g:12:8: ( '.)' ) @@ -491,14 +494,14 @@ def mT__251(self, ): finally: pass - # $ANTLR end "T__251" + # $ANTLR end "T__253" - # $ANTLR start "T__252" - def mT__252(self, ): + # $ANTLR start "T__254" + def mT__254(self, ): try: - _type = T__252 + _type = T__254 _channel = DEFAULT_CHANNEL # sdl92.g:13:8: ( '/* CIF' ) @@ -514,14 +517,14 @@ def mT__252(self, ): finally: pass - # $ANTLR end "T__252" + # $ANTLR end "T__254" - # $ANTLR start "T__253" - def mT__253(self, ): + # $ANTLR start "T__255" + def mT__255(self, ): try: - _type = T__253 + _type = T__255 _channel = DEFAULT_CHANNEL # sdl92.g:14:8: ( ':' ) @@ -536,14 +539,14 @@ def mT__253(self, ): finally: pass - # $ANTLR end "T__253" + # $ANTLR end "T__255" - # $ANTLR start "T__254" - def mT__254(self, ): + # $ANTLR start "T__256" + def mT__256(self, ): try: - _type = T__254 + _type = T__256 _channel = DEFAULT_CHANNEL # sdl92.g:15:8: ( '_id' ) @@ -559,7 +562,7 @@ def mT__254(self, ): finally: pass - # $ANTLR end "T__254" + # $ANTLR end "T__256" @@ -569,8 +572,8 @@ def mALWAYS(self, ): _type = ALWAYS _channel = DEFAULT_CHANNEL - # sdl92.g:1640:17: ( A L W A Y S ) - # sdl92.g:1640:25: A L W A Y S + # sdl92.g:1668:17: ( A L W A Y S ) + # sdl92.g:1668:25: A L W A Y S pass self.mA() @@ -607,8 +610,8 @@ def mNEVER(self, ): _type = NEVER _channel = DEFAULT_CHANNEL - # sdl92.g:1641:17: ( N E V E R ) - # sdl92.g:1641:25: N E V E R + # sdl92.g:1669:17: ( N E V E R ) + # sdl92.g:1669:25: N E V E R pass self.mN() @@ -642,8 +645,8 @@ def mEVENTUALLY(self, ): _type = EVENTUALLY _channel = DEFAULT_CHANNEL - # sdl92.g:1642:17: ( E V E N T U A L L Y ) - # sdl92.g:1642:25: E V E N T U A L L Y + # sdl92.g:1670:17: ( E V E N T U A L L Y ) + # sdl92.g:1670:25: E V E N T U A L L Y pass self.mE() @@ -692,8 +695,8 @@ def mFILTER_OUT(self, ): _type = FILTER_OUT _channel = DEFAULT_CHANNEL - # sdl92.g:1643:17: ( F I L T E R '_' O U T ) - # sdl92.g:1643:25: F I L T E R '_' O U T + # sdl92.g:1671:17: ( F I L T E R '_' O U T ) + # sdl92.g:1671:25: F I L T E R '_' O U T pass self.mF() @@ -741,8 +744,8 @@ def mASSIG_OP(self, ): _type = ASSIG_OP _channel = DEFAULT_CHANNEL - # sdl92.g:1691:17: ( ':=' ) - # sdl92.g:1691:25: ':=' + # sdl92.g:1719:17: ( ':=' ) + # sdl92.g:1719:25: ':=' pass self.match(":=") @@ -764,8 +767,8 @@ def mL_BRACKET(self, ): _type = L_BRACKET _channel = DEFAULT_CHANNEL - # sdl92.g:1692:17: ( '{' ) - # sdl92.g:1692:25: '{' + # sdl92.g:1720:17: ( '{' ) + # sdl92.g:1720:25: '{' pass self.match(123) @@ -786,8 +789,8 @@ def mR_BRACKET(self, ): _type = R_BRACKET _channel = DEFAULT_CHANNEL - # sdl92.g:1693:17: ( '}' ) - # sdl92.g:1693:25: '}' + # sdl92.g:1721:17: ( '}' ) + # sdl92.g:1721:25: '}' pass self.match(125) @@ -808,8 +811,8 @@ def mL_PAREN(self, ): _type = L_PAREN _channel = DEFAULT_CHANNEL - # sdl92.g:1694:17: ( '(' ) - # sdl92.g:1694:25: '(' + # sdl92.g:1722:17: ( '(' ) + # sdl92.g:1722:25: '(' pass self.match(40) @@ -830,8 +833,8 @@ def mR_PAREN(self, ): _type = R_PAREN _channel = DEFAULT_CHANNEL - # sdl92.g:1695:17: ( ')' ) - # sdl92.g:1695:25: ')' + # sdl92.g:1723:17: ( ')' ) + # sdl92.g:1723:25: ')' pass self.match(41) @@ -852,8 +855,8 @@ def mCOMMA(self, ): _type = COMMA _channel = DEFAULT_CHANNEL - # sdl92.g:1696:17: ( ',' ) - # sdl92.g:1696:25: ',' + # sdl92.g:1724:17: ( ',' ) + # sdl92.g:1724:25: ',' pass self.match(44) @@ -874,8 +877,8 @@ def mSEMI(self, ): _type = SEMI _channel = DEFAULT_CHANNEL - # sdl92.g:1697:17: ( ';' ) - # sdl92.g:1697:25: ';' + # sdl92.g:1725:17: ( ';' ) + # sdl92.g:1725:25: ';' pass self.match(59) @@ -896,8 +899,8 @@ def mDASH(self, ): _type = DASH _channel = DEFAULT_CHANNEL - # sdl92.g:1698:17: ( '-' ) - # sdl92.g:1698:25: '-' + # sdl92.g:1726:17: ( '-' ) + # sdl92.g:1726:25: '-' pass self.match(45) @@ -918,8 +921,8 @@ def mANY(self, ): _type = ANY _channel = DEFAULT_CHANNEL - # sdl92.g:1699:17: ( A N Y ) - # sdl92.g:1699:25: A N Y + # sdl92.g:1727:17: ( A N Y ) + # sdl92.g:1727:25: A N Y pass self.mA() @@ -947,8 +950,8 @@ def mASTERISK(self, ): _type = ASTERISK _channel = DEFAULT_CHANNEL - # sdl92.g:1700:17: ( '*' ) - # sdl92.g:1700:25: '*' + # sdl92.g:1728:17: ( '*' ) + # sdl92.g:1728:25: '*' pass self.match(42) @@ -969,8 +972,8 @@ def mDCL(self, ): _type = DCL _channel = DEFAULT_CHANNEL - # sdl92.g:1701:17: ( D C L ) - # sdl92.g:1701:25: D C L + # sdl92.g:1729:17: ( D C L ) + # sdl92.g:1729:25: D C L pass self.mD() @@ -998,8 +1001,8 @@ def mRENAMES(self, ): _type = RENAMES _channel = DEFAULT_CHANNEL - # sdl92.g:1702:17: ( R E N A M E S ) - # sdl92.g:1702:25: R E N A M E S + # sdl92.g:1730:17: ( R E N A M E S ) + # sdl92.g:1730:25: R E N A M E S pass self.mR() @@ -1039,8 +1042,8 @@ def mMONITOR(self, ): _type = MONITOR _channel = DEFAULT_CHANNEL - # sdl92.g:1703:17: ( M O N I T O R ) - # sdl92.g:1703:25: M O N I T O R + # sdl92.g:1731:17: ( M O N I T O R ) + # sdl92.g:1731:25: M O N I T O R pass self.mM() @@ -1080,8 +1083,8 @@ def mEND(self, ): _type = END _channel = DEFAULT_CHANNEL - # sdl92.g:1704:17: ( E N D ) - # sdl92.g:1704:25: E N D + # sdl92.g:1732:17: ( E N D ) + # sdl92.g:1732:25: E N D pass self.mE() @@ -1109,8 +1112,8 @@ def mKEEP(self, ): _type = KEEP _channel = DEFAULT_CHANNEL - # sdl92.g:1705:17: ( K E E P ) - # sdl92.g:1705:25: K E E P + # sdl92.g:1733:17: ( K E E P ) + # sdl92.g:1733:25: K E E P pass self.mK() @@ -1141,8 +1144,8 @@ def mPARAMNAMES(self, ): _type = PARAMNAMES _channel = DEFAULT_CHANNEL - # sdl92.g:1706:17: ( P A R A M N A M E S ) - # sdl92.g:1706:25: P A R A M N A M E S + # sdl92.g:1734:17: ( P A R A M N A M E S ) + # sdl92.g:1734:25: P A R A M N A M E S pass self.mP() @@ -1191,8 +1194,8 @@ def mSPECIFIC(self, ): _type = SPECIFIC _channel = DEFAULT_CHANNEL - # sdl92.g:1707:17: ( S P E C I F I C ) - # sdl92.g:1707:25: S P E C I F I C + # sdl92.g:1735:17: ( S P E C I F I C ) + # sdl92.g:1735:25: S P E C I F I C pass self.mS() @@ -1235,8 +1238,8 @@ def mGEODE(self, ): _type = GEODE _channel = DEFAULT_CHANNEL - # sdl92.g:1708:17: ( G E O D E ) - # sdl92.g:1708:25: G E O D E + # sdl92.g:1736:17: ( G E O D E ) + # sdl92.g:1736:25: G E O D E pass self.mG() @@ -1270,8 +1273,8 @@ def mHYPERLINK(self, ): _type = HYPERLINK _channel = DEFAULT_CHANNEL - # sdl92.g:1709:17: ( H Y P E R L I N K ) - # sdl92.g:1709:25: H Y P E R L I N K + # sdl92.g:1737:17: ( H Y P E R L I N K ) + # sdl92.g:1737:25: H Y P E R L I N K pass self.mH() @@ -1311,14 +1314,108 @@ def mHYPERLINK(self, ): + # $ANTLR start "REQ_SERVER" + def mREQ_SERVER(self, ): + try: + _type = REQ_SERVER + _channel = DEFAULT_CHANNEL + + # sdl92.g:1738:17: ( R E Q S E R V E R ) + # sdl92.g:1738:25: R E Q S E R V E R + pass + self.mR() + + + self.mE() + + + self.mQ() + + + self.mS() + + + self.mE() + + + self.mR() + + + self.mV() + + + self.mE() + + + self.mR() + + + + + self._state.type = _type + self._state.channel = _channel + finally: + pass + + # $ANTLR end "REQ_SERVER" + + + + # $ANTLR start "RID_SERVER" + def mRID_SERVER(self, ): + try: + _type = RID_SERVER + _channel = DEFAULT_CHANNEL + + # sdl92.g:1739:17: ( R I D S E R V E R ) + # sdl92.g:1739:25: R I D S E R V E R + pass + self.mR() + + + self.mI() + + + self.mD() + + + self.mS() + + + self.mE() + + + self.mR() + + + self.mV() + + + self.mE() + + + self.mR() + + + + + self._state.type = _type + self._state.channel = _channel + finally: + pass + + # $ANTLR end "RID_SERVER" + + + # $ANTLR start "PARTITION" def mPARTITION(self, ): try: _type = PARTITION _channel = DEFAULT_CHANNEL - # sdl92.g:1710:17: ( P A R T I T I O N ) - # sdl92.g:1710:25: P A R T I T I O N + # sdl92.g:1740:17: ( P A R T I T I O N ) + # sdl92.g:1740:25: P A R T I T I O N pass self.mP() @@ -1364,8 +1461,8 @@ def mMKSTRING(self, ): _type = MKSTRING _channel = DEFAULT_CHANNEL - # sdl92.g:1711:17: ( M K S T R I N G ) - # sdl92.g:1711:25: M K S T R I N G + # sdl92.g:1741:17: ( M K S T R I N G ) + # sdl92.g:1741:25: M K S T R I N G pass self.mM() @@ -1408,8 +1505,8 @@ def mENDTEXT(self, ): _type = ENDTEXT _channel = DEFAULT_CHANNEL - # sdl92.g:1712:17: ( E N D T E X T ) - # sdl92.g:1712:25: E N D T E X T + # sdl92.g:1742:17: ( E N D T E X T ) + # sdl92.g:1742:25: E N D T E X T pass self.mE() @@ -1449,8 +1546,8 @@ def mRETURN(self, ): _type = RETURN _channel = DEFAULT_CHANNEL - # sdl92.g:1713:17: ( R E T U R N ) - # sdl92.g:1713:25: R E T U R N + # sdl92.g:1743:17: ( R E T U R N ) + # sdl92.g:1743:25: R E T U R N pass self.mR() @@ -1487,8 +1584,8 @@ def mRETURNS(self, ): _type = RETURNS _channel = DEFAULT_CHANNEL - # sdl92.g:1714:17: ( R E T U R N S ) - # sdl92.g:1714:25: R E T U R N S + # sdl92.g:1744:17: ( R E T U R N S ) + # sdl92.g:1744:25: R E T U R N S pass self.mR() @@ -1528,8 +1625,8 @@ def mTIMER(self, ): _type = TIMER _channel = DEFAULT_CHANNEL - # sdl92.g:1715:17: ( T I M E R ) - # sdl92.g:1715:25: T I M E R + # sdl92.g:1745:17: ( T I M E R ) + # sdl92.g:1745:25: T I M E R pass self.mT() @@ -1563,8 +1660,8 @@ def mPROCESS(self, ): _type = PROCESS _channel = DEFAULT_CHANNEL - # sdl92.g:1716:17: ( P R O C E S S ) - # sdl92.g:1716:25: P R O C E S S + # sdl92.g:1746:17: ( P R O C E S S ) + # sdl92.g:1746:25: P R O C E S S pass self.mP() @@ -1604,8 +1701,8 @@ def mTYPE(self, ): _type = TYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1717:17: ( T Y P E ) - # sdl92.g:1717:25: T Y P E + # sdl92.g:1747:17: ( T Y P E ) + # sdl92.g:1747:25: T Y P E pass self.mT() @@ -1636,8 +1733,8 @@ def mENDPROCESS(self, ): _type = ENDPROCESS _channel = DEFAULT_CHANNEL - # sdl92.g:1718:17: ( E N D P R O C E S S ) - # sdl92.g:1718:25: E N D P R O C E S S + # sdl92.g:1748:17: ( E N D P R O C E S S ) + # sdl92.g:1748:25: E N D P R O C E S S pass self.mE() @@ -1686,8 +1783,8 @@ def mSTART(self, ): _type = START _channel = DEFAULT_CHANNEL - # sdl92.g:1719:17: ( S T A R T ) - # sdl92.g:1719:25: S T A R T + # sdl92.g:1749:17: ( S T A R T ) + # sdl92.g:1749:25: S T A R T pass self.mS() @@ -1721,8 +1818,8 @@ def mSTATE(self, ): _type = STATE _channel = DEFAULT_CHANNEL - # sdl92.g:1720:17: ( S T A T E ) - # sdl92.g:1720:25: S T A T E + # sdl92.g:1750:17: ( S T A T E ) + # sdl92.g:1750:25: S T A T E pass self.mS() @@ -1756,8 +1853,8 @@ def mTEXT(self, ): _type = TEXT _channel = DEFAULT_CHANNEL - # sdl92.g:1721:17: ( T E X T ) - # sdl92.g:1721:25: T E X T + # sdl92.g:1751:17: ( T E X T ) + # sdl92.g:1751:25: T E X T pass self.mT() @@ -1788,8 +1885,8 @@ def mPROCEDURE(self, ): _type = PROCEDURE _channel = DEFAULT_CHANNEL - # sdl92.g:1722:17: ( P R O C E D U R E ) - # sdl92.g:1722:25: P R O C E D U R E + # sdl92.g:1752:17: ( P R O C E D U R E ) + # sdl92.g:1752:25: P R O C E D U R E pass self.mP() @@ -1835,8 +1932,8 @@ def mENDPROCEDURE(self, ): _type = ENDPROCEDURE _channel = DEFAULT_CHANNEL - # sdl92.g:1723:17: ( E N D P R O C E D U R E ) - # sdl92.g:1723:25: E N D P R O C E D U R E + # sdl92.g:1753:17: ( E N D P R O C E D U R E ) + # sdl92.g:1753:25: E N D P R O C E D U R E pass self.mE() @@ -1891,8 +1988,8 @@ def mPROCEDURE_CALL(self, ): _type = PROCEDURE_CALL _channel = DEFAULT_CHANNEL - # sdl92.g:1724:17: ( P R O C E D U R E C A L L ) - # sdl92.g:1724:25: P R O C E D U R E C A L L + # sdl92.g:1754:17: ( P R O C E D U R E C A L L ) + # sdl92.g:1754:25: P R O C E D U R E C A L L pass self.mP() @@ -1950,8 +2047,8 @@ def mENDSTATE(self, ): _type = ENDSTATE _channel = DEFAULT_CHANNEL - # sdl92.g:1725:17: ( E N D S T A T E ) - # sdl92.g:1725:25: E N D S T A T E + # sdl92.g:1755:17: ( E N D S T A T E ) + # sdl92.g:1755:25: E N D S T A T E pass self.mE() @@ -1994,8 +2091,8 @@ def mINPUT(self, ): _type = INPUT _channel = DEFAULT_CHANNEL - # sdl92.g:1726:17: ( I N P U T ) - # sdl92.g:1726:25: I N P U T + # sdl92.g:1756:17: ( I N P U T ) + # sdl92.g:1756:25: I N P U T pass self.mI() @@ -2029,8 +2126,8 @@ def mPROVIDED(self, ): _type = PROVIDED _channel = DEFAULT_CHANNEL - # sdl92.g:1727:17: ( P R O V I D E D ) - # sdl92.g:1727:25: P R O V I D E D + # sdl92.g:1757:17: ( P R O V I D E D ) + # sdl92.g:1757:25: P R O V I D E D pass self.mP() @@ -2073,8 +2170,8 @@ def mPRIORITY(self, ): _type = PRIORITY _channel = DEFAULT_CHANNEL - # sdl92.g:1728:17: ( P R I O R I T Y ) - # sdl92.g:1728:25: P R I O R I T Y + # sdl92.g:1758:17: ( P R I O R I T Y ) + # sdl92.g:1758:25: P R I O R I T Y pass self.mP() @@ -2117,8 +2214,8 @@ def mSAVE(self, ): _type = SAVE _channel = DEFAULT_CHANNEL - # sdl92.g:1729:17: ( S A V E ) - # sdl92.g:1729:25: S A V E + # sdl92.g:1759:17: ( S A V E ) + # sdl92.g:1759:25: S A V E pass self.mS() @@ -2149,8 +2246,8 @@ def mNONE(self, ): _type = NONE _channel = DEFAULT_CHANNEL - # sdl92.g:1730:17: ( N O N E ) - # sdl92.g:1730:25: N O N E + # sdl92.g:1760:17: ( N O N E ) + # sdl92.g:1760:25: N O N E pass self.mN() @@ -2181,8 +2278,8 @@ def mFOR(self, ): _type = FOR _channel = DEFAULT_CHANNEL - # sdl92.g:1737:17: ( F O R ) - # sdl92.g:1737:25: F O R + # sdl92.g:1767:17: ( F O R ) + # sdl92.g:1767:25: F O R pass self.mF() @@ -2210,8 +2307,8 @@ def mENDFOR(self, ): _type = ENDFOR _channel = DEFAULT_CHANNEL - # sdl92.g:1738:17: ( E N D F O R ) - # sdl92.g:1738:25: E N D F O R + # sdl92.g:1768:17: ( E N D F O R ) + # sdl92.g:1768:25: E N D F O R pass self.mE() @@ -2248,8 +2345,8 @@ def mRANGE(self, ): _type = RANGE _channel = DEFAULT_CHANNEL - # sdl92.g:1739:17: ( R A N G E ) - # sdl92.g:1739:25: R A N G E + # sdl92.g:1769:17: ( R A N G E ) + # sdl92.g:1769:25: R A N G E pass self.mR() @@ -2283,8 +2380,8 @@ def mNEXTSTATE(self, ): _type = NEXTSTATE _channel = DEFAULT_CHANNEL - # sdl92.g:1740:17: ( N E X T S T A T E ) - # sdl92.g:1740:25: N E X T S T A T E + # sdl92.g:1770:17: ( N E X T S T A T E ) + # sdl92.g:1770:25: N E X T S T A T E pass self.mN() @@ -2330,8 +2427,8 @@ def mANSWER(self, ): _type = ANSWER _channel = DEFAULT_CHANNEL - # sdl92.g:1741:17: ( A N S W E R ) - # sdl92.g:1741:25: A N S W E R + # sdl92.g:1771:17: ( A N S W E R ) + # sdl92.g:1771:25: A N S W E R pass self.mA() @@ -2368,8 +2465,8 @@ def mCOMMENT(self, ): _type = COMMENT _channel = DEFAULT_CHANNEL - # sdl92.g:1742:17: ( C O M M E N T ) - # sdl92.g:1742:25: C O M M E N T + # sdl92.g:1772:17: ( C O M M E N T ) + # sdl92.g:1772:25: C O M M E N T pass self.mC() @@ -2409,8 +2506,8 @@ def mLABEL(self, ): _type = LABEL _channel = DEFAULT_CHANNEL - # sdl92.g:1743:17: ( L A B E L ) - # sdl92.g:1743:25: L A B E L + # sdl92.g:1773:17: ( L A B E L ) + # sdl92.g:1773:25: L A B E L pass self.mL() @@ -2444,8 +2541,8 @@ def mSTOP(self, ): _type = STOP _channel = DEFAULT_CHANNEL - # sdl92.g:1744:17: ( S T O P ) - # sdl92.g:1744:25: S T O P + # sdl92.g:1774:17: ( S T O P ) + # sdl92.g:1774:25: S T O P pass self.mS() @@ -2476,8 +2573,8 @@ def mIF(self, ): _type = IF _channel = DEFAULT_CHANNEL - # sdl92.g:1745:17: ( I F ) - # sdl92.g:1745:25: I F + # sdl92.g:1775:17: ( I F ) + # sdl92.g:1775:25: I F pass self.mI() @@ -2502,8 +2599,8 @@ def mTHEN(self, ): _type = THEN _channel = DEFAULT_CHANNEL - # sdl92.g:1746:17: ( T H E N ) - # sdl92.g:1746:25: T H E N + # sdl92.g:1776:17: ( T H E N ) + # sdl92.g:1776:25: T H E N pass self.mT() @@ -2534,8 +2631,8 @@ def mELSE(self, ): _type = ELSE _channel = DEFAULT_CHANNEL - # sdl92.g:1747:17: ( E L S E ) - # sdl92.g:1747:25: E L S E + # sdl92.g:1777:17: ( E L S E ) + # sdl92.g:1777:25: E L S E pass self.mE() @@ -2566,8 +2663,8 @@ def mFI(self, ): _type = FI _channel = DEFAULT_CHANNEL - # sdl92.g:1748:17: ( F I ) - # sdl92.g:1748:25: F I + # sdl92.g:1778:17: ( F I ) + # sdl92.g:1778:25: F I pass self.mF() @@ -2592,8 +2689,8 @@ def mCREATE(self, ): _type = CREATE _channel = DEFAULT_CHANNEL - # sdl92.g:1749:17: ( C R E A T E ) - # sdl92.g:1749:25: C R E A T E + # sdl92.g:1779:17: ( C R E A T E ) + # sdl92.g:1779:25: C R E A T E pass self.mC() @@ -2630,8 +2727,8 @@ def mOUTPUT(self, ): _type = OUTPUT _channel = DEFAULT_CHANNEL - # sdl92.g:1750:17: ( O U T P U T ) - # sdl92.g:1750:25: O U T P U T + # sdl92.g:1780:17: ( O U T P U T ) + # sdl92.g:1780:25: O U T P U T pass self.mO() @@ -2668,8 +2765,8 @@ def mCALL(self, ): _type = CALL _channel = DEFAULT_CHANNEL - # sdl92.g:1751:17: ( C A L L ) - # sdl92.g:1751:25: C A L L + # sdl92.g:1781:17: ( C A L L ) + # sdl92.g:1781:25: C A L L pass self.mC() @@ -2700,8 +2797,8 @@ def mTHIS(self, ): _type = THIS _channel = DEFAULT_CHANNEL - # sdl92.g:1752:17: ( T H I S ) - # sdl92.g:1752:25: T H I S + # sdl92.g:1782:17: ( T H I S ) + # sdl92.g:1782:25: T H I S pass self.mT() @@ -2732,8 +2829,8 @@ def mENDALTERNATIVE(self, ): _type = ENDALTERNATIVE _channel = DEFAULT_CHANNEL - # sdl92.g:1755:17: ( E N D A L T E R N A T I V E ) - # sdl92.g:1755:25: E N D A L T E R N A T I V E + # sdl92.g:1785:17: ( E N D A L T E R N A T I V E ) + # sdl92.g:1785:25: E N D A L T E R N A T I V E pass self.mE() @@ -2794,8 +2891,8 @@ def mALTERNATIVE(self, ): _type = ALTERNATIVE _channel = DEFAULT_CHANNEL - # sdl92.g:1756:17: ( A L T E R N A T I V E ) - # sdl92.g:1756:25: A L T E R N A T I V E + # sdl92.g:1786:17: ( A L T E R N A T I V E ) + # sdl92.g:1786:25: A L T E R N A T I V E pass self.mA() @@ -2847,8 +2944,8 @@ def mDEFAULT(self, ): _type = DEFAULT _channel = DEFAULT_CHANNEL - # sdl92.g:1757:17: ( D E F A U L T ) - # sdl92.g:1757:25: D E F A U L T + # sdl92.g:1787:17: ( D E F A U L T ) + # sdl92.g:1787:25: D E F A U L T pass self.mD() @@ -2888,8 +2985,8 @@ def mDECISION(self, ): _type = DECISION _channel = DEFAULT_CHANNEL - # sdl92.g:1758:17: ( D E C I S I O N ) - # sdl92.g:1758:25: D E C I S I O N + # sdl92.g:1788:17: ( D E C I S I O N ) + # sdl92.g:1788:25: D E C I S I O N pass self.mD() @@ -2932,8 +3029,8 @@ def mENDDECISION(self, ): _type = ENDDECISION _channel = DEFAULT_CHANNEL - # sdl92.g:1759:17: ( E N D D E C I S I O N ) - # sdl92.g:1759:25: E N D D E C I S I O N + # sdl92.g:1789:17: ( E N D D E C I S I O N ) + # sdl92.g:1789:25: E N D D E C I S I O N pass self.mE() @@ -2985,8 +3082,8 @@ def mEXPORT(self, ): _type = EXPORT _channel = DEFAULT_CHANNEL - # sdl92.g:1760:17: ( E X P O R T ) - # sdl92.g:1760:25: E X P O R T + # sdl92.g:1790:17: ( E X P O R T ) + # sdl92.g:1790:25: E X P O R T pass self.mE() @@ -3023,8 +3120,8 @@ def mEXTERNAL(self, ): _type = EXTERNAL _channel = DEFAULT_CHANNEL - # sdl92.g:1761:17: ( E X T E R N A L ) - # sdl92.g:1761:25: E X T E R N A L + # sdl92.g:1791:17: ( E X T E R N A L ) + # sdl92.g:1791:25: E X T E R N A L pass self.mE() @@ -3067,8 +3164,8 @@ def mEXPORTED(self, ): _type = EXPORTED _channel = DEFAULT_CHANNEL - # sdl92.g:1762:17: ( E X P O R T E D ) - # sdl92.g:1762:25: E X P O R T E D + # sdl92.g:1792:17: ( E X P O R T E D ) + # sdl92.g:1792:25: E X P O R T E D pass self.mE() @@ -3111,8 +3208,8 @@ def mREFERENCED(self, ): _type = REFERENCED _channel = DEFAULT_CHANNEL - # sdl92.g:1763:17: ( R E F E R E N C E D ) - # sdl92.g:1763:25: R E F E R E N C E D + # sdl92.g:1793:17: ( R E F E R E N C E D ) + # sdl92.g:1793:25: R E F E R E N C E D pass self.mR() @@ -3161,8 +3258,8 @@ def mCONNECTION(self, ): _type = CONNECTION _channel = DEFAULT_CHANNEL - # sdl92.g:1764:17: ( C O N N E C T I O N ) - # sdl92.g:1764:25: C O N N E C T I O N + # sdl92.g:1794:17: ( C O N N E C T I O N ) + # sdl92.g:1794:25: C O N N E C T I O N pass self.mC() @@ -3211,8 +3308,8 @@ def mENDCONNECTION(self, ): _type = ENDCONNECTION _channel = DEFAULT_CHANNEL - # sdl92.g:1765:17: ( E N D C O N N E C T I O N ) - # sdl92.g:1765:25: E N D C O N N E C T I O N + # sdl92.g:1795:17: ( E N D C O N N E C T I O N ) + # sdl92.g:1795:25: E N D C O N N E C T I O N pass self.mE() @@ -3270,8 +3367,8 @@ def mFROM(self, ): _type = FROM _channel = DEFAULT_CHANNEL - # sdl92.g:1766:17: ( F R O M ) - # sdl92.g:1766:25: F R O M + # sdl92.g:1796:17: ( F R O M ) + # sdl92.g:1796:25: F R O M pass self.mF() @@ -3302,8 +3399,8 @@ def mTO(self, ): _type = TO _channel = DEFAULT_CHANNEL - # sdl92.g:1767:17: ( T O ) - # sdl92.g:1767:25: T O + # sdl92.g:1797:17: ( T O ) + # sdl92.g:1797:25: T O pass self.mT() @@ -3328,8 +3425,8 @@ def mWITH(self, ): _type = WITH _channel = DEFAULT_CHANNEL - # sdl92.g:1768:17: ( W I T H ) - # sdl92.g:1768:25: W I T H + # sdl92.g:1798:17: ( W I T H ) + # sdl92.g:1798:25: W I T H pass self.mW() @@ -3360,8 +3457,8 @@ def mVIA(self, ): _type = VIA _channel = DEFAULT_CHANNEL - # sdl92.g:1769:17: ( V I A ) - # sdl92.g:1769:25: V I A + # sdl92.g:1799:17: ( V I A ) + # sdl92.g:1799:25: V I A pass self.mV() @@ -3389,8 +3486,8 @@ def mALL(self, ): _type = ALL _channel = DEFAULT_CHANNEL - # sdl92.g:1770:17: ( A L L ) - # sdl92.g:1770:25: A L L + # sdl92.g:1800:17: ( A L L ) + # sdl92.g:1800:25: A L L pass self.mA() @@ -3418,8 +3515,8 @@ def mTASK(self, ): _type = TASK _channel = DEFAULT_CHANNEL - # sdl92.g:1771:17: ( T A S K ) - # sdl92.g:1771:25: T A S K + # sdl92.g:1801:17: ( T A S K ) + # sdl92.g:1801:25: T A S K pass self.mT() @@ -3450,8 +3547,8 @@ def mJOIN(self, ): _type = JOIN _channel = DEFAULT_CHANNEL - # sdl92.g:1772:17: ( J O I N ) - # sdl92.g:1772:25: J O I N + # sdl92.g:1802:17: ( J O I N ) + # sdl92.g:1802:25: J O I N pass self.mJ() @@ -3482,8 +3579,8 @@ def mPLUS(self, ): _type = PLUS _channel = DEFAULT_CHANNEL - # sdl92.g:1773:17: ( '+' ) - # sdl92.g:1773:25: '+' + # sdl92.g:1803:17: ( '+' ) + # sdl92.g:1803:25: '+' pass self.match(43) @@ -3504,8 +3601,8 @@ def mDOT(self, ): _type = DOT _channel = DEFAULT_CHANNEL - # sdl92.g:1774:17: ( '.' ) - # sdl92.g:1774:25: '.' + # sdl92.g:1804:17: ( '.' ) + # sdl92.g:1804:25: '.' pass self.match(46) @@ -3526,8 +3623,8 @@ def mAPPEND(self, ): _type = APPEND _channel = DEFAULT_CHANNEL - # sdl92.g:1775:17: ( '//' ) - # sdl92.g:1775:25: '//' + # sdl92.g:1805:17: ( '//' ) + # sdl92.g:1805:25: '//' pass self.match("//") @@ -3549,8 +3646,8 @@ def mIN(self, ): _type = IN _channel = DEFAULT_CHANNEL - # sdl92.g:1776:17: ( I N ) - # sdl92.g:1776:25: I N + # sdl92.g:1806:17: ( I N ) + # sdl92.g:1806:25: I N pass self.mI() @@ -3575,8 +3672,8 @@ def mOUT(self, ): _type = OUT _channel = DEFAULT_CHANNEL - # sdl92.g:1777:17: ( O U T ) - # sdl92.g:1777:25: O U T + # sdl92.g:1807:17: ( O U T ) + # sdl92.g:1807:25: O U T pass self.mO() @@ -3604,8 +3701,8 @@ def mINOUT(self, ): _type = INOUT _channel = DEFAULT_CHANNEL - # sdl92.g:1778:17: ( I N '/' O U T ) - # sdl92.g:1778:25: I N '/' O U T + # sdl92.g:1808:17: ( I N '/' O U T ) + # sdl92.g:1808:25: I N '/' O U T pass self.mI() @@ -3641,8 +3738,8 @@ def mAGGREGATION(self, ): _type = AGGREGATION _channel = DEFAULT_CHANNEL - # sdl92.g:1779:17: ( A G G R E G A T I O N ) - # sdl92.g:1779:25: A G G R E G A T I O N + # sdl92.g:1809:17: ( A G G R E G A T I O N ) + # sdl92.g:1809:25: A G G R E G A T I O N pass self.mA() @@ -3694,8 +3791,8 @@ def mSUBSTRUCTURE(self, ): _type = SUBSTRUCTURE _channel = DEFAULT_CHANNEL - # sdl92.g:1780:17: ( S U B S T R U C T U R E ) - # sdl92.g:1780:25: S U B S T R U C T U R E + # sdl92.g:1810:17: ( S U B S T R U C T U R E ) + # sdl92.g:1810:25: S U B S T R U C T U R E pass self.mS() @@ -3750,8 +3847,8 @@ def mENDSUBSTRUCTURE(self, ): _type = ENDSUBSTRUCTURE _channel = DEFAULT_CHANNEL - # sdl92.g:1781:17: ( E N D S U B S T R U C T U R E ) - # sdl92.g:1781:25: E N D S U B S T R U C T U R E + # sdl92.g:1811:17: ( E N D S U B S T R U C T U R E ) + # sdl92.g:1811:25: E N D S U B S T R U C T U R E pass self.mE() @@ -3815,8 +3912,8 @@ def mFPAR(self, ): _type = FPAR _channel = DEFAULT_CHANNEL - # sdl92.g:1782:17: ( F P A R ) - # sdl92.g:1782:25: F P A R + # sdl92.g:1812:17: ( F P A R ) + # sdl92.g:1812:25: F P A R pass self.mF() @@ -3847,8 +3944,8 @@ def mEQ(self, ): _type = EQ _channel = DEFAULT_CHANNEL - # sdl92.g:1783:17: ( '=' ) - # sdl92.g:1783:25: '=' + # sdl92.g:1813:17: ( '=' ) + # sdl92.g:1813:25: '=' pass self.match(61) @@ -3869,8 +3966,8 @@ def mNEQ(self, ): _type = NEQ _channel = DEFAULT_CHANNEL - # sdl92.g:1784:17: ( '/=' ) - # sdl92.g:1784:25: '/=' + # sdl92.g:1814:17: ( '/=' ) + # sdl92.g:1814:25: '/=' pass self.match("/=") @@ -3892,8 +3989,8 @@ def mGT(self, ): _type = GT _channel = DEFAULT_CHANNEL - # sdl92.g:1785:17: ( '>' ) - # sdl92.g:1785:25: '>' + # sdl92.g:1815:17: ( '>' ) + # sdl92.g:1815:25: '>' pass self.match(62) @@ -3914,8 +4011,8 @@ def mGE(self, ): _type = GE _channel = DEFAULT_CHANNEL - # sdl92.g:1786:17: ( '>=' ) - # sdl92.g:1786:25: '>=' + # sdl92.g:1816:17: ( '>=' ) + # sdl92.g:1816:25: '>=' pass self.match(">=") @@ -3937,8 +4034,8 @@ def mLT(self, ): _type = LT _channel = DEFAULT_CHANNEL - # sdl92.g:1787:17: ( '<' ) - # sdl92.g:1787:26: '<' + # sdl92.g:1817:17: ( '<' ) + # sdl92.g:1817:26: '<' pass self.match(60) @@ -3959,8 +4056,8 @@ def mLE(self, ): _type = LE _channel = DEFAULT_CHANNEL - # sdl92.g:1788:17: ( '<=' ) - # sdl92.g:1788:25: '<=' + # sdl92.g:1818:17: ( '<=' ) + # sdl92.g:1818:25: '<=' pass self.match("<=") @@ -3982,8 +4079,8 @@ def mNOT(self, ): _type = NOT _channel = DEFAULT_CHANNEL - # sdl92.g:1789:17: ( N O T ) - # sdl92.g:1789:25: N O T + # sdl92.g:1819:17: ( N O T ) + # sdl92.g:1819:25: N O T pass self.mN() @@ -4011,8 +4108,8 @@ def mOR(self, ): _type = OR _channel = DEFAULT_CHANNEL - # sdl92.g:1790:17: ( O R ) - # sdl92.g:1790:25: O R + # sdl92.g:1820:17: ( O R ) + # sdl92.g:1820:25: O R pass self.mO() @@ -4037,8 +4134,8 @@ def mXOR(self, ): _type = XOR _channel = DEFAULT_CHANNEL - # sdl92.g:1791:17: ( X O R ) - # sdl92.g:1791:25: X O R + # sdl92.g:1821:17: ( X O R ) + # sdl92.g:1821:25: X O R pass self.mX() @@ -4066,8 +4163,8 @@ def mAND(self, ): _type = AND _channel = DEFAULT_CHANNEL - # sdl92.g:1792:17: ( A N D ) - # sdl92.g:1792:25: A N D + # sdl92.g:1822:17: ( A N D ) + # sdl92.g:1822:25: A N D pass self.mA() @@ -4095,8 +4192,8 @@ def mIMPLIES(self, ): _type = IMPLIES _channel = DEFAULT_CHANNEL - # sdl92.g:1793:17: ( '=>' ) - # sdl92.g:1793:25: '=>' + # sdl92.g:1823:17: ( '=>' ) + # sdl92.g:1823:25: '=>' pass self.match("=>") @@ -4118,8 +4215,8 @@ def mDIV(self, ): _type = DIV _channel = DEFAULT_CHANNEL - # sdl92.g:1794:17: ( '/' ) - # sdl92.g:1794:25: '/' + # sdl92.g:1824:17: ( '/' ) + # sdl92.g:1824:25: '/' pass self.match(47) @@ -4140,8 +4237,8 @@ def mMOD(self, ): _type = MOD _channel = DEFAULT_CHANNEL - # sdl92.g:1795:17: ( M O D ) - # sdl92.g:1795:25: M O D + # sdl92.g:1825:17: ( M O D ) + # sdl92.g:1825:25: M O D pass self.mM() @@ -4169,8 +4266,8 @@ def mREM(self, ): _type = REM _channel = DEFAULT_CHANNEL - # sdl92.g:1796:17: ( R E M ) - # sdl92.g:1796:25: R E M + # sdl92.g:1826:17: ( R E M ) + # sdl92.g:1826:25: R E M pass self.mR() @@ -4198,8 +4295,8 @@ def mTRUE(self, ): _type = TRUE _channel = DEFAULT_CHANNEL - # sdl92.g:1797:17: ( T R U E ) - # sdl92.g:1797:25: T R U E + # sdl92.g:1827:17: ( T R U E ) + # sdl92.g:1827:25: T R U E pass self.mT() @@ -4230,8 +4327,8 @@ def mFALSE(self, ): _type = FALSE _channel = DEFAULT_CHANNEL - # sdl92.g:1798:17: ( F A L S E ) - # sdl92.g:1798:25: F A L S E + # sdl92.g:1828:17: ( F A L S E ) + # sdl92.g:1828:25: F A L S E pass self.mF() @@ -4265,8 +4362,8 @@ def mASNFILENAME(self, ): _type = ASNFILENAME _channel = DEFAULT_CHANNEL - # sdl92.g:1799:17: ( A S N F I L E N A M E ) - # sdl92.g:1799:25: A S N F I L E N A M E + # sdl92.g:1829:17: ( A S N F I L E N A M E ) + # sdl92.g:1829:25: A S N F I L E N A M E pass self.mA() @@ -4318,8 +4415,8 @@ def mPLUS_INFINITY(self, ): _type = PLUS_INFINITY _channel = DEFAULT_CHANNEL - # sdl92.g:1800:17: ( P L U S '-' I N F I N I T Y ) - # sdl92.g:1800:25: P L U S '-' I N F I N I T Y + # sdl92.g:1830:17: ( P L U S '-' I N F I N I T Y ) + # sdl92.g:1830:25: P L U S '-' I N F I N I T Y pass self.mP() @@ -4376,8 +4473,8 @@ def mMINUS_INFINITY(self, ): _type = MINUS_INFINITY _channel = DEFAULT_CHANNEL - # sdl92.g:1801:17: ( M I N U S '-' I N F I N I T Y ) - # sdl92.g:1801:25: M I N U S '-' I N F I N I T Y + # sdl92.g:1831:17: ( M I N U S '-' I N F I N I T Y ) + # sdl92.g:1831:25: M I N U S '-' I N F I N I T Y pass self.mM() @@ -4437,8 +4534,8 @@ def mMANTISSA(self, ): _type = MANTISSA _channel = DEFAULT_CHANNEL - # sdl92.g:1802:17: ( M A N T I S S A ) - # sdl92.g:1802:25: M A N T I S S A + # sdl92.g:1832:17: ( M A N T I S S A ) + # sdl92.g:1832:25: M A N T I S S A pass self.mM() @@ -4481,8 +4578,8 @@ def mEXPONENT(self, ): _type = EXPONENT _channel = DEFAULT_CHANNEL - # sdl92.g:1803:17: ( E X P O N E N T ) - # sdl92.g:1803:25: E X P O N E N T + # sdl92.g:1833:17: ( E X P O N E N T ) + # sdl92.g:1833:25: E X P O N E N T pass self.mE() @@ -4525,8 +4622,8 @@ def mBASE(self, ): _type = BASE _channel = DEFAULT_CHANNEL - # sdl92.g:1804:17: ( B A S E ) - # sdl92.g:1804:25: B A S E + # sdl92.g:1834:17: ( B A S E ) + # sdl92.g:1834:25: B A S E pass self.mB() @@ -4557,8 +4654,8 @@ def mSYSTEM(self, ): _type = SYSTEM _channel = DEFAULT_CHANNEL - # sdl92.g:1805:17: ( S Y S T E M ) - # sdl92.g:1805:25: S Y S T E M + # sdl92.g:1835:17: ( S Y S T E M ) + # sdl92.g:1835:25: S Y S T E M pass self.mS() @@ -4595,8 +4692,8 @@ def mENDSYSTEM(self, ): _type = ENDSYSTEM _channel = DEFAULT_CHANNEL - # sdl92.g:1806:17: ( E N D S Y S T E M ) - # sdl92.g:1806:25: E N D S Y S T E M + # sdl92.g:1836:17: ( E N D S Y S T E M ) + # sdl92.g:1836:25: E N D S Y S T E M pass self.mE() @@ -4642,8 +4739,8 @@ def mCHANNEL(self, ): _type = CHANNEL _channel = DEFAULT_CHANNEL - # sdl92.g:1807:17: ( C H A N N E L ) - # sdl92.g:1807:25: C H A N N E L + # sdl92.g:1837:17: ( C H A N N E L ) + # sdl92.g:1837:25: C H A N N E L pass self.mC() @@ -4683,8 +4780,8 @@ def mENDCHANNEL(self, ): _type = ENDCHANNEL _channel = DEFAULT_CHANNEL - # sdl92.g:1808:17: ( E N D C H A N N E L ) - # sdl92.g:1808:25: E N D C H A N N E L + # sdl92.g:1838:17: ( E N D C H A N N E L ) + # sdl92.g:1838:25: E N D C H A N N E L pass self.mE() @@ -4733,8 +4830,8 @@ def mUSE(self, ): _type = USE _channel = DEFAULT_CHANNEL - # sdl92.g:1809:17: ( U S E ) - # sdl92.g:1809:25: U S E + # sdl92.g:1839:17: ( U S E ) + # sdl92.g:1839:25: U S E pass self.mU() @@ -4762,8 +4859,8 @@ def mSIGNAL(self, ): _type = SIGNAL _channel = DEFAULT_CHANNEL - # sdl92.g:1810:17: ( S I G N A L ) - # sdl92.g:1810:25: S I G N A L + # sdl92.g:1840:17: ( S I G N A L ) + # sdl92.g:1840:25: S I G N A L pass self.mS() @@ -4800,8 +4897,8 @@ def mBLOCK(self, ): _type = BLOCK _channel = DEFAULT_CHANNEL - # sdl92.g:1811:17: ( B L O C K ) - # sdl92.g:1811:25: B L O C K + # sdl92.g:1841:17: ( B L O C K ) + # sdl92.g:1841:25: B L O C K pass self.mB() @@ -4835,8 +4932,8 @@ def mENDBLOCK(self, ): _type = ENDBLOCK _channel = DEFAULT_CHANNEL - # sdl92.g:1812:17: ( E N D B L O C K ) - # sdl92.g:1812:25: E N D B L O C K + # sdl92.g:1842:17: ( E N D B L O C K ) + # sdl92.g:1842:25: E N D B L O C K pass self.mE() @@ -4879,8 +4976,8 @@ def mSIGNALROUTE(self, ): _type = SIGNALROUTE _channel = DEFAULT_CHANNEL - # sdl92.g:1813:17: ( S I G N A L R O U T E ) - # sdl92.g:1813:25: S I G N A L R O U T E + # sdl92.g:1843:17: ( S I G N A L R O U T E ) + # sdl92.g:1843:25: S I G N A L R O U T E pass self.mS() @@ -4932,8 +5029,8 @@ def mCONNECT(self, ): _type = CONNECT _channel = DEFAULT_CHANNEL - # sdl92.g:1814:17: ( C O N N E C T ) - # sdl92.g:1814:25: C O N N E C T + # sdl92.g:1844:17: ( C O N N E C T ) + # sdl92.g:1844:25: C O N N E C T pass self.mC() @@ -4973,8 +5070,8 @@ def mSYNTYPE(self, ): _type = SYNTYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1815:17: ( S Y N T Y P E ) - # sdl92.g:1815:25: S Y N T Y P E + # sdl92.g:1845:17: ( S Y N T Y P E ) + # sdl92.g:1845:25: S Y N T Y P E pass self.mS() @@ -5014,8 +5111,8 @@ def mENDSYNTYPE(self, ): _type = ENDSYNTYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1816:17: ( E N D S Y N T Y P E ) - # sdl92.g:1816:25: E N D S Y N T Y P E + # sdl92.g:1846:17: ( E N D S Y N T Y P E ) + # sdl92.g:1846:25: E N D S Y N T Y P E pass self.mE() @@ -5064,8 +5161,8 @@ def mNEWTYPE(self, ): _type = NEWTYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1817:17: ( N E W T Y P E ) - # sdl92.g:1817:25: N E W T Y P E + # sdl92.g:1847:17: ( N E W T Y P E ) + # sdl92.g:1847:25: N E W T Y P E pass self.mN() @@ -5105,8 +5202,8 @@ def mENDNEWTYPE(self, ): _type = ENDNEWTYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1818:17: ( E N D N E W T Y P E ) - # sdl92.g:1818:25: E N D N E W T Y P E + # sdl92.g:1848:17: ( E N D N E W T Y P E ) + # sdl92.g:1848:25: E N D N E W T Y P E pass self.mE() @@ -5155,8 +5252,8 @@ def mARRAY(self, ): _type = ARRAY _channel = DEFAULT_CHANNEL - # sdl92.g:1819:17: ( A R R A Y ) - # sdl92.g:1819:25: A R R A Y + # sdl92.g:1849:17: ( A R R A Y ) + # sdl92.g:1849:25: A R R A Y pass self.mA() @@ -5190,8 +5287,8 @@ def mCONSTANTS(self, ): _type = CONSTANTS _channel = DEFAULT_CHANNEL - # sdl92.g:1820:17: ( C O N S T A N T S ) - # sdl92.g:1820:25: C O N S T A N T S + # sdl92.g:1850:17: ( C O N S T A N T S ) + # sdl92.g:1850:25: C O N S T A N T S pass self.mC() @@ -5237,8 +5334,8 @@ def mSTRUCT(self, ): _type = STRUCT _channel = DEFAULT_CHANNEL - # sdl92.g:1821:17: ( S T R U C T ) - # sdl92.g:1821:25: S T R U C T + # sdl92.g:1851:17: ( S T R U C T ) + # sdl92.g:1851:25: S T R U C T pass self.mS() @@ -5275,8 +5372,8 @@ def mLITERALS(self, ): _type = LITERALS _channel = DEFAULT_CHANNEL - # sdl92.g:1822:17: ( L I T E R A L S ) - # sdl92.g:1822:25: L I T E R A L S + # sdl92.g:1852:17: ( L I T E R A L S ) + # sdl92.g:1852:25: L I T E R A L S pass self.mL() @@ -5319,8 +5416,8 @@ def mSYNONYM(self, ): _type = SYNONYM _channel = DEFAULT_CHANNEL - # sdl92.g:1823:17: ( S Y N O N Y M ) - # sdl92.g:1823:25: S Y N O N Y M + # sdl92.g:1853:17: ( S Y N O N Y M ) + # sdl92.g:1853:25: S Y N O N Y M pass self.mS() @@ -5360,8 +5457,8 @@ def mIMPORT(self, ): _type = IMPORT _channel = DEFAULT_CHANNEL - # sdl92.g:1824:17: ( I M P O R T ) - # sdl92.g:1824:25: I M P O R T + # sdl92.g:1854:17: ( I M P O R T ) + # sdl92.g:1854:25: I M P O R T pass self.mI() @@ -5398,8 +5495,8 @@ def mVIEW(self, ): _type = VIEW _channel = DEFAULT_CHANNEL - # sdl92.g:1825:17: ( V I E W ) - # sdl92.g:1825:25: V I E W + # sdl92.g:1855:17: ( V I E W ) + # sdl92.g:1855:25: V I E W pass self.mV() @@ -5430,8 +5527,8 @@ def mACTIVE(self, ): _type = ACTIVE _channel = DEFAULT_CHANNEL - # sdl92.g:1826:17: ( A C T I V E ) - # sdl92.g:1826:25: A C T I V E + # sdl92.g:1856:17: ( A C T I V E ) + # sdl92.g:1856:25: A C T I V E pass self.mA() @@ -5468,8 +5565,8 @@ def mUNHANDLED(self, ): _type = UNHANDLED _channel = DEFAULT_CHANNEL - # sdl92.g:1827:17: ( U N H A N D L E D ) - # sdl92.g:1827:25: U N H A N D L E D + # sdl92.g:1857:17: ( U N H A N D L E D ) + # sdl92.g:1857:25: U N H A N D L E D pass self.mU() @@ -5515,8 +5612,8 @@ def mERRORSTATES(self, ): _type = ERRORSTATES _channel = DEFAULT_CHANNEL - # sdl92.g:1829:17: ( E R R O R S T A T E S ) - # sdl92.g:1829:25: E R R O R S T A T E S + # sdl92.g:1859:17: ( E R R O R S T A T E S ) + # sdl92.g:1859:25: E R R O R S T A T E S pass self.mE() @@ -5568,8 +5665,8 @@ def mIGNORESTATES(self, ): _type = IGNORESTATES _channel = DEFAULT_CHANNEL - # sdl92.g:1830:17: ( I G N O R E S T A T E S ) - # sdl92.g:1830:25: I G N O R E S T A T E S + # sdl92.g:1860:17: ( I G N O R E S T A T E S ) + # sdl92.g:1860:25: I G N O R E S T A T E S pass self.mI() @@ -5624,8 +5721,8 @@ def mSUCCESSSTATES(self, ): _type = SUCCESSSTATES _channel = DEFAULT_CHANNEL - # sdl92.g:1831:17: ( S U C C E S S S T A T E S ) - # sdl92.g:1831:25: S U C C E S S S T A T E S + # sdl92.g:1861:17: ( S U C C E S S S T A T E S ) + # sdl92.g:1861:25: S U C C E S S S T A T E S pass self.mS() @@ -5683,8 +5780,8 @@ def mREQ_ID(self, ): _type = REQ_ID _channel = DEFAULT_CHANNEL - # sdl92.g:1832:17: ( R E Q I D ) - # sdl92.g:1832:25: R E Q I D + # sdl92.g:1862:17: ( R E Q I D ) + # sdl92.g:1862:25: R E Q I D pass self.mR() @@ -5718,8 +5815,8 @@ def mRID_ID(self, ): _type = RID_ID _channel = DEFAULT_CHANNEL - # sdl92.g:1833:17: ( R I D I D ) - # sdl92.g:1833:25: R I D I D + # sdl92.g:1863:17: ( R I D I D ) + # sdl92.g:1863:25: R I D I D pass self.mR() @@ -5753,10 +5850,10 @@ def mSTRING(self, ): _type = STRING _channel = DEFAULT_CHANNEL - # sdl92.g:1837:9: ( ( STR )+ ( B | H )? ) - # sdl92.g:1837:17: ( STR )+ ( B | H )? + # sdl92.g:1867:9: ( ( STR )+ ( B | H )? ) + # sdl92.g:1867:17: ( STR )+ ( B | H )? pass - # sdl92.g:1837:17: ( STR )+ + # sdl92.g:1867:17: ( STR )+ cnt1 = 0 while True: #loop1 alt1 = 2 @@ -5767,7 +5864,7 @@ def mSTRING(self, ): if alt1 == 1: - # sdl92.g:1837:17: STR + # sdl92.g:1867:17: STR pass self.mSTR() @@ -5783,7 +5880,7 @@ def mSTRING(self, ): cnt1 += 1 - # sdl92.g:1837:22: ( B | H )? + # sdl92.g:1867:22: ( B | H )? alt2 = 2 LA2_0 = self.input.LA(1) @@ -5818,7 +5915,7 @@ def mSTRING(self, ): # $ANTLR start "STR" def mSTR(self, ): try: - # sdl92.g:1846:9: ( '\\'' ( ESC1 |~ ( '\\\\' | '\\'' ) )* '\\'' | '\"' ( ESC2 |~ ( '\\\\' | '\"' ) )* '\"' ) + # sdl92.g:1876:9: ( '\\'' ( ESC1 |~ ( '\\\\' | '\\'' ) )* '\\'' | '\"' ( ESC2 |~ ( '\\\\' | '\"' ) )* '\"' ) alt5 = 2 LA5_0 = self.input.LA(1) @@ -5833,11 +5930,11 @@ def mSTR(self, ): if alt5 == 1: - # sdl92.g:1846:17: '\\'' ( ESC1 |~ ( '\\\\' | '\\'' ) )* '\\'' + # sdl92.g:1876:17: '\\'' ( ESC1 |~ ( '\\\\' | '\\'' ) )* '\\'' pass self.match(39) - # sdl92.g:1846:22: ( ESC1 |~ ( '\\\\' | '\\'' ) )* + # sdl92.g:1876:22: ( ESC1 |~ ( '\\\\' | '\\'' ) )* while True: #loop3 alt3 = 3 LA3_0 = self.input.LA(1) @@ -5849,14 +5946,14 @@ def mSTR(self, ): if alt3 == 1: - # sdl92.g:1846:23: ESC1 + # sdl92.g:1876:23: ESC1 pass self.mESC1() elif alt3 == 2: - # sdl92.g:1846:30: ~ ( '\\\\' | '\\'' ) + # sdl92.g:1876:30: ~ ( '\\\\' | '\\'' ) pass if (0 <= self.input.LA(1) <= 38) or (40 <= self.input.LA(1) <= 91) or (93 <= self.input.LA(1) <= 65535) or self.input.LA(1) in {}: self.input.consume() @@ -5876,11 +5973,11 @@ def mSTR(self, ): elif alt5 == 2: - # sdl92.g:1847:17: '\"' ( ESC2 |~ ( '\\\\' | '\"' ) )* '\"' + # sdl92.g:1877:17: '\"' ( ESC2 |~ ( '\\\\' | '\"' ) )* '\"' pass self.match(34) - # sdl92.g:1847:21: ( ESC2 |~ ( '\\\\' | '\"' ) )* + # sdl92.g:1877:21: ( ESC2 |~ ( '\\\\' | '\"' ) )* while True: #loop4 alt4 = 3 LA4_0 = self.input.LA(1) @@ -5892,14 +5989,14 @@ def mSTR(self, ): if alt4 == 1: - # sdl92.g:1847:22: ESC2 + # sdl92.g:1877:22: ESC2 pass self.mESC2() elif alt4 == 2: - # sdl92.g:1847:29: ~ ( '\\\\' | '\"' ) + # sdl92.g:1877:29: ~ ( '\\\\' | '\"' ) pass if (0 <= self.input.LA(1) <= 33) or (35 <= self.input.LA(1) <= 91) or (93 <= self.input.LA(1) <= 65535) or self.input.LA(1) in {}: self.input.consume() @@ -5929,12 +6026,12 @@ def mSTR(self, ): # $ANTLR start "ESC1" def mESC1(self, ): try: - # sdl92.g:1853:9: ( '\\\\' (| '\\'' | '\\\\' ) ) - # sdl92.g:1853:11: '\\\\' (| '\\'' | '\\\\' ) + # sdl92.g:1883:9: ( '\\\\' (| '\\'' | '\\\\' ) ) + # sdl92.g:1883:11: '\\\\' (| '\\'' | '\\\\' ) pass self.match(92) - # sdl92.g:1854:9: (| '\\'' | '\\\\' ) + # sdl92.g:1884:9: (| '\\'' | '\\\\' ) alt6 = 3 LA6 = self.input.LA(1) if LA6 in {39}: @@ -5945,17 +6042,17 @@ def mESC1(self, ): alt6 = 1 if alt6 == 1: - # sdl92.g:1855:9: + # sdl92.g:1885:9: pass elif alt6 == 2: - # sdl92.g:1855:11: '\\'' + # sdl92.g:1885:11: '\\'' pass self.match(39) elif alt6 == 3: - # sdl92.g:1856:11: '\\\\' + # sdl92.g:1886:11: '\\\\' pass self.match(92) @@ -5975,12 +6072,12 @@ def mESC1(self, ): # $ANTLR start "ESC2" def mESC2(self, ): try: - # sdl92.g:1861:9: ( '\\\\' (| '\"' | '\\\\' ) ) - # sdl92.g:1861:11: '\\\\' (| '\"' | '\\\\' ) + # sdl92.g:1891:9: ( '\\\\' (| '\"' | '\\\\' ) ) + # sdl92.g:1891:11: '\\\\' (| '\"' | '\\\\' ) pass self.match(92) - # sdl92.g:1862:9: (| '\"' | '\\\\' ) + # sdl92.g:1892:9: (| '\"' | '\\\\' ) alt7 = 3 LA7 = self.input.LA(1) if LA7 in {34}: @@ -5991,17 +6088,17 @@ def mESC2(self, ): alt7 = 1 if alt7 == 1: - # sdl92.g:1863:9: + # sdl92.g:1893:9: pass elif alt7 == 2: - # sdl92.g:1863:11: '\"' + # sdl92.g:1893:11: '\"' pass self.match(34) elif alt7 == 3: - # sdl92.g:1864:11: '\\\\' + # sdl92.g:1894:11: '\\\\' pass self.match(92) @@ -6024,13 +6121,13 @@ def mID(self, ): _type = ID _channel = DEFAULT_CHANNEL - # sdl92.g:1868:9: ( ALPHA ( ALPHA | DIGITS | '_' )* ) - # sdl92.g:1868:17: ALPHA ( ALPHA | DIGITS | '_' )* + # sdl92.g:1898:9: ( ALPHA ( ALPHA | DIGITS | '_' )* ) + # sdl92.g:1898:17: ALPHA ( ALPHA | DIGITS | '_' )* pass self.mALPHA() - # sdl92.g:1868:23: ( ALPHA | DIGITS | '_' )* + # sdl92.g:1898:23: ( ALPHA | DIGITS | '_' )* while True: #loop8 alt8 = 4 LA8 = self.input.LA(1) @@ -6042,21 +6139,21 @@ def mID(self, ): alt8 = 3 if alt8 == 1: - # sdl92.g:1868:24: ALPHA + # sdl92.g:1898:24: ALPHA pass self.mALPHA() elif alt8 == 2: - # sdl92.g:1868:32: DIGITS + # sdl92.g:1898:32: DIGITS pass self.mDIGITS() elif alt8 == 3: - # sdl92.g:1868:41: '_' + # sdl92.g:1898:41: '_' pass self.match(95) @@ -6079,7 +6176,7 @@ def mID(self, ): # $ANTLR start "ALPHA" def mALPHA(self, ): try: - # sdl92.g:1875:9: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) ) + # sdl92.g:1905:9: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) ) # sdl92.g: pass if (65 <= self.input.LA(1) <= 90) or (97 <= self.input.LA(1) <= 122) or self.input.LA(1) in {}: @@ -6107,7 +6204,7 @@ def mINT(self, ): _type = INT _channel = DEFAULT_CHANNEL - # sdl92.g:1880:9: ( '0' | ( '1' .. '9' ) ( '0' .. '9' )* ) + # sdl92.g:1910:9: ( '0' | ( '1' .. '9' ) ( '0' .. '9' )* ) alt10 = 2 LA10_0 = self.input.LA(1) @@ -6122,13 +6219,13 @@ def mINT(self, ): if alt10 == 1: - # sdl92.g:1880:18: '0' + # sdl92.g:1910:18: '0' pass self.match(48) elif alt10 == 2: - # sdl92.g:1880:24: ( '1' .. '9' ) ( '0' .. '9' )* + # sdl92.g:1910:24: ( '1' .. '9' ) ( '0' .. '9' )* pass if (49 <= self.input.LA(1) <= 57) or self.input.LA(1) in {}: self.input.consume() @@ -6139,7 +6236,7 @@ def mINT(self, ): - # sdl92.g:1880:35: ( '0' .. '9' )* + # sdl92.g:1910:35: ( '0' .. '9' )* while True: #loop9 alt9 = 2 LA9_0 = self.input.LA(1) @@ -6178,10 +6275,10 @@ def mINT(self, ): # $ANTLR start "DIGITS" def mDIGITS(self, ): try: - # sdl92.g:1890:9: ( ( '0' .. '9' )+ ) - # sdl92.g:1890:17: ( '0' .. '9' )+ + # sdl92.g:1920:9: ( ( '0' .. '9' )+ ) + # sdl92.g:1920:17: ( '0' .. '9' )+ pass - # sdl92.g:1890:17: ( '0' .. '9' )+ + # sdl92.g:1920:17: ( '0' .. '9' )+ cnt11 = 0 while True: #loop11 alt11 = 2 @@ -6230,11 +6327,11 @@ def mFLOAT(self, ): _type = FLOAT _channel = DEFAULT_CHANNEL - # sdl92.g:1894:9: ( INT DOT ( DIGITS )? ( Exponent )? | INT ) + # sdl92.g:1924:9: ( INT DOT ( DIGITS )? ( Exponent )? | INT ) alt14 = 2 alt14 = self.dfa14.predict(self.input) if alt14 == 1: - # sdl92.g:1894:17: INT DOT ( DIGITS )? ( Exponent )? + # sdl92.g:1924:17: INT DOT ( DIGITS )? ( Exponent )? pass self.mINT() @@ -6242,14 +6339,14 @@ def mFLOAT(self, ): self.mDOT() - # sdl92.g:1894:25: ( DIGITS )? + # sdl92.g:1924:25: ( DIGITS )? alt12 = 2 LA12_0 = self.input.LA(1) if ((48 <= LA12_0 <= 57) or LA12_0 in {}) : alt12 = 1 if alt12 == 1: - # sdl92.g:1894:26: DIGITS + # sdl92.g:1924:26: DIGITS pass self.mDIGITS() @@ -6257,14 +6354,14 @@ def mFLOAT(self, ): - # sdl92.g:1894:35: ( Exponent )? + # sdl92.g:1924:35: ( Exponent )? alt13 = 2 LA13_0 = self.input.LA(1) if (LA13_0 in {69, 101}) : alt13 = 1 if alt13 == 1: - # sdl92.g:1894:36: Exponent + # sdl92.g:1924:36: Exponent pass self.mExponent() @@ -6274,7 +6371,7 @@ def mFLOAT(self, ): elif alt14 == 2: - # sdl92.g:1895:17: INT + # sdl92.g:1925:17: INT pass self.mINT() @@ -6295,10 +6392,10 @@ def mWS(self, ): _type = WS _channel = DEFAULT_CHANNEL - # sdl92.g:1900:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - # sdl92.g:1900:17: ( ' ' | '\\t' | '\\r' | '\\n' )+ + # sdl92.g:1930:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + # sdl92.g:1930:17: ( ' ' | '\\t' | '\\r' | '\\n' )+ pass - # sdl92.g:1900:17: ( ' ' | '\\t' | '\\r' | '\\n' )+ + # sdl92.g:1930:17: ( ' ' | '\\t' | '\\r' | '\\n' )+ cnt15 = 0 while True: #loop15 alt15 = 2 @@ -6350,8 +6447,8 @@ def mWS(self, ): # $ANTLR start "Exponent" def mExponent(self, ): try: - # sdl92.g:1913:9: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) - # sdl92.g:1913:11: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ + # sdl92.g:1943:9: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) + # sdl92.g:1943:11: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ pass if self.input.LA(1) in {69, 101}: self.input.consume() @@ -6362,7 +6459,7 @@ def mExponent(self, ): - # sdl92.g:1913:21: ( '+' | '-' )? + # sdl92.g:1943:21: ( '+' | '-' )? alt16 = 2 LA16_0 = self.input.LA(1) @@ -6383,7 +6480,7 @@ def mExponent(self, ): - # sdl92.g:1913:32: ( '0' .. '9' )+ + # sdl92.g:1943:32: ( '0' .. '9' )+ cnt17 = 0 while True: #loop17 alt17 = 2 @@ -6432,13 +6529,13 @@ def mCOMMENT2(self, ): _type = COMMENT2 _channel = DEFAULT_CHANNEL - # sdl92.g:1917:9: ( '--' ( options {greedy=false; } : . )* ( '--' | ( '\\r' )? '\\n' ) ) - # sdl92.g:1917:18: '--' ( options {greedy=false; } : . )* ( '--' | ( '\\r' )? '\\n' ) + # sdl92.g:1947:9: ( '--' ( options {greedy=false; } : . )* ( '--' | ( '\\r' )? '\\n' ) ) + # sdl92.g:1947:18: '--' ( options {greedy=false; } : . )* ( '--' | ( '\\r' )? '\\n' ) pass self.match("--") - # sdl92.g:1917:23: ( options {greedy=false; } : . )* + # sdl92.g:1947:23: ( options {greedy=false; } : . )* while True: #loop18 alt18 = 2 LA18_0 = self.input.LA(1) @@ -6461,7 +6558,7 @@ def mCOMMENT2(self, ): if alt18 == 1: - # sdl92.g:1917:51: . + # sdl92.g:1947:51: . pass self.matchAny() @@ -6470,7 +6567,7 @@ def mCOMMENT2(self, ): break #loop18 - # sdl92.g:1917:56: ( '--' | ( '\\r' )? '\\n' ) + # sdl92.g:1947:56: ( '--' | ( '\\r' )? '\\n' ) alt20 = 2 LA20_0 = self.input.LA(1) @@ -6485,23 +6582,23 @@ def mCOMMENT2(self, ): if alt20 == 1: - # sdl92.g:1917:57: '--' + # sdl92.g:1947:57: '--' pass self.match("--") elif alt20 == 2: - # sdl92.g:1917:62: ( '\\r' )? '\\n' + # sdl92.g:1947:62: ( '\\r' )? '\\n' pass - # sdl92.g:1917:62: ( '\\r' )? + # sdl92.g:1947:62: ( '\\r' )? alt19 = 2 LA19_0 = self.input.LA(1) if (LA19_0 == 13) : alt19 = 1 if alt19 == 1: - # sdl92.g:1917:62: '\\r' + # sdl92.g:1947:62: '\\r' pass self.match(13) @@ -6532,7 +6629,7 @@ def mCOMMENT2(self, ): # $ANTLR start "A" def mA(self, ): try: - # sdl92.g:1923:11: ( ( 'a' | 'A' ) ) + # sdl92.g:1953:11: ( ( 'a' | 'A' ) ) # sdl92.g: pass if self.input.LA(1) in {65, 97}: @@ -6557,7 +6654,7 @@ def mA(self, ): # $ANTLR start "B" def mB(self, ): try: - # sdl92.g:1924:11: ( ( 'b' | 'B' ) ) + # sdl92.g:1954:11: ( ( 'b' | 'B' ) ) # sdl92.g: pass if self.input.LA(1) in {66, 98}: @@ -6582,7 +6679,7 @@ def mB(self, ): # $ANTLR start "C" def mC(self, ): try: - # sdl92.g:1925:11: ( ( 'c' | 'C' ) ) + # sdl92.g:1955:11: ( ( 'c' | 'C' ) ) # sdl92.g: pass if self.input.LA(1) in {67, 99}: @@ -6607,7 +6704,7 @@ def mC(self, ): # $ANTLR start "D" def mD(self, ): try: - # sdl92.g:1926:11: ( ( 'd' | 'D' ) ) + # sdl92.g:1956:11: ( ( 'd' | 'D' ) ) # sdl92.g: pass if self.input.LA(1) in {68, 100}: @@ -6632,7 +6729,7 @@ def mD(self, ): # $ANTLR start "E" def mE(self, ): try: - # sdl92.g:1927:11: ( ( 'e' | 'E' ) ) + # sdl92.g:1957:11: ( ( 'e' | 'E' ) ) # sdl92.g: pass if self.input.LA(1) in {69, 101}: @@ -6657,7 +6754,7 @@ def mE(self, ): # $ANTLR start "F" def mF(self, ): try: - # sdl92.g:1928:11: ( ( 'f' | 'F' ) ) + # sdl92.g:1958:11: ( ( 'f' | 'F' ) ) # sdl92.g: pass if self.input.LA(1) in {70, 102}: @@ -6682,7 +6779,7 @@ def mF(self, ): # $ANTLR start "G" def mG(self, ): try: - # sdl92.g:1929:11: ( ( 'g' | 'G' ) ) + # sdl92.g:1959:11: ( ( 'g' | 'G' ) ) # sdl92.g: pass if self.input.LA(1) in {71, 103}: @@ -6707,7 +6804,7 @@ def mG(self, ): # $ANTLR start "H" def mH(self, ): try: - # sdl92.g:1930:11: ( ( 'h' | 'H' ) ) + # sdl92.g:1960:11: ( ( 'h' | 'H' ) ) # sdl92.g: pass if self.input.LA(1) in {72, 104}: @@ -6732,7 +6829,7 @@ def mH(self, ): # $ANTLR start "I" def mI(self, ): try: - # sdl92.g:1931:11: ( ( 'i' | 'I' ) ) + # sdl92.g:1961:11: ( ( 'i' | 'I' ) ) # sdl92.g: pass if self.input.LA(1) in {73, 105}: @@ -6757,7 +6854,7 @@ def mI(self, ): # $ANTLR start "J" def mJ(self, ): try: - # sdl92.g:1932:11: ( ( 'j' | 'J' ) ) + # sdl92.g:1962:11: ( ( 'j' | 'J' ) ) # sdl92.g: pass if self.input.LA(1) in {74, 106}: @@ -6782,7 +6879,7 @@ def mJ(self, ): # $ANTLR start "K" def mK(self, ): try: - # sdl92.g:1933:11: ( ( 'k' | 'K' ) ) + # sdl92.g:1963:11: ( ( 'k' | 'K' ) ) # sdl92.g: pass if self.input.LA(1) in {75, 107}: @@ -6807,7 +6904,7 @@ def mK(self, ): # $ANTLR start "L" def mL(self, ): try: - # sdl92.g:1934:11: ( ( 'l' | 'L' ) ) + # sdl92.g:1964:11: ( ( 'l' | 'L' ) ) # sdl92.g: pass if self.input.LA(1) in {76, 108}: @@ -6832,7 +6929,7 @@ def mL(self, ): # $ANTLR start "M" def mM(self, ): try: - # sdl92.g:1935:11: ( ( 'm' | 'M' ) ) + # sdl92.g:1965:11: ( ( 'm' | 'M' ) ) # sdl92.g: pass if self.input.LA(1) in {77, 109}: @@ -6857,7 +6954,7 @@ def mM(self, ): # $ANTLR start "N" def mN(self, ): try: - # sdl92.g:1936:11: ( ( 'n' | 'N' ) ) + # sdl92.g:1966:11: ( ( 'n' | 'N' ) ) # sdl92.g: pass if self.input.LA(1) in {78, 110}: @@ -6882,7 +6979,7 @@ def mN(self, ): # $ANTLR start "O" def mO(self, ): try: - # sdl92.g:1937:11: ( ( 'o' | 'O' ) ) + # sdl92.g:1967:11: ( ( 'o' | 'O' ) ) # sdl92.g: pass if self.input.LA(1) in {79, 111}: @@ -6907,7 +7004,7 @@ def mO(self, ): # $ANTLR start "P" def mP(self, ): try: - # sdl92.g:1938:11: ( ( 'p' | 'P' ) ) + # sdl92.g:1968:11: ( ( 'p' | 'P' ) ) # sdl92.g: pass if self.input.LA(1) in {80, 112}: @@ -6932,7 +7029,7 @@ def mP(self, ): # $ANTLR start "Q" def mQ(self, ): try: - # sdl92.g:1939:11: ( ( 'q' | 'Q' ) ) + # sdl92.g:1969:11: ( ( 'q' | 'Q' ) ) # sdl92.g: pass if self.input.LA(1) in {81, 113}: @@ -6957,7 +7054,7 @@ def mQ(self, ): # $ANTLR start "R" def mR(self, ): try: - # sdl92.g:1940:11: ( ( 'r' | 'R' ) ) + # sdl92.g:1970:11: ( ( 'r' | 'R' ) ) # sdl92.g: pass if self.input.LA(1) in {82, 114}: @@ -6982,7 +7079,7 @@ def mR(self, ): # $ANTLR start "S" def mS(self, ): try: - # sdl92.g:1941:11: ( ( 's' | 'S' ) ) + # sdl92.g:1971:11: ( ( 's' | 'S' ) ) # sdl92.g: pass if self.input.LA(1) in {83, 115}: @@ -7007,7 +7104,7 @@ def mS(self, ): # $ANTLR start "T" def mT(self, ): try: - # sdl92.g:1942:11: ( ( 't' | 'T' ) ) + # sdl92.g:1972:11: ( ( 't' | 'T' ) ) # sdl92.g: pass if self.input.LA(1) in {84, 116}: @@ -7032,7 +7129,7 @@ def mT(self, ): # $ANTLR start "U" def mU(self, ): try: - # sdl92.g:1943:11: ( ( 'u' | 'U' ) ) + # sdl92.g:1973:11: ( ( 'u' | 'U' ) ) # sdl92.g: pass if self.input.LA(1) in {85, 117}: @@ -7057,7 +7154,7 @@ def mU(self, ): # $ANTLR start "V" def mV(self, ): try: - # sdl92.g:1944:11: ( ( 'v' | 'V' ) ) + # sdl92.g:1974:11: ( ( 'v' | 'V' ) ) # sdl92.g: pass if self.input.LA(1) in {86, 118}: @@ -7082,7 +7179,7 @@ def mV(self, ): # $ANTLR start "W" def mW(self, ): try: - # sdl92.g:1945:11: ( ( 'w' | 'W' ) ) + # sdl92.g:1975:11: ( ( 'w' | 'W' ) ) # sdl92.g: pass if self.input.LA(1) in {87, 119}: @@ -7107,7 +7204,7 @@ def mW(self, ): # $ANTLR start "X" def mX(self, ): try: - # sdl92.g:1946:11: ( ( 'x' | 'X' ) ) + # sdl92.g:1976:11: ( ( 'x' | 'X' ) ) # sdl92.g: pass if self.input.LA(1) in {88, 120}: @@ -7132,7 +7229,7 @@ def mX(self, ): # $ANTLR start "Y" def mY(self, ): try: - # sdl92.g:1947:11: ( ( 'y' | 'Y' ) ) + # sdl92.g:1977:11: ( ( 'y' | 'Y' ) ) # sdl92.g: pass if self.input.LA(1) in {89, 121}: @@ -7157,7 +7254,7 @@ def mY(self, ): # $ANTLR start "Z" def mZ(self, ): try: - # sdl92.g:1948:11: ( ( 'z' | 'Z' ) ) + # sdl92.g:1978:11: ( ( 'z' | 'Z' ) ) # sdl92.g: pass if self.input.LA(1) in {90, 122}: @@ -7180,69 +7277,69 @@ def mZ(self, ): def mTokens(self): - # sdl92.g:1:8: ( T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | ALWAYS | NEVER | EVENTUALLY | FILTER_OUT | ASSIG_OP | L_BRACKET | R_BRACKET | L_PAREN | R_PAREN | COMMA | SEMI | DASH | ANY | ASTERISK | DCL | RENAMES | MONITOR | END | KEEP | PARAMNAMES | SPECIFIC | GEODE | HYPERLINK | PARTITION | MKSTRING | ENDTEXT | RETURN | RETURNS | TIMER | PROCESS | TYPE | ENDPROCESS | START | STATE | TEXT | PROCEDURE | ENDPROCEDURE | PROCEDURE_CALL | ENDSTATE | INPUT | PROVIDED | PRIORITY | SAVE | NONE | FOR | ENDFOR | RANGE | NEXTSTATE | ANSWER | COMMENT | LABEL | STOP | IF | THEN | ELSE | FI | CREATE | OUTPUT | CALL | THIS | ENDALTERNATIVE | ALTERNATIVE | DEFAULT | DECISION | ENDDECISION | EXPORT | EXTERNAL | EXPORTED | REFERENCED | CONNECTION | ENDCONNECTION | FROM | TO | WITH | VIA | ALL | TASK | JOIN | PLUS | DOT | APPEND | IN | OUT | INOUT | AGGREGATION | SUBSTRUCTURE | ENDSUBSTRUCTURE | FPAR | EQ | NEQ | GT | GE | LT | LE | NOT | OR | XOR | AND | IMPLIES | DIV | MOD | REM | TRUE | FALSE | ASNFILENAME | PLUS_INFINITY | MINUS_INFINITY | MANTISSA | EXPONENT | BASE | SYSTEM | ENDSYSTEM | CHANNEL | ENDCHANNEL | USE | SIGNAL | BLOCK | ENDBLOCK | SIGNALROUTE | CONNECT | SYNTYPE | ENDSYNTYPE | NEWTYPE | ENDNEWTYPE | ARRAY | CONSTANTS | STRUCT | LITERALS | SYNONYM | IMPORT | VIEW | ACTIVE | UNHANDLED | ERRORSTATES | IGNORESTATES | SUCCESSSTATES | REQ_ID | RID_ID | STRING | ID | INT | FLOAT | WS | COMMENT2 ) - alt21 = 153 + # sdl92.g:1:8: ( T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | ALWAYS | NEVER | EVENTUALLY | FILTER_OUT | ASSIG_OP | L_BRACKET | R_BRACKET | L_PAREN | R_PAREN | COMMA | SEMI | DASH | ANY | ASTERISK | DCL | RENAMES | MONITOR | END | KEEP | PARAMNAMES | SPECIFIC | GEODE | HYPERLINK | REQ_SERVER | RID_SERVER | PARTITION | MKSTRING | ENDTEXT | RETURN | RETURNS | TIMER | PROCESS | TYPE | ENDPROCESS | START | STATE | TEXT | PROCEDURE | ENDPROCEDURE | PROCEDURE_CALL | ENDSTATE | INPUT | PROVIDED | PRIORITY | SAVE | NONE | FOR | ENDFOR | RANGE | NEXTSTATE | ANSWER | COMMENT | LABEL | STOP | IF | THEN | ELSE | FI | CREATE | OUTPUT | CALL | THIS | ENDALTERNATIVE | ALTERNATIVE | DEFAULT | DECISION | ENDDECISION | EXPORT | EXTERNAL | EXPORTED | REFERENCED | CONNECTION | ENDCONNECTION | FROM | TO | WITH | VIA | ALL | TASK | JOIN | PLUS | DOT | APPEND | IN | OUT | INOUT | AGGREGATION | SUBSTRUCTURE | ENDSUBSTRUCTURE | FPAR | EQ | NEQ | GT | GE | LT | LE | NOT | OR | XOR | AND | IMPLIES | DIV | MOD | REM | TRUE | FALSE | ASNFILENAME | PLUS_INFINITY | MINUS_INFINITY | MANTISSA | EXPONENT | BASE | SYSTEM | ENDSYSTEM | CHANNEL | ENDCHANNEL | USE | SIGNAL | BLOCK | ENDBLOCK | SIGNALROUTE | CONNECT | SYNTYPE | ENDSYNTYPE | NEWTYPE | ENDNEWTYPE | ARRAY | CONSTANTS | STRUCT | LITERALS | SYNONYM | IMPORT | VIEW | ACTIVE | UNHANDLED | ERRORSTATES | IGNORESTATES | SUCCESSSTATES | REQ_ID | RID_ID | STRING | ID | INT | FLOAT | WS | COMMENT2 ) + alt21 = 155 alt21 = self.dfa21.predict(self.input) if alt21 == 1: - # sdl92.g:1:10: T__246 + # sdl92.g:1:10: T__248 pass - self.mT__246() + self.mT__248() elif alt21 == 2: - # sdl92.g:1:17: T__247 + # sdl92.g:1:17: T__249 pass - self.mT__247() + self.mT__249() elif alt21 == 3: - # sdl92.g:1:24: T__248 + # sdl92.g:1:24: T__250 pass - self.mT__248() + self.mT__250() elif alt21 == 4: - # sdl92.g:1:31: T__249 + # sdl92.g:1:31: T__251 pass - self.mT__249() + self.mT__251() elif alt21 == 5: - # sdl92.g:1:38: T__250 + # sdl92.g:1:38: T__252 pass - self.mT__250() + self.mT__252() elif alt21 == 6: - # sdl92.g:1:45: T__251 + # sdl92.g:1:45: T__253 pass - self.mT__251() + self.mT__253() elif alt21 == 7: - # sdl92.g:1:52: T__252 + # sdl92.g:1:52: T__254 pass - self.mT__252() + self.mT__254() elif alt21 == 8: - # sdl92.g:1:59: T__253 + # sdl92.g:1:59: T__255 pass - self.mT__253() + self.mT__255() elif alt21 == 9: - # sdl92.g:1:66: T__254 + # sdl92.g:1:66: T__256 pass - self.mT__254() + self.mT__256() @@ -7408,847 +7505,861 @@ def mTokens(self): elif alt21 == 33: - # sdl92.g:1:247: PARTITION + # sdl92.g:1:247: REQ_SERVER pass - self.mPARTITION() + self.mREQ_SERVER() elif alt21 == 34: - # sdl92.g:1:257: MKSTRING + # sdl92.g:1:258: RID_SERVER pass - self.mMKSTRING() + self.mRID_SERVER() elif alt21 == 35: - # sdl92.g:1:266: ENDTEXT + # sdl92.g:1:269: PARTITION pass - self.mENDTEXT() + self.mPARTITION() elif alt21 == 36: - # sdl92.g:1:274: RETURN + # sdl92.g:1:279: MKSTRING pass - self.mRETURN() + self.mMKSTRING() elif alt21 == 37: - # sdl92.g:1:281: RETURNS + # sdl92.g:1:288: ENDTEXT pass - self.mRETURNS() + self.mENDTEXT() elif alt21 == 38: - # sdl92.g:1:289: TIMER + # sdl92.g:1:296: RETURN pass - self.mTIMER() + self.mRETURN() elif alt21 == 39: - # sdl92.g:1:295: PROCESS + # sdl92.g:1:303: RETURNS pass - self.mPROCESS() + self.mRETURNS() elif alt21 == 40: - # sdl92.g:1:303: TYPE + # sdl92.g:1:311: TIMER pass - self.mTYPE() + self.mTIMER() elif alt21 == 41: - # sdl92.g:1:308: ENDPROCESS + # sdl92.g:1:317: PROCESS pass - self.mENDPROCESS() + self.mPROCESS() elif alt21 == 42: - # sdl92.g:1:319: START + # sdl92.g:1:325: TYPE pass - self.mSTART() + self.mTYPE() elif alt21 == 43: - # sdl92.g:1:325: STATE + # sdl92.g:1:330: ENDPROCESS pass - self.mSTATE() + self.mENDPROCESS() elif alt21 == 44: - # sdl92.g:1:331: TEXT + # sdl92.g:1:341: START pass - self.mTEXT() + self.mSTART() elif alt21 == 45: - # sdl92.g:1:336: PROCEDURE + # sdl92.g:1:347: STATE pass - self.mPROCEDURE() + self.mSTATE() elif alt21 == 46: - # sdl92.g:1:346: ENDPROCEDURE + # sdl92.g:1:353: TEXT pass - self.mENDPROCEDURE() + self.mTEXT() elif alt21 == 47: - # sdl92.g:1:359: PROCEDURE_CALL + # sdl92.g:1:358: PROCEDURE pass - self.mPROCEDURE_CALL() + self.mPROCEDURE() elif alt21 == 48: - # sdl92.g:1:374: ENDSTATE + # sdl92.g:1:368: ENDPROCEDURE pass - self.mENDSTATE() + self.mENDPROCEDURE() elif alt21 == 49: - # sdl92.g:1:383: INPUT + # sdl92.g:1:381: PROCEDURE_CALL pass - self.mINPUT() + self.mPROCEDURE_CALL() elif alt21 == 50: - # sdl92.g:1:389: PROVIDED + # sdl92.g:1:396: ENDSTATE pass - self.mPROVIDED() + self.mENDSTATE() elif alt21 == 51: - # sdl92.g:1:398: PRIORITY + # sdl92.g:1:405: INPUT pass - self.mPRIORITY() + self.mINPUT() elif alt21 == 52: - # sdl92.g:1:407: SAVE + # sdl92.g:1:411: PROVIDED pass - self.mSAVE() + self.mPROVIDED() elif alt21 == 53: - # sdl92.g:1:412: NONE + # sdl92.g:1:420: PRIORITY pass - self.mNONE() + self.mPRIORITY() elif alt21 == 54: - # sdl92.g:1:417: FOR + # sdl92.g:1:429: SAVE pass - self.mFOR() + self.mSAVE() elif alt21 == 55: - # sdl92.g:1:421: ENDFOR + # sdl92.g:1:434: NONE pass - self.mENDFOR() + self.mNONE() elif alt21 == 56: - # sdl92.g:1:428: RANGE + # sdl92.g:1:439: FOR pass - self.mRANGE() + self.mFOR() elif alt21 == 57: - # sdl92.g:1:434: NEXTSTATE + # sdl92.g:1:443: ENDFOR pass - self.mNEXTSTATE() + self.mENDFOR() elif alt21 == 58: - # sdl92.g:1:444: ANSWER + # sdl92.g:1:450: RANGE pass - self.mANSWER() + self.mRANGE() elif alt21 == 59: - # sdl92.g:1:451: COMMENT + # sdl92.g:1:456: NEXTSTATE pass - self.mCOMMENT() + self.mNEXTSTATE() elif alt21 == 60: - # sdl92.g:1:459: LABEL + # sdl92.g:1:466: ANSWER pass - self.mLABEL() + self.mANSWER() elif alt21 == 61: - # sdl92.g:1:465: STOP + # sdl92.g:1:473: COMMENT pass - self.mSTOP() + self.mCOMMENT() elif alt21 == 62: - # sdl92.g:1:470: IF + # sdl92.g:1:481: LABEL pass - self.mIF() + self.mLABEL() elif alt21 == 63: - # sdl92.g:1:473: THEN + # sdl92.g:1:487: STOP pass - self.mTHEN() + self.mSTOP() elif alt21 == 64: - # sdl92.g:1:478: ELSE + # sdl92.g:1:492: IF pass - self.mELSE() + self.mIF() elif alt21 == 65: - # sdl92.g:1:483: FI + # sdl92.g:1:495: THEN pass - self.mFI() + self.mTHEN() elif alt21 == 66: - # sdl92.g:1:486: CREATE + # sdl92.g:1:500: ELSE pass - self.mCREATE() + self.mELSE() elif alt21 == 67: - # sdl92.g:1:493: OUTPUT + # sdl92.g:1:505: FI pass - self.mOUTPUT() + self.mFI() elif alt21 == 68: - # sdl92.g:1:500: CALL + # sdl92.g:1:508: CREATE pass - self.mCALL() + self.mCREATE() elif alt21 == 69: - # sdl92.g:1:505: THIS + # sdl92.g:1:515: OUTPUT pass - self.mTHIS() + self.mOUTPUT() elif alt21 == 70: - # sdl92.g:1:510: ENDALTERNATIVE + # sdl92.g:1:522: CALL pass - self.mENDALTERNATIVE() + self.mCALL() elif alt21 == 71: - # sdl92.g:1:525: ALTERNATIVE + # sdl92.g:1:527: THIS pass - self.mALTERNATIVE() + self.mTHIS() elif alt21 == 72: - # sdl92.g:1:537: DEFAULT + # sdl92.g:1:532: ENDALTERNATIVE pass - self.mDEFAULT() + self.mENDALTERNATIVE() elif alt21 == 73: - # sdl92.g:1:545: DECISION + # sdl92.g:1:547: ALTERNATIVE pass - self.mDECISION() + self.mALTERNATIVE() elif alt21 == 74: - # sdl92.g:1:554: ENDDECISION + # sdl92.g:1:559: DEFAULT pass - self.mENDDECISION() + self.mDEFAULT() elif alt21 == 75: - # sdl92.g:1:566: EXPORT + # sdl92.g:1:567: DECISION pass - self.mEXPORT() + self.mDECISION() elif alt21 == 76: - # sdl92.g:1:573: EXTERNAL + # sdl92.g:1:576: ENDDECISION pass - self.mEXTERNAL() + self.mENDDECISION() elif alt21 == 77: - # sdl92.g:1:582: EXPORTED + # sdl92.g:1:588: EXPORT pass - self.mEXPORTED() + self.mEXPORT() elif alt21 == 78: - # sdl92.g:1:591: REFERENCED + # sdl92.g:1:595: EXTERNAL pass - self.mREFERENCED() + self.mEXTERNAL() elif alt21 == 79: - # sdl92.g:1:602: CONNECTION + # sdl92.g:1:604: EXPORTED pass - self.mCONNECTION() + self.mEXPORTED() elif alt21 == 80: - # sdl92.g:1:613: ENDCONNECTION + # sdl92.g:1:613: REFERENCED pass - self.mENDCONNECTION() + self.mREFERENCED() elif alt21 == 81: - # sdl92.g:1:627: FROM + # sdl92.g:1:624: CONNECTION pass - self.mFROM() + self.mCONNECTION() elif alt21 == 82: - # sdl92.g:1:632: TO + # sdl92.g:1:635: ENDCONNECTION pass - self.mTO() + self.mENDCONNECTION() elif alt21 == 83: - # sdl92.g:1:635: WITH + # sdl92.g:1:649: FROM pass - self.mWITH() + self.mFROM() elif alt21 == 84: - # sdl92.g:1:640: VIA + # sdl92.g:1:654: TO pass - self.mVIA() + self.mTO() elif alt21 == 85: - # sdl92.g:1:644: ALL + # sdl92.g:1:657: WITH pass - self.mALL() + self.mWITH() elif alt21 == 86: - # sdl92.g:1:648: TASK + # sdl92.g:1:662: VIA pass - self.mTASK() + self.mVIA() elif alt21 == 87: - # sdl92.g:1:653: JOIN + # sdl92.g:1:666: ALL pass - self.mJOIN() + self.mALL() elif alt21 == 88: - # sdl92.g:1:658: PLUS + # sdl92.g:1:670: TASK pass - self.mPLUS() + self.mTASK() elif alt21 == 89: - # sdl92.g:1:663: DOT + # sdl92.g:1:675: JOIN pass - self.mDOT() + self.mJOIN() elif alt21 == 90: - # sdl92.g:1:667: APPEND + # sdl92.g:1:680: PLUS pass - self.mAPPEND() + self.mPLUS() elif alt21 == 91: - # sdl92.g:1:674: IN + # sdl92.g:1:685: DOT pass - self.mIN() + self.mDOT() elif alt21 == 92: - # sdl92.g:1:677: OUT + # sdl92.g:1:689: APPEND pass - self.mOUT() + self.mAPPEND() elif alt21 == 93: - # sdl92.g:1:681: INOUT + # sdl92.g:1:696: IN pass - self.mINOUT() + self.mIN() elif alt21 == 94: - # sdl92.g:1:687: AGGREGATION + # sdl92.g:1:699: OUT pass - self.mAGGREGATION() + self.mOUT() elif alt21 == 95: - # sdl92.g:1:699: SUBSTRUCTURE + # sdl92.g:1:703: INOUT pass - self.mSUBSTRUCTURE() + self.mINOUT() elif alt21 == 96: - # sdl92.g:1:712: ENDSUBSTRUCTURE + # sdl92.g:1:709: AGGREGATION pass - self.mENDSUBSTRUCTURE() + self.mAGGREGATION() elif alt21 == 97: - # sdl92.g:1:728: FPAR + # sdl92.g:1:721: SUBSTRUCTURE pass - self.mFPAR() + self.mSUBSTRUCTURE() elif alt21 == 98: - # sdl92.g:1:733: EQ + # sdl92.g:1:734: ENDSUBSTRUCTURE pass - self.mEQ() + self.mENDSUBSTRUCTURE() elif alt21 == 99: - # sdl92.g:1:736: NEQ + # sdl92.g:1:750: FPAR pass - self.mNEQ() + self.mFPAR() elif alt21 == 100: - # sdl92.g:1:740: GT + # sdl92.g:1:755: EQ pass - self.mGT() + self.mEQ() elif alt21 == 101: - # sdl92.g:1:743: GE + # sdl92.g:1:758: NEQ pass - self.mGE() + self.mNEQ() elif alt21 == 102: - # sdl92.g:1:746: LT + # sdl92.g:1:762: GT pass - self.mLT() + self.mGT() elif alt21 == 103: - # sdl92.g:1:749: LE + # sdl92.g:1:765: GE pass - self.mLE() + self.mGE() elif alt21 == 104: - # sdl92.g:1:752: NOT + # sdl92.g:1:768: LT pass - self.mNOT() + self.mLT() elif alt21 == 105: - # sdl92.g:1:756: OR + # sdl92.g:1:771: LE pass - self.mOR() + self.mLE() elif alt21 == 106: - # sdl92.g:1:759: XOR + # sdl92.g:1:774: NOT pass - self.mXOR() + self.mNOT() elif alt21 == 107: - # sdl92.g:1:763: AND + # sdl92.g:1:778: OR pass - self.mAND() + self.mOR() elif alt21 == 108: - # sdl92.g:1:767: IMPLIES + # sdl92.g:1:781: XOR pass - self.mIMPLIES() + self.mXOR() elif alt21 == 109: - # sdl92.g:1:775: DIV + # sdl92.g:1:785: AND pass - self.mDIV() + self.mAND() elif alt21 == 110: - # sdl92.g:1:779: MOD + # sdl92.g:1:789: IMPLIES pass - self.mMOD() + self.mIMPLIES() elif alt21 == 111: - # sdl92.g:1:783: REM + # sdl92.g:1:797: DIV pass - self.mREM() + self.mDIV() elif alt21 == 112: - # sdl92.g:1:787: TRUE + # sdl92.g:1:801: MOD pass - self.mTRUE() + self.mMOD() elif alt21 == 113: - # sdl92.g:1:792: FALSE + # sdl92.g:1:805: REM pass - self.mFALSE() + self.mREM() elif alt21 == 114: - # sdl92.g:1:798: ASNFILENAME + # sdl92.g:1:809: TRUE pass - self.mASNFILENAME() + self.mTRUE() elif alt21 == 115: - # sdl92.g:1:810: PLUS_INFINITY + # sdl92.g:1:814: FALSE pass - self.mPLUS_INFINITY() + self.mFALSE() elif alt21 == 116: - # sdl92.g:1:824: MINUS_INFINITY + # sdl92.g:1:820: ASNFILENAME pass - self.mMINUS_INFINITY() + self.mASNFILENAME() elif alt21 == 117: - # sdl92.g:1:839: MANTISSA + # sdl92.g:1:832: PLUS_INFINITY pass - self.mMANTISSA() + self.mPLUS_INFINITY() elif alt21 == 118: - # sdl92.g:1:848: EXPONENT + # sdl92.g:1:846: MINUS_INFINITY pass - self.mEXPONENT() + self.mMINUS_INFINITY() elif alt21 == 119: - # sdl92.g:1:857: BASE + # sdl92.g:1:861: MANTISSA pass - self.mBASE() + self.mMANTISSA() elif alt21 == 120: - # sdl92.g:1:862: SYSTEM + # sdl92.g:1:870: EXPONENT pass - self.mSYSTEM() + self.mEXPONENT() elif alt21 == 121: - # sdl92.g:1:869: ENDSYSTEM + # sdl92.g:1:879: BASE pass - self.mENDSYSTEM() + self.mBASE() elif alt21 == 122: - # sdl92.g:1:879: CHANNEL + # sdl92.g:1:884: SYSTEM pass - self.mCHANNEL() + self.mSYSTEM() elif alt21 == 123: - # sdl92.g:1:887: ENDCHANNEL + # sdl92.g:1:891: ENDSYSTEM pass - self.mENDCHANNEL() + self.mENDSYSTEM() elif alt21 == 124: - # sdl92.g:1:898: USE + # sdl92.g:1:901: CHANNEL pass - self.mUSE() + self.mCHANNEL() elif alt21 == 125: - # sdl92.g:1:902: SIGNAL + # sdl92.g:1:909: ENDCHANNEL pass - self.mSIGNAL() + self.mENDCHANNEL() elif alt21 == 126: - # sdl92.g:1:909: BLOCK + # sdl92.g:1:920: USE pass - self.mBLOCK() + self.mUSE() elif alt21 == 127: - # sdl92.g:1:915: ENDBLOCK + # sdl92.g:1:924: SIGNAL pass - self.mENDBLOCK() + self.mSIGNAL() elif alt21 == 128: - # sdl92.g:1:924: SIGNALROUTE + # sdl92.g:1:931: BLOCK pass - self.mSIGNALROUTE() + self.mBLOCK() elif alt21 == 129: - # sdl92.g:1:936: CONNECT + # sdl92.g:1:937: ENDBLOCK pass - self.mCONNECT() + self.mENDBLOCK() elif alt21 == 130: - # sdl92.g:1:944: SYNTYPE + # sdl92.g:1:946: SIGNALROUTE pass - self.mSYNTYPE() + self.mSIGNALROUTE() elif alt21 == 131: - # sdl92.g:1:952: ENDSYNTYPE + # sdl92.g:1:958: CONNECT pass - self.mENDSYNTYPE() + self.mCONNECT() elif alt21 == 132: - # sdl92.g:1:963: NEWTYPE + # sdl92.g:1:966: SYNTYPE pass - self.mNEWTYPE() + self.mSYNTYPE() elif alt21 == 133: - # sdl92.g:1:971: ENDNEWTYPE + # sdl92.g:1:974: ENDSYNTYPE pass - self.mENDNEWTYPE() + self.mENDSYNTYPE() elif alt21 == 134: - # sdl92.g:1:982: ARRAY + # sdl92.g:1:985: NEWTYPE pass - self.mARRAY() + self.mNEWTYPE() elif alt21 == 135: - # sdl92.g:1:988: CONSTANTS + # sdl92.g:1:993: ENDNEWTYPE pass - self.mCONSTANTS() + self.mENDNEWTYPE() elif alt21 == 136: - # sdl92.g:1:998: STRUCT + # sdl92.g:1:1004: ARRAY pass - self.mSTRUCT() + self.mARRAY() elif alt21 == 137: - # sdl92.g:1:1005: LITERALS + # sdl92.g:1:1010: CONSTANTS pass - self.mLITERALS() + self.mCONSTANTS() elif alt21 == 138: - # sdl92.g:1:1014: SYNONYM + # sdl92.g:1:1020: STRUCT pass - self.mSYNONYM() + self.mSTRUCT() elif alt21 == 139: - # sdl92.g:1:1022: IMPORT + # sdl92.g:1:1027: LITERALS pass - self.mIMPORT() + self.mLITERALS() elif alt21 == 140: - # sdl92.g:1:1029: VIEW + # sdl92.g:1:1036: SYNONYM pass - self.mVIEW() + self.mSYNONYM() elif alt21 == 141: - # sdl92.g:1:1034: ACTIVE + # sdl92.g:1:1044: IMPORT pass - self.mACTIVE() + self.mIMPORT() elif alt21 == 142: - # sdl92.g:1:1041: UNHANDLED + # sdl92.g:1:1051: VIEW pass - self.mUNHANDLED() + self.mVIEW() elif alt21 == 143: - # sdl92.g:1:1051: ERRORSTATES + # sdl92.g:1:1056: ACTIVE pass - self.mERRORSTATES() + self.mACTIVE() elif alt21 == 144: - # sdl92.g:1:1063: IGNORESTATES + # sdl92.g:1:1063: UNHANDLED pass - self.mIGNORESTATES() + self.mUNHANDLED() elif alt21 == 145: - # sdl92.g:1:1076: SUCCESSSTATES + # sdl92.g:1:1073: ERRORSTATES pass - self.mSUCCESSSTATES() + self.mERRORSTATES() elif alt21 == 146: - # sdl92.g:1:1090: REQ_ID + # sdl92.g:1:1085: IGNORESTATES pass - self.mREQ_ID() + self.mIGNORESTATES() elif alt21 == 147: - # sdl92.g:1:1097: RID_ID + # sdl92.g:1:1098: SUCCESSSTATES pass - self.mRID_ID() + self.mSUCCESSSTATES() elif alt21 == 148: - # sdl92.g:1:1104: STRING + # sdl92.g:1:1112: REQ_ID pass - self.mSTRING() + self.mREQ_ID() elif alt21 == 149: - # sdl92.g:1:1111: ID + # sdl92.g:1:1119: RID_ID pass - self.mID() + self.mRID_ID() elif alt21 == 150: - # sdl92.g:1:1114: INT + # sdl92.g:1:1126: STRING pass - self.mINT() + self.mSTRING() elif alt21 == 151: - # sdl92.g:1:1118: FLOAT + # sdl92.g:1:1133: ID pass - self.mFLOAT() + self.mID() elif alt21 == 152: - # sdl92.g:1:1124: WS + # sdl92.g:1:1136: INT pass - self.mWS() + self.mINT() elif alt21 == 153: - # sdl92.g:1:1127: COMMENT2 + # sdl92.g:1:1140: FLOAT + pass + self.mFLOAT() + + + + elif alt21 == 154: + # sdl92.g:1:1146: WS + pass + self.mWS() + + + + elif alt21 == 155: + # sdl92.g:1:1149: COMMENT2 pass self.mCOMMENT2() @@ -8309,42 +8420,43 @@ class DFA14(DFA): "\1\u009e\35\52\1\u00c9\2\52\1\u00cc\1\u00cf\11\52\1\u00da\3\52\6" "\uffff\5\52\2\uffff\1\u0086\2\52\1\u00e6\1\u00e7\1\52\1\u00e9\10" "\52\1\u00f2\1\52\1\u00f4\4\52\1\uffff\1\52\1\u0103\3\52\1\u0107" - "\5\52\1\u010d\4\52\1\u0112\31\52\1\uffff\2\52\1\uffff\1\52\2\uffff" - "\11\52\1\u013d\1\uffff\1\52\1\u0140\2\52\1\u0143\2\52\1\u0146\3" - "\52\2\uffff\1\52\1\uffff\7\52\1\u0152\1\uffff\1\52\1\uffff\11\52" - "\1\u0160\4\52\1\uffff\1\u0166\1\u0167\1\52\1\uffff\5\52\1\uffff" - "\4\52\1\uffff\3\52\1\u0175\11\52\1\u017f\1\52\1\u0181\11\52\1\u018b" - "\1\u018c\1\u018d\1\u018e\1\u018f\1\u0190\7\52\1\u0198\3\52\1\uffff" - "\1\52\1\u019d\1\uffff\1\u019e\1\u019f\1\uffff\1\u01a0\1\52\1\uffff" - "\6\52\1\u01a8\1\52\1\u01aa\2\52\1\uffff\15\52\1\uffff\5\52\2\uffff" - "\1\u01c0\5\52\1\u01c6\1\u01c7\1\u01c8\4\52\1\uffff\5\52\1\uffff" - "\1\52\1\u01d4\1\u01d5\1\uffff\1\52\1\uffff\6\52\1\u01dd\1\52\1\u01df" - "\6\uffff\1\u01e0\6\52\1\uffff\1\52\1\u01e8\2\52\4\uffff\1\u01eb" - "\1\52\1\u01ed\1\52\1\u01ef\2\52\1\uffff\1\u01f2\1\uffff\11\52\1" - "\u01fc\6\52\1\u0203\4\52\1\uffff\3\52\1\u020c\1\52\3\uffff\2\52" - "\1\uffff\10\52\2\uffff\1\u0219\2\52\1\u021c\2\52\1\u021f\1\uffff" - "\1\52\2\uffff\1\u0222\4\52\1\u0227\1\52\1\uffff\1\52\1\u022a\1\uffff" - "\1\52\1\uffff\1\52\1\uffff\2\52\1\uffff\1\52\1\u0230\1\52\1\u0232" - "\5\52\1\uffff\6\52\1\uffff\5\52\1\u0243\1\52\1\u0245\1\uffff\1\u0246" - "\1\52\1\u0248\4\52\1\u024d\4\52\1\uffff\2\52\1\uffff\1\u0254\1\u0255" - "\1\uffff\2\52\1\uffff\1\52\1\u0259\1\u025a\1\52\1\uffff\1\u025d" - "\1\52\1\uffff\5\52\1\uffff\1\52\1\uffff\1\52\1\u0267\7\52\1\u026f" - "\1\52\1\u0271\1\u0272\1\u0273\2\52\1\uffff\1\u0276\2\uffff\1\52" - "\1\uffff\1\u0278\1\u0279\2\52\1\uffff\1\52\1\u027d\1\u027e\1\u027f" - "\2\52\2\uffff\3\52\2\uffff\2\52\1\uffff\1\u0287\4\52\1\u028c\3\52" - "\1\uffff\1\52\1\u0291\5\52\1\uffff\1\52\3\uffff\2\52\1\uffff\1\52" - "\2\uffff\1\52\1\u029c\1\u029d\3\uffff\3\52\1\u02a2\2\52\1\u02a5" - "\1\uffff\1\u02a6\3\52\1\uffff\1\u02aa\1\u02ab\2\52\1\uffff\1\u02ae" - "\3\52\1\u02b2\1\u02b3\1\52\1\u02b5\1\u02b6\1\u02b7\2\uffff\4\52" - "\1\uffff\1\52\1\u02bd\2\uffff\1\u02be\1\u02bf\1\u02c0\2\uffff\2" - "\52\1\uffff\1\52\1\u02c4\1\52\2\uffff\1\u02c6\3\uffff\3\52\1\u02ca" - "\1\52\4\uffff\1\u02cc\2\52\1\uffff\1\52\1\uffff\1\52\1\u02d1\1\52" - "\1\uffff\1\u02d3\1\uffff\2\52\1\u02d6\1\u02d7\1\uffff\1\u02d8\1" - "\uffff\1\52\1\u02da\3\uffff\1\u02db\2\uffff" + "\6\52\1\u010f\3\52\1\u0114\31\52\1\uffff\2\52\1\uffff\1\52\2\uffff" + "\11\52\1\u013f\1\uffff\1\52\1\u0142\2\52\1\u0145\2\52\1\u0148\3" + "\52\2\uffff\1\52\1\uffff\7\52\1\u0154\1\uffff\1\52\1\uffff\11\52" + "\1\u0162\4\52\1\uffff\1\u0168\1\u0169\1\52\1\uffff\7\52\1\uffff" + "\4\52\1\uffff\3\52\1\u0179\11\52\1\u0183\1\52\1\u0185\11\52\1\u018f" + "\1\u0190\1\u0191\1\u0192\1\u0193\1\u0194\7\52\1\u019c\3\52\1\uffff" + "\1\52\1\u01a1\1\uffff\1\u01a2\1\u01a3\1\uffff\1\u01a4\1\52\1\uffff" + "\6\52\1\u01ac\1\52\1\u01ae\2\52\1\uffff\15\52\1\uffff\5\52\2\uffff" + "\1\u01c4\4\52\1\u01c9\3\52\1\u01cd\1\u01ce\4\52\1\uffff\5\52\1\uffff" + "\1\52\1\u01da\1\u01db\1\uffff\1\52\1\uffff\6\52\1\u01e3\1\52\1\u01e5" + "\6\uffff\1\u01e6\6\52\1\uffff\1\52\1\u01ee\2\52\4\uffff\1\u01f1" + "\1\52\1\u01f3\1\52\1\u01f5\2\52\1\uffff\1\u01f8\1\uffff\11\52\1" + "\u0202\6\52\1\u0209\4\52\1\uffff\4\52\1\uffff\1\u0213\2\52\2\uffff" + "\2\52\1\uffff\10\52\2\uffff\1\u0221\2\52\1\u0224\2\52\1\u0227\1" + "\uffff\1\52\2\uffff\1\u022a\4\52\1\u022f\1\52\1\uffff\1\52\1\u0232" + "\1\uffff\1\52\1\uffff\1\52\1\uffff\2\52\1\uffff\1\52\1\u0238\1\52" + "\1\u023a\5\52\1\uffff\6\52\1\uffff\5\52\1\u024b\1\52\1\u024d\1\52" + "\1\uffff\1\u024f\2\52\1\u0252\4\52\1\u0257\4\52\1\uffff\2\52\1\uffff" + "\1\u025e\1\u025f\1\uffff\2\52\1\uffff\1\52\1\u0263\1\u0264\1\52" + "\1\uffff\1\u0267\1\52\1\uffff\5\52\1\uffff\1\52\1\uffff\1\52\1\u0271" + "\7\52\1\u0279\1\52\1\u027b\1\u027c\1\u027d\2\52\1\uffff\1\u0280" + "\1\uffff\1\52\1\uffff\2\52\1\uffff\1\u0284\1\u0285\2\52\1\uffff" + "\1\52\1\u0289\1\u028a\1\u028b\2\52\2\uffff\3\52\2\uffff\2\52\1\uffff" + "\1\u0293\4\52\1\u0298\3\52\1\uffff\1\52\1\u029d\5\52\1\uffff\1\52" + "\3\uffff\2\52\1\uffff\1\u02a6\1\52\1\u02a8\2\uffff\1\52\1\u02aa" + "\1\u02ab\3\uffff\3\52\1\u02b0\2\52\1\u02b3\1\uffff\1\u02b4\3\52" + "\1\uffff\1\u02b8\1\u02b9\2\52\1\uffff\1\u02bc\3\52\1\u02c0\1\u02c1" + "\1\52\1\u02c3\1\uffff\1\u02c4\1\uffff\1\u02c5\2\uffff\4\52\1\uffff" + "\1\52\1\u02cb\2\uffff\1\u02cc\1\u02cd\1\u02ce\2\uffff\2\52\1\uffff" + "\1\52\1\u02d2\1\52\2\uffff\1\u02d4\3\uffff\3\52\1\u02d8\1\52\4\uffff" + "\1\u02da\2\52\1\uffff\1\52\1\uffff\1\52\1\u02df\1\52\1\uffff\1\u02e1" + "\1\uffff\2\52\1\u02e4\1\u02e5\1\uffff\1\u02e6\1\uffff\1\52\1\u02e8" + "\3\uffff\1\u02e9\2\uffff" ) DFA21_eof = DFA.unpack( - "\u02dc\uffff" + "\u02ea\uffff" ) DFA21_min = DFA.unpack( @@ -8353,60 +8465,62 @@ class DFA14(DFA): "\106\2\101\1\122\2\111\1\117\1\uffff\1\76\2\75\1\117\1\101\1\116" "\2\uffff\2\56\21\uffff\1\114\1\104\1\107\1\116\1\122\1\124\1\126" "\1\116\1\105\1\104\1\123\1\120\1\122\1\60\1\122\1\117\1\101\2\114" - "\1\103\1\106\1\116\2\104\1\123\2\116\1\105\1\122\1\111\1\125\1\105" - "\1\101\1\126\1\102\1\116\1\107\1\117\1\120\1\115\1\120\1\130\1\105" - "\1\60\1\123\1\125\1\57\1\60\1\120\1\116\1\115\1\105\1\114\1\101" - "\1\102\2\124\1\60\1\124\1\101\1\111\6\uffff\1\122\1\123\1\117\1" - "\105\1\110\2\uffff\1\56\1\101\1\105\2\60\1\127\1\60\1\122\1\106" - "\1\101\1\111\1\105\2\124\1\105\1\60\1\116\1\60\1\105\1\117\1\105" - "\1\117\1\uffff\1\124\1\60\1\115\1\122\1\123\1\60\1\101\1\111\1\101" - "\1\125\1\105\1\60\1\111\1\107\2\111\1\60\1\124\1\125\1\124\1\120" - "\1\101\1\103\1\117\1\123\1\103\1\122\1\120\1\125\1\105\1\123\1\103" - "\1\124\1\117\1\116\1\104\3\105\1\124\1\116\1\123\1\uffff\1\113\1" - "\105\1\uffff\1\125\2\uffff\2\117\1\115\1\116\1\101\1\114\1\116\2" - "\105\1\60\1\uffff\1\110\1\60\1\127\1\116\1\60\1\105\1\103\1\60\1" - "\101\1\131\1\122\2\uffff\1\105\1\uffff\1\105\1\111\1\131\1\126\1" - "\122\1\123\1\131\1\60\1\uffff\1\124\1\uffff\1\105\1\122\1\124\1" - "\117\1\114\1\105\1\110\1\114\1\105\1\60\1\116\2\122\1\105\1\uffff" - "\2\60\1\105\1\uffff\1\125\1\123\1\115\2\122\1\uffff\1\104\1\105" - "\1\104\1\124\1\uffff\1\122\1\123\1\111\1\60\1\115\1\111\1\105\1" - "\111\1\122\1\55\1\111\1\124\1\105\1\60\1\103\1\60\1\124\2\105\1" - "\131\1\116\1\101\1\105\2\122\6\60\1\124\2\122\2\105\2\124\1\60\1" - "\116\1\114\1\122\1\uffff\1\125\1\60\1\uffff\2\60\1\uffff\1\60\1" - "\113\1\uffff\1\116\1\123\1\116\1\122\1\107\1\114\1\60\1\105\1\60" - "\1\124\1\120\1\uffff\1\125\1\130\1\117\1\101\1\102\1\116\1\122\1" - "\124\1\103\1\116\1\101\1\117\1\127\1\uffff\1\124\1\105\1\116\1\123" - "\1\122\2\uffff\1\60\1\114\1\111\1\105\1\116\1\105\3\60\1\117\1\111" - "\1\55\1\123\1\uffff\1\116\1\124\2\104\1\111\1\uffff\1\106\2\60\1" - "\uffff\1\124\1\uffff\1\122\1\123\1\115\1\120\1\131\1\114\1\60\1" - "\114\1\60\6\uffff\1\60\1\124\1\105\1\116\1\103\1\101\1\105\1\uffff" - "\1\105\1\60\1\101\1\124\4\uffff\1\60\1\104\1\60\1\101\1\60\1\101" - "\1\105\1\uffff\1\60\1\uffff\1\101\1\105\1\101\1\124\1\103\1\124" - "\1\123\2\124\1\60\1\105\1\111\2\116\1\103\1\124\1\60\1\116\1\101" - "\1\124\1\137\1\uffff\1\124\1\117\1\123\1\60\1\116\3\uffff\1\122" - "\1\116\1\uffff\1\123\1\101\1\111\1\123\1\125\1\105\1\124\1\111\2" - "\uffff\1\60\1\125\1\123\1\60\1\105\1\115\1\60\1\uffff\1\111\2\uffff" - "\1\60\1\123\2\124\1\116\1\60\1\114\1\uffff\1\114\1\60\1\uffff\1" - "\114\1\uffff\1\124\1\uffff\1\124\1\116\1\uffff\1\124\1\60\1\114" - "\1\60\2\105\1\124\1\105\1\131\1\uffff\1\122\1\123\1\105\1\116\1" - "\113\1\131\1\uffff\1\104\1\124\1\114\1\101\1\117\1\60\1\116\1\60" - "\1\uffff\1\60\1\103\1\60\1\107\1\101\1\115\1\117\1\60\1\122\1\104" - "\1\131\1\103\1\uffff\1\103\1\123\1\uffff\2\60\1\uffff\1\117\1\116" - "\1\uffff\1\124\2\60\1\124\1\uffff\1\60\1\123\1\uffff\1\105\2\111" - "\1\101\1\105\1\uffff\1\114\1\uffff\1\104\1\60\1\122\1\115\1\120" - "\1\116\1\111\1\103\1\105\1\60\1\120\3\60\1\124\1\125\1\uffff\1\60" - "\2\uffff\1\105\1\uffff\2\60\1\105\1\116\1\uffff\1\105\3\60\2\124" - "\2\uffff\1\125\1\113\1\101\2\uffff\1\117\1\123\1\uffff\1\60\1\104" - "\1\126\1\117\1\115\1\60\1\131\1\123\1\125\1\uffff\1\125\1\60\1\105" - "\1\101\1\117\1\124\1\114\1\uffff\1\105\3\uffff\1\105\1\124\1\uffff" - "\1\104\2\uffff\1\123\2\60\3\uffff\1\125\1\101\1\124\1\60\1\124\1" - "\116\1\60\1\uffff\1\60\1\105\1\116\1\105\1\uffff\2\60\1\122\1\103" - "\1\uffff\1\60\1\124\1\116\1\111\2\60\1\123\3\60\2\uffff\1\101\1" - "\122\1\124\1\105\1\uffff\1\105\1\60\2\uffff\3\60\2\uffff\1\105\1" - "\124\1\uffff\1\111\1\60\1\117\2\uffff\1\60\3\uffff\1\114\2\105\1" - "\60\1\123\4\uffff\1\60\1\125\1\126\1\uffff\1\116\1\uffff\1\114\1" - "\60\1\123\1\uffff\1\60\1\uffff\1\122\1\105\2\60\1\uffff\1\60\1\uffff" - "\1\105\1\60\3\uffff\1\60\2\uffff" + "\1\103\1\106\1\104\1\116\1\104\1\123\2\116\1\105\1\122\1\111\1\125" + "\1\105\1\101\1\126\1\102\1\116\1\107\1\117\1\120\1\115\1\120\1\130" + "\1\105\1\60\1\123\1\125\1\57\1\60\1\120\1\116\1\115\1\105\1\114" + "\1\101\1\102\2\124\1\60\1\124\1\101\1\111\6\uffff\1\122\1\123\1" + "\117\1\105\1\110\2\uffff\1\56\1\101\1\105\2\60\1\127\1\60\1\122" + "\1\106\1\101\1\111\1\105\2\124\1\105\1\60\1\116\1\60\1\105\1\117" + "\1\105\1\117\1\uffff\1\124\1\60\1\115\1\122\1\123\1\60\1\101\1\111" + "\1\101\1\111\1\125\1\105\1\60\1\111\1\107\1\111\1\60\1\124\1\125" + "\1\124\1\120\1\101\1\103\1\117\1\123\1\103\1\122\1\120\1\125\1\105" + "\1\123\1\103\1\124\1\117\1\116\1\104\3\105\1\124\1\116\1\123\1\uffff" + "\1\113\1\105\1\uffff\1\125\2\uffff\2\117\1\115\1\116\1\101\1\114" + "\1\116\2\105\1\60\1\uffff\1\110\1\60\1\127\1\116\1\60\1\105\1\103" + "\1\60\1\101\1\131\1\122\2\uffff\1\105\1\uffff\1\105\1\111\1\131" + "\1\126\1\122\1\123\1\131\1\60\1\uffff\1\124\1\uffff\1\105\1\122" + "\1\124\1\117\1\114\1\105\1\110\1\114\1\105\1\60\1\116\2\122\1\105" + "\1\uffff\2\60\1\105\1\uffff\1\125\1\123\1\115\1\105\1\104\2\122" + "\1\uffff\1\105\1\104\1\105\1\124\1\uffff\1\122\1\123\1\111\1\60" + "\1\115\1\111\1\105\1\111\1\122\1\55\1\111\1\124\1\105\1\60\1\103" + "\1\60\1\124\2\105\1\131\1\116\1\101\1\105\2\122\6\60\1\124\2\122" + "\2\105\2\124\1\60\1\116\1\114\1\122\1\uffff\1\125\1\60\1\uffff\2" + "\60\1\uffff\1\60\1\113\1\uffff\1\116\1\123\1\116\1\122\1\107\1\114" + "\1\60\1\105\1\60\1\124\1\120\1\uffff\1\125\1\130\1\117\1\101\1\102" + "\1\116\1\122\1\124\1\103\1\116\1\101\1\117\1\127\1\uffff\1\124\1" + "\105\1\116\1\123\1\122\2\uffff\1\60\1\114\1\111\1\105\1\122\1\60" + "\1\116\1\105\1\122\2\60\1\117\1\111\1\55\1\123\1\uffff\1\116\1\124" + "\2\104\1\111\1\uffff\1\106\2\60\1\uffff\1\124\1\uffff\1\122\1\123" + "\1\115\1\120\1\131\1\114\1\60\1\114\1\60\6\uffff\1\60\1\124\1\105" + "\1\116\1\103\1\101\1\105\1\uffff\1\105\1\60\1\101\1\124\4\uffff" + "\1\60\1\104\1\60\1\101\1\60\1\101\1\105\1\uffff\1\60\1\uffff\1\101" + "\1\105\1\101\1\124\1\103\1\124\1\123\2\124\1\60\1\105\1\111\2\116" + "\1\103\1\124\1\60\1\116\1\101\1\124\1\137\1\uffff\1\124\1\117\1" + "\123\1\126\1\uffff\1\60\1\116\1\126\2\uffff\1\122\1\116\1\uffff" + "\1\123\1\101\1\111\1\123\1\125\1\105\1\124\1\111\2\uffff\1\60\1" + "\125\1\123\1\60\1\105\1\115\1\60\1\uffff\1\111\2\uffff\1\60\1\123" + "\2\124\1\116\1\60\1\114\1\uffff\1\114\1\60\1\uffff\1\114\1\uffff" + "\1\124\1\uffff\1\124\1\116\1\uffff\1\124\1\60\1\114\1\60\2\105\1" + "\124\1\105\1\131\1\uffff\1\122\1\123\1\105\1\116\1\113\1\131\1\uffff" + "\1\104\1\124\1\114\1\101\1\117\1\60\1\116\1\60\1\105\1\uffff\1\60" + "\1\103\1\105\1\60\1\107\1\101\1\115\1\117\1\60\1\122\1\104\1\131" + "\1\103\1\uffff\1\103\1\123\1\uffff\2\60\1\uffff\1\117\1\116\1\uffff" + "\1\124\2\60\1\124\1\uffff\1\60\1\123\1\uffff\1\105\2\111\1\101\1" + "\105\1\uffff\1\114\1\uffff\1\104\1\60\1\122\1\115\1\120\1\116\1" + "\111\1\103\1\105\1\60\1\120\3\60\1\124\1\125\1\uffff\1\60\1\uffff" + "\1\122\1\uffff\1\105\1\122\1\uffff\2\60\1\105\1\116\1\uffff\1\105" + "\3\60\2\124\2\uffff\1\125\1\113\1\101\2\uffff\1\117\1\123\1\uffff" + "\1\60\1\104\1\126\1\117\1\115\1\60\1\131\1\123\1\125\1\uffff\1\125" + "\1\60\1\105\1\101\1\117\1\124\1\114\1\uffff\1\105\3\uffff\1\105" + "\1\124\1\uffff\1\60\1\104\1\60\2\uffff\1\123\2\60\3\uffff\1\125" + "\1\101\1\124\1\60\1\124\1\116\1\60\1\uffff\1\60\1\105\1\116\1\105" + "\1\uffff\2\60\1\122\1\103\1\uffff\1\60\1\124\1\116\1\111\2\60\1" + "\123\1\60\1\uffff\1\60\1\uffff\1\60\2\uffff\1\101\1\122\1\124\1" + "\105\1\uffff\1\105\1\60\2\uffff\3\60\2\uffff\1\105\1\124\1\uffff" + "\1\111\1\60\1\117\2\uffff\1\60\3\uffff\1\114\2\105\1\60\1\123\4" + "\uffff\1\60\1\125\1\126\1\uffff\1\116\1\uffff\1\114\1\60\1\123\1" + "\uffff\1\60\1\uffff\1\122\1\105\2\60\1\uffff\1\60\1\uffff\1\105" + "\1\60\3\uffff\1\60\2\uffff" ) DFA21_max = DFA.unpack( @@ -8415,14 +8529,14 @@ class DFA14(DFA): "\156\1\162\1\151\1\165\2\151\1\157\1\uffff\1\76\2\75\1\157\1\154" "\1\163\2\uffff\1\56\1\71\21\uffff\1\167\1\171\1\147\1\156\1\162" "\1\164\1\170\1\164\1\145\1\144\1\163\1\164\1\162\1\172\1\162\1\157" - "\1\141\2\154\1\146\1\164\1\156\1\144\1\156\1\163\2\156\1\145\1\162" - "\1\157\1\165\1\145\1\162\1\166\1\143\1\163\1\147\1\157\1\160\1\155" - "\1\160\1\170\1\151\1\172\1\163\1\165\2\172\1\160\2\156\1\145\1\154" - "\1\141\1\142\2\164\1\172\1\164\1\145\1\151\6\uffff\1\162\1\163\1" - "\157\1\145\1\150\2\uffff\1\71\1\141\1\145\2\172\1\167\1\172\1\162" - "\1\146\1\141\1\151\1\145\2\164\1\145\1\172\1\156\1\172\1\145\1\157" - "\1\145\1\157\1\uffff\1\164\1\172\1\155\1\162\1\163\1\172\1\141\1" - "\151\1\141\1\165\1\145\1\172\1\151\1\147\2\151\1\172\1\164\1\165" + "\1\141\2\154\1\146\1\164\1\144\2\156\1\163\2\156\1\145\1\162\1\157" + "\1\165\1\145\1\162\1\166\1\143\1\163\1\147\1\157\1\160\1\155\1\160" + "\1\170\1\151\1\172\1\163\1\165\2\172\1\160\2\156\1\145\1\154\1\141" + "\1\142\2\164\1\172\1\164\1\145\1\151\6\uffff\1\162\1\163\1\157\1" + "\145\1\150\2\uffff\1\71\1\141\1\145\2\172\1\167\1\172\1\162\1\146" + "\1\141\1\151\1\145\2\164\1\145\1\172\1\156\1\172\1\145\1\157\1\145" + "\1\157\1\uffff\1\164\1\172\1\155\1\162\1\163\1\172\1\141\1\151\1" + "\141\1\163\1\165\1\145\1\172\1\163\1\147\1\151\1\172\1\164\1\165" "\1\164\1\160\1\164\1\166\1\157\1\163\1\143\1\164\1\160\1\165\1\145" "\1\163\1\143\2\164\1\156\1\144\3\145\1\164\1\156\1\163\1\uffff\1" "\153\1\145\1\uffff\1\165\2\uffff\2\157\1\155\1\163\1\141\1\154\1" @@ -8430,79 +8544,81 @@ class DFA14(DFA): "\1\172\1\141\1\171\1\162\2\uffff\1\145\1\uffff\1\145\1\151\1\171" "\1\166\1\162\1\163\1\171\1\172\1\uffff\1\164\1\uffff\1\145\1\162" "\1\171\1\157\1\154\1\145\1\157\1\154\1\145\1\172\3\162\1\145\1\uffff" - "\2\172\1\145\1\uffff\1\165\1\163\1\155\2\162\1\uffff\1\144\1\145" - "\1\144\1\164\1\uffff\1\162\1\163\1\151\1\172\1\155\1\151\1\145\1" - "\151\1\162\1\55\1\151\1\164\1\145\1\172\1\143\1\172\1\164\2\145" - "\1\171\1\156\1\141\1\145\2\162\6\172\1\164\2\162\2\145\2\164\1\172" - "\1\156\1\154\1\162\1\uffff\1\165\1\172\1\uffff\2\172\1\uffff\1\172" - "\1\153\1\uffff\1\156\1\163\1\156\1\162\1\147\1\154\1\172\1\145\1" - "\172\1\164\1\160\1\uffff\1\165\1\170\1\157\1\141\1\142\1\163\1\162" - "\1\164\1\143\1\156\1\141\1\157\1\167\1\uffff\1\164\1\145\1\156\1" - "\163\1\162\2\uffff\1\172\1\154\1\151\1\145\1\156\1\145\3\172\1\157" - "\1\151\1\55\1\163\1\uffff\1\156\1\164\1\163\1\144\1\151\1\uffff" - "\1\146\2\172\1\uffff\1\164\1\uffff\1\162\1\163\1\155\1\160\1\171" - "\1\154\1\172\1\154\1\172\6\uffff\1\172\1\164\1\145\1\156\1\143\1" - "\141\1\145\1\uffff\1\145\1\172\1\141\1\164\4\uffff\1\172\1\144\1" - "\172\1\141\1\172\1\141\1\145\1\uffff\1\172\1\uffff\1\141\1\145\1" - "\141\1\164\1\143\1\164\1\163\2\164\1\172\1\145\1\151\2\156\1\143" - "\1\164\1\172\1\156\1\141\1\164\1\137\1\uffff\1\164\1\157\1\163\1" - "\172\1\156\3\uffff\1\162\1\156\1\uffff\1\163\1\141\1\151\1\163\1" - "\165\1\145\1\164\1\151\2\uffff\1\172\1\165\1\163\1\172\1\145\1\155" - "\1\172\1\uffff\1\151\2\uffff\1\172\1\163\2\164\1\156\1\172\1\154" - "\1\uffff\1\154\1\172\1\uffff\1\154\1\uffff\1\164\1\uffff\1\164\1" - "\156\1\uffff\1\164\1\172\1\154\1\172\2\145\1\164\1\145\1\171\1\uffff" - "\1\162\1\163\1\145\1\156\1\153\1\171\1\uffff\1\144\1\164\1\154\1" - "\141\1\157\1\172\1\156\1\172\1\uffff\1\172\1\143\1\172\1\147\1\141" - "\1\155\1\157\1\172\1\162\1\144\1\171\1\143\1\uffff\1\143\1\163\1" - "\uffff\2\172\1\uffff\1\157\1\156\1\uffff\1\164\2\172\1\164\1\uffff" - "\1\172\1\163\1\uffff\1\145\2\151\1\141\1\145\1\uffff\1\154\1\uffff" - "\1\163\1\172\1\162\1\155\1\160\1\156\1\151\1\143\1\145\1\172\1\160" - "\3\172\1\164\1\165\1\uffff\1\172\2\uffff\1\145\1\uffff\2\172\1\145" - "\1\156\1\uffff\1\145\3\172\2\164\2\uffff\1\165\1\153\1\141\2\uffff" - "\1\157\1\163\1\uffff\1\172\1\144\1\166\1\157\1\155\1\172\1\171\1" - "\163\1\165\1\uffff\1\165\1\172\1\145\1\141\1\157\1\164\1\154\1\uffff" - "\1\145\3\uffff\1\145\1\164\1\uffff\1\144\2\uffff\1\163\2\172\3\uffff" - "\1\165\1\141\1\164\1\172\1\164\1\156\1\172\1\uffff\1\172\1\145\1" - "\156\1\145\1\uffff\2\172\1\162\1\143\1\uffff\1\172\1\164\1\156\1" - "\151\2\172\1\163\3\172\2\uffff\1\141\1\162\1\164\1\145\1\uffff\1" - "\145\1\172\2\uffff\3\172\2\uffff\1\145\1\164\1\uffff\1\151\1\172" - "\1\157\2\uffff\1\172\3\uffff\1\154\2\145\1\172\1\163\4\uffff\1\172" - "\1\165\1\166\1\uffff\1\156\1\uffff\1\154\1\172\1\163\1\uffff\1\172" - "\1\uffff\1\162\1\145\2\172\1\uffff\1\172\1\uffff\1\145\1\172\3\uffff" - "\1\172\2\uffff" + "\2\172\1\145\1\uffff\1\165\1\163\1\155\1\145\1\144\2\162\1\uffff" + "\1\145\1\144\1\145\1\164\1\uffff\1\162\1\163\1\151\1\172\1\155\1" + "\151\1\145\1\151\1\162\1\55\1\151\1\164\1\145\1\172\1\143\1\172" + "\1\164\2\145\1\171\1\156\1\141\1\145\2\162\6\172\1\164\2\162\2\145" + "\2\164\1\172\1\156\1\154\1\162\1\uffff\1\165\1\172\1\uffff\2\172" + "\1\uffff\1\172\1\153\1\uffff\1\156\1\163\1\156\1\162\1\147\1\154" + "\1\172\1\145\1\172\1\164\1\160\1\uffff\1\165\1\170\1\157\1\141\1" + "\142\1\163\1\162\1\164\1\143\1\156\1\141\1\157\1\167\1\uffff\1\164" + "\1\145\1\156\1\163\1\162\2\uffff\1\172\1\154\1\151\1\145\1\162\1" + "\172\1\156\1\145\1\162\2\172\1\157\1\151\1\55\1\163\1\uffff\1\156" + "\1\164\1\163\1\144\1\151\1\uffff\1\146\2\172\1\uffff\1\164\1\uffff" + "\1\162\1\163\1\155\1\160\1\171\1\154\1\172\1\154\1\172\6\uffff\1" + "\172\1\164\1\145\1\156\1\143\1\141\1\145\1\uffff\1\145\1\172\1\141" + "\1\164\4\uffff\1\172\1\144\1\172\1\141\1\172\1\141\1\145\1\uffff" + "\1\172\1\uffff\1\141\1\145\1\141\1\164\1\143\1\164\1\163\2\164\1" + "\172\1\145\1\151\2\156\1\143\1\164\1\172\1\156\1\141\1\164\1\137" + "\1\uffff\1\164\1\157\1\163\1\166\1\uffff\1\172\1\156\1\166\2\uffff" + "\1\162\1\156\1\uffff\1\163\1\141\1\151\1\163\1\165\1\145\1\164\1" + "\151\2\uffff\1\172\1\165\1\163\1\172\1\145\1\155\1\172\1\uffff\1" + "\151\2\uffff\1\172\1\163\2\164\1\156\1\172\1\154\1\uffff\1\154\1" + "\172\1\uffff\1\154\1\uffff\1\164\1\uffff\1\164\1\156\1\uffff\1\164" + "\1\172\1\154\1\172\2\145\1\164\1\145\1\171\1\uffff\1\162\1\163\1" + "\145\1\156\1\153\1\171\1\uffff\1\144\1\164\1\154\1\141\1\157\1\172" + "\1\156\1\172\1\145\1\uffff\1\172\1\143\1\145\1\172\1\147\1\141\1" + "\155\1\157\1\172\1\162\1\144\1\171\1\143\1\uffff\1\143\1\163\1\uffff" + "\2\172\1\uffff\1\157\1\156\1\uffff\1\164\2\172\1\164\1\uffff\1\172" + "\1\163\1\uffff\1\145\2\151\1\141\1\145\1\uffff\1\154\1\uffff\1\163" + "\1\172\1\162\1\155\1\160\1\156\1\151\1\143\1\145\1\172\1\160\3\172" + "\1\164\1\165\1\uffff\1\172\1\uffff\1\162\1\uffff\1\145\1\162\1\uffff" + "\2\172\1\145\1\156\1\uffff\1\145\3\172\2\164\2\uffff\1\165\1\153" + "\1\141\2\uffff\1\157\1\163\1\uffff\1\172\1\144\1\166\1\157\1\155" + "\1\172\1\171\1\163\1\165\1\uffff\1\165\1\172\1\145\1\141\1\157\1" + "\164\1\154\1\uffff\1\145\3\uffff\1\145\1\164\1\uffff\1\172\1\144" + "\1\172\2\uffff\1\163\2\172\3\uffff\1\165\1\141\1\164\1\172\1\164" + "\1\156\1\172\1\uffff\1\172\1\145\1\156\1\145\1\uffff\2\172\1\162" + "\1\143\1\uffff\1\172\1\164\1\156\1\151\2\172\1\163\1\172\1\uffff" + "\1\172\1\uffff\1\172\2\uffff\1\141\1\162\1\164\1\145\1\uffff\1\145" + "\1\172\2\uffff\3\172\2\uffff\1\145\1\164\1\uffff\1\151\1\172\1\157" + "\2\uffff\1\172\3\uffff\1\154\2\145\1\172\1\163\4\uffff\1\172\1\165" + "\1\166\1\uffff\1\156\1\uffff\1\154\1\172\1\163\1\uffff\1\172\1\uffff" + "\1\162\1\145\2\172\1\uffff\1\172\1\uffff\1\145\1\172\3\uffff\1\172" + "\2\uffff" ) DFA21_accept = DFA.unpack( "\1\uffff\1\1\6\uffff\1\11\4\uffff\1\17\1\20\1\22\1\23\1\24\20\uffff" - "\1\130\6\uffff\1\u0094\1\u0095\2\uffff\1\u0098\1\2\1\21\1\3\1\27" - "\1\4\1\5\1\u0099\1\25\1\6\1\131\1\7\1\132\1\143\1\155\1\16\1\10" - "\75\uffff\1\154\1\142\1\145\1\144\1\147\1\146\5\uffff\1\u0096\1" - "\u0097\26\uffff\1\101\52\uffff\1\122\2\uffff\1\133\1\uffff\1\135" - "\1\76\12\uffff\1\151\13\uffff\1\125\1\26\1\uffff\1\153\10\uffff" - "\1\150\1\uffff\1\33\16\uffff\1\66\3\uffff\1\30\5\uffff\1\157\4\uffff" - "\1\156\52\uffff\1\134\2\uffff\1\124\2\uffff\1\152\2\uffff\1\174" - "\13\uffff\1\65\15\uffff\1\100\5\uffff\1\121\1\141\15\uffff\1\34" - "\5\uffff\1\163\3\uffff\1\75\1\uffff\1\64\11\uffff\1\50\1\54\1\77" - "\1\105\1\126\1\160\7\uffff\1\104\4\uffff\1\123\1\u008c\1\127\1\167" - "\7\uffff\1\u0086\1\uffff\1\13\25\uffff\1\161\5\uffff\1\u0092\1\70" - "\1\u0093\2\uffff\1\164\10\uffff\1\52\1\53\7\uffff\1\37\1\uffff\1" - "\46\1\61\7\uffff\1\74\2\uffff\1\176\1\uffff\1\12\1\uffff\1\72\2" - "\uffff\1\u008d\11\uffff\1\67\6\uffff\1\113\10\uffff\1\44\14\uffff" - "\1\u0088\2\uffff\1\170\2\uffff\1\175\2\uffff\1\u008b\4\uffff\1\102" - "\2\uffff\1\103\5\uffff\1\u0084\1\uffff\1\43\20\uffff\1\110\1\uffff" - "\1\31\1\45\1\uffff\1\32\4\uffff\1\47\6\uffff\1\u0082\1\u008a\3\uffff" - "\1\73\1\u0081\2\uffff\1\172\11\uffff\1\60\7\uffff\1\177\1\uffff" - "\1\115\1\166\1\114\2\uffff\1\111\1\uffff\1\42\1\165\3\uffff\1\62" - "\1\63\1\36\7\uffff\1\u0089\4\uffff\1\71\4\uffff\1\171\12\uffff\1" - "\41\1\55\4\uffff\1\40\2\uffff\1\u0087\1\u008e\3\uffff\1\14\1\51" - "\2\uffff\1\u0083\3\uffff\1\173\1\u0085\1\uffff\1\15\1\116\1\35\5" - "\uffff\1\117\1\107\1\136\1\162\3\uffff\1\112\1\uffff\1\u008f\3\uffff" - "\1\u0080\1\uffff\1\56\4\uffff\1\137\1\uffff\1\u0090\2\uffff\1\120" - "\1\57\1\u0091\1\uffff\1\106\1\140" + "\1\132\6\uffff\1\u0096\1\u0097\2\uffff\1\u009a\1\2\1\21\1\3\1\27" + "\1\4\1\5\1\u009b\1\25\1\6\1\133\1\7\1\134\1\145\1\157\1\16\1\10" + "\75\uffff\1\156\1\144\1\147\1\146\1\151\1\150\5\uffff\1\u0098\1" + "\u0099\26\uffff\1\103\52\uffff\1\124\2\uffff\1\135\1\uffff\1\137" + "\1\100\12\uffff\1\153\13\uffff\1\127\1\26\1\uffff\1\155\10\uffff" + "\1\152\1\uffff\1\33\16\uffff\1\70\3\uffff\1\30\7\uffff\1\161\4\uffff" + "\1\160\52\uffff\1\136\2\uffff\1\126\2\uffff\1\154\2\uffff\1\176" + "\13\uffff\1\67\15\uffff\1\102\5\uffff\1\123\1\143\17\uffff\1\34" + "\5\uffff\1\165\3\uffff\1\77\1\uffff\1\66\11\uffff\1\52\1\56\1\101" + "\1\107\1\130\1\162\7\uffff\1\106\4\uffff\1\125\1\u008e\1\131\1\171" + "\7\uffff\1\u0088\1\uffff\1\13\25\uffff\1\163\4\uffff\1\u0094\3\uffff" + "\1\u0095\1\72\2\uffff\1\166\10\uffff\1\54\1\55\7\uffff\1\37\1\uffff" + "\1\50\1\63\7\uffff\1\76\2\uffff\1\u0080\1\uffff\1\12\1\uffff\1\74" + "\2\uffff\1\u008f\11\uffff\1\71\6\uffff\1\115\11\uffff\1\46\15\uffff" + "\1\u008a\2\uffff\1\172\2\uffff\1\177\2\uffff\1\u008d\4\uffff\1\104" + "\2\uffff\1\105\5\uffff\1\u0086\1\uffff\1\45\20\uffff\1\112\1\uffff" + "\1\31\1\uffff\1\47\2\uffff\1\32\4\uffff\1\51\6\uffff\1\u0084\1\u008c" + "\3\uffff\1\75\1\u0083\2\uffff\1\174\11\uffff\1\62\7\uffff\1\u0081" + "\1\uffff\1\117\1\170\1\116\2\uffff\1\113\3\uffff\1\44\1\167\3\uffff" + "\1\64\1\65\1\36\7\uffff\1\u008b\4\uffff\1\73\4\uffff\1\173\10\uffff" + "\1\41\1\uffff\1\42\1\uffff\1\43\1\57\4\uffff\1\40\2\uffff\1\u0089" + "\1\u0090\3\uffff\1\14\1\53\2\uffff\1\u0085\3\uffff\1\175\1\u0087" + "\1\uffff\1\15\1\120\1\35\5\uffff\1\121\1\111\1\140\1\164\3\uffff" + "\1\114\1\uffff\1\u0091\3\uffff\1\u0082\1\uffff\1\60\4\uffff\1\141" + "\1\uffff\1\u0092\2\uffff\1\122\1\61\1\u0093\1\uffff\1\110\1\142" ) DFA21_special = DFA.unpack( - "\u02dc\uffff" + "\u02ea\uffff" ) @@ -8537,8 +8653,8 @@ class DFA14(DFA): DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\120\1\uffff\1\121\35\uffff\1\120\1\uffff\1\121"), - DFA.unpack("\1\123\3\uffff\1\122\3\uffff\1\124\27\uffff\1\123\3" - "\uffff\1\122\3\uffff\1\124"), + DFA.unpack("\1\124\3\uffff\1\122\3\uffff\1\123\27\uffff\1\124\3" + "\uffff\1\122\3\uffff\1\123"), DFA.unpack("\1\130\7\uffff\1\127\1\uffff\1\126\3\uffff\1\125\21" "\uffff\1\130\7\uffff\1\127\1\uffff\1\126\3\uffff\1\125"), DFA.unpack("\1\131\37\uffff\1\131"), @@ -8618,9 +8734,9 @@ class DFA14(DFA): DFA.unpack("\1\u00a4\37\uffff\1\u00a4"), DFA.unpack("\1\u00a6\2\uffff\1\u00a5\34\uffff\1\u00a6\2\uffff\1" "\u00a5"), - DFA.unpack("\1\u00a9\6\uffff\1\u00aa\1\u00a7\2\uffff\1\u00ab\2\uffff" - "\1\u00a8\21\uffff\1\u00a9\6\uffff\1\u00aa\1\u00a7\2\uffff\1\u00ab" - "\2\uffff\1\u00a8"), + DFA.unpack("\1\u00aa\6\uffff\1\u00ab\1\u00a7\2\uffff\1\u00a8\2\uffff" + "\1\u00a9\21\uffff\1\u00aa\6\uffff\1\u00ab\1\u00a7\2\uffff\1\u00a8" + "\2\uffff\1\u00a9"), DFA.unpack("\1\u00ac\37\uffff\1\u00ac"), DFA.unpack("\1\u00ad\37\uffff\1\u00ad"), DFA.unpack("\1\u00af\11\uffff\1\u00ae\25\uffff\1\u00af\11\uffff" @@ -8716,117 +8832,116 @@ class DFA14(DFA): DFA.unpack("\1\u0108\37\uffff\1\u0108"), DFA.unpack("\1\u0109\37\uffff\1\u0109"), DFA.unpack("\1\u010a\37\uffff\1\u010a"), - DFA.unpack("\1\u010b\37\uffff\1\u010b"), - DFA.unpack("\1\u010c\37\uffff\1\u010c"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u010c\11\uffff\1\u010b\25\uffff\1\u010c\11\uffff" + "\1\u010b"), + DFA.unpack("\1\u010d\37\uffff\1\u010d"), DFA.unpack("\1\u010e\37\uffff\1\u010e"), - DFA.unpack("\1\u010f\37\uffff\1\u010f"), - DFA.unpack("\1\u0110\37\uffff\1\u0110"), - DFA.unpack("\1\u0111\37\uffff\1\u0111"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0111\11\uffff\1\u0110\25\uffff\1\u0111\11\uffff" + "\1\u0110"), + DFA.unpack("\1\u0112\37\uffff\1\u0112"), DFA.unpack("\1\u0113\37\uffff\1\u0113"), - DFA.unpack("\1\u0114\37\uffff\1\u0114"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0115\37\uffff\1\u0115"), DFA.unpack("\1\u0116\37\uffff\1\u0116"), - DFA.unpack("\1\u0117\22\uffff\1\u0118\14\uffff\1\u0117\22\uffff" - "\1\u0118"), + DFA.unpack("\1\u0117\37\uffff\1\u0117"), + DFA.unpack("\1\u0118\37\uffff\1\u0118"), DFA.unpack("\1\u0119\22\uffff\1\u011a\14\uffff\1\u0119\22\uffff" "\1\u011a"), - DFA.unpack("\1\u011b\37\uffff\1\u011b"), - DFA.unpack("\1\u011c\37\uffff\1\u011c"), + DFA.unpack("\1\u011b\22\uffff\1\u011c\14\uffff\1\u011b\22\uffff" + "\1\u011c"), DFA.unpack("\1\u011d\37\uffff\1\u011d"), - DFA.unpack("\1\u011e\1\uffff\1\u011f\35\uffff\1\u011e\1\uffff\1" - "\u011f"), - DFA.unpack("\1\u0120\37\uffff\1\u0120"), - DFA.unpack("\1\u0121\37\uffff\1\u0121"), + DFA.unpack("\1\u011e\37\uffff\1\u011e"), + DFA.unpack("\1\u011f\37\uffff\1\u011f"), + DFA.unpack("\1\u0120\1\uffff\1\u0121\35\uffff\1\u0120\1\uffff\1" + "\u0121"), DFA.unpack("\1\u0122\37\uffff\1\u0122"), DFA.unpack("\1\u0123\37\uffff\1\u0123"), DFA.unpack("\1\u0124\37\uffff\1\u0124"), DFA.unpack("\1\u0125\37\uffff\1\u0125"), - DFA.unpack("\1\u0127\4\uffff\1\u0126\32\uffff\1\u0127\4\uffff\1" - "\u0126"), - DFA.unpack("\1\u0128\37\uffff\1\u0128"), - DFA.unpack("\1\u0129\37\uffff\1\u0129"), + DFA.unpack("\1\u0126\37\uffff\1\u0126"), + DFA.unpack("\1\u0127\37\uffff\1\u0127"), + DFA.unpack("\1\u0129\4\uffff\1\u0128\32\uffff\1\u0129\4\uffff\1" + "\u0128"), DFA.unpack("\1\u012a\37\uffff\1\u012a"), DFA.unpack("\1\u012b\37\uffff\1\u012b"), DFA.unpack("\1\u012c\37\uffff\1\u012c"), DFA.unpack("\1\u012d\37\uffff\1\u012d"), DFA.unpack("\1\u012e\37\uffff\1\u012e"), DFA.unpack("\1\u012f\37\uffff\1\u012f"), - DFA.unpack(""), DFA.unpack("\1\u0130\37\uffff\1\u0130"), DFA.unpack("\1\u0131\37\uffff\1\u0131"), DFA.unpack(""), DFA.unpack("\1\u0132\37\uffff\1\u0132"), - DFA.unpack(""), - DFA.unpack(""), DFA.unpack("\1\u0133\37\uffff\1\u0133"), + DFA.unpack(""), DFA.unpack("\1\u0134\37\uffff\1\u0134"), + DFA.unpack(""), + DFA.unpack(""), DFA.unpack("\1\u0135\37\uffff\1\u0135"), - DFA.unpack("\1\u0136\4\uffff\1\u0137\32\uffff\1\u0136\4\uffff\1" - "\u0137"), - DFA.unpack("\1\u0138\37\uffff\1\u0138"), - DFA.unpack("\1\u0139\37\uffff\1\u0139"), + DFA.unpack("\1\u0136\37\uffff\1\u0136"), + DFA.unpack("\1\u0137\37\uffff\1\u0137"), + DFA.unpack("\1\u0138\4\uffff\1\u0139\32\uffff\1\u0138\4\uffff\1" + "\u0139"), DFA.unpack("\1\u013a\37\uffff\1\u013a"), DFA.unpack("\1\u013b\37\uffff\1\u013b"), DFA.unpack("\1\u013c\37\uffff\1\u013c"), - DFA.unpack("\12\52\7\uffff\17\52\1\u013e\12\52\4\uffff\1\52\1\uffff" - "\17\52\1\u013e\12\52"), + DFA.unpack("\1\u013d\37\uffff\1\u013d"), + DFA.unpack("\1\u013e\37\uffff\1\u013e"), + DFA.unpack("\12\52\7\uffff\17\52\1\u0140\12\52\4\uffff\1\52\1\uffff" + "\17\52\1\u0140\12\52"), DFA.unpack(""), - DFA.unpack("\1\u013f\37\uffff\1\u013f"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0141\37\uffff\1\u0141"), - DFA.unpack("\1\u0142\37\uffff\1\u0142"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0143\37\uffff\1\u0143"), DFA.unpack("\1\u0144\37\uffff\1\u0144"), - DFA.unpack("\1\u0145\37\uffff\1\u0145"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0146\37\uffff\1\u0146"), DFA.unpack("\1\u0147\37\uffff\1\u0147"), - DFA.unpack("\1\u0148\37\uffff\1\u0148"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0149\37\uffff\1\u0149"), - DFA.unpack(""), - DFA.unpack(""), DFA.unpack("\1\u014a\37\uffff\1\u014a"), - DFA.unpack(""), DFA.unpack("\1\u014b\37\uffff\1\u014b"), + DFA.unpack(""), + DFA.unpack(""), DFA.unpack("\1\u014c\37\uffff\1\u014c"), + DFA.unpack(""), DFA.unpack("\1\u014d\37\uffff\1\u014d"), DFA.unpack("\1\u014e\37\uffff\1\u014e"), DFA.unpack("\1\u014f\37\uffff\1\u014f"), DFA.unpack("\1\u0150\37\uffff\1\u0150"), DFA.unpack("\1\u0151\37\uffff\1\u0151"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack(""), + DFA.unpack("\1\u0152\37\uffff\1\u0152"), DFA.unpack("\1\u0153\37\uffff\1\u0153"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), - DFA.unpack("\1\u0154\37\uffff\1\u0154"), DFA.unpack("\1\u0155\37\uffff\1\u0155"), - DFA.unpack("\1\u0156\1\u0157\3\uffff\1\u0158\32\uffff\1\u0156\1" - "\u0157\3\uffff\1\u0158"), - DFA.unpack("\1\u0159\37\uffff\1\u0159"), - DFA.unpack("\1\u015a\37\uffff\1\u015a"), + DFA.unpack(""), + DFA.unpack("\1\u0156\37\uffff\1\u0156"), + DFA.unpack("\1\u0157\37\uffff\1\u0157"), + DFA.unpack("\1\u0158\1\u0159\3\uffff\1\u015a\32\uffff\1\u0158\1" + "\u0159\3\uffff\1\u015a"), DFA.unpack("\1\u015b\37\uffff\1\u015b"), - DFA.unpack("\1\u015d\6\uffff\1\u015c\30\uffff\1\u015d\6\uffff\1" - "\u015c"), - DFA.unpack("\1\u015e\37\uffff\1\u015e"), - DFA.unpack("\1\u015f\37\uffff\1\u015f"), + DFA.unpack("\1\u015c\37\uffff\1\u015c"), + DFA.unpack("\1\u015d\37\uffff\1\u015d"), + DFA.unpack("\1\u015f\6\uffff\1\u015e\30\uffff\1\u015f\6\uffff\1" + "\u015e"), + DFA.unpack("\1\u0160\37\uffff\1\u0160"), + DFA.unpack("\1\u0161\37\uffff\1\u0161"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u0162\3\uffff\1\u0161\33\uffff\1\u0162\3\uffff\1" - "\u0161"), - DFA.unpack("\1\u0163\37\uffff\1\u0163"), - DFA.unpack("\1\u0164\37\uffff\1\u0164"), + DFA.unpack("\1\u0164\3\uffff\1\u0163\33\uffff\1\u0164\3\uffff\1" + "\u0163"), DFA.unpack("\1\u0165\37\uffff\1\u0165"), + DFA.unpack("\1\u0166\37\uffff\1\u0166"), + DFA.unpack("\1\u0167\37\uffff\1\u0167"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u0168\37\uffff\1\u0168"), - DFA.unpack(""), - DFA.unpack("\1\u0169\37\uffff\1\u0169"), DFA.unpack("\1\u016a\37\uffff\1\u016a"), + DFA.unpack(""), DFA.unpack("\1\u016b\37\uffff\1\u016b"), DFA.unpack("\1\u016c\37\uffff\1\u016c"), DFA.unpack("\1\u016d\37\uffff\1\u016d"), - DFA.unpack(""), DFA.unpack("\1\u016e\37\uffff\1\u016e"), DFA.unpack("\1\u016f\37\uffff\1\u016f"), DFA.unpack("\1\u0170\37\uffff\1\u0170"), @@ -8835,124 +8950,131 @@ class DFA14(DFA): DFA.unpack("\1\u0172\37\uffff\1\u0172"), DFA.unpack("\1\u0173\37\uffff\1\u0173"), DFA.unpack("\1\u0174\37\uffff\1\u0174"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0175\37\uffff\1\u0175"), + DFA.unpack(""), DFA.unpack("\1\u0176\37\uffff\1\u0176"), DFA.unpack("\1\u0177\37\uffff\1\u0177"), DFA.unpack("\1\u0178\37\uffff\1\u0178"), - DFA.unpack("\1\u0179\37\uffff\1\u0179"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u017a\37\uffff\1\u017a"), - DFA.unpack("\1\u017b"), + DFA.unpack("\1\u017b\37\uffff\1\u017b"), DFA.unpack("\1\u017c\37\uffff\1\u017c"), DFA.unpack("\1\u017d\37\uffff\1\u017d"), DFA.unpack("\1\u017e\37\uffff\1\u017e"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u017f"), DFA.unpack("\1\u0180\37\uffff\1\u0180"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0181\37\uffff\1\u0181"), DFA.unpack("\1\u0182\37\uffff\1\u0182"), - DFA.unpack("\1\u0183\37\uffff\1\u0183"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0184\37\uffff\1\u0184"), - DFA.unpack("\1\u0185\37\uffff\1\u0185"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0186\37\uffff\1\u0186"), DFA.unpack("\1\u0187\37\uffff\1\u0187"), DFA.unpack("\1\u0188\37\uffff\1\u0188"), DFA.unpack("\1\u0189\37\uffff\1\u0189"), DFA.unpack("\1\u018a\37\uffff\1\u018a"), + DFA.unpack("\1\u018b\37\uffff\1\u018b"), + DFA.unpack("\1\u018c\37\uffff\1\u018c"), + DFA.unpack("\1\u018d\37\uffff\1\u018d"), + DFA.unpack("\1\u018e\37\uffff\1\u018e"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u0191\37\uffff\1\u0191"), - DFA.unpack("\1\u0192\37\uffff\1\u0192"), - DFA.unpack("\1\u0193\37\uffff\1\u0193"), - DFA.unpack("\1\u0194\37\uffff\1\u0194"), DFA.unpack("\1\u0195\37\uffff\1\u0195"), DFA.unpack("\1\u0196\37\uffff\1\u0196"), DFA.unpack("\1\u0197\37\uffff\1\u0197"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0198\37\uffff\1\u0198"), DFA.unpack("\1\u0199\37\uffff\1\u0199"), DFA.unpack("\1\u019a\37\uffff\1\u019a"), DFA.unpack("\1\u019b\37\uffff\1\u019b"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u019d\37\uffff\1\u019d"), + DFA.unpack("\1\u019e\37\uffff\1\u019e"), + DFA.unpack("\1\u019f\37\uffff\1\u019f"), DFA.unpack(""), - DFA.unpack("\1\u019c\37\uffff\1\u019c"), + DFA.unpack("\1\u01a0\37\uffff\1\u01a0"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u01a1\37\uffff\1\u01a1"), - DFA.unpack(""), - DFA.unpack("\1\u01a2\37\uffff\1\u01a2"), - DFA.unpack("\1\u01a3\37\uffff\1\u01a3"), - DFA.unpack("\1\u01a4\37\uffff\1\u01a4"), DFA.unpack("\1\u01a5\37\uffff\1\u01a5"), + DFA.unpack(""), DFA.unpack("\1\u01a6\37\uffff\1\u01a6"), DFA.unpack("\1\u01a7\37\uffff\1\u01a7"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01a8\37\uffff\1\u01a8"), DFA.unpack("\1\u01a9\37\uffff\1\u01a9"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01aa\37\uffff\1\u01aa"), DFA.unpack("\1\u01ab\37\uffff\1\u01ab"), - DFA.unpack("\1\u01ac\37\uffff\1\u01ac"), - DFA.unpack(""), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u01ad\37\uffff\1\u01ad"), - DFA.unpack("\1\u01ae\37\uffff\1\u01ae"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u01af\37\uffff\1\u01af"), DFA.unpack("\1\u01b0\37\uffff\1\u01b0"), + DFA.unpack(""), DFA.unpack("\1\u01b1\37\uffff\1\u01b1"), - DFA.unpack("\1\u01b3\4\uffff\1\u01b2\32\uffff\1\u01b3\4\uffff\1" - "\u01b2"), + DFA.unpack("\1\u01b2\37\uffff\1\u01b2"), + DFA.unpack("\1\u01b3\37\uffff\1\u01b3"), DFA.unpack("\1\u01b4\37\uffff\1\u01b4"), DFA.unpack("\1\u01b5\37\uffff\1\u01b5"), - DFA.unpack("\1\u01b6\37\uffff\1\u01b6"), - DFA.unpack("\1\u01b7\37\uffff\1\u01b7"), + DFA.unpack("\1\u01b7\4\uffff\1\u01b6\32\uffff\1\u01b7\4\uffff\1" + "\u01b6"), DFA.unpack("\1\u01b8\37\uffff\1\u01b8"), DFA.unpack("\1\u01b9\37\uffff\1\u01b9"), DFA.unpack("\1\u01ba\37\uffff\1\u01ba"), - DFA.unpack(""), DFA.unpack("\1\u01bb\37\uffff\1\u01bb"), DFA.unpack("\1\u01bc\37\uffff\1\u01bc"), DFA.unpack("\1\u01bd\37\uffff\1\u01bd"), DFA.unpack("\1\u01be\37\uffff\1\u01be"), - DFA.unpack("\1\u01bf\37\uffff\1\u01bf"), DFA.unpack(""), - DFA.unpack(""), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01bf\37\uffff\1\u01bf"), + DFA.unpack("\1\u01c0\37\uffff\1\u01c0"), DFA.unpack("\1\u01c1\37\uffff\1\u01c1"), DFA.unpack("\1\u01c2\37\uffff\1\u01c2"), DFA.unpack("\1\u01c3\37\uffff\1\u01c3"), - DFA.unpack("\1\u01c4\37\uffff\1\u01c4"), - DFA.unpack("\1\u01c5\37\uffff\1\u01c5"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack(""), + DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01c5\37\uffff\1\u01c5"), + DFA.unpack("\1\u01c6\37\uffff\1\u01c6"), + DFA.unpack("\1\u01c7\37\uffff\1\u01c7"), + DFA.unpack("\1\u01c8\37\uffff\1\u01c8"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u01c9\37\uffff\1\u01c9"), DFA.unpack("\1\u01ca\37\uffff\1\u01ca"), - DFA.unpack("\1\u01cb"), + DFA.unpack("\1\u01cb\37\uffff\1\u01cb"), DFA.unpack("\1\u01cc\37\uffff\1\u01cc"), - DFA.unpack(""), - DFA.unpack("\1\u01cd\37\uffff\1\u01cd"), - DFA.unpack("\1\u01ce\37\uffff\1\u01ce"), - DFA.unpack("\1\u01d0\16\uffff\1\u01cf\20\uffff\1\u01d0\16\uffff" - "\1\u01cf"), - DFA.unpack("\1\u01d1\37\uffff\1\u01d1"), - DFA.unpack("\1\u01d2\37\uffff\1\u01d2"), - DFA.unpack(""), - DFA.unpack("\1\u01d3\37\uffff\1\u01d3"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01cf\37\uffff\1\u01cf"), + DFA.unpack("\1\u01d0\37\uffff\1\u01d0"), + DFA.unpack("\1\u01d1"), + DFA.unpack("\1\u01d2\37\uffff\1\u01d2"), DFA.unpack(""), - DFA.unpack("\1\u01d6\37\uffff\1\u01d6"), - DFA.unpack(""), + DFA.unpack("\1\u01d3\37\uffff\1\u01d3"), + DFA.unpack("\1\u01d4\37\uffff\1\u01d4"), + DFA.unpack("\1\u01d6\16\uffff\1\u01d5\20\uffff\1\u01d6\16\uffff" + "\1\u01d5"), DFA.unpack("\1\u01d7\37\uffff\1\u01d7"), DFA.unpack("\1\u01d8\37\uffff\1\u01d8"), + DFA.unpack(""), DFA.unpack("\1\u01d9\37\uffff\1\u01d9"), - DFA.unpack("\1\u01da\37\uffff\1\u01da"), - DFA.unpack("\1\u01db\37\uffff\1\u01db"), - DFA.unpack("\1\u01dc\37\uffff\1\u01dc"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack(""), + DFA.unpack("\1\u01dc\37\uffff\1\u01dc"), + DFA.unpack(""), + DFA.unpack("\1\u01dd\37\uffff\1\u01dd"), DFA.unpack("\1\u01de\37\uffff\1\u01de"), + DFA.unpack("\1\u01df\37\uffff\1\u01df"), + DFA.unpack("\1\u01e0\37\uffff\1\u01e0"), + DFA.unpack("\1\u01e1\37\uffff\1\u01e1"), + DFA.unpack("\1\u01e2\37\uffff\1\u01e2"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01e4\37\uffff\1\u01e4"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack(""), @@ -8961,286 +9083,296 @@ class DFA14(DFA): DFA.unpack(""), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u01e1\37\uffff\1\u01e1"), - DFA.unpack("\1\u01e2\37\uffff\1\u01e2"), - DFA.unpack("\1\u01e3\37\uffff\1\u01e3"), - DFA.unpack("\1\u01e4\37\uffff\1\u01e4"), - DFA.unpack("\1\u01e5\37\uffff\1\u01e5"), - DFA.unpack("\1\u01e6\37\uffff\1\u01e6"), - DFA.unpack(""), DFA.unpack("\1\u01e7\37\uffff\1\u01e7"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01e8\37\uffff\1\u01e8"), DFA.unpack("\1\u01e9\37\uffff\1\u01e9"), DFA.unpack("\1\u01ea\37\uffff\1\u01ea"), + DFA.unpack("\1\u01eb\37\uffff\1\u01eb"), + DFA.unpack("\1\u01ec\37\uffff\1\u01ec"), + DFA.unpack(""), + DFA.unpack("\1\u01ed\37\uffff\1\u01ed"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01ef\37\uffff\1\u01ef"), + DFA.unpack("\1\u01f0\37\uffff\1\u01f0"), DFA.unpack(""), DFA.unpack(""), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u01ec\37\uffff\1\u01ec"), + DFA.unpack("\1\u01f2\37\uffff\1\u01f2"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u01ee\37\uffff\1\u01ee"), + DFA.unpack("\1\u01f4\37\uffff\1\u01f4"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u01f0\37\uffff\1\u01f0"), - DFA.unpack("\1\u01f1\37\uffff\1\u01f1"), + DFA.unpack("\1\u01f6\37\uffff\1\u01f6"), + DFA.unpack("\1\u01f7\37\uffff\1\u01f7"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), - DFA.unpack("\1\u01f3\37\uffff\1\u01f3"), - DFA.unpack("\1\u01f4\37\uffff\1\u01f4"), - DFA.unpack("\1\u01f5\37\uffff\1\u01f5"), - DFA.unpack("\1\u01f6\37\uffff\1\u01f6"), - DFA.unpack("\1\u01f7\37\uffff\1\u01f7"), - DFA.unpack("\1\u01f8\37\uffff\1\u01f8"), DFA.unpack("\1\u01f9\37\uffff\1\u01f9"), DFA.unpack("\1\u01fa\37\uffff\1\u01fa"), DFA.unpack("\1\u01fb\37\uffff\1\u01fb"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u01fc\37\uffff\1\u01fc"), DFA.unpack("\1\u01fd\37\uffff\1\u01fd"), DFA.unpack("\1\u01fe\37\uffff\1\u01fe"), DFA.unpack("\1\u01ff\37\uffff\1\u01ff"), DFA.unpack("\1\u0200\37\uffff\1\u0200"), DFA.unpack("\1\u0201\37\uffff\1\u0201"), - DFA.unpack("\1\u0202\37\uffff\1\u0202"), - DFA.unpack("\12\52\7\uffff\4\52\1\u0204\25\52\4\uffff\1\52\1\uffff" - "\4\52\1\u0204\25\52"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0203\37\uffff\1\u0203"), + DFA.unpack("\1\u0204\37\uffff\1\u0204"), DFA.unpack("\1\u0205\37\uffff\1\u0205"), DFA.unpack("\1\u0206\37\uffff\1\u0206"), DFA.unpack("\1\u0207\37\uffff\1\u0207"), - DFA.unpack("\1\u0208"), - DFA.unpack(""), - DFA.unpack("\1\u0209\37\uffff\1\u0209"), - DFA.unpack("\1\u020a\37\uffff\1\u020a"), + DFA.unpack("\1\u0208\37\uffff\1\u0208"), + DFA.unpack("\12\52\7\uffff\4\52\1\u020a\25\52\4\uffff\1\52\1\uffff" + "\4\52\1\u020a\25\52"), DFA.unpack("\1\u020b\37\uffff\1\u020b"), - DFA.unpack("\12\52\7\uffff\22\52\1\u020d\7\52\4\uffff\1\52\1\uffff" - "\22\52\1\u020d\7\52"), - DFA.unpack("\1\u020e\37\uffff\1\u020e"), - DFA.unpack(""), - DFA.unpack(""), + DFA.unpack("\1\u020c\37\uffff\1\u020c"), + DFA.unpack("\1\u020d\37\uffff\1\u020d"), + DFA.unpack("\1\u020e"), DFA.unpack(""), DFA.unpack("\1\u020f\37\uffff\1\u020f"), DFA.unpack("\1\u0210\37\uffff\1\u0210"), - DFA.unpack(""), DFA.unpack("\1\u0211\37\uffff\1\u0211"), DFA.unpack("\1\u0212\37\uffff\1\u0212"), - DFA.unpack("\1\u0213\37\uffff\1\u0213"), - DFA.unpack("\1\u0214\37\uffff\1\u0214"), + DFA.unpack(""), + DFA.unpack("\12\52\7\uffff\22\52\1\u0214\7\52\4\uffff\1\52\1\uffff" + "\22\52\1\u0214\7\52"), DFA.unpack("\1\u0215\37\uffff\1\u0215"), DFA.unpack("\1\u0216\37\uffff\1\u0216"), + DFA.unpack(""), + DFA.unpack(""), DFA.unpack("\1\u0217\37\uffff\1\u0217"), DFA.unpack("\1\u0218\37\uffff\1\u0218"), DFA.unpack(""), - DFA.unpack(""), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0219\37\uffff\1\u0219"), DFA.unpack("\1\u021a\37\uffff\1\u021a"), DFA.unpack("\1\u021b\37\uffff\1\u021b"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u021c\37\uffff\1\u021c"), DFA.unpack("\1\u021d\37\uffff\1\u021d"), DFA.unpack("\1\u021e\37\uffff\1\u021e"), - DFA.unpack("\12\52\7\uffff\21\52\1\u0220\10\52\4\uffff\1\52\1\uffff" - "\21\52\1\u0220\10\52"), - DFA.unpack(""), - DFA.unpack("\1\u0221\37\uffff\1\u0221"), + DFA.unpack("\1\u021f\37\uffff\1\u021f"), + DFA.unpack("\1\u0220\37\uffff\1\u0220"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0222\37\uffff\1\u0222"), DFA.unpack("\1\u0223\37\uffff\1\u0223"), - DFA.unpack("\1\u0224\37\uffff\1\u0224"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0225\37\uffff\1\u0225"), DFA.unpack("\1\u0226\37\uffff\1\u0226"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u0228\37\uffff\1\u0228"), + DFA.unpack("\12\52\7\uffff\21\52\1\u0228\10\52\4\uffff\1\52\1\uffff" + "\21\52\1\u0228\10\52"), DFA.unpack(""), DFA.unpack("\1\u0229\37\uffff\1\u0229"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), - DFA.unpack("\1\u022b\37\uffff\1\u022b"), DFA.unpack(""), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u022b\37\uffff\1\u022b"), DFA.unpack("\1\u022c\37\uffff\1\u022c"), - DFA.unpack(""), DFA.unpack("\1\u022d\37\uffff\1\u022d"), DFA.unpack("\1\u022e\37\uffff\1\u022e"), - DFA.unpack(""), - DFA.unpack("\1\u022f\37\uffff\1\u022f"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0230\37\uffff\1\u0230"), + DFA.unpack(""), DFA.unpack("\1\u0231\37\uffff\1\u0231"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack(""), DFA.unpack("\1\u0233\37\uffff\1\u0233"), + DFA.unpack(""), DFA.unpack("\1\u0234\37\uffff\1\u0234"), + DFA.unpack(""), DFA.unpack("\1\u0235\37\uffff\1\u0235"), DFA.unpack("\1\u0236\37\uffff\1\u0236"), - DFA.unpack("\1\u0237\37\uffff\1\u0237"), DFA.unpack(""), - DFA.unpack("\1\u0238\37\uffff\1\u0238"), + DFA.unpack("\1\u0237\37\uffff\1\u0237"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0239\37\uffff\1\u0239"), - DFA.unpack("\1\u023a\37\uffff\1\u023a"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u023b\37\uffff\1\u023b"), DFA.unpack("\1\u023c\37\uffff\1\u023c"), DFA.unpack("\1\u023d\37\uffff\1\u023d"), - DFA.unpack(""), DFA.unpack("\1\u023e\37\uffff\1\u023e"), DFA.unpack("\1\u023f\37\uffff\1\u023f"), + DFA.unpack(""), DFA.unpack("\1\u0240\37\uffff\1\u0240"), DFA.unpack("\1\u0241\37\uffff\1\u0241"), DFA.unpack("\1\u0242\37\uffff\1\u0242"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0243\37\uffff\1\u0243"), DFA.unpack("\1\u0244\37\uffff\1\u0244"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0245\37\uffff\1\u0245"), DFA.unpack(""), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0246\37\uffff\1\u0246"), DFA.unpack("\1\u0247\37\uffff\1\u0247"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0248\37\uffff\1\u0248"), DFA.unpack("\1\u0249\37\uffff\1\u0249"), DFA.unpack("\1\u024a\37\uffff\1\u024a"), - DFA.unpack("\1\u024b\37\uffff\1\u024b"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u024c\37\uffff\1\u024c"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u024e\37\uffff\1\u024e"), - DFA.unpack("\1\u024f\37\uffff\1\u024f"), - DFA.unpack("\1\u0250\37\uffff\1\u0250"), - DFA.unpack("\1\u0251\37\uffff\1\u0251"), - DFA.unpack(""), - DFA.unpack("\1\u0252\37\uffff\1\u0252"), - DFA.unpack("\1\u0253\37\uffff\1\u0253"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0250\37\uffff\1\u0250"), + DFA.unpack("\1\u0251\37\uffff\1\u0251"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack(""), + DFA.unpack("\1\u0253\37\uffff\1\u0253"), + DFA.unpack("\1\u0254\37\uffff\1\u0254"), + DFA.unpack("\1\u0255\37\uffff\1\u0255"), DFA.unpack("\1\u0256\37\uffff\1\u0256"), - DFA.unpack("\1\u0257\37\uffff\1\u0257"), - DFA.unpack(""), - DFA.unpack("\1\u0258\37\uffff\1\u0258"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\12\52\7\uffff\10\52\1\u025b\21\52\4\uffff\1\52\1\uffff" - "\10\52\1\u025b\21\52"), + DFA.unpack("\1\u0258\37\uffff\1\u0258"), + DFA.unpack("\1\u0259\37\uffff\1\u0259"), + DFA.unpack("\1\u025a\37\uffff\1\u025a"), + DFA.unpack("\1\u025b\37\uffff\1\u025b"), + DFA.unpack(""), DFA.unpack("\1\u025c\37\uffff\1\u025c"), + DFA.unpack("\1\u025d\37\uffff\1\u025d"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u025e\37\uffff\1\u025e"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), - DFA.unpack("\1\u025f\37\uffff\1\u025f"), DFA.unpack("\1\u0260\37\uffff\1\u0260"), DFA.unpack("\1\u0261\37\uffff\1\u0261"), - DFA.unpack("\1\u0262\37\uffff\1\u0262"), - DFA.unpack("\1\u0263\37\uffff\1\u0263"), DFA.unpack(""), - DFA.unpack("\1\u0264\37\uffff\1\u0264"), + DFA.unpack("\1\u0262\37\uffff\1\u0262"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\12\52\7\uffff\10\52\1\u0265\21\52\4\uffff\1\52\1\uffff" + "\10\52\1\u0265\21\52"), + DFA.unpack("\1\u0266\37\uffff\1\u0266"), DFA.unpack(""), - DFA.unpack("\1\u0266\16\uffff\1\u0265\20\uffff\1\u0266\16\uffff" - "\1\u0265"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0268\37\uffff\1\u0268"), + DFA.unpack(""), DFA.unpack("\1\u0269\37\uffff\1\u0269"), DFA.unpack("\1\u026a\37\uffff\1\u026a"), DFA.unpack("\1\u026b\37\uffff\1\u026b"), DFA.unpack("\1\u026c\37\uffff\1\u026c"), DFA.unpack("\1\u026d\37\uffff\1\u026d"), + DFA.unpack(""), DFA.unpack("\1\u026e\37\uffff\1\u026e"), + DFA.unpack(""), + DFA.unpack("\1\u0270\16\uffff\1\u026f\20\uffff\1\u0270\16\uffff" + "\1\u026f"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u0270\37\uffff\1\u0270"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0272\37\uffff\1\u0272"), + DFA.unpack("\1\u0273\37\uffff\1\u0273"), DFA.unpack("\1\u0274\37\uffff\1\u0274"), DFA.unpack("\1\u0275\37\uffff\1\u0275"), - DFA.unpack(""), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack(""), - DFA.unpack(""), + DFA.unpack("\1\u0276\37\uffff\1\u0276"), DFA.unpack("\1\u0277\37\uffff\1\u0277"), - DFA.unpack(""), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0278\37\uffff\1\u0278"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u027a\37\uffff\1\u027a"), - DFA.unpack("\1\u027b\37\uffff\1\u027b"), - DFA.unpack(""), - DFA.unpack("\1\u027c\37\uffff\1\u027c"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u0280\37\uffff\1\u0280"), - DFA.unpack("\1\u0281\37\uffff\1\u0281"), + DFA.unpack("\1\u027e\37\uffff\1\u027e"), + DFA.unpack("\1\u027f\37\uffff\1\u027f"), DFA.unpack(""), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack(""), + DFA.unpack("\1\u0281\37\uffff\1\u0281"), DFA.unpack(""), DFA.unpack("\1\u0282\37\uffff\1\u0282"), DFA.unpack("\1\u0283\37\uffff\1\u0283"), - DFA.unpack("\1\u0284\37\uffff\1\u0284"), - DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\u0285\37\uffff\1\u0285"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0286\37\uffff\1\u0286"), + DFA.unpack("\1\u0287\37\uffff\1\u0287"), DFA.unpack(""), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0288\37\uffff\1\u0288"), - DFA.unpack("\1\u0289\37\uffff\1\u0289"), - DFA.unpack("\1\u028a\37\uffff\1\u028a"), - DFA.unpack("\1\u028b\37\uffff\1\u028b"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u028c\37\uffff\1\u028c"), DFA.unpack("\1\u028d\37\uffff\1\u028d"), + DFA.unpack(""), + DFA.unpack(""), DFA.unpack("\1\u028e\37\uffff\1\u028e"), DFA.unpack("\1\u028f\37\uffff\1\u028f"), - DFA.unpack(""), DFA.unpack("\1\u0290\37\uffff\1\u0290"), - DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\u0291\37\uffff\1\u0291"), DFA.unpack("\1\u0292\37\uffff\1\u0292"), - DFA.unpack("\1\u0293\37\uffff\1\u0293"), + DFA.unpack(""), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\1\u0294\37\uffff\1\u0294"), DFA.unpack("\1\u0295\37\uffff\1\u0295"), DFA.unpack("\1\u0296\37\uffff\1\u0296"), - DFA.unpack(""), DFA.unpack("\1\u0297\37\uffff\1\u0297"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u0299\37\uffff\1\u0299"), + DFA.unpack("\1\u029a\37\uffff\1\u029a"), + DFA.unpack("\1\u029b\37\uffff\1\u029b"), DFA.unpack(""), + DFA.unpack("\1\u029c\37\uffff\1\u029c"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\1\u029e\37\uffff\1\u029e"), + DFA.unpack("\1\u029f\37\uffff\1\u029f"), + DFA.unpack("\1\u02a0\37\uffff\1\u02a0"), + DFA.unpack("\1\u02a1\37\uffff\1\u02a1"), + DFA.unpack("\1\u02a2\37\uffff\1\u02a2"), DFA.unpack(""), + DFA.unpack("\1\u02a3\37\uffff\1\u02a3"), DFA.unpack(""), - DFA.unpack("\1\u0298\37\uffff\1\u0298"), - DFA.unpack("\1\u0299\37\uffff\1\u0299"), DFA.unpack(""), - DFA.unpack("\1\u029a\37\uffff\1\u029a"), DFA.unpack(""), + DFA.unpack("\1\u02a4\37\uffff\1\u02a4"), + DFA.unpack("\1\u02a5\37\uffff\1\u02a5"), DFA.unpack(""), - DFA.unpack("\1\u029b\37\uffff\1\u029b"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\12\52\7\uffff\2\52\1\u029e\27\52\4\uffff\1\52\1\uffff" - "\2\52\1\u029e\27\52"), + DFA.unpack("\1\u02a7\37\uffff\1\u02a7"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack(""), + DFA.unpack("\1\u02a9\37\uffff\1\u02a9"), + DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack("\12\52\7\uffff\2\52\1\u02ac\27\52\4\uffff\1\52\1\uffff" + "\2\52\1\u02ac\27\52"), DFA.unpack(""), - DFA.unpack("\1\u029f\37\uffff\1\u029f"), - DFA.unpack("\1\u02a0\37\uffff\1\u02a0"), - DFA.unpack("\1\u02a1\37\uffff\1\u02a1"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\u02ad\37\uffff\1\u02ad"), + DFA.unpack("\1\u02ae\37\uffff\1\u02ae"), + DFA.unpack("\1\u02af\37\uffff\1\u02af"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02a3\37\uffff\1\u02a3"), - DFA.unpack("\1\u02a4\37\uffff\1\u02a4"), + DFA.unpack("\1\u02b1\37\uffff\1\u02b1"), + DFA.unpack("\1\u02b2\37\uffff\1\u02b2"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02a7\37\uffff\1\u02a7"), - DFA.unpack("\1\u02a8\37\uffff\1\u02a8"), - DFA.unpack("\1\u02a9\37\uffff\1\u02a9"), + DFA.unpack("\1\u02b5\37\uffff\1\u02b5"), + DFA.unpack("\1\u02b6\37\uffff\1\u02b6"), + DFA.unpack("\1\u02b7\37\uffff\1\u02b7"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02ac\37\uffff\1\u02ac"), - DFA.unpack("\1\u02ad\37\uffff\1\u02ad"), + DFA.unpack("\1\u02ba\37\uffff\1\u02ba"), + DFA.unpack("\1\u02bb\37\uffff\1\u02bb"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02af\37\uffff\1\u02af"), - DFA.unpack("\1\u02b0\37\uffff\1\u02b0"), - DFA.unpack("\1\u02b1\37\uffff\1\u02b1"), + DFA.unpack("\1\u02bd\37\uffff\1\u02bd"), + DFA.unpack("\1\u02be\37\uffff\1\u02be"), + DFA.unpack("\1\u02bf\37\uffff\1\u02bf"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02b4\37\uffff\1\u02b4"), + DFA.unpack("\1\u02c2\37\uffff\1\u02c2"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), + DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\u02b8\37\uffff\1\u02b8"), - DFA.unpack("\1\u02b9\37\uffff\1\u02b9"), - DFA.unpack("\1\u02ba\37\uffff\1\u02ba"), - DFA.unpack("\1\u02bb\37\uffff\1\u02bb"), + DFA.unpack("\1\u02c6\37\uffff\1\u02c6"), + DFA.unpack("\1\u02c7\37\uffff\1\u02c7"), + DFA.unpack("\1\u02c8\37\uffff\1\u02c8"), + DFA.unpack("\1\u02c9\37\uffff\1\u02c9"), DFA.unpack(""), - DFA.unpack("\1\u02bc\37\uffff\1\u02bc"), + DFA.unpack("\1\u02ca\37\uffff\1\u02ca"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack(""), @@ -9249,47 +9381,47 @@ class DFA14(DFA): DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\u02c1\37\uffff\1\u02c1"), - DFA.unpack("\1\u02c2\37\uffff\1\u02c2"), + DFA.unpack("\1\u02cf\37\uffff\1\u02cf"), + DFA.unpack("\1\u02d0\37\uffff\1\u02d0"), DFA.unpack(""), - DFA.unpack("\1\u02c3\37\uffff\1\u02c3"), + DFA.unpack("\1\u02d1\37\uffff\1\u02d1"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02c5\37\uffff\1\u02c5"), + DFA.unpack("\1\u02d3\37\uffff\1\u02d3"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\u02c7\37\uffff\1\u02c7"), - DFA.unpack("\1\u02c8\37\uffff\1\u02c8"), - DFA.unpack("\1\u02c9\37\uffff\1\u02c9"), + DFA.unpack("\1\u02d5\37\uffff\1\u02d5"), + DFA.unpack("\1\u02d6\37\uffff\1\u02d6"), + DFA.unpack("\1\u02d7\37\uffff\1\u02d7"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02cb\37\uffff\1\u02cb"), + DFA.unpack("\1\u02d9\37\uffff\1\u02d9"), DFA.unpack(""), DFA.unpack(""), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02cd\37\uffff\1\u02cd"), - DFA.unpack("\1\u02ce\37\uffff\1\u02ce"), + DFA.unpack("\1\u02db\37\uffff\1\u02db"), + DFA.unpack("\1\u02dc\37\uffff\1\u02dc"), DFA.unpack(""), - DFA.unpack("\1\u02cf\37\uffff\1\u02cf"), + DFA.unpack("\1\u02dd\37\uffff\1\u02dd"), DFA.unpack(""), - DFA.unpack("\1\u02d0\37\uffff\1\u02d0"), + DFA.unpack("\1\u02de\37\uffff\1\u02de"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), - DFA.unpack("\1\u02d2\37\uffff\1\u02d2"), + DFA.unpack("\1\u02e0\37\uffff\1\u02e0"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), - DFA.unpack("\1\u02d4\37\uffff\1\u02d4"), - DFA.unpack("\1\u02d5\37\uffff\1\u02d5"), + DFA.unpack("\1\u02e2\37\uffff\1\u02e2"), + DFA.unpack("\1\u02e3\37\uffff\1\u02e3"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), - DFA.unpack("\1\u02d9\37\uffff\1\u02d9"), + DFA.unpack("\1\u02e7\37\uffff\1\u02e7"), DFA.unpack("\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52"), DFA.unpack(""), DFA.unpack(""), diff --git a/opengeode/sdl92Parser.py b/opengeode/sdl92Parser.py index ff6ab86d..60fda302 100644 --- a/opengeode/sdl92Parser.py +++ b/opengeode/sdl92Parser.py @@ -1,4 +1,4 @@ -# $ANTLR 3.5.2 sdl92.g 2024-04-23 13:10:53 +# $ANTLR 3.5.2 sdl92.g 2024-04-26 13:30:02 import sys from antlr3 import * @@ -13,8 +13,6 @@ # token types EOF=-1 -T__246=246 -T__247=247 T__248=248 T__249=249 T__250=250 @@ -22,6 +20,8 @@ T__252=252 T__253=253 T__254=254 +T__255=255 +T__256=256 A=4 ACTION=5 ACTIVE=6 @@ -197,79 +197,81 @@ REM=176 RENAMES=177 REQ_ID=178 -RETURN=179 -RETURNS=180 -RID_ID=181 -ROUTE=182 -R_BRACKET=183 -R_PAREN=184 -S=185 -SAVE=186 -SELECTOR=187 -SEMI=188 -SEQOF=189 -SEQUENCE=190 -SIGNAL=191 -SIGNALROUTE=192 -SIGNAL_LIST=193 -SORT=194 -SPECIFIC=195 -START=196 -STATE=197 -STATELIST=198 -STATE_AGGREGATION=199 -STATE_PARTITION_CONNECTION=200 -STIMULUS=201 -STOP=202 -STOPIF=203 -STR=204 -STRING=205 -STRUCT=206 -SUBSTRUCTURE=207 -SUCCESSSTATES=208 -SYMBOLID=209 -SYNONYM=210 -SYNONYM_LIST=211 -SYNTYPE=212 -SYSTEM=213 -T=214 -TASK=215 -TASK_BODY=216 -TERMINATOR=217 -TEXT=218 -TEXTAREA=219 -TEXTAREA_CONTENT=220 -THEN=221 -THIS=222 -TIMER=223 -TO=224 -TRANSITION=225 -TRUE=226 -TYPE=227 -TYPE_INSTANCE=228 -U=229 -UNHANDLED=230 -USE=231 -V=232 -VALUE=233 -VARIABLE=234 -VARIABLES=235 -VIA=236 -VIAPATH=237 -VIEW=238 -W=239 -WITH=240 -WS=241 -X=242 -XOR=243 -Y=244 -Z=245 +REQ_SERVER=179 +RETURN=180 +RETURNS=181 +RID_ID=182 +RID_SERVER=183 +ROUTE=184 +R_BRACKET=185 +R_PAREN=186 +S=187 +SAVE=188 +SELECTOR=189 +SEMI=190 +SEQOF=191 +SEQUENCE=192 +SIGNAL=193 +SIGNALROUTE=194 +SIGNAL_LIST=195 +SORT=196 +SPECIFIC=197 +START=198 +STATE=199 +STATELIST=200 +STATE_AGGREGATION=201 +STATE_PARTITION_CONNECTION=202 +STIMULUS=203 +STOP=204 +STOPIF=205 +STR=206 +STRING=207 +STRUCT=208 +SUBSTRUCTURE=209 +SUCCESSSTATES=210 +SYMBOLID=211 +SYNONYM=212 +SYNONYM_LIST=213 +SYNTYPE=214 +SYSTEM=215 +T=216 +TASK=217 +TASK_BODY=218 +TERMINATOR=219 +TEXT=220 +TEXTAREA=221 +TEXTAREA_CONTENT=222 +THEN=223 +THIS=224 +TIMER=225 +TO=226 +TRANSITION=227 +TRUE=228 +TYPE=229 +TYPE_INSTANCE=230 +U=231 +UNHANDLED=232 +USE=233 +V=234 +VALUE=235 +VARIABLE=236 +VARIABLES=237 +VIA=238 +VIAPATH=239 +VIEW=240 +W=241 +WITH=242 +WS=243 +X=244 +XOR=245 +Y=246 +Z=247 # token names tokenNamesMap = { 0: "", 1: "", 2: "", 3: "", - -1: "EOF", 246: "T__246", 247: "T__247", 248: "T__248", 249: "T__249", - 250: "T__250", 251: "T__251", 252: "T__252", 253: "T__253", 254: "T__254", + -1: "EOF", 248: "T__248", 249: "T__249", 250: "T__250", 251: "T__251", + 252: "T__252", 253: "T__253", 254: "T__254", 255: "T__255", 256: "T__256", 4: "A", 5: "ACTION", 6: "ACTIVE", 7: "AGGREGATION", 8: "ALL", 9: "ALPHA", 10: "ALTERNATIVE", 11: "ALWAYS", 12: "AND", 13: "ANSWER", 14: "ANY", 15: "APPEND", 16: "ARRAY", 17: "ASN1", 18: "ASNFILENAME", 19: "ASSIGN", @@ -304,21 +306,22 @@ 161: "PLUS", 162: "PLUS_INFINITY", 163: "POINT", 164: "PRIMARY", 165: "PRIORITY", 166: "PROCEDURE", 167: "PROCEDURE_CALL", 168: "PROCEDURE_NAME", 169: "PROCESS", 170: "PROVIDED", 171: "Q", 172: "QUESTION", 173: "R", 174: "RANGE", - 175: "REFERENCED", 176: "REM", 177: "RENAMES", 178: "REQ_ID", 179: "RETURN", - 180: "RETURNS", 181: "RID_ID", 182: "ROUTE", 183: "R_BRACKET", 184: "R_PAREN", - 185: "S", 186: "SAVE", 187: "SELECTOR", 188: "SEMI", 189: "SEQOF", 190: "SEQUENCE", - 191: "SIGNAL", 192: "SIGNALROUTE", 193: "SIGNAL_LIST", 194: "SORT", - 195: "SPECIFIC", 196: "START", 197: "STATE", 198: "STATELIST", 199: "STATE_AGGREGATION", - 200: "STATE_PARTITION_CONNECTION", 201: "STIMULUS", 202: "STOP", 203: "STOPIF", - 204: "STR", 205: "STRING", 206: "STRUCT", 207: "SUBSTRUCTURE", 208: "SUCCESSSTATES", - 209: "SYMBOLID", 210: "SYNONYM", 211: "SYNONYM_LIST", 212: "SYNTYPE", - 213: "SYSTEM", 214: "T", 215: "TASK", 216: "TASK_BODY", 217: "TERMINATOR", - 218: "TEXT", 219: "TEXTAREA", 220: "TEXTAREA_CONTENT", 221: "THEN", - 222: "THIS", 223: "TIMER", 224: "TO", 225: "TRANSITION", 226: "TRUE", - 227: "TYPE", 228: "TYPE_INSTANCE", 229: "U", 230: "UNHANDLED", 231: "USE", - 232: "V", 233: "VALUE", 234: "VARIABLE", 235: "VARIABLES", 236: "VIA", - 237: "VIAPATH", 238: "VIEW", 239: "W", 240: "WITH", 241: "WS", 242: "X", - 243: "XOR", 244: "Y", 245: "Z" + 175: "REFERENCED", 176: "REM", 177: "RENAMES", 178: "REQ_ID", 179: "REQ_SERVER", + 180: "RETURN", 181: "RETURNS", 182: "RID_ID", 183: "RID_SERVER", 184: "ROUTE", + 185: "R_BRACKET", 186: "R_PAREN", 187: "S", 188: "SAVE", 189: "SELECTOR", + 190: "SEMI", 191: "SEQOF", 192: "SEQUENCE", 193: "SIGNAL", 194: "SIGNALROUTE", + 195: "SIGNAL_LIST", 196: "SORT", 197: "SPECIFIC", 198: "START", 199: "STATE", + 200: "STATELIST", 201: "STATE_AGGREGATION", 202: "STATE_PARTITION_CONNECTION", + 203: "STIMULUS", 204: "STOP", 205: "STOPIF", 206: "STR", 207: "STRING", + 208: "STRUCT", 209: "SUBSTRUCTURE", 210: "SUCCESSSTATES", 211: "SYMBOLID", + 212: "SYNONYM", 213: "SYNONYM_LIST", 214: "SYNTYPE", 215: "SYSTEM", + 216: "T", 217: "TASK", 218: "TASK_BODY", 219: "TERMINATOR", 220: "TEXT", + 221: "TEXTAREA", 222: "TEXTAREA_CONTENT", 223: "THEN", 224: "THIS", + 225: "TIMER", 226: "TO", 227: "TRANSITION", 228: "TRUE", 229: "TYPE", + 230: "TYPE_INSTANCE", 231: "U", 232: "UNHANDLED", 233: "USE", 234: "V", + 235: "VALUE", 236: "VARIABLE", 237: "VARIABLES", 238: "VIA", 239: "VIAPATH", + 240: "VIEW", 241: "W", 242: "WITH", 243: "WS", 244: "X", 245: "XOR", + 246: "Y", 247: "Z" } Token.registerTokenNamesMap(tokenNamesMap) @@ -350,17 +353,17 @@ "PAREN", "PARTITION", "PFPAR", "PLUS", "PLUS_INFINITY", "POINT", "PRIMARY", "PRIORITY", "PROCEDURE", "PROCEDURE_CALL", "PROCEDURE_NAME", "PROCESS", "PROVIDED", "Q", "QUESTION", "R", "RANGE", "REFERENCED", "REM", "RENAMES", - "REQ_ID", "RETURN", "RETURNS", "RID_ID", "ROUTE", "R_BRACKET", "R_PAREN", - "S", "SAVE", "SELECTOR", "SEMI", "SEQOF", "SEQUENCE", "SIGNAL", "SIGNALROUTE", - "SIGNAL_LIST", "SORT", "SPECIFIC", "START", "STATE", "STATELIST", "STATE_AGGREGATION", - "STATE_PARTITION_CONNECTION", "STIMULUS", "STOP", "STOPIF", "STR", "STRING", - "STRUCT", "SUBSTRUCTURE", "SUCCESSSTATES", "SYMBOLID", "SYNONYM", "SYNONYM_LIST", - "SYNTYPE", "SYSTEM", "T", "TASK", "TASK_BODY", "TERMINATOR", "TEXT", - "TEXTAREA", "TEXTAREA_CONTENT", "THEN", "THIS", "TIMER", "TO", "TRANSITION", - "TRUE", "TYPE", "TYPE_INSTANCE", "U", "UNHANDLED", "USE", "V", "VALUE", - "VARIABLE", "VARIABLES", "VIA", "VIAPATH", "VIEW", "W", "WITH", "WS", - "X", "XOR", "Y", "Z", "'!'", "'(.'", "'*/'", "'-*'", "'->'", "'.)'", - "'/* CIF'", "':'", "'_id'" + "REQ_ID", "REQ_SERVER", "RETURN", "RETURNS", "RID_ID", "RID_SERVER", + "ROUTE", "R_BRACKET", "R_PAREN", "S", "SAVE", "SELECTOR", "SEMI", "SEQOF", + "SEQUENCE", "SIGNAL", "SIGNALROUTE", "SIGNAL_LIST", "SORT", "SPECIFIC", + "START", "STATE", "STATELIST", "STATE_AGGREGATION", "STATE_PARTITION_CONNECTION", + "STIMULUS", "STOP", "STOPIF", "STR", "STRING", "STRUCT", "SUBSTRUCTURE", + "SUCCESSSTATES", "SYMBOLID", "SYNONYM", "SYNONYM_LIST", "SYNTYPE", "SYSTEM", + "T", "TASK", "TASK_BODY", "TERMINATOR", "TEXT", "TEXTAREA", "TEXTAREA_CONTENT", + "THEN", "THIS", "TIMER", "TO", "TRANSITION", "TRUE", "TYPE", "TYPE_INSTANCE", + "U", "UNHANDLED", "USE", "V", "VALUE", "VARIABLE", "VARIABLES", "VIA", + "VIAPATH", "VIEW", "W", "WITH", "WS", "X", "XOR", "Y", "Z", "'!'", "'(.'", + "'*/'", "'-*'", "'->'", "'.)'", "'/* CIF'", "':'", "'_id'" ] @@ -376,17 +379,6 @@ def __init__(self, input, state=None, *args, **kwargs): super().__init__(input, state, *args, **kwargs) - self.dfa66 = self.DFA66( - self, 66, - eot = self.DFA66_eot, - eof = self.DFA66_eof, - min = self.DFA66_min, - max = self.DFA66_max, - accept = self.DFA66_accept, - special = self.DFA66_special, - transition = self.DFA66_transition - ) - self.dfa74 = self.DFA74( self, 74, eot = self.DFA74_eot, @@ -398,15 +390,15 @@ def __init__(self, input, state=None, *args, **kwargs): transition = self.DFA74_transition ) - self.dfa75 = self.DFA75( - self, 75, - eot = self.DFA75_eot, - eof = self.DFA75_eof, - min = self.DFA75_min, - max = self.DFA75_max, - accept = self.DFA75_accept, - special = self.DFA75_special, - transition = self.DFA75_transition + self.dfa82 = self.DFA82( + self, 82, + eot = self.DFA82_eot, + eof = self.DFA82_eof, + min = self.DFA82_min, + max = self.DFA82_max, + accept = self.DFA82_accept, + special = self.DFA82_special, + transition = self.DFA82_transition ) self.dfa83 = self.DFA83( @@ -420,92 +412,103 @@ def __init__(self, input, state=None, *args, **kwargs): transition = self.DFA83_transition ) - self.dfa92 = self.DFA92( - self, 92, - eot = self.DFA92_eot, - eof = self.DFA92_eof, - min = self.DFA92_min, - max = self.DFA92_max, - accept = self.DFA92_accept, - special = self.DFA92_special, - transition = self.DFA92_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.dfa100 = self.DFA100( + self, 100, + eot = self.DFA100_eot, + eof = self.DFA100_eof, + min = self.DFA100_min, + max = self.DFA100_max, + accept = self.DFA100_accept, + special = self.DFA100_special, + transition = self.DFA100_transition ) - self.dfa125 = self.DFA125( - self, 125, - eot = self.DFA125_eot, - eof = self.DFA125_eof, - min = self.DFA125_min, - max = self.DFA125_max, - accept = self.DFA125_accept, - special = self.DFA125_special, - transition = self.DFA125_transition + self.dfa130 = self.DFA130( + self, 130, + eot = self.DFA130_eot, + eof = self.DFA130_eof, + min = self.DFA130_min, + max = self.DFA130_max, + accept = self.DFA130_accept, + special = self.DFA130_special, + transition = self.DFA130_transition ) - self.dfa131 = self.DFA131( - self, 131, - eot = self.DFA131_eot, - eof = self.DFA131_eof, - min = self.DFA131_min, - max = self.DFA131_max, - accept = self.DFA131_accept, - special = self.DFA131_special, - transition = self.DFA131_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.dfa132 = self.DFA132( - self, 132, - eot = self.DFA132_eot, - eof = self.DFA132_eof, - min = self.DFA132_min, - max = self.DFA132_max, - accept = self.DFA132_accept, - special = self.DFA132_special, - transition = self.DFA132_transition + self.dfa139 = self.DFA139( + self, 139, + eot = self.DFA139_eot, + eof = self.DFA139_eof, + min = self.DFA139_min, + max = self.DFA139_max, + accept = self.DFA139_accept, + special = self.DFA139_special, + transition = self.DFA139_transition ) - self.dfa134 = self.DFA134( - self, 134, - eot = self.DFA134_eot, - eof = self.DFA134_eof, - min = self.DFA134_min, - max = self.DFA134_max, - accept = self.DFA134_accept, - special = self.DFA134_special, - transition = self.DFA134_transition + self.dfa140 = self.DFA140( + self, 140, + eot = self.DFA140_eot, + eof = self.DFA140_eof, + min = self.DFA140_min, + max = self.DFA140_max, + accept = self.DFA140_accept, + special = self.DFA140_special, + transition = self.DFA140_transition ) - self.dfa141 = self.DFA141( - self, 141, - eot = self.DFA141_eot, - eof = self.DFA141_eof, - min = self.DFA141_min, - max = self.DFA141_max, - accept = self.DFA141_accept, - special = self.DFA141_special, - transition = self.DFA141_transition + self.dfa142 = self.DFA142( + self, 142, + eot = self.DFA142_eot, + eof = self.DFA142_eof, + min = self.DFA142_min, + max = self.DFA142_max, + accept = self.DFA142_accept, + special = self.DFA142_special, + transition = self.DFA142_transition ) - self.dfa156 = self.DFA156( - self, 156, - eot = self.DFA156_eot, - eof = self.DFA156_eof, - min = self.DFA156_min, - max = self.DFA156_max, - accept = self.DFA156_accept, - special = self.DFA156_special, - transition = self.DFA156_transition + self.dfa149 = self.DFA149( + self, 149, + eot = self.DFA149_eot, + eof = self.DFA149_eof, + min = self.DFA149_min, + max = self.DFA149_max, + accept = self.DFA149_accept, + special = self.DFA149_special, + transition = self.DFA149_transition ) - self.dfa165 = self.DFA165( - self, 165, - eot = self.DFA165_eot, - eof = self.DFA165_eof, - min = self.DFA165_min, - max = self.DFA165_max, - accept = self.DFA165_accept, - special = self.DFA165_special, - transition = self.DFA165_transition + self.dfa164 = self.DFA164( + self, 164, + eot = self.DFA164_eot, + eof = self.DFA164_eof, + min = self.DFA164_min, + max = self.DFA164_max, + accept = self.DFA164_accept, + special = self.DFA164_special, + transition = self.DFA164_transition ) self.dfa173 = self.DFA173( @@ -519,92 +522,103 @@ def __init__(self, input, state=None, *args, **kwargs): transition = self.DFA173_transition ) - self.dfa170 = self.DFA170( - self, 170, - eot = self.DFA170_eot, - eof = self.DFA170_eof, - min = self.DFA170_min, - max = self.DFA170_max, - accept = self.DFA170_accept, - special = self.DFA170_special, - transition = self.DFA170_transition + self.dfa181 = self.DFA181( + self, 181, + eot = self.DFA181_eot, + eof = self.DFA181_eof, + min = self.DFA181_min, + max = self.DFA181_max, + accept = self.DFA181_accept, + special = self.DFA181_special, + transition = self.DFA181_transition ) - self.dfa172 = self.DFA172( - self, 172, - eot = self.DFA172_eot, - eof = self.DFA172_eof, - min = self.DFA172_min, - max = self.DFA172_max, - accept = self.DFA172_accept, - special = self.DFA172_special, - transition = self.DFA172_transition + self.dfa178 = self.DFA178( + self, 178, + eot = self.DFA178_eot, + eof = self.DFA178_eof, + min = self.DFA178_min, + max = self.DFA178_max, + accept = self.DFA178_accept, + special = self.DFA178_special, + transition = self.DFA178_transition ) - self.dfa175 = self.DFA175( - self, 175, - eot = self.DFA175_eot, - eof = self.DFA175_eof, - min = self.DFA175_min, - max = self.DFA175_max, - accept = self.DFA175_accept, - special = self.DFA175_special, - transition = self.DFA175_transition + self.dfa180 = self.DFA180( + self, 180, + eot = self.DFA180_eot, + eof = self.DFA180_eof, + min = self.DFA180_min, + max = self.DFA180_max, + accept = self.DFA180_accept, + special = self.DFA180_special, + transition = self.DFA180_transition ) - self.dfa182 = self.DFA182( - self, 182, - eot = self.DFA182_eot, - eof = self.DFA182_eof, - min = self.DFA182_min, - max = self.DFA182_max, - accept = self.DFA182_accept, - special = self.DFA182_special, - transition = self.DFA182_transition + self.dfa183 = self.DFA183( + self, 183, + eot = self.DFA183_eot, + eof = self.DFA183_eof, + min = self.DFA183_min, + max = self.DFA183_max, + accept = self.DFA183_accept, + special = self.DFA183_special, + transition = self.DFA183_transition ) - self.dfa193 = self.DFA193( - self, 193, - eot = self.DFA193_eot, - eof = self.DFA193_eof, - min = self.DFA193_min, - max = self.DFA193_max, - accept = self.DFA193_accept, - special = self.DFA193_special, - transition = self.DFA193_transition + self.dfa190 = self.DFA190( + self, 190, + eot = self.DFA190_eot, + eof = self.DFA190_eof, + min = self.DFA190_min, + max = self.DFA190_max, + accept = self.DFA190_accept, + special = self.DFA190_special, + transition = self.DFA190_transition ) - self.dfa191 = self.DFA191( - self, 191, - eot = self.DFA191_eot, - eof = self.DFA191_eof, - min = self.DFA191_min, - max = self.DFA191_max, - accept = self.DFA191_accept, - special = self.DFA191_special, - transition = self.DFA191_transition + self.dfa201 = self.DFA201( + self, 201, + eot = self.DFA201_eot, + eof = self.DFA201_eof, + min = self.DFA201_min, + max = self.DFA201_max, + accept = self.DFA201_accept, + special = self.DFA201_special, + transition = self.DFA201_transition ) - self.dfa206 = self.DFA206( - self, 206, - eot = self.DFA206_eot, - eof = self.DFA206_eof, - min = self.DFA206_min, - max = self.DFA206_max, - accept = self.DFA206_accept, - special = self.DFA206_special, - transition = self.DFA206_transition + self.dfa199 = self.DFA199( + self, 199, + eot = self.DFA199_eot, + eof = self.DFA199_eof, + min = self.DFA199_min, + max = self.DFA199_max, + accept = self.DFA199_accept, + special = self.DFA199_special, + transition = self.DFA199_transition ) - self.dfa269 = self.DFA269( - self, 269, - eot = self.DFA269_eot, - eof = self.DFA269_eof, - min = self.DFA269_min, - max = self.DFA269_max, - accept = self.DFA269_accept, - special = self.DFA269_special, - transition = self.DFA269_transition + self.dfa214 = self.DFA214( + self, 214, + eot = self.DFA214_eot, + eof = self.DFA214_eof, + min = self.DFA214_min, + max = self.DFA214_max, + accept = self.DFA214_accept, + special = self.DFA214_special, + transition = self.DFA214_transition + ) + + self.dfa277 = self.DFA277( + self, 277, + eot = self.DFA277_eot, + eof = self.DFA277_eof, + min = self.DFA277_min, + max = self.DFA277_max, + accept = self.DFA277_accept, + special = self.DFA277_special, + transition = self.DFA277_transition ) @@ -637,7 +651,7 @@ def __init__(self): # $ANTLR start "pr_file" - # sdl92.g:166:1: pr_file : ( use_clause | system_definition | process_definition )+ ; + # sdl92.g:168:1: pr_file : ( use_clause | system_definition | process_definition )+ ; def pr_file(self, ): retval = self.pr_file_return() retval.start = self.input.LT(1) @@ -652,23 +666,40 @@ def pr_file(self, ): try: try: - # sdl92.g:167:9: ( ( use_clause | system_definition | process_definition )+ ) - # sdl92.g:167:17: ( use_clause | system_definition | process_definition )+ + # sdl92.g:169:9: ( ( use_clause | system_definition | process_definition )+ ) + # sdl92.g:169:17: ( use_clause | system_definition | process_definition )+ pass root_0 = self._adaptor.nil() - # sdl92.g:167:17: ( use_clause | system_definition | process_definition )+ + # sdl92.g:169:17: ( use_clause | system_definition | process_definition )+ cnt1 = 0 while True: #loop1 alt1 = 4 LA1 = self.input.LA(1) - if LA1 in {252}: + if LA1 in {254}: LA1_2 = self.input.LA(2) if (LA1_2 == KEEP) : - alt1 = 1 - elif (LA1_2 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 254}) : + LA1_6 = self.input.LA(3) + + if (LA1_6 == SPECIFIC) : + LA1_7 = self.input.LA(4) + + if (LA1_7 == GEODE) : + LA1_8 = self.input.LA(5) + + if (LA1_8 == ASNFILENAME) : + alt1 = 1 + elif (LA1_8 in {REQ_ID, REQ_SERVER, RID_ID, RID_SERVER}) : + alt1 = 3 + + + + + + + elif (LA1_2 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : alt1 = 3 @@ -680,9 +711,9 @@ def pr_file(self, ): alt1 = 3 if alt1 == 1: - # sdl92.g:167:18: use_clause + # sdl92.g:169:18: use_clause pass - self._state.following.append(self.FOLLOW_use_clause_in_pr_file1591) + self._state.following.append(self.FOLLOW_use_clause_in_pr_file1613) use_clause1 = self.use_clause() self._state.following.pop() @@ -692,9 +723,9 @@ def pr_file(self, ): elif alt1 == 2: - # sdl92.g:168:19: system_definition + # sdl92.g:170:19: system_definition pass - self._state.following.append(self.FOLLOW_system_definition_in_pr_file1611) + self._state.following.append(self.FOLLOW_system_definition_in_pr_file1633) system_definition2 = self.system_definition() self._state.following.pop() @@ -704,9 +735,9 @@ def pr_file(self, ): elif alt1 == 3: - # sdl92.g:169:19: process_definition + # sdl92.g:171:19: process_definition pass - self._state.following.append(self.FOLLOW_process_definition_in_pr_file1631) + self._state.following.append(self.FOLLOW_process_definition_in_pr_file1653) process_definition3 = self.process_definition() self._state.following.pop() @@ -763,7 +794,7 @@ def __init__(self): # $ANTLR start "system_definition" - # sdl92.g:173:1: system_definition : SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ; + # sdl92.g:175: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) @@ -788,15 +819,15 @@ def system_definition(self, ): stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:174:9: ( SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ) - # sdl92.g:174:17: SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end + # sdl92.g:176:9: ( SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ) + # sdl92.g:176:17: SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end pass - SYSTEM4 = self.match(self.input, SYSTEM, self.FOLLOW_SYSTEM_in_system_definition1665) + SYSTEM4 = self.match(self.input, SYSTEM, self.FOLLOW_SYSTEM_in_system_definition1687) if self._state.backtracking == 0: stream_SYSTEM.add(SYSTEM4) - self._state.following.append(self.FOLLOW_system_name_in_system_definition1667) + self._state.following.append(self.FOLLOW_system_name_in_system_definition1689) system_name5 = self.system_name() self._state.following.pop() @@ -804,7 +835,7 @@ def system_definition(self, ): stream_system_name.add(system_name5.tree) - self._state.following.append(self.FOLLOW_end_in_system_definition1669) + self._state.following.append(self.FOLLOW_end_in_system_definition1691) end6 = self.end() self._state.following.pop() @@ -812,19 +843,19 @@ def system_definition(self, ): stream_end.add(end6.tree) - # sdl92.g:175:17: ( entity_in_system )* + # sdl92.g:177:17: ( entity_in_system )* while True: #loop2 alt2 = 2 LA2_0 = self.input.LA(1) - if (LA2_0 in {BLOCK, CHANNEL, EXPORTED, PROCEDURE, SIGNAL, 252}) : + if (LA2_0 in {BLOCK, CHANNEL, EXPORTED, PROCEDURE, SIGNAL, 254}) : alt2 = 1 if alt2 == 1: - # sdl92.g:175:17: entity_in_system + # sdl92.g:177:17: entity_in_system pass - self._state.following.append(self.FOLLOW_entity_in_system_in_system_definition1687) + self._state.following.append(self.FOLLOW_entity_in_system_in_system_definition1709) entity_in_system7 = self.entity_in_system() self._state.following.pop() @@ -837,21 +868,21 @@ def system_definition(self, ): break #loop2 - ENDSYSTEM8 = self.match(self.input, ENDSYSTEM, self.FOLLOW_ENDSYSTEM_in_system_definition1706) + ENDSYSTEM8 = self.match(self.input, ENDSYSTEM, self.FOLLOW_ENDSYSTEM_in_system_definition1728) if self._state.backtracking == 0: stream_ENDSYSTEM.add(ENDSYSTEM8) - # sdl92.g:176:27: ( system_name )? + # sdl92.g:178:27: ( system_name )? alt3 = 2 LA3_0 = self.input.LA(1) if (LA3_0 == ID) : alt3 = 1 if alt3 == 1: - # sdl92.g:176:27: system_name + # sdl92.g:178:27: system_name pass - self._state.following.append(self.FOLLOW_system_name_in_system_definition1708) + self._state.following.append(self.FOLLOW_system_name_in_system_definition1730) system_name9 = self.system_name() self._state.following.pop() @@ -862,7 +893,7 @@ def system_definition(self, ): - self._state.following.append(self.FOLLOW_end_in_system_definition1711) + self._state.following.append(self.FOLLOW_end_in_system_definition1733) end10 = self.end() self._state.following.pop() @@ -886,8 +917,8 @@ def system_definition(self, ): root_0 = self._adaptor.nil() - # 177:9: -> ^( SYSTEM system_name ( entity_in_system )* ) - # sdl92.g:177:17: ^( SYSTEM system_name ( entity_in_system )* ) + # 179:9: -> ^( SYSTEM system_name ( entity_in_system )* ) + # sdl92.g:179:17: ^( SYSTEM system_name ( entity_in_system )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SYSTEM.nextNode() @@ -895,7 +926,7 @@ def system_definition(self, ): self._adaptor.addChild(root_1, stream_system_name.nextTree()) - # sdl92.g:177:38: ( entity_in_system )* + # sdl92.g:179:38: ( entity_in_system )* while stream_entity_in_system.hasNext(): self._adaptor.addChild(root_1, stream_entity_in_system.nextTree()) @@ -945,7 +976,7 @@ def __init__(self): # $ANTLR start "use_clause" - # sdl92.g:181:1: use_clause : ( use_asn1 )? USE package_name ( '/' def_selection_list )? end -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) ; + # sdl92.g:183: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) @@ -970,19 +1001,19 @@ def use_clause(self, ): stream_def_selection_list = RewriteRuleSubtreeStream(self._adaptor, "rule def_selection_list") try: try: - # sdl92.g:182:9: ( ( use_asn1 )? USE package_name ( '/' def_selection_list )? end -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) ) - # sdl92.g:182:17: ( use_asn1 )? USE package_name ( '/' def_selection_list )? end + # sdl92.g:184:9: ( ( use_asn1 )? USE package_name ( '/' def_selection_list )? end -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) ) + # sdl92.g:184:17: ( use_asn1 )? USE package_name ( '/' def_selection_list )? end pass - # sdl92.g:182:17: ( use_asn1 )? + # sdl92.g:184:17: ( use_asn1 )? alt4 = 2 LA4_0 = self.input.LA(1) - if (LA4_0 == 252) : + if (LA4_0 == 254) : alt4 = 1 if alt4 == 1: - # sdl92.g:182:17: use_asn1 + # sdl92.g:184:17: use_asn1 pass - self._state.following.append(self.FOLLOW_use_asn1_in_use_clause1767) + self._state.following.append(self.FOLLOW_use_asn1_in_use_clause1789) use_asn111 = self.use_asn1() self._state.following.pop() @@ -993,12 +1024,12 @@ def use_clause(self, ): - USE12 = self.match(self.input, USE, self.FOLLOW_USE_in_use_clause1786) + USE12 = self.match(self.input, USE, self.FOLLOW_USE_in_use_clause1808) if self._state.backtracking == 0: stream_USE.add(USE12) - self._state.following.append(self.FOLLOW_package_name_in_use_clause1788) + self._state.following.append(self.FOLLOW_package_name_in_use_clause1810) package_name13 = self.package_name() self._state.following.pop() @@ -1006,21 +1037,21 @@ def use_clause(self, ): stream_package_name.add(package_name13.tree) - # sdl92.g:184:17: ( '/' def_selection_list )? + # sdl92.g:186:17: ( '/' def_selection_list )? alt5 = 2 LA5_0 = self.input.LA(1) if (LA5_0 == DIV) : alt5 = 1 if alt5 == 1: - # sdl92.g:184:18: '/' def_selection_list + # sdl92.g:186:18: '/' def_selection_list pass - char_literal14 = self.match(self.input, DIV, self.FOLLOW_DIV_in_use_clause1807) + char_literal14 = self.match(self.input, DIV, self.FOLLOW_DIV_in_use_clause1829) if self._state.backtracking == 0: stream_DIV.add(char_literal14) - self._state.following.append(self.FOLLOW_def_selection_list_in_use_clause1809) + self._state.following.append(self.FOLLOW_def_selection_list_in_use_clause1831) def_selection_list15 = self.def_selection_list() self._state.following.pop() @@ -1031,7 +1062,7 @@ def use_clause(self, ): - self._state.following.append(self.FOLLOW_end_in_use_clause1830) + self._state.following.append(self.FOLLOW_end_in_use_clause1852) end16 = self.end() self._state.following.pop() @@ -1055,21 +1086,21 @@ def use_clause(self, ): root_0 = self._adaptor.nil() - # 186:9: -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) - # sdl92.g:186:17: ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) + # 188:9: -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) + # sdl92.g:188: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:186:23: ( use_asn1 )? + # sdl92.g:188:23: ( use_asn1 )? if stream_use_asn1.hasNext(): self._adaptor.addChild(root_1, stream_use_asn1.nextTree()) stream_use_asn1.reset(); - # sdl92.g:186:33: ( end )? + # sdl92.g:188:33: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -1078,7 +1109,7 @@ def use_clause(self, ): self._adaptor.addChild(root_1, stream_package_name.nextTree()) - # sdl92.g:186:51: ( def_selection_list )? + # sdl92.g:188:51: ( def_selection_list )? if stream_def_selection_list.hasNext(): self._adaptor.addChild(root_1, stream_def_selection_list.nextTree()) @@ -1128,7 +1159,7 @@ def __init__(self): # $ANTLR start "def_selection_list" - # sdl92.g:193:1: def_selection_list : ID ( ',' ! ID )* ; + # sdl92.g:195:1: def_selection_list : ID ( ',' ! ID )* ; def def_selection_list(self, ): retval = self.def_selection_list_return() retval.start = self.input.LT(1) @@ -1146,20 +1177,20 @@ def def_selection_list(self, ): try: try: - # sdl92.g:194:9: ( ID ( ',' ! ID )* ) - # sdl92.g:194:17: ID ( ',' ! ID )* + # sdl92.g:196:9: ( ID ( ',' ! ID )* ) + # sdl92.g:196:17: ID ( ',' ! ID )* pass root_0 = self._adaptor.nil() - ID17 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1894) + ID17 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1916) if self._state.backtracking == 0: ID17_tree = self._adaptor.createWithPayload(ID17) self._adaptor.addChild(root_0, ID17_tree) - # sdl92.g:194:20: ( ',' ! ID )* + # sdl92.g:196:20: ( ',' ! ID )* while True: #loop6 alt6 = 2 LA6_0 = self.input.LA(1) @@ -1169,11 +1200,11 @@ def def_selection_list(self, ): if alt6 == 1: - # sdl92.g:194:21: ',' ! ID + # sdl92.g:196:21: ',' ! ID pass - char_literal18 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_def_selection_list1897) + char_literal18 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_def_selection_list1919) - ID19 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1900) + ID19 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1922) if self._state.backtracking == 0: ID19_tree = self._adaptor.createWithPayload(ID19) self._adaptor.addChild(root_0, ID19_tree) @@ -1219,7 +1250,7 @@ def __init__(self): # $ANTLR start "entity_in_system" - # sdl92.g:201:1: entity_in_system : ( signal_declaration | text_area | procedure | channel | block_definition ); + # sdl92.g:203: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) @@ -1236,10 +1267,10 @@ def entity_in_system(self, ): try: try: - # sdl92.g:202:9: ( signal_declaration | text_area | procedure | channel | block_definition ) + # sdl92.g:204:9: ( signal_declaration | text_area | procedure | channel | block_definition ) alt7 = 5 LA7 = self.input.LA(1) - if LA7 in {252}: + if LA7 in {254}: LA7_1 = self.input.LA(2) if (self.synpred9_sdl92()) : @@ -1277,12 +1308,12 @@ def entity_in_system(self, ): if alt7 == 1: - # sdl92.g:202:17: signal_declaration + # sdl92.g:204:17: signal_declaration pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_system1936) + self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_system1958) signal_declaration20 = self.signal_declaration() self._state.following.pop() @@ -1292,12 +1323,12 @@ def entity_in_system(self, ): elif alt7 == 2: - # sdl92.g:203:19: text_area + # sdl92.g:205:19: text_area pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_text_area_in_entity_in_system1956) + self._state.following.append(self.FOLLOW_text_area_in_entity_in_system1978) text_area21 = self.text_area() self._state.following.pop() @@ -1307,12 +1338,12 @@ def entity_in_system(self, ): elif alt7 == 3: - # sdl92.g:204:19: procedure + # sdl92.g:206:19: procedure pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_procedure_in_entity_in_system1976) + self._state.following.append(self.FOLLOW_procedure_in_entity_in_system1998) procedure22 = self.procedure() self._state.following.pop() @@ -1322,12 +1353,12 @@ def entity_in_system(self, ): elif alt7 == 4: - # sdl92.g:205:19: channel + # sdl92.g:207:19: channel pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_channel_in_entity_in_system1996) + self._state.following.append(self.FOLLOW_channel_in_entity_in_system2018) channel23 = self.channel() self._state.following.pop() @@ -1337,12 +1368,12 @@ def entity_in_system(self, ): elif alt7 == 5: - # sdl92.g:206:19: block_definition + # sdl92.g:208:19: block_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_block_definition_in_entity_in_system2016) + self._state.following.append(self.FOLLOW_block_definition_in_entity_in_system2038) block_definition24 = self.block_definition() self._state.following.pop() @@ -1383,7 +1414,7 @@ def __init__(self): # $ANTLR start "signal_declaration" - # sdl92.g:212:1: signal_declaration : ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) ; + # sdl92.g:214:1: signal_declaration : ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) ; def signal_declaration(self, ): retval = self.signal_declaration_return() retval.start = self.input.LT(1) @@ -1412,19 +1443,19 @@ def signal_declaration(self, ): stream_signal_id = RewriteRuleSubtreeStream(self._adaptor, "rule signal_id") try: try: - # sdl92.g:213:9: ( ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) ) - # sdl92.g:213:17: ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end + # sdl92.g:215:9: ( ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) ) + # sdl92.g:215:17: ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end pass - # sdl92.g:213:17: ( paramnames )? + # sdl92.g:215:17: ( paramnames )? alt8 = 2 LA8_0 = self.input.LA(1) - if (LA8_0 == 252) : + if (LA8_0 == 254) : alt8 = 1 if alt8 == 1: - # sdl92.g:213:17: paramnames + # sdl92.g:215:17: paramnames pass - self._state.following.append(self.FOLLOW_paramnames_in_signal_declaration2049) + self._state.following.append(self.FOLLOW_paramnames_in_signal_declaration2071) paramnames25 = self.paramnames() self._state.following.pop() @@ -1435,12 +1466,12 @@ def signal_declaration(self, ): - SIGNAL26 = self.match(self.input, SIGNAL, self.FOLLOW_SIGNAL_in_signal_declaration2068) + SIGNAL26 = self.match(self.input, SIGNAL, self.FOLLOW_SIGNAL_in_signal_declaration2090) if self._state.backtracking == 0: stream_SIGNAL.add(SIGNAL26) - self._state.following.append(self.FOLLOW_signal_id_in_signal_declaration2070) + self._state.following.append(self.FOLLOW_signal_id_in_signal_declaration2092) signal_id27 = self.signal_id() self._state.following.pop() @@ -1448,16 +1479,16 @@ def signal_declaration(self, ): stream_signal_id.add(signal_id27.tree) - # sdl92.g:214:34: ( input_params )? + # sdl92.g:216:34: ( input_params )? alt9 = 2 LA9_0 = self.input.LA(1) if (LA9_0 == L_PAREN) : alt9 = 1 if alt9 == 1: - # sdl92.g:214:34: input_params + # sdl92.g:216:34: input_params pass - self._state.following.append(self.FOLLOW_input_params_in_signal_declaration2072) + self._state.following.append(self.FOLLOW_input_params_in_signal_declaration2094) input_params28 = self.input_params() self._state.following.pop() @@ -1468,21 +1499,21 @@ def signal_declaration(self, ): - # sdl92.g:215:17: ( RENAMES ( input_expression | output_expression ) )? + # sdl92.g:217:17: ( RENAMES ( input_expression | output_expression ) )? alt11 = 2 LA11_0 = self.input.LA(1) if (LA11_0 == RENAMES) : alt11 = 1 if alt11 == 1: - # sdl92.g:215:18: RENAMES ( input_expression | output_expression ) + # sdl92.g:217:18: RENAMES ( input_expression | output_expression ) pass - RENAMES29 = self.match(self.input, RENAMES, self.FOLLOW_RENAMES_in_signal_declaration2092) + RENAMES29 = self.match(self.input, RENAMES, self.FOLLOW_RENAMES_in_signal_declaration2114) if self._state.backtracking == 0: stream_RENAMES.add(RENAMES29) - # sdl92.g:215:26: ( input_expression | output_expression ) + # sdl92.g:217:26: ( input_expression | output_expression ) alt10 = 2 LA10_0 = self.input.LA(1) @@ -1501,9 +1532,9 @@ def signal_declaration(self, ): if alt10 == 1: - # sdl92.g:215:27: input_expression + # sdl92.g:217:27: input_expression pass - self._state.following.append(self.FOLLOW_input_expression_in_signal_declaration2095) + self._state.following.append(self.FOLLOW_input_expression_in_signal_declaration2117) input_expression30 = self.input_expression() self._state.following.pop() @@ -1513,9 +1544,9 @@ def signal_declaration(self, ): elif alt10 == 2: - # sdl92.g:215:46: output_expression + # sdl92.g:217:46: output_expression pass - self._state.following.append(self.FOLLOW_output_expression_in_signal_declaration2099) + self._state.following.append(self.FOLLOW_output_expression_in_signal_declaration2121) output_expression31 = self.output_expression() self._state.following.pop() @@ -1529,7 +1560,7 @@ def signal_declaration(self, ): - self._state.following.append(self.FOLLOW_end_in_signal_declaration2121) + self._state.following.append(self.FOLLOW_end_in_signal_declaration2143) end32 = self.end() self._state.following.pop() @@ -1553,14 +1584,14 @@ def signal_declaration(self, ): root_0 = self._adaptor.nil() - # 217:9: -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) - # sdl92.g:217:17: ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) + # 219:9: -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) + # sdl92.g:219:17: ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SIGNAL.nextNode() , root_1) - # sdl92.g:217:26: ( paramnames )? + # sdl92.g:219:26: ( paramnames )? if stream_paramnames.hasNext(): self._adaptor.addChild(root_1, stream_paramnames.nextTree()) @@ -1569,27 +1600,27 @@ def signal_declaration(self, ): self._adaptor.addChild(root_1, stream_signal_id.nextTree()) - # sdl92.g:217:48: ( input_params )? + # sdl92.g:219:48: ( input_params )? if stream_input_params.hasNext(): self._adaptor.addChild(root_1, stream_input_params.nextTree()) stream_input_params.reset(); - # sdl92.g:217:62: ^( INTERCEPT ( input_expression )? ( output_expression )? ) + # sdl92.g:219:62: ^( INTERCEPT ( input_expression )? ( output_expression )? ) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( self._adaptor.createFromType(INTERCEPT, "INTERCEPT") , root_2) - # sdl92.g:217:74: ( input_expression )? + # sdl92.g:219:74: ( input_expression )? if stream_input_expression.hasNext(): self._adaptor.addChild(root_2, stream_input_expression.nextTree()) stream_input_expression.reset(); - # sdl92.g:217:92: ( output_expression )? + # sdl92.g:219:92: ( output_expression )? if stream_output_expression.hasNext(): self._adaptor.addChild(root_2, stream_output_expression.nextTree()) @@ -1641,7 +1672,7 @@ def __init__(self): # $ANTLR start "channel" - # sdl92.g:221:1: channel : CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ; + # sdl92.g:223: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) @@ -1664,15 +1695,15 @@ def channel(self, ): stream_channel_id = RewriteRuleSubtreeStream(self._adaptor, "rule channel_id") try: try: - # sdl92.g:222:9: ( CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ) - # sdl92.g:222:17: CHANNEL channel_id ( route )+ ENDCHANNEL end + # sdl92.g:224:9: ( CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ) + # sdl92.g:224:17: CHANNEL channel_id ( route )+ ENDCHANNEL end pass - CHANNEL33 = self.match(self.input, CHANNEL, self.FOLLOW_CHANNEL_in_channel2190) + CHANNEL33 = self.match(self.input, CHANNEL, self.FOLLOW_CHANNEL_in_channel2212) if self._state.backtracking == 0: stream_CHANNEL.add(CHANNEL33) - self._state.following.append(self.FOLLOW_channel_id_in_channel2192) + self._state.following.append(self.FOLLOW_channel_id_in_channel2214) channel_id34 = self.channel_id() self._state.following.pop() @@ -1680,7 +1711,7 @@ def channel(self, ): stream_channel_id.add(channel_id34.tree) - # sdl92.g:223:17: ( route )+ + # sdl92.g:225:17: ( route )+ cnt12 = 0 while True: #loop12 alt12 = 2 @@ -1691,9 +1722,9 @@ def channel(self, ): if alt12 == 1: - # sdl92.g:223:17: route + # sdl92.g:225:17: route pass - self._state.following.append(self.FOLLOW_route_in_channel2210) + self._state.following.append(self.FOLLOW_route_in_channel2232) route35 = self.route() self._state.following.pop() @@ -1716,12 +1747,12 @@ def channel(self, ): cnt12 += 1 - ENDCHANNEL36 = self.match(self.input, ENDCHANNEL, self.FOLLOW_ENDCHANNEL_in_channel2229) + ENDCHANNEL36 = self.match(self.input, ENDCHANNEL, self.FOLLOW_ENDCHANNEL_in_channel2251) if self._state.backtracking == 0: stream_ENDCHANNEL.add(ENDCHANNEL36) - self._state.following.append(self.FOLLOW_end_in_channel2231) + self._state.following.append(self.FOLLOW_end_in_channel2253) end37 = self.end() self._state.following.pop() @@ -1745,8 +1776,8 @@ def channel(self, ): root_0 = self._adaptor.nil() - # 225:9: -> ^( CHANNEL channel_id ( route )+ ) - # sdl92.g:225:17: ^( CHANNEL channel_id ( route )+ ) + # 227:9: -> ^( CHANNEL channel_id ( route )+ ) + # sdl92.g:227:17: ^( CHANNEL channel_id ( route )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_CHANNEL.nextNode() @@ -1754,7 +1785,7 @@ def channel(self, ): self._adaptor.addChild(root_1, stream_channel_id.nextTree()) - # sdl92.g:225:38: ( route )+ + # sdl92.g:227:38: ( route )+ if not (stream_route.hasNext()): raise RewriteEarlyExitException() @@ -1807,7 +1838,7 @@ def __init__(self): # $ANTLR start "route" - # sdl92.g:229:1: route : FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ; + # sdl92.g:231: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) @@ -1839,15 +1870,15 @@ def route(self, ): stream_signal_id = RewriteRuleSubtreeStream(self._adaptor, "rule signal_id") try: try: - # sdl92.g:230:9: ( FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ) - # sdl92.g:230:17: FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end + # sdl92.g:232:9: ( FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ) + # sdl92.g:232:17: FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end pass - FROM38 = self.match(self.input, FROM, self.FOLLOW_FROM_in_route2287) + FROM38 = self.match(self.input, FROM, self.FOLLOW_FROM_in_route2309) if self._state.backtracking == 0: stream_FROM.add(FROM38) - self._state.following.append(self.FOLLOW_source_id_in_route2289) + self._state.following.append(self.FOLLOW_source_id_in_route2311) source_id39 = self.source_id() self._state.following.pop() @@ -1855,12 +1886,12 @@ def route(self, ): stream_source_id.add(source_id39.tree) - TO40 = self.match(self.input, TO, self.FOLLOW_TO_in_route2291) + TO40 = self.match(self.input, TO, self.FOLLOW_TO_in_route2313) if self._state.backtracking == 0: stream_TO.add(TO40) - self._state.following.append(self.FOLLOW_dest_id_in_route2293) + self._state.following.append(self.FOLLOW_dest_id_in_route2315) dest_id41 = self.dest_id() self._state.following.pop() @@ -1868,12 +1899,12 @@ def route(self, ): stream_dest_id.add(dest_id41.tree) - WITH42 = self.match(self.input, WITH, self.FOLLOW_WITH_in_route2295) + WITH42 = self.match(self.input, WITH, self.FOLLOW_WITH_in_route2317) if self._state.backtracking == 0: stream_WITH.add(WITH42) - self._state.following.append(self.FOLLOW_signal_id_in_route2297) + self._state.following.append(self.FOLLOW_signal_id_in_route2319) signal_id43 = self.signal_id() self._state.following.pop() @@ -1881,7 +1912,7 @@ def route(self, ): stream_signal_id.add(signal_id43.tree) - # sdl92.g:230:58: ( ',' signal_id )* + # sdl92.g:232:58: ( ',' signal_id )* while True: #loop13 alt13 = 2 LA13_0 = self.input.LA(1) @@ -1891,14 +1922,14 @@ def route(self, ): if alt13 == 1: - # sdl92.g:230:59: ',' signal_id + # sdl92.g:232:59: ',' signal_id pass - char_literal44 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_route2300) + char_literal44 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_route2322) if self._state.backtracking == 0: stream_COMMA.add(char_literal44) - self._state.following.append(self.FOLLOW_signal_id_in_route2302) + self._state.following.append(self.FOLLOW_signal_id_in_route2324) signal_id45 = self.signal_id() self._state.following.pop() @@ -1911,7 +1942,7 @@ def route(self, ): break #loop13 - self._state.following.append(self.FOLLOW_end_in_route2306) + self._state.following.append(self.FOLLOW_end_in_route2328) end46 = self.end() self._state.following.pop() @@ -1935,8 +1966,8 @@ def route(self, ): root_0 = self._adaptor.nil() - # 231:9: -> ^( ROUTE source_id dest_id ( signal_id )+ ) - # sdl92.g:231:17: ^( ROUTE source_id dest_id ( signal_id )+ ) + # 233:9: -> ^( ROUTE source_id dest_id ( signal_id )+ ) + # sdl92.g:233:17: ^( ROUTE source_id dest_id ( signal_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(ROUTE, "ROUTE") @@ -1946,7 +1977,7 @@ def route(self, ): self._adaptor.addChild(root_1, stream_dest_id.nextTree()) - # sdl92.g:231:43: ( signal_id )+ + # sdl92.g:233:43: ( signal_id )+ if not (stream_signal_id.hasNext()): raise RewriteEarlyExitException() @@ -1999,7 +2030,7 @@ def __init__(self): # $ANTLR start "block_definition" - # sdl92.g:235:1: block_definition : BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ; + # sdl92.g:237: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) @@ -2023,15 +2054,15 @@ def block_definition(self, ): stream_block_id = RewriteRuleSubtreeStream(self._adaptor, "rule block_id") try: try: - # sdl92.g:236:9: ( BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ) - # sdl92.g:236:17: BLOCK block_id end ( entity_in_block )* ENDBLOCK end + # sdl92.g:238:9: ( BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ) + # sdl92.g:238:17: BLOCK block_id end ( entity_in_block )* ENDBLOCK end pass - BLOCK47 = self.match(self.input, BLOCK, self.FOLLOW_BLOCK_in_block_definition2364) + BLOCK47 = self.match(self.input, BLOCK, self.FOLLOW_BLOCK_in_block_definition2386) if self._state.backtracking == 0: stream_BLOCK.add(BLOCK47) - self._state.following.append(self.FOLLOW_block_id_in_block_definition2366) + self._state.following.append(self.FOLLOW_block_id_in_block_definition2388) block_id48 = self.block_id() self._state.following.pop() @@ -2039,7 +2070,7 @@ def block_definition(self, ): stream_block_id.add(block_id48.tree) - self._state.following.append(self.FOLLOW_end_in_block_definition2368) + self._state.following.append(self.FOLLOW_end_in_block_definition2390) end49 = self.end() self._state.following.pop() @@ -2047,19 +2078,19 @@ def block_definition(self, ): stream_end.add(end49.tree) - # sdl92.g:237:17: ( entity_in_block )* + # sdl92.g:239:17: ( entity_in_block )* while True: #loop14 alt14 = 2 LA14_0 = self.input.LA(1) - if (LA14_0 in {BLOCK, CONNECT, PROCESS, SIGNAL, SIGNALROUTE, 252}) : + if (LA14_0 in {BLOCK, CONNECT, PROCESS, SIGNAL, SIGNALROUTE, 254}) : alt14 = 1 if alt14 == 1: - # sdl92.g:237:17: entity_in_block + # sdl92.g:239:17: entity_in_block pass - self._state.following.append(self.FOLLOW_entity_in_block_in_block_definition2386) + self._state.following.append(self.FOLLOW_entity_in_block_in_block_definition2408) entity_in_block50 = self.entity_in_block() self._state.following.pop() @@ -2072,12 +2103,12 @@ def block_definition(self, ): break #loop14 - ENDBLOCK51 = self.match(self.input, ENDBLOCK, self.FOLLOW_ENDBLOCK_in_block_definition2405) + ENDBLOCK51 = self.match(self.input, ENDBLOCK, self.FOLLOW_ENDBLOCK_in_block_definition2427) if self._state.backtracking == 0: stream_ENDBLOCK.add(ENDBLOCK51) - self._state.following.append(self.FOLLOW_end_in_block_definition2407) + self._state.following.append(self.FOLLOW_end_in_block_definition2429) end52 = self.end() self._state.following.pop() @@ -2101,8 +2132,8 @@ def block_definition(self, ): root_0 = self._adaptor.nil() - # 239:9: -> ^( BLOCK block_id ( entity_in_block )* ) - # sdl92.g:239:17: ^( BLOCK block_id ( entity_in_block )* ) + # 241:9: -> ^( BLOCK block_id ( entity_in_block )* ) + # sdl92.g:241:17: ^( BLOCK block_id ( entity_in_block )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_BLOCK.nextNode() @@ -2110,7 +2141,7 @@ def block_definition(self, ): self._adaptor.addChild(root_1, stream_block_id.nextTree()) - # sdl92.g:239:34: ( entity_in_block )* + # sdl92.g:241:34: ( entity_in_block )* while stream_entity_in_block.hasNext(): self._adaptor.addChild(root_1, stream_entity_in_block.nextTree()) @@ -2160,7 +2191,7 @@ def __init__(self): # $ANTLR start "entity_in_block" - # sdl92.g:247:1: entity_in_block : ( signal_declaration | signalroute | connection | block_definition | process_definition ); + # sdl92.g:249: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) @@ -2177,15 +2208,56 @@ def entity_in_block(self, ): try: try: - # sdl92.g:248:9: ( signal_declaration | signalroute | connection | block_definition | process_definition ) + # sdl92.g:250:9: ( signal_declaration | signalroute | connection | block_definition | process_definition ) alt15 = 5 LA15 = self.input.LA(1) - if LA15 in {252}: + if LA15 in {254}: LA15_1 = self.input.LA(2) if (LA15_1 == KEEP) : - alt15 = 1 - elif (LA15_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 254}) : + LA15_7 = self.input.LA(3) + + if (LA15_7 == SPECIFIC) : + LA15_8 = self.input.LA(4) + + if (LA15_8 == GEODE) : + LA15_9 = self.input.LA(5) + + if (LA15_9 == PARAMNAMES) : + alt15 = 1 + elif (LA15_9 in {REQ_ID, REQ_SERVER, RID_ID, RID_SERVER}) : + alt15 = 5 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + + nvae = NoViableAltException("", 15, 9, self.input) + + raise nvae + + + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + + nvae = NoViableAltException("", 15, 8, self.input) + + raise nvae + + + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + + nvae = NoViableAltException("", 15, 7, self.input) + + raise nvae + + + elif (LA15_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : alt15 = 5 else: if self._state.backtracking > 0: @@ -2218,12 +2290,12 @@ def entity_in_block(self, ): if alt15 == 1: - # sdl92.g:248:17: signal_declaration + # sdl92.g:250:17: signal_declaration pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_block2465) + self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_block2487) signal_declaration53 = self.signal_declaration() self._state.following.pop() @@ -2233,12 +2305,12 @@ def entity_in_block(self, ): elif alt15 == 2: - # sdl92.g:249:19: signalroute + # sdl92.g:251:19: signalroute pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signalroute_in_entity_in_block2485) + self._state.following.append(self.FOLLOW_signalroute_in_entity_in_block2507) signalroute54 = self.signalroute() self._state.following.pop() @@ -2248,12 +2320,12 @@ def entity_in_block(self, ): elif alt15 == 3: - # sdl92.g:250:19: connection + # sdl92.g:252:19: connection pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_connection_in_entity_in_block2505) + self._state.following.append(self.FOLLOW_connection_in_entity_in_block2527) connection55 = self.connection() self._state.following.pop() @@ -2263,12 +2335,12 @@ def entity_in_block(self, ): elif alt15 == 4: - # sdl92.g:251:19: block_definition + # sdl92.g:253:19: block_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_block_definition_in_entity_in_block2525) + self._state.following.append(self.FOLLOW_block_definition_in_entity_in_block2547) block_definition56 = self.block_definition() self._state.following.pop() @@ -2278,12 +2350,12 @@ def entity_in_block(self, ): elif alt15 == 5: - # sdl92.g:252:19: process_definition + # sdl92.g:254:19: process_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_process_definition_in_entity_in_block2545) + self._state.following.append(self.FOLLOW_process_definition_in_entity_in_block2567) process_definition57 = self.process_definition() self._state.following.pop() @@ -2324,7 +2396,7 @@ def __init__(self): # $ANTLR start "signalroute" - # sdl92.g:258:1: signalroute : SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ; + # sdl92.g:260:1: signalroute : SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ; def signalroute(self, ): retval = self.signalroute_return() retval.start = self.input.LT(1) @@ -2344,15 +2416,15 @@ def signalroute(self, ): stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:259:9: ( SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ) - # sdl92.g:259:17: SIGNALROUTE route_id ( end )? ( route )* + # sdl92.g:261:9: ( SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ) + # sdl92.g:261:17: SIGNALROUTE route_id ( end )? ( route )* pass - SIGNALROUTE58 = self.match(self.input, SIGNALROUTE, self.FOLLOW_SIGNALROUTE_in_signalroute2579) + SIGNALROUTE58 = self.match(self.input, SIGNALROUTE, self.FOLLOW_SIGNALROUTE_in_signalroute2601) if self._state.backtracking == 0: stream_SIGNALROUTE.add(SIGNALROUTE58) - self._state.following.append(self.FOLLOW_route_id_in_signalroute2581) + self._state.following.append(self.FOLLOW_route_id_in_signalroute2603) route_id59 = self.route_id() self._state.following.pop() @@ -2360,11 +2432,11 @@ def signalroute(self, ): stream_route_id.add(route_id59.tree) - # sdl92.g:259:38: ( end )? + # sdl92.g:261:38: ( end )? alt16 = 2 LA16_0 = self.input.LA(1) - if (LA16_0 == 252) : + if (LA16_0 == 254) : LA16 = self.input.LA(2) if LA16 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: LA16_4 = self.input.LA(3) @@ -2382,97 +2454,143 @@ def signalroute(self, ): LA16_14 = self.input.LA(7) if (LA16_14 == DASH) : - LA16_15 = self.input.LA(8) + LA16_16 = self.input.LA(8) - if (LA16_15 == INT) : - LA16_16 = self.input.LA(9) + if (LA16_16 == INT) : + LA16_17 = self.input.LA(9) - if (LA16_16 == R_PAREN) : - LA16_17 = self.input.LA(10) + if (LA16_17 == R_PAREN) : + LA16_19 = self.input.LA(10) - if (LA16_17 == COMMA) : - LA16_18 = self.input.LA(11) + if (LA16_19 == COMMA) : + LA16_21 = self.input.LA(11) - if (LA16_18 == L_PAREN) : - LA16_19 = self.input.LA(12) + if (LA16_21 == L_PAREN) : + LA16_23 = self.input.LA(12) - if (LA16_19 == INT) : - LA16_20 = self.input.LA(13) + if (LA16_23 == INT) : + LA16_24 = self.input.LA(13) - if (LA16_20 == COMMA) : - LA16_21 = self.input.LA(14) + if (LA16_24 == COMMA) : + LA16_25 = self.input.LA(14) - if (LA16_21 == INT) : - LA16_22 = self.input.LA(15) + if (LA16_25 == INT) : + LA16_26 = self.input.LA(15) - if (LA16_22 == R_PAREN) : - LA16_23 = self.input.LA(16) + if (LA16_26 == R_PAREN) : + LA16_27 = self.input.LA(16) - if (LA16_23 == 248) : - LA16_24 = self.input.LA(17) + if (LA16_27 == 250) : + LA16_28 = self.input.LA(17) - if (LA16_24 == 252) : - LA16_25 = self.input.LA(18) + if (LA16_28 == 254) : + LA16_29 = self.input.LA(18) - if (LA16_25 == 254) : + if (LA16_29 == 256) : LA16_5 = self.input.LA(19) if (LA16_5 == INT) : LA16_8 = self.input.LA(20) - if (LA16_8 == 248) : + if (LA16_8 == 250) : LA16_12 = self.input.LA(21) - if (LA16_12 in {COMMENT, 252}) : + if (LA16_12 == 254) : + LA16_15 = self.input.LA(22) + + if (LA16_15 == KEEP) : + LA16_18 = self.input.LA(23) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(24) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(25) + + if (LA16_22 == HYPERLINK) : + alt16 = 1 + elif (LA16_12 == COMMENT) : + alt16 = 1 + elif (LA16_29 == KEEP) : + LA16_18 = self.input.LA(19) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(20) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(21) + + if (LA16_22 == HYPERLINK) : alt16 = 1 - elif (LA16_25 == KEEP) : - alt16 = 1 - elif (LA16_24 == COMMENT) : + elif (LA16_28 == COMMENT) : alt16 = 1 elif (LA16_14 == INT) : - LA16_16 = self.input.LA(8) + LA16_17 = self.input.LA(8) - if (LA16_16 == R_PAREN) : - LA16_17 = self.input.LA(9) + if (LA16_17 == R_PAREN) : + LA16_19 = self.input.LA(9) - if (LA16_17 == COMMA) : - LA16_18 = self.input.LA(10) + if (LA16_19 == COMMA) : + LA16_21 = self.input.LA(10) - if (LA16_18 == L_PAREN) : - LA16_19 = self.input.LA(11) + if (LA16_21 == L_PAREN) : + LA16_23 = self.input.LA(11) - if (LA16_19 == INT) : - LA16_20 = self.input.LA(12) + if (LA16_23 == INT) : + LA16_24 = self.input.LA(12) - if (LA16_20 == COMMA) : - LA16_21 = self.input.LA(13) + if (LA16_24 == COMMA) : + LA16_25 = self.input.LA(13) - if (LA16_21 == INT) : - LA16_22 = self.input.LA(14) + if (LA16_25 == INT) : + LA16_26 = self.input.LA(14) - if (LA16_22 == R_PAREN) : - LA16_23 = self.input.LA(15) + if (LA16_26 == R_PAREN) : + LA16_27 = self.input.LA(15) - if (LA16_23 == 248) : - LA16_24 = self.input.LA(16) + if (LA16_27 == 250) : + LA16_28 = self.input.LA(16) - if (LA16_24 == 252) : - LA16_25 = self.input.LA(17) + if (LA16_28 == 254) : + LA16_29 = self.input.LA(17) - if (LA16_25 == 254) : + if (LA16_29 == 256) : LA16_5 = self.input.LA(18) if (LA16_5 == INT) : LA16_8 = self.input.LA(19) - if (LA16_8 == 248) : + if (LA16_8 == 250) : LA16_12 = self.input.LA(20) - if (LA16_12 in {COMMENT, 252}) : + if (LA16_12 == 254) : + LA16_15 = self.input.LA(21) + + if (LA16_15 == KEEP) : + LA16_18 = self.input.LA(22) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(23) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(24) + + if (LA16_22 == HYPERLINK) : + alt16 = 1 + elif (LA16_12 == COMMENT) : alt16 = 1 - elif (LA16_25 == KEEP) : - alt16 = 1 - elif (LA16_24 == COMMENT) : + elif (LA16_29 == KEEP) : + LA16_18 = self.input.LA(18) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(19) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(20) + + if (LA16_22 == HYPERLINK) : + alt16 = 1 + elif (LA16_28 == COMMENT) : alt16 = 1 elif (LA16_7 == INT) : LA16_11 = self.input.LA(5) @@ -2481,108 +2599,168 @@ def signalroute(self, ): LA16_14 = self.input.LA(6) if (LA16_14 == DASH) : - LA16_15 = self.input.LA(7) + LA16_16 = self.input.LA(7) - if (LA16_15 == INT) : - LA16_16 = self.input.LA(8) + if (LA16_16 == INT) : + LA16_17 = self.input.LA(8) - if (LA16_16 == R_PAREN) : - LA16_17 = self.input.LA(9) + if (LA16_17 == R_PAREN) : + LA16_19 = self.input.LA(9) - if (LA16_17 == COMMA) : - LA16_18 = self.input.LA(10) + if (LA16_19 == COMMA) : + LA16_21 = self.input.LA(10) - if (LA16_18 == L_PAREN) : - LA16_19 = self.input.LA(11) + if (LA16_21 == L_PAREN) : + LA16_23 = self.input.LA(11) - if (LA16_19 == INT) : - LA16_20 = self.input.LA(12) + if (LA16_23 == INT) : + LA16_24 = self.input.LA(12) - if (LA16_20 == COMMA) : - LA16_21 = self.input.LA(13) + if (LA16_24 == COMMA) : + LA16_25 = self.input.LA(13) - if (LA16_21 == INT) : - LA16_22 = self.input.LA(14) + if (LA16_25 == INT) : + LA16_26 = self.input.LA(14) - if (LA16_22 == R_PAREN) : - LA16_23 = self.input.LA(15) + if (LA16_26 == R_PAREN) : + LA16_27 = self.input.LA(15) - if (LA16_23 == 248) : - LA16_24 = self.input.LA(16) + if (LA16_27 == 250) : + LA16_28 = self.input.LA(16) - if (LA16_24 == 252) : - LA16_25 = self.input.LA(17) + if (LA16_28 == 254) : + LA16_29 = self.input.LA(17) - if (LA16_25 == 254) : + if (LA16_29 == 256) : LA16_5 = self.input.LA(18) if (LA16_5 == INT) : LA16_8 = self.input.LA(19) - if (LA16_8 == 248) : + if (LA16_8 == 250) : LA16_12 = self.input.LA(20) - if (LA16_12 in {COMMENT, 252}) : + if (LA16_12 == 254) : + LA16_15 = self.input.LA(21) + + if (LA16_15 == KEEP) : + LA16_18 = self.input.LA(22) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(23) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(24) + + if (LA16_22 == HYPERLINK) : + alt16 = 1 + elif (LA16_12 == COMMENT) : alt16 = 1 - elif (LA16_25 == KEEP) : - alt16 = 1 - elif (LA16_24 == COMMENT) : + elif (LA16_29 == KEEP) : + LA16_18 = self.input.LA(18) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(19) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(20) + + if (LA16_22 == HYPERLINK) : + alt16 = 1 + elif (LA16_28 == COMMENT) : alt16 = 1 elif (LA16_14 == INT) : - LA16_16 = self.input.LA(7) + LA16_17 = self.input.LA(7) - if (LA16_16 == R_PAREN) : - LA16_17 = self.input.LA(8) + if (LA16_17 == R_PAREN) : + LA16_19 = self.input.LA(8) - if (LA16_17 == COMMA) : - LA16_18 = self.input.LA(9) + if (LA16_19 == COMMA) : + LA16_21 = self.input.LA(9) - if (LA16_18 == L_PAREN) : - LA16_19 = self.input.LA(10) + if (LA16_21 == L_PAREN) : + LA16_23 = self.input.LA(10) - if (LA16_19 == INT) : - LA16_20 = self.input.LA(11) + if (LA16_23 == INT) : + LA16_24 = self.input.LA(11) - if (LA16_20 == COMMA) : - LA16_21 = self.input.LA(12) + if (LA16_24 == COMMA) : + LA16_25 = self.input.LA(12) - if (LA16_21 == INT) : - LA16_22 = self.input.LA(13) + if (LA16_25 == INT) : + LA16_26 = self.input.LA(13) - if (LA16_22 == R_PAREN) : - LA16_23 = self.input.LA(14) + if (LA16_26 == R_PAREN) : + LA16_27 = self.input.LA(14) - if (LA16_23 == 248) : - LA16_24 = self.input.LA(15) + if (LA16_27 == 250) : + LA16_28 = self.input.LA(15) - if (LA16_24 == 252) : - LA16_25 = self.input.LA(16) + if (LA16_28 == 254) : + LA16_29 = self.input.LA(16) - if (LA16_25 == 254) : + if (LA16_29 == 256) : LA16_5 = self.input.LA(17) if (LA16_5 == INT) : LA16_8 = self.input.LA(18) - if (LA16_8 == 248) : + if (LA16_8 == 250) : LA16_12 = self.input.LA(19) - if (LA16_12 in {COMMENT, 252}) : + if (LA16_12 == 254) : + LA16_15 = self.input.LA(20) + + if (LA16_15 == KEEP) : + LA16_18 = self.input.LA(21) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(22) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(23) + + if (LA16_22 == HYPERLINK) : + alt16 = 1 + elif (LA16_12 == COMMENT) : alt16 = 1 - elif (LA16_25 == KEEP) : - alt16 = 1 - elif (LA16_24 == COMMENT) : + elif (LA16_29 == KEEP) : + LA16_18 = self.input.LA(17) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(18) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(19) + + if (LA16_22 == HYPERLINK) : + alt16 = 1 + elif (LA16_28 == COMMENT) : alt16 = 1 - elif LA16 in {254}: + elif LA16 in {256}: LA16_5 = self.input.LA(3) if (LA16_5 == INT) : LA16_8 = self.input.LA(4) - if (LA16_8 == 248) : + if (LA16_8 == 250) : LA16_12 = self.input.LA(5) - if (LA16_12 in {COMMENT, 252}) : + if (LA16_12 == 254) : + LA16_15 = self.input.LA(6) + + if (LA16_15 == KEEP) : + LA16_18 = self.input.LA(7) + + if (LA16_18 == SPECIFIC) : + LA16_20 = self.input.LA(8) + + if (LA16_20 == GEODE) : + LA16_22 = self.input.LA(9) + + if (LA16_22 == HYPERLINK) : + alt16 = 1 + elif (LA16_12 == COMMENT) : alt16 = 1 elif LA16 in {KEEP}: LA16_6 = self.input.LA(3) @@ -2598,9 +2776,9 @@ def signalroute(self, ): elif (LA16_0 in {COMMENT, SEMI}) : alt16 = 1 if alt16 == 1: - # sdl92.g:259:38: end + # sdl92.g:261:38: end pass - self._state.following.append(self.FOLLOW_end_in_signalroute2583) + self._state.following.append(self.FOLLOW_end_in_signalroute2605) end60 = self.end() self._state.following.pop() @@ -2611,7 +2789,7 @@ def signalroute(self, ): - # sdl92.g:260:17: ( route )* + # sdl92.g:262:17: ( route )* while True: #loop17 alt17 = 2 LA17_0 = self.input.LA(1) @@ -2621,9 +2799,9 @@ def signalroute(self, ): if alt17 == 1: - # sdl92.g:260:17: route + # sdl92.g:262:17: route pass - self._state.following.append(self.FOLLOW_route_in_signalroute2602) + self._state.following.append(self.FOLLOW_route_in_signalroute2624) route61 = self.route() self._state.following.pop() @@ -2652,8 +2830,8 @@ def signalroute(self, ): root_0 = self._adaptor.nil() - # 261:9: -> ^( SIGNALROUTE route_id ( route )* ) - # sdl92.g:261:17: ^( SIGNALROUTE route_id ( route )* ) + # 263:9: -> ^( SIGNALROUTE route_id ( route )* ) + # sdl92.g:263:17: ^( SIGNALROUTE route_id ( route )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SIGNALROUTE.nextNode() @@ -2661,7 +2839,7 @@ def signalroute(self, ): self._adaptor.addChild(root_1, stream_route_id.nextTree()) - # sdl92.g:261:40: ( route )* + # sdl92.g:263:40: ( route )* while stream_route.hasNext(): self._adaptor.addChild(root_1, stream_route.nextTree()) @@ -2711,7 +2889,7 @@ def __init__(self): # $ANTLR start "connection" - # sdl92.g:265:1: connection : CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ; + # sdl92.g:267: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) @@ -2734,15 +2912,15 @@ def connection(self, ): stream_channel_id = RewriteRuleSubtreeStream(self._adaptor, "rule channel_id") try: try: - # sdl92.g:266:9: ( CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ) - # sdl92.g:266:17: CONNECT channel_id AND route_id end + # sdl92.g:268:9: ( CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ) + # sdl92.g:268:17: CONNECT channel_id AND route_id end pass - CONNECT62 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connection2659) + CONNECT62 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connection2681) if self._state.backtracking == 0: stream_CONNECT.add(CONNECT62) - self._state.following.append(self.FOLLOW_channel_id_in_connection2661) + self._state.following.append(self.FOLLOW_channel_id_in_connection2683) channel_id63 = self.channel_id() self._state.following.pop() @@ -2750,12 +2928,12 @@ def connection(self, ): stream_channel_id.add(channel_id63.tree) - AND64 = self.match(self.input, AND, self.FOLLOW_AND_in_connection2663) + AND64 = self.match(self.input, AND, self.FOLLOW_AND_in_connection2685) if self._state.backtracking == 0: stream_AND.add(AND64) - self._state.following.append(self.FOLLOW_route_id_in_connection2665) + self._state.following.append(self.FOLLOW_route_id_in_connection2687) route_id65 = self.route_id() self._state.following.pop() @@ -2763,7 +2941,7 @@ def connection(self, ): stream_route_id.add(route_id65.tree) - self._state.following.append(self.FOLLOW_end_in_connection2667) + self._state.following.append(self.FOLLOW_end_in_connection2689) end66 = self.end() self._state.following.pop() @@ -2787,8 +2965,8 @@ def connection(self, ): root_0 = self._adaptor.nil() - # 267:9: -> ^( CONNECTION channel_id route_id ) - # sdl92.g:267:17: ^( CONNECTION channel_id route_id ) + # 269:9: -> ^( CONNECTION channel_id route_id ) + # sdl92.g:269:17: ^( CONNECTION channel_id route_id ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(CONNECTION, "CONNECTION") @@ -2841,7 +3019,7 @@ def __init__(self): # $ANTLR start "process_definition" - # sdl92.g:279:1: process_definition : ( cif )? ( symbolid )? 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 )? ( symbolid )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) ; + # sdl92.g:281:1: process_definition : ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* 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 )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* 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) @@ -2850,32 +3028,36 @@ def process_definition(self, ): root_0 = None t = None - PROCESS69 = None - char_literal72 = None - REFERENCED74 = None - ENDPROCESS80 = None - TYPE81 = None + PROCESS73 = None + char_literal76 = None + REFERENCED78 = None + ENDPROCESS84 = None + TYPE85 = None a = None cif67 = None symbolid68 = None - process_id70 = None - number_of_instances71 = None - type_inst73 = None - pfpar75 = None - text_area76 = None - procedure77 = None - composite_state78 = None - processBody79 = None - process_id82 = None - end83 = None + req_server69 = None + rid_server70 = None + requirement71 = None + rid72 = None + process_id74 = None + number_of_instances75 = None + type_inst77 = None + pfpar79 = None + text_area80 = None + procedure81 = None + composite_state82 = None + processBody83 = None + process_id86 = None + end87 = None t_tree = None - PROCESS69_tree = None - char_literal72_tree = None - REFERENCED74_tree = None - ENDPROCESS80_tree = None - TYPE81_tree = None - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + PROCESS73_tree = None + char_literal76_tree = None + REFERENCED78_tree = None + ENDPROCESS84_tree = None + TYPE85_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_PROCESS = RewriteRuleTokenStream(self._adaptor, "token PROCESS") stream_ENDPROCESS = RewriteRuleTokenStream(self._adaptor, "token ENDPROCESS") stream_TYPE = RewriteRuleTokenStream(self._adaptor, "token TYPE") @@ -2884,31 +3066,35 @@ def process_definition(self, ): stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") stream_process_id = RewriteRuleSubtreeStream(self._adaptor, "rule process_id") + stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") + stream_procedure = RewriteRuleSubtreeStream(self._adaptor, "rule procedure") + stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") + stream_req_server = RewriteRuleSubtreeStream(self._adaptor, "rule req_server") + stream_number_of_instances = RewriteRuleSubtreeStream(self._adaptor, "rule number_of_instances") stream_pfpar = RewriteRuleSubtreeStream(self._adaptor, "rule pfpar") + stream_rid_server = RewriteRuleSubtreeStream(self._adaptor, "rule rid_server") 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:280:9: ( ( cif )? ( symbolid )? 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 )? ( symbolid )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) ) - # sdl92.g:280:17: ( cif )? ( symbolid )? 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 )? + # sdl92.g:282:9: ( ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* 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 )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) ) + # sdl92.g:282:17: ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* 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:280:17: ( cif )? + # sdl92.g:282:17: ( cif )? alt18 = 2 LA18_0 = self.input.LA(1) - if (LA18_0 == 252) : + if (LA18_0 == 254) : LA18_1 = self.input.LA(2) if (LA18_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : alt18 = 1 if alt18 == 1: - # sdl92.g:280:17: cif + # sdl92.g:282:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_process_definition2724) + self._state.following.append(self.FOLLOW_cif_in_process_definition2746) cif67 = self.cif() self._state.following.pop() @@ -2919,16 +3105,19 @@ def process_definition(self, ): - # sdl92.g:281:17: ( symbolid )? + # sdl92.g:283:17: ( symbolid )? alt19 = 2 LA19_0 = self.input.LA(1) - if (LA19_0 == 252) : - alt19 = 1 + if (LA19_0 == 254) : + LA19_1 = self.input.LA(2) + + if (LA19_1 == 256) : + alt19 = 1 if alt19 == 1: - # sdl92.g:281:17: symbolid + # sdl92.g:283:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_process_definition2743) + self._state.following.append(self.FOLLOW_symbolid_in_process_definition2765) symbolid68 = self.symbolid() self._state.following.pop() @@ -2939,21 +3128,155 @@ def process_definition(self, ): - PROCESS69 = self.match(self.input, PROCESS, self.FOLLOW_PROCESS_in_process_definition2762) - if self._state.backtracking == 0: - stream_PROCESS.add(PROCESS69) - - - # sdl92.g:282:26: (t= TYPE )? + # sdl92.g:284:17: ( req_server )? alt20 = 2 LA20_0 = self.input.LA(1) - if (LA20_0 == TYPE) : - alt20 = 1 + if (LA20_0 == 254) : + LA20_1 = self.input.LA(2) + + if (LA20_1 == KEEP) : + LA20_3 = self.input.LA(3) + + if (LA20_3 == SPECIFIC) : + LA20_4 = self.input.LA(4) + + if (LA20_4 == GEODE) : + LA20_5 = self.input.LA(5) + + if (LA20_5 == REQ_SERVER) : + alt20 = 1 if alt20 == 1: - # sdl92.g:282:26: t= TYPE + # sdl92.g:284:17: req_server + pass + self._state.following.append(self.FOLLOW_req_server_in_process_definition2784) + req_server69 = self.req_server() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_req_server.add(req_server69.tree) + + + + + + # sdl92.g:285:17: ( rid_server )? + alt21 = 2 + LA21_0 = self.input.LA(1) + + if (LA21_0 == 254) : + LA21_1 = self.input.LA(2) + + if (LA21_1 == KEEP) : + LA21_3 = self.input.LA(3) + + if (LA21_3 == SPECIFIC) : + LA21_4 = self.input.LA(4) + + if (LA21_4 == GEODE) : + LA21_5 = self.input.LA(5) + + if (LA21_5 == RID_SERVER) : + alt21 = 1 + if alt21 == 1: + # sdl92.g:285:17: rid_server pass - t = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2766) + self._state.following.append(self.FOLLOW_rid_server_in_process_definition2803) + rid_server70 = self.rid_server() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_rid_server.add(rid_server70.tree) + + + + + + # sdl92.g:286:17: ( requirement )* + while True: #loop22 + alt22 = 2 + LA22_0 = self.input.LA(1) + + if (LA22_0 == 254) : + LA22_1 = self.input.LA(2) + + if (LA22_1 == KEEP) : + LA22_3 = self.input.LA(3) + + if (LA22_3 == SPECIFIC) : + LA22_4 = self.input.LA(4) + + if (LA22_4 == GEODE) : + LA22_5 = self.input.LA(5) + + if (LA22_5 == REQ_ID) : + alt22 = 1 + + + + + + + + + + + if alt22 == 1: + # sdl92.g:286:17: requirement + pass + self._state.following.append(self.FOLLOW_requirement_in_process_definition2822) + requirement71 = self.requirement() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_requirement.add(requirement71.tree) + + + + else: + break #loop22 + + + # sdl92.g:287:17: ( rid )* + while True: #loop23 + alt23 = 2 + LA23_0 = self.input.LA(1) + + if (LA23_0 == 254) : + alt23 = 1 + + + if alt23 == 1: + # sdl92.g:287:17: rid + pass + self._state.following.append(self.FOLLOW_rid_in_process_definition2841) + rid72 = self.rid() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_rid.add(rid72.tree) + + + + else: + break #loop23 + + + PROCESS73 = self.match(self.input, PROCESS, self.FOLLOW_PROCESS_in_process_definition2860) + if self._state.backtracking == 0: + stream_PROCESS.add(PROCESS73) + + + # sdl92.g:288:26: (t= TYPE )? + alt24 = 2 + LA24_0 = self.input.LA(1) + + if (LA24_0 == TYPE) : + alt24 = 1 + if alt24 == 1: + # sdl92.g:288:26: t= TYPE + pass + t = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2864) if self._state.backtracking == 0: stream_TYPE.add(t) @@ -2961,77 +3284,77 @@ def process_definition(self, ): - self._state.following.append(self.FOLLOW_process_id_in_process_definition2769) - process_id70 = self.process_id() + self._state.following.append(self.FOLLOW_process_id_in_process_definition2867) + process_id74 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: - stream_process_id.add(process_id70.tree) + stream_process_id.add(process_id74.tree) - # sdl92.g:283:17: ( number_of_instances )? - alt21 = 2 - LA21_0 = self.input.LA(1) + # sdl92.g:289:17: ( number_of_instances )? + alt25 = 2 + LA25_0 = self.input.LA(1) - if (LA21_0 == L_PAREN) : - alt21 = 1 - if alt21 == 1: - # sdl92.g:283:17: number_of_instances + if (LA25_0 == L_PAREN) : + alt25 = 1 + if alt25 == 1: + # sdl92.g:289:17: number_of_instances pass - self._state.following.append(self.FOLLOW_number_of_instances_in_process_definition2787) - number_of_instances71 = self.number_of_instances() + self._state.following.append(self.FOLLOW_number_of_instances_in_process_definition2885) + number_of_instances75 = self.number_of_instances() self._state.following.pop() if self._state.backtracking == 0: - stream_number_of_instances.add(number_of_instances71.tree) + stream_number_of_instances.add(number_of_instances75.tree) - # sdl92.g:283:38: ( ':' type_inst )? - alt22 = 2 - LA22_0 = self.input.LA(1) + # sdl92.g:289:38: ( ':' type_inst )? + alt26 = 2 + LA26_0 = self.input.LA(1) - if (LA22_0 == 253) : - alt22 = 1 - if alt22 == 1: - # sdl92.g:283:39: ':' type_inst + if (LA26_0 == 255) : + alt26 = 1 + if alt26 == 1: + # sdl92.g:289:39: ':' type_inst pass - char_literal72 = self.match(self.input, 253, self.FOLLOW_253_in_process_definition2791) + char_literal76 = self.match(self.input, 255, self.FOLLOW_255_in_process_definition2889) if self._state.backtracking == 0: - stream_253.add(char_literal72) + stream_255.add(char_literal76) - self._state.following.append(self.FOLLOW_type_inst_in_process_definition2793) - type_inst73 = self.type_inst() + self._state.following.append(self.FOLLOW_type_inst_in_process_definition2891) + type_inst77 = self.type_inst() self._state.following.pop() if self._state.backtracking == 0: - stream_type_inst.add(type_inst73.tree) + stream_type_inst.add(type_inst77.tree) - # sdl92.g:283:55: ( REFERENCED )? - alt23 = 2 - LA23_0 = self.input.LA(1) + # sdl92.g:289:55: ( REFERENCED )? + alt27 = 2 + LA27_0 = self.input.LA(1) - if (LA23_0 == REFERENCED) : - alt23 = 1 - if alt23 == 1: - # sdl92.g:283:55: REFERENCED + if (LA27_0 == REFERENCED) : + alt27 = 1 + if alt27 == 1: + # sdl92.g:289:55: REFERENCED pass - REFERENCED74 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_process_definition2797) + REFERENCED78 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_process_definition2895) if self._state.backtracking == 0: - stream_REFERENCED.add(REFERENCED74) + stream_REFERENCED.add(REFERENCED78) - self._state.following.append(self.FOLLOW_end_in_process_definition2802) + self._state.following.append(self.FOLLOW_end_in_process_definition2900) a = self.end() self._state.following.pop() @@ -3039,490 +3362,596 @@ def process_definition(self, ): stream_end.add(a.tree) - # sdl92.g:284:17: ( pfpar )? - alt24 = 2 - LA24_0 = self.input.LA(1) + # sdl92.g:290:17: ( pfpar )? + alt28 = 2 + LA28_0 = self.input.LA(1) - if (LA24_0 == FPAR) : - alt24 = 1 - if alt24 == 1: - # sdl92.g:284:17: pfpar + if (LA28_0 == FPAR) : + alt28 = 1 + if alt28 == 1: + # sdl92.g:290:17: pfpar pass - self._state.following.append(self.FOLLOW_pfpar_in_process_definition2820) - pfpar75 = self.pfpar() + self._state.following.append(self.FOLLOW_pfpar_in_process_definition2918) + pfpar79 = self.pfpar() self._state.following.pop() if self._state.backtracking == 0: - stream_pfpar.add(pfpar75.tree) + stream_pfpar.add(pfpar79.tree) - # sdl92.g:285:17: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* - while True: #loop25 - alt25 = 4 - LA25 = self.input.LA(1) - if LA25 in {252}: - LA25_1 = self.input.LA(2) + # sdl92.g:291:17: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* + while True: #loop29 + alt29 = 4 + LA29 = self.input.LA(1) + if LA29 in {254}: + LA29_1 = self.input.LA(2) - if (self.synpred33_sdl92()) : - alt25 = 1 - elif (self.synpred34_sdl92()) : - alt25 = 2 + if (self.synpred37_sdl92()) : + alt29 = 1 + elif (self.synpred38_sdl92()) : + alt29 = 2 - elif LA25 in {STATE}: - LA25_3 = self.input.LA(2) + elif LA29 in {STATE}: + LA29_3 = self.input.LA(2) - if (self.synpred35_sdl92()) : - alt25 = 3 + if (self.synpred39_sdl92()) : + alt29 = 3 - elif LA25 in {EXPORTED, PROCEDURE}: - alt25 = 2 + elif LA29 in {EXPORTED, PROCEDURE}: + alt29 = 2 - if alt25 == 1: - # sdl92.g:285:18: text_area + if alt29 == 1: + # sdl92.g:291:18: text_area pass - self._state.following.append(self.FOLLOW_text_area_in_process_definition2840) - text_area76 = self.text_area() + self._state.following.append(self.FOLLOW_text_area_in_process_definition2938) + text_area80 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: - stream_text_area.add(text_area76.tree) + stream_text_area.add(text_area80.tree) - elif alt25 == 2: - # sdl92.g:285:30: procedure + elif alt29 == 2: + # sdl92.g:291:30: procedure pass - self._state.following.append(self.FOLLOW_procedure_in_process_definition2844) - procedure77 = self.procedure() + self._state.following.append(self.FOLLOW_procedure_in_process_definition2942) + procedure81 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure.add(procedure77.tree) + stream_procedure.add(procedure81.tree) - elif alt25 == 3: - # sdl92.g:285:42: ( composite_state_preamble )=> composite_state + elif alt29 == 3: + # sdl92.g:291:42: ( composite_state_preamble )=> composite_state pass - self._state.following.append(self.FOLLOW_composite_state_in_process_definition2853) - composite_state78 = self.composite_state() + self._state.following.append(self.FOLLOW_composite_state_in_process_definition2951) + composite_state82 = self.composite_state() self._state.following.pop() if self._state.backtracking == 0: - stream_composite_state.add(composite_state78.tree) + stream_composite_state.add(composite_state82.tree) else: - break #loop25 + break #loop29 - # sdl92.g:286:17: ( processBody )? - alt26 = 2 - LA26 = self.input.LA(1) - if LA26 in {252}: - LA26_1 = self.input.LA(2) + # sdl92.g:292:17: ( processBody )? + alt30 = 2 + LA30 = self.input.LA(1) + if LA30 in {254}: + LA30_1 = self.input.LA(2) - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {CONNECTION, START, STATE}: - alt26 = 1 - elif LA26 in {ENDPROCESS}: - LA26_3 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {TYPE}: - LA26_4 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {ID}: - LA26_5 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {COMMENT}: - LA26_6 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {SEMI}: - LA26_7 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {EOF}: - LA26_8 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {USE}: - LA26_9 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {SYSTEM}: - LA26_10 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {PROCESS}: - LA26_11 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {ENDBLOCK}: - LA26_12 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {SIGNAL}: - LA26_13 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {SIGNALROUTE}: - LA26_14 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {CONNECT}: - LA26_15 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - elif LA26 in {BLOCK}: - LA26_16 = self.input.LA(2) - - if (self.synpred36_sdl92()) : - alt26 = 1 - if alt26 == 1: - # sdl92.g:286:17: processBody + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {CONNECTION, START, STATE}: + alt30 = 1 + elif LA30 in {ENDPROCESS}: + LA30_3 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {TYPE}: + LA30_4 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {ID}: + LA30_5 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {COMMENT}: + LA30_6 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {SEMI}: + LA30_7 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {EOF}: + LA30_8 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {USE}: + LA30_9 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {SYSTEM}: + LA30_10 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {PROCESS}: + LA30_11 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {ENDBLOCK}: + LA30_12 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {SIGNAL}: + LA30_13 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {SIGNALROUTE}: + LA30_14 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {CONNECT}: + LA30_15 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + elif LA30 in {BLOCK}: + LA30_16 = self.input.LA(2) + + if (self.synpred40_sdl92()) : + alt30 = 1 + if alt30 == 1: + # sdl92.g:292:17: processBody pass - self._state.following.append(self.FOLLOW_processBody_in_process_definition2873) - processBody79 = self.processBody() + self._state.following.append(self.FOLLOW_processBody_in_process_definition2971) + processBody83 = self.processBody() self._state.following.pop() if self._state.backtracking == 0: - stream_processBody.add(processBody79.tree) + stream_processBody.add(processBody83.tree) - # sdl92.g:286:30: ( ENDPROCESS )? - alt27 = 2 - LA27_0 = self.input.LA(1) + # sdl92.g:292:30: ( ENDPROCESS )? + alt31 = 2 + LA31_0 = self.input.LA(1) - if (LA27_0 == ENDPROCESS) : - alt27 = 1 - if alt27 == 1: - # sdl92.g:286:30: ENDPROCESS + if (LA31_0 == ENDPROCESS) : + alt31 = 1 + if alt31 == 1: + # sdl92.g:292:30: ENDPROCESS pass - ENDPROCESS80 = self.match(self.input, ENDPROCESS, self.FOLLOW_ENDPROCESS_in_process_definition2876) + ENDPROCESS84 = self.match(self.input, ENDPROCESS, self.FOLLOW_ENDPROCESS_in_process_definition2974) if self._state.backtracking == 0: - stream_ENDPROCESS.add(ENDPROCESS80) + stream_ENDPROCESS.add(ENDPROCESS84) - # sdl92.g:286:42: ( TYPE )? - alt28 = 2 - LA28_0 = self.input.LA(1) + # sdl92.g:292:42: ( TYPE )? + alt32 = 2 + LA32_0 = self.input.LA(1) - if (LA28_0 == TYPE) : - alt28 = 1 - if alt28 == 1: - # sdl92.g:286:42: TYPE + if (LA32_0 == TYPE) : + alt32 = 1 + if alt32 == 1: + # sdl92.g:292:42: TYPE pass - TYPE81 = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2879) + TYPE85 = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2977) if self._state.backtracking == 0: - stream_TYPE.add(TYPE81) + stream_TYPE.add(TYPE85) - # sdl92.g:286:48: ( process_id )? - alt29 = 2 - LA29_0 = self.input.LA(1) + # sdl92.g:292:48: ( process_id )? + alt33 = 2 + LA33_0 = self.input.LA(1) - if (LA29_0 == ID) : - alt29 = 1 - if alt29 == 1: - # sdl92.g:286:48: process_id + if (LA33_0 == ID) : + alt33 = 1 + if alt33 == 1: + # sdl92.g:292:48: process_id pass - self._state.following.append(self.FOLLOW_process_id_in_process_definition2882) - process_id82 = self.process_id() + self._state.following.append(self.FOLLOW_process_id_in_process_definition2980) + process_id86 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: - stream_process_id.add(process_id82.tree) + stream_process_id.add(process_id86.tree) - # sdl92.g:287:17: ( end )? - alt30 = 2 - LA30_0 = self.input.LA(1) + # sdl92.g:293:17: ( end )? + alt34 = 2 + LA34_0 = self.input.LA(1) - if (LA30_0 == 252) : - LA30 = self.input.LA(2) - if LA30 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - LA30_4 = self.input.LA(3) + if (LA34_0 == 254) : + LA34 = self.input.LA(2) + if LA34 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: + LA34_4 = self.input.LA(3) - if (LA30_4 == L_PAREN) : - LA30_7 = self.input.LA(4) + if (LA34_4 == L_PAREN) : + LA34_7 = self.input.LA(4) - if (LA30_7 == DASH) : - LA30_10 = self.input.LA(5) + if (LA34_7 == DASH) : + LA34_10 = self.input.LA(5) - if (LA30_10 == INT) : - LA30_11 = self.input.LA(6) + if (LA34_10 == INT) : + LA34_11 = self.input.LA(6) - if (LA30_11 == COMMA) : - LA30_14 = self.input.LA(7) + if (LA34_11 == COMMA) : + LA34_14 = self.input.LA(7) - if (LA30_14 == DASH) : - LA30_15 = self.input.LA(8) + if (LA34_14 == DASH) : + LA34_16 = self.input.LA(8) - if (LA30_15 == INT) : - LA30_16 = self.input.LA(9) + if (LA34_16 == INT) : + LA34_17 = self.input.LA(9) - if (LA30_16 == R_PAREN) : - LA30_17 = self.input.LA(10) + if (LA34_17 == R_PAREN) : + LA34_19 = self.input.LA(10) - if (LA30_17 == COMMA) : - LA30_18 = self.input.LA(11) + if (LA34_19 == COMMA) : + LA34_21 = self.input.LA(11) - if (LA30_18 == L_PAREN) : - LA30_19 = self.input.LA(12) + if (LA34_21 == L_PAREN) : + LA34_23 = self.input.LA(12) - if (LA30_19 == INT) : - LA30_20 = self.input.LA(13) + if (LA34_23 == INT) : + LA34_24 = self.input.LA(13) - if (LA30_20 == COMMA) : - LA30_21 = self.input.LA(14) + if (LA34_24 == COMMA) : + LA34_25 = self.input.LA(14) - if (LA30_21 == INT) : - LA30_22 = self.input.LA(15) + if (LA34_25 == INT) : + LA34_26 = self.input.LA(15) - if (LA30_22 == R_PAREN) : - LA30_23 = self.input.LA(16) + if (LA34_26 == R_PAREN) : + LA34_27 = self.input.LA(16) - if (LA30_23 == 248) : - LA30_24 = self.input.LA(17) + if (LA34_27 == 250) : + LA34_28 = self.input.LA(17) - if (LA30_24 == 252) : - LA30_25 = self.input.LA(18) + if (LA34_28 == 254) : + LA34_29 = self.input.LA(18) - if (LA30_25 == 254) : - LA30_5 = self.input.LA(19) + if (LA34_29 == 256) : + LA34_5 = self.input.LA(19) - if (LA30_5 == INT) : - LA30_8 = self.input.LA(20) + if (LA34_5 == INT) : + LA34_8 = self.input.LA(20) - if (LA30_8 == 248) : - LA30_12 = self.input.LA(21) + if (LA34_8 == 250) : + LA34_12 = self.input.LA(21) - if (LA30_12 in {COMMENT, 252}) : - alt30 = 1 - elif (LA30_25 == KEEP) : - alt30 = 1 - elif (LA30_24 == COMMENT) : - alt30 = 1 - elif (LA30_14 == INT) : - LA30_16 = self.input.LA(8) + if (LA34_12 == 254) : + LA34_15 = self.input.LA(22) - if (LA30_16 == R_PAREN) : - LA30_17 = self.input.LA(9) + if (LA34_15 == KEEP) : + LA34_18 = self.input.LA(23) - if (LA30_17 == COMMA) : - LA30_18 = self.input.LA(10) + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(24) - if (LA30_18 == L_PAREN) : - LA30_19 = self.input.LA(11) + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(25) - if (LA30_19 == INT) : - LA30_20 = self.input.LA(12) + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_12 == COMMENT) : + alt34 = 1 + elif (LA34_29 == KEEP) : + LA34_18 = self.input.LA(19) - if (LA30_20 == COMMA) : - LA30_21 = self.input.LA(13) + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(20) - if (LA30_21 == INT) : - LA30_22 = self.input.LA(14) + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(21) - if (LA30_22 == R_PAREN) : - LA30_23 = self.input.LA(15) + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_28 == COMMENT) : + alt34 = 1 + elif (LA34_14 == INT) : + LA34_17 = self.input.LA(8) - if (LA30_23 == 248) : - LA30_24 = self.input.LA(16) + if (LA34_17 == R_PAREN) : + LA34_19 = self.input.LA(9) - if (LA30_24 == 252) : - LA30_25 = self.input.LA(17) + if (LA34_19 == COMMA) : + LA34_21 = self.input.LA(10) - if (LA30_25 == 254) : - LA30_5 = self.input.LA(18) + if (LA34_21 == L_PAREN) : + LA34_23 = self.input.LA(11) - if (LA30_5 == INT) : - LA30_8 = self.input.LA(19) + if (LA34_23 == INT) : + LA34_24 = self.input.LA(12) - if (LA30_8 == 248) : - LA30_12 = self.input.LA(20) + if (LA34_24 == COMMA) : + LA34_25 = self.input.LA(13) - if (LA30_12 in {COMMENT, 252}) : - alt30 = 1 - elif (LA30_25 == KEEP) : - alt30 = 1 - elif (LA30_24 == COMMENT) : - alt30 = 1 - elif (LA30_7 == INT) : - LA30_11 = self.input.LA(5) + if (LA34_25 == INT) : + LA34_26 = self.input.LA(14) - if (LA30_11 == COMMA) : - LA30_14 = self.input.LA(6) + if (LA34_26 == R_PAREN) : + LA34_27 = self.input.LA(15) - if (LA30_14 == DASH) : - LA30_15 = self.input.LA(7) + if (LA34_27 == 250) : + LA34_28 = self.input.LA(16) - if (LA30_15 == INT) : - LA30_16 = self.input.LA(8) + if (LA34_28 == 254) : + LA34_29 = self.input.LA(17) - if (LA30_16 == R_PAREN) : - LA30_17 = self.input.LA(9) + if (LA34_29 == 256) : + LA34_5 = self.input.LA(18) - if (LA30_17 == COMMA) : - LA30_18 = self.input.LA(10) + if (LA34_5 == INT) : + LA34_8 = self.input.LA(19) - if (LA30_18 == L_PAREN) : - LA30_19 = self.input.LA(11) + if (LA34_8 == 250) : + LA34_12 = self.input.LA(20) - if (LA30_19 == INT) : - LA30_20 = self.input.LA(12) + if (LA34_12 == 254) : + LA34_15 = self.input.LA(21) - if (LA30_20 == COMMA) : - LA30_21 = self.input.LA(13) + if (LA34_15 == KEEP) : + LA34_18 = self.input.LA(22) - if (LA30_21 == INT) : - LA30_22 = self.input.LA(14) + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(23) - if (LA30_22 == R_PAREN) : - LA30_23 = self.input.LA(15) + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(24) - if (LA30_23 == 248) : - LA30_24 = self.input.LA(16) + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_12 == COMMENT) : + alt34 = 1 + elif (LA34_29 == KEEP) : + LA34_18 = self.input.LA(18) - if (LA30_24 == 252) : - LA30_25 = self.input.LA(17) + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(19) - if (LA30_25 == 254) : - LA30_5 = self.input.LA(18) + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(20) - if (LA30_5 == INT) : - LA30_8 = self.input.LA(19) + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_28 == COMMENT) : + alt34 = 1 + elif (LA34_7 == INT) : + LA34_11 = self.input.LA(5) - if (LA30_8 == 248) : - LA30_12 = self.input.LA(20) + if (LA34_11 == COMMA) : + LA34_14 = self.input.LA(6) - if (LA30_12 in {COMMENT, 252}) : - alt30 = 1 - elif (LA30_25 == KEEP) : - alt30 = 1 - elif (LA30_24 == COMMENT) : - alt30 = 1 - elif (LA30_14 == INT) : - LA30_16 = self.input.LA(7) + if (LA34_14 == DASH) : + LA34_16 = self.input.LA(7) - if (LA30_16 == R_PAREN) : - LA30_17 = self.input.LA(8) + if (LA34_16 == INT) : + LA34_17 = self.input.LA(8) - if (LA30_17 == COMMA) : - LA30_18 = self.input.LA(9) + if (LA34_17 == R_PAREN) : + LA34_19 = self.input.LA(9) - if (LA30_18 == L_PAREN) : - LA30_19 = self.input.LA(10) + if (LA34_19 == COMMA) : + LA34_21 = self.input.LA(10) - if (LA30_19 == INT) : - LA30_20 = self.input.LA(11) + if (LA34_21 == L_PAREN) : + LA34_23 = self.input.LA(11) - if (LA30_20 == COMMA) : - LA30_21 = self.input.LA(12) + if (LA34_23 == INT) : + LA34_24 = self.input.LA(12) - if (LA30_21 == INT) : - LA30_22 = self.input.LA(13) + if (LA34_24 == COMMA) : + LA34_25 = self.input.LA(13) - if (LA30_22 == R_PAREN) : - LA30_23 = self.input.LA(14) + if (LA34_25 == INT) : + LA34_26 = self.input.LA(14) - if (LA30_23 == 248) : - LA30_24 = self.input.LA(15) + if (LA34_26 == R_PAREN) : + LA34_27 = self.input.LA(15) - if (LA30_24 == 252) : - LA30_25 = self.input.LA(16) + if (LA34_27 == 250) : + LA34_28 = self.input.LA(16) - if (LA30_25 == 254) : - LA30_5 = self.input.LA(17) + if (LA34_28 == 254) : + LA34_29 = self.input.LA(17) - if (LA30_5 == INT) : - LA30_8 = self.input.LA(18) + if (LA34_29 == 256) : + LA34_5 = self.input.LA(18) - if (LA30_8 == 248) : - LA30_12 = self.input.LA(19) + if (LA34_5 == INT) : + LA34_8 = self.input.LA(19) - if (LA30_12 in {COMMENT, 252}) : - alt30 = 1 - elif (LA30_25 == KEEP) : - alt30 = 1 - elif (LA30_24 == COMMENT) : - alt30 = 1 - elif LA30 in {254}: - LA30_5 = self.input.LA(3) + if (LA34_8 == 250) : + LA34_12 = self.input.LA(20) - if (LA30_5 == INT) : - LA30_8 = self.input.LA(4) + if (LA34_12 == 254) : + LA34_15 = self.input.LA(21) - if (LA30_8 == 248) : - LA30_12 = self.input.LA(5) + if (LA34_15 == KEEP) : + LA34_18 = self.input.LA(22) - if (LA30_12 in {COMMENT, 252}) : - alt30 = 1 - elif LA30 in {KEEP}: - LA30_6 = self.input.LA(3) + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(23) - if (LA30_6 == SPECIFIC) : - LA30_9 = self.input.LA(4) + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(24) - if (LA30_9 == GEODE) : - LA30_13 = self.input.LA(5) + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_12 == COMMENT) : + alt34 = 1 + elif (LA34_29 == KEEP) : + LA34_18 = self.input.LA(18) - if (LA30_13 == HYPERLINK) : - alt30 = 1 - elif (LA30_0 in {COMMENT, SEMI}) : - alt30 = 1 - if alt30 == 1: - # sdl92.g:287:17: end + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(19) + + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(20) + + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_28 == COMMENT) : + alt34 = 1 + elif (LA34_14 == INT) : + LA34_17 = self.input.LA(7) + + if (LA34_17 == R_PAREN) : + LA34_19 = self.input.LA(8) + + if (LA34_19 == COMMA) : + LA34_21 = self.input.LA(9) + + if (LA34_21 == L_PAREN) : + LA34_23 = self.input.LA(10) + + if (LA34_23 == INT) : + LA34_24 = self.input.LA(11) + + if (LA34_24 == COMMA) : + LA34_25 = self.input.LA(12) + + if (LA34_25 == INT) : + LA34_26 = self.input.LA(13) + + if (LA34_26 == R_PAREN) : + LA34_27 = self.input.LA(14) + + if (LA34_27 == 250) : + LA34_28 = self.input.LA(15) + + if (LA34_28 == 254) : + LA34_29 = self.input.LA(16) + + if (LA34_29 == 256) : + LA34_5 = self.input.LA(17) + + if (LA34_5 == INT) : + LA34_8 = self.input.LA(18) + + if (LA34_8 == 250) : + LA34_12 = self.input.LA(19) + + if (LA34_12 == 254) : + LA34_15 = self.input.LA(20) + + if (LA34_15 == KEEP) : + LA34_18 = self.input.LA(21) + + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(22) + + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(23) + + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_12 == COMMENT) : + alt34 = 1 + elif (LA34_29 == KEEP) : + LA34_18 = self.input.LA(17) + + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(18) + + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(19) + + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_28 == COMMENT) : + alt34 = 1 + elif LA34 in {256}: + LA34_5 = self.input.LA(3) + + if (LA34_5 == INT) : + LA34_8 = self.input.LA(4) + + if (LA34_8 == 250) : + LA34_12 = self.input.LA(5) + + if (LA34_12 == 254) : + LA34_15 = self.input.LA(6) + + if (LA34_15 == KEEP) : + LA34_18 = self.input.LA(7) + + if (LA34_18 == SPECIFIC) : + LA34_20 = self.input.LA(8) + + if (LA34_20 == GEODE) : + LA34_22 = self.input.LA(9) + + if (LA34_22 == HYPERLINK) : + alt34 = 1 + elif (LA34_12 == COMMENT) : + alt34 = 1 + elif LA34 in {KEEP}: + LA34_6 = self.input.LA(3) + + if (LA34_6 == SPECIFIC) : + LA34_9 = self.input.LA(4) + + if (LA34_9 == GEODE) : + LA34_13 = self.input.LA(5) + + if (LA34_13 == HYPERLINK) : + alt34 = 1 + elif (LA34_0 in {COMMENT, SEMI}) : + alt34 = 1 + if alt34 == 1: + # sdl92.g:293:17: end pass - self._state.following.append(self.FOLLOW_end_in_process_definition2901) - end83 = self.end() + self._state.following.append(self.FOLLOW_end_in_process_definition2999) + end87 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end83.tree) + stream_end.add(end87.tree) # AST Rewrite - # elements: PROCESS, cif, symbolid, process_id, number_of_instances, type_inst, t, REFERENCED, a, pfpar, text_area, procedure, composite_state, processBody + # elements: PROCESS, cif, symbolid, req_server, rid_server, requirement, rid, 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: @@ -3543,51 +3972,79 @@ def process_definition(self, ): root_0 = self._adaptor.nil() - # 288:9: -> ^( PROCESS ( cif )? ( symbolid )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) - # sdl92.g:288:17: ^( PROCESS ( cif )? ( symbolid )? process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) + # 294:9: -> ^( PROCESS ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) + # sdl92.g:294:17: ^( PROCESS ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* 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:288:27: ( cif )? + # sdl92.g:294:27: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:288:32: ( symbolid )? + # sdl92.g:294:32: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - self._adaptor.addChild(root_1, stream_process_id.nextTree()) + # sdl92.g:294:42: ( req_server )? + if stream_req_server.hasNext(): + self._adaptor.addChild(root_1, stream_req_server.nextTree()) - # sdl92.g:288:53: ( number_of_instances )? + + stream_req_server.reset(); + + # sdl92.g:294:54: ( rid_server )? + if stream_rid_server.hasNext(): + self._adaptor.addChild(root_1, stream_rid_server.nextTree()) + + + stream_rid_server.reset(); + + # sdl92.g:294:66: ( requirement )* + while stream_requirement.hasNext(): + self._adaptor.addChild(root_1, stream_requirement.nextTree()) + + + stream_requirement.reset(); + + # sdl92.g:295:19: ( rid )* + while stream_rid.hasNext(): + self._adaptor.addChild(root_1, stream_rid.nextTree()) + + + stream_rid.reset(); + + self._adaptor.addChild(root_1, stream_process_id.nextTree()) + + # sdl92.g:295:35: ( 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:288:74: ( type_inst )? + # sdl92.g:295:56: ( type_inst )? if stream_type_inst.hasNext(): self._adaptor.addChild(root_1, stream_type_inst.nextTree()) stream_type_inst.reset(); - # sdl92.g:289:18: ( $t)? + # sdl92.g:296:20: ( $t)? if stream_t.hasNext(): self._adaptor.addChild(root_1, stream_t.nextNode()) stream_t.reset(); - # sdl92.g:289:21: ( REFERENCED )? + # sdl92.g:296:23: ( REFERENCED )? if stream_REFERENCED.hasNext(): self._adaptor.addChild(root_1, stream_REFERENCED.nextNode() @@ -3596,42 +4053,42 @@ def process_definition(self, ): stream_REFERENCED.reset(); - # sdl92.g:289:34: ( $a)? + # sdl92.g:296:36: ( $a)? if stream_a.hasNext(): self._adaptor.addChild(root_1, stream_a.nextTree()) stream_a.reset(); - # sdl92.g:289:37: ( pfpar )? + # sdl92.g:296:39: ( pfpar )? if stream_pfpar.hasNext(): self._adaptor.addChild(root_1, stream_pfpar.nextTree()) stream_pfpar.reset(); - # sdl92.g:289:44: ( text_area )* + # sdl92.g:296:46: ( text_area )* while stream_text_area.hasNext(): self._adaptor.addChild(root_1, stream_text_area.nextTree()) stream_text_area.reset(); - # sdl92.g:289:55: ( procedure )* + # sdl92.g:296:57: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); - # sdl92.g:290:17: ( composite_state )* + # sdl92.g:297:19: ( composite_state )* while stream_composite_state.hasNext(): self._adaptor.addChild(root_1, stream_composite_state.nextTree()) stream_composite_state.reset(); - # sdl92.g:290:34: ( processBody )? + # sdl92.g:297:36: ( processBody )? if stream_processBody.hasNext(): self._adaptor.addChild(root_1, stream_processBody.nextTree()) @@ -3681,7 +4138,7 @@ def __init__(self): # $ANTLR start "pfpar" - # sdl92.g:295:1: pfpar : FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? -> ^( PFPAR ( parameters_of_sort )+ ) ; + # sdl92.g:302: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) @@ -3689,692 +4146,692 @@ def pfpar(self, ): root_0 = None - FPAR84 = None - char_literal86 = None - parameters_of_sort85 = None - parameters_of_sort87 = None - end88 = None + FPAR88 = None + char_literal90 = None + parameters_of_sort89 = None + parameters_of_sort91 = None + end92 = None - FPAR84_tree = None - char_literal86_tree = None + FPAR88_tree = None + char_literal90_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:296:9: ( FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? -> ^( PFPAR ( parameters_of_sort )+ ) ) - # sdl92.g:296:17: FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? + # sdl92.g:303:9: ( FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? -> ^( PFPAR ( parameters_of_sort )+ ) ) + # sdl92.g:303:17: FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? pass - FPAR84 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_pfpar3026) + FPAR88 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_pfpar3158) if self._state.backtracking == 0: - stream_FPAR.add(FPAR84) + stream_FPAR.add(FPAR88) - self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar3028) - parameters_of_sort85 = self.parameters_of_sort() + self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar3160) + parameters_of_sort89 = self.parameters_of_sort() self._state.following.pop() if self._state.backtracking == 0: - stream_parameters_of_sort.add(parameters_of_sort85.tree) + stream_parameters_of_sort.add(parameters_of_sort89.tree) - # sdl92.g:297:17: ( ',' parameters_of_sort )* - while True: #loop31 - alt31 = 2 - LA31_0 = self.input.LA(1) + # sdl92.g:304:17: ( ',' parameters_of_sort )* + while True: #loop35 + alt35 = 2 + LA35_0 = self.input.LA(1) - if (LA31_0 == COMMA) : - alt31 = 1 + if (LA35_0 == COMMA) : + alt35 = 1 - if alt31 == 1: - # sdl92.g:297:18: ',' parameters_of_sort + if alt35 == 1: + # sdl92.g:304:18: ',' parameters_of_sort pass - char_literal86 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_pfpar3047) + char_literal90 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_pfpar3179) if self._state.backtracking == 0: - stream_COMMA.add(char_literal86) + stream_COMMA.add(char_literal90) - self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar3049) - parameters_of_sort87 = self.parameters_of_sort() + self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar3181) + parameters_of_sort91 = self.parameters_of_sort() self._state.following.pop() if self._state.backtracking == 0: - stream_parameters_of_sort.add(parameters_of_sort87.tree) + stream_parameters_of_sort.add(parameters_of_sort91.tree) else: - break #loop31 + break #loop35 - # sdl92.g:298:17: ( end )? - alt32 = 2 - LA32 = self.input.LA(1) - if LA32 in {252}: - LA32 = self.input.LA(2) - if LA32 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - LA32_5 = self.input.LA(3) + # sdl92.g:305:17: ( end )? + alt36 = 2 + LA36 = self.input.LA(1) + if LA36 in {254}: + LA36 = self.input.LA(2) + if LA36 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: + LA36_5 = self.input.LA(3) - if (LA32_5 == L_PAREN) : - LA32_10 = self.input.LA(4) + if (LA36_5 == L_PAREN) : + LA36_10 = self.input.LA(4) - if (LA32_10 == DASH) : - LA32_14 = self.input.LA(5) + if (LA36_10 == DASH) : + LA36_14 = self.input.LA(5) - if (LA32_14 == INT) : - LA32_15 = self.input.LA(6) + if (LA36_14 == INT) : + LA36_15 = self.input.LA(6) - if (LA32_15 == COMMA) : - LA32_18 = self.input.LA(7) + if (LA36_15 == COMMA) : + LA36_18 = self.input.LA(7) - if (LA32_18 == DASH) : - LA32_21 = self.input.LA(8) + if (LA36_18 == DASH) : + LA36_21 = self.input.LA(8) - if (LA32_21 == INT) : - LA32_22 = self.input.LA(9) + if (LA36_21 == INT) : + LA36_22 = self.input.LA(9) - if (LA32_22 == R_PAREN) : - LA32_25 = self.input.LA(10) + if (LA36_22 == R_PAREN) : + LA36_25 = self.input.LA(10) - if (LA32_25 == COMMA) : - LA32_28 = self.input.LA(11) + if (LA36_25 == COMMA) : + LA36_28 = self.input.LA(11) - if (LA32_28 == L_PAREN) : - LA32_30 = self.input.LA(12) + if (LA36_28 == L_PAREN) : + LA36_30 = self.input.LA(12) - if (LA32_30 == INT) : - LA32_31 = self.input.LA(13) + if (LA36_30 == INT) : + LA36_31 = self.input.LA(13) - if (LA32_31 == COMMA) : - LA32_32 = self.input.LA(14) + if (LA36_31 == COMMA) : + LA36_32 = self.input.LA(14) - if (LA32_32 == INT) : - LA32_33 = self.input.LA(15) + if (LA36_32 == INT) : + LA36_33 = self.input.LA(15) - if (LA32_33 == R_PAREN) : - LA32_34 = self.input.LA(16) + if (LA36_33 == R_PAREN) : + LA36_34 = self.input.LA(16) - if (LA32_34 == 248) : - LA32_35 = self.input.LA(17) + if (LA36_34 == 250) : + LA36_35 = self.input.LA(17) - if (LA32_35 == 252) : - LA32_36 = self.input.LA(18) + if (LA36_35 == 254) : + LA36_36 = self.input.LA(18) - if (LA32_36 == 254) : - LA32_37 = self.input.LA(19) + if (LA36_36 == 256) : + LA36_37 = self.input.LA(19) - if (LA32_37 == INT) : - LA32_39 = self.input.LA(20) + if (LA36_37 == INT) : + LA36_39 = self.input.LA(20) - if (LA32_39 == 248) : - LA32_41 = self.input.LA(21) + if (LA36_39 == 250) : + LA36_41 = self.input.LA(21) - if (LA32_41 == 252) : - LA32_43 = self.input.LA(22) + if (LA36_41 == 254) : + LA36_43 = self.input.LA(22) - if (LA32_43 == KEEP) : - LA32_38 = self.input.LA(23) + if (LA36_43 == KEEP) : + LA36_38 = self.input.LA(23) - if (LA32_38 == SPECIFIC) : - LA32_40 = self.input.LA(24) + if (LA36_38 == SPECIFIC) : + LA36_40 = self.input.LA(24) - if (LA32_40 == GEODE) : - LA32_42 = self.input.LA(25) + if (LA36_40 == GEODE) : + LA36_42 = self.input.LA(25) - if (LA32_42 == HYPERLINK) : - LA32_20 = self.input.LA(26) + if (LA36_42 == HYPERLINK) : + LA36_20 = self.input.LA(26) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(27) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(27) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(28) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(28) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(29) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(29) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(30) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(30) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(31) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(31) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_41 == COMMENT) : - LA32_2 = self.input.LA(22) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_41 == COMMENT) : + LA36_2 = self.input.LA(22) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(23) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(23) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(24) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(24) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_36 == KEEP) : - LA32_38 = self.input.LA(19) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_36 == KEEP) : + LA36_38 = self.input.LA(19) - if (LA32_38 == SPECIFIC) : - LA32_40 = self.input.LA(20) + if (LA36_38 == SPECIFIC) : + LA36_40 = self.input.LA(20) - if (LA32_40 == GEODE) : - LA32_42 = self.input.LA(21) + if (LA36_40 == GEODE) : + LA36_42 = self.input.LA(21) - if (LA32_42 == HYPERLINK) : - LA32_20 = self.input.LA(22) + if (LA36_42 == HYPERLINK) : + LA36_20 = self.input.LA(22) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(23) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(23) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(24) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(24) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(25) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(25) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(26) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(26) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(27) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(27) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_35 == COMMENT) : - LA32_2 = self.input.LA(18) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_35 == COMMENT) : + LA36_2 = self.input.LA(18) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(19) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(19) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(20) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(20) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_18 == INT) : - LA32_22 = self.input.LA(8) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_18 == INT) : + LA36_22 = self.input.LA(8) - if (LA32_22 == R_PAREN) : - LA32_25 = self.input.LA(9) + if (LA36_22 == R_PAREN) : + LA36_25 = self.input.LA(9) - if (LA32_25 == COMMA) : - LA32_28 = self.input.LA(10) + if (LA36_25 == COMMA) : + LA36_28 = self.input.LA(10) - if (LA32_28 == L_PAREN) : - LA32_30 = self.input.LA(11) + if (LA36_28 == L_PAREN) : + LA36_30 = self.input.LA(11) - if (LA32_30 == INT) : - LA32_31 = self.input.LA(12) + if (LA36_30 == INT) : + LA36_31 = self.input.LA(12) - if (LA32_31 == COMMA) : - LA32_32 = self.input.LA(13) + if (LA36_31 == COMMA) : + LA36_32 = self.input.LA(13) - if (LA32_32 == INT) : - LA32_33 = self.input.LA(14) + if (LA36_32 == INT) : + LA36_33 = self.input.LA(14) - if (LA32_33 == R_PAREN) : - LA32_34 = self.input.LA(15) + if (LA36_33 == R_PAREN) : + LA36_34 = self.input.LA(15) - if (LA32_34 == 248) : - LA32_35 = self.input.LA(16) + if (LA36_34 == 250) : + LA36_35 = self.input.LA(16) - if (LA32_35 == 252) : - LA32_36 = self.input.LA(17) + if (LA36_35 == 254) : + LA36_36 = self.input.LA(17) - if (LA32_36 == 254) : - LA32_37 = self.input.LA(18) + if (LA36_36 == 256) : + LA36_37 = self.input.LA(18) - if (LA32_37 == INT) : - LA32_39 = self.input.LA(19) + if (LA36_37 == INT) : + LA36_39 = self.input.LA(19) - if (LA32_39 == 248) : - LA32_41 = self.input.LA(20) + if (LA36_39 == 250) : + LA36_41 = self.input.LA(20) - if (LA32_41 == 252) : - LA32_43 = self.input.LA(21) + if (LA36_41 == 254) : + LA36_43 = self.input.LA(21) - if (LA32_43 == KEEP) : - LA32_38 = self.input.LA(22) + if (LA36_43 == KEEP) : + LA36_38 = self.input.LA(22) - if (LA32_38 == SPECIFIC) : - LA32_40 = self.input.LA(23) + if (LA36_38 == SPECIFIC) : + LA36_40 = self.input.LA(23) - if (LA32_40 == GEODE) : - LA32_42 = self.input.LA(24) + if (LA36_40 == GEODE) : + LA36_42 = self.input.LA(24) - if (LA32_42 == HYPERLINK) : - LA32_20 = self.input.LA(25) + if (LA36_42 == HYPERLINK) : + LA36_20 = self.input.LA(25) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(26) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(26) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(27) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(27) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(28) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(28) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(29) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(29) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(30) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(30) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_41 == COMMENT) : - LA32_2 = self.input.LA(21) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_41 == COMMENT) : + LA36_2 = self.input.LA(21) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(22) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(22) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(23) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(23) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_36 == KEEP) : - LA32_38 = self.input.LA(18) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_36 == KEEP) : + LA36_38 = self.input.LA(18) - if (LA32_38 == SPECIFIC) : - LA32_40 = self.input.LA(19) + if (LA36_38 == SPECIFIC) : + LA36_40 = self.input.LA(19) - if (LA32_40 == GEODE) : - LA32_42 = self.input.LA(20) + if (LA36_40 == GEODE) : + LA36_42 = self.input.LA(20) - if (LA32_42 == HYPERLINK) : - LA32_20 = self.input.LA(21) + if (LA36_42 == HYPERLINK) : + LA36_20 = self.input.LA(21) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(22) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(22) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(23) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(23) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(24) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(24) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(25) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(25) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(26) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(26) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_35 == COMMENT) : - LA32_2 = self.input.LA(17) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_35 == COMMENT) : + LA36_2 = self.input.LA(17) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(18) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(18) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(19) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(19) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_10 == INT) : - LA32_15 = self.input.LA(5) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_10 == INT) : + LA36_15 = self.input.LA(5) - if (LA32_15 == COMMA) : - LA32_18 = self.input.LA(6) + if (LA36_15 == COMMA) : + LA36_18 = self.input.LA(6) - if (LA32_18 == DASH) : - LA32_21 = self.input.LA(7) + if (LA36_18 == DASH) : + LA36_21 = self.input.LA(7) - if (LA32_21 == INT) : - LA32_22 = self.input.LA(8) + if (LA36_21 == INT) : + LA36_22 = self.input.LA(8) - if (LA32_22 == R_PAREN) : - LA32_25 = self.input.LA(9) + if (LA36_22 == R_PAREN) : + LA36_25 = self.input.LA(9) - if (LA32_25 == COMMA) : - LA32_28 = self.input.LA(10) + if (LA36_25 == COMMA) : + LA36_28 = self.input.LA(10) - if (LA32_28 == L_PAREN) : - LA32_30 = self.input.LA(11) + if (LA36_28 == L_PAREN) : + LA36_30 = self.input.LA(11) - if (LA32_30 == INT) : - LA32_31 = self.input.LA(12) + if (LA36_30 == INT) : + LA36_31 = self.input.LA(12) - if (LA32_31 == COMMA) : - LA32_32 = self.input.LA(13) + if (LA36_31 == COMMA) : + LA36_32 = self.input.LA(13) - if (LA32_32 == INT) : - LA32_33 = self.input.LA(14) + if (LA36_32 == INT) : + LA36_33 = self.input.LA(14) - if (LA32_33 == R_PAREN) : - LA32_34 = self.input.LA(15) + if (LA36_33 == R_PAREN) : + LA36_34 = self.input.LA(15) - if (LA32_34 == 248) : - LA32_35 = self.input.LA(16) + if (LA36_34 == 250) : + LA36_35 = self.input.LA(16) - if (LA32_35 == 252) : - LA32_36 = self.input.LA(17) + if (LA36_35 == 254) : + LA36_36 = self.input.LA(17) - if (LA32_36 == 254) : - LA32_37 = self.input.LA(18) + if (LA36_36 == 256) : + LA36_37 = self.input.LA(18) - if (LA32_37 == INT) : - LA32_39 = self.input.LA(19) + if (LA36_37 == INT) : + LA36_39 = self.input.LA(19) - if (LA32_39 == 248) : - LA32_41 = self.input.LA(20) + if (LA36_39 == 250) : + LA36_41 = self.input.LA(20) - if (LA32_41 == 252) : - LA32_43 = self.input.LA(21) + if (LA36_41 == 254) : + LA36_43 = self.input.LA(21) - if (LA32_43 == KEEP) : - LA32_38 = self.input.LA(22) + if (LA36_43 == KEEP) : + LA36_38 = self.input.LA(22) - if (LA32_38 == SPECIFIC) : - LA32_40 = self.input.LA(23) + if (LA36_38 == SPECIFIC) : + LA36_40 = self.input.LA(23) - if (LA32_40 == GEODE) : - LA32_42 = self.input.LA(24) + if (LA36_40 == GEODE) : + LA36_42 = self.input.LA(24) - if (LA32_42 == HYPERLINK) : - LA32_20 = self.input.LA(25) + if (LA36_42 == HYPERLINK) : + LA36_20 = self.input.LA(25) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(26) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(26) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(27) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(27) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(28) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(28) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(29) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(29) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(30) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(30) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_41 == COMMENT) : - LA32_2 = self.input.LA(21) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_41 == COMMENT) : + LA36_2 = self.input.LA(21) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(22) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(22) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(23) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(23) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_36 == KEEP) : - LA32_38 = self.input.LA(18) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_36 == KEEP) : + LA36_38 = self.input.LA(18) - if (LA32_38 == SPECIFIC) : - LA32_40 = self.input.LA(19) + if (LA36_38 == SPECIFIC) : + LA36_40 = self.input.LA(19) - if (LA32_40 == GEODE) : - LA32_42 = self.input.LA(20) + if (LA36_40 == GEODE) : + LA36_42 = self.input.LA(20) - if (LA32_42 == HYPERLINK) : - LA32_20 = self.input.LA(21) + if (LA36_42 == HYPERLINK) : + LA36_20 = self.input.LA(21) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(22) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(22) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(23) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(23) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(24) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(24) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(25) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(25) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(26) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(26) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_35 == COMMENT) : - LA32_2 = self.input.LA(17) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_35 == COMMENT) : + LA36_2 = self.input.LA(17) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(18) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(18) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(19) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(19) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_18 == INT) : - LA32_22 = self.input.LA(7) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_18 == INT) : + LA36_22 = self.input.LA(7) - if (LA32_22 == R_PAREN) : - LA32_25 = self.input.LA(8) + if (LA36_22 == R_PAREN) : + LA36_25 = self.input.LA(8) - if (LA32_25 == COMMA) : - LA32_28 = self.input.LA(9) + if (LA36_25 == COMMA) : + LA36_28 = self.input.LA(9) - if (LA32_28 == L_PAREN) : - LA32_30 = self.input.LA(10) + if (LA36_28 == L_PAREN) : + LA36_30 = self.input.LA(10) - if (LA32_30 == INT) : - LA32_31 = self.input.LA(11) + if (LA36_30 == INT) : + LA36_31 = self.input.LA(11) - if (LA32_31 == COMMA) : - LA32_32 = self.input.LA(12) + if (LA36_31 == COMMA) : + LA36_32 = self.input.LA(12) - if (LA32_32 == INT) : - LA32_33 = self.input.LA(13) + if (LA36_32 == INT) : + LA36_33 = self.input.LA(13) - if (LA32_33 == R_PAREN) : - LA32_34 = self.input.LA(14) + if (LA36_33 == R_PAREN) : + LA36_34 = self.input.LA(14) - if (LA32_34 == 248) : - LA32_35 = self.input.LA(15) + if (LA36_34 == 250) : + LA36_35 = self.input.LA(15) - if (LA32_35 == 252) : - LA32_36 = self.input.LA(16) + if (LA36_35 == 254) : + LA36_36 = self.input.LA(16) - if (LA32_36 == 254) : - LA32_37 = self.input.LA(17) + if (LA36_36 == 256) : + LA36_37 = self.input.LA(17) - if (LA32_37 == INT) : - LA32_39 = self.input.LA(18) + if (LA36_37 == INT) : + LA36_39 = self.input.LA(18) - if (LA32_39 == 248) : - LA32_41 = self.input.LA(19) + if (LA36_39 == 250) : + LA36_41 = self.input.LA(19) - if (LA32_41 == 252) : - LA32_43 = self.input.LA(20) + if (LA36_41 == 254) : + LA36_43 = self.input.LA(20) - if (LA32_43 == KEEP) : - LA32_38 = self.input.LA(21) + if (LA36_43 == KEEP) : + LA36_38 = self.input.LA(21) - if (LA32_38 == SPECIFIC) : - LA32_40 = self.input.LA(22) + if (LA36_38 == SPECIFIC) : + LA36_40 = self.input.LA(22) - if (LA32_40 == GEODE) : - LA32_42 = self.input.LA(23) + if (LA36_40 == GEODE) : + LA36_42 = self.input.LA(23) - if (LA32_42 == HYPERLINK) : - LA32_20 = self.input.LA(24) + if (LA36_42 == HYPERLINK) : + LA36_20 = self.input.LA(24) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(25) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(25) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(26) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(26) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(27) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(27) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(28) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(28) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(29) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(29) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_41 == COMMENT) : - LA32_2 = self.input.LA(20) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_41 == COMMENT) : + LA36_2 = self.input.LA(20) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(21) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(21) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(22) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(22) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_36 == KEEP) : - LA32_38 = self.input.LA(17) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_36 == KEEP) : + LA36_38 = self.input.LA(17) - if (LA32_38 == SPECIFIC) : - LA32_40 = self.input.LA(18) + if (LA36_38 == SPECIFIC) : + LA36_40 = self.input.LA(18) - if (LA32_40 == GEODE) : - LA32_42 = self.input.LA(19) + if (LA36_40 == GEODE) : + LA36_42 = self.input.LA(19) - if (LA32_42 == HYPERLINK) : - LA32_20 = self.input.LA(20) + if (LA36_42 == HYPERLINK) : + LA36_20 = self.input.LA(20) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(21) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(21) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(22) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(22) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(23) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(23) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(24) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(24) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(25) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(25) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_35 == COMMENT) : - LA32_2 = self.input.LA(16) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_35 == COMMENT) : + LA36_2 = self.input.LA(16) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(17) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(17) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(18) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(18) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif LA32 in {254}: - LA32_6 = self.input.LA(3) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif LA36 in {256}: + LA36_6 = self.input.LA(3) - if (LA32_6 == INT) : - LA32_11 = self.input.LA(4) + if (LA36_6 == INT) : + LA36_11 = self.input.LA(4) - if (LA32_11 == 248) : - LA32_16 = self.input.LA(5) + if (LA36_11 == 250) : + LA36_16 = self.input.LA(5) - if (LA32_16 == 252) : - LA32_19 = self.input.LA(6) + if (LA36_16 == 254) : + LA36_19 = self.input.LA(6) - if (LA32_19 == KEEP) : - LA32_23 = self.input.LA(7) + if (LA36_19 == KEEP) : + LA36_23 = self.input.LA(7) - if (LA32_23 == SPECIFIC) : - LA32_26 = self.input.LA(8) + if (LA36_23 == SPECIFIC) : + LA36_26 = self.input.LA(8) - if (LA32_26 == GEODE) : - LA32_29 = self.input.LA(9) + if (LA36_26 == GEODE) : + LA36_29 = self.input.LA(9) - if (LA32_29 == HYPERLINK) : - LA32_20 = self.input.LA(10) + if (LA36_29 == HYPERLINK) : + LA36_20 = self.input.LA(10) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(11) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(11) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(12) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(12) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(13) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(13) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(14) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(14) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(15) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(15) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif (LA32_16 == COMMENT) : - LA32_2 = self.input.LA(6) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif (LA36_16 == COMMENT) : + LA36_2 = self.input.LA(6) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(7) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(7) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(8) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(8) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif LA32 in {KEEP}: - LA32_7 = self.input.LA(3) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif LA36 in {KEEP}: + LA36_7 = self.input.LA(3) - if (LA32_7 == SPECIFIC) : - LA32_12 = self.input.LA(4) + if (LA36_7 == SPECIFIC) : + LA36_12 = self.input.LA(4) - if (LA32_12 == GEODE) : - LA32_17 = self.input.LA(5) + if (LA36_12 == GEODE) : + LA36_17 = self.input.LA(5) - if (LA32_17 == HYPERLINK) : - LA32_20 = self.input.LA(6) + if (LA36_17 == HYPERLINK) : + LA36_20 = self.input.LA(6) - if (LA32_20 == STRING) : - LA32_24 = self.input.LA(7) + if (LA36_20 == STRING) : + LA36_24 = self.input.LA(7) - if (LA32_24 == 248) : - LA32_27 = self.input.LA(8) + if (LA36_24 == 250) : + LA36_27 = self.input.LA(8) - if (LA32_27 == COMMENT) : - LA32_2 = self.input.LA(9) + if (LA36_27 == COMMENT) : + LA36_2 = self.input.LA(9) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(10) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(10) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(11) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(11) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif LA32 in {COMMENT}: - LA32_2 = self.input.LA(2) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif LA36 in {COMMENT}: + LA36_2 = self.input.LA(2) - if (LA32_2 == STRING) : - LA32_8 = self.input.LA(3) + if (LA36_2 == STRING) : + LA36_8 = self.input.LA(3) - if (LA32_8 == SEMI) : - LA32_13 = self.input.LA(4) + if (LA36_8 == SEMI) : + LA36_13 = self.input.LA(4) - if (self.synpred42_sdl92()) : - alt32 = 1 - elif LA32 in {SEMI}: - LA32_3 = self.input.LA(2) + if (self.synpred46_sdl92()) : + alt36 = 1 + elif LA36 in {SEMI}: + LA36_3 = self.input.LA(2) - if (self.synpred42_sdl92()) : - alt32 = 1 - if alt32 == 1: - # sdl92.g:298:17: end + if (self.synpred46_sdl92()) : + alt36 = 1 + if alt36 == 1: + # sdl92.g:305:17: end pass - self._state.following.append(self.FOLLOW_end_in_pfpar3069) - end88 = self.end() + self._state.following.append(self.FOLLOW_end_in_pfpar3201) + end92 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end88.tree) + stream_end.add(end92.tree) @@ -4396,14 +4853,14 @@ def pfpar(self, ): root_0 = self._adaptor.nil() - # 299:9: -> ^( PFPAR ( parameters_of_sort )+ ) - # sdl92.g:299:17: ^( PFPAR ( parameters_of_sort )+ ) + # 306:9: -> ^( PFPAR ( parameters_of_sort )+ ) + # sdl92.g:306:17: ^( PFPAR ( parameters_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PFPAR, "PFPAR") , root_1) - # sdl92.g:299:25: ( parameters_of_sort )+ + # sdl92.g:306:25: ( parameters_of_sort )+ if not (stream_parameters_of_sort.hasNext()): raise RewriteEarlyExitException() @@ -4456,7 +4913,7 @@ def __init__(self): # $ANTLR start "parameters_of_sort" - # sdl92.g:303:1: parameters_of_sort : variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ; + # sdl92.g:310: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) @@ -4464,64 +4921,64 @@ def parameters_of_sort(self, ): root_0 = None - char_literal90 = None - variable_id89 = None - variable_id91 = None - sort92 = None + char_literal94 = None + variable_id93 = None + variable_id95 = None + sort96 = None - char_literal90_tree = None + char_literal94_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:304:9: ( variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ) - # sdl92.g:304:17: variable_id ( ',' variable_id )* sort + # sdl92.g:311:9: ( variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ) + # sdl92.g:311:17: variable_id ( ',' variable_id )* sort pass - self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort3124) - variable_id89 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort3256) + variable_id93 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id89.tree) + stream_variable_id.add(variable_id93.tree) - # sdl92.g:304:29: ( ',' variable_id )* - while True: #loop33 - alt33 = 2 - LA33_0 = self.input.LA(1) + # sdl92.g:311:29: ( ',' variable_id )* + while True: #loop37 + alt37 = 2 + LA37_0 = self.input.LA(1) - if (LA33_0 == COMMA) : - alt33 = 1 + if (LA37_0 == COMMA) : + alt37 = 1 - if alt33 == 1: - # sdl92.g:304:30: ',' variable_id + if alt37 == 1: + # sdl92.g:311:30: ',' variable_id pass - char_literal90 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_parameters_of_sort3127) + char_literal94 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_parameters_of_sort3259) if self._state.backtracking == 0: - stream_COMMA.add(char_literal90) + stream_COMMA.add(char_literal94) - self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort3129) - variable_id91 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort3261) + variable_id95 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id91.tree) + stream_variable_id.add(variable_id95.tree) else: - break #loop33 + break #loop37 - self._state.following.append(self.FOLLOW_sort_in_parameters_of_sort3133) - sort92 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_parameters_of_sort3265) + sort96 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort92.tree) + stream_sort.add(sort96.tree) # AST Rewrite @@ -4540,14 +4997,14 @@ def parameters_of_sort(self, ): root_0 = self._adaptor.nil() - # 305:9: -> ^( PARAM ( variable_id )+ sort ) - # sdl92.g:305:17: ^( PARAM ( variable_id )+ sort ) + # 312:9: -> ^( PARAM ( variable_id )+ sort ) + # sdl92.g:312:17: ^( PARAM ( variable_id )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAM, "PARAM") , root_1) - # sdl92.g:305:25: ( variable_id )+ + # sdl92.g:312:25: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() @@ -4602,7 +5059,7 @@ def __init__(self): # $ANTLR start "procedure" - # sdl92.g:312:1: procedure : ( cif )? ( symbolid )? ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ; + # sdl92.g:319:1: procedure : ( cif )? ( symbolid )? ( requirement )* ( rid )* ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? ( requirement )* ( rid )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ; def procedure(self, ): retval = self.procedure_return() retval.start = self.input.LT(1) @@ -4610,31 +5067,33 @@ def procedure(self, ): root_0 = None - EXPORTED96 = None - PROCEDURE97 = None - SEMI99 = None - ENDPROCEDURE104 = None - EXTERNAL106 = None - REFERENCED107 = None + EXPORTED102 = None + PROCEDURE103 = None + SEMI105 = None + ENDPROCEDURE110 = None + EXTERNAL112 = None + REFERENCED113 = None e1 = None res = None e2 = None - cif93 = None - symbolid94 = None - partition95 = None - procedure_id98 = None - fpar100 = None - text_area101 = None - procedure102 = None - processBody103 = None - procedure_id105 = None - - EXPORTED96_tree = None - PROCEDURE97_tree = None - SEMI99_tree = None - ENDPROCEDURE104_tree = None - EXTERNAL106_tree = None - REFERENCED107_tree = None + cif97 = None + symbolid98 = None + requirement99 = None + rid100 = None + partition101 = None + procedure_id104 = None + fpar106 = None + text_area107 = None + procedure108 = None + processBody109 = None + procedure_id111 = None + + EXPORTED102_tree = None + PROCEDURE103_tree = None + SEMI105_tree = None + ENDPROCEDURE110_tree = None + EXTERNAL112_tree = None + REFERENCED113_tree = None stream_PROCEDURE = RewriteRuleTokenStream(self._adaptor, "token PROCEDURE") stream_EXTERNAL = RewriteRuleTokenStream(self._adaptor, "token EXTERNAL") stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") @@ -4648,129 +5107,221 @@ def procedure(self, ): stream_procedure_id = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_id") stream_processBody = RewriteRuleSubtreeStream(self._adaptor, "rule processBody") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") stream_fpar = RewriteRuleSubtreeStream(self._adaptor, "rule fpar") stream_procedure = RewriteRuleSubtreeStream(self._adaptor, "rule procedure") + stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") stream_procedure_result = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_result") try: try: - # sdl92.g:313:9: ( ( cif )? ( symbolid )? ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ) - # sdl92.g:313:17: ( cif )? ( symbolid )? ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end + # sdl92.g:320:9: ( ( cif )? ( symbolid )? ( requirement )* ( rid )* ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? ( requirement )* ( rid )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ) + # sdl92.g:320:17: ( cif )? ( symbolid )? ( requirement )* ( rid )* ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end pass - # sdl92.g:313:17: ( cif )? - alt34 = 2 - LA34_0 = self.input.LA(1) + # sdl92.g:320:17: ( cif )? + alt38 = 2 + LA38_0 = self.input.LA(1) - if (LA34_0 == 252) : - LA34_1 = self.input.LA(2) + if (LA38_0 == 254) : + LA38_1 = self.input.LA(2) - if (LA34_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt34 = 1 - if alt34 == 1: - # sdl92.g:313:17: cif + if (LA38_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt38 = 1 + if alt38 == 1: + # sdl92.g:320:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_procedure3192) - cif93 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_procedure3324) + cif97 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif93.tree) + stream_cif.add(cif97.tree) - # sdl92.g:314:17: ( symbolid )? - alt35 = 2 - LA35_0 = self.input.LA(1) + # sdl92.g:321:17: ( symbolid )? + alt39 = 2 + LA39_0 = self.input.LA(1) - if (LA35_0 == 252) : - LA35_1 = self.input.LA(2) + if (LA39_0 == 254) : + LA39_1 = self.input.LA(2) - if (LA35_1 == 254) : - alt35 = 1 - if alt35 == 1: - # sdl92.g:314:17: symbolid + if (LA39_1 == 256) : + alt39 = 1 + if alt39 == 1: + # sdl92.g:321:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_procedure3211) - symbolid94 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_procedure3343) + symbolid98 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid94.tree) + stream_symbolid.add(symbolid98.tree) - # sdl92.g:315:17: ( partition )? - alt36 = 2 - LA36_0 = self.input.LA(1) + # sdl92.g:322:17: ( requirement )* + while True: #loop40 + alt40 = 2 + LA40_0 = self.input.LA(1) - if (LA36_0 == 252) : - alt36 = 1 - if alt36 == 1: - # sdl92.g:315:17: partition + if (LA40_0 == 254) : + LA40_1 = self.input.LA(2) + + if (LA40_1 == KEEP) : + LA40_3 = self.input.LA(3) + + if (LA40_3 == SPECIFIC) : + LA40_4 = self.input.LA(4) + + if (LA40_4 == GEODE) : + LA40_5 = self.input.LA(5) + + if (LA40_5 == REQ_ID) : + alt40 = 1 + + + + + + + + + + + if alt40 == 1: + # sdl92.g:322:17: requirement + pass + self._state.following.append(self.FOLLOW_requirement_in_procedure3362) + requirement99 = self.requirement() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_requirement.add(requirement99.tree) + + + + else: + break #loop40 + + + # sdl92.g:323:17: ( rid )* + while True: #loop41 + alt41 = 2 + LA41_0 = self.input.LA(1) + + if (LA41_0 == 254) : + LA41_1 = self.input.LA(2) + + if (LA41_1 == KEEP) : + LA41_3 = self.input.LA(3) + + if (LA41_3 == SPECIFIC) : + LA41_4 = self.input.LA(4) + + if (LA41_4 == GEODE) : + LA41_5 = self.input.LA(5) + + if (LA41_5 == RID_ID) : + alt41 = 1 + + + + + + + + + + + if alt41 == 1: + # sdl92.g:323:17: rid + pass + self._state.following.append(self.FOLLOW_rid_in_procedure3381) + rid100 = self.rid() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_rid.add(rid100.tree) + + + + else: + break #loop41 + + + # sdl92.g:324:17: ( partition )? + alt42 = 2 + LA42_0 = self.input.LA(1) + + if (LA42_0 == 254) : + alt42 = 1 + if alt42 == 1: + # sdl92.g:324:17: partition pass - self._state.following.append(self.FOLLOW_partition_in_procedure3230) - partition95 = self.partition() + self._state.following.append(self.FOLLOW_partition_in_procedure3400) + partition101 = self.partition() self._state.following.pop() if self._state.backtracking == 0: - stream_partition.add(partition95.tree) + stream_partition.add(partition101.tree) - # sdl92.g:316:17: ( EXPORTED )? - alt37 = 2 - LA37_0 = self.input.LA(1) + # sdl92.g:325:17: ( EXPORTED )? + alt43 = 2 + LA43_0 = self.input.LA(1) - if (LA37_0 == EXPORTED) : - alt37 = 1 - if alt37 == 1: - # sdl92.g:316:17: EXPORTED + if (LA43_0 == EXPORTED) : + alt43 = 1 + if alt43 == 1: + # sdl92.g:325:17: EXPORTED pass - EXPORTED96 = self.match(self.input, EXPORTED, self.FOLLOW_EXPORTED_in_procedure3249) + EXPORTED102 = self.match(self.input, EXPORTED, self.FOLLOW_EXPORTED_in_procedure3419) if self._state.backtracking == 0: - stream_EXPORTED.add(EXPORTED96) + stream_EXPORTED.add(EXPORTED102) - PROCEDURE97 = self.match(self.input, PROCEDURE, self.FOLLOW_PROCEDURE_in_procedure3252) + PROCEDURE103 = self.match(self.input, PROCEDURE, self.FOLLOW_PROCEDURE_in_procedure3422) if self._state.backtracking == 0: - stream_PROCEDURE.add(PROCEDURE97) + stream_PROCEDURE.add(PROCEDURE103) - self._state.following.append(self.FOLLOW_procedure_id_in_procedure3254) - procedure_id98 = self.procedure_id() + self._state.following.append(self.FOLLOW_procedure_id_in_procedure3424) + procedure_id104 = self.procedure_id() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure_id.add(procedure_id98.tree) + stream_procedure_id.add(procedure_id104.tree) - # sdl92.g:316:50: (e1= end | SEMI ) - alt38 = 2 - LA38_0 = self.input.LA(1) + # sdl92.g:325:50: (e1= end | SEMI ) + alt44 = 2 + LA44_0 = self.input.LA(1) - if (LA38_0 in {COMMENT, 252}) : - alt38 = 1 - elif (LA38_0 == SEMI) : - LA38_2 = self.input.LA(2) + if (LA44_0 in {COMMENT, 254}) : + alt44 = 1 + elif (LA44_0 == SEMI) : + LA44_2 = self.input.LA(2) - if (self.synpred48_sdl92()) : - alt38 = 1 + if (self.synpred54_sdl92()) : + alt44 = 1 elif (True) : - alt38 = 2 + alt44 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 38, 2, self.input) + nvae = NoViableAltException("", 44, 2, self.input) raise nvae @@ -4780,15 +5331,15 @@ def procedure(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 38, 0, self.input) + nvae = NoViableAltException("", 44, 0, self.input) raise nvae - if alt38 == 1: - # sdl92.g:316:51: e1= end + if alt44 == 1: + # sdl92.g:325:51: e1= end pass - self._state.following.append(self.FOLLOW_end_in_procedure3259) + self._state.following.append(self.FOLLOW_end_in_procedure3429) e1 = self.end() self._state.following.pop() @@ -4797,47 +5348,47 @@ def procedure(self, ): - elif alt38 == 2: - # sdl92.g:316:60: SEMI + elif alt44 == 2: + # sdl92.g:325:60: SEMI pass - SEMI99 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_procedure3263) + SEMI105 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_procedure3433) if self._state.backtracking == 0: - stream_SEMI.add(SEMI99) + stream_SEMI.add(SEMI105) - # sdl92.g:317:17: ( fpar )? - alt39 = 2 - LA39_0 = self.input.LA(1) + # sdl92.g:326:17: ( fpar )? + alt45 = 2 + LA45_0 = self.input.LA(1) - if (LA39_0 == FPAR) : - alt39 = 1 - if alt39 == 1: - # sdl92.g:317:17: fpar + if (LA45_0 == FPAR) : + alt45 = 1 + if alt45 == 1: + # sdl92.g:326:17: fpar pass - self._state.following.append(self.FOLLOW_fpar_in_procedure3282) - fpar100 = self.fpar() + self._state.following.append(self.FOLLOW_fpar_in_procedure3452) + fpar106 = self.fpar() self._state.following.pop() if self._state.backtracking == 0: - stream_fpar.add(fpar100.tree) + stream_fpar.add(fpar106.tree) - # sdl92.g:318:20: (res= procedure_result )? - alt40 = 2 - LA40_0 = self.input.LA(1) + # sdl92.g:327:20: (res= procedure_result )? + alt46 = 2 + LA46_0 = self.input.LA(1) - if (LA40_0 in {RETURNS, 250}) : - alt40 = 1 - if alt40 == 1: - # sdl92.g:318:20: res= procedure_result + if (LA46_0 in {RETURNS, 252}) : + alt46 = 1 + if alt46 == 1: + # sdl92.g:327:20: res= procedure_result pass - self._state.following.append(self.FOLLOW_procedure_result_in_procedure3303) + self._state.following.append(self.FOLLOW_procedure_result_in_procedure3473) res = self.procedure_result() self._state.following.pop() @@ -4848,122 +5399,122 @@ def procedure(self, ): - # sdl92.g:319:17: ( text_area | procedure )* - while True: #loop41 - alt41 = 3 - LA41_0 = self.input.LA(1) + # sdl92.g:328:17: ( text_area | procedure )* + while True: #loop47 + alt47 = 3 + LA47_0 = self.input.LA(1) - if (LA41_0 == 252) : - LA41_1 = self.input.LA(2) + if (LA47_0 == 254) : + LA47_1 = self.input.LA(2) - if (self.synpred51_sdl92()) : - alt41 = 1 - elif (self.synpred52_sdl92()) : - alt41 = 2 + if (self.synpred57_sdl92()) : + alt47 = 1 + elif (self.synpred58_sdl92()) : + alt47 = 2 - elif (LA41_0 in {EXPORTED, PROCEDURE}) : - alt41 = 2 + elif (LA47_0 in {EXPORTED, PROCEDURE}) : + alt47 = 2 - if alt41 == 1: - # sdl92.g:319:18: text_area + if alt47 == 1: + # sdl92.g:328:18: text_area pass - self._state.following.append(self.FOLLOW_text_area_in_procedure3323) - text_area101 = self.text_area() + self._state.following.append(self.FOLLOW_text_area_in_procedure3493) + text_area107 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: - stream_text_area.add(text_area101.tree) + stream_text_area.add(text_area107.tree) - elif alt41 == 2: - # sdl92.g:319:30: procedure + elif alt47 == 2: + # sdl92.g:328:30: procedure pass - self._state.following.append(self.FOLLOW_procedure_in_procedure3327) - procedure102 = self.procedure() + self._state.following.append(self.FOLLOW_procedure_in_procedure3497) + procedure108 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure.add(procedure102.tree) + stream_procedure.add(procedure108.tree) else: - break #loop41 + break #loop47 - # sdl92.g:320:17: ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) - alt44 = 3 - LA44 = self.input.LA(1) - if LA44 in {EOF, BLOCK, COMMENT, CONNECT, CONNECTION, ENDBLOCK, ENDPROCEDURE, ENDPROCESS, ID, PROCESS, SEMI, SIGNAL, SIGNALROUTE, START, STATE, SYSTEM, TYPE, USE, 252}: - alt44 = 1 - elif LA44 in {EXTERNAL}: - alt44 = 2 - elif LA44 in {REFERENCED}: - alt44 = 3 + # sdl92.g:329:17: ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) + alt50 = 3 + LA50 = self.input.LA(1) + if LA50 in {EOF, BLOCK, COMMENT, CONNECT, CONNECTION, ENDBLOCK, ENDPROCEDURE, ENDPROCESS, ID, PROCESS, SEMI, SIGNAL, SIGNALROUTE, START, STATE, SYSTEM, TYPE, USE, 254}: + alt50 = 1 + elif LA50 in {EXTERNAL}: + alt50 = 2 + elif LA50 in {REFERENCED}: + alt50 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 44, 0, self.input) + nvae = NoViableAltException("", 50, 0, self.input) raise nvae - if alt44 == 1: - # sdl92.g:320:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) + if alt50 == 1: + # sdl92.g:329:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) pass - # sdl92.g:320:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) - # sdl92.g:320:19: ( processBody )? ENDPROCEDURE ( procedure_id )? + # sdl92.g:329:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) + # sdl92.g:329:19: ( processBody )? ENDPROCEDURE ( procedure_id )? pass - # sdl92.g:320:19: ( processBody )? - alt42 = 2 - LA42_0 = self.input.LA(1) + # sdl92.g:329:19: ( processBody )? + alt48 = 2 + LA48_0 = self.input.LA(1) - if (LA42_0 in {CONNECTION, START, STATE, 252}) : - alt42 = 1 - elif (LA42_0 == ENDPROCEDURE) : - LA42_2 = self.input.LA(2) + if (LA48_0 in {CONNECTION, START, STATE, 254}) : + alt48 = 1 + elif (LA48_0 == ENDPROCEDURE) : + LA48_2 = self.input.LA(2) - if (self.synpred53_sdl92()) : - alt42 = 1 - if alt42 == 1: - # sdl92.g:320:19: processBody + if (self.synpred59_sdl92()) : + alt48 = 1 + if alt48 == 1: + # sdl92.g:329:19: processBody pass - self._state.following.append(self.FOLLOW_processBody_in_procedure3349) - processBody103 = self.processBody() + self._state.following.append(self.FOLLOW_processBody_in_procedure3519) + processBody109 = self.processBody() self._state.following.pop() if self._state.backtracking == 0: - stream_processBody.add(processBody103.tree) + stream_processBody.add(processBody109.tree) - ENDPROCEDURE104 = self.match(self.input, ENDPROCEDURE, self.FOLLOW_ENDPROCEDURE_in_procedure3352) + ENDPROCEDURE110 = self.match(self.input, ENDPROCEDURE, self.FOLLOW_ENDPROCEDURE_in_procedure3522) if self._state.backtracking == 0: - stream_ENDPROCEDURE.add(ENDPROCEDURE104) + stream_ENDPROCEDURE.add(ENDPROCEDURE110) - # sdl92.g:320:45: ( procedure_id )? - alt43 = 2 - LA43_0 = self.input.LA(1) + # sdl92.g:329:45: ( procedure_id )? + alt49 = 2 + LA49_0 = self.input.LA(1) - if (LA43_0 == ID) : - alt43 = 1 - if alt43 == 1: - # sdl92.g:320:45: procedure_id + if (LA49_0 == ID) : + alt49 = 1 + if alt49 == 1: + # sdl92.g:329:45: procedure_id pass - self._state.following.append(self.FOLLOW_procedure_id_in_procedure3354) - procedure_id105 = self.procedure_id() + self._state.following.append(self.FOLLOW_procedure_id_in_procedure3524) + procedure_id111 = self.procedure_id() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure_id.add(procedure_id105.tree) + stream_procedure_id.add(procedure_id111.tree) @@ -4973,27 +5524,27 @@ def procedure(self, ): - elif alt44 == 2: - # sdl92.g:321:20: EXTERNAL + elif alt50 == 2: + # sdl92.g:330:20: EXTERNAL pass - EXTERNAL106 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_procedure3377) + EXTERNAL112 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_procedure3547) if self._state.backtracking == 0: - stream_EXTERNAL.add(EXTERNAL106) + stream_EXTERNAL.add(EXTERNAL112) - elif alt44 == 3: - # sdl92.g:321:31: REFERENCED + elif alt50 == 3: + # sdl92.g:330:31: REFERENCED pass - REFERENCED107 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_procedure3381) + REFERENCED113 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_procedure3551) if self._state.backtracking == 0: - stream_REFERENCED.add(REFERENCED107) + stream_REFERENCED.add(REFERENCED113) - self._state.following.append(self.FOLLOW_end_in_procedure3402) + self._state.following.append(self.FOLLOW_end_in_procedure3572) e2 = self.end() self._state.following.pop() @@ -5002,7 +5553,7 @@ def procedure(self, ): # AST Rewrite - # elements: PROCEDURE, cif, symbolid, partition, procedure_id, e1, e2, fpar, res, text_area, procedure, processBody, EXTERNAL, EXPORTED, REFERENCED + # elements: PROCEDURE, cif, symbolid, partition, requirement, rid, procedure_id, e1, e2, fpar, res, text_area, procedure, processBody, EXTERNAL, EXPORTED, REFERENCED # token labels: # rule labels: res, e1, e2, retval # token list labels: @@ -5032,86 +5583,100 @@ def procedure(self, ): root_0 = self._adaptor.nil() - # 323:9: -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) - # sdl92.g:323:17: ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) + # 332:9: -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? ( requirement )* ( rid )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) + # sdl92.g:332:17: ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? ( requirement )* ( rid )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PROCEDURE.nextNode() , root_1) - # sdl92.g:323:29: ( cif )? + # sdl92.g:332:29: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:323:34: ( symbolid )? + # sdl92.g:332:34: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:323:44: ( partition )? + # sdl92.g:332:44: ( partition )? if stream_partition.hasNext(): self._adaptor.addChild(root_1, stream_partition.nextTree()) stream_partition.reset(); + # sdl92.g:332:55: ( requirement )* + while stream_requirement.hasNext(): + self._adaptor.addChild(root_1, stream_requirement.nextTree()) + + + stream_requirement.reset(); + + # sdl92.g:332:68: ( rid )* + while stream_rid.hasNext(): + self._adaptor.addChild(root_1, stream_rid.nextTree()) + + + stream_rid.reset(); + self._adaptor.addChild(root_1, stream_procedure_id.nextTree()) - # sdl92.g:323:69: ( $e1)? + # sdl92.g:333:31: ( $e1)? if stream_e1.hasNext(): self._adaptor.addChild(root_1, stream_e1.nextTree()) stream_e1.reset(); - # sdl92.g:323:74: ( $e2)? + # sdl92.g:333:36: ( $e2)? if stream_e2.hasNext(): self._adaptor.addChild(root_1, stream_e2.nextTree()) stream_e2.reset(); - # sdl92.g:323:78: ( fpar )? + # sdl92.g:333:40: ( fpar )? if stream_fpar.hasNext(): self._adaptor.addChild(root_1, stream_fpar.nextTree()) stream_fpar.reset(); - # sdl92.g:323:85: ( $res)? + # sdl92.g:333:47: ( $res)? if stream_res.hasNext(): self._adaptor.addChild(root_1, stream_res.nextTree()) stream_res.reset(); - # sdl92.g:324:17: ( text_area )* + # sdl92.g:334:17: ( text_area )* while stream_text_area.hasNext(): self._adaptor.addChild(root_1, stream_text_area.nextTree()) stream_text_area.reset(); - # sdl92.g:324:28: ( procedure )* + # sdl92.g:334:28: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); - # sdl92.g:324:39: ( processBody )? + # sdl92.g:334:39: ( processBody )? if stream_processBody.hasNext(): self._adaptor.addChild(root_1, stream_processBody.nextTree()) stream_processBody.reset(); - # sdl92.g:324:52: ( EXTERNAL )? + # sdl92.g:334:52: ( EXTERNAL )? if stream_EXTERNAL.hasNext(): self._adaptor.addChild(root_1, stream_EXTERNAL.nextNode() @@ -5120,7 +5685,7 @@ def procedure(self, ): stream_EXTERNAL.reset(); - # sdl92.g:324:62: ( EXPORTED )? + # sdl92.g:334:62: ( EXPORTED )? if stream_EXPORTED.hasNext(): self._adaptor.addChild(root_1, stream_EXPORTED.nextNode() @@ -5129,7 +5694,7 @@ def procedure(self, ): stream_EXPORTED.reset(); - # sdl92.g:324:72: ( REFERENCED )? + # sdl92.g:334:72: ( REFERENCED )? if stream_REFERENCED.hasNext(): self._adaptor.addChild(root_1, stream_REFERENCED.nextNode() @@ -5181,7 +5746,7 @@ def __init__(self): # $ANTLR start "procedure_result" - # sdl92.g:328:1: procedure_result : ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ; + # sdl92.g:338: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) @@ -5189,535 +5754,535 @@ def procedure_result(self, ): root_0 = None - string_literal108 = None - RETURNS109 = None - variable_id110 = None - sort111 = None - end112 = None + string_literal114 = None + RETURNS115 = None + variable_id116 = None + sort117 = None + end118 = None - string_literal108_tree = None - RETURNS109_tree = None + string_literal114_tree = None + RETURNS115_tree = None stream_RETURNS = RewriteRuleTokenStream(self._adaptor, "token RETURNS") - stream_250 = RewriteRuleTokenStream(self._adaptor, "token 250") + stream_252 = RewriteRuleTokenStream(self._adaptor, "token 252") 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:329:9: ( ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ) - # sdl92.g:329:17: ( '->' | RETURNS ) ( variable_id )? sort ( end )? + # sdl92.g:339:9: ( ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ) + # sdl92.g:339:17: ( '->' | RETURNS ) ( variable_id )? sort ( end )? pass - # sdl92.g:329:17: ( '->' | RETURNS ) - alt45 = 2 - LA45_0 = self.input.LA(1) + # sdl92.g:339:17: ( '->' | RETURNS ) + alt51 = 2 + LA51_0 = self.input.LA(1) - if (LA45_0 == 250) : - alt45 = 1 - elif (LA45_0 == RETURNS) : - alt45 = 2 + if (LA51_0 == 252) : + alt51 = 1 + elif (LA51_0 == RETURNS) : + alt51 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 45, 0, self.input) + nvae = NoViableAltException("", 51, 0, self.input) raise nvae - if alt45 == 1: - # sdl92.g:329:18: '->' + if alt51 == 1: + # sdl92.g:339:18: '->' pass - string_literal108 = self.match(self.input, 250, self.FOLLOW_250_in_procedure_result3514) + string_literal114 = self.match(self.input, 252, self.FOLLOW_252_in_procedure_result3706) if self._state.backtracking == 0: - stream_250.add(string_literal108) + stream_252.add(string_literal114) - elif alt45 == 2: - # sdl92.g:329:25: RETURNS + elif alt51 == 2: + # sdl92.g:339:25: RETURNS pass - RETURNS109 = self.match(self.input, RETURNS, self.FOLLOW_RETURNS_in_procedure_result3518) + RETURNS115 = self.match(self.input, RETURNS, self.FOLLOW_RETURNS_in_procedure_result3710) if self._state.backtracking == 0: - stream_RETURNS.add(RETURNS109) + stream_RETURNS.add(RETURNS115) - # sdl92.g:330:17: ( variable_id )? - alt46 = 2 - LA46_0 = self.input.LA(1) + # sdl92.g:340:17: ( variable_id )? + alt52 = 2 + LA52_0 = self.input.LA(1) - if (LA46_0 == ID) : - LA46_1 = self.input.LA(2) + if (LA52_0 == ID) : + LA52_1 = self.input.LA(2) - if (LA46_1 == ID) : - alt46 = 1 - if alt46 == 1: - # sdl92.g:330:17: variable_id + if (LA52_1 == ID) : + alt52 = 1 + if alt52 == 1: + # sdl92.g:340:17: variable_id pass - self._state.following.append(self.FOLLOW_variable_id_in_procedure_result3537) - variable_id110 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_procedure_result3729) + variable_id116 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id110.tree) + stream_variable_id.add(variable_id116.tree) - self._state.following.append(self.FOLLOW_sort_in_procedure_result3556) - sort111 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_procedure_result3748) + sort117 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort111.tree) + stream_sort.add(sort117.tree) - # sdl92.g:331:22: ( end )? - alt47 = 2 - LA47_0 = self.input.LA(1) + # sdl92.g:341:22: ( end )? + alt53 = 2 + LA53_0 = self.input.LA(1) - if (LA47_0 == 252) : - LA47 = self.input.LA(2) - if LA47 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - LA47_4 = self.input.LA(3) + if (LA53_0 == 254) : + LA53 = self.input.LA(2) + if LA53 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: + LA53_4 = self.input.LA(3) - if (LA47_4 == L_PAREN) : - LA47_7 = self.input.LA(4) + if (LA53_4 == L_PAREN) : + LA53_7 = self.input.LA(4) - if (LA47_7 == DASH) : - LA47_10 = self.input.LA(5) + if (LA53_7 == DASH) : + LA53_10 = self.input.LA(5) - if (LA47_10 == INT) : - LA47_11 = self.input.LA(6) + if (LA53_10 == INT) : + LA53_11 = self.input.LA(6) - if (LA47_11 == COMMA) : - LA47_14 = self.input.LA(7) + if (LA53_11 == COMMA) : + LA53_14 = self.input.LA(7) - if (LA47_14 == DASH) : - LA47_17 = self.input.LA(8) + if (LA53_14 == DASH) : + LA53_17 = self.input.LA(8) - if (LA47_17 == INT) : - LA47_18 = self.input.LA(9) + if (LA53_17 == INT) : + LA53_18 = self.input.LA(9) - if (LA47_18 == R_PAREN) : - LA47_21 = self.input.LA(10) + if (LA53_18 == R_PAREN) : + LA53_21 = self.input.LA(10) - if (LA47_21 == COMMA) : - LA47_24 = self.input.LA(11) + if (LA53_21 == COMMA) : + LA53_24 = self.input.LA(11) - if (LA47_24 == L_PAREN) : - LA47_26 = self.input.LA(12) + if (LA53_24 == L_PAREN) : + LA53_26 = self.input.LA(12) - if (LA47_26 == INT) : - LA47_27 = self.input.LA(13) + if (LA53_26 == INT) : + LA53_27 = self.input.LA(13) - if (LA47_27 == COMMA) : - LA47_28 = self.input.LA(14) + if (LA53_27 == COMMA) : + LA53_28 = self.input.LA(14) - if (LA47_28 == INT) : - LA47_29 = self.input.LA(15) + if (LA53_28 == INT) : + LA53_29 = self.input.LA(15) - if (LA47_29 == R_PAREN) : - LA47_30 = self.input.LA(16) + if (LA53_29 == R_PAREN) : + LA53_30 = self.input.LA(16) - if (LA47_30 == 248) : - LA47_31 = self.input.LA(17) + if (LA53_30 == 250) : + LA53_31 = self.input.LA(17) - if (LA47_31 == 252) : - LA47_32 = self.input.LA(18) + if (LA53_31 == 254) : + LA53_32 = self.input.LA(18) - if (LA47_32 == 254) : - LA47_33 = self.input.LA(19) + if (LA53_32 == 256) : + LA53_33 = self.input.LA(19) - if (LA47_33 == INT) : - LA47_35 = self.input.LA(20) + if (LA53_33 == INT) : + LA53_35 = self.input.LA(20) - if (LA47_35 == 248) : - LA47_37 = self.input.LA(21) + if (LA53_35 == 250) : + LA53_37 = self.input.LA(21) - if (LA47_37 == 252) : - LA47_39 = self.input.LA(22) + if (LA53_37 == 254) : + LA53_39 = self.input.LA(22) - if (LA47_39 == KEEP) : - LA47_34 = self.input.LA(23) + if (LA53_39 == KEEP) : + LA53_34 = self.input.LA(23) - if (LA47_34 == SPECIFIC) : - LA47_36 = self.input.LA(24) + if (LA53_34 == SPECIFIC) : + LA53_36 = self.input.LA(24) - if (LA47_36 == GEODE) : - LA47_38 = self.input.LA(25) + if (LA53_36 == GEODE) : + LA53_38 = self.input.LA(25) - if (LA47_38 == HYPERLINK) : - LA47_16 = self.input.LA(26) + if (LA53_38 == HYPERLINK) : + LA53_16 = self.input.LA(26) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(27) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(27) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(28) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(28) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_37 == COMMENT) : - alt47 = 1 - elif (LA47_32 == KEEP) : - LA47_34 = self.input.LA(19) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_37 == COMMENT) : + alt53 = 1 + elif (LA53_32 == KEEP) : + LA53_34 = self.input.LA(19) - if (LA47_34 == SPECIFIC) : - LA47_36 = self.input.LA(20) + if (LA53_34 == SPECIFIC) : + LA53_36 = self.input.LA(20) - if (LA47_36 == GEODE) : - LA47_38 = self.input.LA(21) + if (LA53_36 == GEODE) : + LA53_38 = self.input.LA(21) - if (LA47_38 == HYPERLINK) : - LA47_16 = self.input.LA(22) + if (LA53_38 == HYPERLINK) : + LA53_16 = self.input.LA(22) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(23) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(23) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(24) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(24) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_31 == COMMENT) : - alt47 = 1 - elif (LA47_14 == INT) : - LA47_18 = self.input.LA(8) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_31 == COMMENT) : + alt53 = 1 + elif (LA53_14 == INT) : + LA53_18 = self.input.LA(8) - if (LA47_18 == R_PAREN) : - LA47_21 = self.input.LA(9) + if (LA53_18 == R_PAREN) : + LA53_21 = self.input.LA(9) - if (LA47_21 == COMMA) : - LA47_24 = self.input.LA(10) + if (LA53_21 == COMMA) : + LA53_24 = self.input.LA(10) - if (LA47_24 == L_PAREN) : - LA47_26 = self.input.LA(11) + if (LA53_24 == L_PAREN) : + LA53_26 = self.input.LA(11) - if (LA47_26 == INT) : - LA47_27 = self.input.LA(12) + if (LA53_26 == INT) : + LA53_27 = self.input.LA(12) - if (LA47_27 == COMMA) : - LA47_28 = self.input.LA(13) + if (LA53_27 == COMMA) : + LA53_28 = self.input.LA(13) - if (LA47_28 == INT) : - LA47_29 = self.input.LA(14) + if (LA53_28 == INT) : + LA53_29 = self.input.LA(14) - if (LA47_29 == R_PAREN) : - LA47_30 = self.input.LA(15) + if (LA53_29 == R_PAREN) : + LA53_30 = self.input.LA(15) - if (LA47_30 == 248) : - LA47_31 = self.input.LA(16) + if (LA53_30 == 250) : + LA53_31 = self.input.LA(16) - if (LA47_31 == 252) : - LA47_32 = self.input.LA(17) + if (LA53_31 == 254) : + LA53_32 = self.input.LA(17) - if (LA47_32 == 254) : - LA47_33 = self.input.LA(18) + if (LA53_32 == 256) : + LA53_33 = self.input.LA(18) - if (LA47_33 == INT) : - LA47_35 = self.input.LA(19) + if (LA53_33 == INT) : + LA53_35 = self.input.LA(19) - if (LA47_35 == 248) : - LA47_37 = self.input.LA(20) + if (LA53_35 == 250) : + LA53_37 = self.input.LA(20) - if (LA47_37 == 252) : - LA47_39 = self.input.LA(21) + if (LA53_37 == 254) : + LA53_39 = self.input.LA(21) - if (LA47_39 == KEEP) : - LA47_34 = self.input.LA(22) + if (LA53_39 == KEEP) : + LA53_34 = self.input.LA(22) - if (LA47_34 == SPECIFIC) : - LA47_36 = self.input.LA(23) + if (LA53_34 == SPECIFIC) : + LA53_36 = self.input.LA(23) - if (LA47_36 == GEODE) : - LA47_38 = self.input.LA(24) + if (LA53_36 == GEODE) : + LA53_38 = self.input.LA(24) - if (LA47_38 == HYPERLINK) : - LA47_16 = self.input.LA(25) + if (LA53_38 == HYPERLINK) : + LA53_16 = self.input.LA(25) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(26) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(26) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(27) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(27) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_37 == COMMENT) : - alt47 = 1 - elif (LA47_32 == KEEP) : - LA47_34 = self.input.LA(18) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_37 == COMMENT) : + alt53 = 1 + elif (LA53_32 == KEEP) : + LA53_34 = self.input.LA(18) - if (LA47_34 == SPECIFIC) : - LA47_36 = self.input.LA(19) + if (LA53_34 == SPECIFIC) : + LA53_36 = self.input.LA(19) - if (LA47_36 == GEODE) : - LA47_38 = self.input.LA(20) + if (LA53_36 == GEODE) : + LA53_38 = self.input.LA(20) - if (LA47_38 == HYPERLINK) : - LA47_16 = self.input.LA(21) + if (LA53_38 == HYPERLINK) : + LA53_16 = self.input.LA(21) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(22) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(22) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(23) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(23) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_31 == COMMENT) : - alt47 = 1 - elif (LA47_7 == INT) : - LA47_11 = self.input.LA(5) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_31 == COMMENT) : + alt53 = 1 + elif (LA53_7 == INT) : + LA53_11 = self.input.LA(5) - if (LA47_11 == COMMA) : - LA47_14 = self.input.LA(6) + if (LA53_11 == COMMA) : + LA53_14 = self.input.LA(6) - if (LA47_14 == DASH) : - LA47_17 = self.input.LA(7) + if (LA53_14 == DASH) : + LA53_17 = self.input.LA(7) - if (LA47_17 == INT) : - LA47_18 = self.input.LA(8) + if (LA53_17 == INT) : + LA53_18 = self.input.LA(8) - if (LA47_18 == R_PAREN) : - LA47_21 = self.input.LA(9) + if (LA53_18 == R_PAREN) : + LA53_21 = self.input.LA(9) - if (LA47_21 == COMMA) : - LA47_24 = self.input.LA(10) + if (LA53_21 == COMMA) : + LA53_24 = self.input.LA(10) - if (LA47_24 == L_PAREN) : - LA47_26 = self.input.LA(11) + if (LA53_24 == L_PAREN) : + LA53_26 = self.input.LA(11) - if (LA47_26 == INT) : - LA47_27 = self.input.LA(12) + if (LA53_26 == INT) : + LA53_27 = self.input.LA(12) - if (LA47_27 == COMMA) : - LA47_28 = self.input.LA(13) + if (LA53_27 == COMMA) : + LA53_28 = self.input.LA(13) - if (LA47_28 == INT) : - LA47_29 = self.input.LA(14) + if (LA53_28 == INT) : + LA53_29 = self.input.LA(14) - if (LA47_29 == R_PAREN) : - LA47_30 = self.input.LA(15) + if (LA53_29 == R_PAREN) : + LA53_30 = self.input.LA(15) - if (LA47_30 == 248) : - LA47_31 = self.input.LA(16) + if (LA53_30 == 250) : + LA53_31 = self.input.LA(16) - if (LA47_31 == 252) : - LA47_32 = self.input.LA(17) + if (LA53_31 == 254) : + LA53_32 = self.input.LA(17) - if (LA47_32 == 254) : - LA47_33 = self.input.LA(18) + if (LA53_32 == 256) : + LA53_33 = self.input.LA(18) - if (LA47_33 == INT) : - LA47_35 = self.input.LA(19) + if (LA53_33 == INT) : + LA53_35 = self.input.LA(19) - if (LA47_35 == 248) : - LA47_37 = self.input.LA(20) + if (LA53_35 == 250) : + LA53_37 = self.input.LA(20) - if (LA47_37 == 252) : - LA47_39 = self.input.LA(21) + if (LA53_37 == 254) : + LA53_39 = self.input.LA(21) - if (LA47_39 == KEEP) : - LA47_34 = self.input.LA(22) + if (LA53_39 == KEEP) : + LA53_34 = self.input.LA(22) - if (LA47_34 == SPECIFIC) : - LA47_36 = self.input.LA(23) + if (LA53_34 == SPECIFIC) : + LA53_36 = self.input.LA(23) - if (LA47_36 == GEODE) : - LA47_38 = self.input.LA(24) + if (LA53_36 == GEODE) : + LA53_38 = self.input.LA(24) - if (LA47_38 == HYPERLINK) : - LA47_16 = self.input.LA(25) + if (LA53_38 == HYPERLINK) : + LA53_16 = self.input.LA(25) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(26) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(26) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(27) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(27) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_37 == COMMENT) : - alt47 = 1 - elif (LA47_32 == KEEP) : - LA47_34 = self.input.LA(18) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_37 == COMMENT) : + alt53 = 1 + elif (LA53_32 == KEEP) : + LA53_34 = self.input.LA(18) - if (LA47_34 == SPECIFIC) : - LA47_36 = self.input.LA(19) + if (LA53_34 == SPECIFIC) : + LA53_36 = self.input.LA(19) - if (LA47_36 == GEODE) : - LA47_38 = self.input.LA(20) + if (LA53_36 == GEODE) : + LA53_38 = self.input.LA(20) - if (LA47_38 == HYPERLINK) : - LA47_16 = self.input.LA(21) + if (LA53_38 == HYPERLINK) : + LA53_16 = self.input.LA(21) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(22) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(22) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(23) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(23) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_31 == COMMENT) : - alt47 = 1 - elif (LA47_14 == INT) : - LA47_18 = self.input.LA(7) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_31 == COMMENT) : + alt53 = 1 + elif (LA53_14 == INT) : + LA53_18 = self.input.LA(7) - if (LA47_18 == R_PAREN) : - LA47_21 = self.input.LA(8) + if (LA53_18 == R_PAREN) : + LA53_21 = self.input.LA(8) - if (LA47_21 == COMMA) : - LA47_24 = self.input.LA(9) + if (LA53_21 == COMMA) : + LA53_24 = self.input.LA(9) - if (LA47_24 == L_PAREN) : - LA47_26 = self.input.LA(10) + if (LA53_24 == L_PAREN) : + LA53_26 = self.input.LA(10) - if (LA47_26 == INT) : - LA47_27 = self.input.LA(11) + if (LA53_26 == INT) : + LA53_27 = self.input.LA(11) - if (LA47_27 == COMMA) : - LA47_28 = self.input.LA(12) + if (LA53_27 == COMMA) : + LA53_28 = self.input.LA(12) - if (LA47_28 == INT) : - LA47_29 = self.input.LA(13) + if (LA53_28 == INT) : + LA53_29 = self.input.LA(13) - if (LA47_29 == R_PAREN) : - LA47_30 = self.input.LA(14) + if (LA53_29 == R_PAREN) : + LA53_30 = self.input.LA(14) - if (LA47_30 == 248) : - LA47_31 = self.input.LA(15) + if (LA53_30 == 250) : + LA53_31 = self.input.LA(15) - if (LA47_31 == 252) : - LA47_32 = self.input.LA(16) + if (LA53_31 == 254) : + LA53_32 = self.input.LA(16) - if (LA47_32 == 254) : - LA47_33 = self.input.LA(17) + if (LA53_32 == 256) : + LA53_33 = self.input.LA(17) - if (LA47_33 == INT) : - LA47_35 = self.input.LA(18) + if (LA53_33 == INT) : + LA53_35 = self.input.LA(18) - if (LA47_35 == 248) : - LA47_37 = self.input.LA(19) + if (LA53_35 == 250) : + LA53_37 = self.input.LA(19) - if (LA47_37 == 252) : - LA47_39 = self.input.LA(20) + if (LA53_37 == 254) : + LA53_39 = self.input.LA(20) - if (LA47_39 == KEEP) : - LA47_34 = self.input.LA(21) + if (LA53_39 == KEEP) : + LA53_34 = self.input.LA(21) - if (LA47_34 == SPECIFIC) : - LA47_36 = self.input.LA(22) + if (LA53_34 == SPECIFIC) : + LA53_36 = self.input.LA(22) - if (LA47_36 == GEODE) : - LA47_38 = self.input.LA(23) + if (LA53_36 == GEODE) : + LA53_38 = self.input.LA(23) - if (LA47_38 == HYPERLINK) : - LA47_16 = self.input.LA(24) + if (LA53_38 == HYPERLINK) : + LA53_16 = self.input.LA(24) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(25) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(25) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(26) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(26) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_37 == COMMENT) : - alt47 = 1 - elif (LA47_32 == KEEP) : - LA47_34 = self.input.LA(17) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_37 == COMMENT) : + alt53 = 1 + elif (LA53_32 == KEEP) : + LA53_34 = self.input.LA(17) - if (LA47_34 == SPECIFIC) : - LA47_36 = self.input.LA(18) + if (LA53_34 == SPECIFIC) : + LA53_36 = self.input.LA(18) - if (LA47_36 == GEODE) : - LA47_38 = self.input.LA(19) + if (LA53_36 == GEODE) : + LA53_38 = self.input.LA(19) - if (LA47_38 == HYPERLINK) : - LA47_16 = self.input.LA(20) + if (LA53_38 == HYPERLINK) : + LA53_16 = self.input.LA(20) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(21) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(21) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(22) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(22) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_31 == COMMENT) : - alt47 = 1 - elif LA47 in {254}: - LA47_5 = self.input.LA(3) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_31 == COMMENT) : + alt53 = 1 + elif LA53 in {256}: + LA53_5 = self.input.LA(3) - if (LA47_5 == INT) : - LA47_8 = self.input.LA(4) + if (LA53_5 == INT) : + LA53_8 = self.input.LA(4) - if (LA47_8 == 248) : - LA47_12 = self.input.LA(5) + if (LA53_8 == 250) : + LA53_12 = self.input.LA(5) - if (LA47_12 == 252) : - LA47_15 = self.input.LA(6) + if (LA53_12 == 254) : + LA53_15 = self.input.LA(6) - if (LA47_15 == KEEP) : - LA47_19 = self.input.LA(7) + if (LA53_15 == KEEP) : + LA53_19 = self.input.LA(7) - if (LA47_19 == SPECIFIC) : - LA47_22 = self.input.LA(8) + if (LA53_19 == SPECIFIC) : + LA53_22 = self.input.LA(8) - if (LA47_22 == GEODE) : - LA47_25 = self.input.LA(9) + if (LA53_22 == GEODE) : + LA53_25 = self.input.LA(9) - if (LA47_25 == HYPERLINK) : - LA47_16 = self.input.LA(10) + if (LA53_25 == HYPERLINK) : + LA53_16 = self.input.LA(10) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(11) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(11) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(12) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(12) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_12 == COMMENT) : - alt47 = 1 - elif LA47 in {KEEP}: - LA47_6 = self.input.LA(3) + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_12 == COMMENT) : + alt53 = 1 + elif LA53 in {KEEP}: + LA53_6 = self.input.LA(3) - if (LA47_6 == SPECIFIC) : - LA47_9 = self.input.LA(4) + if (LA53_6 == SPECIFIC) : + LA53_9 = self.input.LA(4) - if (LA47_9 == GEODE) : - LA47_13 = self.input.LA(5) + if (LA53_9 == GEODE) : + LA53_13 = self.input.LA(5) - if (LA47_13 == HYPERLINK) : - LA47_16 = self.input.LA(6) + if (LA53_13 == HYPERLINK) : + LA53_16 = self.input.LA(6) - if (LA47_16 == STRING) : - LA47_20 = self.input.LA(7) + if (LA53_16 == STRING) : + LA53_20 = self.input.LA(7) - if (LA47_20 == 248) : - LA47_23 = self.input.LA(8) + if (LA53_20 == 250) : + LA53_23 = self.input.LA(8) - if (LA47_23 == COMMENT) : - alt47 = 1 - elif (LA47_0 in {COMMENT, SEMI}) : - alt47 = 1 - if alt47 == 1: - # sdl92.g:331:22: end + if (LA53_23 == COMMENT) : + alt53 = 1 + elif (LA53_0 in {COMMENT, SEMI}) : + alt53 = 1 + if alt53 == 1: + # sdl92.g:341:22: end pass - self._state.following.append(self.FOLLOW_end_in_procedure_result3558) - end112 = self.end() + self._state.following.append(self.FOLLOW_end_in_procedure_result3750) + end118 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end112.tree) + stream_end.add(end118.tree) @@ -5739,14 +6304,14 @@ def procedure_result(self, ): root_0 = self._adaptor.nil() - # 332:9: -> ^( RETURNS ( variable_id )? sort ) - # sdl92.g:332:17: ^( RETURNS ( variable_id )? sort ) + # 342:9: -> ^( RETURNS ( variable_id )? sort ) + # sdl92.g:342:17: ^( RETURNS ( variable_id )? sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_RETURNS.nextNode() , root_1) - # sdl92.g:332:27: ( variable_id )? + # sdl92.g:342:27: ( variable_id )? if stream_variable_id.hasNext(): self._adaptor.addChild(root_1, stream_variable_id.nextTree()) @@ -5798,7 +6363,7 @@ def __init__(self): # $ANTLR start "fpar" - # sdl92.g:336:1: fpar : FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ; + # sdl92.g:346: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) @@ -5806,72 +6371,72 @@ def fpar(self, ): root_0 = None - FPAR113 = None - char_literal115 = None - formal_variable_param114 = None - formal_variable_param116 = None - end117 = None + FPAR119 = None + char_literal121 = None + formal_variable_param120 = None + formal_variable_param122 = None + end123 = None - FPAR113_tree = None - char_literal115_tree = None + FPAR119_tree = None + char_literal121_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:337:9: ( FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ) - # sdl92.g:337:17: FPAR formal_variable_param ( ',' formal_variable_param )* end + # sdl92.g:347:9: ( FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ) + # sdl92.g:347:17: FPAR formal_variable_param ( ',' formal_variable_param )* end pass - FPAR113 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_fpar3615) + FPAR119 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_fpar3807) if self._state.backtracking == 0: - stream_FPAR.add(FPAR113) + stream_FPAR.add(FPAR119) - self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3617) - formal_variable_param114 = self.formal_variable_param() + self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3809) + formal_variable_param120 = self.formal_variable_param() self._state.following.pop() if self._state.backtracking == 0: - stream_formal_variable_param.add(formal_variable_param114.tree) + stream_formal_variable_param.add(formal_variable_param120.tree) - # sdl92.g:338:17: ( ',' formal_variable_param )* - while True: #loop48 - alt48 = 2 - LA48_0 = self.input.LA(1) + # sdl92.g:348:17: ( ',' formal_variable_param )* + while True: #loop54 + alt54 = 2 + LA54_0 = self.input.LA(1) - if (LA48_0 == COMMA) : - alt48 = 1 + if (LA54_0 == COMMA) : + alt54 = 1 - if alt48 == 1: - # sdl92.g:338:18: ',' formal_variable_param + if alt54 == 1: + # sdl92.g:348:18: ',' formal_variable_param pass - char_literal115 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_fpar3636) + char_literal121 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_fpar3828) if self._state.backtracking == 0: - stream_COMMA.add(char_literal115) + stream_COMMA.add(char_literal121) - self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3638) - formal_variable_param116 = self.formal_variable_param() + self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3830) + formal_variable_param122 = self.formal_variable_param() self._state.following.pop() if self._state.backtracking == 0: - stream_formal_variable_param.add(formal_variable_param116.tree) + stream_formal_variable_param.add(formal_variable_param122.tree) else: - break #loop48 + break #loop54 - self._state.following.append(self.FOLLOW_end_in_fpar3658) - end117 = self.end() + self._state.following.append(self.FOLLOW_end_in_fpar3850) + end123 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end117.tree) + stream_end.add(end123.tree) # AST Rewrite @@ -5890,14 +6455,14 @@ def fpar(self, ): root_0 = self._adaptor.nil() - # 340:9: -> ^( FPAR ( formal_variable_param )+ ) - # sdl92.g:340:17: ^( FPAR ( formal_variable_param )+ ) + # 350:9: -> ^( FPAR ( formal_variable_param )+ ) + # sdl92.g:350:17: ^( FPAR ( formal_variable_param )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_FPAR.nextNode() , root_1) - # sdl92.g:340:24: ( formal_variable_param )+ + # sdl92.g:350:24: ( formal_variable_param )+ if not (stream_formal_variable_param.hasNext()): raise RewriteEarlyExitException() @@ -5950,7 +6515,7 @@ def __init__(self): # $ANTLR start "formal_variable_param" - # sdl92.g:344:1: formal_variable_param : ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) ; + # sdl92.g:354: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) @@ -5958,18 +6523,18 @@ def formal_variable_param(self, ): root_0 = None - INOUT118 = None - IN119 = None - OUT120 = None - char_literal122 = None - variable_id121 = None - variable_id123 = None - sort124 = None - - INOUT118_tree = None - IN119_tree = None - OUT120_tree = None - char_literal122_tree = None + INOUT124 = None + IN125 = None + OUT126 = None + char_literal128 = None + variable_id127 = None + variable_id129 = None + sort130 = None + + INOUT124_tree = None + IN125_tree = None + OUT126_tree = None + char_literal128_tree = None stream_INOUT = RewriteRuleTokenStream(self._adaptor, "token INOUT") stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_IN = RewriteRuleTokenStream(self._adaptor, "token IN") @@ -5978,91 +6543,91 @@ def formal_variable_param(self, ): stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: - # sdl92.g:345:9: ( ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) ) - # sdl92.g:345:17: ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort + # sdl92.g:355:9: ( ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) ) + # sdl92.g:355:17: ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort pass - # sdl92.g:345:17: ( INOUT | IN | OUT )? - alt49 = 4 - LA49 = self.input.LA(1) - if LA49 in {INOUT}: - alt49 = 1 - elif LA49 in {IN}: - alt49 = 2 - elif LA49 in {OUT}: - alt49 = 3 - if alt49 == 1: - # sdl92.g:345:18: INOUT + # sdl92.g:355:17: ( INOUT | IN | OUT )? + alt55 = 4 + LA55 = self.input.LA(1) + if LA55 in {INOUT}: + alt55 = 1 + elif LA55 in {IN}: + alt55 = 2 + elif LA55 in {OUT}: + alt55 = 3 + if alt55 == 1: + # sdl92.g:355:18: INOUT pass - INOUT118 = self.match(self.input, INOUT, self.FOLLOW_INOUT_in_formal_variable_param3713) + INOUT124 = self.match(self.input, INOUT, self.FOLLOW_INOUT_in_formal_variable_param3905) if self._state.backtracking == 0: - stream_INOUT.add(INOUT118) + stream_INOUT.add(INOUT124) - elif alt49 == 2: - # sdl92.g:345:26: IN + elif alt55 == 2: + # sdl92.g:355:26: IN pass - IN119 = self.match(self.input, IN, self.FOLLOW_IN_in_formal_variable_param3717) + IN125 = self.match(self.input, IN, self.FOLLOW_IN_in_formal_variable_param3909) if self._state.backtracking == 0: - stream_IN.add(IN119) + stream_IN.add(IN125) - elif alt49 == 3: - # sdl92.g:345:31: OUT + elif alt55 == 3: + # sdl92.g:355:31: OUT pass - OUT120 = self.match(self.input, OUT, self.FOLLOW_OUT_in_formal_variable_param3721) + OUT126 = self.match(self.input, OUT, self.FOLLOW_OUT_in_formal_variable_param3913) if self._state.backtracking == 0: - stream_OUT.add(OUT120) + stream_OUT.add(OUT126) - self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3741) - variable_id121 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3933) + variable_id127 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id121.tree) + stream_variable_id.add(variable_id127.tree) - # sdl92.g:346:29: ( ',' variable_id )* - while True: #loop50 - alt50 = 2 - LA50_0 = self.input.LA(1) + # sdl92.g:356:29: ( ',' variable_id )* + while True: #loop56 + alt56 = 2 + LA56_0 = self.input.LA(1) - if (LA50_0 == COMMA) : - alt50 = 1 + if (LA56_0 == COMMA) : + alt56 = 1 - if alt50 == 1: - # sdl92.g:346:30: ',' variable_id + if alt56 == 1: + # sdl92.g:356:30: ',' variable_id pass - char_literal122 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_formal_variable_param3744) + char_literal128 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_formal_variable_param3936) if self._state.backtracking == 0: - stream_COMMA.add(char_literal122) + stream_COMMA.add(char_literal128) - self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3746) - variable_id123 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3938) + variable_id129 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id123.tree) + stream_variable_id.add(variable_id129.tree) else: - break #loop50 + break #loop56 - self._state.following.append(self.FOLLOW_sort_in_formal_variable_param3750) - sort124 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_formal_variable_param3942) + sort130 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort124.tree) + stream_sort.add(sort130.tree) # AST Rewrite @@ -6081,14 +6646,14 @@ def formal_variable_param(self, ): root_0 = self._adaptor.nil() - # 347:9: -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) - # sdl92.g:347:17: ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) + # 357:9: -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) + # sdl92.g:357: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:347:25: ( INOUT )? + # sdl92.g:357:25: ( INOUT )? if stream_INOUT.hasNext(): self._adaptor.addChild(root_1, stream_INOUT.nextNode() @@ -6097,7 +6662,7 @@ def formal_variable_param(self, ): stream_INOUT.reset(); - # sdl92.g:347:32: ( IN )? + # sdl92.g:357:32: ( IN )? if stream_IN.hasNext(): self._adaptor.addChild(root_1, stream_IN.nextNode() @@ -6106,7 +6671,7 @@ def formal_variable_param(self, ): stream_IN.reset(); - # sdl92.g:347:36: ( OUT )? + # sdl92.g:357:36: ( OUT )? if stream_OUT.hasNext(): self._adaptor.addChild(root_1, stream_OUT.nextNode() @@ -6115,7 +6680,7 @@ def formal_variable_param(self, ): stream_OUT.reset(); - # sdl92.g:347:41: ( variable_id )+ + # sdl92.g:357:41: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() @@ -6170,7 +6735,7 @@ def __init__(self): # $ANTLR start "text_area" - # sdl92.g:352:1: text_area : ( partition )? cif ( symbolid )? ( content )? cif_end_text -> ^( TEXTAREA cif ( symbolid )? ( partition )? ( content )? cif_end_text ) ; + # sdl92.g:362:1: text_area : ( requirement )* ( rid )* ( partition )? cif ( symbolid )? ( content )? cif_end_text -> ^( TEXTAREA cif ( symbolid )? ( requirement )* ( rid )* ( partition )? ( content )? cif_end_text ) ; def text_area(self, ): retval = self.text_area_return() retval.start = self.input.LT(1) @@ -6178,120 +6743,214 @@ def text_area(self, ): root_0 = None - partition125 = None - cif126 = None - symbolid127 = None - content128 = None - cif_end_text129 = None + requirement131 = None + rid132 = None + partition133 = None + cif134 = None + symbolid135 = None + content136 = None + cif_end_text137 = None stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") stream_cif_end_text = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end_text") stream_partition = RewriteRuleSubtreeStream(self._adaptor, "rule partition") + stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") + stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") stream_content = RewriteRuleSubtreeStream(self._adaptor, "rule content") try: try: - # sdl92.g:353:9: ( ( partition )? cif ( symbolid )? ( content )? cif_end_text -> ^( TEXTAREA cif ( symbolid )? ( partition )? ( content )? cif_end_text ) ) - # sdl92.g:353:17: ( partition )? cif ( symbolid )? ( content )? cif_end_text + # sdl92.g:363:9: ( ( requirement )* ( rid )* ( partition )? cif ( symbolid )? ( content )? cif_end_text -> ^( TEXTAREA cif ( symbolid )? ( requirement )* ( rid )* ( partition )? ( content )? cif_end_text ) ) + # sdl92.g:363:17: ( requirement )* ( rid )* ( partition )? cif ( symbolid )? ( content )? cif_end_text pass - # sdl92.g:353:17: ( partition )? - alt51 = 2 - LA51_0 = self.input.LA(1) + # sdl92.g:363:17: ( requirement )* + while True: #loop57 + alt57 = 2 + LA57_0 = self.input.LA(1) - if (LA51_0 == 252) : - LA51_1 = self.input.LA(2) + if (LA57_0 == 254) : + LA57_1 = self.input.LA(2) - if (LA51_1 == KEEP) : - alt51 = 1 - if alt51 == 1: - # sdl92.g:353:17: partition + if (LA57_1 == KEEP) : + LA57_2 = self.input.LA(3) + + if (LA57_2 == SPECIFIC) : + LA57_4 = self.input.LA(4) + + if (LA57_4 == GEODE) : + LA57_5 = self.input.LA(5) + + if (LA57_5 == REQ_ID) : + alt57 = 1 + + + + + + + + + + + if alt57 == 1: + # sdl92.g:363:17: requirement + pass + self._state.following.append(self.FOLLOW_requirement_in_text_area4008) + requirement131 = self.requirement() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_requirement.add(requirement131.tree) + + + + else: + break #loop57 + + + # sdl92.g:364:17: ( rid )* + while True: #loop58 + alt58 = 2 + LA58_0 = self.input.LA(1) + + if (LA58_0 == 254) : + LA58_1 = self.input.LA(2) + + if (LA58_1 == KEEP) : + LA58_2 = self.input.LA(3) + + if (LA58_2 == SPECIFIC) : + LA58_4 = self.input.LA(4) + + if (LA58_4 == GEODE) : + LA58_5 = self.input.LA(5) + + if (LA58_5 == RID_ID) : + alt58 = 1 + + + + + + + + + + + if alt58 == 1: + # sdl92.g:364:17: rid + pass + self._state.following.append(self.FOLLOW_rid_in_text_area4027) + rid132 = self.rid() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_rid.add(rid132.tree) + + + + else: + break #loop58 + + + # sdl92.g:365:17: ( partition )? + alt59 = 2 + LA59_0 = self.input.LA(1) + + if (LA59_0 == 254) : + LA59_1 = self.input.LA(2) + + if (LA59_1 == KEEP) : + alt59 = 1 + if alt59 == 1: + # sdl92.g:365:17: partition pass - self._state.following.append(self.FOLLOW_partition_in_text_area3816) - partition125 = self.partition() + self._state.following.append(self.FOLLOW_partition_in_text_area4046) + partition133 = self.partition() self._state.following.pop() if self._state.backtracking == 0: - stream_partition.add(partition125.tree) + stream_partition.add(partition133.tree) - self._state.following.append(self.FOLLOW_cif_in_text_area3835) - cif126 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_text_area4065) + cif134 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif126.tree) + stream_cif.add(cif134.tree) - # sdl92.g:355:17: ( symbolid )? - alt52 = 2 - LA52_0 = self.input.LA(1) + # sdl92.g:367:17: ( symbolid )? + alt60 = 2 + LA60_0 = self.input.LA(1) - if (LA52_0 == 252) : - LA52_1 = self.input.LA(2) + if (LA60_0 == 254) : + LA60_1 = self.input.LA(2) - if (LA52_1 == 254) : - LA52_3 = self.input.LA(3) + if (LA60_1 == 256) : + LA60_3 = self.input.LA(3) - if (LA52_3 == INT) : - LA52_4 = self.input.LA(4) + if (LA60_3 == INT) : + LA60_4 = self.input.LA(4) - if (LA52_4 == 248) : - LA52_5 = self.input.LA(5) + if (LA60_4 == 250) : + LA60_5 = self.input.LA(5) - if (self.synpred66_sdl92()) : - alt52 = 1 - if alt52 == 1: - # sdl92.g:355:17: symbolid + if (self.synpred74_sdl92()) : + alt60 = 1 + if alt60 == 1: + # sdl92.g:367:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_text_area3853) - symbolid127 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_text_area4083) + symbolid135 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid127.tree) + stream_symbolid.add(symbolid135.tree) - # sdl92.g:356:17: ( content )? - alt53 = 2 - LA53_0 = self.input.LA(1) + # sdl92.g:368:17: ( content )? + alt61 = 2 + LA61_0 = self.input.LA(1) - if (LA53_0 == 252) : - LA53_1 = self.input.LA(2) + if (LA61_0 == 254) : + LA61_1 = self.input.LA(2) - if (self.synpred67_sdl92()) : - alt53 = 1 - elif (LA53_0 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt53 = 1 - if alt53 == 1: - # sdl92.g:356:17: content + if (self.synpred75_sdl92()) : + alt61 = 1 + elif (LA61_0 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 252}) : + alt61 = 1 + if alt61 == 1: + # sdl92.g:368:17: content pass - self._state.following.append(self.FOLLOW_content_in_text_area3872) - content128 = self.content() + self._state.following.append(self.FOLLOW_content_in_text_area4102) + content136 = self.content() self._state.following.pop() if self._state.backtracking == 0: - stream_content.add(content128.tree) + stream_content.add(content136.tree) - self._state.following.append(self.FOLLOW_cif_end_text_in_text_area3891) - cif_end_text129 = self.cif_end_text() + self._state.following.append(self.FOLLOW_cif_end_text_in_text_area4121) + cif_end_text137 = self.cif_end_text() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end_text.add(cif_end_text129.tree) + stream_cif_end_text.add(cif_end_text137.tree) # AST Rewrite - # elements: cif, symbolid, partition, content, cif_end_text + # elements: cif, symbolid, requirement, rid, partition, content, cif_end_text # token labels: # rule labels: retval # token list labels: @@ -6306,8 +6965,8 @@ def text_area(self, ): root_0 = self._adaptor.nil() - # 358:9: -> ^( TEXTAREA cif ( symbolid )? ( partition )? ( content )? cif_end_text ) - # sdl92.g:358:17: ^( TEXTAREA cif ( symbolid )? ( partition )? ( content )? cif_end_text ) + # 370:9: -> ^( TEXTAREA cif ( symbolid )? ( requirement )* ( rid )* ( partition )? ( content )? cif_end_text ) + # sdl92.g:370:17: ^( TEXTAREA cif ( symbolid )? ( requirement )* ( rid )* ( partition )? ( content )? cif_end_text ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TEXTAREA, "TEXTAREA") @@ -6315,21 +6974,35 @@ def text_area(self, ): self._adaptor.addChild(root_1, stream_cif.nextTree()) - # sdl92.g:358:32: ( symbolid )? + # sdl92.g:370:32: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:358:43: ( partition )? + # sdl92.g:370:42: ( requirement )* + while stream_requirement.hasNext(): + self._adaptor.addChild(root_1, stream_requirement.nextTree()) + + + stream_requirement.reset(); + + # sdl92.g:370:55: ( rid )* + while stream_rid.hasNext(): + self._adaptor.addChild(root_1, stream_rid.nextTree()) + + + stream_rid.reset(); + + # sdl92.g:370:61: ( partition )? if stream_partition.hasNext(): self._adaptor.addChild(root_1, stream_partition.nextTree()) stream_partition.reset(); - # sdl92.g:358:54: ( content )? + # sdl92.g:370:72: ( content )? if stream_content.hasNext(): self._adaptor.addChild(root_1, stream_content.nextTree()) @@ -6381,7 +7054,7 @@ def __init__(self): # $ANTLR start "content" - # sdl92.g:364:1: content : ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) ; + # sdl92.g:376:1: content : ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) ; def content(self, ): retval = self.content_return() retval.start = self.input.LT(1) @@ -6390,17 +7063,17 @@ def content(self, ): root_0 = None res = None - procedure130 = None - use_clause131 = None - signal_declaration132 = None - fpar133 = None - timer_declaration134 = None - syntype_definition135 = None - newtype_definition136 = None - variable_definition137 = None - monitor_definition138 = None - observer_special_states_declaration139 = None - synonym_definition140 = None + procedure138 = None + use_clause139 = None + signal_declaration140 = None + fpar141 = None + timer_declaration142 = None + syntype_definition143 = None + newtype_definition144 = None + variable_definition145 = None + monitor_definition146 = None + observer_special_states_declaration147 = None + synonym_definition148 = None stream_syntype_definition = RewriteRuleSubtreeStream(self._adaptor, "rule syntype_definition") stream_variable_definition = RewriteRuleSubtreeStream(self._adaptor, "rule variable_definition") @@ -6416,116 +7089,116 @@ def content(self, ): stream_synonym_definition = RewriteRuleSubtreeStream(self._adaptor, "rule synonym_definition") try: try: - # sdl92.g:365:9: ( ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) ) - # sdl92.g:365:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* + # sdl92.g:377:9: ( ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) ) + # sdl92.g:377:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* pass - # sdl92.g:365:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* - while True: #loop54 - alt54 = 13 - LA54 = self.input.LA(1) - if LA54 in {252}: - LA54_1 = self.input.LA(2) - - if (LA54_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 254}) : - alt54 = 1 - elif (LA54_1 == KEEP) : - LA54_15 = self.input.LA(3) - - if (LA54_15 == SPECIFIC) : - LA54_16 = self.input.LA(4) - - if (LA54_16 == GEODE) : - LA54 = self.input.LA(5) - if LA54 in {PARTITION}: - alt54 = 1 - elif LA54 in {ASNFILENAME}: - alt54 = 2 - elif LA54 in {PARAMNAMES}: - alt54 = 3 - - - - - - - - elif LA54 in {EXPORTED, PROCEDURE}: - alt54 = 1 - elif LA54 in {USE}: - alt54 = 2 - elif LA54 in {SIGNAL}: - alt54 = 3 - elif LA54 in {FPAR}: - alt54 = 4 - elif LA54 in {RETURNS, 250}: - alt54 = 5 - elif LA54 in {TIMER}: - alt54 = 6 - elif LA54 in {SYNTYPE}: - alt54 = 7 - elif LA54 in {NEWTYPE}: - alt54 = 8 - elif LA54 in {DCL}: - alt54 = 9 - elif LA54 in {MONITOR}: - alt54 = 10 - elif LA54 in {ERRORSTATES, IGNORESTATES, SUCCESSSTATES}: - alt54 = 11 - elif LA54 in {SYNONYM}: - alt54 = 12 - - if alt54 == 1: - # sdl92.g:365:19: procedure + # sdl92.g:377:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* + while True: #loop62 + alt62 = 13 + LA62 = self.input.LA(1) + if LA62 in {254}: + LA62_1 = self.input.LA(2) + + if (LA62_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : + alt62 = 1 + elif (LA62_1 == KEEP) : + LA62_15 = self.input.LA(3) + + if (LA62_15 == SPECIFIC) : + LA62_16 = self.input.LA(4) + + if (LA62_16 == GEODE) : + LA62 = self.input.LA(5) + if LA62 in {PARTITION, REQ_ID, RID_ID}: + alt62 = 1 + elif LA62 in {ASNFILENAME}: + alt62 = 2 + elif LA62 in {PARAMNAMES}: + alt62 = 3 + + + + + + + + elif LA62 in {EXPORTED, PROCEDURE}: + alt62 = 1 + elif LA62 in {USE}: + alt62 = 2 + elif LA62 in {SIGNAL}: + alt62 = 3 + elif LA62 in {FPAR}: + alt62 = 4 + elif LA62 in {RETURNS, 252}: + alt62 = 5 + elif LA62 in {TIMER}: + alt62 = 6 + elif LA62 in {SYNTYPE}: + alt62 = 7 + elif LA62 in {NEWTYPE}: + alt62 = 8 + elif LA62 in {DCL}: + alt62 = 9 + elif LA62 in {MONITOR}: + alt62 = 10 + elif LA62 in {ERRORSTATES, IGNORESTATES, SUCCESSSTATES}: + alt62 = 11 + elif LA62 in {SYNONYM}: + alt62 = 12 + + if alt62 == 1: + # sdl92.g:377:19: procedure pass - self._state.following.append(self.FOLLOW_procedure_in_content3960) - procedure130 = self.procedure() + self._state.following.append(self.FOLLOW_procedure_in_content4196) + procedure138 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure.add(procedure130.tree) + stream_procedure.add(procedure138.tree) - elif alt54 == 2: - # sdl92.g:366:20: use_clause + elif alt62 == 2: + # sdl92.g:378:20: use_clause pass - self._state.following.append(self.FOLLOW_use_clause_in_content3981) - use_clause131 = self.use_clause() + self._state.following.append(self.FOLLOW_use_clause_in_content4217) + use_clause139 = self.use_clause() self._state.following.pop() if self._state.backtracking == 0: - stream_use_clause.add(use_clause131.tree) + stream_use_clause.add(use_clause139.tree) - elif alt54 == 3: - # sdl92.g:367:20: signal_declaration + elif alt62 == 3: + # sdl92.g:379:20: signal_declaration pass - self._state.following.append(self.FOLLOW_signal_declaration_in_content4002) - signal_declaration132 = self.signal_declaration() + self._state.following.append(self.FOLLOW_signal_declaration_in_content4238) + signal_declaration140 = self.signal_declaration() self._state.following.pop() if self._state.backtracking == 0: - stream_signal_declaration.add(signal_declaration132.tree) + stream_signal_declaration.add(signal_declaration140.tree) - elif alt54 == 4: - # sdl92.g:368:20: fpar + elif alt62 == 4: + # sdl92.g:380:20: fpar pass - self._state.following.append(self.FOLLOW_fpar_in_content4023) - fpar133 = self.fpar() + self._state.following.append(self.FOLLOW_fpar_in_content4259) + fpar141 = self.fpar() self._state.following.pop() if self._state.backtracking == 0: - stream_fpar.add(fpar133.tree) + stream_fpar.add(fpar141.tree) - elif alt54 == 5: - # sdl92.g:369:20: res= procedure_result + elif alt62 == 5: + # sdl92.g:381:20: res= procedure_result pass - self._state.following.append(self.FOLLOW_procedure_result_in_content4046) + self._state.following.append(self.FOLLOW_procedure_result_in_content4282) res = self.procedure_result() self._state.following.pop() @@ -6534,92 +7207,92 @@ def content(self, ): - elif alt54 == 6: - # sdl92.g:370:20: timer_declaration + elif alt62 == 6: + # sdl92.g:382:20: timer_declaration pass - self._state.following.append(self.FOLLOW_timer_declaration_in_content4067) - timer_declaration134 = self.timer_declaration() + self._state.following.append(self.FOLLOW_timer_declaration_in_content4303) + timer_declaration142 = self.timer_declaration() self._state.following.pop() if self._state.backtracking == 0: - stream_timer_declaration.add(timer_declaration134.tree) + stream_timer_declaration.add(timer_declaration142.tree) - elif alt54 == 7: - # sdl92.g:371:20: syntype_definition + elif alt62 == 7: + # sdl92.g:383:20: syntype_definition pass - self._state.following.append(self.FOLLOW_syntype_definition_in_content4088) - syntype_definition135 = self.syntype_definition() + self._state.following.append(self.FOLLOW_syntype_definition_in_content4324) + syntype_definition143 = self.syntype_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_syntype_definition.add(syntype_definition135.tree) + stream_syntype_definition.add(syntype_definition143.tree) - elif alt54 == 8: - # sdl92.g:372:20: newtype_definition + elif alt62 == 8: + # sdl92.g:384:20: newtype_definition pass - self._state.following.append(self.FOLLOW_newtype_definition_in_content4109) - newtype_definition136 = self.newtype_definition() + self._state.following.append(self.FOLLOW_newtype_definition_in_content4345) + newtype_definition144 = self.newtype_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_newtype_definition.add(newtype_definition136.tree) + stream_newtype_definition.add(newtype_definition144.tree) - elif alt54 == 9: - # sdl92.g:373:20: variable_definition + elif alt62 == 9: + # sdl92.g:385:20: variable_definition pass - self._state.following.append(self.FOLLOW_variable_definition_in_content4130) - variable_definition137 = self.variable_definition() + self._state.following.append(self.FOLLOW_variable_definition_in_content4366) + variable_definition145 = self.variable_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_definition.add(variable_definition137.tree) + stream_variable_definition.add(variable_definition145.tree) - elif alt54 == 10: - # sdl92.g:374:20: monitor_definition + elif alt62 == 10: + # sdl92.g:386:20: monitor_definition pass - self._state.following.append(self.FOLLOW_monitor_definition_in_content4151) - monitor_definition138 = self.monitor_definition() + self._state.following.append(self.FOLLOW_monitor_definition_in_content4387) + monitor_definition146 = self.monitor_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_monitor_definition.add(monitor_definition138.tree) + stream_monitor_definition.add(monitor_definition146.tree) - elif alt54 == 11: - # sdl92.g:375:20: observer_special_states_declaration + elif alt62 == 11: + # sdl92.g:387:20: observer_special_states_declaration pass - self._state.following.append(self.FOLLOW_observer_special_states_declaration_in_content4172) - observer_special_states_declaration139 = self.observer_special_states_declaration() + self._state.following.append(self.FOLLOW_observer_special_states_declaration_in_content4408) + observer_special_states_declaration147 = self.observer_special_states_declaration() self._state.following.pop() if self._state.backtracking == 0: - stream_observer_special_states_declaration.add(observer_special_states_declaration139.tree) + stream_observer_special_states_declaration.add(observer_special_states_declaration147.tree) - elif alt54 == 12: - # sdl92.g:376:20: synonym_definition + elif alt62 == 12: + # sdl92.g:388:20: synonym_definition pass - self._state.following.append(self.FOLLOW_synonym_definition_in_content4193) - synonym_definition140 = self.synonym_definition() + self._state.following.append(self.FOLLOW_synonym_definition_in_content4429) + synonym_definition148 = self.synonym_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_synonym_definition.add(synonym_definition140.tree) + stream_synonym_definition.add(synonym_definition148.tree) else: - break #loop54 + break #loop62 # AST Rewrite @@ -6643,91 +7316,91 @@ def content(self, ): root_0 = self._adaptor.nil() - # 377:9: -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) - # sdl92.g:377:18: ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) + # 389:9: -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) + # sdl92.g:389:18: ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TEXTAREA_CONTENT, "TEXTAREA_CONTENT") , root_1) - # sdl92.g:377:37: ( fpar )* + # sdl92.g:389:37: ( fpar )* while stream_fpar.hasNext(): self._adaptor.addChild(root_1, stream_fpar.nextTree()) stream_fpar.reset(); - # sdl92.g:377:44: ( $res)? + # sdl92.g:389:44: ( $res)? if stream_res.hasNext(): self._adaptor.addChild(root_1, stream_res.nextTree()) stream_res.reset(); - # sdl92.g:377:49: ( procedure )* + # sdl92.g:389:49: ( procedure )* while stream_procedure.hasNext(): self._adaptor.addChild(root_1, stream_procedure.nextTree()) stream_procedure.reset(); - # sdl92.g:377:60: ( variable_definition )* + # sdl92.g:389:60: ( variable_definition )* while stream_variable_definition.hasNext(): self._adaptor.addChild(root_1, stream_variable_definition.nextTree()) stream_variable_definition.reset(); - # sdl92.g:378:20: ( monitor_definition )* + # sdl92.g:390:20: ( monitor_definition )* while stream_monitor_definition.hasNext(): self._adaptor.addChild(root_1, stream_monitor_definition.nextTree()) stream_monitor_definition.reset(); - # sdl92.g:378:40: ( syntype_definition )* + # sdl92.g:390:40: ( syntype_definition )* while stream_syntype_definition.hasNext(): self._adaptor.addChild(root_1, stream_syntype_definition.nextTree()) stream_syntype_definition.reset(); - # sdl92.g:378:60: ( newtype_definition )* + # sdl92.g:390:60: ( newtype_definition )* while stream_newtype_definition.hasNext(): self._adaptor.addChild(root_1, stream_newtype_definition.nextTree()) stream_newtype_definition.reset(); - # sdl92.g:379:20: ( timer_declaration )* + # sdl92.g:391:20: ( timer_declaration )* while stream_timer_declaration.hasNext(): self._adaptor.addChild(root_1, stream_timer_declaration.nextTree()) stream_timer_declaration.reset(); - # sdl92.g:379:39: ( signal_declaration )* + # sdl92.g:391:39: ( signal_declaration )* while stream_signal_declaration.hasNext(): self._adaptor.addChild(root_1, stream_signal_declaration.nextTree()) stream_signal_declaration.reset(); - # sdl92.g:379:59: ( use_clause )* + # sdl92.g:391:59: ( use_clause )* while stream_use_clause.hasNext(): self._adaptor.addChild(root_1, stream_use_clause.nextTree()) stream_use_clause.reset(); - # sdl92.g:380:20: ( observer_special_states_declaration )* + # sdl92.g:392:20: ( observer_special_states_declaration )* while stream_observer_special_states_declaration.hasNext(): self._adaptor.addChild(root_1, stream_observer_special_states_declaration.nextTree()) stream_observer_special_states_declaration.reset(); - # sdl92.g:380:57: ( synonym_definition )* + # sdl92.g:392:57: ( synonym_definition )* while stream_synonym_definition.hasNext(): self._adaptor.addChild(root_1, stream_synonym_definition.nextTree()) @@ -6777,7 +7450,7 @@ def __init__(self): # $ANTLR start "observer_special_states_declaration" - # sdl92.g:388:1: observer_special_states_declaration : ( ERRORSTATES statename ( ',' statename )* end -> ^( ERRORSTATES ( statename )+ ) | IGNORESTATES statename ( ',' statename )* end -> ^( IGNORESTATES ( statename )+ ) | SUCCESSSTATES statename ( ',' statename )* end -> ^( SUCCESSSTATES ( statename )+ ) ); + # sdl92.g:400:1: observer_special_states_declaration : ( ERRORSTATES statename ( ',' statename )* end -> ^( ERRORSTATES ( statename )+ ) | IGNORESTATES statename ( ',' statename )* end -> ^( IGNORESTATES ( statename )+ ) | SUCCESSSTATES statename ( ',' statename )* end -> ^( SUCCESSSTATES ( statename )+ ) ); def observer_special_states_declaration(self, ): retval = self.observer_special_states_declaration_return() retval.start = self.input.LT(1) @@ -6785,28 +7458,28 @@ def observer_special_states_declaration(self, ): root_0 = None - ERRORSTATES141 = None - char_literal143 = None - IGNORESTATES146 = None - char_literal148 = None - SUCCESSSTATES151 = None - char_literal153 = None - statename142 = None - statename144 = None - end145 = None - statename147 = None - statename149 = None - end150 = None + ERRORSTATES149 = None + char_literal151 = None + IGNORESTATES154 = None + char_literal156 = None + SUCCESSSTATES159 = None + char_literal161 = None + statename150 = None statename152 = None - statename154 = None - end155 = None - - ERRORSTATES141_tree = None - char_literal143_tree = None - IGNORESTATES146_tree = None - char_literal148_tree = None - SUCCESSSTATES151_tree = None - char_literal153_tree = None + end153 = None + statename155 = None + statename157 = None + end158 = None + statename160 = None + statename162 = None + end163 = None + + ERRORSTATES149_tree = None + char_literal151_tree = None + IGNORESTATES154_tree = None + char_literal156_tree = None + SUCCESSSTATES159_tree = None + char_literal161_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_SUCCESSSTATES = RewriteRuleTokenStream(self._adaptor, "token SUCCESSSTATES") stream_IGNORESTATES = RewriteRuleTokenStream(self._adaptor, "token IGNORESTATES") @@ -6815,77 +7488,77 @@ def observer_special_states_declaration(self, ): stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") try: try: - # sdl92.g:389:9: ( ERRORSTATES statename ( ',' statename )* end -> ^( ERRORSTATES ( statename )+ ) | IGNORESTATES statename ( ',' statename )* end -> ^( IGNORESTATES ( statename )+ ) | SUCCESSSTATES statename ( ',' statename )* end -> ^( SUCCESSSTATES ( statename )+ ) ) - alt58 = 3 - LA58 = self.input.LA(1) - if LA58 in {ERRORSTATES}: - alt58 = 1 - elif LA58 in {IGNORESTATES}: - alt58 = 2 - elif LA58 in {SUCCESSSTATES}: - alt58 = 3 + # sdl92.g:401:9: ( ERRORSTATES statename ( ',' statename )* end -> ^( ERRORSTATES ( statename )+ ) | IGNORESTATES statename ( ',' statename )* end -> ^( IGNORESTATES ( statename )+ ) | SUCCESSSTATES statename ( ',' statename )* end -> ^( SUCCESSSTATES ( statename )+ ) ) + alt66 = 3 + LA66 = self.input.LA(1) + if LA66 in {ERRORSTATES}: + alt66 = 1 + elif LA66 in {IGNORESTATES}: + alt66 = 2 + elif LA66 in {SUCCESSSTATES}: + alt66 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 58, 0, self.input) + nvae = NoViableAltException("", 66, 0, self.input) raise nvae - if alt58 == 1: - # sdl92.g:389:17: ERRORSTATES statename ( ',' statename )* end + if alt66 == 1: + # sdl92.g:401:17: ERRORSTATES statename ( ',' statename )* end pass - ERRORSTATES141 = self.match(self.input, ERRORSTATES, self.FOLLOW_ERRORSTATES_in_observer_special_states_declaration4345) + ERRORSTATES149 = self.match(self.input, ERRORSTATES, self.FOLLOW_ERRORSTATES_in_observer_special_states_declaration4581) if self._state.backtracking == 0: - stream_ERRORSTATES.add(ERRORSTATES141) + stream_ERRORSTATES.add(ERRORSTATES149) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4352) - statename142 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4588) + statename150 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename142.tree) + stream_statename.add(statename150.tree) - # sdl92.g:389:44: ( ',' statename )* - while True: #loop55 - alt55 = 2 - LA55_0 = self.input.LA(1) + # sdl92.g:401:44: ( ',' statename )* + while True: #loop63 + alt63 = 2 + LA63_0 = self.input.LA(1) - if (LA55_0 == COMMA) : - alt55 = 1 + if (LA63_0 == COMMA) : + alt63 = 1 - if alt55 == 1: - # sdl92.g:389:45: ',' statename + if alt63 == 1: + # sdl92.g:401:45: ',' statename pass - char_literal143 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4355) + char_literal151 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4591) if self._state.backtracking == 0: - stream_COMMA.add(char_literal143) + stream_COMMA.add(char_literal151) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4357) - statename144 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4593) + statename152 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename144.tree) + stream_statename.add(statename152.tree) else: - break #loop55 + break #loop63 - self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4361) - end145 = self.end() + self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4597) + end153 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end145.tree) + stream_end.add(end153.tree) # AST Rewrite @@ -6904,14 +7577,14 @@ def observer_special_states_declaration(self, ): root_0 = self._adaptor.nil() - # 390:9: -> ^( ERRORSTATES ( statename )+ ) - # sdl92.g:390:17: ^( ERRORSTATES ( statename )+ ) + # 402:9: -> ^( ERRORSTATES ( statename )+ ) + # sdl92.g:402:17: ^( ERRORSTATES ( statename )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ERRORSTATES.nextNode() , root_1) - # sdl92.g:390:31: ( statename )+ + # sdl92.g:402:31: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() @@ -6931,58 +7604,58 @@ def observer_special_states_declaration(self, ): - elif alt58 == 2: - # sdl92.g:391:19: IGNORESTATES statename ( ',' statename )* end + elif alt66 == 2: + # sdl92.g:403:19: IGNORESTATES statename ( ',' statename )* end pass - IGNORESTATES146 = self.match(self.input, IGNORESTATES, self.FOLLOW_IGNORESTATES_in_observer_special_states_declaration4403) + IGNORESTATES154 = self.match(self.input, IGNORESTATES, self.FOLLOW_IGNORESTATES_in_observer_special_states_declaration4639) if self._state.backtracking == 0: - stream_IGNORESTATES.add(IGNORESTATES146) + stream_IGNORESTATES.add(IGNORESTATES154) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4407) - statename147 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4643) + statename155 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename147.tree) + stream_statename.add(statename155.tree) - # sdl92.g:391:44: ( ',' statename )* - while True: #loop56 - alt56 = 2 - LA56_0 = self.input.LA(1) + # sdl92.g:403:44: ( ',' statename )* + while True: #loop64 + alt64 = 2 + LA64_0 = self.input.LA(1) - if (LA56_0 == COMMA) : - alt56 = 1 + if (LA64_0 == COMMA) : + alt64 = 1 - if alt56 == 1: - # sdl92.g:391:45: ',' statename + if alt64 == 1: + # sdl92.g:403:45: ',' statename pass - char_literal148 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4410) + char_literal156 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4646) if self._state.backtracking == 0: - stream_COMMA.add(char_literal148) + stream_COMMA.add(char_literal156) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4412) - statename149 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4648) + statename157 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename149.tree) + stream_statename.add(statename157.tree) else: - break #loop56 + break #loop64 - self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4416) - end150 = self.end() + self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4652) + end158 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end150.tree) + stream_end.add(end158.tree) # AST Rewrite @@ -7001,14 +7674,14 @@ def observer_special_states_declaration(self, ): root_0 = self._adaptor.nil() - # 392:9: -> ^( IGNORESTATES ( statename )+ ) - # sdl92.g:392:17: ^( IGNORESTATES ( statename )+ ) + # 404:9: -> ^( IGNORESTATES ( statename )+ ) + # sdl92.g:404:17: ^( IGNORESTATES ( statename )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_IGNORESTATES.nextNode() , root_1) - # sdl92.g:392:32: ( statename )+ + # sdl92.g:404:32: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() @@ -7028,58 +7701,58 @@ def observer_special_states_declaration(self, ): - elif alt58 == 3: - # sdl92.g:393:19: SUCCESSSTATES statename ( ',' statename )* end + elif alt66 == 3: + # sdl92.g:405:19: SUCCESSSTATES statename ( ',' statename )* end pass - SUCCESSSTATES151 = self.match(self.input, SUCCESSSTATES, self.FOLLOW_SUCCESSSTATES_in_observer_special_states_declaration4458) + SUCCESSSTATES159 = self.match(self.input, SUCCESSSTATES, self.FOLLOW_SUCCESSSTATES_in_observer_special_states_declaration4694) if self._state.backtracking == 0: - stream_SUCCESSSTATES.add(SUCCESSSTATES151) + stream_SUCCESSSTATES.add(SUCCESSSTATES159) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4461) - statename152 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4697) + statename160 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename152.tree) + stream_statename.add(statename160.tree) - # sdl92.g:393:44: ( ',' statename )* - while True: #loop57 - alt57 = 2 - LA57_0 = self.input.LA(1) + # sdl92.g:405:44: ( ',' statename )* + while True: #loop65 + alt65 = 2 + LA65_0 = self.input.LA(1) - if (LA57_0 == COMMA) : - alt57 = 1 + if (LA65_0 == COMMA) : + alt65 = 1 - if alt57 == 1: - # sdl92.g:393:45: ',' statename + if alt65 == 1: + # sdl92.g:405:45: ',' statename pass - char_literal153 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4464) + char_literal161 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4700) if self._state.backtracking == 0: - stream_COMMA.add(char_literal153) + stream_COMMA.add(char_literal161) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4466) - statename154 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4702) + statename162 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename154.tree) + stream_statename.add(statename162.tree) else: - break #loop57 + break #loop65 - self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4470) - end155 = self.end() + self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4706) + end163 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end155.tree) + stream_end.add(end163.tree) # AST Rewrite @@ -7098,14 +7771,14 @@ def observer_special_states_declaration(self, ): root_0 = self._adaptor.nil() - # 394:9: -> ^( SUCCESSSTATES ( statename )+ ) - # sdl92.g:394:17: ^( SUCCESSSTATES ( statename )+ ) + # 406:9: -> ^( SUCCESSSTATES ( statename )+ ) + # sdl92.g:406:17: ^( SUCCESSSTATES ( statename )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SUCCESSSTATES.nextNode() , root_1) - # sdl92.g:394:33: ( statename )+ + # sdl92.g:406:33: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() @@ -7157,7 +7830,7 @@ def __init__(self): # $ANTLR start "timer_declaration" - # sdl92.g:398:1: timer_declaration : TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ; + # sdl92.g:410: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) @@ -7165,72 +7838,72 @@ def timer_declaration(self, ): root_0 = None - TIMER156 = None - char_literal158 = None - timer_id157 = None - timer_id159 = None - end160 = None + TIMER164 = None + char_literal166 = None + timer_id165 = None + timer_id167 = None + end168 = None - TIMER156_tree = None - char_literal158_tree = None + TIMER164_tree = None + char_literal166_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:399:9: ( TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ) - # sdl92.g:399:17: TIMER timer_id ( ',' timer_id )* end + # sdl92.g:411:9: ( TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ) + # sdl92.g:411:17: TIMER timer_id ( ',' timer_id )* end pass - TIMER156 = self.match(self.input, TIMER, self.FOLLOW_TIMER_in_timer_declaration4524) + TIMER164 = self.match(self.input, TIMER, self.FOLLOW_TIMER_in_timer_declaration4760) if self._state.backtracking == 0: - stream_TIMER.add(TIMER156) + stream_TIMER.add(TIMER164) - self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration4526) - timer_id157 = self.timer_id() + self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration4762) + timer_id165 = self.timer_id() self._state.following.pop() if self._state.backtracking == 0: - stream_timer_id.add(timer_id157.tree) + stream_timer_id.add(timer_id165.tree) - # sdl92.g:400:17: ( ',' timer_id )* - while True: #loop59 - alt59 = 2 - LA59_0 = self.input.LA(1) + # sdl92.g:412:17: ( ',' timer_id )* + while True: #loop67 + alt67 = 2 + LA67_0 = self.input.LA(1) - if (LA59_0 == COMMA) : - alt59 = 1 + if (LA67_0 == COMMA) : + alt67 = 1 - if alt59 == 1: - # sdl92.g:400:18: ',' timer_id + if alt67 == 1: + # sdl92.g:412:18: ',' timer_id pass - char_literal158 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_timer_declaration4545) + char_literal166 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_timer_declaration4781) if self._state.backtracking == 0: - stream_COMMA.add(char_literal158) + stream_COMMA.add(char_literal166) - self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration4547) - timer_id159 = self.timer_id() + self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration4783) + timer_id167 = self.timer_id() self._state.following.pop() if self._state.backtracking == 0: - stream_timer_id.add(timer_id159.tree) + stream_timer_id.add(timer_id167.tree) else: - break #loop59 + break #loop67 - self._state.following.append(self.FOLLOW_end_in_timer_declaration4567) - end160 = self.end() + self._state.following.append(self.FOLLOW_end_in_timer_declaration4803) + end168 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end160.tree) + stream_end.add(end168.tree) # AST Rewrite @@ -7249,14 +7922,14 @@ def timer_declaration(self, ): root_0 = self._adaptor.nil() - # 402:9: -> ^( TIMER ( timer_id )+ ) - # sdl92.g:402:17: ^( TIMER ( timer_id )+ ) + # 414:9: -> ^( TIMER ( timer_id )+ ) + # sdl92.g:414:17: ^( TIMER ( timer_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_TIMER.nextNode() , root_1) - # sdl92.g:402:25: ( timer_id )+ + # sdl92.g:414:25: ( timer_id )+ if not (stream_timer_id.hasNext()): raise RewriteEarlyExitException() @@ -7309,7 +7982,7 @@ def __init__(self): # $ANTLR start "syntype_definition" - # sdl92.g:406:1: syntype_definition : SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) ; + # sdl92.g:418: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) @@ -7317,23 +7990,23 @@ def syntype_definition(self, ): root_0 = None - SYNTYPE161 = None - char_literal163 = None - CONSTANTS165 = None - char_literal167 = None - ENDSYNTYPE169 = None - syntype_name162 = None - parent_sort164 = None - range_condition166 = None - range_condition168 = None + SYNTYPE169 = None + char_literal171 = None + CONSTANTS173 = None + char_literal175 = None + ENDSYNTYPE177 = None syntype_name170 = None - end171 = None - - SYNTYPE161_tree = None - char_literal163_tree = None - CONSTANTS165_tree = None - char_literal167_tree = None - ENDSYNTYPE169_tree = None + parent_sort172 = None + range_condition174 = None + range_condition176 = None + syntype_name178 = None + end179 = None + + SYNTYPE169_tree = None + char_literal171_tree = None + CONSTANTS173_tree = None + char_literal175_tree = None + ENDSYNTYPE177_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_CONSTANTS = RewriteRuleTokenStream(self._adaptor, "token CONSTANTS") stream_SYNTYPE = RewriteRuleTokenStream(self._adaptor, "token SYNTYPE") @@ -7345,88 +8018,88 @@ def syntype_definition(self, ): stream_syntype_name = RewriteRuleSubtreeStream(self._adaptor, "rule syntype_name") try: try: - # sdl92.g:407:9: ( SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) ) - # sdl92.g:407:17: SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end + # sdl92.g:419:9: ( SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) ) + # sdl92.g:419:17: SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end pass - SYNTYPE161 = self.match(self.input, SYNTYPE, self.FOLLOW_SYNTYPE_in_syntype_definition4621) + SYNTYPE169 = self.match(self.input, SYNTYPE, self.FOLLOW_SYNTYPE_in_syntype_definition4857) if self._state.backtracking == 0: - stream_SYNTYPE.add(SYNTYPE161) + stream_SYNTYPE.add(SYNTYPE169) - self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4623) - syntype_name162 = self.syntype_name() + self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4859) + syntype_name170 = self.syntype_name() self._state.following.pop() if self._state.backtracking == 0: - stream_syntype_name.add(syntype_name162.tree) + stream_syntype_name.add(syntype_name170.tree) - char_literal163 = self.match(self.input, EQ, self.FOLLOW_EQ_in_syntype_definition4625) + char_literal171 = self.match(self.input, EQ, self.FOLLOW_EQ_in_syntype_definition4861) if self._state.backtracking == 0: - stream_EQ.add(char_literal163) + stream_EQ.add(char_literal171) - self._state.following.append(self.FOLLOW_parent_sort_in_syntype_definition4627) - parent_sort164 = self.parent_sort() + self._state.following.append(self.FOLLOW_parent_sort_in_syntype_definition4863) + parent_sort172 = self.parent_sort() self._state.following.pop() if self._state.backtracking == 0: - stream_parent_sort.add(parent_sort164.tree) + stream_parent_sort.add(parent_sort172.tree) - # sdl92.g:408:17: ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? - alt61 = 2 - LA61_0 = self.input.LA(1) + # sdl92.g:420:17: ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? + alt69 = 2 + LA69_0 = self.input.LA(1) - if (LA61_0 == CONSTANTS) : - alt61 = 1 - if alt61 == 1: - # sdl92.g:408:18: CONSTANTS ( range_condition ( ',' range_condition )* ) + if (LA69_0 == CONSTANTS) : + alt69 = 1 + if alt69 == 1: + # sdl92.g:420:18: CONSTANTS ( range_condition ( ',' range_condition )* ) pass - CONSTANTS165 = self.match(self.input, CONSTANTS, self.FOLLOW_CONSTANTS_in_syntype_definition4646) + CONSTANTS173 = self.match(self.input, CONSTANTS, self.FOLLOW_CONSTANTS_in_syntype_definition4882) if self._state.backtracking == 0: - stream_CONSTANTS.add(CONSTANTS165) + stream_CONSTANTS.add(CONSTANTS173) - # sdl92.g:408:28: ( range_condition ( ',' range_condition )* ) - # sdl92.g:408:29: range_condition ( ',' range_condition )* + # sdl92.g:420:28: ( range_condition ( ',' range_condition )* ) + # sdl92.g:420:29: range_condition ( ',' range_condition )* pass - self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4649) - range_condition166 = self.range_condition() + self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4885) + range_condition174 = self.range_condition() self._state.following.pop() if self._state.backtracking == 0: - stream_range_condition.add(range_condition166.tree) + stream_range_condition.add(range_condition174.tree) - # sdl92.g:408:45: ( ',' range_condition )* - while True: #loop60 - alt60 = 2 - LA60_0 = self.input.LA(1) + # sdl92.g:420:45: ( ',' range_condition )* + while True: #loop68 + alt68 = 2 + LA68_0 = self.input.LA(1) - if (LA60_0 == COMMA) : - alt60 = 1 + if (LA68_0 == COMMA) : + alt68 = 1 - if alt60 == 1: - # sdl92.g:408:46: ',' range_condition + if alt68 == 1: + # sdl92.g:420:46: ',' range_condition pass - char_literal167 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_syntype_definition4652) + char_literal175 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_syntype_definition4888) if self._state.backtracking == 0: - stream_COMMA.add(char_literal167) + stream_COMMA.add(char_literal175) - self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4654) - range_condition168 = self.range_condition() + self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4890) + range_condition176 = self.range_condition() self._state.following.pop() if self._state.backtracking == 0: - stream_range_condition.add(range_condition168.tree) + stream_range_condition.add(range_condition176.tree) else: - break #loop60 + break #loop68 @@ -7435,37 +8108,37 @@ def syntype_definition(self, ): - ENDSYNTYPE169 = self.match(self.input, ENDSYNTYPE, self.FOLLOW_ENDSYNTYPE_in_syntype_definition4678) + ENDSYNTYPE177 = self.match(self.input, ENDSYNTYPE, self.FOLLOW_ENDSYNTYPE_in_syntype_definition4914) if self._state.backtracking == 0: - stream_ENDSYNTYPE.add(ENDSYNTYPE169) + stream_ENDSYNTYPE.add(ENDSYNTYPE177) - # sdl92.g:409:28: ( syntype_name )? - alt62 = 2 - LA62_0 = self.input.LA(1) + # sdl92.g:421:28: ( syntype_name )? + alt70 = 2 + LA70_0 = self.input.LA(1) - if (LA62_0 == ID) : - alt62 = 1 - if alt62 == 1: - # sdl92.g:409:28: syntype_name + if (LA70_0 == ID) : + alt70 = 1 + if alt70 == 1: + # sdl92.g:421:28: syntype_name pass - self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4680) - syntype_name170 = self.syntype_name() + self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4916) + syntype_name178 = self.syntype_name() self._state.following.pop() if self._state.backtracking == 0: - stream_syntype_name.add(syntype_name170.tree) + stream_syntype_name.add(syntype_name178.tree) - self._state.following.append(self.FOLLOW_end_in_syntype_definition4683) - end171 = self.end() + self._state.following.append(self.FOLLOW_end_in_syntype_definition4919) + end179 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end171.tree) + stream_end.add(end179.tree) # AST Rewrite @@ -7484,8 +8157,8 @@ def syntype_definition(self, ): root_0 = self._adaptor.nil() - # 410:9: -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) - # sdl92.g:410:17: ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) + # 422:9: -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) + # sdl92.g:422:17: ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SYNTYPE.nextNode() @@ -7495,7 +8168,7 @@ def syntype_definition(self, ): self._adaptor.addChild(root_1, stream_parent_sort.nextTree()) - # sdl92.g:410:52: ( range_condition )* + # sdl92.g:422:52: ( range_condition )* while stream_range_condition.hasNext(): self._adaptor.addChild(root_1, stream_range_condition.nextTree()) @@ -7545,7 +8218,7 @@ def __init__(self): # $ANTLR start "syntype_name" - # sdl92.g:414:1: syntype_name : sort ; + # sdl92.g:426:1: syntype_name : sort ; def syntype_name(self, ): retval = self.syntype_name_return() retval.start = self.input.LT(1) @@ -7553,23 +8226,23 @@ def syntype_name(self, ): root_0 = None - sort172 = None + sort180 = None try: try: - # sdl92.g:415:9: ( sort ) - # sdl92.g:415:17: sort + # sdl92.g:427:9: ( sort ) + # sdl92.g:427:17: sort pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_sort_in_syntype_name4741) - sort172 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_syntype_name4977) + sort180 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, sort172.tree) + self._adaptor.addChild(root_0, sort180.tree) @@ -7606,7 +8279,7 @@ def __init__(self): # $ANTLR start "parent_sort" - # sdl92.g:419:1: parent_sort : sort ; + # sdl92.g:431:1: parent_sort : sort ; def parent_sort(self, ): retval = self.parent_sort_return() retval.start = self.input.LT(1) @@ -7614,23 +8287,23 @@ def parent_sort(self, ): root_0 = None - sort173 = None + sort181 = None try: try: - # sdl92.g:420:9: ( sort ) - # sdl92.g:420:17: sort + # sdl92.g:432:9: ( sort ) + # sdl92.g:432:17: sort pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_sort_in_parent_sort4773) - sort173 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_parent_sort5009) + sort181 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, sort173.tree) + self._adaptor.addChild(root_0, sort181.tree) @@ -7667,7 +8340,7 @@ def __init__(self): # $ANTLR start "newtype_definition" - # sdl92.g:424:1: newtype_definition : NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) ; + # sdl92.g:436:1: newtype_definition : NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) ; def newtype_definition(self, ): retval = self.newtype_definition_return() retval.start = self.input.LT(1) @@ -7675,17 +8348,17 @@ def newtype_definition(self, ): root_0 = None - NEWTYPE174 = None - ENDNEWTYPE179 = None - type_name175 = None - array_definition176 = None - structure_definition177 = None - enum_definition178 = None - type_name180 = None - end181 = None - - NEWTYPE174_tree = None - ENDNEWTYPE179_tree = None + NEWTYPE182 = None + ENDNEWTYPE187 = None + type_name183 = None + array_definition184 = None + structure_definition185 = None + enum_definition186 = None + type_name188 = None + end189 = None + + NEWTYPE182_tree = None + ENDNEWTYPE187_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") @@ -7695,100 +8368,100 @@ def newtype_definition(self, ): stream_enum_definition = RewriteRuleSubtreeStream(self._adaptor, "rule enum_definition") try: try: - # sdl92.g:425:9: ( NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) ) - # sdl92.g:425:17: NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end + # sdl92.g:437:9: ( NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) ) + # sdl92.g:437:17: NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end pass - NEWTYPE174 = self.match(self.input, NEWTYPE, self.FOLLOW_NEWTYPE_in_newtype_definition4805) + NEWTYPE182 = self.match(self.input, NEWTYPE, self.FOLLOW_NEWTYPE_in_newtype_definition5041) if self._state.backtracking == 0: - stream_NEWTYPE.add(NEWTYPE174) + stream_NEWTYPE.add(NEWTYPE182) - self._state.following.append(self.FOLLOW_type_name_in_newtype_definition4807) - type_name175 = self.type_name() + self._state.following.append(self.FOLLOW_type_name_in_newtype_definition5043) + type_name183 = self.type_name() self._state.following.pop() if self._state.backtracking == 0: - stream_type_name.add(type_name175.tree) + stream_type_name.add(type_name183.tree) - # sdl92.g:426:17: ( array_definition | structure_definition | enum_definition )? - alt63 = 4 - LA63 = self.input.LA(1) - if LA63 in {ARRAY}: - alt63 = 1 - elif LA63 in {STRUCT}: - alt63 = 2 - elif LA63 in {LITERALS}: - alt63 = 3 - if alt63 == 1: - # sdl92.g:426:18: array_definition + # sdl92.g:438:17: ( array_definition | structure_definition | enum_definition )? + alt71 = 4 + LA71 = self.input.LA(1) + if LA71 in {ARRAY}: + alt71 = 1 + elif LA71 in {STRUCT}: + alt71 = 2 + elif LA71 in {LITERALS}: + alt71 = 3 + if alt71 == 1: + # sdl92.g:438:18: array_definition pass - self._state.following.append(self.FOLLOW_array_definition_in_newtype_definition4826) - array_definition176 = self.array_definition() + self._state.following.append(self.FOLLOW_array_definition_in_newtype_definition5062) + array_definition184 = self.array_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_array_definition.add(array_definition176.tree) + stream_array_definition.add(array_definition184.tree) - elif alt63 == 2: - # sdl92.g:426:35: structure_definition + elif alt71 == 2: + # sdl92.g:438:35: structure_definition pass - self._state.following.append(self.FOLLOW_structure_definition_in_newtype_definition4828) - structure_definition177 = self.structure_definition() + self._state.following.append(self.FOLLOW_structure_definition_in_newtype_definition5064) + structure_definition185 = self.structure_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_structure_definition.add(structure_definition177.tree) + stream_structure_definition.add(structure_definition185.tree) - elif alt63 == 3: - # sdl92.g:426:56: enum_definition + elif alt71 == 3: + # sdl92.g:438:56: enum_definition pass - self._state.following.append(self.FOLLOW_enum_definition_in_newtype_definition4830) - enum_definition178 = self.enum_definition() + self._state.following.append(self.FOLLOW_enum_definition_in_newtype_definition5066) + enum_definition186 = self.enum_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_enum_definition.add(enum_definition178.tree) + stream_enum_definition.add(enum_definition186.tree) - ENDNEWTYPE179 = self.match(self.input, ENDNEWTYPE, self.FOLLOW_ENDNEWTYPE_in_newtype_definition4850) + ENDNEWTYPE187 = self.match(self.input, ENDNEWTYPE, self.FOLLOW_ENDNEWTYPE_in_newtype_definition5086) if self._state.backtracking == 0: - stream_ENDNEWTYPE.add(ENDNEWTYPE179) + stream_ENDNEWTYPE.add(ENDNEWTYPE187) - # sdl92.g:427:28: ( type_name )? - alt64 = 2 - LA64_0 = self.input.LA(1) + # sdl92.g:439:28: ( type_name )? + alt72 = 2 + LA72_0 = self.input.LA(1) - if (LA64_0 == ID) : - alt64 = 1 - if alt64 == 1: - # sdl92.g:427:28: type_name + if (LA72_0 == ID) : + alt72 = 1 + if alt72 == 1: + # sdl92.g:439:28: type_name pass - self._state.following.append(self.FOLLOW_type_name_in_newtype_definition4852) - type_name180 = self.type_name() + self._state.following.append(self.FOLLOW_type_name_in_newtype_definition5088) + type_name188 = self.type_name() self._state.following.pop() if self._state.backtracking == 0: - stream_type_name.add(type_name180.tree) + stream_type_name.add(type_name188.tree) - self._state.following.append(self.FOLLOW_end_in_newtype_definition4855) - end181 = self.end() + self._state.following.append(self.FOLLOW_end_in_newtype_definition5091) + end189 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end181.tree) + stream_end.add(end189.tree) # AST Rewrite @@ -7807,8 +8480,8 @@ def newtype_definition(self, ): root_0 = self._adaptor.nil() - # 428:9: -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) - # sdl92.g:428:17: ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) + # 440:9: -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) + # sdl92.g:440:17: ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_NEWTYPE.nextNode() @@ -7816,21 +8489,21 @@ def newtype_definition(self, ): self._adaptor.addChild(root_1, stream_type_name.nextTree()) - # sdl92.g:428:37: ( array_definition )* + # sdl92.g:440:37: ( array_definition )* while stream_array_definition.hasNext(): self._adaptor.addChild(root_1, stream_array_definition.nextTree()) stream_array_definition.reset(); - # sdl92.g:428:55: ( structure_definition )* + # sdl92.g:440:55: ( structure_definition )* while stream_structure_definition.hasNext(): self._adaptor.addChild(root_1, stream_structure_definition.nextTree()) stream_structure_definition.reset(); - # sdl92.g:428:77: ( enum_definition )* + # sdl92.g:440:77: ( enum_definition )* while stream_enum_definition.hasNext(): self._adaptor.addChild(root_1, stream_enum_definition.nextTree()) @@ -7880,7 +8553,7 @@ def __init__(self): # $ANTLR start "type_name" - # sdl92.g:432:1: type_name : sort ; + # sdl92.g:444:1: type_name : sort ; def type_name(self, ): retval = self.type_name_return() retval.start = self.input.LT(1) @@ -7888,23 +8561,23 @@ def type_name(self, ): root_0 = None - sort182 = None + sort190 = None try: try: - # sdl92.g:433:9: ( sort ) - # sdl92.g:433:17: sort + # sdl92.g:445:9: ( sort ) + # sdl92.g:445:17: sort pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_sort_in_type_name4917) - sort182 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_type_name5153) + sort190 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, sort182.tree) + self._adaptor.addChild(root_0, sort190.tree) @@ -7941,7 +8614,7 @@ def __init__(self): # $ANTLR start "array_definition" - # sdl92.g:437:1: array_definition : ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ; + # sdl92.g:449:1: array_definition : ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ; def array_definition(self, ): retval = self.array_definition_return() retval.start = self.input.LT(1) @@ -7949,17 +8622,17 @@ def array_definition(self, ): root_0 = None - ARRAY183 = None - char_literal184 = None - char_literal186 = None - char_literal188 = None - sort185 = None - sort187 = None - - ARRAY183_tree = None - char_literal184_tree = None - char_literal186_tree = None - char_literal188_tree = None + ARRAY191 = None + char_literal192 = None + char_literal194 = None + char_literal196 = None + sort193 = None + sort195 = None + + ARRAY191_tree = None + char_literal192_tree = None + char_literal194_tree = None + char_literal196_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") @@ -7967,43 +8640,43 @@ def array_definition(self, ): stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: - # sdl92.g:438:9: ( ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ) - # sdl92.g:438:17: ARRAY '(' sort ',' sort ')' + # sdl92.g:450:9: ( ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ) + # sdl92.g:450:17: ARRAY '(' sort ',' sort ')' pass - ARRAY183 = self.match(self.input, ARRAY, self.FOLLOW_ARRAY_in_array_definition4949) + ARRAY191 = self.match(self.input, ARRAY, self.FOLLOW_ARRAY_in_array_definition5185) if self._state.backtracking == 0: - stream_ARRAY.add(ARRAY183) + stream_ARRAY.add(ARRAY191) - char_literal184 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_array_definition4951) + char_literal192 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_array_definition5187) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal184) + stream_L_PAREN.add(char_literal192) - self._state.following.append(self.FOLLOW_sort_in_array_definition4953) - sort185 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_array_definition5189) + sort193 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort185.tree) + stream_sort.add(sort193.tree) - char_literal186 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_array_definition4955) + char_literal194 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_array_definition5191) if self._state.backtracking == 0: - stream_COMMA.add(char_literal186) + stream_COMMA.add(char_literal194) - self._state.following.append(self.FOLLOW_sort_in_array_definition4957) - sort187 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_array_definition5193) + sort195 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort187.tree) + stream_sort.add(sort195.tree) - char_literal188 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_array_definition4959) + char_literal196 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_array_definition5195) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal188) + stream_R_PAREN.add(char_literal196) # AST Rewrite @@ -8022,8 +8695,8 @@ def array_definition(self, ): root_0 = self._adaptor.nil() - # 439:9: -> ^( ARRAY sort sort ) - # sdl92.g:439:17: ^( ARRAY sort sort ) + # 451:9: -> ^( ARRAY sort sort ) + # sdl92.g:451:17: ^( ARRAY sort sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ARRAY.nextNode() @@ -8076,7 +8749,7 @@ def __init__(self): # $ANTLR start "enum_definition" - # sdl92.g:447:1: enum_definition : ( LITERALS ( enumerant ( ',' enumerant )* ) ) -> ^( LITERALS ( enumerant )+ ) ; + # sdl92.g:459:1: enum_definition : ( LITERALS ( enumerant ( ',' enumerant )* ) ) -> ^( LITERALS ( enumerant )+ ) ; def enum_definition(self, ): retval = self.enum_definition_return() retval.start = self.input.LT(1) @@ -8084,68 +8757,68 @@ def enum_definition(self, ): root_0 = None - LITERALS189 = None - char_literal191 = None - enumerant190 = None - enumerant192 = None + LITERALS197 = None + char_literal199 = None + enumerant198 = None + enumerant200 = None - LITERALS189_tree = None - char_literal191_tree = None + LITERALS197_tree = None + char_literal199_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_LITERALS = RewriteRuleTokenStream(self._adaptor, "token LITERALS") stream_enumerant = RewriteRuleSubtreeStream(self._adaptor, "rule enumerant") try: try: - # sdl92.g:448:9: ( ( LITERALS ( enumerant ( ',' enumerant )* ) ) -> ^( LITERALS ( enumerant )+ ) ) - # sdl92.g:448:17: ( LITERALS ( enumerant ( ',' enumerant )* ) ) + # sdl92.g:460:9: ( ( LITERALS ( enumerant ( ',' enumerant )* ) ) -> ^( LITERALS ( enumerant )+ ) ) + # sdl92.g:460:17: ( LITERALS ( enumerant ( ',' enumerant )* ) ) pass - # sdl92.g:448:17: ( LITERALS ( enumerant ( ',' enumerant )* ) ) - # sdl92.g:448:18: LITERALS ( enumerant ( ',' enumerant )* ) + # sdl92.g:460:17: ( LITERALS ( enumerant ( ',' enumerant )* ) ) + # sdl92.g:460:18: LITERALS ( enumerant ( ',' enumerant )* ) pass - LITERALS189 = self.match(self.input, LITERALS, self.FOLLOW_LITERALS_in_enum_definition5016) + LITERALS197 = self.match(self.input, LITERALS, self.FOLLOW_LITERALS_in_enum_definition5252) if self._state.backtracking == 0: - stream_LITERALS.add(LITERALS189) + stream_LITERALS.add(LITERALS197) - # sdl92.g:448:27: ( enumerant ( ',' enumerant )* ) - # sdl92.g:448:28: enumerant ( ',' enumerant )* + # sdl92.g:460:27: ( enumerant ( ',' enumerant )* ) + # sdl92.g:460:28: enumerant ( ',' enumerant )* pass - self._state.following.append(self.FOLLOW_enumerant_in_enum_definition5019) - enumerant190 = self.enumerant() + self._state.following.append(self.FOLLOW_enumerant_in_enum_definition5255) + enumerant198 = self.enumerant() self._state.following.pop() if self._state.backtracking == 0: - stream_enumerant.add(enumerant190.tree) + stream_enumerant.add(enumerant198.tree) - # sdl92.g:448:38: ( ',' enumerant )* - while True: #loop65 - alt65 = 2 - LA65_0 = self.input.LA(1) + # sdl92.g:460:38: ( ',' enumerant )* + while True: #loop73 + alt73 = 2 + LA73_0 = self.input.LA(1) - if (LA65_0 == COMMA) : - alt65 = 1 + if (LA73_0 == COMMA) : + alt73 = 1 - if alt65 == 1: - # sdl92.g:448:39: ',' enumerant + if alt73 == 1: + # sdl92.g:460:39: ',' enumerant pass - char_literal191 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_enum_definition5022) + char_literal199 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_enum_definition5258) if self._state.backtracking == 0: - stream_COMMA.add(char_literal191) + stream_COMMA.add(char_literal199) - self._state.following.append(self.FOLLOW_enumerant_in_enum_definition5024) - enumerant192 = self.enumerant() + self._state.following.append(self.FOLLOW_enumerant_in_enum_definition5260) + enumerant200 = self.enumerant() self._state.following.pop() if self._state.backtracking == 0: - stream_enumerant.add(enumerant192.tree) + stream_enumerant.add(enumerant200.tree) else: - break #loop65 + break #loop73 @@ -8170,14 +8843,14 @@ def enum_definition(self, ): root_0 = self._adaptor.nil() - # 449:9: -> ^( LITERALS ( enumerant )+ ) - # sdl92.g:449:17: ^( LITERALS ( enumerant )+ ) + # 461:9: -> ^( LITERALS ( enumerant )+ ) + # sdl92.g:461:17: ^( LITERALS ( enumerant )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_LITERALS.nextNode() , root_1) - # sdl92.g:449:28: ( enumerant )+ + # sdl92.g:461:28: ( enumerant )+ if not (stream_enumerant.hasNext()): raise RewriteEarlyExitException() @@ -8230,7 +8903,7 @@ def __init__(self): # $ANTLR start "structure_definition" - # sdl92.g:452:1: structure_definition : STRUCT field_list end -> ^( STRUCT field_list ) ; + # sdl92.g:464: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) @@ -8238,38 +8911,38 @@ def structure_definition(self, ): root_0 = None - STRUCT193 = None - field_list194 = None - end195 = None + STRUCT201 = None + field_list202 = None + end203 = None - STRUCT193_tree = None + STRUCT201_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:453:9: ( STRUCT field_list end -> ^( STRUCT field_list ) ) - # sdl92.g:453:17: STRUCT field_list end + # sdl92.g:465:9: ( STRUCT field_list end -> ^( STRUCT field_list ) ) + # sdl92.g:465:17: STRUCT field_list end pass - STRUCT193 = self.match(self.input, STRUCT, self.FOLLOW_STRUCT_in_structure_definition5082) + STRUCT201 = self.match(self.input, STRUCT, self.FOLLOW_STRUCT_in_structure_definition5318) if self._state.backtracking == 0: - stream_STRUCT.add(STRUCT193) + stream_STRUCT.add(STRUCT201) - self._state.following.append(self.FOLLOW_field_list_in_structure_definition5084) - field_list194 = self.field_list() + self._state.following.append(self.FOLLOW_field_list_in_structure_definition5320) + field_list202 = self.field_list() self._state.following.pop() if self._state.backtracking == 0: - stream_field_list.add(field_list194.tree) + stream_field_list.add(field_list202.tree) - self._state.following.append(self.FOLLOW_end_in_structure_definition5086) - end195 = self.end() + self._state.following.append(self.FOLLOW_end_in_structure_definition5322) + end203 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end195.tree) + stream_end.add(end203.tree) # AST Rewrite @@ -8288,8 +8961,8 @@ def structure_definition(self, ): root_0 = self._adaptor.nil() - # 454:9: -> ^( STRUCT field_list ) - # sdl92.g:454:17: ^( STRUCT field_list ) + # 466:9: -> ^( STRUCT field_list ) + # sdl92.g:466:17: ^( STRUCT field_list ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_STRUCT.nextNode() @@ -8340,7 +9013,7 @@ def __init__(self): # $ANTLR start "field_list" - # sdl92.g:458:1: field_list : field_definition ( end field_definition )* -> ^( FIELDS ( field_definition )+ ) ; + # sdl92.g:470: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) @@ -8348,51 +9021,51 @@ def field_list(self, ): root_0 = None - field_definition196 = None - end197 = None - field_definition198 = None + field_definition204 = None + end205 = None + field_definition206 = None stream_field_definition = RewriteRuleSubtreeStream(self._adaptor, "rule field_definition") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:459:9: ( field_definition ( end field_definition )* -> ^( FIELDS ( field_definition )+ ) ) - # sdl92.g:459:17: field_definition ( end field_definition )* + # sdl92.g:471:9: ( field_definition ( end field_definition )* -> ^( FIELDS ( field_definition )+ ) ) + # sdl92.g:471:17: field_definition ( end field_definition )* pass - self._state.following.append(self.FOLLOW_field_definition_in_field_list5139) - field_definition196 = self.field_definition() + self._state.following.append(self.FOLLOW_field_definition_in_field_list5375) + field_definition204 = self.field_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_field_definition.add(field_definition196.tree) + stream_field_definition.add(field_definition204.tree) - # sdl92.g:459:34: ( end field_definition )* - while True: #loop66 - alt66 = 2 - alt66 = self.dfa66.predict(self.input) - if alt66 == 1: - # sdl92.g:459:35: end field_definition + # sdl92.g:471:34: ( end field_definition )* + while True: #loop74 + alt74 = 2 + alt74 = self.dfa74.predict(self.input) + if alt74 == 1: + # sdl92.g:471:35: end field_definition pass - self._state.following.append(self.FOLLOW_end_in_field_list5142) - end197 = self.end() + self._state.following.append(self.FOLLOW_end_in_field_list5378) + end205 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end197.tree) + stream_end.add(end205.tree) - self._state.following.append(self.FOLLOW_field_definition_in_field_list5144) - field_definition198 = self.field_definition() + self._state.following.append(self.FOLLOW_field_definition_in_field_list5380) + field_definition206 = self.field_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_field_definition.add(field_definition198.tree) + stream_field_definition.add(field_definition206.tree) else: - break #loop66 + break #loop74 # AST Rewrite @@ -8411,14 +9084,14 @@ def field_list(self, ): root_0 = self._adaptor.nil() - # 460:9: -> ^( FIELDS ( field_definition )+ ) - # sdl92.g:460:17: ^( FIELDS ( field_definition )+ ) + # 472:9: -> ^( FIELDS ( field_definition )+ ) + # sdl92.g:472:17: ^( FIELDS ( field_definition )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FIELDS, "FIELDS") , root_1) - # sdl92.g:460:26: ( field_definition )+ + # sdl92.g:472:26: ( field_definition )+ if not (stream_field_definition.hasNext()): raise RewriteEarlyExitException() @@ -8471,7 +9144,7 @@ def __init__(self): # $ANTLR start "field_definition" - # sdl92.g:464:1: field_definition : field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ; + # sdl92.g:476: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) @@ -8479,64 +9152,64 @@ def field_definition(self, ): root_0 = None - char_literal200 = None - field_name199 = None - field_name201 = None - sort202 = None + char_literal208 = None + field_name207 = None + field_name209 = None + sort210 = None - char_literal200_tree = None + char_literal208_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:465:9: ( field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ) - # sdl92.g:465:17: field_name ( ',' field_name )* sort + # sdl92.g:477:9: ( field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ) + # sdl92.g:477:17: field_name ( ',' field_name )* sort pass - self._state.following.append(self.FOLLOW_field_name_in_field_definition5200) - field_name199 = self.field_name() + self._state.following.append(self.FOLLOW_field_name_in_field_definition5436) + field_name207 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: - stream_field_name.add(field_name199.tree) + stream_field_name.add(field_name207.tree) - # sdl92.g:465:28: ( ',' field_name )* - while True: #loop67 - alt67 = 2 - LA67_0 = self.input.LA(1) + # sdl92.g:477:28: ( ',' field_name )* + while True: #loop75 + alt75 = 2 + LA75_0 = self.input.LA(1) - if (LA67_0 == COMMA) : - alt67 = 1 + if (LA75_0 == COMMA) : + alt75 = 1 - if alt67 == 1: - # sdl92.g:465:29: ',' field_name + if alt75 == 1: + # sdl92.g:477:29: ',' field_name pass - char_literal200 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_field_definition5203) + char_literal208 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_field_definition5439) if self._state.backtracking == 0: - stream_COMMA.add(char_literal200) + stream_COMMA.add(char_literal208) - self._state.following.append(self.FOLLOW_field_name_in_field_definition5205) - field_name201 = self.field_name() + self._state.following.append(self.FOLLOW_field_name_in_field_definition5441) + field_name209 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: - stream_field_name.add(field_name201.tree) + stream_field_name.add(field_name209.tree) else: - break #loop67 + break #loop75 - self._state.following.append(self.FOLLOW_sort_in_field_definition5209) - sort202 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_field_definition5445) + sort210 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort202.tree) + stream_sort.add(sort210.tree) # AST Rewrite @@ -8555,14 +9228,14 @@ def field_definition(self, ): root_0 = self._adaptor.nil() - # 466:9: -> ^( FIELD ( field_name )+ sort ) - # sdl92.g:466:17: ^( FIELD ( field_name )+ sort ) + # 478:9: -> ^( FIELD ( field_name )+ sort ) + # sdl92.g:478:17: ^( FIELD ( field_name )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FIELD, "FIELD") , root_1) - # sdl92.g:466:25: ( field_name )+ + # sdl92.g:478:25: ( field_name )+ if not (stream_field_name.hasNext()): raise RewriteEarlyExitException() @@ -8617,7 +9290,7 @@ def __init__(self): # $ANTLR start "variable_definition" - # sdl92.g:473:1: variable_definition : DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ; + # sdl92.g:485: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) @@ -8625,72 +9298,72 @@ def variable_definition(self, ): root_0 = None - DCL203 = None - char_literal205 = None - variables_of_sort204 = None - variables_of_sort206 = None - end207 = None + DCL211 = None + char_literal213 = None + variables_of_sort212 = None + variables_of_sort214 = None + end215 = None - DCL203_tree = None - char_literal205_tree = None + DCL211_tree = None + char_literal213_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:474:9: ( DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ) - # sdl92.g:474:17: DCL variables_of_sort ( ',' variables_of_sort )* end + # sdl92.g:486:9: ( DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ) + # sdl92.g:486:17: DCL variables_of_sort ( ',' variables_of_sort )* end pass - DCL203 = self.match(self.input, DCL, self.FOLLOW_DCL_in_variable_definition5267) + DCL211 = self.match(self.input, DCL, self.FOLLOW_DCL_in_variable_definition5503) if self._state.backtracking == 0: - stream_DCL.add(DCL203) + stream_DCL.add(DCL211) - self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition5269) - variables_of_sort204 = self.variables_of_sort() + self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition5505) + variables_of_sort212 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: - stream_variables_of_sort.add(variables_of_sort204.tree) + stream_variables_of_sort.add(variables_of_sort212.tree) - # sdl92.g:475:17: ( ',' variables_of_sort )* - while True: #loop68 - alt68 = 2 - LA68_0 = self.input.LA(1) + # sdl92.g:487:17: ( ',' variables_of_sort )* + while True: #loop76 + alt76 = 2 + LA76_0 = self.input.LA(1) - if (LA68_0 == COMMA) : - alt68 = 1 + if (LA76_0 == COMMA) : + alt76 = 1 - if alt68 == 1: - # sdl92.g:475:18: ',' variables_of_sort + if alt76 == 1: + # sdl92.g:487:18: ',' variables_of_sort pass - char_literal205 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variable_definition5288) + char_literal213 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variable_definition5524) if self._state.backtracking == 0: - stream_COMMA.add(char_literal205) + stream_COMMA.add(char_literal213) - self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition5290) - variables_of_sort206 = self.variables_of_sort() + self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition5526) + variables_of_sort214 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: - stream_variables_of_sort.add(variables_of_sort206.tree) + stream_variables_of_sort.add(variables_of_sort214.tree) else: - break #loop68 + break #loop76 - self._state.following.append(self.FOLLOW_end_in_variable_definition5310) - end207 = self.end() + self._state.following.append(self.FOLLOW_end_in_variable_definition5546) + end215 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end207.tree) + stream_end.add(end215.tree) # AST Rewrite @@ -8709,14 +9382,14 @@ def variable_definition(self, ): root_0 = self._adaptor.nil() - # 477:9: -> ^( DCL ( variables_of_sort )+ ) - # sdl92.g:477:17: ^( DCL ( variables_of_sort )+ ) + # 489:9: -> ^( DCL ( variables_of_sort )+ ) + # sdl92.g:489:17: ^( DCL ( variables_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_DCL.nextNode() , root_1) - # sdl92.g:477:23: ( variables_of_sort )+ + # sdl92.g:489:23: ( variables_of_sort )+ if not (stream_variables_of_sort.hasNext()): raise RewriteEarlyExitException() @@ -8769,7 +9442,7 @@ def __init__(self): # $ANTLR start "monitor_definition" - # sdl92.g:481:1: monitor_definition : MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ; + # sdl92.g:493:1: monitor_definition : MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ; def monitor_definition(self, ): retval = self.monitor_definition_return() retval.start = self.input.LT(1) @@ -8777,72 +9450,72 @@ def monitor_definition(self, ): root_0 = None - MONITOR208 = None - char_literal210 = None - variables_of_sort209 = None - variables_of_sort211 = None - end212 = None + MONITOR216 = None + char_literal218 = None + variables_of_sort217 = None + variables_of_sort219 = None + end220 = None - MONITOR208_tree = None - char_literal210_tree = None + MONITOR216_tree = None + char_literal218_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_MONITOR = RewriteRuleTokenStream(self._adaptor, "token MONITOR") stream_variables_of_sort = RewriteRuleSubtreeStream(self._adaptor, "rule variables_of_sort") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:482:9: ( MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ) - # sdl92.g:482:17: MONITOR variables_of_sort ( ',' variables_of_sort )* end + # sdl92.g:494:9: ( MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ) + # sdl92.g:494:17: MONITOR variables_of_sort ( ',' variables_of_sort )* end pass - MONITOR208 = self.match(self.input, MONITOR, self.FOLLOW_MONITOR_in_monitor_definition5365) + MONITOR216 = self.match(self.input, MONITOR, self.FOLLOW_MONITOR_in_monitor_definition5601) if self._state.backtracking == 0: - stream_MONITOR.add(MONITOR208) + stream_MONITOR.add(MONITOR216) - self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition5367) - variables_of_sort209 = self.variables_of_sort() + self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition5603) + variables_of_sort217 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: - stream_variables_of_sort.add(variables_of_sort209.tree) + stream_variables_of_sort.add(variables_of_sort217.tree) - # sdl92.g:483:17: ( ',' variables_of_sort )* - while True: #loop69 - alt69 = 2 - LA69_0 = self.input.LA(1) + # sdl92.g:495:17: ( ',' variables_of_sort )* + while True: #loop77 + alt77 = 2 + LA77_0 = self.input.LA(1) - if (LA69_0 == COMMA) : - alt69 = 1 + if (LA77_0 == COMMA) : + alt77 = 1 - if alt69 == 1: - # sdl92.g:483:18: ',' variables_of_sort + if alt77 == 1: + # sdl92.g:495:18: ',' variables_of_sort pass - char_literal210 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_monitor_definition5386) + char_literal218 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_monitor_definition5622) if self._state.backtracking == 0: - stream_COMMA.add(char_literal210) + stream_COMMA.add(char_literal218) - self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition5388) - variables_of_sort211 = self.variables_of_sort() + self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition5624) + variables_of_sort219 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: - stream_variables_of_sort.add(variables_of_sort211.tree) + stream_variables_of_sort.add(variables_of_sort219.tree) else: - break #loop69 + break #loop77 - self._state.following.append(self.FOLLOW_end_in_monitor_definition5408) - end212 = self.end() + self._state.following.append(self.FOLLOW_end_in_monitor_definition5644) + end220 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end212.tree) + stream_end.add(end220.tree) # AST Rewrite @@ -8861,14 +9534,14 @@ def monitor_definition(self, ): root_0 = self._adaptor.nil() - # 485:9: -> ^( MONITOR ( variables_of_sort )+ ) - # sdl92.g:485:17: ^( MONITOR ( variables_of_sort )+ ) + # 497:9: -> ^( MONITOR ( variables_of_sort )+ ) + # sdl92.g:497:17: ^( MONITOR ( variables_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_MONITOR.nextNode() , root_1) - # sdl92.g:485:27: ( variables_of_sort )+ + # sdl92.g:497:27: ( variables_of_sort )+ if not (stream_variables_of_sort.hasNext()): raise RewriteEarlyExitException() @@ -8921,7 +9594,7 @@ def __init__(self): # $ANTLR start "synonym_definition" - # sdl92.g:489:1: synonym_definition : internal_synonym_definition ; + # sdl92.g:501:1: synonym_definition : internal_synonym_definition ; def synonym_definition(self, ): retval = self.synonym_definition_return() retval.start = self.input.LT(1) @@ -8929,23 +9602,23 @@ def synonym_definition(self, ): root_0 = None - internal_synonym_definition213 = None + internal_synonym_definition221 = None try: try: - # sdl92.g:490:9: ( internal_synonym_definition ) - # sdl92.g:490:17: internal_synonym_definition + # sdl92.g:502:9: ( internal_synonym_definition ) + # sdl92.g:502:17: internal_synonym_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_internal_synonym_definition_in_synonym_definition5463) - internal_synonym_definition213 = self.internal_synonym_definition() + self._state.following.append(self.FOLLOW_internal_synonym_definition_in_synonym_definition5699) + internal_synonym_definition221 = self.internal_synonym_definition() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, internal_synonym_definition213.tree) + self._adaptor.addChild(root_0, internal_synonym_definition221.tree) @@ -8982,7 +9655,7 @@ def __init__(self): # $ANTLR start "internal_synonym_definition" - # sdl92.g:494:1: internal_synonym_definition : SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) ; + # sdl92.g:506: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) @@ -8990,72 +9663,72 @@ def internal_synonym_definition(self, ): root_0 = None - SYNONYM214 = None - char_literal216 = None - synonym_definition_item215 = None - synonym_definition_item217 = None - end218 = None + SYNONYM222 = None + char_literal224 = None + synonym_definition_item223 = None + synonym_definition_item225 = None + end226 = None - SYNONYM214_tree = None - char_literal216_tree = None + SYNONYM222_tree = None + char_literal224_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:495:9: ( SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) ) - # sdl92.g:495:17: SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end + # sdl92.g:507:9: ( SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) ) + # sdl92.g:507:17: SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end pass - SYNONYM214 = self.match(self.input, SYNONYM, self.FOLLOW_SYNONYM_in_internal_synonym_definition5495) + SYNONYM222 = self.match(self.input, SYNONYM, self.FOLLOW_SYNONYM_in_internal_synonym_definition5731) if self._state.backtracking == 0: - stream_SYNONYM.add(SYNONYM214) + stream_SYNONYM.add(SYNONYM222) - self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition5497) - synonym_definition_item215 = self.synonym_definition_item() + self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition5733) + synonym_definition_item223 = self.synonym_definition_item() self._state.following.pop() if self._state.backtracking == 0: - stream_synonym_definition_item.add(synonym_definition_item215.tree) + stream_synonym_definition_item.add(synonym_definition_item223.tree) - # sdl92.g:495:49: ( ',' synonym_definition_item )* - while True: #loop70 - alt70 = 2 - LA70_0 = self.input.LA(1) + # sdl92.g:507:49: ( ',' synonym_definition_item )* + while True: #loop78 + alt78 = 2 + LA78_0 = self.input.LA(1) - if (LA70_0 == COMMA) : - alt70 = 1 + if (LA78_0 == COMMA) : + alt78 = 1 - if alt70 == 1: - # sdl92.g:495:50: ',' synonym_definition_item + if alt78 == 1: + # sdl92.g:507:50: ',' synonym_definition_item pass - char_literal216 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_internal_synonym_definition5500) + char_literal224 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_internal_synonym_definition5736) if self._state.backtracking == 0: - stream_COMMA.add(char_literal216) + stream_COMMA.add(char_literal224) - self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition5502) - synonym_definition_item217 = self.synonym_definition_item() + self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition5738) + synonym_definition_item225 = self.synonym_definition_item() self._state.following.pop() if self._state.backtracking == 0: - stream_synonym_definition_item.add(synonym_definition_item217.tree) + stream_synonym_definition_item.add(synonym_definition_item225.tree) else: - break #loop70 + break #loop78 - self._state.following.append(self.FOLLOW_end_in_internal_synonym_definition5522) - end218 = self.end() + self._state.following.append(self.FOLLOW_end_in_internal_synonym_definition5758) + end226 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end218.tree) + stream_end.add(end226.tree) # AST Rewrite @@ -9074,14 +9747,14 @@ def internal_synonym_definition(self, ): root_0 = self._adaptor.nil() - # 497:9: -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) - # sdl92.g:497:17: ^( SYNONYM_LIST ( synonym_definition_item )+ ) + # 509:9: -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) + # sdl92.g:509: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:497:32: ( synonym_definition_item )+ + # sdl92.g:509:32: ( synonym_definition_item )+ if not (stream_synonym_definition_item.hasNext()): raise RewriteEarlyExitException() @@ -9134,7 +9807,7 @@ def __init__(self): # $ANTLR start "synonym_definition_item" - # sdl92.g:501:1: synonym_definition_item : variable_id sort '=' ( ground_expression | EXTERNAL ) -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) ; + # sdl92.g:513:1: synonym_definition_item : variable_id sort '=' ( ground_expression | EXTERNAL ) -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) ; def synonym_definition_item(self, ): retval = self.synonym_definition_item_return() retval.start = self.input.LT(1) @@ -9142,14 +9815,14 @@ def synonym_definition_item(self, ): root_0 = None - char_literal221 = None - EXTERNAL223 = None - variable_id219 = None - sort220 = None - ground_expression222 = None + char_literal229 = None + EXTERNAL231 = None + variable_id227 = None + sort228 = None + ground_expression230 = None - char_literal221_tree = None - EXTERNAL223_tree = None + char_literal229_tree = None + EXTERNAL231_tree = None stream_EXTERNAL = RewriteRuleTokenStream(self._adaptor, "token EXTERNAL") stream_EQ = RewriteRuleTokenStream(self._adaptor, "token EQ") stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") @@ -9157,66 +9830,66 @@ def synonym_definition_item(self, ): stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: - # sdl92.g:502:9: ( variable_id sort '=' ( ground_expression | EXTERNAL ) -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) ) - # sdl92.g:502:17: variable_id sort '=' ( ground_expression | EXTERNAL ) + # sdl92.g:514:9: ( variable_id sort '=' ( ground_expression | EXTERNAL ) -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) ) + # sdl92.g:514:17: variable_id sort '=' ( ground_expression | EXTERNAL ) pass - self._state.following.append(self.FOLLOW_variable_id_in_synonym_definition_item5576) - variable_id219 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_synonym_definition_item5812) + variable_id227 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id219.tree) + stream_variable_id.add(variable_id227.tree) - self._state.following.append(self.FOLLOW_sort_in_synonym_definition_item5578) - sort220 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_synonym_definition_item5814) + sort228 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort220.tree) + stream_sort.add(sort228.tree) - char_literal221 = self.match(self.input, EQ, self.FOLLOW_EQ_in_synonym_definition_item5580) + char_literal229 = self.match(self.input, EQ, self.FOLLOW_EQ_in_synonym_definition_item5816) if self._state.backtracking == 0: - stream_EQ.add(char_literal221) + stream_EQ.add(char_literal229) - # sdl92.g:502:38: ( ground_expression | EXTERNAL ) - alt71 = 2 - LA71_0 = self.input.LA(1) + # sdl92.g:514:38: ( ground_expression | EXTERNAL ) + alt79 = 2 + LA79_0 = self.input.LA(1) - if (LA71_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt71 = 1 - elif (LA71_0 == EXTERNAL) : - alt71 = 2 + if (LA79_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt79 = 1 + elif (LA79_0 == EXTERNAL) : + alt79 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 71, 0, self.input) + nvae = NoViableAltException("", 79, 0, self.input) raise nvae - if alt71 == 1: - # sdl92.g:502:39: ground_expression + if alt79 == 1: + # sdl92.g:514:39: ground_expression pass - self._state.following.append(self.FOLLOW_ground_expression_in_synonym_definition_item5583) - ground_expression222 = self.ground_expression() + self._state.following.append(self.FOLLOW_ground_expression_in_synonym_definition_item5819) + ground_expression230 = self.ground_expression() self._state.following.pop() if self._state.backtracking == 0: - stream_ground_expression.add(ground_expression222.tree) + stream_ground_expression.add(ground_expression230.tree) - elif alt71 == 2: - # sdl92.g:502:59: EXTERNAL + elif alt79 == 2: + # sdl92.g:514:59: EXTERNAL pass - EXTERNAL223 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_synonym_definition_item5587) + EXTERNAL231 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_synonym_definition_item5823) if self._state.backtracking == 0: - stream_EXTERNAL.add(EXTERNAL223) + stream_EXTERNAL.add(EXTERNAL231) @@ -9238,8 +9911,8 @@ def synonym_definition_item(self, ): root_0 = self._adaptor.nil() - # 503:9: -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) - # sdl92.g:503:17: ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) + # 515:9: -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) + # sdl92.g:515:17: ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SYNONYM, "SYNONYM") @@ -9249,14 +9922,14 @@ def synonym_definition_item(self, ): self._adaptor.addChild(root_1, stream_sort.nextTree()) - # sdl92.g:503:44: ( ground_expression )? + # sdl92.g:515:44: ( ground_expression )? if stream_ground_expression.hasNext(): self._adaptor.addChild(root_1, stream_ground_expression.nextTree()) stream_ground_expression.reset(); - # sdl92.g:503:63: ( EXTERNAL )? + # sdl92.g:515:63: ( EXTERNAL )? if stream_EXTERNAL.hasNext(): self._adaptor.addChild(root_1, stream_EXTERNAL.nextNode() @@ -9308,7 +9981,7 @@ def __init__(self): # $ANTLR start "variables_of_sort" - # sdl92.g:507:1: variables_of_sort : variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) ; + # sdl92.g:519:1: variables_of_sort : variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) ; def variables_of_sort(self, ): retval = self.variables_of_sort_return() retval.start = self.input.LT(1) @@ -9316,18 +9989,18 @@ def variables_of_sort(self, ): root_0 = None - char_literal225 = None - string_literal228 = None - RENAMES230 = None - variable_id224 = None - variable_id226 = None - sort227 = None - ground_expression229 = None - variable231 = None - - char_literal225_tree = None - string_literal228_tree = None - RENAMES230_tree = None + char_literal233 = None + string_literal236 = None + RENAMES238 = None + variable_id232 = None + variable_id234 = None + sort235 = None + ground_expression237 = None + variable239 = None + + char_literal233_tree = None + string_literal236_tree = None + RENAMES238_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_RENAMES = RewriteRuleTokenStream(self._adaptor, "token RENAMES") stream_ASSIG_OP = RewriteRuleTokenStream(self._adaptor, "token ASSIG_OP") @@ -9337,103 +10010,103 @@ def variables_of_sort(self, ): stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") try: try: - # sdl92.g:508:9: ( variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) ) - # sdl92.g:508:17: variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? + # sdl92.g:520:9: ( variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) ) + # sdl92.g:520:17: variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? pass - self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort5649) - variable_id224 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort5885) + variable_id232 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id224.tree) + stream_variable_id.add(variable_id232.tree) - # sdl92.g:508:29: ( ',' variable_id )* - while True: #loop72 - alt72 = 2 - LA72_0 = self.input.LA(1) + # sdl92.g:520:29: ( ',' variable_id )* + while True: #loop80 + alt80 = 2 + LA80_0 = self.input.LA(1) - if (LA72_0 == COMMA) : - alt72 = 1 + if (LA80_0 == COMMA) : + alt80 = 1 - if alt72 == 1: - # sdl92.g:508:30: ',' variable_id + if alt80 == 1: + # sdl92.g:520:30: ',' variable_id pass - char_literal225 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variables_of_sort5652) + char_literal233 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variables_of_sort5888) if self._state.backtracking == 0: - stream_COMMA.add(char_literal225) + stream_COMMA.add(char_literal233) - self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort5654) - variable_id226 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort5890) + variable_id234 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id226.tree) + stream_variable_id.add(variable_id234.tree) else: - break #loop72 + break #loop80 - self._state.following.append(self.FOLLOW_sort_in_variables_of_sort5658) - sort227 = self.sort() + self._state.following.append(self.FOLLOW_sort_in_variables_of_sort5894) + sort235 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort227.tree) + stream_sort.add(sort235.tree) - # sdl92.g:509:17: ( ( ':=' ground_expression ) | ( RENAMES variable ) )? - alt73 = 3 - LA73_0 = self.input.LA(1) + # sdl92.g:521:17: ( ( ':=' ground_expression ) | ( RENAMES variable ) )? + alt81 = 3 + LA81_0 = self.input.LA(1) - if (LA73_0 == ASSIG_OP) : - alt73 = 1 - elif (LA73_0 == RENAMES) : - alt73 = 2 - if alt73 == 1: - # sdl92.g:509:18: ( ':=' ground_expression ) + if (LA81_0 == ASSIG_OP) : + alt81 = 1 + elif (LA81_0 == RENAMES) : + alt81 = 2 + if alt81 == 1: + # sdl92.g:521:18: ( ':=' ground_expression ) pass - # sdl92.g:509:18: ( ':=' ground_expression ) - # sdl92.g:509:19: ':=' ground_expression + # sdl92.g:521:18: ( ':=' ground_expression ) + # sdl92.g:521:19: ':=' ground_expression pass - string_literal228 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_variables_of_sort5678) + string_literal236 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_variables_of_sort5914) if self._state.backtracking == 0: - stream_ASSIG_OP.add(string_literal228) + stream_ASSIG_OP.add(string_literal236) - self._state.following.append(self.FOLLOW_ground_expression_in_variables_of_sort5680) - ground_expression229 = self.ground_expression() + self._state.following.append(self.FOLLOW_ground_expression_in_variables_of_sort5916) + ground_expression237 = self.ground_expression() self._state.following.pop() if self._state.backtracking == 0: - stream_ground_expression.add(ground_expression229.tree) + stream_ground_expression.add(ground_expression237.tree) - elif alt73 == 2: - # sdl92.g:509:45: ( RENAMES variable ) + elif alt81 == 2: + # sdl92.g:521:45: ( RENAMES variable ) pass - # sdl92.g:509:45: ( RENAMES variable ) - # sdl92.g:509:46: RENAMES variable + # sdl92.g:521:45: ( RENAMES variable ) + # sdl92.g:521:46: RENAMES variable pass - RENAMES230 = self.match(self.input, RENAMES, self.FOLLOW_RENAMES_in_variables_of_sort5686) + RENAMES238 = self.match(self.input, RENAMES, self.FOLLOW_RENAMES_in_variables_of_sort5922) if self._state.backtracking == 0: - stream_RENAMES.add(RENAMES230) + stream_RENAMES.add(RENAMES238) - self._state.following.append(self.FOLLOW_variable_in_variables_of_sort5688) - variable231 = self.variable() + self._state.following.append(self.FOLLOW_variable_in_variables_of_sort5924) + variable239 = self.variable() self._state.following.pop() if self._state.backtracking == 0: - stream_variable.add(variable231.tree) + stream_variable.add(variable239.tree) @@ -9458,14 +10131,14 @@ def variables_of_sort(self, ): root_0 = self._adaptor.nil() - # 510:9: -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) - # sdl92.g:510:17: ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) + # 522:9: -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) + # sdl92.g:522:17: ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(VARIABLES, "VARIABLES") , root_1) - # sdl92.g:510:29: ( variable_id )+ + # sdl92.g:522:29: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() @@ -9477,16 +10150,16 @@ def variables_of_sort(self, ): self._adaptor.addChild(root_1, stream_sort.nextTree()) - # sdl92.g:511:19: ( ground_expression )? + # sdl92.g:523:19: ( ground_expression )? if stream_ground_expression.hasNext(): self._adaptor.addChild(root_1, stream_ground_expression.nextTree()) stream_ground_expression.reset(); - # sdl92.g:511:38: ( ^( RENAMES variable ) )? + # sdl92.g:523:38: ( ^( RENAMES variable ) )? if stream_RENAMES.hasNext() or stream_variable.hasNext(): - # sdl92.g:511:38: ^( RENAMES variable ) + # sdl92.g:523:38: ^( RENAMES variable ) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( stream_RENAMES.nextNode() @@ -9543,7 +10216,7 @@ def __init__(self): # $ANTLR start "ground_expression" - # sdl92.g:515:1: ground_expression : expression -> ^( GROUND expression ) ; + # sdl92.g:527:1: ground_expression : expression -> ^( GROUND expression ) ; def ground_expression(self, ): retval = self.ground_expression_return() retval.start = self.input.LT(1) @@ -9551,20 +10224,20 @@ def ground_expression(self, ): root_0 = None - expression232 = None + expression240 = None stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:516:9: ( expression -> ^( GROUND expression ) ) - # sdl92.g:516:17: expression + # sdl92.g:528:9: ( expression -> ^( GROUND expression ) ) + # sdl92.g:528:17: expression pass - self._state.following.append(self.FOLLOW_expression_in_ground_expression5775) - expression232 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_ground_expression6011) + expression240 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression232.tree) + stream_expression.add(expression240.tree) # AST Rewrite @@ -9583,8 +10256,8 @@ def ground_expression(self, ): root_0 = self._adaptor.nil() - # 517:9: -> ^( GROUND expression ) - # sdl92.g:517:17: ^( GROUND expression ) + # 529:9: -> ^( GROUND expression ) + # sdl92.g:529:17: ^( GROUND expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(GROUND, "GROUND") @@ -9635,7 +10308,7 @@ def __init__(self): # $ANTLR start "number_of_instances" - # sdl92.g:521:1: number_of_instances : '(' initial_number= INT ',' maximum_number= INT ')' -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) ; + # sdl92.g:533: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) @@ -9645,15 +10318,15 @@ def number_of_instances(self, ): initial_number = None maximum_number = None - char_literal233 = None - char_literal234 = None - char_literal235 = None + char_literal241 = None + char_literal242 = None + char_literal243 = None initial_number_tree = None maximum_number_tree = None - char_literal233_tree = None - char_literal234_tree = None - char_literal235_tree = None + char_literal241_tree = None + char_literal242_tree = None + char_literal243_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") @@ -9661,32 +10334,32 @@ def number_of_instances(self, ): try: try: - # sdl92.g:522:9: ( '(' initial_number= INT ',' maximum_number= INT ')' -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) ) - # sdl92.g:522:17: '(' initial_number= INT ',' maximum_number= INT ')' + # sdl92.g:534:9: ( '(' initial_number= INT ',' maximum_number= INT ')' -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) ) + # sdl92.g:534:17: '(' initial_number= INT ',' maximum_number= INT ')' pass - char_literal233 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_number_of_instances5828) + char_literal241 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_number_of_instances6064) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal233) + stream_L_PAREN.add(char_literal241) - initial_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances5832) + initial_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances6068) if self._state.backtracking == 0: stream_INT.add(initial_number) - char_literal234 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_number_of_instances5834) + char_literal242 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_number_of_instances6070) if self._state.backtracking == 0: - stream_COMMA.add(char_literal234) + stream_COMMA.add(char_literal242) - maximum_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances5838) + maximum_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances6074) if self._state.backtracking == 0: stream_INT.add(maximum_number) - char_literal235 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_number_of_instances5840) + char_literal243 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_number_of_instances6076) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal235) + stream_R_PAREN.add(char_literal243) # AST Rewrite @@ -9707,8 +10380,8 @@ def number_of_instances(self, ): root_0 = self._adaptor.nil() - # 523:9: -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) - # sdl92.g:523:17: ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) + # 535:9: -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) + # sdl92.g:535: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") @@ -9761,7 +10434,7 @@ def __init__(self): # $ANTLR start "processBody" - # sdl92.g:527:1: processBody : ( start )? ( state | floating_label )* ; + # sdl92.g:539:1: processBody : ( start )? ( state | floating_label )* ; def processBody(self, ): retval = self.processBody_return() retval.start = self.input.LT(1) @@ -9769,66 +10442,66 @@ def processBody(self, ): root_0 = None - start236 = None - state237 = None - floating_label238 = None + start244 = None + state245 = None + floating_label246 = None try: try: - # sdl92.g:528:9: ( ( start )? ( state | floating_label )* ) - # sdl92.g:528:17: ( start )? ( state | floating_label )* + # sdl92.g:540:9: ( ( start )? ( state | floating_label )* ) + # sdl92.g:540:17: ( start )? ( state | floating_label )* pass root_0 = self._adaptor.nil() - # sdl92.g:528:17: ( start )? - alt74 = 2 - alt74 = self.dfa74.predict(self.input) - if alt74 == 1: - # sdl92.g:528:17: start + # sdl92.g:540:17: ( start )? + alt82 = 2 + alt82 = self.dfa82.predict(self.input) + if alt82 == 1: + # sdl92.g:540:17: start pass - self._state.following.append(self.FOLLOW_start_in_processBody5897) - start236 = self.start() + self._state.following.append(self.FOLLOW_start_in_processBody6133) + start244 = self.start() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, start236.tree) + self._adaptor.addChild(root_0, start244.tree) - # sdl92.g:528:24: ( state | floating_label )* - while True: #loop75 - alt75 = 3 - alt75 = self.dfa75.predict(self.input) - if alt75 == 1: - # sdl92.g:528:25: state + # sdl92.g:540:24: ( state | floating_label )* + while True: #loop83 + alt83 = 3 + alt83 = self.dfa83.predict(self.input) + if alt83 == 1: + # sdl92.g:540:25: state pass - self._state.following.append(self.FOLLOW_state_in_processBody5901) - state237 = self.state() + self._state.following.append(self.FOLLOW_state_in_processBody6137) + state245 = self.state() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state237.tree) + self._adaptor.addChild(root_0, state245.tree) - elif alt75 == 2: - # sdl92.g:528:33: floating_label + elif alt83 == 2: + # sdl92.g:540:33: floating_label pass - self._state.following.append(self.FOLLOW_floating_label_in_processBody5905) - floating_label238 = self.floating_label() + self._state.following.append(self.FOLLOW_floating_label_in_processBody6141) + floating_label246 = self.floating_label() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, floating_label238.tree) + self._adaptor.addChild(root_0, floating_label246.tree) else: - break #loop75 + break #loop83 @@ -9865,7 +10538,7 @@ def __init__(self): # $ANTLR start "start" - # sdl92.g:532:1: start : ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) ; + # sdl92.g:544:1: start : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) ; def start(self, ): retval = self.start_return() retval.start = self.input.LT(1) @@ -9873,18 +10546,18 @@ def start(self, ): root_0 = None - START245 = None + START253 = None name = None - cif239 = None - symbolid240 = None - hyperlink241 = None - partition242 = None - requirement243 = None - rid244 = None - end246 = None - transition247 = None - - START245_tree = None + cif247 = None + symbolid248 = None + hyperlink249 = None + requirement250 = None + rid251 = None + partition252 = None + end254 = None + transition255 = None + + START253_tree = None stream_START = RewriteRuleTokenStream(self._adaptor, "token START") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -9897,204 +10570,212 @@ def start(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:533:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) ) - # sdl92.g:533:17: ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* START (name= state_entry_point_name )? end ( transition )? + # sdl92.g:545:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) ) + # sdl92.g:545:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? START (name= state_entry_point_name )? end ( transition )? pass - # sdl92.g:533:17: ( cif )? - alt76 = 2 - LA76_0 = self.input.LA(1) + # sdl92.g:545:17: ( cif )? + alt84 = 2 + LA84_0 = self.input.LA(1) - if (LA76_0 == 252) : - LA76_1 = self.input.LA(2) + if (LA84_0 == 254) : + LA84_1 = self.input.LA(2) - if (LA76_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt76 = 1 - if alt76 == 1: - # sdl92.g:533:17: cif + if (LA84_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt84 = 1 + if alt84 == 1: + # sdl92.g:545:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_start5939) - cif239 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_start6175) + cif247 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif239.tree) + stream_cif.add(cif247.tree) - # sdl92.g:534:17: ( symbolid )? - alt77 = 2 - LA77_0 = self.input.LA(1) + # sdl92.g:546:17: ( symbolid )? + alt85 = 2 + LA85_0 = self.input.LA(1) - if (LA77_0 == 252) : - LA77_1 = self.input.LA(2) + if (LA85_0 == 254) : + LA85_1 = self.input.LA(2) - if (LA77_1 == 254) : - alt77 = 1 - if alt77 == 1: - # sdl92.g:534:17: symbolid + if (LA85_1 == 256) : + alt85 = 1 + if alt85 == 1: + # sdl92.g:546:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_start5958) - symbolid240 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_start6194) + symbolid248 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid240.tree) + stream_symbolid.add(symbolid248.tree) - # sdl92.g:535:17: ( hyperlink )? - alt78 = 2 - LA78_0 = self.input.LA(1) + # sdl92.g:547:17: ( hyperlink )? + alt86 = 2 + LA86_0 = self.input.LA(1) - if (LA78_0 == 252) : - LA78_1 = self.input.LA(2) + if (LA86_0 == 254) : + LA86_1 = self.input.LA(2) - if (LA78_1 == KEEP) : - LA78_3 = self.input.LA(3) + if (LA86_1 == KEEP) : + LA86_3 = self.input.LA(3) - if (LA78_3 == SPECIFIC) : - LA78_4 = self.input.LA(4) + if (LA86_3 == SPECIFIC) : + LA86_4 = self.input.LA(4) - if (LA78_4 == GEODE) : - LA78_5 = self.input.LA(5) + if (LA86_4 == GEODE) : + LA86_5 = self.input.LA(5) - if (LA78_5 == HYPERLINK) : - alt78 = 1 - if alt78 == 1: - # sdl92.g:535:17: hyperlink + if (LA86_5 == HYPERLINK) : + alt86 = 1 + if alt86 == 1: + # sdl92.g:547:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_start5977) - hyperlink241 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_start6213) + hyperlink249 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink241.tree) + stream_hyperlink.add(hyperlink249.tree) - # sdl92.g:536:17: ( partition )? - alt79 = 2 - LA79_0 = self.input.LA(1) + # sdl92.g:548:17: ( requirement )* + while True: #loop87 + alt87 = 2 + LA87_0 = self.input.LA(1) - if (LA79_0 == 252) : - LA79_1 = self.input.LA(2) + if (LA87_0 == 254) : + LA87_1 = self.input.LA(2) - if (LA79_1 == KEEP) : - LA79_3 = self.input.LA(3) + if (LA87_1 == KEEP) : + LA87_3 = self.input.LA(3) - if (LA79_3 == SPECIFIC) : - LA79_4 = self.input.LA(4) + if (LA87_3 == SPECIFIC) : + LA87_4 = self.input.LA(4) - if (LA79_4 == GEODE) : - LA79_5 = self.input.LA(5) + if (LA87_4 == GEODE) : + LA87_5 = self.input.LA(5) - if (LA79_5 == PARTITION) : - alt79 = 1 - if alt79 == 1: - # sdl92.g:536:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_start5996) - partition242 = self.partition() + if (LA87_5 == REQ_ID) : + alt87 = 1 - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition242.tree) - # sdl92.g:537:17: ( requirement )* - while True: #loop80 - alt80 = 2 - LA80_0 = self.input.LA(1) - if (LA80_0 == 252) : - LA80_1 = self.input.LA(2) - if (LA80_1 == KEEP) : - LA80_3 = self.input.LA(3) - if (LA80_3 == SPECIFIC) : - LA80_4 = self.input.LA(4) - if (LA80_4 == GEODE) : - LA80_5 = self.input.LA(5) + if alt87 == 1: + # sdl92.g:548:17: requirement + pass + self._state.following.append(self.FOLLOW_requirement_in_start6232) + requirement250 = self.requirement() - if (LA80_5 == REQ_ID) : - alt80 = 1 + self._state.following.pop() + if self._state.backtracking == 0: + stream_requirement.add(requirement250.tree) + else: + break #loop87 + # sdl92.g:549:17: ( rid )* + while True: #loop88 + alt88 = 2 + LA88_0 = self.input.LA(1) + if (LA88_0 == 254) : + LA88_1 = self.input.LA(2) + if (LA88_1 == KEEP) : + LA88_3 = self.input.LA(3) + if (LA88_3 == SPECIFIC) : + LA88_4 = self.input.LA(4) + if (LA88_4 == GEODE) : + LA88_5 = self.input.LA(5) - if alt80 == 1: - # sdl92.g:537:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_start6015) - requirement243 = self.requirement() + if (LA88_5 == RID_ID) : + alt88 = 1 - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement243.tree) - else: - break #loop80 - # sdl92.g:538:17: ( rid )* - while True: #loop81 - alt81 = 2 - LA81_0 = self.input.LA(1) - if (LA81_0 == 252) : - alt81 = 1 - if alt81 == 1: - # sdl92.g:538:17: rid + + if alt88 == 1: + # sdl92.g:549:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_start6034) - rid244 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_start6251) + rid251 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid244.tree) + stream_rid.add(rid251.tree) else: - break #loop81 + break #loop88 + + + # sdl92.g:550:17: ( partition )? + alt89 = 2 + LA89_0 = self.input.LA(1) + + if (LA89_0 == 254) : + alt89 = 1 + if alt89 == 1: + # sdl92.g:550:17: partition + pass + self._state.following.append(self.FOLLOW_partition_in_start6270) + partition252 = self.partition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_partition.add(partition252.tree) + + - START245 = self.match(self.input, START, self.FOLLOW_START_in_start6053) + + START253 = self.match(self.input, START, self.FOLLOW_START_in_start6289) if self._state.backtracking == 0: - stream_START.add(START245) + stream_START.add(START253) - # sdl92.g:539:27: (name= state_entry_point_name )? - alt82 = 2 - LA82_0 = self.input.LA(1) + # sdl92.g:551:27: (name= state_entry_point_name )? + alt90 = 2 + LA90_0 = self.input.LA(1) - if (LA82_0 == ID) : - alt82 = 1 - if alt82 == 1: - # sdl92.g:539:27: name= state_entry_point_name + if (LA90_0 == ID) : + alt90 = 1 + if alt90 == 1: + # sdl92.g:551:27: name= state_entry_point_name pass - self._state.following.append(self.FOLLOW_state_entry_point_name_in_start6057) + self._state.following.append(self.FOLLOW_state_entry_point_name_in_start6293) name = self.state_entry_point_name() self._state.following.pop() @@ -10105,26 +10786,26 @@ def start(self, ): - self._state.following.append(self.FOLLOW_end_in_start6060) - end246 = self.end() + self._state.following.append(self.FOLLOW_end_in_start6296) + end254 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end246.tree) + stream_end.add(end254.tree) - # sdl92.g:540:17: ( transition )? - alt83 = 2 - alt83 = self.dfa83.predict(self.input) - if alt83 == 1: - # sdl92.g:540:17: transition + # sdl92.g:552:17: ( transition )? + alt91 = 2 + alt91 = self.dfa91.predict(self.input) + if alt91 == 1: + # sdl92.g:552:17: transition pass - self._state.following.append(self.FOLLOW_transition_in_start6078) - transition247 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_start6314) + transition255 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition247.tree) + stream_transition.add(transition255.tree) @@ -10151,63 +10832,63 @@ def start(self, ): root_0 = self._adaptor.nil() - # 541:9: -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) - # sdl92.g:541:17: ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) + # 553:9: -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) + # sdl92.g:553:17: ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_START.nextNode() , root_1) - # sdl92.g:541:25: ( cif )? + # sdl92.g:553:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:541:30: ( symbolid )? + # sdl92.g:553:30: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:541:40: ( partition )? + # sdl92.g:553:40: ( partition )? if stream_partition.hasNext(): self._adaptor.addChild(root_1, stream_partition.nextTree()) stream_partition.reset(); - # sdl92.g:541:51: ( hyperlink )? + # sdl92.g:553:51: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:541:62: ( requirement )* + # sdl92.g:553:62: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:541:76: ( $name)? + # sdl92.g:553:76: ( $name)? if stream_name.hasNext(): self._adaptor.addChild(root_1, stream_name.nextTree()) stream_name.reset(); - # sdl92.g:541:82: ( end )? + # sdl92.g:553:82: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); - # sdl92.g:541:87: ( transition )? + # sdl92.g:553:87: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -10257,7 +10938,7 @@ def __init__(self): # $ANTLR start "floating_label" - # sdl92.g:545:1: floating_label : ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) ; + # sdl92.g:557:1: floating_label : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) ; def floating_label(self, ): retval = self.floating_label_return() retval.start = self.input.LT(1) @@ -10265,26 +10946,26 @@ def floating_label(self, ): root_0 = None - CONNECTION254 = None - char_literal256 = None - ENDCONNECTION259 = None - SEMI260 = None - cif248 = None - symbolid249 = None - hyperlink250 = None - partition251 = None - requirement252 = None - rid253 = None - connector_name255 = None - transition257 = None - cif_end_label258 = None - - CONNECTION254_tree = None - char_literal256_tree = None - ENDCONNECTION259_tree = None - SEMI260_tree = None + CONNECTION262 = None + char_literal264 = None + ENDCONNECTION267 = None + SEMI268 = None + cif256 = None + symbolid257 = None + hyperlink258 = None + requirement259 = None + rid260 = None + partition261 = None + connector_name263 = None + transition265 = None + cif_end_label266 = None + + CONNECTION262_tree = None + char_literal264_tree = None + ENDCONNECTION267_tree = None + SEMI268_tree = None stream_CONNECTION = RewriteRuleTokenStream(self._adaptor, "token CONNECTION") - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_ENDCONNECTION = RewriteRuleTokenStream(self._adaptor, "token ENDCONNECTION") stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") @@ -10298,260 +10979,268 @@ def floating_label(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:546:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) ) - # sdl92.g:546:17: ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI + # sdl92.g:558:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) ) + # sdl92.g:558:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI pass - # sdl92.g:546:17: ( cif )? - alt84 = 2 - LA84_0 = self.input.LA(1) + # sdl92.g:558:17: ( cif )? + alt92 = 2 + LA92_0 = self.input.LA(1) - if (LA84_0 == 252) : - LA84_1 = self.input.LA(2) + if (LA92_0 == 254) : + LA92_1 = self.input.LA(2) - if (LA84_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt84 = 1 - if alt84 == 1: - # sdl92.g:546:17: cif + if (LA92_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt92 = 1 + if alt92 == 1: + # sdl92.g:558:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_floating_label6155) - cif248 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_floating_label6391) + cif256 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif248.tree) + stream_cif.add(cif256.tree) - # sdl92.g:547:17: ( symbolid )? - alt85 = 2 - LA85_0 = self.input.LA(1) + # sdl92.g:559:17: ( symbolid )? + alt93 = 2 + LA93_0 = self.input.LA(1) - if (LA85_0 == 252) : - LA85_1 = self.input.LA(2) + if (LA93_0 == 254) : + LA93_1 = self.input.LA(2) - if (LA85_1 == 254) : - alt85 = 1 - if alt85 == 1: - # sdl92.g:547:17: symbolid + if (LA93_1 == 256) : + alt93 = 1 + if alt93 == 1: + # sdl92.g:559:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_floating_label6174) - symbolid249 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_floating_label6410) + symbolid257 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid249.tree) + stream_symbolid.add(symbolid257.tree) - # sdl92.g:548:17: ( hyperlink )? - alt86 = 2 - LA86_0 = self.input.LA(1) + # sdl92.g:560:17: ( hyperlink )? + alt94 = 2 + LA94_0 = self.input.LA(1) - if (LA86_0 == 252) : - LA86_1 = self.input.LA(2) + if (LA94_0 == 254) : + LA94_1 = self.input.LA(2) - if (LA86_1 == KEEP) : - LA86_3 = self.input.LA(3) + if (LA94_1 == KEEP) : + LA94_3 = self.input.LA(3) - if (LA86_3 == SPECIFIC) : - LA86_4 = self.input.LA(4) + if (LA94_3 == SPECIFIC) : + LA94_4 = self.input.LA(4) - if (LA86_4 == GEODE) : - LA86_5 = self.input.LA(5) + if (LA94_4 == GEODE) : + LA94_5 = self.input.LA(5) - if (LA86_5 == HYPERLINK) : - alt86 = 1 - if alt86 == 1: - # sdl92.g:548:17: hyperlink + if (LA94_5 == HYPERLINK) : + alt94 = 1 + if alt94 == 1: + # sdl92.g:560:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_floating_label6193) - hyperlink250 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_floating_label6429) + hyperlink258 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink250.tree) + stream_hyperlink.add(hyperlink258.tree) - # sdl92.g:549:17: ( partition )? - alt87 = 2 - LA87_0 = self.input.LA(1) + # sdl92.g:561:17: ( requirement )* + while True: #loop95 + alt95 = 2 + LA95_0 = self.input.LA(1) - if (LA87_0 == 252) : - LA87_1 = self.input.LA(2) + if (LA95_0 == 254) : + LA95_1 = self.input.LA(2) - if (LA87_1 == KEEP) : - LA87_3 = self.input.LA(3) + if (LA95_1 == KEEP) : + LA95_3 = self.input.LA(3) - if (LA87_3 == SPECIFIC) : - LA87_4 = self.input.LA(4) + if (LA95_3 == SPECIFIC) : + LA95_4 = self.input.LA(4) - if (LA87_4 == GEODE) : - LA87_5 = self.input.LA(5) + if (LA95_4 == GEODE) : + LA95_5 = self.input.LA(5) - if (LA87_5 == PARTITION) : - alt87 = 1 - if alt87 == 1: - # sdl92.g:549:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_floating_label6212) - partition251 = self.partition() + if (LA95_5 == REQ_ID) : + alt95 = 1 - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition251.tree) - # sdl92.g:550:17: ( requirement )* - while True: #loop88 - alt88 = 2 - LA88_0 = self.input.LA(1) - if (LA88_0 == 252) : - LA88_1 = self.input.LA(2) - if (LA88_1 == KEEP) : - LA88_3 = self.input.LA(3) - if (LA88_3 == SPECIFIC) : - LA88_4 = self.input.LA(4) - if (LA88_4 == GEODE) : - LA88_5 = self.input.LA(5) + if alt95 == 1: + # sdl92.g:561:17: requirement + pass + self._state.following.append(self.FOLLOW_requirement_in_floating_label6448) + requirement259 = self.requirement() - if (LA88_5 == REQ_ID) : - alt88 = 1 + self._state.following.pop() + if self._state.backtracking == 0: + stream_requirement.add(requirement259.tree) + else: + break #loop95 + # sdl92.g:562:17: ( rid )* + while True: #loop96 + alt96 = 2 + LA96_0 = self.input.LA(1) + if (LA96_0 == 254) : + LA96_1 = self.input.LA(2) + if (LA96_1 == KEEP) : + LA96_3 = self.input.LA(3) + if (LA96_3 == SPECIFIC) : + LA96_4 = self.input.LA(4) + if (LA96_4 == GEODE) : + LA96_5 = self.input.LA(5) + + if (LA96_5 == RID_ID) : + alt96 = 1 - if alt88 == 1: - # sdl92.g:550:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_floating_label6231) - requirement252 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement252.tree) - else: - break #loop88 - # sdl92.g:551:17: ( rid )* - while True: #loop89 - alt89 = 2 - LA89_0 = self.input.LA(1) - if (LA89_0 == 252) : - alt89 = 1 - if alt89 == 1: - # sdl92.g:551:17: rid + if alt96 == 1: + # sdl92.g:562:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_floating_label6250) - rid253 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_floating_label6467) + rid260 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid253.tree) + stream_rid.add(rid260.tree) else: - break #loop89 + break #loop96 - CONNECTION254 = self.match(self.input, CONNECTION, self.FOLLOW_CONNECTION_in_floating_label6269) + # sdl92.g:563:17: ( partition )? + alt97 = 2 + LA97_0 = self.input.LA(1) + + if (LA97_0 == 254) : + alt97 = 1 + if alt97 == 1: + # sdl92.g:563:17: partition + pass + self._state.following.append(self.FOLLOW_partition_in_floating_label6486) + partition261 = self.partition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_partition.add(partition261.tree) + + + + + + CONNECTION262 = self.match(self.input, CONNECTION, self.FOLLOW_CONNECTION_in_floating_label6505) if self._state.backtracking == 0: - stream_CONNECTION.add(CONNECTION254) + stream_CONNECTION.add(CONNECTION262) - self._state.following.append(self.FOLLOW_connector_name_in_floating_label6271) - connector_name255 = self.connector_name() + self._state.following.append(self.FOLLOW_connector_name_in_floating_label6507) + connector_name263 = self.connector_name() self._state.following.pop() if self._state.backtracking == 0: - stream_connector_name.add(connector_name255.tree) + stream_connector_name.add(connector_name263.tree) - char_literal256 = self.match(self.input, 253, self.FOLLOW_253_in_floating_label6273) + char_literal264 = self.match(self.input, 255, self.FOLLOW_255_in_floating_label6509) if self._state.backtracking == 0: - stream_253.add(char_literal256) + stream_255.add(char_literal264) - # sdl92.g:553:17: ( transition )? - alt90 = 2 - LA90_0 = self.input.LA(1) + # sdl92.g:565:17: ( transition )? + alt98 = 2 + LA98_0 = self.input.LA(1) - if (LA90_0 == 252) : - LA90_1 = self.input.LA(2) + if (LA98_0 == 254) : + LA98_1 = self.input.LA(2) - if (LA90_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, KEEP, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 254}) : - alt90 = 1 - elif (LA90_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK}) : - alt90 = 1 - if alt90 == 1: - # sdl92.g:553:17: transition + if (LA98_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, KEEP, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : + alt98 = 1 + elif (LA98_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK}) : + alt98 = 1 + if alt98 == 1: + # sdl92.g:565:17: transition pass - self._state.following.append(self.FOLLOW_transition_in_floating_label6291) - transition257 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_floating_label6527) + transition265 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition257.tree) + stream_transition.add(transition265.tree) - # sdl92.g:554:17: ( cif_end_label )? - alt91 = 2 - LA91_0 = self.input.LA(1) + # sdl92.g:566:17: ( cif_end_label )? + alt99 = 2 + LA99_0 = self.input.LA(1) - if (LA91_0 == 252) : - alt91 = 1 - if alt91 == 1: - # sdl92.g:554:17: cif_end_label + if (LA99_0 == 254) : + alt99 = 1 + if alt99 == 1: + # sdl92.g:566:17: cif_end_label pass - self._state.following.append(self.FOLLOW_cif_end_label_in_floating_label6310) - cif_end_label258 = self.cif_end_label() + self._state.following.append(self.FOLLOW_cif_end_label_in_floating_label6546) + cif_end_label266 = self.cif_end_label() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end_label.add(cif_end_label258.tree) + stream_cif_end_label.add(cif_end_label266.tree) - ENDCONNECTION259 = self.match(self.input, ENDCONNECTION, self.FOLLOW_ENDCONNECTION_in_floating_label6329) + ENDCONNECTION267 = self.match(self.input, ENDCONNECTION, self.FOLLOW_ENDCONNECTION_in_floating_label6565) if self._state.backtracking == 0: - stream_ENDCONNECTION.add(ENDCONNECTION259) + stream_ENDCONNECTION.add(ENDCONNECTION267) - SEMI260 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_floating_label6331) + SEMI268 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_floating_label6567) if self._state.backtracking == 0: - stream_SEMI.add(SEMI260) + stream_SEMI.add(SEMI268) # AST Rewrite @@ -10570,49 +11259,49 @@ def floating_label(self, ): root_0 = self._adaptor.nil() - # 556:9: -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) - # sdl92.g:556:17: ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) + # 568:9: -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) + # sdl92.g:568:17: ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FLOATING_LABEL, "FLOATING_LABEL") , root_1) - # sdl92.g:556:34: ( cif )? + # sdl92.g:568:34: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:556:39: ( symbolid )? + # sdl92.g:568:39: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:556:49: ( partition )? + # sdl92.g:568:49: ( partition )? if stream_partition.hasNext(): self._adaptor.addChild(root_1, stream_partition.nextTree()) stream_partition.reset(); - # sdl92.g:556:60: ( hyperlink )? + # sdl92.g:568:60: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:556:71: ( requirement )* + # sdl92.g:568:71: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:556:84: ( rid )* + # sdl92.g:568:84: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) @@ -10621,7 +11310,7 @@ def floating_label(self, ): self._adaptor.addChild(root_1, stream_connector_name.nextTree()) - # sdl92.g:556:104: ( transition )? + # sdl92.g:568:104: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -10671,7 +11360,7 @@ def __init__(self): # $ANTLR start "state" - # sdl92.g:560:1: state : ( state_definition | state_instance ); + # sdl92.g:572:1: state : ( state_definition | state_instance ); def state(self, ): retval = self.state_return() retval.start = self.input.LT(1) @@ -10679,42 +11368,42 @@ def state(self, ): root_0 = None - state_definition261 = None - state_instance262 = None + state_definition269 = None + state_instance270 = None try: try: - # sdl92.g:561:9: ( state_definition | state_instance ) - alt92 = 2 - alt92 = self.dfa92.predict(self.input) - if alt92 == 1: - # sdl92.g:561:11: state_definition + # sdl92.g:573:9: ( state_definition | state_instance ) + alt100 = 2 + alt100 = self.dfa100.predict(self.input) + if alt100 == 1: + # sdl92.g:573:11: state_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_state_definition_in_state6399) - state_definition261 = self.state_definition() + self._state.following.append(self.FOLLOW_state_definition_in_state6635) + state_definition269 = self.state_definition() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_definition261.tree) + self._adaptor.addChild(root_0, state_definition269.tree) - elif alt92 == 2: - # sdl92.g:562:13: state_instance + elif alt100 == 2: + # sdl92.g:574:13: state_instance pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_state_instance_in_state6413) - state_instance262 = self.state_instance() + self._state.following.append(self.FOLLOW_state_instance_in_state6649) + state_instance270 = self.state_instance() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_instance262.tree) + self._adaptor.addChild(root_0, state_instance270.tree) @@ -10750,7 +11439,7 @@ def __init__(self): # $ANTLR start "state_definition" - # sdl92.g:566:1: state_definition : ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) ; + # sdl92.g:578:1: state_definition : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) ; def state_definition(self, ): retval = self.state_definition_return() retval.start = self.input.LT(1) @@ -10758,25 +11447,25 @@ def state_definition(self, ): root_0 = None - STATE269 = None - SEMI272 = None - ENDSTATE274 = None + STATE277 = None + SEMI280 = None + ENDSTATE282 = None e = None f = None - cif263 = None - symbolid264 = None - hyperlink265 = None - partition266 = None - requirement267 = None - rid268 = None - statelist270 = None - via271 = None - state_part273 = None - statename275 = None - - STATE269_tree = None - SEMI272_tree = None - ENDSTATE274_tree = None + cif271 = None + symbolid272 = None + hyperlink273 = None + requirement274 = None + rid275 = None + partition276 = None + statelist278 = None + via279 = None + state_part281 = None + statename283 = None + + STATE277_tree = None + SEMI280_tree = None + ENDSTATE282_tree = None stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_ENDSTATE = RewriteRuleTokenStream(self._adaptor, "token ENDSTATE") @@ -10793,241 +11482,249 @@ def state_definition(self, ): stream_via = RewriteRuleSubtreeStream(self._adaptor, "rule via") try: try: - # sdl92.g:567:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) ) - # sdl92.g:567:17: ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end + # sdl92.g:579:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) ) + # sdl92.g:579:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end pass - # sdl92.g:567:17: ( cif )? - alt93 = 2 - LA93_0 = self.input.LA(1) + # sdl92.g:579:17: ( cif )? + alt101 = 2 + LA101_0 = self.input.LA(1) - if (LA93_0 == 252) : - LA93_1 = self.input.LA(2) + if (LA101_0 == 254) : + LA101_1 = self.input.LA(2) - if (LA93_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt93 = 1 - if alt93 == 1: - # sdl92.g:567:17: cif + if (LA101_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt101 = 1 + if alt101 == 1: + # sdl92.g:579:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_state_definition6445) - cif263 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_state_definition6681) + cif271 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif263.tree) + stream_cif.add(cif271.tree) - # sdl92.g:568:17: ( symbolid )? - alt94 = 2 - LA94_0 = self.input.LA(1) + # sdl92.g:580:17: ( symbolid )? + alt102 = 2 + LA102_0 = self.input.LA(1) - if (LA94_0 == 252) : - LA94_1 = self.input.LA(2) + if (LA102_0 == 254) : + LA102_1 = self.input.LA(2) - if (LA94_1 == 254) : - alt94 = 1 - if alt94 == 1: - # sdl92.g:568:17: symbolid + if (LA102_1 == 256) : + alt102 = 1 + if alt102 == 1: + # sdl92.g:580:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_state_definition6464) - symbolid264 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_state_definition6700) + symbolid272 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid264.tree) + stream_symbolid.add(symbolid272.tree) - # sdl92.g:569:17: ( hyperlink )? - alt95 = 2 - LA95_0 = self.input.LA(1) + # sdl92.g:581:17: ( hyperlink )? + alt103 = 2 + LA103_0 = self.input.LA(1) - if (LA95_0 == 252) : - LA95_1 = self.input.LA(2) + if (LA103_0 == 254) : + LA103_1 = self.input.LA(2) - if (LA95_1 == KEEP) : - LA95_3 = self.input.LA(3) + if (LA103_1 == KEEP) : + LA103_3 = self.input.LA(3) - if (LA95_3 == SPECIFIC) : - LA95_4 = self.input.LA(4) + if (LA103_3 == SPECIFIC) : + LA103_4 = self.input.LA(4) - if (LA95_4 == GEODE) : - LA95_5 = self.input.LA(5) + if (LA103_4 == GEODE) : + LA103_5 = self.input.LA(5) - if (LA95_5 == HYPERLINK) : - alt95 = 1 - if alt95 == 1: - # sdl92.g:569:17: hyperlink + if (LA103_5 == HYPERLINK) : + alt103 = 1 + if alt103 == 1: + # sdl92.g:581:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_state_definition6483) - hyperlink265 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_state_definition6719) + hyperlink273 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink265.tree) + stream_hyperlink.add(hyperlink273.tree) - # sdl92.g:570:17: ( partition )? - alt96 = 2 - LA96_0 = self.input.LA(1) + # sdl92.g:582:17: ( requirement )* + while True: #loop104 + alt104 = 2 + LA104_0 = self.input.LA(1) - if (LA96_0 == 252) : - LA96_1 = self.input.LA(2) + if (LA104_0 == 254) : + LA104_1 = self.input.LA(2) - if (LA96_1 == KEEP) : - LA96_3 = self.input.LA(3) + if (LA104_1 == KEEP) : + LA104_3 = self.input.LA(3) - if (LA96_3 == SPECIFIC) : - LA96_4 = self.input.LA(4) + if (LA104_3 == SPECIFIC) : + LA104_4 = self.input.LA(4) - if (LA96_4 == GEODE) : - LA96_5 = self.input.LA(5) + if (LA104_4 == GEODE) : + LA104_5 = self.input.LA(5) - if (LA96_5 == PARTITION) : - alt96 = 1 - if alt96 == 1: - # sdl92.g:570:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_state_definition6502) - partition266 = self.partition() + if (LA104_5 == REQ_ID) : + alt104 = 1 - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition266.tree) - # sdl92.g:571:17: ( requirement )* - while True: #loop97 - alt97 = 2 - LA97_0 = self.input.LA(1) - if (LA97_0 == 252) : - LA97_1 = self.input.LA(2) - if (LA97_1 == KEEP) : - LA97_3 = self.input.LA(3) - if (LA97_3 == SPECIFIC) : - LA97_4 = self.input.LA(4) - if (LA97_4 == GEODE) : - LA97_5 = self.input.LA(5) + if alt104 == 1: + # sdl92.g:582:17: requirement + pass + self._state.following.append(self.FOLLOW_requirement_in_state_definition6738) + requirement274 = self.requirement() - if (LA97_5 == REQ_ID) : - alt97 = 1 + self._state.following.pop() + if self._state.backtracking == 0: + stream_requirement.add(requirement274.tree) + else: + break #loop104 + # sdl92.g:583:17: ( rid )* + while True: #loop105 + alt105 = 2 + LA105_0 = self.input.LA(1) + if (LA105_0 == 254) : + LA105_1 = self.input.LA(2) + if (LA105_1 == KEEP) : + LA105_3 = self.input.LA(3) + if (LA105_3 == SPECIFIC) : + LA105_4 = self.input.LA(4) + if (LA105_4 == GEODE) : + LA105_5 = self.input.LA(5) + + if (LA105_5 == RID_ID) : + alt105 = 1 - if alt97 == 1: - # sdl92.g:571:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_state_definition6521) - requirement267 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement267.tree) - else: - break #loop97 - # sdl92.g:572:17: ( rid )* - while True: #loop98 - alt98 = 2 - LA98_0 = self.input.LA(1) - if (LA98_0 == 252) : - alt98 = 1 - if alt98 == 1: - # sdl92.g:572:17: rid + if alt105 == 1: + # sdl92.g:583:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_state_definition6540) - rid268 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_state_definition6757) + rid275 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid268.tree) + stream_rid.add(rid275.tree) else: - break #loop98 + break #loop105 + + + # sdl92.g:584:17: ( partition )? + alt106 = 2 + LA106_0 = self.input.LA(1) + + if (LA106_0 == 254) : + alt106 = 1 + if alt106 == 1: + # sdl92.g:584:17: partition + pass + self._state.following.append(self.FOLLOW_partition_in_state_definition6776) + partition276 = self.partition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_partition.add(partition276.tree) + + - STATE269 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_definition6559) + + STATE277 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_definition6795) if self._state.backtracking == 0: - stream_STATE.add(STATE269) + stream_STATE.add(STATE277) - self._state.following.append(self.FOLLOW_statelist_in_state_definition6561) - statelist270 = self.statelist() + self._state.following.append(self.FOLLOW_statelist_in_state_definition6797) + statelist278 = self.statelist() self._state.following.pop() if self._state.backtracking == 0: - stream_statelist.add(statelist270.tree) + stream_statelist.add(statelist278.tree) - # sdl92.g:573:33: ( via )? - alt99 = 2 - LA99_0 = self.input.LA(1) + # sdl92.g:585:33: ( via )? + alt107 = 2 + LA107_0 = self.input.LA(1) - if (LA99_0 == VIA) : - alt99 = 1 - if alt99 == 1: - # sdl92.g:573:33: via + if (LA107_0 == VIA) : + alt107 = 1 + if alt107 == 1: + # sdl92.g:585:33: via pass - self._state.following.append(self.FOLLOW_via_in_state_definition6563) - via271 = self.via() + self._state.following.append(self.FOLLOW_via_in_state_definition6799) + via279 = self.via() self._state.following.pop() if self._state.backtracking == 0: - stream_via.add(via271.tree) + stream_via.add(via279.tree) - # sdl92.g:573:38: (e= end | SEMI ) - alt100 = 2 - LA100_0 = self.input.LA(1) + # sdl92.g:585:38: (e= end | SEMI ) + alt108 = 2 + LA108_0 = self.input.LA(1) - if (LA100_0 in {COMMENT, 252}) : - alt100 = 1 - elif (LA100_0 == SEMI) : - LA100_2 = self.input.LA(2) + if (LA108_0 in {COMMENT, 254}) : + alt108 = 1 + elif (LA108_0 == SEMI) : + LA108_2 = self.input.LA(2) - if (self.synpred130_sdl92()) : - alt100 = 1 + if (self.synpred138_sdl92()) : + alt108 = 1 elif (True) : - alt100 = 2 + alt108 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 100, 2, self.input) + nvae = NoViableAltException("", 108, 2, self.input) raise nvae @@ -11037,15 +11734,15 @@ def state_definition(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 100, 0, self.input) + nvae = NoViableAltException("", 108, 0, self.input) raise nvae - if alt100 == 1: - # sdl92.g:573:39: e= end + if alt108 == 1: + # sdl92.g:585:39: e= end pass - self._state.following.append(self.FOLLOW_end_in_state_definition6569) + self._state.following.append(self.FOLLOW_end_in_state_definition6805) e = self.end() self._state.following.pop() @@ -11054,68 +11751,68 @@ def state_definition(self, ): - elif alt100 == 2: - # sdl92.g:573:47: SEMI + elif alt108 == 2: + # sdl92.g:585:47: SEMI pass - SEMI272 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_definition6573) + SEMI280 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_definition6809) if self._state.backtracking == 0: - stream_SEMI.add(SEMI272) + stream_SEMI.add(SEMI280) - # sdl92.g:574:17: ( state_part )* - while True: #loop101 - alt101 = 2 - LA101_0 = self.input.LA(1) + # sdl92.g:586:17: ( state_part )* + while True: #loop109 + alt109 = 2 + LA109_0 = self.input.LA(1) - if (LA101_0 in {CONNECT, INPUT, PROVIDED, SAVE, 252}) : - alt101 = 1 + if (LA109_0 in {CONNECT, INPUT, PROVIDED, SAVE, 254}) : + alt109 = 1 - if alt101 == 1: - # sdl92.g:574:18: state_part + if alt109 == 1: + # sdl92.g:586:18: state_part pass - self._state.following.append(self.FOLLOW_state_part_in_state_definition6593) - state_part273 = self.state_part() + self._state.following.append(self.FOLLOW_state_part_in_state_definition6829) + state_part281 = self.state_part() self._state.following.pop() if self._state.backtracking == 0: - stream_state_part.add(state_part273.tree) + stream_state_part.add(state_part281.tree) else: - break #loop101 + break #loop109 - ENDSTATE274 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_definition6613) + ENDSTATE282 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_definition6849) if self._state.backtracking == 0: - stream_ENDSTATE.add(ENDSTATE274) + stream_ENDSTATE.add(ENDSTATE282) - # sdl92.g:575:26: ( statename )? - alt102 = 2 - LA102_0 = self.input.LA(1) + # sdl92.g:587:26: ( statename )? + alt110 = 2 + LA110_0 = self.input.LA(1) - if (LA102_0 == ID) : - alt102 = 1 - if alt102 == 1: - # sdl92.g:575:26: statename + if (LA110_0 == ID) : + alt110 = 1 + if alt110 == 1: + # sdl92.g:587:26: statename pass - self._state.following.append(self.FOLLOW_statename_in_state_definition6615) - statename275 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_definition6851) + statename283 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename275.tree) + stream_statename.add(statename283.tree) - self._state.following.append(self.FOLLOW_end_in_state_definition6620) + self._state.following.append(self.FOLLOW_end_in_state_definition6856) f = self.end() self._state.following.pop() @@ -11144,56 +11841,56 @@ def state_definition(self, ): root_0 = self._adaptor.nil() - # 576:9: -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) - # sdl92.g:576:17: ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) + # 588:9: -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) + # sdl92.g:588:17: ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_STATE.nextNode() , root_1) - # sdl92.g:576:25: ( cif )? + # sdl92.g:588:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:576:30: ( symbolid )? + # sdl92.g:588:30: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:576:40: ( hyperlink )? + # sdl92.g:588:40: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:576:51: ( partition )? + # sdl92.g:588:51: ( partition )? if stream_partition.hasNext(): self._adaptor.addChild(root_1, stream_partition.nextTree()) stream_partition.reset(); - # sdl92.g:576:62: ( requirement )* + # sdl92.g:588:62: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:576:75: ( rid )* + # sdl92.g:588:75: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:576:81: ( $e)? + # sdl92.g:588:81: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) @@ -11202,14 +11899,14 @@ def state_definition(self, ): self._adaptor.addChild(root_1, stream_statelist.nextTree()) - # sdl92.g:576:94: ( via )? + # sdl92.g:588:94: ( via )? if stream_via.hasNext(): self._adaptor.addChild(root_1, stream_via.nextTree()) stream_via.reset(); - # sdl92.g:576:99: ( state_part )* + # sdl92.g:588:99: ( state_part )* while stream_state_part.hasNext(): self._adaptor.addChild(root_1, stream_state_part.nextTree()) @@ -11259,7 +11956,7 @@ def __init__(self): # $ANTLR start "state_instance" - # sdl92.g:580:1: state_instance : ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) ; + # sdl92.g:592:1: state_instance : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) ; def state_instance(self, ): retval = self.state_instance_return() retval.start = self.input.LT(1) @@ -11267,29 +11964,29 @@ def state_instance(self, ): root_0 = None - STATE282 = None - char_literal284 = None - SEMI287 = None - ENDSTATE289 = None + STATE290 = None + char_literal292 = None + SEMI295 = None + ENDSTATE297 = None e = None f = None - cif276 = None - symbolid277 = None - hyperlink278 = None - partition279 = None - requirement280 = None - rid281 = None - statename283 = None - type_inst285 = None - via286 = None - state_part288 = None - statename290 = None - - STATE282_tree = None - char_literal284_tree = None - SEMI287_tree = None - ENDSTATE289_tree = None - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + cif284 = None + symbolid285 = None + hyperlink286 = None + requirement287 = None + rid288 = None + partition289 = None + statename291 = None + type_inst293 = None + via294 = None + state_part296 = None + statename298 = None + + STATE290_tree = None + char_literal292_tree = None + SEMI295_tree = None + ENDSTATE297_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_ENDSTATE = RewriteRuleTokenStream(self._adaptor, "token ENDSTATE") @@ -11306,254 +12003,262 @@ def state_instance(self, ): stream_via = RewriteRuleSubtreeStream(self._adaptor, "rule via") try: try: - # sdl92.g:581:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) ) - # sdl92.g:581:17: ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end + # sdl92.g:593:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) ) + # sdl92.g:593:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end pass - # sdl92.g:581:17: ( cif )? - alt103 = 2 - LA103_0 = self.input.LA(1) + # sdl92.g:593:17: ( cif )? + alt111 = 2 + LA111_0 = self.input.LA(1) - if (LA103_0 == 252) : - LA103_1 = self.input.LA(2) + if (LA111_0 == 254) : + LA111_1 = self.input.LA(2) - if (LA103_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt103 = 1 - if alt103 == 1: - # sdl92.g:581:17: cif + if (LA111_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt111 = 1 + if alt111 == 1: + # sdl92.g:593:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_state_instance6701) - cif276 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_state_instance6937) + cif284 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif276.tree) + stream_cif.add(cif284.tree) - # sdl92.g:582:17: ( symbolid )? - alt104 = 2 - LA104_0 = self.input.LA(1) + # sdl92.g:594:17: ( symbolid )? + alt112 = 2 + LA112_0 = self.input.LA(1) - if (LA104_0 == 252) : - LA104_1 = self.input.LA(2) + if (LA112_0 == 254) : + LA112_1 = self.input.LA(2) - if (LA104_1 == 254) : - alt104 = 1 - if alt104 == 1: - # sdl92.g:582:17: symbolid + if (LA112_1 == 256) : + alt112 = 1 + if alt112 == 1: + # sdl92.g:594:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_state_instance6720) - symbolid277 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_state_instance6956) + symbolid285 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid277.tree) + stream_symbolid.add(symbolid285.tree) - # sdl92.g:583:17: ( hyperlink )? - alt105 = 2 - LA105_0 = self.input.LA(1) + # sdl92.g:595:17: ( hyperlink )? + alt113 = 2 + LA113_0 = self.input.LA(1) - if (LA105_0 == 252) : - LA105_1 = self.input.LA(2) + if (LA113_0 == 254) : + LA113_1 = self.input.LA(2) - if (LA105_1 == KEEP) : - LA105_3 = self.input.LA(3) + if (LA113_1 == KEEP) : + LA113_3 = self.input.LA(3) - if (LA105_3 == SPECIFIC) : - LA105_4 = self.input.LA(4) + if (LA113_3 == SPECIFIC) : + LA113_4 = self.input.LA(4) - if (LA105_4 == GEODE) : - LA105_5 = self.input.LA(5) + if (LA113_4 == GEODE) : + LA113_5 = self.input.LA(5) - if (LA105_5 == HYPERLINK) : - alt105 = 1 - if alt105 == 1: - # sdl92.g:583:17: hyperlink + if (LA113_5 == HYPERLINK) : + alt113 = 1 + if alt113 == 1: + # sdl92.g:595:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_state_instance6739) - hyperlink278 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_state_instance6975) + hyperlink286 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink278.tree) + stream_hyperlink.add(hyperlink286.tree) - # sdl92.g:584:17: ( partition )? - alt106 = 2 - LA106_0 = self.input.LA(1) + # sdl92.g:596:17: ( requirement )* + while True: #loop114 + alt114 = 2 + LA114_0 = self.input.LA(1) - if (LA106_0 == 252) : - LA106_1 = self.input.LA(2) + if (LA114_0 == 254) : + LA114_1 = self.input.LA(2) - if (LA106_1 == KEEP) : - LA106_3 = self.input.LA(3) + if (LA114_1 == KEEP) : + LA114_3 = self.input.LA(3) - if (LA106_3 == SPECIFIC) : - LA106_4 = self.input.LA(4) + if (LA114_3 == SPECIFIC) : + LA114_4 = self.input.LA(4) - if (LA106_4 == GEODE) : - LA106_5 = self.input.LA(5) + if (LA114_4 == GEODE) : + LA114_5 = self.input.LA(5) - if (LA106_5 == PARTITION) : - alt106 = 1 - if alt106 == 1: - # sdl92.g:584:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_state_instance6758) - partition279 = self.partition() + if (LA114_5 == REQ_ID) : + alt114 = 1 - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition279.tree) - # sdl92.g:585:17: ( requirement )* - while True: #loop107 - alt107 = 2 - LA107_0 = self.input.LA(1) - if (LA107_0 == 252) : - LA107_1 = self.input.LA(2) - if (LA107_1 == KEEP) : - LA107_3 = self.input.LA(3) - if (LA107_3 == SPECIFIC) : - LA107_4 = self.input.LA(4) - if (LA107_4 == GEODE) : - LA107_5 = self.input.LA(5) + if alt114 == 1: + # sdl92.g:596:17: requirement + pass + self._state.following.append(self.FOLLOW_requirement_in_state_instance6994) + requirement287 = self.requirement() - if (LA107_5 == REQ_ID) : - alt107 = 1 + self._state.following.pop() + if self._state.backtracking == 0: + stream_requirement.add(requirement287.tree) + else: + break #loop114 + # sdl92.g:597:17: ( rid )* + while True: #loop115 + alt115 = 2 + LA115_0 = self.input.LA(1) + if (LA115_0 == 254) : + LA115_1 = self.input.LA(2) + if (LA115_1 == KEEP) : + LA115_3 = self.input.LA(3) + if (LA115_3 == SPECIFIC) : + LA115_4 = self.input.LA(4) + if (LA115_4 == GEODE) : + LA115_5 = self.input.LA(5) + + if (LA115_5 == RID_ID) : + alt115 = 1 - if alt107 == 1: - # sdl92.g:585:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_state_instance6777) - requirement280 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement280.tree) - else: - break #loop107 - # sdl92.g:586:17: ( rid )* - while True: #loop108 - alt108 = 2 - LA108_0 = self.input.LA(1) - if (LA108_0 == 252) : - alt108 = 1 - if alt108 == 1: - # sdl92.g:586:17: rid + if alt115 == 1: + # sdl92.g:597:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_state_instance6796) - rid281 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_state_instance7013) + rid288 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid281.tree) + stream_rid.add(rid288.tree) else: - break #loop108 + break #loop115 + + + # sdl92.g:598:17: ( partition )? + alt116 = 2 + LA116_0 = self.input.LA(1) + + if (LA116_0 == 254) : + alt116 = 1 + if alt116 == 1: + # sdl92.g:598:17: partition + pass + self._state.following.append(self.FOLLOW_partition_in_state_instance7032) + partition289 = self.partition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_partition.add(partition289.tree) + - STATE282 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_instance6815) + + + STATE290 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_instance7051) if self._state.backtracking == 0: - stream_STATE.add(STATE282) + stream_STATE.add(STATE290) - self._state.following.append(self.FOLLOW_statename_in_state_instance6817) - statename283 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_instance7053) + statename291 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename283.tree) + stream_statename.add(statename291.tree) - char_literal284 = self.match(self.input, 253, self.FOLLOW_253_in_state_instance6819) + char_literal292 = self.match(self.input, 255, self.FOLLOW_255_in_state_instance7055) if self._state.backtracking == 0: - stream_253.add(char_literal284) + stream_255.add(char_literal292) - self._state.following.append(self.FOLLOW_type_inst_in_state_instance6821) - type_inst285 = self.type_inst() + self._state.following.append(self.FOLLOW_type_inst_in_state_instance7057) + type_inst293 = self.type_inst() self._state.following.pop() if self._state.backtracking == 0: - stream_type_inst.add(type_inst285.tree) + stream_type_inst.add(type_inst293.tree) - # sdl92.g:587:47: ( via )? - alt109 = 2 - LA109_0 = self.input.LA(1) + # sdl92.g:599:47: ( via )? + alt117 = 2 + LA117_0 = self.input.LA(1) - if (LA109_0 == VIA) : - alt109 = 1 - if alt109 == 1: - # sdl92.g:587:47: via + if (LA117_0 == VIA) : + alt117 = 1 + if alt117 == 1: + # sdl92.g:599:47: via pass - self._state.following.append(self.FOLLOW_via_in_state_instance6823) - via286 = self.via() + self._state.following.append(self.FOLLOW_via_in_state_instance7059) + via294 = self.via() self._state.following.pop() if self._state.backtracking == 0: - stream_via.add(via286.tree) + stream_via.add(via294.tree) - # sdl92.g:587:52: (e= end | SEMI ) - alt110 = 2 - LA110_0 = self.input.LA(1) + # sdl92.g:599:52: (e= end | SEMI ) + alt118 = 2 + LA118_0 = self.input.LA(1) - if (LA110_0 in {COMMENT, 252}) : - alt110 = 1 - elif (LA110_0 == SEMI) : - LA110_2 = self.input.LA(2) + if (LA118_0 in {COMMENT, 254}) : + alt118 = 1 + elif (LA118_0 == SEMI) : + LA118_2 = self.input.LA(2) - if (self.synpred140_sdl92()) : - alt110 = 1 + if (self.synpred148_sdl92()) : + alt118 = 1 elif (True) : - alt110 = 2 + alt118 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 110, 2, self.input) + nvae = NoViableAltException("", 118, 2, self.input) raise nvae @@ -11563,15 +12268,15 @@ def state_instance(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 110, 0, self.input) + nvae = NoViableAltException("", 118, 0, self.input) raise nvae - if alt110 == 1: - # sdl92.g:587:53: e= end + if alt118 == 1: + # sdl92.g:599:53: e= end pass - self._state.following.append(self.FOLLOW_end_in_state_instance6829) + self._state.following.append(self.FOLLOW_end_in_state_instance7065) e = self.end() self._state.following.pop() @@ -11580,68 +12285,68 @@ def state_instance(self, ): - elif alt110 == 2: - # sdl92.g:587:61: SEMI + elif alt118 == 2: + # sdl92.g:599:61: SEMI pass - SEMI287 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_instance6833) + SEMI295 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_instance7069) if self._state.backtracking == 0: - stream_SEMI.add(SEMI287) + stream_SEMI.add(SEMI295) - # sdl92.g:588:17: ( state_part )* - while True: #loop111 - alt111 = 2 - LA111_0 = self.input.LA(1) + # sdl92.g:600:17: ( state_part )* + while True: #loop119 + alt119 = 2 + LA119_0 = self.input.LA(1) - if (LA111_0 in {CONNECT, INPUT, PROVIDED, SAVE, 252}) : - alt111 = 1 + if (LA119_0 in {CONNECT, INPUT, PROVIDED, SAVE, 254}) : + alt119 = 1 - if alt111 == 1: - # sdl92.g:588:18: state_part + if alt119 == 1: + # sdl92.g:600:18: state_part pass - self._state.following.append(self.FOLLOW_state_part_in_state_instance6853) - state_part288 = self.state_part() + self._state.following.append(self.FOLLOW_state_part_in_state_instance7089) + state_part296 = self.state_part() self._state.following.pop() if self._state.backtracking == 0: - stream_state_part.add(state_part288.tree) + stream_state_part.add(state_part296.tree) else: - break #loop111 + break #loop119 - ENDSTATE289 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_instance6873) + ENDSTATE297 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_instance7109) if self._state.backtracking == 0: - stream_ENDSTATE.add(ENDSTATE289) + stream_ENDSTATE.add(ENDSTATE297) - # sdl92.g:589:26: ( statename )? - alt112 = 2 - LA112_0 = self.input.LA(1) + # sdl92.g:601:26: ( statename )? + alt120 = 2 + LA120_0 = self.input.LA(1) - if (LA112_0 == ID) : - alt112 = 1 - if alt112 == 1: - # sdl92.g:589:26: statename + if (LA120_0 == ID) : + alt120 = 1 + if alt120 == 1: + # sdl92.g:601:26: statename pass - self._state.following.append(self.FOLLOW_statename_in_state_instance6875) - statename290 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_instance7111) + statename298 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename290.tree) + stream_statename.add(statename298.tree) - self._state.following.append(self.FOLLOW_end_in_state_instance6880) + self._state.following.append(self.FOLLOW_end_in_state_instance7116) f = self.end() self._state.following.pop() @@ -11670,56 +12375,56 @@ def state_instance(self, ): root_0 = self._adaptor.nil() - # 590:9: -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) - # sdl92.g:590:17: ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) + # 602:9: -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) + # sdl92.g:602:17: ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_STATE.nextNode() , root_1) - # sdl92.g:590:25: ( cif )? + # sdl92.g:602:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:590:30: ( symbolid )? + # sdl92.g:602:30: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:590:41: ( partition )? + # sdl92.g:602:41: ( partition )? if stream_partition.hasNext(): self._adaptor.addChild(root_1, stream_partition.nextTree()) stream_partition.reset(); - # sdl92.g:590:52: ( hyperlink )? + # sdl92.g:602:52: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:590:63: ( requirement )* + # sdl92.g:602:63: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:590:76: ( rid )* + # sdl92.g:602:76: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:590:82: ( $e)? + # sdl92.g:602:82: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) @@ -11728,7 +12433,7 @@ def state_instance(self, ): self._adaptor.addChild(root_1, stream_statename.nextTree()) - # sdl92.g:590:95: ( via )? + # sdl92.g:602:95: ( via )? if stream_via.hasNext(): self._adaptor.addChild(root_1, stream_via.nextTree()) @@ -11737,7 +12442,7 @@ def state_instance(self, ): self._adaptor.addChild(root_1, stream_type_inst.nextTree()) - # sdl92.g:590:110: ( state_part )* + # sdl92.g:602:110: ( state_part )* while stream_state_part.hasNext(): self._adaptor.addChild(root_1, stream_state_part.nextTree()) @@ -11787,7 +12492,7 @@ def __init__(self): # $ANTLR start "statelist" - # sdl92.g:594:1: statelist : ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ); + # sdl92.g:606: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) @@ -11795,86 +12500,86 @@ def statelist(self, ): root_0 = None - char_literal292 = None - ASTERISK294 = None - statename291 = None - statename293 = None - exception_state295 = None + char_literal300 = None + ASTERISK302 = None + statename299 = None + statename301 = None + exception_state303 = None - char_literal292_tree = None - ASTERISK294_tree = None + char_literal300_tree = None + ASTERISK302_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:595:9: ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ) - alt115 = 2 - LA115_0 = self.input.LA(1) + # sdl92.g:607:9: ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ) + alt123 = 2 + LA123_0 = self.input.LA(1) - if (LA115_0 == ID) : - alt115 = 1 - elif (LA115_0 == ASTERISK) : - alt115 = 2 + if (LA123_0 == ID) : + alt123 = 1 + elif (LA123_0 == ASTERISK) : + alt123 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 115, 0, self.input) + nvae = NoViableAltException("", 123, 0, self.input) raise nvae - if alt115 == 1: - # sdl92.g:595:17: ( ( statename ) ( ',' statename )* ) + if alt123 == 1: + # sdl92.g:607:17: ( ( statename ) ( ',' statename )* ) pass - # sdl92.g:595:17: ( ( statename ) ( ',' statename )* ) - # sdl92.g:595:18: ( statename ) ( ',' statename )* + # sdl92.g:607:17: ( ( statename ) ( ',' statename )* ) + # sdl92.g:607:18: ( statename ) ( ',' statename )* pass - # sdl92.g:595:18: ( statename ) - # sdl92.g:595:19: statename + # sdl92.g:607:18: ( statename ) + # sdl92.g:607:19: statename pass - self._state.following.append(self.FOLLOW_statename_in_statelist6966) - statename291 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_statelist7202) + statename299 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename291.tree) + stream_statename.add(statename299.tree) - # sdl92.g:595:29: ( ',' statename )* - while True: #loop113 - alt113 = 2 - LA113_0 = self.input.LA(1) + # sdl92.g:607:29: ( ',' statename )* + while True: #loop121 + alt121 = 2 + LA121_0 = self.input.LA(1) - if (LA113_0 == COMMA) : - alt113 = 1 + if (LA121_0 == COMMA) : + alt121 = 1 - if alt113 == 1: - # sdl92.g:595:30: ',' statename + if alt121 == 1: + # sdl92.g:607:30: ',' statename pass - char_literal292 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_statelist6969) + char_literal300 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_statelist7205) if self._state.backtracking == 0: - stream_COMMA.add(char_literal292) + stream_COMMA.add(char_literal300) - self._state.following.append(self.FOLLOW_statename_in_statelist6971) - statename293 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_statelist7207) + statename301 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename293.tree) + stream_statename.add(statename301.tree) else: - break #loop113 + break #loop121 @@ -11896,14 +12601,14 @@ def statelist(self, ): root_0 = self._adaptor.nil() - # 596:9: -> ^( STATELIST ( statename )+ ) - # sdl92.g:596:17: ^( STATELIST ( statename )+ ) + # 608:9: -> ^( STATELIST ( statename )+ ) + # sdl92.g:608:17: ^( STATELIST ( statename )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(STATELIST, "STATELIST") , root_1) - # sdl92.g:596:29: ( statename )+ + # sdl92.g:608:29: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() @@ -11923,29 +12628,29 @@ def statelist(self, ): - elif alt115 == 2: - # sdl92.g:597:19: ASTERISK ( exception_state )? + elif alt123 == 2: + # sdl92.g:609:19: ASTERISK ( exception_state )? pass - ASTERISK294 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_statelist7016) + ASTERISK302 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_statelist7252) if self._state.backtracking == 0: - stream_ASTERISK.add(ASTERISK294) + stream_ASTERISK.add(ASTERISK302) - # sdl92.g:597:28: ( exception_state )? - alt114 = 2 - LA114_0 = self.input.LA(1) + # sdl92.g:609:28: ( exception_state )? + alt122 = 2 + LA122_0 = self.input.LA(1) - if (LA114_0 == L_PAREN) : - alt114 = 1 - if alt114 == 1: - # sdl92.g:597:28: exception_state + if (LA122_0 == L_PAREN) : + alt122 = 1 + if alt122 == 1: + # sdl92.g:609:28: exception_state pass - self._state.following.append(self.FOLLOW_exception_state_in_statelist7018) - exception_state295 = self.exception_state() + self._state.following.append(self.FOLLOW_exception_state_in_statelist7254) + exception_state303 = self.exception_state() self._state.following.pop() if self._state.backtracking == 0: - stream_exception_state.add(exception_state295.tree) + stream_exception_state.add(exception_state303.tree) @@ -11967,14 +12672,14 @@ def statelist(self, ): root_0 = self._adaptor.nil() - # 598:9: -> ^( ASTERISK ( exception_state )? ) - # sdl92.g:598:17: ^( ASTERISK ( exception_state )? ) + # 610:9: -> ^( ASTERISK ( exception_state )? ) + # sdl92.g:610:17: ^( ASTERISK ( exception_state )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ASTERISK.nextNode() , root_1) - # sdl92.g:598:28: ( exception_state )? + # sdl92.g:610:28: ( exception_state )? if stream_exception_state.hasNext(): self._adaptor.addChild(root_1, stream_exception_state.nextTree()) @@ -12023,7 +12728,7 @@ def __init__(self): # $ANTLR start "exception_state" - # sdl92.g:602:1: exception_state : '(' statename ( ',' statename )* ')' -> ( statename )+ ; + # sdl92.g:614:1: exception_state : '(' statename ( ',' statename )* ')' -> ( statename )+ ; def exception_state(self, ): retval = self.exception_state_return() retval.start = self.input.LT(1) @@ -12031,70 +12736,70 @@ def exception_state(self, ): root_0 = None - char_literal296 = None - char_literal298 = None - char_literal300 = None - statename297 = None - statename299 = None + char_literal304 = None + char_literal306 = None + char_literal308 = None + statename305 = None + statename307 = None - char_literal296_tree = None - char_literal298_tree = None - char_literal300_tree = None + char_literal304_tree = None + char_literal306_tree = None + char_literal308_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:603:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) - # sdl92.g:603:17: '(' statename ( ',' statename )* ')' + # sdl92.g:615:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) + # sdl92.g:615:17: '(' statename ( ',' statename )* ')' pass - char_literal296 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_exception_state7073) + char_literal304 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_exception_state7309) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal296) + stream_L_PAREN.add(char_literal304) - self._state.following.append(self.FOLLOW_statename_in_exception_state7075) - statename297 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_exception_state7311) + statename305 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename297.tree) + stream_statename.add(statename305.tree) - # sdl92.g:603:31: ( ',' statename )* - while True: #loop116 - alt116 = 2 - LA116_0 = self.input.LA(1) + # sdl92.g:615:31: ( ',' statename )* + while True: #loop124 + alt124 = 2 + LA124_0 = self.input.LA(1) - if (LA116_0 == COMMA) : - alt116 = 1 + if (LA124_0 == COMMA) : + alt124 = 1 - if alt116 == 1: - # sdl92.g:603:32: ',' statename + if alt124 == 1: + # sdl92.g:615:32: ',' statename pass - char_literal298 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_exception_state7078) + char_literal306 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_exception_state7314) if self._state.backtracking == 0: - stream_COMMA.add(char_literal298) + stream_COMMA.add(char_literal306) - self._state.following.append(self.FOLLOW_statename_in_exception_state7080) - statename299 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_exception_state7316) + statename307 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename299.tree) + stream_statename.add(statename307.tree) else: - break #loop116 + break #loop124 - char_literal300 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_exception_state7084) + char_literal308 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_exception_state7320) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal300) + stream_R_PAREN.add(char_literal308) # AST Rewrite @@ -12113,8 +12818,8 @@ def exception_state(self, ): root_0 = self._adaptor.nil() - # 604:9: -> ( statename )+ - # sdl92.g:604:17: ( statename )+ + # 616:9: -> ( statename )+ + # sdl92.g:616:17: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() @@ -12165,7 +12870,7 @@ def __init__(self): # $ANTLR start "composite_state" - # sdl92.g:609:1: composite_state : ( composite_state_graph | state_aggregation ); + # sdl92.g:621:1: composite_state : ( composite_state_graph | state_aggregation ); def composite_state(self, ): retval = self.composite_state_return() retval.start = self.input.LT(1) @@ -12173,29 +12878,29 @@ def composite_state(self, ): root_0 = None - composite_state_graph301 = None - state_aggregation302 = None + composite_state_graph309 = None + state_aggregation310 = None try: try: - # sdl92.g:610:9: ( composite_state_graph | state_aggregation ) - alt117 = 2 - LA117_0 = self.input.LA(1) + # sdl92.g:622:9: ( composite_state_graph | state_aggregation ) + alt125 = 2 + LA125_0 = self.input.LA(1) - if (LA117_0 == STATE) : - LA117_1 = self.input.LA(2) + if (LA125_0 == STATE) : + LA125_1 = self.input.LA(2) - if (LA117_1 == AGGREGATION) : - alt117 = 2 - elif (LA117_1 == ID) : - alt117 = 1 + if (LA125_1 == AGGREGATION) : + alt125 = 2 + elif (LA125_1 == ID) : + alt125 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 117, 1, self.input) + nvae = NoViableAltException("", 125, 1, self.input) raise nvae @@ -12205,38 +12910,38 @@ def composite_state(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 117, 0, self.input) + nvae = NoViableAltException("", 125, 0, self.input) raise nvae - if alt117 == 1: - # sdl92.g:610:17: composite_state_graph + if alt125 == 1: + # sdl92.g:622:17: composite_state_graph pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_composite_state_graph_in_composite_state7135) - composite_state_graph301 = self.composite_state_graph() + self._state.following.append(self.FOLLOW_composite_state_graph_in_composite_state7371) + composite_state_graph309 = self.composite_state_graph() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, composite_state_graph301.tree) + self._adaptor.addChild(root_0, composite_state_graph309.tree) - elif alt117 == 2: - # sdl92.g:611:19: state_aggregation + elif alt125 == 2: + # sdl92.g:623:19: state_aggregation pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_state_aggregation_in_composite_state7155) - state_aggregation302 = self.state_aggregation() + self._state.following.append(self.FOLLOW_state_aggregation_in_composite_state7391) + state_aggregation310 = self.state_aggregation() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_aggregation302.tree) + self._adaptor.addChild(root_0, state_aggregation310.tree) @@ -12272,7 +12977,7 @@ def __init__(self): # $ANTLR start "composite_state_preamble" - # sdl92.g:615:1: composite_state_preamble : STATE ( AGGREGATION )? statename end SUBSTRUCTURE ; + # sdl92.g:627: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) @@ -12280,70 +12985,70 @@ def composite_state_preamble(self, ): root_0 = None - STATE303 = None - AGGREGATION304 = None - SUBSTRUCTURE307 = None - statename305 = None - end306 = None + STATE311 = None + AGGREGATION312 = None + SUBSTRUCTURE315 = None + statename313 = None + end314 = None - STATE303_tree = None - AGGREGATION304_tree = None - SUBSTRUCTURE307_tree = None + STATE311_tree = None + AGGREGATION312_tree = None + SUBSTRUCTURE315_tree = None try: try: - # sdl92.g:616:9: ( STATE ( AGGREGATION )? statename end SUBSTRUCTURE ) - # sdl92.g:616:17: STATE ( AGGREGATION )? statename end SUBSTRUCTURE + # sdl92.g:628:9: ( STATE ( AGGREGATION )? statename end SUBSTRUCTURE ) + # sdl92.g:628:17: STATE ( AGGREGATION )? statename end SUBSTRUCTURE pass root_0 = self._adaptor.nil() - STATE303 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_preamble7187) + STATE311 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_preamble7423) if self._state.backtracking == 0: - STATE303_tree = self._adaptor.createWithPayload(STATE303) - self._adaptor.addChild(root_0, STATE303_tree) + STATE311_tree = self._adaptor.createWithPayload(STATE311) + self._adaptor.addChild(root_0, STATE311_tree) - # sdl92.g:616:23: ( AGGREGATION )? - alt118 = 2 - LA118_0 = self.input.LA(1) + # sdl92.g:628:23: ( AGGREGATION )? + alt126 = 2 + LA126_0 = self.input.LA(1) - if (LA118_0 == AGGREGATION) : - alt118 = 1 - if alt118 == 1: - # sdl92.g:616:23: AGGREGATION + if (LA126_0 == AGGREGATION) : + alt126 = 1 + if alt126 == 1: + # sdl92.g:628:23: AGGREGATION pass - AGGREGATION304 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_composite_state_preamble7189) + AGGREGATION312 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_composite_state_preamble7425) if self._state.backtracking == 0: - AGGREGATION304_tree = self._adaptor.createWithPayload(AGGREGATION304) - self._adaptor.addChild(root_0, AGGREGATION304_tree) + AGGREGATION312_tree = self._adaptor.createWithPayload(AGGREGATION312) + self._adaptor.addChild(root_0, AGGREGATION312_tree) - self._state.following.append(self.FOLLOW_statename_in_composite_state_preamble7192) - statename305 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_composite_state_preamble7428) + statename313 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, statename305.tree) + self._adaptor.addChild(root_0, statename313.tree) - self._state.following.append(self.FOLLOW_end_in_composite_state_preamble7194) - end306 = self.end() + self._state.following.append(self.FOLLOW_end_in_composite_state_preamble7430) + end314 = self.end() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, end306.tree) + self._adaptor.addChild(root_0, end314.tree) - SUBSTRUCTURE307 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_preamble7212) + SUBSTRUCTURE315 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_preamble7448) if self._state.backtracking == 0: - SUBSTRUCTURE307_tree = self._adaptor.createWithPayload(SUBSTRUCTURE307) - self._adaptor.addChild(root_0, SUBSTRUCTURE307_tree) + SUBSTRUCTURE315_tree = self._adaptor.createWithPayload(SUBSTRUCTURE315) + self._adaptor.addChild(root_0, SUBSTRUCTURE315_tree) @@ -12381,7 +13086,7 @@ def __init__(self): # $ANTLR start "composite_state_graph" - # sdl92.g:620: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)? ) ; + # sdl92.g:632: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) @@ -12389,19 +13094,19 @@ def composite_state_graph(self, ): root_0 = None - STATE308 = None - SUBSTRUCTURE310 = None - ENDSUBSTRUCTURE312 = None + STATE316 = None + SUBSTRUCTURE318 = None + ENDSUBSTRUCTURE320 = None e = None body = None f = None - statename309 = None - connection_points311 = None - statename313 = None + statename317 = None + connection_points319 = None + statename321 = None - STATE308_tree = None - SUBSTRUCTURE310_tree = None - ENDSUBSTRUCTURE312_tree = None + STATE316_tree = None + SUBSTRUCTURE318_tree = None + ENDSUBSTRUCTURE320_tree = None stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_SUBSTRUCTURE = RewriteRuleTokenStream(self._adaptor, "token SUBSTRUCTURE") stream_ENDSUBSTRUCTURE = RewriteRuleTokenStream(self._adaptor, "token ENDSUBSTRUCTURE") @@ -12411,23 +13116,23 @@ def composite_state_graph(self, ): stream_composite_state_body = RewriteRuleSubtreeStream(self._adaptor, "rule composite_state_body") try: try: - # sdl92.g:621: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:621:17: STATE statename e= end SUBSTRUCTURE ( connection_points )* body= composite_state_body ENDSUBSTRUCTURE ( statename )? f= end + # sdl92.g:633: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:633:17: STATE statename e= end SUBSTRUCTURE ( connection_points )* body= composite_state_body ENDSUBSTRUCTURE ( statename )? f= end pass - STATE308 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_graph7243) + STATE316 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_graph7479) if self._state.backtracking == 0: - stream_STATE.add(STATE308) + stream_STATE.add(STATE316) - self._state.following.append(self.FOLLOW_statename_in_composite_state_graph7245) - statename309 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_composite_state_graph7481) + statename317 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename309.tree) + stream_statename.add(statename317.tree) - self._state.following.append(self.FOLLOW_end_in_composite_state_graph7249) + self._state.following.append(self.FOLLOW_end_in_composite_state_graph7485) e = self.end() self._state.following.pop() @@ -12435,37 +13140,37 @@ def composite_state_graph(self, ): stream_end.add(e.tree) - SUBSTRUCTURE310 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_graph7267) + SUBSTRUCTURE318 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_graph7503) if self._state.backtracking == 0: - stream_SUBSTRUCTURE.add(SUBSTRUCTURE310) + stream_SUBSTRUCTURE.add(SUBSTRUCTURE318) - # sdl92.g:623:17: ( connection_points )* - while True: #loop119 - alt119 = 2 - LA119_0 = self.input.LA(1) + # sdl92.g:635:17: ( connection_points )* + while True: #loop127 + alt127 = 2 + LA127_0 = self.input.LA(1) - if (LA119_0 in {IN, OUT}) : - alt119 = 1 + if (LA127_0 in {IN, OUT}) : + alt127 = 1 - if alt119 == 1: - # sdl92.g:623:17: connection_points + if alt127 == 1: + # sdl92.g:635:17: connection_points pass - self._state.following.append(self.FOLLOW_connection_points_in_composite_state_graph7285) - connection_points311 = self.connection_points() + self._state.following.append(self.FOLLOW_connection_points_in_composite_state_graph7521) + connection_points319 = self.connection_points() self._state.following.pop() if self._state.backtracking == 0: - stream_connection_points.add(connection_points311.tree) + stream_connection_points.add(connection_points319.tree) else: - break #loop119 + break #loop127 - self._state.following.append(self.FOLLOW_composite_state_body_in_composite_state_graph7306) + self._state.following.append(self.FOLLOW_composite_state_body_in_composite_state_graph7542) body = self.composite_state_body() self._state.following.pop() @@ -12473,32 +13178,32 @@ def composite_state_graph(self, ): stream_composite_state_body.add(body.tree) - ENDSUBSTRUCTURE312 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph7324) + ENDSUBSTRUCTURE320 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph7560) if self._state.backtracking == 0: - stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE312) + stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE320) - # sdl92.g:625:33: ( statename )? - alt120 = 2 - LA120_0 = self.input.LA(1) + # sdl92.g:637:33: ( statename )? + alt128 = 2 + LA128_0 = self.input.LA(1) - if (LA120_0 == ID) : - alt120 = 1 - if alt120 == 1: - # sdl92.g:625:33: statename + if (LA128_0 == ID) : + alt128 = 1 + if alt128 == 1: + # sdl92.g:637:33: statename pass - self._state.following.append(self.FOLLOW_statename_in_composite_state_graph7326) - statename313 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_composite_state_graph7562) + statename321 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename313.tree) + stream_statename.add(statename321.tree) - self._state.following.append(self.FOLLOW_end_in_composite_state_graph7331) + self._state.following.append(self.FOLLOW_end_in_composite_state_graph7567) f = self.end() self._state.following.pop() @@ -12532,8 +13237,8 @@ def composite_state_graph(self, ): root_0 = self._adaptor.nil() - # 626:9: -> ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) - # sdl92.g:626:17: ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) + # 638:9: -> ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) + # sdl92.g:638: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") @@ -12541,7 +13246,7 @@ def composite_state_graph(self, ): self._adaptor.addChild(root_1, stream_statename.nextTree()) - # sdl92.g:626:45: ( connection_points )* + # sdl92.g:638:45: ( connection_points )* while stream_connection_points.hasNext(): self._adaptor.addChild(root_1, stream_connection_points.nextTree()) @@ -12550,7 +13255,7 @@ def composite_state_graph(self, ): self._adaptor.addChild(root_1, stream_body.nextTree()) - # sdl92.g:626:71: ( $e)? + # sdl92.g:638:71: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) @@ -12600,7 +13305,7 @@ def __init__(self): # $ANTLR start "state_aggregation" - # sdl92.g:631: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)? ) ; + # sdl92.g:643: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) @@ -12608,22 +13313,22 @@ def state_aggregation(self, ): root_0 = None - STATE314 = None - AGGREGATION315 = None - SUBSTRUCTURE317 = None - ENDSUBSTRUCTURE319 = None + STATE322 = None + AGGREGATION323 = None + SUBSTRUCTURE325 = None + ENDSUBSTRUCTURE327 = None e = None entities = None body = None f = None - statename316 = None - connection_points318 = None - statename320 = None - - STATE314_tree = None - AGGREGATION315_tree = None - SUBSTRUCTURE317_tree = None - ENDSUBSTRUCTURE319_tree = None + statename324 = None + connection_points326 = None + statename328 = None + + STATE322_tree = None + AGGREGATION323_tree = None + SUBSTRUCTURE325_tree = None + ENDSUBSTRUCTURE327_tree = None stream_STATE = RewriteRuleTokenStream(self._adaptor, "token STATE") stream_AGGREGATION = RewriteRuleTokenStream(self._adaptor, "token AGGREGATION") stream_SUBSTRUCTURE = RewriteRuleTokenStream(self._adaptor, "token SUBSTRUCTURE") @@ -12635,28 +13340,28 @@ def state_aggregation(self, ): stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") try: try: - # sdl92.g:632: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:632:17: STATE AGGREGATION statename e= end SUBSTRUCTURE ( connection_points )* (entities= entity_in_composite_state )* body= state_aggregation_body ENDSUBSTRUCTURE ( statename )? f= end + # sdl92.g:644: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:644:17: STATE AGGREGATION statename e= end SUBSTRUCTURE ( connection_points )* (entities= entity_in_composite_state )* body= state_aggregation_body ENDSUBSTRUCTURE ( statename )? f= end pass - STATE314 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_aggregation7395) + STATE322 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_aggregation7631) if self._state.backtracking == 0: - stream_STATE.add(STATE314) + stream_STATE.add(STATE322) - AGGREGATION315 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_state_aggregation7397) + AGGREGATION323 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_state_aggregation7633) if self._state.backtracking == 0: - stream_AGGREGATION.add(AGGREGATION315) + stream_AGGREGATION.add(AGGREGATION323) - self._state.following.append(self.FOLLOW_statename_in_state_aggregation7399) - statename316 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_aggregation7635) + statename324 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename316.tree) + stream_statename.add(statename324.tree) - self._state.following.append(self.FOLLOW_end_in_state_aggregation7403) + self._state.following.append(self.FOLLOW_end_in_state_aggregation7639) e = self.end() self._state.following.pop() @@ -12664,926 +13369,204 @@ def state_aggregation(self, ): stream_end.add(e.tree) - SUBSTRUCTURE317 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_state_aggregation7421) + SUBSTRUCTURE325 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_state_aggregation7657) if self._state.backtracking == 0: - stream_SUBSTRUCTURE.add(SUBSTRUCTURE317) + stream_SUBSTRUCTURE.add(SUBSTRUCTURE325) - # sdl92.g:634:17: ( connection_points )* - while True: #loop121 - alt121 = 2 - LA121_0 = self.input.LA(1) + # sdl92.g:646:17: ( connection_points )* + while True: #loop129 + alt129 = 2 + LA129_0 = self.input.LA(1) - if (LA121_0 in {IN, OUT}) : - alt121 = 1 + if (LA129_0 in {IN, OUT}) : + alt129 = 1 - if alt121 == 1: - # sdl92.g:634:17: connection_points + if alt129 == 1: + # sdl92.g:646:17: connection_points pass - self._state.following.append(self.FOLLOW_connection_points_in_state_aggregation7439) - connection_points318 = self.connection_points() + self._state.following.append(self.FOLLOW_connection_points_in_state_aggregation7675) + connection_points326 = self.connection_points() self._state.following.pop() if self._state.backtracking == 0: - stream_connection_points.add(connection_points318.tree) + stream_connection_points.add(connection_points326.tree) else: - break #loop121 - + break #loop129 - # sdl92.g:635:25: (entities= entity_in_composite_state )* - while True: #loop122 - alt122 = 2 - LA122_0 = self.input.LA(1) - if (LA122_0 == 252) : - LA122 = self.input.LA(2) - if LA122 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - LA122_4 = self.input.LA(3) + # sdl92.g:647:25: (entities= entity_in_composite_state )* + while True: #loop130 + alt130 = 2 + alt130 = self.dfa130.predict(self.input) + if alt130 == 1: + # sdl92.g:647:25: entities= entity_in_composite_state + pass + self._state.following.append(self.FOLLOW_entity_in_composite_state_in_state_aggregation7696) + entities = self.entity_in_composite_state() - if (LA122_4 == L_PAREN) : - LA122_7 = self.input.LA(4) + self._state.following.pop() + if self._state.backtracking == 0: + stream_entity_in_composite_state.add(entities.tree) - if (LA122_7 == DASH) : - LA122_10 = self.input.LA(5) - if (LA122_10 == INT) : - LA122_11 = self.input.LA(6) - if (LA122_11 == COMMA) : - LA122_14 = self.input.LA(7) + else: + break #loop130 - if (LA122_14 == DASH) : - LA122_17 = self.input.LA(8) - if (LA122_17 == INT) : - LA122_18 = self.input.LA(9) + self._state.following.append(self.FOLLOW_state_aggregation_body_in_state_aggregation7717) + body = self.state_aggregation_body() - if (LA122_18 == R_PAREN) : - LA122_21 = self.input.LA(10) + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_aggregation_body.add(body.tree) - if (LA122_21 == COMMA) : - LA122_24 = self.input.LA(11) - if (LA122_24 == L_PAREN) : - LA122_27 = self.input.LA(12) + ENDSUBSTRUCTURE327 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation7735) + if self._state.backtracking == 0: + stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE327) - if (LA122_27 == INT) : - LA122_29 = self.input.LA(13) - if (LA122_29 == COMMA) : - LA122_31 = self.input.LA(14) + # sdl92.g:649:33: ( statename )? + alt131 = 2 + LA131_0 = self.input.LA(1) - if (LA122_31 == INT) : - LA122_33 = self.input.LA(15) + if (LA131_0 == ID) : + alt131 = 1 + if alt131 == 1: + # sdl92.g:649:33: statename + pass + self._state.following.append(self.FOLLOW_statename_in_state_aggregation7737) + statename328 = self.statename() - if (LA122_33 == R_PAREN) : - LA122_34 = self.input.LA(16) + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename328.tree) - if (LA122_34 == 248) : - LA122_35 = self.input.LA(17) - if (LA122_35 == 252) : - LA122 = self.input.LA(18) - if LA122 in {254}: - LA122_37 = self.input.LA(19) - if (LA122_37 == INT) : - LA122_39 = self.input.LA(20) - if (LA122_39 == 248) : - LA122_41 = self.input.LA(21) - if (LA122_41 == 252) : - LA122_43 = self.input.LA(22) + self._state.following.append(self.FOLLOW_end_in_state_aggregation7742) + f = self.end() - if (LA122_43 == KEEP) : - LA122_38 = self.input.LA(23) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(f.tree) - if (LA122_38 == SPECIFIC) : - LA122_40 = self.input.LA(24) - if (LA122_40 == GEODE) : - LA122_42 = self.input.LA(25) + # 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 (LA122_42 == PARTITION) : - LA122_44 = self.input.LA(26) + if e is not None: + stream_e = RewriteRuleSubtreeStream(self._adaptor, "rule e", e.tree) + else: + stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) - if (LA122_44 == STRING) : - LA122_45 = self.input.LA(27) + if body is not None: + stream_body = RewriteRuleSubtreeStream(self._adaptor, "rule body", body.tree) + else: + stream_body = RewriteRuleSubtreeStream(self._adaptor, "token body", None) - if (LA122_45 == 248) : - LA122_46 = self.input.LA(28) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - if (LA122_46 in {EXPORTED, PROCEDURE}) : - alt122 = 1 + root_0 = self._adaptor.nil() + # 650:9: -> ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) + # sdl92.g:650: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:650:47: ( connection_points )* + while stream_connection_points.hasNext(): + self._adaptor.addChild(root_1, stream_connection_points.nextTree()) + stream_connection_points.reset(); - elif (LA122_42 in {ASNFILENAME, PARAMNAMES}) : - alt122 = 1 + # sdl92.g:651: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:651:55: ( $e)? + if stream_e.hasNext(): + self._adaptor.addChild(root_1, stream_e.nextTree()) - elif (LA122_43 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 254}) : - alt122 = 1 + stream_e.reset(); + self._adaptor.addChild(root_0, root_1) - elif (LA122_41 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt122 = 1 + retval.tree = root_0 - elif LA122 in {KEEP}: - LA122_38 = self.input.LA(19) - if (LA122_38 == SPECIFIC) : - LA122_40 = self.input.LA(20) - if (LA122_40 == GEODE) : - LA122_42 = self.input.LA(21) + retval.stop = self.input.LT(-1) - if (LA122_42 == PARTITION) : - LA122_44 = self.input.LA(22) - if (LA122_44 == STRING) : - LA122_45 = self.input.LA(23) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA122_45 == 248) : - LA122_46 = self.input.LA(24) - if (LA122_46 in {EXPORTED, PROCEDURE}) : - alt122 = 1 + 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__() - elif (LA122_42 in {ASNFILENAME, PARAMNAMES}) : - alt122 = 1 - - - - - - - elif LA122 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - alt122 = 1 - - elif (LA122_35 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt122 = 1 - - - - - - - - - - - - - - - - - - - - - elif (LA122_14 == INT) : - LA122_18 = self.input.LA(8) - - if (LA122_18 == R_PAREN) : - LA122_21 = self.input.LA(9) - - if (LA122_21 == COMMA) : - LA122_24 = self.input.LA(10) - - if (LA122_24 == L_PAREN) : - LA122_27 = self.input.LA(11) - - if (LA122_27 == INT) : - LA122_29 = self.input.LA(12) - - if (LA122_29 == COMMA) : - LA122_31 = self.input.LA(13) - - if (LA122_31 == INT) : - LA122_33 = self.input.LA(14) - - if (LA122_33 == R_PAREN) : - LA122_34 = self.input.LA(15) - - if (LA122_34 == 248) : - LA122_35 = self.input.LA(16) - - if (LA122_35 == 252) : - LA122 = self.input.LA(17) - if LA122 in {254}: - LA122_37 = self.input.LA(18) - - if (LA122_37 == INT) : - LA122_39 = self.input.LA(19) - - if (LA122_39 == 248) : - LA122_41 = self.input.LA(20) - - if (LA122_41 == 252) : - LA122_43 = self.input.LA(21) - - if (LA122_43 == KEEP) : - LA122_38 = self.input.LA(22) - - if (LA122_38 == SPECIFIC) : - LA122_40 = self.input.LA(23) - - if (LA122_40 == GEODE) : - LA122_42 = self.input.LA(24) - - if (LA122_42 == PARTITION) : - LA122_44 = self.input.LA(25) - - if (LA122_44 == STRING) : - LA122_45 = self.input.LA(26) - - if (LA122_45 == 248) : - LA122_46 = self.input.LA(27) - - if (LA122_46 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - elif (LA122_42 in {ASNFILENAME, PARAMNAMES}) : - alt122 = 1 - - - - - - - elif (LA122_43 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 254}) : - alt122 = 1 - - - elif (LA122_41 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt122 = 1 - - - - - - - elif LA122 in {KEEP}: - LA122_38 = self.input.LA(18) - - if (LA122_38 == SPECIFIC) : - LA122_40 = self.input.LA(19) - - if (LA122_40 == GEODE) : - LA122_42 = self.input.LA(20) - - if (LA122_42 == PARTITION) : - LA122_44 = self.input.LA(21) - - if (LA122_44 == STRING) : - LA122_45 = self.input.LA(22) - - if (LA122_45 == 248) : - LA122_46 = self.input.LA(23) - - if (LA122_46 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - elif (LA122_42 in {ASNFILENAME, PARAMNAMES}) : - alt122 = 1 - - - - - - - elif LA122 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - alt122 = 1 - - elif (LA122_35 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt122 = 1 - - - - - - - - - - - - - - - - - - - - - - - - - elif (LA122_7 == INT) : - LA122_11 = self.input.LA(5) - - if (LA122_11 == COMMA) : - LA122_14 = self.input.LA(6) - - if (LA122_14 == DASH) : - LA122_17 = self.input.LA(7) - - if (LA122_17 == INT) : - LA122_18 = self.input.LA(8) - - if (LA122_18 == R_PAREN) : - LA122_21 = self.input.LA(9) - - if (LA122_21 == COMMA) : - LA122_24 = self.input.LA(10) - - if (LA122_24 == L_PAREN) : - LA122_27 = self.input.LA(11) - - if (LA122_27 == INT) : - LA122_29 = self.input.LA(12) - - if (LA122_29 == COMMA) : - LA122_31 = self.input.LA(13) - - if (LA122_31 == INT) : - LA122_33 = self.input.LA(14) - - if (LA122_33 == R_PAREN) : - LA122_34 = self.input.LA(15) - - if (LA122_34 == 248) : - LA122_35 = self.input.LA(16) - - if (LA122_35 == 252) : - LA122 = self.input.LA(17) - if LA122 in {254}: - LA122_37 = self.input.LA(18) - - if (LA122_37 == INT) : - LA122_39 = self.input.LA(19) - - if (LA122_39 == 248) : - LA122_41 = self.input.LA(20) - - if (LA122_41 == 252) : - LA122_43 = self.input.LA(21) - - if (LA122_43 == KEEP) : - LA122_38 = self.input.LA(22) - - if (LA122_38 == SPECIFIC) : - LA122_40 = self.input.LA(23) - - if (LA122_40 == GEODE) : - LA122_42 = self.input.LA(24) - - if (LA122_42 == PARTITION) : - LA122_44 = self.input.LA(25) - - if (LA122_44 == STRING) : - LA122_45 = self.input.LA(26) - - if (LA122_45 == 248) : - LA122_46 = self.input.LA(27) - - if (LA122_46 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - elif (LA122_42 in {ASNFILENAME, PARAMNAMES}) : - alt122 = 1 - - - - - - - elif (LA122_43 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 254}) : - alt122 = 1 - - - elif (LA122_41 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt122 = 1 - - - - - - - elif LA122 in {KEEP}: - LA122_38 = self.input.LA(18) - - if (LA122_38 == SPECIFIC) : - LA122_40 = self.input.LA(19) - - if (LA122_40 == GEODE) : - LA122_42 = self.input.LA(20) - - if (LA122_42 == PARTITION) : - LA122_44 = self.input.LA(21) - - if (LA122_44 == STRING) : - LA122_45 = self.input.LA(22) - - if (LA122_45 == 248) : - LA122_46 = self.input.LA(23) - - if (LA122_46 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - elif (LA122_42 in {ASNFILENAME, PARAMNAMES}) : - alt122 = 1 - - - - - - - elif LA122 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - alt122 = 1 - - elif (LA122_35 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt122 = 1 - - - - - - - - - - - - - - - - - - - - - elif (LA122_14 == INT) : - LA122_18 = self.input.LA(7) - - if (LA122_18 == R_PAREN) : - LA122_21 = self.input.LA(8) - - if (LA122_21 == COMMA) : - LA122_24 = self.input.LA(9) - - if (LA122_24 == L_PAREN) : - LA122_27 = self.input.LA(10) - - if (LA122_27 == INT) : - LA122_29 = self.input.LA(11) - - if (LA122_29 == COMMA) : - LA122_31 = self.input.LA(12) - - if (LA122_31 == INT) : - LA122_33 = self.input.LA(13) - - if (LA122_33 == R_PAREN) : - LA122_34 = self.input.LA(14) - - if (LA122_34 == 248) : - LA122_35 = self.input.LA(15) - - if (LA122_35 == 252) : - LA122 = self.input.LA(16) - if LA122 in {254}: - LA122_37 = self.input.LA(17) - - if (LA122_37 == INT) : - LA122_39 = self.input.LA(18) - - if (LA122_39 == 248) : - LA122_41 = self.input.LA(19) - - if (LA122_41 == 252) : - LA122_43 = self.input.LA(20) - - if (LA122_43 == KEEP) : - LA122_38 = self.input.LA(21) - - if (LA122_38 == SPECIFIC) : - LA122_40 = self.input.LA(22) - - if (LA122_40 == GEODE) : - LA122_42 = self.input.LA(23) - - if (LA122_42 == PARTITION) : - LA122_44 = self.input.LA(24) - - if (LA122_44 == STRING) : - LA122_45 = self.input.LA(25) - - if (LA122_45 == 248) : - LA122_46 = self.input.LA(26) - - if (LA122_46 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - elif (LA122_42 in {ASNFILENAME, PARAMNAMES}) : - alt122 = 1 - - - - - - - elif (LA122_43 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 254}) : - alt122 = 1 - - - elif (LA122_41 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt122 = 1 - - - - - - - elif LA122 in {KEEP}: - LA122_38 = self.input.LA(17) - - if (LA122_38 == SPECIFIC) : - LA122_40 = self.input.LA(18) - - if (LA122_40 == GEODE) : - LA122_42 = self.input.LA(19) - - if (LA122_42 == PARTITION) : - LA122_44 = self.input.LA(20) - - if (LA122_44 == STRING) : - LA122_45 = self.input.LA(21) - - if (LA122_45 == 248) : - LA122_46 = self.input.LA(22) - - if (LA122_46 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - elif (LA122_42 in {ASNFILENAME, PARAMNAMES}) : - alt122 = 1 - - - - - - - elif LA122 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, ENDTEXT, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - alt122 = 1 - - elif (LA122_35 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 250}) : - alt122 = 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - elif LA122 in {254}: - LA122_5 = self.input.LA(3) - - if (LA122_5 == INT) : - LA122_8 = self.input.LA(4) - - if (LA122_8 == 248) : - LA122_12 = self.input.LA(5) - - if (LA122_12 == 252) : - LA122_15 = self.input.LA(6) - - if (LA122_15 == KEEP) : - LA122_19 = self.input.LA(7) - - if (LA122_19 == SPECIFIC) : - LA122_22 = self.input.LA(8) - - if (LA122_22 == GEODE) : - LA122_25 = self.input.LA(9) - - if (LA122_25 == PARTITION) : - LA122_28 = self.input.LA(10) - - if (LA122_28 == STRING) : - LA122_30 = self.input.LA(11) - - if (LA122_30 == 248) : - LA122_32 = self.input.LA(12) - - if (LA122_32 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - - - - - - - - - elif (LA122_12 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - elif LA122 in {KEEP}: - LA122_6 = self.input.LA(3) - - if (LA122_6 == SPECIFIC) : - LA122_9 = self.input.LA(4) - - if (LA122_9 == GEODE) : - LA122_13 = self.input.LA(5) - - if (LA122_13 == PARTITION) : - LA122_16 = self.input.LA(6) - - if (LA122_16 == STRING) : - LA122_20 = self.input.LA(7) - - if (LA122_20 == 248) : - LA122_23 = self.input.LA(8) - - if (LA122_23 == 252) : - LA122_26 = self.input.LA(9) - - if (LA122_26 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt122 = 1 - - - elif (LA122_23 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - - - - - - - - - - - - elif (LA122_0 in {EXPORTED, PROCEDURE}) : - alt122 = 1 - - - if alt122 == 1: - # sdl92.g:635:25: entities= entity_in_composite_state - pass - self._state.following.append(self.FOLLOW_entity_in_composite_state_in_state_aggregation7460) - 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 #loop122 - - - self._state.following.append(self.FOLLOW_state_aggregation_body_in_state_aggregation7481) - body = self.state_aggregation_body() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_state_aggregation_body.add(body.tree) - - - ENDSUBSTRUCTURE319 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation7499) - if self._state.backtracking == 0: - stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE319) - - - # sdl92.g:637:33: ( statename )? - alt123 = 2 - LA123_0 = self.input.LA(1) - - if (LA123_0 == ID) : - alt123 = 1 - if alt123 == 1: - # sdl92.g:637:33: statename - pass - self._state.following.append(self.FOLLOW_statename_in_state_aggregation7501) - statename320 = self.statename() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename320.tree) - - - - - - self._state.following.append(self.FOLLOW_end_in_state_aggregation7506) - 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() - # 638:9: -> ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) - # sdl92.g:638: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:638:47: ( connection_points )* - while stream_connection_points.hasNext(): - self._adaptor.addChild(root_1, stream_connection_points.nextTree()) - - - stream_connection_points.reset(); - - # sdl92.g:639: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:639: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 + self.tree = None # $ANTLR start "entity_in_composite_state" - # sdl92.g:644:1: entity_in_composite_state : ( text_area | procedure ) ; + # sdl92.g:656: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) @@ -13591,72 +13574,72 @@ def entity_in_composite_state(self, ): root_0 = None - text_area321 = None - procedure322 = None + text_area329 = None + procedure330 = None try: try: - # sdl92.g:645:9: ( ( text_area | procedure ) ) - # sdl92.g:645:17: ( text_area | procedure ) + # sdl92.g:657:9: ( ( text_area | procedure ) ) + # sdl92.g:657:17: ( text_area | procedure ) pass root_0 = self._adaptor.nil() - # sdl92.g:645:17: ( text_area | procedure ) - alt124 = 2 - LA124_0 = self.input.LA(1) + # sdl92.g:657:17: ( text_area | procedure ) + alt132 = 2 + LA132_0 = self.input.LA(1) - if (LA124_0 == 252) : - LA124_1 = self.input.LA(2) + if (LA132_0 == 254) : + LA132_1 = self.input.LA(2) - if (self.synpred154_sdl92()) : - alt124 = 1 + if (self.synpred162_sdl92()) : + alt132 = 1 elif (True) : - alt124 = 2 + alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 124, 1, self.input) + nvae = NoViableAltException("", 132, 1, self.input) raise nvae - elif (LA124_0 in {EXPORTED, PROCEDURE}) : - alt124 = 2 + elif (LA132_0 in {EXPORTED, PROCEDURE}) : + alt132 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 124, 0, self.input) + nvae = NoViableAltException("", 132, 0, self.input) raise nvae - if alt124 == 1: - # sdl92.g:645:18: text_area + if alt132 == 1: + # sdl92.g:657:18: text_area pass - self._state.following.append(self.FOLLOW_text_area_in_entity_in_composite_state7611) - text_area321 = self.text_area() + self._state.following.append(self.FOLLOW_text_area_in_entity_in_composite_state7847) + text_area329 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, text_area321.tree) + self._adaptor.addChild(root_0, text_area329.tree) - elif alt124 == 2: - # sdl92.g:645:30: procedure + elif alt132 == 2: + # sdl92.g:657:30: procedure pass - self._state.following.append(self.FOLLOW_procedure_in_entity_in_composite_state7615) - procedure322 = self.procedure() + self._state.following.append(self.FOLLOW_procedure_in_entity_in_composite_state7851) + procedure330 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, procedure322.tree) + self._adaptor.addChild(root_0, procedure330.tree) @@ -13696,7 +13679,7 @@ def __init__(self): # $ANTLR start "state_aggregation_body" - # sdl92.g:650:1: state_aggregation_body : ( state_partitioning | state_partition_connection )* ( state )* ; + # sdl92.g:662: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) @@ -13704,74 +13687,74 @@ def state_aggregation_body(self, ): root_0 = None - state_partitioning323 = None - state_partition_connection324 = None - state325 = None + state_partitioning331 = None + state_partition_connection332 = None + state333 = None try: try: - # sdl92.g:651:9: ( ( state_partitioning | state_partition_connection )* ( state )* ) - # sdl92.g:651:17: ( state_partitioning | state_partition_connection )* ( state )* + # sdl92.g:663:9: ( ( state_partitioning | state_partition_connection )* ( state )* ) + # sdl92.g:663:17: ( state_partitioning | state_partition_connection )* ( state )* pass root_0 = self._adaptor.nil() - # sdl92.g:651:17: ( state_partitioning | state_partition_connection )* - while True: #loop125 - alt125 = 3 - alt125 = self.dfa125.predict(self.input) - if alt125 == 1: - # sdl92.g:651:18: state_partitioning + # sdl92.g:663:17: ( state_partitioning | state_partition_connection )* + while True: #loop133 + alt133 = 3 + alt133 = self.dfa133.predict(self.input) + if alt133 == 1: + # sdl92.g:663:18: state_partitioning pass - self._state.following.append(self.FOLLOW_state_partitioning_in_state_aggregation_body7650) - state_partitioning323 = self.state_partitioning() + self._state.following.append(self.FOLLOW_state_partitioning_in_state_aggregation_body7886) + state_partitioning331 = self.state_partitioning() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_partitioning323.tree) + self._adaptor.addChild(root_0, state_partitioning331.tree) - elif alt125 == 2: - # sdl92.g:651:39: state_partition_connection + elif alt133 == 2: + # sdl92.g:663:39: state_partition_connection pass - self._state.following.append(self.FOLLOW_state_partition_connection_in_state_aggregation_body7654) - state_partition_connection324 = self.state_partition_connection() + self._state.following.append(self.FOLLOW_state_partition_connection_in_state_aggregation_body7890) + state_partition_connection332 = self.state_partition_connection() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_partition_connection324.tree) + self._adaptor.addChild(root_0, state_partition_connection332.tree) else: - break #loop125 + break #loop133 - # sdl92.g:652:17: ( state )* - while True: #loop126 - alt126 = 2 - LA126_0 = self.input.LA(1) + # sdl92.g:664:17: ( state )* + while True: #loop134 + alt134 = 2 + LA134_0 = self.input.LA(1) - if (LA126_0 in {STATE, 252}) : - alt126 = 1 + if (LA134_0 in {STATE, 254}) : + alt134 = 1 - if alt126 == 1: - # sdl92.g:652:17: state + if alt134 == 1: + # sdl92.g:664:17: state pass - self._state.following.append(self.FOLLOW_state_in_state_aggregation_body7674) - state325 = self.state() + self._state.following.append(self.FOLLOW_state_in_state_aggregation_body7910) + state333 = self.state() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state325.tree) + self._adaptor.addChild(root_0, state333.tree) else: - break #loop126 + break #loop134 @@ -13808,7 +13791,7 @@ def __init__(self): # $ANTLR start "state_partitioning" - # sdl92.g:657:1: state_partitioning : composite_state ; + # sdl92.g:669:1: state_partitioning : composite_state ; def state_partitioning(self, ): retval = self.state_partitioning_return() retval.start = self.input.LT(1) @@ -13816,23 +13799,23 @@ def state_partitioning(self, ): root_0 = None - composite_state326 = None + composite_state334 = None try: try: - # sdl92.g:658:9: ( composite_state ) - # sdl92.g:658:17: composite_state + # sdl92.g:670:9: ( composite_state ) + # sdl92.g:670:17: composite_state pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_composite_state_in_state_partitioning7708) - composite_state326 = self.composite_state() + self._state.following.append(self.FOLLOW_composite_state_in_state_partitioning7944) + composite_state334 = self.composite_state() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, composite_state326.tree) + self._adaptor.addChild(root_0, composite_state334.tree) @@ -13869,7 +13852,7 @@ def __init__(self): # $ANTLR start "state_partition_connection" - # sdl92.g:663:1: state_partition_connection : CONNECT outer= entry_point AND inner= entry_point end -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) ; + # sdl92.g:675: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) @@ -13877,29 +13860,29 @@ def state_partition_connection(self, ): root_0 = None - CONNECT327 = None - AND328 = None + CONNECT335 = None + AND336 = None outer = None inner = None - end329 = None + end337 = None - CONNECT327_tree = None - AND328_tree = None + CONNECT335_tree = None + AND336_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:664:9: ( CONNECT outer= entry_point AND inner= entry_point end -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) ) - # sdl92.g:664:17: CONNECT outer= entry_point AND inner= entry_point end + # sdl92.g:676:9: ( CONNECT outer= entry_point AND inner= entry_point end -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) ) + # sdl92.g:676:17: CONNECT outer= entry_point AND inner= entry_point end pass - CONNECT327 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_state_partition_connection7741) + CONNECT335 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_state_partition_connection7977) if self._state.backtracking == 0: - stream_CONNECT.add(CONNECT327) + stream_CONNECT.add(CONNECT335) - self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection7745) + self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection7981) outer = self.entry_point() self._state.following.pop() @@ -13907,12 +13890,12 @@ def state_partition_connection(self, ): stream_entry_point.add(outer.tree) - AND328 = self.match(self.input, AND, self.FOLLOW_AND_in_state_partition_connection7747) + AND336 = self.match(self.input, AND, self.FOLLOW_AND_in_state_partition_connection7983) if self._state.backtracking == 0: - stream_AND.add(AND328) + stream_AND.add(AND336) - self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection7751) + self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection7987) inner = self.entry_point() self._state.following.pop() @@ -13920,12 +13903,12 @@ def state_partition_connection(self, ): stream_entry_point.add(inner.tree) - self._state.following.append(self.FOLLOW_end_in_state_partition_connection7753) - end329 = self.end() + self._state.following.append(self.FOLLOW_end_in_state_partition_connection7989) + end337 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end329.tree) + stream_end.add(end337.tree) # AST Rewrite @@ -13954,8 +13937,8 @@ def state_partition_connection(self, ): root_0 = self._adaptor.nil() - # 665:9: -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) - # sdl92.g:665:17: ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) + # 677:9: -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) + # sdl92.g:677: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") @@ -13965,7 +13948,7 @@ def state_partition_connection(self, ): self._adaptor.addChild(root_1, stream_inner.nextTree()) - # sdl92.g:665:60: ( end )? + # sdl92.g:677:60: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -14015,7 +13998,7 @@ def __init__(self): # $ANTLR start "entry_point" - # sdl92.g:670:1: entry_point : state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ; + # sdl92.g:682: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) @@ -14024,35 +14007,35 @@ def entry_point(self, ): root_0 = None state_part_id = None - VIA330 = None - point331 = None + VIA338 = None + point339 = None state_part_id_tree = None - VIA330_tree = None + VIA338_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:671:9: (state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ) - # sdl92.g:671:17: state_part_id= ID VIA point + # sdl92.g:683:9: (state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ) + # sdl92.g:683:17: state_part_id= ID VIA point pass - state_part_id = self.match(self.input, ID, self.FOLLOW_ID_in_entry_point7816) + state_part_id = self.match(self.input, ID, self.FOLLOW_ID_in_entry_point8052) if self._state.backtracking == 0: stream_ID.add(state_part_id) - VIA330 = self.match(self.input, VIA, self.FOLLOW_VIA_in_entry_point7818) + VIA338 = self.match(self.input, VIA, self.FOLLOW_VIA_in_entry_point8054) if self._state.backtracking == 0: - stream_VIA.add(VIA330) + stream_VIA.add(VIA338) - self._state.following.append(self.FOLLOW_point_in_entry_point7820) - point331 = self.point() + self._state.following.append(self.FOLLOW_point_in_entry_point8056) + point339 = self.point() self._state.following.pop() if self._state.backtracking == 0: - stream_point.add(point331.tree) + stream_point.add(point339.tree) # AST Rewrite @@ -14072,8 +14055,8 @@ def entry_point(self, ): root_0 = self._adaptor.nil() - # 672:9: -> ^( ENTRY_POINT $state_part_id point ) - # sdl92.g:672:17: ^( ENTRY_POINT $state_part_id point ) + # 684:9: -> ^( ENTRY_POINT $state_part_id point ) + # sdl92.g:684:17: ^( ENTRY_POINT $state_part_id point ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(ENTRY_POINT, "ENTRY_POINT") @@ -14126,7 +14109,7 @@ def __init__(self): # $ANTLR start "point" - # sdl92.g:677:1: point : (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ; + # sdl92.g:689:1: point : (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ; def point(self, ): retval = self.point_return() retval.start = self.input.LT(1) @@ -14135,51 +14118,51 @@ def point(self, ): root_0 = None state_point = None - DEFAULT332 = None + DEFAULT340 = None state_point_tree = None - DEFAULT332_tree = None + DEFAULT340_tree = None stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") stream_DEFAULT = RewriteRuleTokenStream(self._adaptor, "token DEFAULT") try: try: - # sdl92.g:678:9: ( (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ) - # sdl92.g:678:17: (state_point= ID | DEFAULT ) + # sdl92.g:690:9: ( (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ) + # sdl92.g:690:17: (state_point= ID | DEFAULT ) pass - # sdl92.g:678:17: (state_point= ID | DEFAULT ) - alt127 = 2 - LA127_0 = self.input.LA(1) + # sdl92.g:690:17: (state_point= ID | DEFAULT ) + alt135 = 2 + LA135_0 = self.input.LA(1) - if (LA127_0 == ID) : - alt127 = 1 - elif (LA127_0 == DEFAULT) : - alt127 = 2 + if (LA135_0 == ID) : + alt135 = 1 + elif (LA135_0 == DEFAULT) : + alt135 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 127, 0, self.input) + nvae = NoViableAltException("", 135, 0, self.input) raise nvae - if alt127 == 1: - # sdl92.g:678:18: state_point= ID + if alt135 == 1: + # sdl92.g:690:18: state_point= ID pass - state_point = self.match(self.input, ID, self.FOLLOW_ID_in_point7880) + state_point = self.match(self.input, ID, self.FOLLOW_ID_in_point8116) if self._state.backtracking == 0: stream_ID.add(state_point) - elif alt127 == 2: - # sdl92.g:678:35: DEFAULT + elif alt135 == 2: + # sdl92.g:690:35: DEFAULT pass - DEFAULT332 = self.match(self.input, DEFAULT, self.FOLLOW_DEFAULT_in_point7884) + DEFAULT340 = self.match(self.input, DEFAULT, self.FOLLOW_DEFAULT_in_point8120) if self._state.backtracking == 0: - stream_DEFAULT.add(DEFAULT332) + stream_DEFAULT.add(DEFAULT340) @@ -14202,21 +14185,21 @@ def point(self, ): root_0 = self._adaptor.nil() - # 679:9: -> ^( POINT ( $state_point)? ( DEFAULT )? ) - # sdl92.g:679:17: ^( POINT ( $state_point)? ( DEFAULT )? ) + # 691:9: -> ^( POINT ( $state_point)? ( DEFAULT )? ) + # sdl92.g:691:17: ^( POINT ( $state_point)? ( DEFAULT )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(POINT, "POINT") , root_1) - # sdl92.g:679:26: ( $state_point)? + # sdl92.g:691:26: ( $state_point)? if stream_state_point.hasNext(): self._adaptor.addChild(root_1, stream_state_point.nextNode()) stream_state_point.reset(); - # sdl92.g:679:39: ( DEFAULT )? + # sdl92.g:691:39: ( DEFAULT )? if stream_DEFAULT.hasNext(): self._adaptor.addChild(root_1, stream_DEFAULT.nextNode() @@ -14268,7 +14251,7 @@ def __init__(self): # $ANTLR start "connection_points" - # sdl92.g:684: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 )? ) ); + # sdl92.g:696: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) @@ -14276,61 +14259,61 @@ def connection_points(self, ): root_0 = None - IN333 = None - OUT336 = None - state_entry_exit_points334 = None - end335 = None - state_entry_exit_points337 = None - end338 = None + IN341 = None + OUT344 = None + state_entry_exit_points342 = None + end343 = None + state_entry_exit_points345 = None + end346 = None - IN333_tree = None - OUT336_tree = None + IN341_tree = None + OUT344_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:685: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 )? ) ) - alt128 = 2 - LA128_0 = self.input.LA(1) + # sdl92.g:697: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 )? ) ) + alt136 = 2 + LA136_0 = self.input.LA(1) - if (LA128_0 == IN) : - alt128 = 1 - elif (LA128_0 == OUT) : - alt128 = 2 + if (LA136_0 == IN) : + alt136 = 1 + elif (LA136_0 == OUT) : + alt136 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 128, 0, self.input) + nvae = NoViableAltException("", 136, 0, self.input) raise nvae - if alt128 == 1: - # sdl92.g:685:17: IN state_entry_exit_points end + if alt136 == 1: + # sdl92.g:697:17: IN state_entry_exit_points end pass - IN333 = self.match(self.input, IN, self.FOLLOW_IN_in_connection_points7944) + IN341 = self.match(self.input, IN, self.FOLLOW_IN_in_connection_points8180) if self._state.backtracking == 0: - stream_IN.add(IN333) + stream_IN.add(IN341) - self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points7946) - state_entry_exit_points334 = self.state_entry_exit_points() + self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points8182) + state_entry_exit_points342 = self.state_entry_exit_points() self._state.following.pop() if self._state.backtracking == 0: - stream_state_entry_exit_points.add(state_entry_exit_points334.tree) + stream_state_entry_exit_points.add(state_entry_exit_points342.tree) - self._state.following.append(self.FOLLOW_end_in_connection_points7948) - end335 = self.end() + self._state.following.append(self.FOLLOW_end_in_connection_points8184) + end343 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end335.tree) + stream_end.add(end343.tree) # AST Rewrite @@ -14349,8 +14332,8 @@ def connection_points(self, ): root_0 = self._adaptor.nil() - # 686:9: -> ^( IN state_entry_exit_points ( end )? ) - # sdl92.g:686:17: ^( IN state_entry_exit_points ( end )? ) + # 698:9: -> ^( IN state_entry_exit_points ( end )? ) + # sdl92.g:698:17: ^( IN state_entry_exit_points ( end )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_IN.nextNode() @@ -14358,7 +14341,7 @@ def connection_points(self, ): self._adaptor.addChild(root_1, stream_state_entry_exit_points.nextTree()) - # sdl92.g:686:46: ( end )? + # sdl92.g:698:46: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -14375,28 +14358,28 @@ def connection_points(self, ): - elif alt128 == 2: - # sdl92.g:687:19: OUT state_entry_exit_points end + elif alt136 == 2: + # sdl92.g:699:19: OUT state_entry_exit_points end pass - OUT336 = self.match(self.input, OUT, self.FOLLOW_OUT_in_connection_points7992) + OUT344 = self.match(self.input, OUT, self.FOLLOW_OUT_in_connection_points8228) if self._state.backtracking == 0: - stream_OUT.add(OUT336) + stream_OUT.add(OUT344) - self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points7994) - state_entry_exit_points337 = self.state_entry_exit_points() + self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points8230) + state_entry_exit_points345 = self.state_entry_exit_points() self._state.following.pop() if self._state.backtracking == 0: - stream_state_entry_exit_points.add(state_entry_exit_points337.tree) + stream_state_entry_exit_points.add(state_entry_exit_points345.tree) - self._state.following.append(self.FOLLOW_end_in_connection_points7996) - end338 = self.end() + self._state.following.append(self.FOLLOW_end_in_connection_points8232) + end346 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end338.tree) + stream_end.add(end346.tree) # AST Rewrite @@ -14415,8 +14398,8 @@ def connection_points(self, ): root_0 = self._adaptor.nil() - # 688:9: -> ^( OUT state_entry_exit_points ( end )? ) - # sdl92.g:688:17: ^( OUT state_entry_exit_points ( end )? ) + # 700:9: -> ^( OUT state_entry_exit_points ( end )? ) + # sdl92.g:700:17: ^( OUT state_entry_exit_points ( end )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_OUT.nextNode() @@ -14424,7 +14407,7 @@ def connection_points(self, ): self._adaptor.addChild(root_1, stream_state_entry_exit_points.nextTree()) - # sdl92.g:688:47: ( end )? + # sdl92.g:700:47: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -14473,7 +14456,7 @@ def __init__(self): # $ANTLR start "state_entry_exit_points" - # sdl92.g:693:1: state_entry_exit_points : '(' statename ( ',' statename )* ')' -> ( statename )+ ; + # sdl92.g:705: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) @@ -14481,70 +14464,70 @@ def state_entry_exit_points(self, ): root_0 = None - char_literal339 = None - char_literal341 = None - char_literal343 = None - statename340 = None - statename342 = None + char_literal347 = None + char_literal349 = None + char_literal351 = None + statename348 = None + statename350 = None - char_literal339_tree = None - char_literal341_tree = None - char_literal343_tree = None + char_literal347_tree = None + char_literal349_tree = None + char_literal351_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:694:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) - # sdl92.g:694:17: '(' statename ( ',' statename )* ')' + # sdl92.g:706:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) + # sdl92.g:706:17: '(' statename ( ',' statename )* ')' pass - char_literal339 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_state_entry_exit_points8053) + char_literal347 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_state_entry_exit_points8289) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal339) + stream_L_PAREN.add(char_literal347) - self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points8055) - statename340 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points8291) + statename348 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename340.tree) + stream_statename.add(statename348.tree) - # sdl92.g:694:31: ( ',' statename )* - while True: #loop129 - alt129 = 2 - LA129_0 = self.input.LA(1) + # sdl92.g:706:31: ( ',' statename )* + while True: #loop137 + alt137 = 2 + LA137_0 = self.input.LA(1) - if (LA129_0 == COMMA) : - alt129 = 1 + if (LA137_0 == COMMA) : + alt137 = 1 - if alt129 == 1: - # sdl92.g:694:32: ',' statename + if alt137 == 1: + # sdl92.g:706:32: ',' statename pass - char_literal341 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_state_entry_exit_points8058) + char_literal349 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_state_entry_exit_points8294) if self._state.backtracking == 0: - stream_COMMA.add(char_literal341) + stream_COMMA.add(char_literal349) - self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points8060) - statename342 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points8296) + statename350 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename342.tree) + stream_statename.add(statename350.tree) else: - break #loop129 + break #loop137 - char_literal343 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_state_entry_exit_points8064) + char_literal351 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_state_entry_exit_points8300) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal343) + stream_R_PAREN.add(char_literal351) # AST Rewrite @@ -14563,8 +14546,8 @@ def state_entry_exit_points(self, ): root_0 = self._adaptor.nil() - # 695:9: -> ( statename )+ - # sdl92.g:695:17: ( statename )+ + # 707:9: -> ( statename )+ + # sdl92.g:707:17: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() @@ -14615,7 +14598,7 @@ def __init__(self): # $ANTLR start "composite_state_body" - # sdl92.g:702:1: composite_state_body : ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? ; + # sdl92.g:714: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) @@ -14623,152 +14606,152 @@ def composite_state_body(self, ): root_0 = None - EOF350 = None - text_area344 = None - procedure345 = None - composite_state346 = None - start347 = None - state348 = None - floating_label349 = None + EOF358 = None + text_area352 = None + procedure353 = None + composite_state354 = None + start355 = None + state356 = None + floating_label357 = None - EOF350_tree = None + EOF358_tree = None try: try: - # sdl92.g:703:9: ( ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? ) - # sdl92.g:703:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? + # sdl92.g:715:9: ( ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? ) + # sdl92.g:715:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? pass root_0 = self._adaptor.nil() - # sdl92.g:703:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* - while True: #loop130 - alt130 = 4 - LA130 = self.input.LA(1) - if LA130 in {252}: - LA130_1 = self.input.LA(2) + # sdl92.g:715:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* + while True: #loop138 + alt138 = 4 + LA138 = self.input.LA(1) + if LA138 in {254}: + LA138_1 = self.input.LA(2) - if (self.synpred161_sdl92()) : - alt130 = 1 - elif (self.synpred162_sdl92()) : - alt130 = 2 + if (self.synpred169_sdl92()) : + alt138 = 1 + elif (self.synpred170_sdl92()) : + alt138 = 2 - elif LA130 in {STATE}: - LA130_3 = self.input.LA(2) + elif LA138 in {STATE}: + LA138_3 = self.input.LA(2) - if (self.synpred163_sdl92()) : - alt130 = 3 + if (self.synpred171_sdl92()) : + alt138 = 3 - elif LA130 in {EXPORTED, PROCEDURE}: - alt130 = 2 + elif LA138 in {EXPORTED, PROCEDURE}: + alt138 = 2 - if alt130 == 1: - # sdl92.g:703:13: text_area + if alt138 == 1: + # sdl92.g:715:13: text_area pass - self._state.following.append(self.FOLLOW_text_area_in_composite_state_body8113) - text_area344 = self.text_area() + self._state.following.append(self.FOLLOW_text_area_in_composite_state_body8349) + text_area352 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, text_area344.tree) + self._adaptor.addChild(root_0, text_area352.tree) - elif alt130 == 2: - # sdl92.g:704:15: procedure + elif alt138 == 2: + # sdl92.g:716:15: procedure pass - self._state.following.append(self.FOLLOW_procedure_in_composite_state_body8129) - procedure345 = self.procedure() + self._state.following.append(self.FOLLOW_procedure_in_composite_state_body8365) + procedure353 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, procedure345.tree) + self._adaptor.addChild(root_0, procedure353.tree) - elif alt130 == 3: - # sdl92.g:705:15: ( composite_state_preamble )=> composite_state + elif alt138 == 3: + # sdl92.g:717:15: ( composite_state_preamble )=> composite_state pass - self._state.following.append(self.FOLLOW_composite_state_in_composite_state_body8150) - composite_state346 = self.composite_state() + self._state.following.append(self.FOLLOW_composite_state_in_composite_state_body8386) + composite_state354 = self.composite_state() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, composite_state346.tree) + self._adaptor.addChild(root_0, composite_state354.tree) else: - break #loop130 + break #loop138 - # sdl92.g:706:12: ( start )* - while True: #loop131 - alt131 = 2 - alt131 = self.dfa131.predict(self.input) - if alt131 == 1: - # sdl92.g:706:12: start + # sdl92.g:718:12: ( start )* + while True: #loop139 + alt139 = 2 + alt139 = self.dfa139.predict(self.input) + if alt139 == 1: + # sdl92.g:718:12: start pass - self._state.following.append(self.FOLLOW_start_in_composite_state_body8165) - start347 = self.start() + self._state.following.append(self.FOLLOW_start_in_composite_state_body8401) + start355 = self.start() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, start347.tree) + self._adaptor.addChild(root_0, start355.tree) else: - break #loop131 + break #loop139 - # sdl92.g:706:19: ( state | floating_label )* - while True: #loop132 - alt132 = 3 - alt132 = self.dfa132.predict(self.input) - if alt132 == 1: - # sdl92.g:706:20: state + # sdl92.g:718:19: ( state | floating_label )* + while True: #loop140 + alt140 = 3 + alt140 = self.dfa140.predict(self.input) + if alt140 == 1: + # sdl92.g:718:20: state pass - self._state.following.append(self.FOLLOW_state_in_composite_state_body8169) - state348 = self.state() + self._state.following.append(self.FOLLOW_state_in_composite_state_body8405) + state356 = self.state() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state348.tree) + self._adaptor.addChild(root_0, state356.tree) - elif alt132 == 2: - # sdl92.g:706:28: floating_label + elif alt140 == 2: + # sdl92.g:718:28: floating_label pass - self._state.following.append(self.FOLLOW_floating_label_in_composite_state_body8173) - floating_label349 = self.floating_label() + self._state.following.append(self.FOLLOW_floating_label_in_composite_state_body8409) + floating_label357 = self.floating_label() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, floating_label349.tree) + self._adaptor.addChild(root_0, floating_label357.tree) else: - break #loop132 + break #loop140 - # sdl92.g:707:12: ( EOF )? - alt133 = 2 - LA133_0 = self.input.LA(1) + # sdl92.g:719:12: ( EOF )? + alt141 = 2 + LA141_0 = self.input.LA(1) - if (LA133_0 == EOF) : - alt133 = 1 - if alt133 == 1: - # sdl92.g:707:12: EOF + if (LA141_0 == EOF) : + alt141 = 1 + if alt141 == 1: + # sdl92.g:719:12: EOF pass - EOF350 = self.match(self.input, EOF, self.FOLLOW_EOF_in_composite_state_body8188) + EOF358 = self.match(self.input, EOF, self.FOLLOW_EOF_in_composite_state_body8424) if self._state.backtracking == 0: - EOF350_tree = self._adaptor.createWithPayload(EOF350) - self._adaptor.addChild(root_0, EOF350_tree) + EOF358_tree = self._adaptor.createWithPayload(EOF358) + self._adaptor.addChild(root_0, EOF358_tree) @@ -14809,7 +14792,7 @@ def __init__(self): # $ANTLR start "state_part" - # sdl92.g:711:1: state_part : ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ); + # sdl92.g:723: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) @@ -14817,90 +14800,90 @@ def state_part(self, ): root_0 = None - input_part351 = None - save_part352 = None - spontaneous_transition353 = None - continuous_signal354 = None - connect_part355 = None + input_part359 = None + save_part360 = None + spontaneous_transition361 = None + continuous_signal362 = None + connect_part363 = None try: try: - # sdl92.g:712:9: ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ) - alt134 = 5 - alt134 = self.dfa134.predict(self.input) - if alt134 == 1: - # sdl92.g:712:17: input_part + # sdl92.g:724:9: ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ) + alt142 = 5 + alt142 = self.dfa142.predict(self.input) + if alt142 == 1: + # sdl92.g:724:17: input_part pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_input_part_in_state_part8221) - input_part351 = self.input_part() + self._state.following.append(self.FOLLOW_input_part_in_state_part8457) + input_part359 = self.input_part() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, input_part351.tree) + self._adaptor.addChild(root_0, input_part359.tree) - elif alt134 == 2: - # sdl92.g:714:19: save_part + elif alt142 == 2: + # sdl92.g:726:19: save_part pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_save_part_in_state_part8258) - save_part352 = self.save_part() + self._state.following.append(self.FOLLOW_save_part_in_state_part8494) + save_part360 = self.save_part() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, save_part352.tree) + self._adaptor.addChild(root_0, save_part360.tree) - elif alt134 == 3: - # sdl92.g:715:19: spontaneous_transition + elif alt142 == 3: + # sdl92.g:727:19: spontaneous_transition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_spontaneous_transition_in_state_part8293) - spontaneous_transition353 = self.spontaneous_transition() + self._state.following.append(self.FOLLOW_spontaneous_transition_in_state_part8529) + spontaneous_transition361 = self.spontaneous_transition() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, spontaneous_transition353.tree) + self._adaptor.addChild(root_0, spontaneous_transition361.tree) - elif alt134 == 4: - # sdl92.g:716:19: continuous_signal + elif alt142 == 4: + # sdl92.g:728:19: continuous_signal pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_continuous_signal_in_state_part8313) - continuous_signal354 = self.continuous_signal() + self._state.following.append(self.FOLLOW_continuous_signal_in_state_part8549) + continuous_signal362 = self.continuous_signal() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, continuous_signal354.tree) + self._adaptor.addChild(root_0, continuous_signal362.tree) - elif alt134 == 5: - # sdl92.g:717:19: connect_part + elif alt142 == 5: + # sdl92.g:729:19: connect_part pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_connect_part_in_state_part8333) - connect_part355 = self.connect_part() + self._state.following.append(self.FOLLOW_connect_part_in_state_part8569) + connect_part363 = self.connect_part() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, connect_part355.tree) + self._adaptor.addChild(root_0, connect_part363.tree) @@ -14936,7 +14919,7 @@ def __init__(self): # $ANTLR start "connect_part" - # sdl92.g:722:1: connect_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) ; + # sdl92.g:734:1: connect_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) ; def connect_part(self, ): retval = self.connect_part_return() retval.start = self.input.LT(1) @@ -14944,17 +14927,17 @@ def connect_part(self, ): root_0 = None - CONNECT361 = None - cif356 = None - symbolid357 = None - hyperlink358 = None - requirement359 = None - rid360 = None - connect_list362 = None - end363 = None - transition364 = None - - CONNECT361_tree = None + CONNECT369 = None + cif364 = None + symbolid365 = None + hyperlink366 = None + requirement367 = None + rid368 = None + connect_list370 = None + end371 = None + transition372 = None + + CONNECT369_tree = None stream_CONNECT = RewriteRuleTokenStream(self._adaptor, "token CONNECT") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -14966,106 +14949,106 @@ def connect_part(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:723:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) ) - # sdl92.g:723:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? + # sdl92.g:735:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) ) + # sdl92.g:735:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? pass - # sdl92.g:723:17: ( cif )? - alt135 = 2 - LA135_0 = self.input.LA(1) + # sdl92.g:735:17: ( cif )? + alt143 = 2 + LA143_0 = self.input.LA(1) - if (LA135_0 == 252) : - LA135_1 = self.input.LA(2) + if (LA143_0 == 254) : + LA143_1 = self.input.LA(2) - if (LA135_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt135 = 1 - if alt135 == 1: - # sdl92.g:723:17: cif + if (LA143_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt143 = 1 + if alt143 == 1: + # sdl92.g:735:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_connect_part8366) - cif356 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_connect_part8602) + cif364 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif356.tree) + stream_cif.add(cif364.tree) - # sdl92.g:724:17: ( symbolid )? - alt136 = 2 - LA136_0 = self.input.LA(1) + # sdl92.g:736:17: ( symbolid )? + alt144 = 2 + LA144_0 = self.input.LA(1) - if (LA136_0 == 252) : - LA136_1 = self.input.LA(2) + if (LA144_0 == 254) : + LA144_1 = self.input.LA(2) - if (LA136_1 == 254) : - alt136 = 1 - if alt136 == 1: - # sdl92.g:724:17: symbolid + if (LA144_1 == 256) : + alt144 = 1 + if alt144 == 1: + # sdl92.g:736:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_connect_part8385) - symbolid357 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_connect_part8621) + symbolid365 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid357.tree) + stream_symbolid.add(symbolid365.tree) - # sdl92.g:725:17: ( hyperlink )? - alt137 = 2 - LA137_0 = self.input.LA(1) + # sdl92.g:737:17: ( hyperlink )? + alt145 = 2 + LA145_0 = self.input.LA(1) - if (LA137_0 == 252) : - LA137_1 = self.input.LA(2) + if (LA145_0 == 254) : + LA145_1 = self.input.LA(2) - if (LA137_1 == KEEP) : - LA137_3 = self.input.LA(3) + if (LA145_1 == KEEP) : + LA145_3 = self.input.LA(3) - if (LA137_3 == SPECIFIC) : - LA137_4 = self.input.LA(4) + if (LA145_3 == SPECIFIC) : + LA145_4 = self.input.LA(4) - if (LA137_4 == GEODE) : - LA137_5 = self.input.LA(5) + if (LA145_4 == GEODE) : + LA145_5 = self.input.LA(5) - if (LA137_5 == HYPERLINK) : - alt137 = 1 - if alt137 == 1: - # sdl92.g:725:17: hyperlink + if (LA145_5 == HYPERLINK) : + alt145 = 1 + if alt145 == 1: + # sdl92.g:737:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_connect_part8404) - hyperlink358 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_connect_part8640) + hyperlink366 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink358.tree) + stream_hyperlink.add(hyperlink366.tree) - # sdl92.g:726:17: ( requirement )* - while True: #loop138 - alt138 = 2 - LA138_0 = self.input.LA(1) + # sdl92.g:738:17: ( requirement )* + while True: #loop146 + alt146 = 2 + LA146_0 = self.input.LA(1) - if (LA138_0 == 252) : - LA138_1 = self.input.LA(2) + if (LA146_0 == 254) : + LA146_1 = self.input.LA(2) - if (LA138_1 == KEEP) : - LA138_3 = self.input.LA(3) + if (LA146_1 == KEEP) : + LA146_3 = self.input.LA(3) - if (LA138_3 == SPECIFIC) : - LA138_4 = self.input.LA(4) + if (LA146_3 == SPECIFIC) : + LA146_4 = self.input.LA(4) - if (LA138_4 == GEODE) : - LA138_5 = self.input.LA(5) + if (LA146_4 == GEODE) : + LA146_5 = self.input.LA(5) - if (LA138_5 == REQ_ID) : - alt138 = 1 + if (LA146_5 == REQ_ID) : + alt146 = 1 @@ -15076,92 +15059,92 @@ def connect_part(self, ): - if alt138 == 1: - # sdl92.g:726:17: requirement + if alt146 == 1: + # sdl92.g:738:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_connect_part8423) - requirement359 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_connect_part8659) + requirement367 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement359.tree) + stream_requirement.add(requirement367.tree) else: - break #loop138 + break #loop146 - # sdl92.g:727:17: ( rid )* - while True: #loop139 - alt139 = 2 - LA139_0 = self.input.LA(1) + # sdl92.g:739:17: ( rid )* + while True: #loop147 + alt147 = 2 + LA147_0 = self.input.LA(1) - if (LA139_0 == 252) : - alt139 = 1 + if (LA147_0 == 254) : + alt147 = 1 - if alt139 == 1: - # sdl92.g:727:17: rid + if alt147 == 1: + # sdl92.g:739:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_connect_part8442) - rid360 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_connect_part8678) + rid368 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid360.tree) + stream_rid.add(rid368.tree) else: - break #loop139 + break #loop147 - CONNECT361 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connect_part8461) + CONNECT369 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connect_part8697) if self._state.backtracking == 0: - stream_CONNECT.add(CONNECT361) + stream_CONNECT.add(CONNECT369) - # sdl92.g:728:25: ( connect_list )? - alt140 = 2 - LA140_0 = self.input.LA(1) + # sdl92.g:740:25: ( connect_list )? + alt148 = 2 + LA148_0 = self.input.LA(1) - if (LA140_0 in {ASTERISK, ID}) : - alt140 = 1 - if alt140 == 1: - # sdl92.g:728:25: connect_list + if (LA148_0 in {ASTERISK, ID}) : + alt148 = 1 + if alt148 == 1: + # sdl92.g:740:25: connect_list pass - self._state.following.append(self.FOLLOW_connect_list_in_connect_part8463) - connect_list362 = self.connect_list() + self._state.following.append(self.FOLLOW_connect_list_in_connect_part8699) + connect_list370 = self.connect_list() self._state.following.pop() if self._state.backtracking == 0: - stream_connect_list.add(connect_list362.tree) + stream_connect_list.add(connect_list370.tree) - self._state.following.append(self.FOLLOW_end_in_connect_part8466) - end363 = self.end() + self._state.following.append(self.FOLLOW_end_in_connect_part8702) + end371 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end363.tree) + stream_end.add(end371.tree) - # sdl92.g:729:17: ( transition )? - alt141 = 2 - alt141 = self.dfa141.predict(self.input) - if alt141 == 1: - # sdl92.g:729:17: transition + # sdl92.g:741:17: ( transition )? + alt149 = 2 + alt149 = self.dfa149.predict(self.input) + if alt149 == 1: + # sdl92.g:741:17: transition pass - self._state.following.append(self.FOLLOW_transition_in_connect_part8484) - transition364 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_connect_part8720) + transition372 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition364.tree) + stream_transition.add(transition372.tree) @@ -15183,63 +15166,63 @@ def connect_part(self, ): root_0 = self._adaptor.nil() - # 730:9: -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) - # sdl92.g:730:17: ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) + # 742:9: -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) + # sdl92.g:742:17: ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_CONNECT.nextNode() , root_1) - # sdl92.g:730:27: ( cif )? + # sdl92.g:742:27: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:730:32: ( symbolid )? + # sdl92.g:742:32: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:730:42: ( hyperlink )? + # sdl92.g:742:42: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:730:53: ( requirement )* + # sdl92.g:742:53: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:730:66: ( rid )* + # sdl92.g:742:66: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:730:71: ( connect_list )? + # sdl92.g:742:71: ( connect_list )? if stream_connect_list.hasNext(): self._adaptor.addChild(root_1, stream_connect_list.nextTree()) stream_connect_list.reset(); - # sdl92.g:730:85: ( end )? + # sdl92.g:742:85: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); - # sdl92.g:730:90: ( transition )? + # sdl92.g:742:90: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -15289,7 +15272,7 @@ def __init__(self): # $ANTLR start "connect_list" - # sdl92.g:734:1: connect_list : ( state_exit_point_name ( ',' state_exit_point_name )* -> ( state_exit_point_name )+ | ASTERISK ); + # sdl92.g:746: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) @@ -15297,74 +15280,74 @@ def connect_list(self, ): root_0 = None - char_literal366 = None - ASTERISK368 = None - state_exit_point_name365 = None - state_exit_point_name367 = None + char_literal374 = None + ASTERISK376 = None + state_exit_point_name373 = None + state_exit_point_name375 = None - char_literal366_tree = None - ASTERISK368_tree = None + char_literal374_tree = None + ASTERISK376_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:735:9: ( state_exit_point_name ( ',' state_exit_point_name )* -> ( state_exit_point_name )+ | ASTERISK ) - alt143 = 2 - LA143_0 = self.input.LA(1) + # sdl92.g:747:9: ( state_exit_point_name ( ',' state_exit_point_name )* -> ( state_exit_point_name )+ | ASTERISK ) + alt151 = 2 + LA151_0 = self.input.LA(1) - if (LA143_0 == ID) : - alt143 = 1 - elif (LA143_0 == ASTERISK) : - alt143 = 2 + if (LA151_0 == ID) : + alt151 = 1 + elif (LA151_0 == ASTERISK) : + alt151 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 143, 0, self.input) + nvae = NoViableAltException("", 151, 0, self.input) raise nvae - if alt143 == 1: - # sdl92.g:735:17: state_exit_point_name ( ',' state_exit_point_name )* + if alt151 == 1: + # sdl92.g:747:17: state_exit_point_name ( ',' state_exit_point_name )* pass - self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list8560) - state_exit_point_name365 = self.state_exit_point_name() + self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list8796) + state_exit_point_name373 = self.state_exit_point_name() self._state.following.pop() if self._state.backtracking == 0: - stream_state_exit_point_name.add(state_exit_point_name365.tree) + stream_state_exit_point_name.add(state_exit_point_name373.tree) - # sdl92.g:735:39: ( ',' state_exit_point_name )* - while True: #loop142 - alt142 = 2 - LA142_0 = self.input.LA(1) + # sdl92.g:747:39: ( ',' state_exit_point_name )* + while True: #loop150 + alt150 = 2 + LA150_0 = self.input.LA(1) - if (LA142_0 == COMMA) : - alt142 = 1 + if (LA150_0 == COMMA) : + alt150 = 1 - if alt142 == 1: - # sdl92.g:735:40: ',' state_exit_point_name + if alt150 == 1: + # sdl92.g:747:40: ',' state_exit_point_name pass - char_literal366 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_connect_list8563) + char_literal374 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_connect_list8799) if self._state.backtracking == 0: - stream_COMMA.add(char_literal366) + stream_COMMA.add(char_literal374) - self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list8565) - state_exit_point_name367 = self.state_exit_point_name() + self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list8801) + state_exit_point_name375 = self.state_exit_point_name() self._state.following.pop() if self._state.backtracking == 0: - stream_state_exit_point_name.add(state_exit_point_name367.tree) + stream_state_exit_point_name.add(state_exit_point_name375.tree) else: - break #loop142 + break #loop150 # AST Rewrite @@ -15383,8 +15366,8 @@ def connect_list(self, ): root_0 = self._adaptor.nil() - # 736:17: -> ( state_exit_point_name )+ - # sdl92.g:736:20: ( state_exit_point_name )+ + # 748:17: -> ( state_exit_point_name )+ + # sdl92.g:748:20: ( state_exit_point_name )+ if not (stream_state_exit_point_name.hasNext()): raise RewriteEarlyExitException() @@ -15402,16 +15385,16 @@ def connect_list(self, ): - elif alt143 == 2: - # sdl92.g:737:19: ASTERISK + elif alt151 == 2: + # sdl92.g:749:19: ASTERISK pass root_0 = self._adaptor.nil() - ASTERISK368 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_connect_list8608) + ASTERISK376 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_connect_list8844) if self._state.backtracking == 0: - ASTERISK368_tree = self._adaptor.createWithPayload(ASTERISK368) - self._adaptor.addChild(root_0, ASTERISK368_tree) + ASTERISK376_tree = self._adaptor.createWithPayload(ASTERISK376) + self._adaptor.addChild(root_0, ASTERISK376_tree) @@ -15448,7 +15431,7 @@ def __init__(self): # $ANTLR start "spontaneous_transition" - # sdl92.g:741:1: spontaneous_transition : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) ; + # sdl92.g:753:1: spontaneous_transition : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) ; def spontaneous_transition(self, ): retval = self.spontaneous_transition_return() retval.start = self.input.LT(1) @@ -15456,19 +15439,19 @@ def spontaneous_transition(self, ): root_0 = None - INPUT374 = None - NONE375 = None - cif369 = None - symbolid370 = None - hyperlink371 = None - requirement372 = None - rid373 = None - end376 = None - enabling_condition377 = None - transition378 = None - - INPUT374_tree = None - NONE375_tree = None + INPUT382 = None + NONE383 = None + cif377 = None + symbolid378 = None + hyperlink379 = None + requirement380 = None + rid381 = None + end384 = None + enabling_condition385 = None + transition386 = None + + INPUT382_tree = None + NONE383_tree = None stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") stream_NONE = RewriteRuleTokenStream(self._adaptor, "token NONE") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") @@ -15481,106 +15464,106 @@ def spontaneous_transition(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:742:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) ) - # sdl92.g:742:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition + # sdl92.g:754:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) ) + # sdl92.g:754:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition pass - # sdl92.g:742:17: ( cif )? - alt144 = 2 - LA144_0 = self.input.LA(1) + # sdl92.g:754:17: ( cif )? + alt152 = 2 + LA152_0 = self.input.LA(1) - if (LA144_0 == 252) : - LA144_1 = self.input.LA(2) + if (LA152_0 == 254) : + LA152_1 = self.input.LA(2) - if (LA144_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt144 = 1 - if alt144 == 1: - # sdl92.g:742:17: cif + if (LA152_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt152 = 1 + if alt152 == 1: + # sdl92.g:754:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_spontaneous_transition8640) - cif369 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_spontaneous_transition8876) + cif377 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif369.tree) + stream_cif.add(cif377.tree) - # sdl92.g:743:17: ( symbolid )? - alt145 = 2 - LA145_0 = self.input.LA(1) + # sdl92.g:755:17: ( symbolid )? + alt153 = 2 + LA153_0 = self.input.LA(1) - if (LA145_0 == 252) : - LA145_1 = self.input.LA(2) + if (LA153_0 == 254) : + LA153_1 = self.input.LA(2) - if (LA145_1 == 254) : - alt145 = 1 - if alt145 == 1: - # sdl92.g:743:17: symbolid + if (LA153_1 == 256) : + alt153 = 1 + if alt153 == 1: + # sdl92.g:755:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_spontaneous_transition8659) - symbolid370 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_spontaneous_transition8895) + symbolid378 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid370.tree) + stream_symbolid.add(symbolid378.tree) - # sdl92.g:744:17: ( hyperlink )? - alt146 = 2 - LA146_0 = self.input.LA(1) + # sdl92.g:756:17: ( hyperlink )? + alt154 = 2 + LA154_0 = self.input.LA(1) - if (LA146_0 == 252) : - LA146_1 = self.input.LA(2) + if (LA154_0 == 254) : + LA154_1 = self.input.LA(2) - if (LA146_1 == KEEP) : - LA146_3 = self.input.LA(3) + if (LA154_1 == KEEP) : + LA154_3 = self.input.LA(3) - if (LA146_3 == SPECIFIC) : - LA146_4 = self.input.LA(4) + if (LA154_3 == SPECIFIC) : + LA154_4 = self.input.LA(4) - if (LA146_4 == GEODE) : - LA146_5 = self.input.LA(5) + if (LA154_4 == GEODE) : + LA154_5 = self.input.LA(5) - if (LA146_5 == HYPERLINK) : - alt146 = 1 - if alt146 == 1: - # sdl92.g:744:17: hyperlink + if (LA154_5 == HYPERLINK) : + alt154 = 1 + if alt154 == 1: + # sdl92.g:756:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_spontaneous_transition8678) - hyperlink371 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_spontaneous_transition8914) + hyperlink379 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink371.tree) + stream_hyperlink.add(hyperlink379.tree) - # sdl92.g:745:17: ( requirement )* - while True: #loop147 - alt147 = 2 - LA147_0 = self.input.LA(1) + # sdl92.g:757:17: ( requirement )* + while True: #loop155 + alt155 = 2 + LA155_0 = self.input.LA(1) - if (LA147_0 == 252) : - LA147_1 = self.input.LA(2) + if (LA155_0 == 254) : + LA155_1 = self.input.LA(2) - if (LA147_1 == KEEP) : - LA147_3 = self.input.LA(3) + if (LA155_1 == KEEP) : + LA155_3 = self.input.LA(3) - if (LA147_3 == SPECIFIC) : - LA147_4 = self.input.LA(4) + if (LA155_3 == SPECIFIC) : + LA155_4 = self.input.LA(4) - if (LA147_4 == GEODE) : - LA147_5 = self.input.LA(5) + if (LA155_4 == GEODE) : + LA155_5 = self.input.LA(5) - if (LA147_5 == REQ_ID) : - alt147 = 1 + if (LA155_5 == REQ_ID) : + alt155 = 1 @@ -15591,91 +15574,91 @@ def spontaneous_transition(self, ): - if alt147 == 1: - # sdl92.g:745:17: requirement + if alt155 == 1: + # sdl92.g:757:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_spontaneous_transition8697) - requirement372 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_spontaneous_transition8933) + requirement380 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement372.tree) + stream_requirement.add(requirement380.tree) else: - break #loop147 + break #loop155 - # sdl92.g:746:17: ( rid )* - while True: #loop148 - alt148 = 2 - LA148_0 = self.input.LA(1) + # sdl92.g:758:17: ( rid )* + while True: #loop156 + alt156 = 2 + LA156_0 = self.input.LA(1) - if (LA148_0 == 252) : - alt148 = 1 + if (LA156_0 == 254) : + alt156 = 1 - if alt148 == 1: - # sdl92.g:746:17: rid + if alt156 == 1: + # sdl92.g:758:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_spontaneous_transition8716) - rid373 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_spontaneous_transition8952) + rid381 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid373.tree) + stream_rid.add(rid381.tree) else: - break #loop148 + break #loop156 - INPUT374 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_spontaneous_transition8735) + INPUT382 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_spontaneous_transition8971) if self._state.backtracking == 0: - stream_INPUT.add(INPUT374) + stream_INPUT.add(INPUT382) - NONE375 = self.match(self.input, NONE, self.FOLLOW_NONE_in_spontaneous_transition8737) + NONE383 = self.match(self.input, NONE, self.FOLLOW_NONE_in_spontaneous_transition8973) if self._state.backtracking == 0: - stream_NONE.add(NONE375) + stream_NONE.add(NONE383) - self._state.following.append(self.FOLLOW_end_in_spontaneous_transition8739) - end376 = self.end() + self._state.following.append(self.FOLLOW_end_in_spontaneous_transition8975) + end384 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end376.tree) + stream_end.add(end384.tree) - # sdl92.g:748:17: ( enabling_condition )? - alt149 = 2 - LA149_0 = self.input.LA(1) + # sdl92.g:760:17: ( enabling_condition )? + alt157 = 2 + LA157_0 = self.input.LA(1) - if (LA149_0 == PROVIDED) : - alt149 = 1 - if alt149 == 1: - # sdl92.g:748:17: enabling_condition + if (LA157_0 == PROVIDED) : + alt157 = 1 + if alt157 == 1: + # sdl92.g:760:17: enabling_condition pass - self._state.following.append(self.FOLLOW_enabling_condition_in_spontaneous_transition8757) - enabling_condition377 = self.enabling_condition() + self._state.following.append(self.FOLLOW_enabling_condition_in_spontaneous_transition8993) + enabling_condition385 = self.enabling_condition() self._state.following.pop() if self._state.backtracking == 0: - stream_enabling_condition.add(enabling_condition377.tree) + stream_enabling_condition.add(enabling_condition385.tree) - self._state.following.append(self.FOLLOW_transition_in_spontaneous_transition8776) - transition378 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_spontaneous_transition9012) + transition386 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition378.tree) + stream_transition.add(transition386.tree) # AST Rewrite @@ -15694,42 +15677,42 @@ def spontaneous_transition(self, ): root_0 = self._adaptor.nil() - # 750:9: -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) - # sdl92.g:750:17: ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) + # 762:9: -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) + # sdl92.g:762:17: ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(INPUT_NONE, "INPUT_NONE") , root_1) - # sdl92.g:750:30: ( cif )? + # sdl92.g:762:30: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:750:35: ( symbolid )? + # sdl92.g:762:35: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:750:45: ( hyperlink )? + # sdl92.g:762:45: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:750:56: ( requirement )* + # sdl92.g:762:56: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:750:69: ( rid )* + # sdl92.g:762:69: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) @@ -15781,7 +15764,7 @@ def __init__(self): # $ANTLR start "enabling_condition" - # sdl92.g:754:1: enabling_condition : PROVIDED expression end -> ^( PROVIDED expression ) ; + # sdl92.g:766:1: enabling_condition : PROVIDED expression end -> ^( PROVIDED expression ) ; def enabling_condition(self, ): retval = self.enabling_condition_return() retval.start = self.input.LT(1) @@ -15789,38 +15772,38 @@ def enabling_condition(self, ): root_0 = None - PROVIDED379 = None - expression380 = None - end381 = None + PROVIDED387 = None + expression388 = None + end389 = None - PROVIDED379_tree = None + PROVIDED387_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:755:9: ( PROVIDED expression end -> ^( PROVIDED expression ) ) - # sdl92.g:755:17: PROVIDED expression end + # sdl92.g:767:9: ( PROVIDED expression end -> ^( PROVIDED expression ) ) + # sdl92.g:767:17: PROVIDED expression end pass - PROVIDED379 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_enabling_condition8844) + PROVIDED387 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_enabling_condition9080) if self._state.backtracking == 0: - stream_PROVIDED.add(PROVIDED379) + stream_PROVIDED.add(PROVIDED387) - self._state.following.append(self.FOLLOW_expression_in_enabling_condition8846) - expression380 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_enabling_condition9082) + expression388 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression380.tree) + stream_expression.add(expression388.tree) - self._state.following.append(self.FOLLOW_end_in_enabling_condition8848) - end381 = self.end() + self._state.following.append(self.FOLLOW_end_in_enabling_condition9084) + end389 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end381.tree) + stream_end.add(end389.tree) # AST Rewrite @@ -15839,8 +15822,8 @@ def enabling_condition(self, ): root_0 = self._adaptor.nil() - # 756:9: -> ^( PROVIDED expression ) - # sdl92.g:756:17: ^( PROVIDED expression ) + # 768:9: -> ^( PROVIDED expression ) + # sdl92.g:768:17: ^( PROVIDED expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PROVIDED.nextNode() @@ -15891,7 +15874,7 @@ def __init__(self): # $ANTLR start "continuous_signal" - # sdl92.g:760:1: continuous_signal : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) ; + # sdl92.g:772:1: continuous_signal : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) ; def continuous_signal(self, ): retval = self.continuous_signal_return() retval.start = self.input.LT(1) @@ -15900,21 +15883,21 @@ def continuous_signal(self, ): root_0 = None p = None - PROVIDED387 = None - PRIORITY389 = None + PROVIDED395 = None + PRIORITY397 = None e = None - cif382 = None - symbolid383 = None - hyperlink384 = None - requirement385 = None - rid386 = None - expression388 = None - end390 = None - transition391 = None + cif390 = None + symbolid391 = None + hyperlink392 = None + requirement393 = None + rid394 = None + expression396 = None + end398 = None + transition399 = None p_tree = None - PROVIDED387_tree = None - PRIORITY389_tree = None + PROVIDED395_tree = None + PRIORITY397_tree = None stream_PROVIDED = RewriteRuleTokenStream(self._adaptor, "token PROVIDED") stream_PRIORITY = RewriteRuleTokenStream(self._adaptor, "token PRIORITY") stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") @@ -15928,106 +15911,106 @@ def continuous_signal(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:761:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) ) - # sdl92.g:761:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? + # sdl92.g:773:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) ) + # sdl92.g:773:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? pass - # sdl92.g:761:17: ( cif )? - alt150 = 2 - LA150_0 = self.input.LA(1) + # sdl92.g:773:17: ( cif )? + alt158 = 2 + LA158_0 = self.input.LA(1) - if (LA150_0 == 252) : - LA150_1 = self.input.LA(2) + if (LA158_0 == 254) : + LA158_1 = self.input.LA(2) - if (LA150_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt150 = 1 - if alt150 == 1: - # sdl92.g:761:17: cif + if (LA158_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt158 = 1 + if alt158 == 1: + # sdl92.g:773:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_continuous_signal8901) - cif382 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_continuous_signal9137) + cif390 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif382.tree) + stream_cif.add(cif390.tree) - # sdl92.g:762:17: ( symbolid )? - alt151 = 2 - LA151_0 = self.input.LA(1) + # sdl92.g:774:17: ( symbolid )? + alt159 = 2 + LA159_0 = self.input.LA(1) - if (LA151_0 == 252) : - LA151_1 = self.input.LA(2) + if (LA159_0 == 254) : + LA159_1 = self.input.LA(2) - if (LA151_1 == 254) : - alt151 = 1 - if alt151 == 1: - # sdl92.g:762:17: symbolid + if (LA159_1 == 256) : + alt159 = 1 + if alt159 == 1: + # sdl92.g:774:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_continuous_signal8920) - symbolid383 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_continuous_signal9156) + symbolid391 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid383.tree) + stream_symbolid.add(symbolid391.tree) - # sdl92.g:763:17: ( hyperlink )? - alt152 = 2 - LA152_0 = self.input.LA(1) + # sdl92.g:775:17: ( hyperlink )? + alt160 = 2 + LA160_0 = self.input.LA(1) - if (LA152_0 == 252) : - LA152_1 = self.input.LA(2) + if (LA160_0 == 254) : + LA160_1 = self.input.LA(2) - if (LA152_1 == KEEP) : - LA152_3 = self.input.LA(3) + if (LA160_1 == KEEP) : + LA160_3 = self.input.LA(3) - if (LA152_3 == SPECIFIC) : - LA152_4 = self.input.LA(4) + if (LA160_3 == SPECIFIC) : + LA160_4 = self.input.LA(4) - if (LA152_4 == GEODE) : - LA152_5 = self.input.LA(5) + if (LA160_4 == GEODE) : + LA160_5 = self.input.LA(5) - if (LA152_5 == HYPERLINK) : - alt152 = 1 - if alt152 == 1: - # sdl92.g:763:17: hyperlink + if (LA160_5 == HYPERLINK) : + alt160 = 1 + if alt160 == 1: + # sdl92.g:775:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_continuous_signal8939) - hyperlink384 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_continuous_signal9175) + hyperlink392 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink384.tree) + stream_hyperlink.add(hyperlink392.tree) - # sdl92.g:764:17: ( requirement )* - while True: #loop153 - alt153 = 2 - LA153_0 = self.input.LA(1) + # sdl92.g:776:17: ( requirement )* + while True: #loop161 + alt161 = 2 + LA161_0 = self.input.LA(1) - if (LA153_0 == 252) : - LA153_1 = self.input.LA(2) + if (LA161_0 == 254) : + LA161_1 = self.input.LA(2) - if (LA153_1 == KEEP) : - LA153_3 = self.input.LA(3) + if (LA161_1 == KEEP) : + LA161_3 = self.input.LA(3) - if (LA153_3 == SPECIFIC) : - LA153_4 = self.input.LA(4) + if (LA161_3 == SPECIFIC) : + LA161_4 = self.input.LA(4) - if (LA153_4 == GEODE) : - LA153_5 = self.input.LA(5) + if (LA161_4 == GEODE) : + LA161_5 = self.input.LA(5) - if (LA153_5 == REQ_ID) : - alt153 = 1 + if (LA161_5 == REQ_ID) : + alt161 = 1 @@ -16038,61 +16021,61 @@ def continuous_signal(self, ): - if alt153 == 1: - # sdl92.g:764:17: requirement + if alt161 == 1: + # sdl92.g:776:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_continuous_signal8958) - requirement385 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_continuous_signal9194) + requirement393 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement385.tree) + stream_requirement.add(requirement393.tree) else: - break #loop153 + break #loop161 - # sdl92.g:765:17: ( rid )* - while True: #loop154 - alt154 = 2 - LA154_0 = self.input.LA(1) + # sdl92.g:777:17: ( rid )* + while True: #loop162 + alt162 = 2 + LA162_0 = self.input.LA(1) - if (LA154_0 == 252) : - alt154 = 1 + if (LA162_0 == 254) : + alt162 = 1 - if alt154 == 1: - # sdl92.g:765:17: rid + if alt162 == 1: + # sdl92.g:777:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_continuous_signal8977) - rid386 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_continuous_signal9213) + rid394 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid386.tree) + stream_rid.add(rid394.tree) else: - break #loop154 + break #loop162 - PROVIDED387 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_continuous_signal8996) + PROVIDED395 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_continuous_signal9232) if self._state.backtracking == 0: - stream_PROVIDED.add(PROVIDED387) + stream_PROVIDED.add(PROVIDED395) - self._state.following.append(self.FOLLOW_expression_in_continuous_signal8998) - expression388 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_continuous_signal9234) + expression396 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression388.tree) + stream_expression.add(expression396.tree) - self._state.following.append(self.FOLLOW_end_in_continuous_signal9002) + self._state.following.append(self.FOLLOW_end_in_continuous_signal9238) e = self.end() self._state.following.pop() @@ -16100,48 +16083,48 @@ def continuous_signal(self, ): stream_end.add(e.tree) - # sdl92.g:767:17: ( PRIORITY p= INT end )? - alt155 = 2 - LA155_0 = self.input.LA(1) + # sdl92.g:779:17: ( PRIORITY p= INT end )? + alt163 = 2 + LA163_0 = self.input.LA(1) - if (LA155_0 == PRIORITY) : - alt155 = 1 - if alt155 == 1: - # sdl92.g:767:18: PRIORITY p= INT end + if (LA163_0 == PRIORITY) : + alt163 = 1 + if alt163 == 1: + # sdl92.g:779:18: PRIORITY p= INT end pass - PRIORITY389 = self.match(self.input, PRIORITY, self.FOLLOW_PRIORITY_in_continuous_signal9021) + PRIORITY397 = self.match(self.input, PRIORITY, self.FOLLOW_PRIORITY_in_continuous_signal9257) if self._state.backtracking == 0: - stream_PRIORITY.add(PRIORITY389) + stream_PRIORITY.add(PRIORITY397) - p = self.match(self.input, INT, self.FOLLOW_INT_in_continuous_signal9025) + p = self.match(self.input, INT, self.FOLLOW_INT_in_continuous_signal9261) if self._state.backtracking == 0: stream_INT.add(p) - self._state.following.append(self.FOLLOW_end_in_continuous_signal9027) - end390 = self.end() + self._state.following.append(self.FOLLOW_end_in_continuous_signal9263) + end398 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end390.tree) + stream_end.add(end398.tree) - # sdl92.g:768:17: ( transition )? - alt156 = 2 - alt156 = self.dfa156.predict(self.input) - if alt156 == 1: - # sdl92.g:768:17: transition + # sdl92.g:780:17: ( transition )? + alt164 = 2 + alt164 = self.dfa164.predict(self.input) + if alt164 == 1: + # sdl92.g:780:17: transition pass - self._state.following.append(self.FOLLOW_transition_in_continuous_signal9047) - transition391 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_continuous_signal9283) + transition399 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition391.tree) + stream_transition.add(transition399.tree) @@ -16169,8 +16152,8 @@ def continuous_signal(self, ): root_0 = self._adaptor.nil() - # 769:9: -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) - # sdl92.g:769:17: ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) + # 781:9: -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) + # sdl92.g:781:17: ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PROVIDED.nextNode() @@ -16178,56 +16161,56 @@ def continuous_signal(self, ): self._adaptor.addChild(root_1, stream_expression.nextTree()) - # sdl92.g:769:39: ( cif )? + # sdl92.g:781:39: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:769:44: ( symbolid )? + # sdl92.g:781:44: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:769:54: ( hyperlink )? + # sdl92.g:781:54: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:769:65: ( requirement )* + # sdl92.g:781:65: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:769:78: ( rid )* + # sdl92.g:781:78: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:769:84: ( $p)? + # sdl92.g:781:84: ( $p)? if stream_p.hasNext(): self._adaptor.addChild(root_1, stream_p.nextNode()) stream_p.reset(); - # sdl92.g:769:88: ( $e)? + # sdl92.g:781:88: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) stream_e.reset(); - # sdl92.g:769:91: ( transition )? + # sdl92.g:781:91: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -16277,7 +16260,7 @@ def __init__(self): # $ANTLR start "save_part" - # sdl92.g:773:1: save_part : SAVE save_list end -> ^( SAVE save_list ) ; + # sdl92.g:785: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) @@ -16285,38 +16268,38 @@ def save_part(self, ): root_0 = None - SAVE392 = None - save_list393 = None - end394 = None + SAVE400 = None + save_list401 = None + end402 = None - SAVE392_tree = None + SAVE400_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:774:9: ( SAVE save_list end -> ^( SAVE save_list ) ) - # sdl92.g:774:17: SAVE save_list end + # sdl92.g:786:9: ( SAVE save_list end -> ^( SAVE save_list ) ) + # sdl92.g:786:17: SAVE save_list end pass - SAVE392 = self.match(self.input, SAVE, self.FOLLOW_SAVE_in_save_part9127) + SAVE400 = self.match(self.input, SAVE, self.FOLLOW_SAVE_in_save_part9363) if self._state.backtracking == 0: - stream_SAVE.add(SAVE392) + stream_SAVE.add(SAVE400) - self._state.following.append(self.FOLLOW_save_list_in_save_part9129) - save_list393 = self.save_list() + self._state.following.append(self.FOLLOW_save_list_in_save_part9365) + save_list401 = self.save_list() self._state.following.pop() if self._state.backtracking == 0: - stream_save_list.add(save_list393.tree) + stream_save_list.add(save_list401.tree) - self._state.following.append(self.FOLLOW_end_in_save_part9147) - end394 = self.end() + self._state.following.append(self.FOLLOW_end_in_save_part9383) + end402 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end394.tree) + stream_end.add(end402.tree) # AST Rewrite @@ -16335,8 +16318,8 @@ def save_part(self, ): root_0 = self._adaptor.nil() - # 776:9: -> ^( SAVE save_list ) - # sdl92.g:776:17: ^( SAVE save_list ) + # 788:9: -> ^( SAVE save_list ) + # sdl92.g:788:17: ^( SAVE save_list ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SAVE.nextNode() @@ -16387,7 +16370,7 @@ def __init__(self): # $ANTLR start "save_list" - # sdl92.g:780:1: save_list : ( signal_list | asterisk_save_list ); + # sdl92.g:792:1: save_list : ( signal_list | asterisk_save_list ); def save_list(self, ): retval = self.save_list_return() retval.start = self.input.LT(1) @@ -16395,57 +16378,57 @@ def save_list(self, ): root_0 = None - signal_list395 = None - asterisk_save_list396 = None + signal_list403 = None + asterisk_save_list404 = None try: try: - # sdl92.g:781:9: ( signal_list | asterisk_save_list ) - alt157 = 2 - LA157_0 = self.input.LA(1) + # sdl92.g:793:9: ( signal_list | asterisk_save_list ) + alt165 = 2 + LA165_0 = self.input.LA(1) - if (LA157_0 == ID) : - alt157 = 1 - elif (LA157_0 == ASTERISK) : - alt157 = 2 + if (LA165_0 == ID) : + alt165 = 1 + elif (LA165_0 == ASTERISK) : + alt165 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 157, 0, self.input) + nvae = NoViableAltException("", 165, 0, self.input) raise nvae - if alt157 == 1: - # sdl92.g:781:17: signal_list + if alt165 == 1: + # sdl92.g:793:17: signal_list pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_list_in_save_list9200) - signal_list395 = self.signal_list() + self._state.following.append(self.FOLLOW_signal_list_in_save_list9436) + signal_list403 = self.signal_list() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, signal_list395.tree) + self._adaptor.addChild(root_0, signal_list403.tree) - elif alt157 == 2: - # sdl92.g:782:19: asterisk_save_list + elif alt165 == 2: + # sdl92.g:794:19: asterisk_save_list pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_asterisk_save_list_in_save_list9220) - asterisk_save_list396 = self.asterisk_save_list() + self._state.following.append(self.FOLLOW_asterisk_save_list_in_save_list9456) + asterisk_save_list404 = self.asterisk_save_list() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, asterisk_save_list396.tree) + self._adaptor.addChild(root_0, asterisk_save_list404.tree) @@ -16481,7 +16464,7 @@ def __init__(self): # $ANTLR start "asterisk_save_list" - # sdl92.g:786:1: asterisk_save_list : ASTERISK ; + # sdl92.g:798:1: asterisk_save_list : ASTERISK ; def asterisk_save_list(self, ): retval = self.asterisk_save_list_return() retval.start = self.input.LT(1) @@ -16489,22 +16472,22 @@ def asterisk_save_list(self, ): root_0 = None - ASTERISK397 = None + ASTERISK405 = None - ASTERISK397_tree = None + ASTERISK405_tree = None try: try: - # sdl92.g:787:9: ( ASTERISK ) - # sdl92.g:787:17: ASTERISK + # sdl92.g:799:9: ( ASTERISK ) + # sdl92.g:799:17: ASTERISK pass root_0 = self._adaptor.nil() - ASTERISK397 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_asterisk_save_list9252) + ASTERISK405 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_asterisk_save_list9488) if self._state.backtracking == 0: - ASTERISK397_tree = self._adaptor.createWithPayload(ASTERISK397) - self._adaptor.addChild(root_0, ASTERISK397_tree) + ASTERISK405_tree = self._adaptor.createWithPayload(ASTERISK405) + self._adaptor.addChild(root_0, ASTERISK405_tree) @@ -16542,7 +16525,7 @@ def __init__(self): # $ANTLR start "signal_list" - # sdl92.g:790:1: signal_list : signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ; + # sdl92.g:802: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) @@ -16550,54 +16533,54 @@ def signal_list(self, ): root_0 = None - char_literal399 = None - signal_item398 = None - signal_item400 = None + char_literal407 = None + signal_item406 = None + signal_item408 = None - char_literal399_tree = None + char_literal407_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_signal_item = RewriteRuleSubtreeStream(self._adaptor, "rule signal_item") try: try: - # sdl92.g:791:9: ( signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ) - # sdl92.g:791:17: signal_item ( ',' signal_item )* + # sdl92.g:803:9: ( signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ) + # sdl92.g:803:17: signal_item ( ',' signal_item )* pass - self._state.following.append(self.FOLLOW_signal_item_in_signal_list9275) - signal_item398 = self.signal_item() + self._state.following.append(self.FOLLOW_signal_item_in_signal_list9511) + signal_item406 = self.signal_item() self._state.following.pop() if self._state.backtracking == 0: - stream_signal_item.add(signal_item398.tree) + stream_signal_item.add(signal_item406.tree) - # sdl92.g:791:29: ( ',' signal_item )* - while True: #loop158 - alt158 = 2 - LA158_0 = self.input.LA(1) + # sdl92.g:803:29: ( ',' signal_item )* + while True: #loop166 + alt166 = 2 + LA166_0 = self.input.LA(1) - if (LA158_0 == COMMA) : - alt158 = 1 + if (LA166_0 == COMMA) : + alt166 = 1 - if alt158 == 1: - # sdl92.g:791:30: ',' signal_item + if alt166 == 1: + # sdl92.g:803:30: ',' signal_item pass - char_literal399 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_signal_list9278) + char_literal407 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_signal_list9514) if self._state.backtracking == 0: - stream_COMMA.add(char_literal399) + stream_COMMA.add(char_literal407) - self._state.following.append(self.FOLLOW_signal_item_in_signal_list9280) - signal_item400 = self.signal_item() + self._state.following.append(self.FOLLOW_signal_item_in_signal_list9516) + signal_item408 = self.signal_item() self._state.following.pop() if self._state.backtracking == 0: - stream_signal_item.add(signal_item400.tree) + stream_signal_item.add(signal_item408.tree) else: - break #loop158 + break #loop166 # AST Rewrite @@ -16616,14 +16599,14 @@ def signal_list(self, ): root_0 = self._adaptor.nil() - # 792:9: -> ^( SIGNAL_LIST ( signal_item )+ ) - # sdl92.g:792:17: ^( SIGNAL_LIST ( signal_item )+ ) + # 804:9: -> ^( SIGNAL_LIST ( signal_item )+ ) + # sdl92.g:804: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:792:31: ( signal_item )+ + # sdl92.g:804:31: ( signal_item )+ if not (stream_signal_item.hasNext()): raise RewriteEarlyExitException() @@ -16676,7 +16659,7 @@ def __init__(self): # $ANTLR start "signal_item" - # sdl92.g:799:1: signal_item : signal_id ; + # sdl92.g:811:1: signal_item : signal_id ; def signal_item(self, ): retval = self.signal_item_return() retval.start = self.input.LT(1) @@ -16684,23 +16667,23 @@ def signal_item(self, ): root_0 = None - signal_id401 = None + signal_id409 = None try: try: - # sdl92.g:800:9: ( signal_id ) - # sdl92.g:800:17: signal_id + # sdl92.g:812:9: ( signal_id ) + # sdl92.g:812:17: signal_id pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_id_in_signal_item9339) - signal_id401 = self.signal_id() + self._state.following.append(self.FOLLOW_signal_id_in_signal_item9575) + signal_id409 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, signal_id401.tree) + self._adaptor.addChild(root_0, signal_id409.tree) @@ -16737,7 +16720,7 @@ def __init__(self): # $ANTLR start "input_part" - # sdl92.g:820:1: input_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) ; + # sdl92.g:832:1: input_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) ; def input_part(self, ): retval = self.input_part_return() retval.start = self.input.LT(1) @@ -16745,18 +16728,18 @@ def input_part(self, ): root_0 = None - INPUT407 = None - cif402 = None - symbolid403 = None - hyperlink404 = None - requirement405 = None - rid406 = None - inputlist408 = None - end409 = None - enabling_condition410 = None - transition411 = None - - INPUT407_tree = None + INPUT415 = None + cif410 = None + symbolid411 = None + hyperlink412 = None + requirement413 = None + rid414 = None + inputlist416 = None + end417 = None + enabling_condition418 = None + transition419 = None + + INPUT415_tree = None stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -16769,106 +16752,106 @@ def input_part(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:821:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) ) - # sdl92.g:821:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? + # sdl92.g:833:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) ) + # sdl92.g:833:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? pass - # sdl92.g:821:17: ( cif )? - alt159 = 2 - LA159_0 = self.input.LA(1) + # sdl92.g:833:17: ( cif )? + alt167 = 2 + LA167_0 = self.input.LA(1) - if (LA159_0 == 252) : - LA159_1 = self.input.LA(2) + if (LA167_0 == 254) : + LA167_1 = self.input.LA(2) - if (LA159_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt159 = 1 - if alt159 == 1: - # sdl92.g:821:17: cif + if (LA167_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt167 = 1 + if alt167 == 1: + # sdl92.g:833:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_input_part9368) - cif402 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_input_part9604) + cif410 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif402.tree) + stream_cif.add(cif410.tree) - # sdl92.g:822:17: ( symbolid )? - alt160 = 2 - LA160_0 = self.input.LA(1) + # sdl92.g:834:17: ( symbolid )? + alt168 = 2 + LA168_0 = self.input.LA(1) - if (LA160_0 == 252) : - LA160_1 = self.input.LA(2) + if (LA168_0 == 254) : + LA168_1 = self.input.LA(2) - if (LA160_1 == 254) : - alt160 = 1 - if alt160 == 1: - # sdl92.g:822:17: symbolid + if (LA168_1 == 256) : + alt168 = 1 + if alt168 == 1: + # sdl92.g:834:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_input_part9387) - symbolid403 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_input_part9623) + symbolid411 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid403.tree) + stream_symbolid.add(symbolid411.tree) - # sdl92.g:823:17: ( hyperlink )? - alt161 = 2 - LA161_0 = self.input.LA(1) + # sdl92.g:835:17: ( hyperlink )? + alt169 = 2 + LA169_0 = self.input.LA(1) - if (LA161_0 == 252) : - LA161_1 = self.input.LA(2) + if (LA169_0 == 254) : + LA169_1 = self.input.LA(2) - if (LA161_1 == KEEP) : - LA161_3 = self.input.LA(3) + if (LA169_1 == KEEP) : + LA169_3 = self.input.LA(3) - if (LA161_3 == SPECIFIC) : - LA161_4 = self.input.LA(4) + if (LA169_3 == SPECIFIC) : + LA169_4 = self.input.LA(4) - if (LA161_4 == GEODE) : - LA161_5 = self.input.LA(5) + if (LA169_4 == GEODE) : + LA169_5 = self.input.LA(5) - if (LA161_5 == HYPERLINK) : - alt161 = 1 - if alt161 == 1: - # sdl92.g:823:17: hyperlink + if (LA169_5 == HYPERLINK) : + alt169 = 1 + if alt169 == 1: + # sdl92.g:835:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_input_part9406) - hyperlink404 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_input_part9642) + hyperlink412 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink404.tree) + stream_hyperlink.add(hyperlink412.tree) - # sdl92.g:824:17: ( requirement )* - while True: #loop162 - alt162 = 2 - LA162_0 = self.input.LA(1) + # sdl92.g:836:17: ( requirement )* + while True: #loop170 + alt170 = 2 + LA170_0 = self.input.LA(1) - if (LA162_0 == 252) : - LA162_1 = self.input.LA(2) + if (LA170_0 == 254) : + LA170_1 = self.input.LA(2) - if (LA162_1 == KEEP) : - LA162_3 = self.input.LA(3) + if (LA170_1 == KEEP) : + LA170_3 = self.input.LA(3) - if (LA162_3 == SPECIFIC) : - LA162_4 = self.input.LA(4) + if (LA170_3 == SPECIFIC) : + LA170_4 = self.input.LA(4) - if (LA162_4 == GEODE) : - LA162_5 = self.input.LA(5) + if (LA170_4 == GEODE) : + LA170_5 = self.input.LA(5) - if (LA162_5 == REQ_ID) : - alt162 = 1 + if (LA170_5 == REQ_ID) : + alt170 = 1 @@ -16879,103 +16862,103 @@ def input_part(self, ): - if alt162 == 1: - # sdl92.g:824:17: requirement + if alt170 == 1: + # sdl92.g:836:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_input_part9425) - requirement405 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_input_part9661) + requirement413 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement405.tree) + stream_requirement.add(requirement413.tree) else: - break #loop162 + break #loop170 - # sdl92.g:825:17: ( rid )* - while True: #loop163 - alt163 = 2 - LA163_0 = self.input.LA(1) + # sdl92.g:837:17: ( rid )* + while True: #loop171 + alt171 = 2 + LA171_0 = self.input.LA(1) - if (LA163_0 == 252) : - alt163 = 1 + if (LA171_0 == 254) : + alt171 = 1 - if alt163 == 1: - # sdl92.g:825:17: rid + if alt171 == 1: + # sdl92.g:837:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_input_part9444) - rid406 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_input_part9680) + rid414 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid406.tree) + stream_rid.add(rid414.tree) else: - break #loop163 + break #loop171 - INPUT407 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_part9463) + INPUT415 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_part9699) if self._state.backtracking == 0: - stream_INPUT.add(INPUT407) + stream_INPUT.add(INPUT415) - self._state.following.append(self.FOLLOW_inputlist_in_input_part9465) - inputlist408 = self.inputlist() + self._state.following.append(self.FOLLOW_inputlist_in_input_part9701) + inputlist416 = self.inputlist() self._state.following.pop() if self._state.backtracking == 0: - stream_inputlist.add(inputlist408.tree) + stream_inputlist.add(inputlist416.tree) - self._state.following.append(self.FOLLOW_end_in_input_part9467) - end409 = self.end() + self._state.following.append(self.FOLLOW_end_in_input_part9703) + end417 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end409.tree) + stream_end.add(end417.tree) - # sdl92.g:827:17: ( enabling_condition )? - alt164 = 2 - LA164_0 = self.input.LA(1) + # sdl92.g:839:17: ( enabling_condition )? + alt172 = 2 + LA172_0 = self.input.LA(1) - if (LA164_0 == PROVIDED) : - LA164_1 = self.input.LA(2) + if (LA172_0 == PROVIDED) : + LA172_1 = self.input.LA(2) - if (self.synpred201_sdl92()) : - alt164 = 1 - if alt164 == 1: - # sdl92.g:827:17: enabling_condition + if (self.synpred209_sdl92()) : + alt172 = 1 + if alt172 == 1: + # sdl92.g:839:17: enabling_condition pass - self._state.following.append(self.FOLLOW_enabling_condition_in_input_part9485) - enabling_condition410 = self.enabling_condition() + self._state.following.append(self.FOLLOW_enabling_condition_in_input_part9721) + enabling_condition418 = self.enabling_condition() self._state.following.pop() if self._state.backtracking == 0: - stream_enabling_condition.add(enabling_condition410.tree) + stream_enabling_condition.add(enabling_condition418.tree) - # sdl92.g:828:17: ( transition )? - alt165 = 2 - alt165 = self.dfa165.predict(self.input) - if alt165 == 1: - # sdl92.g:828:17: transition + # sdl92.g:840:17: ( transition )? + alt173 = 2 + alt173 = self.dfa173.predict(self.input) + if alt173 == 1: + # sdl92.g:840:17: transition pass - self._state.following.append(self.FOLLOW_transition_in_input_part9504) - transition411 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_input_part9740) + transition419 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition411.tree) + stream_transition.add(transition419.tree) @@ -16997,49 +16980,49 @@ def input_part(self, ): root_0 = self._adaptor.nil() - # 829:9: -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) - # sdl92.g:829:17: ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) + # 841:9: -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) + # sdl92.g:841:17: ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_INPUT.nextNode() , root_1) - # sdl92.g:829:25: ( cif )? + # sdl92.g:841:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:829:30: ( symbolid )? + # sdl92.g:841:30: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:829:40: ( hyperlink )? + # sdl92.g:841:40: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:829:51: ( requirement )* + # sdl92.g:841:51: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:829:64: ( rid )* + # sdl92.g:841:64: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:829:69: ( end )? + # sdl92.g:841:69: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -17048,14 +17031,14 @@ def input_part(self, ): self._adaptor.addChild(root_1, stream_inputlist.nextTree()) - # sdl92.g:830:27: ( enabling_condition )? + # sdl92.g:842:27: ( enabling_condition )? if stream_enabling_condition.hasNext(): self._adaptor.addChild(root_1, stream_enabling_condition.nextTree()) stream_enabling_condition.reset(); - # sdl92.g:830:47: ( transition )? + # sdl92.g:842:47: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -17105,7 +17088,7 @@ def __init__(self): # $ANTLR start "inputlist" - # sdl92.g:836:1: inputlist : ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ); + # sdl92.g:848:1: inputlist : ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ); def inputlist(self, ): retval = self.inputlist_return() retval.start = self.input.LT(1) @@ -17113,91 +17096,91 @@ def inputlist(self, ): root_0 = None - ASTERISK412 = None - char_literal414 = None - stimulus413 = None - stimulus415 = None + ASTERISK420 = None + char_literal422 = None + stimulus421 = None + stimulus423 = None - ASTERISK412_tree = None - char_literal414_tree = None + ASTERISK420_tree = None + char_literal422_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_stimulus = RewriteRuleSubtreeStream(self._adaptor, "rule stimulus") try: try: - # sdl92.g:837:9: ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ) - alt167 = 2 - LA167_0 = self.input.LA(1) - - if (LA167_0 == ASTERISK) : - alt167 = 1 - elif (LA167_0 == ID) : - alt167 = 2 + # sdl92.g:849:9: ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ) + alt175 = 2 + LA175_0 = self.input.LA(1) + + if (LA175_0 == ASTERISK) : + alt175 = 1 + elif (LA175_0 == ID) : + alt175 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 167, 0, self.input) + nvae = NoViableAltException("", 175, 0, self.input) raise nvae - if alt167 == 1: - # sdl92.g:837:17: ASTERISK + if alt175 == 1: + # sdl92.g:849:17: ASTERISK pass root_0 = self._adaptor.nil() - ASTERISK412 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_inputlist9600) + ASTERISK420 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_inputlist9836) if self._state.backtracking == 0: - ASTERISK412_tree = self._adaptor.createWithPayload(ASTERISK412) - self._adaptor.addChild(root_0, ASTERISK412_tree) + ASTERISK420_tree = self._adaptor.createWithPayload(ASTERISK420) + self._adaptor.addChild(root_0, ASTERISK420_tree) - elif alt167 == 2: - # sdl92.g:838:19: ( stimulus ( ',' stimulus )* ) + elif alt175 == 2: + # sdl92.g:850:19: ( stimulus ( ',' stimulus )* ) pass - # sdl92.g:838:19: ( stimulus ( ',' stimulus )* ) - # sdl92.g:838:20: stimulus ( ',' stimulus )* + # sdl92.g:850:19: ( stimulus ( ',' stimulus )* ) + # sdl92.g:850:20: stimulus ( ',' stimulus )* pass - self._state.following.append(self.FOLLOW_stimulus_in_inputlist9621) - stimulus413 = self.stimulus() + self._state.following.append(self.FOLLOW_stimulus_in_inputlist9857) + stimulus421 = self.stimulus() self._state.following.pop() if self._state.backtracking == 0: - stream_stimulus.add(stimulus413.tree) + stream_stimulus.add(stimulus421.tree) - # sdl92.g:838:29: ( ',' stimulus )* - while True: #loop166 - alt166 = 2 - LA166_0 = self.input.LA(1) + # sdl92.g:850:29: ( ',' stimulus )* + while True: #loop174 + alt174 = 2 + LA174_0 = self.input.LA(1) - if (LA166_0 == COMMA) : - alt166 = 1 + if (LA174_0 == COMMA) : + alt174 = 1 - if alt166 == 1: - # sdl92.g:838:30: ',' stimulus + if alt174 == 1: + # sdl92.g:850:30: ',' stimulus pass - char_literal414 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_inputlist9624) + char_literal422 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_inputlist9860) if self._state.backtracking == 0: - stream_COMMA.add(char_literal414) + stream_COMMA.add(char_literal422) - self._state.following.append(self.FOLLOW_stimulus_in_inputlist9626) - stimulus415 = self.stimulus() + self._state.following.append(self.FOLLOW_stimulus_in_inputlist9862) + stimulus423 = self.stimulus() self._state.following.pop() if self._state.backtracking == 0: - stream_stimulus.add(stimulus415.tree) + stream_stimulus.add(stimulus423.tree) else: - break #loop166 + break #loop174 @@ -17219,14 +17202,14 @@ def inputlist(self, ): root_0 = self._adaptor.nil() - # 839:9: -> ^( INPUTLIST ( stimulus )+ ) - # sdl92.g:839:17: ^( INPUTLIST ( stimulus )+ ) + # 851:9: -> ^( INPUTLIST ( stimulus )+ ) + # sdl92.g:851:17: ^( INPUTLIST ( stimulus )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(INPUTLIST, "INPUTLIST") , root_1) - # sdl92.g:839:29: ( stimulus )+ + # sdl92.g:851:29: ( stimulus )+ if not (stream_stimulus.hasNext()): raise RewriteEarlyExitException() @@ -17278,7 +17261,7 @@ def __init__(self): # $ANTLR start "stimulus" - # sdl92.g:843:1: stimulus : stimulus_id ( input_params )? ; + # sdl92.g:855:1: stimulus : stimulus_id ( input_params )? ; def stimulus(self, ): retval = self.stimulus_return() retval.start = self.input.LT(1) @@ -17286,41 +17269,41 @@ def stimulus(self, ): root_0 = None - stimulus_id416 = None - input_params417 = None + stimulus_id424 = None + input_params425 = None try: try: - # sdl92.g:844:9: ( stimulus_id ( input_params )? ) - # sdl92.g:844:17: stimulus_id ( input_params )? + # sdl92.g:856:9: ( stimulus_id ( input_params )? ) + # sdl92.g:856:17: stimulus_id ( input_params )? pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_stimulus_id_in_stimulus9683) - stimulus_id416 = self.stimulus_id() + self._state.following.append(self.FOLLOW_stimulus_id_in_stimulus9919) + stimulus_id424 = self.stimulus_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, stimulus_id416.tree) + self._adaptor.addChild(root_0, stimulus_id424.tree) - # sdl92.g:844:29: ( input_params )? - alt168 = 2 - LA168_0 = self.input.LA(1) + # sdl92.g:856:29: ( input_params )? + alt176 = 2 + LA176_0 = self.input.LA(1) - if (LA168_0 == L_PAREN) : - alt168 = 1 - if alt168 == 1: - # sdl92.g:844:29: input_params + if (LA176_0 == L_PAREN) : + alt176 = 1 + if alt176 == 1: + # sdl92.g:856:29: input_params pass - self._state.following.append(self.FOLLOW_input_params_in_stimulus9685) - input_params417 = self.input_params() + self._state.following.append(self.FOLLOW_input_params_in_stimulus9921) + input_params425 = self.input_params() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, input_params417.tree) + self._adaptor.addChild(root_0, input_params425.tree) @@ -17360,7 +17343,7 @@ def __init__(self): # $ANTLR start "input_params" - # sdl92.g:848:1: input_params : L_PAREN variable_id ( ',' variable_id )* R_PAREN -> ^( PARAMS ( variable_id )+ ) ; + # sdl92.g:860: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) @@ -17368,70 +17351,70 @@ def input_params(self, ): root_0 = None - L_PAREN418 = None - char_literal420 = None - R_PAREN422 = None - variable_id419 = None - variable_id421 = None + L_PAREN426 = None + char_literal428 = None + R_PAREN430 = None + variable_id427 = None + variable_id429 = None - L_PAREN418_tree = None - char_literal420_tree = None - R_PAREN422_tree = None + L_PAREN426_tree = None + char_literal428_tree = None + R_PAREN430_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:849:9: ( L_PAREN variable_id ( ',' variable_id )* R_PAREN -> ^( PARAMS ( variable_id )+ ) ) - # sdl92.g:849:17: L_PAREN variable_id ( ',' variable_id )* R_PAREN + # sdl92.g:861:9: ( L_PAREN variable_id ( ',' variable_id )* R_PAREN -> ^( PARAMS ( variable_id )+ ) ) + # sdl92.g:861:17: L_PAREN variable_id ( ',' variable_id )* R_PAREN pass - L_PAREN418 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_params9718) + L_PAREN426 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_params9954) if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN418) + stream_L_PAREN.add(L_PAREN426) - self._state.following.append(self.FOLLOW_variable_id_in_input_params9720) - variable_id419 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_input_params9956) + variable_id427 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id419.tree) + stream_variable_id.add(variable_id427.tree) - # sdl92.g:849:37: ( ',' variable_id )* - while True: #loop169 - alt169 = 2 - LA169_0 = self.input.LA(1) + # sdl92.g:861:37: ( ',' variable_id )* + while True: #loop177 + alt177 = 2 + LA177_0 = self.input.LA(1) - if (LA169_0 == COMMA) : - alt169 = 1 + if (LA177_0 == COMMA) : + alt177 = 1 - if alt169 == 1: - # sdl92.g:849:38: ',' variable_id + if alt177 == 1: + # sdl92.g:861:38: ',' variable_id pass - char_literal420 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_input_params9723) + char_literal428 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_input_params9959) if self._state.backtracking == 0: - stream_COMMA.add(char_literal420) + stream_COMMA.add(char_literal428) - self._state.following.append(self.FOLLOW_variable_id_in_input_params9725) - variable_id421 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_input_params9961) + variable_id429 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id421.tree) + stream_variable_id.add(variable_id429.tree) else: - break #loop169 + break #loop177 - R_PAREN422 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_params9729) + R_PAREN430 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_params9965) if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN422) + stream_R_PAREN.add(R_PAREN430) # AST Rewrite @@ -17450,14 +17433,14 @@ def input_params(self, ): root_0 = self._adaptor.nil() - # 850:9: -> ^( PARAMS ( variable_id )+ ) - # sdl92.g:850:17: ^( PARAMS ( variable_id )+ ) + # 862:9: -> ^( PARAMS ( variable_id )+ ) + # sdl92.g:862:17: ^( PARAMS ( variable_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAMS, "PARAMS") , root_1) - # sdl92.g:850:26: ( variable_id )+ + # sdl92.g:862:26: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() @@ -17510,7 +17493,7 @@ def __init__(self): # $ANTLR start "transition" - # sdl92.g:854:1: transition : ( ( action )+ ( label )? ( terminator_statement )? -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) | terminator_statement -> ^( TRANSITION terminator_statement ) ); + # sdl92.g:866: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) @@ -17518,358 +17501,358 @@ def transition(self, ): root_0 = None - action423 = None - label424 = None - terminator_statement425 = None - terminator_statement426 = None + action431 = None + label432 = None + terminator_statement433 = None + terminator_statement434 = 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:855:9: ( ( action )+ ( label )? ( terminator_statement )? -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) | terminator_statement -> ^( TRANSITION terminator_statement ) ) - alt173 = 2 - alt173 = self.dfa173.predict(self.input) - if alt173 == 1: - # sdl92.g:855:17: ( action )+ ( label )? ( terminator_statement )? - pass - # sdl92.g:855:17: ( action )+ - cnt170 = 0 - while True: #loop170 - alt170 = 2 - alt170 = self.dfa170.predict(self.input) - if alt170 == 1: - # sdl92.g:855:17: action + # sdl92.g:867:9: ( ( action )+ ( label )? ( terminator_statement )? -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) | terminator_statement -> ^( TRANSITION terminator_statement ) ) + alt181 = 2 + alt181 = self.dfa181.predict(self.input) + if alt181 == 1: + # sdl92.g:867:17: ( action )+ ( label )? ( terminator_statement )? + pass + # sdl92.g:867:17: ( action )+ + cnt178 = 0 + while True: #loop178 + alt178 = 2 + alt178 = self.dfa178.predict(self.input) + if alt178 == 1: + # sdl92.g:867:17: action pass - self._state.following.append(self.FOLLOW_action_in_transition9783) - action423 = self.action() + self._state.following.append(self.FOLLOW_action_in_transition10019) + action431 = self.action() self._state.following.pop() if self._state.backtracking == 0: - stream_action.add(action423.tree) + stream_action.add(action431.tree) else: - if cnt170 >= 1: - break #loop170 + if cnt178 >= 1: + break #loop178 if self._state.backtracking > 0: raise BacktrackingFailed - eee = EarlyExitException(170, self.input) + eee = EarlyExitException(178, self.input) raise eee - cnt170 += 1 + cnt178 += 1 - # sdl92.g:855:25: ( label )? - alt171 = 2 - LA171_0 = self.input.LA(1) + # sdl92.g:867:25: ( label )? + alt179 = 2 + LA179_0 = self.input.LA(1) - if (LA171_0 == 252) : - LA171_1 = self.input.LA(2) + if (LA179_0 == 254) : + LA179_1 = self.input.LA(2) - if (LA171_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - LA171_4 = self.input.LA(3) + if (LA179_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + LA179_4 = self.input.LA(3) - if (LA171_4 == L_PAREN) : - LA171_7 = self.input.LA(4) + if (LA179_4 == L_PAREN) : + LA179_7 = self.input.LA(4) - if (LA171_7 == DASH) : - LA171_10 = self.input.LA(5) + if (LA179_7 == DASH) : + LA179_10 = self.input.LA(5) - if (LA171_10 == INT) : - LA171_11 = self.input.LA(6) + if (LA179_10 == INT) : + LA179_11 = self.input.LA(6) - if (LA171_11 == COMMA) : - LA171_13 = self.input.LA(7) + if (LA179_11 == COMMA) : + LA179_13 = self.input.LA(7) - if (LA171_13 == DASH) : - LA171_15 = self.input.LA(8) + if (LA179_13 == DASH) : + LA179_15 = self.input.LA(8) - if (LA171_15 == INT) : - LA171_16 = self.input.LA(9) + if (LA179_15 == INT) : + LA179_16 = self.input.LA(9) - if (LA171_16 == R_PAREN) : - LA171_18 = self.input.LA(10) + if (LA179_16 == R_PAREN) : + LA179_18 = self.input.LA(10) - if (LA171_18 == COMMA) : - LA171_19 = self.input.LA(11) + if (LA179_18 == COMMA) : + LA179_19 = self.input.LA(11) - if (LA171_19 == L_PAREN) : - LA171_20 = self.input.LA(12) + if (LA179_19 == L_PAREN) : + LA179_20 = self.input.LA(12) - if (LA171_20 == INT) : - LA171_21 = self.input.LA(13) + if (LA179_20 == INT) : + LA179_21 = self.input.LA(13) - if (LA171_21 == COMMA) : - LA171_22 = self.input.LA(14) + if (LA179_21 == COMMA) : + LA179_22 = self.input.LA(14) - if (LA171_22 == INT) : - LA171_23 = self.input.LA(15) + if (LA179_22 == INT) : + LA179_23 = self.input.LA(15) - if (LA171_23 == R_PAREN) : - LA171_24 = self.input.LA(16) + if (LA179_23 == R_PAREN) : + LA179_24 = self.input.LA(16) - if (LA171_24 == 248) : - LA171_25 = self.input.LA(17) + if (LA179_24 == 250) : + LA179_25 = self.input.LA(17) - if (LA171_25 == 252) : - LA171_26 = self.input.LA(18) + if (LA179_25 == 254) : + LA179_26 = self.input.LA(18) - if (LA171_26 == 254) : - LA171_5 = self.input.LA(19) + if (LA179_26 == 256) : + LA179_5 = self.input.LA(19) - if (LA171_5 == INT) : - LA171_8 = self.input.LA(20) + if (LA179_5 == INT) : + LA179_8 = self.input.LA(20) - if (LA171_8 == 248) : - LA171_12 = self.input.LA(21) + if (LA179_8 == 250) : + LA179_12 = self.input.LA(21) - if (LA171_12 == ID) : - LA171_14 = self.input.LA(22) + if (LA179_12 == ID) : + LA179_14 = self.input.LA(22) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(23) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(23) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_25 == ID) : - LA171_14 = self.input.LA(18) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_25 == ID) : + LA179_14 = self.input.LA(18) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(19) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(19) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_13 == INT) : - LA171_16 = self.input.LA(8) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_13 == INT) : + LA179_16 = self.input.LA(8) - if (LA171_16 == R_PAREN) : - LA171_18 = self.input.LA(9) + if (LA179_16 == R_PAREN) : + LA179_18 = self.input.LA(9) - if (LA171_18 == COMMA) : - LA171_19 = self.input.LA(10) + if (LA179_18 == COMMA) : + LA179_19 = self.input.LA(10) - if (LA171_19 == L_PAREN) : - LA171_20 = self.input.LA(11) + if (LA179_19 == L_PAREN) : + LA179_20 = self.input.LA(11) - if (LA171_20 == INT) : - LA171_21 = self.input.LA(12) + if (LA179_20 == INT) : + LA179_21 = self.input.LA(12) - if (LA171_21 == COMMA) : - LA171_22 = self.input.LA(13) + if (LA179_21 == COMMA) : + LA179_22 = self.input.LA(13) - if (LA171_22 == INT) : - LA171_23 = self.input.LA(14) + if (LA179_22 == INT) : + LA179_23 = self.input.LA(14) - if (LA171_23 == R_PAREN) : - LA171_24 = self.input.LA(15) + if (LA179_23 == R_PAREN) : + LA179_24 = self.input.LA(15) - if (LA171_24 == 248) : - LA171_25 = self.input.LA(16) + if (LA179_24 == 250) : + LA179_25 = self.input.LA(16) - if (LA171_25 == 252) : - LA171_26 = self.input.LA(17) + if (LA179_25 == 254) : + LA179_26 = self.input.LA(17) - if (LA171_26 == 254) : - LA171_5 = self.input.LA(18) + if (LA179_26 == 256) : + LA179_5 = self.input.LA(18) - if (LA171_5 == INT) : - LA171_8 = self.input.LA(19) + if (LA179_5 == INT) : + LA179_8 = self.input.LA(19) - if (LA171_8 == 248) : - LA171_12 = self.input.LA(20) + if (LA179_8 == 250) : + LA179_12 = self.input.LA(20) - if (LA171_12 == ID) : - LA171_14 = self.input.LA(21) + if (LA179_12 == ID) : + LA179_14 = self.input.LA(21) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(22) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(22) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_25 == ID) : - LA171_14 = self.input.LA(17) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_25 == ID) : + LA179_14 = self.input.LA(17) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(18) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(18) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_7 == INT) : - LA171_11 = self.input.LA(5) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_7 == INT) : + LA179_11 = self.input.LA(5) - if (LA171_11 == COMMA) : - LA171_13 = self.input.LA(6) + if (LA179_11 == COMMA) : + LA179_13 = self.input.LA(6) - if (LA171_13 == DASH) : - LA171_15 = self.input.LA(7) + if (LA179_13 == DASH) : + LA179_15 = self.input.LA(7) - if (LA171_15 == INT) : - LA171_16 = self.input.LA(8) + if (LA179_15 == INT) : + LA179_16 = self.input.LA(8) - if (LA171_16 == R_PAREN) : - LA171_18 = self.input.LA(9) + if (LA179_16 == R_PAREN) : + LA179_18 = self.input.LA(9) - if (LA171_18 == COMMA) : - LA171_19 = self.input.LA(10) + if (LA179_18 == COMMA) : + LA179_19 = self.input.LA(10) - if (LA171_19 == L_PAREN) : - LA171_20 = self.input.LA(11) + if (LA179_19 == L_PAREN) : + LA179_20 = self.input.LA(11) - if (LA171_20 == INT) : - LA171_21 = self.input.LA(12) + if (LA179_20 == INT) : + LA179_21 = self.input.LA(12) - if (LA171_21 == COMMA) : - LA171_22 = self.input.LA(13) + if (LA179_21 == COMMA) : + LA179_22 = self.input.LA(13) - if (LA171_22 == INT) : - LA171_23 = self.input.LA(14) + if (LA179_22 == INT) : + LA179_23 = self.input.LA(14) - if (LA171_23 == R_PAREN) : - LA171_24 = self.input.LA(15) + if (LA179_23 == R_PAREN) : + LA179_24 = self.input.LA(15) - if (LA171_24 == 248) : - LA171_25 = self.input.LA(16) + if (LA179_24 == 250) : + LA179_25 = self.input.LA(16) - if (LA171_25 == 252) : - LA171_26 = self.input.LA(17) + if (LA179_25 == 254) : + LA179_26 = self.input.LA(17) - if (LA171_26 == 254) : - LA171_5 = self.input.LA(18) + if (LA179_26 == 256) : + LA179_5 = self.input.LA(18) - if (LA171_5 == INT) : - LA171_8 = self.input.LA(19) + if (LA179_5 == INT) : + LA179_8 = self.input.LA(19) - if (LA171_8 == 248) : - LA171_12 = self.input.LA(20) + if (LA179_8 == 250) : + LA179_12 = self.input.LA(20) - if (LA171_12 == ID) : - LA171_14 = self.input.LA(21) + if (LA179_12 == ID) : + LA179_14 = self.input.LA(21) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(22) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(22) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_25 == ID) : - LA171_14 = self.input.LA(17) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_25 == ID) : + LA179_14 = self.input.LA(17) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(18) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(18) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_13 == INT) : - LA171_16 = self.input.LA(7) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_13 == INT) : + LA179_16 = self.input.LA(7) - if (LA171_16 == R_PAREN) : - LA171_18 = self.input.LA(8) + if (LA179_16 == R_PAREN) : + LA179_18 = self.input.LA(8) - if (LA171_18 == COMMA) : - LA171_19 = self.input.LA(9) + if (LA179_18 == COMMA) : + LA179_19 = self.input.LA(9) - if (LA171_19 == L_PAREN) : - LA171_20 = self.input.LA(10) + if (LA179_19 == L_PAREN) : + LA179_20 = self.input.LA(10) - if (LA171_20 == INT) : - LA171_21 = self.input.LA(11) + if (LA179_20 == INT) : + LA179_21 = self.input.LA(11) - if (LA171_21 == COMMA) : - LA171_22 = self.input.LA(12) + if (LA179_21 == COMMA) : + LA179_22 = self.input.LA(12) - if (LA171_22 == INT) : - LA171_23 = self.input.LA(13) + if (LA179_22 == INT) : + LA179_23 = self.input.LA(13) - if (LA171_23 == R_PAREN) : - LA171_24 = self.input.LA(14) + if (LA179_23 == R_PAREN) : + LA179_24 = self.input.LA(14) - if (LA171_24 == 248) : - LA171_25 = self.input.LA(15) + if (LA179_24 == 250) : + LA179_25 = self.input.LA(15) - if (LA171_25 == 252) : - LA171_26 = self.input.LA(16) + if (LA179_25 == 254) : + LA179_26 = self.input.LA(16) - if (LA171_26 == 254) : - LA171_5 = self.input.LA(17) + if (LA179_26 == 256) : + LA179_5 = self.input.LA(17) - if (LA171_5 == INT) : - LA171_8 = self.input.LA(18) + if (LA179_5 == INT) : + LA179_8 = self.input.LA(18) - if (LA171_8 == 248) : - LA171_12 = self.input.LA(19) + if (LA179_8 == 250) : + LA179_12 = self.input.LA(19) - if (LA171_12 == ID) : - LA171_14 = self.input.LA(20) + if (LA179_12 == ID) : + LA179_14 = self.input.LA(20) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(21) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(21) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_25 == ID) : - LA171_14 = self.input.LA(16) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_25 == ID) : + LA179_14 = self.input.LA(16) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(17) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(17) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_1 == 254) : - LA171_5 = self.input.LA(3) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_1 == 256) : + LA179_5 = self.input.LA(3) - if (LA171_5 == INT) : - LA171_8 = self.input.LA(4) + if (LA179_5 == INT) : + LA179_8 = self.input.LA(4) - if (LA171_8 == 248) : - LA171_12 = self.input.LA(5) + if (LA179_8 == 250) : + LA179_12 = self.input.LA(5) - if (LA171_12 == ID) : - LA171_14 = self.input.LA(6) + if (LA179_12 == ID) : + LA179_14 = self.input.LA(6) - if (LA171_14 == 253) : - LA171_17 = self.input.LA(7) + if (LA179_14 == 255) : + LA179_17 = self.input.LA(7) - if (self.synpred208_sdl92()) : - alt171 = 1 - elif (LA171_0 == ID) : - LA171_2 = self.input.LA(2) + if (self.synpred216_sdl92()) : + alt179 = 1 + elif (LA179_0 == ID) : + LA179_2 = self.input.LA(2) - if (LA171_2 == 253) : - LA171_6 = self.input.LA(3) + if (LA179_2 == 255) : + LA179_6 = self.input.LA(3) - if (self.synpred208_sdl92()) : - alt171 = 1 - if alt171 == 1: - # sdl92.g:855:25: label + if (self.synpred216_sdl92()) : + alt179 = 1 + if alt179 == 1: + # sdl92.g:867:25: label pass - self._state.following.append(self.FOLLOW_label_in_transition9786) - label424 = self.label() + self._state.following.append(self.FOLLOW_label_in_transition10022) + label432 = self.label() self._state.following.pop() if self._state.backtracking == 0: - stream_label.add(label424.tree) + stream_label.add(label432.tree) - # sdl92.g:855:32: ( terminator_statement )? - alt172 = 2 - alt172 = self.dfa172.predict(self.input) - if alt172 == 1: - # sdl92.g:855:32: terminator_statement + # sdl92.g:867:32: ( terminator_statement )? + alt180 = 2 + alt180 = self.dfa180.predict(self.input) + if alt180 == 1: + # sdl92.g:867:32: terminator_statement pass - self._state.following.append(self.FOLLOW_terminator_statement_in_transition9789) - terminator_statement425 = self.terminator_statement() + self._state.following.append(self.FOLLOW_terminator_statement_in_transition10025) + terminator_statement433 = self.terminator_statement() self._state.following.pop() if self._state.backtracking == 0: - stream_terminator_statement.add(terminator_statement425.tree) + stream_terminator_statement.add(terminator_statement433.tree) @@ -17891,14 +17874,14 @@ def transition(self, ): root_0 = self._adaptor.nil() - # 856:9: -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) - # sdl92.g:856:17: ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) + # 868:9: -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) + # sdl92.g:868:17: ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TRANSITION, "TRANSITION") , root_1) - # sdl92.g:856:30: ( action )+ + # sdl92.g:868:30: ( action )+ if not (stream_action.hasNext()): raise RewriteEarlyExitException() @@ -17908,14 +17891,14 @@ def transition(self, ): stream_action.reset() - # sdl92.g:856:38: ( label )? + # sdl92.g:868:38: ( label )? if stream_label.hasNext(): self._adaptor.addChild(root_1, stream_label.nextTree()) stream_label.reset(); - # sdl92.g:856:45: ( terminator_statement )? + # sdl92.g:868:45: ( terminator_statement )? if stream_terminator_statement.hasNext(): self._adaptor.addChild(root_1, stream_terminator_statement.nextTree()) @@ -17932,15 +17915,15 @@ def transition(self, ): - elif alt173 == 2: - # sdl92.g:857:19: terminator_statement + elif alt181 == 2: + # sdl92.g:869:19: terminator_statement pass - self._state.following.append(self.FOLLOW_terminator_statement_in_transition9838) - terminator_statement426 = self.terminator_statement() + self._state.following.append(self.FOLLOW_terminator_statement_in_transition10074) + terminator_statement434 = self.terminator_statement() self._state.following.pop() if self._state.backtracking == 0: - stream_terminator_statement.add(terminator_statement426.tree) + stream_terminator_statement.add(terminator_statement434.tree) # AST Rewrite @@ -17959,8 +17942,8 @@ def transition(self, ): root_0 = self._adaptor.nil() - # 858:9: -> ^( TRANSITION terminator_statement ) - # sdl92.g:858:17: ^( TRANSITION terminator_statement ) + # 870:9: -> ^( TRANSITION terminator_statement ) + # sdl92.g:870:17: ^( TRANSITION terminator_statement ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TRANSITION, "TRANSITION") @@ -18010,7 +17993,7 @@ def __init__(self): # $ANTLR start "action" - # sdl92.g:862:1: action : ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) ; + # sdl92.g:874:1: action : ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) ; def action(self, ): retval = self.action_return() retval.start = self.input.LT(1) @@ -18018,357 +18001,357 @@ def action(self, ): root_0 = None - label427 = None - task428 = None - task_body429 = None - output430 = None - create_request431 = None - decision432 = None - alternative433 = None - export434 = None - procedure_call435 = None + label435 = None + task436 = None + task_body437 = None + output438 = None + create_request439 = None + decision440 = None + alternative441 = None + export442 = None + procedure_call443 = None try: try: - # sdl92.g:863:9: ( ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) ) - # sdl92.g:863:17: ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) + # sdl92.g:875:9: ( ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) ) + # sdl92.g:875:17: ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) pass root_0 = self._adaptor.nil() - # sdl92.g:863:17: ( label )? - alt174 = 2 - LA174_0 = self.input.LA(1) + # sdl92.g:875:17: ( label )? + alt182 = 2 + LA182_0 = self.input.LA(1) - if (LA174_0 == 252) : - LA174_1 = self.input.LA(2) + if (LA182_0 == 254) : + LA182_1 = self.input.LA(2) - if (LA174_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - LA174_4 = self.input.LA(3) + if (LA182_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + LA182_4 = self.input.LA(3) - if (LA174_4 == L_PAREN) : - LA174_7 = self.input.LA(4) + if (LA182_4 == L_PAREN) : + LA182_7 = self.input.LA(4) - if (LA174_7 == DASH) : - LA174_9 = self.input.LA(5) + if (LA182_7 == DASH) : + LA182_9 = self.input.LA(5) - if (LA174_9 == INT) : - LA174_10 = self.input.LA(6) + if (LA182_9 == INT) : + LA182_10 = self.input.LA(6) - if (LA174_10 == COMMA) : - LA174_12 = self.input.LA(7) + if (LA182_10 == COMMA) : + LA182_12 = self.input.LA(7) - if (LA174_12 == DASH) : - LA174_13 = self.input.LA(8) + if (LA182_12 == DASH) : + LA182_13 = self.input.LA(8) - if (LA174_13 == INT) : - LA174_14 = self.input.LA(9) + if (LA182_13 == INT) : + LA182_14 = self.input.LA(9) - if (LA174_14 == R_PAREN) : - LA174_15 = self.input.LA(10) + if (LA182_14 == R_PAREN) : + LA182_15 = self.input.LA(10) - if (LA174_15 == COMMA) : - LA174_16 = self.input.LA(11) + if (LA182_15 == COMMA) : + LA182_16 = self.input.LA(11) - if (LA174_16 == L_PAREN) : - LA174_17 = self.input.LA(12) + if (LA182_16 == L_PAREN) : + LA182_17 = self.input.LA(12) - if (LA174_17 == INT) : - LA174_18 = self.input.LA(13) + if (LA182_17 == INT) : + LA182_18 = self.input.LA(13) - if (LA174_18 == COMMA) : - LA174_19 = self.input.LA(14) + if (LA182_18 == COMMA) : + LA182_19 = self.input.LA(14) - if (LA174_19 == INT) : - LA174_20 = self.input.LA(15) + if (LA182_19 == INT) : + LA182_20 = self.input.LA(15) - if (LA174_20 == R_PAREN) : - LA174_21 = self.input.LA(16) + if (LA182_20 == R_PAREN) : + LA182_21 = self.input.LA(16) - if (LA174_21 == 248) : - LA174_22 = self.input.LA(17) + if (LA182_21 == 250) : + LA182_22 = self.input.LA(17) - if (LA174_22 == 252) : - LA174_23 = self.input.LA(18) + if (LA182_22 == 254) : + LA182_23 = self.input.LA(18) - if (LA174_23 == 254) : - LA174_5 = self.input.LA(19) + if (LA182_23 == 256) : + LA182_5 = self.input.LA(19) - if (LA174_5 == INT) : - LA174_8 = self.input.LA(20) + if (LA182_5 == INT) : + LA182_8 = self.input.LA(20) - if (LA174_8 == 248) : - LA174_11 = self.input.LA(21) + if (LA182_8 == 250) : + LA182_11 = self.input.LA(21) - if (LA174_11 == ID) : - alt174 = 1 - elif (LA174_22 == ID) : - alt174 = 1 - elif (LA174_12 == INT) : - LA174_14 = self.input.LA(8) + if (LA182_11 == ID) : + alt182 = 1 + elif (LA182_22 == ID) : + alt182 = 1 + elif (LA182_12 == INT) : + LA182_14 = self.input.LA(8) - if (LA174_14 == R_PAREN) : - LA174_15 = self.input.LA(9) + if (LA182_14 == R_PAREN) : + LA182_15 = self.input.LA(9) - if (LA174_15 == COMMA) : - LA174_16 = self.input.LA(10) + if (LA182_15 == COMMA) : + LA182_16 = self.input.LA(10) - if (LA174_16 == L_PAREN) : - LA174_17 = self.input.LA(11) + if (LA182_16 == L_PAREN) : + LA182_17 = self.input.LA(11) - if (LA174_17 == INT) : - LA174_18 = self.input.LA(12) + if (LA182_17 == INT) : + LA182_18 = self.input.LA(12) - if (LA174_18 == COMMA) : - LA174_19 = self.input.LA(13) + if (LA182_18 == COMMA) : + LA182_19 = self.input.LA(13) - if (LA174_19 == INT) : - LA174_20 = self.input.LA(14) + if (LA182_19 == INT) : + LA182_20 = self.input.LA(14) - if (LA174_20 == R_PAREN) : - LA174_21 = self.input.LA(15) + if (LA182_20 == R_PAREN) : + LA182_21 = self.input.LA(15) - if (LA174_21 == 248) : - LA174_22 = self.input.LA(16) + if (LA182_21 == 250) : + LA182_22 = self.input.LA(16) - if (LA174_22 == 252) : - LA174_23 = self.input.LA(17) + if (LA182_22 == 254) : + LA182_23 = self.input.LA(17) - if (LA174_23 == 254) : - LA174_5 = self.input.LA(18) + if (LA182_23 == 256) : + LA182_5 = self.input.LA(18) - if (LA174_5 == INT) : - LA174_8 = self.input.LA(19) + if (LA182_5 == INT) : + LA182_8 = self.input.LA(19) - if (LA174_8 == 248) : - LA174_11 = self.input.LA(20) + if (LA182_8 == 250) : + LA182_11 = self.input.LA(20) - if (LA174_11 == ID) : - alt174 = 1 - elif (LA174_22 == ID) : - alt174 = 1 - elif (LA174_7 == INT) : - LA174_10 = self.input.LA(5) + if (LA182_11 == ID) : + alt182 = 1 + elif (LA182_22 == ID) : + alt182 = 1 + elif (LA182_7 == INT) : + LA182_10 = self.input.LA(5) - if (LA174_10 == COMMA) : - LA174_12 = self.input.LA(6) + if (LA182_10 == COMMA) : + LA182_12 = self.input.LA(6) - if (LA174_12 == DASH) : - LA174_13 = self.input.LA(7) + if (LA182_12 == DASH) : + LA182_13 = self.input.LA(7) - if (LA174_13 == INT) : - LA174_14 = self.input.LA(8) + if (LA182_13 == INT) : + LA182_14 = self.input.LA(8) - if (LA174_14 == R_PAREN) : - LA174_15 = self.input.LA(9) + if (LA182_14 == R_PAREN) : + LA182_15 = self.input.LA(9) - if (LA174_15 == COMMA) : - LA174_16 = self.input.LA(10) + if (LA182_15 == COMMA) : + LA182_16 = self.input.LA(10) - if (LA174_16 == L_PAREN) : - LA174_17 = self.input.LA(11) + if (LA182_16 == L_PAREN) : + LA182_17 = self.input.LA(11) - if (LA174_17 == INT) : - LA174_18 = self.input.LA(12) + if (LA182_17 == INT) : + LA182_18 = self.input.LA(12) - if (LA174_18 == COMMA) : - LA174_19 = self.input.LA(13) + if (LA182_18 == COMMA) : + LA182_19 = self.input.LA(13) - if (LA174_19 == INT) : - LA174_20 = self.input.LA(14) + if (LA182_19 == INT) : + LA182_20 = self.input.LA(14) - if (LA174_20 == R_PAREN) : - LA174_21 = self.input.LA(15) + if (LA182_20 == R_PAREN) : + LA182_21 = self.input.LA(15) - if (LA174_21 == 248) : - LA174_22 = self.input.LA(16) + if (LA182_21 == 250) : + LA182_22 = self.input.LA(16) - if (LA174_22 == 252) : - LA174_23 = self.input.LA(17) + if (LA182_22 == 254) : + LA182_23 = self.input.LA(17) - if (LA174_23 == 254) : - LA174_5 = self.input.LA(18) + if (LA182_23 == 256) : + LA182_5 = self.input.LA(18) - if (LA174_5 == INT) : - LA174_8 = self.input.LA(19) + if (LA182_5 == INT) : + LA182_8 = self.input.LA(19) - if (LA174_8 == 248) : - LA174_11 = self.input.LA(20) + if (LA182_8 == 250) : + LA182_11 = self.input.LA(20) - if (LA174_11 == ID) : - alt174 = 1 - elif (LA174_22 == ID) : - alt174 = 1 - elif (LA174_12 == INT) : - LA174_14 = self.input.LA(7) + if (LA182_11 == ID) : + alt182 = 1 + elif (LA182_22 == ID) : + alt182 = 1 + elif (LA182_12 == INT) : + LA182_14 = self.input.LA(7) - if (LA174_14 == R_PAREN) : - LA174_15 = self.input.LA(8) + if (LA182_14 == R_PAREN) : + LA182_15 = self.input.LA(8) - if (LA174_15 == COMMA) : - LA174_16 = self.input.LA(9) + if (LA182_15 == COMMA) : + LA182_16 = self.input.LA(9) - if (LA174_16 == L_PAREN) : - LA174_17 = self.input.LA(10) + if (LA182_16 == L_PAREN) : + LA182_17 = self.input.LA(10) - if (LA174_17 == INT) : - LA174_18 = self.input.LA(11) + if (LA182_17 == INT) : + LA182_18 = self.input.LA(11) - if (LA174_18 == COMMA) : - LA174_19 = self.input.LA(12) + if (LA182_18 == COMMA) : + LA182_19 = self.input.LA(12) - if (LA174_19 == INT) : - LA174_20 = self.input.LA(13) + if (LA182_19 == INT) : + LA182_20 = self.input.LA(13) - if (LA174_20 == R_PAREN) : - LA174_21 = self.input.LA(14) + if (LA182_20 == R_PAREN) : + LA182_21 = self.input.LA(14) - if (LA174_21 == 248) : - LA174_22 = self.input.LA(15) + if (LA182_21 == 250) : + LA182_22 = self.input.LA(15) - if (LA174_22 == 252) : - LA174_23 = self.input.LA(16) + if (LA182_22 == 254) : + LA182_23 = self.input.LA(16) - if (LA174_23 == 254) : - LA174_5 = self.input.LA(17) + if (LA182_23 == 256) : + LA182_5 = self.input.LA(17) - if (LA174_5 == INT) : - LA174_8 = self.input.LA(18) + if (LA182_5 == INT) : + LA182_8 = self.input.LA(18) - if (LA174_8 == 248) : - LA174_11 = self.input.LA(19) + if (LA182_8 == 250) : + LA182_11 = self.input.LA(19) - if (LA174_11 == ID) : - alt174 = 1 - elif (LA174_22 == ID) : - alt174 = 1 - elif (LA174_1 == 254) : - LA174_5 = self.input.LA(3) + if (LA182_11 == ID) : + alt182 = 1 + elif (LA182_22 == ID) : + alt182 = 1 + elif (LA182_1 == 256) : + LA182_5 = self.input.LA(3) - if (LA174_5 == INT) : - LA174_8 = self.input.LA(4) + if (LA182_5 == INT) : + LA182_8 = self.input.LA(4) - if (LA174_8 == 248) : - LA174_11 = self.input.LA(5) + if (LA182_8 == 250) : + LA182_11 = self.input.LA(5) - if (LA174_11 == ID) : - alt174 = 1 - elif (LA174_0 == ID) : - LA174_2 = self.input.LA(2) + if (LA182_11 == ID) : + alt182 = 1 + elif (LA182_0 == ID) : + LA182_2 = self.input.LA(2) - if (LA174_2 == 253) : - alt174 = 1 - if alt174 == 1: - # sdl92.g:863:17: label + if (LA182_2 == 255) : + alt182 = 1 + if alt182 == 1: + # sdl92.g:875:17: label pass - self._state.following.append(self.FOLLOW_label_in_action9891) - label427 = self.label() + self._state.following.append(self.FOLLOW_label_in_action10127) + label435 = self.label() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, label427.tree) + self._adaptor.addChild(root_0, label435.tree) - # sdl92.g:864:17: ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) - alt175 = 8 - alt175 = self.dfa175.predict(self.input) - if alt175 == 1: - # sdl92.g:864:18: task + # sdl92.g:876:17: ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) + alt183 = 8 + alt183 = self.dfa183.predict(self.input) + if alt183 == 1: + # sdl92.g:876:18: task pass - self._state.following.append(self.FOLLOW_task_in_action9911) - task428 = self.task() + self._state.following.append(self.FOLLOW_task_in_action10147) + task436 = self.task() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, task428.tree) + self._adaptor.addChild(root_0, task436.tree) - elif alt175 == 2: - # sdl92.g:865:19: task_body + elif alt183 == 2: + # sdl92.g:877:19: task_body pass - self._state.following.append(self.FOLLOW_task_body_in_action9931) - task_body429 = self.task_body() + self._state.following.append(self.FOLLOW_task_body_in_action10167) + task_body437 = self.task_body() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, task_body429.tree) + self._adaptor.addChild(root_0, task_body437.tree) - elif alt175 == 3: - # sdl92.g:866:19: output + elif alt183 == 3: + # sdl92.g:878:19: output pass - self._state.following.append(self.FOLLOW_output_in_action9951) - output430 = self.output() + self._state.following.append(self.FOLLOW_output_in_action10187) + output438 = self.output() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, output430.tree) + self._adaptor.addChild(root_0, output438.tree) - elif alt175 == 4: - # sdl92.g:867:19: create_request + elif alt183 == 4: + # sdl92.g:879:19: create_request pass - self._state.following.append(self.FOLLOW_create_request_in_action9971) - create_request431 = self.create_request() + self._state.following.append(self.FOLLOW_create_request_in_action10207) + create_request439 = self.create_request() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, create_request431.tree) + self._adaptor.addChild(root_0, create_request439.tree) - elif alt175 == 5: - # sdl92.g:868:19: decision + elif alt183 == 5: + # sdl92.g:880:19: decision pass - self._state.following.append(self.FOLLOW_decision_in_action9991) - decision432 = self.decision() + self._state.following.append(self.FOLLOW_decision_in_action10227) + decision440 = self.decision() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, decision432.tree) + self._adaptor.addChild(root_0, decision440.tree) - elif alt175 == 6: - # sdl92.g:869:19: alternative + elif alt183 == 6: + # sdl92.g:881:19: alternative pass - self._state.following.append(self.FOLLOW_alternative_in_action10011) - alternative433 = self.alternative() + self._state.following.append(self.FOLLOW_alternative_in_action10247) + alternative441 = self.alternative() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, alternative433.tree) + self._adaptor.addChild(root_0, alternative441.tree) - elif alt175 == 7: - # sdl92.g:872:19: export + elif alt183 == 7: + # sdl92.g:884:19: export pass - self._state.following.append(self.FOLLOW_export_in_action10065) - export434 = self.export() + self._state.following.append(self.FOLLOW_export_in_action10301) + export442 = self.export() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, export434.tree) + self._adaptor.addChild(root_0, export442.tree) - elif alt175 == 8: - # sdl92.g:873:19: procedure_call + elif alt183 == 8: + # sdl92.g:885:19: procedure_call pass - self._state.following.append(self.FOLLOW_procedure_call_in_action10090) - procedure_call435 = self.procedure_call() + self._state.following.append(self.FOLLOW_procedure_call_in_action10326) + procedure_call443 = self.procedure_call() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, procedure_call435.tree) + self._adaptor.addChild(root_0, procedure_call443.tree) @@ -18408,7 +18391,7 @@ def __init__(self): # $ANTLR start "export" - # sdl92.g:877:1: export : EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end -> ^( EXPORT ( variable_id )+ ) ; + # sdl92.g:889:1: export : EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end -> ^( EXPORT ( variable_id )+ ) ; def export(self, ): retval = self.export_return() retval.start = self.input.LT(1) @@ -18416,18 +18399,18 @@ def export(self, ): root_0 = None - EXPORT436 = None - L_PAREN437 = None - COMMA439 = None - R_PAREN441 = None - variable_id438 = None - variable_id440 = None - end442 = None - - EXPORT436_tree = None - L_PAREN437_tree = None - COMMA439_tree = None - R_PAREN441_tree = None + EXPORT444 = None + L_PAREN445 = None + COMMA447 = None + R_PAREN449 = None + variable_id446 = None + variable_id448 = None + end450 = None + + EXPORT444_tree = None + L_PAREN445_tree = None + COMMA447_tree = None + R_PAREN449_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_EXPORT = RewriteRuleTokenStream(self._adaptor, "token EXPORT") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") @@ -18436,68 +18419,68 @@ def export(self, ): stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:878:9: ( EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end -> ^( EXPORT ( variable_id )+ ) ) - # sdl92.g:878:17: EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end + # sdl92.g:890:9: ( EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end -> ^( EXPORT ( variable_id )+ ) ) + # sdl92.g:890:17: EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end pass - EXPORT436 = self.match(self.input, EXPORT, self.FOLLOW_EXPORT_in_export10123) + EXPORT444 = self.match(self.input, EXPORT, self.FOLLOW_EXPORT_in_export10359) if self._state.backtracking == 0: - stream_EXPORT.add(EXPORT436) + stream_EXPORT.add(EXPORT444) - L_PAREN437 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_export10141) + L_PAREN445 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_export10377) if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN437) + stream_L_PAREN.add(L_PAREN445) - self._state.following.append(self.FOLLOW_variable_id_in_export10143) - variable_id438 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_export10379) + variable_id446 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id438.tree) + stream_variable_id.add(variable_id446.tree) - # sdl92.g:879:37: ( COMMA variable_id )* - while True: #loop176 - alt176 = 2 - LA176_0 = self.input.LA(1) + # sdl92.g:891:37: ( COMMA variable_id )* + while True: #loop184 + alt184 = 2 + LA184_0 = self.input.LA(1) - if (LA176_0 == COMMA) : - alt176 = 1 + if (LA184_0 == COMMA) : + alt184 = 1 - if alt176 == 1: - # sdl92.g:879:38: COMMA variable_id + if alt184 == 1: + # sdl92.g:891:38: COMMA variable_id pass - COMMA439 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_export10146) + COMMA447 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_export10382) if self._state.backtracking == 0: - stream_COMMA.add(COMMA439) + stream_COMMA.add(COMMA447) - self._state.following.append(self.FOLLOW_variable_id_in_export10148) - variable_id440 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_export10384) + variable_id448 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id440.tree) + stream_variable_id.add(variable_id448.tree) else: - break #loop176 + break #loop184 - R_PAREN441 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_export10152) + R_PAREN449 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_export10388) if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN441) + stream_R_PAREN.add(R_PAREN449) - self._state.following.append(self.FOLLOW_end_in_export10170) - end442 = self.end() + self._state.following.append(self.FOLLOW_end_in_export10406) + end450 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end442.tree) + stream_end.add(end450.tree) # AST Rewrite @@ -18516,14 +18499,14 @@ def export(self, ): root_0 = self._adaptor.nil() - # 881:9: -> ^( EXPORT ( variable_id )+ ) - # sdl92.g:881:17: ^( EXPORT ( variable_id )+ ) + # 893:9: -> ^( EXPORT ( variable_id )+ ) + # sdl92.g:893:17: ^( EXPORT ( variable_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_EXPORT.nextNode() , root_1) - # sdl92.g:881:26: ( variable_id )+ + # sdl92.g:893:26: ( variable_id )+ if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() @@ -18576,7 +18559,7 @@ def __init__(self): # $ANTLR start "procedure_call" - # sdl92.g:886:1: procedure_call : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) ; + # sdl92.g:898:1: procedure_call : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) ; def procedure_call(self, ): retval = self.procedure_call_return() retval.start = self.input.LT(1) @@ -18584,16 +18567,16 @@ def procedure_call(self, ): root_0 = None - CALL448 = None - cif443 = None - symbolid444 = None - hyperlink445 = None - requirement446 = None - rid447 = None - procedure_call_body449 = None - end450 = None + CALL456 = None + cif451 = None + symbolid452 = None + hyperlink453 = None + requirement454 = None + rid455 = None + procedure_call_body457 = None + end458 = None - CALL448_tree = None + CALL456_tree = None stream_CALL = RewriteRuleTokenStream(self._adaptor, "token CALL") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -18604,106 +18587,106 @@ def procedure_call(self, ): stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") try: try: - # sdl92.g:887:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) ) - # sdl92.g:887:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end + # sdl92.g:899:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) ) + # sdl92.g:899:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end pass - # sdl92.g:887:17: ( cif )? - alt177 = 2 - LA177_0 = self.input.LA(1) + # sdl92.g:899:17: ( cif )? + alt185 = 2 + LA185_0 = self.input.LA(1) - if (LA177_0 == 252) : - LA177_1 = self.input.LA(2) + if (LA185_0 == 254) : + LA185_1 = self.input.LA(2) - if (LA177_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt177 = 1 - if alt177 == 1: - # sdl92.g:887:17: cif + if (LA185_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt185 = 1 + if alt185 == 1: + # sdl92.g:899:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_procedure_call10226) - cif443 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_procedure_call10462) + cif451 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif443.tree) + stream_cif.add(cif451.tree) - # sdl92.g:888:17: ( symbolid )? - alt178 = 2 - LA178_0 = self.input.LA(1) + # sdl92.g:900:17: ( symbolid )? + alt186 = 2 + LA186_0 = self.input.LA(1) - if (LA178_0 == 252) : - LA178_1 = self.input.LA(2) + if (LA186_0 == 254) : + LA186_1 = self.input.LA(2) - if (LA178_1 == 254) : - alt178 = 1 - if alt178 == 1: - # sdl92.g:888:17: symbolid + if (LA186_1 == 256) : + alt186 = 1 + if alt186 == 1: + # sdl92.g:900:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_procedure_call10245) - symbolid444 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_procedure_call10481) + symbolid452 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid444.tree) + stream_symbolid.add(symbolid452.tree) - # sdl92.g:889:17: ( hyperlink )? - alt179 = 2 - LA179_0 = self.input.LA(1) + # sdl92.g:901:17: ( hyperlink )? + alt187 = 2 + LA187_0 = self.input.LA(1) - if (LA179_0 == 252) : - LA179_1 = self.input.LA(2) + if (LA187_0 == 254) : + LA187_1 = self.input.LA(2) - if (LA179_1 == KEEP) : - LA179_3 = self.input.LA(3) + if (LA187_1 == KEEP) : + LA187_3 = self.input.LA(3) - if (LA179_3 == SPECIFIC) : - LA179_4 = self.input.LA(4) + if (LA187_3 == SPECIFIC) : + LA187_4 = self.input.LA(4) - if (LA179_4 == GEODE) : - LA179_5 = self.input.LA(5) + if (LA187_4 == GEODE) : + LA187_5 = self.input.LA(5) - if (LA179_5 == HYPERLINK) : - alt179 = 1 - if alt179 == 1: - # sdl92.g:889:17: hyperlink + if (LA187_5 == HYPERLINK) : + alt187 = 1 + if alt187 == 1: + # sdl92.g:901:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_procedure_call10264) - hyperlink445 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_procedure_call10500) + hyperlink453 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink445.tree) + stream_hyperlink.add(hyperlink453.tree) - # sdl92.g:890:17: ( requirement )* - while True: #loop180 - alt180 = 2 - LA180_0 = self.input.LA(1) + # sdl92.g:902:17: ( requirement )* + while True: #loop188 + alt188 = 2 + LA188_0 = self.input.LA(1) - if (LA180_0 == 252) : - LA180_1 = self.input.LA(2) + if (LA188_0 == 254) : + LA188_1 = self.input.LA(2) - if (LA180_1 == KEEP) : - LA180_3 = self.input.LA(3) + if (LA188_1 == KEEP) : + LA188_3 = self.input.LA(3) - if (LA180_3 == SPECIFIC) : - LA180_4 = self.input.LA(4) + if (LA188_3 == SPECIFIC) : + LA188_4 = self.input.LA(4) - if (LA180_4 == GEODE) : - LA180_5 = self.input.LA(5) + if (LA188_4 == GEODE) : + LA188_5 = self.input.LA(5) - if (LA180_5 == REQ_ID) : - alt180 = 1 + if (LA188_5 == REQ_ID) : + alt188 = 1 @@ -18714,66 +18697,66 @@ def procedure_call(self, ): - if alt180 == 1: - # sdl92.g:890:17: requirement + if alt188 == 1: + # sdl92.g:902:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_procedure_call10283) - requirement446 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_procedure_call10519) + requirement454 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement446.tree) + stream_requirement.add(requirement454.tree) else: - break #loop180 + break #loop188 - # sdl92.g:891:17: ( rid )* - while True: #loop181 - alt181 = 2 - LA181_0 = self.input.LA(1) + # sdl92.g:903:17: ( rid )* + while True: #loop189 + alt189 = 2 + LA189_0 = self.input.LA(1) - if (LA181_0 == 252) : - alt181 = 1 + if (LA189_0 == 254) : + alt189 = 1 - if alt181 == 1: - # sdl92.g:891:17: rid + if alt189 == 1: + # sdl92.g:903:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_procedure_call10302) - rid447 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_procedure_call10538) + rid455 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid447.tree) + stream_rid.add(rid455.tree) else: - break #loop181 + break #loop189 - CALL448 = self.match(self.input, CALL, self.FOLLOW_CALL_in_procedure_call10321) + CALL456 = self.match(self.input, CALL, self.FOLLOW_CALL_in_procedure_call10557) if self._state.backtracking == 0: - stream_CALL.add(CALL448) + stream_CALL.add(CALL456) - self._state.following.append(self.FOLLOW_procedure_call_body_in_procedure_call10323) - procedure_call_body449 = self.procedure_call_body() + self._state.following.append(self.FOLLOW_procedure_call_body_in_procedure_call10559) + procedure_call_body457 = self.procedure_call_body() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure_call_body.add(procedure_call_body449.tree) + stream_procedure_call_body.add(procedure_call_body457.tree) - self._state.following.append(self.FOLLOW_end_in_procedure_call10325) - end450 = self.end() + self._state.following.append(self.FOLLOW_end_in_procedure_call10561) + end458 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end450.tree) + stream_end.add(end458.tree) # AST Rewrite @@ -18792,49 +18775,49 @@ def procedure_call(self, ): root_0 = self._adaptor.nil() - # 893:9: -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) - # sdl92.g:893:17: ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) + # 905:9: -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) + # sdl92.g:905:17: ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PROCEDURE_CALL, "PROCEDURE_CALL") , root_1) - # sdl92.g:893:34: ( cif )? + # sdl92.g:905:34: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:893:39: ( symbolid )? + # sdl92.g:905:39: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:893:49: ( hyperlink )? + # sdl92.g:905:49: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:893:60: ( requirement )* + # sdl92.g:905:60: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:893:73: ( rid )* + # sdl92.g:905:73: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:893:78: ( end )? + # sdl92.g:905:78: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -18886,7 +18869,7 @@ def __init__(self): # $ANTLR start "procedure_call_body" - # sdl92.g:897:1: procedure_call_body : procedure_id ( actual_parameters )? ( to_part )? -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) ; + # sdl92.g:909:1: procedure_call_body : procedure_id ( actual_parameters )? ( to_part )? -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) ; def procedure_call_body(self, ): retval = self.procedure_call_body_return() retval.start = self.input.LT(1) @@ -18894,58 +18877,58 @@ def procedure_call_body(self, ): root_0 = None - procedure_id451 = None - actual_parameters452 = None - to_part453 = None + procedure_id459 = None + actual_parameters460 = None + to_part461 = None stream_procedure_id = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_id") stream_actual_parameters = RewriteRuleSubtreeStream(self._adaptor, "rule actual_parameters") stream_to_part = RewriteRuleSubtreeStream(self._adaptor, "rule to_part") try: try: - # sdl92.g:898:9: ( procedure_id ( actual_parameters )? ( to_part )? -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) ) - # sdl92.g:898:17: procedure_id ( actual_parameters )? ( to_part )? + # sdl92.g:910:9: ( procedure_id ( actual_parameters )? ( to_part )? -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) ) + # sdl92.g:910:17: procedure_id ( actual_parameters )? ( to_part )? pass - self._state.following.append(self.FOLLOW_procedure_id_in_procedure_call_body10396) - procedure_id451 = self.procedure_id() + self._state.following.append(self.FOLLOW_procedure_id_in_procedure_call_body10632) + procedure_id459 = self.procedure_id() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure_id.add(procedure_id451.tree) + stream_procedure_id.add(procedure_id459.tree) - # sdl92.g:898:30: ( actual_parameters )? - alt182 = 2 - alt182 = self.dfa182.predict(self.input) - if alt182 == 1: - # sdl92.g:898:30: actual_parameters + # sdl92.g:910:30: ( actual_parameters )? + alt190 = 2 + alt190 = self.dfa190.predict(self.input) + if alt190 == 1: + # sdl92.g:910:30: actual_parameters pass - self._state.following.append(self.FOLLOW_actual_parameters_in_procedure_call_body10398) - actual_parameters452 = self.actual_parameters() + self._state.following.append(self.FOLLOW_actual_parameters_in_procedure_call_body10634) + actual_parameters460 = self.actual_parameters() self._state.following.pop() if self._state.backtracking == 0: - stream_actual_parameters.add(actual_parameters452.tree) + stream_actual_parameters.add(actual_parameters460.tree) - # sdl92.g:898:49: ( to_part )? - alt183 = 2 - LA183_0 = self.input.LA(1) + # sdl92.g:910:49: ( to_part )? + alt191 = 2 + LA191_0 = self.input.LA(1) - if (LA183_0 == TO) : - alt183 = 1 - if alt183 == 1: - # sdl92.g:898:49: to_part + if (LA191_0 == TO) : + alt191 = 1 + if alt191 == 1: + # sdl92.g:910:49: to_part pass - self._state.following.append(self.FOLLOW_to_part_in_procedure_call_body10401) - to_part453 = self.to_part() + self._state.following.append(self.FOLLOW_to_part_in_procedure_call_body10637) + to_part461 = self.to_part() self._state.following.pop() if self._state.backtracking == 0: - stream_to_part.add(to_part453.tree) + stream_to_part.add(to_part461.tree) @@ -18967,8 +18950,8 @@ def procedure_call_body(self, ): root_0 = self._adaptor.nil() - # 899:9: -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) - # sdl92.g:899:17: ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) + # 911:9: -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) + # sdl92.g:911:17: ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(OUTPUT_BODY, "OUTPUT_BODY") @@ -18976,14 +18959,14 @@ def procedure_call_body(self, ): self._adaptor.addChild(root_1, stream_procedure_id.nextTree()) - # sdl92.g:899:44: ( actual_parameters )? + # sdl92.g:911:44: ( actual_parameters )? if stream_actual_parameters.hasNext(): self._adaptor.addChild(root_1, stream_actual_parameters.nextTree()) stream_actual_parameters.reset(); - # sdl92.g:899:63: ( to_part )? + # sdl92.g:911:63: ( to_part )? if stream_to_part.hasNext(): self._adaptor.addChild(root_1, stream_to_part.nextTree()) @@ -19033,7 +19016,7 @@ def __init__(self): # $ANTLR start "alternative" - # sdl92.g:935:1: alternative : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) ; + # sdl92.g:947:1: alternative : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) ; def alternative(self, ): retval = self.alternative_return() retval.start = self.input.LT(1) @@ -19041,21 +19024,21 @@ def alternative(self, ): root_0 = None - ALTERNATIVE459 = None - ENDALTERNATIVE463 = None + ALTERNATIVE467 = None + ENDALTERNATIVE471 = None e = None f = None - cif454 = None - symbolid455 = None - hyperlink456 = None - requirement457 = None - rid458 = None - alternative_question460 = None - answer_part461 = None - alternative_part462 = None - - ALTERNATIVE459_tree = None - ENDALTERNATIVE463_tree = None + cif462 = None + symbolid463 = None + hyperlink464 = None + requirement465 = None + rid466 = None + alternative_question468 = None + answer_part469 = None + alternative_part470 = None + + ALTERNATIVE467_tree = None + ENDALTERNATIVE471_tree = None stream_ALTERNATIVE = RewriteRuleTokenStream(self._adaptor, "token ALTERNATIVE") stream_ENDALTERNATIVE = RewriteRuleTokenStream(self._adaptor, "token ENDALTERNATIVE") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") @@ -19069,106 +19052,106 @@ def alternative(self, ): stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") try: try: - # sdl92.g:936:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) ) - # sdl92.g:936:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end + # sdl92.g:948:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) ) + # sdl92.g:948:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end pass - # sdl92.g:936:17: ( cif )? - alt184 = 2 - LA184_0 = self.input.LA(1) + # sdl92.g:948:17: ( cif )? + alt192 = 2 + LA192_0 = self.input.LA(1) - if (LA184_0 == 252) : - LA184_1 = self.input.LA(2) + if (LA192_0 == 254) : + LA192_1 = self.input.LA(2) - if (LA184_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt184 = 1 - if alt184 == 1: - # sdl92.g:936:17: cif + if (LA192_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt192 = 1 + if alt192 == 1: + # sdl92.g:948:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_alternative10467) - cif454 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_alternative10703) + cif462 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif454.tree) + stream_cif.add(cif462.tree) - # sdl92.g:937:17: ( symbolid )? - alt185 = 2 - LA185_0 = self.input.LA(1) + # sdl92.g:949:17: ( symbolid )? + alt193 = 2 + LA193_0 = self.input.LA(1) - if (LA185_0 == 252) : - LA185_1 = self.input.LA(2) + if (LA193_0 == 254) : + LA193_1 = self.input.LA(2) - if (LA185_1 == 254) : - alt185 = 1 - if alt185 == 1: - # sdl92.g:937:17: symbolid + if (LA193_1 == 256) : + alt193 = 1 + if alt193 == 1: + # sdl92.g:949:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_alternative10486) - symbolid455 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_alternative10722) + symbolid463 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid455.tree) + stream_symbolid.add(symbolid463.tree) - # sdl92.g:938:17: ( hyperlink )? - alt186 = 2 - LA186_0 = self.input.LA(1) + # sdl92.g:950:17: ( hyperlink )? + alt194 = 2 + LA194_0 = self.input.LA(1) - if (LA186_0 == 252) : - LA186_1 = self.input.LA(2) + if (LA194_0 == 254) : + LA194_1 = self.input.LA(2) - if (LA186_1 == KEEP) : - LA186_3 = self.input.LA(3) + if (LA194_1 == KEEP) : + LA194_3 = self.input.LA(3) - if (LA186_3 == SPECIFIC) : - LA186_4 = self.input.LA(4) + if (LA194_3 == SPECIFIC) : + LA194_4 = self.input.LA(4) - if (LA186_4 == GEODE) : - LA186_5 = self.input.LA(5) + if (LA194_4 == GEODE) : + LA194_5 = self.input.LA(5) - if (LA186_5 == HYPERLINK) : - alt186 = 1 - if alt186 == 1: - # sdl92.g:938:17: hyperlink + if (LA194_5 == HYPERLINK) : + alt194 = 1 + if alt194 == 1: + # sdl92.g:950:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_alternative10505) - hyperlink456 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_alternative10741) + hyperlink464 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink456.tree) + stream_hyperlink.add(hyperlink464.tree) - # sdl92.g:939:17: ( requirement )* - while True: #loop187 - alt187 = 2 - LA187_0 = self.input.LA(1) + # sdl92.g:951:17: ( requirement )* + while True: #loop195 + alt195 = 2 + LA195_0 = self.input.LA(1) - if (LA187_0 == 252) : - LA187_1 = self.input.LA(2) + if (LA195_0 == 254) : + LA195_1 = self.input.LA(2) - if (LA187_1 == KEEP) : - LA187_3 = self.input.LA(3) + if (LA195_1 == KEEP) : + LA195_3 = self.input.LA(3) - if (LA187_3 == SPECIFIC) : - LA187_4 = self.input.LA(4) + if (LA195_3 == SPECIFIC) : + LA195_4 = self.input.LA(4) - if (LA187_4 == GEODE) : - LA187_5 = self.input.LA(5) + if (LA195_4 == GEODE) : + LA195_5 = self.input.LA(5) - if (LA187_5 == REQ_ID) : - alt187 = 1 + if (LA195_5 == REQ_ID) : + alt195 = 1 @@ -19179,61 +19162,61 @@ def alternative(self, ): - if alt187 == 1: - # sdl92.g:939:17: requirement + if alt195 == 1: + # sdl92.g:951:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_alternative10524) - requirement457 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_alternative10760) + requirement465 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement457.tree) + stream_requirement.add(requirement465.tree) else: - break #loop187 + break #loop195 - # sdl92.g:940:17: ( rid )* - while True: #loop188 - alt188 = 2 - LA188_0 = self.input.LA(1) + # sdl92.g:952:17: ( rid )* + while True: #loop196 + alt196 = 2 + LA196_0 = self.input.LA(1) - if (LA188_0 == 252) : - alt188 = 1 + if (LA196_0 == 254) : + alt196 = 1 - if alt188 == 1: - # sdl92.g:940:17: rid + if alt196 == 1: + # sdl92.g:952:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_alternative10543) - rid458 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_alternative10779) + rid466 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid458.tree) + stream_rid.add(rid466.tree) else: - break #loop188 + break #loop196 - ALTERNATIVE459 = self.match(self.input, ALTERNATIVE, self.FOLLOW_ALTERNATIVE_in_alternative10562) + ALTERNATIVE467 = self.match(self.input, ALTERNATIVE, self.FOLLOW_ALTERNATIVE_in_alternative10798) if self._state.backtracking == 0: - stream_ALTERNATIVE.add(ALTERNATIVE459) + stream_ALTERNATIVE.add(ALTERNATIVE467) - self._state.following.append(self.FOLLOW_alternative_question_in_alternative10564) - alternative_question460 = self.alternative_question() + self._state.following.append(self.FOLLOW_alternative_question_in_alternative10800) + alternative_question468 = self.alternative_question() self._state.following.pop() if self._state.backtracking == 0: - stream_alternative_question.add(alternative_question460.tree) + stream_alternative_question.add(alternative_question468.tree) - self._state.following.append(self.FOLLOW_end_in_alternative10568) + self._state.following.append(self.FOLLOW_end_in_alternative10804) e = self.end() self._state.following.pop() @@ -19241,60 +19224,60 @@ def alternative(self, ): stream_end.add(e.tree) - # sdl92.g:942:17: ( answer_part )? - alt189 = 2 - LA189_0 = self.input.LA(1) + # sdl92.g:954:17: ( answer_part )? + alt197 = 2 + LA197_0 = self.input.LA(1) - if (LA189_0 == 252) : - LA189_1 = self.input.LA(2) + if (LA197_0 == 254) : + LA197_1 = self.input.LA(2) - if (self.synpred232_sdl92()) : - alt189 = 1 - elif (LA189_0 == L_PAREN) : - LA189_2 = self.input.LA(2) + if (self.synpred240_sdl92()) : + alt197 = 1 + elif (LA197_0 == L_PAREN) : + LA197_2 = self.input.LA(2) - if (self.synpred232_sdl92()) : - alt189 = 1 - if alt189 == 1: - # sdl92.g:942:17: answer_part + if (self.synpred240_sdl92()) : + alt197 = 1 + if alt197 == 1: + # sdl92.g:954:17: answer_part pass - self._state.following.append(self.FOLLOW_answer_part_in_alternative10586) - answer_part461 = self.answer_part() + self._state.following.append(self.FOLLOW_answer_part_in_alternative10822) + answer_part469 = self.answer_part() self._state.following.pop() if self._state.backtracking == 0: - stream_answer_part.add(answer_part461.tree) + stream_answer_part.add(answer_part469.tree) - # sdl92.g:943:17: ( alternative_part )? - alt190 = 2 - LA190_0 = self.input.LA(1) + # sdl92.g:955:17: ( alternative_part )? + alt198 = 2 + LA198_0 = self.input.LA(1) - if (LA190_0 in {ELSE, L_PAREN, 252}) : - alt190 = 1 - if alt190 == 1: - # sdl92.g:943:17: alternative_part + if (LA198_0 in {ELSE, L_PAREN, 254}) : + alt198 = 1 + if alt198 == 1: + # sdl92.g:955:17: alternative_part pass - self._state.following.append(self.FOLLOW_alternative_part_in_alternative10605) - alternative_part462 = self.alternative_part() + self._state.following.append(self.FOLLOW_alternative_part_in_alternative10841) + alternative_part470 = self.alternative_part() self._state.following.pop() if self._state.backtracking == 0: - stream_alternative_part.add(alternative_part462.tree) + stream_alternative_part.add(alternative_part470.tree) - ENDALTERNATIVE463 = self.match(self.input, ENDALTERNATIVE, self.FOLLOW_ENDALTERNATIVE_in_alternative10624) + ENDALTERNATIVE471 = self.match(self.input, ENDALTERNATIVE, self.FOLLOW_ENDALTERNATIVE_in_alternative10860) if self._state.backtracking == 0: - stream_ENDALTERNATIVE.add(ENDALTERNATIVE463) + stream_ENDALTERNATIVE.add(ENDALTERNATIVE471) - self._state.following.append(self.FOLLOW_end_in_alternative10628) + self._state.following.append(self.FOLLOW_end_in_alternative10864) f = self.end() self._state.following.pop() @@ -19323,49 +19306,49 @@ def alternative(self, ): root_0 = self._adaptor.nil() - # 945:9: -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) - # sdl92.g:945:17: ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) + # 957:9: -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) + # sdl92.g:957:17: ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ALTERNATIVE.nextNode() , root_1) - # sdl92.g:945:31: ( cif )? + # sdl92.g:957:31: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:945:36: ( symbolid )? + # sdl92.g:957:36: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:945:46: ( hyperlink )? + # sdl92.g:957:46: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:945:57: ( requirement )* + # sdl92.g:957:57: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:945:70: ( rid )* + # sdl92.g:957:70: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:945:76: ( $e)? + # sdl92.g:957:76: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) @@ -19374,14 +19357,14 @@ def alternative(self, ): self._adaptor.addChild(root_1, stream_alternative_question.nextTree()) - # sdl92.g:946:38: ( answer_part )? + # sdl92.g:958:38: ( answer_part )? if stream_answer_part.hasNext(): self._adaptor.addChild(root_1, stream_answer_part.nextTree()) stream_answer_part.reset(); - # sdl92.g:946:51: ( alternative_part )? + # sdl92.g:958:51: ( alternative_part )? if stream_alternative_part.hasNext(): self._adaptor.addChild(root_1, stream_alternative_part.nextTree()) @@ -19431,7 +19414,7 @@ def __init__(self): # $ANTLR start "alternative_part" - # sdl92.g:950:1: alternative_part : ( ( ( answer_part )+ ( else_part )? ) -> ( answer_part )+ ( else_part )? | else_part -> else_part ); + # sdl92.g:962:1: alternative_part : ( ( ( answer_part )+ ( else_part )? ) -> ( answer_part )+ ( else_part )? | else_part -> else_part ); def alternative_part(self, ): retval = self.alternative_part_return() retval.start = self.input.LT(1) @@ -19439,69 +19422,69 @@ def alternative_part(self, ): root_0 = None - answer_part464 = None - else_part465 = None - else_part466 = None + answer_part472 = None + else_part473 = None + else_part474 = None stream_answer_part = RewriteRuleSubtreeStream(self._adaptor, "rule answer_part") stream_else_part = RewriteRuleSubtreeStream(self._adaptor, "rule else_part") try: try: - # sdl92.g:951:9: ( ( ( answer_part )+ ( else_part )? ) -> ( answer_part )+ ( else_part )? | else_part -> else_part ) - alt193 = 2 - alt193 = self.dfa193.predict(self.input) - if alt193 == 1: - # sdl92.g:951:17: ( ( answer_part )+ ( else_part )? ) - pass - # sdl92.g:951:17: ( ( answer_part )+ ( else_part )? ) - # sdl92.g:951:18: ( answer_part )+ ( else_part )? - pass - # sdl92.g:951:18: ( answer_part )+ - cnt191 = 0 - while True: #loop191 - alt191 = 2 - alt191 = self.dfa191.predict(self.input) - if alt191 == 1: - # sdl92.g:951:18: answer_part + # sdl92.g:963:9: ( ( ( answer_part )+ ( else_part )? ) -> ( answer_part )+ ( else_part )? | else_part -> else_part ) + alt201 = 2 + alt201 = self.dfa201.predict(self.input) + if alt201 == 1: + # sdl92.g:963:17: ( ( answer_part )+ ( else_part )? ) + pass + # sdl92.g:963:17: ( ( answer_part )+ ( else_part )? ) + # sdl92.g:963:18: ( answer_part )+ ( else_part )? + pass + # sdl92.g:963:18: ( answer_part )+ + cnt199 = 0 + while True: #loop199 + alt199 = 2 + alt199 = self.dfa199.predict(self.input) + if alt199 == 1: + # sdl92.g:963:18: answer_part pass - self._state.following.append(self.FOLLOW_answer_part_in_alternative_part10723) - answer_part464 = self.answer_part() + self._state.following.append(self.FOLLOW_answer_part_in_alternative_part10959) + answer_part472 = self.answer_part() self._state.following.pop() if self._state.backtracking == 0: - stream_answer_part.add(answer_part464.tree) + stream_answer_part.add(answer_part472.tree) else: - if cnt191 >= 1: - break #loop191 + if cnt199 >= 1: + break #loop199 if self._state.backtracking > 0: raise BacktrackingFailed - eee = EarlyExitException(191, self.input) + eee = EarlyExitException(199, self.input) raise eee - cnt191 += 1 + cnt199 += 1 - # sdl92.g:951:31: ( else_part )? - alt192 = 2 - LA192_0 = self.input.LA(1) + # sdl92.g:963:31: ( else_part )? + alt200 = 2 + LA200_0 = self.input.LA(1) - if (LA192_0 in {ELSE, 252}) : - alt192 = 1 - if alt192 == 1: - # sdl92.g:951:31: else_part + if (LA200_0 in {ELSE, 254}) : + alt200 = 1 + if alt200 == 1: + # sdl92.g:963:31: else_part pass - self._state.following.append(self.FOLLOW_else_part_in_alternative_part10726) - else_part465 = self.else_part() + self._state.following.append(self.FOLLOW_else_part_in_alternative_part10962) + else_part473 = self.else_part() self._state.following.pop() if self._state.backtracking == 0: - stream_else_part.add(else_part465.tree) + stream_else_part.add(else_part473.tree) @@ -19526,8 +19509,8 @@ def alternative_part(self, ): root_0 = self._adaptor.nil() - # 952:9: -> ( answer_part )+ ( else_part )? - # sdl92.g:952:17: ( answer_part )+ + # 964:9: -> ( answer_part )+ ( else_part )? + # sdl92.g:964:17: ( answer_part )+ if not (stream_answer_part.hasNext()): raise RewriteEarlyExitException() @@ -19537,7 +19520,7 @@ def alternative_part(self, ): stream_answer_part.reset() - # sdl92.g:952:30: ( else_part )? + # sdl92.g:964:30: ( else_part )? if stream_else_part.hasNext(): self._adaptor.addChild(root_0, stream_else_part.nextTree()) @@ -19552,15 +19535,15 @@ def alternative_part(self, ): - elif alt193 == 2: - # sdl92.g:953:19: else_part + elif alt201 == 2: + # sdl92.g:965:19: else_part pass - self._state.following.append(self.FOLLOW_else_part_in_alternative_part10769) - else_part466 = self.else_part() + self._state.following.append(self.FOLLOW_else_part_in_alternative_part11005) + else_part474 = self.else_part() self._state.following.pop() if self._state.backtracking == 0: - stream_else_part.add(else_part466.tree) + stream_else_part.add(else_part474.tree) # AST Rewrite @@ -19579,7 +19562,7 @@ def alternative_part(self, ): root_0 = self._adaptor.nil() - # 954:9: -> else_part + # 966:9: -> else_part self._adaptor.addChild(root_0, stream_else_part.nextTree()) @@ -19622,7 +19605,7 @@ def __init__(self): # $ANTLR start "alternative_question" - # sdl92.g:958:1: alternative_question : ground_expression ; + # sdl92.g:970:1: alternative_question : ground_expression ; def alternative_question(self, ): retval = self.alternative_question_return() retval.start = self.input.LT(1) @@ -19630,23 +19613,23 @@ def alternative_question(self, ): root_0 = None - ground_expression467 = None + ground_expression475 = None try: try: - # sdl92.g:959:9: ( ground_expression ) - # sdl92.g:959:17: ground_expression + # sdl92.g:971:9: ( ground_expression ) + # sdl92.g:971:17: ground_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_ground_expression_in_alternative_question10818) - ground_expression467 = self.ground_expression() + self._state.following.append(self.FOLLOW_ground_expression_in_alternative_question11054) + ground_expression475 = self.ground_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, ground_expression467.tree) + self._adaptor.addChild(root_0, ground_expression475.tree) @@ -19683,7 +19666,7 @@ def __init__(self): # $ANTLR start "decision" - # sdl92.g:963:1: decision : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) ; + # sdl92.g:975:1: decision : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) ; def decision(self, ): retval = self.decision_return() retval.start = self.input.LT(1) @@ -19691,21 +19674,21 @@ def decision(self, ): root_0 = None - DECISION473 = None - ENDDECISION477 = None + DECISION481 = None + ENDDECISION485 = None e = None f = None - cif468 = None - symbolid469 = None - hyperlink470 = None - requirement471 = None - rid472 = None - question474 = None - answer_part475 = None - alternative_part476 = None - - DECISION473_tree = None - ENDDECISION477_tree = None + cif476 = None + symbolid477 = None + hyperlink478 = None + requirement479 = None + rid480 = None + question482 = None + answer_part483 = None + alternative_part484 = None + + DECISION481_tree = None + ENDDECISION485_tree = None stream_DECISION = RewriteRuleTokenStream(self._adaptor, "token DECISION") stream_ENDDECISION = RewriteRuleTokenStream(self._adaptor, "token ENDDECISION") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") @@ -19719,106 +19702,106 @@ def decision(self, ): stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") try: try: - # sdl92.g:964:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) ) - # sdl92.g:964:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end + # sdl92.g:976:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) ) + # sdl92.g:976:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end pass - # sdl92.g:964:17: ( cif )? - alt194 = 2 - LA194_0 = self.input.LA(1) + # sdl92.g:976:17: ( cif )? + alt202 = 2 + LA202_0 = self.input.LA(1) - if (LA194_0 == 252) : - LA194_1 = self.input.LA(2) + if (LA202_0 == 254) : + LA202_1 = self.input.LA(2) - if (LA194_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt194 = 1 - if alt194 == 1: - # sdl92.g:964:17: cif + if (LA202_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt202 = 1 + if alt202 == 1: + # sdl92.g:976:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_decision10850) - cif468 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_decision11086) + cif476 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif468.tree) + stream_cif.add(cif476.tree) - # sdl92.g:965:17: ( symbolid )? - alt195 = 2 - LA195_0 = self.input.LA(1) + # sdl92.g:977:17: ( symbolid )? + alt203 = 2 + LA203_0 = self.input.LA(1) - if (LA195_0 == 252) : - LA195_1 = self.input.LA(2) + if (LA203_0 == 254) : + LA203_1 = self.input.LA(2) - if (LA195_1 == 254) : - alt195 = 1 - if alt195 == 1: - # sdl92.g:965:17: symbolid + if (LA203_1 == 256) : + alt203 = 1 + if alt203 == 1: + # sdl92.g:977:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_decision10869) - symbolid469 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_decision11105) + symbolid477 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid469.tree) + stream_symbolid.add(symbolid477.tree) - # sdl92.g:966:17: ( hyperlink )? - alt196 = 2 - LA196_0 = self.input.LA(1) + # sdl92.g:978:17: ( hyperlink )? + alt204 = 2 + LA204_0 = self.input.LA(1) - if (LA196_0 == 252) : - LA196_1 = self.input.LA(2) + if (LA204_0 == 254) : + LA204_1 = self.input.LA(2) - if (LA196_1 == KEEP) : - LA196_3 = self.input.LA(3) + if (LA204_1 == KEEP) : + LA204_3 = self.input.LA(3) - if (LA196_3 == SPECIFIC) : - LA196_4 = self.input.LA(4) + if (LA204_3 == SPECIFIC) : + LA204_4 = self.input.LA(4) - if (LA196_4 == GEODE) : - LA196_5 = self.input.LA(5) + if (LA204_4 == GEODE) : + LA204_5 = self.input.LA(5) - if (LA196_5 == HYPERLINK) : - alt196 = 1 - if alt196 == 1: - # sdl92.g:966:17: hyperlink + if (LA204_5 == HYPERLINK) : + alt204 = 1 + if alt204 == 1: + # sdl92.g:978:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_decision10888) - hyperlink470 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_decision11124) + hyperlink478 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink470.tree) + stream_hyperlink.add(hyperlink478.tree) - # sdl92.g:967:17: ( requirement )* - while True: #loop197 - alt197 = 2 - LA197_0 = self.input.LA(1) + # sdl92.g:979:17: ( requirement )* + while True: #loop205 + alt205 = 2 + LA205_0 = self.input.LA(1) - if (LA197_0 == 252) : - LA197_1 = self.input.LA(2) + if (LA205_0 == 254) : + LA205_1 = self.input.LA(2) - if (LA197_1 == KEEP) : - LA197_3 = self.input.LA(3) + if (LA205_1 == KEEP) : + LA205_3 = self.input.LA(3) - if (LA197_3 == SPECIFIC) : - LA197_4 = self.input.LA(4) + if (LA205_3 == SPECIFIC) : + LA205_4 = self.input.LA(4) - if (LA197_4 == GEODE) : - LA197_5 = self.input.LA(5) + if (LA205_4 == GEODE) : + LA205_5 = self.input.LA(5) - if (LA197_5 == REQ_ID) : - alt197 = 1 + if (LA205_5 == REQ_ID) : + alt205 = 1 @@ -19829,61 +19812,61 @@ def decision(self, ): - if alt197 == 1: - # sdl92.g:967:17: requirement + if alt205 == 1: + # sdl92.g:979:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_decision10907) - requirement471 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_decision11143) + requirement479 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement471.tree) + stream_requirement.add(requirement479.tree) else: - break #loop197 + break #loop205 - # sdl92.g:968:17: ( rid )* - while True: #loop198 - alt198 = 2 - LA198_0 = self.input.LA(1) + # sdl92.g:980:17: ( rid )* + while True: #loop206 + alt206 = 2 + LA206_0 = self.input.LA(1) - if (LA198_0 == 252) : - alt198 = 1 + if (LA206_0 == 254) : + alt206 = 1 - if alt198 == 1: - # sdl92.g:968:17: rid + if alt206 == 1: + # sdl92.g:980:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_decision10926) - rid472 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_decision11162) + rid480 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid472.tree) + stream_rid.add(rid480.tree) else: - break #loop198 + break #loop206 - DECISION473 = self.match(self.input, DECISION, self.FOLLOW_DECISION_in_decision10945) + DECISION481 = self.match(self.input, DECISION, self.FOLLOW_DECISION_in_decision11181) if self._state.backtracking == 0: - stream_DECISION.add(DECISION473) + stream_DECISION.add(DECISION481) - self._state.following.append(self.FOLLOW_question_in_decision10947) - question474 = self.question() + self._state.following.append(self.FOLLOW_question_in_decision11183) + question482 = self.question() self._state.following.pop() if self._state.backtracking == 0: - stream_question.add(question474.tree) + stream_question.add(question482.tree) - self._state.following.append(self.FOLLOW_end_in_decision10951) + self._state.following.append(self.FOLLOW_end_in_decision11187) e = self.end() self._state.following.pop() @@ -19891,60 +19874,60 @@ def decision(self, ): stream_end.add(e.tree) - # sdl92.g:970:17: ( answer_part )? - alt199 = 2 - LA199_0 = self.input.LA(1) + # sdl92.g:982:17: ( answer_part )? + alt207 = 2 + LA207_0 = self.input.LA(1) - if (LA199_0 == 252) : - LA199_1 = self.input.LA(2) + if (LA207_0 == 254) : + LA207_1 = self.input.LA(2) - if (self.synpred242_sdl92()) : - alt199 = 1 - elif (LA199_0 == L_PAREN) : - LA199_2 = self.input.LA(2) + if (self.synpred250_sdl92()) : + alt207 = 1 + elif (LA207_0 == L_PAREN) : + LA207_2 = self.input.LA(2) - if (self.synpred242_sdl92()) : - alt199 = 1 - if alt199 == 1: - # sdl92.g:970:17: answer_part + if (self.synpred250_sdl92()) : + alt207 = 1 + if alt207 == 1: + # sdl92.g:982:17: answer_part pass - self._state.following.append(self.FOLLOW_answer_part_in_decision10969) - answer_part475 = self.answer_part() + self._state.following.append(self.FOLLOW_answer_part_in_decision11205) + answer_part483 = self.answer_part() self._state.following.pop() if self._state.backtracking == 0: - stream_answer_part.add(answer_part475.tree) + stream_answer_part.add(answer_part483.tree) - # sdl92.g:971:17: ( alternative_part )? - alt200 = 2 - LA200_0 = self.input.LA(1) + # sdl92.g:983:17: ( alternative_part )? + alt208 = 2 + LA208_0 = self.input.LA(1) - if (LA200_0 in {ELSE, L_PAREN, 252}) : - alt200 = 1 - if alt200 == 1: - # sdl92.g:971:17: alternative_part + if (LA208_0 in {ELSE, L_PAREN, 254}) : + alt208 = 1 + if alt208 == 1: + # sdl92.g:983:17: alternative_part pass - self._state.following.append(self.FOLLOW_alternative_part_in_decision10988) - alternative_part476 = self.alternative_part() + self._state.following.append(self.FOLLOW_alternative_part_in_decision11224) + alternative_part484 = self.alternative_part() self._state.following.pop() if self._state.backtracking == 0: - stream_alternative_part.add(alternative_part476.tree) + stream_alternative_part.add(alternative_part484.tree) - ENDDECISION477 = self.match(self.input, ENDDECISION, self.FOLLOW_ENDDECISION_in_decision11007) + ENDDECISION485 = self.match(self.input, ENDDECISION, self.FOLLOW_ENDDECISION_in_decision11243) if self._state.backtracking == 0: - stream_ENDDECISION.add(ENDDECISION477) + stream_ENDDECISION.add(ENDDECISION485) - self._state.following.append(self.FOLLOW_end_in_decision11011) + self._state.following.append(self.FOLLOW_end_in_decision11247) f = self.end() self._state.following.pop() @@ -19973,49 +19956,49 @@ def decision(self, ): root_0 = self._adaptor.nil() - # 973:9: -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) - # sdl92.g:973:17: ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) + # 985:9: -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) + # sdl92.g:985:17: ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_DECISION.nextNode() , root_1) - # sdl92.g:973:28: ( cif )? + # sdl92.g:985:28: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:973:33: ( symbolid )? + # sdl92.g:985:33: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:973:43: ( hyperlink )? + # sdl92.g:985:43: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:973:54: ( requirement )* + # sdl92.g:985:54: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:973:67: ( rid )* + # sdl92.g:985:67: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:973:73: ( $e)? + # sdl92.g:985:73: ( $e)? if stream_e.hasNext(): self._adaptor.addChild(root_1, stream_e.nextTree()) @@ -20024,14 +20007,14 @@ def decision(self, ): self._adaptor.addChild(root_1, stream_question.nextTree()) - # sdl92.g:974:17: ( answer_part )? + # sdl92.g:986:17: ( answer_part )? if stream_answer_part.hasNext(): self._adaptor.addChild(root_1, stream_answer_part.nextTree()) stream_answer_part.reset(); - # sdl92.g:974:30: ( alternative_part )? + # sdl92.g:986:30: ( alternative_part )? if stream_alternative_part.hasNext(): self._adaptor.addChild(root_1, stream_alternative_part.nextTree()) @@ -20081,7 +20064,7 @@ def __init__(self): # $ANTLR start "answer_part" - # sdl92.g:978:1: answer_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) ; + # sdl92.g:990:1: answer_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) ; def answer_part(self, ): retval = self.answer_part_return() retval.start = self.input.LT(1) @@ -20089,21 +20072,21 @@ def answer_part(self, ): root_0 = None - L_PAREN483 = None - R_PAREN485 = None - char_literal486 = None - cif478 = None - symbolid479 = None - hyperlink480 = None - requirement481 = None - rid482 = None - answer484 = None - transition487 = None - - L_PAREN483_tree = None - R_PAREN485_tree = None - char_literal486_tree = None - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + L_PAREN491 = None + R_PAREN493 = None + char_literal494 = None + cif486 = None + symbolid487 = None + hyperlink488 = None + requirement489 = None + rid490 = None + answer492 = None + transition495 = None + + L_PAREN491_tree = None + R_PAREN493_tree = None + char_literal494_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") @@ -20115,106 +20098,106 @@ def answer_part(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:979:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) ) - # sdl92.g:979:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? + # sdl92.g:991:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) ) + # sdl92.g:991:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? pass - # sdl92.g:979:17: ( cif )? - alt201 = 2 - LA201_0 = self.input.LA(1) + # sdl92.g:991:17: ( cif )? + alt209 = 2 + LA209_0 = self.input.LA(1) - if (LA201_0 == 252) : - LA201_1 = self.input.LA(2) + if (LA209_0 == 254) : + LA209_1 = self.input.LA(2) - if (LA201_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt201 = 1 - if alt201 == 1: - # sdl92.g:979:17: cif + if (LA209_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt209 = 1 + if alt209 == 1: + # sdl92.g:991:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_answer_part11105) - cif478 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_answer_part11341) + cif486 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif478.tree) + stream_cif.add(cif486.tree) - # sdl92.g:980:17: ( symbolid )? - alt202 = 2 - LA202_0 = self.input.LA(1) + # sdl92.g:992:17: ( symbolid )? + alt210 = 2 + LA210_0 = self.input.LA(1) - if (LA202_0 == 252) : - LA202_1 = self.input.LA(2) + if (LA210_0 == 254) : + LA210_1 = self.input.LA(2) - if (LA202_1 == 254) : - alt202 = 1 - if alt202 == 1: - # sdl92.g:980:17: symbolid + if (LA210_1 == 256) : + alt210 = 1 + if alt210 == 1: + # sdl92.g:992:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_answer_part11124) - symbolid479 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_answer_part11360) + symbolid487 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid479.tree) + stream_symbolid.add(symbolid487.tree) - # sdl92.g:981:17: ( hyperlink )? - alt203 = 2 - LA203_0 = self.input.LA(1) + # sdl92.g:993:17: ( hyperlink )? + alt211 = 2 + LA211_0 = self.input.LA(1) - if (LA203_0 == 252) : - LA203_1 = self.input.LA(2) + if (LA211_0 == 254) : + LA211_1 = self.input.LA(2) - if (LA203_1 == KEEP) : - LA203_3 = self.input.LA(3) + if (LA211_1 == KEEP) : + LA211_3 = self.input.LA(3) - if (LA203_3 == SPECIFIC) : - LA203_4 = self.input.LA(4) + if (LA211_3 == SPECIFIC) : + LA211_4 = self.input.LA(4) - if (LA203_4 == GEODE) : - LA203_5 = self.input.LA(5) + if (LA211_4 == GEODE) : + LA211_5 = self.input.LA(5) - if (LA203_5 == HYPERLINK) : - alt203 = 1 - if alt203 == 1: - # sdl92.g:981:17: hyperlink + if (LA211_5 == HYPERLINK) : + alt211 = 1 + if alt211 == 1: + # sdl92.g:993:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_answer_part11143) - hyperlink480 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_answer_part11379) + hyperlink488 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink480.tree) + stream_hyperlink.add(hyperlink488.tree) - # sdl92.g:982:17: ( requirement )* - while True: #loop204 - alt204 = 2 - LA204_0 = self.input.LA(1) + # sdl92.g:994:17: ( requirement )* + while True: #loop212 + alt212 = 2 + LA212_0 = self.input.LA(1) - if (LA204_0 == 252) : - LA204_1 = self.input.LA(2) + if (LA212_0 == 254) : + LA212_1 = self.input.LA(2) - if (LA204_1 == KEEP) : - LA204_3 = self.input.LA(3) + if (LA212_1 == KEEP) : + LA212_3 = self.input.LA(3) - if (LA204_3 == SPECIFIC) : - LA204_4 = self.input.LA(4) + if (LA212_3 == SPECIFIC) : + LA212_4 = self.input.LA(4) - if (LA204_4 == GEODE) : - LA204_5 = self.input.LA(5) + if (LA212_4 == GEODE) : + LA212_5 = self.input.LA(5) - if (LA204_5 == REQ_ID) : - alt204 = 1 + if (LA212_5 == REQ_ID) : + alt212 = 1 @@ -20225,82 +20208,82 @@ def answer_part(self, ): - if alt204 == 1: - # sdl92.g:982:17: requirement + if alt212 == 1: + # sdl92.g:994:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_answer_part11162) - requirement481 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_answer_part11398) + requirement489 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement481.tree) + stream_requirement.add(requirement489.tree) else: - break #loop204 + break #loop212 - # sdl92.g:983:17: ( rid )* - while True: #loop205 - alt205 = 2 - LA205_0 = self.input.LA(1) + # sdl92.g:995:17: ( rid )* + while True: #loop213 + alt213 = 2 + LA213_0 = self.input.LA(1) - if (LA205_0 == 252) : - alt205 = 1 + if (LA213_0 == 254) : + alt213 = 1 - if alt205 == 1: - # sdl92.g:983:17: rid + if alt213 == 1: + # sdl92.g:995:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_answer_part11181) - rid482 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_answer_part11417) + rid490 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid482.tree) + stream_rid.add(rid490.tree) else: - break #loop205 + break #loop213 - L_PAREN483 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_answer_part11200) + L_PAREN491 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_answer_part11436) if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN483) + stream_L_PAREN.add(L_PAREN491) - self._state.following.append(self.FOLLOW_answer_in_answer_part11202) - answer484 = self.answer() + self._state.following.append(self.FOLLOW_answer_in_answer_part11438) + answer492 = self.answer() self._state.following.pop() if self._state.backtracking == 0: - stream_answer.add(answer484.tree) + stream_answer.add(answer492.tree) - R_PAREN485 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_answer_part11204) + R_PAREN493 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_answer_part11440) if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN485) + stream_R_PAREN.add(R_PAREN493) - char_literal486 = self.match(self.input, 253, self.FOLLOW_253_in_answer_part11206) + char_literal494 = self.match(self.input, 255, self.FOLLOW_255_in_answer_part11442) if self._state.backtracking == 0: - stream_253.add(char_literal486) + stream_255.add(char_literal494) - # sdl92.g:984:44: ( transition )? - alt206 = 2 - alt206 = self.dfa206.predict(self.input) - if alt206 == 1: - # sdl92.g:984:44: transition + # sdl92.g:996:44: ( transition )? + alt214 = 2 + alt214 = self.dfa214.predict(self.input) + if alt214 == 1: + # sdl92.g:996:44: transition pass - self._state.following.append(self.FOLLOW_transition_in_answer_part11208) - transition487 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_answer_part11444) + transition495 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition487.tree) + stream_transition.add(transition495.tree) @@ -20322,42 +20305,42 @@ def answer_part(self, ): root_0 = self._adaptor.nil() - # 985:9: -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) - # sdl92.g:985:17: ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) + # 997:9: -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) + # sdl92.g:997:17: ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(ANSWER, "ANSWER") , root_1) - # sdl92.g:985:26: ( cif )? + # sdl92.g:997:26: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:985:31: ( symbolid )? + # sdl92.g:997:31: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:985:41: ( hyperlink )? + # sdl92.g:997:41: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:985:52: ( requirement )* + # sdl92.g:997:52: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:985:65: ( rid )* + # sdl92.g:997:65: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) @@ -20366,7 +20349,7 @@ def answer_part(self, ): self._adaptor.addChild(root_1, stream_answer.nextTree()) - # sdl92.g:985:77: ( transition )? + # sdl92.g:997:77: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -20416,7 +20399,7 @@ def __init__(self): # $ANTLR start "answer" - # sdl92.g:989:1: answer : ( range_condition | informal_text ); + # sdl92.g:1001:1: answer : ( range_condition | informal_text ); def answer(self, ): retval = self.answer_return() retval.start = self.input.LT(1) @@ -20424,31 +20407,31 @@ def answer(self, ): root_0 = None - range_condition488 = None - informal_text489 = None + range_condition496 = None + informal_text497 = None try: try: - # sdl92.g:990:9: ( range_condition | informal_text ) - alt207 = 2 - LA207_0 = self.input.LA(1) + # sdl92.g:1002:9: ( range_condition | informal_text ) + alt215 = 2 + LA215_0 = self.input.LA(1) - if (LA207_0 in {CALL, DASH, EQ, FALSE, FLOAT, GE, GT, ID, IF, INPUT, INT, LE, LT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NEQ, NOT, OUTPUT, PLUS_INFINITY, STATE, TRUE, UNHANDLED}) : - alt207 = 1 - elif (LA207_0 == STRING) : - LA207_2 = self.input.LA(2) + if (LA215_0 in {CALL, DASH, EQ, FALSE, FLOAT, GE, GT, ID, IF, INPUT, INT, LE, LT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NEQ, NOT, OUTPUT, PLUS_INFINITY, STATE, TRUE, UNHANDLED}) : + alt215 = 1 + elif (LA215_0 == STRING) : + LA215_2 = self.input.LA(2) - if (self.synpred250_sdl92()) : - alt207 = 1 + if (self.synpred258_sdl92()) : + alt215 = 1 elif (True) : - alt207 = 2 + alt215 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 207, 2, self.input) + nvae = NoViableAltException("", 215, 2, self.input) raise nvae @@ -20458,38 +20441,38 @@ def answer(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 207, 0, self.input) + nvae = NoViableAltException("", 215, 0, self.input) raise nvae - if alt207 == 1: - # sdl92.g:990:17: range_condition + if alt215 == 1: + # sdl92.g:1002:17: range_condition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_range_condition_in_answer11280) - range_condition488 = self.range_condition() + self._state.following.append(self.FOLLOW_range_condition_in_answer11516) + range_condition496 = self.range_condition() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, range_condition488.tree) + self._adaptor.addChild(root_0, range_condition496.tree) - elif alt207 == 2: - # sdl92.g:991:19: informal_text + elif alt215 == 2: + # sdl92.g:1003:19: informal_text pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_informal_text_in_answer11300) - informal_text489 = self.informal_text() + self._state.following.append(self.FOLLOW_informal_text_in_answer11536) + informal_text497 = self.informal_text() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, informal_text489.tree) + self._adaptor.addChild(root_0, informal_text497.tree) @@ -20525,7 +20508,7 @@ def __init__(self): # $ANTLR start "else_part" - # sdl92.g:995:1: else_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) ; + # sdl92.g:1007:1: else_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) ; def else_part(self, ): retval = self.else_part_return() retval.start = self.input.LT(1) @@ -20533,18 +20516,18 @@ def else_part(self, ): root_0 = None - ELSE495 = None - char_literal496 = None - cif490 = None - symbolid491 = None - hyperlink492 = None - requirement493 = None - rid494 = None - transition497 = None - - ELSE495_tree = None - char_literal496_tree = None - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + ELSE503 = None + char_literal504 = None + cif498 = None + symbolid499 = None + hyperlink500 = None + requirement501 = None + rid502 = None + transition505 = None + + ELSE503_tree = None + char_literal504_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_ELSE = RewriteRuleTokenStream(self._adaptor, "token ELSE") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -20554,106 +20537,106 @@ def else_part(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:996:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) ) - # sdl92.g:996:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? + # sdl92.g:1008:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) ) + # sdl92.g:1008:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? pass - # sdl92.g:996:17: ( cif )? - alt208 = 2 - LA208_0 = self.input.LA(1) + # sdl92.g:1008:17: ( cif )? + alt216 = 2 + LA216_0 = self.input.LA(1) - if (LA208_0 == 252) : - LA208_1 = self.input.LA(2) + if (LA216_0 == 254) : + LA216_1 = self.input.LA(2) - if (LA208_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt208 = 1 - if alt208 == 1: - # sdl92.g:996:17: cif + if (LA216_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt216 = 1 + if alt216 == 1: + # sdl92.g:1008:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_else_part11332) - cif490 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_else_part11568) + cif498 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif490.tree) + stream_cif.add(cif498.tree) - # sdl92.g:997:17: ( symbolid )? - alt209 = 2 - LA209_0 = self.input.LA(1) + # sdl92.g:1009:17: ( symbolid )? + alt217 = 2 + LA217_0 = self.input.LA(1) - if (LA209_0 == 252) : - LA209_1 = self.input.LA(2) + if (LA217_0 == 254) : + LA217_1 = self.input.LA(2) - if (LA209_1 == 254) : - alt209 = 1 - if alt209 == 1: - # sdl92.g:997:17: symbolid + if (LA217_1 == 256) : + alt217 = 1 + if alt217 == 1: + # sdl92.g:1009:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_else_part11351) - symbolid491 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_else_part11587) + symbolid499 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid491.tree) + stream_symbolid.add(symbolid499.tree) - # sdl92.g:998:17: ( hyperlink )? - alt210 = 2 - LA210_0 = self.input.LA(1) + # sdl92.g:1010:17: ( hyperlink )? + alt218 = 2 + LA218_0 = self.input.LA(1) - if (LA210_0 == 252) : - LA210_1 = self.input.LA(2) + if (LA218_0 == 254) : + LA218_1 = self.input.LA(2) - if (LA210_1 == KEEP) : - LA210_3 = self.input.LA(3) + if (LA218_1 == KEEP) : + LA218_3 = self.input.LA(3) - if (LA210_3 == SPECIFIC) : - LA210_4 = self.input.LA(4) + if (LA218_3 == SPECIFIC) : + LA218_4 = self.input.LA(4) - if (LA210_4 == GEODE) : - LA210_5 = self.input.LA(5) + if (LA218_4 == GEODE) : + LA218_5 = self.input.LA(5) - if (LA210_5 == HYPERLINK) : - alt210 = 1 - if alt210 == 1: - # sdl92.g:998:17: hyperlink + if (LA218_5 == HYPERLINK) : + alt218 = 1 + if alt218 == 1: + # sdl92.g:1010:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_else_part11370) - hyperlink492 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_else_part11606) + hyperlink500 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink492.tree) + stream_hyperlink.add(hyperlink500.tree) - # sdl92.g:999:17: ( requirement )* - while True: #loop211 - alt211 = 2 - LA211_0 = self.input.LA(1) + # sdl92.g:1011:17: ( requirement )* + while True: #loop219 + alt219 = 2 + LA219_0 = self.input.LA(1) - if (LA211_0 == 252) : - LA211_1 = self.input.LA(2) + if (LA219_0 == 254) : + LA219_1 = self.input.LA(2) - if (LA211_1 == KEEP) : - LA211_3 = self.input.LA(3) + if (LA219_1 == KEEP) : + LA219_3 = self.input.LA(3) - if (LA211_3 == SPECIFIC) : - LA211_4 = self.input.LA(4) + if (LA219_3 == SPECIFIC) : + LA219_4 = self.input.LA(4) - if (LA211_4 == GEODE) : - LA211_5 = self.input.LA(5) + if (LA219_4 == GEODE) : + LA219_5 = self.input.LA(5) - if (LA211_5 == REQ_ID) : - alt211 = 1 + if (LA219_5 == REQ_ID) : + alt219 = 1 @@ -20664,72 +20647,72 @@ def else_part(self, ): - if alt211 == 1: - # sdl92.g:999:17: requirement + if alt219 == 1: + # sdl92.g:1011:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_else_part11389) - requirement493 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_else_part11625) + requirement501 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement493.tree) + stream_requirement.add(requirement501.tree) else: - break #loop211 + break #loop219 - # sdl92.g:1000:17: ( rid )* - while True: #loop212 - alt212 = 2 - LA212_0 = self.input.LA(1) + # sdl92.g:1012:17: ( rid )* + while True: #loop220 + alt220 = 2 + LA220_0 = self.input.LA(1) - if (LA212_0 == 252) : - alt212 = 1 + if (LA220_0 == 254) : + alt220 = 1 - if alt212 == 1: - # sdl92.g:1000:17: rid + if alt220 == 1: + # sdl92.g:1012:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_else_part11408) - rid494 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_else_part11644) + rid502 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid494.tree) + stream_rid.add(rid502.tree) else: - break #loop212 + break #loop220 - ELSE495 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_else_part11427) + ELSE503 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_else_part11663) if self._state.backtracking == 0: - stream_ELSE.add(ELSE495) + stream_ELSE.add(ELSE503) - char_literal496 = self.match(self.input, 253, self.FOLLOW_253_in_else_part11429) + char_literal504 = self.match(self.input, 255, self.FOLLOW_255_in_else_part11665) if self._state.backtracking == 0: - stream_253.add(char_literal496) + stream_255.add(char_literal504) - # sdl92.g:1001:26: ( transition )? - alt213 = 2 - LA213_0 = self.input.LA(1) + # sdl92.g:1013:26: ( transition )? + alt221 = 2 + LA221_0 = self.input.LA(1) - if (LA213_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK, 252}) : - alt213 = 1 - if alt213 == 1: - # sdl92.g:1001:26: transition + if (LA221_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK, 254}) : + alt221 = 1 + if alt221 == 1: + # sdl92.g:1013:26: transition pass - self._state.following.append(self.FOLLOW_transition_in_else_part11431) - transition497 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_else_part11667) + transition505 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition497.tree) + stream_transition.add(transition505.tree) @@ -20751,49 +20734,49 @@ def else_part(self, ): root_0 = self._adaptor.nil() - # 1002:9: -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) - # sdl92.g:1002:17: ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) + # 1014:9: -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) + # sdl92.g:1014:17: ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ELSE.nextNode() , root_1) - # sdl92.g:1002:24: ( cif )? + # sdl92.g:1014:24: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:1002:29: ( symbolid )? + # sdl92.g:1014:29: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:1002:39: ( hyperlink )? + # sdl92.g:1014:39: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:1002:50: ( requirement )* + # sdl92.g:1014:50: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:1002:63: ( rid )* + # sdl92.g:1014:63: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:1002:68: ( transition )? + # sdl92.g:1014:68: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -20843,7 +20826,7 @@ def __init__(self): # $ANTLR start "question" - # sdl92.g:1006:1: question : ( informal_text | expression -> ^( QUESTION expression ) | ANY -> ^( ANY ) ); + # sdl92.g:1018:1: question : ( informal_text | expression -> ^( QUESTION expression ) | ANY -> ^( ANY ) ); def question(self, ): retval = self.question_return() retval.start = self.input.LT(1) @@ -20851,73 +20834,73 @@ def question(self, ): root_0 = None - ANY500 = None - informal_text498 = None - expression499 = None + ANY508 = None + informal_text506 = None + expression507 = None - ANY500_tree = None + ANY508_tree = None stream_ANY = RewriteRuleTokenStream(self._adaptor, "token ANY") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1007:9: ( informal_text | expression -> ^( QUESTION expression ) | ANY -> ^( ANY ) ) - alt214 = 3 - LA214 = self.input.LA(1) - if LA214 in {STRING}: - LA214_1 = self.input.LA(2) + # sdl92.g:1019:9: ( informal_text | expression -> ^( QUESTION expression ) | ANY -> ^( ANY ) ) + alt222 = 3 + LA222 = self.input.LA(1) + if LA222 in {STRING}: + LA222_1 = self.input.LA(2) - if (self.synpred257_sdl92()) : - alt214 = 1 - elif (self.synpred258_sdl92()) : - alt214 = 2 + if (self.synpred265_sdl92()) : + alt222 = 1 + elif (self.synpred266_sdl92()) : + alt222 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 214, 1, self.input) + nvae = NoViableAltException("", 222, 1, self.input) raise nvae - elif LA214 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, TRUE, UNHANDLED}: - alt214 = 2 - elif LA214 in {ANY}: - alt214 = 3 + elif LA222 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, TRUE, UNHANDLED}: + alt222 = 2 + elif LA222 in {ANY}: + alt222 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 214, 0, self.input) + nvae = NoViableAltException("", 222, 0, self.input) raise nvae - if alt214 == 1: - # sdl92.g:1007:17: informal_text + if alt222 == 1: + # sdl92.g:1019:17: informal_text pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_informal_text_in_question11501) - informal_text498 = self.informal_text() + self._state.following.append(self.FOLLOW_informal_text_in_question11737) + informal_text506 = self.informal_text() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, informal_text498.tree) + self._adaptor.addChild(root_0, informal_text506.tree) - elif alt214 == 2: - # sdl92.g:1008:19: expression + elif alt222 == 2: + # sdl92.g:1020:19: expression pass - self._state.following.append(self.FOLLOW_expression_in_question11521) - expression499 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_question11757) + expression507 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression499.tree) + stream_expression.add(expression507.tree) # AST Rewrite @@ -20936,8 +20919,8 @@ def question(self, ): root_0 = self._adaptor.nil() - # 1009:9: -> ^( QUESTION expression ) - # sdl92.g:1009:17: ^( QUESTION expression ) + # 1021:9: -> ^( QUESTION expression ) + # sdl92.g:1021:17: ^( QUESTION expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(QUESTION, "QUESTION") @@ -20955,12 +20938,12 @@ def question(self, ): - elif alt214 == 3: - # sdl92.g:1010:19: ANY + elif alt222 == 3: + # sdl92.g:1022:19: ANY pass - ANY500 = self.match(self.input, ANY, self.FOLLOW_ANY_in_question11562) + ANY508 = self.match(self.input, ANY, self.FOLLOW_ANY_in_question11798) if self._state.backtracking == 0: - stream_ANY.add(ANY500) + stream_ANY.add(ANY508) # AST Rewrite @@ -20979,8 +20962,8 @@ def question(self, ): root_0 = self._adaptor.nil() - # 1011:9: -> ^( ANY ) - # sdl92.g:1011:17: ^( ANY ) + # 1023:9: -> ^( ANY ) + # sdl92.g:1023:17: ^( ANY ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ANY.nextNode() @@ -21028,7 +21011,7 @@ def __init__(self): # $ANTLR start "range_condition" - # sdl92.g:1015:1: range_condition : ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* ; + # sdl92.g:1027:1: range_condition : ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* ; def range_condition(self, ): retval = self.range_condition_return() retval.start = self.input.LT(1) @@ -21036,764 +21019,764 @@ def range_condition(self, ): root_0 = None - char_literal503 = None - closed_range501 = None - open_range502 = None - closed_range504 = None - open_range505 = None + char_literal511 = None + closed_range509 = None + open_range510 = None + closed_range512 = None + open_range513 = None - char_literal503_tree = None + char_literal511_tree = None try: try: - # sdl92.g:1016:9: ( ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* ) - # sdl92.g:1016:17: ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* + # sdl92.g:1028:9: ( ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* ) + # sdl92.g:1028:17: ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* pass root_0 = self._adaptor.nil() - # sdl92.g:1016:17: ( closed_range | open_range ) - alt215 = 2 - LA215 = self.input.LA(1) - if LA215 in {ID}: - LA215_1 = self.input.LA(2) + # sdl92.g:1028:17: ( closed_range | open_range ) + alt223 = 2 + LA223 = self.input.LA(1) + if LA223 in {ID}: + LA223_1 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 1, self.input) + nvae = NoViableAltException("", 223, 1, self.input) raise nvae - elif LA215 in {TRUE}: - LA215_2 = self.input.LA(2) + elif LA223 in {TRUE}: + LA223_2 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 2, self.input) + nvae = NoViableAltException("", 223, 2, self.input) raise nvae - elif LA215 in {FALSE}: - LA215_3 = self.input.LA(2) + elif LA223 in {FALSE}: + LA223_3 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 3, self.input) + nvae = NoViableAltException("", 223, 3, self.input) raise nvae - elif LA215 in {STRING}: - LA215_4 = self.input.LA(2) + elif LA223 in {STRING}: + LA223_4 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 4, self.input) + nvae = NoViableAltException("", 223, 4, self.input) raise nvae - elif LA215 in {PLUS_INFINITY}: - LA215_5 = self.input.LA(2) + elif LA223 in {PLUS_INFINITY}: + LA223_5 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 5, self.input) + nvae = NoViableAltException("", 223, 5, self.input) raise nvae - elif LA215 in {MINUS_INFINITY}: - LA215_6 = self.input.LA(2) + elif LA223 in {MINUS_INFINITY}: + LA223_6 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 6, self.input) + nvae = NoViableAltException("", 223, 6, self.input) raise nvae - elif LA215 in {INT}: - LA215_7 = self.input.LA(2) + elif LA223 in {INT}: + LA223_7 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 7, self.input) + nvae = NoViableAltException("", 223, 7, self.input) raise nvae - elif LA215 in {FLOAT}: - LA215_8 = self.input.LA(2) + elif LA223 in {FLOAT}: + LA223_8 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 8, self.input) + nvae = NoViableAltException("", 223, 8, self.input) raise nvae - elif LA215 in {L_BRACKET}: - LA215_9 = self.input.LA(2) + elif LA223 in {L_BRACKET}: + LA223_9 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 9, self.input) + nvae = NoViableAltException("", 223, 9, self.input) raise nvae - elif LA215 in {MKSTRING}: - LA215_10 = self.input.LA(2) + elif LA223 in {MKSTRING}: + LA223_10 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 10, self.input) + nvae = NoViableAltException("", 223, 10, self.input) raise nvae - elif LA215 in {STATE}: - LA215_11 = self.input.LA(2) + elif LA223 in {STATE}: + LA223_11 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 11, self.input) + nvae = NoViableAltException("", 223, 11, self.input) raise nvae - elif LA215 in {L_PAREN}: - LA215_12 = self.input.LA(2) + elif LA223 in {L_PAREN}: + LA223_12 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 12, self.input) + nvae = NoViableAltException("", 223, 12, self.input) raise nvae - elif LA215 in {IF}: - LA215_13 = self.input.LA(2) + elif LA223 in {IF}: + LA223_13 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 13, self.input) + nvae = NoViableAltException("", 223, 13, self.input) raise nvae - elif LA215 in {NOT}: - LA215_14 = self.input.LA(2) + elif LA223 in {NOT}: + LA223_14 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 14, self.input) + nvae = NoViableAltException("", 223, 14, self.input) raise nvae - elif LA215 in {DASH}: - LA215_15 = self.input.LA(2) + elif LA223 in {DASH}: + LA223_15 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 15, self.input) + nvae = NoViableAltException("", 223, 15, self.input) raise nvae - elif LA215 in {CALL}: - LA215_16 = self.input.LA(2) + elif LA223 in {CALL}: + LA223_16 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 16, self.input) + nvae = NoViableAltException("", 223, 16, self.input) raise nvae - elif LA215 in {UNHANDLED}: - LA215_17 = self.input.LA(2) + elif LA223 in {UNHANDLED}: + LA223_17 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 17, self.input) + nvae = NoViableAltException("", 223, 17, self.input) raise nvae - elif LA215 in {INPUT}: - LA215_18 = self.input.LA(2) + elif LA223 in {INPUT}: + LA223_18 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 18, self.input) + nvae = NoViableAltException("", 223, 18, self.input) raise nvae - elif LA215 in {OUTPUT}: - LA215_19 = self.input.LA(2) + elif LA223 in {OUTPUT}: + LA223_19 = self.input.LA(2) - if (self.synpred259_sdl92()) : - alt215 = 1 + if (self.synpred267_sdl92()) : + alt223 = 1 elif (True) : - alt215 = 2 + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 19, self.input) + nvae = NoViableAltException("", 223, 19, self.input) raise nvae - elif LA215 in {EQ, GE, GT, LE, LT, NEQ}: - alt215 = 2 + elif LA223 in {EQ, GE, GT, LE, LT, NEQ}: + alt223 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 215, 0, self.input) + nvae = NoViableAltException("", 223, 0, self.input) raise nvae - if alt215 == 1: - # sdl92.g:1016:18: closed_range + if alt223 == 1: + # sdl92.g:1028:18: closed_range pass - self._state.following.append(self.FOLLOW_closed_range_in_range_condition11614) - closed_range501 = self.closed_range() + self._state.following.append(self.FOLLOW_closed_range_in_range_condition11850) + closed_range509 = self.closed_range() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, closed_range501.tree) + self._adaptor.addChild(root_0, closed_range509.tree) - elif alt215 == 2: - # sdl92.g:1016:33: open_range + elif alt223 == 2: + # sdl92.g:1028:33: open_range pass - self._state.following.append(self.FOLLOW_open_range_in_range_condition11618) - open_range502 = self.open_range() + self._state.following.append(self.FOLLOW_open_range_in_range_condition11854) + open_range510 = self.open_range() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, open_range502.tree) + self._adaptor.addChild(root_0, open_range510.tree) - # sdl92.g:1017:17: ( ',' ! ( closed_range | open_range ) )* - while True: #loop217 - alt217 = 2 - LA217_0 = self.input.LA(1) + # sdl92.g:1029:17: ( ',' ! ( closed_range | open_range ) )* + while True: #loop225 + alt225 = 2 + LA225_0 = self.input.LA(1) - if (LA217_0 == COMMA) : - LA217_1 = self.input.LA(2) + if (LA225_0 == COMMA) : + LA225_1 = self.input.LA(2) - if (self.synpred261_sdl92()) : - alt217 = 1 + if (self.synpred269_sdl92()) : + alt225 = 1 - if alt217 == 1: - # sdl92.g:1017:18: ',' ! ( closed_range | open_range ) + if alt225 == 1: + # sdl92.g:1029:18: ',' ! ( closed_range | open_range ) pass - char_literal503 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range_condition11638) + char_literal511 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range_condition11874) - # sdl92.g:1017:23: ( closed_range | open_range ) - alt216 = 2 - LA216 = self.input.LA(1) - if LA216 in {ID}: - LA216_1 = self.input.LA(2) + # sdl92.g:1029:23: ( closed_range | open_range ) + alt224 = 2 + LA224 = self.input.LA(1) + if LA224 in {ID}: + LA224_1 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 1, self.input) + nvae = NoViableAltException("", 224, 1, self.input) raise nvae - elif LA216 in {TRUE}: - LA216_2 = self.input.LA(2) + elif LA224 in {TRUE}: + LA224_2 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 2, self.input) + nvae = NoViableAltException("", 224, 2, self.input) raise nvae - elif LA216 in {FALSE}: - LA216_3 = self.input.LA(2) + elif LA224 in {FALSE}: + LA224_3 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 3, self.input) + nvae = NoViableAltException("", 224, 3, self.input) raise nvae - elif LA216 in {STRING}: - LA216_4 = self.input.LA(2) + elif LA224 in {STRING}: + LA224_4 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 4, self.input) + nvae = NoViableAltException("", 224, 4, self.input) raise nvae - elif LA216 in {PLUS_INFINITY}: - LA216_5 = self.input.LA(2) + elif LA224 in {PLUS_INFINITY}: + LA224_5 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 5, self.input) + nvae = NoViableAltException("", 224, 5, self.input) raise nvae - elif LA216 in {MINUS_INFINITY}: - LA216_6 = self.input.LA(2) + elif LA224 in {MINUS_INFINITY}: + LA224_6 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 6, self.input) + nvae = NoViableAltException("", 224, 6, self.input) raise nvae - elif LA216 in {INT}: - LA216_7 = self.input.LA(2) + elif LA224 in {INT}: + LA224_7 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 7, self.input) + nvae = NoViableAltException("", 224, 7, self.input) raise nvae - elif LA216 in {FLOAT}: - LA216_8 = self.input.LA(2) + elif LA224 in {FLOAT}: + LA224_8 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 8, self.input) + nvae = NoViableAltException("", 224, 8, self.input) raise nvae - elif LA216 in {L_BRACKET}: - LA216_9 = self.input.LA(2) + elif LA224 in {L_BRACKET}: + LA224_9 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 9, self.input) + nvae = NoViableAltException("", 224, 9, self.input) raise nvae - elif LA216 in {MKSTRING}: - LA216_10 = self.input.LA(2) + elif LA224 in {MKSTRING}: + LA224_10 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 10, self.input) + nvae = NoViableAltException("", 224, 10, self.input) raise nvae - elif LA216 in {STATE}: - LA216_11 = self.input.LA(2) + elif LA224 in {STATE}: + LA224_11 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 11, self.input) + nvae = NoViableAltException("", 224, 11, self.input) raise nvae - elif LA216 in {L_PAREN}: - LA216_12 = self.input.LA(2) + elif LA224 in {L_PAREN}: + LA224_12 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 12, self.input) + nvae = NoViableAltException("", 224, 12, self.input) raise nvae - elif LA216 in {IF}: - LA216_13 = self.input.LA(2) + elif LA224 in {IF}: + LA224_13 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 13, self.input) + nvae = NoViableAltException("", 224, 13, self.input) raise nvae - elif LA216 in {NOT}: - LA216_14 = self.input.LA(2) + elif LA224 in {NOT}: + LA224_14 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 14, self.input) + nvae = NoViableAltException("", 224, 14, self.input) raise nvae - elif LA216 in {DASH}: - LA216_15 = self.input.LA(2) + elif LA224 in {DASH}: + LA224_15 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 15, self.input) + nvae = NoViableAltException("", 224, 15, self.input) raise nvae - elif LA216 in {CALL}: - LA216_16 = self.input.LA(2) + elif LA224 in {CALL}: + LA224_16 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 16, self.input) + nvae = NoViableAltException("", 224, 16, self.input) raise nvae - elif LA216 in {UNHANDLED}: - LA216_17 = self.input.LA(2) + elif LA224 in {UNHANDLED}: + LA224_17 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 17, self.input) + nvae = NoViableAltException("", 224, 17, self.input) raise nvae - elif LA216 in {INPUT}: - LA216_18 = self.input.LA(2) + elif LA224 in {INPUT}: + LA224_18 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 18, self.input) + nvae = NoViableAltException("", 224, 18, self.input) raise nvae - elif LA216 in {OUTPUT}: - LA216_19 = self.input.LA(2) + elif LA224 in {OUTPUT}: + LA224_19 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt216 = 1 + if (self.synpred268_sdl92()) : + alt224 = 1 elif (True) : - alt216 = 2 + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 19, self.input) + nvae = NoViableAltException("", 224, 19, self.input) raise nvae - elif LA216 in {EQ, GE, GT, LE, LT, NEQ}: - alt216 = 2 + elif LA224 in {EQ, GE, GT, LE, LT, NEQ}: + alt224 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 216, 0, self.input) + nvae = NoViableAltException("", 224, 0, self.input) raise nvae - if alt216 == 1: - # sdl92.g:1017:24: closed_range + if alt224 == 1: + # sdl92.g:1029:24: closed_range pass - self._state.following.append(self.FOLLOW_closed_range_in_range_condition11642) - closed_range504 = self.closed_range() + self._state.following.append(self.FOLLOW_closed_range_in_range_condition11878) + closed_range512 = self.closed_range() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, closed_range504.tree) + self._adaptor.addChild(root_0, closed_range512.tree) - elif alt216 == 2: - # sdl92.g:1017:37: open_range + elif alt224 == 2: + # sdl92.g:1029:37: open_range pass - self._state.following.append(self.FOLLOW_open_range_in_range_condition11644) - open_range505 = self.open_range() + self._state.following.append(self.FOLLOW_open_range_in_range_condition11880) + open_range513 = self.open_range() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, open_range505.tree) + self._adaptor.addChild(root_0, open_range513.tree) @@ -21801,7 +21784,7 @@ def range_condition(self, ): else: - break #loop217 + break #loop225 @@ -21838,7 +21821,7 @@ def __init__(self): # $ANTLR start "closed_range" - # sdl92.g:1021:1: closed_range : a= expression ':' b= expression -> ^( CLOSED_RANGE $a $b) ; + # sdl92.g:1033:1: closed_range : a= expression ':' b= expression -> ^( CLOSED_RANGE $a $b) ; def closed_range(self, ): retval = self.closed_range_return() retval.start = self.input.LT(1) @@ -21846,19 +21829,19 @@ def closed_range(self, ): root_0 = None - char_literal506 = None + char_literal514 = None a = None b = None - char_literal506_tree = None - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + char_literal514_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1022:9: (a= expression ':' b= expression -> ^( CLOSED_RANGE $a $b) ) - # sdl92.g:1022:17: a= expression ':' b= expression + # sdl92.g:1034:9: (a= expression ':' b= expression -> ^( CLOSED_RANGE $a $b) ) + # sdl92.g:1034:17: a= expression ':' b= expression pass - self._state.following.append(self.FOLLOW_expression_in_closed_range11681) + self._state.following.append(self.FOLLOW_expression_in_closed_range11917) a = self.expression() self._state.following.pop() @@ -21866,12 +21849,12 @@ def closed_range(self, ): stream_expression.add(a.tree) - char_literal506 = self.match(self.input, 253, self.FOLLOW_253_in_closed_range11683) + char_literal514 = self.match(self.input, 255, self.FOLLOW_255_in_closed_range11919) if self._state.backtracking == 0: - stream_253.add(char_literal506) + stream_255.add(char_literal514) - self._state.following.append(self.FOLLOW_expression_in_closed_range11687) + self._state.following.append(self.FOLLOW_expression_in_closed_range11923) b = self.expression() self._state.following.pop() @@ -21905,8 +21888,8 @@ def closed_range(self, ): root_0 = self._adaptor.nil() - # 1023:9: -> ^( CLOSED_RANGE $a $b) - # sdl92.g:1023:17: ^( CLOSED_RANGE $a $b) + # 1035:9: -> ^( CLOSED_RANGE $a $b) + # sdl92.g:1035:17: ^( CLOSED_RANGE $a $b) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(CLOSED_RANGE, "CLOSED_RANGE") @@ -21959,7 +21942,7 @@ def __init__(self): # $ANTLR start "open_range" - # sdl92.g:1027:1: open_range : ( constant -> constant | ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) ); + # sdl92.g:1039:1: open_range : ( constant -> constant | ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) ); def open_range(self, ): retval = self.open_range_return() retval.start = self.input.LT(1) @@ -21967,21 +21950,21 @@ def open_range(self, ): root_0 = None - EQ508 = None - NEQ509 = None - GT510 = None - LT511 = None - LE512 = None - GE513 = None - constant507 = None - constant514 = None - - EQ508_tree = None - NEQ509_tree = None - GT510_tree = None - LT511_tree = None - LE512_tree = None - GE513_tree = None + EQ516 = None + NEQ517 = None + GT518 = None + LT519 = None + LE520 = None + GE521 = None + constant515 = None + constant522 = None + + EQ516_tree = None + NEQ517_tree = None + GT518_tree = None + LT519_tree = None + LE520_tree = None + GE521_tree = None stream_LT = RewriteRuleTokenStream(self._adaptor, "token LT") stream_LE = RewriteRuleTokenStream(self._adaptor, "token LE") stream_NEQ = RewriteRuleTokenStream(self._adaptor, "token NEQ") @@ -21991,33 +21974,33 @@ def open_range(self, ): stream_constant = RewriteRuleSubtreeStream(self._adaptor, "rule constant") try: try: - # sdl92.g:1028:9: ( constant -> constant | ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) ) - alt219 = 2 - LA219_0 = self.input.LA(1) + # sdl92.g:1040:9: ( constant -> constant | ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) ) + alt227 = 2 + LA227_0 = self.input.LA(1) - if (LA219_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt219 = 1 - elif (LA219_0 in {EQ, GE, GT, LE, LT, NEQ}) : - alt219 = 2 + if (LA227_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt227 = 1 + elif (LA227_0 in {EQ, GE, GT, LE, LT, NEQ}) : + alt227 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 219, 0, self.input) + nvae = NoViableAltException("", 227, 0, self.input) raise nvae - if alt219 == 1: - # sdl92.g:1028:17: constant + if alt227 == 1: + # sdl92.g:1040:17: constant pass - self._state.following.append(self.FOLLOW_constant_in_open_range11744) - constant507 = self.constant() + self._state.following.append(self.FOLLOW_constant_in_open_range11980) + constant515 = self.constant() self._state.following.pop() if self._state.backtracking == 0: - stream_constant.add(constant507.tree) + stream_constant.add(constant515.tree) # AST Rewrite @@ -22036,7 +22019,7 @@ def open_range(self, ): root_0 = self._adaptor.nil() - # 1029:9: -> constant + # 1041:9: -> constant self._adaptor.addChild(root_0, stream_constant.nextTree()) @@ -22047,99 +22030,99 @@ def open_range(self, ): - elif alt219 == 2: - # sdl92.g:1030:19: ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) + elif alt227 == 2: + # sdl92.g:1042:19: ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) pass - # sdl92.g:1030:19: ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) - # sdl92.g:1030:21: ( EQ | NEQ | GT | LT | LE | GE ) constant + # sdl92.g:1042:19: ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) + # sdl92.g:1042:21: ( EQ | NEQ | GT | LT | LE | GE ) constant pass - # sdl92.g:1030:21: ( EQ | NEQ | GT | LT | LE | GE ) - alt218 = 6 - LA218 = self.input.LA(1) - if LA218 in {EQ}: - alt218 = 1 - elif LA218 in {NEQ}: - alt218 = 2 - elif LA218 in {GT}: - alt218 = 3 - elif LA218 in {LT}: - alt218 = 4 - elif LA218 in {LE}: - alt218 = 5 - elif LA218 in {GE}: - alt218 = 6 + # sdl92.g:1042:21: ( EQ | NEQ | GT | LT | LE | GE ) + alt226 = 6 + LA226 = self.input.LA(1) + if LA226 in {EQ}: + alt226 = 1 + elif LA226 in {NEQ}: + alt226 = 2 + elif LA226 in {GT}: + alt226 = 3 + elif LA226 in {LT}: + alt226 = 4 + elif LA226 in {LE}: + alt226 = 5 + elif LA226 in {GE}: + alt226 = 6 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 218, 0, self.input) + nvae = NoViableAltException("", 226, 0, self.input) raise nvae - if alt218 == 1: - # sdl92.g:1030:22: EQ + if alt226 == 1: + # sdl92.g:1042:22: EQ pass - EQ508 = self.match(self.input, EQ, self.FOLLOW_EQ_in_open_range11784) + EQ516 = self.match(self.input, EQ, self.FOLLOW_EQ_in_open_range12020) if self._state.backtracking == 0: - stream_EQ.add(EQ508) + stream_EQ.add(EQ516) - elif alt218 == 2: - # sdl92.g:1030:25: NEQ + elif alt226 == 2: + # sdl92.g:1042:25: NEQ pass - NEQ509 = self.match(self.input, NEQ, self.FOLLOW_NEQ_in_open_range11786) + NEQ517 = self.match(self.input, NEQ, self.FOLLOW_NEQ_in_open_range12022) if self._state.backtracking == 0: - stream_NEQ.add(NEQ509) + stream_NEQ.add(NEQ517) - elif alt218 == 3: - # sdl92.g:1030:29: GT + elif alt226 == 3: + # sdl92.g:1042:29: GT pass - GT510 = self.match(self.input, GT, self.FOLLOW_GT_in_open_range11788) + GT518 = self.match(self.input, GT, self.FOLLOW_GT_in_open_range12024) if self._state.backtracking == 0: - stream_GT.add(GT510) + stream_GT.add(GT518) - elif alt218 == 4: - # sdl92.g:1030:32: LT + elif alt226 == 4: + # sdl92.g:1042:32: LT pass - LT511 = self.match(self.input, LT, self.FOLLOW_LT_in_open_range11790) + LT519 = self.match(self.input, LT, self.FOLLOW_LT_in_open_range12026) if self._state.backtracking == 0: - stream_LT.add(LT511) + stream_LT.add(LT519) - elif alt218 == 5: - # sdl92.g:1030:35: LE + elif alt226 == 5: + # sdl92.g:1042:35: LE pass - LE512 = self.match(self.input, LE, self.FOLLOW_LE_in_open_range11792) + LE520 = self.match(self.input, LE, self.FOLLOW_LE_in_open_range12028) if self._state.backtracking == 0: - stream_LE.add(LE512) + stream_LE.add(LE520) - elif alt218 == 6: - # sdl92.g:1030:38: GE + elif alt226 == 6: + # sdl92.g:1042:38: GE pass - GE513 = self.match(self.input, GE, self.FOLLOW_GE_in_open_range11794) + GE521 = self.match(self.input, GE, self.FOLLOW_GE_in_open_range12030) if self._state.backtracking == 0: - stream_GE.add(GE513) + stream_GE.add(GE521) - self._state.following.append(self.FOLLOW_constant_in_open_range11797) - constant514 = self.constant() + self._state.following.append(self.FOLLOW_constant_in_open_range12033) + constant522 = self.constant() self._state.following.pop() if self._state.backtracking == 0: - stream_constant.add(constant514.tree) + stream_constant.add(constant522.tree) @@ -22161,14 +22144,14 @@ def open_range(self, ): root_0 = self._adaptor.nil() - # 1031:9: -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) - # sdl92.g:1031:17: ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) + # 1043:9: -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) + # sdl92.g:1043:17: ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(OPEN_RANGE, "OPEN_RANGE") , root_1) - # sdl92.g:1031:30: ( EQ )? + # sdl92.g:1043:30: ( EQ )? if stream_EQ.hasNext(): self._adaptor.addChild(root_1, stream_EQ.nextNode() @@ -22177,7 +22160,7 @@ def open_range(self, ): stream_EQ.reset(); - # sdl92.g:1031:34: ( NEQ )? + # sdl92.g:1043:34: ( NEQ )? if stream_NEQ.hasNext(): self._adaptor.addChild(root_1, stream_NEQ.nextNode() @@ -22186,7 +22169,7 @@ def open_range(self, ): stream_NEQ.reset(); - # sdl92.g:1031:39: ( GT )? + # sdl92.g:1043:39: ( GT )? if stream_GT.hasNext(): self._adaptor.addChild(root_1, stream_GT.nextNode() @@ -22195,7 +22178,7 @@ def open_range(self, ): stream_GT.reset(); - # sdl92.g:1031:43: ( LT )? + # sdl92.g:1043:43: ( LT )? if stream_LT.hasNext(): self._adaptor.addChild(root_1, stream_LT.nextNode() @@ -22204,7 +22187,7 @@ def open_range(self, ): stream_LT.reset(); - # sdl92.g:1031:47: ( LE )? + # sdl92.g:1043:47: ( LE )? if stream_LE.hasNext(): self._adaptor.addChild(root_1, stream_LE.nextNode() @@ -22213,7 +22196,7 @@ def open_range(self, ): stream_LE.reset(); - # sdl92.g:1031:51: ( GE )? + # sdl92.g:1043:51: ( GE )? if stream_GE.hasNext(): self._adaptor.addChild(root_1, stream_GE.nextNode() @@ -22266,7 +22249,7 @@ def __init__(self): # $ANTLR start "constant" - # sdl92.g:1035:1: constant : expression -> ^( CONSTANT expression ) ; + # sdl92.g:1047:1: constant : expression -> ^( CONSTANT expression ) ; def constant(self, ): retval = self.constant_return() retval.start = self.input.LT(1) @@ -22274,20 +22257,20 @@ def constant(self, ): root_0 = None - expression515 = None + expression523 = None stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1036:9: ( expression -> ^( CONSTANT expression ) ) - # sdl92.g:1036:17: expression + # sdl92.g:1048:9: ( expression -> ^( CONSTANT expression ) ) + # sdl92.g:1048:17: expression pass - self._state.following.append(self.FOLLOW_expression_in_constant11869) - expression515 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_constant12105) + expression523 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression515.tree) + stream_expression.add(expression523.tree) # AST Rewrite @@ -22306,8 +22289,8 @@ def constant(self, ): root_0 = self._adaptor.nil() - # 1037:9: -> ^( CONSTANT expression ) - # sdl92.g:1037:17: ^( CONSTANT expression ) + # 1049:9: -> ^( CONSTANT expression ) + # sdl92.g:1049:17: ^( CONSTANT expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(CONSTANT, "CONSTANT") @@ -22358,7 +22341,7 @@ def __init__(self): # $ANTLR start "create_request" - # sdl92.g:1042:1: create_request : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) ; + # sdl92.g:1054:1: create_request : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) ; def create_request(self, ): retval = self.create_request_return() retval.start = self.input.LT(1) @@ -22366,17 +22349,17 @@ def create_request(self, ): root_0 = None - CREATE521 = None - cif516 = None - symbolid517 = None - hyperlink518 = None - requirement519 = None - rid520 = None - createbody522 = None - actual_parameters523 = None - end524 = None - - CREATE521_tree = None + CREATE529 = None + cif524 = None + symbolid525 = None + hyperlink526 = None + requirement527 = None + rid528 = None + createbody530 = None + actual_parameters531 = None + end532 = None + + CREATE529_tree = None stream_CREATE = RewriteRuleTokenStream(self._adaptor, "token CREATE") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -22388,106 +22371,106 @@ def create_request(self, ): stream_createbody = RewriteRuleSubtreeStream(self._adaptor, "rule createbody") try: try: - # sdl92.g:1043:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) ) - # sdl92.g:1043:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end + # sdl92.g:1055:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) ) + # sdl92.g:1055:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end pass - # sdl92.g:1043:17: ( cif )? - alt220 = 2 - LA220_0 = self.input.LA(1) + # sdl92.g:1055:17: ( cif )? + alt228 = 2 + LA228_0 = self.input.LA(1) - if (LA220_0 == 252) : - LA220_1 = self.input.LA(2) + if (LA228_0 == 254) : + LA228_1 = self.input.LA(2) - if (LA220_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt220 = 1 - if alt220 == 1: - # sdl92.g:1043:17: cif + if (LA228_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt228 = 1 + if alt228 == 1: + # sdl92.g:1055:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_create_request11923) - cif516 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_create_request12159) + cif524 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif516.tree) + stream_cif.add(cif524.tree) - # sdl92.g:1044:17: ( symbolid )? - alt221 = 2 - LA221_0 = self.input.LA(1) + # sdl92.g:1056:17: ( symbolid )? + alt229 = 2 + LA229_0 = self.input.LA(1) - if (LA221_0 == 252) : - LA221_1 = self.input.LA(2) + if (LA229_0 == 254) : + LA229_1 = self.input.LA(2) - if (LA221_1 == 254) : - alt221 = 1 - if alt221 == 1: - # sdl92.g:1044:17: symbolid + if (LA229_1 == 256) : + alt229 = 1 + if alt229 == 1: + # sdl92.g:1056:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_create_request11942) - symbolid517 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_create_request12178) + symbolid525 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid517.tree) + stream_symbolid.add(symbolid525.tree) - # sdl92.g:1045:17: ( hyperlink )? - alt222 = 2 - LA222_0 = self.input.LA(1) + # sdl92.g:1057:17: ( hyperlink )? + alt230 = 2 + LA230_0 = self.input.LA(1) - if (LA222_0 == 252) : - LA222_1 = self.input.LA(2) + if (LA230_0 == 254) : + LA230_1 = self.input.LA(2) - if (LA222_1 == KEEP) : - LA222_3 = self.input.LA(3) + if (LA230_1 == KEEP) : + LA230_3 = self.input.LA(3) - if (LA222_3 == SPECIFIC) : - LA222_4 = self.input.LA(4) + if (LA230_3 == SPECIFIC) : + LA230_4 = self.input.LA(4) - if (LA222_4 == GEODE) : - LA222_5 = self.input.LA(5) + if (LA230_4 == GEODE) : + LA230_5 = self.input.LA(5) - if (LA222_5 == HYPERLINK) : - alt222 = 1 - if alt222 == 1: - # sdl92.g:1045:17: hyperlink + if (LA230_5 == HYPERLINK) : + alt230 = 1 + if alt230 == 1: + # sdl92.g:1057:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_create_request11961) - hyperlink518 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_create_request12197) + hyperlink526 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink518.tree) + stream_hyperlink.add(hyperlink526.tree) - # sdl92.g:1046:17: ( requirement )* - while True: #loop223 - alt223 = 2 - LA223_0 = self.input.LA(1) + # sdl92.g:1058:17: ( requirement )* + while True: #loop231 + alt231 = 2 + LA231_0 = self.input.LA(1) - if (LA223_0 == 252) : - LA223_1 = self.input.LA(2) + if (LA231_0 == 254) : + LA231_1 = self.input.LA(2) - if (LA223_1 == KEEP) : - LA223_3 = self.input.LA(3) + if (LA231_1 == KEEP) : + LA231_3 = self.input.LA(3) - if (LA223_3 == SPECIFIC) : - LA223_4 = self.input.LA(4) + if (LA231_3 == SPECIFIC) : + LA231_4 = self.input.LA(4) - if (LA223_4 == GEODE) : - LA223_5 = self.input.LA(5) + if (LA231_4 == GEODE) : + LA231_5 = self.input.LA(5) - if (LA223_5 == REQ_ID) : - alt223 = 1 + if (LA231_5 == REQ_ID) : + alt231 = 1 @@ -22498,86 +22481,86 @@ def create_request(self, ): - if alt223 == 1: - # sdl92.g:1046:17: requirement + if alt231 == 1: + # sdl92.g:1058:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_create_request11980) - requirement519 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_create_request12216) + requirement527 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement519.tree) + stream_requirement.add(requirement527.tree) else: - break #loop223 + break #loop231 - # sdl92.g:1047:17: ( rid )* - while True: #loop224 - alt224 = 2 - LA224_0 = self.input.LA(1) + # sdl92.g:1059:17: ( rid )* + while True: #loop232 + alt232 = 2 + LA232_0 = self.input.LA(1) - if (LA224_0 == 252) : - alt224 = 1 + if (LA232_0 == 254) : + alt232 = 1 - if alt224 == 1: - # sdl92.g:1047:17: rid + if alt232 == 1: + # sdl92.g:1059:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_create_request11999) - rid520 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_create_request12235) + rid528 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid520.tree) + stream_rid.add(rid528.tree) else: - break #loop224 + break #loop232 - CREATE521 = self.match(self.input, CREATE, self.FOLLOW_CREATE_in_create_request12018) + CREATE529 = self.match(self.input, CREATE, self.FOLLOW_CREATE_in_create_request12254) if self._state.backtracking == 0: - stream_CREATE.add(CREATE521) + stream_CREATE.add(CREATE529) - self._state.following.append(self.FOLLOW_createbody_in_create_request12020) - createbody522 = self.createbody() + self._state.following.append(self.FOLLOW_createbody_in_create_request12256) + createbody530 = self.createbody() self._state.following.pop() if self._state.backtracking == 0: - stream_createbody.add(createbody522.tree) + stream_createbody.add(createbody530.tree) - # sdl92.g:1049:17: ( actual_parameters )? - alt225 = 2 - LA225_0 = self.input.LA(1) + # sdl92.g:1061:17: ( actual_parameters )? + alt233 = 2 + LA233_0 = self.input.LA(1) - if (LA225_0 == L_PAREN) : - alt225 = 1 - if alt225 == 1: - # sdl92.g:1049:17: actual_parameters + if (LA233_0 == L_PAREN) : + alt233 = 1 + if alt233 == 1: + # sdl92.g:1061:17: actual_parameters pass - self._state.following.append(self.FOLLOW_actual_parameters_in_create_request12038) - actual_parameters523 = self.actual_parameters() + self._state.following.append(self.FOLLOW_actual_parameters_in_create_request12274) + actual_parameters531 = self.actual_parameters() self._state.following.pop() if self._state.backtracking == 0: - stream_actual_parameters.add(actual_parameters523.tree) + stream_actual_parameters.add(actual_parameters531.tree) - self._state.following.append(self.FOLLOW_end_in_create_request12057) - end524 = self.end() + self._state.following.append(self.FOLLOW_end_in_create_request12293) + end532 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end524.tree) + stream_end.add(end532.tree) # AST Rewrite @@ -22596,49 +22579,49 @@ def create_request(self, ): root_0 = self._adaptor.nil() - # 1051:9: -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) - # sdl92.g:1051:17: ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) + # 1063:9: -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) + # sdl92.g:1063:17: ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_CREATE.nextNode() , root_1) - # sdl92.g:1051:26: ( cif )? + # sdl92.g:1063:26: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:1051:31: ( symbolid )? + # sdl92.g:1063:31: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:1051:41: ( hyperlink )? + # sdl92.g:1063:41: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:1051:52: ( requirement )* + # sdl92.g:1063:52: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:1051:65: ( rid )* + # sdl92.g:1063:65: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:1051:70: ( end )? + # sdl92.g:1063:70: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -22647,7 +22630,7 @@ def create_request(self, ): self._adaptor.addChild(root_1, stream_createbody.nextTree()) - # sdl92.g:1051:86: ( actual_parameters )? + # sdl92.g:1063:86: ( actual_parameters )? if stream_actual_parameters.hasNext(): self._adaptor.addChild(root_1, stream_actual_parameters.nextTree()) @@ -22697,7 +22680,7 @@ def __init__(self): # $ANTLR start "createbody" - # sdl92.g:1055:1: createbody : ( process_id | THIS ); + # sdl92.g:1067:1: createbody : ( process_id | THIS ); def createbody(self, ): retval = self.createbody_return() retval.start = self.input.LT(1) @@ -22705,56 +22688,56 @@ def createbody(self, ): root_0 = None - THIS526 = None - process_id525 = None + THIS534 = None + process_id533 = None - THIS526_tree = None + THIS534_tree = None try: try: - # sdl92.g:1056:9: ( process_id | THIS ) - alt226 = 2 - LA226_0 = self.input.LA(1) - - if (LA226_0 == ID) : - alt226 = 1 - elif (LA226_0 == THIS) : - alt226 = 2 + # sdl92.g:1068:9: ( process_id | THIS ) + alt234 = 2 + LA234_0 = self.input.LA(1) + + if (LA234_0 == ID) : + alt234 = 1 + elif (LA234_0 == THIS) : + alt234 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 226, 0, self.input) + nvae = NoViableAltException("", 234, 0, self.input) raise nvae - if alt226 == 1: - # sdl92.g:1056:17: process_id + if alt234 == 1: + # sdl92.g:1068:17: process_id pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_process_id_in_createbody12131) - process_id525 = self.process_id() + self._state.following.append(self.FOLLOW_process_id_in_createbody12367) + process_id533 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, process_id525.tree) + self._adaptor.addChild(root_0, process_id533.tree) - elif alt226 == 2: - # sdl92.g:1057:19: THIS + elif alt234 == 2: + # sdl92.g:1069:19: THIS pass root_0 = self._adaptor.nil() - THIS526 = self.match(self.input, THIS, self.FOLLOW_THIS_in_createbody12151) + THIS534 = self.match(self.input, THIS, self.FOLLOW_THIS_in_createbody12387) if self._state.backtracking == 0: - THIS526_tree = self._adaptor.createWithPayload(THIS526) - self._adaptor.addChild(root_0, THIS526_tree) + THIS534_tree = self._adaptor.createWithPayload(THIS534) + self._adaptor.addChild(root_0, THIS534_tree) @@ -22791,7 +22774,7 @@ def __init__(self): # $ANTLR start "output" - # sdl92.g:1061:1: output : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) ; + # sdl92.g:1073:1: output : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) ; def output(self, ): retval = self.output_return() retval.start = self.input.LT(1) @@ -22799,16 +22782,16 @@ def output(self, ): root_0 = None - OUTPUT532 = None - cif527 = None - symbolid528 = None - hyperlink529 = None - requirement530 = None - rid531 = None - outputbody533 = None - end534 = None + OUTPUT540 = None + cif535 = None + symbolid536 = None + hyperlink537 = None + requirement538 = None + rid539 = None + outputbody541 = None + end542 = None - OUTPUT532_tree = None + OUTPUT540_tree = None stream_OUTPUT = RewriteRuleTokenStream(self._adaptor, "token OUTPUT") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -22819,106 +22802,106 @@ def output(self, ): stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") try: try: - # sdl92.g:1062:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) ) - # sdl92.g:1062:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end + # sdl92.g:1074:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) ) + # sdl92.g:1074:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end pass - # sdl92.g:1062:17: ( cif )? - alt227 = 2 - LA227_0 = self.input.LA(1) + # sdl92.g:1074:17: ( cif )? + alt235 = 2 + LA235_0 = self.input.LA(1) - if (LA227_0 == 252) : - LA227_1 = self.input.LA(2) + if (LA235_0 == 254) : + LA235_1 = self.input.LA(2) - if (LA227_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt227 = 1 - if alt227 == 1: - # sdl92.g:1062:17: cif + if (LA235_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt235 = 1 + if alt235 == 1: + # sdl92.g:1074:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_output12183) - cif527 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_output12419) + cif535 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif527.tree) + stream_cif.add(cif535.tree) - # sdl92.g:1063:17: ( symbolid )? - alt228 = 2 - LA228_0 = self.input.LA(1) + # sdl92.g:1075:17: ( symbolid )? + alt236 = 2 + LA236_0 = self.input.LA(1) - if (LA228_0 == 252) : - LA228_1 = self.input.LA(2) + if (LA236_0 == 254) : + LA236_1 = self.input.LA(2) - if (LA228_1 == 254) : - alt228 = 1 - if alt228 == 1: - # sdl92.g:1063:17: symbolid + if (LA236_1 == 256) : + alt236 = 1 + if alt236 == 1: + # sdl92.g:1075:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_output12202) - symbolid528 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_output12438) + symbolid536 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid528.tree) + stream_symbolid.add(symbolid536.tree) - # sdl92.g:1064:17: ( hyperlink )? - alt229 = 2 - LA229_0 = self.input.LA(1) + # sdl92.g:1076:17: ( hyperlink )? + alt237 = 2 + LA237_0 = self.input.LA(1) - if (LA229_0 == 252) : - LA229_1 = self.input.LA(2) + if (LA237_0 == 254) : + LA237_1 = self.input.LA(2) - if (LA229_1 == KEEP) : - LA229_3 = self.input.LA(3) + if (LA237_1 == KEEP) : + LA237_3 = self.input.LA(3) - if (LA229_3 == SPECIFIC) : - LA229_4 = self.input.LA(4) + if (LA237_3 == SPECIFIC) : + LA237_4 = self.input.LA(4) - if (LA229_4 == GEODE) : - LA229_5 = self.input.LA(5) + if (LA237_4 == GEODE) : + LA237_5 = self.input.LA(5) - if (LA229_5 == HYPERLINK) : - alt229 = 1 - if alt229 == 1: - # sdl92.g:1064:17: hyperlink + if (LA237_5 == HYPERLINK) : + alt237 = 1 + if alt237 == 1: + # sdl92.g:1076:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_output12221) - hyperlink529 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_output12457) + hyperlink537 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink529.tree) + stream_hyperlink.add(hyperlink537.tree) - # sdl92.g:1065:17: ( requirement )* - while True: #loop230 - alt230 = 2 - LA230_0 = self.input.LA(1) + # sdl92.g:1077:17: ( requirement )* + while True: #loop238 + alt238 = 2 + LA238_0 = self.input.LA(1) - if (LA230_0 == 252) : - LA230_1 = self.input.LA(2) + if (LA238_0 == 254) : + LA238_1 = self.input.LA(2) - if (LA230_1 == KEEP) : - LA230_3 = self.input.LA(3) + if (LA238_1 == KEEP) : + LA238_3 = self.input.LA(3) - if (LA230_3 == SPECIFIC) : - LA230_4 = self.input.LA(4) + if (LA238_3 == SPECIFIC) : + LA238_4 = self.input.LA(4) - if (LA230_4 == GEODE) : - LA230_5 = self.input.LA(5) + if (LA238_4 == GEODE) : + LA238_5 = self.input.LA(5) - if (LA230_5 == REQ_ID) : - alt230 = 1 + if (LA238_5 == REQ_ID) : + alt238 = 1 @@ -22929,66 +22912,66 @@ def output(self, ): - if alt230 == 1: - # sdl92.g:1065:17: requirement + if alt238 == 1: + # sdl92.g:1077:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_output12240) - requirement530 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_output12476) + requirement538 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement530.tree) + stream_requirement.add(requirement538.tree) else: - break #loop230 + break #loop238 - # sdl92.g:1066:17: ( rid )* - while True: #loop231 - alt231 = 2 - LA231_0 = self.input.LA(1) + # sdl92.g:1078:17: ( rid )* + while True: #loop239 + alt239 = 2 + LA239_0 = self.input.LA(1) - if (LA231_0 == 252) : - alt231 = 1 + if (LA239_0 == 254) : + alt239 = 1 - if alt231 == 1: - # sdl92.g:1066:17: rid + if alt239 == 1: + # sdl92.g:1078:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_output12259) - rid531 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_output12495) + rid539 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid531.tree) + stream_rid.add(rid539.tree) else: - break #loop231 + break #loop239 - OUTPUT532 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output12278) + OUTPUT540 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output12514) if self._state.backtracking == 0: - stream_OUTPUT.add(OUTPUT532) + stream_OUTPUT.add(OUTPUT540) - self._state.following.append(self.FOLLOW_outputbody_in_output12280) - outputbody533 = self.outputbody() + self._state.following.append(self.FOLLOW_outputbody_in_output12516) + outputbody541 = self.outputbody() self._state.following.pop() if self._state.backtracking == 0: - stream_outputbody.add(outputbody533.tree) + stream_outputbody.add(outputbody541.tree) - self._state.following.append(self.FOLLOW_end_in_output12282) - end534 = self.end() + self._state.following.append(self.FOLLOW_end_in_output12518) + end542 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end534.tree) + stream_end.add(end542.tree) # AST Rewrite @@ -23007,49 +22990,49 @@ def output(self, ): root_0 = self._adaptor.nil() - # 1068:9: -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) - # sdl92.g:1068:17: ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) + # 1080:9: -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) + # sdl92.g:1080:17: ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_OUTPUT.nextNode() , root_1) - # sdl92.g:1068:26: ( cif )? + # sdl92.g:1080:26: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:1068:31: ( symbolid )? + # sdl92.g:1080:31: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:1068:41: ( hyperlink )? + # sdl92.g:1080:41: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:1068:52: ( requirement )* + # sdl92.g:1080:52: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:1068:65: ( rid )* + # sdl92.g:1080:65: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:1068:70: ( end )? + # sdl92.g:1080:70: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -23101,7 +23084,7 @@ def __init__(self): # $ANTLR start "outputbody" - # sdl92.g:1072:1: outputbody : outputstmt ( ',' outputstmt )* ( to_part )? -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) ; + # sdl92.g:1084:1: outputbody : outputstmt ( ',' outputstmt )* ( to_part )? -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) ; def outputbody(self, ): retval = self.outputbody_return() retval.start = self.input.LT(1) @@ -23109,73 +23092,73 @@ def outputbody(self, ): root_0 = None - char_literal536 = None - outputstmt535 = None - outputstmt537 = None - to_part538 = None + char_literal544 = None + outputstmt543 = None + outputstmt545 = None + to_part546 = None - char_literal536_tree = None + char_literal544_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_outputstmt = RewriteRuleSubtreeStream(self._adaptor, "rule outputstmt") stream_to_part = RewriteRuleSubtreeStream(self._adaptor, "rule to_part") try: try: - # sdl92.g:1073:9: ( outputstmt ( ',' outputstmt )* ( to_part )? -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) ) - # sdl92.g:1073:17: outputstmt ( ',' outputstmt )* ( to_part )? + # sdl92.g:1085:9: ( outputstmt ( ',' outputstmt )* ( to_part )? -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) ) + # sdl92.g:1085:17: outputstmt ( ',' outputstmt )* ( to_part )? pass - self._state.following.append(self.FOLLOW_outputstmt_in_outputbody12353) - outputstmt535 = self.outputstmt() + self._state.following.append(self.FOLLOW_outputstmt_in_outputbody12589) + outputstmt543 = self.outputstmt() self._state.following.pop() if self._state.backtracking == 0: - stream_outputstmt.add(outputstmt535.tree) + stream_outputstmt.add(outputstmt543.tree) - # sdl92.g:1073:28: ( ',' outputstmt )* - while True: #loop232 - alt232 = 2 - LA232_0 = self.input.LA(1) + # sdl92.g:1085:28: ( ',' outputstmt )* + while True: #loop240 + alt240 = 2 + LA240_0 = self.input.LA(1) - if (LA232_0 == COMMA) : - alt232 = 1 + if (LA240_0 == COMMA) : + alt240 = 1 - if alt232 == 1: - # sdl92.g:1073:29: ',' outputstmt + if alt240 == 1: + # sdl92.g:1085:29: ',' outputstmt pass - char_literal536 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_outputbody12356) + char_literal544 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_outputbody12592) if self._state.backtracking == 0: - stream_COMMA.add(char_literal536) + stream_COMMA.add(char_literal544) - self._state.following.append(self.FOLLOW_outputstmt_in_outputbody12358) - outputstmt537 = self.outputstmt() + self._state.following.append(self.FOLLOW_outputstmt_in_outputbody12594) + outputstmt545 = self.outputstmt() self._state.following.pop() if self._state.backtracking == 0: - stream_outputstmt.add(outputstmt537.tree) + stream_outputstmt.add(outputstmt545.tree) else: - break #loop232 + break #loop240 - # sdl92.g:1073:46: ( to_part )? - alt233 = 2 - LA233_0 = self.input.LA(1) + # sdl92.g:1085:46: ( to_part )? + alt241 = 2 + LA241_0 = self.input.LA(1) - if (LA233_0 == TO) : - alt233 = 1 - if alt233 == 1: - # sdl92.g:1073:46: to_part + if (LA241_0 == TO) : + alt241 = 1 + if alt241 == 1: + # sdl92.g:1085:46: to_part pass - self._state.following.append(self.FOLLOW_to_part_in_outputbody12362) - to_part538 = self.to_part() + self._state.following.append(self.FOLLOW_to_part_in_outputbody12598) + to_part546 = self.to_part() self._state.following.pop() if self._state.backtracking == 0: - stream_to_part.add(to_part538.tree) + stream_to_part.add(to_part546.tree) @@ -23197,14 +23180,14 @@ def outputbody(self, ): root_0 = self._adaptor.nil() - # 1074:9: -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) - # sdl92.g:1074:17: ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) + # 1086:9: -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) + # sdl92.g:1086:17: ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(OUTPUT_BODY, "OUTPUT_BODY") , root_1) - # sdl92.g:1074:31: ( outputstmt )+ + # sdl92.g:1086:31: ( outputstmt )+ if not (stream_outputstmt.hasNext()): raise RewriteEarlyExitException() @@ -23214,7 +23197,7 @@ def outputbody(self, ): stream_outputstmt.reset() - # sdl92.g:1074:43: ( to_part )? + # sdl92.g:1086:43: ( to_part )? if stream_to_part.hasNext(): self._adaptor.addChild(root_1, stream_to_part.nextTree()) @@ -23264,7 +23247,7 @@ def __init__(self): # $ANTLR start "outputstmt" - # sdl92.g:1080:1: outputstmt : signal_id ( actual_parameters )? ; + # sdl92.g:1092:1: outputstmt : signal_id ( actual_parameters )? ; def outputstmt(self, ): retval = self.outputstmt_return() retval.start = self.input.LT(1) @@ -23272,41 +23255,41 @@ def outputstmt(self, ): root_0 = None - signal_id539 = None - actual_parameters540 = None + signal_id547 = None + actual_parameters548 = None try: try: - # sdl92.g:1081:9: ( signal_id ( actual_parameters )? ) - # sdl92.g:1081:17: signal_id ( actual_parameters )? + # sdl92.g:1093:9: ( signal_id ( actual_parameters )? ) + # sdl92.g:1093:17: signal_id ( actual_parameters )? pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_id_in_outputstmt12424) - signal_id539 = self.signal_id() + self._state.following.append(self.FOLLOW_signal_id_in_outputstmt12660) + signal_id547 = self.signal_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, signal_id539.tree) + self._adaptor.addChild(root_0, signal_id547.tree) - # sdl92.g:1082:17: ( actual_parameters )? - alt234 = 2 - LA234_0 = self.input.LA(1) + # sdl92.g:1094:17: ( actual_parameters )? + alt242 = 2 + LA242_0 = self.input.LA(1) - if (LA234_0 == L_PAREN) : - alt234 = 1 - if alt234 == 1: - # sdl92.g:1082:17: actual_parameters + if (LA242_0 == L_PAREN) : + alt242 = 1 + if alt242 == 1: + # sdl92.g:1094:17: actual_parameters pass - self._state.following.append(self.FOLLOW_actual_parameters_in_outputstmt12442) - actual_parameters540 = self.actual_parameters() + self._state.following.append(self.FOLLOW_actual_parameters_in_outputstmt12678) + actual_parameters548 = self.actual_parameters() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, actual_parameters540.tree) + self._adaptor.addChild(root_0, actual_parameters548.tree) @@ -23346,7 +23329,7 @@ def __init__(self): # $ANTLR start "to_part" - # sdl92.g:1085:1: to_part : ( TO destination ) -> ^( TO destination ) ; + # sdl92.g:1097:1: to_part : ( TO destination ) -> ^( TO destination ) ; def to_part(self, ): retval = self.to_part_return() retval.start = self.input.LT(1) @@ -23354,31 +23337,31 @@ def to_part(self, ): root_0 = None - TO541 = None - destination542 = None + TO549 = None + destination550 = None - TO541_tree = None + TO549_tree = None stream_TO = RewriteRuleTokenStream(self._adaptor, "token TO") stream_destination = RewriteRuleSubtreeStream(self._adaptor, "rule destination") try: try: - # sdl92.g:1086:9: ( ( TO destination ) -> ^( TO destination ) ) - # sdl92.g:1086:17: ( TO destination ) + # sdl92.g:1098:9: ( ( TO destination ) -> ^( TO destination ) ) + # sdl92.g:1098:17: ( TO destination ) pass - # sdl92.g:1086:17: ( TO destination ) - # sdl92.g:1086:18: TO destination + # sdl92.g:1098:17: ( TO destination ) + # sdl92.g:1098:18: TO destination pass - TO541 = self.match(self.input, TO, self.FOLLOW_TO_in_to_part12475) + TO549 = self.match(self.input, TO, self.FOLLOW_TO_in_to_part12711) if self._state.backtracking == 0: - stream_TO.add(TO541) + stream_TO.add(TO549) - self._state.following.append(self.FOLLOW_destination_in_to_part12477) - destination542 = self.destination() + self._state.following.append(self.FOLLOW_destination_in_to_part12713) + destination550 = self.destination() self._state.following.pop() if self._state.backtracking == 0: - stream_destination.add(destination542.tree) + stream_destination.add(destination550.tree) @@ -23400,8 +23383,8 @@ def to_part(self, ): root_0 = self._adaptor.nil() - # 1087:9: -> ^( TO destination ) - # sdl92.g:1087:17: ^( TO destination ) + # 1099:9: -> ^( TO destination ) + # sdl92.g:1099:17: ^( TO destination ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_TO.nextNode() @@ -23452,7 +23435,7 @@ def __init__(self): # $ANTLR start "via_part" - # sdl92.g:1090:1: via_part : VIA viabody -> ^( VIA viabody ) ; + # sdl92.g:1102:1: via_part : VIA viabody -> ^( VIA viabody ) ; def via_part(self, ): retval = self.via_part_return() retval.start = self.input.LT(1) @@ -23460,28 +23443,28 @@ def via_part(self, ): root_0 = None - VIA543 = None - viabody544 = None + VIA551 = None + viabody552 = None - VIA543_tree = None + VIA551_tree = None stream_VIA = RewriteRuleTokenStream(self._adaptor, "token VIA") stream_viabody = RewriteRuleSubtreeStream(self._adaptor, "rule viabody") try: try: - # sdl92.g:1091:9: ( VIA viabody -> ^( VIA viabody ) ) - # sdl92.g:1091:17: VIA viabody + # sdl92.g:1103:9: ( VIA viabody -> ^( VIA viabody ) ) + # sdl92.g:1103:17: VIA viabody pass - VIA543 = self.match(self.input, VIA, self.FOLLOW_VIA_in_via_part12530) + VIA551 = self.match(self.input, VIA, self.FOLLOW_VIA_in_via_part12766) if self._state.backtracking == 0: - stream_VIA.add(VIA543) + stream_VIA.add(VIA551) - self._state.following.append(self.FOLLOW_viabody_in_via_part12532) - viabody544 = self.viabody() + self._state.following.append(self.FOLLOW_viabody_in_via_part12768) + viabody552 = self.viabody() self._state.following.pop() if self._state.backtracking == 0: - stream_viabody.add(viabody544.tree) + stream_viabody.add(viabody552.tree) # AST Rewrite @@ -23500,8 +23483,8 @@ def via_part(self, ): root_0 = self._adaptor.nil() - # 1092:9: -> ^( VIA viabody ) - # sdl92.g:1092:17: ^( VIA viabody ) + # 1104:9: -> ^( VIA viabody ) + # sdl92.g:1104:17: ^( VIA viabody ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_VIA.nextNode() @@ -23552,7 +23535,7 @@ def __init__(self): # $ANTLR start "viabody" - # sdl92.g:1097:1: viabody : ( ALL -> ^( ALL ) | via_path -> ^( VIAPATH via_path ) ); + # sdl92.g:1109:1: viabody : ( ALL -> ^( ALL ) | via_path -> ^( VIAPATH via_path ) ); def viabody(self, ): retval = self.viabody_return() retval.start = self.input.LT(1) @@ -23560,38 +23543,38 @@ def viabody(self, ): root_0 = None - ALL545 = None - via_path546 = None + ALL553 = None + via_path554 = None - ALL545_tree = None + ALL553_tree = None stream_ALL = RewriteRuleTokenStream(self._adaptor, "token ALL") stream_via_path = RewriteRuleSubtreeStream(self._adaptor, "rule via_path") try: try: - # sdl92.g:1098:9: ( ALL -> ^( ALL ) | via_path -> ^( VIAPATH via_path ) ) - alt235 = 2 - LA235_0 = self.input.LA(1) + # sdl92.g:1110:9: ( ALL -> ^( ALL ) | via_path -> ^( VIAPATH via_path ) ) + alt243 = 2 + LA243_0 = self.input.LA(1) - if (LA235_0 == ALL) : - alt235 = 1 - elif (LA235_0 == ID) : - alt235 = 2 + if (LA243_0 == ALL) : + alt243 = 1 + elif (LA243_0 == ID) : + alt243 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 235, 0, self.input) + nvae = NoViableAltException("", 243, 0, self.input) raise nvae - if alt235 == 1: - # sdl92.g:1098:17: ALL + if alt243 == 1: + # sdl92.g:1110:17: ALL pass - ALL545 = self.match(self.input, ALL, self.FOLLOW_ALL_in_viabody12586) + ALL553 = self.match(self.input, ALL, self.FOLLOW_ALL_in_viabody12822) if self._state.backtracking == 0: - stream_ALL.add(ALL545) + stream_ALL.add(ALL553) # AST Rewrite @@ -23610,8 +23593,8 @@ def viabody(self, ): root_0 = self._adaptor.nil() - # 1099:9: -> ^( ALL ) - # sdl92.g:1099:17: ^( ALL ) + # 1111:9: -> ^( ALL ) + # sdl92.g:1111:17: ^( ALL ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ALL.nextNode() @@ -23627,15 +23610,15 @@ def viabody(self, ): - elif alt235 == 2: - # sdl92.g:1100:19: via_path + elif alt243 == 2: + # sdl92.g:1112:19: via_path pass - self._state.following.append(self.FOLLOW_via_path_in_viabody12625) - via_path546 = self.via_path() + self._state.following.append(self.FOLLOW_via_path_in_viabody12861) + via_path554 = self.via_path() self._state.following.pop() if self._state.backtracking == 0: - stream_via_path.add(via_path546.tree) + stream_via_path.add(via_path554.tree) # AST Rewrite @@ -23654,8 +23637,8 @@ def viabody(self, ): root_0 = self._adaptor.nil() - # 1101:9: -> ^( VIAPATH via_path ) - # sdl92.g:1101:17: ^( VIAPATH via_path ) + # 1113:9: -> ^( VIAPATH via_path ) + # sdl92.g:1113:17: ^( VIAPATH via_path ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(VIAPATH, "VIAPATH") @@ -23705,7 +23688,7 @@ def __init__(self): # $ANTLR start "destination" - # sdl92.g:1105:1: destination : ( pid_expression | process_id | THIS ); + # sdl92.g:1117:1: destination : ( pid_expression | process_id | THIS ); def destination(self, ): retval = self.destination_return() retval.start = self.input.LT(1) @@ -23713,73 +23696,73 @@ def destination(self, ): root_0 = None - THIS549 = None - pid_expression547 = None - process_id548 = None + THIS557 = None + pid_expression555 = None + process_id556 = None - THIS549_tree = None + THIS557_tree = None try: try: - # sdl92.g:1106:9: ( pid_expression | process_id | THIS ) - alt236 = 3 - LA236 = self.input.LA(1) - if LA236 in {O, P, S}: - alt236 = 1 - elif LA236 in {ID}: - alt236 = 2 - elif LA236 in {THIS}: - alt236 = 3 + # sdl92.g:1118:9: ( pid_expression | process_id | THIS ) + alt244 = 3 + LA244 = self.input.LA(1) + if LA244 in {O, P, S}: + alt244 = 1 + elif LA244 in {ID}: + alt244 = 2 + elif LA244 in {THIS}: + alt244 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 236, 0, self.input) + nvae = NoViableAltException("", 244, 0, self.input) raise nvae - if alt236 == 1: - # sdl92.g:1106:17: pid_expression + if alt244 == 1: + # sdl92.g:1118:17: pid_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_pid_expression_in_destination12678) - pid_expression547 = self.pid_expression() + self._state.following.append(self.FOLLOW_pid_expression_in_destination12914) + pid_expression555 = self.pid_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, pid_expression547.tree) + self._adaptor.addChild(root_0, pid_expression555.tree) - elif alt236 == 2: - # sdl92.g:1107:19: process_id + elif alt244 == 2: + # sdl92.g:1119:19: process_id pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_process_id_in_destination12698) - process_id548 = self.process_id() + self._state.following.append(self.FOLLOW_process_id_in_destination12934) + process_id556 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, process_id548.tree) + self._adaptor.addChild(root_0, process_id556.tree) - elif alt236 == 3: - # sdl92.g:1108:19: THIS + elif alt244 == 3: + # sdl92.g:1120:19: THIS pass root_0 = self._adaptor.nil() - THIS549 = self.match(self.input, THIS, self.FOLLOW_THIS_in_destination12718) + THIS557 = self.match(self.input, THIS, self.FOLLOW_THIS_in_destination12954) if self._state.backtracking == 0: - THIS549_tree = self._adaptor.createWithPayload(THIS549) - self._adaptor.addChild(root_0, THIS549_tree) + THIS557_tree = self._adaptor.createWithPayload(THIS557) + self._adaptor.addChild(root_0, THIS557_tree) @@ -23816,7 +23799,7 @@ def __init__(self): # $ANTLR start "via_path" - # sdl92.g:1112:1: via_path : via_path_element ( ',' via_path_element )* -> ( via_path_element )+ ; + # sdl92.g:1124:1: via_path : via_path_element ( ',' via_path_element )* -> ( via_path_element )+ ; def via_path(self, ): retval = self.via_path_return() retval.start = self.input.LT(1) @@ -23824,54 +23807,54 @@ def via_path(self, ): root_0 = None - char_literal551 = None - via_path_element550 = None - via_path_element552 = None + char_literal559 = None + via_path_element558 = None + via_path_element560 = None - char_literal551_tree = None + char_literal559_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_via_path_element = RewriteRuleSubtreeStream(self._adaptor, "rule via_path_element") try: try: - # sdl92.g:1113:9: ( via_path_element ( ',' via_path_element )* -> ( via_path_element )+ ) - # sdl92.g:1113:17: via_path_element ( ',' via_path_element )* + # sdl92.g:1125:9: ( via_path_element ( ',' via_path_element )* -> ( via_path_element )+ ) + # sdl92.g:1125:17: via_path_element ( ',' via_path_element )* pass - self._state.following.append(self.FOLLOW_via_path_element_in_via_path12750) - via_path_element550 = self.via_path_element() + self._state.following.append(self.FOLLOW_via_path_element_in_via_path12986) + via_path_element558 = self.via_path_element() self._state.following.pop() if self._state.backtracking == 0: - stream_via_path_element.add(via_path_element550.tree) + stream_via_path_element.add(via_path_element558.tree) - # sdl92.g:1113:34: ( ',' via_path_element )* - while True: #loop237 - alt237 = 2 - LA237_0 = self.input.LA(1) + # sdl92.g:1125:34: ( ',' via_path_element )* + while True: #loop245 + alt245 = 2 + LA245_0 = self.input.LA(1) - if (LA237_0 == COMMA) : - alt237 = 1 + if (LA245_0 == COMMA) : + alt245 = 1 - if alt237 == 1: - # sdl92.g:1113:35: ',' via_path_element + if alt245 == 1: + # sdl92.g:1125:35: ',' via_path_element pass - char_literal551 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_via_path12753) + char_literal559 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_via_path12989) if self._state.backtracking == 0: - stream_COMMA.add(char_literal551) + stream_COMMA.add(char_literal559) - self._state.following.append(self.FOLLOW_via_path_element_in_via_path12755) - via_path_element552 = self.via_path_element() + self._state.following.append(self.FOLLOW_via_path_element_in_via_path12991) + via_path_element560 = self.via_path_element() self._state.following.pop() if self._state.backtracking == 0: - stream_via_path_element.add(via_path_element552.tree) + stream_via_path_element.add(via_path_element560.tree) else: - break #loop237 + break #loop245 # AST Rewrite @@ -23890,8 +23873,8 @@ def via_path(self, ): root_0 = self._adaptor.nil() - # 1114:9: -> ( via_path_element )+ - # sdl92.g:1114:17: ( via_path_element )+ + # 1126:9: -> ( via_path_element )+ + # sdl92.g:1126:17: ( via_path_element )+ if not (stream_via_path_element.hasNext()): raise RewriteEarlyExitException() @@ -23942,7 +23925,7 @@ def __init__(self): # $ANTLR start "via_path_element" - # sdl92.g:1118:1: via_path_element : ID ; + # sdl92.g:1130:1: via_path_element : ID ; def via_path_element(self, ): retval = self.via_path_element_return() retval.start = self.input.LT(1) @@ -23950,22 +23933,22 @@ def via_path_element(self, ): root_0 = None - ID553 = None + ID561 = None - ID553_tree = None + ID561_tree = None try: try: - # sdl92.g:1119:9: ( ID ) - # sdl92.g:1119:17: ID + # sdl92.g:1131:9: ( ID ) + # sdl92.g:1131:17: ID pass root_0 = self._adaptor.nil() - ID553 = self.match(self.input, ID, self.FOLLOW_ID_in_via_path_element12807) + ID561 = self.match(self.input, ID, self.FOLLOW_ID_in_via_path_element13043) if self._state.backtracking == 0: - ID553_tree = self._adaptor.createWithPayload(ID553) - self._adaptor.addChild(root_0, ID553_tree) + ID561_tree = self._adaptor.createWithPayload(ID561) + self._adaptor.addChild(root_0, ID561_tree) @@ -24003,7 +23986,7 @@ def __init__(self): # $ANTLR start "actual_parameters" - # sdl92.g:1123:1: actual_parameters : '(' expression ( ',' expression )* ')' -> ^( PARAMS ( expression )+ ) ; + # sdl92.g:1135:1: actual_parameters : '(' expression ( ',' expression )* ')' -> ^( PARAMS ( expression )+ ) ; def actual_parameters(self, ): retval = self.actual_parameters_return() retval.start = self.input.LT(1) @@ -24011,70 +23994,70 @@ def actual_parameters(self, ): root_0 = None - char_literal554 = None - char_literal556 = None - char_literal558 = None - expression555 = None - expression557 = None + char_literal562 = None + char_literal564 = None + char_literal566 = None + expression563 = None + expression565 = None - char_literal554_tree = None - char_literal556_tree = None - char_literal558_tree = None + char_literal562_tree = None + char_literal564_tree = None + char_literal566_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_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1124:9: ( '(' expression ( ',' expression )* ')' -> ^( PARAMS ( expression )+ ) ) - # sdl92.g:1124:16: '(' expression ( ',' expression )* ')' + # sdl92.g:1136:9: ( '(' expression ( ',' expression )* ')' -> ^( PARAMS ( expression )+ ) ) + # sdl92.g:1136:16: '(' expression ( ',' expression )* ')' pass - char_literal554 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_actual_parameters12839) + char_literal562 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_actual_parameters13075) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal554) + stream_L_PAREN.add(char_literal562) - self._state.following.append(self.FOLLOW_expression_in_actual_parameters12841) - expression555 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_actual_parameters13077) + expression563 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression555.tree) + stream_expression.add(expression563.tree) - # sdl92.g:1124:31: ( ',' expression )* - while True: #loop238 - alt238 = 2 - LA238_0 = self.input.LA(1) + # sdl92.g:1136:31: ( ',' expression )* + while True: #loop246 + alt246 = 2 + LA246_0 = self.input.LA(1) - if (LA238_0 == COMMA) : - alt238 = 1 + if (LA246_0 == COMMA) : + alt246 = 1 - if alt238 == 1: - # sdl92.g:1124:32: ',' expression + if alt246 == 1: + # sdl92.g:1136:32: ',' expression pass - char_literal556 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_actual_parameters12844) + char_literal564 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_actual_parameters13080) if self._state.backtracking == 0: - stream_COMMA.add(char_literal556) + stream_COMMA.add(char_literal564) - self._state.following.append(self.FOLLOW_expression_in_actual_parameters12846) - expression557 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_actual_parameters13082) + expression565 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression557.tree) + stream_expression.add(expression565.tree) else: - break #loop238 + break #loop246 - char_literal558 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_actual_parameters12850) + char_literal566 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_actual_parameters13086) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal558) + stream_R_PAREN.add(char_literal566) # AST Rewrite @@ -24093,14 +24076,14 @@ def actual_parameters(self, ): root_0 = self._adaptor.nil() - # 1125:9: -> ^( PARAMS ( expression )+ ) - # sdl92.g:1125:16: ^( PARAMS ( expression )+ ) + # 1137:9: -> ^( PARAMS ( expression )+ ) + # sdl92.g:1137:16: ^( PARAMS ( expression )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAMS, "PARAMS") , root_1) - # sdl92.g:1125:25: ( expression )+ + # sdl92.g:1137:25: ( expression )+ if not (stream_expression.hasNext()): raise RewriteEarlyExitException() @@ -24153,7 +24136,7 @@ def __init__(self): # $ANTLR start "task" - # sdl92.g:1129:1: task : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) ; + # sdl92.g:1141:1: task : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) ; def task(self, ): retval = self.task_return() retval.start = self.input.LT(1) @@ -24161,16 +24144,16 @@ def task(self, ): root_0 = None - TASK564 = None - cif559 = None - symbolid560 = None - hyperlink561 = None - requirement562 = None - rid563 = None - task_body565 = None - end566 = None + TASK572 = None + cif567 = None + symbolid568 = None + hyperlink569 = None + requirement570 = None + rid571 = None + task_body573 = None + end574 = None - TASK564_tree = None + TASK572_tree = None stream_TASK = RewriteRuleTokenStream(self._adaptor, "token TASK") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -24181,106 +24164,106 @@ def task(self, ): stream_task_body = RewriteRuleSubtreeStream(self._adaptor, "rule task_body") try: try: - # sdl92.g:1130:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) ) - # sdl92.g:1130:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end + # sdl92.g:1142:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) ) + # sdl92.g:1142:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end pass - # sdl92.g:1130:17: ( cif )? - alt239 = 2 - LA239_0 = self.input.LA(1) + # sdl92.g:1142:17: ( cif )? + alt247 = 2 + LA247_0 = self.input.LA(1) - if (LA239_0 == 252) : - LA239_1 = self.input.LA(2) + if (LA247_0 == 254) : + LA247_1 = self.input.LA(2) - if (LA239_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt239 = 1 - if alt239 == 1: - # sdl92.g:1130:17: cif + if (LA247_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt247 = 1 + if alt247 == 1: + # sdl92.g:1142:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_task12903) - cif559 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_task13139) + cif567 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif559.tree) + stream_cif.add(cif567.tree) - # sdl92.g:1131:17: ( symbolid )? - alt240 = 2 - LA240_0 = self.input.LA(1) + # sdl92.g:1143:17: ( symbolid )? + alt248 = 2 + LA248_0 = self.input.LA(1) - if (LA240_0 == 252) : - LA240_1 = self.input.LA(2) + if (LA248_0 == 254) : + LA248_1 = self.input.LA(2) - if (LA240_1 == 254) : - alt240 = 1 - if alt240 == 1: - # sdl92.g:1131:17: symbolid + if (LA248_1 == 256) : + alt248 = 1 + if alt248 == 1: + # sdl92.g:1143:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_task12922) - symbolid560 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_task13158) + symbolid568 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid560.tree) + stream_symbolid.add(symbolid568.tree) - # sdl92.g:1132:17: ( hyperlink )? - alt241 = 2 - LA241_0 = self.input.LA(1) + # sdl92.g:1144:17: ( hyperlink )? + alt249 = 2 + LA249_0 = self.input.LA(1) - if (LA241_0 == 252) : - LA241_1 = self.input.LA(2) + if (LA249_0 == 254) : + LA249_1 = self.input.LA(2) - if (LA241_1 == KEEP) : - LA241_3 = self.input.LA(3) + if (LA249_1 == KEEP) : + LA249_3 = self.input.LA(3) - if (LA241_3 == SPECIFIC) : - LA241_4 = self.input.LA(4) + if (LA249_3 == SPECIFIC) : + LA249_4 = self.input.LA(4) - if (LA241_4 == GEODE) : - LA241_5 = self.input.LA(5) + if (LA249_4 == GEODE) : + LA249_5 = self.input.LA(5) - if (LA241_5 == HYPERLINK) : - alt241 = 1 - if alt241 == 1: - # sdl92.g:1132:17: hyperlink + if (LA249_5 == HYPERLINK) : + alt249 = 1 + if alt249 == 1: + # sdl92.g:1144:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_task12941) - hyperlink561 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_task13177) + hyperlink569 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink561.tree) + stream_hyperlink.add(hyperlink569.tree) - # sdl92.g:1133:17: ( requirement )* - while True: #loop242 - alt242 = 2 - LA242_0 = self.input.LA(1) + # sdl92.g:1145:17: ( requirement )* + while True: #loop250 + alt250 = 2 + LA250_0 = self.input.LA(1) - if (LA242_0 == 252) : - LA242_1 = self.input.LA(2) + if (LA250_0 == 254) : + LA250_1 = self.input.LA(2) - if (LA242_1 == KEEP) : - LA242_3 = self.input.LA(3) + if (LA250_1 == KEEP) : + LA250_3 = self.input.LA(3) - if (LA242_3 == SPECIFIC) : - LA242_4 = self.input.LA(4) + if (LA250_3 == SPECIFIC) : + LA250_4 = self.input.LA(4) - if (LA242_4 == GEODE) : - LA242_5 = self.input.LA(5) + if (LA250_4 == GEODE) : + LA250_5 = self.input.LA(5) - if (LA242_5 == REQ_ID) : - alt242 = 1 + if (LA250_5 == REQ_ID) : + alt250 = 1 @@ -24291,78 +24274,78 @@ def task(self, ): - if alt242 == 1: - # sdl92.g:1133:17: requirement + if alt250 == 1: + # sdl92.g:1145:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_task12960) - requirement562 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_task13196) + requirement570 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement562.tree) + stream_requirement.add(requirement570.tree) else: - break #loop242 + break #loop250 - # sdl92.g:1134:17: ( rid )* - while True: #loop243 - alt243 = 2 - LA243_0 = self.input.LA(1) + # sdl92.g:1146:17: ( rid )* + while True: #loop251 + alt251 = 2 + LA251_0 = self.input.LA(1) - if (LA243_0 == 252) : - alt243 = 1 + if (LA251_0 == 254) : + alt251 = 1 - if alt243 == 1: - # sdl92.g:1134:17: rid + if alt251 == 1: + # sdl92.g:1146:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_task12979) - rid563 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_task13215) + rid571 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid563.tree) + stream_rid.add(rid571.tree) else: - break #loop243 + break #loop251 - TASK564 = self.match(self.input, TASK, self.FOLLOW_TASK_in_task12998) + TASK572 = self.match(self.input, TASK, self.FOLLOW_TASK_in_task13234) if self._state.backtracking == 0: - stream_TASK.add(TASK564) + stream_TASK.add(TASK572) - # sdl92.g:1135:22: ( task_body )? - alt244 = 2 - LA244_0 = self.input.LA(1) + # sdl92.g:1147:22: ( task_body )? + alt252 = 2 + LA252_0 = self.input.LA(1) - if (LA244_0 in {FOR, ID, STRING}) : - alt244 = 1 - if alt244 == 1: - # sdl92.g:1135:22: task_body + if (LA252_0 in {FOR, ID, STRING}) : + alt252 = 1 + if alt252 == 1: + # sdl92.g:1147:22: task_body pass - self._state.following.append(self.FOLLOW_task_body_in_task13000) - task_body565 = self.task_body() + self._state.following.append(self.FOLLOW_task_body_in_task13236) + task_body573 = self.task_body() self._state.following.pop() if self._state.backtracking == 0: - stream_task_body.add(task_body565.tree) + stream_task_body.add(task_body573.tree) - self._state.following.append(self.FOLLOW_end_in_task13003) - end566 = self.end() + self._state.following.append(self.FOLLOW_end_in_task13239) + end574 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end566.tree) + stream_end.add(end574.tree) # AST Rewrite @@ -24381,56 +24364,56 @@ def task(self, ): root_0 = self._adaptor.nil() - # 1136:9: -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) - # sdl92.g:1136:17: ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) + # 1148:9: -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) + # sdl92.g:1148:17: ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_TASK.nextNode() , root_1) - # sdl92.g:1136:24: ( cif )? + # sdl92.g:1148:24: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:1136:29: ( symbolid )? + # sdl92.g:1148:29: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:1136:39: ( hyperlink )? + # sdl92.g:1148:39: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:1136:50: ( requirement )* + # sdl92.g:1148:50: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:1136:63: ( rid )* + # sdl92.g:1148:63: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:1136:68: ( end )? + # sdl92.g:1148:68: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); - # sdl92.g:1136:73: ( task_body )? + # sdl92.g:1148:73: ( task_body )? if stream_task_body.hasNext(): self._adaptor.addChild(root_1, stream_task_body.nextTree()) @@ -24480,7 +24463,7 @@ def __init__(self): # $ANTLR start "task_body" - # sdl92.g:1140:1: task_body : ( ( assignment_statement ( ',' assignment_statement )* ) -> ^( TASK_BODY ( assignment_statement )+ ) | ( informal_text ( ',' informal_text )* ) -> ^( TASK_BODY ( informal_text )+ ) | ( forloop ( ',' forloop )* ) -> ^( TASK_BODY ( forloop )+ ) ); + # sdl92.g:1152:1: task_body : ( ( assignment_statement ( ',' assignment_statement )* ) -> ^( TASK_BODY ( assignment_statement )+ ) | ( informal_text ( ',' informal_text )* ) -> ^( TASK_BODY ( informal_text )+ ) | ( forloop ( ',' forloop )* ) -> ^( TASK_BODY ( forloop )+ ) ); def task_body(self, ): retval = self.task_body_return() retval.start = self.input.LT(1) @@ -24488,86 +24471,86 @@ def task_body(self, ): root_0 = None - char_literal568 = None - char_literal571 = None - char_literal574 = None - assignment_statement567 = None - assignment_statement569 = None - informal_text570 = None - informal_text572 = None - forloop573 = None - forloop575 = None - - char_literal568_tree = None - char_literal571_tree = None - char_literal574_tree = None + char_literal576 = None + char_literal579 = None + char_literal582 = None + assignment_statement575 = None + assignment_statement577 = None + informal_text578 = None + informal_text580 = None + forloop581 = None + forloop583 = None + + char_literal576_tree = None + char_literal579_tree = None + char_literal582_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_forloop = RewriteRuleSubtreeStream(self._adaptor, "rule forloop") stream_informal_text = RewriteRuleSubtreeStream(self._adaptor, "rule informal_text") stream_assignment_statement = RewriteRuleSubtreeStream(self._adaptor, "rule assignment_statement") try: try: - # sdl92.g:1141:9: ( ( assignment_statement ( ',' assignment_statement )* ) -> ^( TASK_BODY ( assignment_statement )+ ) | ( informal_text ( ',' informal_text )* ) -> ^( TASK_BODY ( informal_text )+ ) | ( forloop ( ',' forloop )* ) -> ^( TASK_BODY ( forloop )+ ) ) - alt248 = 3 - LA248 = self.input.LA(1) - if LA248 in {ID}: - alt248 = 1 - elif LA248 in {STRING}: - alt248 = 2 - elif LA248 in {FOR}: - alt248 = 3 + # sdl92.g:1153:9: ( ( assignment_statement ( ',' assignment_statement )* ) -> ^( TASK_BODY ( assignment_statement )+ ) | ( informal_text ( ',' informal_text )* ) -> ^( TASK_BODY ( informal_text )+ ) | ( forloop ( ',' forloop )* ) -> ^( TASK_BODY ( forloop )+ ) ) + alt256 = 3 + LA256 = self.input.LA(1) + if LA256 in {ID}: + alt256 = 1 + elif LA256 in {STRING}: + alt256 = 2 + elif LA256 in {FOR}: + alt256 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 248, 0, self.input) + nvae = NoViableAltException("", 256, 0, self.input) raise nvae - if alt248 == 1: - # sdl92.g:1141:17: ( assignment_statement ( ',' assignment_statement )* ) + if alt256 == 1: + # sdl92.g:1153:17: ( assignment_statement ( ',' assignment_statement )* ) pass - # sdl92.g:1141:17: ( assignment_statement ( ',' assignment_statement )* ) - # sdl92.g:1141:18: assignment_statement ( ',' assignment_statement )* + # sdl92.g:1153:17: ( assignment_statement ( ',' assignment_statement )* ) + # sdl92.g:1153:18: assignment_statement ( ',' assignment_statement )* pass - self._state.following.append(self.FOLLOW_assignment_statement_in_task_body13076) - assignment_statement567 = self.assignment_statement() + self._state.following.append(self.FOLLOW_assignment_statement_in_task_body13312) + assignment_statement575 = self.assignment_statement() self._state.following.pop() if self._state.backtracking == 0: - stream_assignment_statement.add(assignment_statement567.tree) + stream_assignment_statement.add(assignment_statement575.tree) - # sdl92.g:1141:39: ( ',' assignment_statement )* - while True: #loop245 - alt245 = 2 - LA245_0 = self.input.LA(1) + # sdl92.g:1153:39: ( ',' assignment_statement )* + while True: #loop253 + alt253 = 2 + LA253_0 = self.input.LA(1) - if (LA245_0 == COMMA) : - alt245 = 1 + if (LA253_0 == COMMA) : + alt253 = 1 - if alt245 == 1: - # sdl92.g:1141:40: ',' assignment_statement + if alt253 == 1: + # sdl92.g:1153:40: ',' assignment_statement pass - char_literal568 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13079) + char_literal576 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13315) if self._state.backtracking == 0: - stream_COMMA.add(char_literal568) + stream_COMMA.add(char_literal576) - self._state.following.append(self.FOLLOW_assignment_statement_in_task_body13081) - assignment_statement569 = self.assignment_statement() + self._state.following.append(self.FOLLOW_assignment_statement_in_task_body13317) + assignment_statement577 = self.assignment_statement() self._state.following.pop() if self._state.backtracking == 0: - stream_assignment_statement.add(assignment_statement569.tree) + stream_assignment_statement.add(assignment_statement577.tree) else: - break #loop245 + break #loop253 @@ -24589,14 +24572,14 @@ def task_body(self, ): root_0 = self._adaptor.nil() - # 1142:9: -> ^( TASK_BODY ( assignment_statement )+ ) - # sdl92.g:1142:17: ^( TASK_BODY ( assignment_statement )+ ) + # 1154:9: -> ^( TASK_BODY ( assignment_statement )+ ) + # sdl92.g:1154:17: ^( TASK_BODY ( assignment_statement )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TASK_BODY, "TASK_BODY") , root_1) - # sdl92.g:1142:29: ( assignment_statement )+ + # sdl92.g:1154:29: ( assignment_statement )+ if not (stream_assignment_statement.hasNext()): raise RewriteEarlyExitException() @@ -24616,48 +24599,48 @@ def task_body(self, ): - elif alt248 == 2: - # sdl92.g:1143:19: ( informal_text ( ',' informal_text )* ) + elif alt256 == 2: + # sdl92.g:1155:19: ( informal_text ( ',' informal_text )* ) pass - # sdl92.g:1143:19: ( informal_text ( ',' informal_text )* ) - # sdl92.g:1143:20: informal_text ( ',' informal_text )* + # sdl92.g:1155:19: ( informal_text ( ',' informal_text )* ) + # sdl92.g:1155:20: informal_text ( ',' informal_text )* pass - self._state.following.append(self.FOLLOW_informal_text_in_task_body13127) - informal_text570 = self.informal_text() + self._state.following.append(self.FOLLOW_informal_text_in_task_body13363) + informal_text578 = self.informal_text() self._state.following.pop() if self._state.backtracking == 0: - stream_informal_text.add(informal_text570.tree) + stream_informal_text.add(informal_text578.tree) - # sdl92.g:1143:34: ( ',' informal_text )* - while True: #loop246 - alt246 = 2 - LA246_0 = self.input.LA(1) + # sdl92.g:1155:34: ( ',' informal_text )* + while True: #loop254 + alt254 = 2 + LA254_0 = self.input.LA(1) - if (LA246_0 == COMMA) : - alt246 = 1 + if (LA254_0 == COMMA) : + alt254 = 1 - if alt246 == 1: - # sdl92.g:1143:35: ',' informal_text + if alt254 == 1: + # sdl92.g:1155:35: ',' informal_text pass - char_literal571 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13130) + char_literal579 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13366) if self._state.backtracking == 0: - stream_COMMA.add(char_literal571) + stream_COMMA.add(char_literal579) - self._state.following.append(self.FOLLOW_informal_text_in_task_body13132) - informal_text572 = self.informal_text() + self._state.following.append(self.FOLLOW_informal_text_in_task_body13368) + informal_text580 = self.informal_text() self._state.following.pop() if self._state.backtracking == 0: - stream_informal_text.add(informal_text572.tree) + stream_informal_text.add(informal_text580.tree) else: - break #loop246 + break #loop254 @@ -24679,14 +24662,14 @@ def task_body(self, ): root_0 = self._adaptor.nil() - # 1144:9: -> ^( TASK_BODY ( informal_text )+ ) - # sdl92.g:1144:17: ^( TASK_BODY ( informal_text )+ ) + # 1156:9: -> ^( TASK_BODY ( informal_text )+ ) + # sdl92.g:1156:17: ^( TASK_BODY ( informal_text )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TASK_BODY, "TASK_BODY") , root_1) - # sdl92.g:1144:29: ( informal_text )+ + # sdl92.g:1156:29: ( informal_text )+ if not (stream_informal_text.hasNext()): raise RewriteEarlyExitException() @@ -24706,48 +24689,48 @@ def task_body(self, ): - elif alt248 == 3: - # sdl92.g:1145:19: ( forloop ( ',' forloop )* ) + elif alt256 == 3: + # sdl92.g:1157:19: ( forloop ( ',' forloop )* ) pass - # sdl92.g:1145:19: ( forloop ( ',' forloop )* ) - # sdl92.g:1145:20: forloop ( ',' forloop )* + # sdl92.g:1157:19: ( forloop ( ',' forloop )* ) + # sdl92.g:1157:20: forloop ( ',' forloop )* pass - self._state.following.append(self.FOLLOW_forloop_in_task_body13178) - forloop573 = self.forloop() + self._state.following.append(self.FOLLOW_forloop_in_task_body13414) + forloop581 = self.forloop() self._state.following.pop() if self._state.backtracking == 0: - stream_forloop.add(forloop573.tree) + stream_forloop.add(forloop581.tree) - # sdl92.g:1145:28: ( ',' forloop )* - while True: #loop247 - alt247 = 2 - LA247_0 = self.input.LA(1) + # sdl92.g:1157:28: ( ',' forloop )* + while True: #loop255 + alt255 = 2 + LA255_0 = self.input.LA(1) - if (LA247_0 == COMMA) : - alt247 = 1 + if (LA255_0 == COMMA) : + alt255 = 1 - if alt247 == 1: - # sdl92.g:1145:29: ',' forloop + if alt255 == 1: + # sdl92.g:1157:29: ',' forloop pass - char_literal574 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13181) + char_literal582 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13417) if self._state.backtracking == 0: - stream_COMMA.add(char_literal574) + stream_COMMA.add(char_literal582) - self._state.following.append(self.FOLLOW_forloop_in_task_body13183) - forloop575 = self.forloop() + self._state.following.append(self.FOLLOW_forloop_in_task_body13419) + forloop583 = self.forloop() self._state.following.pop() if self._state.backtracking == 0: - stream_forloop.add(forloop575.tree) + stream_forloop.add(forloop583.tree) else: - break #loop247 + break #loop255 @@ -24769,14 +24752,14 @@ def task_body(self, ): root_0 = self._adaptor.nil() - # 1146:9: -> ^( TASK_BODY ( forloop )+ ) - # sdl92.g:1146:17: ^( TASK_BODY ( forloop )+ ) + # 1158:9: -> ^( TASK_BODY ( forloop )+ ) + # sdl92.g:1158:17: ^( TASK_BODY ( forloop )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TASK_BODY, "TASK_BODY") , root_1) - # sdl92.g:1146:29: ( forloop )+ + # sdl92.g:1158:29: ( forloop )+ if not (stream_forloop.hasNext()): raise RewriteEarlyExitException() @@ -24828,7 +24811,7 @@ def __init__(self): # $ANTLR start "forloop" - # sdl92.g:1151:1: forloop : FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) ; + # sdl92.g:1163:1: forloop : FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) ; def forloop(self, ): retval = self.forloop_return() retval.start = self.input.LT(1) @@ -24836,20 +24819,20 @@ def forloop(self, ): root_0 = None - FOR576 = None - IN578 = None - char_literal581 = None - ENDFOR583 = None - variable_id577 = None - range579 = None - variable580 = None - transition582 = None - - FOR576_tree = None - IN578_tree = None - char_literal581_tree = None - ENDFOR583_tree = None - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + FOR584 = None + IN586 = None + char_literal589 = None + ENDFOR591 = None + variable_id585 = None + range587 = None + variable588 = None + transition590 = None + + FOR584_tree = None + IN586_tree = None + char_literal589_tree = None + ENDFOR591_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_IN = RewriteRuleTokenStream(self._adaptor, "token IN") stream_ENDFOR = RewriteRuleTokenStream(self._adaptor, "token ENDFOR") stream_FOR = RewriteRuleTokenStream(self._adaptor, "token FOR") @@ -24859,99 +24842,99 @@ def forloop(self, ): stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") try: try: - # sdl92.g:1152:9: ( FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) ) - # sdl92.g:1152:17: FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR + # sdl92.g:1164:9: ( FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) ) + # sdl92.g:1164:17: FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR pass - FOR576 = self.match(self.input, FOR, self.FOLLOW_FOR_in_forloop13241) + FOR584 = self.match(self.input, FOR, self.FOLLOW_FOR_in_forloop13477) if self._state.backtracking == 0: - stream_FOR.add(FOR576) + stream_FOR.add(FOR584) - self._state.following.append(self.FOLLOW_variable_id_in_forloop13243) - variable_id577 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_forloop13479) + variable_id585 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id577.tree) + stream_variable_id.add(variable_id585.tree) - IN578 = self.match(self.input, IN, self.FOLLOW_IN_in_forloop13245) + IN586 = self.match(self.input, IN, self.FOLLOW_IN_in_forloop13481) if self._state.backtracking == 0: - stream_IN.add(IN578) + stream_IN.add(IN586) - # sdl92.g:1152:36: ( range | variable ) - alt249 = 2 - LA249_0 = self.input.LA(1) + # sdl92.g:1164:36: ( range | variable ) + alt257 = 2 + LA257_0 = self.input.LA(1) - if (LA249_0 == RANGE) : - alt249 = 1 - elif (LA249_0 == ID) : - alt249 = 2 + if (LA257_0 == RANGE) : + alt257 = 1 + elif (LA257_0 == ID) : + alt257 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 249, 0, self.input) + nvae = NoViableAltException("", 257, 0, self.input) raise nvae - if alt249 == 1: - # sdl92.g:1152:37: range + if alt257 == 1: + # sdl92.g:1164:37: range pass - self._state.following.append(self.FOLLOW_range_in_forloop13248) - range579 = self.range() + self._state.following.append(self.FOLLOW_range_in_forloop13484) + range587 = self.range() self._state.following.pop() if self._state.backtracking == 0: - stream_range.add(range579.tree) + stream_range.add(range587.tree) - elif alt249 == 2: - # sdl92.g:1152:45: variable + elif alt257 == 2: + # sdl92.g:1164:45: variable pass - self._state.following.append(self.FOLLOW_variable_in_forloop13252) - variable580 = self.variable() + self._state.following.append(self.FOLLOW_variable_in_forloop13488) + variable588 = self.variable() self._state.following.pop() if self._state.backtracking == 0: - stream_variable.add(variable580.tree) + stream_variable.add(variable588.tree) - char_literal581 = self.match(self.input, 253, self.FOLLOW_253_in_forloop13255) + char_literal589 = self.match(self.input, 255, self.FOLLOW_255_in_forloop13491) if self._state.backtracking == 0: - stream_253.add(char_literal581) + stream_255.add(char_literal589) - # sdl92.g:1153:17: ( transition )? - alt250 = 2 - LA250_0 = self.input.LA(1) + # sdl92.g:1165:17: ( transition )? + alt258 = 2 + LA258_0 = self.input.LA(1) - if (LA250_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK, 252}) : - alt250 = 1 - if alt250 == 1: - # sdl92.g:1153:17: transition + if (LA258_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK, 254}) : + alt258 = 1 + if alt258 == 1: + # sdl92.g:1165:17: transition pass - self._state.following.append(self.FOLLOW_transition_in_forloop13273) - transition582 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_forloop13509) + transition590 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition582.tree) + stream_transition.add(transition590.tree) - ENDFOR583 = self.match(self.input, ENDFOR, self.FOLLOW_ENDFOR_in_forloop13292) + ENDFOR591 = self.match(self.input, ENDFOR, self.FOLLOW_ENDFOR_in_forloop13528) if self._state.backtracking == 0: - stream_ENDFOR.add(ENDFOR583) + stream_ENDFOR.add(ENDFOR591) # AST Rewrite @@ -24970,8 +24953,8 @@ def forloop(self, ): root_0 = self._adaptor.nil() - # 1155:9: -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) - # sdl92.g:1155:17: ^( FOR variable_id ( variable )? ( range )? ( transition )? ) + # 1167:9: -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) + # sdl92.g:1167:17: ^( FOR variable_id ( variable )? ( range )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_FOR.nextNode() @@ -24979,21 +24962,21 @@ def forloop(self, ): self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - # sdl92.g:1155:35: ( variable )? + # sdl92.g:1167:35: ( variable )? if stream_variable.hasNext(): self._adaptor.addChild(root_1, stream_variable.nextTree()) stream_variable.reset(); - # sdl92.g:1155:45: ( range )? + # sdl92.g:1167:45: ( range )? if stream_range.hasNext(): self._adaptor.addChild(root_1, stream_range.nextTree()) stream_range.reset(); - # sdl92.g:1155:52: ( transition )? + # sdl92.g:1167:52: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -25043,7 +25026,7 @@ def __init__(self): # $ANTLR start "range" - # sdl92.g:1157:1: range : RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN -> ^( RANGE $a ( $b)? ( $step)? ) ; + # sdl92.g:1169:1: range : RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN -> ^( RANGE $a ( $b)? ( $step)? ) ; def range(self, ): retval = self.range_return() retval.start = self.input.LT(1) @@ -25052,20 +25035,20 @@ def range(self, ): root_0 = None step = None - RANGE584 = None - L_PAREN585 = None - COMMA586 = None - COMMA587 = None - R_PAREN588 = None + RANGE592 = None + L_PAREN593 = None + COMMA594 = None + COMMA595 = None + R_PAREN596 = None a = None b = None step_tree = None - RANGE584_tree = None - L_PAREN585_tree = None - COMMA586_tree = None - COMMA587_tree = None - R_PAREN588_tree = None + RANGE592_tree = None + L_PAREN593_tree = None + COMMA594_tree = None + COMMA595_tree = None + R_PAREN596_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") @@ -25074,20 +25057,20 @@ def range(self, ): stream_ground_expression = RewriteRuleSubtreeStream(self._adaptor, "rule ground_expression") try: try: - # sdl92.g:1158:9: ( RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN -> ^( RANGE $a ( $b)? ( $step)? ) ) - # sdl92.g:1158:17: RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN + # sdl92.g:1170:9: ( RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN -> ^( RANGE $a ( $b)? ( $step)? ) ) + # sdl92.g:1170:17: RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN pass - RANGE584 = self.match(self.input, RANGE, self.FOLLOW_RANGE_in_range13344) + RANGE592 = self.match(self.input, RANGE, self.FOLLOW_RANGE_in_range13580) if self._state.backtracking == 0: - stream_RANGE.add(RANGE584) + stream_RANGE.add(RANGE592) - L_PAREN585 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_range13362) + L_PAREN593 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_range13598) if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN585) + stream_L_PAREN.add(L_PAREN593) - self._state.following.append(self.FOLLOW_ground_expression_in_range13366) + self._state.following.append(self.FOLLOW_ground_expression_in_range13602) a = self.ground_expression() self._state.following.pop() @@ -25095,29 +25078,29 @@ def range(self, ): stream_ground_expression.add(a.tree) - # sdl92.g:1160:17: ( COMMA b= ground_expression )? - alt251 = 2 - LA251_0 = self.input.LA(1) + # sdl92.g:1172:17: ( COMMA b= ground_expression )? + alt259 = 2 + LA259_0 = self.input.LA(1) - if (LA251_0 == COMMA) : - LA251_1 = self.input.LA(2) + if (LA259_0 == COMMA) : + LA259_1 = self.input.LA(2) - if (LA251_1 == INT) : - LA251_3 = self.input.LA(3) + if (LA259_1 == INT) : + LA259_3 = self.input.LA(3) - if (self.synpred301_sdl92()) : - alt251 = 1 - elif (LA251_1 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt251 = 1 - if alt251 == 1: - # sdl92.g:1160:18: COMMA b= ground_expression + if (self.synpred309_sdl92()) : + alt259 = 1 + elif (LA259_1 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt259 = 1 + if alt259 == 1: + # sdl92.g:1172:18: COMMA b= ground_expression pass - COMMA586 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range13385) + COMMA594 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range13621) if self._state.backtracking == 0: - stream_COMMA.add(COMMA586) + stream_COMMA.add(COMMA594) - self._state.following.append(self.FOLLOW_ground_expression_in_range13389) + self._state.following.append(self.FOLLOW_ground_expression_in_range13625) b = self.ground_expression() self._state.following.pop() @@ -25128,21 +25111,21 @@ def range(self, ): - # sdl92.g:1160:46: ( COMMA step= INT )? - alt252 = 2 - LA252_0 = self.input.LA(1) + # sdl92.g:1172:46: ( COMMA step= INT )? + alt260 = 2 + LA260_0 = self.input.LA(1) - if (LA252_0 == COMMA) : - alt252 = 1 - if alt252 == 1: - # sdl92.g:1160:47: COMMA step= INT + if (LA260_0 == COMMA) : + alt260 = 1 + if alt260 == 1: + # sdl92.g:1172:47: COMMA step= INT pass - COMMA587 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range13394) + COMMA595 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range13630) if self._state.backtracking == 0: - stream_COMMA.add(COMMA587) + stream_COMMA.add(COMMA595) - step = self.match(self.input, INT, self.FOLLOW_INT_in_range13398) + step = self.match(self.input, INT, self.FOLLOW_INT_in_range13634) if self._state.backtracking == 0: stream_INT.add(step) @@ -25150,9 +25133,9 @@ def range(self, ): - R_PAREN588 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_range13418) + R_PAREN596 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_range13654) if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN588) + stream_R_PAREN.add(R_PAREN596) # AST Rewrite @@ -25182,8 +25165,8 @@ def range(self, ): root_0 = self._adaptor.nil() - # 1162:9: -> ^( RANGE $a ( $b)? ( $step)? ) - # sdl92.g:1162:17: ^( RANGE $a ( $b)? ( $step)? ) + # 1174:9: -> ^( RANGE $a ( $b)? ( $step)? ) + # sdl92.g:1174:17: ^( RANGE $a ( $b)? ( $step)? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_RANGE.nextNode() @@ -25191,14 +25174,14 @@ def range(self, ): self._adaptor.addChild(root_1, stream_a.nextTree()) - # sdl92.g:1162:29: ( $b)? + # sdl92.g:1174:29: ( $b)? if stream_b.hasNext(): self._adaptor.addChild(root_1, stream_b.nextTree()) stream_b.reset(); - # sdl92.g:1162:33: ( $step)? + # sdl92.g:1174:33: ( $step)? if stream_step.hasNext(): self._adaptor.addChild(root_1, stream_step.nextNode()) @@ -25248,7 +25231,7 @@ def __init__(self): # $ANTLR start "assignment_statement" - # sdl92.g:1164:1: assignment_statement : variable ':=' expression -> ^( ASSIGN variable expression ) ; + # sdl92.g:1176:1: assignment_statement : variable ':=' expression -> ^( ASSIGN variable expression ) ; def assignment_statement(self, ): retval = self.assignment_statement_return() retval.start = self.input.LT(1) @@ -25256,38 +25239,38 @@ def assignment_statement(self, ): root_0 = None - string_literal590 = None - variable589 = None - expression591 = None + string_literal598 = None + variable597 = None + expression599 = None - string_literal590_tree = None + string_literal598_tree = None stream_ASSIG_OP = RewriteRuleTokenStream(self._adaptor, "token ASSIG_OP") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_variable = RewriteRuleSubtreeStream(self._adaptor, "rule variable") try: try: - # sdl92.g:1165:9: ( variable ':=' expression -> ^( ASSIGN variable expression ) ) - # sdl92.g:1165:17: variable ':=' expression + # sdl92.g:1177:9: ( variable ':=' expression -> ^( ASSIGN variable expression ) ) + # sdl92.g:1177:17: variable ':=' expression pass - self._state.following.append(self.FOLLOW_variable_in_assignment_statement13470) - variable589 = self.variable() + self._state.following.append(self.FOLLOW_variable_in_assignment_statement13706) + variable597 = self.variable() self._state.following.pop() if self._state.backtracking == 0: - stream_variable.add(variable589.tree) + stream_variable.add(variable597.tree) - string_literal590 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_assignment_statement13472) + string_literal598 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_assignment_statement13708) if self._state.backtracking == 0: - stream_ASSIG_OP.add(string_literal590) + stream_ASSIG_OP.add(string_literal598) - self._state.following.append(self.FOLLOW_expression_in_assignment_statement13474) - expression591 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_assignment_statement13710) + expression599 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression591.tree) + stream_expression.add(expression599.tree) # AST Rewrite @@ -25306,8 +25289,8 @@ def assignment_statement(self, ): root_0 = self._adaptor.nil() - # 1166:9: -> ^( ASSIGN variable expression ) - # sdl92.g:1166:17: ^( ASSIGN variable expression ) + # 1178:9: -> ^( ASSIGN variable expression ) + # sdl92.g:1178:17: ^( ASSIGN variable expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(ASSIGN, "ASSIGN") @@ -25360,7 +25343,7 @@ def __init__(self): # $ANTLR start "variable" - # sdl92.g:1170:1: variable : ( postfix_expression | ID -> ^( VARIABLE ID ) ); + # sdl92.g:1182:1: variable : ( postfix_expression | ID -> ^( VARIABLE ID ) ); def variable(self, ): retval = self.variable_return() retval.start = self.input.LT(1) @@ -25368,31 +25351,31 @@ def variable(self, ): root_0 = None - ID593 = None - postfix_expression592 = None + ID601 = None + postfix_expression600 = None - ID593_tree = None + ID601_tree = None stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") try: try: - # sdl92.g:1171:9: ( postfix_expression | ID -> ^( VARIABLE ID ) ) - alt253 = 2 - LA253_0 = self.input.LA(1) + # sdl92.g:1183:9: ( postfix_expression | ID -> ^( VARIABLE ID ) ) + alt261 = 2 + LA261_0 = self.input.LA(1) - if (LA253_0 == ID) : - LA253_1 = self.input.LA(2) + if (LA261_0 == ID) : + LA261_1 = self.input.LA(2) - if (LA253_1 in {DOT, L_PAREN, 246}) : - alt253 = 1 - elif (LA253_1 in {EOF, ASSIG_OP, COMMA, COMMENT, SEMI, 252, 253}) : - alt253 = 2 + if (LA261_1 in {DOT, L_PAREN, 248}) : + alt261 = 1 + elif (LA261_1 in {EOF, ASSIG_OP, COMMA, COMMENT, SEMI, 254, 255}) : + alt261 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 253, 1, self.input) + nvae = NoViableAltException("", 261, 1, self.input) raise nvae @@ -25402,32 +25385,32 @@ def variable(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 253, 0, self.input) + nvae = NoViableAltException("", 261, 0, self.input) raise nvae - if alt253 == 1: - # sdl92.g:1171:17: postfix_expression + if alt261 == 1: + # sdl92.g:1183:17: postfix_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_postfix_expression_in_variable13521) - postfix_expression592 = self.postfix_expression() + self._state.following.append(self.FOLLOW_postfix_expression_in_variable13757) + postfix_expression600 = self.postfix_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, postfix_expression592.tree) + self._adaptor.addChild(root_0, postfix_expression600.tree) - elif alt253 == 2: - # sdl92.g:1172:17: ID + elif alt261 == 2: + # sdl92.g:1184:17: ID pass - ID593 = self.match(self.input, ID, self.FOLLOW_ID_in_variable13539) + ID601 = self.match(self.input, ID, self.FOLLOW_ID_in_variable13775) if self._state.backtracking == 0: - stream_ID.add(ID593) + stream_ID.add(ID601) # AST Rewrite @@ -25446,8 +25429,8 @@ def variable(self, ): root_0 = self._adaptor.nil() - # 1172:40: -> ^( VARIABLE ID ) - # sdl92.g:1172:44: ^( VARIABLE ID ) + # 1184:40: -> ^( VARIABLE ID ) + # sdl92.g:1184:44: ^( VARIABLE ID ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(VARIABLE, "VARIABLE") @@ -25499,7 +25482,7 @@ def __init__(self): # $ANTLR start "field_selection" - # sdl92.g:1175:1: field_selection : ( ( '!' | DOT ) field_name ) ; + # sdl92.g:1187:1: field_selection : ( ( '!' | DOT ) field_name ) ; def field_selection(self, ): retval = self.field_selection_return() retval.start = self.input.LT(1) @@ -25507,28 +25490,28 @@ def field_selection(self, ): root_0 = None - set594 = None - field_name595 = None + set602 = None + field_name603 = None - set594_tree = None + set602_tree = None try: try: - # sdl92.g:1176:9: ( ( ( '!' | DOT ) field_name ) ) - # sdl92.g:1176:17: ( ( '!' | DOT ) field_name ) + # sdl92.g:1188:9: ( ( ( '!' | DOT ) field_name ) ) + # sdl92.g:1188:17: ( ( '!' | DOT ) field_name ) pass root_0 = self._adaptor.nil() - # sdl92.g:1176:17: ( ( '!' | DOT ) field_name ) - # sdl92.g:1176:18: ( '!' | DOT ) field_name + # sdl92.g:1188:17: ( ( '!' | DOT ) field_name ) + # sdl92.g:1188:18: ( '!' | DOT ) field_name pass - set594 = self.input.LT(1) + set602 = self.input.LT(1) - if self.input.LA(1) in {DOT, 246}: + if self.input.LA(1) in {DOT, 248}: self.input.consume() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set594)) + self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set602)) self._state.errorRecovery = False @@ -25543,12 +25526,12 @@ def field_selection(self, ): - self._state.following.append(self.FOLLOW_field_name_in_field_selection13600) - field_name595 = self.field_name() + self._state.following.append(self.FOLLOW_field_name_in_field_selection13836) + field_name603 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, field_name595.tree) + self._adaptor.addChild(root_0, field_name603.tree) @@ -25588,7 +25571,7 @@ def __init__(self): # $ANTLR start "expression" - # sdl92.g:1179:1: expression : binary_expression ; + # sdl92.g:1191:1: expression : binary_expression ; def expression(self, ): retval = self.expression_return() retval.start = self.input.LT(1) @@ -25596,23 +25579,23 @@ def expression(self, ): root_0 = None - binary_expression596 = None + binary_expression604 = None try: try: - # sdl92.g:1180:9: ( binary_expression ) - # sdl92.g:1180:17: binary_expression + # sdl92.g:1192:9: ( binary_expression ) + # sdl92.g:1192:17: binary_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_in_expression13624) - binary_expression596 = self.binary_expression() + self._state.following.append(self.FOLLOW_binary_expression_in_expression13860) + binary_expression604 = self.binary_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression596.tree) + self._adaptor.addChild(root_0, binary_expression604.tree) @@ -25649,7 +25632,7 @@ def __init__(self): # $ANTLR start "binary_expression" - # sdl92.g:1183:1: binary_expression : binary_expression_0 ( IMPLIES ^ binary_expression_0 )* ; + # sdl92.g:1195:1: binary_expression : binary_expression_0 ( IMPLIES ^ binary_expression_0 )* ; def binary_expression(self, ): retval = self.binary_expression_return() retval.start = self.input.LT(1) @@ -25657,63 +25640,63 @@ def binary_expression(self, ): root_0 = None - IMPLIES598 = None - binary_expression_0597 = None - binary_expression_0599 = None + IMPLIES606 = None + binary_expression_0605 = None + binary_expression_0607 = None - IMPLIES598_tree = None + IMPLIES606_tree = None try: try: - # sdl92.g:1184:9: ( binary_expression_0 ( IMPLIES ^ binary_expression_0 )* ) - # sdl92.g:1184:17: binary_expression_0 ( IMPLIES ^ binary_expression_0 )* + # sdl92.g:1196:9: ( binary_expression_0 ( IMPLIES ^ binary_expression_0 )* ) + # sdl92.g:1196:17: binary_expression_0 ( IMPLIES ^ binary_expression_0 )* pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_0_in_binary_expression13647) - binary_expression_0597 = self.binary_expression_0() + self._state.following.append(self.FOLLOW_binary_expression_0_in_binary_expression13883) + binary_expression_0605 = self.binary_expression_0() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_0597.tree) + self._adaptor.addChild(root_0, binary_expression_0605.tree) - # sdl92.g:1184:37: ( IMPLIES ^ binary_expression_0 )* - while True: #loop254 - alt254 = 2 - LA254_0 = self.input.LA(1) + # sdl92.g:1196:37: ( IMPLIES ^ binary_expression_0 )* + while True: #loop262 + alt262 = 2 + LA262_0 = self.input.LA(1) - if (LA254_0 == IMPLIES) : - LA254_2 = self.input.LA(2) + if (LA262_0 == IMPLIES) : + LA262_2 = self.input.LA(2) - if (self.synpred305_sdl92()) : - alt254 = 1 + if (self.synpred313_sdl92()) : + alt262 = 1 - if alt254 == 1: - # sdl92.g:1184:39: IMPLIES ^ binary_expression_0 + if alt262 == 1: + # sdl92.g:1196:39: IMPLIES ^ binary_expression_0 pass - IMPLIES598 = self.match(self.input, IMPLIES, self.FOLLOW_IMPLIES_in_binary_expression13651) + IMPLIES606 = self.match(self.input, IMPLIES, self.FOLLOW_IMPLIES_in_binary_expression13887) if self._state.backtracking == 0: - IMPLIES598_tree = self._adaptor.createWithPayload(IMPLIES598) - root_0 = self._adaptor.becomeRoot(IMPLIES598_tree, root_0) + IMPLIES606_tree = self._adaptor.createWithPayload(IMPLIES606) + root_0 = self._adaptor.becomeRoot(IMPLIES606_tree, root_0) - self._state.following.append(self.FOLLOW_binary_expression_0_in_binary_expression13654) - binary_expression_0599 = self.binary_expression_0() + self._state.following.append(self.FOLLOW_binary_expression_0_in_binary_expression13890) + binary_expression_0607 = self.binary_expression_0() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_0599.tree) + self._adaptor.addChild(root_0, binary_expression_0607.tree) else: - break #loop254 + break #loop262 @@ -25750,7 +25733,7 @@ def __init__(self): # $ANTLR start "binary_expression_0" - # sdl92.g:1185:1: binary_expression_0 : binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* ; + # sdl92.g:1197:1: binary_expression_0 : binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* ; def binary_expression_0(self, ): retval = self.binary_expression_0_return() retval.start = self.input.LT(1) @@ -25758,100 +25741,100 @@ def binary_expression_0(self, ): root_0 = None - OR601 = None - ELSE602 = None - XOR603 = None - binary_expression_1600 = None - binary_expression_1604 = None + OR609 = None + ELSE610 = None + XOR611 = None + binary_expression_1608 = None + binary_expression_1612 = None - OR601_tree = None - ELSE602_tree = None - XOR603_tree = None + OR609_tree = None + ELSE610_tree = None + XOR611_tree = None try: try: - # sdl92.g:1186:9: ( binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* ) - # sdl92.g:1186:17: binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* + # sdl92.g:1198:9: ( binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* ) + # sdl92.g:1198:17: binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_1_in_binary_expression_013677) - binary_expression_1600 = self.binary_expression_1() + self._state.following.append(self.FOLLOW_binary_expression_1_in_binary_expression_013913) + binary_expression_1608 = self.binary_expression_1() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_1600.tree) + self._adaptor.addChild(root_0, binary_expression_1608.tree) - # sdl92.g:1186:37: ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* - while True: #loop257 - alt257 = 2 - LA257_0 = self.input.LA(1) + # sdl92.g:1198:37: ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* + while True: #loop265 + alt265 = 2 + LA265_0 = self.input.LA(1) - if (LA257_0 == OR) : - LA257_2 = self.input.LA(2) + if (LA265_0 == OR) : + LA265_2 = self.input.LA(2) - if (self.synpred308_sdl92()) : - alt257 = 1 + if (self.synpred316_sdl92()) : + alt265 = 1 - elif (LA257_0 == XOR) : - LA257_3 = self.input.LA(2) + elif (LA265_0 == XOR) : + LA265_3 = self.input.LA(2) - if (self.synpred308_sdl92()) : - alt257 = 1 + if (self.synpred316_sdl92()) : + alt265 = 1 - if alt257 == 1: - # sdl92.g:1186:38: ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 + if alt265 == 1: + # sdl92.g:1198:38: ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 pass - # sdl92.g:1186:38: ( ( OR ^ ( ELSE )? ) | XOR ^) - alt256 = 2 - LA256_0 = self.input.LA(1) - - if (LA256_0 == OR) : - alt256 = 1 - elif (LA256_0 == XOR) : - alt256 = 2 + # sdl92.g:1198:38: ( ( OR ^ ( ELSE )? ) | XOR ^) + alt264 = 2 + LA264_0 = self.input.LA(1) + + if (LA264_0 == OR) : + alt264 = 1 + elif (LA264_0 == XOR) : + alt264 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 256, 0, self.input) + nvae = NoViableAltException("", 264, 0, self.input) raise nvae - if alt256 == 1: - # sdl92.g:1186:40: ( OR ^ ( ELSE )? ) + if alt264 == 1: + # sdl92.g:1198:40: ( OR ^ ( ELSE )? ) pass - # sdl92.g:1186:40: ( OR ^ ( ELSE )? ) - # sdl92.g:1186:41: OR ^ ( ELSE )? + # sdl92.g:1198:40: ( OR ^ ( ELSE )? ) + # sdl92.g:1198:41: OR ^ ( ELSE )? pass - OR601 = self.match(self.input, OR, self.FOLLOW_OR_in_binary_expression_013683) + OR609 = self.match(self.input, OR, self.FOLLOW_OR_in_binary_expression_013919) if self._state.backtracking == 0: - OR601_tree = self._adaptor.createWithPayload(OR601) - root_0 = self._adaptor.becomeRoot(OR601_tree, root_0) + OR609_tree = self._adaptor.createWithPayload(OR609) + root_0 = self._adaptor.becomeRoot(OR609_tree, root_0) - # sdl92.g:1186:45: ( ELSE )? - alt255 = 2 - LA255_0 = self.input.LA(1) + # sdl92.g:1198:45: ( ELSE )? + alt263 = 2 + LA263_0 = self.input.LA(1) - if (LA255_0 == ELSE) : - alt255 = 1 - if alt255 == 1: - # sdl92.g:1186:45: ELSE + if (LA263_0 == ELSE) : + alt263 = 1 + if alt263 == 1: + # sdl92.g:1198:45: ELSE pass - ELSE602 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_binary_expression_013686) + ELSE610 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_binary_expression_013922) if self._state.backtracking == 0: - ELSE602_tree = self._adaptor.createWithPayload(ELSE602) - self._adaptor.addChild(root_0, ELSE602_tree) + ELSE610_tree = self._adaptor.createWithPayload(ELSE610) + self._adaptor.addChild(root_0, ELSE610_tree) @@ -25862,30 +25845,30 @@ def binary_expression_0(self, ): - elif alt256 == 2: - # sdl92.g:1186:54: XOR ^ + elif alt264 == 2: + # sdl92.g:1198:54: XOR ^ pass - XOR603 = self.match(self.input, XOR, self.FOLLOW_XOR_in_binary_expression_013692) + XOR611 = self.match(self.input, XOR, self.FOLLOW_XOR_in_binary_expression_013928) if self._state.backtracking == 0: - XOR603_tree = self._adaptor.createWithPayload(XOR603) - root_0 = self._adaptor.becomeRoot(XOR603_tree, root_0) + XOR611_tree = self._adaptor.createWithPayload(XOR611) + root_0 = self._adaptor.becomeRoot(XOR611_tree, root_0) - self._state.following.append(self.FOLLOW_binary_expression_1_in_binary_expression_013697) - binary_expression_1604 = self.binary_expression_1() + self._state.following.append(self.FOLLOW_binary_expression_1_in_binary_expression_013933) + binary_expression_1612 = self.binary_expression_1() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_1604.tree) + self._adaptor.addChild(root_0, binary_expression_1612.tree) else: - break #loop257 + break #loop265 @@ -25922,7 +25905,7 @@ def __init__(self): # $ANTLR start "binary_expression_1" - # sdl92.g:1187:1: binary_expression_1 : binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* ; + # sdl92.g:1199:1: binary_expression_1 : binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* ; def binary_expression_1(self, ): retval = self.binary_expression_1_return() retval.start = self.input.LT(1) @@ -25930,84 +25913,84 @@ def binary_expression_1(self, ): root_0 = None - AND606 = None - THEN607 = None - binary_expression_2605 = None - binary_expression_2608 = None + AND614 = None + THEN615 = None + binary_expression_2613 = None + binary_expression_2616 = None - AND606_tree = None - THEN607_tree = None + AND614_tree = None + THEN615_tree = None try: try: - # sdl92.g:1188:9: ( binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* ) - # sdl92.g:1188:17: binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* + # sdl92.g:1200:9: ( binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* ) + # sdl92.g:1200:17: binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_2_in_binary_expression_113720) - binary_expression_2605 = self.binary_expression_2() + self._state.following.append(self.FOLLOW_binary_expression_2_in_binary_expression_113956) + binary_expression_2613 = self.binary_expression_2() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_2605.tree) + self._adaptor.addChild(root_0, binary_expression_2613.tree) - # sdl92.g:1188:37: ( AND ^ ( THEN )? binary_expression_2 )* - while True: #loop259 - alt259 = 2 - LA259_0 = self.input.LA(1) + # sdl92.g:1200:37: ( AND ^ ( THEN )? binary_expression_2 )* + while True: #loop267 + alt267 = 2 + LA267_0 = self.input.LA(1) - if (LA259_0 == AND) : - LA259_2 = self.input.LA(2) + if (LA267_0 == AND) : + LA267_2 = self.input.LA(2) - if (self.synpred310_sdl92()) : - alt259 = 1 + if (self.synpred318_sdl92()) : + alt267 = 1 - if alt259 == 1: - # sdl92.g:1188:39: AND ^ ( THEN )? binary_expression_2 + if alt267 == 1: + # sdl92.g:1200:39: AND ^ ( THEN )? binary_expression_2 pass - AND606 = self.match(self.input, AND, self.FOLLOW_AND_in_binary_expression_113724) + AND614 = self.match(self.input, AND, self.FOLLOW_AND_in_binary_expression_113960) if self._state.backtracking == 0: - AND606_tree = self._adaptor.createWithPayload(AND606) - root_0 = self._adaptor.becomeRoot(AND606_tree, root_0) + AND614_tree = self._adaptor.createWithPayload(AND614) + root_0 = self._adaptor.becomeRoot(AND614_tree, root_0) - # sdl92.g:1188:44: ( THEN )? - alt258 = 2 - LA258_0 = self.input.LA(1) + # sdl92.g:1200:44: ( THEN )? + alt266 = 2 + LA266_0 = self.input.LA(1) - if (LA258_0 == THEN) : - alt258 = 1 - if alt258 == 1: - # sdl92.g:1188:44: THEN + if (LA266_0 == THEN) : + alt266 = 1 + if alt266 == 1: + # sdl92.g:1200:44: THEN pass - THEN607 = self.match(self.input, THEN, self.FOLLOW_THEN_in_binary_expression_113727) + THEN615 = self.match(self.input, THEN, self.FOLLOW_THEN_in_binary_expression_113963) if self._state.backtracking == 0: - THEN607_tree = self._adaptor.createWithPayload(THEN607) - self._adaptor.addChild(root_0, THEN607_tree) + THEN615_tree = self._adaptor.createWithPayload(THEN615) + self._adaptor.addChild(root_0, THEN615_tree) - self._state.following.append(self.FOLLOW_binary_expression_2_in_binary_expression_113730) - binary_expression_2608 = self.binary_expression_2() + self._state.following.append(self.FOLLOW_binary_expression_2_in_binary_expression_113966) + binary_expression_2616 = self.binary_expression_2() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_2608.tree) + self._adaptor.addChild(root_0, binary_expression_2616.tree) else: - break #loop259 + break #loop267 @@ -26044,7 +26027,7 @@ def __init__(self): # $ANTLR start "binary_expression_2" - # sdl92.g:1189:1: binary_expression_2 : binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* ; + # sdl92.g:1201:1: binary_expression_2 : binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* ; def binary_expression_2(self, ): retval = self.binary_expression_2_return() retval.start = self.input.LT(1) @@ -26052,214 +26035,214 @@ def binary_expression_2(self, ): root_0 = None - EQ610 = None - NEQ611 = None - GT612 = None - GE613 = None - LT614 = None - LE615 = None - IN616 = None - binary_expression_3609 = None + EQ618 = None + NEQ619 = None + GT620 = None + GE621 = None + LT622 = None + LE623 = None + IN624 = None binary_expression_3617 = None + binary_expression_3625 = None - EQ610_tree = None - NEQ611_tree = None - GT612_tree = None - GE613_tree = None - LT614_tree = None - LE615_tree = None - IN616_tree = None + EQ618_tree = None + NEQ619_tree = None + GT620_tree = None + GE621_tree = None + LT622_tree = None + LE623_tree = None + IN624_tree = None try: try: - # sdl92.g:1190:9: ( binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* ) - # sdl92.g:1190:17: binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* + # sdl92.g:1202:9: ( binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* ) + # sdl92.g:1202:17: binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_3_in_binary_expression_213753) - binary_expression_3609 = self.binary_expression_3() + self._state.following.append(self.FOLLOW_binary_expression_3_in_binary_expression_213989) + binary_expression_3617 = self.binary_expression_3() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_3609.tree) + self._adaptor.addChild(root_0, binary_expression_3617.tree) - # sdl92.g:1190:37: ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* - while True: #loop261 - alt261 = 2 - LA261 = self.input.LA(1) - if LA261 in {EQ}: - LA261_2 = self.input.LA(2) + # sdl92.g:1202:37: ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* + while True: #loop269 + alt269 = 2 + LA269 = self.input.LA(1) + if LA269 in {EQ}: + LA269_2 = self.input.LA(2) - if (self.synpred317_sdl92()) : - alt261 = 1 + if (self.synpred325_sdl92()) : + alt269 = 1 - elif LA261 in {NEQ}: - LA261_3 = self.input.LA(2) + elif LA269 in {NEQ}: + LA269_3 = self.input.LA(2) - if (self.synpred317_sdl92()) : - alt261 = 1 + if (self.synpred325_sdl92()) : + alt269 = 1 - elif LA261 in {GT}: - LA261_4 = self.input.LA(2) + elif LA269 in {GT}: + LA269_4 = self.input.LA(2) - if (self.synpred317_sdl92()) : - alt261 = 1 + if (self.synpred325_sdl92()) : + alt269 = 1 - elif LA261 in {GE}: - LA261_5 = self.input.LA(2) + elif LA269 in {GE}: + LA269_5 = self.input.LA(2) - if (self.synpred317_sdl92()) : - alt261 = 1 + if (self.synpred325_sdl92()) : + alt269 = 1 - elif LA261 in {LT}: - LA261_6 = self.input.LA(2) + elif LA269 in {LT}: + LA269_6 = self.input.LA(2) - if (self.synpred317_sdl92()) : - alt261 = 1 + if (self.synpred325_sdl92()) : + alt269 = 1 - elif LA261 in {LE}: - LA261_7 = self.input.LA(2) + elif LA269 in {LE}: + LA269_7 = self.input.LA(2) - if (self.synpred317_sdl92()) : - alt261 = 1 + if (self.synpred325_sdl92()) : + alt269 = 1 - elif LA261 in {IN}: - LA261_8 = self.input.LA(2) + elif LA269 in {IN}: + LA269_8 = self.input.LA(2) - if (self.synpred317_sdl92()) : - alt261 = 1 + if (self.synpred325_sdl92()) : + alt269 = 1 - if alt261 == 1: - # sdl92.g:1190:38: ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 + if alt269 == 1: + # sdl92.g:1202:38: ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 pass - # sdl92.g:1190:38: ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) - alt260 = 7 - LA260 = self.input.LA(1) - if LA260 in {EQ}: - alt260 = 1 - elif LA260 in {NEQ}: - alt260 = 2 - elif LA260 in {GT}: - alt260 = 3 - elif LA260 in {GE}: - alt260 = 4 - elif LA260 in {LT}: - alt260 = 5 - elif LA260 in {LE}: - alt260 = 6 - elif LA260 in {IN}: - alt260 = 7 + # sdl92.g:1202:38: ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) + alt268 = 7 + LA268 = self.input.LA(1) + if LA268 in {EQ}: + alt268 = 1 + elif LA268 in {NEQ}: + alt268 = 2 + elif LA268 in {GT}: + alt268 = 3 + elif LA268 in {GE}: + alt268 = 4 + elif LA268 in {LT}: + alt268 = 5 + elif LA268 in {LE}: + alt268 = 6 + elif LA268 in {IN}: + alt268 = 7 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 260, 0, self.input) + nvae = NoViableAltException("", 268, 0, self.input) raise nvae - if alt260 == 1: - # sdl92.g:1190:40: EQ ^ + if alt268 == 1: + # sdl92.g:1202:40: EQ ^ pass - EQ610 = self.match(self.input, EQ, self.FOLLOW_EQ_in_binary_expression_213758) + EQ618 = self.match(self.input, EQ, self.FOLLOW_EQ_in_binary_expression_213994) if self._state.backtracking == 0: - EQ610_tree = self._adaptor.createWithPayload(EQ610) - root_0 = self._adaptor.becomeRoot(EQ610_tree, root_0) + EQ618_tree = self._adaptor.createWithPayload(EQ618) + root_0 = self._adaptor.becomeRoot(EQ618_tree, root_0) - elif alt260 == 2: - # sdl92.g:1190:46: NEQ ^ + elif alt268 == 2: + # sdl92.g:1202:46: NEQ ^ pass - NEQ611 = self.match(self.input, NEQ, self.FOLLOW_NEQ_in_binary_expression_213763) + NEQ619 = self.match(self.input, NEQ, self.FOLLOW_NEQ_in_binary_expression_213999) if self._state.backtracking == 0: - NEQ611_tree = self._adaptor.createWithPayload(NEQ611) - root_0 = self._adaptor.becomeRoot(NEQ611_tree, root_0) + NEQ619_tree = self._adaptor.createWithPayload(NEQ619) + root_0 = self._adaptor.becomeRoot(NEQ619_tree, root_0) - elif alt260 == 3: - # sdl92.g:1190:53: GT ^ + elif alt268 == 3: + # sdl92.g:1202:53: GT ^ pass - GT612 = self.match(self.input, GT, self.FOLLOW_GT_in_binary_expression_213768) + GT620 = self.match(self.input, GT, self.FOLLOW_GT_in_binary_expression_214004) if self._state.backtracking == 0: - GT612_tree = self._adaptor.createWithPayload(GT612) - root_0 = self._adaptor.becomeRoot(GT612_tree, root_0) + GT620_tree = self._adaptor.createWithPayload(GT620) + root_0 = self._adaptor.becomeRoot(GT620_tree, root_0) - elif alt260 == 4: - # sdl92.g:1190:59: GE ^ + elif alt268 == 4: + # sdl92.g:1202:59: GE ^ pass - GE613 = self.match(self.input, GE, self.FOLLOW_GE_in_binary_expression_213773) + GE621 = self.match(self.input, GE, self.FOLLOW_GE_in_binary_expression_214009) if self._state.backtracking == 0: - GE613_tree = self._adaptor.createWithPayload(GE613) - root_0 = self._adaptor.becomeRoot(GE613_tree, root_0) + GE621_tree = self._adaptor.createWithPayload(GE621) + root_0 = self._adaptor.becomeRoot(GE621_tree, root_0) - elif alt260 == 5: - # sdl92.g:1190:65: LT ^ + elif alt268 == 5: + # sdl92.g:1202:65: LT ^ pass - LT614 = self.match(self.input, LT, self.FOLLOW_LT_in_binary_expression_213778) + LT622 = self.match(self.input, LT, self.FOLLOW_LT_in_binary_expression_214014) if self._state.backtracking == 0: - LT614_tree = self._adaptor.createWithPayload(LT614) - root_0 = self._adaptor.becomeRoot(LT614_tree, root_0) + LT622_tree = self._adaptor.createWithPayload(LT622) + root_0 = self._adaptor.becomeRoot(LT622_tree, root_0) - elif alt260 == 6: - # sdl92.g:1190:71: LE ^ + elif alt268 == 6: + # sdl92.g:1202:71: LE ^ pass - LE615 = self.match(self.input, LE, self.FOLLOW_LE_in_binary_expression_213783) + LE623 = self.match(self.input, LE, self.FOLLOW_LE_in_binary_expression_214019) if self._state.backtracking == 0: - LE615_tree = self._adaptor.createWithPayload(LE615) - root_0 = self._adaptor.becomeRoot(LE615_tree, root_0) + LE623_tree = self._adaptor.createWithPayload(LE623) + root_0 = self._adaptor.becomeRoot(LE623_tree, root_0) - elif alt260 == 7: - # sdl92.g:1190:77: IN ^ + elif alt268 == 7: + # sdl92.g:1202:77: IN ^ pass - IN616 = self.match(self.input, IN, self.FOLLOW_IN_in_binary_expression_213788) + IN624 = self.match(self.input, IN, self.FOLLOW_IN_in_binary_expression_214024) if self._state.backtracking == 0: - IN616_tree = self._adaptor.createWithPayload(IN616) - root_0 = self._adaptor.becomeRoot(IN616_tree, root_0) + IN624_tree = self._adaptor.createWithPayload(IN624) + root_0 = self._adaptor.becomeRoot(IN624_tree, root_0) - self._state.following.append(self.FOLLOW_binary_expression_3_in_binary_expression_213793) - binary_expression_3617 = self.binary_expression_3() + self._state.following.append(self.FOLLOW_binary_expression_3_in_binary_expression_214029) + binary_expression_3625 = self.binary_expression_3() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_3617.tree) + self._adaptor.addChild(root_0, binary_expression_3625.tree) else: - break #loop261 + break #loop269 @@ -26296,7 +26279,7 @@ def __init__(self): # $ANTLR start "binary_expression_3" - # sdl92.g:1191:1: binary_expression_3 : binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* ; + # sdl92.g:1203:1: binary_expression_3 : binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* ; def binary_expression_3(self, ): retval = self.binary_expression_3_return() retval.start = self.input.LT(1) @@ -26304,126 +26287,126 @@ def binary_expression_3(self, ): root_0 = None - PLUS619 = None - DASH620 = None - APPEND621 = None - binary_expression_4618 = None - binary_expression_4622 = None + PLUS627 = None + DASH628 = None + APPEND629 = None + binary_expression_4626 = None + binary_expression_4630 = None - PLUS619_tree = None - DASH620_tree = None - APPEND621_tree = None + PLUS627_tree = None + DASH628_tree = None + APPEND629_tree = None try: try: - # sdl92.g:1192:9: ( binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* ) - # sdl92.g:1192:17: binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* + # sdl92.g:1204:9: ( binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* ) + # sdl92.g:1204:17: binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_4_in_binary_expression_313816) - binary_expression_4618 = self.binary_expression_4() + self._state.following.append(self.FOLLOW_binary_expression_4_in_binary_expression_314052) + binary_expression_4626 = self.binary_expression_4() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_4618.tree) + self._adaptor.addChild(root_0, binary_expression_4626.tree) - # sdl92.g:1192:37: ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* - while True: #loop263 - alt263 = 2 - LA263 = self.input.LA(1) - if LA263 in {PLUS}: - LA263_2 = self.input.LA(2) + # sdl92.g:1204:37: ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* + while True: #loop271 + alt271 = 2 + LA271 = self.input.LA(1) + if LA271 in {PLUS}: + LA271_2 = self.input.LA(2) - if (self.synpred320_sdl92()) : - alt263 = 1 + if (self.synpred328_sdl92()) : + alt271 = 1 - elif LA263 in {DASH}: - LA263_3 = self.input.LA(2) + elif LA271 in {DASH}: + LA271_3 = self.input.LA(2) - if (self.synpred320_sdl92()) : - alt263 = 1 + if (self.synpred328_sdl92()) : + alt271 = 1 - elif LA263 in {APPEND}: - LA263_4 = self.input.LA(2) + elif LA271 in {APPEND}: + LA271_4 = self.input.LA(2) - if (self.synpred320_sdl92()) : - alt263 = 1 + if (self.synpred328_sdl92()) : + alt271 = 1 - if alt263 == 1: - # sdl92.g:1192:38: ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 + if alt271 == 1: + # sdl92.g:1204:38: ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 pass - # sdl92.g:1192:38: ( PLUS ^| DASH ^| APPEND ^) - alt262 = 3 - LA262 = self.input.LA(1) - if LA262 in {PLUS}: - alt262 = 1 - elif LA262 in {DASH}: - alt262 = 2 - elif LA262 in {APPEND}: - alt262 = 3 + # sdl92.g:1204:38: ( PLUS ^| DASH ^| APPEND ^) + alt270 = 3 + LA270 = self.input.LA(1) + if LA270 in {PLUS}: + alt270 = 1 + elif LA270 in {DASH}: + alt270 = 2 + elif LA270 in {APPEND}: + alt270 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 262, 0, self.input) + nvae = NoViableAltException("", 270, 0, self.input) raise nvae - if alt262 == 1: - # sdl92.g:1192:40: PLUS ^ + if alt270 == 1: + # sdl92.g:1204:40: PLUS ^ pass - PLUS619 = self.match(self.input, PLUS, self.FOLLOW_PLUS_in_binary_expression_313821) + PLUS627 = self.match(self.input, PLUS, self.FOLLOW_PLUS_in_binary_expression_314057) if self._state.backtracking == 0: - PLUS619_tree = self._adaptor.createWithPayload(PLUS619) - root_0 = self._adaptor.becomeRoot(PLUS619_tree, root_0) + PLUS627_tree = self._adaptor.createWithPayload(PLUS627) + root_0 = self._adaptor.becomeRoot(PLUS627_tree, root_0) - elif alt262 == 2: - # sdl92.g:1192:48: DASH ^ + elif alt270 == 2: + # sdl92.g:1204:48: DASH ^ pass - DASH620 = self.match(self.input, DASH, self.FOLLOW_DASH_in_binary_expression_313826) + DASH628 = self.match(self.input, DASH, self.FOLLOW_DASH_in_binary_expression_314062) if self._state.backtracking == 0: - DASH620_tree = self._adaptor.createWithPayload(DASH620) - root_0 = self._adaptor.becomeRoot(DASH620_tree, root_0) + DASH628_tree = self._adaptor.createWithPayload(DASH628) + root_0 = self._adaptor.becomeRoot(DASH628_tree, root_0) - elif alt262 == 3: - # sdl92.g:1192:56: APPEND ^ + elif alt270 == 3: + # sdl92.g:1204:56: APPEND ^ pass - APPEND621 = self.match(self.input, APPEND, self.FOLLOW_APPEND_in_binary_expression_313831) + APPEND629 = self.match(self.input, APPEND, self.FOLLOW_APPEND_in_binary_expression_314067) if self._state.backtracking == 0: - APPEND621_tree = self._adaptor.createWithPayload(APPEND621) - root_0 = self._adaptor.becomeRoot(APPEND621_tree, root_0) + APPEND629_tree = self._adaptor.createWithPayload(APPEND629) + root_0 = self._adaptor.becomeRoot(APPEND629_tree, root_0) - self._state.following.append(self.FOLLOW_binary_expression_4_in_binary_expression_313836) - binary_expression_4622 = self.binary_expression_4() + self._state.following.append(self.FOLLOW_binary_expression_4_in_binary_expression_314072) + binary_expression_4630 = self.binary_expression_4() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_4622.tree) + self._adaptor.addChild(root_0, binary_expression_4630.tree) else: - break #loop263 + break #loop271 @@ -26460,7 +26443,7 @@ def __init__(self): # $ANTLR start "binary_expression_4" - # sdl92.g:1193:1: binary_expression_4 : unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* ; + # sdl92.g:1205:1: binary_expression_4 : unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* ; def binary_expression_4(self, ): retval = self.binary_expression_4_return() retval.start = self.input.LT(1) @@ -26468,148 +26451,148 @@ def binary_expression_4(self, ): root_0 = None - ASTERISK624 = None - DIV625 = None - MOD626 = None - REM627 = None - unary_expression623 = None - unary_expression628 = None + ASTERISK632 = None + DIV633 = None + MOD634 = None + REM635 = None + unary_expression631 = None + unary_expression636 = None - ASTERISK624_tree = None - DIV625_tree = None - MOD626_tree = None - REM627_tree = None + ASTERISK632_tree = None + DIV633_tree = None + MOD634_tree = None + REM635_tree = None try: try: - # sdl92.g:1194:9: ( unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* ) - # sdl92.g:1194:17: unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* + # sdl92.g:1206:9: ( unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* ) + # sdl92.g:1206:17: unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_unary_expression_in_binary_expression_413859) - unary_expression623 = self.unary_expression() + self._state.following.append(self.FOLLOW_unary_expression_in_binary_expression_414095) + unary_expression631 = self.unary_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, unary_expression623.tree) + self._adaptor.addChild(root_0, unary_expression631.tree) - # sdl92.g:1194:34: ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* - while True: #loop265 - alt265 = 2 - LA265 = self.input.LA(1) - if LA265 in {ASTERISK}: - LA265_2 = self.input.LA(2) + # sdl92.g:1206:34: ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* + while True: #loop273 + alt273 = 2 + LA273 = self.input.LA(1) + if LA273 in {ASTERISK}: + LA273_2 = self.input.LA(2) - if (self.synpred324_sdl92()) : - alt265 = 1 + if (self.synpred332_sdl92()) : + alt273 = 1 - elif LA265 in {DIV}: - LA265_3 = self.input.LA(2) + elif LA273 in {DIV}: + LA273_3 = self.input.LA(2) - if (self.synpred324_sdl92()) : - alt265 = 1 + if (self.synpred332_sdl92()) : + alt273 = 1 - elif LA265 in {MOD}: - LA265_4 = self.input.LA(2) + elif LA273 in {MOD}: + LA273_4 = self.input.LA(2) - if (self.synpred324_sdl92()) : - alt265 = 1 + if (self.synpred332_sdl92()) : + alt273 = 1 - elif LA265 in {REM}: - LA265_5 = self.input.LA(2) + elif LA273 in {REM}: + LA273_5 = self.input.LA(2) - if (self.synpred324_sdl92()) : - alt265 = 1 + if (self.synpred332_sdl92()) : + alt273 = 1 - if alt265 == 1: - # sdl92.g:1194:35: ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression + if alt273 == 1: + # sdl92.g:1206:35: ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression pass - # sdl92.g:1194:35: ( ASTERISK ^| DIV ^| MOD ^| REM ^) - alt264 = 4 - LA264 = self.input.LA(1) - if LA264 in {ASTERISK}: - alt264 = 1 - elif LA264 in {DIV}: - alt264 = 2 - elif LA264 in {MOD}: - alt264 = 3 - elif LA264 in {REM}: - alt264 = 4 + # sdl92.g:1206:35: ( ASTERISK ^| DIV ^| MOD ^| REM ^) + alt272 = 4 + LA272 = self.input.LA(1) + if LA272 in {ASTERISK}: + alt272 = 1 + elif LA272 in {DIV}: + alt272 = 2 + elif LA272 in {MOD}: + alt272 = 3 + elif LA272 in {REM}: + alt272 = 4 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 264, 0, self.input) + nvae = NoViableAltException("", 272, 0, self.input) raise nvae - if alt264 == 1: - # sdl92.g:1194:37: ASTERISK ^ + if alt272 == 1: + # sdl92.g:1206:37: ASTERISK ^ pass - ASTERISK624 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_binary_expression_413864) + ASTERISK632 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_binary_expression_414100) if self._state.backtracking == 0: - ASTERISK624_tree = self._adaptor.createWithPayload(ASTERISK624) - root_0 = self._adaptor.becomeRoot(ASTERISK624_tree, root_0) + ASTERISK632_tree = self._adaptor.createWithPayload(ASTERISK632) + root_0 = self._adaptor.becomeRoot(ASTERISK632_tree, root_0) - elif alt264 == 2: - # sdl92.g:1194:49: DIV ^ + elif alt272 == 2: + # sdl92.g:1206:49: DIV ^ pass - DIV625 = self.match(self.input, DIV, self.FOLLOW_DIV_in_binary_expression_413869) + DIV633 = self.match(self.input, DIV, self.FOLLOW_DIV_in_binary_expression_414105) if self._state.backtracking == 0: - DIV625_tree = self._adaptor.createWithPayload(DIV625) - root_0 = self._adaptor.becomeRoot(DIV625_tree, root_0) + DIV633_tree = self._adaptor.createWithPayload(DIV633) + root_0 = self._adaptor.becomeRoot(DIV633_tree, root_0) - elif alt264 == 3: - # sdl92.g:1194:56: MOD ^ + elif alt272 == 3: + # sdl92.g:1206:56: MOD ^ pass - MOD626 = self.match(self.input, MOD, self.FOLLOW_MOD_in_binary_expression_413874) + MOD634 = self.match(self.input, MOD, self.FOLLOW_MOD_in_binary_expression_414110) if self._state.backtracking == 0: - MOD626_tree = self._adaptor.createWithPayload(MOD626) - root_0 = self._adaptor.becomeRoot(MOD626_tree, root_0) + MOD634_tree = self._adaptor.createWithPayload(MOD634) + root_0 = self._adaptor.becomeRoot(MOD634_tree, root_0) - elif alt264 == 4: - # sdl92.g:1194:63: REM ^ + elif alt272 == 4: + # sdl92.g:1206:63: REM ^ pass - REM627 = self.match(self.input, REM, self.FOLLOW_REM_in_binary_expression_413879) + REM635 = self.match(self.input, REM, self.FOLLOW_REM_in_binary_expression_414115) if self._state.backtracking == 0: - REM627_tree = self._adaptor.createWithPayload(REM627) - root_0 = self._adaptor.becomeRoot(REM627_tree, root_0) + REM635_tree = self._adaptor.createWithPayload(REM635) + root_0 = self._adaptor.becomeRoot(REM635_tree, root_0) - self._state.following.append(self.FOLLOW_unary_expression_in_binary_expression_413884) - unary_expression628 = self.unary_expression() + self._state.following.append(self.FOLLOW_unary_expression_in_binary_expression_414120) + unary_expression636 = self.unary_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, unary_expression628.tree) + self._adaptor.addChild(root_0, unary_expression636.tree) else: - break #loop265 + break #loop273 @@ -26646,7 +26629,7 @@ def __init__(self): # $ANTLR start "unary_expression" - # sdl92.g:1197:1: unary_expression : ( postfix_expression | primary_expression | NOT ^ unary_expression | DASH unary_expression -> ^( NEG unary_expression ) | CALL procedure_call_body -> ^( PROCEDURE_CALL procedure_call_body ) | input_expression | output_expression ); + # sdl92.g:1209:1: unary_expression : ( postfix_expression | primary_expression | NOT ^ unary_expression | DASH unary_expression -> ^( NEG unary_expression ) | CALL procedure_call_body -> ^( PROCEDURE_CALL procedure_call_body ) | input_expression | output_expression ); def unary_expression(self, ): retval = self.unary_expression_return() retval.start = self.input.LT(1) @@ -26654,134 +26637,134 @@ def unary_expression(self, ): root_0 = None - NOT631 = None - DASH633 = None - CALL635 = None - postfix_expression629 = None - primary_expression630 = None - unary_expression632 = None - unary_expression634 = None - procedure_call_body636 = None - input_expression637 = None - output_expression638 = None - - NOT631_tree = None - DASH633_tree = None - CALL635_tree = None + NOT639 = None + DASH641 = None + CALL643 = None + postfix_expression637 = None + primary_expression638 = None + unary_expression640 = None + unary_expression642 = None + procedure_call_body644 = None + input_expression645 = None + output_expression646 = None + + NOT639_tree = None + DASH641_tree = None + CALL643_tree = None stream_CALL = RewriteRuleTokenStream(self._adaptor, "token CALL") stream_DASH = RewriteRuleTokenStream(self._adaptor, "token DASH") stream_procedure_call_body = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_call_body") stream_unary_expression = RewriteRuleSubtreeStream(self._adaptor, "rule unary_expression") try: try: - # sdl92.g:1198:9: ( postfix_expression | primary_expression | NOT ^ unary_expression | DASH unary_expression -> ^( NEG unary_expression ) | CALL procedure_call_body -> ^( PROCEDURE_CALL procedure_call_body ) | input_expression | output_expression ) - alt266 = 7 - LA266 = self.input.LA(1) - if LA266 in {ID}: - LA266_1 = self.input.LA(2) - - if (self.synpred325_sdl92()) : - alt266 = 1 - elif (self.synpred326_sdl92()) : - alt266 = 2 + # sdl92.g:1210:9: ( postfix_expression | primary_expression | NOT ^ unary_expression | DASH unary_expression -> ^( NEG unary_expression ) | CALL procedure_call_body -> ^( PROCEDURE_CALL procedure_call_body ) | input_expression | output_expression ) + alt274 = 7 + LA274 = self.input.LA(1) + if LA274 in {ID}: + LA274_1 = self.input.LA(2) + + if (self.synpred333_sdl92()) : + alt274 = 1 + elif (self.synpred334_sdl92()) : + alt274 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 266, 1, self.input) + nvae = NoViableAltException("", 274, 1, self.input) raise nvae - elif LA266 in {FALSE, FLOAT, IF, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, PLUS_INFINITY, STATE, STRING, TRUE}: - alt266 = 2 - elif LA266 in {NOT}: - alt266 = 3 - elif LA266 in {DASH}: - alt266 = 4 - elif LA266 in {CALL}: - alt266 = 5 - elif LA266 in {INPUT, UNHANDLED}: - alt266 = 6 - elif LA266 in {OUTPUT}: - alt266 = 7 + elif LA274 in {FALSE, FLOAT, IF, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, PLUS_INFINITY, STATE, STRING, TRUE}: + alt274 = 2 + elif LA274 in {NOT}: + alt274 = 3 + elif LA274 in {DASH}: + alt274 = 4 + elif LA274 in {CALL}: + alt274 = 5 + elif LA274 in {INPUT, UNHANDLED}: + alt274 = 6 + elif LA274 in {OUTPUT}: + alt274 = 7 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 266, 0, self.input) + nvae = NoViableAltException("", 274, 0, self.input) raise nvae - if alt266 == 1: - # sdl92.g:1198:17: postfix_expression + if alt274 == 1: + # sdl92.g:1210:17: postfix_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_postfix_expression_in_unary_expression13909) - postfix_expression629 = self.postfix_expression() + self._state.following.append(self.FOLLOW_postfix_expression_in_unary_expression14145) + postfix_expression637 = self.postfix_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, postfix_expression629.tree) + self._adaptor.addChild(root_0, postfix_expression637.tree) - elif alt266 == 2: - # sdl92.g:1199:17: primary_expression + elif alt274 == 2: + # sdl92.g:1211:17: primary_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_primary_expression_in_unary_expression13927) - primary_expression630 = self.primary_expression() + self._state.following.append(self.FOLLOW_primary_expression_in_unary_expression14163) + primary_expression638 = self.primary_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, primary_expression630.tree) + self._adaptor.addChild(root_0, primary_expression638.tree) - elif alt266 == 3: - # sdl92.g:1200:17: NOT ^ unary_expression + elif alt274 == 3: + # sdl92.g:1212:17: NOT ^ unary_expression pass root_0 = self._adaptor.nil() - NOT631 = self.match(self.input, NOT, self.FOLLOW_NOT_in_unary_expression13945) + NOT639 = self.match(self.input, NOT, self.FOLLOW_NOT_in_unary_expression14181) if self._state.backtracking == 0: - NOT631_tree = self._adaptor.createWithPayload(NOT631) - root_0 = self._adaptor.becomeRoot(NOT631_tree, root_0) + NOT639_tree = self._adaptor.createWithPayload(NOT639) + root_0 = self._adaptor.becomeRoot(NOT639_tree, root_0) - self._state.following.append(self.FOLLOW_unary_expression_in_unary_expression13948) - unary_expression632 = self.unary_expression() + self._state.following.append(self.FOLLOW_unary_expression_in_unary_expression14184) + unary_expression640 = self.unary_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, unary_expression632.tree) + self._adaptor.addChild(root_0, unary_expression640.tree) - elif alt266 == 4: - # sdl92.g:1201:17: DASH unary_expression + elif alt274 == 4: + # sdl92.g:1213:17: DASH unary_expression pass - DASH633 = self.match(self.input, DASH, self.FOLLOW_DASH_in_unary_expression13966) + DASH641 = self.match(self.input, DASH, self.FOLLOW_DASH_in_unary_expression14202) if self._state.backtracking == 0: - stream_DASH.add(DASH633) + stream_DASH.add(DASH641) - self._state.following.append(self.FOLLOW_unary_expression_in_unary_expression13968) - unary_expression634 = self.unary_expression() + self._state.following.append(self.FOLLOW_unary_expression_in_unary_expression14204) + unary_expression642 = self.unary_expression() self._state.following.pop() if self._state.backtracking == 0: - stream_unary_expression.add(unary_expression634.tree) + stream_unary_expression.add(unary_expression642.tree) # AST Rewrite @@ -26800,8 +26783,8 @@ def unary_expression(self, ): root_0 = self._adaptor.nil() - # 1201:42: -> ^( NEG unary_expression ) - # sdl92.g:1201:45: ^( NEG unary_expression ) + # 1213:42: -> ^( NEG unary_expression ) + # sdl92.g:1213:45: ^( NEG unary_expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(NEG, "NEG") @@ -26819,20 +26802,20 @@ def unary_expression(self, ): - elif alt266 == 5: - # sdl92.g:1202:17: CALL procedure_call_body + elif alt274 == 5: + # sdl92.g:1214:17: CALL procedure_call_body pass - CALL635 = self.match(self.input, CALL, self.FOLLOW_CALL_in_unary_expression13997) + CALL643 = self.match(self.input, CALL, self.FOLLOW_CALL_in_unary_expression14233) if self._state.backtracking == 0: - stream_CALL.add(CALL635) + stream_CALL.add(CALL643) - self._state.following.append(self.FOLLOW_procedure_call_body_in_unary_expression13999) - procedure_call_body636 = self.procedure_call_body() + self._state.following.append(self.FOLLOW_procedure_call_body_in_unary_expression14235) + procedure_call_body644 = self.procedure_call_body() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure_call_body.add(procedure_call_body636.tree) + stream_procedure_call_body.add(procedure_call_body644.tree) # AST Rewrite @@ -26851,8 +26834,8 @@ def unary_expression(self, ): root_0 = self._adaptor.nil() - # 1202:42: -> ^( PROCEDURE_CALL procedure_call_body ) - # sdl92.g:1202:45: ^( PROCEDURE_CALL procedure_call_body ) + # 1214:42: -> ^( PROCEDURE_CALL procedure_call_body ) + # sdl92.g:1214:45: ^( PROCEDURE_CALL procedure_call_body ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PROCEDURE_CALL, "PROCEDURE_CALL") @@ -26870,33 +26853,33 @@ def unary_expression(self, ): - elif alt266 == 6: - # sdl92.g:1203:17: input_expression + elif alt274 == 6: + # sdl92.g:1215:17: input_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_input_expression_in_unary_expression14025) - input_expression637 = self.input_expression() + self._state.following.append(self.FOLLOW_input_expression_in_unary_expression14261) + input_expression645 = self.input_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, input_expression637.tree) + self._adaptor.addChild(root_0, input_expression645.tree) - elif alt266 == 7: - # sdl92.g:1204:17: output_expression + elif alt274 == 7: + # sdl92.g:1216:17: output_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_output_expression_in_unary_expression14055) - output_expression638 = self.output_expression() + self._state.following.append(self.FOLLOW_output_expression_in_unary_expression14291) + output_expression646 = self.output_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, output_expression638.tree) + self._adaptor.addChild(root_0, output_expression646.tree) @@ -26932,7 +26915,7 @@ def __init__(self): # $ANTLR start "postfix_expression" - # sdl92.g:1208:1: postfix_expression : ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ ; + # sdl92.g:1220:1: postfix_expression : ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ ; def postfix_expression(self, ): retval = self.postfix_expression_return() retval.start = self.input.LT(1) @@ -26940,20 +26923,20 @@ def postfix_expression(self, ): root_0 = None - ID639 = None - char_literal640 = None - char_literal641 = None - char_literal642 = None - DOT643 = None + ID647 = None + char_literal648 = None + char_literal649 = None + char_literal650 = None + DOT651 = None params = None - field_name644 = None - - ID639_tree = None - char_literal640_tree = None - char_literal641_tree = None - char_literal642_tree = None - DOT643_tree = None - stream_246 = RewriteRuleTokenStream(self._adaptor, "token 246") + field_name652 = None + + ID647_tree = None + char_literal648_tree = None + char_literal649_tree = None + char_literal650_tree = None + DOT651_tree = None + stream_248 = RewriteRuleTokenStream(self._adaptor, "token 248") stream_DOT = RewriteRuleTokenStream(self._adaptor, "token DOT") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") @@ -26962,15 +26945,15 @@ def postfix_expression(self, ): stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") try: try: - # sdl92.g:1209:9: ( ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ ) - # sdl92.g:1209:17: ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ + # sdl92.g:1221:9: ( ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ ) + # sdl92.g:1221:17: ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ pass - # sdl92.g:1209:17: ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) - # sdl92.g:1209:18: ID + # sdl92.g:1221:17: ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) + # sdl92.g:1221:18: ID pass - ID639 = self.match(self.input, ID, self.FOLLOW_ID_in_postfix_expression14099) + ID647 = self.match(self.input, ID, self.FOLLOW_ID_in_postfix_expression14335) if self._state.backtracking == 0: - stream_ID.add(ID639) + stream_ID.add(ID647) # AST Rewrite @@ -26989,14 +26972,14 @@ def postfix_expression(self, ): root_0 = self._adaptor.nil() - # 1209:21: -> ^( PRIMARY ^( VARIABLE ID ) ) - # sdl92.g:1209:24: ^( PRIMARY ^( VARIABLE ID ) ) + # 1221:21: -> ^( PRIMARY ^( VARIABLE ID ) ) + # sdl92.g:1221:24: ^( PRIMARY ^( VARIABLE ID ) ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PRIMARY, "PRIMARY") , root_1) - # sdl92.g:1209:34: ^( VARIABLE ID ) + # sdl92.g:1221:34: ^( VARIABLE ID ) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( self._adaptor.createFromType(VARIABLE, "VARIABLE") @@ -27020,29 +27003,29 @@ def postfix_expression(self, ): - # sdl92.g:1210:17: ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ - cnt269 = 0 - while True: #loop269 - alt269 = 3 - alt269 = self.dfa269.predict(self.input) - if alt269 == 1: - # sdl92.g:1210:21: '(' (params= expression_list )? ')' + # sdl92.g:1222:17: ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ + cnt277 = 0 + while True: #loop277 + alt277 = 3 + alt277 = self.dfa277.predict(self.input) + if alt277 == 1: + # sdl92.g:1222:21: '(' (params= expression_list )? ')' pass - char_literal640 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_postfix_expression14134) + char_literal648 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_postfix_expression14370) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal640) + stream_L_PAREN.add(char_literal648) - # sdl92.g:1210:31: (params= expression_list )? - alt267 = 2 - LA267_0 = self.input.LA(1) + # sdl92.g:1222:31: (params= expression_list )? + alt275 = 2 + LA275_0 = self.input.LA(1) - if (LA267_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt267 = 1 - if alt267 == 1: - # sdl92.g:1210:31: params= expression_list + if (LA275_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt275 = 1 + if alt275 == 1: + # sdl92.g:1222:31: params= expression_list pass - self._state.following.append(self.FOLLOW_expression_list_in_postfix_expression14138) + self._state.following.append(self.FOLLOW_expression_list_in_postfix_expression14374) params = self.expression_list() self._state.following.pop() @@ -27053,9 +27036,9 @@ def postfix_expression(self, ): - char_literal641 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_postfix_expression14141) + char_literal649 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_postfix_expression14377) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal641) + stream_R_PAREN.add(char_literal649) # AST Rewrite @@ -27079,8 +27062,8 @@ def postfix_expression(self, ): root_0 = self._adaptor.nil() - # 1211:17: -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) - # sdl92.g:1211:20: ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) + # 1223:17: -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) + # sdl92.g:1223:20: ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(CALL, "CALL") @@ -27088,13 +27071,13 @@ def postfix_expression(self, ): self._adaptor.addChild(root_1, stream_retval.nextTree()) - # sdl92.g:1211:47: ^( PARAMS ( $params)? ) + # sdl92.g:1223:47: ^( PARAMS ( $params)? ) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( self._adaptor.createFromType(PARAMS, "PARAMS") , root_2) - # sdl92.g:1211:57: ( $params)? + # sdl92.g:1223:57: ( $params)? if stream_params.hasNext(): self._adaptor.addChild(root_2, stream_params.nextTree()) @@ -27113,53 +27096,53 @@ def postfix_expression(self, ): - elif alt269 == 2: - # sdl92.g:1212:21: ( '!' | DOT ) field_name + elif alt277 == 2: + # sdl92.g:1224:21: ( '!' | DOT ) field_name pass - # sdl92.g:1212:21: ( '!' | DOT ) - alt268 = 2 - LA268_0 = self.input.LA(1) + # sdl92.g:1224:21: ( '!' | DOT ) + alt276 = 2 + LA276_0 = self.input.LA(1) - if (LA268_0 == 246) : - alt268 = 1 - elif (LA268_0 == DOT) : - alt268 = 2 + if (LA276_0 == 248) : + alt276 = 1 + elif (LA276_0 == DOT) : + alt276 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 268, 0, self.input) + nvae = NoViableAltException("", 276, 0, self.input) raise nvae - if alt268 == 1: - # sdl92.g:1212:22: '!' + if alt276 == 1: + # sdl92.g:1224:22: '!' pass - char_literal642 = self.match(self.input, 246, self.FOLLOW_246_in_postfix_expression14197) + char_literal650 = self.match(self.input, 248, self.FOLLOW_248_in_postfix_expression14433) if self._state.backtracking == 0: - stream_246.add(char_literal642) + stream_248.add(char_literal650) - elif alt268 == 2: - # sdl92.g:1212:28: DOT + elif alt276 == 2: + # sdl92.g:1224:28: DOT pass - DOT643 = self.match(self.input, DOT, self.FOLLOW_DOT_in_postfix_expression14201) + DOT651 = self.match(self.input, DOT, self.FOLLOW_DOT_in_postfix_expression14437) if self._state.backtracking == 0: - stream_DOT.add(DOT643) + stream_DOT.add(DOT651) - self._state.following.append(self.FOLLOW_field_name_in_postfix_expression14204) - field_name644 = self.field_name() + self._state.following.append(self.FOLLOW_field_name_in_postfix_expression14440) + field_name652 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: - stream_field_name.add(field_name644.tree) + stream_field_name.add(field_name652.tree) # AST Rewrite @@ -27178,8 +27161,8 @@ def postfix_expression(self, ): root_0 = self._adaptor.nil() - # 1213:17: -> ^( SELECTOR $postfix_expression field_name ) - # sdl92.g:1213:20: ^( SELECTOR $postfix_expression field_name ) + # 1225:17: -> ^( SELECTOR $postfix_expression field_name ) + # sdl92.g:1225:20: ^( SELECTOR $postfix_expression field_name ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SELECTOR, "SELECTOR") @@ -27200,17 +27183,17 @@ def postfix_expression(self, ): else: - if cnt269 >= 1: - break #loop269 + if cnt277 >= 1: + break #loop277 if self._state.backtracking > 0: raise BacktrackingFailed - eee = EarlyExitException(269, self.input) + eee = EarlyExitException(277, self.input) raise eee - cnt269 += 1 + cnt277 += 1 @@ -27247,7 +27230,7 @@ def __init__(self): # $ANTLR start "input_expression" - # sdl92.g:1222:1: input_expression : ( ( UNHANDLED )? INPUT -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) | ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) ); + # sdl92.g:1234:1: input_expression : ( ( UNHANDLED )? INPUT -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) | ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) ); def input_expression(self, ): retval = self.input_expression_return() retval.start = self.input.LT(1) @@ -27259,27 +27242,27 @@ def input_expression(self, ): param = None src = None dest = None - UNHANDLED645 = None - INPUT646 = None - UNHANDLED647 = None - INPUT648 = None - char_literal649 = None - char_literal650 = None - FROM651 = None - TO652 = None + UNHANDLED653 = None + INPUT654 = None + UNHANDLED655 = None + INPUT656 = None + char_literal657 = None + char_literal658 = None + FROM659 = None + TO660 = None msg_tree = None param_tree = None src_tree = None dest_tree = None - UNHANDLED645_tree = None - INPUT646_tree = None - UNHANDLED647_tree = None - INPUT648_tree = None - char_literal649_tree = None - char_literal650_tree = None - FROM651_tree = None - TO652_tree = None + UNHANDLED653_tree = None + INPUT654_tree = None + UNHANDLED655_tree = None + INPUT656_tree = None + char_literal657_tree = None + char_literal658_tree = None + FROM659_tree = None + TO660_tree = None stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") stream_UNHANDLED = RewriteRuleTokenStream(self._adaptor, "token UNHANDLED") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") @@ -27290,88 +27273,88 @@ def input_expression(self, ): try: try: - # sdl92.g:1223:9: ( ( UNHANDLED )? INPUT -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) | ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) ) - alt275 = 2 - LA275_0 = self.input.LA(1) + # sdl92.g:1235:9: ( ( UNHANDLED )? INPUT -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) | ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) ) + alt283 = 2 + LA283_0 = self.input.LA(1) - if (LA275_0 == UNHANDLED) : - LA275_1 = self.input.LA(2) + if (LA283_0 == UNHANDLED) : + LA283_1 = self.input.LA(2) - if (LA275_1 == INPUT) : - LA275 = self.input.LA(3) - if LA275 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 246, 251, 252, 253}: - alt275 = 1 - elif LA275 in {ID}: - LA275 = self.input.LA(4) - if LA275 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 246, 252, 253}: - alt275 = 1 - elif LA275 in {L_PAREN}: - LA275_6 = self.input.LA(5) - - if (LA275_6 == ID) : - LA275_7 = self.input.LA(6) - - if (LA275_7 == R_PAREN) : - LA275_8 = self.input.LA(7) - - if (LA275_8 in {FROM, TO}) : - alt275 = 2 - elif (LA275_8 in {ASSIG_OP, DOT, L_PAREN, 246}) : - alt275 = 1 + if (LA283_1 == INPUT) : + LA283 = self.input.LA(3) + if LA283 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: + alt283 = 1 + elif LA283 in {ID}: + LA283 = self.input.LA(4) + if LA283 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: + alt283 = 1 + elif LA283 in {L_PAREN}: + LA283_6 = self.input.LA(5) + + if (LA283_6 == ID) : + LA283_7 = self.input.LA(6) + + if (LA283_7 == R_PAREN) : + LA283_8 = self.input.LA(7) + + if (LA283_8 in {FROM, TO}) : + alt283 = 2 + elif (LA283_8 in {ASSIG_OP, DOT, L_PAREN, 248}) : + alt283 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 8, self.input) + nvae = NoViableAltException("", 283, 8, self.input) raise nvae - elif (LA275_7 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 246, 253}) : - alt275 = 1 + elif (LA283_7 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : + alt283 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 7, self.input) + nvae = NoViableAltException("", 283, 7, self.input) raise nvae - elif (LA275_6 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : - alt275 = 1 + elif (LA283_6 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : + alt283 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 6, self.input) + nvae = NoViableAltException("", 283, 6, self.input) raise nvae - elif LA275 in {FROM, TO}: - alt275 = 2 + elif LA283 in {FROM, TO}: + alt283 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 4, self.input) + nvae = NoViableAltException("", 283, 4, self.input) raise nvae - elif LA275 in {FROM, TO}: - alt275 = 2 + elif LA283 in {FROM, TO}: + alt283 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 2, self.input) + nvae = NoViableAltException("", 283, 2, self.input) raise nvae @@ -27381,86 +27364,86 @@ def input_expression(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 275, 1, self.input) + nvae = NoViableAltException("", 283, 1, self.input) raise nvae - elif (LA275_0 == INPUT) : - LA275 = self.input.LA(2) - if LA275 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 246, 251, 252, 253}: - alt275 = 1 - elif LA275 in {ID}: - LA275 = self.input.LA(3) - if LA275 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 246, 252, 253}: - alt275 = 1 - elif LA275 in {L_PAREN}: - LA275_6 = self.input.LA(4) + elif (LA283_0 == INPUT) : + LA283 = self.input.LA(2) + if LA283 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: + alt283 = 1 + elif LA283 in {ID}: + LA283 = self.input.LA(3) + if LA283 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: + alt283 = 1 + elif LA283 in {L_PAREN}: + LA283_6 = self.input.LA(4) - if (LA275_6 == ID) : - LA275_7 = self.input.LA(5) + if (LA283_6 == ID) : + LA283_7 = self.input.LA(5) - if (LA275_7 == R_PAREN) : - LA275_8 = self.input.LA(6) + if (LA283_7 == R_PAREN) : + LA283_8 = self.input.LA(6) - if (LA275_8 in {FROM, TO}) : - alt275 = 2 - elif (LA275_8 in {ASSIG_OP, DOT, L_PAREN, 246}) : - alt275 = 1 + if (LA283_8 in {FROM, TO}) : + alt283 = 2 + elif (LA283_8 in {ASSIG_OP, DOT, L_PAREN, 248}) : + alt283 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 8, self.input) + nvae = NoViableAltException("", 283, 8, self.input) raise nvae - elif (LA275_7 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 246, 253}) : - alt275 = 1 + elif (LA283_7 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : + alt283 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 7, self.input) + nvae = NoViableAltException("", 283, 7, self.input) raise nvae - elif (LA275_6 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : - alt275 = 1 + elif (LA283_6 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : + alt283 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 6, self.input) + nvae = NoViableAltException("", 283, 6, self.input) raise nvae - elif LA275 in {FROM, TO}: - alt275 = 2 + elif LA283 in {FROM, TO}: + alt283 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 4, self.input) + nvae = NoViableAltException("", 283, 4, self.input) raise nvae - elif LA275 in {FROM, TO}: - alt275 = 2 + elif LA283 in {FROM, TO}: + alt283 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 275, 2, self.input) + nvae = NoViableAltException("", 283, 2, self.input) raise nvae @@ -27470,34 +27453,34 @@ def input_expression(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 275, 0, self.input) + nvae = NoViableAltException("", 283, 0, self.input) raise nvae - if alt275 == 1: - # sdl92.g:1223:17: ( UNHANDLED )? INPUT + if alt283 == 1: + # sdl92.g:1235:17: ( UNHANDLED )? INPUT pass - # sdl92.g:1223:17: ( UNHANDLED )? - alt270 = 2 - LA270_0 = self.input.LA(1) + # sdl92.g:1235:17: ( UNHANDLED )? + alt278 = 2 + LA278_0 = self.input.LA(1) - if (LA270_0 == UNHANDLED) : - alt270 = 1 - if alt270 == 1: - # sdl92.g:1223:17: UNHANDLED + if (LA278_0 == UNHANDLED) : + alt278 = 1 + if alt278 == 1: + # sdl92.g:1235:17: UNHANDLED pass - UNHANDLED645 = self.match(self.input, UNHANDLED, self.FOLLOW_UNHANDLED_in_input_expression14286) + UNHANDLED653 = self.match(self.input, UNHANDLED, self.FOLLOW_UNHANDLED_in_input_expression14522) if self._state.backtracking == 0: - stream_UNHANDLED.add(UNHANDLED645) + stream_UNHANDLED.add(UNHANDLED653) - INPUT646 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_expression14289) + INPUT654 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_expression14525) if self._state.backtracking == 0: - stream_INPUT.add(INPUT646) + stream_INPUT.add(INPUT654) # AST Rewrite @@ -27516,14 +27499,14 @@ def input_expression(self, ): root_0 = self._adaptor.nil() - # 1224:17: -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) - # sdl92.g:1224:20: ^( INPUT_EXPRESSION ( UNHANDLED )? ) + # 1236:17: -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) + # sdl92.g:1236:20: ^( INPUT_EXPRESSION ( UNHANDLED )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(INPUT_EXPRESSION, "INPUT_EXPRESSION") , root_1) - # sdl92.g:1224:39: ( UNHANDLED )? + # sdl92.g:1236:39: ( UNHANDLED )? if stream_UNHANDLED.hasNext(): self._adaptor.addChild(root_1, stream_UNHANDLED.nextNode() @@ -27542,67 +27525,67 @@ def input_expression(self, ): - elif alt275 == 2: - # sdl92.g:1225:19: ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID + elif alt283 == 2: + # sdl92.g:1237:19: ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID pass - # sdl92.g:1225:19: ( UNHANDLED )? - alt271 = 2 - LA271_0 = self.input.LA(1) + # sdl92.g:1237:19: ( UNHANDLED )? + alt279 = 2 + LA279_0 = self.input.LA(1) - if (LA271_0 == UNHANDLED) : - alt271 = 1 - if alt271 == 1: - # sdl92.g:1225:19: UNHANDLED + if (LA279_0 == UNHANDLED) : + alt279 = 1 + if alt279 == 1: + # sdl92.g:1237:19: UNHANDLED pass - UNHANDLED647 = self.match(self.input, UNHANDLED, self.FOLLOW_UNHANDLED_in_input_expression14334) + UNHANDLED655 = self.match(self.input, UNHANDLED, self.FOLLOW_UNHANDLED_in_input_expression14570) if self._state.backtracking == 0: - stream_UNHANDLED.add(UNHANDLED647) + stream_UNHANDLED.add(UNHANDLED655) - INPUT648 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_expression14337) + INPUT656 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_expression14573) if self._state.backtracking == 0: - stream_INPUT.add(INPUT648) + stream_INPUT.add(INPUT656) - # sdl92.g:1225:36: (msg= ID ( '(' param= ID ')' )? )? - alt273 = 2 - LA273_0 = self.input.LA(1) + # sdl92.g:1237:36: (msg= ID ( '(' param= ID ')' )? )? + alt281 = 2 + LA281_0 = self.input.LA(1) - if (LA273_0 == ID) : - alt273 = 1 - if alt273 == 1: - # sdl92.g:1225:37: msg= ID ( '(' param= ID ')' )? + if (LA281_0 == ID) : + alt281 = 1 + if alt281 == 1: + # sdl92.g:1237:37: msg= ID ( '(' param= ID ')' )? pass - msg = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14342) + msg = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14578) if self._state.backtracking == 0: stream_ID.add(msg) - # sdl92.g:1225:44: ( '(' param= ID ')' )? - alt272 = 2 - LA272_0 = self.input.LA(1) + # sdl92.g:1237:44: ( '(' param= ID ')' )? + alt280 = 2 + LA280_0 = self.input.LA(1) - if (LA272_0 == L_PAREN) : - alt272 = 1 - if alt272 == 1: - # sdl92.g:1225:45: '(' param= ID ')' + if (LA280_0 == L_PAREN) : + alt280 = 1 + if alt280 == 1: + # sdl92.g:1237:45: '(' param= ID ')' pass - char_literal649 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_expression14345) + char_literal657 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_expression14581) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal649) + stream_L_PAREN.add(char_literal657) - param = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14349) + param = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14585) if self._state.backtracking == 0: stream_ID.add(param) - char_literal650 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_expression14351) + char_literal658 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_expression14587) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal650) + stream_R_PAREN.add(char_literal658) @@ -27611,21 +27594,21 @@ def input_expression(self, ): - # sdl92.g:1225:67: ( FROM src= ID )? - alt274 = 2 - LA274_0 = self.input.LA(1) + # sdl92.g:1237:67: ( FROM src= ID )? + alt282 = 2 + LA282_0 = self.input.LA(1) - if (LA274_0 == FROM) : - alt274 = 1 - if alt274 == 1: - # sdl92.g:1225:68: FROM src= ID + if (LA282_0 == FROM) : + alt282 = 1 + if alt282 == 1: + # sdl92.g:1237:68: FROM src= ID pass - FROM651 = self.match(self.input, FROM, self.FOLLOW_FROM_in_input_expression14359) + FROM659 = self.match(self.input, FROM, self.FOLLOW_FROM_in_input_expression14595) if self._state.backtracking == 0: - stream_FROM.add(FROM651) + stream_FROM.add(FROM659) - src = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14363) + src = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14599) if self._state.backtracking == 0: stream_ID.add(src) @@ -27633,12 +27616,12 @@ def input_expression(self, ): - TO652 = self.match(self.input, TO, self.FOLLOW_TO_in_input_expression14367) + TO660 = self.match(self.input, TO, self.FOLLOW_TO_in_input_expression14603) if self._state.backtracking == 0: - stream_TO.add(TO652) + stream_TO.add(TO660) - dest = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14371) + dest = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14607) if self._state.backtracking == 0: stream_ID.add(dest) @@ -27663,14 +27646,14 @@ def input_expression(self, ): root_0 = self._adaptor.nil() - # 1226:17: -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) - # sdl92.g:1226:20: ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) + # 1238:17: -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) + # sdl92.g:1238:20: ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(INPUT_EXPRESSION, "INPUT_EXPRESSION") , root_1) - # sdl92.g:1226:39: ( UNHANDLED )? + # sdl92.g:1238:39: ( UNHANDLED )? if stream_UNHANDLED.hasNext(): self._adaptor.addChild(root_1, stream_UNHANDLED.nextNode() @@ -27679,16 +27662,16 @@ def input_expression(self, ): stream_UNHANDLED.reset(); - # sdl92.g:1226:51: ( $msg)? + # sdl92.g:1238:51: ( $msg)? if stream_msg.hasNext(): self._adaptor.addChild(root_1, stream_msg.nextNode()) stream_msg.reset(); - # sdl92.g:1226:56: ( ^( IOPARAM $param) )? + # sdl92.g:1238:56: ( ^( IOPARAM $param) )? if stream_param.hasNext(): - # sdl92.g:1226:56: ^( IOPARAM $param) + # sdl92.g:1238:56: ^( IOPARAM $param) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( self._adaptor.createFromType(IOPARAM, "IOPARAM") @@ -27701,9 +27684,9 @@ def input_expression(self, ): stream_param.reset(); - # sdl92.g:1226:75: ( ^( FROM $src) )? + # sdl92.g:1238:75: ( ^( FROM $src) )? if stream_FROM.hasNext() or stream_src.hasNext(): - # sdl92.g:1226:75: ^( FROM $src) + # sdl92.g:1238:75: ^( FROM $src) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( stream_FROM.nextNode() @@ -27717,7 +27700,7 @@ def input_expression(self, ): stream_FROM.reset(); stream_src.reset(); - # sdl92.g:1226:89: ^( TO $dest) + # sdl92.g:1238:89: ^( TO $dest) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( stream_TO.nextNode() @@ -27769,7 +27752,7 @@ def __init__(self): # $ANTLR start "output_expression" - # sdl92.g:1230:1: output_expression : ( OUTPUT -> ^( OUTPUT_EXPRESSION ) | OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) ); + # sdl92.g:1242:1: output_expression : ( OUTPUT -> ^( OUTPUT_EXPRESSION ) | OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) ); def output_expression(self, ): retval = self.output_expression_return() retval.start = self.input.LT(1) @@ -27781,23 +27764,23 @@ def output_expression(self, ): param = None src = None dest = None - OUTPUT653 = None - OUTPUT654 = None - char_literal655 = None - char_literal656 = None - FROM657 = None - TO658 = None + OUTPUT661 = None + OUTPUT662 = None + char_literal663 = None + char_literal664 = None + FROM665 = None + TO666 = None msg_tree = None param_tree = None src_tree = None dest_tree = None - OUTPUT653_tree = None - OUTPUT654_tree = None - char_literal655_tree = None - char_literal656_tree = None - FROM657_tree = None - TO658_tree = None + OUTPUT661_tree = None + OUTPUT662_tree = None + char_literal663_tree = None + char_literal664_tree = None + FROM665_tree = None + TO666_tree = None stream_OUTPUT = RewriteRuleTokenStream(self._adaptor, "token OUTPUT") stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") @@ -27807,85 +27790,85 @@ def output_expression(self, ): try: try: - # sdl92.g:1231:9: ( OUTPUT -> ^( OUTPUT_EXPRESSION ) | OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) ) - alt279 = 2 - LA279_0 = self.input.LA(1) + # sdl92.g:1243:9: ( OUTPUT -> ^( OUTPUT_EXPRESSION ) | OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) ) + alt287 = 2 + LA287_0 = self.input.LA(1) - if (LA279_0 == OUTPUT) : - LA279 = self.input.LA(2) - if LA279 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 246, 251, 252, 253}: - alt279 = 1 - elif LA279 in {ID}: - LA279 = self.input.LA(3) - if LA279 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 246, 252, 253}: - alt279 = 1 - elif LA279 in {L_PAREN}: - LA279_5 = self.input.LA(4) - - if (LA279_5 == ID) : - LA279_6 = self.input.LA(5) - - if (LA279_6 == R_PAREN) : - LA279_7 = self.input.LA(6) - - if (LA279_7 == FROM) : - alt279 = 2 - elif (LA279_7 in {ASSIG_OP, DOT, L_PAREN, 246}) : - alt279 = 1 + if (LA287_0 == OUTPUT) : + LA287 = self.input.LA(2) + if LA287 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: + alt287 = 1 + elif LA287 in {ID}: + LA287 = self.input.LA(3) + if LA287 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: + alt287 = 1 + elif LA287 in {L_PAREN}: + LA287_5 = self.input.LA(4) + + if (LA287_5 == ID) : + LA287_6 = self.input.LA(5) + + if (LA287_6 == R_PAREN) : + LA287_7 = self.input.LA(6) + + if (LA287_7 == FROM) : + alt287 = 2 + elif (LA287_7 in {ASSIG_OP, DOT, L_PAREN, 248}) : + alt287 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 279, 7, self.input) + nvae = NoViableAltException("", 287, 7, self.input) raise nvae - elif (LA279_6 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 246, 253}) : - alt279 = 1 + elif (LA287_6 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : + alt287 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 279, 6, self.input) + nvae = NoViableAltException("", 287, 6, self.input) raise nvae - elif (LA279_5 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : - alt279 = 1 + elif (LA287_5 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : + alt287 = 1 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 279, 5, self.input) + nvae = NoViableAltException("", 287, 5, self.input) raise nvae - elif LA279 in {FROM}: - alt279 = 2 + elif LA287 in {FROM}: + alt287 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 279, 3, self.input) + nvae = NoViableAltException("", 287, 3, self.input) raise nvae - elif LA279 in {FROM}: - alt279 = 2 + elif LA287 in {FROM}: + alt287 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 279, 1, self.input) + nvae = NoViableAltException("", 287, 1, self.input) raise nvae @@ -27895,17 +27878,17 @@ def output_expression(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 279, 0, self.input) + nvae = NoViableAltException("", 287, 0, self.input) raise nvae - if alt279 == 1: - # sdl92.g:1231:17: OUTPUT + if alt287 == 1: + # sdl92.g:1243:17: OUTPUT pass - OUTPUT653 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output_expression14455) + OUTPUT661 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output_expression14691) if self._state.backtracking == 0: - stream_OUTPUT.add(OUTPUT653) + stream_OUTPUT.add(OUTPUT661) # AST Rewrite @@ -27924,8 +27907,8 @@ def output_expression(self, ): root_0 = self._adaptor.nil() - # 1232:17: -> ^( OUTPUT_EXPRESSION ) - # sdl92.g:1232:20: ^( OUTPUT_EXPRESSION ) + # 1244:17: -> ^( OUTPUT_EXPRESSION ) + # sdl92.g:1244:20: ^( OUTPUT_EXPRESSION ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(OUTPUT_EXPRESSION, "OUTPUT_EXPRESSION") @@ -27941,50 +27924,50 @@ def output_expression(self, ): - elif alt279 == 2: - # sdl92.g:1233:19: OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? + elif alt287 == 2: + # sdl92.g:1245:19: OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? pass - OUTPUT654 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output_expression14497) + OUTPUT662 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output_expression14733) if self._state.backtracking == 0: - stream_OUTPUT.add(OUTPUT654) + stream_OUTPUT.add(OUTPUT662) - # sdl92.g:1233:26: (msg= ID ( '(' param= ID ')' )? )? - alt277 = 2 - LA277_0 = self.input.LA(1) + # sdl92.g:1245:26: (msg= ID ( '(' param= ID ')' )? )? + alt285 = 2 + LA285_0 = self.input.LA(1) - if (LA277_0 == ID) : - alt277 = 1 - if alt277 == 1: - # sdl92.g:1233:27: msg= ID ( '(' param= ID ')' )? + if (LA285_0 == ID) : + alt285 = 1 + if alt285 == 1: + # sdl92.g:1245:27: msg= ID ( '(' param= ID ')' )? pass - msg = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14502) + msg = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14738) if self._state.backtracking == 0: stream_ID.add(msg) - # sdl92.g:1233:34: ( '(' param= ID ')' )? - alt276 = 2 - LA276_0 = self.input.LA(1) + # sdl92.g:1245:34: ( '(' param= ID ')' )? + alt284 = 2 + LA284_0 = self.input.LA(1) - if (LA276_0 == L_PAREN) : - alt276 = 1 - if alt276 == 1: - # sdl92.g:1233:35: '(' param= ID ')' + if (LA284_0 == L_PAREN) : + alt284 = 1 + if alt284 == 1: + # sdl92.g:1245:35: '(' param= ID ')' pass - char_literal655 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_output_expression14505) + char_literal663 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_output_expression14741) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal655) + stream_L_PAREN.add(char_literal663) - param = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14509) + param = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14745) if self._state.backtracking == 0: stream_ID.add(param) - char_literal656 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_output_expression14511) + char_literal664 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_output_expression14747) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal656) + stream_R_PAREN.add(char_literal664) @@ -27993,15 +27976,15 @@ def output_expression(self, ): - # sdl92.g:1233:57: ( FROM src= ID ) - # sdl92.g:1233:58: FROM src= ID + # sdl92.g:1245:57: ( FROM src= ID ) + # sdl92.g:1245:58: FROM src= ID pass - FROM657 = self.match(self.input, FROM, self.FOLLOW_FROM_in_output_expression14519) + FROM665 = self.match(self.input, FROM, self.FOLLOW_FROM_in_output_expression14755) if self._state.backtracking == 0: - stream_FROM.add(FROM657) + stream_FROM.add(FROM665) - src = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14523) + src = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14759) if self._state.backtracking == 0: stream_ID.add(src) @@ -28009,21 +27992,21 @@ def output_expression(self, ): - # sdl92.g:1233:71: ( TO dest= ID )? - alt278 = 2 - LA278_0 = self.input.LA(1) + # sdl92.g:1245:71: ( TO dest= ID )? + alt286 = 2 + LA286_0 = self.input.LA(1) - if (LA278_0 == TO) : - alt278 = 1 - if alt278 == 1: - # sdl92.g:1233:72: TO dest= ID + if (LA286_0 == TO) : + alt286 = 1 + if alt286 == 1: + # sdl92.g:1245:72: TO dest= ID pass - TO658 = self.match(self.input, TO, self.FOLLOW_TO_in_output_expression14527) + TO666 = self.match(self.input, TO, self.FOLLOW_TO_in_output_expression14763) if self._state.backtracking == 0: - stream_TO.add(TO658) + stream_TO.add(TO666) - dest = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14531) + dest = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14767) if self._state.backtracking == 0: stream_ID.add(dest) @@ -28051,23 +28034,23 @@ def output_expression(self, ): root_0 = self._adaptor.nil() - # 1234:17: -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) - # sdl92.g:1234:20: ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) + # 1246:17: -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) + # sdl92.g:1246:20: ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(OUTPUT_EXPRESSION, "OUTPUT_EXPRESSION") , root_1) - # sdl92.g:1234:41: ( $msg)? + # sdl92.g:1246:41: ( $msg)? if stream_msg.hasNext(): self._adaptor.addChild(root_1, stream_msg.nextNode()) stream_msg.reset(); - # sdl92.g:1234:46: ( ^( IOPARAM $param) )? + # sdl92.g:1246:46: ( ^( IOPARAM $param) )? if stream_param.hasNext(): - # sdl92.g:1234:46: ^( IOPARAM $param) + # sdl92.g:1246:46: ^( IOPARAM $param) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( self._adaptor.createFromType(IOPARAM, "IOPARAM") @@ -28080,7 +28063,7 @@ def output_expression(self, ): stream_param.reset(); - # sdl92.g:1234:65: ^( FROM $src) + # sdl92.g:1246:65: ^( FROM $src) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( stream_FROM.nextNode() @@ -28090,9 +28073,9 @@ def output_expression(self, ): self._adaptor.addChild(root_1, root_2) - # sdl92.g:1234:78: ( ^( TO $dest) )? + # sdl92.g:1246:78: ( ^( TO $dest) )? if stream_TO.hasNext() or stream_dest.hasNext(): - # sdl92.g:1234:78: ^( TO $dest) + # sdl92.g:1246:78: ^( TO $dest) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( stream_TO.nextNode() @@ -28148,7 +28131,7 @@ def __init__(self): # $ANTLR start "primary_expression" - # sdl92.g:1237:1: primary_expression : ( primary -> ^( PRIMARY primary ) | '(' expression ')' -> ^( PAREN expression ) | conditional_expression ); + # sdl92.g:1249:1: primary_expression : ( primary -> ^( PRIMARY primary ) | '(' expression ')' -> ^( PAREN expression ) | conditional_expression ); def primary_expression(self, ): retval = self.primary_expression_return() retval.start = self.input.LT(1) @@ -28156,48 +28139,48 @@ def primary_expression(self, ): root_0 = None - char_literal660 = None - char_literal662 = None - primary659 = None - expression661 = None - conditional_expression663 = None + char_literal668 = None + char_literal670 = None + primary667 = None + expression669 = None + conditional_expression671 = None - char_literal660_tree = None - char_literal662_tree = None + char_literal668_tree = None + char_literal670_tree = None stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_primary = RewriteRuleSubtreeStream(self._adaptor, "rule primary") try: try: - # sdl92.g:1238:9: ( primary -> ^( PRIMARY primary ) | '(' expression ')' -> ^( PAREN expression ) | conditional_expression ) - alt280 = 3 - LA280 = self.input.LA(1) - if LA280 in {FALSE, FLOAT, ID, INT, L_BRACKET, MINUS_INFINITY, MKSTRING, PLUS_INFINITY, STATE, STRING, TRUE}: - alt280 = 1 - elif LA280 in {L_PAREN}: - alt280 = 2 - elif LA280 in {IF}: - alt280 = 3 + # sdl92.g:1250:9: ( primary -> ^( PRIMARY primary ) | '(' expression ')' -> ^( PAREN expression ) | conditional_expression ) + alt288 = 3 + LA288 = self.input.LA(1) + if LA288 in {FALSE, FLOAT, ID, INT, L_BRACKET, MINUS_INFINITY, MKSTRING, PLUS_INFINITY, STATE, STRING, TRUE}: + alt288 = 1 + elif LA288 in {L_PAREN}: + alt288 = 2 + elif LA288 in {IF}: + alt288 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 280, 0, self.input) + nvae = NoViableAltException("", 288, 0, self.input) raise nvae - if alt280 == 1: - # sdl92.g:1238:17: primary + if alt288 == 1: + # sdl92.g:1250:17: primary pass - self._state.following.append(self.FOLLOW_primary_in_primary_expression14613) - primary659 = self.primary() + self._state.following.append(self.FOLLOW_primary_in_primary_expression14849) + primary667 = self.primary() self._state.following.pop() if self._state.backtracking == 0: - stream_primary.add(primary659.tree) + stream_primary.add(primary667.tree) # AST Rewrite @@ -28216,8 +28199,8 @@ def primary_expression(self, ): root_0 = self._adaptor.nil() - # 1238:47: -> ^( PRIMARY primary ) - # sdl92.g:1238:50: ^( PRIMARY primary ) + # 1250:47: -> ^( PRIMARY primary ) + # sdl92.g:1250:50: ^( PRIMARY primary ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PRIMARY, "PRIMARY") @@ -28235,25 +28218,25 @@ def primary_expression(self, ): - elif alt280 == 2: - # sdl92.g:1239:17: '(' expression ')' + elif alt288 == 2: + # sdl92.g:1251:17: '(' expression ')' pass - char_literal660 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_primary_expression14661) + char_literal668 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_primary_expression14897) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal660) + stream_L_PAREN.add(char_literal668) - self._state.following.append(self.FOLLOW_expression_in_primary_expression14663) - expression661 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_primary_expression14899) + expression669 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression661.tree) + stream_expression.add(expression669.tree) - char_literal662 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_primary_expression14665) + char_literal670 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_primary_expression14901) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal662) + stream_R_PAREN.add(char_literal670) # AST Rewrite @@ -28272,8 +28255,8 @@ def primary_expression(self, ): root_0 = self._adaptor.nil() - # 1239:47: -> ^( PAREN expression ) - # sdl92.g:1239:50: ^( PAREN expression ) + # 1251:47: -> ^( PAREN expression ) + # sdl92.g:1251:50: ^( PAREN expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(PAREN, "PAREN") @@ -28291,18 +28274,18 @@ def primary_expression(self, ): - elif alt280 == 3: - # sdl92.g:1240:17: conditional_expression + elif alt288 == 3: + # sdl92.g:1252:17: conditional_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_conditional_expression_in_primary_expression14702) - conditional_expression663 = self.conditional_expression() + self._state.following.append(self.FOLLOW_conditional_expression_in_primary_expression14938) + conditional_expression671 = self.conditional_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, conditional_expression663.tree) + self._adaptor.addChild(root_0, conditional_expression671.tree) @@ -28338,7 +28321,7 @@ def __init__(self): # $ANTLR start "primary" - # sdl92.g:1247:1: primary : ( TRUE ^| FALSE ^| STRING | PLUS_INFINITY ^| MINUS_INFINITY ^| INT ^| FLOAT ^| ID ':' expression -> ^( CHOICE ID expression ) | ID -> ^( VARIABLE ID ) | '{' '}' -> ^( EMPTYSTR ) | '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' -> ^( FLOAT2 $mant $bas $exp) | '{' named_value ( COMMA named_value )* '}' -> ^( SEQUENCE ( named_value )+ ) | '{' expression ( COMMA expression )* '}' -> ^( SEQOF ( expression )+ ) | MKSTRING '(' expression ( COMMA expression )* ')' -> ^( SEQOF ( expression )+ ) | STATE ^); + # sdl92.g:1259:1: primary : ( TRUE ^| FALSE ^| STRING | PLUS_INFINITY ^| MINUS_INFINITY ^| INT ^| FLOAT ^| ID ':' expression -> ^( CHOICE ID expression ) | ID -> ^( VARIABLE ID ) | '{' '}' -> ^( EMPTYSTR ) | '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' -> ^( FLOAT2 $mant $bas $exp) | '{' named_value ( COMMA named_value )* '}' -> ^( SEQUENCE ( named_value )+ ) | '{' expression ( COMMA expression )* '}' -> ^( SEQOF ( expression )+ ) | MKSTRING '(' expression ( COMMA expression )* ')' -> ^( SEQOF ( expression )+ ) | STATE ^); def primary(self, ): retval = self.primary_return() retval.start = self.input.LT(1) @@ -28349,79 +28332,79 @@ def primary(self, ): mant = None bas = None exp = None - TRUE664 = None - FALSE665 = None - STRING666 = None - PLUS_INFINITY667 = None - MINUS_INFINITY668 = None - INT669 = None - FLOAT670 = None - ID671 = None - char_literal672 = None - ID674 = None - char_literal675 = None - char_literal676 = None - char_literal677 = None - MANTISSA678 = None - COMMA679 = None - BASE680 = None - COMMA681 = None - EXPONENT682 = None + TRUE672 = None + FALSE673 = None + STRING674 = None + PLUS_INFINITY675 = None + MINUS_INFINITY676 = None + INT677 = None + FLOAT678 = None + ID679 = None + char_literal680 = None + ID682 = None char_literal683 = None char_literal684 = None - COMMA686 = None - char_literal688 = None - char_literal689 = None - COMMA691 = None - char_literal693 = None - MKSTRING694 = None - char_literal695 = None - COMMA697 = None - char_literal699 = None - STATE700 = None - expression673 = None - named_value685 = None - named_value687 = None - expression690 = None - expression692 = None - expression696 = None + char_literal685 = None + MANTISSA686 = None + COMMA687 = None + BASE688 = None + COMMA689 = None + EXPONENT690 = None + char_literal691 = None + char_literal692 = None + COMMA694 = None + char_literal696 = None + char_literal697 = None + COMMA699 = None + char_literal701 = None + MKSTRING702 = None + char_literal703 = None + COMMA705 = None + char_literal707 = None + STATE708 = None + expression681 = None + named_value693 = None + named_value695 = None expression698 = None + expression700 = None + expression704 = None + expression706 = None mant_tree = None bas_tree = None exp_tree = None - TRUE664_tree = None - FALSE665_tree = None - STRING666_tree = None - PLUS_INFINITY667_tree = None - MINUS_INFINITY668_tree = None - INT669_tree = None - FLOAT670_tree = None - ID671_tree = None - char_literal672_tree = None - ID674_tree = None - char_literal675_tree = None - char_literal676_tree = None - char_literal677_tree = None - MANTISSA678_tree = None - COMMA679_tree = None - BASE680_tree = None - COMMA681_tree = None - EXPONENT682_tree = None + TRUE672_tree = None + FALSE673_tree = None + STRING674_tree = None + PLUS_INFINITY675_tree = None + MINUS_INFINITY676_tree = None + INT677_tree = None + FLOAT678_tree = None + ID679_tree = None + char_literal680_tree = None + ID682_tree = None char_literal683_tree = None char_literal684_tree = None - COMMA686_tree = None - char_literal688_tree = None - char_literal689_tree = None - COMMA691_tree = None - char_literal693_tree = None - MKSTRING694_tree = None - char_literal695_tree = None - COMMA697_tree = None - char_literal699_tree = None - STATE700_tree = None - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + char_literal685_tree = None + MANTISSA686_tree = None + COMMA687_tree = None + BASE688_tree = None + COMMA689_tree = None + EXPONENT690_tree = None + char_literal691_tree = None + char_literal692_tree = None + COMMA694_tree = None + char_literal696_tree = None + char_literal697_tree = None + COMMA699_tree = None + char_literal701_tree = None + MKSTRING702_tree = None + char_literal703_tree = None + COMMA705_tree = None + char_literal707_tree = None + STATE708_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_L_BRACKET = RewriteRuleTokenStream(self._adaptor, "token L_BRACKET") stream_MANTISSA = RewriteRuleTokenStream(self._adaptor, "token MANTISSA") stream_EXPONENT = RewriteRuleTokenStream(self._adaptor, "token EXPONENT") @@ -28436,192 +28419,192 @@ def primary(self, ): stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1248:9: ( TRUE ^| FALSE ^| STRING | PLUS_INFINITY ^| MINUS_INFINITY ^| INT ^| FLOAT ^| ID ':' expression -> ^( CHOICE ID expression ) | ID -> ^( VARIABLE ID ) | '{' '}' -> ^( EMPTYSTR ) | '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' -> ^( FLOAT2 $mant $bas $exp) | '{' named_value ( COMMA named_value )* '}' -> ^( SEQUENCE ( named_value )+ ) | '{' expression ( COMMA expression )* '}' -> ^( SEQOF ( expression )+ ) | MKSTRING '(' expression ( COMMA expression )* ')' -> ^( SEQOF ( expression )+ ) | STATE ^) - alt284 = 15 - LA284 = self.input.LA(1) - if LA284 in {TRUE}: - alt284 = 1 - elif LA284 in {FALSE}: - alt284 = 2 - elif LA284 in {STRING}: - alt284 = 3 - elif LA284 in {PLUS_INFINITY}: - alt284 = 4 - elif LA284 in {MINUS_INFINITY}: - alt284 = 5 - elif LA284 in {INT}: - alt284 = 6 - elif LA284 in {FLOAT}: - alt284 = 7 - elif LA284 in {ID}: - LA284_8 = self.input.LA(2) - - if (self.synpred354_sdl92()) : - alt284 = 8 - elif (self.synpred355_sdl92()) : - alt284 = 9 + # sdl92.g:1260:9: ( TRUE ^| FALSE ^| STRING | PLUS_INFINITY ^| MINUS_INFINITY ^| INT ^| FLOAT ^| ID ':' expression -> ^( CHOICE ID expression ) | ID -> ^( VARIABLE ID ) | '{' '}' -> ^( EMPTYSTR ) | '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' -> ^( FLOAT2 $mant $bas $exp) | '{' named_value ( COMMA named_value )* '}' -> ^( SEQUENCE ( named_value )+ ) | '{' expression ( COMMA expression )* '}' -> ^( SEQOF ( expression )+ ) | MKSTRING '(' expression ( COMMA expression )* ')' -> ^( SEQOF ( expression )+ ) | STATE ^) + alt292 = 15 + LA292 = self.input.LA(1) + if LA292 in {TRUE}: + alt292 = 1 + elif LA292 in {FALSE}: + alt292 = 2 + elif LA292 in {STRING}: + alt292 = 3 + elif LA292 in {PLUS_INFINITY}: + alt292 = 4 + elif LA292 in {MINUS_INFINITY}: + alt292 = 5 + elif LA292 in {INT}: + alt292 = 6 + elif LA292 in {FLOAT}: + alt292 = 7 + elif LA292 in {ID}: + LA292_8 = self.input.LA(2) + + if (self.synpred362_sdl92()) : + alt292 = 8 + elif (self.synpred363_sdl92()) : + alt292 = 9 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 284, 8, self.input) + nvae = NoViableAltException("", 292, 8, self.input) raise nvae - elif LA284 in {L_BRACKET}: - LA284_9 = self.input.LA(2) + elif LA292 in {L_BRACKET}: + LA292_9 = self.input.LA(2) - if (self.synpred356_sdl92()) : - alt284 = 10 - elif (self.synpred357_sdl92()) : - alt284 = 11 - elif (self.synpred359_sdl92()) : - alt284 = 12 - elif (self.synpred361_sdl92()) : - alt284 = 13 + if (self.synpred364_sdl92()) : + alt292 = 10 + elif (self.synpred365_sdl92()) : + alt292 = 11 + elif (self.synpred367_sdl92()) : + alt292 = 12 + elif (self.synpred369_sdl92()) : + alt292 = 13 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 284, 9, self.input) + nvae = NoViableAltException("", 292, 9, self.input) raise nvae - elif LA284 in {MKSTRING}: - alt284 = 14 - elif LA284 in {STATE}: - alt284 = 15 + elif LA292 in {MKSTRING}: + alt292 = 14 + elif LA292 in {STATE}: + alt292 = 15 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 284, 0, self.input) + nvae = NoViableAltException("", 292, 0, self.input) raise nvae - if alt284 == 1: - # sdl92.g:1248:17: TRUE ^ + if alt292 == 1: + # sdl92.g:1260:17: TRUE ^ pass root_0 = self._adaptor.nil() - TRUE664 = self.match(self.input, TRUE, self.FOLLOW_TRUE_in_primary14737) + TRUE672 = self.match(self.input, TRUE, self.FOLLOW_TRUE_in_primary14973) if self._state.backtracking == 0: - TRUE664_tree = self._adaptor.createWithPayload(TRUE664) - root_0 = self._adaptor.becomeRoot(TRUE664_tree, root_0) + TRUE672_tree = self._adaptor.createWithPayload(TRUE672) + root_0 = self._adaptor.becomeRoot(TRUE672_tree, root_0) - elif alt284 == 2: - # sdl92.g:1249:17: FALSE ^ + elif alt292 == 2: + # sdl92.g:1261:17: FALSE ^ pass root_0 = self._adaptor.nil() - FALSE665 = self.match(self.input, FALSE, self.FOLLOW_FALSE_in_primary14756) + FALSE673 = self.match(self.input, FALSE, self.FOLLOW_FALSE_in_primary14992) if self._state.backtracking == 0: - FALSE665_tree = self._adaptor.createWithPayload(FALSE665) - root_0 = self._adaptor.becomeRoot(FALSE665_tree, root_0) + FALSE673_tree = self._adaptor.createWithPayload(FALSE673) + root_0 = self._adaptor.becomeRoot(FALSE673_tree, root_0) - elif alt284 == 3: - # sdl92.g:1250:17: STRING + elif alt292 == 3: + # sdl92.g:1262:17: STRING pass root_0 = self._adaptor.nil() - STRING666 = self.match(self.input, STRING, self.FOLLOW_STRING_in_primary14775) + STRING674 = self.match(self.input, STRING, self.FOLLOW_STRING_in_primary15011) if self._state.backtracking == 0: - STRING666_tree = self._adaptor.createWithPayload(STRING666) - self._adaptor.addChild(root_0, STRING666_tree) + STRING674_tree = self._adaptor.createWithPayload(STRING674) + self._adaptor.addChild(root_0, STRING674_tree) - elif alt284 == 4: - # sdl92.g:1251:17: PLUS_INFINITY ^ + elif alt292 == 4: + # sdl92.g:1263:17: PLUS_INFINITY ^ pass root_0 = self._adaptor.nil() - PLUS_INFINITY667 = self.match(self.input, PLUS_INFINITY, self.FOLLOW_PLUS_INFINITY_in_primary14793) + PLUS_INFINITY675 = self.match(self.input, PLUS_INFINITY, self.FOLLOW_PLUS_INFINITY_in_primary15029) if self._state.backtracking == 0: - PLUS_INFINITY667_tree = self._adaptor.createWithPayload(PLUS_INFINITY667) - root_0 = self._adaptor.becomeRoot(PLUS_INFINITY667_tree, root_0) + PLUS_INFINITY675_tree = self._adaptor.createWithPayload(PLUS_INFINITY675) + root_0 = self._adaptor.becomeRoot(PLUS_INFINITY675_tree, root_0) - elif alt284 == 5: - # sdl92.g:1252:17: MINUS_INFINITY ^ + elif alt292 == 5: + # sdl92.g:1264:17: MINUS_INFINITY ^ pass root_0 = self._adaptor.nil() - MINUS_INFINITY668 = self.match(self.input, MINUS_INFINITY, self.FOLLOW_MINUS_INFINITY_in_primary14812) + MINUS_INFINITY676 = self.match(self.input, MINUS_INFINITY, self.FOLLOW_MINUS_INFINITY_in_primary15048) if self._state.backtracking == 0: - MINUS_INFINITY668_tree = self._adaptor.createWithPayload(MINUS_INFINITY668) - root_0 = self._adaptor.becomeRoot(MINUS_INFINITY668_tree, root_0) + MINUS_INFINITY676_tree = self._adaptor.createWithPayload(MINUS_INFINITY676) + root_0 = self._adaptor.becomeRoot(MINUS_INFINITY676_tree, root_0) - elif alt284 == 6: - # sdl92.g:1253:17: INT ^ + elif alt292 == 6: + # sdl92.g:1265:17: INT ^ pass root_0 = self._adaptor.nil() - INT669 = self.match(self.input, INT, self.FOLLOW_INT_in_primary14831) + INT677 = self.match(self.input, INT, self.FOLLOW_INT_in_primary15067) if self._state.backtracking == 0: - INT669_tree = self._adaptor.createWithPayload(INT669) - root_0 = self._adaptor.becomeRoot(INT669_tree, root_0) + INT677_tree = self._adaptor.createWithPayload(INT677) + root_0 = self._adaptor.becomeRoot(INT677_tree, root_0) - elif alt284 == 7: - # sdl92.g:1254:17: FLOAT ^ + elif alt292 == 7: + # sdl92.g:1266:17: FLOAT ^ pass root_0 = self._adaptor.nil() - FLOAT670 = self.match(self.input, FLOAT, self.FOLLOW_FLOAT_in_primary14850) + FLOAT678 = self.match(self.input, FLOAT, self.FOLLOW_FLOAT_in_primary15086) if self._state.backtracking == 0: - FLOAT670_tree = self._adaptor.createWithPayload(FLOAT670) - root_0 = self._adaptor.becomeRoot(FLOAT670_tree, root_0) + FLOAT678_tree = self._adaptor.createWithPayload(FLOAT678) + root_0 = self._adaptor.becomeRoot(FLOAT678_tree, root_0) - elif alt284 == 8: - # sdl92.g:1255:17: ID ':' expression + elif alt292 == 8: + # sdl92.g:1267:17: ID ':' expression pass - ID671 = self.match(self.input, ID, self.FOLLOW_ID_in_primary14869) + ID679 = self.match(self.input, ID, self.FOLLOW_ID_in_primary15105) if self._state.backtracking == 0: - stream_ID.add(ID671) + stream_ID.add(ID679) - char_literal672 = self.match(self.input, 253, self.FOLLOW_253_in_primary14871) + char_literal680 = self.match(self.input, 255, self.FOLLOW_255_in_primary15107) if self._state.backtracking == 0: - stream_253.add(char_literal672) + stream_255.add(char_literal680) - self._state.following.append(self.FOLLOW_expression_in_primary14873) - expression673 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_primary15109) + expression681 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression673.tree) + stream_expression.add(expression681.tree) # AST Rewrite @@ -28640,8 +28623,8 @@ def primary(self, ): root_0 = self._adaptor.nil() - # 1255:45: -> ^( CHOICE ID expression ) - # sdl92.g:1255:48: ^( CHOICE ID expression ) + # 1267:45: -> ^( CHOICE ID expression ) + # sdl92.g:1267:48: ^( CHOICE ID expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(CHOICE, "CHOICE") @@ -28663,12 +28646,12 @@ def primary(self, ): - elif alt284 == 9: - # sdl92.g:1256:17: ID + elif alt292 == 9: + # sdl92.g:1268:17: ID pass - ID674 = self.match(self.input, ID, self.FOLLOW_ID_in_primary14911) + ID682 = self.match(self.input, ID, self.FOLLOW_ID_in_primary15147) if self._state.backtracking == 0: - stream_ID.add(ID674) + stream_ID.add(ID682) # AST Rewrite @@ -28687,8 +28670,8 @@ def primary(self, ): root_0 = self._adaptor.nil() - # 1256:45: -> ^( VARIABLE ID ) - # sdl92.g:1256:48: ^( VARIABLE ID ) + # 1268:45: -> ^( VARIABLE ID ) + # sdl92.g:1268:48: ^( VARIABLE ID ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(VARIABLE, "VARIABLE") @@ -28708,17 +28691,17 @@ def primary(self, ): - elif alt284 == 10: - # sdl92.g:1257:17: '{' '}' + elif alt292 == 10: + # sdl92.g:1269:17: '{' '}' pass - char_literal675 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary14962) + char_literal683 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15198) if self._state.backtracking == 0: - stream_L_BRACKET.add(char_literal675) + stream_L_BRACKET.add(char_literal683) - char_literal676 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary14964) + char_literal684 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15200) if self._state.backtracking == 0: - stream_R_BRACKET.add(char_literal676) + stream_R_BRACKET.add(char_literal684) # AST Rewrite @@ -28737,8 +28720,8 @@ def primary(self, ): root_0 = self._adaptor.nil() - # 1257:45: -> ^( EMPTYSTR ) - # sdl92.g:1257:48: ^( EMPTYSTR ) + # 1269:45: -> ^( EMPTYSTR ) + # sdl92.g:1269:48: ^( EMPTYSTR ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(EMPTYSTR, "EMPTYSTR") @@ -28754,57 +28737,57 @@ def primary(self, ): - elif alt284 == 11: - # sdl92.g:1258:17: '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' + elif alt292 == 11: + # sdl92.g:1270:17: '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' pass - char_literal677 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15008) + char_literal685 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15244) if self._state.backtracking == 0: - stream_L_BRACKET.add(char_literal677) + stream_L_BRACKET.add(char_literal685) - MANTISSA678 = self.match(self.input, MANTISSA, self.FOLLOW_MANTISSA_in_primary15026) + MANTISSA686 = self.match(self.input, MANTISSA, self.FOLLOW_MANTISSA_in_primary15262) if self._state.backtracking == 0: - stream_MANTISSA.add(MANTISSA678) + stream_MANTISSA.add(MANTISSA686) - mant = self.match(self.input, INT, self.FOLLOW_INT_in_primary15030) + mant = self.match(self.input, INT, self.FOLLOW_INT_in_primary15266) if self._state.backtracking == 0: stream_INT.add(mant) - COMMA679 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15032) + COMMA687 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15268) if self._state.backtracking == 0: - stream_COMMA.add(COMMA679) + stream_COMMA.add(COMMA687) - BASE680 = self.match(self.input, BASE, self.FOLLOW_BASE_in_primary15050) + BASE688 = self.match(self.input, BASE, self.FOLLOW_BASE_in_primary15286) if self._state.backtracking == 0: - stream_BASE.add(BASE680) + stream_BASE.add(BASE688) - bas = self.match(self.input, INT, self.FOLLOW_INT_in_primary15054) + bas = self.match(self.input, INT, self.FOLLOW_INT_in_primary15290) if self._state.backtracking == 0: stream_INT.add(bas) - COMMA681 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15056) + COMMA689 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15292) if self._state.backtracking == 0: - stream_COMMA.add(COMMA681) + stream_COMMA.add(COMMA689) - EXPONENT682 = self.match(self.input, EXPONENT, self.FOLLOW_EXPONENT_in_primary15074) + EXPONENT690 = self.match(self.input, EXPONENT, self.FOLLOW_EXPONENT_in_primary15310) if self._state.backtracking == 0: - stream_EXPONENT.add(EXPONENT682) + stream_EXPONENT.add(EXPONENT690) - exp = self.match(self.input, INT, self.FOLLOW_INT_in_primary15078) + exp = self.match(self.input, INT, self.FOLLOW_INT_in_primary15314) if self._state.backtracking == 0: stream_INT.add(exp) - char_literal683 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15096) + char_literal691 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15332) if self._state.backtracking == 0: - stream_R_BRACKET.add(char_literal683) + stream_R_BRACKET.add(char_literal691) # AST Rewrite @@ -28826,8 +28809,8 @@ def primary(self, ): root_0 = self._adaptor.nil() - # 1262:45: -> ^( FLOAT2 $mant $bas $exp) - # sdl92.g:1262:48: ^( FLOAT2 $mant $bas $exp) + # 1274:45: -> ^( FLOAT2 $mant $bas $exp) + # sdl92.g:1274:48: ^( FLOAT2 $mant $bas $exp) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(FLOAT2, "FLOAT2") @@ -28849,55 +28832,55 @@ def primary(self, ): - elif alt284 == 12: - # sdl92.g:1263:17: '{' named_value ( COMMA named_value )* '}' + elif alt292 == 12: + # sdl92.g:1275:17: '{' named_value ( COMMA named_value )* '}' pass - char_literal684 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15153) + char_literal692 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15389) if self._state.backtracking == 0: - stream_L_BRACKET.add(char_literal684) + stream_L_BRACKET.add(char_literal692) - self._state.following.append(self.FOLLOW_named_value_in_primary15171) - named_value685 = self.named_value() + self._state.following.append(self.FOLLOW_named_value_in_primary15407) + named_value693 = self.named_value() self._state.following.pop() if self._state.backtracking == 0: - stream_named_value.add(named_value685.tree) + stream_named_value.add(named_value693.tree) - # sdl92.g:1264:29: ( COMMA named_value )* - while True: #loop281 - alt281 = 2 - LA281_0 = self.input.LA(1) + # sdl92.g:1276:29: ( COMMA named_value )* + while True: #loop289 + alt289 = 2 + LA289_0 = self.input.LA(1) - if (LA281_0 == COMMA) : - alt281 = 1 + if (LA289_0 == COMMA) : + alt289 = 1 - if alt281 == 1: - # sdl92.g:1264:30: COMMA named_value + if alt289 == 1: + # sdl92.g:1276:30: COMMA named_value pass - COMMA686 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15174) + COMMA694 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15410) if self._state.backtracking == 0: - stream_COMMA.add(COMMA686) + stream_COMMA.add(COMMA694) - self._state.following.append(self.FOLLOW_named_value_in_primary15176) - named_value687 = self.named_value() + self._state.following.append(self.FOLLOW_named_value_in_primary15412) + named_value695 = self.named_value() self._state.following.pop() if self._state.backtracking == 0: - stream_named_value.add(named_value687.tree) + stream_named_value.add(named_value695.tree) else: - break #loop281 + break #loop289 - char_literal688 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15196) + char_literal696 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15432) if self._state.backtracking == 0: - stream_R_BRACKET.add(char_literal688) + stream_R_BRACKET.add(char_literal696) # AST Rewrite @@ -28916,14 +28899,14 @@ def primary(self, ): root_0 = self._adaptor.nil() - # 1265:45: -> ^( SEQUENCE ( named_value )+ ) - # sdl92.g:1265:48: ^( SEQUENCE ( named_value )+ ) + # 1277:45: -> ^( SEQUENCE ( named_value )+ ) + # sdl92.g:1277:48: ^( SEQUENCE ( named_value )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SEQUENCE, "SEQUENCE") , root_1) - # sdl92.g:1265:59: ( named_value )+ + # sdl92.g:1277:59: ( named_value )+ if not (stream_named_value.hasNext()): raise RewriteEarlyExitException() @@ -28943,55 +28926,55 @@ def primary(self, ): - elif alt284 == 13: - # sdl92.g:1266:17: '{' expression ( COMMA expression )* '}' + elif alt292 == 13: + # sdl92.g:1278:17: '{' expression ( COMMA expression )* '}' pass - char_literal689 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15247) + char_literal697 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15483) if self._state.backtracking == 0: - stream_L_BRACKET.add(char_literal689) + stream_L_BRACKET.add(char_literal697) - self._state.following.append(self.FOLLOW_expression_in_primary15265) - expression690 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_primary15501) + expression698 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression690.tree) + stream_expression.add(expression698.tree) - # sdl92.g:1267:28: ( COMMA expression )* - while True: #loop282 - alt282 = 2 - LA282_0 = self.input.LA(1) + # sdl92.g:1279:28: ( COMMA expression )* + while True: #loop290 + alt290 = 2 + LA290_0 = self.input.LA(1) - if (LA282_0 == COMMA) : - alt282 = 1 + if (LA290_0 == COMMA) : + alt290 = 1 - if alt282 == 1: - # sdl92.g:1267:29: COMMA expression + if alt290 == 1: + # sdl92.g:1279:29: COMMA expression pass - COMMA691 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15268) + COMMA699 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15504) if self._state.backtracking == 0: - stream_COMMA.add(COMMA691) + stream_COMMA.add(COMMA699) - self._state.following.append(self.FOLLOW_expression_in_primary15270) - expression692 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_primary15506) + expression700 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression692.tree) + stream_expression.add(expression700.tree) else: - break #loop282 + break #loop290 - char_literal693 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15290) + char_literal701 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15526) if self._state.backtracking == 0: - stream_R_BRACKET.add(char_literal693) + stream_R_BRACKET.add(char_literal701) # AST Rewrite @@ -29010,14 +28993,14 @@ def primary(self, ): root_0 = self._adaptor.nil() - # 1268:45: -> ^( SEQOF ( expression )+ ) - # sdl92.g:1268:48: ^( SEQOF ( expression )+ ) + # 1280:45: -> ^( SEQOF ( expression )+ ) + # sdl92.g:1280:48: ^( SEQOF ( expression )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SEQOF, "SEQOF") , root_1) - # sdl92.g:1268:56: ( expression )+ + # sdl92.g:1280:56: ( expression )+ if not (stream_expression.hasNext()): raise RewriteEarlyExitException() @@ -29037,60 +29020,60 @@ def primary(self, ): - elif alt284 == 14: - # sdl92.g:1269:17: MKSTRING '(' expression ( COMMA expression )* ')' + elif alt292 == 14: + # sdl92.g:1281:17: MKSTRING '(' expression ( COMMA expression )* ')' pass - MKSTRING694 = self.match(self.input, MKSTRING, self.FOLLOW_MKSTRING_in_primary15341) + MKSTRING702 = self.match(self.input, MKSTRING, self.FOLLOW_MKSTRING_in_primary15577) if self._state.backtracking == 0: - stream_MKSTRING.add(MKSTRING694) + stream_MKSTRING.add(MKSTRING702) - char_literal695 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_primary15343) + char_literal703 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_primary15579) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal695) + stream_L_PAREN.add(char_literal703) - self._state.following.append(self.FOLLOW_expression_in_primary15345) - expression696 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_primary15581) + expression704 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression696.tree) + stream_expression.add(expression704.tree) - # sdl92.g:1269:41: ( COMMA expression )* - while True: #loop283 - alt283 = 2 - LA283_0 = self.input.LA(1) + # sdl92.g:1281:41: ( COMMA expression )* + while True: #loop291 + alt291 = 2 + LA291_0 = self.input.LA(1) - if (LA283_0 == COMMA) : - alt283 = 1 + if (LA291_0 == COMMA) : + alt291 = 1 - if alt283 == 1: - # sdl92.g:1269:42: COMMA expression + if alt291 == 1: + # sdl92.g:1281:42: COMMA expression pass - COMMA697 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15348) + COMMA705 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15584) if self._state.backtracking == 0: - stream_COMMA.add(COMMA697) + stream_COMMA.add(COMMA705) - self._state.following.append(self.FOLLOW_expression_in_primary15350) - expression698 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_primary15586) + expression706 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression698.tree) + stream_expression.add(expression706.tree) else: - break #loop283 + break #loop291 - char_literal699 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_primary15354) + char_literal707 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_primary15590) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal699) + stream_R_PAREN.add(char_literal707) # AST Rewrite @@ -29109,14 +29092,14 @@ def primary(self, ): root_0 = self._adaptor.nil() - # 1270:45: -> ^( SEQOF ( expression )+ ) - # sdl92.g:1270:48: ^( SEQOF ( expression )+ ) + # 1282:45: -> ^( SEQOF ( expression )+ ) + # sdl92.g:1282:48: ^( SEQOF ( expression )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SEQOF, "SEQOF") , root_1) - # sdl92.g:1270:56: ( expression )+ + # sdl92.g:1282:56: ( expression )+ if not (stream_expression.hasNext()): raise RewriteEarlyExitException() @@ -29136,16 +29119,16 @@ def primary(self, ): - elif alt284 == 15: - # sdl92.g:1271:17: STATE ^ + elif alt292 == 15: + # sdl92.g:1283:17: STATE ^ pass root_0 = self._adaptor.nil() - STATE700 = self.match(self.input, STATE, self.FOLLOW_STATE_in_primary15425) + STATE708 = self.match(self.input, STATE, self.FOLLOW_STATE_in_primary15661) if self._state.backtracking == 0: - STATE700_tree = self._adaptor.createWithPayload(STATE700) - root_0 = self._adaptor.becomeRoot(STATE700_tree, root_0) + STATE708_tree = self._adaptor.createWithPayload(STATE708) + root_0 = self._adaptor.becomeRoot(STATE708_tree, root_0) @@ -29182,7 +29165,7 @@ def __init__(self): # $ANTLR start "informal_text" - # sdl92.g:1275:1: informal_text : STRING -> ^( INFORMAL_TEXT STRING ) ; + # sdl92.g:1287:1: informal_text : STRING -> ^( INFORMAL_TEXT STRING ) ; def informal_text(self, ): retval = self.informal_text_return() retval.start = self.input.LT(1) @@ -29190,19 +29173,19 @@ def informal_text(self, ): root_0 = None - STRING701 = None + STRING709 = None - STRING701_tree = None + STRING709_tree = None stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") try: try: - # sdl92.g:1276:9: ( STRING -> ^( INFORMAL_TEXT STRING ) ) - # sdl92.g:1276:18: STRING + # sdl92.g:1288:9: ( STRING -> ^( INFORMAL_TEXT STRING ) ) + # sdl92.g:1288:18: STRING pass - STRING701 = self.match(self.input, STRING, self.FOLLOW_STRING_in_informal_text15459) + STRING709 = self.match(self.input, STRING, self.FOLLOW_STRING_in_informal_text15695) if self._state.backtracking == 0: - stream_STRING.add(STRING701) + stream_STRING.add(STRING709) # AST Rewrite @@ -29221,8 +29204,8 @@ def informal_text(self, ): root_0 = self._adaptor.nil() - # 1277:9: -> ^( INFORMAL_TEXT STRING ) - # sdl92.g:1277:18: ^( INFORMAL_TEXT STRING ) + # 1289:9: -> ^( INFORMAL_TEXT STRING ) + # sdl92.g:1289:18: ^( INFORMAL_TEXT STRING ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(INFORMAL_TEXT, "INFORMAL_TEXT") @@ -29275,7 +29258,7 @@ def __init__(self): # $ANTLR start "named_value" - # sdl92.g:1282:1: named_value : ID expression ; + # sdl92.g:1294:1: named_value : ID expression ; def named_value(self, ): retval = self.named_value_return() retval.start = self.input.LT(1) @@ -29283,32 +29266,32 @@ def named_value(self, ): root_0 = None - ID702 = None - expression703 = None + ID710 = None + expression711 = None - ID702_tree = None + ID710_tree = None try: try: - # sdl92.g:1283:9: ( ID expression ) - # sdl92.g:1283:17: ID expression + # sdl92.g:1295:9: ( ID expression ) + # sdl92.g:1295:17: ID expression pass root_0 = self._adaptor.nil() - ID702 = self.match(self.input, ID, self.FOLLOW_ID_in_named_value15514) + ID710 = self.match(self.input, ID, self.FOLLOW_ID_in_named_value15750) if self._state.backtracking == 0: - ID702_tree = self._adaptor.createWithPayload(ID702) - self._adaptor.addChild(root_0, ID702_tree) + ID710_tree = self._adaptor.createWithPayload(ID710) + self._adaptor.addChild(root_0, ID710_tree) - self._state.following.append(self.FOLLOW_expression_in_named_value15516) - expression703 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_named_value15752) + expression711 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, expression703.tree) + self._adaptor.addChild(root_0, expression711.tree) @@ -29345,7 +29328,7 @@ def __init__(self): # $ANTLR start "indexed_primary" - # sdl92.g:1306:1: indexed_primary : primary '(' expression_list ')' ; + # sdl92.g:1318:1: indexed_primary : primary '(' expression_list ')' ; def indexed_primary(self, ): retval = self.indexed_primary_return() retval.start = self.input.LT(1) @@ -29353,49 +29336,49 @@ def indexed_primary(self, ): root_0 = None - char_literal705 = None - char_literal707 = None - primary704 = None - expression_list706 = None + char_literal713 = None + char_literal715 = None + primary712 = None + expression_list714 = None - char_literal705_tree = None - char_literal707_tree = None + char_literal713_tree = None + char_literal715_tree = None try: try: - # sdl92.g:1307:9: ( primary '(' expression_list ')' ) - # sdl92.g:1307:17: primary '(' expression_list ')' + # sdl92.g:1319:9: ( primary '(' expression_list ')' ) + # sdl92.g:1319:17: primary '(' expression_list ')' pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_primary_in_indexed_primary15554) - primary704 = self.primary() + self._state.following.append(self.FOLLOW_primary_in_indexed_primary15790) + primary712 = self.primary() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, primary704.tree) + self._adaptor.addChild(root_0, primary712.tree) - char_literal705 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_indexed_primary15556) + char_literal713 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_indexed_primary15792) if self._state.backtracking == 0: - char_literal705_tree = self._adaptor.createWithPayload(char_literal705) - self._adaptor.addChild(root_0, char_literal705_tree) + char_literal713_tree = self._adaptor.createWithPayload(char_literal713) + self._adaptor.addChild(root_0, char_literal713_tree) - self._state.following.append(self.FOLLOW_expression_list_in_indexed_primary15558) - expression_list706 = self.expression_list() + self._state.following.append(self.FOLLOW_expression_list_in_indexed_primary15794) + expression_list714 = self.expression_list() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, expression_list706.tree) + self._adaptor.addChild(root_0, expression_list714.tree) - char_literal707 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_indexed_primary15560) + char_literal715 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_indexed_primary15796) if self._state.backtracking == 0: - char_literal707_tree = self._adaptor.createWithPayload(char_literal707) - self._adaptor.addChild(root_0, char_literal707_tree) + char_literal715_tree = self._adaptor.createWithPayload(char_literal715) + self._adaptor.addChild(root_0, char_literal715_tree) @@ -29433,7 +29416,7 @@ def __init__(self): # $ANTLR start "field_primary" - # sdl92.g:1311:1: field_primary : primary field_selection ; + # sdl92.g:1323:1: field_primary : primary field_selection ; def field_primary(self, ): retval = self.field_primary_return() retval.start = self.input.LT(1) @@ -29441,32 +29424,32 @@ def field_primary(self, ): root_0 = None - primary708 = None - field_selection709 = None + primary716 = None + field_selection717 = None try: try: - # sdl92.g:1312:9: ( primary field_selection ) - # sdl92.g:1312:17: primary field_selection + # sdl92.g:1324:9: ( primary field_selection ) + # sdl92.g:1324:17: primary field_selection pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_primary_in_field_primary15592) - primary708 = self.primary() + self._state.following.append(self.FOLLOW_primary_in_field_primary15828) + primary716 = self.primary() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, primary708.tree) + self._adaptor.addChild(root_0, primary716.tree) - self._state.following.append(self.FOLLOW_field_selection_in_field_primary15594) - field_selection709 = self.field_selection() + self._state.following.append(self.FOLLOW_field_selection_in_field_primary15830) + field_selection717 = self.field_selection() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, field_selection709.tree) + self._adaptor.addChild(root_0, field_selection717.tree) @@ -29503,7 +29486,7 @@ def __init__(self): # $ANTLR start "structure_primary" - # sdl92.g:1316:1: structure_primary : '(.' expression_list '.)' ; + # sdl92.g:1328:1: structure_primary : '(.' expression_list '.)' ; def structure_primary(self, ): retval = self.structure_primary_return() retval.start = self.input.LT(1) @@ -29511,40 +29494,40 @@ def structure_primary(self, ): root_0 = None - string_literal710 = None - string_literal712 = None - expression_list711 = None + string_literal718 = None + string_literal720 = None + expression_list719 = None - string_literal710_tree = None - string_literal712_tree = None + string_literal718_tree = None + string_literal720_tree = None try: try: - # sdl92.g:1317:9: ( '(.' expression_list '.)' ) - # sdl92.g:1317:17: '(.' expression_list '.)' + # sdl92.g:1329:9: ( '(.' expression_list '.)' ) + # sdl92.g:1329:17: '(.' expression_list '.)' pass root_0 = self._adaptor.nil() - string_literal710 = self.match(self.input, 247, self.FOLLOW_247_in_structure_primary15626) + string_literal718 = self.match(self.input, 249, self.FOLLOW_249_in_structure_primary15862) if self._state.backtracking == 0: - string_literal710_tree = self._adaptor.createWithPayload(string_literal710) - self._adaptor.addChild(root_0, string_literal710_tree) + string_literal718_tree = self._adaptor.createWithPayload(string_literal718) + self._adaptor.addChild(root_0, string_literal718_tree) - self._state.following.append(self.FOLLOW_expression_list_in_structure_primary15628) - expression_list711 = self.expression_list() + self._state.following.append(self.FOLLOW_expression_list_in_structure_primary15864) + expression_list719 = self.expression_list() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, expression_list711.tree) + self._adaptor.addChild(root_0, expression_list719.tree) - string_literal712 = self.match(self.input, 251, self.FOLLOW_251_in_structure_primary15630) + string_literal720 = self.match(self.input, 253, self.FOLLOW_253_in_structure_primary15866) if self._state.backtracking == 0: - string_literal712_tree = self._adaptor.createWithPayload(string_literal712) - self._adaptor.addChild(root_0, string_literal712_tree) + string_literal720_tree = self._adaptor.createWithPayload(string_literal720) + self._adaptor.addChild(root_0, string_literal720_tree) @@ -29582,7 +29565,7 @@ def __init__(self): # $ANTLR start "sort" - # sdl92.g:1359:1: sort : sort_id -> ^( SORT sort_id ) ; + # sdl92.g:1371:1: sort : sort_id -> ^( SORT sort_id ) ; def sort(self, ): retval = self.sort_return() retval.start = self.input.LT(1) @@ -29590,20 +29573,20 @@ def sort(self, ): root_0 = None - sort_id713 = None + sort_id721 = None stream_sort_id = RewriteRuleSubtreeStream(self._adaptor, "rule sort_id") try: try: - # sdl92.g:1359:9: ( sort_id -> ^( SORT sort_id ) ) - # sdl92.g:1359:17: sort_id + # sdl92.g:1371:9: ( sort_id -> ^( SORT sort_id ) ) + # sdl92.g:1371:17: sort_id pass - self._state.following.append(self.FOLLOW_sort_id_in_sort15661) - sort_id713 = self.sort_id() + self._state.following.append(self.FOLLOW_sort_id_in_sort15897) + sort_id721 = self.sort_id() self._state.following.pop() if self._state.backtracking == 0: - stream_sort_id.add(sort_id713.tree) + stream_sort_id.add(sort_id721.tree) # AST Rewrite @@ -29622,8 +29605,8 @@ def sort(self, ): root_0 = self._adaptor.nil() - # 1360:9: -> ^( SORT sort_id ) - # sdl92.g:1360:17: ^( SORT sort_id ) + # 1372:9: -> ^( SORT sort_id ) + # sdl92.g:1372:17: ^( SORT sort_id ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SORT, "SORT") @@ -29674,7 +29657,7 @@ def __init__(self): # $ANTLR start "type_inst" - # sdl92.g:1364:1: type_inst : type_id -> ^( TYPE_INSTANCE type_id ) ; + # sdl92.g:1376:1: type_inst : type_id -> ^( TYPE_INSTANCE type_id ) ; def type_inst(self, ): retval = self.type_inst_return() retval.start = self.input.LT(1) @@ -29682,20 +29665,20 @@ def type_inst(self, ): root_0 = None - type_id714 = None + type_id722 = None stream_type_id = RewriteRuleSubtreeStream(self._adaptor, "rule type_id") try: try: - # sdl92.g:1365:9: ( type_id -> ^( TYPE_INSTANCE type_id ) ) - # sdl92.g:1365:17: type_id + # sdl92.g:1377:9: ( type_id -> ^( TYPE_INSTANCE type_id ) ) + # sdl92.g:1377:17: type_id pass - self._state.following.append(self.FOLLOW_type_id_in_type_inst15714) - type_id714 = self.type_id() + self._state.following.append(self.FOLLOW_type_id_in_type_inst15950) + type_id722 = self.type_id() self._state.following.pop() if self._state.backtracking == 0: - stream_type_id.add(type_id714.tree) + stream_type_id.add(type_id722.tree) # AST Rewrite @@ -29714,8 +29697,8 @@ def type_inst(self, ): root_0 = self._adaptor.nil() - # 1366:9: -> ^( TYPE_INSTANCE type_id ) - # sdl92.g:1366:17: ^( TYPE_INSTANCE type_id ) + # 1378:9: -> ^( TYPE_INSTANCE type_id ) + # sdl92.g:1378:17: ^( TYPE_INSTANCE type_id ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TYPE_INSTANCE, "TYPE_INSTANCE") @@ -29766,7 +29749,7 @@ def __init__(self): # $ANTLR start "syntype" - # sdl92.g:1370:1: syntype : syntype_id ; + # sdl92.g:1382:1: syntype : syntype_id ; def syntype(self, ): retval = self.syntype_return() retval.start = self.input.LT(1) @@ -29774,23 +29757,23 @@ def syntype(self, ): root_0 = None - syntype_id715 = None + syntype_id723 = None try: try: - # sdl92.g:1370:9: ( syntype_id ) - # sdl92.g:1370:17: syntype_id + # sdl92.g:1382:9: ( syntype_id ) + # sdl92.g:1382:17: syntype_id pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_syntype_id_in_syntype15759) - syntype_id715 = self.syntype_id() + self._state.following.append(self.FOLLOW_syntype_id_in_syntype15995) + syntype_id723 = self.syntype_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, syntype_id715.tree) + self._adaptor.addChild(root_0, syntype_id723.tree) @@ -29827,7 +29810,7 @@ def __init__(self): # $ANTLR start "variable_access" - # sdl92.g:1384:1: variable_access : variable_id ; + # sdl92.g:1396:1: variable_access : variable_id ; def variable_access(self, ): retval = self.variable_access_return() retval.start = self.input.LT(1) @@ -29835,23 +29818,23 @@ def variable_access(self, ): root_0 = None - variable_id716 = None + variable_id724 = None try: try: - # sdl92.g:1385:9: ( variable_id ) - # sdl92.g:1385:17: variable_id + # sdl92.g:1397:9: ( variable_id ) + # sdl92.g:1397:17: variable_id pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_variable_id_in_variable_access15793) - variable_id716 = self.variable_id() + self._state.following.append(self.FOLLOW_variable_id_in_variable_access16029) + variable_id724 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, variable_id716.tree) + self._adaptor.addChild(root_0, variable_id724.tree) @@ -29888,7 +29871,7 @@ def __init__(self): # $ANTLR start "external_synonym" - # sdl92.g:1403:1: external_synonym : external_synonym_id ; + # sdl92.g:1415:1: external_synonym : external_synonym_id ; def external_synonym(self, ): retval = self.external_synonym_return() retval.start = self.input.LT(1) @@ -29896,23 +29879,23 @@ def external_synonym(self, ): root_0 = None - external_synonym_id717 = None + external_synonym_id725 = None try: try: - # sdl92.g:1404:9: ( external_synonym_id ) - # sdl92.g:1404:17: external_synonym_id + # sdl92.g:1416:9: ( external_synonym_id ) + # sdl92.g:1416:17: external_synonym_id pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_external_synonym_id_in_external_synonym15829) - external_synonym_id717 = self.external_synonym_id() + self._state.following.append(self.FOLLOW_external_synonym_id_in_external_synonym16065) + external_synonym_id725 = self.external_synonym_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, external_synonym_id717.tree) + self._adaptor.addChild(root_0, external_synonym_id725.tree) @@ -29949,7 +29932,7 @@ def __init__(self): # $ANTLR start "conditional_expression" - # sdl92.g:1408:1: conditional_expression : IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) ; + # sdl92.g:1420:1: conditional_expression : IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) ; def conditional_expression(self, ): retval = self.conditional_expression_return() retval.start = self.input.LT(1) @@ -29957,18 +29940,18 @@ def conditional_expression(self, ): root_0 = None - IF718 = None - THEN719 = None - ELSE720 = None - FI721 = None + IF726 = None + THEN727 = None + ELSE728 = None + FI729 = None ifexpr = None thenexpr = None elseexpr = None - IF718_tree = None - THEN719_tree = None - ELSE720_tree = None - FI721_tree = None + IF726_tree = None + THEN727_tree = None + ELSE728_tree = None + FI729_tree = None stream_FI = RewriteRuleTokenStream(self._adaptor, "token FI") stream_ELSE = RewriteRuleTokenStream(self._adaptor, "token ELSE") stream_THEN = RewriteRuleTokenStream(self._adaptor, "token THEN") @@ -29976,15 +29959,15 @@ def conditional_expression(self, ): stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1409:9: ( IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) ) - # sdl92.g:1409:17: IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI + # sdl92.g:1421:9: ( IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) ) + # sdl92.g:1421:17: IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI pass - IF718 = self.match(self.input, IF, self.FOLLOW_IF_in_conditional_expression15861) + IF726 = self.match(self.input, IF, self.FOLLOW_IF_in_conditional_expression16097) if self._state.backtracking == 0: - stream_IF.add(IF718) + stream_IF.add(IF726) - self._state.following.append(self.FOLLOW_expression_in_conditional_expression15865) + self._state.following.append(self.FOLLOW_expression_in_conditional_expression16101) ifexpr = self.expression() self._state.following.pop() @@ -29992,12 +29975,12 @@ def conditional_expression(self, ): stream_expression.add(ifexpr.tree) - THEN719 = self.match(self.input, THEN, self.FOLLOW_THEN_in_conditional_expression15883) + THEN727 = self.match(self.input, THEN, self.FOLLOW_THEN_in_conditional_expression16119) if self._state.backtracking == 0: - stream_THEN.add(THEN719) + stream_THEN.add(THEN727) - self._state.following.append(self.FOLLOW_expression_in_conditional_expression15887) + self._state.following.append(self.FOLLOW_expression_in_conditional_expression16123) thenexpr = self.expression() self._state.following.pop() @@ -30005,12 +29988,12 @@ def conditional_expression(self, ): stream_expression.add(thenexpr.tree) - ELSE720 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_conditional_expression15905) + ELSE728 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_conditional_expression16141) if self._state.backtracking == 0: - stream_ELSE.add(ELSE720) + stream_ELSE.add(ELSE728) - self._state.following.append(self.FOLLOW_expression_in_conditional_expression15909) + self._state.following.append(self.FOLLOW_expression_in_conditional_expression16145) elseexpr = self.expression() self._state.following.pop() @@ -30018,9 +30001,9 @@ def conditional_expression(self, ): stream_expression.add(elseexpr.tree) - FI721 = self.match(self.input, FI, self.FOLLOW_FI_in_conditional_expression15911) + FI729 = self.match(self.input, FI, self.FOLLOW_FI_in_conditional_expression16147) if self._state.backtracking == 0: - stream_FI.add(FI721) + stream_FI.add(FI729) # AST Rewrite @@ -30054,8 +30037,8 @@ def conditional_expression(self, ): root_0 = self._adaptor.nil() - # 1412:9: -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) - # sdl92.g:1412:17: ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) + # 1424:9: -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) + # sdl92.g:1424:17: ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(CONDITIONAL, "CONDITIONAL") @@ -30110,7 +30093,7 @@ def __init__(self): # $ANTLR start "expression_list" - # sdl92.g:1416:1: expression_list : expression ( ',' expression )* -> ( expression )+ ; + # sdl92.g:1428:1: expression_list : expression ( ',' expression )* -> ( expression )+ ; def expression_list(self, ): retval = self.expression_list_return() retval.start = self.input.LT(1) @@ -30118,54 +30101,54 @@ def expression_list(self, ): root_0 = None - char_literal723 = None - expression722 = None - expression724 = None + char_literal731 = None + expression730 = None + expression732 = None - char_literal723_tree = None + char_literal731_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1417:9: ( expression ( ',' expression )* -> ( expression )+ ) - # sdl92.g:1417:17: expression ( ',' expression )* + # sdl92.g:1429:9: ( expression ( ',' expression )* -> ( expression )+ ) + # sdl92.g:1429:17: expression ( ',' expression )* pass - self._state.following.append(self.FOLLOW_expression_in_expression_list15971) - expression722 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_expression_list16207) + expression730 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression722.tree) + stream_expression.add(expression730.tree) - # sdl92.g:1417:28: ( ',' expression )* - while True: #loop285 - alt285 = 2 - LA285_0 = self.input.LA(1) + # sdl92.g:1429:28: ( ',' expression )* + while True: #loop293 + alt293 = 2 + LA293_0 = self.input.LA(1) - if (LA285_0 == COMMA) : - alt285 = 1 + if (LA293_0 == COMMA) : + alt293 = 1 - if alt285 == 1: - # sdl92.g:1417:29: ',' expression + if alt293 == 1: + # sdl92.g:1429:29: ',' expression pass - char_literal723 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_expression_list15974) + char_literal731 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_expression_list16210) if self._state.backtracking == 0: - stream_COMMA.add(char_literal723) + stream_COMMA.add(char_literal731) - self._state.following.append(self.FOLLOW_expression_in_expression_list15976) - expression724 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_expression_list16212) + expression732 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression724.tree) + stream_expression.add(expression732.tree) else: - break #loop285 + break #loop293 # AST Rewrite @@ -30184,8 +30167,8 @@ def expression_list(self, ): root_0 = self._adaptor.nil() - # 1418:9: -> ( expression )+ - # sdl92.g:1418:17: ( expression )+ + # 1430:9: -> ( expression )+ + # sdl92.g:1430:17: ( expression )+ if not (stream_expression.hasNext()): raise RewriteEarlyExitException() @@ -30236,7 +30219,7 @@ def __init__(self): # $ANTLR start "terminator_statement" - # sdl92.g:1422:1: terminator_statement : ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) ; + # sdl92.g:1434:1: terminator_statement : ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) ; def terminator_statement(self, ): retval = self.terminator_statement_return() retval.start = self.input.LT(1) @@ -30244,14 +30227,14 @@ def terminator_statement(self, ): root_0 = None - label725 = None - cif726 = None - symbolid727 = None - hyperlink728 = None - requirement729 = None - rid730 = None - terminator731 = None - end732 = None + label733 = None + cif734 = None + symbolid735 = None + hyperlink736 = None + requirement737 = None + rid738 = None + terminator739 = None + end740 = None stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") @@ -30263,339 +30246,339 @@ def terminator_statement(self, ): stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") try: try: - # sdl92.g:1423:9: ( ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) ) - # sdl92.g:1423:17: ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end + # sdl92.g:1435:9: ( ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) ) + # sdl92.g:1435:17: ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end pass - # sdl92.g:1423:17: ( label )? - alt286 = 2 - LA286_0 = self.input.LA(1) + # sdl92.g:1435:17: ( label )? + alt294 = 2 + LA294_0 = self.input.LA(1) - if (LA286_0 == 252) : - LA286_1 = self.input.LA(2) + if (LA294_0 == 254) : + LA294_1 = self.input.LA(2) - if (LA286_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - LA286_4 = self.input.LA(3) + if (LA294_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + LA294_4 = self.input.LA(3) - if (LA286_4 == L_PAREN) : - LA286_6 = self.input.LA(4) + if (LA294_4 == L_PAREN) : + LA294_6 = self.input.LA(4) - if (LA286_6 == DASH) : - LA286_8 = self.input.LA(5) + if (LA294_6 == DASH) : + LA294_8 = self.input.LA(5) - if (LA286_8 == INT) : - LA286_9 = self.input.LA(6) + if (LA294_8 == INT) : + LA294_9 = self.input.LA(6) - if (LA286_9 == COMMA) : - LA286_11 = self.input.LA(7) + if (LA294_9 == COMMA) : + LA294_11 = self.input.LA(7) - if (LA286_11 == DASH) : - LA286_12 = self.input.LA(8) + if (LA294_11 == DASH) : + LA294_12 = self.input.LA(8) - if (LA286_12 == INT) : - LA286_13 = self.input.LA(9) + if (LA294_12 == INT) : + LA294_13 = self.input.LA(9) - if (LA286_13 == R_PAREN) : - LA286_14 = self.input.LA(10) + if (LA294_13 == R_PAREN) : + LA294_14 = self.input.LA(10) - if (LA286_14 == COMMA) : - LA286_15 = self.input.LA(11) + if (LA294_14 == COMMA) : + LA294_15 = self.input.LA(11) - if (LA286_15 == L_PAREN) : - LA286_16 = self.input.LA(12) + if (LA294_15 == L_PAREN) : + LA294_16 = self.input.LA(12) - if (LA286_16 == INT) : - LA286_17 = self.input.LA(13) + if (LA294_16 == INT) : + LA294_17 = self.input.LA(13) - if (LA286_17 == COMMA) : - LA286_18 = self.input.LA(14) + if (LA294_17 == COMMA) : + LA294_18 = self.input.LA(14) - if (LA286_18 == INT) : - LA286_19 = self.input.LA(15) + if (LA294_18 == INT) : + LA294_19 = self.input.LA(15) - if (LA286_19 == R_PAREN) : - LA286_20 = self.input.LA(16) + if (LA294_19 == R_PAREN) : + LA294_20 = self.input.LA(16) - if (LA286_20 == 248) : - LA286_21 = self.input.LA(17) + if (LA294_20 == 250) : + LA294_21 = self.input.LA(17) - if (LA286_21 == 252) : - LA286_22 = self.input.LA(18) + if (LA294_21 == 254) : + LA294_22 = self.input.LA(18) - if (LA286_22 == 254) : - LA286_5 = self.input.LA(19) + if (LA294_22 == 256) : + LA294_5 = self.input.LA(19) - if (LA286_5 == INT) : - LA286_7 = self.input.LA(20) + if (LA294_5 == INT) : + LA294_7 = self.input.LA(20) - if (LA286_7 == 248) : - LA286_10 = self.input.LA(21) + if (LA294_7 == 250) : + LA294_10 = self.input.LA(21) - if (LA286_10 == ID) : - alt286 = 1 - elif (LA286_21 == ID) : - alt286 = 1 - elif (LA286_11 == INT) : - LA286_13 = self.input.LA(8) + if (LA294_10 == ID) : + alt294 = 1 + elif (LA294_21 == ID) : + alt294 = 1 + elif (LA294_11 == INT) : + LA294_13 = self.input.LA(8) - if (LA286_13 == R_PAREN) : - LA286_14 = self.input.LA(9) + if (LA294_13 == R_PAREN) : + LA294_14 = self.input.LA(9) - if (LA286_14 == COMMA) : - LA286_15 = self.input.LA(10) + if (LA294_14 == COMMA) : + LA294_15 = self.input.LA(10) - if (LA286_15 == L_PAREN) : - LA286_16 = self.input.LA(11) + if (LA294_15 == L_PAREN) : + LA294_16 = self.input.LA(11) - if (LA286_16 == INT) : - LA286_17 = self.input.LA(12) + if (LA294_16 == INT) : + LA294_17 = self.input.LA(12) - if (LA286_17 == COMMA) : - LA286_18 = self.input.LA(13) + if (LA294_17 == COMMA) : + LA294_18 = self.input.LA(13) - if (LA286_18 == INT) : - LA286_19 = self.input.LA(14) + if (LA294_18 == INT) : + LA294_19 = self.input.LA(14) - if (LA286_19 == R_PAREN) : - LA286_20 = self.input.LA(15) + if (LA294_19 == R_PAREN) : + LA294_20 = self.input.LA(15) - if (LA286_20 == 248) : - LA286_21 = self.input.LA(16) + if (LA294_20 == 250) : + LA294_21 = self.input.LA(16) - if (LA286_21 == 252) : - LA286_22 = self.input.LA(17) + if (LA294_21 == 254) : + LA294_22 = self.input.LA(17) - if (LA286_22 == 254) : - LA286_5 = self.input.LA(18) + if (LA294_22 == 256) : + LA294_5 = self.input.LA(18) - if (LA286_5 == INT) : - LA286_7 = self.input.LA(19) + if (LA294_5 == INT) : + LA294_7 = self.input.LA(19) - if (LA286_7 == 248) : - LA286_10 = self.input.LA(20) + if (LA294_7 == 250) : + LA294_10 = self.input.LA(20) - if (LA286_10 == ID) : - alt286 = 1 - elif (LA286_21 == ID) : - alt286 = 1 - elif (LA286_6 == INT) : - LA286_9 = self.input.LA(5) + if (LA294_10 == ID) : + alt294 = 1 + elif (LA294_21 == ID) : + alt294 = 1 + elif (LA294_6 == INT) : + LA294_9 = self.input.LA(5) - if (LA286_9 == COMMA) : - LA286_11 = self.input.LA(6) + if (LA294_9 == COMMA) : + LA294_11 = self.input.LA(6) - if (LA286_11 == DASH) : - LA286_12 = self.input.LA(7) + if (LA294_11 == DASH) : + LA294_12 = self.input.LA(7) - if (LA286_12 == INT) : - LA286_13 = self.input.LA(8) + if (LA294_12 == INT) : + LA294_13 = self.input.LA(8) - if (LA286_13 == R_PAREN) : - LA286_14 = self.input.LA(9) + if (LA294_13 == R_PAREN) : + LA294_14 = self.input.LA(9) - if (LA286_14 == COMMA) : - LA286_15 = self.input.LA(10) + if (LA294_14 == COMMA) : + LA294_15 = self.input.LA(10) - if (LA286_15 == L_PAREN) : - LA286_16 = self.input.LA(11) + if (LA294_15 == L_PAREN) : + LA294_16 = self.input.LA(11) - if (LA286_16 == INT) : - LA286_17 = self.input.LA(12) + if (LA294_16 == INT) : + LA294_17 = self.input.LA(12) - if (LA286_17 == COMMA) : - LA286_18 = self.input.LA(13) + if (LA294_17 == COMMA) : + LA294_18 = self.input.LA(13) - if (LA286_18 == INT) : - LA286_19 = self.input.LA(14) + if (LA294_18 == INT) : + LA294_19 = self.input.LA(14) - if (LA286_19 == R_PAREN) : - LA286_20 = self.input.LA(15) + if (LA294_19 == R_PAREN) : + LA294_20 = self.input.LA(15) - if (LA286_20 == 248) : - LA286_21 = self.input.LA(16) + if (LA294_20 == 250) : + LA294_21 = self.input.LA(16) - if (LA286_21 == 252) : - LA286_22 = self.input.LA(17) + if (LA294_21 == 254) : + LA294_22 = self.input.LA(17) - if (LA286_22 == 254) : - LA286_5 = self.input.LA(18) + if (LA294_22 == 256) : + LA294_5 = self.input.LA(18) - if (LA286_5 == INT) : - LA286_7 = self.input.LA(19) + if (LA294_5 == INT) : + LA294_7 = self.input.LA(19) - if (LA286_7 == 248) : - LA286_10 = self.input.LA(20) + if (LA294_7 == 250) : + LA294_10 = self.input.LA(20) - if (LA286_10 == ID) : - alt286 = 1 - elif (LA286_21 == ID) : - alt286 = 1 - elif (LA286_11 == INT) : - LA286_13 = self.input.LA(7) + if (LA294_10 == ID) : + alt294 = 1 + elif (LA294_21 == ID) : + alt294 = 1 + elif (LA294_11 == INT) : + LA294_13 = self.input.LA(7) - if (LA286_13 == R_PAREN) : - LA286_14 = self.input.LA(8) + if (LA294_13 == R_PAREN) : + LA294_14 = self.input.LA(8) - if (LA286_14 == COMMA) : - LA286_15 = self.input.LA(9) + if (LA294_14 == COMMA) : + LA294_15 = self.input.LA(9) - if (LA286_15 == L_PAREN) : - LA286_16 = self.input.LA(10) + if (LA294_15 == L_PAREN) : + LA294_16 = self.input.LA(10) - if (LA286_16 == INT) : - LA286_17 = self.input.LA(11) + if (LA294_16 == INT) : + LA294_17 = self.input.LA(11) - if (LA286_17 == COMMA) : - LA286_18 = self.input.LA(12) + if (LA294_17 == COMMA) : + LA294_18 = self.input.LA(12) - if (LA286_18 == INT) : - LA286_19 = self.input.LA(13) + if (LA294_18 == INT) : + LA294_19 = self.input.LA(13) - if (LA286_19 == R_PAREN) : - LA286_20 = self.input.LA(14) + if (LA294_19 == R_PAREN) : + LA294_20 = self.input.LA(14) - if (LA286_20 == 248) : - LA286_21 = self.input.LA(15) + if (LA294_20 == 250) : + LA294_21 = self.input.LA(15) - if (LA286_21 == 252) : - LA286_22 = self.input.LA(16) + if (LA294_21 == 254) : + LA294_22 = self.input.LA(16) - if (LA286_22 == 254) : - LA286_5 = self.input.LA(17) + if (LA294_22 == 256) : + LA294_5 = self.input.LA(17) - if (LA286_5 == INT) : - LA286_7 = self.input.LA(18) + if (LA294_5 == INT) : + LA294_7 = self.input.LA(18) - if (LA286_7 == 248) : - LA286_10 = self.input.LA(19) + if (LA294_7 == 250) : + LA294_10 = self.input.LA(19) - if (LA286_10 == ID) : - alt286 = 1 - elif (LA286_21 == ID) : - alt286 = 1 - elif (LA286_1 == 254) : - LA286_5 = self.input.LA(3) + if (LA294_10 == ID) : + alt294 = 1 + elif (LA294_21 == ID) : + alt294 = 1 + elif (LA294_1 == 256) : + LA294_5 = self.input.LA(3) - if (LA286_5 == INT) : - LA286_7 = self.input.LA(4) + if (LA294_5 == INT) : + LA294_7 = self.input.LA(4) - if (LA286_7 == 248) : - LA286_10 = self.input.LA(5) + if (LA294_7 == 250) : + LA294_10 = self.input.LA(5) - if (LA286_10 == ID) : - alt286 = 1 - elif (LA286_0 == ID) : - alt286 = 1 - if alt286 == 1: - # sdl92.g:1423:17: label + if (LA294_10 == ID) : + alt294 = 1 + elif (LA294_0 == ID) : + alt294 = 1 + if alt294 == 1: + # sdl92.g:1435:17: label pass - self._state.following.append(self.FOLLOW_label_in_terminator_statement16028) - label725 = self.label() + self._state.following.append(self.FOLLOW_label_in_terminator_statement16264) + label733 = self.label() self._state.following.pop() if self._state.backtracking == 0: - stream_label.add(label725.tree) + stream_label.add(label733.tree) - # sdl92.g:1424:17: ( cif )? - alt287 = 2 - LA287_0 = self.input.LA(1) + # sdl92.g:1436:17: ( cif )? + alt295 = 2 + LA295_0 = self.input.LA(1) - if (LA287_0 == 252) : - LA287_1 = self.input.LA(2) + if (LA295_0 == 254) : + LA295_1 = self.input.LA(2) - if (LA287_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt287 = 1 - if alt287 == 1: - # sdl92.g:1424:17: cif + if (LA295_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt295 = 1 + if alt295 == 1: + # sdl92.g:1436:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_terminator_statement16047) - cif726 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_terminator_statement16283) + cif734 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif726.tree) + stream_cif.add(cif734.tree) - # sdl92.g:1425:17: ( symbolid )? - alt288 = 2 - LA288_0 = self.input.LA(1) + # sdl92.g:1437:17: ( symbolid )? + alt296 = 2 + LA296_0 = self.input.LA(1) - if (LA288_0 == 252) : - LA288_1 = self.input.LA(2) + if (LA296_0 == 254) : + LA296_1 = self.input.LA(2) - if (LA288_1 == 254) : - alt288 = 1 - if alt288 == 1: - # sdl92.g:1425:17: symbolid + if (LA296_1 == 256) : + alt296 = 1 + if alt296 == 1: + # sdl92.g:1437:17: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_terminator_statement16066) - symbolid727 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_terminator_statement16302) + symbolid735 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid727.tree) + stream_symbolid.add(symbolid735.tree) - # sdl92.g:1426:17: ( hyperlink )? - alt289 = 2 - LA289_0 = self.input.LA(1) + # sdl92.g:1438:17: ( hyperlink )? + alt297 = 2 + LA297_0 = self.input.LA(1) - if (LA289_0 == 252) : - LA289_1 = self.input.LA(2) + if (LA297_0 == 254) : + LA297_1 = self.input.LA(2) - if (LA289_1 == KEEP) : - LA289_3 = self.input.LA(3) + if (LA297_1 == KEEP) : + LA297_3 = self.input.LA(3) - if (LA289_3 == SPECIFIC) : - LA289_4 = self.input.LA(4) + if (LA297_3 == SPECIFIC) : + LA297_4 = self.input.LA(4) - if (LA289_4 == GEODE) : - LA289_5 = self.input.LA(5) + if (LA297_4 == GEODE) : + LA297_5 = self.input.LA(5) - if (LA289_5 == HYPERLINK) : - alt289 = 1 - if alt289 == 1: - # sdl92.g:1426:17: hyperlink + if (LA297_5 == HYPERLINK) : + alt297 = 1 + if alt297 == 1: + # sdl92.g:1438:17: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_terminator_statement16085) - hyperlink728 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_terminator_statement16321) + hyperlink736 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink728.tree) + stream_hyperlink.add(hyperlink736.tree) - # sdl92.g:1427:17: ( requirement )* - while True: #loop290 - alt290 = 2 - LA290_0 = self.input.LA(1) + # sdl92.g:1439:17: ( requirement )* + while True: #loop298 + alt298 = 2 + LA298_0 = self.input.LA(1) - if (LA290_0 == 252) : - LA290_1 = self.input.LA(2) + if (LA298_0 == 254) : + LA298_1 = self.input.LA(2) - if (LA290_1 == KEEP) : - LA290_3 = self.input.LA(3) + if (LA298_1 == KEEP) : + LA298_3 = self.input.LA(3) - if (LA290_3 == SPECIFIC) : - LA290_4 = self.input.LA(4) + if (LA298_3 == SPECIFIC) : + LA298_4 = self.input.LA(4) - if (LA290_4 == GEODE) : - LA290_5 = self.input.LA(5) + if (LA298_4 == GEODE) : + LA298_5 = self.input.LA(5) - if (LA290_5 == REQ_ID) : - alt290 = 1 + if (LA298_5 == REQ_ID) : + alt298 = 1 @@ -30606,61 +30589,61 @@ def terminator_statement(self, ): - if alt290 == 1: - # sdl92.g:1427:17: requirement + if alt298 == 1: + # sdl92.g:1439:17: requirement pass - self._state.following.append(self.FOLLOW_requirement_in_terminator_statement16104) - requirement729 = self.requirement() + self._state.following.append(self.FOLLOW_requirement_in_terminator_statement16340) + requirement737 = self.requirement() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement729.tree) + stream_requirement.add(requirement737.tree) else: - break #loop290 + break #loop298 - # sdl92.g:1428:17: ( rid )* - while True: #loop291 - alt291 = 2 - LA291_0 = self.input.LA(1) + # sdl92.g:1440:17: ( rid )* + while True: #loop299 + alt299 = 2 + LA299_0 = self.input.LA(1) - if (LA291_0 == 252) : - alt291 = 1 + if (LA299_0 == 254) : + alt299 = 1 - if alt291 == 1: - # sdl92.g:1428:17: rid + if alt299 == 1: + # sdl92.g:1440:17: rid pass - self._state.following.append(self.FOLLOW_rid_in_terminator_statement16123) - rid730 = self.rid() + self._state.following.append(self.FOLLOW_rid_in_terminator_statement16359) + rid738 = self.rid() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid730.tree) + stream_rid.add(rid738.tree) else: - break #loop291 + break #loop299 - self._state.following.append(self.FOLLOW_terminator_in_terminator_statement16142) - terminator731 = self.terminator() + self._state.following.append(self.FOLLOW_terminator_in_terminator_statement16378) + terminator739 = self.terminator() self._state.following.pop() if self._state.backtracking == 0: - stream_terminator.add(terminator731.tree) + stream_terminator.add(terminator739.tree) - self._state.following.append(self.FOLLOW_end_in_terminator_statement16160) - end732 = self.end() + self._state.following.append(self.FOLLOW_end_in_terminator_statement16396) + end740 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end732.tree) + stream_end.add(end740.tree) # AST Rewrite @@ -30679,56 +30662,56 @@ def terminator_statement(self, ): root_0 = self._adaptor.nil() - # 1431:9: -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) - # sdl92.g:1431:17: ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) + # 1443:9: -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) + # sdl92.g:1443:17: ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(TERMINATOR, "TERMINATOR") , root_1) - # sdl92.g:1431:30: ( label )? + # sdl92.g:1443:30: ( label )? if stream_label.hasNext(): self._adaptor.addChild(root_1, stream_label.nextTree()) stream_label.reset(); - # sdl92.g:1431:37: ( cif )? + # sdl92.g:1443:37: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:1431:42: ( symbolid )? + # sdl92.g:1443:42: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:1431:52: ( hyperlink )? + # sdl92.g:1443:52: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) stream_hyperlink.reset(); - # sdl92.g:1431:63: ( requirement )* + # sdl92.g:1443:63: ( requirement )* while stream_requirement.hasNext(): self._adaptor.addChild(root_1, stream_requirement.nextTree()) stream_requirement.reset(); - # sdl92.g:1431:76: ( rid )* + # sdl92.g:1443:76: ( rid )* while stream_rid.hasNext(): self._adaptor.addChild(root_1, stream_rid.nextTree()) stream_rid.reset(); - # sdl92.g:1431:81: ( end )? + # sdl92.g:1443:81: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -30780,7 +30763,7 @@ def __init__(self): # $ANTLR start "label" - # sdl92.g:1434:1: label : ( cif )? ( symbolid )? connector_name ':' -> ^( LABEL ( cif )? ( symbolid )? connector_name ) ; + # sdl92.g:1446:1: label : ( cif )? ( symbolid )? connector_name ':' -> ^( LABEL ( cif )? ( symbolid )? connector_name ) ; def label(self, ): retval = self.label_return() retval.start = self.input.LT(1) @@ -30788,75 +30771,75 @@ def label(self, ): root_0 = None - char_literal736 = None - cif733 = None - symbolid734 = None - connector_name735 = None + char_literal744 = None + cif741 = None + symbolid742 = None + connector_name743 = None - char_literal736_tree = None - stream_253 = RewriteRuleTokenStream(self._adaptor, "token 253") + char_literal744_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") stream_connector_name = RewriteRuleSubtreeStream(self._adaptor, "rule connector_name") try: try: - # sdl92.g:1435:9: ( ( cif )? ( symbolid )? connector_name ':' -> ^( LABEL ( cif )? ( symbolid )? connector_name ) ) - # sdl92.g:1435:17: ( cif )? ( symbolid )? connector_name ':' + # sdl92.g:1447:9: ( ( cif )? ( symbolid )? connector_name ':' -> ^( LABEL ( cif )? ( symbolid )? connector_name ) ) + # sdl92.g:1447:17: ( cif )? ( symbolid )? connector_name ':' pass - # sdl92.g:1435:17: ( cif )? - alt292 = 2 - LA292_0 = self.input.LA(1) + # sdl92.g:1447:17: ( cif )? + alt300 = 2 + LA300_0 = self.input.LA(1) - if (LA292_0 == 252) : - LA292_1 = self.input.LA(2) + if (LA300_0 == 254) : + LA300_1 = self.input.LA(2) - if (LA292_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt292 = 1 - if alt292 == 1: - # sdl92.g:1435:17: cif + if (LA300_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt300 = 1 + if alt300 == 1: + # sdl92.g:1447:17: cif pass - self._state.following.append(self.FOLLOW_cif_in_label16233) - cif733 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_label16469) + cif741 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif733.tree) + stream_cif.add(cif741.tree) - # sdl92.g:1435:22: ( symbolid )? - alt293 = 2 - LA293_0 = self.input.LA(1) + # sdl92.g:1447:22: ( symbolid )? + alt301 = 2 + LA301_0 = self.input.LA(1) - if (LA293_0 == 252) : - alt293 = 1 - if alt293 == 1: - # sdl92.g:1435:22: symbolid + if (LA301_0 == 254) : + alt301 = 1 + if alt301 == 1: + # sdl92.g:1447:22: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_label16236) - symbolid734 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_label16472) + symbolid742 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid734.tree) + stream_symbolid.add(symbolid742.tree) - self._state.following.append(self.FOLLOW_connector_name_in_label16239) - connector_name735 = self.connector_name() + self._state.following.append(self.FOLLOW_connector_name_in_label16475) + connector_name743 = self.connector_name() self._state.following.pop() if self._state.backtracking == 0: - stream_connector_name.add(connector_name735.tree) + stream_connector_name.add(connector_name743.tree) - char_literal736 = self.match(self.input, 253, self.FOLLOW_253_in_label16241) + char_literal744 = self.match(self.input, 255, self.FOLLOW_255_in_label16477) if self._state.backtracking == 0: - stream_253.add(char_literal736) + stream_255.add(char_literal744) # AST Rewrite @@ -30875,21 +30858,21 @@ def label(self, ): root_0 = self._adaptor.nil() - # 1436:9: -> ^( LABEL ( cif )? ( symbolid )? connector_name ) - # sdl92.g:1436:17: ^( LABEL ( cif )? ( symbolid )? connector_name ) + # 1448:9: -> ^( LABEL ( cif )? ( symbolid )? connector_name ) + # sdl92.g:1448:17: ^( LABEL ( cif )? ( symbolid )? connector_name ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(LABEL, "LABEL") , root_1) - # sdl92.g:1436:25: ( cif )? + # sdl92.g:1448:25: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:1436:30: ( symbolid )? + # sdl92.g:1448:30: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) @@ -30941,7 +30924,7 @@ def __init__(self): # $ANTLR start "terminator" - # sdl92.g:1440:1: terminator : ( nextstate | join | stop | return_stmt ); + # sdl92.g:1452:1: terminator : ( nextstate | join | stop | return_stmt ); def terminator(self, ): retval = self.terminator_return() retval.start = self.input.LT(1) @@ -30949,92 +30932,92 @@ def terminator(self, ): root_0 = None - nextstate737 = None - join738 = None - stop739 = None - return_stmt740 = None + nextstate745 = None + join746 = None + stop747 = None + return_stmt748 = None try: try: - # sdl92.g:1441:9: ( nextstate | join | stop | return_stmt ) - alt294 = 4 - LA294 = self.input.LA(1) - if LA294 in {NEXTSTATE}: - alt294 = 1 - elif LA294 in {JOIN}: - alt294 = 2 - elif LA294 in {STOP}: - alt294 = 3 - elif LA294 in {RETURN}: - alt294 = 4 + # sdl92.g:1453:9: ( nextstate | join | stop | return_stmt ) + alt302 = 4 + LA302 = self.input.LA(1) + if LA302 in {NEXTSTATE}: + alt302 = 1 + elif LA302 in {JOIN}: + alt302 = 2 + elif LA302 in {STOP}: + alt302 = 3 + elif LA302 in {RETURN}: + alt302 = 4 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 294, 0, self.input) + nvae = NoViableAltException("", 302, 0, self.input) raise nvae - if alt294 == 1: - # sdl92.g:1441:17: nextstate + if alt302 == 1: + # sdl92.g:1453:17: nextstate pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_nextstate_in_terminator16300) - nextstate737 = self.nextstate() + self._state.following.append(self.FOLLOW_nextstate_in_terminator16536) + nextstate745 = self.nextstate() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, nextstate737.tree) + self._adaptor.addChild(root_0, nextstate745.tree) - elif alt294 == 2: - # sdl92.g:1441:29: join + elif alt302 == 2: + # sdl92.g:1453:29: join pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_join_in_terminator16304) - join738 = self.join() + self._state.following.append(self.FOLLOW_join_in_terminator16540) + join746 = self.join() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, join738.tree) + self._adaptor.addChild(root_0, join746.tree) - elif alt294 == 3: - # sdl92.g:1441:36: stop + elif alt302 == 3: + # sdl92.g:1453:36: stop pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_stop_in_terminator16308) - stop739 = self.stop() + self._state.following.append(self.FOLLOW_stop_in_terminator16544) + stop747 = self.stop() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, stop739.tree) + self._adaptor.addChild(root_0, stop747.tree) - elif alt294 == 4: - # sdl92.g:1441:43: return_stmt + elif alt302 == 4: + # sdl92.g:1453:43: return_stmt pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_return_stmt_in_terminator16312) - return_stmt740 = self.return_stmt() + self._state.following.append(self.FOLLOW_return_stmt_in_terminator16548) + return_stmt748 = self.return_stmt() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, return_stmt740.tree) + self._adaptor.addChild(root_0, return_stmt748.tree) @@ -31070,7 +31053,7 @@ def __init__(self): # $ANTLR start "join" - # sdl92.g:1445:1: join : JOIN connector_name -> ^( JOIN connector_name ) ; + # sdl92.g:1457:1: join : JOIN connector_name -> ^( JOIN connector_name ) ; def join(self, ): retval = self.join_return() retval.start = self.input.LT(1) @@ -31078,28 +31061,28 @@ def join(self, ): root_0 = None - JOIN741 = None - connector_name742 = None + JOIN749 = None + connector_name750 = None - JOIN741_tree = None + JOIN749_tree = None stream_JOIN = RewriteRuleTokenStream(self._adaptor, "token JOIN") stream_connector_name = RewriteRuleSubtreeStream(self._adaptor, "rule connector_name") try: try: - # sdl92.g:1446:9: ( JOIN connector_name -> ^( JOIN connector_name ) ) - # sdl92.g:1446:18: JOIN connector_name + # sdl92.g:1458:9: ( JOIN connector_name -> ^( JOIN connector_name ) ) + # sdl92.g:1458:18: JOIN connector_name pass - JOIN741 = self.match(self.input, JOIN, self.FOLLOW_JOIN_in_join16345) + JOIN749 = self.match(self.input, JOIN, self.FOLLOW_JOIN_in_join16581) if self._state.backtracking == 0: - stream_JOIN.add(JOIN741) + stream_JOIN.add(JOIN749) - self._state.following.append(self.FOLLOW_connector_name_in_join16347) - connector_name742 = self.connector_name() + self._state.following.append(self.FOLLOW_connector_name_in_join16583) + connector_name750 = self.connector_name() self._state.following.pop() if self._state.backtracking == 0: - stream_connector_name.add(connector_name742.tree) + stream_connector_name.add(connector_name750.tree) # AST Rewrite @@ -31118,8 +31101,8 @@ def join(self, ): root_0 = self._adaptor.nil() - # 1447:9: -> ^( JOIN connector_name ) - # sdl92.g:1447:18: ^( JOIN connector_name ) + # 1459:9: -> ^( JOIN connector_name ) + # sdl92.g:1459:18: ^( JOIN connector_name ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_JOIN.nextNode() @@ -31170,7 +31153,7 @@ def __init__(self): # $ANTLR start "stop" - # sdl92.g:1451:1: stop : STOP ; + # sdl92.g:1463:1: stop : STOP ; def stop(self, ): retval = self.stop_return() retval.start = self.input.LT(1) @@ -31178,22 +31161,22 @@ def stop(self, ): root_0 = None - STOP743 = None + STOP751 = None - STOP743_tree = None + STOP751_tree = None try: try: - # sdl92.g:1451:9: ( STOP ) - # sdl92.g:1451:17: STOP + # sdl92.g:1463:9: ( STOP ) + # sdl92.g:1463:17: STOP pass root_0 = self._adaptor.nil() - STOP743 = self.match(self.input, STOP, self.FOLLOW_STOP_in_stop16396) + STOP751 = self.match(self.input, STOP, self.FOLLOW_STOP_in_stop16632) if self._state.backtracking == 0: - STOP743_tree = self._adaptor.createWithPayload(STOP743) - self._adaptor.addChild(root_0, STOP743_tree) + STOP751_tree = self._adaptor.createWithPayload(STOP751) + self._adaptor.addChild(root_0, STOP751_tree) @@ -31231,7 +31214,7 @@ def __init__(self): # $ANTLR start "return_stmt" - # sdl92.g:1455:1: return_stmt : RETURN ( expression )? -> ^( RETURN ( expression )? ) ; + # sdl92.g:1467:1: return_stmt : RETURN ( expression )? -> ^( RETURN ( expression )? ) ; def return_stmt(self, ): retval = self.return_stmt_return() retval.start = self.input.LT(1) @@ -31239,37 +31222,37 @@ def return_stmt(self, ): root_0 = None - RETURN744 = None - expression745 = None + RETURN752 = None + expression753 = None - RETURN744_tree = None + RETURN752_tree = None stream_RETURN = RewriteRuleTokenStream(self._adaptor, "token RETURN") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1456:9: ( RETURN ( expression )? -> ^( RETURN ( expression )? ) ) - # sdl92.g:1456:17: RETURN ( expression )? + # sdl92.g:1468:9: ( RETURN ( expression )? -> ^( RETURN ( expression )? ) ) + # sdl92.g:1468:17: RETURN ( expression )? pass - RETURN744 = self.match(self.input, RETURN, self.FOLLOW_RETURN_in_return_stmt16428) + RETURN752 = self.match(self.input, RETURN, self.FOLLOW_RETURN_in_return_stmt16664) if self._state.backtracking == 0: - stream_RETURN.add(RETURN744) + stream_RETURN.add(RETURN752) - # sdl92.g:1456:24: ( expression )? - alt295 = 2 - LA295_0 = self.input.LA(1) + # sdl92.g:1468:24: ( expression )? + alt303 = 2 + LA303_0 = self.input.LA(1) - if (LA295_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt295 = 1 - if alt295 == 1: - # sdl92.g:1456:24: expression + if (LA303_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt303 = 1 + if alt303 == 1: + # sdl92.g:1468:24: expression pass - self._state.following.append(self.FOLLOW_expression_in_return_stmt16430) - expression745 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_return_stmt16666) + expression753 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression745.tree) + stream_expression.add(expression753.tree) @@ -31291,14 +31274,14 @@ def return_stmt(self, ): root_0 = self._adaptor.nil() - # 1457:9: -> ^( RETURN ( expression )? ) - # sdl92.g:1457:17: ^( RETURN ( expression )? ) + # 1469:9: -> ^( RETURN ( expression )? ) + # sdl92.g:1469:17: ^( RETURN ( expression )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_RETURN.nextNode() , root_1) - # sdl92.g:1457:26: ( expression )? + # sdl92.g:1469:26: ( expression )? if stream_expression.hasNext(): self._adaptor.addChild(root_1, stream_expression.nextTree()) @@ -31348,7 +31331,7 @@ def __init__(self): # $ANTLR start "nextstate" - # sdl92.g:1461:1: nextstate : NEXTSTATE nextstatebody -> ^( NEXTSTATE nextstatebody ) ; + # sdl92.g:1473:1: nextstate : NEXTSTATE nextstatebody -> ^( NEXTSTATE nextstatebody ) ; def nextstate(self, ): retval = self.nextstate_return() retval.start = self.input.LT(1) @@ -31356,28 +31339,28 @@ def nextstate(self, ): root_0 = None - NEXTSTATE746 = None - nextstatebody747 = None + NEXTSTATE754 = None + nextstatebody755 = None - NEXTSTATE746_tree = None + NEXTSTATE754_tree = None stream_NEXTSTATE = RewriteRuleTokenStream(self._adaptor, "token NEXTSTATE") stream_nextstatebody = RewriteRuleSubtreeStream(self._adaptor, "rule nextstatebody") try: try: - # sdl92.g:1462:9: ( NEXTSTATE nextstatebody -> ^( NEXTSTATE nextstatebody ) ) - # sdl92.g:1462:17: NEXTSTATE nextstatebody + # sdl92.g:1474:9: ( NEXTSTATE nextstatebody -> ^( NEXTSTATE nextstatebody ) ) + # sdl92.g:1474:17: NEXTSTATE nextstatebody pass - NEXTSTATE746 = self.match(self.input, NEXTSTATE, self.FOLLOW_NEXTSTATE_in_nextstate16485) + NEXTSTATE754 = self.match(self.input, NEXTSTATE, self.FOLLOW_NEXTSTATE_in_nextstate16721) if self._state.backtracking == 0: - stream_NEXTSTATE.add(NEXTSTATE746) + stream_NEXTSTATE.add(NEXTSTATE754) - self._state.following.append(self.FOLLOW_nextstatebody_in_nextstate16487) - nextstatebody747 = self.nextstatebody() + self._state.following.append(self.FOLLOW_nextstatebody_in_nextstate16723) + nextstatebody755 = self.nextstatebody() self._state.following.pop() if self._state.backtracking == 0: - stream_nextstatebody.add(nextstatebody747.tree) + stream_nextstatebody.add(nextstatebody755.tree) # AST Rewrite @@ -31396,8 +31379,8 @@ def nextstate(self, ): root_0 = self._adaptor.nil() - # 1463:9: -> ^( NEXTSTATE nextstatebody ) - # sdl92.g:1463:17: ^( NEXTSTATE nextstatebody ) + # 1475:9: -> ^( NEXTSTATE nextstatebody ) + # sdl92.g:1475:17: ^( NEXTSTATE nextstatebody ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_NEXTSTATE.nextNode() @@ -31448,7 +31431,7 @@ def __init__(self): # $ANTLR start "nextstatebody" - # sdl92.g:1467:1: nextstatebody : ( statename ( ':' ! type_inst )? ( via )? | dash_nextstate | history_nextstate ); + # sdl92.g:1479:1: nextstatebody : ( statename ( ':' ! type_inst )? ( via )? | dash_nextstate | history_nextstate ); def nextstatebody(self, ): retval = self.nextstatebody_return() retval.start = self.input.LT(1) @@ -31456,120 +31439,120 @@ def nextstatebody(self, ): root_0 = None - char_literal749 = None - statename748 = None - type_inst750 = None - via751 = None - dash_nextstate752 = None - history_nextstate753 = None + char_literal757 = None + statename756 = None + type_inst758 = None + via759 = None + dash_nextstate760 = None + history_nextstate761 = None - char_literal749_tree = None + char_literal757_tree = None try: try: - # sdl92.g:1468:9: ( statename ( ':' ! type_inst )? ( via )? | dash_nextstate | history_nextstate ) - alt298 = 3 - LA298 = self.input.LA(1) - if LA298 in {ID}: - alt298 = 1 - elif LA298 in {DASH}: - alt298 = 2 - elif LA298 in {249}: - alt298 = 3 + # sdl92.g:1480:9: ( statename ( ':' ! type_inst )? ( via )? | dash_nextstate | history_nextstate ) + alt306 = 3 + LA306 = self.input.LA(1) + if LA306 in {ID}: + alt306 = 1 + elif LA306 in {DASH}: + alt306 = 2 + elif LA306 in {251}: + alt306 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 298, 0, self.input) + nvae = NoViableAltException("", 306, 0, self.input) raise nvae - if alt298 == 1: - # sdl92.g:1468:17: statename ( ':' ! type_inst )? ( via )? + if alt306 == 1: + # sdl92.g:1480:17: statename ( ':' ! type_inst )? ( via )? pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_statename_in_nextstatebody16540) - statename748 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_nextstatebody16776) + statename756 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, statename748.tree) + self._adaptor.addChild(root_0, statename756.tree) - # sdl92.g:1468:27: ( ':' ! type_inst )? - alt296 = 2 - LA296_0 = self.input.LA(1) + # sdl92.g:1480:27: ( ':' ! type_inst )? + alt304 = 2 + LA304_0 = self.input.LA(1) - if (LA296_0 == 253) : - alt296 = 1 - if alt296 == 1: - # sdl92.g:1468:28: ':' ! type_inst + if (LA304_0 == 255) : + alt304 = 1 + if alt304 == 1: + # sdl92.g:1480:28: ':' ! type_inst pass - char_literal749 = self.match(self.input, 253, self.FOLLOW_253_in_nextstatebody16543) + char_literal757 = self.match(self.input, 255, self.FOLLOW_255_in_nextstatebody16779) - self._state.following.append(self.FOLLOW_type_inst_in_nextstatebody16546) - type_inst750 = self.type_inst() + self._state.following.append(self.FOLLOW_type_inst_in_nextstatebody16782) + type_inst758 = self.type_inst() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, type_inst750.tree) + self._adaptor.addChild(root_0, type_inst758.tree) - # sdl92.g:1468:45: ( via )? - alt297 = 2 - LA297_0 = self.input.LA(1) + # sdl92.g:1480:45: ( via )? + alt305 = 2 + LA305_0 = self.input.LA(1) - if (LA297_0 == VIA) : - alt297 = 1 - if alt297 == 1: - # sdl92.g:1468:45: via + if (LA305_0 == VIA) : + alt305 = 1 + if alt305 == 1: + # sdl92.g:1480:45: via pass - self._state.following.append(self.FOLLOW_via_in_nextstatebody16550) - via751 = self.via() + self._state.following.append(self.FOLLOW_via_in_nextstatebody16786) + via759 = self.via() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, via751.tree) + self._adaptor.addChild(root_0, via759.tree) - elif alt298 == 2: - # sdl92.g:1469:19: dash_nextstate + elif alt306 == 2: + # sdl92.g:1481:19: dash_nextstate pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_dash_nextstate_in_nextstatebody16571) - dash_nextstate752 = self.dash_nextstate() + self._state.following.append(self.FOLLOW_dash_nextstate_in_nextstatebody16807) + dash_nextstate760 = self.dash_nextstate() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, dash_nextstate752.tree) + self._adaptor.addChild(root_0, dash_nextstate760.tree) - elif alt298 == 3: - # sdl92.g:1470:19: history_nextstate + elif alt306 == 3: + # sdl92.g:1482:19: history_nextstate pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_history_nextstate_in_nextstatebody16591) - history_nextstate753 = self.history_nextstate() + self._state.following.append(self.FOLLOW_history_nextstate_in_nextstatebody16827) + history_nextstate761 = self.history_nextstate() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, history_nextstate753.tree) + self._adaptor.addChild(root_0, history_nextstate761.tree) @@ -31605,7 +31588,7 @@ def __init__(self): # $ANTLR start "via" - # sdl92.g:1474:1: via : VIA state_entry_point_name -> ^( VIA state_entry_point_name ) ; + # sdl92.g:1486:1: via : VIA state_entry_point_name -> ^( VIA state_entry_point_name ) ; def via(self, ): retval = self.via_return() retval.start = self.input.LT(1) @@ -31613,28 +31596,28 @@ def via(self, ): root_0 = None - VIA754 = None - state_entry_point_name755 = None + VIA762 = None + state_entry_point_name763 = None - VIA754_tree = None + VIA762_tree = None stream_VIA = RewriteRuleTokenStream(self._adaptor, "token VIA") stream_state_entry_point_name = RewriteRuleSubtreeStream(self._adaptor, "rule state_entry_point_name") try: try: - # sdl92.g:1474:9: ( VIA state_entry_point_name -> ^( VIA state_entry_point_name ) ) - # sdl92.g:1474:17: VIA state_entry_point_name + # sdl92.g:1486:9: ( VIA state_entry_point_name -> ^( VIA state_entry_point_name ) ) + # sdl92.g:1486:17: VIA state_entry_point_name pass - VIA754 = self.match(self.input, VIA, self.FOLLOW_VIA_in_via16619) + VIA762 = self.match(self.input, VIA, self.FOLLOW_VIA_in_via16855) if self._state.backtracking == 0: - stream_VIA.add(VIA754) + stream_VIA.add(VIA762) - self._state.following.append(self.FOLLOW_state_entry_point_name_in_via16621) - state_entry_point_name755 = self.state_entry_point_name() + self._state.following.append(self.FOLLOW_state_entry_point_name_in_via16857) + state_entry_point_name763 = self.state_entry_point_name() self._state.following.pop() if self._state.backtracking == 0: - stream_state_entry_point_name.add(state_entry_point_name755.tree) + stream_state_entry_point_name.add(state_entry_point_name763.tree) # AST Rewrite @@ -31653,8 +31636,8 @@ def via(self, ): root_0 = self._adaptor.nil() - # 1475:9: -> ^( VIA state_entry_point_name ) - # sdl92.g:1475:17: ^( VIA state_entry_point_name ) + # 1487:9: -> ^( VIA state_entry_point_name ) + # sdl92.g:1487:17: ^( VIA state_entry_point_name ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_VIA.nextNode() @@ -31705,7 +31688,7 @@ def __init__(self): # $ANTLR start "end" - # sdl92.g:1479:1: end : ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? ; + # sdl92.g:1491:1: end : ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? ; def end(self, ): retval = self.end_return() retval.start = self.input.LT(1) @@ -31713,16 +31696,16 @@ def end(self, ): root_0 = None - COMMENT759 = None - STRING760 = None - SEMI761 = None - cif756 = None - symbolid757 = None - hyperlink758 = None + COMMENT767 = None + STRING768 = None + SEMI769 = None + cif764 = None + symbolid765 = None + hyperlink766 = None - COMMENT759_tree = None - STRING760_tree = None - SEMI761_tree = None + COMMENT767_tree = None + STRING768_tree = None + SEMI769_tree = None stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") stream_COMMENT = RewriteRuleTokenStream(self._adaptor, "token COMMENT") @@ -31731,133 +31714,133 @@ def end(self, ): stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") try: try: - # sdl92.g:1480:9: ( ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? ) - # sdl92.g:1480:13: ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ + # sdl92.g:1492:9: ( ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? ) + # sdl92.g:1492:13: ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ pass - # sdl92.g:1480:13: ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? - alt302 = 2 - LA302_0 = self.input.LA(1) + # sdl92.g:1492:13: ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? + alt310 = 2 + LA310_0 = self.input.LA(1) - if (LA302_0 in {COMMENT, 252}) : - alt302 = 1 - if alt302 == 1: - # sdl92.g:1480:14: ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING + if (LA310_0 in {COMMENT, 254}) : + alt310 = 1 + if alt310 == 1: + # sdl92.g:1492:14: ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING pass - # sdl92.g:1480:14: ( cif )? - alt299 = 2 - LA299_0 = self.input.LA(1) + # sdl92.g:1492:14: ( cif )? + alt307 = 2 + LA307_0 = self.input.LA(1) - if (LA299_0 == 252) : - LA299_1 = self.input.LA(2) + if (LA307_0 == 254) : + LA307_1 = self.input.LA(2) - if (LA299_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt299 = 1 - if alt299 == 1: - # sdl92.g:1480:14: cif + if (LA307_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + alt307 = 1 + if alt307 == 1: + # sdl92.g:1492:14: cif pass - self._state.following.append(self.FOLLOW_cif_in_end16671) - cif756 = self.cif() + self._state.following.append(self.FOLLOW_cif_in_end16907) + cif764 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif756.tree) + stream_cif.add(cif764.tree) - # sdl92.g:1480:19: ( symbolid )? - alt300 = 2 - LA300_0 = self.input.LA(1) + # sdl92.g:1492:19: ( symbolid )? + alt308 = 2 + LA308_0 = self.input.LA(1) - if (LA300_0 == 252) : - LA300_1 = self.input.LA(2) + if (LA308_0 == 254) : + LA308_1 = self.input.LA(2) - if (LA300_1 == 254) : - alt300 = 1 - if alt300 == 1: - # sdl92.g:1480:19: symbolid + if (LA308_1 == 256) : + alt308 = 1 + if alt308 == 1: + # sdl92.g:1492:19: symbolid pass - self._state.following.append(self.FOLLOW_symbolid_in_end16674) - symbolid757 = self.symbolid() + self._state.following.append(self.FOLLOW_symbolid_in_end16910) + symbolid765 = self.symbolid() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid757.tree) + stream_symbolid.add(symbolid765.tree) - # sdl92.g:1480:29: ( hyperlink )? - alt301 = 2 - LA301_0 = self.input.LA(1) + # sdl92.g:1492:29: ( hyperlink )? + alt309 = 2 + LA309_0 = self.input.LA(1) - if (LA301_0 == 252) : - alt301 = 1 - if alt301 == 1: - # sdl92.g:1480:29: hyperlink + if (LA309_0 == 254) : + alt309 = 1 + if alt309 == 1: + # sdl92.g:1492:29: hyperlink pass - self._state.following.append(self.FOLLOW_hyperlink_in_end16677) - hyperlink758 = self.hyperlink() + self._state.following.append(self.FOLLOW_hyperlink_in_end16913) + hyperlink766 = self.hyperlink() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink758.tree) + stream_hyperlink.add(hyperlink766.tree) - COMMENT759 = self.match(self.input, COMMENT, self.FOLLOW_COMMENT_in_end16680) + COMMENT767 = self.match(self.input, COMMENT, self.FOLLOW_COMMENT_in_end16916) if self._state.backtracking == 0: - stream_COMMENT.add(COMMENT759) + stream_COMMENT.add(COMMENT767) - STRING760 = self.match(self.input, STRING, self.FOLLOW_STRING_in_end16682) + STRING768 = self.match(self.input, STRING, self.FOLLOW_STRING_in_end16918) if self._state.backtracking == 0: - stream_STRING.add(STRING760) + stream_STRING.add(STRING768) - # sdl92.g:1480:57: ( SEMI )+ - cnt303 = 0 - while True: #loop303 - alt303 = 2 - LA303_0 = self.input.LA(1) + # sdl92.g:1492:57: ( SEMI )+ + cnt311 = 0 + while True: #loop311 + alt311 = 2 + LA311_0 = self.input.LA(1) - if (LA303_0 == SEMI) : - LA303_2 = self.input.LA(2) + if (LA311_0 == SEMI) : + LA311_2 = self.input.LA(2) - if (self.synpred385_sdl92()) : - alt303 = 1 + if (self.synpred393_sdl92()) : + alt311 = 1 - if alt303 == 1: - # sdl92.g:1480:57: SEMI + if alt311 == 1: + # sdl92.g:1492:57: SEMI pass - SEMI761 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_end16686) + SEMI769 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_end16922) if self._state.backtracking == 0: - stream_SEMI.add(SEMI761) + stream_SEMI.add(SEMI769) else: - if cnt303 >= 1: - break #loop303 + if cnt311 >= 1: + break #loop311 if self._state.backtracking > 0: raise BacktrackingFailed - eee = EarlyExitException(303, self.input) + eee = EarlyExitException(311, self.input) raise eee - cnt303 += 1 + cnt311 += 1 # AST Rewrite @@ -31876,30 +31859,30 @@ def end(self, ): root_0 = self._adaptor.nil() - # 1481:9: -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? - # sdl92.g:1481:12: ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? + # 1493:9: -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? + # sdl92.g:1493:12: ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? if stream_COMMENT.hasNext() or stream_cif.hasNext() or stream_symbolid.hasNext() or stream_hyperlink.hasNext() or stream_STRING.hasNext(): - # sdl92.g:1481:12: ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) + # sdl92.g:1493:12: ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_COMMENT.nextNode() , root_1) - # sdl92.g:1481:22: ( cif )? + # sdl92.g:1493:22: ( cif )? if stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:1481:27: ( symbolid )? + # sdl92.g:1493:27: ( symbolid )? if stream_symbolid.hasNext(): self._adaptor.addChild(root_1, stream_symbolid.nextTree()) stream_symbolid.reset(); - # sdl92.g:1481:37: ( hyperlink )? + # sdl92.g:1493:37: ( hyperlink )? if stream_hyperlink.hasNext(): self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) @@ -31960,7 +31943,7 @@ def __init__(self): # $ANTLR start "cif" - # sdl92.g:1485:1: cif : ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) ; + # sdl92.g:1497:1: cif : ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) ; def cif(self, ): retval = self.cif_return() retval.start = self.input.LT(1) @@ -31970,28 +31953,28 @@ def cif(self, ): width = None height = None - L_PAREN764 = None - COMMA765 = None - R_PAREN766 = None - COMMA767 = None - L_PAREN768 = None - COMMA769 = None - R_PAREN770 = None + L_PAREN772 = None + COMMA773 = None + R_PAREN774 = None + COMMA775 = None + L_PAREN776 = None + COMMA777 = None + R_PAREN778 = None x = None y = None - cif_decl762 = None - symbolname763 = None - cif_end771 = None + cif_decl770 = None + symbolname771 = None + cif_end779 = None width_tree = None height_tree = None - L_PAREN764_tree = None - COMMA765_tree = None - R_PAREN766_tree = None - COMMA767_tree = None - L_PAREN768_tree = None - COMMA769_tree = None - R_PAREN770_tree = None + L_PAREN772_tree = None + COMMA773_tree = None + R_PAREN774_tree = None + COMMA775_tree = None + L_PAREN776_tree = None + COMMA777_tree = None + R_PAREN778_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") @@ -32002,118 +31985,413 @@ def cif(self, ): stream_symbolname = RewriteRuleSubtreeStream(self._adaptor, "rule symbolname") try: try: - # sdl92.g:1486:9: ( ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) ) - # sdl92.g:1486:17: ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) + # sdl92.g:1498:9: ( ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) ) + # sdl92.g:1498:17: ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) + pass + # sdl92.g:1498:17: ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) + # sdl92.g:1498:18: cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end pass - # sdl92.g:1486:17: ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) - # sdl92.g:1486:18: cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end + self._state.following.append(self.FOLLOW_cif_decl_in_cif16982) + cif_decl770 = self.cif_decl() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif_decl.add(cif_decl770.tree) + + + self._state.following.append(self.FOLLOW_symbolname_in_cif16984) + symbolname771 = self.symbolname() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_symbolname.add(symbolname771.tree) + + + L_PAREN772 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_cif17002) + if self._state.backtracking == 0: + stream_L_PAREN.add(L_PAREN772) + + + self._state.following.append(self.FOLLOW_signed_in_cif17006) + x = self.signed() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_signed.add(x.tree) + + + COMMA773 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif17008) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA773) + + + self._state.following.append(self.FOLLOW_signed_in_cif17012) + y = self.signed() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_signed.add(y.tree) + + + R_PAREN774 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_cif17014) + if self._state.backtracking == 0: + stream_R_PAREN.add(R_PAREN774) + + + COMMA775 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif17032) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA775) + + + L_PAREN776 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_cif17050) + if self._state.backtracking == 0: + stream_L_PAREN.add(L_PAREN776) + + + width = self.match(self.input, INT, self.FOLLOW_INT_in_cif17054) + if self._state.backtracking == 0: + stream_INT.add(width) + + + COMMA777 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif17056) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA777) + + + height = self.match(self.input, INT, self.FOLLOW_INT_in_cif17060) + if self._state.backtracking == 0: + stream_INT.add(height) + + + R_PAREN778 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_cif17062) + if self._state.backtracking == 0: + stream_R_PAREN.add(R_PAREN778) + + + self._state.following.append(self.FOLLOW_cif_end_in_cif17080) + cif_end779 = self.cif_end() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif_end.add(cif_end779.tree) + + + # AST Rewrite + # elements: x, y, width, height + # token labels: width, height + # rule labels: x, y, retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + stream_width = RewriteRuleTokenStream(self._adaptor, "token width", width) + stream_height = RewriteRuleTokenStream(self._adaptor, "token height", height) + if x is not None: + stream_x = RewriteRuleSubtreeStream(self._adaptor, "rule x", x.tree) + else: + stream_x = RewriteRuleSubtreeStream(self._adaptor, "token x", None) + + if y is not None: + stream_y = RewriteRuleSubtreeStream(self._adaptor, "rule y", y.tree) + else: + stream_y = RewriteRuleSubtreeStream(self._adaptor, "token y", 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() + # 1503:9: -> ^( CIF $x $y $width $height) + # sdl92.g:1503:17: ^( CIF $x $y $width $height) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(CIF, "CIF") + , root_1) + + self._adaptor.addChild(root_1, stream_x.nextTree()) + + self._adaptor.addChild(root_1, stream_y.nextTree()) + + self._adaptor.addChild(root_1, stream_width.nextNode()) + + self._adaptor.addChild(root_1, stream_height.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 "cif" + + + class hyperlink_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + + self.tree = None + + + + + + # $ANTLR start "hyperlink" + # sdl92.g:1507:1: hyperlink : cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end -> ^( HYPERLINK STRING ) ; + def hyperlink(self, ): + retval = self.hyperlink_return() + retval.start = self.input.LT(1) + + + root_0 = None + + KEEP781 = None + SPECIFIC782 = None + GEODE783 = None + HYPERLINK784 = None + STRING785 = None + cif_decl780 = None + cif_end786 = None + + KEEP781_tree = None + SPECIFIC782_tree = None + GEODE783_tree = None + HYPERLINK784_tree = None + STRING785_tree = None + stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") + stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") + stream_HYPERLINK = RewriteRuleTokenStream(self._adaptor, "token HYPERLINK") + stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") + stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") + stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") + stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") + try: + try: + # sdl92.g:1508:9: ( cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end -> ^( HYPERLINK STRING ) ) + # sdl92.g:1508:17: cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_cif16746) - cif_decl762 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_hyperlink17144) + cif_decl780 = self.cif_decl() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif_decl.add(cif_decl780.tree) + + + KEEP781 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_hyperlink17146) + if self._state.backtracking == 0: + stream_KEEP.add(KEEP781) + + + SPECIFIC782 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_hyperlink17148) + if self._state.backtracking == 0: + stream_SPECIFIC.add(SPECIFIC782) + + + GEODE783 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_hyperlink17150) + if self._state.backtracking == 0: + stream_GEODE.add(GEODE783) + + + HYPERLINK784 = self.match(self.input, HYPERLINK, self.FOLLOW_HYPERLINK_in_hyperlink17152) + if self._state.backtracking == 0: + stream_HYPERLINK.add(HYPERLINK784) + + + STRING785 = self.match(self.input, STRING, self.FOLLOW_STRING_in_hyperlink17154) + if self._state.backtracking == 0: + stream_STRING.add(STRING785) + + + self._state.following.append(self.FOLLOW_cif_end_in_hyperlink17172) + cif_end786 = self.cif_end() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif_end.add(cif_end786.tree) + + + # AST Rewrite + # elements: HYPERLINK, STRING + # 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() + # 1510:9: -> ^( HYPERLINK STRING ) + # sdl92.g:1510:17: ^( HYPERLINK STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_HYPERLINK.nextNode() + , root_1) + + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) + + self._adaptor.addChild(root_0, root_1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl762.tree) - self._state.following.append(self.FOLLOW_symbolname_in_cif16748) - symbolname763 = self.symbolname() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolname.add(symbolname763.tree) + retval.tree = root_0 - L_PAREN764 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_cif16766) - if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN764) - self._state.following.append(self.FOLLOW_signed_in_cif16770) - x = self.signed() - self._state.following.pop() - if self._state.backtracking == 0: - stream_signed.add(x.tree) + retval.stop = self.input.LT(-1) - COMMA765 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif16772) if self._state.backtracking == 0: - stream_COMMA.add(COMMA765) + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - self._state.following.append(self.FOLLOW_signed_in_cif16776) - y = self.signed() - self._state.following.pop() - if self._state.backtracking == 0: - stream_signed.add(y.tree) + 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 "hyperlink" - R_PAREN766 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_cif16778) - if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN766) + class req_server_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + + self.tree = None - COMMA767 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif16796) + + + + # $ANTLR start "req_server" + # sdl92.g:1515:1: req_server : cif_decl KEEP SPECIFIC GEODE REQ_SERVER STRING cif_end -> ^( REQ_SERVER STRING ) ; + def req_server(self, ): + retval = self.req_server_return() + retval.start = self.input.LT(1) + + + root_0 = None + + KEEP788 = None + SPECIFIC789 = None + GEODE790 = None + REQ_SERVER791 = None + STRING792 = None + cif_decl787 = None + cif_end793 = None + + KEEP788_tree = None + SPECIFIC789_tree = None + GEODE790_tree = None + REQ_SERVER791_tree = None + STRING792_tree = None + stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") + stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") + stream_REQ_SERVER = RewriteRuleTokenStream(self._adaptor, "token REQ_SERVER") + stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") + stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") + stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") + stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") + try: + try: + # sdl92.g:1516:9: ( cif_decl KEEP SPECIFIC GEODE REQ_SERVER STRING cif_end -> ^( REQ_SERVER STRING ) ) + # sdl92.g:1516:17: cif_decl KEEP SPECIFIC GEODE REQ_SERVER STRING cif_end + pass + self._state.following.append(self.FOLLOW_cif_decl_in_req_server17226) + cif_decl787 = self.cif_decl() + + self._state.following.pop() if self._state.backtracking == 0: - stream_COMMA.add(COMMA767) + stream_cif_decl.add(cif_decl787.tree) - L_PAREN768 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_cif16814) + KEEP788 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_req_server17228) if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN768) + stream_KEEP.add(KEEP788) - width = self.match(self.input, INT, self.FOLLOW_INT_in_cif16818) + SPECIFIC789 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_req_server17230) if self._state.backtracking == 0: - stream_INT.add(width) + stream_SPECIFIC.add(SPECIFIC789) - COMMA769 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif16820) + GEODE790 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_req_server17232) if self._state.backtracking == 0: - stream_COMMA.add(COMMA769) + stream_GEODE.add(GEODE790) - height = self.match(self.input, INT, self.FOLLOW_INT_in_cif16824) + REQ_SERVER791 = self.match(self.input, REQ_SERVER, self.FOLLOW_REQ_SERVER_in_req_server17234) if self._state.backtracking == 0: - stream_INT.add(height) + stream_REQ_SERVER.add(REQ_SERVER791) - R_PAREN770 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_cif16826) + STRING792 = self.match(self.input, STRING, self.FOLLOW_STRING_in_req_server17236) if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN770) + stream_STRING.add(STRING792) - self._state.following.append(self.FOLLOW_cif_end_in_cif16844) - cif_end771 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_req_server17254) + cif_end793 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end771.tree) + stream_cif_end.add(cif_end793.tree) # AST Rewrite - # elements: x, y, width, height - # token labels: width, height - # rule labels: x, y, retval + # elements: REQ_SERVER, STRING + # token labels: + # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 - stream_width = RewriteRuleTokenStream(self._adaptor, "token width", width) - stream_height = RewriteRuleTokenStream(self._adaptor, "token height", height) - if x is not None: - stream_x = RewriteRuleSubtreeStream(self._adaptor, "rule x", x.tree) - else: - stream_x = RewriteRuleSubtreeStream(self._adaptor, "token x", None) - - if y is not None: - stream_y = RewriteRuleSubtreeStream(self._adaptor, "rule y", y.tree) - else: - stream_y = RewriteRuleSubtreeStream(self._adaptor, "token y", None) - if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: @@ -32121,20 +32399,16 @@ def cif(self, ): root_0 = self._adaptor.nil() - # 1491:9: -> ^( CIF $x $y $width $height) - # sdl92.g:1491:17: ^( CIF $x $y $width $height) + # 1518:9: -> ^( REQ_SERVER STRING ) + # sdl92.g:1518:17: ^( REQ_SERVER STRING ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(CIF, "CIF") + stream_REQ_SERVER.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_x.nextTree()) - - self._adaptor.addChild(root_1, stream_y.nextTree()) - - self._adaptor.addChild(root_1, stream_width.nextNode()) - - self._adaptor.addChild(root_1, stream_height.nextNode()) + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) self._adaptor.addChild(root_0, root_1) @@ -32147,9 +32421,6 @@ def cif(self, ): - - - retval.stop = self.input.LT(-1) @@ -32168,10 +32439,10 @@ def cif(self, ): pass return retval - # $ANTLR end "cif" + # $ANTLR end "req_server" - class hyperlink_return(ParserRuleReturnScope): + class rid_server_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -32181,83 +32452,83 @@ def __init__(self): - # $ANTLR start "hyperlink" - # sdl92.g:1495:1: hyperlink : cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end -> ^( HYPERLINK STRING ) ; - def hyperlink(self, ): - retval = self.hyperlink_return() + # $ANTLR start "rid_server" + # sdl92.g:1523:1: rid_server : cif_decl KEEP SPECIFIC GEODE RID_SERVER STRING cif_end -> ^( RID_SERVER STRING ) ; + def rid_server(self, ): + retval = self.rid_server_return() retval.start = self.input.LT(1) root_0 = None - KEEP773 = None - SPECIFIC774 = None - GEODE775 = None - HYPERLINK776 = None - STRING777 = None - cif_decl772 = None - cif_end778 = None - - KEEP773_tree = None - SPECIFIC774_tree = None - GEODE775_tree = None - HYPERLINK776_tree = None - STRING777_tree = None + KEEP795 = None + SPECIFIC796 = None + GEODE797 = None + RID_SERVER798 = None + STRING799 = None + cif_decl794 = None + cif_end800 = None + + KEEP795_tree = None + SPECIFIC796_tree = None + GEODE797_tree = None + RID_SERVER798_tree = None + STRING799_tree = None stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_HYPERLINK = RewriteRuleTokenStream(self._adaptor, "token HYPERLINK") stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") + stream_RID_SERVER = RewriteRuleTokenStream(self._adaptor, "token RID_SERVER") stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") try: try: - # sdl92.g:1496:9: ( cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end -> ^( HYPERLINK STRING ) ) - # sdl92.g:1496:17: cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end + # sdl92.g:1524:9: ( cif_decl KEEP SPECIFIC GEODE RID_SERVER STRING cif_end -> ^( RID_SERVER STRING ) ) + # sdl92.g:1524:17: cif_decl KEEP SPECIFIC GEODE RID_SERVER STRING cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_hyperlink16908) - cif_decl772 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_rid_server17308) + cif_decl794 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl772.tree) + stream_cif_decl.add(cif_decl794.tree) - KEEP773 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_hyperlink16910) + KEEP795 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_rid_server17310) if self._state.backtracking == 0: - stream_KEEP.add(KEEP773) + stream_KEEP.add(KEEP795) - SPECIFIC774 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_hyperlink16912) + SPECIFIC796 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_rid_server17312) if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC774) + stream_SPECIFIC.add(SPECIFIC796) - GEODE775 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_hyperlink16914) + GEODE797 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_rid_server17314) if self._state.backtracking == 0: - stream_GEODE.add(GEODE775) + stream_GEODE.add(GEODE797) - HYPERLINK776 = self.match(self.input, HYPERLINK, self.FOLLOW_HYPERLINK_in_hyperlink16916) + RID_SERVER798 = self.match(self.input, RID_SERVER, self.FOLLOW_RID_SERVER_in_rid_server17316) if self._state.backtracking == 0: - stream_HYPERLINK.add(HYPERLINK776) + stream_RID_SERVER.add(RID_SERVER798) - STRING777 = self.match(self.input, STRING, self.FOLLOW_STRING_in_hyperlink16918) + STRING799 = self.match(self.input, STRING, self.FOLLOW_STRING_in_rid_server17318) if self._state.backtracking == 0: - stream_STRING.add(STRING777) + stream_STRING.add(STRING799) - self._state.following.append(self.FOLLOW_cif_end_in_hyperlink16936) - cif_end778 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_rid_server17336) + cif_end800 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end778.tree) + stream_cif_end.add(cif_end800.tree) # AST Rewrite - # elements: HYPERLINK, STRING + # elements: RID_SERVER, STRING # token labels: # rule labels: retval # token list labels: @@ -32272,11 +32543,11 @@ def hyperlink(self, ): root_0 = self._adaptor.nil() - # 1498:9: -> ^( HYPERLINK STRING ) - # sdl92.g:1498:17: ^( HYPERLINK STRING ) + # 1526:9: -> ^( RID_SERVER STRING ) + # sdl92.g:1526:17: ^( RID_SERVER STRING ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_HYPERLINK.nextNode() + stream_RID_SERVER.nextNode() , root_1) self._adaptor.addChild(root_1, @@ -32312,7 +32583,7 @@ def hyperlink(self, ): pass return retval - # $ANTLR end "hyperlink" + # $ANTLR end "rid_server" class requirement_return(ParserRuleReturnScope): @@ -32326,7 +32597,7 @@ def __init__(self): # $ANTLR start "requirement" - # sdl92.g:1504:1: requirement : cif_decl KEEP SPECIFIC GEODE REQ_ID INT cif_end -> ^( REQ_ID INT ) ; + # sdl92.g:1532:1: requirement : cif_decl KEEP SPECIFIC GEODE REQ_ID STRING cif_end -> ^( REQ_ID STRING ) ; def requirement(self, ): retval = self.requirement_return() retval.start = self.input.LT(1) @@ -32334,74 +32605,74 @@ def requirement(self, ): root_0 = None - KEEP780 = None - SPECIFIC781 = None - GEODE782 = None - REQ_ID783 = None - INT784 = None - cif_decl779 = None - cif_end785 = None - - KEEP780_tree = None - SPECIFIC781_tree = None - GEODE782_tree = None - REQ_ID783_tree = None - INT784_tree = None + KEEP802 = None + SPECIFIC803 = None + GEODE804 = None + REQ_ID805 = None + STRING806 = None + cif_decl801 = None + cif_end807 = None + + KEEP802_tree = None + SPECIFIC803_tree = None + GEODE804_tree = None + REQ_ID805_tree = None + STRING806_tree = None stream_REQ_ID = RewriteRuleTokenStream(self._adaptor, "token REQ_ID") stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") + stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") try: try: - # sdl92.g:1505:9: ( cif_decl KEEP SPECIFIC GEODE REQ_ID INT cif_end -> ^( REQ_ID INT ) ) - # sdl92.g:1505:17: cif_decl KEEP SPECIFIC GEODE REQ_ID INT cif_end + # sdl92.g:1533:9: ( cif_decl KEEP SPECIFIC GEODE REQ_ID STRING cif_end -> ^( REQ_ID STRING ) ) + # sdl92.g:1533:17: cif_decl KEEP SPECIFIC GEODE REQ_ID STRING cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_requirement16991) - cif_decl779 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_requirement17391) + cif_decl801 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl779.tree) + stream_cif_decl.add(cif_decl801.tree) - KEEP780 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_requirement16993) + KEEP802 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_requirement17393) if self._state.backtracking == 0: - stream_KEEP.add(KEEP780) + stream_KEEP.add(KEEP802) - SPECIFIC781 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_requirement16995) + SPECIFIC803 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_requirement17395) if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC781) + stream_SPECIFIC.add(SPECIFIC803) - GEODE782 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_requirement16997) + GEODE804 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_requirement17397) if self._state.backtracking == 0: - stream_GEODE.add(GEODE782) + stream_GEODE.add(GEODE804) - REQ_ID783 = self.match(self.input, REQ_ID, self.FOLLOW_REQ_ID_in_requirement16999) + REQ_ID805 = self.match(self.input, REQ_ID, self.FOLLOW_REQ_ID_in_requirement17399) if self._state.backtracking == 0: - stream_REQ_ID.add(REQ_ID783) + stream_REQ_ID.add(REQ_ID805) - INT784 = self.match(self.input, INT, self.FOLLOW_INT_in_requirement17001) + STRING806 = self.match(self.input, STRING, self.FOLLOW_STRING_in_requirement17401) if self._state.backtracking == 0: - stream_INT.add(INT784) + stream_STRING.add(STRING806) - self._state.following.append(self.FOLLOW_cif_end_in_requirement17019) - cif_end785 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_requirement17419) + cif_end807 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end785.tree) + stream_cif_end.add(cif_end807.tree) # AST Rewrite - # elements: REQ_ID, INT + # elements: REQ_ID, STRING # token labels: # rule labels: retval # token list labels: @@ -32416,15 +32687,15 @@ def requirement(self, ): root_0 = self._adaptor.nil() - # 1507:9: -> ^( REQ_ID INT ) - # sdl92.g:1507:17: ^( REQ_ID INT ) + # 1535:9: -> ^( REQ_ID STRING ) + # sdl92.g:1535:17: ^( REQ_ID STRING ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_REQ_ID.nextNode() , root_1) self._adaptor.addChild(root_1, - stream_INT.nextNode() + stream_STRING.nextNode() ) self._adaptor.addChild(root_0, root_1) @@ -32470,7 +32741,7 @@ def __init__(self): # $ANTLR start "rid" - # sdl92.g:1513:1: rid : cif_decl KEEP SPECIFIC GEODE RID_ID INT cif_end -> ^( RID_ID INT ) ; + # sdl92.g:1541:1: rid : cif_decl KEEP SPECIFIC GEODE RID_ID STRING cif_end -> ^( RID_ID STRING ) ; def rid(self, ): retval = self.rid_return() retval.start = self.input.LT(1) @@ -32478,74 +32749,74 @@ def rid(self, ): root_0 = None - KEEP787 = None - SPECIFIC788 = None - GEODE789 = None - RID_ID790 = None - INT791 = None - cif_decl786 = None - cif_end792 = None - - KEEP787_tree = None - SPECIFIC788_tree = None - GEODE789_tree = None - RID_ID790_tree = None - INT791_tree = None + KEEP809 = None + SPECIFIC810 = None + GEODE811 = None + RID_ID812 = None + STRING813 = None + cif_decl808 = None + cif_end814 = None + + KEEP809_tree = None + SPECIFIC810_tree = None + GEODE811_tree = None + RID_ID812_tree = None + STRING813_tree = None stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") + stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") stream_RID_ID = RewriteRuleTokenStream(self._adaptor, "token RID_ID") stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") try: try: - # sdl92.g:1514:9: ( cif_decl KEEP SPECIFIC GEODE RID_ID INT cif_end -> ^( RID_ID INT ) ) - # sdl92.g:1514:17: cif_decl KEEP SPECIFIC GEODE RID_ID INT cif_end + # sdl92.g:1542:9: ( cif_decl KEEP SPECIFIC GEODE RID_ID STRING cif_end -> ^( RID_ID STRING ) ) + # sdl92.g:1542:17: cif_decl KEEP SPECIFIC GEODE RID_ID STRING cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_rid17074) - cif_decl786 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_rid17474) + cif_decl808 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl786.tree) + stream_cif_decl.add(cif_decl808.tree) - KEEP787 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_rid17076) + KEEP809 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_rid17476) if self._state.backtracking == 0: - stream_KEEP.add(KEEP787) + stream_KEEP.add(KEEP809) - SPECIFIC788 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_rid17078) + SPECIFIC810 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_rid17478) if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC788) + stream_SPECIFIC.add(SPECIFIC810) - GEODE789 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_rid17080) + GEODE811 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_rid17480) if self._state.backtracking == 0: - stream_GEODE.add(GEODE789) + stream_GEODE.add(GEODE811) - RID_ID790 = self.match(self.input, RID_ID, self.FOLLOW_RID_ID_in_rid17082) + RID_ID812 = self.match(self.input, RID_ID, self.FOLLOW_RID_ID_in_rid17482) if self._state.backtracking == 0: - stream_RID_ID.add(RID_ID790) + stream_RID_ID.add(RID_ID812) - INT791 = self.match(self.input, INT, self.FOLLOW_INT_in_rid17084) + STRING813 = self.match(self.input, STRING, self.FOLLOW_STRING_in_rid17484) if self._state.backtracking == 0: - stream_INT.add(INT791) + stream_STRING.add(STRING813) - self._state.following.append(self.FOLLOW_cif_end_in_rid17102) - cif_end792 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_rid17502) + cif_end814 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end792.tree) + stream_cif_end.add(cif_end814.tree) # AST Rewrite - # elements: RID_ID, INT + # elements: RID_ID, STRING # token labels: # rule labels: retval # token list labels: @@ -32560,15 +32831,15 @@ def rid(self, ): root_0 = self._adaptor.nil() - # 1516:9: -> ^( RID_ID INT ) - # sdl92.g:1516:17: ^( RID_ID INT ) + # 1544:9: -> ^( RID_ID STRING ) + # sdl92.g:1544:17: ^( RID_ID STRING ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_RID_ID.nextNode() , root_1) self._adaptor.addChild(root_1, - stream_INT.nextNode() + stream_STRING.nextNode() ) self._adaptor.addChild(root_0, root_1) @@ -32614,7 +32885,7 @@ def __init__(self): # $ANTLR start "partition" - # sdl92.g:1520:1: partition : cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end -> ^( PARTITION STRING ) ; + # sdl92.g:1548:1: partition : cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end -> ^( PARTITION STRING ) ; def partition(self, ): retval = self.partition_return() retval.start = self.input.LT(1) @@ -32622,19 +32893,19 @@ def partition(self, ): root_0 = None - KEEP794 = None - SPECIFIC795 = None - GEODE796 = None - PARTITION797 = None - STRING798 = None - cif_decl793 = None - cif_end799 = None - - KEEP794_tree = None - SPECIFIC795_tree = None - GEODE796_tree = None - PARTITION797_tree = None - STRING798_tree = None + KEEP816 = None + SPECIFIC817 = None + GEODE818 = None + PARTITION819 = None + STRING820 = None + cif_decl815 = None + cif_end821 = None + + KEEP816_tree = None + SPECIFIC817_tree = None + GEODE818_tree = None + PARTITION819_tree = None + STRING820_tree = None stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") @@ -32644,48 +32915,48 @@ def partition(self, ): stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") try: try: - # sdl92.g:1521:9: ( cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end -> ^( PARTITION STRING ) ) - # sdl92.g:1521:17: cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end + # sdl92.g:1549:9: ( cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end -> ^( PARTITION STRING ) ) + # sdl92.g:1549:17: cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_partition17155) - cif_decl793 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_partition17555) + cif_decl815 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl793.tree) + stream_cif_decl.add(cif_decl815.tree) - KEEP794 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_partition17157) + KEEP816 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_partition17557) if self._state.backtracking == 0: - stream_KEEP.add(KEEP794) + stream_KEEP.add(KEEP816) - SPECIFIC795 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_partition17159) + SPECIFIC817 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_partition17559) if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC795) + stream_SPECIFIC.add(SPECIFIC817) - GEODE796 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_partition17161) + GEODE818 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_partition17561) if self._state.backtracking == 0: - stream_GEODE.add(GEODE796) + stream_GEODE.add(GEODE818) - PARTITION797 = self.match(self.input, PARTITION, self.FOLLOW_PARTITION_in_partition17163) + PARTITION819 = self.match(self.input, PARTITION, self.FOLLOW_PARTITION_in_partition17563) if self._state.backtracking == 0: - stream_PARTITION.add(PARTITION797) + stream_PARTITION.add(PARTITION819) - STRING798 = self.match(self.input, STRING, self.FOLLOW_STRING_in_partition17165) + STRING820 = self.match(self.input, STRING, self.FOLLOW_STRING_in_partition17565) if self._state.backtracking == 0: - stream_STRING.add(STRING798) + stream_STRING.add(STRING820) - self._state.following.append(self.FOLLOW_cif_end_in_partition17183) - cif_end799 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_partition17583) + cif_end821 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end799.tree) + stream_cif_end.add(cif_end821.tree) # AST Rewrite @@ -32704,8 +32975,8 @@ def partition(self, ): root_0 = self._adaptor.nil() - # 1523:9: -> ^( PARTITION STRING ) - # sdl92.g:1523:17: ^( PARTITION STRING ) + # 1551:9: -> ^( PARTITION STRING ) + # sdl92.g:1551:17: ^( PARTITION STRING ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PARTITION.nextNode() @@ -32758,7 +33029,7 @@ def __init__(self): # $ANTLR start "symbolid" - # sdl92.g:1527:1: symbolid : cif_decl '_id' ptr= INT cif_end -> ^( SYMBOLID $ptr) ; + # sdl92.g:1555:1: symbolid : cif_decl '_id' ptr= INT cif_end -> ^( SYMBOLID $ptr) ; def symbolid(self, ): retval = self.symbolid_return() retval.start = self.input.LT(1) @@ -32767,45 +33038,45 @@ def symbolid(self, ): root_0 = None ptr = None - string_literal801 = None - cif_decl800 = None - cif_end802 = None + string_literal823 = None + cif_decl822 = None + cif_end824 = None ptr_tree = None - string_literal801_tree = None - stream_254 = RewriteRuleTokenStream(self._adaptor, "token 254") + string_literal823_tree = None + stream_256 = RewriteRuleTokenStream(self._adaptor, "token 256") stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") try: try: - # sdl92.g:1528:9: ( cif_decl '_id' ptr= INT cif_end -> ^( SYMBOLID $ptr) ) - # sdl92.g:1528:17: cif_decl '_id' ptr= INT cif_end + # sdl92.g:1556:9: ( cif_decl '_id' ptr= INT cif_end -> ^( SYMBOLID $ptr) ) + # sdl92.g:1556:17: cif_decl '_id' ptr= INT cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_symbolid17236) - cif_decl800 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_symbolid17636) + cif_decl822 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl800.tree) + stream_cif_decl.add(cif_decl822.tree) - string_literal801 = self.match(self.input, 254, self.FOLLOW_254_in_symbolid17238) + string_literal823 = self.match(self.input, 256, self.FOLLOW_256_in_symbolid17638) if self._state.backtracking == 0: - stream_254.add(string_literal801) + stream_256.add(string_literal823) - ptr = self.match(self.input, INT, self.FOLLOW_INT_in_symbolid17242) + ptr = self.match(self.input, INT, self.FOLLOW_INT_in_symbolid17642) if self._state.backtracking == 0: stream_INT.add(ptr) - self._state.following.append(self.FOLLOW_cif_end_in_symbolid17244) - cif_end802 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_symbolid17644) + cif_end824 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end802.tree) + stream_cif_end.add(cif_end824.tree) # AST Rewrite @@ -32825,8 +33096,8 @@ def symbolid(self, ): root_0 = self._adaptor.nil() - # 1529:9: -> ^( SYMBOLID $ptr) - # sdl92.g:1529:17: ^( SYMBOLID $ptr) + # 1557:9: -> ^( SYMBOLID $ptr) + # sdl92.g:1557:17: ^( SYMBOLID $ptr) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(SYMBOLID, "SYMBOLID") @@ -32877,7 +33148,7 @@ def __init__(self): # $ANTLR start "paramnames" - # sdl92.g:1539:1: paramnames : cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end -> ^( PARAMNAMES ( field_name )+ ) ; + # sdl92.g:1567:1: paramnames : cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end -> ^( PARAMNAMES ( field_name )+ ) ; def paramnames(self, ): retval = self.paramnames_return() retval.start = self.input.LT(1) @@ -32885,18 +33156,18 @@ def paramnames(self, ): root_0 = None - KEEP804 = None - SPECIFIC805 = None - GEODE806 = None - PARAMNAMES807 = None - cif_decl803 = None - field_name808 = None - cif_end809 = None - - KEEP804_tree = None - SPECIFIC805_tree = None - GEODE806_tree = None - PARAMNAMES807_tree = None + KEEP826 = None + SPECIFIC827 = None + GEODE828 = None + PARAMNAMES829 = None + cif_decl825 = None + field_name830 = None + cif_end831 = None + + KEEP826_tree = None + SPECIFIC827_tree = None + GEODE828_tree = None + PARAMNAMES829_tree = None stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") @@ -32906,79 +33177,79 @@ def paramnames(self, ): stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") try: try: - # sdl92.g:1540:9: ( cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end -> ^( PARAMNAMES ( field_name )+ ) ) - # sdl92.g:1540:17: cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end + # sdl92.g:1568:9: ( cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end -> ^( PARAMNAMES ( field_name )+ ) ) + # sdl92.g:1568:17: cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_paramnames17299) - cif_decl803 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_paramnames17699) + cif_decl825 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl803.tree) + stream_cif_decl.add(cif_decl825.tree) - KEEP804 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_paramnames17301) + KEEP826 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_paramnames17701) if self._state.backtracking == 0: - stream_KEEP.add(KEEP804) + stream_KEEP.add(KEEP826) - SPECIFIC805 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_paramnames17303) + SPECIFIC827 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_paramnames17703) if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC805) + stream_SPECIFIC.add(SPECIFIC827) - GEODE806 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_paramnames17305) + GEODE828 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_paramnames17705) if self._state.backtracking == 0: - stream_GEODE.add(GEODE806) + stream_GEODE.add(GEODE828) - PARAMNAMES807 = self.match(self.input, PARAMNAMES, self.FOLLOW_PARAMNAMES_in_paramnames17307) + PARAMNAMES829 = self.match(self.input, PARAMNAMES, self.FOLLOW_PARAMNAMES_in_paramnames17707) if self._state.backtracking == 0: - stream_PARAMNAMES.add(PARAMNAMES807) + stream_PARAMNAMES.add(PARAMNAMES829) - # sdl92.g:1540:57: ( field_name )+ - cnt304 = 0 - while True: #loop304 - alt304 = 2 - LA304_0 = self.input.LA(1) + # sdl92.g:1568:57: ( field_name )+ + cnt312 = 0 + while True: #loop312 + alt312 = 2 + LA312_0 = self.input.LA(1) - if (LA304_0 in {ID, STATE}) : - alt304 = 1 + if (LA312_0 in {ID, STATE}) : + alt312 = 1 - if alt304 == 1: - # sdl92.g:1540:57: field_name + if alt312 == 1: + # sdl92.g:1568:57: field_name pass - self._state.following.append(self.FOLLOW_field_name_in_paramnames17309) - field_name808 = self.field_name() + self._state.following.append(self.FOLLOW_field_name_in_paramnames17709) + field_name830 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: - stream_field_name.add(field_name808.tree) + stream_field_name.add(field_name830.tree) else: - if cnt304 >= 1: - break #loop304 + if cnt312 >= 1: + break #loop312 if self._state.backtracking > 0: raise BacktrackingFailed - eee = EarlyExitException(304, self.input) + eee = EarlyExitException(312, self.input) raise eee - cnt304 += 1 + cnt312 += 1 - self._state.following.append(self.FOLLOW_cif_end_in_paramnames17312) - cif_end809 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_paramnames17712) + cif_end831 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end809.tree) + stream_cif_end.add(cif_end831.tree) # AST Rewrite @@ -32997,14 +33268,14 @@ def paramnames(self, ): root_0 = self._adaptor.nil() - # 1541:9: -> ^( PARAMNAMES ( field_name )+ ) - # sdl92.g:1541:17: ^( PARAMNAMES ( field_name )+ ) + # 1569:9: -> ^( PARAMNAMES ( field_name )+ ) + # sdl92.g:1569:17: ^( PARAMNAMES ( field_name )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_PARAMNAMES.nextNode() , root_1) - # sdl92.g:1541:30: ( field_name )+ + # sdl92.g:1569:30: ( field_name )+ if not (stream_field_name.hasNext()): raise RewriteEarlyExitException() @@ -33057,7 +33328,7 @@ def __init__(self): # $ANTLR start "use_asn1" - # sdl92.g:1549:1: use_asn1 : cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end -> ^( ASN1 STRING ) ; + # sdl92.g:1577:1: use_asn1 : cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end -> ^( ASN1 STRING ) ; def use_asn1(self, ): retval = self.use_asn1_return() retval.start = self.input.LT(1) @@ -33065,19 +33336,19 @@ def use_asn1(self, ): root_0 = None - KEEP811 = None - SPECIFIC812 = None - GEODE813 = None - ASNFILENAME814 = None - STRING815 = None - cif_decl810 = None - cif_end816 = None - - KEEP811_tree = None - SPECIFIC812_tree = None - GEODE813_tree = None - ASNFILENAME814_tree = None - STRING815_tree = None + KEEP833 = None + SPECIFIC834 = None + GEODE835 = None + ASNFILENAME836 = None + STRING837 = None + cif_decl832 = None + cif_end838 = None + + KEEP833_tree = None + SPECIFIC834_tree = None + GEODE835_tree = None + ASNFILENAME836_tree = None + STRING837_tree = None stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") stream_ASNFILENAME = RewriteRuleTokenStream(self._adaptor, "token ASNFILENAME") @@ -33087,48 +33358,48 @@ def use_asn1(self, ): stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") try: try: - # sdl92.g:1550:9: ( cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end -> ^( ASN1 STRING ) ) - # sdl92.g:1550:17: cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end + # sdl92.g:1578:9: ( cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end -> ^( ASN1 STRING ) ) + # sdl92.g:1578:17: cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_use_asn117368) - cif_decl810 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_use_asn117768) + cif_decl832 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl810.tree) + stream_cif_decl.add(cif_decl832.tree) - KEEP811 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_use_asn117370) + KEEP833 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_use_asn117770) if self._state.backtracking == 0: - stream_KEEP.add(KEEP811) + stream_KEEP.add(KEEP833) - SPECIFIC812 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_use_asn117372) + SPECIFIC834 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_use_asn117772) if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC812) + stream_SPECIFIC.add(SPECIFIC834) - GEODE813 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_use_asn117374) + GEODE835 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_use_asn117774) if self._state.backtracking == 0: - stream_GEODE.add(GEODE813) + stream_GEODE.add(GEODE835) - ASNFILENAME814 = self.match(self.input, ASNFILENAME, self.FOLLOW_ASNFILENAME_in_use_asn117376) + ASNFILENAME836 = self.match(self.input, ASNFILENAME, self.FOLLOW_ASNFILENAME_in_use_asn117776) if self._state.backtracking == 0: - stream_ASNFILENAME.add(ASNFILENAME814) + stream_ASNFILENAME.add(ASNFILENAME836) - STRING815 = self.match(self.input, STRING, self.FOLLOW_STRING_in_use_asn117378) + STRING837 = self.match(self.input, STRING, self.FOLLOW_STRING_in_use_asn117778) if self._state.backtracking == 0: - stream_STRING.add(STRING815) + stream_STRING.add(STRING837) - self._state.following.append(self.FOLLOW_cif_end_in_use_asn117380) - cif_end816 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_use_asn117780) + cif_end838 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end816.tree) + stream_cif_end.add(cif_end838.tree) # AST Rewrite @@ -33147,8 +33418,8 @@ def use_asn1(self, ): root_0 = self._adaptor.nil() - # 1551:9: -> ^( ASN1 STRING ) - # sdl92.g:1551:17: ^( ASN1 STRING ) + # 1579:9: -> ^( ASN1 STRING ) + # sdl92.g:1579:17: ^( ASN1 STRING ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(ASN1, "ASN1") @@ -33201,7 +33472,7 @@ def __init__(self): # $ANTLR start "stop_if" - # sdl92.g:1557:1: stop_if : ( STOP IF expression end )+ -> ^( STOPIF ( expression )+ ) ; + # sdl92.g:1585:1: stop_if : ( STOP IF expression end )+ -> ^( STOPIF ( expression )+ ) ; def stop_if(self, ): retval = self.stop_if_return() retval.start = self.input.LT(1) @@ -33209,74 +33480,74 @@ def stop_if(self, ): root_0 = None - STOP817 = None - IF818 = None - expression819 = None - end820 = None + STOP839 = None + IF840 = None + expression841 = None + end842 = None - STOP817_tree = None - IF818_tree = None + STOP839_tree = None + IF840_tree = None stream_STOP = RewriteRuleTokenStream(self._adaptor, "token STOP") stream_IF = RewriteRuleTokenStream(self._adaptor, "token IF") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:1558:9: ( ( STOP IF expression end )+ -> ^( STOPIF ( expression )+ ) ) - # sdl92.g:1558:17: ( STOP IF expression end )+ + # sdl92.g:1586:9: ( ( STOP IF expression end )+ -> ^( STOPIF ( expression )+ ) ) + # sdl92.g:1586:17: ( STOP IF expression end )+ pass - # sdl92.g:1558:17: ( STOP IF expression end )+ - cnt305 = 0 - while True: #loop305 - alt305 = 2 - LA305_0 = self.input.LA(1) + # sdl92.g:1586:17: ( STOP IF expression end )+ + cnt313 = 0 + while True: #loop313 + alt313 = 2 + LA313_0 = self.input.LA(1) - if (LA305_0 == STOP) : - alt305 = 1 + if (LA313_0 == STOP) : + alt313 = 1 - if alt305 == 1: - # sdl92.g:1558:18: STOP IF expression end + if alt313 == 1: + # sdl92.g:1586:18: STOP IF expression end pass - STOP817 = self.match(self.input, STOP, self.FOLLOW_STOP_in_stop_if17436) + STOP839 = self.match(self.input, STOP, self.FOLLOW_STOP_in_stop_if17836) if self._state.backtracking == 0: - stream_STOP.add(STOP817) + stream_STOP.add(STOP839) - IF818 = self.match(self.input, IF, self.FOLLOW_IF_in_stop_if17438) + IF840 = self.match(self.input, IF, self.FOLLOW_IF_in_stop_if17838) if self._state.backtracking == 0: - stream_IF.add(IF818) + stream_IF.add(IF840) - self._state.following.append(self.FOLLOW_expression_in_stop_if17440) - expression819 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_stop_if17840) + expression841 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression819.tree) + stream_expression.add(expression841.tree) - self._state.following.append(self.FOLLOW_end_in_stop_if17442) - end820 = self.end() + self._state.following.append(self.FOLLOW_end_in_stop_if17842) + end842 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end820.tree) + stream_end.add(end842.tree) else: - if cnt305 >= 1: - break #loop305 + if cnt313 >= 1: + break #loop313 if self._state.backtracking > 0: raise BacktrackingFailed - eee = EarlyExitException(305, self.input) + eee = EarlyExitException(313, self.input) raise eee - cnt305 += 1 + cnt313 += 1 # AST Rewrite @@ -33295,14 +33566,14 @@ def stop_if(self, ): root_0 = self._adaptor.nil() - # 1559:9: -> ^( STOPIF ( expression )+ ) - # sdl92.g:1559:17: ^( STOPIF ( expression )+ ) + # 1587:9: -> ^( STOPIF ( expression )+ ) + # sdl92.g:1587:17: ^( STOPIF ( expression )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(STOPIF, "STOPIF") , root_1) - # sdl92.g:1559:26: ( expression )+ + # sdl92.g:1587:26: ( expression )+ if not (stream_expression.hasNext()): raise RewriteEarlyExitException() @@ -33355,7 +33626,7 @@ def __init__(self): # $ANTLR start "symbolname" - # sdl92.g:1563:1: symbolname : ( START | INPUT | OUTPUT | STATE | PROCEDURE | PROCESS | PROCEDURE_CALL | STOP | RETURN | DECISION | ALTERNATIVE | TEXT | TASK | NEXTSTATE | ANSWER | PROVIDED | COMMENT | LABEL | JOIN | CONNECT | CREATE ); + # sdl92.g:1591:1: symbolname : ( START | INPUT | OUTPUT | STATE | PROCEDURE | PROCESS | PROCEDURE_CALL | STOP | RETURN | DECISION | ALTERNATIVE | TEXT | TASK | NEXTSTATE | ANSWER | PROVIDED | COMMENT | LABEL | JOIN | CONNECT | CREATE ); def symbolname(self, ): retval = self.symbolname_return() retval.start = self.input.LT(1) @@ -33363,24 +33634,24 @@ def symbolname(self, ): root_0 = None - set821 = None + set843 = None - set821_tree = None + set843_tree = None try: try: - # sdl92.g:1564:9: ( START | INPUT | OUTPUT | STATE | PROCEDURE | PROCESS | PROCEDURE_CALL | STOP | RETURN | DECISION | ALTERNATIVE | TEXT | TASK | NEXTSTATE | ANSWER | PROVIDED | COMMENT | LABEL | JOIN | CONNECT | CREATE ) + # sdl92.g:1592:9: ( START | INPUT | OUTPUT | STATE | PROCEDURE | PROCESS | PROCEDURE_CALL | STOP | RETURN | DECISION | ALTERNATIVE | TEXT | TASK | NEXTSTATE | ANSWER | PROVIDED | COMMENT | LABEL | JOIN | CONNECT | CREATE ) # sdl92.g: pass root_0 = self._adaptor.nil() - set821 = self.input.LT(1) + set843 = self.input.LT(1) if self.input.LA(1) in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: self.input.consume() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set821)) + self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set843)) self._state.errorRecovery = False @@ -33429,7 +33700,7 @@ def __init__(self): # $ANTLR start "cif_decl" - # sdl92.g:1588:1: cif_decl : '/* CIF' ; + # sdl92.g:1616:1: cif_decl : '/* CIF' ; def cif_decl(self, ): retval = self.cif_decl_return() retval.start = self.input.LT(1) @@ -33437,22 +33708,22 @@ def cif_decl(self, ): root_0 = None - string_literal822 = None + string_literal844 = None - string_literal822_tree = None + string_literal844_tree = None try: try: - # sdl92.g:1589:9: ( '/* CIF' ) - # sdl92.g:1589:17: '/* CIF' + # sdl92.g:1617:9: ( '/* CIF' ) + # sdl92.g:1617:17: '/* CIF' pass root_0 = self._adaptor.nil() - string_literal822 = self.match(self.input, 252, self.FOLLOW_252_in_cif_decl17930) + string_literal844 = self.match(self.input, 254, self.FOLLOW_254_in_cif_decl18330) if self._state.backtracking == 0: - string_literal822_tree = self._adaptor.createWithPayload(string_literal822) - self._adaptor.addChild(root_0, string_literal822_tree) + string_literal844_tree = self._adaptor.createWithPayload(string_literal844) + self._adaptor.addChild(root_0, string_literal844_tree) @@ -33490,7 +33761,7 @@ def __init__(self): # $ANTLR start "cif_end" - # sdl92.g:1593:1: cif_end : '*/' ; + # sdl92.g:1621:1: cif_end : '*/' ; def cif_end(self, ): retval = self.cif_end_return() retval.start = self.input.LT(1) @@ -33498,22 +33769,22 @@ def cif_end(self, ): root_0 = None - string_literal823 = None + string_literal845 = None - string_literal823_tree = None + string_literal845_tree = None try: try: - # sdl92.g:1594:9: ( '*/' ) - # sdl92.g:1594:17: '*/' + # sdl92.g:1622:9: ( '*/' ) + # sdl92.g:1622:17: '*/' pass root_0 = self._adaptor.nil() - string_literal823 = self.match(self.input, 248, self.FOLLOW_248_in_cif_end17962) + string_literal845 = self.match(self.input, 250, self.FOLLOW_250_in_cif_end18362) if self._state.backtracking == 0: - string_literal823_tree = self._adaptor.createWithPayload(string_literal823) - self._adaptor.addChild(root_0, string_literal823_tree) + string_literal845_tree = self._adaptor.createWithPayload(string_literal845) + self._adaptor.addChild(root_0, string_literal845_tree) @@ -33551,7 +33822,7 @@ def __init__(self): # $ANTLR start "cif_end_text" - # sdl92.g:1598:1: cif_end_text : cif_decl ENDTEXT cif_end -> ^( ENDTEXT ) ; + # sdl92.g:1626:1: cif_end_text : cif_decl ENDTEXT cif_end -> ^( ENDTEXT ) ; def cif_end_text(self, ): retval = self.cif_end_text_return() retval.start = self.input.LT(1) @@ -33559,38 +33830,38 @@ def cif_end_text(self, ): root_0 = None - ENDTEXT825 = None - cif_decl824 = None - cif_end826 = None + ENDTEXT847 = None + cif_decl846 = None + cif_end848 = None - ENDTEXT825_tree = None + ENDTEXT847_tree = None stream_ENDTEXT = RewriteRuleTokenStream(self._adaptor, "token ENDTEXT") stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") try: try: - # sdl92.g:1599:9: ( cif_decl ENDTEXT cif_end -> ^( ENDTEXT ) ) - # sdl92.g:1599:17: cif_decl ENDTEXT cif_end + # sdl92.g:1627:9: ( cif_decl ENDTEXT cif_end -> ^( ENDTEXT ) ) + # sdl92.g:1627:17: cif_decl ENDTEXT cif_end pass - self._state.following.append(self.FOLLOW_cif_decl_in_cif_end_text17994) - cif_decl824 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_cif_end_text18394) + cif_decl846 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl824.tree) + stream_cif_decl.add(cif_decl846.tree) - ENDTEXT825 = self.match(self.input, ENDTEXT, self.FOLLOW_ENDTEXT_in_cif_end_text17996) + ENDTEXT847 = self.match(self.input, ENDTEXT, self.FOLLOW_ENDTEXT_in_cif_end_text18396) if self._state.backtracking == 0: - stream_ENDTEXT.add(ENDTEXT825) + stream_ENDTEXT.add(ENDTEXT847) - self._state.following.append(self.FOLLOW_cif_end_in_cif_end_text17998) - cif_end826 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_cif_end_text18398) + cif_end848 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end826.tree) + stream_cif_end.add(cif_end848.tree) # AST Rewrite @@ -33609,8 +33880,8 @@ def cif_end_text(self, ): root_0 = self._adaptor.nil() - # 1600:9: -> ^( ENDTEXT ) - # sdl92.g:1600:17: ^( ENDTEXT ) + # 1628:9: -> ^( ENDTEXT ) + # sdl92.g:1628:17: ^( ENDTEXT ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ENDTEXT.nextNode() @@ -33659,7 +33930,7 @@ def __init__(self): # $ANTLR start "cif_end_label" - # sdl92.g:1604:1: cif_end_label : cif_decl END LABEL cif_end ; + # sdl92.g:1632:1: cif_end_label : cif_decl END LABEL cif_end ; def cif_end_label(self, ): retval = self.cif_end_label_return() retval.start = self.input.LT(1) @@ -33667,50 +33938,50 @@ def cif_end_label(self, ): root_0 = None - END828 = None - LABEL829 = None - cif_decl827 = None - cif_end830 = None + END850 = None + LABEL851 = None + cif_decl849 = None + cif_end852 = None - END828_tree = None - LABEL829_tree = None + END850_tree = None + LABEL851_tree = None try: try: - # sdl92.g:1605:9: ( cif_decl END LABEL cif_end ) - # sdl92.g:1605:17: cif_decl END LABEL cif_end + # sdl92.g:1633:9: ( cif_decl END LABEL cif_end ) + # sdl92.g:1633:17: cif_decl END LABEL cif_end pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_cif_decl_in_cif_end_label18049) - cif_decl827 = self.cif_decl() + self._state.following.append(self.FOLLOW_cif_decl_in_cif_end_label18449) + cif_decl849 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, cif_decl827.tree) + self._adaptor.addChild(root_0, cif_decl849.tree) - END828 = self.match(self.input, END, self.FOLLOW_END_in_cif_end_label18051) + END850 = self.match(self.input, END, self.FOLLOW_END_in_cif_end_label18451) if self._state.backtracking == 0: - END828_tree = self._adaptor.createWithPayload(END828) - self._adaptor.addChild(root_0, END828_tree) + END850_tree = self._adaptor.createWithPayload(END850) + self._adaptor.addChild(root_0, END850_tree) - LABEL829 = self.match(self.input, LABEL, self.FOLLOW_LABEL_in_cif_end_label18053) + LABEL851 = self.match(self.input, LABEL, self.FOLLOW_LABEL_in_cif_end_label18453) if self._state.backtracking == 0: - LABEL829_tree = self._adaptor.createWithPayload(LABEL829) - self._adaptor.addChild(root_0, LABEL829_tree) + LABEL851_tree = self._adaptor.createWithPayload(LABEL851) + self._adaptor.addChild(root_0, LABEL851_tree) - self._state.following.append(self.FOLLOW_cif_end_in_cif_end_label18055) - cif_end830 = self.cif_end() + self._state.following.append(self.FOLLOW_cif_end_in_cif_end_label18455) + cif_end852 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, cif_end830.tree) + self._adaptor.addChild(root_0, cif_end852.tree) @@ -33747,7 +34018,7 @@ def __init__(self): # $ANTLR start "n7s_scl" - # sdl92.g:1610:1: n7s_scl : ( n7s_scl_statement )* -> ^( N7S_SCL ( n7s_scl_statement )* ) ; + # sdl92.g:1638:1: n7s_scl : ( n7s_scl_statement )* -> ^( N7S_SCL ( n7s_scl_statement )* ) ; def n7s_scl(self, ): retval = self.n7s_scl_return() retval.start = self.input.LT(1) @@ -33755,37 +34026,37 @@ def n7s_scl(self, ): root_0 = None - n7s_scl_statement831 = None + n7s_scl_statement853 = None stream_n7s_scl_statement = RewriteRuleSubtreeStream(self._adaptor, "rule n7s_scl_statement") try: try: - # sdl92.g:1611:9: ( ( n7s_scl_statement )* -> ^( N7S_SCL ( n7s_scl_statement )* ) ) - # sdl92.g:1611:17: ( n7s_scl_statement )* + # sdl92.g:1639:9: ( ( n7s_scl_statement )* -> ^( N7S_SCL ( n7s_scl_statement )* ) ) + # sdl92.g:1639:17: ( n7s_scl_statement )* pass - # sdl92.g:1611:17: ( n7s_scl_statement )* - while True: #loop306 - alt306 = 2 - LA306_0 = self.input.LA(1) + # sdl92.g:1639:17: ( n7s_scl_statement )* + while True: #loop314 + alt314 = 2 + LA314_0 = self.input.LA(1) - if (LA306_0 in {ALWAYS, EVENTUALLY, FILTER_OUT, NEVER}) : - alt306 = 1 + if (LA314_0 in {ALWAYS, EVENTUALLY, FILTER_OUT, NEVER}) : + alt314 = 1 - if alt306 == 1: - # sdl92.g:1611:18: n7s_scl_statement + if alt314 == 1: + # sdl92.g:1639:18: n7s_scl_statement pass - self._state.following.append(self.FOLLOW_n7s_scl_statement_in_n7s_scl18089) - n7s_scl_statement831 = self.n7s_scl_statement() + self._state.following.append(self.FOLLOW_n7s_scl_statement_in_n7s_scl18489) + n7s_scl_statement853 = self.n7s_scl_statement() self._state.following.pop() if self._state.backtracking == 0: - stream_n7s_scl_statement.add(n7s_scl_statement831.tree) + stream_n7s_scl_statement.add(n7s_scl_statement853.tree) else: - break #loop306 + break #loop314 # AST Rewrite @@ -33804,14 +34075,14 @@ def n7s_scl(self, ): root_0 = self._adaptor.nil() - # 1612:9: -> ^( N7S_SCL ( n7s_scl_statement )* ) - # sdl92.g:1612:17: ^( N7S_SCL ( n7s_scl_statement )* ) + # 1640:9: -> ^( N7S_SCL ( n7s_scl_statement )* ) + # sdl92.g:1640:17: ^( N7S_SCL ( n7s_scl_statement )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(N7S_SCL, "N7S_SCL") , root_1) - # sdl92.g:1612:27: ( n7s_scl_statement )* + # sdl92.g:1640:27: ( n7s_scl_statement )* while stream_n7s_scl_statement.hasNext(): self._adaptor.addChild(root_1, stream_n7s_scl_statement.nextTree()) @@ -33861,7 +34132,7 @@ def __init__(self): # $ANTLR start "n7s_scl_statement" - # sdl92.g:1615:1: n7s_scl_statement : ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) ; + # sdl92.g:1643:1: n7s_scl_statement : ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) ; def n7s_scl_statement(self, ): retval = self.n7s_scl_statement_return() retval.start = self.input.LT(1) @@ -33869,86 +34140,86 @@ def n7s_scl_statement(self, ): root_0 = None - n7s_scl_never832 = None - n7s_scl_always833 = None - n7s_scl_eventually834 = None - n7s_scl_filter_out835 = None + n7s_scl_never854 = None + n7s_scl_always855 = None + n7s_scl_eventually856 = None + n7s_scl_filter_out857 = None try: try: - # sdl92.g:1616:9: ( ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) ) - # sdl92.g:1616:17: ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) + # sdl92.g:1644:9: ( ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) ) + # sdl92.g:1644:17: ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) pass root_0 = self._adaptor.nil() - # sdl92.g:1616:17: ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) - alt307 = 4 - LA307 = self.input.LA(1) - if LA307 in {NEVER}: - alt307 = 1 - elif LA307 in {ALWAYS}: - alt307 = 2 - elif LA307 in {EVENTUALLY}: - alt307 = 3 - elif LA307 in {FILTER_OUT}: - alt307 = 4 + # sdl92.g:1644:17: ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) + alt315 = 4 + LA315 = self.input.LA(1) + if LA315 in {NEVER}: + alt315 = 1 + elif LA315 in {ALWAYS}: + alt315 = 2 + elif LA315 in {EVENTUALLY}: + alt315 = 3 + elif LA315 in {FILTER_OUT}: + alt315 = 4 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 307, 0, self.input) + nvae = NoViableAltException("", 315, 0, self.input) raise nvae - if alt307 == 1: - # sdl92.g:1616:18: n7s_scl_never + if alt315 == 1: + # sdl92.g:1644:18: n7s_scl_never pass - self._state.following.append(self.FOLLOW_n7s_scl_never_in_n7s_scl_statement18145) - n7s_scl_never832 = self.n7s_scl_never() + self._state.following.append(self.FOLLOW_n7s_scl_never_in_n7s_scl_statement18545) + n7s_scl_never854 = self.n7s_scl_never() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, n7s_scl_never832.tree) + self._adaptor.addChild(root_0, n7s_scl_never854.tree) - elif alt307 == 2: - # sdl92.g:1616:34: n7s_scl_always + elif alt315 == 2: + # sdl92.g:1644:34: n7s_scl_always pass - self._state.following.append(self.FOLLOW_n7s_scl_always_in_n7s_scl_statement18149) - n7s_scl_always833 = self.n7s_scl_always() + self._state.following.append(self.FOLLOW_n7s_scl_always_in_n7s_scl_statement18549) + n7s_scl_always855 = self.n7s_scl_always() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, n7s_scl_always833.tree) + self._adaptor.addChild(root_0, n7s_scl_always855.tree) - elif alt307 == 3: - # sdl92.g:1616:51: n7s_scl_eventually + elif alt315 == 3: + # sdl92.g:1644:51: n7s_scl_eventually pass - self._state.following.append(self.FOLLOW_n7s_scl_eventually_in_n7s_scl_statement18153) - n7s_scl_eventually834 = self.n7s_scl_eventually() + self._state.following.append(self.FOLLOW_n7s_scl_eventually_in_n7s_scl_statement18553) + n7s_scl_eventually856 = self.n7s_scl_eventually() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, n7s_scl_eventually834.tree) + self._adaptor.addChild(root_0, n7s_scl_eventually856.tree) - elif alt307 == 4: - # sdl92.g:1616:72: n7s_scl_filter_out + elif alt315 == 4: + # sdl92.g:1644:72: n7s_scl_filter_out pass - self._state.following.append(self.FOLLOW_n7s_scl_filter_out_in_n7s_scl_statement18157) - n7s_scl_filter_out835 = self.n7s_scl_filter_out() + self._state.following.append(self.FOLLOW_n7s_scl_filter_out_in_n7s_scl_statement18557) + n7s_scl_filter_out857 = self.n7s_scl_filter_out() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, n7s_scl_filter_out835.tree) + self._adaptor.addChild(root_0, n7s_scl_filter_out857.tree) @@ -33988,7 +34259,7 @@ def __init__(self): # $ANTLR start "n7s_scl_never" - # sdl92.g:1619:1: n7s_scl_never : ( NEVER expression end ) -> ^( NEVER expression ) ; + # sdl92.g:1647:1: n7s_scl_never : ( NEVER expression end ) -> ^( NEVER expression ) ; def n7s_scl_never(self, ): retval = self.n7s_scl_never_return() retval.start = self.input.LT(1) @@ -33996,41 +34267,41 @@ def n7s_scl_never(self, ): root_0 = None - NEVER836 = None - expression837 = None - end838 = None + NEVER858 = None + expression859 = None + end860 = None - NEVER836_tree = None + NEVER858_tree = None stream_NEVER = RewriteRuleTokenStream(self._adaptor, "token NEVER") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:1620:9: ( ( NEVER expression end ) -> ^( NEVER expression ) ) - # sdl92.g:1620:17: ( NEVER expression end ) + # sdl92.g:1648:9: ( ( NEVER expression end ) -> ^( NEVER expression ) ) + # sdl92.g:1648:17: ( NEVER expression end ) pass - # sdl92.g:1620:17: ( NEVER expression end ) - # sdl92.g:1620:18: NEVER expression end + # sdl92.g:1648:17: ( NEVER expression end ) + # sdl92.g:1648:18: NEVER expression end pass - NEVER836 = self.match(self.input, NEVER, self.FOLLOW_NEVER_in_n7s_scl_never18190) + NEVER858 = self.match(self.input, NEVER, self.FOLLOW_NEVER_in_n7s_scl_never18590) if self._state.backtracking == 0: - stream_NEVER.add(NEVER836) + stream_NEVER.add(NEVER858) - self._state.following.append(self.FOLLOW_expression_in_n7s_scl_never18192) - expression837 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_n7s_scl_never18592) + expression859 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression837.tree) + stream_expression.add(expression859.tree) - self._state.following.append(self.FOLLOW_end_in_n7s_scl_never18194) - end838 = self.end() + self._state.following.append(self.FOLLOW_end_in_n7s_scl_never18594) + end860 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end838.tree) + stream_end.add(end860.tree) @@ -34052,8 +34323,8 @@ def n7s_scl_never(self, ): root_0 = self._adaptor.nil() - # 1621:9: -> ^( NEVER expression ) - # sdl92.g:1621:17: ^( NEVER expression ) + # 1649:9: -> ^( NEVER expression ) + # sdl92.g:1649:17: ^( NEVER expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_NEVER.nextNode() @@ -34104,7 +34375,7 @@ def __init__(self): # $ANTLR start "n7s_scl_always" - # sdl92.g:1624:1: n7s_scl_always : ( ALWAYS expression end ) -> ^( ALWAYS expression ) ; + # sdl92.g:1652:1: n7s_scl_always : ( ALWAYS expression end ) -> ^( ALWAYS expression ) ; def n7s_scl_always(self, ): retval = self.n7s_scl_always_return() retval.start = self.input.LT(1) @@ -34112,41 +34383,41 @@ def n7s_scl_always(self, ): root_0 = None - ALWAYS839 = None - expression840 = None - end841 = None + ALWAYS861 = None + expression862 = None + end863 = None - ALWAYS839_tree = None + ALWAYS861_tree = None stream_ALWAYS = RewriteRuleTokenStream(self._adaptor, "token ALWAYS") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:1625:9: ( ( ALWAYS expression end ) -> ^( ALWAYS expression ) ) - # sdl92.g:1625:17: ( ALWAYS expression end ) + # sdl92.g:1653:9: ( ( ALWAYS expression end ) -> ^( ALWAYS expression ) ) + # sdl92.g:1653:17: ( ALWAYS expression end ) pass - # sdl92.g:1625:17: ( ALWAYS expression end ) - # sdl92.g:1625:18: ALWAYS expression end + # sdl92.g:1653:17: ( ALWAYS expression end ) + # sdl92.g:1653:18: ALWAYS expression end pass - ALWAYS839 = self.match(self.input, ALWAYS, self.FOLLOW_ALWAYS_in_n7s_scl_always18248) + ALWAYS861 = self.match(self.input, ALWAYS, self.FOLLOW_ALWAYS_in_n7s_scl_always18648) if self._state.backtracking == 0: - stream_ALWAYS.add(ALWAYS839) + stream_ALWAYS.add(ALWAYS861) - self._state.following.append(self.FOLLOW_expression_in_n7s_scl_always18250) - expression840 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_n7s_scl_always18650) + expression862 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression840.tree) + stream_expression.add(expression862.tree) - self._state.following.append(self.FOLLOW_end_in_n7s_scl_always18252) - end841 = self.end() + self._state.following.append(self.FOLLOW_end_in_n7s_scl_always18652) + end863 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end841.tree) + stream_end.add(end863.tree) @@ -34168,8 +34439,8 @@ def n7s_scl_always(self, ): root_0 = self._adaptor.nil() - # 1626:9: -> ^( ALWAYS expression ) - # sdl92.g:1626:17: ^( ALWAYS expression ) + # 1654:9: -> ^( ALWAYS expression ) + # sdl92.g:1654:17: ^( ALWAYS expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_ALWAYS.nextNode() @@ -34220,7 +34491,7 @@ def __init__(self): # $ANTLR start "n7s_scl_eventually" - # sdl92.g:1629:1: n7s_scl_eventually : ( EVENTUALLY expression end ) -> ^( EVENTUALLY expression ) ; + # sdl92.g:1657:1: n7s_scl_eventually : ( EVENTUALLY expression end ) -> ^( EVENTUALLY expression ) ; def n7s_scl_eventually(self, ): retval = self.n7s_scl_eventually_return() retval.start = self.input.LT(1) @@ -34228,41 +34499,41 @@ def n7s_scl_eventually(self, ): root_0 = None - EVENTUALLY842 = None - expression843 = None - end844 = None + EVENTUALLY864 = None + expression865 = None + end866 = None - EVENTUALLY842_tree = None + EVENTUALLY864_tree = None stream_EVENTUALLY = RewriteRuleTokenStream(self._adaptor, "token EVENTUALLY") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:1630:9: ( ( EVENTUALLY expression end ) -> ^( EVENTUALLY expression ) ) - # sdl92.g:1630:17: ( EVENTUALLY expression end ) + # sdl92.g:1658:9: ( ( EVENTUALLY expression end ) -> ^( EVENTUALLY expression ) ) + # sdl92.g:1658:17: ( EVENTUALLY expression end ) pass - # sdl92.g:1630:17: ( EVENTUALLY expression end ) - # sdl92.g:1630:18: EVENTUALLY expression end + # sdl92.g:1658:17: ( EVENTUALLY expression end ) + # sdl92.g:1658:18: EVENTUALLY expression end pass - EVENTUALLY842 = self.match(self.input, EVENTUALLY, self.FOLLOW_EVENTUALLY_in_n7s_scl_eventually18306) + EVENTUALLY864 = self.match(self.input, EVENTUALLY, self.FOLLOW_EVENTUALLY_in_n7s_scl_eventually18706) if self._state.backtracking == 0: - stream_EVENTUALLY.add(EVENTUALLY842) + stream_EVENTUALLY.add(EVENTUALLY864) - self._state.following.append(self.FOLLOW_expression_in_n7s_scl_eventually18308) - expression843 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_n7s_scl_eventually18708) + expression865 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression843.tree) + stream_expression.add(expression865.tree) - self._state.following.append(self.FOLLOW_end_in_n7s_scl_eventually18310) - end844 = self.end() + self._state.following.append(self.FOLLOW_end_in_n7s_scl_eventually18710) + end866 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end844.tree) + stream_end.add(end866.tree) @@ -34284,8 +34555,8 @@ def n7s_scl_eventually(self, ): root_0 = self._adaptor.nil() - # 1631:9: -> ^( EVENTUALLY expression ) - # sdl92.g:1631:17: ^( EVENTUALLY expression ) + # 1659:9: -> ^( EVENTUALLY expression ) + # sdl92.g:1659:17: ^( EVENTUALLY expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_EVENTUALLY.nextNode() @@ -34336,7 +34607,7 @@ def __init__(self): # $ANTLR start "n7s_scl_filter_out" - # sdl92.g:1634:1: n7s_scl_filter_out : ( FILTER_OUT expression end ) -> ^( FILTER_OUT expression ) ; + # sdl92.g:1662:1: n7s_scl_filter_out : ( FILTER_OUT expression end ) -> ^( FILTER_OUT expression ) ; def n7s_scl_filter_out(self, ): retval = self.n7s_scl_filter_out_return() retval.start = self.input.LT(1) @@ -34344,41 +34615,41 @@ def n7s_scl_filter_out(self, ): root_0 = None - FILTER_OUT845 = None - expression846 = None - end847 = None + FILTER_OUT867 = None + expression868 = None + end869 = None - FILTER_OUT845_tree = None + FILTER_OUT867_tree = None stream_FILTER_OUT = RewriteRuleTokenStream(self._adaptor, "token FILTER_OUT") stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:1635:9: ( ( FILTER_OUT expression end ) -> ^( FILTER_OUT expression ) ) - # sdl92.g:1635:17: ( FILTER_OUT expression end ) + # sdl92.g:1663:9: ( ( FILTER_OUT expression end ) -> ^( FILTER_OUT expression ) ) + # sdl92.g:1663:17: ( FILTER_OUT expression end ) pass - # sdl92.g:1635:17: ( FILTER_OUT expression end ) - # sdl92.g:1635:18: FILTER_OUT expression end + # sdl92.g:1663:17: ( FILTER_OUT expression end ) + # sdl92.g:1663:18: FILTER_OUT expression end pass - FILTER_OUT845 = self.match(self.input, FILTER_OUT, self.FOLLOW_FILTER_OUT_in_n7s_scl_filter_out18364) + FILTER_OUT867 = self.match(self.input, FILTER_OUT, self.FOLLOW_FILTER_OUT_in_n7s_scl_filter_out18764) if self._state.backtracking == 0: - stream_FILTER_OUT.add(FILTER_OUT845) + stream_FILTER_OUT.add(FILTER_OUT867) - self._state.following.append(self.FOLLOW_expression_in_n7s_scl_filter_out18366) - expression846 = self.expression() + self._state.following.append(self.FOLLOW_expression_in_n7s_scl_filter_out18766) + expression868 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression846.tree) + stream_expression.add(expression868.tree) - self._state.following.append(self.FOLLOW_end_in_n7s_scl_filter_out18368) - end847 = self.end() + self._state.following.append(self.FOLLOW_end_in_n7s_scl_filter_out18768) + end869 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end847.tree) + stream_end.add(end869.tree) @@ -34400,8 +34671,8 @@ def n7s_scl_filter_out(self, ): root_0 = self._adaptor.nil() - # 1636:9: -> ^( FILTER_OUT expression ) - # sdl92.g:1636:17: ^( FILTER_OUT expression ) + # 1664:9: -> ^( FILTER_OUT expression ) + # sdl92.g:1664:17: ^( FILTER_OUT expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_FILTER_OUT.nextNode() @@ -34452,7 +34723,7 @@ def __init__(self): # $ANTLR start "history_nextstate" - # sdl92.g:1647:1: history_nextstate : '-*' -> ^( HISTORY_NEXTSTATE ) ; + # sdl92.g:1675:1: history_nextstate : '-*' -> ^( HISTORY_NEXTSTATE ) ; def history_nextstate(self, ): retval = self.history_nextstate_return() retval.start = self.input.LT(1) @@ -34460,19 +34731,19 @@ def history_nextstate(self, ): root_0 = None - string_literal848 = None + string_literal870 = None - string_literal848_tree = None - stream_249 = RewriteRuleTokenStream(self._adaptor, "token 249") + string_literal870_tree = None + stream_251 = RewriteRuleTokenStream(self._adaptor, "token 251") try: try: - # sdl92.g:1648:9: ( '-*' -> ^( HISTORY_NEXTSTATE ) ) - # sdl92.g:1648:17: '-*' + # sdl92.g:1676:9: ( '-*' -> ^( HISTORY_NEXTSTATE ) ) + # sdl92.g:1676:17: '-*' pass - string_literal848 = self.match(self.input, 249, self.FOLLOW_249_in_history_nextstate18560) + string_literal870 = self.match(self.input, 251, self.FOLLOW_251_in_history_nextstate18960) if self._state.backtracking == 0: - stream_249.add(string_literal848) + stream_251.add(string_literal870) # AST Rewrite @@ -34491,8 +34762,8 @@ def history_nextstate(self, ): root_0 = self._adaptor.nil() - # 1648:23: -> ^( HISTORY_NEXTSTATE ) - # sdl92.g:1648:26: ^( HISTORY_NEXTSTATE ) + # 1676:23: -> ^( HISTORY_NEXTSTATE ) + # sdl92.g:1676:26: ^( HISTORY_NEXTSTATE ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(HISTORY_NEXTSTATE, "HISTORY_NEXTSTATE") @@ -34541,7 +34812,7 @@ def __init__(self): # $ANTLR start "dash_nextstate" - # sdl92.g:1651:1: dash_nextstate : DASH ; + # sdl92.g:1679:1: dash_nextstate : DASH ; def dash_nextstate(self, ): retval = self.dash_nextstate_return() retval.start = self.input.LT(1) @@ -34549,22 +34820,22 @@ def dash_nextstate(self, ): root_0 = None - DASH849 = None + DASH871 = None - DASH849_tree = None + DASH871_tree = None try: try: - # sdl92.g:1651:17: ( DASH ) - # sdl92.g:1651:25: DASH + # sdl92.g:1679:17: ( DASH ) + # sdl92.g:1679:25: DASH pass root_0 = self._adaptor.nil() - DASH849 = self.match(self.input, DASH, self.FOLLOW_DASH_in_dash_nextstate18591) + DASH871 = self.match(self.input, DASH, self.FOLLOW_DASH_in_dash_nextstate18991) if self._state.backtracking == 0: - DASH849_tree = self._adaptor.createWithPayload(DASH849) - self._adaptor.addChild(root_0, DASH849_tree) + DASH871_tree = self._adaptor.createWithPayload(DASH871) + self._adaptor.addChild(root_0, DASH871_tree) @@ -34602,7 +34873,7 @@ def __init__(self): # $ANTLR start "connector_name" - # sdl92.g:1652:1: connector_name : ID ; + # sdl92.g:1680:1: connector_name : ID ; def connector_name(self, ): retval = self.connector_name_return() retval.start = self.input.LT(1) @@ -34610,22 +34881,22 @@ def connector_name(self, ): root_0 = None - ID850 = None + ID872 = None - ID850_tree = None + ID872_tree = None try: try: - # sdl92.g:1652:17: ( ID ) - # sdl92.g:1652:25: ID + # sdl92.g:1680:17: ( ID ) + # sdl92.g:1680:25: ID pass root_0 = self._adaptor.nil() - ID850 = self.match(self.input, ID, self.FOLLOW_ID_in_connector_name18605) + ID872 = self.match(self.input, ID, self.FOLLOW_ID_in_connector_name19005) if self._state.backtracking == 0: - ID850_tree = self._adaptor.createWithPayload(ID850) - self._adaptor.addChild(root_0, ID850_tree) + ID872_tree = self._adaptor.createWithPayload(ID872) + self._adaptor.addChild(root_0, ID872_tree) @@ -34663,7 +34934,7 @@ def __init__(self): # $ANTLR start "signal_id" - # sdl92.g:1653:1: signal_id : ID ; + # sdl92.g:1681:1: signal_id : ID ; def signal_id(self, ): retval = self.signal_id_return() retval.start = self.input.LT(1) @@ -34671,22 +34942,22 @@ def signal_id(self, ): root_0 = None - ID851 = None + ID873 = None - ID851_tree = None + ID873_tree = None try: try: - # sdl92.g:1653:17: ( ID ) - # sdl92.g:1653:25: ID + # sdl92.g:1681:17: ( ID ) + # sdl92.g:1681:25: ID pass root_0 = self._adaptor.nil() - ID851 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_id18624) + ID873 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_id19024) if self._state.backtracking == 0: - ID851_tree = self._adaptor.createWithPayload(ID851) - self._adaptor.addChild(root_0, ID851_tree) + ID873_tree = self._adaptor.createWithPayload(ID873) + self._adaptor.addChild(root_0, ID873_tree) @@ -34724,7 +34995,7 @@ def __init__(self): # $ANTLR start "statename" - # sdl92.g:1654:1: statename : ID ; + # sdl92.g:1682:1: statename : ID ; def statename(self, ): retval = self.statename_return() retval.start = self.input.LT(1) @@ -34732,22 +35003,22 @@ def statename(self, ): root_0 = None - ID852 = None + ID874 = None - ID852_tree = None + ID874_tree = None try: try: - # sdl92.g:1654:17: ( ID ) - # sdl92.g:1654:25: ID + # sdl92.g:1682:17: ( ID ) + # sdl92.g:1682:25: ID pass root_0 = self._adaptor.nil() - ID852 = self.match(self.input, ID, self.FOLLOW_ID_in_statename18643) + ID874 = self.match(self.input, ID, self.FOLLOW_ID_in_statename19043) if self._state.backtracking == 0: - ID852_tree = self._adaptor.createWithPayload(ID852) - self._adaptor.addChild(root_0, ID852_tree) + ID874_tree = self._adaptor.createWithPayload(ID874) + self._adaptor.addChild(root_0, ID874_tree) @@ -34785,7 +35056,7 @@ def __init__(self): # $ANTLR start "state_exit_point_name" - # sdl92.g:1655:1: state_exit_point_name : ID ; + # sdl92.g:1683:1: state_exit_point_name : ID ; def state_exit_point_name(self, ): retval = self.state_exit_point_name_return() retval.start = self.input.LT(1) @@ -34793,22 +35064,22 @@ def state_exit_point_name(self, ): root_0 = None - ID853 = None + ID875 = None - ID853_tree = None + ID875_tree = None try: try: - # sdl92.g:1656:17: ( ID ) - # sdl92.g:1656:25: ID + # sdl92.g:1684:17: ( ID ) + # sdl92.g:1684:25: ID pass root_0 = self._adaptor.nil() - ID853 = self.match(self.input, ID, self.FOLLOW_ID_in_state_exit_point_name18672) + ID875 = self.match(self.input, ID, self.FOLLOW_ID_in_state_exit_point_name19072) if self._state.backtracking == 0: - ID853_tree = self._adaptor.createWithPayload(ID853) - self._adaptor.addChild(root_0, ID853_tree) + ID875_tree = self._adaptor.createWithPayload(ID875) + self._adaptor.addChild(root_0, ID875_tree) @@ -34846,7 +35117,7 @@ def __init__(self): # $ANTLR start "state_entry_point_name" - # sdl92.g:1657:1: state_entry_point_name : ID ; + # sdl92.g:1685:1: state_entry_point_name : ID ; def state_entry_point_name(self, ): retval = self.state_entry_point_name_return() retval.start = self.input.LT(1) @@ -34854,22 +35125,22 @@ def state_entry_point_name(self, ): root_0 = None - ID854 = None + ID876 = None - ID854_tree = None + ID876_tree = None try: try: - # sdl92.g:1658:17: ( ID ) - # sdl92.g:1658:25: ID + # sdl92.g:1686:17: ( ID ) + # sdl92.g:1686:25: ID pass root_0 = self._adaptor.nil() - ID854 = self.match(self.input, ID, self.FOLLOW_ID_in_state_entry_point_name18701) + ID876 = self.match(self.input, ID, self.FOLLOW_ID_in_state_entry_point_name19101) if self._state.backtracking == 0: - ID854_tree = self._adaptor.createWithPayload(ID854) - self._adaptor.addChild(root_0, ID854_tree) + ID876_tree = self._adaptor.createWithPayload(ID876) + self._adaptor.addChild(root_0, ID876_tree) @@ -34907,7 +35178,7 @@ def __init__(self): # $ANTLR start "variable_id" - # sdl92.g:1659:1: variable_id : ID ; + # sdl92.g:1687:1: variable_id : ID ; def variable_id(self, ): retval = self.variable_id_return() retval.start = self.input.LT(1) @@ -34915,22 +35186,22 @@ def variable_id(self, ): root_0 = None - ID855 = None + ID877 = None - ID855_tree = None + ID877_tree = None try: try: - # sdl92.g:1659:17: ( ID ) - # sdl92.g:1659:25: ID + # sdl92.g:1687:17: ( ID ) + # sdl92.g:1687:25: ID pass root_0 = self._adaptor.nil() - ID855 = self.match(self.input, ID, self.FOLLOW_ID_in_variable_id18718) + ID877 = self.match(self.input, ID, self.FOLLOW_ID_in_variable_id19118) if self._state.backtracking == 0: - ID855_tree = self._adaptor.createWithPayload(ID855) - self._adaptor.addChild(root_0, ID855_tree) + ID877_tree = self._adaptor.createWithPayload(ID877) + self._adaptor.addChild(root_0, ID877_tree) @@ -34968,7 +35239,7 @@ def __init__(self): # $ANTLR start "literal_id" - # sdl92.g:1660:1: literal_id : ( ID | INT ); + # sdl92.g:1688:1: literal_id : ( ID | INT ); def literal_id(self, ): retval = self.literal_id_return() retval.start = self.input.LT(1) @@ -34976,24 +35247,24 @@ def literal_id(self, ): root_0 = None - set856 = None + set878 = None - set856_tree = None + set878_tree = None try: try: - # sdl92.g:1660:17: ( ID | INT ) + # sdl92.g:1688:17: ( ID | INT ) # sdl92.g: pass root_0 = self._adaptor.nil() - set856 = self.input.LT(1) + set878 = self.input.LT(1) if self.input.LA(1) in {ID, INT}: self.input.consume() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set856)) + self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set878)) self._state.errorRecovery = False @@ -35042,7 +35313,7 @@ def __init__(self): # $ANTLR start "process_id" - # sdl92.g:1661:1: process_id : ID ; + # sdl92.g:1689:1: process_id : ID ; def process_id(self, ): retval = self.process_id_return() retval.start = self.input.LT(1) @@ -35050,22 +35321,22 @@ def process_id(self, ): root_0 = None - ID857 = None + ID879 = None - ID857_tree = None + ID879_tree = None try: try: - # sdl92.g:1661:17: ( ID ) - # sdl92.g:1661:25: ID + # sdl92.g:1689:17: ( ID ) + # sdl92.g:1689:25: ID pass root_0 = self._adaptor.nil() - ID857 = self.match(self.input, ID, self.FOLLOW_ID_in_process_id18758) + ID879 = self.match(self.input, ID, self.FOLLOW_ID_in_process_id19158) if self._state.backtracking == 0: - ID857_tree = self._adaptor.createWithPayload(ID857) - self._adaptor.addChild(root_0, ID857_tree) + ID879_tree = self._adaptor.createWithPayload(ID879) + self._adaptor.addChild(root_0, ID879_tree) @@ -35103,7 +35374,7 @@ def __init__(self): # $ANTLR start "system_name" - # sdl92.g:1662:1: system_name : ID ; + # sdl92.g:1690:1: system_name : ID ; def system_name(self, ): retval = self.system_name_return() retval.start = self.input.LT(1) @@ -35111,22 +35382,22 @@ def system_name(self, ): root_0 = None - ID858 = None + ID880 = None - ID858_tree = None + ID880_tree = None try: try: - # sdl92.g:1662:17: ( ID ) - # sdl92.g:1662:25: ID + # sdl92.g:1690:17: ( ID ) + # sdl92.g:1690:25: ID pass root_0 = self._adaptor.nil() - ID858 = self.match(self.input, ID, self.FOLLOW_ID_in_system_name18775) + ID880 = self.match(self.input, ID, self.FOLLOW_ID_in_system_name19175) if self._state.backtracking == 0: - ID858_tree = self._adaptor.createWithPayload(ID858) - self._adaptor.addChild(root_0, ID858_tree) + ID880_tree = self._adaptor.createWithPayload(ID880) + self._adaptor.addChild(root_0, ID880_tree) @@ -35164,7 +35435,7 @@ def __init__(self): # $ANTLR start "package_name" - # sdl92.g:1663:1: package_name : ID ; + # sdl92.g:1691:1: package_name : ID ; def package_name(self, ): retval = self.package_name_return() retval.start = self.input.LT(1) @@ -35172,22 +35443,22 @@ def package_name(self, ): root_0 = None - ID859 = None + ID881 = None - ID859_tree = None + ID881_tree = None try: try: - # sdl92.g:1663:17: ( ID ) - # sdl92.g:1663:25: ID + # sdl92.g:1691:17: ( ID ) + # sdl92.g:1691:25: ID pass root_0 = self._adaptor.nil() - ID859 = self.match(self.input, ID, self.FOLLOW_ID_in_package_name18791) + ID881 = self.match(self.input, ID, self.FOLLOW_ID_in_package_name19191) if self._state.backtracking == 0: - ID859_tree = self._adaptor.createWithPayload(ID859) - self._adaptor.addChild(root_0, ID859_tree) + ID881_tree = self._adaptor.createWithPayload(ID881) + self._adaptor.addChild(root_0, ID881_tree) @@ -35225,7 +35496,7 @@ def __init__(self): # $ANTLR start "priority_signal_id" - # sdl92.g:1664:1: priority_signal_id : ID ; + # sdl92.g:1692:1: priority_signal_id : ID ; def priority_signal_id(self, ): retval = self.priority_signal_id_return() retval.start = self.input.LT(1) @@ -35233,22 +35504,22 @@ def priority_signal_id(self, ): root_0 = None - ID860 = None + ID882 = None - ID860_tree = None + ID882_tree = None try: try: - # sdl92.g:1665:17: ( ID ) - # sdl92.g:1665:25: ID + # sdl92.g:1693:17: ( ID ) + # sdl92.g:1693:25: ID pass root_0 = self._adaptor.nil() - ID860 = self.match(self.input, ID, self.FOLLOW_ID_in_priority_signal_id18820) + ID882 = self.match(self.input, ID, self.FOLLOW_ID_in_priority_signal_id19220) if self._state.backtracking == 0: - ID860_tree = self._adaptor.createWithPayload(ID860) - self._adaptor.addChild(root_0, ID860_tree) + ID882_tree = self._adaptor.createWithPayload(ID882) + self._adaptor.addChild(root_0, ID882_tree) @@ -35286,7 +35557,7 @@ def __init__(self): # $ANTLR start "signal_list_id" - # sdl92.g:1666:1: signal_list_id : ID ; + # sdl92.g:1694:1: signal_list_id : ID ; def signal_list_id(self, ): retval = self.signal_list_id_return() retval.start = self.input.LT(1) @@ -35294,22 +35565,22 @@ def signal_list_id(self, ): root_0 = None - ID861 = None + ID883 = None - ID861_tree = None + ID883_tree = None try: try: - # sdl92.g:1666:17: ( ID ) - # sdl92.g:1666:25: ID + # sdl92.g:1694:17: ( ID ) + # sdl92.g:1694:25: ID pass root_0 = self._adaptor.nil() - ID861 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_list_id18834) + ID883 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_list_id19234) if self._state.backtracking == 0: - ID861_tree = self._adaptor.createWithPayload(ID861) - self._adaptor.addChild(root_0, ID861_tree) + ID883_tree = self._adaptor.createWithPayload(ID883) + self._adaptor.addChild(root_0, ID883_tree) @@ -35347,7 +35618,7 @@ def __init__(self): # $ANTLR start "timer_id" - # sdl92.g:1667:1: timer_id : ID ; + # sdl92.g:1695:1: timer_id : ID ; def timer_id(self, ): retval = self.timer_id_return() retval.start = self.input.LT(1) @@ -35355,22 +35626,22 @@ def timer_id(self, ): root_0 = None - ID862 = None + ID884 = None - ID862_tree = None + ID884_tree = None try: try: - # sdl92.g:1667:17: ( ID ) - # sdl92.g:1667:25: ID + # sdl92.g:1695:17: ( ID ) + # sdl92.g:1695:25: ID pass root_0 = self._adaptor.nil() - ID862 = self.match(self.input, ID, self.FOLLOW_ID_in_timer_id18854) + ID884 = self.match(self.input, ID, self.FOLLOW_ID_in_timer_id19254) if self._state.backtracking == 0: - ID862_tree = self._adaptor.createWithPayload(ID862) - self._adaptor.addChild(root_0, ID862_tree) + ID884_tree = self._adaptor.createWithPayload(ID884) + self._adaptor.addChild(root_0, ID884_tree) @@ -35408,7 +35679,7 @@ def __init__(self): # $ANTLR start "field_name" - # sdl92.g:1668:1: field_name : ( ID | STATE ); + # sdl92.g:1696:1: field_name : ( ID | STATE ); def field_name(self, ): retval = self.field_name_return() retval.start = self.input.LT(1) @@ -35416,24 +35687,24 @@ def field_name(self, ): root_0 = None - set863 = None + set885 = None - set863_tree = None + set885_tree = None try: try: - # sdl92.g:1668:17: ( ID | STATE ) + # sdl92.g:1696:17: ( ID | STATE ) # sdl92.g: pass root_0 = self._adaptor.nil() - set863 = self.input.LT(1) + set885 = self.input.LT(1) if self.input.LA(1) in {ID, STATE}: self.input.consume() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set863)) + self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set885)) self._state.errorRecovery = False @@ -35482,7 +35753,7 @@ def __init__(self): # $ANTLR start "enumerant" - # sdl92.g:1669:1: enumerant : ID ; + # sdl92.g:1697:1: enumerant : ID ; def enumerant(self, ): retval = self.enumerant_return() retval.start = self.input.LT(1) @@ -35490,22 +35761,22 @@ def enumerant(self, ): root_0 = None - ID864 = None + ID886 = None - ID864_tree = None + ID886_tree = None try: try: - # sdl92.g:1669:17: ( ID ) - # sdl92.g:1669:25: ID + # sdl92.g:1697:17: ( ID ) + # sdl92.g:1697:25: ID pass root_0 = self._adaptor.nil() - ID864 = self.match(self.input, ID, self.FOLLOW_ID_in_enumerant18895) + ID886 = self.match(self.input, ID, self.FOLLOW_ID_in_enumerant19295) if self._state.backtracking == 0: - ID864_tree = self._adaptor.createWithPayload(ID864) - self._adaptor.addChild(root_0, ID864_tree) + ID886_tree = self._adaptor.createWithPayload(ID886) + self._adaptor.addChild(root_0, ID886_tree) @@ -35543,7 +35814,7 @@ def __init__(self): # $ANTLR start "signal_route_id" - # sdl92.g:1670:1: signal_route_id : ID ; + # sdl92.g:1698:1: signal_route_id : ID ; def signal_route_id(self, ): retval = self.signal_route_id_return() retval.start = self.input.LT(1) @@ -35551,22 +35822,22 @@ def signal_route_id(self, ): root_0 = None - ID865 = None + ID887 = None - ID865_tree = None + ID887_tree = None try: try: - # sdl92.g:1670:17: ( ID ) - # sdl92.g:1670:25: ID + # sdl92.g:1698:17: ( ID ) + # sdl92.g:1698:25: ID pass root_0 = self._adaptor.nil() - ID865 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_route_id18908) + ID887 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_route_id19308) if self._state.backtracking == 0: - ID865_tree = self._adaptor.createWithPayload(ID865) - self._adaptor.addChild(root_0, ID865_tree) + ID887_tree = self._adaptor.createWithPayload(ID887) + self._adaptor.addChild(root_0, ID887_tree) @@ -35604,7 +35875,7 @@ def __init__(self): # $ANTLR start "channel_id" - # sdl92.g:1671:1: channel_id : ID ; + # sdl92.g:1699:1: channel_id : ID ; def channel_id(self, ): retval = self.channel_id_return() retval.start = self.input.LT(1) @@ -35612,22 +35883,22 @@ def channel_id(self, ): root_0 = None - ID866 = None + ID888 = None - ID866_tree = None + ID888_tree = None try: try: - # sdl92.g:1671:17: ( ID ) - # sdl92.g:1671:25: ID + # sdl92.g:1699:17: ( ID ) + # sdl92.g:1699:25: ID pass root_0 = self._adaptor.nil() - ID866 = self.match(self.input, ID, self.FOLLOW_ID_in_channel_id18926) + ID888 = self.match(self.input, ID, self.FOLLOW_ID_in_channel_id19326) if self._state.backtracking == 0: - ID866_tree = self._adaptor.createWithPayload(ID866) - self._adaptor.addChild(root_0, ID866_tree) + ID888_tree = self._adaptor.createWithPayload(ID888) + self._adaptor.addChild(root_0, ID888_tree) @@ -35665,7 +35936,7 @@ def __init__(self): # $ANTLR start "route_id" - # sdl92.g:1672:1: route_id : ID ; + # sdl92.g:1700:1: route_id : ID ; def route_id(self, ): retval = self.route_id_return() retval.start = self.input.LT(1) @@ -35673,22 +35944,22 @@ def route_id(self, ): root_0 = None - ID867 = None + ID889 = None - ID867_tree = None + ID889_tree = None try: try: - # sdl92.g:1672:17: ( ID ) - # sdl92.g:1672:25: ID + # sdl92.g:1700:17: ( ID ) + # sdl92.g:1700:25: ID pass root_0 = self._adaptor.nil() - ID867 = self.match(self.input, ID, self.FOLLOW_ID_in_route_id18946) + ID889 = self.match(self.input, ID, self.FOLLOW_ID_in_route_id19346) if self._state.backtracking == 0: - ID867_tree = self._adaptor.createWithPayload(ID867) - self._adaptor.addChild(root_0, ID867_tree) + ID889_tree = self._adaptor.createWithPayload(ID889) + self._adaptor.addChild(root_0, ID889_tree) @@ -35726,7 +35997,7 @@ def __init__(self): # $ANTLR start "block_id" - # sdl92.g:1673:1: block_id : ID ; + # sdl92.g:1701:1: block_id : ID ; def block_id(self, ): retval = self.block_id_return() retval.start = self.input.LT(1) @@ -35734,22 +36005,22 @@ def block_id(self, ): root_0 = None - ID868 = None + ID890 = None - ID868_tree = None + ID890_tree = None try: try: - # sdl92.g:1673:17: ( ID ) - # sdl92.g:1673:25: ID + # sdl92.g:1701:17: ( ID ) + # sdl92.g:1701:25: ID pass root_0 = self._adaptor.nil() - ID868 = self.match(self.input, ID, self.FOLLOW_ID_in_block_id18966) + ID890 = self.match(self.input, ID, self.FOLLOW_ID_in_block_id19366) if self._state.backtracking == 0: - ID868_tree = self._adaptor.createWithPayload(ID868) - self._adaptor.addChild(root_0, ID868_tree) + ID890_tree = self._adaptor.createWithPayload(ID890) + self._adaptor.addChild(root_0, ID890_tree) @@ -35787,7 +36058,7 @@ def __init__(self): # $ANTLR start "source_id" - # sdl92.g:1674:1: source_id : ID ; + # sdl92.g:1702:1: source_id : ID ; def source_id(self, ): retval = self.source_id_return() retval.start = self.input.LT(1) @@ -35795,22 +36066,22 @@ def source_id(self, ): root_0 = None - ID869 = None + ID891 = None - ID869_tree = None + ID891_tree = None try: try: - # sdl92.g:1674:17: ( ID ) - # sdl92.g:1674:25: ID + # sdl92.g:1702:17: ( ID ) + # sdl92.g:1702:25: ID pass root_0 = self._adaptor.nil() - ID869 = self.match(self.input, ID, self.FOLLOW_ID_in_source_id18985) + ID891 = self.match(self.input, ID, self.FOLLOW_ID_in_source_id19385) if self._state.backtracking == 0: - ID869_tree = self._adaptor.createWithPayload(ID869) - self._adaptor.addChild(root_0, ID869_tree) + ID891_tree = self._adaptor.createWithPayload(ID891) + self._adaptor.addChild(root_0, ID891_tree) @@ -35848,7 +36119,7 @@ def __init__(self): # $ANTLR start "dest_id" - # sdl92.g:1675:1: dest_id : ID ; + # sdl92.g:1703:1: dest_id : ID ; def dest_id(self, ): retval = self.dest_id_return() retval.start = self.input.LT(1) @@ -35856,22 +36127,22 @@ def dest_id(self, ): root_0 = None - ID870 = None + ID892 = None - ID870_tree = None + ID892_tree = None try: try: - # sdl92.g:1675:17: ( ID ) - # sdl92.g:1675:25: ID + # sdl92.g:1703:17: ( ID ) + # sdl92.g:1703:25: ID pass root_0 = self._adaptor.nil() - ID870 = self.match(self.input, ID, self.FOLLOW_ID_in_dest_id19006) + ID892 = self.match(self.input, ID, self.FOLLOW_ID_in_dest_id19406) if self._state.backtracking == 0: - ID870_tree = self._adaptor.createWithPayload(ID870) - self._adaptor.addChild(root_0, ID870_tree) + ID892_tree = self._adaptor.createWithPayload(ID892) + self._adaptor.addChild(root_0, ID892_tree) @@ -35909,7 +36180,7 @@ def __init__(self): # $ANTLR start "gate_id" - # sdl92.g:1676:1: gate_id : ID ; + # sdl92.g:1704:1: gate_id : ID ; def gate_id(self, ): retval = self.gate_id_return() retval.start = self.input.LT(1) @@ -35917,22 +36188,22 @@ def gate_id(self, ): root_0 = None - ID871 = None + ID893 = None - ID871_tree = None + ID893_tree = None try: try: - # sdl92.g:1676:17: ( ID ) - # sdl92.g:1676:25: ID + # sdl92.g:1704:17: ( ID ) + # sdl92.g:1704:25: ID pass root_0 = self._adaptor.nil() - ID871 = self.match(self.input, ID, self.FOLLOW_ID_in_gate_id19027) + ID893 = self.match(self.input, ID, self.FOLLOW_ID_in_gate_id19427) if self._state.backtracking == 0: - ID871_tree = self._adaptor.createWithPayload(ID871) - self._adaptor.addChild(root_0, ID871_tree) + ID893_tree = self._adaptor.createWithPayload(ID893) + self._adaptor.addChild(root_0, ID893_tree) @@ -35970,7 +36241,7 @@ def __init__(self): # $ANTLR start "procedure_id" - # sdl92.g:1677:1: procedure_id : ID ; + # sdl92.g:1705:1: procedure_id : ID ; def procedure_id(self, ): retval = self.procedure_id_return() retval.start = self.input.LT(1) @@ -35978,22 +36249,22 @@ def procedure_id(self, ): root_0 = None - ID872 = None + ID894 = None - ID872_tree = None + ID894_tree = None try: try: - # sdl92.g:1677:17: ( ID ) - # sdl92.g:1677:25: ID + # sdl92.g:1705:17: ( ID ) + # sdl92.g:1705:25: ID pass root_0 = self._adaptor.nil() - ID872 = self.match(self.input, ID, self.FOLLOW_ID_in_procedure_id19043) + ID894 = self.match(self.input, ID, self.FOLLOW_ID_in_procedure_id19443) if self._state.backtracking == 0: - ID872_tree = self._adaptor.createWithPayload(ID872) - self._adaptor.addChild(root_0, ID872_tree) + ID894_tree = self._adaptor.createWithPayload(ID894) + self._adaptor.addChild(root_0, ID894_tree) @@ -36031,7 +36302,7 @@ def __init__(self): # $ANTLR start "remote_procedure_id" - # sdl92.g:1678:1: remote_procedure_id : ID ; + # sdl92.g:1706:1: remote_procedure_id : ID ; def remote_procedure_id(self, ): retval = self.remote_procedure_id_return() retval.start = self.input.LT(1) @@ -36039,22 +36310,22 @@ def remote_procedure_id(self, ): root_0 = None - ID873 = None + ID895 = None - ID873_tree = None + ID895_tree = None try: try: - # sdl92.g:1679:17: ( ID ) - # sdl92.g:1679:25: ID + # sdl92.g:1707:17: ( ID ) + # sdl92.g:1707:25: ID pass root_0 = self._adaptor.nil() - ID873 = self.match(self.input, ID, self.FOLLOW_ID_in_remote_procedure_id19072) + ID895 = self.match(self.input, ID, self.FOLLOW_ID_in_remote_procedure_id19472) if self._state.backtracking == 0: - ID873_tree = self._adaptor.createWithPayload(ID873) - self._adaptor.addChild(root_0, ID873_tree) + ID895_tree = self._adaptor.createWithPayload(ID895) + self._adaptor.addChild(root_0, ID895_tree) @@ -36092,7 +36363,7 @@ def __init__(self): # $ANTLR start "operator_id" - # sdl92.g:1680:1: operator_id : ID ; + # sdl92.g:1708:1: operator_id : ID ; def operator_id(self, ): retval = self.operator_id_return() retval.start = self.input.LT(1) @@ -36100,22 +36371,22 @@ def operator_id(self, ): root_0 = None - ID874 = None + ID896 = None - ID874_tree = None + ID896_tree = None try: try: - # sdl92.g:1680:17: ( ID ) - # sdl92.g:1680:25: ID + # sdl92.g:1708:17: ( ID ) + # sdl92.g:1708:25: ID pass root_0 = self._adaptor.nil() - ID874 = self.match(self.input, ID, self.FOLLOW_ID_in_operator_id19089) + ID896 = self.match(self.input, ID, self.FOLLOW_ID_in_operator_id19489) if self._state.backtracking == 0: - ID874_tree = self._adaptor.createWithPayload(ID874) - self._adaptor.addChild(root_0, ID874_tree) + ID896_tree = self._adaptor.createWithPayload(ID896) + self._adaptor.addChild(root_0, ID896_tree) @@ -36153,7 +36424,7 @@ def __init__(self): # $ANTLR start "synonym_id" - # sdl92.g:1681:1: synonym_id : ID ; + # sdl92.g:1709:1: synonym_id : ID ; def synonym_id(self, ): retval = self.synonym_id_return() retval.start = self.input.LT(1) @@ -36161,22 +36432,22 @@ def synonym_id(self, ): root_0 = None - ID875 = None + ID897 = None - ID875_tree = None + ID897_tree = None try: try: - # sdl92.g:1681:17: ( ID ) - # sdl92.g:1681:25: ID + # sdl92.g:1709:17: ( ID ) + # sdl92.g:1709:25: ID pass root_0 = self._adaptor.nil() - ID875 = self.match(self.input, ID, self.FOLLOW_ID_in_synonym_id19107) + ID897 = self.match(self.input, ID, self.FOLLOW_ID_in_synonym_id19507) if self._state.backtracking == 0: - ID875_tree = self._adaptor.createWithPayload(ID875) - self._adaptor.addChild(root_0, ID875_tree) + ID897_tree = self._adaptor.createWithPayload(ID897) + self._adaptor.addChild(root_0, ID897_tree) @@ -36214,7 +36485,7 @@ def __init__(self): # $ANTLR start "external_synonym_id" - # sdl92.g:1682:1: external_synonym_id : ID ; + # sdl92.g:1710:1: external_synonym_id : ID ; def external_synonym_id(self, ): retval = self.external_synonym_id_return() retval.start = self.input.LT(1) @@ -36222,22 +36493,22 @@ def external_synonym_id(self, ): root_0 = None - ID876 = None + ID898 = None - ID876_tree = None + ID898_tree = None try: try: - # sdl92.g:1683:17: ( ID ) - # sdl92.g:1683:25: ID + # sdl92.g:1711:17: ( ID ) + # sdl92.g:1711:25: ID pass root_0 = self._adaptor.nil() - ID876 = self.match(self.input, ID, self.FOLLOW_ID_in_external_synonym_id19136) + ID898 = self.match(self.input, ID, self.FOLLOW_ID_in_external_synonym_id19536) if self._state.backtracking == 0: - ID876_tree = self._adaptor.createWithPayload(ID876) - self._adaptor.addChild(root_0, ID876_tree) + ID898_tree = self._adaptor.createWithPayload(ID898) + self._adaptor.addChild(root_0, ID898_tree) @@ -36275,7 +36546,7 @@ def __init__(self): # $ANTLR start "remote_variable_id" - # sdl92.g:1684:1: remote_variable_id : ID ; + # sdl92.g:1712:1: remote_variable_id : ID ; def remote_variable_id(self, ): retval = self.remote_variable_id_return() retval.start = self.input.LT(1) @@ -36283,22 +36554,22 @@ def remote_variable_id(self, ): root_0 = None - ID877 = None + ID899 = None - ID877_tree = None + ID899_tree = None try: try: - # sdl92.g:1685:17: ( ID ) - # sdl92.g:1685:25: ID + # sdl92.g:1713:17: ( ID ) + # sdl92.g:1713:25: ID pass root_0 = self._adaptor.nil() - ID877 = self.match(self.input, ID, self.FOLLOW_ID_in_remote_variable_id19165) + ID899 = self.match(self.input, ID, self.FOLLOW_ID_in_remote_variable_id19565) if self._state.backtracking == 0: - ID877_tree = self._adaptor.createWithPayload(ID877) - self._adaptor.addChild(root_0, ID877_tree) + ID899_tree = self._adaptor.createWithPayload(ID899) + self._adaptor.addChild(root_0, ID899_tree) @@ -36336,7 +36607,7 @@ def __init__(self): # $ANTLR start "view_id" - # sdl92.g:1686:1: view_id : ID ; + # sdl92.g:1714:1: view_id : ID ; def view_id(self, ): retval = self.view_id_return() retval.start = self.input.LT(1) @@ -36344,22 +36615,22 @@ def view_id(self, ): root_0 = None - ID878 = None + ID900 = None - ID878_tree = None + ID900_tree = None try: try: - # sdl92.g:1686:17: ( ID ) - # sdl92.g:1686:25: ID + # sdl92.g:1714:17: ( ID ) + # sdl92.g:1714:25: ID pass root_0 = self._adaptor.nil() - ID878 = self.match(self.input, ID, self.FOLLOW_ID_in_view_id19186) + ID900 = self.match(self.input, ID, self.FOLLOW_ID_in_view_id19586) if self._state.backtracking == 0: - ID878_tree = self._adaptor.createWithPayload(ID878) - self._adaptor.addChild(root_0, ID878_tree) + ID900_tree = self._adaptor.createWithPayload(ID900) + self._adaptor.addChild(root_0, ID900_tree) @@ -36397,7 +36668,7 @@ def __init__(self): # $ANTLR start "sort_id" - # sdl92.g:1687:1: sort_id : ID ; + # sdl92.g:1715:1: sort_id : ID ; def sort_id(self, ): retval = self.sort_id_return() retval.start = self.input.LT(1) @@ -36405,22 +36676,22 @@ def sort_id(self, ): root_0 = None - ID879 = None + ID901 = None - ID879_tree = None + ID901_tree = None try: try: - # sdl92.g:1687:17: ( ID ) - # sdl92.g:1687:25: ID + # sdl92.g:1715:17: ( ID ) + # sdl92.g:1715:25: ID pass root_0 = self._adaptor.nil() - ID879 = self.match(self.input, ID, self.FOLLOW_ID_in_sort_id19207) + ID901 = self.match(self.input, ID, self.FOLLOW_ID_in_sort_id19607) if self._state.backtracking == 0: - ID879_tree = self._adaptor.createWithPayload(ID879) - self._adaptor.addChild(root_0, ID879_tree) + ID901_tree = self._adaptor.createWithPayload(ID901) + self._adaptor.addChild(root_0, ID901_tree) @@ -36458,7 +36729,7 @@ def __init__(self): # $ANTLR start "type_id" - # sdl92.g:1688:1: type_id : ID ; + # sdl92.g:1716:1: type_id : ID ; def type_id(self, ): retval = self.type_id_return() retval.start = self.input.LT(1) @@ -36466,22 +36737,22 @@ def type_id(self, ): root_0 = None - ID880 = None + ID902 = None - ID880_tree = None + ID902_tree = None try: try: - # sdl92.g:1688:17: ( ID ) - # sdl92.g:1688:25: ID + # sdl92.g:1716:17: ( ID ) + # sdl92.g:1716:25: ID pass root_0 = self._adaptor.nil() - ID880 = self.match(self.input, ID, self.FOLLOW_ID_in_type_id19228) + ID902 = self.match(self.input, ID, self.FOLLOW_ID_in_type_id19628) if self._state.backtracking == 0: - ID880_tree = self._adaptor.createWithPayload(ID880) - self._adaptor.addChild(root_0, ID880_tree) + ID902_tree = self._adaptor.createWithPayload(ID902) + self._adaptor.addChild(root_0, ID902_tree) @@ -36519,7 +36790,7 @@ def __init__(self): # $ANTLR start "syntype_id" - # sdl92.g:1689:1: syntype_id : ID ; + # sdl92.g:1717:1: syntype_id : ID ; def syntype_id(self, ): retval = self.syntype_id_return() retval.start = self.input.LT(1) @@ -36527,22 +36798,22 @@ def syntype_id(self, ): root_0 = None - ID881 = None + ID903 = None - ID881_tree = None + ID903_tree = None try: try: - # sdl92.g:1689:17: ( ID ) - # sdl92.g:1689:25: ID + # sdl92.g:1717:17: ( ID ) + # sdl92.g:1717:25: ID pass root_0 = self._adaptor.nil() - ID881 = self.match(self.input, ID, self.FOLLOW_ID_in_syntype_id19246) + ID903 = self.match(self.input, ID, self.FOLLOW_ID_in_syntype_id19646) if self._state.backtracking == 0: - ID881_tree = self._adaptor.createWithPayload(ID881) - self._adaptor.addChild(root_0, ID881_tree) + ID903_tree = self._adaptor.createWithPayload(ID903) + self._adaptor.addChild(root_0, ID903_tree) @@ -36580,7 +36851,7 @@ def __init__(self): # $ANTLR start "stimulus_id" - # sdl92.g:1690:1: stimulus_id : ID ; + # sdl92.g:1718:1: stimulus_id : ID ; def stimulus_id(self, ): retval = self.stimulus_id_return() retval.start = self.input.LT(1) @@ -36588,22 +36859,22 @@ def stimulus_id(self, ): root_0 = None - ID882 = None + ID904 = None - ID882_tree = None + ID904_tree = None try: try: - # sdl92.g:1690:17: ( ID ) - # sdl92.g:1690:25: ID + # sdl92.g:1718:17: ( ID ) + # sdl92.g:1718:25: ID pass root_0 = self._adaptor.nil() - ID882 = self.match(self.input, ID, self.FOLLOW_ID_in_stimulus_id19263) + ID904 = self.match(self.input, ID, self.FOLLOW_ID_in_stimulus_id19663) if self._state.backtracking == 0: - ID882_tree = self._adaptor.createWithPayload(ID882) - self._adaptor.addChild(root_0, ID882_tree) + ID904_tree = self._adaptor.createWithPayload(ID904) + self._adaptor.addChild(root_0, ID904_tree) @@ -36641,7 +36912,7 @@ def __init__(self): # $ANTLR start "pid_expression" - # sdl92.g:1731:1: pid_expression : ( S E L F | P A R E N T | O F F S P R I N G | S E N D E R ); + # sdl92.g:1761:1: pid_expression : ( S E L F | P A R E N T | O F F S P R I N G | S E N D E R ); def pid_expression(self, ): retval = self.pid_expression_return() retval.start = self.input.LT(1) @@ -36649,79 +36920,79 @@ def pid_expression(self, ): root_0 = None - S883 = None - E884 = None - L885 = None - F886 = None - P887 = None - A888 = None - R889 = None - E890 = None - N891 = None - T892 = None - O893 = None - F894 = None - F895 = None - S896 = None - P897 = None - R898 = None - I899 = None - N900 = None - G901 = None - S902 = None - E903 = None - N904 = None - D905 = None + S905 = None E906 = None - R907 = None - - S883_tree = None - E884_tree = None - L885_tree = None - F886_tree = None - P887_tree = None - A888_tree = None - R889_tree = None - E890_tree = None - N891_tree = None - T892_tree = None - O893_tree = None - F894_tree = None - F895_tree = None - S896_tree = None - P897_tree = None - R898_tree = None - I899_tree = None - N900_tree = None - G901_tree = None - S902_tree = None - E903_tree = None - N904_tree = None - D905_tree = None + L907 = None + F908 = None + P909 = None + A910 = None + R911 = None + E912 = None + N913 = None + T914 = None + O915 = None + F916 = None + F917 = None + S918 = None + P919 = None + R920 = None + I921 = None + N922 = None + G923 = None + S924 = None + E925 = None + N926 = None + D927 = None + E928 = None + R929 = None + + S905_tree = None E906_tree = None - R907_tree = None + L907_tree = None + F908_tree = None + P909_tree = None + A910_tree = None + R911_tree = None + E912_tree = None + N913_tree = None + T914_tree = None + O915_tree = None + F916_tree = None + F917_tree = None + S918_tree = None + P919_tree = None + R920_tree = None + I921_tree = None + N922_tree = None + G923_tree = None + S924_tree = None + E925_tree = None + N926_tree = None + D927_tree = None + E928_tree = None + R929_tree = None try: try: - # sdl92.g:1732:17: ( S E L F | P A R E N T | O F F S P R I N G | S E N D E R ) - alt308 = 4 - LA308 = self.input.LA(1) - if LA308 in {S}: - LA308_1 = self.input.LA(2) - - if (LA308_1 == E) : - LA308_4 = self.input.LA(3) - - if (LA308_4 == L) : - alt308 = 1 - elif (LA308_4 == N) : - alt308 = 4 + # sdl92.g:1762:17: ( S E L F | P A R E N T | O F F S P R I N G | S E N D E R ) + alt316 = 4 + LA316 = self.input.LA(1) + if LA316 in {S}: + LA316_1 = self.input.LA(2) + + if (LA316_1 == E) : + LA316_4 = self.input.LA(3) + + if (LA316_4 == L) : + alt316 = 1 + elif (LA316_4 == N) : + alt316 = 4 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 308, 4, self.input) + nvae = NoViableAltException("", 316, 4, self.input) raise nvae @@ -36731,224 +37002,224 @@ def pid_expression(self, ): raise BacktrackingFailed - nvae = NoViableAltException("", 308, 1, self.input) + nvae = NoViableAltException("", 316, 1, self.input) raise nvae - elif LA308 in {P}: - alt308 = 2 - elif LA308 in {O}: - alt308 = 3 + elif LA316 in {P}: + alt316 = 2 + elif LA316 in {O}: + alt316 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 308, 0, self.input) + nvae = NoViableAltException("", 316, 0, self.input) raise nvae - if alt308 == 1: - # sdl92.g:1732:25: S E L F + if alt316 == 1: + # sdl92.g:1762:25: S E L F pass root_0 = self._adaptor.nil() - S883 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression20495) + S905 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression20963) if self._state.backtracking == 0: - S883_tree = self._adaptor.createWithPayload(S883) - self._adaptor.addChild(root_0, S883_tree) + S905_tree = self._adaptor.createWithPayload(S905) + self._adaptor.addChild(root_0, S905_tree) - E884 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression20497) + E906 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression20965) if self._state.backtracking == 0: - E884_tree = self._adaptor.createWithPayload(E884) - self._adaptor.addChild(root_0, E884_tree) + E906_tree = self._adaptor.createWithPayload(E906) + self._adaptor.addChild(root_0, E906_tree) - L885 = self.match(self.input, L, self.FOLLOW_L_in_pid_expression20499) + L907 = self.match(self.input, L, self.FOLLOW_L_in_pid_expression20967) if self._state.backtracking == 0: - L885_tree = self._adaptor.createWithPayload(L885) - self._adaptor.addChild(root_0, L885_tree) + L907_tree = self._adaptor.createWithPayload(L907) + self._adaptor.addChild(root_0, L907_tree) - F886 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression20501) + F908 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression20969) if self._state.backtracking == 0: - F886_tree = self._adaptor.createWithPayload(F886) - self._adaptor.addChild(root_0, F886_tree) + F908_tree = self._adaptor.createWithPayload(F908) + self._adaptor.addChild(root_0, F908_tree) - elif alt308 == 2: - # sdl92.g:1733:25: P A R E N T + elif alt316 == 2: + # sdl92.g:1763:25: P A R E N T pass root_0 = self._adaptor.nil() - P887 = self.match(self.input, P, self.FOLLOW_P_in_pid_expression20527) + P909 = self.match(self.input, P, self.FOLLOW_P_in_pid_expression20995) if self._state.backtracking == 0: - P887_tree = self._adaptor.createWithPayload(P887) - self._adaptor.addChild(root_0, P887_tree) + P909_tree = self._adaptor.createWithPayload(P909) + self._adaptor.addChild(root_0, P909_tree) - A888 = self.match(self.input, A, self.FOLLOW_A_in_pid_expression20529) + A910 = self.match(self.input, A, self.FOLLOW_A_in_pid_expression20997) if self._state.backtracking == 0: - A888_tree = self._adaptor.createWithPayload(A888) - self._adaptor.addChild(root_0, A888_tree) + A910_tree = self._adaptor.createWithPayload(A910) + self._adaptor.addChild(root_0, A910_tree) - R889 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression20531) + R911 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression20999) if self._state.backtracking == 0: - R889_tree = self._adaptor.createWithPayload(R889) - self._adaptor.addChild(root_0, R889_tree) + R911_tree = self._adaptor.createWithPayload(R911) + self._adaptor.addChild(root_0, R911_tree) - E890 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression20533) + E912 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression21001) if self._state.backtracking == 0: - E890_tree = self._adaptor.createWithPayload(E890) - self._adaptor.addChild(root_0, E890_tree) + E912_tree = self._adaptor.createWithPayload(E912) + self._adaptor.addChild(root_0, E912_tree) - N891 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression20535) + N913 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression21003) if self._state.backtracking == 0: - N891_tree = self._adaptor.createWithPayload(N891) - self._adaptor.addChild(root_0, N891_tree) + N913_tree = self._adaptor.createWithPayload(N913) + self._adaptor.addChild(root_0, N913_tree) - T892 = self.match(self.input, T, self.FOLLOW_T_in_pid_expression20537) + T914 = self.match(self.input, T, self.FOLLOW_T_in_pid_expression21005) if self._state.backtracking == 0: - T892_tree = self._adaptor.createWithPayload(T892) - self._adaptor.addChild(root_0, T892_tree) + T914_tree = self._adaptor.createWithPayload(T914) + self._adaptor.addChild(root_0, T914_tree) - elif alt308 == 3: - # sdl92.g:1734:25: O F F S P R I N G + elif alt316 == 3: + # sdl92.g:1764:25: O F F S P R I N G pass root_0 = self._adaptor.nil() - O893 = self.match(self.input, O, self.FOLLOW_O_in_pid_expression20563) + O915 = self.match(self.input, O, self.FOLLOW_O_in_pid_expression21031) if self._state.backtracking == 0: - O893_tree = self._adaptor.createWithPayload(O893) - self._adaptor.addChild(root_0, O893_tree) + O915_tree = self._adaptor.createWithPayload(O915) + self._adaptor.addChild(root_0, O915_tree) - F894 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression20565) + F916 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression21033) if self._state.backtracking == 0: - F894_tree = self._adaptor.createWithPayload(F894) - self._adaptor.addChild(root_0, F894_tree) + F916_tree = self._adaptor.createWithPayload(F916) + self._adaptor.addChild(root_0, F916_tree) - F895 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression20567) + F917 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression21035) if self._state.backtracking == 0: - F895_tree = self._adaptor.createWithPayload(F895) - self._adaptor.addChild(root_0, F895_tree) + F917_tree = self._adaptor.createWithPayload(F917) + self._adaptor.addChild(root_0, F917_tree) - S896 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression20569) + S918 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression21037) if self._state.backtracking == 0: - S896_tree = self._adaptor.createWithPayload(S896) - self._adaptor.addChild(root_0, S896_tree) + S918_tree = self._adaptor.createWithPayload(S918) + self._adaptor.addChild(root_0, S918_tree) - P897 = self.match(self.input, P, self.FOLLOW_P_in_pid_expression20571) + P919 = self.match(self.input, P, self.FOLLOW_P_in_pid_expression21039) if self._state.backtracking == 0: - P897_tree = self._adaptor.createWithPayload(P897) - self._adaptor.addChild(root_0, P897_tree) + P919_tree = self._adaptor.createWithPayload(P919) + self._adaptor.addChild(root_0, P919_tree) - R898 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression20573) + R920 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression21041) if self._state.backtracking == 0: - R898_tree = self._adaptor.createWithPayload(R898) - self._adaptor.addChild(root_0, R898_tree) + R920_tree = self._adaptor.createWithPayload(R920) + self._adaptor.addChild(root_0, R920_tree) - I899 = self.match(self.input, I, self.FOLLOW_I_in_pid_expression20575) + I921 = self.match(self.input, I, self.FOLLOW_I_in_pid_expression21043) if self._state.backtracking == 0: - I899_tree = self._adaptor.createWithPayload(I899) - self._adaptor.addChild(root_0, I899_tree) + I921_tree = self._adaptor.createWithPayload(I921) + self._adaptor.addChild(root_0, I921_tree) - N900 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression20577) + N922 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression21045) if self._state.backtracking == 0: - N900_tree = self._adaptor.createWithPayload(N900) - self._adaptor.addChild(root_0, N900_tree) + N922_tree = self._adaptor.createWithPayload(N922) + self._adaptor.addChild(root_0, N922_tree) - G901 = self.match(self.input, G, self.FOLLOW_G_in_pid_expression20579) + G923 = self.match(self.input, G, self.FOLLOW_G_in_pid_expression21047) if self._state.backtracking == 0: - G901_tree = self._adaptor.createWithPayload(G901) - self._adaptor.addChild(root_0, G901_tree) + G923_tree = self._adaptor.createWithPayload(G923) + self._adaptor.addChild(root_0, G923_tree) - elif alt308 == 4: - # sdl92.g:1735:25: S E N D E R + elif alt316 == 4: + # sdl92.g:1765:25: S E N D E R pass root_0 = self._adaptor.nil() - S902 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression20605) + S924 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression21073) if self._state.backtracking == 0: - S902_tree = self._adaptor.createWithPayload(S902) - self._adaptor.addChild(root_0, S902_tree) + S924_tree = self._adaptor.createWithPayload(S924) + self._adaptor.addChild(root_0, S924_tree) - E903 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression20607) + E925 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression21075) if self._state.backtracking == 0: - E903_tree = self._adaptor.createWithPayload(E903) - self._adaptor.addChild(root_0, E903_tree) + E925_tree = self._adaptor.createWithPayload(E925) + self._adaptor.addChild(root_0, E925_tree) - N904 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression20609) + N926 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression21077) if self._state.backtracking == 0: - N904_tree = self._adaptor.createWithPayload(N904) - self._adaptor.addChild(root_0, N904_tree) + N926_tree = self._adaptor.createWithPayload(N926) + self._adaptor.addChild(root_0, N926_tree) - D905 = self.match(self.input, D, self.FOLLOW_D_in_pid_expression20611) + D927 = self.match(self.input, D, self.FOLLOW_D_in_pid_expression21079) if self._state.backtracking == 0: - D905_tree = self._adaptor.createWithPayload(D905) - self._adaptor.addChild(root_0, D905_tree) + D927_tree = self._adaptor.createWithPayload(D927) + self._adaptor.addChild(root_0, D927_tree) - E906 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression20613) + E928 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression21081) if self._state.backtracking == 0: - E906_tree = self._adaptor.createWithPayload(E906) - self._adaptor.addChild(root_0, E906_tree) + E928_tree = self._adaptor.createWithPayload(E928) + self._adaptor.addChild(root_0, E928_tree) - R907 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression20615) + R929 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression21083) if self._state.backtracking == 0: - R907_tree = self._adaptor.createWithPayload(R907) - self._adaptor.addChild(root_0, R907_tree) + R929_tree = self._adaptor.createWithPayload(R929) + self._adaptor.addChild(root_0, R929_tree) @@ -36985,7 +37256,7 @@ def __init__(self): # $ANTLR start "now_expression" - # sdl92.g:1736:1: now_expression : N O W ; + # sdl92.g:1766:1: now_expression : N O W ; def now_expression(self, ): retval = self.now_expression_return() retval.start = self.input.LT(1) @@ -36993,40 +37264,40 @@ def now_expression(self, ): root_0 = None - N908 = None - O909 = None - W910 = None + N930 = None + O931 = None + W932 = None - N908_tree = None - O909_tree = None - W910_tree = None + N930_tree = None + O931_tree = None + W932_tree = None try: try: - # sdl92.g:1736:17: ( N O W ) - # sdl92.g:1736:25: N O W + # sdl92.g:1766:17: ( N O W ) + # sdl92.g:1766:25: N O W pass root_0 = self._adaptor.nil() - N908 = self.match(self.input, N, self.FOLLOW_N_in_now_expression20629) + N930 = self.match(self.input, N, self.FOLLOW_N_in_now_expression21097) if self._state.backtracking == 0: - N908_tree = self._adaptor.createWithPayload(N908) - self._adaptor.addChild(root_0, N908_tree) + N930_tree = self._adaptor.createWithPayload(N930) + self._adaptor.addChild(root_0, N930_tree) - O909 = self.match(self.input, O, self.FOLLOW_O_in_now_expression20631) + O931 = self.match(self.input, O, self.FOLLOW_O_in_now_expression21099) if self._state.backtracking == 0: - O909_tree = self._adaptor.createWithPayload(O909) - self._adaptor.addChild(root_0, O909_tree) + O931_tree = self._adaptor.createWithPayload(O931) + self._adaptor.addChild(root_0, O931_tree) - W910 = self.match(self.input, W, self.FOLLOW_W_in_now_expression20633) + W932 = self.match(self.input, W, self.FOLLOW_W_in_now_expression21101) if self._state.backtracking == 0: - W910_tree = self._adaptor.createWithPayload(W910) - self._adaptor.addChild(root_0, W910_tree) + W932_tree = self._adaptor.createWithPayload(W932) + self._adaptor.addChild(root_0, W932_tree) @@ -37064,7 +37335,7 @@ def __init__(self): # $ANTLR start "signed" - # sdl92.g:1883:1: signed : ( DASH )? INT ; + # sdl92.g:1913:1: signed : ( DASH )? INT ; def signed(self, ): retval = self.signed_return() retval.start = self.input.LT(1) @@ -37072,43 +37343,43 @@ def signed(self, ): root_0 = None - DASH911 = None - INT912 = None + DASH933 = None + INT934 = None - DASH911_tree = None - INT912_tree = None + DASH933_tree = None + INT934_tree = None try: try: - # sdl92.g:1884:9: ( ( DASH )? INT ) - # sdl92.g:1884:17: ( DASH )? INT + # sdl92.g:1914:9: ( ( DASH )? INT ) + # sdl92.g:1914:17: ( DASH )? INT pass root_0 = self._adaptor.nil() - # sdl92.g:1884:17: ( DASH )? - alt309 = 2 - LA309_0 = self.input.LA(1) + # sdl92.g:1914:17: ( DASH )? + alt317 = 2 + LA317_0 = self.input.LA(1) - if (LA309_0 == DASH) : - alt309 = 1 - if alt309 == 1: - # sdl92.g:1884:17: DASH + if (LA317_0 == DASH) : + alt317 = 1 + if alt317 == 1: + # sdl92.g:1914:17: DASH pass - DASH911 = self.match(self.input, DASH, self.FOLLOW_DASH_in_signed24062) + DASH933 = self.match(self.input, DASH, self.FOLLOW_DASH_in_signed24530) if self._state.backtracking == 0: - DASH911_tree = self._adaptor.createWithPayload(DASH911) - self._adaptor.addChild(root_0, DASH911_tree) + DASH933_tree = self._adaptor.createWithPayload(DASH933) + self._adaptor.addChild(root_0, DASH933_tree) - INT912 = self.match(self.input, INT, self.FOLLOW_INT_in_signed24065) + INT934 = self.match(self.input, INT, self.FOLLOW_INT_in_signed24533) if self._state.backtracking == 0: - INT912_tree = self._adaptor.createWithPayload(INT912) - self._adaptor.addChild(root_0, INT912_tree) + INT934_tree = self._adaptor.createWithPayload(INT934) + self._adaptor.addChild(root_0, INT934_tree) @@ -37136,13 +37407,13 @@ def signed(self, ): # $ANTLR start "synpred9_sdl92" def synpred9_sdl92_fragment(self, ): - # sdl92.g:202:17: ( signal_declaration ) - # sdl92.g:202:17: signal_declaration + # sdl92.g:204:17: ( signal_declaration ) + # sdl92.g:204:17: signal_declaration pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_declaration_in_synpred9_sdl921936) + self._state.following.append(self.FOLLOW_signal_declaration_in_synpred9_sdl921958) self.signal_declaration() self._state.following.pop() @@ -37156,13 +37427,13 @@ def synpred9_sdl92_fragment(self, ): # $ANTLR start "synpred10_sdl92" def synpred10_sdl92_fragment(self, ): - # sdl92.g:203:19: ( text_area ) - # sdl92.g:203:19: text_area + # sdl92.g:205:19: ( text_area ) + # sdl92.g:205:19: text_area pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_text_area_in_synpred10_sdl921956) + self._state.following.append(self.FOLLOW_text_area_in_synpred10_sdl921978) self.text_area() self._state.following.pop() @@ -37176,13 +37447,13 @@ def synpred10_sdl92_fragment(self, ): # $ANTLR start "synpred11_sdl92" def synpred11_sdl92_fragment(self, ): - # sdl92.g:204:19: ( procedure ) - # sdl92.g:204:19: procedure + # sdl92.g:206:19: ( procedure ) + # sdl92.g:206:19: procedure pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_procedure_in_synpred11_sdl921976) + self._state.following.append(self.FOLLOW_procedure_in_synpred11_sdl921998) self.procedure() self._state.following.pop() @@ -37194,15 +37465,15 @@ def synpred11_sdl92_fragment(self, ): - # $ANTLR start "synpred33_sdl92" - def synpred33_sdl92_fragment(self, ): - # sdl92.g:285:18: ( text_area ) - # sdl92.g:285:18: text_area + # $ANTLR start "synpred37_sdl92" + def synpred37_sdl92_fragment(self, ): + # sdl92.g:291:18: ( text_area ) + # sdl92.g:291:18: text_area pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_text_area_in_synpred33_sdl922840) + self._state.following.append(self.FOLLOW_text_area_in_synpred37_sdl922938) self.text_area() self._state.following.pop() @@ -37210,19 +37481,19 @@ def synpred33_sdl92_fragment(self, ): - # $ANTLR end "synpred33_sdl92" + # $ANTLR end "synpred37_sdl92" - # $ANTLR start "synpred34_sdl92" - def synpred34_sdl92_fragment(self, ): - # sdl92.g:285:30: ( procedure ) - # sdl92.g:285:30: procedure + # $ANTLR start "synpred38_sdl92" + def synpred38_sdl92_fragment(self, ): + # sdl92.g:291:30: ( procedure ) + # sdl92.g:291:30: procedure pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_procedure_in_synpred34_sdl922844) + self._state.following.append(self.FOLLOW_procedure_in_synpred38_sdl922942) self.procedure() self._state.following.pop() @@ -37230,19 +37501,19 @@ def synpred34_sdl92_fragment(self, ): - # $ANTLR end "synpred34_sdl92" + # $ANTLR end "synpred38_sdl92" - # $ANTLR start "synpred35_sdl92" - def synpred35_sdl92_fragment(self, ): - # sdl92.g:285:42: ( composite_state_preamble ) - # sdl92.g:285:43: composite_state_preamble + # $ANTLR start "synpred39_sdl92" + def synpred39_sdl92_fragment(self, ): + # sdl92.g:291:42: ( composite_state_preamble ) + # sdl92.g:291:43: composite_state_preamble pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_composite_state_preamble_in_synpred35_sdl922849) + self._state.following.append(self.FOLLOW_composite_state_preamble_in_synpred39_sdl922947) self.composite_state_preamble() self._state.following.pop() @@ -37250,19 +37521,19 @@ def synpred35_sdl92_fragment(self, ): - # $ANTLR end "synpred35_sdl92" + # $ANTLR end "synpred39_sdl92" - # $ANTLR start "synpred36_sdl92" - def synpred36_sdl92_fragment(self, ): - # sdl92.g:286:17: ( processBody ) - # sdl92.g:286:17: processBody + # $ANTLR start "synpred40_sdl92" + def synpred40_sdl92_fragment(self, ): + # sdl92.g:292:17: ( processBody ) + # sdl92.g:292:17: processBody pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_processBody_in_synpred36_sdl922873) + self._state.following.append(self.FOLLOW_processBody_in_synpred40_sdl922971) self.processBody() self._state.following.pop() @@ -37270,19 +37541,19 @@ def synpred36_sdl92_fragment(self, ): - # $ANTLR end "synpred36_sdl92" + # $ANTLR end "synpred40_sdl92" - # $ANTLR start "synpred42_sdl92" - def synpred42_sdl92_fragment(self, ): - # sdl92.g:298:17: ( end ) - # sdl92.g:298:17: end + # $ANTLR start "synpred46_sdl92" + def synpred46_sdl92_fragment(self, ): + # sdl92.g:305:17: ( end ) + # sdl92.g:305:17: end pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_end_in_synpred42_sdl923069) + self._state.following.append(self.FOLLOW_end_in_synpred46_sdl923201) self.end() self._state.following.pop() @@ -37290,22 +37561,22 @@ def synpred42_sdl92_fragment(self, ): - # $ANTLR end "synpred42_sdl92" + # $ANTLR end "synpred46_sdl92" - # $ANTLR start "synpred48_sdl92" - def synpred48_sdl92_fragment(self, ): + # $ANTLR start "synpred54_sdl92" + def synpred54_sdl92_fragment(self, ): e1 = None - # sdl92.g:316:51: (e1= end ) - # sdl92.g:316:51: e1= end + # sdl92.g:325:51: (e1= end ) + # sdl92.g:325:51: e1= end pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_end_in_synpred48_sdl923259) + self._state.following.append(self.FOLLOW_end_in_synpred54_sdl923429) e1 = self.end() self._state.following.pop() @@ -37313,19 +37584,19 @@ def synpred48_sdl92_fragment(self, ): - # $ANTLR end "synpred48_sdl92" + # $ANTLR end "synpred54_sdl92" - # $ANTLR start "synpred51_sdl92" - def synpred51_sdl92_fragment(self, ): - # sdl92.g:319:18: ( text_area ) - # sdl92.g:319:18: text_area + # $ANTLR start "synpred57_sdl92" + def synpred57_sdl92_fragment(self, ): + # sdl92.g:328:18: ( text_area ) + # sdl92.g:328:18: text_area pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_text_area_in_synpred51_sdl923323) + self._state.following.append(self.FOLLOW_text_area_in_synpred57_sdl923493) self.text_area() self._state.following.pop() @@ -37333,19 +37604,19 @@ def synpred51_sdl92_fragment(self, ): - # $ANTLR end "synpred51_sdl92" + # $ANTLR end "synpred57_sdl92" - # $ANTLR start "synpred52_sdl92" - def synpred52_sdl92_fragment(self, ): - # sdl92.g:319:30: ( procedure ) - # sdl92.g:319:30: procedure + # $ANTLR start "synpred58_sdl92" + def synpred58_sdl92_fragment(self, ): + # sdl92.g:328:30: ( procedure ) + # sdl92.g:328:30: procedure pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_procedure_in_synpred52_sdl923327) + self._state.following.append(self.FOLLOW_procedure_in_synpred58_sdl923497) self.procedure() self._state.following.pop() @@ -37353,19 +37624,19 @@ def synpred52_sdl92_fragment(self, ): - # $ANTLR end "synpred52_sdl92" + # $ANTLR end "synpred58_sdl92" - # $ANTLR start "synpred53_sdl92" - def synpred53_sdl92_fragment(self, ): - # sdl92.g:320:19: ( processBody ) - # sdl92.g:320:19: processBody + # $ANTLR start "synpred59_sdl92" + def synpred59_sdl92_fragment(self, ): + # sdl92.g:329:19: ( processBody ) + # sdl92.g:329:19: processBody pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_processBody_in_synpred53_sdl923349) + self._state.following.append(self.FOLLOW_processBody_in_synpred59_sdl923519) self.processBody() self._state.following.pop() @@ -37373,19 +37644,19 @@ def synpred53_sdl92_fragment(self, ): - # $ANTLR end "synpred53_sdl92" + # $ANTLR end "synpred59_sdl92" - # $ANTLR start "synpred66_sdl92" - def synpred66_sdl92_fragment(self, ): - # sdl92.g:355:17: ( symbolid ) - # sdl92.g:355:17: symbolid + # $ANTLR start "synpred74_sdl92" + def synpred74_sdl92_fragment(self, ): + # sdl92.g:367:17: ( symbolid ) + # sdl92.g:367:17: symbolid pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_symbolid_in_synpred66_sdl923853) + self._state.following.append(self.FOLLOW_symbolid_in_synpred74_sdl924083) self.symbolid() self._state.following.pop() @@ -37393,19 +37664,19 @@ def synpred66_sdl92_fragment(self, ): - # $ANTLR end "synpred66_sdl92" + # $ANTLR end "synpred74_sdl92" - # $ANTLR start "synpred67_sdl92" - def synpred67_sdl92_fragment(self, ): - # sdl92.g:356:17: ( content ) - # sdl92.g:356:17: content + # $ANTLR start "synpred75_sdl92" + def synpred75_sdl92_fragment(self, ): + # sdl92.g:368:17: ( content ) + # sdl92.g:368:17: content pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_content_in_synpred67_sdl923872) + self._state.following.append(self.FOLLOW_content_in_synpred75_sdl924102) self.content() self._state.following.pop() @@ -37413,22 +37684,22 @@ def synpred67_sdl92_fragment(self, ): - # $ANTLR end "synpred67_sdl92" + # $ANTLR end "synpred75_sdl92" - # $ANTLR start "synpred130_sdl92" - def synpred130_sdl92_fragment(self, ): + # $ANTLR start "synpred138_sdl92" + def synpred138_sdl92_fragment(self, ): e = None - # sdl92.g:573:39: (e= end ) - # sdl92.g:573:39: e= end + # sdl92.g:585:39: (e= end ) + # sdl92.g:585:39: e= end pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_end_in_synpred130_sdl926569) + self._state.following.append(self.FOLLOW_end_in_synpred138_sdl926805) e = self.end() self._state.following.pop() @@ -37436,22 +37707,22 @@ def synpred130_sdl92_fragment(self, ): - # $ANTLR end "synpred130_sdl92" + # $ANTLR end "synpred138_sdl92" - # $ANTLR start "synpred140_sdl92" - def synpred140_sdl92_fragment(self, ): + # $ANTLR start "synpred148_sdl92" + def synpred148_sdl92_fragment(self, ): e = None - # sdl92.g:587:53: (e= end ) - # sdl92.g:587:53: e= end + # sdl92.g:599:53: (e= end ) + # sdl92.g:599:53: e= end pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_end_in_synpred140_sdl926829) + self._state.following.append(self.FOLLOW_end_in_synpred148_sdl927065) e = self.end() self._state.following.pop() @@ -37459,19 +37730,19 @@ def synpred140_sdl92_fragment(self, ): - # $ANTLR end "synpred140_sdl92" + # $ANTLR end "synpred148_sdl92" - # $ANTLR start "synpred154_sdl92" - def synpred154_sdl92_fragment(self, ): - # sdl92.g:645:18: ( text_area ) - # sdl92.g:645:18: text_area + # $ANTLR start "synpred162_sdl92" + def synpred162_sdl92_fragment(self, ): + # sdl92.g:657:18: ( text_area ) + # sdl92.g:657:18: text_area pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_text_area_in_synpred154_sdl927611) + self._state.following.append(self.FOLLOW_text_area_in_synpred162_sdl927847) self.text_area() self._state.following.pop() @@ -37479,19 +37750,19 @@ def synpred154_sdl92_fragment(self, ): - # $ANTLR end "synpred154_sdl92" + # $ANTLR end "synpred162_sdl92" - # $ANTLR start "synpred161_sdl92" - def synpred161_sdl92_fragment(self, ): - # sdl92.g:703:13: ( text_area ) - # sdl92.g:703:13: text_area + # $ANTLR start "synpred169_sdl92" + def synpred169_sdl92_fragment(self, ): + # sdl92.g:715:13: ( text_area ) + # sdl92.g:715:13: text_area pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_text_area_in_synpred161_sdl928113) + self._state.following.append(self.FOLLOW_text_area_in_synpred169_sdl928349) self.text_area() self._state.following.pop() @@ -37499,19 +37770,19 @@ def synpred161_sdl92_fragment(self, ): - # $ANTLR end "synpred161_sdl92" + # $ANTLR end "synpred169_sdl92" - # $ANTLR start "synpred162_sdl92" - def synpred162_sdl92_fragment(self, ): - # sdl92.g:704:15: ( procedure ) - # sdl92.g:704:15: procedure + # $ANTLR start "synpred170_sdl92" + def synpred170_sdl92_fragment(self, ): + # sdl92.g:716:15: ( procedure ) + # sdl92.g:716:15: procedure pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_procedure_in_synpred162_sdl928129) + self._state.following.append(self.FOLLOW_procedure_in_synpred170_sdl928365) self.procedure() self._state.following.pop() @@ -37519,19 +37790,19 @@ def synpred162_sdl92_fragment(self, ): - # $ANTLR end "synpred162_sdl92" + # $ANTLR end "synpred170_sdl92" - # $ANTLR start "synpred163_sdl92" - def synpred163_sdl92_fragment(self, ): - # sdl92.g:705:15: ( composite_state_preamble ) - # sdl92.g:705:16: composite_state_preamble + # $ANTLR start "synpred171_sdl92" + def synpred171_sdl92_fragment(self, ): + # sdl92.g:717:15: ( composite_state_preamble ) + # sdl92.g:717:16: composite_state_preamble pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_composite_state_preamble_in_synpred163_sdl928146) + self._state.following.append(self.FOLLOW_composite_state_preamble_in_synpred171_sdl928382) self.composite_state_preamble() self._state.following.pop() @@ -37539,19 +37810,19 @@ def synpred163_sdl92_fragment(self, ): - # $ANTLR end "synpred163_sdl92" + # $ANTLR end "synpred171_sdl92" - # $ANTLR start "synpred201_sdl92" - def synpred201_sdl92_fragment(self, ): - # sdl92.g:827:17: ( enabling_condition ) - # sdl92.g:827:17: enabling_condition + # $ANTLR start "synpred209_sdl92" + def synpred209_sdl92_fragment(self, ): + # sdl92.g:839:17: ( enabling_condition ) + # sdl92.g:839:17: enabling_condition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_enabling_condition_in_synpred201_sdl929485) + self._state.following.append(self.FOLLOW_enabling_condition_in_synpred209_sdl929721) self.enabling_condition() self._state.following.pop() @@ -37559,19 +37830,19 @@ def synpred201_sdl92_fragment(self, ): - # $ANTLR end "synpred201_sdl92" + # $ANTLR end "synpred209_sdl92" - # $ANTLR start "synpred208_sdl92" - def synpred208_sdl92_fragment(self, ): - # sdl92.g:855:25: ( label ) - # sdl92.g:855:25: label + # $ANTLR start "synpred216_sdl92" + def synpred216_sdl92_fragment(self, ): + # sdl92.g:867:25: ( label ) + # sdl92.g:867:25: label pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_label_in_synpred208_sdl929786) + self._state.following.append(self.FOLLOW_label_in_synpred216_sdl9210022) self.label() self._state.following.pop() @@ -37579,19 +37850,19 @@ def synpred208_sdl92_fragment(self, ): - # $ANTLR end "synpred208_sdl92" + # $ANTLR end "synpred216_sdl92" - # $ANTLR start "synpred225_sdl92" - def synpred225_sdl92_fragment(self, ): - # sdl92.g:898:30: ( actual_parameters ) - # sdl92.g:898:30: actual_parameters + # $ANTLR start "synpred233_sdl92" + def synpred233_sdl92_fragment(self, ): + # sdl92.g:910:30: ( actual_parameters ) + # sdl92.g:910:30: actual_parameters pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_actual_parameters_in_synpred225_sdl9210398) + self._state.following.append(self.FOLLOW_actual_parameters_in_synpred233_sdl9210634) self.actual_parameters() self._state.following.pop() @@ -37599,19 +37870,19 @@ def synpred225_sdl92_fragment(self, ): - # $ANTLR end "synpred225_sdl92" + # $ANTLR end "synpred233_sdl92" - # $ANTLR start "synpred232_sdl92" - def synpred232_sdl92_fragment(self, ): - # sdl92.g:942:17: ( answer_part ) - # sdl92.g:942:17: answer_part + # $ANTLR start "synpred240_sdl92" + def synpred240_sdl92_fragment(self, ): + # sdl92.g:954:17: ( answer_part ) + # sdl92.g:954:17: answer_part pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_answer_part_in_synpred232_sdl9210586) + self._state.following.append(self.FOLLOW_answer_part_in_synpred240_sdl9210822) self.answer_part() self._state.following.pop() @@ -37619,19 +37890,19 @@ def synpred232_sdl92_fragment(self, ): - # $ANTLR end "synpred232_sdl92" + # $ANTLR end "synpred240_sdl92" - # $ANTLR start "synpred242_sdl92" - def synpred242_sdl92_fragment(self, ): - # sdl92.g:970:17: ( answer_part ) - # sdl92.g:970:17: answer_part + # $ANTLR start "synpred250_sdl92" + def synpred250_sdl92_fragment(self, ): + # sdl92.g:982:17: ( answer_part ) + # sdl92.g:982:17: answer_part pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_answer_part_in_synpred242_sdl9210969) + self._state.following.append(self.FOLLOW_answer_part_in_synpred250_sdl9211205) self.answer_part() self._state.following.pop() @@ -37639,19 +37910,19 @@ def synpred242_sdl92_fragment(self, ): - # $ANTLR end "synpred242_sdl92" + # $ANTLR end "synpred250_sdl92" - # $ANTLR start "synpred250_sdl92" - def synpred250_sdl92_fragment(self, ): - # sdl92.g:990:17: ( range_condition ) - # sdl92.g:990:17: range_condition + # $ANTLR start "synpred258_sdl92" + def synpred258_sdl92_fragment(self, ): + # sdl92.g:1002:17: ( range_condition ) + # sdl92.g:1002:17: range_condition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_range_condition_in_synpred250_sdl9211280) + self._state.following.append(self.FOLLOW_range_condition_in_synpred258_sdl9211516) self.range_condition() self._state.following.pop() @@ -37659,19 +37930,19 @@ def synpred250_sdl92_fragment(self, ): - # $ANTLR end "synpred250_sdl92" + # $ANTLR end "synpred258_sdl92" - # $ANTLR start "synpred257_sdl92" - def synpred257_sdl92_fragment(self, ): - # sdl92.g:1007:17: ( informal_text ) - # sdl92.g:1007:17: informal_text + # $ANTLR start "synpred265_sdl92" + def synpred265_sdl92_fragment(self, ): + # sdl92.g:1019:17: ( informal_text ) + # sdl92.g:1019:17: informal_text pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_informal_text_in_synpred257_sdl9211501) + self._state.following.append(self.FOLLOW_informal_text_in_synpred265_sdl9211737) self.informal_text() self._state.following.pop() @@ -37679,19 +37950,19 @@ def synpred257_sdl92_fragment(self, ): - # $ANTLR end "synpred257_sdl92" + # $ANTLR end "synpred265_sdl92" - # $ANTLR start "synpred258_sdl92" - def synpred258_sdl92_fragment(self, ): - # sdl92.g:1008:19: ( expression ) - # sdl92.g:1008:19: expression + # $ANTLR start "synpred266_sdl92" + def synpred266_sdl92_fragment(self, ): + # sdl92.g:1020:19: ( expression ) + # sdl92.g:1020:19: expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_expression_in_synpred258_sdl9211521) + self._state.following.append(self.FOLLOW_expression_in_synpred266_sdl9211757) self.expression() self._state.following.pop() @@ -37699,19 +37970,19 @@ def synpred258_sdl92_fragment(self, ): - # $ANTLR end "synpred258_sdl92" + # $ANTLR end "synpred266_sdl92" - # $ANTLR start "synpred259_sdl92" - def synpred259_sdl92_fragment(self, ): - # sdl92.g:1016:18: ( closed_range ) - # sdl92.g:1016:18: closed_range + # $ANTLR start "synpred267_sdl92" + def synpred267_sdl92_fragment(self, ): + # sdl92.g:1028:18: ( closed_range ) + # sdl92.g:1028:18: closed_range pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_closed_range_in_synpred259_sdl9211614) + self._state.following.append(self.FOLLOW_closed_range_in_synpred267_sdl9211850) self.closed_range() self._state.following.pop() @@ -37719,19 +37990,19 @@ def synpred259_sdl92_fragment(self, ): - # $ANTLR end "synpred259_sdl92" + # $ANTLR end "synpred267_sdl92" - # $ANTLR start "synpred260_sdl92" - def synpred260_sdl92_fragment(self, ): - # sdl92.g:1017:24: ( closed_range ) - # sdl92.g:1017:24: closed_range + # $ANTLR start "synpred268_sdl92" + def synpred268_sdl92_fragment(self, ): + # sdl92.g:1029:24: ( closed_range ) + # sdl92.g:1029:24: closed_range pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_closed_range_in_synpred260_sdl9211642) + self._state.following.append(self.FOLLOW_closed_range_in_synpred268_sdl9211878) self.closed_range() self._state.following.pop() @@ -37739,373 +38010,373 @@ def synpred260_sdl92_fragment(self, ): - # $ANTLR end "synpred260_sdl92" + # $ANTLR end "synpred268_sdl92" - # $ANTLR start "synpred261_sdl92" - def synpred261_sdl92_fragment(self, ): - # sdl92.g:1017:18: ( ',' ( closed_range | open_range ) ) - # sdl92.g:1017:18: ',' ( closed_range | open_range ) + # $ANTLR start "synpred269_sdl92" + def synpred269_sdl92_fragment(self, ): + # sdl92.g:1029:18: ( ',' ( closed_range | open_range ) ) + # sdl92.g:1029:18: ',' ( closed_range | open_range ) pass root_0 = self._adaptor.nil() - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred261_sdl9211638) + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred269_sdl9211874) - # sdl92.g:1017:23: ( closed_range | open_range ) - alt323 = 2 - LA323 = self.input.LA(1) - if LA323 in {ID}: - LA323_1 = self.input.LA(2) + # sdl92.g:1029:23: ( closed_range | open_range ) + alt331 = 2 + LA331 = self.input.LA(1) + if LA331 in {ID}: + LA331_1 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 1, self.input) + nvae = NoViableAltException("", 331, 1, self.input) raise nvae - elif LA323 in {TRUE}: - LA323_2 = self.input.LA(2) + elif LA331 in {TRUE}: + LA331_2 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 2, self.input) + nvae = NoViableAltException("", 331, 2, self.input) raise nvae - elif LA323 in {FALSE}: - LA323_3 = self.input.LA(2) + elif LA331 in {FALSE}: + LA331_3 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 3, self.input) + nvae = NoViableAltException("", 331, 3, self.input) raise nvae - elif LA323 in {STRING}: - LA323_4 = self.input.LA(2) + elif LA331 in {STRING}: + LA331_4 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 4, self.input) + nvae = NoViableAltException("", 331, 4, self.input) raise nvae - elif LA323 in {PLUS_INFINITY}: - LA323_5 = self.input.LA(2) + elif LA331 in {PLUS_INFINITY}: + LA331_5 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 5, self.input) + nvae = NoViableAltException("", 331, 5, self.input) raise nvae - elif LA323 in {MINUS_INFINITY}: - LA323_6 = self.input.LA(2) + elif LA331 in {MINUS_INFINITY}: + LA331_6 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 6, self.input) + nvae = NoViableAltException("", 331, 6, self.input) raise nvae - elif LA323 in {INT}: - LA323_7 = self.input.LA(2) + elif LA331 in {INT}: + LA331_7 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 7, self.input) + nvae = NoViableAltException("", 331, 7, self.input) raise nvae - elif LA323 in {FLOAT}: - LA323_8 = self.input.LA(2) + elif LA331 in {FLOAT}: + LA331_8 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 8, self.input) + nvae = NoViableAltException("", 331, 8, self.input) raise nvae - elif LA323 in {L_BRACKET}: - LA323_9 = self.input.LA(2) + elif LA331 in {L_BRACKET}: + LA331_9 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 9, self.input) + nvae = NoViableAltException("", 331, 9, self.input) raise nvae - elif LA323 in {MKSTRING}: - LA323_10 = self.input.LA(2) + elif LA331 in {MKSTRING}: + LA331_10 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 10, self.input) + nvae = NoViableAltException("", 331, 10, self.input) raise nvae - elif LA323 in {STATE}: - LA323_11 = self.input.LA(2) + elif LA331 in {STATE}: + LA331_11 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 11, self.input) + nvae = NoViableAltException("", 331, 11, self.input) raise nvae - elif LA323 in {L_PAREN}: - LA323_12 = self.input.LA(2) + elif LA331 in {L_PAREN}: + LA331_12 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 12, self.input) + nvae = NoViableAltException("", 331, 12, self.input) raise nvae - elif LA323 in {IF}: - LA323_13 = self.input.LA(2) + elif LA331 in {IF}: + LA331_13 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 13, self.input) + nvae = NoViableAltException("", 331, 13, self.input) raise nvae - elif LA323 in {NOT}: - LA323_14 = self.input.LA(2) + elif LA331 in {NOT}: + LA331_14 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 14, self.input) + nvae = NoViableAltException("", 331, 14, self.input) raise nvae - elif LA323 in {DASH}: - LA323_15 = self.input.LA(2) + elif LA331 in {DASH}: + LA331_15 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 15, self.input) + nvae = NoViableAltException("", 331, 15, self.input) raise nvae - elif LA323 in {CALL}: - LA323_16 = self.input.LA(2) + elif LA331 in {CALL}: + LA331_16 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 16, self.input) + nvae = NoViableAltException("", 331, 16, self.input) raise nvae - elif LA323 in {UNHANDLED}: - LA323_17 = self.input.LA(2) + elif LA331 in {UNHANDLED}: + LA331_17 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 17, self.input) + nvae = NoViableAltException("", 331, 17, self.input) raise nvae - elif LA323 in {INPUT}: - LA323_18 = self.input.LA(2) + elif LA331 in {INPUT}: + LA331_18 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 18, self.input) + nvae = NoViableAltException("", 331, 18, self.input) raise nvae - elif LA323 in {OUTPUT}: - LA323_19 = self.input.LA(2) + elif LA331 in {OUTPUT}: + LA331_19 = self.input.LA(2) - if (self.synpred260_sdl92()) : - alt323 = 1 + if (self.synpred268_sdl92()) : + alt331 = 1 elif (True) : - alt323 = 2 + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 19, self.input) + nvae = NoViableAltException("", 331, 19, self.input) raise nvae - elif LA323 in {EQ, GE, GT, LE, LT, NEQ}: - alt323 = 2 + elif LA331 in {EQ, GE, GT, LE, LT, NEQ}: + alt331 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 323, 0, self.input) + nvae = NoViableAltException("", 331, 0, self.input) raise nvae - if alt323 == 1: - # sdl92.g:1017:24: closed_range + if alt331 == 1: + # sdl92.g:1029:24: closed_range pass - self._state.following.append(self.FOLLOW_closed_range_in_synpred261_sdl9211642) + self._state.following.append(self.FOLLOW_closed_range_in_synpred269_sdl9211878) self.closed_range() self._state.following.pop() - elif alt323 == 2: - # sdl92.g:1017:37: open_range + elif alt331 == 2: + # sdl92.g:1029:37: open_range pass - self._state.following.append(self.FOLLOW_open_range_in_synpred261_sdl9211644) + self._state.following.append(self.FOLLOW_open_range_in_synpred269_sdl9211880) self.open_range() self._state.following.pop() @@ -38116,25 +38387,25 @@ def synpred261_sdl92_fragment(self, ): - # $ANTLR end "synpred261_sdl92" + # $ANTLR end "synpred269_sdl92" - # $ANTLR start "synpred301_sdl92" - def synpred301_sdl92_fragment(self, ): + # $ANTLR start "synpred309_sdl92" + def synpred309_sdl92_fragment(self, ): b = None - # sdl92.g:1160:18: ( COMMA b= ground_expression ) - # sdl92.g:1160:18: COMMA b= ground_expression + # sdl92.g:1172:18: ( COMMA b= ground_expression ) + # sdl92.g:1172:18: COMMA b= ground_expression pass root_0 = self._adaptor.nil() - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred301_sdl9213385) + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred309_sdl9213621) - self._state.following.append(self.FOLLOW_ground_expression_in_synpred301_sdl9213389) + self._state.following.append(self.FOLLOW_ground_expression_in_synpred309_sdl9213625) b = self.ground_expression() self._state.following.pop() @@ -38142,22 +38413,22 @@ def synpred301_sdl92_fragment(self, ): - # $ANTLR end "synpred301_sdl92" + # $ANTLR end "synpred309_sdl92" - # $ANTLR start "synpred305_sdl92" - def synpred305_sdl92_fragment(self, ): - # sdl92.g:1184:39: ( IMPLIES binary_expression_0 ) - # sdl92.g:1184:39: IMPLIES binary_expression_0 + # $ANTLR start "synpred313_sdl92" + def synpred313_sdl92_fragment(self, ): + # sdl92.g:1196:39: ( IMPLIES binary_expression_0 ) + # sdl92.g:1196:39: IMPLIES binary_expression_0 pass root_0 = self._adaptor.nil() - self.match(self.input, IMPLIES, self.FOLLOW_IMPLIES_in_synpred305_sdl9213651) + self.match(self.input, IMPLIES, self.FOLLOW_IMPLIES_in_synpred313_sdl9213887) - self._state.following.append(self.FOLLOW_binary_expression_0_in_synpred305_sdl9213654) + self._state.following.append(self.FOLLOW_binary_expression_0_in_synpred313_sdl9213890) self.binary_expression_0() self._state.following.pop() @@ -38165,55 +38436,55 @@ def synpred305_sdl92_fragment(self, ): - # $ANTLR end "synpred305_sdl92" + # $ANTLR end "synpred313_sdl92" - # $ANTLR start "synpred308_sdl92" - def synpred308_sdl92_fragment(self, ): - # sdl92.g:1186:38: ( ( ( OR ( ELSE )? ) | XOR ) binary_expression_1 ) - # sdl92.g:1186:38: ( ( OR ( ELSE )? ) | XOR ) binary_expression_1 + # $ANTLR start "synpred316_sdl92" + def synpred316_sdl92_fragment(self, ): + # sdl92.g:1198:38: ( ( ( OR ( ELSE )? ) | XOR ) binary_expression_1 ) + # sdl92.g:1198:38: ( ( OR ( ELSE )? ) | XOR ) binary_expression_1 pass root_0 = self._adaptor.nil() - # sdl92.g:1186:38: ( ( OR ( ELSE )? ) | XOR ) - alt328 = 2 - LA328_0 = self.input.LA(1) + # sdl92.g:1198:38: ( ( OR ( ELSE )? ) | XOR ) + alt336 = 2 + LA336_0 = self.input.LA(1) - if (LA328_0 == OR) : - alt328 = 1 - elif (LA328_0 == XOR) : - alt328 = 2 + if (LA336_0 == OR) : + alt336 = 1 + elif (LA336_0 == XOR) : + alt336 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 328, 0, self.input) + nvae = NoViableAltException("", 336, 0, self.input) raise nvae - if alt328 == 1: - # sdl92.g:1186:40: ( OR ( ELSE )? ) + if alt336 == 1: + # sdl92.g:1198:40: ( OR ( ELSE )? ) pass - # sdl92.g:1186:40: ( OR ( ELSE )? ) - # sdl92.g:1186:41: OR ( ELSE )? + # sdl92.g:1198:40: ( OR ( ELSE )? ) + # sdl92.g:1198:41: OR ( ELSE )? pass - self.match(self.input, OR, self.FOLLOW_OR_in_synpred308_sdl9213683) + self.match(self.input, OR, self.FOLLOW_OR_in_synpred316_sdl9213919) - # sdl92.g:1186:45: ( ELSE )? - alt327 = 2 - LA327_0 = self.input.LA(1) + # sdl92.g:1198:45: ( ELSE )? + alt335 = 2 + LA335_0 = self.input.LA(1) - if (LA327_0 == ELSE) : - alt327 = 1 - if alt327 == 1: - # sdl92.g:1186:45: ELSE + if (LA335_0 == ELSE) : + alt335 = 1 + if alt335 == 1: + # sdl92.g:1198:45: ELSE pass - self.match(self.input, ELSE, self.FOLLOW_ELSE_in_synpred308_sdl9213686) + self.match(self.input, ELSE, self.FOLLOW_ELSE_in_synpred316_sdl9213922) @@ -38223,16 +38494,16 @@ def synpred308_sdl92_fragment(self, ): - elif alt328 == 2: - # sdl92.g:1186:54: XOR + elif alt336 == 2: + # sdl92.g:1198:54: XOR pass - self.match(self.input, XOR, self.FOLLOW_XOR_in_synpred308_sdl9213692) + self.match(self.input, XOR, self.FOLLOW_XOR_in_synpred316_sdl9213928) - self._state.following.append(self.FOLLOW_binary_expression_1_in_synpred308_sdl9213697) + self._state.following.append(self.FOLLOW_binary_expression_1_in_synpred316_sdl9213933) self.binary_expression_1() self._state.following.pop() @@ -38240,37 +38511,37 @@ def synpred308_sdl92_fragment(self, ): - # $ANTLR end "synpred308_sdl92" + # $ANTLR end "synpred316_sdl92" - # $ANTLR start "synpred310_sdl92" - def synpred310_sdl92_fragment(self, ): - # sdl92.g:1188:39: ( AND ( THEN )? binary_expression_2 ) - # sdl92.g:1188:39: AND ( THEN )? binary_expression_2 + # $ANTLR start "synpred318_sdl92" + def synpred318_sdl92_fragment(self, ): + # sdl92.g:1200:39: ( AND ( THEN )? binary_expression_2 ) + # sdl92.g:1200:39: AND ( THEN )? binary_expression_2 pass root_0 = self._adaptor.nil() - self.match(self.input, AND, self.FOLLOW_AND_in_synpred310_sdl9213724) + self.match(self.input, AND, self.FOLLOW_AND_in_synpred318_sdl9213960) - # sdl92.g:1188:44: ( THEN )? - alt329 = 2 - LA329_0 = self.input.LA(1) + # sdl92.g:1200:44: ( THEN )? + alt337 = 2 + LA337_0 = self.input.LA(1) - if (LA329_0 == THEN) : - alt329 = 1 - if alt329 == 1: - # sdl92.g:1188:44: THEN + if (LA337_0 == THEN) : + alt337 = 1 + if alt337 == 1: + # sdl92.g:1200:44: THEN pass - self.match(self.input, THEN, self.FOLLOW_THEN_in_synpred310_sdl9213727) + self.match(self.input, THEN, self.FOLLOW_THEN_in_synpred318_sdl9213963) - self._state.following.append(self.FOLLOW_binary_expression_2_in_synpred310_sdl9213730) + self._state.following.append(self.FOLLOW_binary_expression_2_in_synpred318_sdl9213966) self.binary_expression_2() self._state.following.pop() @@ -38278,14 +38549,14 @@ def synpred310_sdl92_fragment(self, ): - # $ANTLR end "synpred310_sdl92" + # $ANTLR end "synpred318_sdl92" - # $ANTLR start "synpred317_sdl92" - def synpred317_sdl92_fragment(self, ): - # sdl92.g:1190:38: ( ( EQ | NEQ | GT | GE | LT | LE | IN ) binary_expression_3 ) - # sdl92.g:1190:38: ( EQ | NEQ | GT | GE | LT | LE | IN ) binary_expression_3 + # $ANTLR start "synpred325_sdl92" + def synpred325_sdl92_fragment(self, ): + # sdl92.g:1202:38: ( ( EQ | NEQ | GT | GE | LT | LE | IN ) binary_expression_3 ) + # sdl92.g:1202:38: ( EQ | NEQ | GT | GE | LT | LE | IN ) binary_expression_3 pass root_0 = self._adaptor.nil() @@ -38305,7 +38576,7 @@ def synpred317_sdl92_fragment(self, ): - self._state.following.append(self.FOLLOW_binary_expression_3_in_synpred317_sdl9213793) + self._state.following.append(self.FOLLOW_binary_expression_3_in_synpred325_sdl9214029) self.binary_expression_3() self._state.following.pop() @@ -38313,14 +38584,14 @@ def synpred317_sdl92_fragment(self, ): - # $ANTLR end "synpred317_sdl92" + # $ANTLR end "synpred325_sdl92" - # $ANTLR start "synpred320_sdl92" - def synpred320_sdl92_fragment(self, ): - # sdl92.g:1192:38: ( ( PLUS | DASH | APPEND ) binary_expression_4 ) - # sdl92.g:1192:38: ( PLUS | DASH | APPEND ) binary_expression_4 + # $ANTLR start "synpred328_sdl92" + def synpred328_sdl92_fragment(self, ): + # sdl92.g:1204:38: ( ( PLUS | DASH | APPEND ) binary_expression_4 ) + # sdl92.g:1204:38: ( PLUS | DASH | APPEND ) binary_expression_4 pass root_0 = self._adaptor.nil() @@ -38340,7 +38611,7 @@ def synpred320_sdl92_fragment(self, ): - self._state.following.append(self.FOLLOW_binary_expression_4_in_synpred320_sdl9213836) + self._state.following.append(self.FOLLOW_binary_expression_4_in_synpred328_sdl9214072) self.binary_expression_4() self._state.following.pop() @@ -38348,14 +38619,14 @@ def synpred320_sdl92_fragment(self, ): - # $ANTLR end "synpred320_sdl92" + # $ANTLR end "synpred328_sdl92" - # $ANTLR start "synpred324_sdl92" - def synpred324_sdl92_fragment(self, ): - # sdl92.g:1194:35: ( ( ASTERISK | DIV | MOD | REM ) unary_expression ) - # sdl92.g:1194:35: ( ASTERISK | DIV | MOD | REM ) unary_expression + # $ANTLR start "synpred332_sdl92" + def synpred332_sdl92_fragment(self, ): + # sdl92.g:1206:35: ( ( ASTERISK | DIV | MOD | REM ) unary_expression ) + # sdl92.g:1206:35: ( ASTERISK | DIV | MOD | REM ) unary_expression pass root_0 = self._adaptor.nil() @@ -38375,7 +38646,7 @@ def synpred324_sdl92_fragment(self, ): - self._state.following.append(self.FOLLOW_unary_expression_in_synpred324_sdl9213884) + self._state.following.append(self.FOLLOW_unary_expression_in_synpred332_sdl9214120) self.unary_expression() self._state.following.pop() @@ -38383,19 +38654,19 @@ def synpred324_sdl92_fragment(self, ): - # $ANTLR end "synpred324_sdl92" + # $ANTLR end "synpred332_sdl92" - # $ANTLR start "synpred325_sdl92" - def synpred325_sdl92_fragment(self, ): - # sdl92.g:1198:17: ( postfix_expression ) - # sdl92.g:1198:17: postfix_expression + # $ANTLR start "synpred333_sdl92" + def synpred333_sdl92_fragment(self, ): + # sdl92.g:1210:17: ( postfix_expression ) + # sdl92.g:1210:17: postfix_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_postfix_expression_in_synpred325_sdl9213909) + self._state.following.append(self.FOLLOW_postfix_expression_in_synpred333_sdl9214145) self.postfix_expression() self._state.following.pop() @@ -38403,19 +38674,19 @@ def synpred325_sdl92_fragment(self, ): - # $ANTLR end "synpred325_sdl92" + # $ANTLR end "synpred333_sdl92" - # $ANTLR start "synpred326_sdl92" - def synpred326_sdl92_fragment(self, ): - # sdl92.g:1199:17: ( primary_expression ) - # sdl92.g:1199:17: primary_expression + # $ANTLR start "synpred334_sdl92" + def synpred334_sdl92_fragment(self, ): + # sdl92.g:1211:17: ( primary_expression ) + # sdl92.g:1211:17: primary_expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_primary_expression_in_synpred326_sdl9213927) + self._state.following.append(self.FOLLOW_primary_expression_in_synpred334_sdl9214163) self.primary_expression() self._state.following.pop() @@ -38423,34 +38694,34 @@ def synpred326_sdl92_fragment(self, ): - # $ANTLR end "synpred326_sdl92" + # $ANTLR end "synpred334_sdl92" - # $ANTLR start "synpred332_sdl92" - def synpred332_sdl92_fragment(self, ): + # $ANTLR start "synpred340_sdl92" + def synpred340_sdl92_fragment(self, ): params = None - # sdl92.g:1210:21: ( '(' (params= expression_list )? ')' ) - # sdl92.g:1210:21: '(' (params= expression_list )? ')' + # sdl92.g:1222:21: ( '(' (params= expression_list )? ')' ) + # sdl92.g:1222:21: '(' (params= expression_list )? ')' pass root_0 = self._adaptor.nil() - self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_synpred332_sdl9214134) + self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_synpred340_sdl9214370) - # sdl92.g:1210:31: (params= expression_list )? - alt330 = 2 - LA330_0 = self.input.LA(1) + # sdl92.g:1222:31: (params= expression_list )? + alt338 = 2 + LA338_0 = self.input.LA(1) - if (LA330_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt330 = 1 - if alt330 == 1: - # sdl92.g:1210:31: params= expression_list + if (LA338_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt338 = 1 + if alt338 == 1: + # sdl92.g:1222:31: params= expression_list pass - self._state.following.append(self.FOLLOW_expression_list_in_synpred332_sdl9214138) + self._state.following.append(self.FOLLOW_expression_list_in_synpred340_sdl9214374) params = self.expression_list() self._state.following.pop() @@ -38459,24 +38730,24 @@ def synpred332_sdl92_fragment(self, ): - self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_synpred332_sdl9214141) + self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_synpred340_sdl9214377) - # $ANTLR end "synpred332_sdl92" + # $ANTLR end "synpred340_sdl92" - # $ANTLR start "synpred334_sdl92" - def synpred334_sdl92_fragment(self, ): - # sdl92.g:1212:21: ( ( '!' | DOT ) field_name ) - # sdl92.g:1212:21: ( '!' | DOT ) field_name + # $ANTLR start "synpred342_sdl92" + def synpred342_sdl92_fragment(self, ): + # sdl92.g:1224:21: ( ( '!' | DOT ) field_name ) + # sdl92.g:1224:21: ( '!' | DOT ) field_name pass root_0 = self._adaptor.nil() - if self.input.LA(1) in {DOT, 246}: + if self.input.LA(1) in {DOT, 248}: self.input.consume() self._state.errorRecovery = False @@ -38491,7 +38762,7 @@ def synpred334_sdl92_fragment(self, ): - self._state.following.append(self.FOLLOW_field_name_in_synpred334_sdl9214204) + self._state.following.append(self.FOLLOW_field_name_in_synpred342_sdl9214440) self.field_name() self._state.following.pop() @@ -38499,25 +38770,25 @@ def synpred334_sdl92_fragment(self, ): - # $ANTLR end "synpred334_sdl92" + # $ANTLR end "synpred342_sdl92" - # $ANTLR start "synpred354_sdl92" - def synpred354_sdl92_fragment(self, ): - # sdl92.g:1255:17: ( ID ':' expression ) - # sdl92.g:1255:17: ID ':' expression + # $ANTLR start "synpred362_sdl92" + def synpred362_sdl92_fragment(self, ): + # sdl92.g:1267:17: ( ID ':' expression ) + # sdl92.g:1267:17: ID ':' expression pass root_0 = self._adaptor.nil() - self.match(self.input, ID, self.FOLLOW_ID_in_synpred354_sdl9214869) + self.match(self.input, ID, self.FOLLOW_ID_in_synpred362_sdl9215105) - self.match(self.input, 253, self.FOLLOW_253_in_synpred354_sdl9214871) + self.match(self.input, 255, self.FOLLOW_255_in_synpred362_sdl9215107) - self._state.following.append(self.FOLLOW_expression_in_synpred354_sdl9214873) + self._state.following.append(self.FOLLOW_expression_in_synpred362_sdl9215109) self.expression() self._state.following.pop() @@ -38525,49 +38796,49 @@ def synpred354_sdl92_fragment(self, ): - # $ANTLR end "synpred354_sdl92" + # $ANTLR end "synpred362_sdl92" - # $ANTLR start "synpred355_sdl92" - def synpred355_sdl92_fragment(self, ): - # sdl92.g:1256:17: ( ID ) - # sdl92.g:1256:17: ID + # $ANTLR start "synpred363_sdl92" + def synpred363_sdl92_fragment(self, ): + # sdl92.g:1268:17: ( ID ) + # sdl92.g:1268:17: ID pass root_0 = self._adaptor.nil() - self.match(self.input, ID, self.FOLLOW_ID_in_synpred355_sdl9214911) + self.match(self.input, ID, self.FOLLOW_ID_in_synpred363_sdl9215147) - # $ANTLR end "synpred355_sdl92" + # $ANTLR end "synpred363_sdl92" - # $ANTLR start "synpred356_sdl92" - def synpred356_sdl92_fragment(self, ): - # sdl92.g:1257:17: ( '{' '}' ) - # sdl92.g:1257:17: '{' '}' + # $ANTLR start "synpred364_sdl92" + def synpred364_sdl92_fragment(self, ): + # sdl92.g:1269:17: ( '{' '}' ) + # sdl92.g:1269:17: '{' '}' pass root_0 = self._adaptor.nil() - self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred356_sdl9214962) + self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred364_sdl9215198) - self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred356_sdl9214964) + self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred364_sdl9215200) - # $ANTLR end "synpred356_sdl92" + # $ANTLR end "synpred364_sdl92" - # $ANTLR start "synpred357_sdl92" - def synpred357_sdl92_fragment(self, ): + # $ANTLR start "synpred365_sdl92" + def synpred365_sdl92_fragment(self, ): mant = None bas = None exp = None @@ -38576,81 +38847,81 @@ def synpred357_sdl92_fragment(self, ): bas_tree = None exp_tree = None - # sdl92.g:1258:17: ( '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' ) - # sdl92.g:1258:17: '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' + # sdl92.g:1270:17: ( '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' ) + # sdl92.g:1270:17: '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' pass root_0 = self._adaptor.nil() - self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred357_sdl9215008) + self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred365_sdl9215244) - self.match(self.input, MANTISSA, self.FOLLOW_MANTISSA_in_synpred357_sdl9215026) + self.match(self.input, MANTISSA, self.FOLLOW_MANTISSA_in_synpred365_sdl9215262) - mant = self.match(self.input, INT, self.FOLLOW_INT_in_synpred357_sdl9215030) + mant = self.match(self.input, INT, self.FOLLOW_INT_in_synpred365_sdl9215266) - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred357_sdl9215032) + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred365_sdl9215268) - self.match(self.input, BASE, self.FOLLOW_BASE_in_synpred357_sdl9215050) + self.match(self.input, BASE, self.FOLLOW_BASE_in_synpred365_sdl9215286) - bas = self.match(self.input, INT, self.FOLLOW_INT_in_synpred357_sdl9215054) + bas = self.match(self.input, INT, self.FOLLOW_INT_in_synpred365_sdl9215290) - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred357_sdl9215056) + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred365_sdl9215292) - self.match(self.input, EXPONENT, self.FOLLOW_EXPONENT_in_synpred357_sdl9215074) + self.match(self.input, EXPONENT, self.FOLLOW_EXPONENT_in_synpred365_sdl9215310) - exp = self.match(self.input, INT, self.FOLLOW_INT_in_synpred357_sdl9215078) + exp = self.match(self.input, INT, self.FOLLOW_INT_in_synpred365_sdl9215314) - self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred357_sdl9215096) + self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred365_sdl9215332) - # $ANTLR end "synpred357_sdl92" + # $ANTLR end "synpred365_sdl92" - # $ANTLR start "synpred359_sdl92" - def synpred359_sdl92_fragment(self, ): - # sdl92.g:1263:17: ( '{' named_value ( COMMA named_value )* '}' ) - # sdl92.g:1263:17: '{' named_value ( COMMA named_value )* '}' + # $ANTLR start "synpred367_sdl92" + def synpred367_sdl92_fragment(self, ): + # sdl92.g:1275:17: ( '{' named_value ( COMMA named_value )* '}' ) + # sdl92.g:1275:17: '{' named_value ( COMMA named_value )* '}' pass root_0 = self._adaptor.nil() - self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred359_sdl9215153) + self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred367_sdl9215389) - self._state.following.append(self.FOLLOW_named_value_in_synpred359_sdl9215171) + self._state.following.append(self.FOLLOW_named_value_in_synpred367_sdl9215407) self.named_value() self._state.following.pop() - # sdl92.g:1264:29: ( COMMA named_value )* - while True: #loop334 - alt334 = 2 - LA334_0 = self.input.LA(1) + # sdl92.g:1276:29: ( COMMA named_value )* + while True: #loop342 + alt342 = 2 + LA342_0 = self.input.LA(1) - if (LA334_0 == COMMA) : - alt334 = 1 + if (LA342_0 == COMMA) : + alt342 = 1 - if alt334 == 1: - # sdl92.g:1264:30: COMMA named_value + if alt342 == 1: + # sdl92.g:1276:30: COMMA named_value pass - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred359_sdl9215174) + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred367_sdl9215410) - self._state.following.append(self.FOLLOW_named_value_in_synpred359_sdl9215176) + self._state.following.append(self.FOLLOW_named_value_in_synpred367_sdl9215412) self.named_value() self._state.following.pop() @@ -38658,51 +38929,51 @@ def synpred359_sdl92_fragment(self, ): else: - break #loop334 + break #loop342 - self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred359_sdl9215196) + self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred367_sdl9215432) - # $ANTLR end "synpred359_sdl92" + # $ANTLR end "synpred367_sdl92" - # $ANTLR start "synpred361_sdl92" - def synpred361_sdl92_fragment(self, ): - # sdl92.g:1266:17: ( '{' expression ( COMMA expression )* '}' ) - # sdl92.g:1266:17: '{' expression ( COMMA expression )* '}' + # $ANTLR start "synpred369_sdl92" + def synpred369_sdl92_fragment(self, ): + # sdl92.g:1278:17: ( '{' expression ( COMMA expression )* '}' ) + # sdl92.g:1278:17: '{' expression ( COMMA expression )* '}' pass root_0 = self._adaptor.nil() - self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred361_sdl9215247) + self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred369_sdl9215483) - self._state.following.append(self.FOLLOW_expression_in_synpred361_sdl9215265) + self._state.following.append(self.FOLLOW_expression_in_synpred369_sdl9215501) self.expression() self._state.following.pop() - # sdl92.g:1267:28: ( COMMA expression )* - while True: #loop335 - alt335 = 2 - LA335_0 = self.input.LA(1) + # sdl92.g:1279:28: ( COMMA expression )* + while True: #loop343 + alt343 = 2 + LA343_0 = self.input.LA(1) - if (LA335_0 == COMMA) : - alt335 = 1 + if (LA343_0 == COMMA) : + alt343 = 1 - if alt335 == 1: - # sdl92.g:1267:29: COMMA expression + if alt343 == 1: + # sdl92.g:1279:29: COMMA expression pass - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred361_sdl9215268) + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred369_sdl9215504) - self._state.following.append(self.FOLLOW_expression_in_synpred361_sdl9215270) + self._state.following.append(self.FOLLOW_expression_in_synpred369_sdl9215506) self.expression() self._state.following.pop() @@ -38710,41 +38981,41 @@ def synpred361_sdl92_fragment(self, ): else: - break #loop335 + break #loop343 - self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred361_sdl9215290) + self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred369_sdl9215526) - # $ANTLR end "synpred361_sdl92" + # $ANTLR end "synpred369_sdl92" - # $ANTLR start "synpred385_sdl92" - def synpred385_sdl92_fragment(self, ): - # sdl92.g:1480:57: ( SEMI ) - # sdl92.g:1480:57: SEMI + # $ANTLR start "synpred393_sdl92" + def synpred393_sdl92_fragment(self, ): + # sdl92.g:1492:57: ( SEMI ) + # sdl92.g:1492:57: SEMI pass root_0 = self._adaptor.nil() - self.match(self.input, SEMI, self.FOLLOW_SEMI_in_synpred385_sdl9216686) + self.match(self.input, SEMI, self.FOLLOW_SEMI_in_synpred393_sdl9216922) - # $ANTLR end "synpred385_sdl92" + # $ANTLR end "synpred393_sdl92" - def synpred163_sdl92(self): + def synpred333_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred163_sdl92_fragment() + self.synpred333_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38753,11 +39024,11 @@ def synpred163_sdl92(self): self._state.backtracking -= 1 return success - def synpred225_sdl92(self): + def synpred40_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred225_sdl92_fragment() + self.synpred40_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38779,11 +39050,11 @@ def synpred10_sdl92(self): self._state.backtracking -= 1 return success - def synpred261_sdl92(self): + def synpred37_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred261_sdl92_fragment() + self.synpred37_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38792,11 +39063,11 @@ def synpred261_sdl92(self): self._state.backtracking -= 1 return success - def synpred33_sdl92(self): + def synpred57_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred33_sdl92_fragment() + self.synpred57_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38805,11 +39076,11 @@ def synpred33_sdl92(self): self._state.backtracking -= 1 return success - def synpred53_sdl92(self): + def synpred367_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred53_sdl92_fragment() + self.synpred367_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38818,11 +39089,11 @@ def synpred53_sdl92(self): self._state.backtracking -= 1 return success - def synpred317_sdl92(self): + def synpred209_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred317_sdl92_fragment() + self.synpred209_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38831,11 +39102,11 @@ def synpred317_sdl92(self): self._state.backtracking -= 1 return success - def synpred201_sdl92(self): + def synpred74_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred201_sdl92_fragment() + self.synpred74_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38844,11 +39115,11 @@ def synpred201_sdl92(self): self._state.backtracking -= 1 return success - def synpred66_sdl92(self): + def synpred362_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred66_sdl92_fragment() + self.synpred362_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38857,11 +39128,11 @@ def synpred66_sdl92(self): self._state.backtracking -= 1 return success - def synpred357_sdl92(self): + def synpred269_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred357_sdl92_fragment() + self.synpred269_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38870,11 +39141,11 @@ def synpred357_sdl92(self): self._state.backtracking -= 1 return success - def synpred154_sdl92(self): + def synpred54_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred154_sdl92_fragment() + self.synpred54_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38883,11 +39154,11 @@ def synpred154_sdl92(self): self._state.backtracking -= 1 return success - def synpred36_sdl92(self): + def synpred342_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred36_sdl92_fragment() + self.synpred342_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38896,11 +39167,11 @@ def synpred36_sdl92(self): self._state.backtracking -= 1 return success - def synpred324_sdl92(self): + def synpred316_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred324_sdl92_fragment() + self.synpred316_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38909,11 +39180,11 @@ def synpred324_sdl92(self): self._state.backtracking -= 1 return success - def synpred359_sdl92(self): + def synpred267_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred359_sdl92_fragment() + self.synpred267_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38922,11 +39193,11 @@ def synpred359_sdl92(self): self._state.backtracking -= 1 return success - def synpred34_sdl92(self): + def synpred162_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred34_sdl92_fragment() + self.synpred162_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38935,11 +39206,11 @@ def synpred34_sdl92(self): self._state.backtracking -= 1 return success - def synpred162_sdl92(self): + def synpred170_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred162_sdl92_fragment() + self.synpred170_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38948,11 +39219,11 @@ def synpred162_sdl92(self): self._state.backtracking -= 1 return success - def synpred301_sdl92(self): + def synpred365_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred301_sdl92_fragment() + self.synpred365_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38961,11 +39232,11 @@ def synpred301_sdl92(self): self._state.backtracking -= 1 return success - def synpred232_sdl92(self): + def synpred148_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred232_sdl92_fragment() + self.synpred148_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38974,11 +39245,11 @@ def synpred232_sdl92(self): self._state.backtracking -= 1 return success - def synpred260_sdl92(self): + def synpred313_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred260_sdl92_fragment() + self.synpred313_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -38987,11 +39258,11 @@ def synpred260_sdl92(self): self._state.backtracking -= 1 return success - def synpred48_sdl92(self): + def synpred258_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred48_sdl92_fragment() + self.synpred258_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39000,11 +39271,11 @@ def synpred48_sdl92(self): self._state.backtracking -= 1 return success - def synpred356_sdl92(self): + def synpred240_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred356_sdl92_fragment() + self.synpred240_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39013,11 +39284,11 @@ def synpred356_sdl92(self): self._state.backtracking -= 1 return success - def synpred385_sdl92(self): + def synpred393_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred385_sdl92_fragment() + self.synpred393_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39026,11 +39297,11 @@ def synpred385_sdl92(self): self._state.backtracking -= 1 return success - def synpred310_sdl92(self): + def synpred328_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred310_sdl92_fragment() + self.synpred328_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39039,11 +39310,11 @@ def synpred310_sdl92(self): self._state.backtracking -= 1 return success - def synpred42_sdl92(self): + def synpred233_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred42_sdl92_fragment() + self.synpred233_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39052,11 +39323,11 @@ def synpred42_sdl92(self): self._state.backtracking -= 1 return success - def synpred130_sdl92(self): + def synpred325_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred130_sdl92_fragment() + self.synpred325_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39065,11 +39336,11 @@ def synpred130_sdl92(self): self._state.backtracking -= 1 return success - def synpred258_sdl92(self): + def synpred39_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred258_sdl92_fragment() + self.synpred39_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39078,11 +39349,11 @@ def synpred258_sdl92(self): self._state.backtracking -= 1 return success - def synpred308_sdl92(self): + def synpred266_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred308_sdl92_fragment() + self.synpred266_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39091,11 +39362,11 @@ def synpred308_sdl92(self): self._state.backtracking -= 1 return success - def synpred305_sdl92(self): + def synpred309_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred305_sdl92_fragment() + self.synpred309_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39104,11 +39375,11 @@ def synpred305_sdl92(self): self._state.backtracking -= 1 return success - def synpred325_sdl92(self): + def synpred59_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred325_sdl92_fragment() + self.synpred59_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39117,11 +39388,11 @@ def synpred325_sdl92(self): self._state.backtracking -= 1 return success - def synpred361_sdl92(self): + def synpred364_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred361_sdl92_fragment() + self.synpred364_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39130,11 +39401,11 @@ def synpred361_sdl92(self): self._state.backtracking -= 1 return success - def synpred161_sdl92(self): + def synpred171_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred161_sdl92_fragment() + self.synpred171_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39143,11 +39414,11 @@ def synpred161_sdl92(self): self._state.backtracking -= 1 return success - def synpred257_sdl92(self): + def synpred169_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred257_sdl92_fragment() + self.synpred169_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39156,11 +39427,11 @@ def synpred257_sdl92(self): self._state.backtracking -= 1 return success - def synpred354_sdl92(self): + def synpred11_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred354_sdl92_fragment() + self.synpred11_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39169,11 +39440,11 @@ def synpred354_sdl92(self): self._state.backtracking -= 1 return success - def synpred51_sdl92(self): + def synpred334_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred51_sdl92_fragment() + self.synpred334_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39182,11 +39453,11 @@ def synpred51_sdl92(self): self._state.backtracking -= 1 return success - def synpred11_sdl92(self): + def synpred46_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred11_sdl92_fragment() + self.synpred46_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39195,11 +39466,11 @@ def synpred11_sdl92(self): self._state.backtracking -= 1 return success - def synpred259_sdl92(self): + def synpred369_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred259_sdl92_fragment() + self.synpred369_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39208,11 +39479,11 @@ def synpred259_sdl92(self): self._state.backtracking -= 1 return success - def synpred334_sdl92(self): + def synpred332_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred334_sdl92_fragment() + self.synpred332_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39221,11 +39492,11 @@ def synpred334_sdl92(self): self._state.backtracking -= 1 return success - def synpred242_sdl92(self): + def synpred216_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred242_sdl92_fragment() + self.synpred216_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39234,11 +39505,11 @@ def synpred242_sdl92(self): self._state.backtracking -= 1 return success - def synpred332_sdl92(self): + def synpred38_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred332_sdl92_fragment() + self.synpred38_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39247,11 +39518,11 @@ def synpred332_sdl92(self): self._state.backtracking -= 1 return success - def synpred326_sdl92(self): + def synpred138_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred326_sdl92_fragment() + self.synpred138_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39273,11 +39544,11 @@ def synpred250_sdl92(self): self._state.backtracking -= 1 return success - def synpred208_sdl92(self): + def synpred58_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred208_sdl92_fragment() + self.synpred58_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39286,11 +39557,11 @@ def synpred208_sdl92(self): self._state.backtracking -= 1 return success - def synpred67_sdl92(self): + def synpred265_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred67_sdl92_fragment() + self.synpred265_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39299,11 +39570,11 @@ def synpred67_sdl92(self): self._state.backtracking -= 1 return success - def synpred355_sdl92(self): + def synpred340_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred355_sdl92_fragment() + self.synpred340_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39312,11 +39583,11 @@ def synpred355_sdl92(self): self._state.backtracking -= 1 return success - def synpred320_sdl92(self): + def synpred9_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred320_sdl92_fragment() + self.synpred9_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39325,11 +39596,11 @@ def synpred320_sdl92(self): self._state.backtracking -= 1 return success - def synpred52_sdl92(self): + def synpred268_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred52_sdl92_fragment() + self.synpred268_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39338,11 +39609,11 @@ def synpred52_sdl92(self): self._state.backtracking -= 1 return success - def synpred9_sdl92(self): + def synpred318_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred9_sdl92_fragment() + self.synpred318_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39351,11 +39622,11 @@ def synpred9_sdl92(self): self._state.backtracking -= 1 return success - def synpred140_sdl92(self): + def synpred75_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred140_sdl92_fragment() + self.synpred75_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39364,11 +39635,11 @@ def synpred140_sdl92(self): self._state.backtracking -= 1 return success - def synpred35_sdl92(self): + def synpred363_sdl92(self): self._state.backtracking += 1 start = self.input.mark() try: - self.synpred35_sdl92_fragment() + self.synpred363_sdl92_fragment() except BacktrackingFailed: success = False else: @@ -39379,47 +39650,47 @@ def synpred35_sdl92(self): - # lookup tables for DFA #66 + # lookup tables for DFA #74 - DFA66_eot = DFA.unpack( + DFA74_eot = DFA.unpack( "\41\uffff" ) - DFA66_eof = DFA.unpack( + DFA74_eof = DFA.unpack( "\3\uffff\1\10\35\uffff" ) - DFA66_min = DFA.unpack( - "\1\41\1\12\1\u00cd\1\74\1\u0081\1\163\1\u00c3\1\u00bc\2\uffff\1" - "\53\1\u00f8\1\137\1\163\1\40\1\41\1\144\1\53\1\171\1\u00cd\1\163" - "\1\u00b8\1\u00f8\1\40\1\41\1\u0081\1\163\1\40\1\163\1\u00b8\1\u00f8" + DFA74_min = DFA.unpack( + "\1\41\1\12\1\u00cf\1\74\1\u0081\1\163\1\u00c5\1\u00be\2\uffff\1" + "\53\1\u00fa\1\137\1\163\1\40\1\41\1\144\1\53\1\171\1\u00cf\1\163" + "\1\u00ba\1\u00fa\1\40\1\41\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" "\1\41\1\171" ) - DFA66_max = DFA.unpack( - "\1\u00fc\1\u00fe\1\u00cd\1\u00c5\1\u0081\1\163\1\u00c3\1\u00bc\2" - "\uffff\1\163\1\u00f8\1\137\1\163\1\40\1\u00fc\1\144\1\163\1\171" - "\1\u00cd\1\163\1\u00b8\1\u00f8\1\40\1\41\1\u0081\1\163\1\40\1\163" - "\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA74_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00cf\1\u00c7\1\u0081\1\163\1\u00c5\1\u00be\2" + "\uffff\1\163\1\u00fa\1\137\1\163\1\40\1\u00fe\1\144\1\163\1\171" + "\1\u00cf\1\163\1\u00ba\1\u00fa\1\40\1\41\1\u0081\1\163\1\40\1\163" + "\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA66_accept = DFA.unpack( + DFA74_accept = DFA.unpack( "\10\uffff\1\2\1\1\27\uffff" ) - DFA66_special = DFA.unpack( + DFA74_special = DFA.unpack( "\41\uffff" ) - DFA66_transition = [ - DFA.unpack("\1\2\u009a\uffff\1\3\77\uffff\1\1"), + DFA74_transition = [ + DFA.unpack("\1\2\u009c\uffff\1\3\77\uffff\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack("\1\7"), - DFA.unpack("\1\10\51\uffff\1\11\125\uffff\1\3\10\uffff\1\11"), + DFA.unpack("\1\10\51\uffff\1\11\127\uffff\1\3\10\uffff\1\11"), DFA.unpack("\1\12"), DFA.unpack("\1\13"), DFA.unpack("\1\14"), @@ -39431,7 +39702,7 @@ def synpred35_sdl92(self): DFA.unpack("\1\20"), DFA.unpack("\1\16"), DFA.unpack("\1\21"), - DFA.unpack("\1\2\u00da\uffff\1\22"), + DFA.unpack("\1\2\u00dc\uffff\1\22"), DFA.unpack("\1\23"), DFA.unpack("\1\24\107\uffff\1\25"), DFA.unpack("\1\6"), @@ -39447,57 +39718,59 @@ def synpred35_sdl92(self): DFA.unpack("\1\35"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\2\u00da\uffff\1\40"), - DFA.unpack("\1\6\u0084\uffff\1\5") + DFA.unpack("\1\2\u00dc\uffff\1\40"), + DFA.unpack("\1\6\u0086\uffff\1\5") ] - # class definition for DFA #66 + # class definition for DFA #74 - class DFA66(DFA): + class DFA74(DFA): pass - # lookup tables for DFA #74 + # lookup tables for DFA #82 - DFA74_eot = DFA.unpack( - "\66\uffff" + DFA82_eot = DFA.unpack( + "\100\uffff" ) - DFA74_eof = DFA.unpack( - "\1\3\65\uffff" + DFA82_eof = DFA.unpack( + "\1\3\77\uffff" ) - DFA74_min = DFA.unpack( - "\1\31\1\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163" - "\1\40\1\41\1\22\1\53\1\171\2\u00cd\3\163\1\u00b8\1\u00c3\4\u00f8" - "\1\40\1\137\1\41\3\46\1\u0081\1\144\3\171\1\163\3\u00c3\1\40\3\137" - "\1\163\1\u009f\1\u00b2\1\u00b5\1\u00b8\1\u00f8\1\41\1\171" + DFA82_min = DFA.unpack( + "\1\31\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" + "\1\40\1\41\1\22\1\53\1\171\4\u00cf\1\163\1\u00ba\1\u00c5\4\u00fa" + "\1\40\1\137\1\41\3\46\1\u0081\1\144\3\171\1\163\3\u00c5\1\40\3\137" + "\1\163\3\u009f\1\u00ba\2\u00cf\3\u00fa\1\41\2\46\2\171\1\u00c5\1" + "\137\1\u009f" ) - DFA74_max = DFA.unpack( - "\1\u00fc\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1\137" - "\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\2\u00cd\3\163\1\u00b8\1" - "\u00c3\4\u00f8\1\40\1\137\4\u00fc\1\u0081\1\u00b5\3\171\1\163\3" - "\u00c3\1\40\3\137\1\163\3\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA82_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" + "\1\163\1\40\1\u00fe\1\u00b7\1\163\1\171\4\u00cf\1\163\1\u00ba\1" + "\u00c5\4\u00fa\1\40\1\137\3\u00fe\1\u00c7\1\u0081\1\u00b7\3\171" + "\1\163\3\u00c5\1\40\3\137\1\163\3\u00b6\1\u00ba\2\u00cf\3\u00fa" + "\3\u00fe\1\u0100\1\171\1\u00c5\1\137\1\u00b6" ) - DFA74_accept = DFA.unpack( - "\2\uffff\1\1\1\2\62\uffff" + DFA82_accept = DFA.unpack( + "\2\uffff\1\1\1\2\74\uffff" ) - DFA74_special = DFA.unpack( - "\66\uffff" + DFA82_special = DFA.unpack( + "\100\uffff" ) - DFA74_transition = [ + DFA82_transition = [ DFA.unpack("\1\3\7\uffff\1\3\3\uffff\2\3\20\uffff\1\3\5\uffff\2\3" - "\47\uffff\1\3\102\uffff\1\3\22\uffff\1\3\2\uffff\2\3\3\uffff\1\2" + "\47\uffff\1\3\102\uffff\1\3\24\uffff\1\3\2\uffff\2\3\3\uffff\1\2" "\1\3\17\uffff\1\3\15\uffff\1\3\3\uffff\1\3\24\uffff\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), @@ -39508,10 +39781,10 @@ class DFA66(DFA): DFA.unpack("\1\15"), DFA.unpack("\1\13"), DFA.unpack("\1\16"), - DFA.unpack("\1\3\4\uffff\1\3\u0082\uffff\1\3\32\uffff\1\2\1\3\66" + DFA.unpack("\1\3\4\uffff\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\66" "\uffff\1\17"), - DFA.unpack("\1\3\121\uffff\1\20\67\uffff\1\3\2\uffff\1\21\22\uffff" - "\1\22\2\uffff\1\23"), + DFA.unpack("\1\3\121\uffff\1\20\67\uffff\1\3\2\uffff\1\23\22\uffff" + "\1\21\1\3\2\uffff\1\22\1\3"), DFA.unpack("\1\24\107\uffff\1\25"), DFA.unpack("\1\26"), DFA.unpack("\1\27"), @@ -39527,12 +39800,13 @@ class DFA66(DFA): DFA.unpack("\1\40"), DFA.unpack("\1\41"), DFA.unpack("\1\42"), - DFA.unpack("\1\3\4\uffff\1\3\u009d\uffff\1\2\1\3\66\uffff\1\43"), - DFA.unpack("\1\3\u009d\uffff\1\2\1\3\66\uffff\1\44"), - DFA.unpack("\1\3\u009d\uffff\1\2\1\3\66\uffff\1\44"), - DFA.unpack("\1\3\u009d\uffff\1\2\1\3\66\uffff\1\45"), + DFA.unpack("\1\3\4\uffff\1\3\u009f\uffff\1\2\1\3\66\uffff\1\43"), + DFA.unpack("\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\66\uffff\1\44"), + DFA.unpack("\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\66\uffff\1\45"), + DFA.unpack("\1\3\u009f\uffff\1\2\1\3"), DFA.unpack("\1\46"), - DFA.unpack("\1\20\72\uffff\1\21\22\uffff\1\22\2\uffff\1\23"), + DFA.unpack("\1\20\72\uffff\1\23\22\uffff\1\21\1\3\2\uffff\1\22\1" + "\3"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), DFA.unpack("\1\51"), @@ -39545,65 +39819,76 @@ class DFA66(DFA): DFA.unpack("\1\60"), DFA.unpack("\1\61"), DFA.unpack("\1\62"), - DFA.unpack("\1\21\22\uffff\1\22\2\uffff\1\23"), - DFA.unpack("\1\22\2\uffff\1\23"), - DFA.unpack("\1\23"), - DFA.unpack("\1\63"), - DFA.unpack("\1\64"), - DFA.unpack("\1\3\4\uffff\1\3\u0082\uffff\1\3\32\uffff\1\2\1\3\66" - "\uffff\1\65"), - DFA.unpack("\1\26\u0084\uffff\1\5") + DFA.unpack("\1\23\22\uffff\1\63\3\uffff\1\64"), + DFA.unpack("\1\23\22\uffff\1\21\3\uffff\1\22"), + DFA.unpack("\1\23\26\uffff\1\22"), + DFA.unpack("\1\65"), + DFA.unpack("\1\66"), + DFA.unpack("\1\67"), + DFA.unpack("\1\70"), + DFA.unpack("\1\71"), + DFA.unpack("\1\72"), + DFA.unpack("\1\3\4\uffff\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\66" + "\uffff\1\73"), + DFA.unpack("\1\3\u009f\uffff\1\2\1\3\66\uffff\1\43"), + DFA.unpack("\1\3\u009f\uffff\1\2\1\3\66\uffff\1\74"), + DFA.unpack("\1\26\u0086\uffff\1\5"), + DFA.unpack("\1\75"), + DFA.unpack("\1\76"), + DFA.unpack("\1\77"), + DFA.unpack("\1\23\26\uffff\1\64") ] - # class definition for DFA #74 + # class definition for DFA #82 - class DFA74(DFA): + class DFA82(DFA): pass - # lookup tables for DFA #75 + # lookup tables for DFA #83 - DFA75_eot = DFA.unpack( - "\67\uffff" + DFA83_eot = DFA.unpack( + "\101\uffff" ) - DFA75_eof = DFA.unpack( - "\1\1\66\uffff" + DFA83_eof = DFA.unpack( + "\1\1\100\uffff" ) - DFA75_min = DFA.unpack( - "\1\31\1\uffff\1\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1" - "\137\1\163\1\40\1\41\1\22\1\53\1\171\2\u00cd\3\163\1\u00b8\1\u00c3" - "\4\u00f8\1\40\1\137\1\41\3\46\1\u0081\1\144\3\171\1\163\3\u00c3" - "\1\40\3\137\1\163\1\u009f\1\u00b2\1\u00b5\1\u00b8\1\u00f8\1\41\1" - "\171" + DFA83_min = DFA.unpack( + "\1\31\1\uffff\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1" + "\137\1\163\1\40\1\41\1\22\1\53\1\171\4\u00cf\1\163\1\u00ba\1\u00c5" + "\4\u00fa\1\40\1\137\1\41\3\46\1\u0081\1\144\3\171\1\163\3\u00c5" + "\1\40\3\137\1\163\3\u009f\1\u00ba\2\u00cf\3\u00fa\1\41\2\46\2\171" + "\1\u00c5\1\137\1\u009f" ) - DFA75_max = DFA.unpack( - "\1\u00fc\1\uffff\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8" - "\1\137\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\2\u00cd\3\163\1\u00b8" - "\1\u00c3\4\u00f8\1\40\1\137\4\u00fc\1\u0081\1\u00b5\3\171\1\163" - "\3\u00c3\1\40\3\137\1\163\3\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA83_max = DFA.unpack( + "\1\u00fe\1\uffff\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" + "\1\137\1\163\1\40\1\u00fe\1\u00b7\1\163\1\171\4\u00cf\1\163\1\u00ba" + "\1\u00c5\4\u00fa\1\40\1\137\3\u00fe\1\u00c7\1\u0081\1\u00b7\3\171" + "\1\163\3\u00c5\1\40\3\137\1\163\3\u00b6\1\u00ba\2\u00cf\3\u00fa" + "\3\u00fe\1\u0100\1\171\1\u00c5\1\137\1\u00b6" ) - DFA75_accept = DFA.unpack( - "\1\uffff\1\3\1\uffff\1\1\1\2\62\uffff" + DFA83_accept = DFA.unpack( + "\1\uffff\1\3\1\uffff\1\1\1\2\74\uffff" ) - DFA75_special = DFA.unpack( - "\67\uffff" + DFA83_special = DFA.unpack( + "\101\uffff" ) - DFA75_transition = [ + DFA83_transition = [ DFA.unpack("\1\1\7\uffff\1\1\3\uffff\1\1\1\4\20\uffff\1\1\5\uffff" - "\2\1\47\uffff\1\1\102\uffff\1\1\22\uffff\1\1\2\uffff\2\1\4\uffff" + "\2\1\47\uffff\1\1\102\uffff\1\1\24\uffff\1\1\2\uffff\2\1\4\uffff" "\1\3\17\uffff\1\1\15\uffff\1\1\3\uffff\1\1\24\uffff\1\2"), DFA.unpack(""), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\7\1\uffff\1\5" - "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\10\uffff\1\5" - "\20\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\10"), @@ -39614,10 +39899,10 @@ class DFA74(DFA): DFA.unpack("\1\16"), DFA.unpack("\1\14"), DFA.unpack("\1\17"), - DFA.unpack("\1\1\4\uffff\1\4\u0082\uffff\1\1\33\uffff\1\3\66\uffff" + DFA.unpack("\1\1\4\uffff\1\4\u0082\uffff\1\1\35\uffff\1\3\66\uffff" "\1\20"), - DFA.unpack("\1\1\121\uffff\1\21\67\uffff\1\1\2\uffff\1\22\22\uffff" - "\1\23\2\uffff\1\24"), + DFA.unpack("\1\1\121\uffff\1\21\67\uffff\1\1\2\uffff\1\24\22\uffff" + "\1\22\1\1\2\uffff\1\23\1\1"), DFA.unpack("\1\25\107\uffff\1\26"), DFA.unpack("\1\27"), DFA.unpack("\1\30"), @@ -39633,12 +39918,13 @@ class DFA74(DFA): DFA.unpack("\1\41"), DFA.unpack("\1\42"), DFA.unpack("\1\43"), - DFA.unpack("\1\1\4\uffff\1\4\u009e\uffff\1\3\66\uffff\1\44"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\45"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\45"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\46"), + DFA.unpack("\1\1\4\uffff\1\4\u00a0\uffff\1\3\66\uffff\1\44"), + DFA.unpack("\1\4\u0082\uffff\1\1\35\uffff\1\3\66\uffff\1\45"), + DFA.unpack("\1\4\u0082\uffff\1\1\35\uffff\1\3\66\uffff\1\46"), + DFA.unpack("\1\4\u00a0\uffff\1\3"), DFA.unpack("\1\47"), - DFA.unpack("\1\21\72\uffff\1\22\22\uffff\1\23\2\uffff\1\24"), + DFA.unpack("\1\21\72\uffff\1\24\22\uffff\1\22\1\1\2\uffff\1\23\1" + "\1"), DFA.unpack("\1\50"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), @@ -39651,68 +39937,80 @@ class DFA74(DFA): DFA.unpack("\1\61"), DFA.unpack("\1\62"), DFA.unpack("\1\63"), - DFA.unpack("\1\22\22\uffff\1\23\2\uffff\1\24"), - DFA.unpack("\1\23\2\uffff\1\24"), - DFA.unpack("\1\24"), - DFA.unpack("\1\64"), - DFA.unpack("\1\65"), - DFA.unpack("\1\1\4\uffff\1\4\u0082\uffff\1\1\33\uffff\1\3\66\uffff" - "\1\66"), - DFA.unpack("\1\27\u0084\uffff\1\6") + DFA.unpack("\1\24\22\uffff\1\64\3\uffff\1\65"), + DFA.unpack("\1\24\22\uffff\1\22\3\uffff\1\23"), + DFA.unpack("\1\24\26\uffff\1\23"), + DFA.unpack("\1\66"), + DFA.unpack("\1\67"), + DFA.unpack("\1\70"), + DFA.unpack("\1\71"), + DFA.unpack("\1\72"), + DFA.unpack("\1\73"), + DFA.unpack("\1\1\4\uffff\1\4\u0082\uffff\1\1\35\uffff\1\3\66\uffff" + "\1\74"), + DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\44"), + DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\75"), + DFA.unpack("\1\27\u0086\uffff\1\6"), + DFA.unpack("\1\76"), + DFA.unpack("\1\77"), + DFA.unpack("\1\100"), + DFA.unpack("\1\24\26\uffff\1\65") ] - # class definition for DFA #75 + # class definition for DFA #83 - class DFA75(DFA): + class DFA83(DFA): pass - # lookup tables for DFA #83 + # lookup tables for DFA #91 - DFA83_eot = DFA.unpack( - "\64\uffff" + DFA91_eot = DFA.unpack( + "\76\uffff" ) - DFA83_eof = DFA.unpack( - "\1\4\1\uffff\1\4\61\uffff" + DFA91_eof = DFA.unpack( + "\1\4\1\uffff\1\4\73\uffff" ) - DFA83_min = DFA.unpack( - "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163" - "\1\40\1\12\1\22\1\53\1\171\1\u00cd\3\163\1\u00b8\1\u00c3\3\u00f8" - "\1\40\1\137\3\12\1\u0081\1\144\3\171\1\163\3\u00c3\1\40\3\137\1" - "\163\1\u009f\1\u00b2\1\u00b5\1\u00b8\1\u00f8\1\12\1\171" + DFA91_min = DFA.unpack( + "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" + "\1\40\1\12\1\22\1\53\1\171\3\u00cf\1\163\1\u00ba\1\u00c5\3\u00fa" + "\1\40\1\137\3\12\1\u0081\1\144\3\171\1\163\3\u00c5\1\40\3\137\1" + "\163\3\u009f\1\u00ba\2\u00cf\3\u00fa\3\12\2\171\1\u00c5\1\137\1" + "\u009f" ) - DFA83_max = DFA.unpack( - "\1\u00fc\1\u00fe\1\u00fd\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8" - "\1\137\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8" - "\1\u00c3\3\u00f8\1\40\1\137\3\u00fc\1\u0081\1\u00b5\3\171\1\163" - "\3\u00c3\1\40\3\137\1\163\3\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA91_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" + "\1\137\1\163\1\40\1\u00fe\1\u00b7\1\163\1\171\3\u00cf\1\163\1\u00ba" + "\1\u00c5\3\u00fa\1\40\1\137\3\u00fe\1\u0081\1\u00b7\3\171\1\163" + "\3\u00c5\1\40\3\137\1\163\3\u00b6\1\u00ba\2\u00cf\3\u00fa\3\u00fe" + "\1\u0100\1\171\1\u00c5\1\137\1\u00b6" ) - DFA83_accept = DFA.unpack( - "\3\uffff\1\1\1\2\57\uffff" + DFA91_accept = DFA.unpack( + "\3\uffff\1\1\1\2\71\uffff" ) - DFA83_special = DFA.unpack( - "\64\uffff" + DFA91_special = DFA.unpack( + "\76\uffff" ) - DFA83_transition = [ + DFA91_transition = [ DFA.unpack("\1\3\16\uffff\1\4\1\uffff\1\3\5\uffff\1\4\3\uffff\2\4" "\2\uffff\1\3\3\uffff\1\3\11\uffff\1\4\5\uffff\2\4\1\uffff\1\4\12" "\uffff\1\3\16\uffff\1\3\13\uffff\1\2\20\uffff\1\3\26\uffff\1\3\10" - "\uffff\1\3\21\uffff\1\4\11\uffff\1\3\10\uffff\1\4\2\uffff\2\4\3" + "\uffff\1\3\21\uffff\1\4\12\uffff\1\3\11\uffff\1\4\2\uffff\2\4\3" "\uffff\2\4\4\uffff\1\3\2\uffff\1\3\7\uffff\1\4\1\uffff\1\3\13\uffff" "\1\4\3\uffff\1\4\24\uffff\1\1"), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\7\1\uffff\1\5" - "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\10\uffff\1\5" - "\20\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack("\1\3\4\uffff\1\4\7\uffff\1\4\3\uffff\1\4\13\uffff\1" - "\3\5\uffff\1\4\111\uffff\1\3\47\uffff\1\4\22\uffff\1\4\2\uffff\2" + "\3\5\uffff\1\4\111\uffff\1\3\47\uffff\1\4\24\uffff\1\4\2\uffff\2" "\4\24\uffff\1\4\21\uffff\1\4\16\uffff\1\3\5\uffff\1\4\1\3"), DFA.unpack(""), DFA.unpack(""), @@ -39726,10 +40024,10 @@ class DFA75(DFA): DFA.unpack("\1\17"), DFA.unpack("\1\3\20\uffff\1\3\5\uffff\1\4\4\uffff\1\4\2\uffff\1" "\3\3\uffff\1\3\70\uffff\1\3\20\uffff\1\3\26\uffff\1\3\10\uffff\1" - "\3\21\uffff\1\4\11\uffff\1\3\20\uffff\2\4\4\uffff\1\3\14\uffff\1" + "\3\21\uffff\1\4\12\uffff\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1" "\3\44\uffff\1\20"), DFA.unpack("\1\4\121\uffff\1\21\67\uffff\1\4\2\uffff\1\4\22\uffff" - "\1\22\2\uffff\1\23"), + "\1\22\1\4\2\uffff\1\23\1\4"), DFA.unpack("\1\24\107\uffff\1\25"), DFA.unpack("\1\26"), DFA.unpack("\1\27"), @@ -39744,16 +40042,17 @@ class DFA75(DFA): DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\3\20\uffff\1\3\5\uffff\1\4\4\uffff\1\4\2\uffff\1" - "\3\3\uffff\1\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\33\uffff" - "\1\3\20\uffff\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\41"), + "\3\3\uffff\1\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\34\uffff" + "\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\41"), DFA.unpack("\1\3\20\uffff\1\3\12\uffff\1\4\2\uffff\1\3\3\uffff\1" - "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\33\uffff\1\3\20\uffff" - "\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\42"), + "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\21\uffff\1\4\12\uffff" + "\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\42"), DFA.unpack("\1\3\20\uffff\1\3\12\uffff\1\4\2\uffff\1\3\3\uffff\1" - "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\33\uffff\1\3\20\uffff" - "\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\43"), + "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\21\uffff\1\4\12\uffff" + "\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\43"), DFA.unpack("\1\44"), - DFA.unpack("\1\21\72\uffff\1\4\22\uffff\1\22\2\uffff\1\23"), + DFA.unpack("\1\21\72\uffff\1\4\22\uffff\1\22\1\4\2\uffff\1\23\1" + "\4"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), @@ -39766,68 +40065,83 @@ class DFA75(DFA): DFA.unpack("\1\56"), DFA.unpack("\1\57"), DFA.unpack("\1\60"), - DFA.unpack("\1\4\22\uffff\1\22\2\uffff\1\23"), - DFA.unpack("\1\22\2\uffff\1\23"), - DFA.unpack("\1\23"), - DFA.unpack("\1\61"), - DFA.unpack("\1\62"), + DFA.unpack("\1\4\22\uffff\1\61\3\uffff\1\62"), + DFA.unpack("\1\4\22\uffff\1\22\3\uffff\1\23"), + DFA.unpack("\1\4\26\uffff\1\23"), + DFA.unpack("\1\63"), + DFA.unpack("\1\64"), + DFA.unpack("\1\65"), + DFA.unpack("\1\66"), + DFA.unpack("\1\67"), + DFA.unpack("\1\70"), DFA.unpack("\1\3\20\uffff\1\3\5\uffff\1\4\4\uffff\1\4\2\uffff\1" "\3\3\uffff\1\3\70\uffff\1\3\20\uffff\1\3\26\uffff\1\3\10\uffff\1" - "\3\21\uffff\1\4\11\uffff\1\3\20\uffff\2\4\4\uffff\1\3\14\uffff\1" - "\3\44\uffff\1\63"), - DFA.unpack("\1\26\u0084\uffff\1\6") + "\3\21\uffff\1\4\12\uffff\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1" + "\3\44\uffff\1\71"), + DFA.unpack("\1\3\20\uffff\1\3\12\uffff\1\4\2\uffff\1\3\3\uffff\1" + "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\34\uffff\1\3\21\uffff" + "\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\41"), + DFA.unpack("\1\3\20\uffff\1\3\12\uffff\1\4\2\uffff\1\3\3\uffff\1" + "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\34\uffff\1\3\21\uffff" + "\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\72"), + DFA.unpack("\1\26\u0086\uffff\1\6"), + DFA.unpack("\1\73"), + DFA.unpack("\1\74"), + DFA.unpack("\1\75"), + DFA.unpack("\1\4\26\uffff\1\62") ] - # class definition for DFA #83 + # class definition for DFA #91 - class DFA83(DFA): + class DFA91(DFA): pass - # lookup tables for DFA #92 + # lookup tables for DFA #100 - DFA92_eot = DFA.unpack( - "\65\uffff" + DFA100_eot = DFA.unpack( + "\61\uffff" ) - DFA92_eof = DFA.unpack( - "\65\uffff" + DFA100_eof = DFA.unpack( + "\61\uffff" ) - DFA92_min = DFA.unpack( - "\1\u00c5\1\12\1\25\1\u0081\1\163\1\u00c3\1\40\1\uffff\1\53\1\u00f8" - "\1\137\1\uffff\1\163\1\40\1\u00c5\1\144\1\53\1\171\2\u00cd\3\163" - "\1\u00b8\4\u00f8\1\40\4\u00c5\1\u0081\3\171\1\163\3\u00c3\1\40\3" - "\137\1\163\1\u009f\1\u00b2\1\u00b5\1\u00b8\1\u00f8\1\u00c5\1\171" + DFA100_min = DFA.unpack( + "\1\u00c7\1\12\1\25\1\u0081\1\163\1\u00c5\1\40\1\uffff\1\53\1\u00fa" + "\1\137\1\uffff\1\163\1\40\1\u00c7\1\144\1\53\1\171\4\u00cf\1\163" + "\1\u00ba\4\u00fa\1\40\4\u00c7\1\u0081\2\171\1\163\2\u00c5\1\40\2" + "\137\1\163\2\u009f\1\u00ba\1\u00fa\1\u00c7\1\171" ) - DFA92_max = DFA.unpack( - "\1\u00fc\1\u00fe\1\146\1\u0081\1\163\1\u00c3\1\u00fd\1\uffff\1\163" - "\1\u00f8\1\137\1\uffff\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\2" - "\u00cd\3\163\1\u00b8\4\u00f8\1\40\4\u00fc\1\u0081\3\171\1\163\3" - "\u00c3\1\40\3\137\1\163\3\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA100_max = DFA.unpack( + "\1\u00fe\1\u0100\1\146\1\u0081\1\163\1\u00c5\1\u00ff\1\uffff\1\163" + "\1\u00fa\1\137\1\uffff\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\4" + "\u00cf\1\163\1\u00ba\4\u00fa\1\40\3\u00fe\1\u00c7\1\u0081\2\171" + "\1\163\2\u00c5\1\40\2\137\1\163\2\u00b6\1\u00ba\1\u00fa\1\u00fe" + "\1\u0100" ) - DFA92_accept = DFA.unpack( - "\7\uffff\1\1\3\uffff\1\2\51\uffff" + DFA100_accept = DFA.unpack( + "\7\uffff\1\1\3\uffff\1\2\45\uffff" ) - DFA92_special = DFA.unpack( - "\65\uffff" + DFA100_special = DFA.unpack( + "\61\uffff" ) - DFA92_transition = [ + DFA100_transition = [ DFA.unpack("\1\2\66\uffff\1\1"), DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" "\3\3\uffff\1\3\101\uffff\1\3\7\uffff\1\3\1\uffff\1\5\1\uffff\1\3" - "\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3\10\uffff\1\3" - "\20\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3\43\uffff\1\4"), + "\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3\11\uffff\1\3" + "\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3\43\uffff\1\4"), DFA.unpack("\1\7\120\uffff\1\6"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), DFA.unpack("\1\12"), - DFA.unpack("\2\7\u009a\uffff\1\7\57\uffff\1\7\17\uffff\1\7\1\13"), + DFA.unpack("\2\7\u009c\uffff\1\7\57\uffff\1\7\17\uffff\1\7\1\13"), DFA.unpack(""), DFA.unpack("\1\14\107\uffff\1\15"), DFA.unpack("\1\16"), @@ -39836,7 +40150,7 @@ class DFA83(DFA): DFA.unpack("\1\15"), DFA.unpack("\1\20"), DFA.unpack("\1\2\66\uffff\1\21"), - DFA.unpack("\1\22\72\uffff\1\23\22\uffff\1\24\2\uffff\1\25"), + DFA.unpack("\1\22\72\uffff\1\25\22\uffff\1\23\3\uffff\1\24"), DFA.unpack("\1\26\107\uffff\1\27"), DFA.unpack("\1\5"), DFA.unpack("\1\30"), @@ -39851,9 +40165,10 @@ class DFA83(DFA): DFA.unpack("\1\40"), DFA.unpack("\1\41"), DFA.unpack("\1\2\66\uffff\1\42"), + DFA.unpack("\1\2\66\uffff\1\42"), DFA.unpack("\1\2\66\uffff\1\43"), - DFA.unpack("\1\2\66\uffff\1\43"), - DFA.unpack("\1\2\66\uffff\1\44"), + DFA.unpack("\1\2"), + DFA.unpack("\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), @@ -39863,86 +40178,241 @@ class DFA83(DFA): DFA.unpack("\1\53"), DFA.unpack("\1\54"), DFA.unpack("\1\55"), + DFA.unpack("\1\25\22\uffff\1\23\3\uffff\1\24"), + DFA.unpack("\1\25\26\uffff\1\24"), + DFA.unpack("\1\56"), + DFA.unpack("\1\57"), + DFA.unpack("\1\2\66\uffff\1\60"), + DFA.unpack("\1\5\u0086\uffff\1\4") + ] + + # class definition for DFA #100 + + class DFA100(DFA): + pass + + + # lookup tables for DFA #130 + + DFA130_eot = DFA.unpack( + "\130\uffff" + ) + + DFA130_eof = DFA.unpack( + "\130\uffff" + ) + + DFA130_min = DFA.unpack( + "\1\45\1\uffff\1\12\1\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1" + "\137\1\163\1\40\1\114\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\1\u00c5" + "\3\u00fa\1\40\1\137\3\114\1\u0081\1\144\2\12\1\163\3\u00cf\2\u00c5" + "\1\40\3\u00fa\2\137\1\163\3\114\2\u009f\1\u00ba\2\171\1\u00fa\2" + "\u00c5\1\54\2\137\1\12\2\u009f\1\163\1\u00c5\1\u00fa\1\137\1\54" + "\1\22\1\12\3\u00cf\3\u00fa\3\114\2\171\2\u00c5\2\137\2\u009f" + ) + + DFA130_max = DFA.unpack( + "\1\u00fe\1\uffff\1\u0100\1\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" + "\1\137\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba" + "\1\u00c5\3\u00fa\1\40\1\137\3\u00fe\1\u0081\1\u00b6\2\u00dc\1\163" + "\3\u00cf\2\u00c5\1\40\3\u00fa\2\137\1\163\2\u00fe\1\u00c7\2\u00b6" + "\1\u00ba\2\171\1\u00fa\2\u00c5\1\u00fe\2\137\1\u0100\2\u00b6\1\163" + "\1\u00c5\1\u00fa\1\137\1\u00fe\1\u00b6\1\u0100\3\u00cf\3\u00fa\2" + "\u00fe\1\u00c7\2\171\2\u00c5\2\137\2\u00b6" + ) + + DFA130_accept = DFA.unpack( + "\1\uffff\1\2\1\uffff\1\1\124\uffff" + ) + + DFA130_special = DFA.unpack( + "\130\uffff" + ) + + + DFA130_transition = [ + DFA.unpack("\1\1\32\uffff\1\1\13\uffff\1\3\131\uffff\1\3\40\uffff" + "\1\1\66\uffff\1\2"), + DFA.unpack(""), + DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" + "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack(""), + DFA.unpack("\1\7"), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12\107\uffff\1\13"), + DFA.unpack("\1\14"), + DFA.unpack("\1\15"), + DFA.unpack("\1\13"), + DFA.unpack("\1\16"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\17"), + DFA.unpack("\1\1\72\uffff\1\22\22\uffff\1\20\3\uffff\1\21"), + DFA.unpack("\1\23\107\uffff\1\24"), + DFA.unpack("\1\25"), + DFA.unpack("\1\26"), + DFA.unpack("\1\27"), + DFA.unpack("\1\30"), + DFA.unpack("\1\24"), + DFA.unpack("\1\31"), + DFA.unpack("\1\32"), + DFA.unpack("\1\33"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\40"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\41"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\3"), + DFA.unpack("\1\42"), + DFA.unpack("\1\1\72\uffff\1\45\22\uffff\1\43\3\uffff\1\44"), + DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" + "\3\3\uffff\1\3\101\uffff\1\3\7\uffff\1\3\1\uffff\1\46\1\uffff\1" + "\3\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3\11\uffff\1" + "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3"), + DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" + "\3\3\uffff\1\3\101\uffff\1\3\7\uffff\1\3\1\uffff\1\47\1\uffff\1" + "\3\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3\11\uffff\1" + "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3"), + DFA.unpack("\1\50"), + DFA.unpack("\1\51"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53"), + DFA.unpack("\1\54"), + DFA.unpack("\1\55"), DFA.unpack("\1\56"), DFA.unpack("\1\57"), DFA.unpack("\1\60"), DFA.unpack("\1\61"), - DFA.unpack("\1\23\22\uffff\1\24\2\uffff\1\25"), - DFA.unpack("\1\24\2\uffff\1\25"), - DFA.unpack("\1\25"), DFA.unpack("\1\62"), DFA.unpack("\1\63"), - DFA.unpack("\1\2\66\uffff\1\64"), - DFA.unpack("\1\5\u0084\uffff\1\4") + DFA.unpack("\1\64"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\65"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\66"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1"), + DFA.unpack("\1\22\22\uffff\1\20\3\uffff\1\21"), + DFA.unpack("\1\22\26\uffff\1\21"), + DFA.unpack("\1\67"), + DFA.unpack("\1\70"), + DFA.unpack("\1\71"), + DFA.unpack("\1\72"), + DFA.unpack("\1\73"), + DFA.unpack("\1\74"), + DFA.unpack("\1\3\31\uffff\1\3\5\uffff\1\3\16\uffff\1\3\15\uffff" + "\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1\3\16\uffff\1\3\13\uffff" + "\1\3\5\uffff\1\1\12\uffff\1\3\1\uffff\1\3\1\uffff\1\3\12\uffff\1" + "\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\75"), + DFA.unpack("\1\76"), + DFA.unpack("\1\77"), + DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" + "\3\3\uffff\1\3\25\uffff\1\3\53\uffff\1\3\7\uffff\1\3\1\uffff\1\101" + "\1\uffff\1\3\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3" + "\11\uffff\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3" + "\43\uffff\1\100"), + DFA.unpack("\1\45\22\uffff\1\43\3\uffff\1\44"), + DFA.unpack("\1\45\26\uffff\1\44"), + DFA.unpack("\1\102"), + DFA.unpack("\1\103"), + DFA.unpack("\1\104"), + DFA.unpack("\1\105"), + DFA.unpack("\1\3\31\uffff\1\3\5\uffff\1\3\16\uffff\1\3\15\uffff" + "\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1\3\16\uffff\1\3\13\uffff" + "\1\3\5\uffff\1\1\12\uffff\1\3\1\uffff\1\3\1\uffff\1\3\12\uffff\1" + "\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\106"), + DFA.unpack("\1\3\121\uffff\1\1\67\uffff\1\3\2\uffff\1\111\22\uffff" + "\1\107\3\uffff\1\110"), + DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" + "\3\3\uffff\1\3\25\uffff\1\3\53\uffff\1\3\7\uffff\1\3\1\uffff\1\101" + "\1\uffff\1\3\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3" + "\11\uffff\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3" + "\43\uffff\1\3"), + DFA.unpack("\1\112"), + DFA.unpack("\1\113"), + DFA.unpack("\1\114"), + DFA.unpack("\1\115"), + DFA.unpack("\1\116"), + DFA.unpack("\1\117"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\120"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\121"), + DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1"), + DFA.unpack("\1\122"), + DFA.unpack("\1\123"), + DFA.unpack("\1\124"), + DFA.unpack("\1\125"), + DFA.unpack("\1\126"), + DFA.unpack("\1\127"), + DFA.unpack("\1\111\22\uffff\1\107\3\uffff\1\110"), + DFA.unpack("\1\111\26\uffff\1\110") ] - # class definition for DFA #92 + # class definition for DFA #130 - class DFA92(DFA): + class DFA130(DFA): pass - # lookup tables for DFA #125 + # lookup tables for DFA #133 - DFA125_eot = DFA.unpack( + DFA133_eot = DFA.unpack( "\45\uffff" ) - DFA125_eof = DFA.unpack( + DFA133_eof = DFA.unpack( "\45\uffff" ) - DFA125_min = DFA.unpack( - "\1\45\1\uffff\1\7\2\uffff\1\40\1\12\1\u00cd\1\45\1\u0081\1\163\1" - "\u00c3\1\u00bc\1\45\1\53\1\u00f8\1\137\1\163\1\40\1\41\1\144\1\53" - "\1\171\1\u00cd\1\163\1\u00b8\1\u00f8\1\40\1\41\1\u0081\1\163\1\40" - "\1\163\1\u00b8\1\u00f8\1\41\1\171" + DFA133_min = DFA.unpack( + "\1\45\1\uffff\1\7\2\uffff\1\40\1\12\1\u00cf\1\45\1\u0081\1\163\1" + "\u00c5\1\u00be\1\45\1\53\1\u00fa\1\137\1\163\1\40\1\41\1\144\1\53" + "\1\171\1\u00cf\1\163\1\u00ba\1\u00fa\1\40\1\41\1\u0081\1\163\1\40" + "\1\163\1\u00ba\1\u00fa\1\41\1\171" ) - DFA125_max = DFA.unpack( - "\1\u00fc\1\uffff\1\146\2\uffff\1\u00fd\1\u00fe\1\u00cd\1\u00fc\1" - "\u0081\1\163\1\u00c3\1\u00bc\1\u00fc\1\163\1\u00f8\1\137\1\163\1" - "\40\1\u00fc\1\144\1\163\1\171\1\u00cd\1\163\1\u00b8\1\u00f8\1\40" - "\1\41\1\u0081\1\163\1\40\1\163\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA133_max = DFA.unpack( + "\1\u00fe\1\uffff\1\146\2\uffff\1\u00ff\1\u0100\1\u00cf\1\u00fe\1" + "\u0081\1\163\1\u00c5\1\u00be\1\u00fe\1\163\1\u00fa\1\137\1\163\1" + "\40\1\u00fe\1\144\1\163\1\171\1\u00cf\1\163\1\u00ba\1\u00fa\1\40" + "\1\41\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA125_accept = DFA.unpack( + DFA133_accept = DFA.unpack( "\1\uffff\1\3\1\uffff\1\2\1\1\40\uffff" ) - DFA125_special = DFA.unpack( + DFA133_special = DFA.unpack( "\45\uffff" ) - DFA125_transition = [ - DFA.unpack("\1\3\32\uffff\1\1\u0084\uffff\1\2\66\uffff\1\1"), + DFA133_transition = [ + DFA.unpack("\1\3\32\uffff\1\1\u0086\uffff\1\2\66\uffff\1\1"), DFA.unpack(""), DFA.unpack("\1\4\15\uffff\1\1\120\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\1\1\7\u009a\uffff\1\10\57\uffff\1\1\17\uffff\1\6" + DFA.unpack("\1\1\1\7\u009c\uffff\1\10\57\uffff\1\1\17\uffff\1\6" "\1\1"), DFA.unpack("\1\11\2\uffff\1\11\23\uffff\1\11\3\uffff\1\11\3\uffff" "\1\11\3\uffff\1\11\101\uffff\1\11\7\uffff\1\11\1\uffff\1\13\1\uffff" - "\1\11\22\uffff\1\11\10\uffff\1\11\16\uffff\2\11\1\uffff\2\11\10" - "\uffff\1\11\20\uffff\2\11\4\uffff\1\11\14\uffff\1\11\2\uffff\1\11" + "\1\11\22\uffff\1\11\10\uffff\1\11\16\uffff\2\11\1\uffff\2\11\11" + "\uffff\1\11\21\uffff\2\11\4\uffff\1\11\14\uffff\1\11\2\uffff\1\11" "\43\uffff\1\12"), DFA.unpack("\1\14"), - DFA.unpack("\1\1\31\uffff\1\1\57\uffff\1\1\72\uffff\1\1\17\uffff" + DFA.unpack("\1\1\31\uffff\1\1\57\uffff\1\1\72\uffff\1\1\21\uffff" "\1\1\1\uffff\1\15\22\uffff\1\4\54\uffff\1\1"), DFA.unpack("\1\16"), DFA.unpack("\1\17"), DFA.unpack("\1\20"), DFA.unpack("\1\15"), - DFA.unpack("\1\1\31\uffff\1\1\57\uffff\1\1\72\uffff\1\1\17\uffff" + DFA.unpack("\1\1\31\uffff\1\1\57\uffff\1\1\72\uffff\1\1\21\uffff" "\1\1\1\uffff\1\15\22\uffff\1\4\54\uffff\1\1"), DFA.unpack("\1\21\107\uffff\1\22"), DFA.unpack("\1\23"), DFA.unpack("\1\24"), DFA.unpack("\1\22"), DFA.unpack("\1\25"), - DFA.unpack("\1\7\u00da\uffff\1\26"), + DFA.unpack("\1\7\u00dc\uffff\1\26"), DFA.unpack("\1\27"), DFA.unpack("\1\30\107\uffff\1\31"), DFA.unpack("\1\13"), @@ -39958,55 +40428,55 @@ class DFA92(DFA): DFA.unpack("\1\41"), DFA.unpack("\1\42"), DFA.unpack("\1\43"), - DFA.unpack("\1\7\u00da\uffff\1\44"), - DFA.unpack("\1\13\u0084\uffff\1\12") + DFA.unpack("\1\7\u00dc\uffff\1\44"), + DFA.unpack("\1\13\u0086\uffff\1\12") ] - # class definition for DFA #125 + # class definition for DFA #133 - class DFA125(DFA): + class DFA133(DFA): pass - # lookup tables for DFA #131 + # lookup tables for DFA #139 - DFA131_eot = DFA.unpack( - "\63\uffff" + DFA139_eot = DFA.unpack( + "\57\uffff" ) - DFA131_eof = DFA.unpack( - "\1\2\62\uffff" + DFA139_eof = DFA.unpack( + "\1\2\56\uffff" ) - DFA131_min = DFA.unpack( - "\1\46\1\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163" - "\1\40\1\46\1\144\1\53\1\171\2\u00cd\3\163\1\u00b8\4\u00f8\1\40\4" - "\46\1\u0081\3\171\1\163\3\u00c3\1\40\3\137\1\163\1\u009f\1\u00b2" - "\1\u00b5\1\u00b8\1\u00f8\1\46\1\171" + DFA139_min = DFA.unpack( + "\1\46\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" + "\1\40\1\46\1\144\1\53\1\171\4\u00cf\1\163\1\u00ba\4\u00fa\1\40\4" + "\46\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\2\u009f\1\u00ba" + "\1\u00fa\1\46\1\171" ) - DFA131_max = DFA.unpack( - "\1\u00fc\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1\137" - "\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\2\u00cd\3\163\1\u00b8\4" - "\u00f8\1\40\4\u00fc\1\u0081\3\171\1\163\3\u00c3\1\40\3\137\1\163" - "\3\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA139_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" + "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\4\u00cf\1\163\1\u00ba\4" + "\u00fa\1\40\3\u00fe\1\u00c7\1\u0081\2\171\1\163\2\u00c5\1\40\2\137" + "\1\163\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA131_accept = DFA.unpack( - "\2\uffff\1\2\1\1\57\uffff" + DFA139_accept = DFA.unpack( + "\2\uffff\1\2\1\1\53\uffff" ) - DFA131_special = DFA.unpack( - "\63\uffff" + DFA139_special = DFA.unpack( + "\57\uffff" ) - DFA131_transition = [ - DFA.unpack("\1\2\31\uffff\1\2\u0083\uffff\1\3\1\2\66\uffff\1\1"), + DFA139_transition = [ + DFA.unpack("\1\2\31\uffff\1\2\u0085\uffff\1\3\1\2\66\uffff\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), @@ -40017,8 +40487,8 @@ class DFA125(DFA): DFA.unpack("\1\15"), DFA.unpack("\1\13"), DFA.unpack("\1\16"), - DFA.unpack("\1\2\u009d\uffff\1\3\1\2\66\uffff\1\17"), - DFA.unpack("\1\20\72\uffff\1\21\22\uffff\1\22\2\uffff\1\23"), + DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\17"), + DFA.unpack("\1\20\72\uffff\1\23\22\uffff\1\21\3\uffff\1\22"), DFA.unpack("\1\24\107\uffff\1\25"), DFA.unpack("\1\6"), DFA.unpack("\1\26"), @@ -40032,10 +40502,11 @@ class DFA125(DFA): DFA.unpack("\1\35"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\2\u009d\uffff\1\3\1\2\66\uffff\1\40"), - DFA.unpack("\1\2\u009d\uffff\1\3\1\2\66\uffff\1\41"), - DFA.unpack("\1\2\u009d\uffff\1\3\1\2\66\uffff\1\41"), - DFA.unpack("\1\2\u009d\uffff\1\3\1\2\66\uffff\1\42"), + DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\40"), + DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\40"), + DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\41"), + DFA.unpack("\1\2\u009f\uffff\1\3\1\2"), + DFA.unpack("\1\42"), DFA.unpack("\1\43"), DFA.unpack("\1\44"), DFA.unpack("\1\45"), @@ -40045,65 +40516,60 @@ class DFA125(DFA): DFA.unpack("\1\51"), DFA.unpack("\1\52"), DFA.unpack("\1\53"), + DFA.unpack("\1\23\22\uffff\1\21\3\uffff\1\22"), + DFA.unpack("\1\23\26\uffff\1\22"), DFA.unpack("\1\54"), DFA.unpack("\1\55"), - DFA.unpack("\1\56"), - DFA.unpack("\1\57"), - DFA.unpack("\1\21\22\uffff\1\22\2\uffff\1\23"), - DFA.unpack("\1\22\2\uffff\1\23"), - DFA.unpack("\1\23"), - DFA.unpack("\1\60"), - DFA.unpack("\1\61"), - DFA.unpack("\1\2\u009d\uffff\1\3\1\2\66\uffff\1\62"), - DFA.unpack("\1\6\u0084\uffff\1\5") + DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\56"), + DFA.unpack("\1\6\u0086\uffff\1\5") ] - # class definition for DFA #131 + # class definition for DFA #139 - class DFA131(DFA): + class DFA139(DFA): pass - # lookup tables for DFA #132 + # lookup tables for DFA #140 - DFA132_eot = DFA.unpack( - "\64\uffff" + DFA140_eot = DFA.unpack( + "\60\uffff" ) - DFA132_eof = DFA.unpack( - "\1\1\63\uffff" + DFA140_eof = DFA.unpack( + "\1\1\57\uffff" ) - DFA132_min = DFA.unpack( - "\1\46\1\uffff\1\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1" - "\137\1\163\1\40\1\46\1\144\1\53\1\171\2\u00cd\3\163\1\u00b8\4\u00f8" - "\1\40\4\46\1\u0081\3\171\1\163\3\u00c3\1\40\3\137\1\163\1\u009f" - "\1\u00b2\1\u00b5\1\u00b8\1\u00f8\1\46\1\171" + DFA140_min = DFA.unpack( + "\1\46\1\uffff\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1" + "\137\1\163\1\40\1\46\1\144\1\53\1\171\4\u00cf\1\163\1\u00ba\4\u00fa" + "\1\40\4\46\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\2\u009f" + "\1\u00ba\1\u00fa\1\46\1\171" ) - DFA132_max = DFA.unpack( - "\1\u00fc\1\uffff\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8" - "\1\137\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\2\u00cd\3\163\1\u00b8" - "\4\u00f8\1\40\4\u00fc\1\u0081\3\171\1\163\3\u00c3\1\40\3\137\1\163" - "\3\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA140_max = DFA.unpack( + "\1\u00fe\1\uffff\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" + "\1\137\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\4\u00cf\1\163\1\u00ba" + "\4\u00fa\1\40\3\u00fe\1\u00c7\1\u0081\2\171\1\163\2\u00c5\1\40\2" + "\137\1\163\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA132_accept = DFA.unpack( - "\1\uffff\1\3\1\uffff\1\1\1\2\57\uffff" + DFA140_accept = DFA.unpack( + "\1\uffff\1\3\1\uffff\1\1\1\2\53\uffff" ) - DFA132_special = DFA.unpack( - "\64\uffff" + DFA140_special = DFA.unpack( + "\60\uffff" ) - DFA132_transition = [ - DFA.unpack("\1\4\31\uffff\1\1\u0084\uffff\1\3\66\uffff\1\2"), + DFA140_transition = [ + DFA.unpack("\1\4\31\uffff\1\1\u0086\uffff\1\3\66\uffff\1\2"), DFA.unpack(""), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\7\1\uffff\1\5" - "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\10\uffff\1\5" - "\20\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\10"), @@ -40114,8 +40580,8 @@ class DFA131(DFA): DFA.unpack("\1\16"), DFA.unpack("\1\14"), DFA.unpack("\1\17"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\20"), - DFA.unpack("\1\21\72\uffff\1\22\22\uffff\1\23\2\uffff\1\24"), + DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\20"), + DFA.unpack("\1\21\72\uffff\1\24\22\uffff\1\22\3\uffff\1\23"), DFA.unpack("\1\25\107\uffff\1\26"), DFA.unpack("\1\7"), DFA.unpack("\1\27"), @@ -40129,10 +40595,11 @@ class DFA131(DFA): DFA.unpack("\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\41"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\42"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\42"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\43"), + DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\41"), + DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\41"), + DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\42"), + DFA.unpack("\1\4\u00a0\uffff\1\3"), + DFA.unpack("\1\43"), DFA.unpack("\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), @@ -40142,65 +40609,60 @@ class DFA131(DFA): DFA.unpack("\1\52"), DFA.unpack("\1\53"), DFA.unpack("\1\54"), + DFA.unpack("\1\24\22\uffff\1\22\3\uffff\1\23"), + DFA.unpack("\1\24\26\uffff\1\23"), DFA.unpack("\1\55"), DFA.unpack("\1\56"), - DFA.unpack("\1\57"), - DFA.unpack("\1\60"), - DFA.unpack("\1\22\22\uffff\1\23\2\uffff\1\24"), - DFA.unpack("\1\23\2\uffff\1\24"), - DFA.unpack("\1\24"), - DFA.unpack("\1\61"), - DFA.unpack("\1\62"), - DFA.unpack("\1\4\u009e\uffff\1\3\66\uffff\1\63"), - DFA.unpack("\1\7\u0084\uffff\1\6") + DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\57"), + DFA.unpack("\1\7\u0086\uffff\1\6") ] - # class definition for DFA #132 + # class definition for DFA #140 - class DFA132(DFA): + class DFA140(DFA): pass - # lookup tables for DFA #134 + # lookup tables for DFA #142 - DFA134_eot = DFA.unpack( + DFA142_eot = DFA.unpack( "\60\uffff" ) - DFA134_eof = DFA.unpack( + DFA142_eof = DFA.unpack( "\60\uffff" ) - DFA134_min = DFA.unpack( - "\1\45\1\12\1\25\3\uffff\1\u0081\1\163\1\u00c3\2\uffff\1\53\1\u00f8" - "\1\137\1\163\1\40\1\45\1\144\1\53\1\171\1\u00cd\3\163\1\u00b8\3" - "\u00f8\1\40\3\45\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163\1" - "\u00b2\1\u00b5\1\u00b8\1\u00f8\1\45\1\171" + DFA142_min = DFA.unpack( + "\1\45\1\12\1\25\3\uffff\1\u0081\1\163\1\u00c5\2\uffff\1\53\1\u00fa" + "\1\137\1\163\1\40\1\45\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3" + "\u00fa\1\40\3\45\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1" + "\u00b2\1\u00b6\1\u00ba\1\u00fa\1\45\1\171" ) - DFA134_max = DFA.unpack( - "\1\u00fc\1\u00fe\1\u008f\3\uffff\1\u0081\1\163\1\u00c3\2\uffff\1" - "\163\1\u00f8\1\137\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd" - "\3\163\1\u00b8\3\u00f8\1\40\3\u00fc\1\u0081\2\171\1\163\2\u00c3" - "\1\40\2\137\1\163\2\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA142_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u008f\3\uffff\1\u0081\1\163\1\u00c5\2\uffff\1" + "\163\1\u00fa\1\137\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf" + "\1\163\1\u00ba\3\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5" + "\1\40\2\137\1\163\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA134_accept = DFA.unpack( + DFA142_accept = DFA.unpack( "\3\uffff\1\2\1\4\1\5\3\uffff\1\3\1\1\45\uffff" ) - DFA134_special = DFA.unpack( + DFA142_special = DFA.unpack( "\60\uffff" ) - DFA134_transition = [ - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\17\uffff\1\3\101\uffff" + DFA142_transition = [ + DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\21\uffff\1\3\101\uffff" "\1\1"), DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\10\1\uffff\1" - "\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\10\uffff\1" - "\6\20\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1" + "\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1" + "\6\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1" "\7"), DFA.unpack("\1\12\120\uffff\1\12\50\uffff\1\11"), DFA.unpack(""), @@ -40216,8 +40678,8 @@ class DFA132(DFA): DFA.unpack("\1\21"), DFA.unpack("\1\17"), DFA.unpack("\1\22"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\121\uffff\1\23"), - DFA.unpack("\1\24\115\uffff\1\25\2\uffff\1\26"), + DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\23"), + DFA.unpack("\1\24\115\uffff\1\25\3\uffff\1\26"), DFA.unpack("\1\27\107\uffff\1\30"), DFA.unpack("\1\10"), DFA.unpack("\1\31"), @@ -40229,9 +40691,9 @@ class DFA132(DFA): DFA.unpack("\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\121\uffff\1\41"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\121\uffff\1\41"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\121\uffff\1\42"), + DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\41"), + DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\41"), + DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\42"), DFA.unpack("\1\43"), DFA.unpack("\1\44"), DFA.unpack("\1\45"), @@ -40242,63 +40704,63 @@ class DFA132(DFA): DFA.unpack("\1\52"), DFA.unpack("\1\53"), DFA.unpack("\1\54"), - DFA.unpack("\1\25\2\uffff\1\26"), + DFA.unpack("\1\25\3\uffff\1\26"), DFA.unpack("\1\26"), DFA.unpack("\1\55"), DFA.unpack("\1\56"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\121\uffff\1\57"), - DFA.unpack("\1\10\u0084\uffff\1\7") + DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\57"), + DFA.unpack("\1\10\u0086\uffff\1\7") ] - # class definition for DFA #134 + # class definition for DFA #142 - class DFA134(DFA): + class DFA142(DFA): pass - # lookup tables for DFA #141 + # lookup tables for DFA #149 - DFA141_eot = DFA.unpack( + DFA149_eot = DFA.unpack( "\54\uffff" ) - DFA141_eof = DFA.unpack( + DFA149_eof = DFA.unpack( "\1\3\53\uffff" ) - DFA141_min = DFA.unpack( - "\2\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163\1\40" - "\1\12\1\144\1\53\1\171\1\u00cd\3\163\1\u00b8\3\u00f8\1\40\3\12\1" - "\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163\1\u00b2\1\u00b5\1\u00b8" - "\1\u00f8\1\12\1\171" + DFA149_min = DFA.unpack( + "\2\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1\40" + "\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12\1" + "\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1\u00ba" + "\1\u00fa\1\12\1\171" ) - DFA141_max = DFA.unpack( - "\1\u00fc\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1\137" - "\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8\3" - "\u00f8\1\40\3\u00fc\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163" - "\2\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA149_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" + "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" + "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" + "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA141_accept = DFA.unpack( + DFA149_accept = DFA.unpack( "\2\uffff\1\1\1\2\50\uffff" ) - DFA141_special = DFA.unpack( + DFA149_special = DFA.unpack( "\54\uffff" ) - DFA141_transition = [ + DFA149_transition = [ DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\21\uffff\1\3\13\uffff\1\2\16\uffff\1\2\13\uffff\1\2\10\uffff" - "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\10\uffff" - "\1\2\6\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" + "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\11\uffff" + "\1\2\7\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" "\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), @@ -40311,9 +40773,9 @@ class DFA134(DFA): DFA.unpack("\1\16"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff" + "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" "\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\2\uffff\1\22"), + DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), DFA.unpack("\1\23\107\uffff\1\24"), DFA.unpack("\1\6"), DFA.unpack("\1\25"), @@ -40327,13 +40789,13 @@ class DFA134(DFA): DFA.unpack("\1\34"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), @@ -40344,66 +40806,66 @@ class DFA134(DFA): DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\21\2\uffff\1\22"), + DFA.unpack("\1\21\3\uffff\1\22"), DFA.unpack("\1\22"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff" + "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" "\1\53"), - DFA.unpack("\1\6\u0084\uffff\1\5") + DFA.unpack("\1\6\u0086\uffff\1\5") ] - # class definition for DFA #141 + # class definition for DFA #149 - class DFA141(DFA): + class DFA149(DFA): pass - # lookup tables for DFA #156 + # lookup tables for DFA #164 - DFA156_eot = DFA.unpack( + DFA164_eot = DFA.unpack( "\54\uffff" ) - DFA156_eof = DFA.unpack( + DFA164_eof = DFA.unpack( "\1\3\53\uffff" ) - DFA156_min = DFA.unpack( - "\2\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163\1\40" - "\1\12\1\144\1\53\1\171\1\u00cd\3\163\1\u00b8\3\u00f8\1\40\3\12\1" - "\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163\1\u00b2\1\u00b5\1\u00b8" - "\1\u00f8\1\12\1\171" + DFA164_min = DFA.unpack( + "\2\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1\40" + "\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12\1" + "\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1\u00ba" + "\1\u00fa\1\12\1\171" ) - DFA156_max = DFA.unpack( - "\1\u00fc\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1\137" - "\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8\3" - "\u00f8\1\40\3\u00fc\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163" - "\2\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA164_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" + "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" + "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" + "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA156_accept = DFA.unpack( + DFA164_accept = DFA.unpack( "\2\uffff\1\1\1\2\50\uffff" ) - DFA156_special = DFA.unpack( + DFA164_special = DFA.unpack( "\54\uffff" ) - DFA156_transition = [ + DFA164_transition = [ DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\21\uffff\1\3\13\uffff\1\2\16\uffff\1\2\13\uffff\1\2\10\uffff" - "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\10\uffff" - "\1\2\6\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" + "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\11\uffff" + "\1\2\7\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" "\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), @@ -40416,9 +40878,9 @@ class DFA141(DFA): DFA.unpack("\1\16"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff" + "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" "\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\2\uffff\1\22"), + DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), DFA.unpack("\1\23\107\uffff\1\24"), DFA.unpack("\1\6"), DFA.unpack("\1\25"), @@ -40432,13 +40894,13 @@ class DFA141(DFA): DFA.unpack("\1\34"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), @@ -40449,66 +40911,66 @@ class DFA141(DFA): DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\21\2\uffff\1\22"), + DFA.unpack("\1\21\3\uffff\1\22"), DFA.unpack("\1\22"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff" + "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" "\1\53"), - DFA.unpack("\1\6\u0084\uffff\1\5") + DFA.unpack("\1\6\u0086\uffff\1\5") ] - # class definition for DFA #156 + # class definition for DFA #164 - class DFA156(DFA): + class DFA164(DFA): pass - # lookup tables for DFA #165 + # lookup tables for DFA #173 - DFA165_eot = DFA.unpack( + DFA173_eot = DFA.unpack( "\54\uffff" ) - DFA165_eof = DFA.unpack( + DFA173_eof = DFA.unpack( "\1\3\53\uffff" ) - DFA165_min = DFA.unpack( - "\2\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163\1\40" - "\1\12\1\144\1\53\1\171\1\u00cd\3\163\1\u00b8\3\u00f8\1\40\3\12\1" - "\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163\1\u00b2\1\u00b5\1\u00b8" - "\1\u00f8\1\12\1\171" + DFA173_min = DFA.unpack( + "\2\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1\40" + "\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12\1" + "\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1\u00ba" + "\1\u00fa\1\12\1\171" ) - DFA165_max = DFA.unpack( - "\1\u00fc\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1\137" - "\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8\3" - "\u00f8\1\40\3\u00fc\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163" - "\2\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA173_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" + "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" + "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" + "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA165_accept = DFA.unpack( + DFA173_accept = DFA.unpack( "\2\uffff\1\1\1\2\50\uffff" ) - DFA165_special = DFA.unpack( + DFA173_special = DFA.unpack( "\54\uffff" ) - DFA165_transition = [ + DFA173_transition = [ DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\21\uffff\1\3\13\uffff\1\2\16\uffff\1\2\13\uffff\1\2\10\uffff" - "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\10\uffff" - "\1\2\6\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" + "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\11\uffff" + "\1\2\7\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" "\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), @@ -40521,9 +40983,9 @@ class DFA156(DFA): DFA.unpack("\1\16"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff" + "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" "\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\2\uffff\1\22"), + DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), DFA.unpack("\1\23\107\uffff\1\24"), DFA.unpack("\1\6"), DFA.unpack("\1\25"), @@ -40537,13 +40999,13 @@ class DFA156(DFA): DFA.unpack("\1\34"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), + "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), @@ -40554,70 +41016,70 @@ class DFA156(DFA): DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\21\2\uffff\1\22"), + DFA.unpack("\1\21\3\uffff\1\22"), DFA.unpack("\1\22"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\10\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff" + "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" "\1\53"), - DFA.unpack("\1\6\u0084\uffff\1\5") + DFA.unpack("\1\6\u0086\uffff\1\5") ] - # class definition for DFA #165 + # class definition for DFA #173 - class DFA165(DFA): + class DFA173(DFA): pass - # lookup tables for DFA #173 + # lookup tables for DFA #181 - DFA173_eot = DFA.unpack( + DFA181_eot = DFA.unpack( "\103\uffff" ) - DFA173_eof = DFA.unpack( + DFA181_eof = DFA.unpack( "\103\uffff" ) - DFA173_min = DFA.unpack( - "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c3\1\12\1\53\1\u00f8\1\137" - "\1\12\1\163\1\40\1\12\1\144\1\u0081\1\163\1\53\1\u00fd\1\171\1\u00cd" - "\2\163\1\53\1\u00f8\1\163\1\u00b8\3\u00f8\1\163\1\40\1\12\1\40\3" - "\12\1\53\1\u0081\2\171\1\163\1\u00b8\1\163\2\u00c3\2\40\2\137\1" - "\u0081\1\163\1\u00b2\1\u00b5\1\163\1\u00b8\1\40\1\u00f8\1\163\1" - "\12\1\u00b8\1\171\1\u00f8\1\12\1\171" + DFA181_min = DFA.unpack( + "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c5\1\12\1\53\1\u00fa\1\137" + "\1\12\1\163\1\40\1\12\1\144\1\u0081\1\163\1\53\1\u00ff\1\171\3\u00cf" + "\1\53\1\u00fa\1\163\1\u00ba\3\u00fa\1\163\1\40\1\12\1\40\3\12\1" + "\53\1\u0081\2\171\1\163\1\u00ba\1\163\2\u00c5\2\40\2\137\1\u0081" + "\1\163\1\u00b2\1\u00b6\1\163\1\u00ba\1\40\1\u00fa\1\163\1\12\1\u00ba" + "\1\171\1\u00fa\1\12\1\171" ) - DFA173_max = DFA.unpack( - "\1\u00fc\1\u00fe\1\u00fd\2\uffff\1\u0081\1\163\1\u00c3\1\u00fc\1" - "\163\1\u00f8\1\137\1\u00fe\1\163\1\40\1\u00fc\1\u00b5\1\u0081\2" - "\163\1\u00fd\1\171\1\u00cd\3\163\1\u00f8\1\163\1\u00b8\3\u00f8\1" - "\163\1\40\1\u00fc\1\40\3\u00fc\1\163\1\u0081\2\171\1\163\1\u00b8" - "\1\163\2\u00c3\2\40\2\137\1\u0081\1\163\2\u00b5\1\163\1\u00b8\1" - "\40\1\u00f8\1\163\1\u00fc\1\u00b8\1\u00fe\1\u00f8\1\u00fc\1\u00fe" + DFA181_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u0081\1\163\1\u00c5\1\u00fe\1" + "\163\1\u00fa\1\137\1\u0100\1\163\1\40\1\u00fe\1\u00b6\1\u0081\2" + "\163\1\u00ff\1\171\3\u00cf\1\163\1\u00fa\1\163\1\u00ba\3\u00fa\1" + "\163\1\40\1\u00fe\1\40\3\u00fe\1\163\1\u0081\2\171\1\163\1\u00ba" + "\1\163\2\u00c5\2\40\2\137\1\u0081\1\163\2\u00b6\1\163\1\u00ba\1" + "\40\1\u00fa\1\163\1\u00fe\1\u00ba\1\u0100\1\u00fa\1\u00fe\1\u0100" ) - DFA173_accept = DFA.unpack( + DFA181_accept = DFA.unpack( "\3\uffff\1\1\1\2\76\uffff" ) - DFA173_special = DFA.unpack( + DFA181_special = DFA.unpack( "\103\uffff" ) - DFA173_transition = [ + DFA181_transition = [ DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\35\uffff\1" "\3\16\uffff\1\3\13\uffff\1\2\20\uffff\1\4\26\uffff\1\4\10\uffff" - "\1\3\33\uffff\1\4\26\uffff\1\4\2\uffff\1\3\11\uffff\1\3\44\uffff" + "\1\3\34\uffff\1\4\27\uffff\1\4\2\uffff\1\3\11\uffff\1\3\44\uffff" "\1\1"), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\7\1\uffff\1\5" - "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\10\uffff\1\5" - "\20\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), - DFA.unpack("\1\3\34\uffff\1\3\117\uffff\1\3\164\uffff\1\3\6\uffff" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + DFA.unpack("\1\3\34\uffff\1\3\117\uffff\1\3\166\uffff\1\3\6\uffff" "\1\10"), DFA.unpack(""), DFA.unpack(""), @@ -40626,22 +41088,22 @@ class DFA165(DFA): DFA.unpack("\1\13"), DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\35\uffff" "\1\3\16\uffff\1\3\13\uffff\1\3\20\uffff\1\4\26\uffff\1\4\10\uffff" - "\1\3\33\uffff\1\4\26\uffff\1\4\2\uffff\1\3\11\uffff\1\3\44\uffff" + "\1\3\34\uffff\1\4\27\uffff\1\4\2\uffff\1\3\11\uffff\1\3\44\uffff" "\1\14"), DFA.unpack("\1\15\107\uffff\1\16"), DFA.unpack("\1\17"), DFA.unpack("\1\20"), DFA.unpack("\1\21\2\uffff\1\21\23\uffff\1\21\3\uffff\1\21\3\uffff" "\1\21\3\uffff\1\21\101\uffff\1\21\7\uffff\1\21\1\uffff\1\7\1\uffff" - "\1\21\22\uffff\1\21\10\uffff\1\21\16\uffff\2\21\1\uffff\2\21\10" - "\uffff\1\21\20\uffff\2\21\4\uffff\1\21\14\uffff\1\21\2\uffff\1\21" + "\1\21\22\uffff\1\21\10\uffff\1\21\16\uffff\2\21\1\uffff\2\21\11" + "\uffff\1\21\21\uffff\2\21\4\uffff\1\21\14\uffff\1\21\2\uffff\1\21" "\43\uffff\1\22"), DFA.unpack("\1\16"), DFA.unpack("\1\23"), DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\70\uffff" - "\1\24\20\uffff\1\4\26\uffff\1\4\10\uffff\1\3\33\uffff\1\4\26\uffff" + "\1\24\20\uffff\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff" "\1\4\14\uffff\1\3\44\uffff\1\25"), - DFA.unpack("\1\26\115\uffff\1\27\2\uffff\1\30"), + DFA.unpack("\1\26\115\uffff\1\27\3\uffff\1\30"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33\107\uffff\1\34"), @@ -40660,17 +41122,17 @@ class DFA165(DFA): DFA.unpack("\1\41"), DFA.unpack("\1\47"), DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\33\uffff\1\4\26\uffff\1\4\14\uffff" + "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" "\1\3\44\uffff\1\25"), DFA.unpack("\1\50"), DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\33\uffff\1\4\26\uffff\1\4\14\uffff" + "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" "\1\3\44\uffff\1\51"), DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\33\uffff\1\4\26\uffff\1\4\14\uffff" + "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" "\1\3\44\uffff\1\51"), DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\33\uffff\1\4\26\uffff\1\4\14\uffff" + "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" "\1\3\44\uffff\1\52"), DFA.unpack("\1\53\107\uffff\1\54"), DFA.unpack("\1\55"), @@ -40687,7 +41149,7 @@ class DFA165(DFA): DFA.unpack("\1\67"), DFA.unpack("\1\70"), DFA.unpack("\1\71"), - DFA.unpack("\1\27\2\uffff\1\30"), + DFA.unpack("\1\27\3\uffff\1\30"), DFA.unpack("\1\30"), DFA.unpack("\1\72"), DFA.unpack("\1\73"), @@ -40695,77 +41157,77 @@ class DFA165(DFA): DFA.unpack("\1\75"), DFA.unpack("\1\76"), DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\70\uffff" - "\1\24\20\uffff\1\4\26\uffff\1\4\10\uffff\1\3\33\uffff\1\4\26\uffff" + "\1\24\20\uffff\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff" "\1\4\14\uffff\1\3\44\uffff\1\77"), DFA.unpack("\1\100"), - DFA.unpack("\1\7\u0084\uffff\1\6"), + DFA.unpack("\1\7\u0086\uffff\1\6"), DFA.unpack("\1\101"), DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\33\uffff\1\4\26\uffff\1\4\14\uffff" + "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" "\1\3\44\uffff\1\102"), - DFA.unpack("\1\7\u0084\uffff\1\22") + DFA.unpack("\1\7\u0086\uffff\1\22") ] - # class definition for DFA #173 + # class definition for DFA #181 - class DFA173(DFA): + class DFA181(DFA): pass - # lookup tables for DFA #170 + # lookup tables for DFA #178 - DFA170_eot = DFA.unpack( - "\113\uffff" + DFA178_eot = DFA.unpack( + "\125\uffff" ) - DFA170_eof = DFA.unpack( - "\1\3\1\uffff\1\3\5\uffff\1\3\4\uffff\1\3\75\uffff" + DFA178_eof = DFA.unpack( + "\1\3\1\uffff\1\3\5\uffff\1\3\4\uffff\1\3\107\uffff" ) - DFA170_min = DFA.unpack( - "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c3\1\12\1\53\1\u00f8\1\137" - "\1\12\1\24\1\163\1\40\1\12\1\22\1\u0081\1\163\1\53\1\u00fd\1\171" - "\1\u00cd\2\163\1\53\1\u00f8\1\163\1\u00b8\1\u00c3\3\u00f8\1\163" - "\1\40\1\12\1\40\1\137\3\12\1\53\1\u0081\1\144\3\171\1\163\1\u00b8" - "\1\163\3\u00c3\2\40\3\137\1\u0081\1\163\1\u009f\1\u00b2\1\u00b5" - "\1\163\1\u00b8\1\40\1\u00f8\1\163\1\12\1\u00b8\1\171\1\u00f8\1\12" - "\1\171" + DFA178_min = DFA.unpack( + "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c5\1\12\1\53\1\u00fa\1\137" + "\1\12\1\24\1\163\1\40\1\12\1\22\1\u0081\1\163\1\53\1\u00ff\1\171" + "\3\u00cf\1\53\1\u00fa\1\163\1\u00ba\1\u00c5\3\u00fa\1\163\1\40\1" + "\12\1\40\1\137\3\12\1\53\1\u0081\1\144\3\171\1\163\1\u00ba\1\163" + "\3\u00c5\2\40\3\137\1\u0081\1\163\3\u009f\1\163\1\u00ba\2\u00cf" + "\1\40\3\u00fa\1\163\3\12\1\u00ba\2\171\1\u00fa\1\u00c5\1\12\1\137" + "\1\171\1\u009f" ) - DFA170_max = DFA.unpack( - "\1\u00fc\1\u00fe\1\u00fd\2\uffff\1\u0081\1\163\1\u00c3\1\u00fc\1" - "\163\1\u00f8\1\137\1\u00fe\1\u00fd\1\163\1\40\1\u00fc\1\u00b5\1" - "\u0081\2\163\1\u00fd\1\171\1\u00cd\3\163\1\u00f8\1\163\1\u00b8\1" - "\u00c3\3\u00f8\1\163\1\40\1\u00fc\1\40\1\137\3\u00fc\1\163\1\u0081" - "\1\u00b5\3\171\1\163\1\u00b8\1\163\3\u00c3\2\40\3\137\1\u0081\1" - "\163\3\u00b5\1\163\1\u00b8\1\40\1\u00f8\1\163\1\u00fc\1\u00b8\1" - "\u00fe\1\u00f8\1\u00fc\1\u00fe" + DFA178_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u0081\1\163\1\u00c5\1\u00fe\1" + "\163\1\u00fa\1\137\1\u0100\1\u00ff\1\163\1\40\1\u00fe\1\u00b7\1" + "\u0081\2\163\1\u00ff\1\171\3\u00cf\1\163\1\u00fa\1\163\1\u00ba\1" + "\u00c5\3\u00fa\1\163\1\40\1\u00fe\1\40\1\137\3\u00fe\1\163\1\u0081" + "\1\u00b7\3\171\1\163\1\u00ba\1\163\3\u00c5\2\40\3\137\1\u0081\1" + "\163\3\u00b6\1\163\1\u00ba\2\u00cf\1\40\3\u00fa\1\163\3\u00fe\1" + "\u00ba\1\u0100\1\171\1\u00fa\1\u00c5\1\u00fe\1\137\1\u0100\1\u00b6" ) - DFA170_accept = DFA.unpack( - "\3\uffff\1\2\1\1\106\uffff" + DFA178_accept = DFA.unpack( + "\3\uffff\1\2\1\1\120\uffff" ) - DFA170_special = DFA.unpack( - "\113\uffff" + DFA178_special = DFA.unpack( + "\125\uffff" ) - DFA170_transition = [ + DFA178_transition = [ DFA.unpack("\1\4\16\uffff\1\3\1\uffff\1\4\5\uffff\1\3\3\uffff\2\3" "\2\uffff\1\4\3\uffff\1\4\5\uffff\1\3\2\uffff\2\3\1\uffff\3\3\1\uffff" "\4\3\12\uffff\1\4\16\uffff\1\4\13\uffff\1\2\10\uffff\1\3\7\uffff" - "\1\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\10\uffff" - "\1\3\6\uffff\1\3\1\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4\uffff\1\3" + "\1\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" + "\1\3\7\uffff\1\3\1\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4\uffff\1\3" "\2\uffff\1\4\7\uffff\1\3\1\uffff\1\4\13\uffff\1\3\3\uffff\1\3\24" "\uffff\1\1"), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" "\5\3\uffff\1\5\7\uffff\1\3\71\uffff\1\5\7\uffff\1\5\1\uffff\1\7" "\1\uffff\1\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5" - "\10\uffff\1\5\20\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5" + "\11\uffff\1\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5" "\43\uffff\1\6"), DFA.unpack("\1\4\4\uffff\1\3\7\uffff\1\3\3\uffff\1\3\13\uffff\1" - "\4\5\uffff\1\3\111\uffff\1\4\47\uffff\1\3\22\uffff\1\3\2\uffff\2" + "\4\5\uffff\1\3\111\uffff\1\4\47\uffff\1\3\24\uffff\1\3\2\uffff\2" "\3\24\uffff\1\3\21\uffff\1\3\16\uffff\1\4\5\uffff\1\3\1\10"), DFA.unpack(""), DFA.unpack(""), @@ -40776,7 +41238,7 @@ class DFA173(DFA): "\3\2\uffff\1\4\3\uffff\1\4\5\uffff\1\3\2\uffff\2\3\1\uffff\3\3\1" "\uffff\4\3\12\uffff\1\4\16\uffff\1\4\13\uffff\1\15\10\uffff\1\3" "\7\uffff\1\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3" - "\10\uffff\1\3\6\uffff\1\3\1\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4" + "\11\uffff\1\3\7\uffff\1\3\1\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4" "\uffff\1\3\2\uffff\1\4\7\uffff\1\3\1\uffff\1\4\13\uffff\1\3\3\uffff" "\1\3\24\uffff\1\14"), DFA.unpack("\1\16\107\uffff\1\17"), @@ -40785,19 +41247,19 @@ class DFA173(DFA): DFA.unpack("\1\22\2\uffff\1\22\23\uffff\1\22\3\uffff\1\22\3\uffff" "\1\22\3\uffff\1\22\7\uffff\1\3\71\uffff\1\22\7\uffff\1\22\1\uffff" "\1\7\1\uffff\1\22\22\uffff\1\22\10\uffff\1\22\16\uffff\2\22\1\uffff" - "\2\22\10\uffff\1\22\20\uffff\2\22\4\uffff\1\22\14\uffff\1\22\2\uffff" + "\2\22\11\uffff\1\22\21\uffff\2\22\4\uffff\1\22\14\uffff\1\22\2\uffff" "\1\22\43\uffff\1\23"), DFA.unpack("\1\4\4\uffff\1\3\7\uffff\1\3\3\uffff\1\3\13\uffff\1" - "\4\5\uffff\1\3\111\uffff\1\4\47\uffff\1\3\22\uffff\1\3\2\uffff\2" + "\4\5\uffff\1\3\111\uffff\1\4\47\uffff\1\3\24\uffff\1\3\2\uffff\2" "\3\24\uffff\1\3\21\uffff\1\3\16\uffff\1\4\5\uffff\2\3"), DFA.unpack("\1\17"), DFA.unpack("\1\24"), DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\25\10\uffff\1\3\7\uffff\1" - "\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\10\uffff" - "\1\3\20\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\26"), + "\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" + "\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\26"), DFA.unpack("\1\3\121\uffff\1\27\67\uffff\1\3\2\uffff\1\3\22\uffff" - "\1\30\2\uffff\1\31"), + "\1\30\1\3\2\uffff\1\31\1\3"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34\107\uffff\1\35"), @@ -40818,25 +41280,26 @@ class DFA173(DFA): DFA.unpack("\1\52"), DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\3\10\uffff\1\3\7\uffff\1\3" - "\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\10\uffff\1" - "\3\20\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\26"), + "\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1" + "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\26"), DFA.unpack("\1\53"), DFA.unpack("\1\54"), DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" "\4\3\uffff\1\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3" - "\14\uffff\1\3\10\uffff\1\4\22\uffff\1\3\10\uffff\1\3\20\uffff\2" + "\14\uffff\1\3\10\uffff\1\4\22\uffff\1\3\11\uffff\1\3\21\uffff\2" "\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\55"), DFA.unpack("\1\4\20\uffff\1\4\11\uffff\2\3\2\uffff\1\4\3\uffff\1" "\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1" - "\3\10\uffff\1\4\22\uffff\1\3\10\uffff\1\3\20\uffff\2\3\4\uffff\1" + "\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1\3\21\uffff\2\3\4\uffff\1" "\3\14\uffff\1\4\44\uffff\1\56"), DFA.unpack("\1\4\20\uffff\1\4\11\uffff\2\3\2\uffff\1\4\3\uffff\1" "\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1" - "\3\10\uffff\1\4\22\uffff\1\3\10\uffff\1\3\20\uffff\2\3\4\uffff\1" + "\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1\3\21\uffff\2\3\4\uffff\1" "\3\14\uffff\1\4\44\uffff\1\57"), DFA.unpack("\1\60\107\uffff\1\61"), DFA.unpack("\1\62"), - DFA.unpack("\1\27\72\uffff\1\3\22\uffff\1\30\2\uffff\1\31"), + DFA.unpack("\1\27\72\uffff\1\3\22\uffff\1\30\1\3\2\uffff\1\31\1" + "\3"), DFA.unpack("\1\63"), DFA.unpack("\1\64"), DFA.unpack("\1\65"), @@ -40853,80 +41316,98 @@ class DFA173(DFA): DFA.unpack("\1\77"), DFA.unpack("\1\100"), DFA.unpack("\1\101"), - DFA.unpack("\1\3\22\uffff\1\30\2\uffff\1\31"), - DFA.unpack("\1\30\2\uffff\1\31"), - DFA.unpack("\1\31"), - DFA.unpack("\1\102"), - DFA.unpack("\1\103"), + DFA.unpack("\1\3\22\uffff\1\102\3\uffff\1\103"), + DFA.unpack("\1\3\22\uffff\1\30\3\uffff\1\31"), + DFA.unpack("\1\3\26\uffff\1\31"), DFA.unpack("\1\104"), DFA.unpack("\1\105"), DFA.unpack("\1\106"), - DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" - "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\25\10\uffff\1\3\7\uffff\1" - "\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\10\uffff" - "\1\3\20\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\107"), + DFA.unpack("\1\107"), DFA.unpack("\1\110"), - DFA.unpack("\1\36\u0084\uffff\1\6"), DFA.unpack("\1\111"), + DFA.unpack("\1\112"), + DFA.unpack("\1\113"), + DFA.unpack("\1\114"), + DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" + "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\25\10\uffff\1\3\7\uffff\1" + "\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" + "\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\115"), + DFA.unpack("\1\4\20\uffff\1\4\11\uffff\2\3\2\uffff\1\4\3\uffff\1" + "\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1" + "\3\10\uffff\1\4\22\uffff\1\3\11\uffff\1\3\21\uffff\2\3\4\uffff\1" + "\3\14\uffff\1\4\44\uffff\1\55"), + DFA.unpack("\1\4\20\uffff\1\4\11\uffff\2\3\2\uffff\1\4\3\uffff\1" + "\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1" + "\3\10\uffff\1\4\22\uffff\1\3\11\uffff\1\3\21\uffff\2\3\4\uffff\1" + "\3\14\uffff\1\4\44\uffff\1\116"), + DFA.unpack("\1\117"), + DFA.unpack("\1\36\u0086\uffff\1\6"), + DFA.unpack("\1\120"), + DFA.unpack("\1\121"), + DFA.unpack("\1\122"), DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\3\10\uffff\1\3\7\uffff\1\3" - "\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\10\uffff\1" - "\3\20\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\112"), - DFA.unpack("\1\36\u0084\uffff\1\23") + "\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1" + "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\123"), + DFA.unpack("\1\124"), + DFA.unpack("\1\36\u0086\uffff\1\23"), + DFA.unpack("\1\3\26\uffff\1\103") ] - # class definition for DFA #170 + # class definition for DFA #178 - class DFA170(DFA): + class DFA178(DFA): pass - # lookup tables for DFA #172 + # lookup tables for DFA #180 - DFA172_eot = DFA.unpack( - "\64\uffff" + DFA180_eot = DFA.unpack( + "\76\uffff" ) - DFA172_eof = DFA.unpack( - "\1\4\1\uffff\1\4\61\uffff" + DFA180_eof = DFA.unpack( + "\1\4\1\uffff\1\4\73\uffff" ) - DFA172_min = DFA.unpack( - "\1\31\1\12\1\31\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137" - "\1\163\1\40\1\41\1\22\1\53\1\171\1\u00cd\3\163\1\u00b8\1\u00c3\3" - "\u00f8\1\40\1\137\1\41\2\45\1\u0081\1\144\3\171\1\163\3\u00c3\1" - "\40\3\137\1\163\1\u009f\1\u00b2\1\u00b5\1\u00b8\1\u00f8\1\41\1\171" + DFA180_min = DFA.unpack( + "\1\31\1\12\1\31\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137" + "\1\163\1\40\1\41\1\22\1\53\1\171\3\u00cf\1\163\1\u00ba\1\u00c5\3" + "\u00fa\1\40\1\137\1\41\2\45\1\u0081\1\144\3\171\1\163\3\u00c5\1" + "\40\3\137\1\163\3\u009f\1\u00ba\2\u00cf\3\u00fa\1\41\2\45\2\171" + "\1\u00c5\1\137\1\u009f" ) - DFA172_max = DFA.unpack( - "\1\u00fc\1\u00fe\1\u00fd\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8" - "\1\137\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8" - "\1\u00c3\3\u00f8\1\40\1\137\3\u00fc\1\u0081\1\u00b5\3\171\1\163" - "\3\u00c3\1\40\3\137\1\163\3\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA180_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" + "\1\137\1\163\1\40\1\u00fe\1\u00b7\1\163\1\171\3\u00cf\1\163\1\u00ba" + "\1\u00c5\3\u00fa\1\40\1\137\3\u00fe\1\u0081\1\u00b7\3\171\1\163" + "\3\u00c5\1\40\3\137\1\163\3\u00b6\1\u00ba\2\u00cf\3\u00fa\3\u00fe" + "\1\u0100\1\171\1\u00c5\1\137\1\u00b6" ) - DFA172_accept = DFA.unpack( - "\3\uffff\1\1\1\2\57\uffff" + DFA180_accept = DFA.unpack( + "\3\uffff\1\1\1\2\71\uffff" ) - DFA172_special = DFA.unpack( - "\64\uffff" + DFA180_special = DFA.unpack( + "\76\uffff" ) - DFA172_transition = [ + DFA180_transition = [ DFA.unpack("\1\4\7\uffff\1\4\3\uffff\2\4\14\uffff\1\4\2\uffff\2\4" "\1\uffff\3\4\1\uffff\4\4\45\uffff\1\2\10\uffff\1\4\7\uffff\1\3\11" - "\uffff\1\4\14\uffff\1\3\32\uffff\2\4\10\uffff\1\3\6\uffff\1\4\1" + "\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff\1\3\7\uffff\1\4\1" "\uffff\1\4\2\uffff\2\4\3\uffff\2\4\4\uffff\1\3\12\uffff\1\4\15\uffff" "\1\4\3\uffff\1\4\24\uffff\1\1"), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" "\5\3\uffff\1\5\7\uffff\1\4\71\uffff\1\5\7\uffff\1\5\1\uffff\1\7" "\1\uffff\1\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5" - "\10\uffff\1\5\20\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5" + "\11\uffff\1\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5" "\43\uffff\1\6"), DFA.unpack("\1\4\7\uffff\1\4\3\uffff\1\4\21\uffff\1\4\161\uffff" - "\1\4\22\uffff\1\4\2\uffff\2\4\24\uffff\1\4\21\uffff\1\4\24\uffff" + "\1\4\24\uffff\1\4\2\uffff\2\4\24\uffff\1\4\21\uffff\1\4\24\uffff" "\1\4\1\3"), DFA.unpack(""), DFA.unpack(""), @@ -40939,10 +41420,10 @@ class DFA170(DFA): DFA.unpack("\1\14"), DFA.unpack("\1\17"), DFA.unpack("\1\4\3\uffff\2\4\14\uffff\1\4\62\uffff\1\3\10\uffff" - "\1\4\7\uffff\1\3\11\uffff\1\4\14\uffff\1\3\32\uffff\2\4\10\uffff" - "\1\3\20\uffff\2\4\4\uffff\1\3\61\uffff\1\20"), + "\1\4\7\uffff\1\3\11\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff" + "\1\3\21\uffff\2\4\4\uffff\1\3\61\uffff\1\20"), DFA.unpack("\1\4\121\uffff\1\21\67\uffff\1\4\2\uffff\1\4\22\uffff" - "\1\22\2\uffff\1\23"), + "\1\22\1\4\2\uffff\1\23\1\4"), DFA.unpack("\1\24\107\uffff\1\25"), DFA.unpack("\1\26"), DFA.unpack("\1\27"), @@ -40957,16 +41438,17 @@ class DFA170(DFA): DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\4\3\uffff\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1" - "\3\11\uffff\1\4\14\uffff\1\3\33\uffff\1\4\10\uffff\1\3\20\uffff" + "\3\11\uffff\1\4\14\uffff\1\3\33\uffff\1\4\11\uffff\1\3\21\uffff" "\2\4\4\uffff\1\3\61\uffff\1\41"), DFA.unpack("\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1\3\11\uffff" - "\1\4\14\uffff\1\3\33\uffff\1\4\10\uffff\1\3\20\uffff\2\4\4\uffff" + "\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff\1\3\21\uffff\2\4\4\uffff" "\1\3\61\uffff\1\42"), DFA.unpack("\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1\3\11\uffff" - "\1\4\14\uffff\1\3\33\uffff\1\4\10\uffff\1\3\20\uffff\2\4\4\uffff" + "\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff\1\3\21\uffff\2\4\4\uffff" "\1\3\61\uffff\1\43"), DFA.unpack("\1\44"), - DFA.unpack("\1\21\72\uffff\1\4\22\uffff\1\22\2\uffff\1\23"), + DFA.unpack("\1\21\72\uffff\1\4\22\uffff\1\22\1\4\2\uffff\1\23\1" + "\4"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), @@ -40979,64 +41461,78 @@ class DFA170(DFA): DFA.unpack("\1\56"), DFA.unpack("\1\57"), DFA.unpack("\1\60"), - DFA.unpack("\1\4\22\uffff\1\22\2\uffff\1\23"), - DFA.unpack("\1\22\2\uffff\1\23"), - DFA.unpack("\1\23"), - DFA.unpack("\1\61"), - DFA.unpack("\1\62"), + DFA.unpack("\1\4\22\uffff\1\61\3\uffff\1\62"), + DFA.unpack("\1\4\22\uffff\1\22\3\uffff\1\23"), + DFA.unpack("\1\4\26\uffff\1\23"), + DFA.unpack("\1\63"), + DFA.unpack("\1\64"), + DFA.unpack("\1\65"), + DFA.unpack("\1\66"), + DFA.unpack("\1\67"), + DFA.unpack("\1\70"), DFA.unpack("\1\4\3\uffff\2\4\14\uffff\1\4\62\uffff\1\3\10\uffff" - "\1\4\7\uffff\1\3\11\uffff\1\4\14\uffff\1\3\32\uffff\2\4\10\uffff" - "\1\3\20\uffff\2\4\4\uffff\1\3\61\uffff\1\63"), - DFA.unpack("\1\26\u0084\uffff\1\6") + "\1\4\7\uffff\1\3\11\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff" + "\1\3\21\uffff\2\4\4\uffff\1\3\61\uffff\1\71"), + DFA.unpack("\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1\3\11\uffff" + "\1\4\14\uffff\1\3\33\uffff\1\4\11\uffff\1\3\21\uffff\2\4\4\uffff" + "\1\3\61\uffff\1\41"), + DFA.unpack("\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1\3\11\uffff" + "\1\4\14\uffff\1\3\33\uffff\1\4\11\uffff\1\3\21\uffff\2\4\4\uffff" + "\1\3\61\uffff\1\72"), + DFA.unpack("\1\26\u0086\uffff\1\6"), + DFA.unpack("\1\73"), + DFA.unpack("\1\74"), + DFA.unpack("\1\75"), + DFA.unpack("\1\4\26\uffff\1\62") ] - # class definition for DFA #172 + # class definition for DFA #180 - class DFA172(DFA): + class DFA180(DFA): pass - # lookup tables for DFA #175 + # lookup tables for DFA #183 - DFA175_eot = DFA.unpack( + DFA183_eot = DFA.unpack( "\62\uffff" ) - DFA175_eof = DFA.unpack( + DFA183_eof = DFA.unpack( "\62\uffff" ) - DFA175_min = DFA.unpack( - "\2\12\10\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163\1" - "\40\1\12\1\144\1\53\1\171\1\u00cd\3\163\1\u00b8\3\u00f8\1\40\3\12" - "\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163\1\u00b2\1\u00b5\1" - "\u00b8\1\u00f8\1\12\1\171" + DFA183_min = DFA.unpack( + "\2\12\10\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1" + "\40\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12" + "\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1" + "\u00ba\1\u00fa\1\12\1\171" ) - DFA175_max = DFA.unpack( - "\1\u00fc\1\u00fe\10\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1" - "\137\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8" - "\3\u00f8\1\40\3\u00fc\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163" - "\2\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA183_max = DFA.unpack( + "\1\u00fe\1\u0100\10\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1" + "\137\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba" + "\3\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" + "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA175_accept = DFA.unpack( + DFA183_accept = DFA.unpack( "\2\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\50\uffff" ) - DFA175_special = DFA.unpack( + DFA183_special = DFA.unpack( "\62\uffff" ) - DFA175_transition = [ + DFA183_transition = [ DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\35\uffff" - "\1\10\16\uffff\1\3\13\uffff\1\3\60\uffff\1\4\65\uffff\1\3\11\uffff" + "\1\10\16\uffff\1\3\13\uffff\1\3\60\uffff\1\4\67\uffff\1\3\11\uffff" "\1\2\44\uffff\1\1"), DFA.unpack("\1\12\2\uffff\1\12\23\uffff\1\12\3\uffff\1\12\3\uffff" "\1\12\3\uffff\1\12\101\uffff\1\12\7\uffff\1\12\1\uffff\1\14\1\uffff" - "\1\12\22\uffff\1\12\10\uffff\1\12\16\uffff\2\12\1\uffff\2\12\10" - "\uffff\1\12\20\uffff\2\12\4\uffff\1\12\14\uffff\1\12\2\uffff\1\12" + "\1\12\22\uffff\1\12\10\uffff\1\12\16\uffff\2\12\1\uffff\2\12\11" + "\uffff\1\12\21\uffff\2\12\4\uffff\1\12\14\uffff\1\12\2\uffff\1\12" "\43\uffff\1\13"), DFA.unpack(""), DFA.unpack(""), @@ -41055,8 +41551,8 @@ class DFA172(DFA): DFA.unpack("\1\21"), DFA.unpack("\1\24"), DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\77\uffff\1\2\44\uffff\1\25"), - DFA.unpack("\1\26\115\uffff\1\27\2\uffff\1\30"), + "\1\4\101\uffff\1\2\44\uffff\1\25"), + DFA.unpack("\1\26\115\uffff\1\27\3\uffff\1\30"), DFA.unpack("\1\31\107\uffff\1\32"), DFA.unpack("\1\14"), DFA.unpack("\1\33"), @@ -41069,11 +41565,11 @@ class DFA172(DFA): DFA.unpack("\1\41"), DFA.unpack("\1\42"), DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\77\uffff\1\2\44\uffff\1\43"), + "\1\4\101\uffff\1\2\44\uffff\1\43"), DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\77\uffff\1\2\44\uffff\1\43"), + "\1\4\101\uffff\1\2\44\uffff\1\43"), DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\77\uffff\1\2\44\uffff\1\44"), + "\1\4\101\uffff\1\2\44\uffff\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), @@ -41084,49 +41580,49 @@ class DFA172(DFA): DFA.unpack("\1\54"), DFA.unpack("\1\55"), DFA.unpack("\1\56"), - DFA.unpack("\1\27\2\uffff\1\30"), + DFA.unpack("\1\27\3\uffff\1\30"), DFA.unpack("\1\30"), DFA.unpack("\1\57"), DFA.unpack("\1\60"), DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\77\uffff\1\2\44\uffff\1\61"), - DFA.unpack("\1\14\u0084\uffff\1\13") + "\1\4\101\uffff\1\2\44\uffff\1\61"), + DFA.unpack("\1\14\u0086\uffff\1\13") ] - # class definition for DFA #175 + # class definition for DFA #183 - class DFA175(DFA): + class DFA183(DFA): pass - # lookup tables for DFA #182 + # lookup tables for DFA #190 - DFA182_eot = DFA.unpack( + DFA190_eot = DFA.unpack( "\111\uffff" ) - DFA182_eof = DFA.unpack( + DFA190_eof = DFA.unpack( "\1\2\110\uffff" ) - DFA182_min = DFA.unpack( + DFA190_min = DFA.unpack( "\1\12\1\0\107\uffff" ) - DFA182_max = DFA.unpack( - "\1\u00fd\1\0\107\uffff" + DFA190_max = DFA.unpack( + "\1\u00ff\1\0\107\uffff" ) - DFA182_accept = DFA.unpack( + DFA190_accept = DFA.unpack( "\2\uffff\1\2\105\uffff\1\1" ) - DFA182_special = DFA.unpack( + DFA190_special = DFA.unpack( "\1\uffff\1\0\107\uffff" ) - DFA182_transition = [ + DFA190_transition = [ DFA.unpack("\1\2\1\uffff\1\2\2\uffff\1\2\5\uffff\1\2\3\uffff\1\2" "\1\uffff\1\2\4\uffff\2\2\3\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\uffff" "\1\2\2\uffff\2\2\1\uffff\1\2\2\uffff\2\2\1\uffff\3\2\1\uffff\5\2" @@ -41134,7 +41630,7 @@ class DFA175(DFA): "\1\2\4\uffff\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\7\uffff\1\2" "\4\uffff\1\2\2\uffff\1\2\1\uffff\1\1\4\uffff\1\2\4\uffff\1\2\2\uffff" "\1\2\6\uffff\1\2\1\uffff\1\2\11\uffff\1\2\7\uffff\2\2\5\uffff\1" - "\2\2\uffff\1\2\3\uffff\2\2\1\uffff\1\2\1\uffff\1\2\2\uffff\2\2\3" + "\2\3\uffff\1\2\4\uffff\2\2\1\uffff\1\2\1\uffff\1\2\2\uffff\2\2\3" "\uffff\2\2\4\uffff\1\2\2\uffff\1\2\7\uffff\1\2\1\uffff\1\2\5\uffff" "\1\2\2\uffff\1\2\2\uffff\1\2\3\uffff\1\2\13\uffff\1\2\2\uffff\1" "\2\4\uffff\3\2"), @@ -41212,9 +41708,9 @@ class DFA175(DFA): DFA.unpack("") ] - # class definition for DFA #182 + # class definition for DFA #190 - class DFA182(DFA): + class DFA190(DFA): pass @@ -41229,21 +41725,21 @@ def specialStateTransition(self_, s, input): _s = s if s == 0: - LA182_1 = input.LA(1) + LA190_1 = input.LA(1) - index182_1 = input.index() + index190_1 = input.index() input.rewind() s = -1 - if (self.synpred225_sdl92()): + if (self.synpred233_sdl92()): s = 72 elif (True): s = 2 - input.seek(index182_1) + input.seek(index190_1) if s >= 0: return s @@ -41251,49 +41747,49 @@ def specialStateTransition(self_, s, input): if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException(self_.getDescription(), 182, _s, input) + nvae = NoViableAltException(self_.getDescription(), 190, _s, input) self_.error(nvae) raise nvae - # lookup tables for DFA #193 + # lookup tables for DFA #201 - DFA193_eot = DFA.unpack( + DFA201_eot = DFA.unpack( "\54\uffff" ) - DFA193_eof = DFA.unpack( + DFA201_eof = DFA.unpack( "\54\uffff" ) - DFA193_min = DFA.unpack( - "\1\63\1\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163" - "\1\40\1\63\1\144\1\53\1\171\1\u00cd\3\163\1\u00b8\3\u00f8\1\40\3" - "\63\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163\1\u00b2\1\u00b5" - "\1\u00b8\1\u00f8\1\63\1\171" + DFA201_min = DFA.unpack( + "\1\63\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" + "\1\40\1\63\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3" + "\63\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6" + "\1\u00ba\1\u00fa\1\63\1\171" ) - DFA193_max = DFA.unpack( - "\1\u00fc\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1\137" - "\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8\3" - "\u00f8\1\40\3\u00fc\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163" - "\2\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA201_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" + "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" + "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" + "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA193_accept = DFA.unpack( + DFA201_accept = DFA.unpack( "\2\uffff\1\1\1\2\50\uffff" ) - DFA193_special = DFA.unpack( + DFA201_special = DFA.unpack( "\54\uffff" ) - DFA193_transition = [ - DFA.unpack("\1\3\115\uffff\1\2\172\uffff\1\1"), + DFA201_transition = [ + DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), @@ -41304,8 +41800,8 @@ def specialStateTransition(self_, s, input): DFA.unpack("\1\15"), DFA.unpack("\1\13"), DFA.unpack("\1\16"), - DFA.unpack("\1\3\115\uffff\1\2\172\uffff\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\2\uffff\1\22"), + DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\17"), + DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), DFA.unpack("\1\23\107\uffff\1\24"), DFA.unpack("\1\6"), DFA.unpack("\1\25"), @@ -41317,9 +41813,9 @@ def specialStateTransition(self_, s, input): DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), - DFA.unpack("\1\3\115\uffff\1\2\172\uffff\1\35"), - DFA.unpack("\1\3\115\uffff\1\2\172\uffff\1\35"), - DFA.unpack("\1\3\115\uffff\1\2\172\uffff\1\36"), + DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\35"), + DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\35"), + DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), @@ -41330,60 +41826,60 @@ def specialStateTransition(self_, s, input): DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\21\2\uffff\1\22"), + DFA.unpack("\1\21\3\uffff\1\22"), DFA.unpack("\1\22"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), - DFA.unpack("\1\3\115\uffff\1\2\172\uffff\1\53"), - DFA.unpack("\1\6\u0084\uffff\1\5") + DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\53"), + DFA.unpack("\1\6\u0086\uffff\1\5") ] - # class definition for DFA #193 + # class definition for DFA #201 - class DFA193(DFA): + class DFA201(DFA): pass - # lookup tables for DFA #191 + # lookup tables for DFA #199 - DFA191_eot = DFA.unpack( + DFA199_eot = DFA.unpack( "\54\uffff" ) - DFA191_eof = DFA.unpack( + DFA199_eof = DFA.unpack( "\1\2\53\uffff" ) - DFA191_min = DFA.unpack( - "\1\63\1\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163" - "\1\40\1\63\1\144\1\53\1\171\1\u00cd\3\163\1\u00b8\3\u00f8\1\40\3" - "\63\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163\1\u00b2\1\u00b5" - "\1\u00b8\1\u00f8\1\63\1\171" + DFA199_min = DFA.unpack( + "\1\63\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" + "\1\40\1\63\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3" + "\63\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6" + "\1\u00ba\1\u00fa\1\63\1\171" ) - DFA191_max = DFA.unpack( - "\1\u00fc\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1\137" - "\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8\3" - "\u00f8\1\40\3\u00fc\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163" - "\2\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA199_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" + "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" + "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" + "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA191_accept = DFA.unpack( + DFA199_accept = DFA.unpack( "\2\uffff\1\2\1\1\50\uffff" ) - DFA191_special = DFA.unpack( + DFA199_special = DFA.unpack( "\54\uffff" ) - DFA191_transition = [ - DFA.unpack("\1\2\2\uffff\1\2\3\uffff\1\2\106\uffff\1\3\172\uffff" + DFA199_transition = [ + DFA.unpack("\1\2\2\uffff\1\2\3\uffff\1\2\106\uffff\1\3\174\uffff" "\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), @@ -41394,8 +41890,8 @@ class DFA193(DFA): DFA.unpack("\1\15"), DFA.unpack("\1\13"), DFA.unpack("\1\16"), - DFA.unpack("\1\2\115\uffff\1\3\172\uffff\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\2\uffff\1\22"), + DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\17"), + DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), DFA.unpack("\1\23\107\uffff\1\24"), DFA.unpack("\1\6"), DFA.unpack("\1\25"), @@ -41407,9 +41903,9 @@ class DFA193(DFA): DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), - DFA.unpack("\1\2\115\uffff\1\3\172\uffff\1\35"), - DFA.unpack("\1\2\115\uffff\1\3\172\uffff\1\35"), - DFA.unpack("\1\2\115\uffff\1\3\172\uffff\1\36"), + DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\35"), + DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\35"), + DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), @@ -41420,62 +41916,62 @@ class DFA193(DFA): DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\21\2\uffff\1\22"), + DFA.unpack("\1\21\3\uffff\1\22"), DFA.unpack("\1\22"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), - DFA.unpack("\1\2\115\uffff\1\3\172\uffff\1\53"), - DFA.unpack("\1\6\u0084\uffff\1\5") + DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\53"), + DFA.unpack("\1\6\u0086\uffff\1\5") ] - # class definition for DFA #191 + # class definition for DFA #199 - class DFA191(DFA): + class DFA199(DFA): pass - # lookup tables for DFA #206 + # lookup tables for DFA #214 - DFA206_eot = DFA.unpack( + DFA214_eot = DFA.unpack( "\54\uffff" ) - DFA206_eof = DFA.unpack( + DFA214_eof = DFA.unpack( "\1\3\53\uffff" ) - DFA206_min = DFA.unpack( - "\2\12\2\uffff\1\u0081\1\163\1\u00c3\1\53\1\u00f8\1\137\1\163\1\40" - "\1\12\1\144\1\53\1\171\1\u00cd\3\163\1\u00b8\3\u00f8\1\40\3\12\1" - "\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163\1\u00b2\1\u00b5\1\u00b8" - "\1\u00f8\1\12\1\171" + DFA214_min = DFA.unpack( + "\2\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1\40" + "\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12\1" + "\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1\u00ba" + "\1\u00fa\1\12\1\171" ) - DFA206_max = DFA.unpack( - "\1\u00fc\1\u00fe\2\uffff\1\u0081\1\163\1\u00c3\1\163\1\u00f8\1\137" - "\1\163\1\40\1\u00fc\1\u00b5\1\163\1\171\1\u00cd\3\163\1\u00b8\3" - "\u00f8\1\40\3\u00fc\1\u0081\2\171\1\163\2\u00c3\1\40\2\137\1\163" - "\2\u00b5\1\u00b8\1\u00f8\1\u00fc\1\u00fe" + DFA214_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" + "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" + "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" + "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" ) - DFA206_accept = DFA.unpack( + DFA214_accept = DFA.unpack( "\2\uffff\1\1\1\2\50\uffff" ) - DFA206_special = DFA.unpack( + DFA214_special = DFA.unpack( "\54\uffff" ) - DFA206_transition = [ + DFA214_transition = [ DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" "\3\2\uffff\1\3\3\uffff\1\3\20\uffff\1\2\16\uffff\1\2\13\uffff\1" - "\2\20\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\33\uffff" - "\1\2\26\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff\1\1"), + "\2\20\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\34\uffff" + "\1\2\27\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff\1\1"), DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\10\uffff\1\4" - "\20\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), @@ -41488,8 +41984,8 @@ class DFA191(DFA): DFA.unpack("\1\16"), DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" "\3\62\uffff\1\2\20\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff" - "\1\2\33\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\2\uffff\1\22"), + "\1\2\34\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\17"), + DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), DFA.unpack("\1\23\107\uffff\1\24"), DFA.unpack("\1\6"), DFA.unpack("\1\25"), @@ -41502,14 +41998,14 @@ class DFA191(DFA): DFA.unpack("\1\33"), DFA.unpack("\1\34"), DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" - "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\33\uffff" - "\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), + "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\34\uffff" + "\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" - "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\33\uffff" - "\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), + "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\34\uffff" + "\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" - "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\33\uffff" - "\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), + "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\34\uffff" + "\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), @@ -41520,50 +42016,50 @@ class DFA191(DFA): DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\21\2\uffff\1\22"), + DFA.unpack("\1\21\3\uffff\1\22"), DFA.unpack("\1\22"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" "\3\62\uffff\1\2\20\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff" - "\1\2\33\uffff\1\2\26\uffff\1\2\14\uffff\1\2\44\uffff\1\53"), - DFA.unpack("\1\6\u0084\uffff\1\5") + "\1\2\34\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\53"), + DFA.unpack("\1\6\u0086\uffff\1\5") ] - # class definition for DFA #206 + # class definition for DFA #214 - class DFA206(DFA): + class DFA214(DFA): pass - # lookup tables for DFA #269 + # lookup tables for DFA #277 - DFA269_eot = DFA.unpack( + DFA277_eot = DFA.unpack( "\113\uffff" ) - DFA269_eof = DFA.unpack( + DFA277_eof = DFA.unpack( "\1\1\112\uffff" ) - DFA269_min = DFA.unpack( + DFA277_min = DFA.unpack( "\1\12\64\uffff\1\0\15\uffff\1\0\4\uffff\1\0\2\uffff" ) - DFA269_max = DFA.unpack( - "\1\u00fd\64\uffff\1\0\15\uffff\1\0\4\uffff\1\0\2\uffff" + DFA277_max = DFA.unpack( + "\1\u00ff\64\uffff\1\0\15\uffff\1\0\4\uffff\1\0\2\uffff" ) - DFA269_accept = DFA.unpack( + DFA277_accept = DFA.unpack( "\1\uffff\1\3\107\uffff\1\1\1\2" ) - DFA269_special = DFA.unpack( + DFA277_special = DFA.unpack( "\65\uffff\1\0\15\uffff\1\1\4\uffff\1\2\2\uffff" ) - DFA269_transition = [ + DFA277_transition = [ DFA.unpack("\1\1\1\uffff\1\1\2\uffff\1\1\4\uffff\2\1\3\uffff\1\1" "\1\uffff\1\1\4\uffff\2\1\3\uffff\2\1\2\uffff\1\1\1\uffff\1\1\1\uffff" "\1\1\2\uffff\1\1\1\110\1\uffff\1\1\2\uffff\2\1\1\uffff\3\1\1\uffff" @@ -41571,7 +42067,7 @@ class DFA206(DFA): "\2\uffff\1\1\4\uffff\1\1\3\uffff\1\1\1\uffff\1\1\2\uffff\1\1\7\uffff" "\1\1\4\uffff\1\1\2\uffff\1\1\1\uffff\1\65\4\uffff\1\1\4\uffff\1" "\1\2\uffff\1\1\6\uffff\1\1\1\uffff\1\1\11\uffff\1\1\7\uffff\2\1" - "\5\uffff\1\1\2\uffff\1\1\3\uffff\2\1\1\uffff\1\1\1\uffff\1\1\2\uffff" + "\5\uffff\1\1\3\uffff\1\1\4\uffff\2\1\1\uffff\1\1\1\uffff\1\1\2\uffff" "\2\1\3\uffff\2\1\4\uffff\1\1\2\uffff\1\1\7\uffff\1\1\1\uffff\1\1" "\5\uffff\1\1\5\uffff\1\1\3\uffff\1\1\13\uffff\1\1\2\uffff\1\103" "\4\uffff\3\1"), @@ -41651,9 +42147,9 @@ class DFA206(DFA): DFA.unpack("") ] - # class definition for DFA #269 + # class definition for DFA #277 - class DFA269(DFA): + class DFA277(DFA): pass @@ -41668,59 +42164,59 @@ def specialStateTransition(self_, s, input): _s = s if s == 0: - LA269_53 = input.LA(1) + LA277_53 = input.LA(1) - index269_53 = input.index() + index277_53 = input.index() input.rewind() s = -1 - if (self.synpred332_sdl92()): + if (self.synpred340_sdl92()): s = 73 elif (True): s = 1 - input.seek(index269_53) + input.seek(index277_53) if s >= 0: return s elif s == 1: - LA269_67 = input.LA(1) + LA277_67 = input.LA(1) - index269_67 = input.index() + index277_67 = input.index() input.rewind() s = -1 - if (self.synpred334_sdl92()): + if (self.synpred342_sdl92()): s = 74 elif (True): s = 1 - input.seek(index269_67) + input.seek(index277_67) if s >= 0: return s elif s == 2: - LA269_72 = input.LA(1) + LA277_72 = input.LA(1) - index269_72 = input.index() + index277_72 = input.index() input.rewind() s = -1 - if (self.synpred334_sdl92()): + if (self.synpred342_sdl92()): s = 74 elif (True): s = 1 - input.seek(index269_72) + input.seek(index277_72) if s >= 0: return s @@ -41728,1060 +42224,1082 @@ def specialStateTransition(self_, s, input): if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException(self_.getDescription(), 269, _s, input) + nvae = NoViableAltException(self_.getDescription(), 277, _s, input) self_.error(nvae) raise nvae - FOLLOW_use_clause_in_pr_file1591 = frozenset([1, 169, 213, 231, 252]) - FOLLOW_system_definition_in_pr_file1611 = frozenset([1, 169, 213, 231, 252]) - FOLLOW_process_definition_in_pr_file1631 = frozenset([1, 169, 213, 231, 252]) - FOLLOW_SYSTEM_in_system_definition1665 = frozenset([102]) - FOLLOW_system_name_in_system_definition1667 = frozenset([33, 188, 252]) - FOLLOW_end_in_system_definition1669 = frozenset([25, 28, 66, 76, 166, 191, 252]) - FOLLOW_entity_in_system_in_system_definition1687 = frozenset([25, 28, 66, 76, 166, 191, 252]) - FOLLOW_ENDSYSTEM_in_system_definition1706 = frozenset([33, 102, 188, 252]) - FOLLOW_system_name_in_system_definition1708 = frozenset([33, 188, 252]) - FOLLOW_end_in_system_definition1711 = frozenset([1]) - FOLLOW_use_asn1_in_use_clause1767 = frozenset([231]) - FOLLOW_USE_in_use_clause1786 = frozenset([102]) - FOLLOW_package_name_in_use_clause1788 = frozenset([33, 48, 188, 252]) - FOLLOW_DIV_in_use_clause1807 = frozenset([102]) - FOLLOW_def_selection_list_in_use_clause1809 = frozenset([33, 188, 252]) - FOLLOW_end_in_use_clause1830 = frozenset([1]) - FOLLOW_ID_in_def_selection_list1894 = frozenset([1, 32]) - FOLLOW_COMMA_in_def_selection_list1897 = frozenset([102]) - FOLLOW_ID_in_def_selection_list1900 = frozenset([1, 32]) - FOLLOW_signal_declaration_in_entity_in_system1936 = frozenset([1]) - FOLLOW_text_area_in_entity_in_system1956 = frozenset([1]) - FOLLOW_procedure_in_entity_in_system1976 = frozenset([1]) - FOLLOW_channel_in_entity_in_system1996 = frozenset([1]) - FOLLOW_block_definition_in_entity_in_system2016 = frozenset([1]) - FOLLOW_paramnames_in_signal_declaration2049 = frozenset([191]) - FOLLOW_SIGNAL_in_signal_declaration2068 = frozenset([102]) - FOLLOW_signal_id_in_signal_declaration2070 = frozenset([33, 129, 177, 188, 252]) - FOLLOW_input_params_in_signal_declaration2072 = frozenset([33, 177, 188, 252]) - FOLLOW_RENAMES_in_signal_declaration2092 = frozenset([111, 151, 230]) - FOLLOW_input_expression_in_signal_declaration2095 = frozenset([33, 188, 252]) - FOLLOW_output_expression_in_signal_declaration2099 = frozenset([33, 188, 252]) - FOLLOW_end_in_signal_declaration2121 = frozenset([1]) - FOLLOW_CHANNEL_in_channel2190 = frozenset([102]) - FOLLOW_channel_id_in_channel2192 = frozenset([92]) - FOLLOW_route_in_channel2210 = frozenset([56, 92]) - FOLLOW_ENDCHANNEL_in_channel2229 = frozenset([33, 188, 252]) - FOLLOW_end_in_channel2231 = frozenset([1]) - FOLLOW_FROM_in_route2287 = frozenset([102]) - FOLLOW_source_id_in_route2289 = frozenset([224]) - FOLLOW_TO_in_route2291 = frozenset([102]) - FOLLOW_dest_id_in_route2293 = frozenset([240]) - FOLLOW_WITH_in_route2295 = frozenset([102]) - FOLLOW_signal_id_in_route2297 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_route2300 = frozenset([102]) - FOLLOW_signal_id_in_route2302 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_route2306 = frozenset([1]) - FOLLOW_BLOCK_in_block_definition2364 = frozenset([102]) - FOLLOW_block_id_in_block_definition2366 = frozenset([33, 188, 252]) - FOLLOW_end_in_block_definition2368 = frozenset([25, 37, 55, 169, 191, 192, 252]) - FOLLOW_entity_in_block_in_block_definition2386 = frozenset([25, 37, 55, 169, 191, 192, 252]) - FOLLOW_ENDBLOCK_in_block_definition2405 = frozenset([33, 188, 252]) - FOLLOW_end_in_block_definition2407 = frozenset([1]) - FOLLOW_signal_declaration_in_entity_in_block2465 = frozenset([1]) - FOLLOW_signalroute_in_entity_in_block2485 = frozenset([1]) - FOLLOW_connection_in_entity_in_block2505 = frozenset([1]) - FOLLOW_block_definition_in_entity_in_block2525 = frozenset([1]) - FOLLOW_process_definition_in_entity_in_block2545 = frozenset([1]) - FOLLOW_SIGNALROUTE_in_signalroute2579 = frozenset([102]) - FOLLOW_route_id_in_signalroute2581 = frozenset([1, 33, 92, 188, 252]) - FOLLOW_end_in_signalroute2583 = frozenset([1, 92]) - FOLLOW_route_in_signalroute2602 = frozenset([1, 92]) - FOLLOW_CONNECT_in_connection2659 = frozenset([102]) - FOLLOW_channel_id_in_connection2661 = frozenset([12]) - FOLLOW_AND_in_connection2663 = frozenset([102]) - FOLLOW_route_id_in_connection2665 = frozenset([33, 188, 252]) - FOLLOW_end_in_connection2667 = frozenset([1]) - FOLLOW_cif_in_process_definition2724 = frozenset([169, 252]) - FOLLOW_symbolid_in_process_definition2743 = frozenset([169]) - FOLLOW_PROCESS_in_process_definition2762 = frozenset([102, 227]) - FOLLOW_TYPE_in_process_definition2766 = frozenset([102]) - FOLLOW_process_id_in_process_definition2769 = frozenset([33, 129, 175, 188, 252, 253]) - FOLLOW_number_of_instances_in_process_definition2787 = frozenset([33, 175, 188, 252, 253]) - FOLLOW_253_in_process_definition2791 = frozenset([102]) - FOLLOW_type_inst_in_process_definition2793 = frozenset([33, 175, 188, 252]) - FOLLOW_REFERENCED_in_process_definition2797 = frozenset([33, 188, 252]) - FOLLOW_end_in_process_definition2802 = frozenset([33, 38, 62, 76, 91, 102, 166, 188, 196, 197, 227, 252]) - FOLLOW_pfpar_in_process_definition2820 = frozenset([33, 38, 62, 76, 102, 166, 188, 196, 197, 227, 252]) - FOLLOW_text_area_in_process_definition2840 = frozenset([33, 38, 62, 76, 102, 166, 188, 196, 197, 227, 252]) - FOLLOW_procedure_in_process_definition2844 = frozenset([33, 38, 62, 76, 102, 166, 188, 196, 197, 227, 252]) - FOLLOW_composite_state_in_process_definition2853 = frozenset([33, 38, 62, 76, 102, 166, 188, 196, 197, 227, 252]) - FOLLOW_processBody_in_process_definition2873 = frozenset([1, 33, 62, 102, 188, 227, 252]) - FOLLOW_ENDPROCESS_in_process_definition2876 = frozenset([1, 33, 102, 188, 227, 252]) - FOLLOW_TYPE_in_process_definition2879 = frozenset([1, 33, 102, 188, 252]) - FOLLOW_process_id_in_process_definition2882 = frozenset([1, 33, 188, 252]) - FOLLOW_end_in_process_definition2901 = frozenset([1]) - FOLLOW_FPAR_in_pfpar3026 = frozenset([102]) - FOLLOW_parameters_of_sort_in_pfpar3028 = frozenset([1, 32, 33, 188, 252]) - FOLLOW_COMMA_in_pfpar3047 = frozenset([102]) - FOLLOW_parameters_of_sort_in_pfpar3049 = frozenset([1, 32, 33, 188, 252]) - FOLLOW_end_in_pfpar3069 = frozenset([1]) - FOLLOW_variable_id_in_parameters_of_sort3124 = frozenset([32, 102]) - FOLLOW_COMMA_in_parameters_of_sort3127 = frozenset([102]) - FOLLOW_variable_id_in_parameters_of_sort3129 = frozenset([32, 102]) - FOLLOW_sort_in_parameters_of_sort3133 = frozenset([1]) - FOLLOW_cif_in_procedure3192 = frozenset([76, 166, 252]) - FOLLOW_symbolid_in_procedure3211 = frozenset([76, 166, 252]) - FOLLOW_partition_in_procedure3230 = frozenset([76, 166]) - FOLLOW_EXPORTED_in_procedure3249 = frozenset([166]) - FOLLOW_PROCEDURE_in_procedure3252 = frozenset([102]) - FOLLOW_procedure_id_in_procedure3254 = frozenset([33, 188, 252]) - FOLLOW_end_in_procedure3259 = frozenset([38, 61, 76, 78, 91, 166, 175, 180, 196, 197, 250, 252]) - FOLLOW_SEMI_in_procedure3263 = frozenset([38, 61, 76, 78, 91, 166, 175, 180, 196, 197, 250, 252]) - FOLLOW_fpar_in_procedure3282 = frozenset([38, 61, 76, 78, 166, 175, 180, 196, 197, 250, 252]) - FOLLOW_procedure_result_in_procedure3303 = frozenset([38, 61, 76, 78, 166, 175, 196, 197, 252]) - FOLLOW_text_area_in_procedure3323 = frozenset([38, 61, 76, 78, 166, 175, 196, 197, 252]) - FOLLOW_procedure_in_procedure3327 = frozenset([38, 61, 76, 78, 166, 175, 196, 197, 252]) - FOLLOW_processBody_in_procedure3349 = frozenset([61]) - FOLLOW_ENDPROCEDURE_in_procedure3352 = frozenset([33, 102, 188, 252]) - FOLLOW_procedure_id_in_procedure3354 = frozenset([33, 188, 252]) - FOLLOW_EXTERNAL_in_procedure3377 = frozenset([33, 188, 252]) - FOLLOW_REFERENCED_in_procedure3381 = frozenset([33, 188, 252]) - FOLLOW_end_in_procedure3402 = frozenset([1]) - FOLLOW_250_in_procedure_result3514 = frozenset([102]) - FOLLOW_RETURNS_in_procedure_result3518 = frozenset([102]) - FOLLOW_variable_id_in_procedure_result3537 = frozenset([102]) - FOLLOW_sort_in_procedure_result3556 = frozenset([1, 33, 188, 252]) - FOLLOW_end_in_procedure_result3558 = frozenset([1]) - FOLLOW_FPAR_in_fpar3615 = frozenset([102, 108, 110, 150]) - FOLLOW_formal_variable_param_in_fpar3617 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_fpar3636 = frozenset([102, 108, 110, 150]) - FOLLOW_formal_variable_param_in_fpar3638 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_fpar3658 = frozenset([1]) - FOLLOW_INOUT_in_formal_variable_param3713 = frozenset([102]) - FOLLOW_IN_in_formal_variable_param3717 = frozenset([102]) - FOLLOW_OUT_in_formal_variable_param3721 = frozenset([102]) - FOLLOW_variable_id_in_formal_variable_param3741 = frozenset([32, 102]) - FOLLOW_COMMA_in_formal_variable_param3744 = frozenset([102]) - FOLLOW_variable_id_in_formal_variable_param3746 = frozenset([32, 102]) - FOLLOW_sort_in_formal_variable_param3750 = frozenset([1]) - FOLLOW_partition_in_text_area3816 = frozenset([252]) - FOLLOW_cif_in_text_area3835 = frozenset([44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_symbolid_in_text_area3853 = frozenset([44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_content_in_text_area3872 = frozenset([252]) - FOLLOW_cif_end_text_in_text_area3891 = frozenset([1]) - FOLLOW_procedure_in_content3960 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_use_clause_in_content3981 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_signal_declaration_in_content4002 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_fpar_in_content4023 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_procedure_result_in_content4046 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_timer_declaration_in_content4067 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_syntype_definition_in_content4088 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_newtype_definition_in_content4109 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_variable_definition_in_content4130 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_monitor_definition_in_content4151 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_observer_special_states_declaration_in_content4172 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_synonym_definition_in_content4193 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 180, 191, 208, 210, 212, 223, 231, 250, 252]) - FOLLOW_ERRORSTATES_in_observer_special_states_declaration4345 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4352 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_observer_special_states_declaration4355 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4357 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_observer_special_states_declaration4361 = frozenset([1]) - FOLLOW_IGNORESTATES_in_observer_special_states_declaration4403 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4407 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_observer_special_states_declaration4410 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4412 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_observer_special_states_declaration4416 = frozenset([1]) - FOLLOW_SUCCESSSTATES_in_observer_special_states_declaration4458 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4461 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_observer_special_states_declaration4464 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4466 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_observer_special_states_declaration4470 = frozenset([1]) - FOLLOW_TIMER_in_timer_declaration4524 = frozenset([102]) - FOLLOW_timer_id_in_timer_declaration4526 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_timer_declaration4545 = frozenset([102]) - FOLLOW_timer_id_in_timer_declaration4547 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_timer_declaration4567 = frozenset([1]) - FOLLOW_SYNTYPE_in_syntype_definition4621 = frozenset([102]) - FOLLOW_syntype_name_in_syntype_definition4623 = frozenset([69]) - FOLLOW_EQ_in_syntype_definition4625 = frozenset([102]) - FOLLOW_parent_sort_in_syntype_definition4627 = frozenset([40, 65]) - FOLLOW_CONSTANTS_in_syntype_definition4646 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_range_condition_in_syntype_definition4649 = frozenset([32, 65]) - FOLLOW_COMMA_in_syntype_definition4652 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_range_condition_in_syntype_definition4654 = frozenset([32, 65]) - FOLLOW_ENDSYNTYPE_in_syntype_definition4678 = frozenset([33, 102, 188, 252]) - FOLLOW_syntype_name_in_syntype_definition4680 = frozenset([33, 188, 252]) - FOLLOW_end_in_syntype_definition4683 = frozenset([1]) - FOLLOW_sort_in_syntype_name4741 = frozenset([1]) - FOLLOW_sort_in_parent_sort4773 = frozenset([1]) - FOLLOW_NEWTYPE_in_newtype_definition4805 = frozenset([102]) - FOLLOW_type_name_in_newtype_definition4807 = frozenset([16, 60, 126, 206]) - FOLLOW_array_definition_in_newtype_definition4826 = frozenset([60]) - FOLLOW_structure_definition_in_newtype_definition4828 = frozenset([60]) - FOLLOW_enum_definition_in_newtype_definition4830 = frozenset([60]) - FOLLOW_ENDNEWTYPE_in_newtype_definition4850 = frozenset([33, 102, 188, 252]) - FOLLOW_type_name_in_newtype_definition4852 = frozenset([33, 188, 252]) - FOLLOW_end_in_newtype_definition4855 = frozenset([1]) - FOLLOW_sort_in_type_name4917 = frozenset([1]) - FOLLOW_ARRAY_in_array_definition4949 = frozenset([129]) - FOLLOW_L_PAREN_in_array_definition4951 = frozenset([102]) - FOLLOW_sort_in_array_definition4953 = frozenset([32]) - FOLLOW_COMMA_in_array_definition4955 = frozenset([102]) - FOLLOW_sort_in_array_definition4957 = frozenset([184]) - FOLLOW_R_PAREN_in_array_definition4959 = frozenset([1]) - FOLLOW_LITERALS_in_enum_definition5016 = frozenset([102]) - FOLLOW_enumerant_in_enum_definition5019 = frozenset([1, 32]) - FOLLOW_COMMA_in_enum_definition5022 = frozenset([102]) - FOLLOW_enumerant_in_enum_definition5024 = frozenset([1, 32]) - FOLLOW_STRUCT_in_structure_definition5082 = frozenset([102, 197]) - FOLLOW_field_list_in_structure_definition5084 = frozenset([33, 188, 252]) - FOLLOW_end_in_structure_definition5086 = frozenset([1]) - FOLLOW_field_definition_in_field_list5139 = frozenset([1, 33, 188, 252]) - FOLLOW_end_in_field_list5142 = frozenset([102, 197]) - FOLLOW_field_definition_in_field_list5144 = frozenset([1, 33, 188, 252]) - FOLLOW_field_name_in_field_definition5200 = frozenset([32, 102]) - FOLLOW_COMMA_in_field_definition5203 = frozenset([102, 197]) - FOLLOW_field_name_in_field_definition5205 = frozenset([32, 102]) - FOLLOW_sort_in_field_definition5209 = frozenset([1]) - FOLLOW_DCL_in_variable_definition5267 = frozenset([102]) - FOLLOW_variables_of_sort_in_variable_definition5269 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_variable_definition5288 = frozenset([102]) - FOLLOW_variables_of_sort_in_variable_definition5290 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_variable_definition5310 = frozenset([1]) - FOLLOW_MONITOR_in_monitor_definition5365 = frozenset([102]) - FOLLOW_variables_of_sort_in_monitor_definition5367 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_monitor_definition5386 = frozenset([102]) - FOLLOW_variables_of_sort_in_monitor_definition5388 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_monitor_definition5408 = frozenset([1]) - FOLLOW_internal_synonym_definition_in_synonym_definition5463 = frozenset([1]) - FOLLOW_SYNONYM_in_internal_synonym_definition5495 = frozenset([102]) - FOLLOW_synonym_definition_item_in_internal_synonym_definition5497 = frozenset([32, 33, 188, 252]) - FOLLOW_COMMA_in_internal_synonym_definition5500 = frozenset([102]) - FOLLOW_synonym_definition_item_in_internal_synonym_definition5502 = frozenset([32, 33, 188, 252]) - FOLLOW_end_in_internal_synonym_definition5522 = frozenset([1]) - FOLLOW_variable_id_in_synonym_definition_item5576 = frozenset([102]) - FOLLOW_sort_in_synonym_definition_item5578 = frozenset([69]) - FOLLOW_EQ_in_synonym_definition_item5580 = frozenset([27, 43, 78, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_ground_expression_in_synonym_definition_item5583 = frozenset([1]) - FOLLOW_EXTERNAL_in_synonym_definition_item5587 = frozenset([1]) - FOLLOW_variable_id_in_variables_of_sort5649 = frozenset([32, 102]) - FOLLOW_COMMA_in_variables_of_sort5652 = frozenset([102]) - FOLLOW_variable_id_in_variables_of_sort5654 = frozenset([32, 102]) - FOLLOW_sort_in_variables_of_sort5658 = frozenset([1, 20, 177]) - FOLLOW_ASSIG_OP_in_variables_of_sort5678 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_ground_expression_in_variables_of_sort5680 = frozenset([1]) - FOLLOW_RENAMES_in_variables_of_sort5686 = frozenset([102]) - FOLLOW_variable_in_variables_of_sort5688 = frozenset([1]) - FOLLOW_expression_in_ground_expression5775 = frozenset([1]) - FOLLOW_L_PAREN_in_number_of_instances5828 = frozenset([115]) - FOLLOW_INT_in_number_of_instances5832 = frozenset([32]) - FOLLOW_COMMA_in_number_of_instances5834 = frozenset([115]) - FOLLOW_INT_in_number_of_instances5838 = frozenset([184]) - FOLLOW_R_PAREN_in_number_of_instances5840 = frozenset([1]) - FOLLOW_start_in_processBody5897 = frozenset([1, 38, 197, 252]) - FOLLOW_state_in_processBody5901 = frozenset([1, 38, 197, 252]) - FOLLOW_floating_label_in_processBody5905 = frozenset([1, 38, 197, 252]) - FOLLOW_cif_in_start5939 = frozenset([196, 252]) - FOLLOW_symbolid_in_start5958 = frozenset([196, 252]) - FOLLOW_hyperlink_in_start5977 = frozenset([196, 252]) - FOLLOW_partition_in_start5996 = frozenset([196, 252]) - FOLLOW_requirement_in_start6015 = frozenset([196, 252]) - FOLLOW_rid_in_start6034 = frozenset([196, 252]) - FOLLOW_START_in_start6053 = frozenset([33, 102, 188, 252]) - FOLLOW_state_entry_point_name_in_start6057 = frozenset([33, 188, 252]) - FOLLOW_end_in_start6060 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_start6078 = frozenset([1]) - FOLLOW_cif_in_floating_label6155 = frozenset([38, 252]) - FOLLOW_symbolid_in_floating_label6174 = frozenset([38, 252]) - FOLLOW_hyperlink_in_floating_label6193 = frozenset([38, 252]) - FOLLOW_partition_in_floating_label6212 = frozenset([38, 252]) - FOLLOW_requirement_in_floating_label6231 = frozenset([38, 252]) - FOLLOW_rid_in_floating_label6250 = frozenset([38, 252]) - FOLLOW_CONNECTION_in_floating_label6269 = frozenset([102]) - FOLLOW_connector_name_in_floating_label6271 = frozenset([253]) - FOLLOW_253_in_floating_label6273 = frozenset([10, 27, 41, 45, 57, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_floating_label6291 = frozenset([57, 252]) - FOLLOW_cif_end_label_in_floating_label6310 = frozenset([57]) - FOLLOW_ENDCONNECTION_in_floating_label6329 = frozenset([188]) - FOLLOW_SEMI_in_floating_label6331 = frozenset([1]) - FOLLOW_state_definition_in_state6399 = frozenset([1]) - FOLLOW_state_instance_in_state6413 = frozenset([1]) - FOLLOW_cif_in_state_definition6445 = frozenset([197, 252]) - FOLLOW_symbolid_in_state_definition6464 = frozenset([197, 252]) - FOLLOW_hyperlink_in_state_definition6483 = frozenset([197, 252]) - FOLLOW_partition_in_state_definition6502 = frozenset([197, 252]) - FOLLOW_requirement_in_state_definition6521 = frozenset([197, 252]) - FOLLOW_rid_in_state_definition6540 = frozenset([197, 252]) - FOLLOW_STATE_in_state_definition6559 = frozenset([21, 102]) - FOLLOW_statelist_in_state_definition6561 = frozenset([33, 188, 236, 252]) - FOLLOW_via_in_state_definition6563 = frozenset([33, 188, 252]) - FOLLOW_end_in_state_definition6569 = frozenset([37, 63, 111, 170, 186, 252]) - FOLLOW_SEMI_in_state_definition6573 = frozenset([37, 63, 111, 170, 186, 252]) - FOLLOW_state_part_in_state_definition6593 = frozenset([37, 63, 111, 170, 186, 252]) - FOLLOW_ENDSTATE_in_state_definition6613 = frozenset([33, 102, 188, 252]) - FOLLOW_statename_in_state_definition6615 = frozenset([33, 188, 252]) - FOLLOW_end_in_state_definition6620 = frozenset([1]) - FOLLOW_cif_in_state_instance6701 = frozenset([197, 252]) - FOLLOW_symbolid_in_state_instance6720 = frozenset([197, 252]) - FOLLOW_hyperlink_in_state_instance6739 = frozenset([197, 252]) - FOLLOW_partition_in_state_instance6758 = frozenset([197, 252]) - FOLLOW_requirement_in_state_instance6777 = frozenset([197, 252]) - FOLLOW_rid_in_state_instance6796 = frozenset([197, 252]) - FOLLOW_STATE_in_state_instance6815 = frozenset([102]) - FOLLOW_statename_in_state_instance6817 = frozenset([253]) - FOLLOW_253_in_state_instance6819 = frozenset([102]) - FOLLOW_type_inst_in_state_instance6821 = frozenset([33, 188, 236, 252]) - FOLLOW_via_in_state_instance6823 = frozenset([33, 188, 252]) - FOLLOW_end_in_state_instance6829 = frozenset([37, 63, 111, 170, 186, 252]) - FOLLOW_SEMI_in_state_instance6833 = frozenset([37, 63, 111, 170, 186, 252]) - FOLLOW_state_part_in_state_instance6853 = frozenset([37, 63, 111, 170, 186, 252]) - FOLLOW_ENDSTATE_in_state_instance6873 = frozenset([33, 102, 188, 252]) - FOLLOW_statename_in_state_instance6875 = frozenset([33, 188, 252]) - FOLLOW_end_in_state_instance6880 = frozenset([1]) - FOLLOW_statename_in_statelist6966 = frozenset([1, 32]) - FOLLOW_COMMA_in_statelist6969 = frozenset([102]) - FOLLOW_statename_in_statelist6971 = frozenset([1, 32]) - FOLLOW_ASTERISK_in_statelist7016 = frozenset([1, 129]) - FOLLOW_exception_state_in_statelist7018 = frozenset([1]) - FOLLOW_L_PAREN_in_exception_state7073 = frozenset([102]) - FOLLOW_statename_in_exception_state7075 = frozenset([32, 184]) - FOLLOW_COMMA_in_exception_state7078 = frozenset([102]) - FOLLOW_statename_in_exception_state7080 = frozenset([32, 184]) - FOLLOW_R_PAREN_in_exception_state7084 = frozenset([1]) - FOLLOW_composite_state_graph_in_composite_state7135 = frozenset([1]) - FOLLOW_state_aggregation_in_composite_state7155 = frozenset([1]) - FOLLOW_STATE_in_composite_state_preamble7187 = frozenset([7, 102]) - FOLLOW_AGGREGATION_in_composite_state_preamble7189 = frozenset([102]) - FOLLOW_statename_in_composite_state_preamble7192 = frozenset([33, 188, 252]) - FOLLOW_end_in_composite_state_preamble7194 = frozenset([207]) - FOLLOW_SUBSTRUCTURE_in_composite_state_preamble7212 = frozenset([1]) - FOLLOW_STATE_in_composite_state_graph7243 = frozenset([102]) - FOLLOW_statename_in_composite_state_graph7245 = frozenset([33, 188, 252]) - FOLLOW_end_in_composite_state_graph7249 = frozenset([207]) - FOLLOW_SUBSTRUCTURE_in_composite_state_graph7267 = frozenset([38, 64, 76, 108, 150, 166, 196, 197, 252]) - FOLLOW_connection_points_in_composite_state_graph7285 = frozenset([38, 64, 76, 108, 150, 166, 196, 197, 252]) - FOLLOW_composite_state_body_in_composite_state_graph7306 = frozenset([64]) - FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph7324 = frozenset([33, 102, 188, 252]) - FOLLOW_statename_in_composite_state_graph7326 = frozenset([33, 188, 252]) - FOLLOW_end_in_composite_state_graph7331 = frozenset([1]) - FOLLOW_STATE_in_state_aggregation7395 = frozenset([7]) - FOLLOW_AGGREGATION_in_state_aggregation7397 = frozenset([102]) - FOLLOW_statename_in_state_aggregation7399 = frozenset([33, 188, 252]) - FOLLOW_end_in_state_aggregation7403 = frozenset([207]) - FOLLOW_SUBSTRUCTURE_in_state_aggregation7421 = frozenset([37, 64, 76, 108, 150, 166, 197, 252]) - FOLLOW_connection_points_in_state_aggregation7439 = frozenset([37, 64, 76, 108, 150, 166, 197, 252]) - FOLLOW_entity_in_composite_state_in_state_aggregation7460 = frozenset([37, 64, 76, 166, 197, 252]) - FOLLOW_state_aggregation_body_in_state_aggregation7481 = frozenset([64]) - FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation7499 = frozenset([33, 102, 188, 252]) - FOLLOW_statename_in_state_aggregation7501 = frozenset([33, 188, 252]) - FOLLOW_end_in_state_aggregation7506 = frozenset([1]) - FOLLOW_text_area_in_entity_in_composite_state7611 = frozenset([1]) - FOLLOW_procedure_in_entity_in_composite_state7615 = frozenset([1]) - FOLLOW_state_partitioning_in_state_aggregation_body7650 = frozenset([1, 37, 197, 252]) - FOLLOW_state_partition_connection_in_state_aggregation_body7654 = frozenset([1, 37, 197, 252]) - FOLLOW_state_in_state_aggregation_body7674 = frozenset([1, 197, 252]) - FOLLOW_composite_state_in_state_partitioning7708 = frozenset([1]) - FOLLOW_CONNECT_in_state_partition_connection7741 = frozenset([102]) - FOLLOW_entry_point_in_state_partition_connection7745 = frozenset([12]) - FOLLOW_AND_in_state_partition_connection7747 = frozenset([102]) - FOLLOW_entry_point_in_state_partition_connection7751 = frozenset([33, 188, 252]) - FOLLOW_end_in_state_partition_connection7753 = frozenset([1]) - FOLLOW_ID_in_entry_point7816 = frozenset([236]) - FOLLOW_VIA_in_entry_point7818 = frozenset([46, 102]) - FOLLOW_point_in_entry_point7820 = frozenset([1]) - FOLLOW_ID_in_point7880 = frozenset([1]) - FOLLOW_DEFAULT_in_point7884 = frozenset([1]) - FOLLOW_IN_in_connection_points7944 = frozenset([129]) - FOLLOW_state_entry_exit_points_in_connection_points7946 = frozenset([33, 188, 252]) - FOLLOW_end_in_connection_points7948 = frozenset([1]) - FOLLOW_OUT_in_connection_points7992 = frozenset([129]) - FOLLOW_state_entry_exit_points_in_connection_points7994 = frozenset([33, 188, 252]) - FOLLOW_end_in_connection_points7996 = frozenset([1]) - FOLLOW_L_PAREN_in_state_entry_exit_points8053 = frozenset([102]) - FOLLOW_statename_in_state_entry_exit_points8055 = frozenset([32, 184]) - FOLLOW_COMMA_in_state_entry_exit_points8058 = frozenset([102]) - FOLLOW_statename_in_state_entry_exit_points8060 = frozenset([32, 184]) - FOLLOW_R_PAREN_in_state_entry_exit_points8064 = frozenset([1]) - FOLLOW_text_area_in_composite_state_body8113 = frozenset([1, 38, 76, 166, 196, 197, 252]) - FOLLOW_procedure_in_composite_state_body8129 = frozenset([1, 38, 76, 166, 196, 197, 252]) - FOLLOW_composite_state_in_composite_state_body8150 = frozenset([1, 38, 76, 166, 196, 197, 252]) - FOLLOW_start_in_composite_state_body8165 = frozenset([1, 38, 196, 197, 252]) - FOLLOW_state_in_composite_state_body8169 = frozenset([1, 38, 197, 252]) - FOLLOW_floating_label_in_composite_state_body8173 = frozenset([1, 38, 197, 252]) - FOLLOW_EOF_in_composite_state_body8188 = frozenset([1]) - FOLLOW_input_part_in_state_part8221 = frozenset([1]) - FOLLOW_save_part_in_state_part8258 = frozenset([1]) - FOLLOW_spontaneous_transition_in_state_part8293 = frozenset([1]) - FOLLOW_continuous_signal_in_state_part8313 = frozenset([1]) - FOLLOW_connect_part_in_state_part8333 = frozenset([1]) - FOLLOW_cif_in_connect_part8366 = frozenset([37, 252]) - FOLLOW_symbolid_in_connect_part8385 = frozenset([37, 252]) - FOLLOW_hyperlink_in_connect_part8404 = frozenset([37, 252]) - FOLLOW_requirement_in_connect_part8423 = frozenset([37, 252]) - FOLLOW_rid_in_connect_part8442 = frozenset([37, 252]) - FOLLOW_CONNECT_in_connect_part8461 = frozenset([21, 33, 102, 188, 252]) - FOLLOW_connect_list_in_connect_part8463 = frozenset([33, 188, 252]) - FOLLOW_end_in_connect_part8466 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_connect_part8484 = frozenset([1]) - FOLLOW_state_exit_point_name_in_connect_list8560 = frozenset([1, 32]) - FOLLOW_COMMA_in_connect_list8563 = frozenset([102]) - FOLLOW_state_exit_point_name_in_connect_list8565 = frozenset([1, 32]) - FOLLOW_ASTERISK_in_connect_list8608 = frozenset([1]) - FOLLOW_cif_in_spontaneous_transition8640 = frozenset([111, 252]) - FOLLOW_symbolid_in_spontaneous_transition8659 = frozenset([111, 252]) - FOLLOW_hyperlink_in_spontaneous_transition8678 = frozenset([111, 252]) - FOLLOW_requirement_in_spontaneous_transition8697 = frozenset([111, 252]) - FOLLOW_rid_in_spontaneous_transition8716 = frozenset([111, 252]) - FOLLOW_INPUT_in_spontaneous_transition8735 = frozenset([143]) - FOLLOW_NONE_in_spontaneous_transition8737 = frozenset([33, 188, 252]) - FOLLOW_end_in_spontaneous_transition8739 = frozenset([10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 170, 179, 202, 205, 215, 252]) - FOLLOW_enabling_condition_in_spontaneous_transition8757 = frozenset([10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_spontaneous_transition8776 = frozenset([1]) - FOLLOW_PROVIDED_in_enabling_condition8844 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_enabling_condition8846 = frozenset([33, 188, 252]) - FOLLOW_end_in_enabling_condition8848 = frozenset([1]) - FOLLOW_cif_in_continuous_signal8901 = frozenset([170, 252]) - FOLLOW_symbolid_in_continuous_signal8920 = frozenset([170, 252]) - FOLLOW_hyperlink_in_continuous_signal8939 = frozenset([170, 252]) - FOLLOW_requirement_in_continuous_signal8958 = frozenset([170, 252]) - FOLLOW_rid_in_continuous_signal8977 = frozenset([170, 252]) - FOLLOW_PROVIDED_in_continuous_signal8996 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_continuous_signal8998 = frozenset([33, 188, 252]) - FOLLOW_end_in_continuous_signal9002 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 165, 179, 202, 205, 215, 252]) - FOLLOW_PRIORITY_in_continuous_signal9021 = frozenset([115]) - FOLLOW_INT_in_continuous_signal9025 = frozenset([33, 188, 252]) - FOLLOW_end_in_continuous_signal9027 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_continuous_signal9047 = frozenset([1]) - FOLLOW_SAVE_in_save_part9127 = frozenset([21, 102]) - FOLLOW_save_list_in_save_part9129 = frozenset([33, 188, 252]) - FOLLOW_end_in_save_part9147 = frozenset([1]) - FOLLOW_signal_list_in_save_list9200 = frozenset([1]) - FOLLOW_asterisk_save_list_in_save_list9220 = frozenset([1]) - FOLLOW_ASTERISK_in_asterisk_save_list9252 = frozenset([1]) - FOLLOW_signal_item_in_signal_list9275 = frozenset([1, 32]) - FOLLOW_COMMA_in_signal_list9278 = frozenset([102]) - FOLLOW_signal_item_in_signal_list9280 = frozenset([1, 32]) - FOLLOW_signal_id_in_signal_item9339 = frozenset([1]) - FOLLOW_cif_in_input_part9368 = frozenset([111, 252]) - FOLLOW_symbolid_in_input_part9387 = frozenset([111, 252]) - FOLLOW_hyperlink_in_input_part9406 = frozenset([111, 252]) - FOLLOW_requirement_in_input_part9425 = frozenset([111, 252]) - FOLLOW_rid_in_input_part9444 = frozenset([111, 252]) - FOLLOW_INPUT_in_input_part9463 = frozenset([21, 102]) - FOLLOW_inputlist_in_input_part9465 = frozenset([33, 188, 252]) - FOLLOW_end_in_input_part9467 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 170, 179, 202, 205, 215, 252]) - FOLLOW_enabling_condition_in_input_part9485 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_input_part9504 = frozenset([1]) - FOLLOW_ASTERISK_in_inputlist9600 = frozenset([1]) - FOLLOW_stimulus_in_inputlist9621 = frozenset([1, 32]) - FOLLOW_COMMA_in_inputlist9624 = frozenset([102]) - FOLLOW_stimulus_in_inputlist9626 = frozenset([1, 32]) - FOLLOW_stimulus_id_in_stimulus9683 = frozenset([1, 129]) - FOLLOW_input_params_in_stimulus9685 = frozenset([1]) - FOLLOW_L_PAREN_in_input_params9718 = frozenset([102]) - FOLLOW_variable_id_in_input_params9720 = frozenset([32, 184]) - FOLLOW_COMMA_in_input_params9723 = frozenset([102]) - FOLLOW_variable_id_in_input_params9725 = frozenset([32, 184]) - FOLLOW_R_PAREN_in_input_params9729 = frozenset([1]) - FOLLOW_action_in_transition9783 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_label_in_transition9786 = frozenset([1, 102, 119, 142, 179, 202, 252]) - FOLLOW_terminator_statement_in_transition9789 = frozenset([1]) - FOLLOW_terminator_statement_in_transition9838 = frozenset([1]) - FOLLOW_label_in_action9891 = frozenset([10, 27, 41, 45, 75, 90, 102, 151, 205, 215, 252]) - FOLLOW_task_in_action9911 = frozenset([1]) - FOLLOW_task_body_in_action9931 = frozenset([1]) - FOLLOW_output_in_action9951 = frozenset([1]) - FOLLOW_create_request_in_action9971 = frozenset([1]) - FOLLOW_decision_in_action9991 = frozenset([1]) - FOLLOW_alternative_in_action10011 = frozenset([1]) - FOLLOW_export_in_action10065 = frozenset([1]) - FOLLOW_procedure_call_in_action10090 = frozenset([1]) - FOLLOW_EXPORT_in_export10123 = frozenset([129]) - FOLLOW_L_PAREN_in_export10141 = frozenset([102]) - FOLLOW_variable_id_in_export10143 = frozenset([32, 184]) - FOLLOW_COMMA_in_export10146 = frozenset([102]) - FOLLOW_variable_id_in_export10148 = frozenset([32, 184]) - FOLLOW_R_PAREN_in_export10152 = frozenset([33, 188, 252]) - FOLLOW_end_in_export10170 = frozenset([1]) - FOLLOW_cif_in_procedure_call10226 = frozenset([27, 252]) - FOLLOW_symbolid_in_procedure_call10245 = frozenset([27, 252]) - FOLLOW_hyperlink_in_procedure_call10264 = frozenset([27, 252]) - FOLLOW_requirement_in_procedure_call10283 = frozenset([27, 252]) - FOLLOW_rid_in_procedure_call10302 = frozenset([27, 252]) - FOLLOW_CALL_in_procedure_call10321 = frozenset([102]) - FOLLOW_procedure_call_body_in_procedure_call10323 = frozenset([33, 188, 252]) - FOLLOW_end_in_procedure_call10325 = frozenset([1]) - FOLLOW_procedure_id_in_procedure_call_body10396 = frozenset([1, 129, 224]) - FOLLOW_actual_parameters_in_procedure_call_body10398 = frozenset([1, 224]) - FOLLOW_to_part_in_procedure_call_body10401 = frozenset([1]) - FOLLOW_cif_in_alternative10467 = frozenset([10, 252]) - FOLLOW_symbolid_in_alternative10486 = frozenset([10, 252]) - FOLLOW_hyperlink_in_alternative10505 = frozenset([10, 252]) - FOLLOW_requirement_in_alternative10524 = frozenset([10, 252]) - FOLLOW_rid_in_alternative10543 = frozenset([10, 252]) - FOLLOW_ALTERNATIVE_in_alternative10562 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_alternative_question_in_alternative10564 = frozenset([33, 188, 252]) - FOLLOW_end_in_alternative10568 = frozenset([51, 54, 129, 252]) - FOLLOW_answer_part_in_alternative10586 = frozenset([51, 54, 129, 252]) - FOLLOW_alternative_part_in_alternative10605 = frozenset([54]) - FOLLOW_ENDALTERNATIVE_in_alternative10624 = frozenset([33, 188, 252]) - FOLLOW_end_in_alternative10628 = frozenset([1]) - FOLLOW_answer_part_in_alternative_part10723 = frozenset([1, 51, 129, 252]) - FOLLOW_else_part_in_alternative_part10726 = frozenset([1]) - FOLLOW_else_part_in_alternative_part10769 = frozenset([1]) - FOLLOW_ground_expression_in_alternative_question10818 = frozenset([1]) - FOLLOW_cif_in_decision10850 = frozenset([45, 252]) - FOLLOW_symbolid_in_decision10869 = frozenset([45, 252]) - FOLLOW_hyperlink_in_decision10888 = frozenset([45, 252]) - FOLLOW_requirement_in_decision10907 = frozenset([45, 252]) - FOLLOW_rid_in_decision10926 = frozenset([45, 252]) - FOLLOW_DECISION_in_decision10945 = frozenset([14, 27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_question_in_decision10947 = frozenset([33, 188, 252]) - FOLLOW_end_in_decision10951 = frozenset([51, 58, 129, 252]) - FOLLOW_answer_part_in_decision10969 = frozenset([51, 58, 129, 252]) - FOLLOW_alternative_part_in_decision10988 = frozenset([58]) - FOLLOW_ENDDECISION_in_decision11007 = frozenset([33, 188, 252]) - FOLLOW_end_in_decision11011 = frozenset([1]) - FOLLOW_cif_in_answer_part11105 = frozenset([129, 252]) - FOLLOW_symbolid_in_answer_part11124 = frozenset([129, 252]) - FOLLOW_hyperlink_in_answer_part11143 = frozenset([129, 252]) - FOLLOW_requirement_in_answer_part11162 = frozenset([129, 252]) - FOLLOW_rid_in_answer_part11181 = frozenset([129, 252]) - FOLLOW_L_PAREN_in_answer_part11200 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_answer_in_answer_part11202 = frozenset([184]) - FOLLOW_R_PAREN_in_answer_part11204 = frozenset([253]) - FOLLOW_253_in_answer_part11206 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_answer_part11208 = frozenset([1]) - FOLLOW_range_condition_in_answer11280 = frozenset([1]) - FOLLOW_informal_text_in_answer11300 = frozenset([1]) - FOLLOW_cif_in_else_part11332 = frozenset([51, 252]) - FOLLOW_symbolid_in_else_part11351 = frozenset([51, 252]) - FOLLOW_hyperlink_in_else_part11370 = frozenset([51, 252]) - FOLLOW_requirement_in_else_part11389 = frozenset([51, 252]) - FOLLOW_rid_in_else_part11408 = frozenset([51, 252]) - FOLLOW_ELSE_in_else_part11427 = frozenset([253]) - FOLLOW_253_in_else_part11429 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_else_part11431 = frozenset([1]) - FOLLOW_informal_text_in_question11501 = frozenset([1]) - FOLLOW_expression_in_question11521 = frozenset([1]) - FOLLOW_ANY_in_question11562 = frozenset([1]) - FOLLOW_closed_range_in_range_condition11614 = frozenset([1, 32]) - FOLLOW_open_range_in_range_condition11618 = frozenset([1, 32]) - FOLLOW_COMMA_in_range_condition11638 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_closed_range_in_range_condition11642 = frozenset([1, 32]) - FOLLOW_open_range_in_range_condition11644 = frozenset([1, 32]) - FOLLOW_expression_in_closed_range11681 = frozenset([253]) - FOLLOW_253_in_closed_range11683 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_closed_range11687 = frozenset([1]) - FOLLOW_constant_in_open_range11744 = frozenset([1]) - FOLLOW_EQ_in_open_range11784 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_NEQ_in_open_range11786 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_GT_in_open_range11788 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_LT_in_open_range11790 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_LE_in_open_range11792 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_GE_in_open_range11794 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_constant_in_open_range11797 = frozenset([1]) - FOLLOW_expression_in_constant11869 = frozenset([1]) - FOLLOW_cif_in_create_request11923 = frozenset([41, 252]) - FOLLOW_symbolid_in_create_request11942 = frozenset([41, 252]) - FOLLOW_hyperlink_in_create_request11961 = frozenset([41, 252]) - FOLLOW_requirement_in_create_request11980 = frozenset([41, 252]) - FOLLOW_rid_in_create_request11999 = frozenset([41, 252]) - FOLLOW_CREATE_in_create_request12018 = frozenset([102, 222]) - FOLLOW_createbody_in_create_request12020 = frozenset([33, 129, 188, 252]) - FOLLOW_actual_parameters_in_create_request12038 = frozenset([33, 188, 252]) - FOLLOW_end_in_create_request12057 = frozenset([1]) - FOLLOW_process_id_in_createbody12131 = frozenset([1]) - FOLLOW_THIS_in_createbody12151 = frozenset([1]) - FOLLOW_cif_in_output12183 = frozenset([151, 252]) - FOLLOW_symbolid_in_output12202 = frozenset([151, 252]) - FOLLOW_hyperlink_in_output12221 = frozenset([151, 252]) - FOLLOW_requirement_in_output12240 = frozenset([151, 252]) - FOLLOW_rid_in_output12259 = frozenset([151, 252]) - FOLLOW_OUTPUT_in_output12278 = frozenset([102]) - FOLLOW_outputbody_in_output12280 = frozenset([33, 188, 252]) - FOLLOW_end_in_output12282 = frozenset([1]) - FOLLOW_outputstmt_in_outputbody12353 = frozenset([1, 32, 224]) - FOLLOW_COMMA_in_outputbody12356 = frozenset([102]) - FOLLOW_outputstmt_in_outputbody12358 = frozenset([1, 32, 224]) - FOLLOW_to_part_in_outputbody12362 = frozenset([1]) - FOLLOW_signal_id_in_outputstmt12424 = frozenset([1, 129]) - FOLLOW_actual_parameters_in_outputstmt12442 = frozenset([1]) - FOLLOW_TO_in_to_part12475 = frozenset([102, 146, 154, 185, 222]) - FOLLOW_destination_in_to_part12477 = frozenset([1]) - FOLLOW_VIA_in_via_part12530 = frozenset([8, 102]) - FOLLOW_viabody_in_via_part12532 = frozenset([1]) - FOLLOW_ALL_in_viabody12586 = frozenset([1]) - FOLLOW_via_path_in_viabody12625 = frozenset([1]) - FOLLOW_pid_expression_in_destination12678 = frozenset([1]) - FOLLOW_process_id_in_destination12698 = frozenset([1]) - FOLLOW_THIS_in_destination12718 = frozenset([1]) - FOLLOW_via_path_element_in_via_path12750 = frozenset([1, 32]) - FOLLOW_COMMA_in_via_path12753 = frozenset([102]) - FOLLOW_via_path_element_in_via_path12755 = frozenset([1, 32]) - FOLLOW_ID_in_via_path_element12807 = frozenset([1]) - FOLLOW_L_PAREN_in_actual_parameters12839 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_actual_parameters12841 = frozenset([32, 184]) - FOLLOW_COMMA_in_actual_parameters12844 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_actual_parameters12846 = frozenset([32, 184]) - FOLLOW_R_PAREN_in_actual_parameters12850 = frozenset([1]) - FOLLOW_cif_in_task12903 = frozenset([215, 252]) - FOLLOW_symbolid_in_task12922 = frozenset([215, 252]) - FOLLOW_hyperlink_in_task12941 = frozenset([215, 252]) - FOLLOW_requirement_in_task12960 = frozenset([215, 252]) - FOLLOW_rid_in_task12979 = frozenset([215, 252]) - FOLLOW_TASK_in_task12998 = frozenset([33, 90, 102, 188, 205, 252]) - FOLLOW_task_body_in_task13000 = frozenset([33, 188, 252]) - FOLLOW_end_in_task13003 = frozenset([1]) - FOLLOW_assignment_statement_in_task_body13076 = frozenset([1, 32]) - FOLLOW_COMMA_in_task_body13079 = frozenset([102]) - FOLLOW_assignment_statement_in_task_body13081 = frozenset([1, 32]) - FOLLOW_informal_text_in_task_body13127 = frozenset([1, 32]) - FOLLOW_COMMA_in_task_body13130 = frozenset([205]) - FOLLOW_informal_text_in_task_body13132 = frozenset([1, 32]) - FOLLOW_forloop_in_task_body13178 = frozenset([1, 32]) - FOLLOW_COMMA_in_task_body13181 = frozenset([90]) - FOLLOW_forloop_in_task_body13183 = frozenset([1, 32]) - FOLLOW_FOR_in_forloop13241 = frozenset([102]) - FOLLOW_variable_id_in_forloop13243 = frozenset([108]) - FOLLOW_IN_in_forloop13245 = frozenset([102, 174]) - FOLLOW_range_in_forloop13248 = frozenset([253]) - FOLLOW_variable_in_forloop13252 = frozenset([253]) - FOLLOW_253_in_forloop13255 = frozenset([10, 27, 41, 45, 59, 75, 90, 102, 119, 142, 151, 179, 202, 205, 215, 252]) - FOLLOW_transition_in_forloop13273 = frozenset([59]) - FOLLOW_ENDFOR_in_forloop13292 = frozenset([1]) - FOLLOW_RANGE_in_range13344 = frozenset([129]) - FOLLOW_L_PAREN_in_range13362 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_ground_expression_in_range13366 = frozenset([32, 184]) - FOLLOW_COMMA_in_range13385 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_ground_expression_in_range13389 = frozenset([32, 184]) - FOLLOW_COMMA_in_range13394 = frozenset([115]) - FOLLOW_INT_in_range13398 = frozenset([184]) - FOLLOW_R_PAREN_in_range13418 = frozenset([1]) - FOLLOW_variable_in_assignment_statement13470 = frozenset([20]) - FOLLOW_ASSIG_OP_in_assignment_statement13472 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_assignment_statement13474 = frozenset([1]) - FOLLOW_postfix_expression_in_variable13521 = frozenset([1]) - FOLLOW_ID_in_variable13539 = frozenset([1]) - FOLLOW_set_in_field_selection13592 = frozenset([102, 197]) - FOLLOW_field_name_in_field_selection13600 = frozenset([1]) - FOLLOW_binary_expression_in_expression13624 = frozenset([1]) - FOLLOW_binary_expression_0_in_binary_expression13647 = frozenset([1, 106]) - FOLLOW_IMPLIES_in_binary_expression13651 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_0_in_binary_expression13654 = frozenset([1, 106]) - FOLLOW_binary_expression_1_in_binary_expression_013677 = frozenset([1, 149, 243]) - FOLLOW_OR_in_binary_expression_013683 = frozenset([27, 43, 51, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_ELSE_in_binary_expression_013686 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_XOR_in_binary_expression_013692 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_1_in_binary_expression_013697 = frozenset([1, 149, 243]) - FOLLOW_binary_expression_2_in_binary_expression_113720 = frozenset([1, 12]) - FOLLOW_AND_in_binary_expression_113724 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 221, 226, 230]) - FOLLOW_THEN_in_binary_expression_113727 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_2_in_binary_expression_113730 = frozenset([1, 12]) - FOLLOW_binary_expression_3_in_binary_expression_213753 = frozenset([1, 69, 94, 97, 108, 124, 127, 139]) - FOLLOW_EQ_in_binary_expression_213758 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_NEQ_in_binary_expression_213763 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_GT_in_binary_expression_213768 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_GE_in_binary_expression_213773 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_LT_in_binary_expression_213778 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_LE_in_binary_expression_213783 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_IN_in_binary_expression_213788 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_3_in_binary_expression_213793 = frozenset([1, 69, 94, 97, 108, 124, 127, 139]) - FOLLOW_binary_expression_4_in_binary_expression_313816 = frozenset([1, 15, 43, 161]) - FOLLOW_PLUS_in_binary_expression_313821 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_DASH_in_binary_expression_313826 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_APPEND_in_binary_expression_313831 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_4_in_binary_expression_313836 = frozenset([1, 15, 43, 161]) - FOLLOW_unary_expression_in_binary_expression_413859 = frozenset([1, 21, 48, 134, 176]) - FOLLOW_ASTERISK_in_binary_expression_413864 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_DIV_in_binary_expression_413869 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_MOD_in_binary_expression_413874 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_REM_in_binary_expression_413879 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_unary_expression_in_binary_expression_413884 = frozenset([1, 21, 48, 134, 176]) - FOLLOW_postfix_expression_in_unary_expression13909 = frozenset([1]) - FOLLOW_primary_expression_in_unary_expression13927 = frozenset([1]) - FOLLOW_NOT_in_unary_expression13945 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_unary_expression_in_unary_expression13948 = frozenset([1]) - FOLLOW_DASH_in_unary_expression13966 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_unary_expression_in_unary_expression13968 = frozenset([1]) - FOLLOW_CALL_in_unary_expression13997 = frozenset([102]) - FOLLOW_procedure_call_body_in_unary_expression13999 = frozenset([1]) - FOLLOW_input_expression_in_unary_expression14025 = frozenset([1]) - FOLLOW_output_expression_in_unary_expression14055 = frozenset([1]) - FOLLOW_ID_in_postfix_expression14099 = frozenset([49, 129, 246]) - FOLLOW_L_PAREN_in_postfix_expression14134 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 184, 197, 205, 226, 230]) - FOLLOW_expression_list_in_postfix_expression14138 = frozenset([184]) - FOLLOW_R_PAREN_in_postfix_expression14141 = frozenset([1, 49, 129, 246]) - FOLLOW_246_in_postfix_expression14197 = frozenset([102, 197]) - FOLLOW_DOT_in_postfix_expression14201 = frozenset([102, 197]) - FOLLOW_field_name_in_postfix_expression14204 = frozenset([1, 49, 129, 246]) - FOLLOW_UNHANDLED_in_input_expression14286 = frozenset([111]) - FOLLOW_INPUT_in_input_expression14289 = frozenset([1]) - FOLLOW_UNHANDLED_in_input_expression14334 = frozenset([111]) - FOLLOW_INPUT_in_input_expression14337 = frozenset([92, 102, 224]) - FOLLOW_ID_in_input_expression14342 = frozenset([92, 129, 224]) - FOLLOW_L_PAREN_in_input_expression14345 = frozenset([102]) - FOLLOW_ID_in_input_expression14349 = frozenset([184]) - FOLLOW_R_PAREN_in_input_expression14351 = frozenset([92, 224]) - FOLLOW_FROM_in_input_expression14359 = frozenset([102]) - FOLLOW_ID_in_input_expression14363 = frozenset([224]) - FOLLOW_TO_in_input_expression14367 = frozenset([102]) - FOLLOW_ID_in_input_expression14371 = frozenset([1]) - FOLLOW_OUTPUT_in_output_expression14455 = frozenset([1]) - FOLLOW_OUTPUT_in_output_expression14497 = frozenset([92, 102]) - FOLLOW_ID_in_output_expression14502 = frozenset([92, 129]) - FOLLOW_L_PAREN_in_output_expression14505 = frozenset([102]) - FOLLOW_ID_in_output_expression14509 = frozenset([184]) - FOLLOW_R_PAREN_in_output_expression14511 = frozenset([92]) - FOLLOW_FROM_in_output_expression14519 = frozenset([102]) - FOLLOW_ID_in_output_expression14523 = frozenset([1, 224]) - FOLLOW_TO_in_output_expression14527 = frozenset([102]) - FOLLOW_ID_in_output_expression14531 = frozenset([1]) - FOLLOW_primary_in_primary_expression14613 = frozenset([1]) - FOLLOW_L_PAREN_in_primary_expression14661 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_primary_expression14663 = frozenset([184]) - FOLLOW_R_PAREN_in_primary_expression14665 = frozenset([1]) - FOLLOW_conditional_expression_in_primary_expression14702 = frozenset([1]) - FOLLOW_TRUE_in_primary14737 = frozenset([1]) - FOLLOW_FALSE_in_primary14756 = frozenset([1]) - FOLLOW_STRING_in_primary14775 = frozenset([1]) - FOLLOW_PLUS_INFINITY_in_primary14793 = frozenset([1]) - FOLLOW_MINUS_INFINITY_in_primary14812 = frozenset([1]) - FOLLOW_INT_in_primary14831 = frozenset([1]) - FOLLOW_FLOAT_in_primary14850 = frozenset([1]) - FOLLOW_ID_in_primary14869 = frozenset([253]) - FOLLOW_253_in_primary14871 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_primary14873 = frozenset([1]) - FOLLOW_ID_in_primary14911 = frozenset([1]) - FOLLOW_L_BRACKET_in_primary14962 = frozenset([183]) - FOLLOW_R_BRACKET_in_primary14964 = frozenset([1]) - FOLLOW_L_BRACKET_in_primary15008 = frozenset([131]) - FOLLOW_MANTISSA_in_primary15026 = frozenset([115]) - FOLLOW_INT_in_primary15030 = frozenset([32]) - FOLLOW_COMMA_in_primary15032 = frozenset([23]) - FOLLOW_BASE_in_primary15050 = frozenset([115]) - FOLLOW_INT_in_primary15054 = frozenset([32]) - FOLLOW_COMMA_in_primary15056 = frozenset([74]) - FOLLOW_EXPONENT_in_primary15074 = frozenset([115]) - FOLLOW_INT_in_primary15078 = frozenset([183]) - FOLLOW_R_BRACKET_in_primary15096 = frozenset([1]) - FOLLOW_L_BRACKET_in_primary15153 = frozenset([102]) - FOLLOW_named_value_in_primary15171 = frozenset([32, 183]) - FOLLOW_COMMA_in_primary15174 = frozenset([102]) - FOLLOW_named_value_in_primary15176 = frozenset([32, 183]) - FOLLOW_R_BRACKET_in_primary15196 = frozenset([1]) - FOLLOW_L_BRACKET_in_primary15247 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_primary15265 = frozenset([32, 183]) - FOLLOW_COMMA_in_primary15268 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_primary15270 = frozenset([32, 183]) - FOLLOW_R_BRACKET_in_primary15290 = frozenset([1]) - FOLLOW_MKSTRING_in_primary15341 = frozenset([129]) - FOLLOW_L_PAREN_in_primary15343 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_primary15345 = frozenset([32, 184]) - FOLLOW_COMMA_in_primary15348 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_primary15350 = frozenset([32, 184]) - FOLLOW_R_PAREN_in_primary15354 = frozenset([1]) - FOLLOW_STATE_in_primary15425 = frozenset([1]) - FOLLOW_STRING_in_informal_text15459 = frozenset([1]) - FOLLOW_ID_in_named_value15514 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_named_value15516 = frozenset([1]) - FOLLOW_primary_in_indexed_primary15554 = frozenset([129]) - FOLLOW_L_PAREN_in_indexed_primary15556 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_list_in_indexed_primary15558 = frozenset([184]) - FOLLOW_R_PAREN_in_indexed_primary15560 = frozenset([1]) - FOLLOW_primary_in_field_primary15592 = frozenset([49, 246]) - FOLLOW_field_selection_in_field_primary15594 = frozenset([1]) - FOLLOW_247_in_structure_primary15626 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_list_in_structure_primary15628 = frozenset([251]) - FOLLOW_251_in_structure_primary15630 = frozenset([1]) - FOLLOW_sort_id_in_sort15661 = frozenset([1]) - FOLLOW_type_id_in_type_inst15714 = frozenset([1]) - FOLLOW_syntype_id_in_syntype15759 = frozenset([1]) - FOLLOW_variable_id_in_variable_access15793 = frozenset([1]) - FOLLOW_external_synonym_id_in_external_synonym15829 = frozenset([1]) - FOLLOW_IF_in_conditional_expression15861 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_conditional_expression15865 = frozenset([221]) - FOLLOW_THEN_in_conditional_expression15883 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_conditional_expression15887 = frozenset([51]) - FOLLOW_ELSE_in_conditional_expression15905 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_conditional_expression15909 = frozenset([82]) - FOLLOW_FI_in_conditional_expression15911 = frozenset([1]) - FOLLOW_expression_in_expression_list15971 = frozenset([1, 32]) - FOLLOW_COMMA_in_expression_list15974 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_expression_list15976 = frozenset([1, 32]) - FOLLOW_label_in_terminator_statement16028 = frozenset([119, 142, 179, 202, 252]) - FOLLOW_cif_in_terminator_statement16047 = frozenset([119, 142, 179, 202, 252]) - FOLLOW_symbolid_in_terminator_statement16066 = frozenset([119, 142, 179, 202, 252]) - FOLLOW_hyperlink_in_terminator_statement16085 = frozenset([119, 142, 179, 202, 252]) - FOLLOW_requirement_in_terminator_statement16104 = frozenset([119, 142, 179, 202, 252]) - FOLLOW_rid_in_terminator_statement16123 = frozenset([119, 142, 179, 202, 252]) - FOLLOW_terminator_in_terminator_statement16142 = frozenset([33, 188, 252]) - FOLLOW_end_in_terminator_statement16160 = frozenset([1]) - FOLLOW_cif_in_label16233 = frozenset([102, 252]) - FOLLOW_symbolid_in_label16236 = frozenset([102]) - FOLLOW_connector_name_in_label16239 = frozenset([253]) - FOLLOW_253_in_label16241 = frozenset([1]) - FOLLOW_nextstate_in_terminator16300 = frozenset([1]) - FOLLOW_join_in_terminator16304 = frozenset([1]) - FOLLOW_stop_in_terminator16308 = frozenset([1]) - FOLLOW_return_stmt_in_terminator16312 = frozenset([1]) - FOLLOW_JOIN_in_join16345 = frozenset([102]) - FOLLOW_connector_name_in_join16347 = frozenset([1]) - FOLLOW_STOP_in_stop16396 = frozenset([1]) - FOLLOW_RETURN_in_return_stmt16428 = frozenset([1, 27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_return_stmt16430 = frozenset([1]) - FOLLOW_NEXTSTATE_in_nextstate16485 = frozenset([43, 102, 249]) - FOLLOW_nextstatebody_in_nextstate16487 = frozenset([1]) - FOLLOW_statename_in_nextstatebody16540 = frozenset([1, 236, 253]) - FOLLOW_253_in_nextstatebody16543 = frozenset([102]) - FOLLOW_type_inst_in_nextstatebody16546 = frozenset([1, 236]) - FOLLOW_via_in_nextstatebody16550 = frozenset([1]) - FOLLOW_dash_nextstate_in_nextstatebody16571 = frozenset([1]) - FOLLOW_history_nextstate_in_nextstatebody16591 = frozenset([1]) - FOLLOW_VIA_in_via16619 = frozenset([102]) - FOLLOW_state_entry_point_name_in_via16621 = frozenset([1]) - FOLLOW_cif_in_end16671 = frozenset([33, 252]) - FOLLOW_symbolid_in_end16674 = frozenset([33, 252]) - FOLLOW_hyperlink_in_end16677 = frozenset([33]) - FOLLOW_COMMENT_in_end16680 = frozenset([205]) - FOLLOW_STRING_in_end16682 = frozenset([188]) - FOLLOW_SEMI_in_end16686 = frozenset([1, 188]) - FOLLOW_cif_decl_in_cif16746 = frozenset([10, 13, 33, 37, 41, 45, 111, 119, 123, 142, 151, 166, 167, 169, 170, 179, 196, 197, 202, 215, 218]) - FOLLOW_symbolname_in_cif16748 = frozenset([129]) - FOLLOW_L_PAREN_in_cif16766 = frozenset([43, 115]) - FOLLOW_signed_in_cif16770 = frozenset([32]) - FOLLOW_COMMA_in_cif16772 = frozenset([43, 115]) - FOLLOW_signed_in_cif16776 = frozenset([184]) - FOLLOW_R_PAREN_in_cif16778 = frozenset([32]) - FOLLOW_COMMA_in_cif16796 = frozenset([129]) - FOLLOW_L_PAREN_in_cif16814 = frozenset([115]) - FOLLOW_INT_in_cif16818 = frozenset([32]) - FOLLOW_COMMA_in_cif16820 = frozenset([115]) - FOLLOW_INT_in_cif16824 = frozenset([184]) - FOLLOW_R_PAREN_in_cif16826 = frozenset([248]) - FOLLOW_cif_end_in_cif16844 = frozenset([1]) - FOLLOW_cif_decl_in_hyperlink16908 = frozenset([121]) - FOLLOW_KEEP_in_hyperlink16910 = frozenset([195]) - FOLLOW_SPECIFIC_in_hyperlink16912 = frozenset([95]) - FOLLOW_GEODE_in_hyperlink16914 = frozenset([100]) - FOLLOW_HYPERLINK_in_hyperlink16916 = frozenset([205]) - FOLLOW_STRING_in_hyperlink16918 = frozenset([248]) - FOLLOW_cif_end_in_hyperlink16936 = frozenset([1]) - FOLLOW_cif_decl_in_requirement16991 = frozenset([121]) - FOLLOW_KEEP_in_requirement16993 = frozenset([195]) - FOLLOW_SPECIFIC_in_requirement16995 = frozenset([95]) - FOLLOW_GEODE_in_requirement16997 = frozenset([178]) - FOLLOW_REQ_ID_in_requirement16999 = frozenset([115]) - FOLLOW_INT_in_requirement17001 = frozenset([248]) - FOLLOW_cif_end_in_requirement17019 = frozenset([1]) - FOLLOW_cif_decl_in_rid17074 = frozenset([121]) - FOLLOW_KEEP_in_rid17076 = frozenset([195]) - FOLLOW_SPECIFIC_in_rid17078 = frozenset([95]) - FOLLOW_GEODE_in_rid17080 = frozenset([181]) - FOLLOW_RID_ID_in_rid17082 = frozenset([115]) - FOLLOW_INT_in_rid17084 = frozenset([248]) - FOLLOW_cif_end_in_rid17102 = frozenset([1]) - FOLLOW_cif_decl_in_partition17155 = frozenset([121]) - FOLLOW_KEEP_in_partition17157 = frozenset([195]) - FOLLOW_SPECIFIC_in_partition17159 = frozenset([95]) - FOLLOW_GEODE_in_partition17161 = frozenset([159]) - FOLLOW_PARTITION_in_partition17163 = frozenset([205]) - FOLLOW_STRING_in_partition17165 = frozenset([248]) - FOLLOW_cif_end_in_partition17183 = frozenset([1]) - FOLLOW_cif_decl_in_symbolid17236 = frozenset([254]) - FOLLOW_254_in_symbolid17238 = frozenset([115]) - FOLLOW_INT_in_symbolid17242 = frozenset([248]) - FOLLOW_cif_end_in_symbolid17244 = frozenset([1]) - FOLLOW_cif_decl_in_paramnames17299 = frozenset([121]) - FOLLOW_KEEP_in_paramnames17301 = frozenset([195]) - FOLLOW_SPECIFIC_in_paramnames17303 = frozenset([95]) - FOLLOW_GEODE_in_paramnames17305 = frozenset([156]) - FOLLOW_PARAMNAMES_in_paramnames17307 = frozenset([102, 197]) - FOLLOW_field_name_in_paramnames17309 = frozenset([102, 197, 248]) - FOLLOW_cif_end_in_paramnames17312 = frozenset([1]) - FOLLOW_cif_decl_in_use_asn117368 = frozenset([121]) - FOLLOW_KEEP_in_use_asn117370 = frozenset([195]) - FOLLOW_SPECIFIC_in_use_asn117372 = frozenset([95]) - FOLLOW_GEODE_in_use_asn117374 = frozenset([18]) - FOLLOW_ASNFILENAME_in_use_asn117376 = frozenset([205]) - FOLLOW_STRING_in_use_asn117378 = frozenset([248]) - FOLLOW_cif_end_in_use_asn117380 = frozenset([1]) - FOLLOW_STOP_in_stop_if17436 = frozenset([103]) - FOLLOW_IF_in_stop_if17438 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_stop_if17440 = frozenset([33, 188, 252]) - FOLLOW_end_in_stop_if17442 = frozenset([1, 202]) - FOLLOW_252_in_cif_decl17930 = frozenset([1]) - FOLLOW_248_in_cif_end17962 = frozenset([1]) - FOLLOW_cif_decl_in_cif_end_text17994 = frozenset([67]) - FOLLOW_ENDTEXT_in_cif_end_text17996 = frozenset([248]) - FOLLOW_cif_end_in_cif_end_text17998 = frozenset([1]) - FOLLOW_cif_decl_in_cif_end_label18049 = frozenset([53]) - FOLLOW_END_in_cif_end_label18051 = frozenset([123]) - FOLLOW_LABEL_in_cif_end_label18053 = frozenset([248]) - FOLLOW_cif_end_in_cif_end_label18055 = frozenset([1]) - FOLLOW_n7s_scl_statement_in_n7s_scl18089 = frozenset([1, 11, 73, 86, 140]) - FOLLOW_n7s_scl_never_in_n7s_scl_statement18145 = frozenset([1]) - FOLLOW_n7s_scl_always_in_n7s_scl_statement18149 = frozenset([1]) - FOLLOW_n7s_scl_eventually_in_n7s_scl_statement18153 = frozenset([1]) - FOLLOW_n7s_scl_filter_out_in_n7s_scl_statement18157 = frozenset([1]) - FOLLOW_NEVER_in_n7s_scl_never18190 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_n7s_scl_never18192 = frozenset([33, 188, 252]) - FOLLOW_end_in_n7s_scl_never18194 = frozenset([1]) - FOLLOW_ALWAYS_in_n7s_scl_always18248 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_n7s_scl_always18250 = frozenset([33, 188, 252]) - FOLLOW_end_in_n7s_scl_always18252 = frozenset([1]) - FOLLOW_EVENTUALLY_in_n7s_scl_eventually18306 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_n7s_scl_eventually18308 = frozenset([33, 188, 252]) - FOLLOW_end_in_n7s_scl_eventually18310 = frozenset([1]) - FOLLOW_FILTER_OUT_in_n7s_scl_filter_out18364 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_n7s_scl_filter_out18366 = frozenset([33, 188, 252]) - FOLLOW_end_in_n7s_scl_filter_out18368 = frozenset([1]) - FOLLOW_249_in_history_nextstate18560 = frozenset([1]) - FOLLOW_DASH_in_dash_nextstate18591 = frozenset([1]) - FOLLOW_ID_in_connector_name18605 = frozenset([1]) - FOLLOW_ID_in_signal_id18624 = frozenset([1]) - FOLLOW_ID_in_statename18643 = frozenset([1]) - FOLLOW_ID_in_state_exit_point_name18672 = frozenset([1]) - FOLLOW_ID_in_state_entry_point_name18701 = frozenset([1]) - FOLLOW_ID_in_variable_id18718 = frozenset([1]) - FOLLOW_ID_in_process_id18758 = frozenset([1]) - FOLLOW_ID_in_system_name18775 = frozenset([1]) - FOLLOW_ID_in_package_name18791 = frozenset([1]) - FOLLOW_ID_in_priority_signal_id18820 = frozenset([1]) - FOLLOW_ID_in_signal_list_id18834 = frozenset([1]) - FOLLOW_ID_in_timer_id18854 = frozenset([1]) - FOLLOW_ID_in_enumerant18895 = frozenset([1]) - FOLLOW_ID_in_signal_route_id18908 = frozenset([1]) - FOLLOW_ID_in_channel_id18926 = frozenset([1]) - FOLLOW_ID_in_route_id18946 = frozenset([1]) - FOLLOW_ID_in_block_id18966 = frozenset([1]) - FOLLOW_ID_in_source_id18985 = frozenset([1]) - FOLLOW_ID_in_dest_id19006 = frozenset([1]) - FOLLOW_ID_in_gate_id19027 = frozenset([1]) - FOLLOW_ID_in_procedure_id19043 = frozenset([1]) - FOLLOW_ID_in_remote_procedure_id19072 = frozenset([1]) - FOLLOW_ID_in_operator_id19089 = frozenset([1]) - FOLLOW_ID_in_synonym_id19107 = frozenset([1]) - FOLLOW_ID_in_external_synonym_id19136 = frozenset([1]) - FOLLOW_ID_in_remote_variable_id19165 = frozenset([1]) - FOLLOW_ID_in_view_id19186 = frozenset([1]) - FOLLOW_ID_in_sort_id19207 = frozenset([1]) - FOLLOW_ID_in_type_id19228 = frozenset([1]) - FOLLOW_ID_in_syntype_id19246 = frozenset([1]) - FOLLOW_ID_in_stimulus_id19263 = frozenset([1]) - FOLLOW_S_in_pid_expression20495 = frozenset([50]) - FOLLOW_E_in_pid_expression20497 = frozenset([122]) - FOLLOW_L_in_pid_expression20499 = frozenset([80]) - FOLLOW_F_in_pid_expression20501 = frozenset([1]) - FOLLOW_P_in_pid_expression20527 = frozenset([4]) - FOLLOW_A_in_pid_expression20529 = frozenset([173]) - FOLLOW_R_in_pid_expression20531 = frozenset([50]) - FOLLOW_E_in_pid_expression20533 = frozenset([136]) - FOLLOW_N_in_pid_expression20535 = frozenset([214]) - FOLLOW_T_in_pid_expression20537 = frozenset([1]) - FOLLOW_O_in_pid_expression20563 = frozenset([80]) - FOLLOW_F_in_pid_expression20565 = frozenset([80]) - FOLLOW_F_in_pid_expression20567 = frozenset([185]) - FOLLOW_S_in_pid_expression20569 = frozenset([154]) - FOLLOW_P_in_pid_expression20571 = frozenset([173]) - FOLLOW_R_in_pid_expression20573 = frozenset([101]) - FOLLOW_I_in_pid_expression20575 = frozenset([136]) - FOLLOW_N_in_pid_expression20577 = frozenset([93]) - FOLLOW_G_in_pid_expression20579 = frozenset([1]) - FOLLOW_S_in_pid_expression20605 = frozenset([50]) - FOLLOW_E_in_pid_expression20607 = frozenset([136]) - FOLLOW_N_in_pid_expression20609 = frozenset([42]) - FOLLOW_D_in_pid_expression20611 = frozenset([50]) - FOLLOW_E_in_pid_expression20613 = frozenset([173]) - FOLLOW_R_in_pid_expression20615 = frozenset([1]) - FOLLOW_N_in_now_expression20629 = frozenset([146]) - FOLLOW_O_in_now_expression20631 = frozenset([239]) - FOLLOW_W_in_now_expression20633 = frozenset([1]) - FOLLOW_DASH_in_signed24062 = frozenset([115]) - FOLLOW_INT_in_signed24065 = frozenset([1]) - FOLLOW_signal_declaration_in_synpred9_sdl921936 = frozenset([1]) - FOLLOW_text_area_in_synpred10_sdl921956 = frozenset([1]) - FOLLOW_procedure_in_synpred11_sdl921976 = frozenset([1]) - FOLLOW_text_area_in_synpred33_sdl922840 = frozenset([1]) - FOLLOW_procedure_in_synpred34_sdl922844 = frozenset([1]) - FOLLOW_composite_state_preamble_in_synpred35_sdl922849 = frozenset([1]) - FOLLOW_processBody_in_synpred36_sdl922873 = frozenset([1]) - FOLLOW_end_in_synpred42_sdl923069 = frozenset([1]) - FOLLOW_end_in_synpred48_sdl923259 = frozenset([1]) - FOLLOW_text_area_in_synpred51_sdl923323 = frozenset([1]) - FOLLOW_procedure_in_synpred52_sdl923327 = frozenset([1]) - FOLLOW_processBody_in_synpred53_sdl923349 = frozenset([1]) - FOLLOW_symbolid_in_synpred66_sdl923853 = frozenset([1]) - FOLLOW_content_in_synpred67_sdl923872 = frozenset([1]) - FOLLOW_end_in_synpred130_sdl926569 = frozenset([1]) - FOLLOW_end_in_synpred140_sdl926829 = frozenset([1]) - FOLLOW_text_area_in_synpred154_sdl927611 = frozenset([1]) - FOLLOW_text_area_in_synpred161_sdl928113 = frozenset([1]) - FOLLOW_procedure_in_synpred162_sdl928129 = frozenset([1]) - FOLLOW_composite_state_preamble_in_synpred163_sdl928146 = frozenset([1]) - FOLLOW_enabling_condition_in_synpred201_sdl929485 = frozenset([1]) - FOLLOW_label_in_synpred208_sdl929786 = frozenset([1]) - FOLLOW_actual_parameters_in_synpred225_sdl9210398 = frozenset([1]) - FOLLOW_answer_part_in_synpred232_sdl9210586 = frozenset([1]) - FOLLOW_answer_part_in_synpred242_sdl9210969 = frozenset([1]) - FOLLOW_range_condition_in_synpred250_sdl9211280 = frozenset([1]) - FOLLOW_informal_text_in_synpred257_sdl9211501 = frozenset([1]) - FOLLOW_expression_in_synpred258_sdl9211521 = frozenset([1]) - FOLLOW_closed_range_in_synpred259_sdl9211614 = frozenset([1]) - FOLLOW_closed_range_in_synpred260_sdl9211642 = frozenset([1]) - FOLLOW_COMMA_in_synpred261_sdl9211638 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_closed_range_in_synpred261_sdl9211642 = frozenset([1]) - FOLLOW_open_range_in_synpred261_sdl9211644 = frozenset([1]) - FOLLOW_COMMA_in_synpred301_sdl9213385 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_ground_expression_in_synpred301_sdl9213389 = frozenset([1]) - FOLLOW_IMPLIES_in_synpred305_sdl9213651 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_0_in_synpred305_sdl9213654 = frozenset([1]) - FOLLOW_OR_in_synpred308_sdl9213683 = frozenset([27, 43, 51, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_ELSE_in_synpred308_sdl9213686 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_XOR_in_synpred308_sdl9213692 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_1_in_synpred308_sdl9213697 = frozenset([1]) - FOLLOW_AND_in_synpred310_sdl9213724 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 221, 226, 230]) - FOLLOW_THEN_in_synpred310_sdl9213727 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_2_in_synpred310_sdl9213730 = frozenset([1]) - FOLLOW_set_in_synpred317_sdl9213756 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_3_in_synpred317_sdl9213793 = frozenset([1]) - FOLLOW_set_in_synpred320_sdl9213819 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_binary_expression_4_in_synpred320_sdl9213836 = frozenset([1]) - FOLLOW_set_in_synpred324_sdl9213862 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_unary_expression_in_synpred324_sdl9213884 = frozenset([1]) - FOLLOW_postfix_expression_in_synpred325_sdl9213909 = frozenset([1]) - FOLLOW_primary_expression_in_synpred326_sdl9213927 = frozenset([1]) - FOLLOW_L_PAREN_in_synpred332_sdl9214134 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 184, 197, 205, 226, 230]) - FOLLOW_expression_list_in_synpred332_sdl9214138 = frozenset([184]) - FOLLOW_R_PAREN_in_synpred332_sdl9214141 = frozenset([1]) - FOLLOW_set_in_synpred334_sdl9214196 = frozenset([102, 197]) - FOLLOW_field_name_in_synpred334_sdl9214204 = frozenset([1]) - FOLLOW_ID_in_synpred354_sdl9214869 = frozenset([253]) - FOLLOW_253_in_synpred354_sdl9214871 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_synpred354_sdl9214873 = frozenset([1]) - FOLLOW_ID_in_synpred355_sdl9214911 = frozenset([1]) - FOLLOW_L_BRACKET_in_synpred356_sdl9214962 = frozenset([183]) - FOLLOW_R_BRACKET_in_synpred356_sdl9214964 = frozenset([1]) - FOLLOW_L_BRACKET_in_synpred357_sdl9215008 = frozenset([131]) - FOLLOW_MANTISSA_in_synpred357_sdl9215026 = frozenset([115]) - FOLLOW_INT_in_synpred357_sdl9215030 = frozenset([32]) - FOLLOW_COMMA_in_synpred357_sdl9215032 = frozenset([23]) - FOLLOW_BASE_in_synpred357_sdl9215050 = frozenset([115]) - FOLLOW_INT_in_synpred357_sdl9215054 = frozenset([32]) - FOLLOW_COMMA_in_synpred357_sdl9215056 = frozenset([74]) - FOLLOW_EXPONENT_in_synpred357_sdl9215074 = frozenset([115]) - FOLLOW_INT_in_synpred357_sdl9215078 = frozenset([183]) - FOLLOW_R_BRACKET_in_synpred357_sdl9215096 = frozenset([1]) - FOLLOW_L_BRACKET_in_synpred359_sdl9215153 = frozenset([102]) - FOLLOW_named_value_in_synpred359_sdl9215171 = frozenset([32, 183]) - FOLLOW_COMMA_in_synpred359_sdl9215174 = frozenset([102]) - FOLLOW_named_value_in_synpred359_sdl9215176 = frozenset([32, 183]) - FOLLOW_R_BRACKET_in_synpred359_sdl9215196 = frozenset([1]) - FOLLOW_L_BRACKET_in_synpred361_sdl9215247 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_synpred361_sdl9215265 = frozenset([32, 183]) - FOLLOW_COMMA_in_synpred361_sdl9215268 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 197, 205, 226, 230]) - FOLLOW_expression_in_synpred361_sdl9215270 = frozenset([32, 183]) - FOLLOW_R_BRACKET_in_synpred361_sdl9215290 = frozenset([1]) - FOLLOW_SEMI_in_synpred385_sdl9216686 = frozenset([1]) + FOLLOW_use_clause_in_pr_file1613 = frozenset([1, 169, 215, 233, 254]) + FOLLOW_system_definition_in_pr_file1633 = frozenset([1, 169, 215, 233, 254]) + FOLLOW_process_definition_in_pr_file1653 = frozenset([1, 169, 215, 233, 254]) + FOLLOW_SYSTEM_in_system_definition1687 = frozenset([102]) + FOLLOW_system_name_in_system_definition1689 = frozenset([33, 190, 254]) + FOLLOW_end_in_system_definition1691 = frozenset([25, 28, 66, 76, 166, 193, 254]) + FOLLOW_entity_in_system_in_system_definition1709 = frozenset([25, 28, 66, 76, 166, 193, 254]) + FOLLOW_ENDSYSTEM_in_system_definition1728 = frozenset([33, 102, 190, 254]) + FOLLOW_system_name_in_system_definition1730 = frozenset([33, 190, 254]) + FOLLOW_end_in_system_definition1733 = frozenset([1]) + FOLLOW_use_asn1_in_use_clause1789 = frozenset([233]) + FOLLOW_USE_in_use_clause1808 = frozenset([102]) + FOLLOW_package_name_in_use_clause1810 = frozenset([33, 48, 190, 254]) + FOLLOW_DIV_in_use_clause1829 = frozenset([102]) + FOLLOW_def_selection_list_in_use_clause1831 = frozenset([33, 190, 254]) + FOLLOW_end_in_use_clause1852 = frozenset([1]) + FOLLOW_ID_in_def_selection_list1916 = frozenset([1, 32]) + FOLLOW_COMMA_in_def_selection_list1919 = frozenset([102]) + FOLLOW_ID_in_def_selection_list1922 = frozenset([1, 32]) + FOLLOW_signal_declaration_in_entity_in_system1958 = frozenset([1]) + FOLLOW_text_area_in_entity_in_system1978 = frozenset([1]) + FOLLOW_procedure_in_entity_in_system1998 = frozenset([1]) + FOLLOW_channel_in_entity_in_system2018 = frozenset([1]) + FOLLOW_block_definition_in_entity_in_system2038 = frozenset([1]) + FOLLOW_paramnames_in_signal_declaration2071 = frozenset([193]) + FOLLOW_SIGNAL_in_signal_declaration2090 = frozenset([102]) + FOLLOW_signal_id_in_signal_declaration2092 = frozenset([33, 129, 177, 190, 254]) + FOLLOW_input_params_in_signal_declaration2094 = frozenset([33, 177, 190, 254]) + FOLLOW_RENAMES_in_signal_declaration2114 = frozenset([111, 151, 232]) + FOLLOW_input_expression_in_signal_declaration2117 = frozenset([33, 190, 254]) + FOLLOW_output_expression_in_signal_declaration2121 = frozenset([33, 190, 254]) + FOLLOW_end_in_signal_declaration2143 = frozenset([1]) + FOLLOW_CHANNEL_in_channel2212 = frozenset([102]) + FOLLOW_channel_id_in_channel2214 = frozenset([92]) + FOLLOW_route_in_channel2232 = frozenset([56, 92]) + FOLLOW_ENDCHANNEL_in_channel2251 = frozenset([33, 190, 254]) + FOLLOW_end_in_channel2253 = frozenset([1]) + FOLLOW_FROM_in_route2309 = frozenset([102]) + FOLLOW_source_id_in_route2311 = frozenset([226]) + FOLLOW_TO_in_route2313 = frozenset([102]) + FOLLOW_dest_id_in_route2315 = frozenset([242]) + FOLLOW_WITH_in_route2317 = frozenset([102]) + FOLLOW_signal_id_in_route2319 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_route2322 = frozenset([102]) + FOLLOW_signal_id_in_route2324 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_route2328 = frozenset([1]) + FOLLOW_BLOCK_in_block_definition2386 = frozenset([102]) + FOLLOW_block_id_in_block_definition2388 = frozenset([33, 190, 254]) + FOLLOW_end_in_block_definition2390 = frozenset([25, 37, 55, 169, 193, 194, 254]) + FOLLOW_entity_in_block_in_block_definition2408 = frozenset([25, 37, 55, 169, 193, 194, 254]) + FOLLOW_ENDBLOCK_in_block_definition2427 = frozenset([33, 190, 254]) + FOLLOW_end_in_block_definition2429 = frozenset([1]) + FOLLOW_signal_declaration_in_entity_in_block2487 = frozenset([1]) + FOLLOW_signalroute_in_entity_in_block2507 = frozenset([1]) + FOLLOW_connection_in_entity_in_block2527 = frozenset([1]) + FOLLOW_block_definition_in_entity_in_block2547 = frozenset([1]) + FOLLOW_process_definition_in_entity_in_block2567 = frozenset([1]) + FOLLOW_SIGNALROUTE_in_signalroute2601 = frozenset([102]) + FOLLOW_route_id_in_signalroute2603 = frozenset([1, 33, 92, 190, 254]) + FOLLOW_end_in_signalroute2605 = frozenset([1, 92]) + FOLLOW_route_in_signalroute2624 = frozenset([1, 92]) + FOLLOW_CONNECT_in_connection2681 = frozenset([102]) + FOLLOW_channel_id_in_connection2683 = frozenset([12]) + FOLLOW_AND_in_connection2685 = frozenset([102]) + FOLLOW_route_id_in_connection2687 = frozenset([33, 190, 254]) + FOLLOW_end_in_connection2689 = frozenset([1]) + FOLLOW_cif_in_process_definition2746 = frozenset([169, 254]) + FOLLOW_symbolid_in_process_definition2765 = frozenset([169, 254]) + FOLLOW_req_server_in_process_definition2784 = frozenset([169, 254]) + FOLLOW_rid_server_in_process_definition2803 = frozenset([169, 254]) + FOLLOW_requirement_in_process_definition2822 = frozenset([169, 254]) + FOLLOW_rid_in_process_definition2841 = frozenset([169, 254]) + FOLLOW_PROCESS_in_process_definition2860 = frozenset([102, 229]) + FOLLOW_TYPE_in_process_definition2864 = frozenset([102]) + FOLLOW_process_id_in_process_definition2867 = frozenset([33, 129, 175, 190, 254, 255]) + FOLLOW_number_of_instances_in_process_definition2885 = frozenset([33, 175, 190, 254, 255]) + FOLLOW_255_in_process_definition2889 = frozenset([102]) + FOLLOW_type_inst_in_process_definition2891 = frozenset([33, 175, 190, 254]) + FOLLOW_REFERENCED_in_process_definition2895 = frozenset([33, 190, 254]) + FOLLOW_end_in_process_definition2900 = frozenset([33, 38, 62, 76, 91, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_pfpar_in_process_definition2918 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_text_area_in_process_definition2938 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_procedure_in_process_definition2942 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_composite_state_in_process_definition2951 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_processBody_in_process_definition2971 = frozenset([1, 33, 62, 102, 190, 229, 254]) + FOLLOW_ENDPROCESS_in_process_definition2974 = frozenset([1, 33, 102, 190, 229, 254]) + FOLLOW_TYPE_in_process_definition2977 = frozenset([1, 33, 102, 190, 254]) + FOLLOW_process_id_in_process_definition2980 = frozenset([1, 33, 190, 254]) + FOLLOW_end_in_process_definition2999 = frozenset([1]) + FOLLOW_FPAR_in_pfpar3158 = frozenset([102]) + FOLLOW_parameters_of_sort_in_pfpar3160 = frozenset([1, 32, 33, 190, 254]) + FOLLOW_COMMA_in_pfpar3179 = frozenset([102]) + FOLLOW_parameters_of_sort_in_pfpar3181 = frozenset([1, 32, 33, 190, 254]) + FOLLOW_end_in_pfpar3201 = frozenset([1]) + FOLLOW_variable_id_in_parameters_of_sort3256 = frozenset([32, 102]) + FOLLOW_COMMA_in_parameters_of_sort3259 = frozenset([102]) + FOLLOW_variable_id_in_parameters_of_sort3261 = frozenset([32, 102]) + FOLLOW_sort_in_parameters_of_sort3265 = frozenset([1]) + FOLLOW_cif_in_procedure3324 = frozenset([76, 166, 254]) + FOLLOW_symbolid_in_procedure3343 = frozenset([76, 166, 254]) + FOLLOW_requirement_in_procedure3362 = frozenset([76, 166, 254]) + FOLLOW_rid_in_procedure3381 = frozenset([76, 166, 254]) + FOLLOW_partition_in_procedure3400 = frozenset([76, 166]) + FOLLOW_EXPORTED_in_procedure3419 = frozenset([166]) + FOLLOW_PROCEDURE_in_procedure3422 = frozenset([102]) + FOLLOW_procedure_id_in_procedure3424 = frozenset([33, 190, 254]) + FOLLOW_end_in_procedure3429 = frozenset([38, 61, 76, 78, 91, 166, 175, 181, 198, 199, 252, 254]) + FOLLOW_SEMI_in_procedure3433 = frozenset([38, 61, 76, 78, 91, 166, 175, 181, 198, 199, 252, 254]) + FOLLOW_fpar_in_procedure3452 = frozenset([38, 61, 76, 78, 166, 175, 181, 198, 199, 252, 254]) + FOLLOW_procedure_result_in_procedure3473 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) + FOLLOW_text_area_in_procedure3493 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) + FOLLOW_procedure_in_procedure3497 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) + FOLLOW_processBody_in_procedure3519 = frozenset([61]) + FOLLOW_ENDPROCEDURE_in_procedure3522 = frozenset([33, 102, 190, 254]) + FOLLOW_procedure_id_in_procedure3524 = frozenset([33, 190, 254]) + FOLLOW_EXTERNAL_in_procedure3547 = frozenset([33, 190, 254]) + FOLLOW_REFERENCED_in_procedure3551 = frozenset([33, 190, 254]) + FOLLOW_end_in_procedure3572 = frozenset([1]) + FOLLOW_252_in_procedure_result3706 = frozenset([102]) + FOLLOW_RETURNS_in_procedure_result3710 = frozenset([102]) + FOLLOW_variable_id_in_procedure_result3729 = frozenset([102]) + FOLLOW_sort_in_procedure_result3748 = frozenset([1, 33, 190, 254]) + FOLLOW_end_in_procedure_result3750 = frozenset([1]) + FOLLOW_FPAR_in_fpar3807 = frozenset([102, 108, 110, 150]) + FOLLOW_formal_variable_param_in_fpar3809 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_fpar3828 = frozenset([102, 108, 110, 150]) + FOLLOW_formal_variable_param_in_fpar3830 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_fpar3850 = frozenset([1]) + FOLLOW_INOUT_in_formal_variable_param3905 = frozenset([102]) + FOLLOW_IN_in_formal_variable_param3909 = frozenset([102]) + FOLLOW_OUT_in_formal_variable_param3913 = frozenset([102]) + FOLLOW_variable_id_in_formal_variable_param3933 = frozenset([32, 102]) + FOLLOW_COMMA_in_formal_variable_param3936 = frozenset([102]) + FOLLOW_variable_id_in_formal_variable_param3938 = frozenset([32, 102]) + FOLLOW_sort_in_formal_variable_param3942 = frozenset([1]) + FOLLOW_requirement_in_text_area4008 = frozenset([254]) + FOLLOW_rid_in_text_area4027 = frozenset([254]) + FOLLOW_partition_in_text_area4046 = frozenset([254]) + FOLLOW_cif_in_text_area4065 = frozenset([44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_symbolid_in_text_area4083 = frozenset([44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_content_in_text_area4102 = frozenset([254]) + FOLLOW_cif_end_text_in_text_area4121 = frozenset([1]) + FOLLOW_procedure_in_content4196 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_use_clause_in_content4217 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_signal_declaration_in_content4238 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_fpar_in_content4259 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_procedure_result_in_content4282 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_timer_declaration_in_content4303 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_syntype_definition_in_content4324 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_newtype_definition_in_content4345 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_variable_definition_in_content4366 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_monitor_definition_in_content4387 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_observer_special_states_declaration_in_content4408 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_synonym_definition_in_content4429 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_ERRORSTATES_in_observer_special_states_declaration4581 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4588 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_observer_special_states_declaration4591 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4593 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_observer_special_states_declaration4597 = frozenset([1]) + FOLLOW_IGNORESTATES_in_observer_special_states_declaration4639 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4643 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_observer_special_states_declaration4646 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4648 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_observer_special_states_declaration4652 = frozenset([1]) + FOLLOW_SUCCESSSTATES_in_observer_special_states_declaration4694 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4697 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_observer_special_states_declaration4700 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4702 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_observer_special_states_declaration4706 = frozenset([1]) + FOLLOW_TIMER_in_timer_declaration4760 = frozenset([102]) + FOLLOW_timer_id_in_timer_declaration4762 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_timer_declaration4781 = frozenset([102]) + FOLLOW_timer_id_in_timer_declaration4783 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_timer_declaration4803 = frozenset([1]) + FOLLOW_SYNTYPE_in_syntype_definition4857 = frozenset([102]) + FOLLOW_syntype_name_in_syntype_definition4859 = frozenset([69]) + FOLLOW_EQ_in_syntype_definition4861 = frozenset([102]) + FOLLOW_parent_sort_in_syntype_definition4863 = frozenset([40, 65]) + FOLLOW_CONSTANTS_in_syntype_definition4882 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_range_condition_in_syntype_definition4885 = frozenset([32, 65]) + FOLLOW_COMMA_in_syntype_definition4888 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_range_condition_in_syntype_definition4890 = frozenset([32, 65]) + FOLLOW_ENDSYNTYPE_in_syntype_definition4914 = frozenset([33, 102, 190, 254]) + FOLLOW_syntype_name_in_syntype_definition4916 = frozenset([33, 190, 254]) + FOLLOW_end_in_syntype_definition4919 = frozenset([1]) + FOLLOW_sort_in_syntype_name4977 = frozenset([1]) + FOLLOW_sort_in_parent_sort5009 = frozenset([1]) + FOLLOW_NEWTYPE_in_newtype_definition5041 = frozenset([102]) + FOLLOW_type_name_in_newtype_definition5043 = frozenset([16, 60, 126, 208]) + FOLLOW_array_definition_in_newtype_definition5062 = frozenset([60]) + FOLLOW_structure_definition_in_newtype_definition5064 = frozenset([60]) + FOLLOW_enum_definition_in_newtype_definition5066 = frozenset([60]) + FOLLOW_ENDNEWTYPE_in_newtype_definition5086 = frozenset([33, 102, 190, 254]) + FOLLOW_type_name_in_newtype_definition5088 = frozenset([33, 190, 254]) + FOLLOW_end_in_newtype_definition5091 = frozenset([1]) + FOLLOW_sort_in_type_name5153 = frozenset([1]) + FOLLOW_ARRAY_in_array_definition5185 = frozenset([129]) + FOLLOW_L_PAREN_in_array_definition5187 = frozenset([102]) + FOLLOW_sort_in_array_definition5189 = frozenset([32]) + FOLLOW_COMMA_in_array_definition5191 = frozenset([102]) + FOLLOW_sort_in_array_definition5193 = frozenset([186]) + FOLLOW_R_PAREN_in_array_definition5195 = frozenset([1]) + FOLLOW_LITERALS_in_enum_definition5252 = frozenset([102]) + FOLLOW_enumerant_in_enum_definition5255 = frozenset([1, 32]) + FOLLOW_COMMA_in_enum_definition5258 = frozenset([102]) + FOLLOW_enumerant_in_enum_definition5260 = frozenset([1, 32]) + FOLLOW_STRUCT_in_structure_definition5318 = frozenset([102, 199]) + FOLLOW_field_list_in_structure_definition5320 = frozenset([33, 190, 254]) + FOLLOW_end_in_structure_definition5322 = frozenset([1]) + FOLLOW_field_definition_in_field_list5375 = frozenset([1, 33, 190, 254]) + FOLLOW_end_in_field_list5378 = frozenset([102, 199]) + FOLLOW_field_definition_in_field_list5380 = frozenset([1, 33, 190, 254]) + FOLLOW_field_name_in_field_definition5436 = frozenset([32, 102]) + FOLLOW_COMMA_in_field_definition5439 = frozenset([102, 199]) + FOLLOW_field_name_in_field_definition5441 = frozenset([32, 102]) + FOLLOW_sort_in_field_definition5445 = frozenset([1]) + FOLLOW_DCL_in_variable_definition5503 = frozenset([102]) + FOLLOW_variables_of_sort_in_variable_definition5505 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_variable_definition5524 = frozenset([102]) + FOLLOW_variables_of_sort_in_variable_definition5526 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_variable_definition5546 = frozenset([1]) + FOLLOW_MONITOR_in_monitor_definition5601 = frozenset([102]) + FOLLOW_variables_of_sort_in_monitor_definition5603 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_monitor_definition5622 = frozenset([102]) + FOLLOW_variables_of_sort_in_monitor_definition5624 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_monitor_definition5644 = frozenset([1]) + FOLLOW_internal_synonym_definition_in_synonym_definition5699 = frozenset([1]) + FOLLOW_SYNONYM_in_internal_synonym_definition5731 = frozenset([102]) + FOLLOW_synonym_definition_item_in_internal_synonym_definition5733 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_internal_synonym_definition5736 = frozenset([102]) + FOLLOW_synonym_definition_item_in_internal_synonym_definition5738 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_internal_synonym_definition5758 = frozenset([1]) + FOLLOW_variable_id_in_synonym_definition_item5812 = frozenset([102]) + FOLLOW_sort_in_synonym_definition_item5814 = frozenset([69]) + FOLLOW_EQ_in_synonym_definition_item5816 = frozenset([27, 43, 78, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_synonym_definition_item5819 = frozenset([1]) + FOLLOW_EXTERNAL_in_synonym_definition_item5823 = frozenset([1]) + FOLLOW_variable_id_in_variables_of_sort5885 = frozenset([32, 102]) + FOLLOW_COMMA_in_variables_of_sort5888 = frozenset([102]) + FOLLOW_variable_id_in_variables_of_sort5890 = frozenset([32, 102]) + FOLLOW_sort_in_variables_of_sort5894 = frozenset([1, 20, 177]) + FOLLOW_ASSIG_OP_in_variables_of_sort5914 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_variables_of_sort5916 = frozenset([1]) + FOLLOW_RENAMES_in_variables_of_sort5922 = frozenset([102]) + FOLLOW_variable_in_variables_of_sort5924 = frozenset([1]) + FOLLOW_expression_in_ground_expression6011 = frozenset([1]) + FOLLOW_L_PAREN_in_number_of_instances6064 = frozenset([115]) + FOLLOW_INT_in_number_of_instances6068 = frozenset([32]) + FOLLOW_COMMA_in_number_of_instances6070 = frozenset([115]) + FOLLOW_INT_in_number_of_instances6074 = frozenset([186]) + FOLLOW_R_PAREN_in_number_of_instances6076 = frozenset([1]) + FOLLOW_start_in_processBody6133 = frozenset([1, 38, 199, 254]) + FOLLOW_state_in_processBody6137 = frozenset([1, 38, 199, 254]) + FOLLOW_floating_label_in_processBody6141 = frozenset([1, 38, 199, 254]) + FOLLOW_cif_in_start6175 = frozenset([198, 254]) + FOLLOW_symbolid_in_start6194 = frozenset([198, 254]) + FOLLOW_hyperlink_in_start6213 = frozenset([198, 254]) + FOLLOW_requirement_in_start6232 = frozenset([198, 254]) + FOLLOW_rid_in_start6251 = frozenset([198, 254]) + FOLLOW_partition_in_start6270 = frozenset([198]) + FOLLOW_START_in_start6289 = frozenset([33, 102, 190, 254]) + FOLLOW_state_entry_point_name_in_start6293 = frozenset([33, 190, 254]) + FOLLOW_end_in_start6296 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_start6314 = frozenset([1]) + FOLLOW_cif_in_floating_label6391 = frozenset([38, 254]) + FOLLOW_symbolid_in_floating_label6410 = frozenset([38, 254]) + FOLLOW_hyperlink_in_floating_label6429 = frozenset([38, 254]) + FOLLOW_requirement_in_floating_label6448 = frozenset([38, 254]) + FOLLOW_rid_in_floating_label6467 = frozenset([38, 254]) + FOLLOW_partition_in_floating_label6486 = frozenset([38]) + FOLLOW_CONNECTION_in_floating_label6505 = frozenset([102]) + FOLLOW_connector_name_in_floating_label6507 = frozenset([255]) + FOLLOW_255_in_floating_label6509 = frozenset([10, 27, 41, 45, 57, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_floating_label6527 = frozenset([57, 254]) + FOLLOW_cif_end_label_in_floating_label6546 = frozenset([57]) + FOLLOW_ENDCONNECTION_in_floating_label6565 = frozenset([190]) + FOLLOW_SEMI_in_floating_label6567 = frozenset([1]) + FOLLOW_state_definition_in_state6635 = frozenset([1]) + FOLLOW_state_instance_in_state6649 = frozenset([1]) + FOLLOW_cif_in_state_definition6681 = frozenset([199, 254]) + FOLLOW_symbolid_in_state_definition6700 = frozenset([199, 254]) + FOLLOW_hyperlink_in_state_definition6719 = frozenset([199, 254]) + FOLLOW_requirement_in_state_definition6738 = frozenset([199, 254]) + FOLLOW_rid_in_state_definition6757 = frozenset([199, 254]) + FOLLOW_partition_in_state_definition6776 = frozenset([199]) + FOLLOW_STATE_in_state_definition6795 = frozenset([21, 102]) + FOLLOW_statelist_in_state_definition6797 = frozenset([33, 190, 238, 254]) + FOLLOW_via_in_state_definition6799 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_definition6805 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_SEMI_in_state_definition6809 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_state_part_in_state_definition6829 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_ENDSTATE_in_state_definition6849 = frozenset([33, 102, 190, 254]) + FOLLOW_statename_in_state_definition6851 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_definition6856 = frozenset([1]) + FOLLOW_cif_in_state_instance6937 = frozenset([199, 254]) + FOLLOW_symbolid_in_state_instance6956 = frozenset([199, 254]) + FOLLOW_hyperlink_in_state_instance6975 = frozenset([199, 254]) + FOLLOW_requirement_in_state_instance6994 = frozenset([199, 254]) + FOLLOW_rid_in_state_instance7013 = frozenset([199, 254]) + FOLLOW_partition_in_state_instance7032 = frozenset([199]) + FOLLOW_STATE_in_state_instance7051 = frozenset([102]) + FOLLOW_statename_in_state_instance7053 = frozenset([255]) + FOLLOW_255_in_state_instance7055 = frozenset([102]) + FOLLOW_type_inst_in_state_instance7057 = frozenset([33, 190, 238, 254]) + FOLLOW_via_in_state_instance7059 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_instance7065 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_SEMI_in_state_instance7069 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_state_part_in_state_instance7089 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_ENDSTATE_in_state_instance7109 = frozenset([33, 102, 190, 254]) + FOLLOW_statename_in_state_instance7111 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_instance7116 = frozenset([1]) + FOLLOW_statename_in_statelist7202 = frozenset([1, 32]) + FOLLOW_COMMA_in_statelist7205 = frozenset([102]) + FOLLOW_statename_in_statelist7207 = frozenset([1, 32]) + FOLLOW_ASTERISK_in_statelist7252 = frozenset([1, 129]) + FOLLOW_exception_state_in_statelist7254 = frozenset([1]) + FOLLOW_L_PAREN_in_exception_state7309 = frozenset([102]) + FOLLOW_statename_in_exception_state7311 = frozenset([32, 186]) + FOLLOW_COMMA_in_exception_state7314 = frozenset([102]) + FOLLOW_statename_in_exception_state7316 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_exception_state7320 = frozenset([1]) + FOLLOW_composite_state_graph_in_composite_state7371 = frozenset([1]) + FOLLOW_state_aggregation_in_composite_state7391 = frozenset([1]) + FOLLOW_STATE_in_composite_state_preamble7423 = frozenset([7, 102]) + FOLLOW_AGGREGATION_in_composite_state_preamble7425 = frozenset([102]) + FOLLOW_statename_in_composite_state_preamble7428 = frozenset([33, 190, 254]) + FOLLOW_end_in_composite_state_preamble7430 = frozenset([209]) + FOLLOW_SUBSTRUCTURE_in_composite_state_preamble7448 = frozenset([1]) + FOLLOW_STATE_in_composite_state_graph7479 = frozenset([102]) + FOLLOW_statename_in_composite_state_graph7481 = frozenset([33, 190, 254]) + FOLLOW_end_in_composite_state_graph7485 = frozenset([209]) + FOLLOW_SUBSTRUCTURE_in_composite_state_graph7503 = frozenset([38, 64, 76, 108, 150, 166, 198, 199, 254]) + FOLLOW_connection_points_in_composite_state_graph7521 = frozenset([38, 64, 76, 108, 150, 166, 198, 199, 254]) + FOLLOW_composite_state_body_in_composite_state_graph7542 = frozenset([64]) + FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph7560 = frozenset([33, 102, 190, 254]) + FOLLOW_statename_in_composite_state_graph7562 = frozenset([33, 190, 254]) + FOLLOW_end_in_composite_state_graph7567 = frozenset([1]) + FOLLOW_STATE_in_state_aggregation7631 = frozenset([7]) + FOLLOW_AGGREGATION_in_state_aggregation7633 = frozenset([102]) + FOLLOW_statename_in_state_aggregation7635 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_aggregation7639 = frozenset([209]) + FOLLOW_SUBSTRUCTURE_in_state_aggregation7657 = frozenset([37, 64, 76, 108, 150, 166, 199, 254]) + FOLLOW_connection_points_in_state_aggregation7675 = frozenset([37, 64, 76, 108, 150, 166, 199, 254]) + FOLLOW_entity_in_composite_state_in_state_aggregation7696 = frozenset([37, 64, 76, 166, 199, 254]) + FOLLOW_state_aggregation_body_in_state_aggregation7717 = frozenset([64]) + FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation7735 = frozenset([33, 102, 190, 254]) + FOLLOW_statename_in_state_aggregation7737 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_aggregation7742 = frozenset([1]) + FOLLOW_text_area_in_entity_in_composite_state7847 = frozenset([1]) + FOLLOW_procedure_in_entity_in_composite_state7851 = frozenset([1]) + FOLLOW_state_partitioning_in_state_aggregation_body7886 = frozenset([1, 37, 199, 254]) + FOLLOW_state_partition_connection_in_state_aggregation_body7890 = frozenset([1, 37, 199, 254]) + FOLLOW_state_in_state_aggregation_body7910 = frozenset([1, 199, 254]) + FOLLOW_composite_state_in_state_partitioning7944 = frozenset([1]) + FOLLOW_CONNECT_in_state_partition_connection7977 = frozenset([102]) + FOLLOW_entry_point_in_state_partition_connection7981 = frozenset([12]) + FOLLOW_AND_in_state_partition_connection7983 = frozenset([102]) + FOLLOW_entry_point_in_state_partition_connection7987 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_partition_connection7989 = frozenset([1]) + FOLLOW_ID_in_entry_point8052 = frozenset([238]) + FOLLOW_VIA_in_entry_point8054 = frozenset([46, 102]) + FOLLOW_point_in_entry_point8056 = frozenset([1]) + FOLLOW_ID_in_point8116 = frozenset([1]) + FOLLOW_DEFAULT_in_point8120 = frozenset([1]) + FOLLOW_IN_in_connection_points8180 = frozenset([129]) + FOLLOW_state_entry_exit_points_in_connection_points8182 = frozenset([33, 190, 254]) + FOLLOW_end_in_connection_points8184 = frozenset([1]) + FOLLOW_OUT_in_connection_points8228 = frozenset([129]) + FOLLOW_state_entry_exit_points_in_connection_points8230 = frozenset([33, 190, 254]) + FOLLOW_end_in_connection_points8232 = frozenset([1]) + FOLLOW_L_PAREN_in_state_entry_exit_points8289 = frozenset([102]) + FOLLOW_statename_in_state_entry_exit_points8291 = frozenset([32, 186]) + FOLLOW_COMMA_in_state_entry_exit_points8294 = frozenset([102]) + FOLLOW_statename_in_state_entry_exit_points8296 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_state_entry_exit_points8300 = frozenset([1]) + FOLLOW_text_area_in_composite_state_body8349 = frozenset([1, 38, 76, 166, 198, 199, 254]) + FOLLOW_procedure_in_composite_state_body8365 = frozenset([1, 38, 76, 166, 198, 199, 254]) + FOLLOW_composite_state_in_composite_state_body8386 = frozenset([1, 38, 76, 166, 198, 199, 254]) + FOLLOW_start_in_composite_state_body8401 = frozenset([1, 38, 198, 199, 254]) + FOLLOW_state_in_composite_state_body8405 = frozenset([1, 38, 199, 254]) + FOLLOW_floating_label_in_composite_state_body8409 = frozenset([1, 38, 199, 254]) + FOLLOW_EOF_in_composite_state_body8424 = frozenset([1]) + FOLLOW_input_part_in_state_part8457 = frozenset([1]) + FOLLOW_save_part_in_state_part8494 = frozenset([1]) + FOLLOW_spontaneous_transition_in_state_part8529 = frozenset([1]) + FOLLOW_continuous_signal_in_state_part8549 = frozenset([1]) + FOLLOW_connect_part_in_state_part8569 = frozenset([1]) + FOLLOW_cif_in_connect_part8602 = frozenset([37, 254]) + FOLLOW_symbolid_in_connect_part8621 = frozenset([37, 254]) + FOLLOW_hyperlink_in_connect_part8640 = frozenset([37, 254]) + FOLLOW_requirement_in_connect_part8659 = frozenset([37, 254]) + FOLLOW_rid_in_connect_part8678 = frozenset([37, 254]) + FOLLOW_CONNECT_in_connect_part8697 = frozenset([21, 33, 102, 190, 254]) + FOLLOW_connect_list_in_connect_part8699 = frozenset([33, 190, 254]) + FOLLOW_end_in_connect_part8702 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_connect_part8720 = frozenset([1]) + FOLLOW_state_exit_point_name_in_connect_list8796 = frozenset([1, 32]) + FOLLOW_COMMA_in_connect_list8799 = frozenset([102]) + FOLLOW_state_exit_point_name_in_connect_list8801 = frozenset([1, 32]) + FOLLOW_ASTERISK_in_connect_list8844 = frozenset([1]) + FOLLOW_cif_in_spontaneous_transition8876 = frozenset([111, 254]) + FOLLOW_symbolid_in_spontaneous_transition8895 = frozenset([111, 254]) + FOLLOW_hyperlink_in_spontaneous_transition8914 = frozenset([111, 254]) + FOLLOW_requirement_in_spontaneous_transition8933 = frozenset([111, 254]) + FOLLOW_rid_in_spontaneous_transition8952 = frozenset([111, 254]) + FOLLOW_INPUT_in_spontaneous_transition8971 = frozenset([143]) + FOLLOW_NONE_in_spontaneous_transition8973 = frozenset([33, 190, 254]) + FOLLOW_end_in_spontaneous_transition8975 = frozenset([10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 170, 180, 204, 207, 217, 254]) + FOLLOW_enabling_condition_in_spontaneous_transition8993 = frozenset([10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_spontaneous_transition9012 = frozenset([1]) + FOLLOW_PROVIDED_in_enabling_condition9080 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_enabling_condition9082 = frozenset([33, 190, 254]) + FOLLOW_end_in_enabling_condition9084 = frozenset([1]) + FOLLOW_cif_in_continuous_signal9137 = frozenset([170, 254]) + FOLLOW_symbolid_in_continuous_signal9156 = frozenset([170, 254]) + FOLLOW_hyperlink_in_continuous_signal9175 = frozenset([170, 254]) + FOLLOW_requirement_in_continuous_signal9194 = frozenset([170, 254]) + FOLLOW_rid_in_continuous_signal9213 = frozenset([170, 254]) + FOLLOW_PROVIDED_in_continuous_signal9232 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_continuous_signal9234 = frozenset([33, 190, 254]) + FOLLOW_end_in_continuous_signal9238 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 165, 180, 204, 207, 217, 254]) + FOLLOW_PRIORITY_in_continuous_signal9257 = frozenset([115]) + FOLLOW_INT_in_continuous_signal9261 = frozenset([33, 190, 254]) + FOLLOW_end_in_continuous_signal9263 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_continuous_signal9283 = frozenset([1]) + FOLLOW_SAVE_in_save_part9363 = frozenset([21, 102]) + FOLLOW_save_list_in_save_part9365 = frozenset([33, 190, 254]) + FOLLOW_end_in_save_part9383 = frozenset([1]) + FOLLOW_signal_list_in_save_list9436 = frozenset([1]) + FOLLOW_asterisk_save_list_in_save_list9456 = frozenset([1]) + FOLLOW_ASTERISK_in_asterisk_save_list9488 = frozenset([1]) + FOLLOW_signal_item_in_signal_list9511 = frozenset([1, 32]) + FOLLOW_COMMA_in_signal_list9514 = frozenset([102]) + FOLLOW_signal_item_in_signal_list9516 = frozenset([1, 32]) + FOLLOW_signal_id_in_signal_item9575 = frozenset([1]) + FOLLOW_cif_in_input_part9604 = frozenset([111, 254]) + FOLLOW_symbolid_in_input_part9623 = frozenset([111, 254]) + FOLLOW_hyperlink_in_input_part9642 = frozenset([111, 254]) + FOLLOW_requirement_in_input_part9661 = frozenset([111, 254]) + FOLLOW_rid_in_input_part9680 = frozenset([111, 254]) + FOLLOW_INPUT_in_input_part9699 = frozenset([21, 102]) + FOLLOW_inputlist_in_input_part9701 = frozenset([33, 190, 254]) + FOLLOW_end_in_input_part9703 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 170, 180, 204, 207, 217, 254]) + FOLLOW_enabling_condition_in_input_part9721 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_input_part9740 = frozenset([1]) + FOLLOW_ASTERISK_in_inputlist9836 = frozenset([1]) + FOLLOW_stimulus_in_inputlist9857 = frozenset([1, 32]) + FOLLOW_COMMA_in_inputlist9860 = frozenset([102]) + FOLLOW_stimulus_in_inputlist9862 = frozenset([1, 32]) + FOLLOW_stimulus_id_in_stimulus9919 = frozenset([1, 129]) + FOLLOW_input_params_in_stimulus9921 = frozenset([1]) + FOLLOW_L_PAREN_in_input_params9954 = frozenset([102]) + FOLLOW_variable_id_in_input_params9956 = frozenset([32, 186]) + FOLLOW_COMMA_in_input_params9959 = frozenset([102]) + FOLLOW_variable_id_in_input_params9961 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_input_params9965 = frozenset([1]) + FOLLOW_action_in_transition10019 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_label_in_transition10022 = frozenset([1, 102, 119, 142, 180, 204, 254]) + FOLLOW_terminator_statement_in_transition10025 = frozenset([1]) + FOLLOW_terminator_statement_in_transition10074 = frozenset([1]) + FOLLOW_label_in_action10127 = frozenset([10, 27, 41, 45, 75, 90, 102, 151, 207, 217, 254]) + FOLLOW_task_in_action10147 = frozenset([1]) + FOLLOW_task_body_in_action10167 = frozenset([1]) + FOLLOW_output_in_action10187 = frozenset([1]) + FOLLOW_create_request_in_action10207 = frozenset([1]) + FOLLOW_decision_in_action10227 = frozenset([1]) + FOLLOW_alternative_in_action10247 = frozenset([1]) + FOLLOW_export_in_action10301 = frozenset([1]) + FOLLOW_procedure_call_in_action10326 = frozenset([1]) + FOLLOW_EXPORT_in_export10359 = frozenset([129]) + FOLLOW_L_PAREN_in_export10377 = frozenset([102]) + FOLLOW_variable_id_in_export10379 = frozenset([32, 186]) + FOLLOW_COMMA_in_export10382 = frozenset([102]) + FOLLOW_variable_id_in_export10384 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_export10388 = frozenset([33, 190, 254]) + FOLLOW_end_in_export10406 = frozenset([1]) + FOLLOW_cif_in_procedure_call10462 = frozenset([27, 254]) + FOLLOW_symbolid_in_procedure_call10481 = frozenset([27, 254]) + FOLLOW_hyperlink_in_procedure_call10500 = frozenset([27, 254]) + FOLLOW_requirement_in_procedure_call10519 = frozenset([27, 254]) + FOLLOW_rid_in_procedure_call10538 = frozenset([27, 254]) + FOLLOW_CALL_in_procedure_call10557 = frozenset([102]) + FOLLOW_procedure_call_body_in_procedure_call10559 = frozenset([33, 190, 254]) + FOLLOW_end_in_procedure_call10561 = frozenset([1]) + FOLLOW_procedure_id_in_procedure_call_body10632 = frozenset([1, 129, 226]) + FOLLOW_actual_parameters_in_procedure_call_body10634 = frozenset([1, 226]) + FOLLOW_to_part_in_procedure_call_body10637 = frozenset([1]) + FOLLOW_cif_in_alternative10703 = frozenset([10, 254]) + FOLLOW_symbolid_in_alternative10722 = frozenset([10, 254]) + FOLLOW_hyperlink_in_alternative10741 = frozenset([10, 254]) + FOLLOW_requirement_in_alternative10760 = frozenset([10, 254]) + FOLLOW_rid_in_alternative10779 = frozenset([10, 254]) + FOLLOW_ALTERNATIVE_in_alternative10798 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_alternative_question_in_alternative10800 = frozenset([33, 190, 254]) + FOLLOW_end_in_alternative10804 = frozenset([51, 54, 129, 254]) + FOLLOW_answer_part_in_alternative10822 = frozenset([51, 54, 129, 254]) + FOLLOW_alternative_part_in_alternative10841 = frozenset([54]) + FOLLOW_ENDALTERNATIVE_in_alternative10860 = frozenset([33, 190, 254]) + FOLLOW_end_in_alternative10864 = frozenset([1]) + FOLLOW_answer_part_in_alternative_part10959 = frozenset([1, 51, 129, 254]) + FOLLOW_else_part_in_alternative_part10962 = frozenset([1]) + FOLLOW_else_part_in_alternative_part11005 = frozenset([1]) + FOLLOW_ground_expression_in_alternative_question11054 = frozenset([1]) + FOLLOW_cif_in_decision11086 = frozenset([45, 254]) + FOLLOW_symbolid_in_decision11105 = frozenset([45, 254]) + FOLLOW_hyperlink_in_decision11124 = frozenset([45, 254]) + FOLLOW_requirement_in_decision11143 = frozenset([45, 254]) + FOLLOW_rid_in_decision11162 = frozenset([45, 254]) + FOLLOW_DECISION_in_decision11181 = frozenset([14, 27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_question_in_decision11183 = frozenset([33, 190, 254]) + FOLLOW_end_in_decision11187 = frozenset([51, 58, 129, 254]) + FOLLOW_answer_part_in_decision11205 = frozenset([51, 58, 129, 254]) + FOLLOW_alternative_part_in_decision11224 = frozenset([58]) + FOLLOW_ENDDECISION_in_decision11243 = frozenset([33, 190, 254]) + FOLLOW_end_in_decision11247 = frozenset([1]) + FOLLOW_cif_in_answer_part11341 = frozenset([129, 254]) + FOLLOW_symbolid_in_answer_part11360 = frozenset([129, 254]) + FOLLOW_hyperlink_in_answer_part11379 = frozenset([129, 254]) + FOLLOW_requirement_in_answer_part11398 = frozenset([129, 254]) + FOLLOW_rid_in_answer_part11417 = frozenset([129, 254]) + FOLLOW_L_PAREN_in_answer_part11436 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_answer_in_answer_part11438 = frozenset([186]) + FOLLOW_R_PAREN_in_answer_part11440 = frozenset([255]) + FOLLOW_255_in_answer_part11442 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_answer_part11444 = frozenset([1]) + FOLLOW_range_condition_in_answer11516 = frozenset([1]) + FOLLOW_informal_text_in_answer11536 = frozenset([1]) + FOLLOW_cif_in_else_part11568 = frozenset([51, 254]) + FOLLOW_symbolid_in_else_part11587 = frozenset([51, 254]) + FOLLOW_hyperlink_in_else_part11606 = frozenset([51, 254]) + FOLLOW_requirement_in_else_part11625 = frozenset([51, 254]) + FOLLOW_rid_in_else_part11644 = frozenset([51, 254]) + FOLLOW_ELSE_in_else_part11663 = frozenset([255]) + FOLLOW_255_in_else_part11665 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_else_part11667 = frozenset([1]) + FOLLOW_informal_text_in_question11737 = frozenset([1]) + FOLLOW_expression_in_question11757 = frozenset([1]) + FOLLOW_ANY_in_question11798 = frozenset([1]) + FOLLOW_closed_range_in_range_condition11850 = frozenset([1, 32]) + FOLLOW_open_range_in_range_condition11854 = frozenset([1, 32]) + FOLLOW_COMMA_in_range_condition11874 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_closed_range_in_range_condition11878 = frozenset([1, 32]) + FOLLOW_open_range_in_range_condition11880 = frozenset([1, 32]) + FOLLOW_expression_in_closed_range11917 = frozenset([255]) + FOLLOW_255_in_closed_range11919 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_closed_range11923 = frozenset([1]) + FOLLOW_constant_in_open_range11980 = frozenset([1]) + FOLLOW_EQ_in_open_range12020 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_NEQ_in_open_range12022 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_GT_in_open_range12024 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_LT_in_open_range12026 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_LE_in_open_range12028 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_GE_in_open_range12030 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_constant_in_open_range12033 = frozenset([1]) + FOLLOW_expression_in_constant12105 = frozenset([1]) + FOLLOW_cif_in_create_request12159 = frozenset([41, 254]) + FOLLOW_symbolid_in_create_request12178 = frozenset([41, 254]) + FOLLOW_hyperlink_in_create_request12197 = frozenset([41, 254]) + FOLLOW_requirement_in_create_request12216 = frozenset([41, 254]) + FOLLOW_rid_in_create_request12235 = frozenset([41, 254]) + FOLLOW_CREATE_in_create_request12254 = frozenset([102, 224]) + FOLLOW_createbody_in_create_request12256 = frozenset([33, 129, 190, 254]) + FOLLOW_actual_parameters_in_create_request12274 = frozenset([33, 190, 254]) + FOLLOW_end_in_create_request12293 = frozenset([1]) + FOLLOW_process_id_in_createbody12367 = frozenset([1]) + FOLLOW_THIS_in_createbody12387 = frozenset([1]) + FOLLOW_cif_in_output12419 = frozenset([151, 254]) + FOLLOW_symbolid_in_output12438 = frozenset([151, 254]) + FOLLOW_hyperlink_in_output12457 = frozenset([151, 254]) + FOLLOW_requirement_in_output12476 = frozenset([151, 254]) + FOLLOW_rid_in_output12495 = frozenset([151, 254]) + FOLLOW_OUTPUT_in_output12514 = frozenset([102]) + FOLLOW_outputbody_in_output12516 = frozenset([33, 190, 254]) + FOLLOW_end_in_output12518 = frozenset([1]) + FOLLOW_outputstmt_in_outputbody12589 = frozenset([1, 32, 226]) + FOLLOW_COMMA_in_outputbody12592 = frozenset([102]) + FOLLOW_outputstmt_in_outputbody12594 = frozenset([1, 32, 226]) + FOLLOW_to_part_in_outputbody12598 = frozenset([1]) + FOLLOW_signal_id_in_outputstmt12660 = frozenset([1, 129]) + FOLLOW_actual_parameters_in_outputstmt12678 = frozenset([1]) + FOLLOW_TO_in_to_part12711 = frozenset([102, 146, 154, 187, 224]) + FOLLOW_destination_in_to_part12713 = frozenset([1]) + FOLLOW_VIA_in_via_part12766 = frozenset([8, 102]) + FOLLOW_viabody_in_via_part12768 = frozenset([1]) + FOLLOW_ALL_in_viabody12822 = frozenset([1]) + FOLLOW_via_path_in_viabody12861 = frozenset([1]) + FOLLOW_pid_expression_in_destination12914 = frozenset([1]) + FOLLOW_process_id_in_destination12934 = frozenset([1]) + FOLLOW_THIS_in_destination12954 = frozenset([1]) + FOLLOW_via_path_element_in_via_path12986 = frozenset([1, 32]) + FOLLOW_COMMA_in_via_path12989 = frozenset([102]) + FOLLOW_via_path_element_in_via_path12991 = frozenset([1, 32]) + FOLLOW_ID_in_via_path_element13043 = frozenset([1]) + FOLLOW_L_PAREN_in_actual_parameters13075 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_actual_parameters13077 = frozenset([32, 186]) + FOLLOW_COMMA_in_actual_parameters13080 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_actual_parameters13082 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_actual_parameters13086 = frozenset([1]) + FOLLOW_cif_in_task13139 = frozenset([217, 254]) + FOLLOW_symbolid_in_task13158 = frozenset([217, 254]) + FOLLOW_hyperlink_in_task13177 = frozenset([217, 254]) + FOLLOW_requirement_in_task13196 = frozenset([217, 254]) + FOLLOW_rid_in_task13215 = frozenset([217, 254]) + FOLLOW_TASK_in_task13234 = frozenset([33, 90, 102, 190, 207, 254]) + FOLLOW_task_body_in_task13236 = frozenset([33, 190, 254]) + FOLLOW_end_in_task13239 = frozenset([1]) + FOLLOW_assignment_statement_in_task_body13312 = frozenset([1, 32]) + FOLLOW_COMMA_in_task_body13315 = frozenset([102]) + FOLLOW_assignment_statement_in_task_body13317 = frozenset([1, 32]) + FOLLOW_informal_text_in_task_body13363 = frozenset([1, 32]) + FOLLOW_COMMA_in_task_body13366 = frozenset([207]) + FOLLOW_informal_text_in_task_body13368 = frozenset([1, 32]) + FOLLOW_forloop_in_task_body13414 = frozenset([1, 32]) + FOLLOW_COMMA_in_task_body13417 = frozenset([90]) + FOLLOW_forloop_in_task_body13419 = frozenset([1, 32]) + FOLLOW_FOR_in_forloop13477 = frozenset([102]) + FOLLOW_variable_id_in_forloop13479 = frozenset([108]) + FOLLOW_IN_in_forloop13481 = frozenset([102, 174]) + FOLLOW_range_in_forloop13484 = frozenset([255]) + FOLLOW_variable_in_forloop13488 = frozenset([255]) + FOLLOW_255_in_forloop13491 = frozenset([10, 27, 41, 45, 59, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_forloop13509 = frozenset([59]) + FOLLOW_ENDFOR_in_forloop13528 = frozenset([1]) + FOLLOW_RANGE_in_range13580 = frozenset([129]) + FOLLOW_L_PAREN_in_range13598 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_range13602 = frozenset([32, 186]) + FOLLOW_COMMA_in_range13621 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_range13625 = frozenset([32, 186]) + FOLLOW_COMMA_in_range13630 = frozenset([115]) + FOLLOW_INT_in_range13634 = frozenset([186]) + FOLLOW_R_PAREN_in_range13654 = frozenset([1]) + FOLLOW_variable_in_assignment_statement13706 = frozenset([20]) + FOLLOW_ASSIG_OP_in_assignment_statement13708 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_assignment_statement13710 = frozenset([1]) + FOLLOW_postfix_expression_in_variable13757 = frozenset([1]) + FOLLOW_ID_in_variable13775 = frozenset([1]) + FOLLOW_set_in_field_selection13828 = frozenset([102, 199]) + FOLLOW_field_name_in_field_selection13836 = frozenset([1]) + FOLLOW_binary_expression_in_expression13860 = frozenset([1]) + FOLLOW_binary_expression_0_in_binary_expression13883 = frozenset([1, 106]) + FOLLOW_IMPLIES_in_binary_expression13887 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_0_in_binary_expression13890 = frozenset([1, 106]) + FOLLOW_binary_expression_1_in_binary_expression_013913 = frozenset([1, 149, 245]) + FOLLOW_OR_in_binary_expression_013919 = frozenset([27, 43, 51, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ELSE_in_binary_expression_013922 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_XOR_in_binary_expression_013928 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_1_in_binary_expression_013933 = frozenset([1, 149, 245]) + FOLLOW_binary_expression_2_in_binary_expression_113956 = frozenset([1, 12]) + FOLLOW_AND_in_binary_expression_113960 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 223, 228, 232]) + FOLLOW_THEN_in_binary_expression_113963 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_2_in_binary_expression_113966 = frozenset([1, 12]) + FOLLOW_binary_expression_3_in_binary_expression_213989 = frozenset([1, 69, 94, 97, 108, 124, 127, 139]) + FOLLOW_EQ_in_binary_expression_213994 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_NEQ_in_binary_expression_213999 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_GT_in_binary_expression_214004 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_GE_in_binary_expression_214009 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_LT_in_binary_expression_214014 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_LE_in_binary_expression_214019 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_IN_in_binary_expression_214024 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_3_in_binary_expression_214029 = frozenset([1, 69, 94, 97, 108, 124, 127, 139]) + FOLLOW_binary_expression_4_in_binary_expression_314052 = frozenset([1, 15, 43, 161]) + FOLLOW_PLUS_in_binary_expression_314057 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_DASH_in_binary_expression_314062 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_APPEND_in_binary_expression_314067 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_4_in_binary_expression_314072 = frozenset([1, 15, 43, 161]) + FOLLOW_unary_expression_in_binary_expression_414095 = frozenset([1, 21, 48, 134, 176]) + FOLLOW_ASTERISK_in_binary_expression_414100 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_DIV_in_binary_expression_414105 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_MOD_in_binary_expression_414110 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_REM_in_binary_expression_414115 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_unary_expression_in_binary_expression_414120 = frozenset([1, 21, 48, 134, 176]) + FOLLOW_postfix_expression_in_unary_expression14145 = frozenset([1]) + FOLLOW_primary_expression_in_unary_expression14163 = frozenset([1]) + FOLLOW_NOT_in_unary_expression14181 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_unary_expression_in_unary_expression14184 = frozenset([1]) + FOLLOW_DASH_in_unary_expression14202 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_unary_expression_in_unary_expression14204 = frozenset([1]) + FOLLOW_CALL_in_unary_expression14233 = frozenset([102]) + FOLLOW_procedure_call_body_in_unary_expression14235 = frozenset([1]) + FOLLOW_input_expression_in_unary_expression14261 = frozenset([1]) + FOLLOW_output_expression_in_unary_expression14291 = frozenset([1]) + FOLLOW_ID_in_postfix_expression14335 = frozenset([49, 129, 248]) + FOLLOW_L_PAREN_in_postfix_expression14370 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 186, 199, 207, 228, 232]) + FOLLOW_expression_list_in_postfix_expression14374 = frozenset([186]) + FOLLOW_R_PAREN_in_postfix_expression14377 = frozenset([1, 49, 129, 248]) + FOLLOW_248_in_postfix_expression14433 = frozenset([102, 199]) + FOLLOW_DOT_in_postfix_expression14437 = frozenset([102, 199]) + FOLLOW_field_name_in_postfix_expression14440 = frozenset([1, 49, 129, 248]) + FOLLOW_UNHANDLED_in_input_expression14522 = frozenset([111]) + FOLLOW_INPUT_in_input_expression14525 = frozenset([1]) + FOLLOW_UNHANDLED_in_input_expression14570 = frozenset([111]) + FOLLOW_INPUT_in_input_expression14573 = frozenset([92, 102, 226]) + FOLLOW_ID_in_input_expression14578 = frozenset([92, 129, 226]) + FOLLOW_L_PAREN_in_input_expression14581 = frozenset([102]) + FOLLOW_ID_in_input_expression14585 = frozenset([186]) + FOLLOW_R_PAREN_in_input_expression14587 = frozenset([92, 226]) + FOLLOW_FROM_in_input_expression14595 = frozenset([102]) + FOLLOW_ID_in_input_expression14599 = frozenset([226]) + FOLLOW_TO_in_input_expression14603 = frozenset([102]) + FOLLOW_ID_in_input_expression14607 = frozenset([1]) + FOLLOW_OUTPUT_in_output_expression14691 = frozenset([1]) + FOLLOW_OUTPUT_in_output_expression14733 = frozenset([92, 102]) + FOLLOW_ID_in_output_expression14738 = frozenset([92, 129]) + FOLLOW_L_PAREN_in_output_expression14741 = frozenset([102]) + FOLLOW_ID_in_output_expression14745 = frozenset([186]) + FOLLOW_R_PAREN_in_output_expression14747 = frozenset([92]) + FOLLOW_FROM_in_output_expression14755 = frozenset([102]) + FOLLOW_ID_in_output_expression14759 = frozenset([1, 226]) + FOLLOW_TO_in_output_expression14763 = frozenset([102]) + FOLLOW_ID_in_output_expression14767 = frozenset([1]) + FOLLOW_primary_in_primary_expression14849 = frozenset([1]) + FOLLOW_L_PAREN_in_primary_expression14897 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary_expression14899 = frozenset([186]) + FOLLOW_R_PAREN_in_primary_expression14901 = frozenset([1]) + FOLLOW_conditional_expression_in_primary_expression14938 = frozenset([1]) + FOLLOW_TRUE_in_primary14973 = frozenset([1]) + FOLLOW_FALSE_in_primary14992 = frozenset([1]) + FOLLOW_STRING_in_primary15011 = frozenset([1]) + FOLLOW_PLUS_INFINITY_in_primary15029 = frozenset([1]) + FOLLOW_MINUS_INFINITY_in_primary15048 = frozenset([1]) + FOLLOW_INT_in_primary15067 = frozenset([1]) + FOLLOW_FLOAT_in_primary15086 = frozenset([1]) + FOLLOW_ID_in_primary15105 = frozenset([255]) + FOLLOW_255_in_primary15107 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary15109 = frozenset([1]) + FOLLOW_ID_in_primary15147 = frozenset([1]) + FOLLOW_L_BRACKET_in_primary15198 = frozenset([185]) + FOLLOW_R_BRACKET_in_primary15200 = frozenset([1]) + FOLLOW_L_BRACKET_in_primary15244 = frozenset([131]) + FOLLOW_MANTISSA_in_primary15262 = frozenset([115]) + FOLLOW_INT_in_primary15266 = frozenset([32]) + FOLLOW_COMMA_in_primary15268 = frozenset([23]) + FOLLOW_BASE_in_primary15286 = frozenset([115]) + FOLLOW_INT_in_primary15290 = frozenset([32]) + FOLLOW_COMMA_in_primary15292 = frozenset([74]) + FOLLOW_EXPONENT_in_primary15310 = frozenset([115]) + FOLLOW_INT_in_primary15314 = frozenset([185]) + FOLLOW_R_BRACKET_in_primary15332 = frozenset([1]) + FOLLOW_L_BRACKET_in_primary15389 = frozenset([102]) + FOLLOW_named_value_in_primary15407 = frozenset([32, 185]) + FOLLOW_COMMA_in_primary15410 = frozenset([102]) + FOLLOW_named_value_in_primary15412 = frozenset([32, 185]) + FOLLOW_R_BRACKET_in_primary15432 = frozenset([1]) + FOLLOW_L_BRACKET_in_primary15483 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary15501 = frozenset([32, 185]) + FOLLOW_COMMA_in_primary15504 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary15506 = frozenset([32, 185]) + FOLLOW_R_BRACKET_in_primary15526 = frozenset([1]) + FOLLOW_MKSTRING_in_primary15577 = frozenset([129]) + FOLLOW_L_PAREN_in_primary15579 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary15581 = frozenset([32, 186]) + FOLLOW_COMMA_in_primary15584 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary15586 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_primary15590 = frozenset([1]) + FOLLOW_STATE_in_primary15661 = frozenset([1]) + FOLLOW_STRING_in_informal_text15695 = frozenset([1]) + FOLLOW_ID_in_named_value15750 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_named_value15752 = frozenset([1]) + FOLLOW_primary_in_indexed_primary15790 = frozenset([129]) + FOLLOW_L_PAREN_in_indexed_primary15792 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_list_in_indexed_primary15794 = frozenset([186]) + FOLLOW_R_PAREN_in_indexed_primary15796 = frozenset([1]) + FOLLOW_primary_in_field_primary15828 = frozenset([49, 248]) + FOLLOW_field_selection_in_field_primary15830 = frozenset([1]) + FOLLOW_249_in_structure_primary15862 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_list_in_structure_primary15864 = frozenset([253]) + FOLLOW_253_in_structure_primary15866 = frozenset([1]) + FOLLOW_sort_id_in_sort15897 = frozenset([1]) + FOLLOW_type_id_in_type_inst15950 = frozenset([1]) + FOLLOW_syntype_id_in_syntype15995 = frozenset([1]) + FOLLOW_variable_id_in_variable_access16029 = frozenset([1]) + FOLLOW_external_synonym_id_in_external_synonym16065 = frozenset([1]) + FOLLOW_IF_in_conditional_expression16097 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_conditional_expression16101 = frozenset([223]) + FOLLOW_THEN_in_conditional_expression16119 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_conditional_expression16123 = frozenset([51]) + FOLLOW_ELSE_in_conditional_expression16141 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_conditional_expression16145 = frozenset([82]) + FOLLOW_FI_in_conditional_expression16147 = frozenset([1]) + FOLLOW_expression_in_expression_list16207 = frozenset([1, 32]) + FOLLOW_COMMA_in_expression_list16210 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_expression_list16212 = frozenset([1, 32]) + FOLLOW_label_in_terminator_statement16264 = frozenset([119, 142, 180, 204, 254]) + FOLLOW_cif_in_terminator_statement16283 = frozenset([119, 142, 180, 204, 254]) + FOLLOW_symbolid_in_terminator_statement16302 = frozenset([119, 142, 180, 204, 254]) + FOLLOW_hyperlink_in_terminator_statement16321 = frozenset([119, 142, 180, 204, 254]) + FOLLOW_requirement_in_terminator_statement16340 = frozenset([119, 142, 180, 204, 254]) + FOLLOW_rid_in_terminator_statement16359 = frozenset([119, 142, 180, 204, 254]) + FOLLOW_terminator_in_terminator_statement16378 = frozenset([33, 190, 254]) + FOLLOW_end_in_terminator_statement16396 = frozenset([1]) + FOLLOW_cif_in_label16469 = frozenset([102, 254]) + FOLLOW_symbolid_in_label16472 = frozenset([102]) + FOLLOW_connector_name_in_label16475 = frozenset([255]) + FOLLOW_255_in_label16477 = frozenset([1]) + FOLLOW_nextstate_in_terminator16536 = frozenset([1]) + FOLLOW_join_in_terminator16540 = frozenset([1]) + FOLLOW_stop_in_terminator16544 = frozenset([1]) + FOLLOW_return_stmt_in_terminator16548 = frozenset([1]) + FOLLOW_JOIN_in_join16581 = frozenset([102]) + FOLLOW_connector_name_in_join16583 = frozenset([1]) + FOLLOW_STOP_in_stop16632 = frozenset([1]) + FOLLOW_RETURN_in_return_stmt16664 = frozenset([1, 27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_return_stmt16666 = frozenset([1]) + FOLLOW_NEXTSTATE_in_nextstate16721 = frozenset([43, 102, 251]) + FOLLOW_nextstatebody_in_nextstate16723 = frozenset([1]) + FOLLOW_statename_in_nextstatebody16776 = frozenset([1, 238, 255]) + FOLLOW_255_in_nextstatebody16779 = frozenset([102]) + FOLLOW_type_inst_in_nextstatebody16782 = frozenset([1, 238]) + FOLLOW_via_in_nextstatebody16786 = frozenset([1]) + FOLLOW_dash_nextstate_in_nextstatebody16807 = frozenset([1]) + FOLLOW_history_nextstate_in_nextstatebody16827 = frozenset([1]) + FOLLOW_VIA_in_via16855 = frozenset([102]) + FOLLOW_state_entry_point_name_in_via16857 = frozenset([1]) + FOLLOW_cif_in_end16907 = frozenset([33, 254]) + FOLLOW_symbolid_in_end16910 = frozenset([33, 254]) + FOLLOW_hyperlink_in_end16913 = frozenset([33]) + FOLLOW_COMMENT_in_end16916 = frozenset([207]) + FOLLOW_STRING_in_end16918 = frozenset([190]) + FOLLOW_SEMI_in_end16922 = frozenset([1, 190]) + FOLLOW_cif_decl_in_cif16982 = frozenset([10, 13, 33, 37, 41, 45, 111, 119, 123, 142, 151, 166, 167, 169, 170, 180, 198, 199, 204, 217, 220]) + FOLLOW_symbolname_in_cif16984 = frozenset([129]) + FOLLOW_L_PAREN_in_cif17002 = frozenset([43, 115]) + FOLLOW_signed_in_cif17006 = frozenset([32]) + FOLLOW_COMMA_in_cif17008 = frozenset([43, 115]) + FOLLOW_signed_in_cif17012 = frozenset([186]) + FOLLOW_R_PAREN_in_cif17014 = frozenset([32]) + FOLLOW_COMMA_in_cif17032 = frozenset([129]) + FOLLOW_L_PAREN_in_cif17050 = frozenset([115]) + FOLLOW_INT_in_cif17054 = frozenset([32]) + FOLLOW_COMMA_in_cif17056 = frozenset([115]) + FOLLOW_INT_in_cif17060 = frozenset([186]) + FOLLOW_R_PAREN_in_cif17062 = frozenset([250]) + FOLLOW_cif_end_in_cif17080 = frozenset([1]) + FOLLOW_cif_decl_in_hyperlink17144 = frozenset([121]) + FOLLOW_KEEP_in_hyperlink17146 = frozenset([197]) + FOLLOW_SPECIFIC_in_hyperlink17148 = frozenset([95]) + FOLLOW_GEODE_in_hyperlink17150 = frozenset([100]) + FOLLOW_HYPERLINK_in_hyperlink17152 = frozenset([207]) + FOLLOW_STRING_in_hyperlink17154 = frozenset([250]) + FOLLOW_cif_end_in_hyperlink17172 = frozenset([1]) + FOLLOW_cif_decl_in_req_server17226 = frozenset([121]) + FOLLOW_KEEP_in_req_server17228 = frozenset([197]) + FOLLOW_SPECIFIC_in_req_server17230 = frozenset([95]) + FOLLOW_GEODE_in_req_server17232 = frozenset([179]) + FOLLOW_REQ_SERVER_in_req_server17234 = frozenset([207]) + FOLLOW_STRING_in_req_server17236 = frozenset([250]) + FOLLOW_cif_end_in_req_server17254 = frozenset([1]) + FOLLOW_cif_decl_in_rid_server17308 = frozenset([121]) + FOLLOW_KEEP_in_rid_server17310 = frozenset([197]) + FOLLOW_SPECIFIC_in_rid_server17312 = frozenset([95]) + FOLLOW_GEODE_in_rid_server17314 = frozenset([183]) + FOLLOW_RID_SERVER_in_rid_server17316 = frozenset([207]) + FOLLOW_STRING_in_rid_server17318 = frozenset([250]) + FOLLOW_cif_end_in_rid_server17336 = frozenset([1]) + FOLLOW_cif_decl_in_requirement17391 = frozenset([121]) + FOLLOW_KEEP_in_requirement17393 = frozenset([197]) + FOLLOW_SPECIFIC_in_requirement17395 = frozenset([95]) + FOLLOW_GEODE_in_requirement17397 = frozenset([178]) + FOLLOW_REQ_ID_in_requirement17399 = frozenset([207]) + FOLLOW_STRING_in_requirement17401 = frozenset([250]) + FOLLOW_cif_end_in_requirement17419 = frozenset([1]) + FOLLOW_cif_decl_in_rid17474 = frozenset([121]) + FOLLOW_KEEP_in_rid17476 = frozenset([197]) + FOLLOW_SPECIFIC_in_rid17478 = frozenset([95]) + FOLLOW_GEODE_in_rid17480 = frozenset([182]) + FOLLOW_RID_ID_in_rid17482 = frozenset([207]) + FOLLOW_STRING_in_rid17484 = frozenset([250]) + FOLLOW_cif_end_in_rid17502 = frozenset([1]) + FOLLOW_cif_decl_in_partition17555 = frozenset([121]) + FOLLOW_KEEP_in_partition17557 = frozenset([197]) + FOLLOW_SPECIFIC_in_partition17559 = frozenset([95]) + FOLLOW_GEODE_in_partition17561 = frozenset([159]) + FOLLOW_PARTITION_in_partition17563 = frozenset([207]) + FOLLOW_STRING_in_partition17565 = frozenset([250]) + FOLLOW_cif_end_in_partition17583 = frozenset([1]) + FOLLOW_cif_decl_in_symbolid17636 = frozenset([256]) + FOLLOW_256_in_symbolid17638 = frozenset([115]) + FOLLOW_INT_in_symbolid17642 = frozenset([250]) + FOLLOW_cif_end_in_symbolid17644 = frozenset([1]) + FOLLOW_cif_decl_in_paramnames17699 = frozenset([121]) + FOLLOW_KEEP_in_paramnames17701 = frozenset([197]) + FOLLOW_SPECIFIC_in_paramnames17703 = frozenset([95]) + FOLLOW_GEODE_in_paramnames17705 = frozenset([156]) + FOLLOW_PARAMNAMES_in_paramnames17707 = frozenset([102, 199]) + FOLLOW_field_name_in_paramnames17709 = frozenset([102, 199, 250]) + FOLLOW_cif_end_in_paramnames17712 = frozenset([1]) + FOLLOW_cif_decl_in_use_asn117768 = frozenset([121]) + FOLLOW_KEEP_in_use_asn117770 = frozenset([197]) + FOLLOW_SPECIFIC_in_use_asn117772 = frozenset([95]) + FOLLOW_GEODE_in_use_asn117774 = frozenset([18]) + FOLLOW_ASNFILENAME_in_use_asn117776 = frozenset([207]) + FOLLOW_STRING_in_use_asn117778 = frozenset([250]) + FOLLOW_cif_end_in_use_asn117780 = frozenset([1]) + FOLLOW_STOP_in_stop_if17836 = frozenset([103]) + FOLLOW_IF_in_stop_if17838 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_stop_if17840 = frozenset([33, 190, 254]) + FOLLOW_end_in_stop_if17842 = frozenset([1, 204]) + FOLLOW_254_in_cif_decl18330 = frozenset([1]) + FOLLOW_250_in_cif_end18362 = frozenset([1]) + FOLLOW_cif_decl_in_cif_end_text18394 = frozenset([67]) + FOLLOW_ENDTEXT_in_cif_end_text18396 = frozenset([250]) + FOLLOW_cif_end_in_cif_end_text18398 = frozenset([1]) + FOLLOW_cif_decl_in_cif_end_label18449 = frozenset([53]) + FOLLOW_END_in_cif_end_label18451 = frozenset([123]) + FOLLOW_LABEL_in_cif_end_label18453 = frozenset([250]) + FOLLOW_cif_end_in_cif_end_label18455 = frozenset([1]) + FOLLOW_n7s_scl_statement_in_n7s_scl18489 = frozenset([1, 11, 73, 86, 140]) + FOLLOW_n7s_scl_never_in_n7s_scl_statement18545 = frozenset([1]) + FOLLOW_n7s_scl_always_in_n7s_scl_statement18549 = frozenset([1]) + FOLLOW_n7s_scl_eventually_in_n7s_scl_statement18553 = frozenset([1]) + FOLLOW_n7s_scl_filter_out_in_n7s_scl_statement18557 = frozenset([1]) + FOLLOW_NEVER_in_n7s_scl_never18590 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_n7s_scl_never18592 = frozenset([33, 190, 254]) + FOLLOW_end_in_n7s_scl_never18594 = frozenset([1]) + FOLLOW_ALWAYS_in_n7s_scl_always18648 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_n7s_scl_always18650 = frozenset([33, 190, 254]) + FOLLOW_end_in_n7s_scl_always18652 = frozenset([1]) + FOLLOW_EVENTUALLY_in_n7s_scl_eventually18706 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_n7s_scl_eventually18708 = frozenset([33, 190, 254]) + FOLLOW_end_in_n7s_scl_eventually18710 = frozenset([1]) + FOLLOW_FILTER_OUT_in_n7s_scl_filter_out18764 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_n7s_scl_filter_out18766 = frozenset([33, 190, 254]) + FOLLOW_end_in_n7s_scl_filter_out18768 = frozenset([1]) + FOLLOW_251_in_history_nextstate18960 = frozenset([1]) + FOLLOW_DASH_in_dash_nextstate18991 = frozenset([1]) + FOLLOW_ID_in_connector_name19005 = frozenset([1]) + FOLLOW_ID_in_signal_id19024 = frozenset([1]) + FOLLOW_ID_in_statename19043 = frozenset([1]) + FOLLOW_ID_in_state_exit_point_name19072 = frozenset([1]) + FOLLOW_ID_in_state_entry_point_name19101 = frozenset([1]) + FOLLOW_ID_in_variable_id19118 = frozenset([1]) + FOLLOW_ID_in_process_id19158 = frozenset([1]) + FOLLOW_ID_in_system_name19175 = frozenset([1]) + FOLLOW_ID_in_package_name19191 = frozenset([1]) + FOLLOW_ID_in_priority_signal_id19220 = frozenset([1]) + FOLLOW_ID_in_signal_list_id19234 = frozenset([1]) + FOLLOW_ID_in_timer_id19254 = frozenset([1]) + FOLLOW_ID_in_enumerant19295 = frozenset([1]) + FOLLOW_ID_in_signal_route_id19308 = frozenset([1]) + FOLLOW_ID_in_channel_id19326 = frozenset([1]) + FOLLOW_ID_in_route_id19346 = frozenset([1]) + FOLLOW_ID_in_block_id19366 = frozenset([1]) + FOLLOW_ID_in_source_id19385 = frozenset([1]) + FOLLOW_ID_in_dest_id19406 = frozenset([1]) + FOLLOW_ID_in_gate_id19427 = frozenset([1]) + FOLLOW_ID_in_procedure_id19443 = frozenset([1]) + FOLLOW_ID_in_remote_procedure_id19472 = frozenset([1]) + FOLLOW_ID_in_operator_id19489 = frozenset([1]) + FOLLOW_ID_in_synonym_id19507 = frozenset([1]) + FOLLOW_ID_in_external_synonym_id19536 = frozenset([1]) + FOLLOW_ID_in_remote_variable_id19565 = frozenset([1]) + FOLLOW_ID_in_view_id19586 = frozenset([1]) + FOLLOW_ID_in_sort_id19607 = frozenset([1]) + FOLLOW_ID_in_type_id19628 = frozenset([1]) + FOLLOW_ID_in_syntype_id19646 = frozenset([1]) + FOLLOW_ID_in_stimulus_id19663 = frozenset([1]) + FOLLOW_S_in_pid_expression20963 = frozenset([50]) + FOLLOW_E_in_pid_expression20965 = frozenset([122]) + FOLLOW_L_in_pid_expression20967 = frozenset([80]) + FOLLOW_F_in_pid_expression20969 = frozenset([1]) + FOLLOW_P_in_pid_expression20995 = frozenset([4]) + FOLLOW_A_in_pid_expression20997 = frozenset([173]) + FOLLOW_R_in_pid_expression20999 = frozenset([50]) + FOLLOW_E_in_pid_expression21001 = frozenset([136]) + FOLLOW_N_in_pid_expression21003 = frozenset([216]) + FOLLOW_T_in_pid_expression21005 = frozenset([1]) + FOLLOW_O_in_pid_expression21031 = frozenset([80]) + FOLLOW_F_in_pid_expression21033 = frozenset([80]) + FOLLOW_F_in_pid_expression21035 = frozenset([187]) + FOLLOW_S_in_pid_expression21037 = frozenset([154]) + FOLLOW_P_in_pid_expression21039 = frozenset([173]) + FOLLOW_R_in_pid_expression21041 = frozenset([101]) + FOLLOW_I_in_pid_expression21043 = frozenset([136]) + FOLLOW_N_in_pid_expression21045 = frozenset([93]) + FOLLOW_G_in_pid_expression21047 = frozenset([1]) + FOLLOW_S_in_pid_expression21073 = frozenset([50]) + FOLLOW_E_in_pid_expression21075 = frozenset([136]) + FOLLOW_N_in_pid_expression21077 = frozenset([42]) + FOLLOW_D_in_pid_expression21079 = frozenset([50]) + FOLLOW_E_in_pid_expression21081 = frozenset([173]) + FOLLOW_R_in_pid_expression21083 = frozenset([1]) + FOLLOW_N_in_now_expression21097 = frozenset([146]) + FOLLOW_O_in_now_expression21099 = frozenset([241]) + FOLLOW_W_in_now_expression21101 = frozenset([1]) + FOLLOW_DASH_in_signed24530 = frozenset([115]) + FOLLOW_INT_in_signed24533 = frozenset([1]) + FOLLOW_signal_declaration_in_synpred9_sdl921958 = frozenset([1]) + FOLLOW_text_area_in_synpred10_sdl921978 = frozenset([1]) + FOLLOW_procedure_in_synpred11_sdl921998 = frozenset([1]) + FOLLOW_text_area_in_synpred37_sdl922938 = frozenset([1]) + FOLLOW_procedure_in_synpred38_sdl922942 = frozenset([1]) + FOLLOW_composite_state_preamble_in_synpred39_sdl922947 = frozenset([1]) + FOLLOW_processBody_in_synpred40_sdl922971 = frozenset([1]) + FOLLOW_end_in_synpred46_sdl923201 = frozenset([1]) + FOLLOW_end_in_synpred54_sdl923429 = frozenset([1]) + FOLLOW_text_area_in_synpred57_sdl923493 = frozenset([1]) + FOLLOW_procedure_in_synpred58_sdl923497 = frozenset([1]) + FOLLOW_processBody_in_synpred59_sdl923519 = frozenset([1]) + FOLLOW_symbolid_in_synpred74_sdl924083 = frozenset([1]) + FOLLOW_content_in_synpred75_sdl924102 = frozenset([1]) + FOLLOW_end_in_synpred138_sdl926805 = frozenset([1]) + FOLLOW_end_in_synpred148_sdl927065 = frozenset([1]) + FOLLOW_text_area_in_synpred162_sdl927847 = frozenset([1]) + FOLLOW_text_area_in_synpred169_sdl928349 = frozenset([1]) + FOLLOW_procedure_in_synpred170_sdl928365 = frozenset([1]) + FOLLOW_composite_state_preamble_in_synpred171_sdl928382 = frozenset([1]) + FOLLOW_enabling_condition_in_synpred209_sdl929721 = frozenset([1]) + FOLLOW_label_in_synpred216_sdl9210022 = frozenset([1]) + FOLLOW_actual_parameters_in_synpred233_sdl9210634 = frozenset([1]) + FOLLOW_answer_part_in_synpred240_sdl9210822 = frozenset([1]) + FOLLOW_answer_part_in_synpred250_sdl9211205 = frozenset([1]) + FOLLOW_range_condition_in_synpred258_sdl9211516 = frozenset([1]) + FOLLOW_informal_text_in_synpred265_sdl9211737 = frozenset([1]) + FOLLOW_expression_in_synpred266_sdl9211757 = frozenset([1]) + FOLLOW_closed_range_in_synpred267_sdl9211850 = frozenset([1]) + FOLLOW_closed_range_in_synpred268_sdl9211878 = frozenset([1]) + FOLLOW_COMMA_in_synpred269_sdl9211874 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_closed_range_in_synpred269_sdl9211878 = frozenset([1]) + FOLLOW_open_range_in_synpred269_sdl9211880 = frozenset([1]) + FOLLOW_COMMA_in_synpred309_sdl9213621 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_synpred309_sdl9213625 = frozenset([1]) + FOLLOW_IMPLIES_in_synpred313_sdl9213887 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_0_in_synpred313_sdl9213890 = frozenset([1]) + FOLLOW_OR_in_synpred316_sdl9213919 = frozenset([27, 43, 51, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ELSE_in_synpred316_sdl9213922 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_XOR_in_synpred316_sdl9213928 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_1_in_synpred316_sdl9213933 = frozenset([1]) + FOLLOW_AND_in_synpred318_sdl9213960 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 223, 228, 232]) + FOLLOW_THEN_in_synpred318_sdl9213963 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_2_in_synpred318_sdl9213966 = frozenset([1]) + FOLLOW_set_in_synpred325_sdl9213992 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_3_in_synpred325_sdl9214029 = frozenset([1]) + FOLLOW_set_in_synpred328_sdl9214055 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_4_in_synpred328_sdl9214072 = frozenset([1]) + FOLLOW_set_in_synpred332_sdl9214098 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_unary_expression_in_synpred332_sdl9214120 = frozenset([1]) + FOLLOW_postfix_expression_in_synpred333_sdl9214145 = frozenset([1]) + FOLLOW_primary_expression_in_synpred334_sdl9214163 = frozenset([1]) + FOLLOW_L_PAREN_in_synpred340_sdl9214370 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 186, 199, 207, 228, 232]) + FOLLOW_expression_list_in_synpred340_sdl9214374 = frozenset([186]) + FOLLOW_R_PAREN_in_synpred340_sdl9214377 = frozenset([1]) + FOLLOW_set_in_synpred342_sdl9214432 = frozenset([102, 199]) + FOLLOW_field_name_in_synpred342_sdl9214440 = frozenset([1]) + FOLLOW_ID_in_synpred362_sdl9215105 = frozenset([255]) + FOLLOW_255_in_synpred362_sdl9215107 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_synpred362_sdl9215109 = frozenset([1]) + FOLLOW_ID_in_synpred363_sdl9215147 = frozenset([1]) + FOLLOW_L_BRACKET_in_synpred364_sdl9215198 = frozenset([185]) + FOLLOW_R_BRACKET_in_synpred364_sdl9215200 = frozenset([1]) + FOLLOW_L_BRACKET_in_synpred365_sdl9215244 = frozenset([131]) + FOLLOW_MANTISSA_in_synpred365_sdl9215262 = frozenset([115]) + FOLLOW_INT_in_synpred365_sdl9215266 = frozenset([32]) + FOLLOW_COMMA_in_synpred365_sdl9215268 = frozenset([23]) + FOLLOW_BASE_in_synpred365_sdl9215286 = frozenset([115]) + FOLLOW_INT_in_synpred365_sdl9215290 = frozenset([32]) + FOLLOW_COMMA_in_synpred365_sdl9215292 = frozenset([74]) + FOLLOW_EXPONENT_in_synpred365_sdl9215310 = frozenset([115]) + FOLLOW_INT_in_synpred365_sdl9215314 = frozenset([185]) + FOLLOW_R_BRACKET_in_synpred365_sdl9215332 = frozenset([1]) + FOLLOW_L_BRACKET_in_synpred367_sdl9215389 = frozenset([102]) + FOLLOW_named_value_in_synpred367_sdl9215407 = frozenset([32, 185]) + FOLLOW_COMMA_in_synpred367_sdl9215410 = frozenset([102]) + FOLLOW_named_value_in_synpred367_sdl9215412 = frozenset([32, 185]) + FOLLOW_R_BRACKET_in_synpred367_sdl9215432 = frozenset([1]) + FOLLOW_L_BRACKET_in_synpred369_sdl9215483 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_synpred369_sdl9215501 = frozenset([32, 185]) + FOLLOW_COMMA_in_synpred369_sdl9215504 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_synpred369_sdl9215506 = frozenset([32, 185]) + FOLLOW_R_BRACKET_in_synpred369_sdl9215526 = frozenset([1]) + FOLLOW_SEMI_in_synpred393_sdl9216922 = frozenset([1]) diff --git a/sdl92.g b/sdl92.g index 8169e7d4..3a52601e 100644 --- a/sdl92.g +++ b/sdl92.g @@ -101,6 +101,8 @@ tokens { QUESTION; RANGE; RENAMES; + REQ_SERVER; + RID_SERVER; INTERCEPT; //RESET; REQ_ID; @@ -279,15 +281,20 @@ connection process_definition : cif? symbolid? + req_server? + rid_server? + requirement* + rid* 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? symbolid? process_id number_of_instances? type_inst? - $t? REFERENCED? $a? pfpar? text_area* procedure* - composite_state* processBody?) + -> ^(PROCESS cif? symbolid? req_server? rid_server? requirement* + rid* process_id number_of_instances? type_inst? + $t? REFERENCED? $a? pfpar? text_area* procedure* + composite_state* processBody?) ; @@ -312,6 +319,8 @@ parameters_of_sort procedure : cif? symbolid? + requirement* + rid* partition? EXPORTED? PROCEDURE procedure_id (e1=end | SEMI) fpar? @@ -320,7 +329,8 @@ procedure ((processBody? ENDPROCEDURE procedure_id?) | EXTERNAL | REFERENCED) e2=end - -> ^(PROCEDURE cif? symbolid? partition? procedure_id $e1? $e2? fpar? $res? + -> ^(PROCEDURE cif? symbolid? partition? requirement* rid* + procedure_id $e1? $e2? fpar? $res? text_area* procedure* processBody? EXTERNAL? EXPORTED? REFERENCED?) ; @@ -350,12 +360,14 @@ formal_variable_param // text_area: TODO add operator description in content text_area - : partition? + : requirement* + rid* + partition? cif symbolid? content? cif_end_text - -> ^(TEXTAREA cif symbolid? partition? content? cif_end_text) + -> ^(TEXTAREA cif symbolid? requirement* rid* partition? content? cif_end_text) ; @@ -533,9 +545,9 @@ start : cif? symbolid? hyperlink? - partition? requirement* rid* + partition? START name=state_entry_point_name? end transition? -> ^(START cif? symbolid? partition? hyperlink? requirement* $name? end? transition?) @@ -546,9 +558,9 @@ floating_label : cif? symbolid? hyperlink? - partition? requirement* rid* + partition? CONNECTION connector_name ':' transition? cif_end_label? @@ -567,9 +579,9 @@ state_definition : cif? symbolid? hyperlink? - partition? requirement* rid* + partition? STATE statelist via? (e=end | SEMI) (state_part)* ENDSTATE statename? f=end @@ -581,9 +593,9 @@ state_instance : cif? symbolid? hyperlink? - partition? requirement* rid* + partition? STATE statename ':' type_inst via? (e=end | SEMI) (state_part)* ENDSTATE statename? f=end @@ -1499,21 +1511,37 @@ hyperlink ; +// Optional gitlab server to keep track of requirments +req_server + : cif_decl KEEP SPECIFIC GEODE REQ_SERVER STRING + cif_end + -> ^(REQ_SERVER STRING) + ; + + +// Optional gitlab server to keep track of model review items +rid_server + : cif_decl KEEP SPECIFIC GEODE RID_SERVER STRING + cif_end + -> ^(RID_SERVER STRING) + ; + + // It is possible to associate requirement IDs to any element of the model // using this CIF extension requirement - : cif_decl KEEP SPECIFIC GEODE REQ_ID INT + : cif_decl KEEP SPECIFIC GEODE REQ_ID STRING cif_end - -> ^(REQ_ID INT) + -> ^(REQ_ID STRING) ; // It is possible to associate review IDs to any element of the model // using this CIF extension rid - : cif_decl KEEP SPECIFIC GEODE RID_ID INT + : cif_decl KEEP SPECIFIC GEODE RID_ID STRING cif_end - -> ^(RID_ID INT) + -> ^(RID_ID STRING) ; @@ -1707,6 +1735,8 @@ PARAMNAMES : P A R A M N A M E S; SPECIFIC : S P E C I F I C; GEODE : G E O D E; HYPERLINK : H Y P E R L I N K; +REQ_SERVER : R E Q S E R V E R; +RID_SERVER : R I D S E R V E R; PARTITION : P A R T I T I O N; MKSTRING : M K S T R I N G; ENDTEXT : E N D T E X T; From da71eef4e4294bedaecb9e4be6730b3be97ea974 Mon Sep 17 00:00:00 2001 From: Maxime Perrotin Date: Fri, 26 Apr 2024 23:22:41 +0200 Subject: [PATCH 2/3] Improve parser speed by adding memoization This speeds up backtracking by orders of magnitude. --- opengeode/sdl92Lexer.py | 740 +- opengeode/sdl92Parser.py | 48797 ++++++++++++++++++------------------- sdl92.g | 278 +- 3 files changed, 23846 insertions(+), 25969 deletions(-) diff --git a/opengeode/sdl92Lexer.py b/opengeode/sdl92Lexer.py index c515cf28..52be9dcf 100644 --- a/opengeode/sdl92Lexer.py +++ b/opengeode/sdl92Lexer.py @@ -1,4 +1,4 @@ -# $ANTLR 3.5.2 sdl92.g 2024-04-26 13:30:03 +# $ANTLR 3.5.2 sdl92.g 2024-04-26 23:19:14 import sys from antlr3 import * @@ -572,8 +572,8 @@ def mALWAYS(self, ): _type = ALWAYS _channel = DEFAULT_CHANNEL - # sdl92.g:1668:17: ( A L W A Y S ) - # sdl92.g:1668:25: A L W A Y S + # sdl92.g:1552:17: ( A L W A Y S ) + # sdl92.g:1552:25: A L W A Y S pass self.mA() @@ -610,8 +610,8 @@ def mNEVER(self, ): _type = NEVER _channel = DEFAULT_CHANNEL - # sdl92.g:1669:17: ( N E V E R ) - # sdl92.g:1669:25: N E V E R + # sdl92.g:1553:17: ( N E V E R ) + # sdl92.g:1553:25: N E V E R pass self.mN() @@ -645,8 +645,8 @@ def mEVENTUALLY(self, ): _type = EVENTUALLY _channel = DEFAULT_CHANNEL - # sdl92.g:1670:17: ( E V E N T U A L L Y ) - # sdl92.g:1670:25: E V E N T U A L L Y + # sdl92.g:1554:17: ( E V E N T U A L L Y ) + # sdl92.g:1554:25: E V E N T U A L L Y pass self.mE() @@ -695,8 +695,8 @@ def mFILTER_OUT(self, ): _type = FILTER_OUT _channel = DEFAULT_CHANNEL - # sdl92.g:1671:17: ( F I L T E R '_' O U T ) - # sdl92.g:1671:25: F I L T E R '_' O U T + # sdl92.g:1555:17: ( F I L T E R '_' O U T ) + # sdl92.g:1555:25: F I L T E R '_' O U T pass self.mF() @@ -744,8 +744,8 @@ def mASSIG_OP(self, ): _type = ASSIG_OP _channel = DEFAULT_CHANNEL - # sdl92.g:1719:17: ( ':=' ) - # sdl92.g:1719:25: ':=' + # sdl92.g:1603:17: ( ':=' ) + # sdl92.g:1603:25: ':=' pass self.match(":=") @@ -767,8 +767,8 @@ def mL_BRACKET(self, ): _type = L_BRACKET _channel = DEFAULT_CHANNEL - # sdl92.g:1720:17: ( '{' ) - # sdl92.g:1720:25: '{' + # sdl92.g:1604:17: ( '{' ) + # sdl92.g:1604:25: '{' pass self.match(123) @@ -789,8 +789,8 @@ def mR_BRACKET(self, ): _type = R_BRACKET _channel = DEFAULT_CHANNEL - # sdl92.g:1721:17: ( '}' ) - # sdl92.g:1721:25: '}' + # sdl92.g:1605:17: ( '}' ) + # sdl92.g:1605:25: '}' pass self.match(125) @@ -811,8 +811,8 @@ def mL_PAREN(self, ): _type = L_PAREN _channel = DEFAULT_CHANNEL - # sdl92.g:1722:17: ( '(' ) - # sdl92.g:1722:25: '(' + # sdl92.g:1606:17: ( '(' ) + # sdl92.g:1606:25: '(' pass self.match(40) @@ -833,8 +833,8 @@ def mR_PAREN(self, ): _type = R_PAREN _channel = DEFAULT_CHANNEL - # sdl92.g:1723:17: ( ')' ) - # sdl92.g:1723:25: ')' + # sdl92.g:1607:17: ( ')' ) + # sdl92.g:1607:25: ')' pass self.match(41) @@ -855,8 +855,8 @@ def mCOMMA(self, ): _type = COMMA _channel = DEFAULT_CHANNEL - # sdl92.g:1724:17: ( ',' ) - # sdl92.g:1724:25: ',' + # sdl92.g:1608:17: ( ',' ) + # sdl92.g:1608:25: ',' pass self.match(44) @@ -877,8 +877,8 @@ def mSEMI(self, ): _type = SEMI _channel = DEFAULT_CHANNEL - # sdl92.g:1725:17: ( ';' ) - # sdl92.g:1725:25: ';' + # sdl92.g:1609:17: ( ';' ) + # sdl92.g:1609:25: ';' pass self.match(59) @@ -899,8 +899,8 @@ def mDASH(self, ): _type = DASH _channel = DEFAULT_CHANNEL - # sdl92.g:1726:17: ( '-' ) - # sdl92.g:1726:25: '-' + # sdl92.g:1610:17: ( '-' ) + # sdl92.g:1610:25: '-' pass self.match(45) @@ -921,8 +921,8 @@ def mANY(self, ): _type = ANY _channel = DEFAULT_CHANNEL - # sdl92.g:1727:17: ( A N Y ) - # sdl92.g:1727:25: A N Y + # sdl92.g:1611:17: ( A N Y ) + # sdl92.g:1611:25: A N Y pass self.mA() @@ -950,8 +950,8 @@ def mASTERISK(self, ): _type = ASTERISK _channel = DEFAULT_CHANNEL - # sdl92.g:1728:17: ( '*' ) - # sdl92.g:1728:25: '*' + # sdl92.g:1612:17: ( '*' ) + # sdl92.g:1612:25: '*' pass self.match(42) @@ -972,8 +972,8 @@ def mDCL(self, ): _type = DCL _channel = DEFAULT_CHANNEL - # sdl92.g:1729:17: ( D C L ) - # sdl92.g:1729:25: D C L + # sdl92.g:1613:17: ( D C L ) + # sdl92.g:1613:25: D C L pass self.mD() @@ -1001,8 +1001,8 @@ def mRENAMES(self, ): _type = RENAMES _channel = DEFAULT_CHANNEL - # sdl92.g:1730:17: ( R E N A M E S ) - # sdl92.g:1730:25: R E N A M E S + # sdl92.g:1614:17: ( R E N A M E S ) + # sdl92.g:1614:25: R E N A M E S pass self.mR() @@ -1042,8 +1042,8 @@ def mMONITOR(self, ): _type = MONITOR _channel = DEFAULT_CHANNEL - # sdl92.g:1731:17: ( M O N I T O R ) - # sdl92.g:1731:25: M O N I T O R + # sdl92.g:1615:17: ( M O N I T O R ) + # sdl92.g:1615:25: M O N I T O R pass self.mM() @@ -1083,8 +1083,8 @@ def mEND(self, ): _type = END _channel = DEFAULT_CHANNEL - # sdl92.g:1732:17: ( E N D ) - # sdl92.g:1732:25: E N D + # sdl92.g:1616:17: ( E N D ) + # sdl92.g:1616:25: E N D pass self.mE() @@ -1112,8 +1112,8 @@ def mKEEP(self, ): _type = KEEP _channel = DEFAULT_CHANNEL - # sdl92.g:1733:17: ( K E E P ) - # sdl92.g:1733:25: K E E P + # sdl92.g:1617:17: ( K E E P ) + # sdl92.g:1617:25: K E E P pass self.mK() @@ -1144,8 +1144,8 @@ def mPARAMNAMES(self, ): _type = PARAMNAMES _channel = DEFAULT_CHANNEL - # sdl92.g:1734:17: ( P A R A M N A M E S ) - # sdl92.g:1734:25: P A R A M N A M E S + # sdl92.g:1618:17: ( P A R A M N A M E S ) + # sdl92.g:1618:25: P A R A M N A M E S pass self.mP() @@ -1194,8 +1194,8 @@ def mSPECIFIC(self, ): _type = SPECIFIC _channel = DEFAULT_CHANNEL - # sdl92.g:1735:17: ( S P E C I F I C ) - # sdl92.g:1735:25: S P E C I F I C + # sdl92.g:1619:17: ( S P E C I F I C ) + # sdl92.g:1619:25: S P E C I F I C pass self.mS() @@ -1238,8 +1238,8 @@ def mGEODE(self, ): _type = GEODE _channel = DEFAULT_CHANNEL - # sdl92.g:1736:17: ( G E O D E ) - # sdl92.g:1736:25: G E O D E + # sdl92.g:1620:17: ( G E O D E ) + # sdl92.g:1620:25: G E O D E pass self.mG() @@ -1273,8 +1273,8 @@ def mHYPERLINK(self, ): _type = HYPERLINK _channel = DEFAULT_CHANNEL - # sdl92.g:1737:17: ( H Y P E R L I N K ) - # sdl92.g:1737:25: H Y P E R L I N K + # sdl92.g:1621:17: ( H Y P E R L I N K ) + # sdl92.g:1621:25: H Y P E R L I N K pass self.mH() @@ -1320,8 +1320,8 @@ def mREQ_SERVER(self, ): _type = REQ_SERVER _channel = DEFAULT_CHANNEL - # sdl92.g:1738:17: ( R E Q S E R V E R ) - # sdl92.g:1738:25: R E Q S E R V E R + # sdl92.g:1622:17: ( R E Q S E R V E R ) + # sdl92.g:1622:25: R E Q S E R V E R pass self.mR() @@ -1367,8 +1367,8 @@ def mRID_SERVER(self, ): _type = RID_SERVER _channel = DEFAULT_CHANNEL - # sdl92.g:1739:17: ( R I D S E R V E R ) - # sdl92.g:1739:25: R I D S E R V E R + # sdl92.g:1623:17: ( R I D S E R V E R ) + # sdl92.g:1623:25: R I D S E R V E R pass self.mR() @@ -1414,8 +1414,8 @@ def mPARTITION(self, ): _type = PARTITION _channel = DEFAULT_CHANNEL - # sdl92.g:1740:17: ( P A R T I T I O N ) - # sdl92.g:1740:25: P A R T I T I O N + # sdl92.g:1624:17: ( P A R T I T I O N ) + # sdl92.g:1624:25: P A R T I T I O N pass self.mP() @@ -1461,8 +1461,8 @@ def mMKSTRING(self, ): _type = MKSTRING _channel = DEFAULT_CHANNEL - # sdl92.g:1741:17: ( M K S T R I N G ) - # sdl92.g:1741:25: M K S T R I N G + # sdl92.g:1625:17: ( M K S T R I N G ) + # sdl92.g:1625:25: M K S T R I N G pass self.mM() @@ -1505,8 +1505,8 @@ def mENDTEXT(self, ): _type = ENDTEXT _channel = DEFAULT_CHANNEL - # sdl92.g:1742:17: ( E N D T E X T ) - # sdl92.g:1742:25: E N D T E X T + # sdl92.g:1626:17: ( E N D T E X T ) + # sdl92.g:1626:25: E N D T E X T pass self.mE() @@ -1546,8 +1546,8 @@ def mRETURN(self, ): _type = RETURN _channel = DEFAULT_CHANNEL - # sdl92.g:1743:17: ( R E T U R N ) - # sdl92.g:1743:25: R E T U R N + # sdl92.g:1627:17: ( R E T U R N ) + # sdl92.g:1627:25: R E T U R N pass self.mR() @@ -1584,8 +1584,8 @@ def mRETURNS(self, ): _type = RETURNS _channel = DEFAULT_CHANNEL - # sdl92.g:1744:17: ( R E T U R N S ) - # sdl92.g:1744:25: R E T U R N S + # sdl92.g:1628:17: ( R E T U R N S ) + # sdl92.g:1628:25: R E T U R N S pass self.mR() @@ -1625,8 +1625,8 @@ def mTIMER(self, ): _type = TIMER _channel = DEFAULT_CHANNEL - # sdl92.g:1745:17: ( T I M E R ) - # sdl92.g:1745:25: T I M E R + # sdl92.g:1629:17: ( T I M E R ) + # sdl92.g:1629:25: T I M E R pass self.mT() @@ -1660,8 +1660,8 @@ def mPROCESS(self, ): _type = PROCESS _channel = DEFAULT_CHANNEL - # sdl92.g:1746:17: ( P R O C E S S ) - # sdl92.g:1746:25: P R O C E S S + # sdl92.g:1630:17: ( P R O C E S S ) + # sdl92.g:1630:25: P R O C E S S pass self.mP() @@ -1701,8 +1701,8 @@ def mTYPE(self, ): _type = TYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1747:17: ( T Y P E ) - # sdl92.g:1747:25: T Y P E + # sdl92.g:1631:17: ( T Y P E ) + # sdl92.g:1631:25: T Y P E pass self.mT() @@ -1733,8 +1733,8 @@ def mENDPROCESS(self, ): _type = ENDPROCESS _channel = DEFAULT_CHANNEL - # sdl92.g:1748:17: ( E N D P R O C E S S ) - # sdl92.g:1748:25: E N D P R O C E S S + # sdl92.g:1632:17: ( E N D P R O C E S S ) + # sdl92.g:1632:25: E N D P R O C E S S pass self.mE() @@ -1783,8 +1783,8 @@ def mSTART(self, ): _type = START _channel = DEFAULT_CHANNEL - # sdl92.g:1749:17: ( S T A R T ) - # sdl92.g:1749:25: S T A R T + # sdl92.g:1633:17: ( S T A R T ) + # sdl92.g:1633:25: S T A R T pass self.mS() @@ -1818,8 +1818,8 @@ def mSTATE(self, ): _type = STATE _channel = DEFAULT_CHANNEL - # sdl92.g:1750:17: ( S T A T E ) - # sdl92.g:1750:25: S T A T E + # sdl92.g:1634:17: ( S T A T E ) + # sdl92.g:1634:25: S T A T E pass self.mS() @@ -1853,8 +1853,8 @@ def mTEXT(self, ): _type = TEXT _channel = DEFAULT_CHANNEL - # sdl92.g:1751:17: ( T E X T ) - # sdl92.g:1751:25: T E X T + # sdl92.g:1635:17: ( T E X T ) + # sdl92.g:1635:25: T E X T pass self.mT() @@ -1885,8 +1885,8 @@ def mPROCEDURE(self, ): _type = PROCEDURE _channel = DEFAULT_CHANNEL - # sdl92.g:1752:17: ( P R O C E D U R E ) - # sdl92.g:1752:25: P R O C E D U R E + # sdl92.g:1636:17: ( P R O C E D U R E ) + # sdl92.g:1636:25: P R O C E D U R E pass self.mP() @@ -1932,8 +1932,8 @@ def mENDPROCEDURE(self, ): _type = ENDPROCEDURE _channel = DEFAULT_CHANNEL - # sdl92.g:1753:17: ( E N D P R O C E D U R E ) - # sdl92.g:1753:25: E N D P R O C E D U R E + # sdl92.g:1637:17: ( E N D P R O C E D U R E ) + # sdl92.g:1637:25: E N D P R O C E D U R E pass self.mE() @@ -1988,8 +1988,8 @@ def mPROCEDURE_CALL(self, ): _type = PROCEDURE_CALL _channel = DEFAULT_CHANNEL - # sdl92.g:1754:17: ( P R O C E D U R E C A L L ) - # sdl92.g:1754:25: P R O C E D U R E C A L L + # sdl92.g:1638:17: ( P R O C E D U R E C A L L ) + # sdl92.g:1638:25: P R O C E D U R E C A L L pass self.mP() @@ -2047,8 +2047,8 @@ def mENDSTATE(self, ): _type = ENDSTATE _channel = DEFAULT_CHANNEL - # sdl92.g:1755:17: ( E N D S T A T E ) - # sdl92.g:1755:25: E N D S T A T E + # sdl92.g:1639:17: ( E N D S T A T E ) + # sdl92.g:1639:25: E N D S T A T E pass self.mE() @@ -2091,8 +2091,8 @@ def mINPUT(self, ): _type = INPUT _channel = DEFAULT_CHANNEL - # sdl92.g:1756:17: ( I N P U T ) - # sdl92.g:1756:25: I N P U T + # sdl92.g:1640:17: ( I N P U T ) + # sdl92.g:1640:25: I N P U T pass self.mI() @@ -2126,8 +2126,8 @@ def mPROVIDED(self, ): _type = PROVIDED _channel = DEFAULT_CHANNEL - # sdl92.g:1757:17: ( P R O V I D E D ) - # sdl92.g:1757:25: P R O V I D E D + # sdl92.g:1641:17: ( P R O V I D E D ) + # sdl92.g:1641:25: P R O V I D E D pass self.mP() @@ -2170,8 +2170,8 @@ def mPRIORITY(self, ): _type = PRIORITY _channel = DEFAULT_CHANNEL - # sdl92.g:1758:17: ( P R I O R I T Y ) - # sdl92.g:1758:25: P R I O R I T Y + # sdl92.g:1642:17: ( P R I O R I T Y ) + # sdl92.g:1642:25: P R I O R I T Y pass self.mP() @@ -2214,8 +2214,8 @@ def mSAVE(self, ): _type = SAVE _channel = DEFAULT_CHANNEL - # sdl92.g:1759:17: ( S A V E ) - # sdl92.g:1759:25: S A V E + # sdl92.g:1643:17: ( S A V E ) + # sdl92.g:1643:25: S A V E pass self.mS() @@ -2246,8 +2246,8 @@ def mNONE(self, ): _type = NONE _channel = DEFAULT_CHANNEL - # sdl92.g:1760:17: ( N O N E ) - # sdl92.g:1760:25: N O N E + # sdl92.g:1644:17: ( N O N E ) + # sdl92.g:1644:25: N O N E pass self.mN() @@ -2278,8 +2278,8 @@ def mFOR(self, ): _type = FOR _channel = DEFAULT_CHANNEL - # sdl92.g:1767:17: ( F O R ) - # sdl92.g:1767:25: F O R + # sdl92.g:1651:17: ( F O R ) + # sdl92.g:1651:25: F O R pass self.mF() @@ -2307,8 +2307,8 @@ def mENDFOR(self, ): _type = ENDFOR _channel = DEFAULT_CHANNEL - # sdl92.g:1768:17: ( E N D F O R ) - # sdl92.g:1768:25: E N D F O R + # sdl92.g:1652:17: ( E N D F O R ) + # sdl92.g:1652:25: E N D F O R pass self.mE() @@ -2345,8 +2345,8 @@ def mRANGE(self, ): _type = RANGE _channel = DEFAULT_CHANNEL - # sdl92.g:1769:17: ( R A N G E ) - # sdl92.g:1769:25: R A N G E + # sdl92.g:1653:17: ( R A N G E ) + # sdl92.g:1653:25: R A N G E pass self.mR() @@ -2380,8 +2380,8 @@ def mNEXTSTATE(self, ): _type = NEXTSTATE _channel = DEFAULT_CHANNEL - # sdl92.g:1770:17: ( N E X T S T A T E ) - # sdl92.g:1770:25: N E X T S T A T E + # sdl92.g:1654:17: ( N E X T S T A T E ) + # sdl92.g:1654:25: N E X T S T A T E pass self.mN() @@ -2427,8 +2427,8 @@ def mANSWER(self, ): _type = ANSWER _channel = DEFAULT_CHANNEL - # sdl92.g:1771:17: ( A N S W E R ) - # sdl92.g:1771:25: A N S W E R + # sdl92.g:1655:17: ( A N S W E R ) + # sdl92.g:1655:25: A N S W E R pass self.mA() @@ -2465,8 +2465,8 @@ def mCOMMENT(self, ): _type = COMMENT _channel = DEFAULT_CHANNEL - # sdl92.g:1772:17: ( C O M M E N T ) - # sdl92.g:1772:25: C O M M E N T + # sdl92.g:1656:17: ( C O M M E N T ) + # sdl92.g:1656:25: C O M M E N T pass self.mC() @@ -2506,8 +2506,8 @@ def mLABEL(self, ): _type = LABEL _channel = DEFAULT_CHANNEL - # sdl92.g:1773:17: ( L A B E L ) - # sdl92.g:1773:25: L A B E L + # sdl92.g:1657:17: ( L A B E L ) + # sdl92.g:1657:25: L A B E L pass self.mL() @@ -2541,8 +2541,8 @@ def mSTOP(self, ): _type = STOP _channel = DEFAULT_CHANNEL - # sdl92.g:1774:17: ( S T O P ) - # sdl92.g:1774:25: S T O P + # sdl92.g:1658:17: ( S T O P ) + # sdl92.g:1658:25: S T O P pass self.mS() @@ -2573,8 +2573,8 @@ def mIF(self, ): _type = IF _channel = DEFAULT_CHANNEL - # sdl92.g:1775:17: ( I F ) - # sdl92.g:1775:25: I F + # sdl92.g:1659:17: ( I F ) + # sdl92.g:1659:25: I F pass self.mI() @@ -2599,8 +2599,8 @@ def mTHEN(self, ): _type = THEN _channel = DEFAULT_CHANNEL - # sdl92.g:1776:17: ( T H E N ) - # sdl92.g:1776:25: T H E N + # sdl92.g:1660:17: ( T H E N ) + # sdl92.g:1660:25: T H E N pass self.mT() @@ -2631,8 +2631,8 @@ def mELSE(self, ): _type = ELSE _channel = DEFAULT_CHANNEL - # sdl92.g:1777:17: ( E L S E ) - # sdl92.g:1777:25: E L S E + # sdl92.g:1661:17: ( E L S E ) + # sdl92.g:1661:25: E L S E pass self.mE() @@ -2663,8 +2663,8 @@ def mFI(self, ): _type = FI _channel = DEFAULT_CHANNEL - # sdl92.g:1778:17: ( F I ) - # sdl92.g:1778:25: F I + # sdl92.g:1662:17: ( F I ) + # sdl92.g:1662:25: F I pass self.mF() @@ -2689,8 +2689,8 @@ def mCREATE(self, ): _type = CREATE _channel = DEFAULT_CHANNEL - # sdl92.g:1779:17: ( C R E A T E ) - # sdl92.g:1779:25: C R E A T E + # sdl92.g:1663:17: ( C R E A T E ) + # sdl92.g:1663:25: C R E A T E pass self.mC() @@ -2727,8 +2727,8 @@ def mOUTPUT(self, ): _type = OUTPUT _channel = DEFAULT_CHANNEL - # sdl92.g:1780:17: ( O U T P U T ) - # sdl92.g:1780:25: O U T P U T + # sdl92.g:1664:17: ( O U T P U T ) + # sdl92.g:1664:25: O U T P U T pass self.mO() @@ -2765,8 +2765,8 @@ def mCALL(self, ): _type = CALL _channel = DEFAULT_CHANNEL - # sdl92.g:1781:17: ( C A L L ) - # sdl92.g:1781:25: C A L L + # sdl92.g:1665:17: ( C A L L ) + # sdl92.g:1665:25: C A L L pass self.mC() @@ -2797,8 +2797,8 @@ def mTHIS(self, ): _type = THIS _channel = DEFAULT_CHANNEL - # sdl92.g:1782:17: ( T H I S ) - # sdl92.g:1782:25: T H I S + # sdl92.g:1666:17: ( T H I S ) + # sdl92.g:1666:25: T H I S pass self.mT() @@ -2829,8 +2829,8 @@ def mENDALTERNATIVE(self, ): _type = ENDALTERNATIVE _channel = DEFAULT_CHANNEL - # sdl92.g:1785:17: ( E N D A L T E R N A T I V E ) - # sdl92.g:1785:25: E N D A L T E R N A T I V E + # sdl92.g:1669:17: ( E N D A L T E R N A T I V E ) + # sdl92.g:1669:25: E N D A L T E R N A T I V E pass self.mE() @@ -2891,8 +2891,8 @@ def mALTERNATIVE(self, ): _type = ALTERNATIVE _channel = DEFAULT_CHANNEL - # sdl92.g:1786:17: ( A L T E R N A T I V E ) - # sdl92.g:1786:25: A L T E R N A T I V E + # sdl92.g:1670:17: ( A L T E R N A T I V E ) + # sdl92.g:1670:25: A L T E R N A T I V E pass self.mA() @@ -2944,8 +2944,8 @@ def mDEFAULT(self, ): _type = DEFAULT _channel = DEFAULT_CHANNEL - # sdl92.g:1787:17: ( D E F A U L T ) - # sdl92.g:1787:25: D E F A U L T + # sdl92.g:1671:17: ( D E F A U L T ) + # sdl92.g:1671:25: D E F A U L T pass self.mD() @@ -2985,8 +2985,8 @@ def mDECISION(self, ): _type = DECISION _channel = DEFAULT_CHANNEL - # sdl92.g:1788:17: ( D E C I S I O N ) - # sdl92.g:1788:25: D E C I S I O N + # sdl92.g:1672:17: ( D E C I S I O N ) + # sdl92.g:1672:25: D E C I S I O N pass self.mD() @@ -3029,8 +3029,8 @@ def mENDDECISION(self, ): _type = ENDDECISION _channel = DEFAULT_CHANNEL - # sdl92.g:1789:17: ( E N D D E C I S I O N ) - # sdl92.g:1789:25: E N D D E C I S I O N + # sdl92.g:1673:17: ( E N D D E C I S I O N ) + # sdl92.g:1673:25: E N D D E C I S I O N pass self.mE() @@ -3082,8 +3082,8 @@ def mEXPORT(self, ): _type = EXPORT _channel = DEFAULT_CHANNEL - # sdl92.g:1790:17: ( E X P O R T ) - # sdl92.g:1790:25: E X P O R T + # sdl92.g:1674:17: ( E X P O R T ) + # sdl92.g:1674:25: E X P O R T pass self.mE() @@ -3120,8 +3120,8 @@ def mEXTERNAL(self, ): _type = EXTERNAL _channel = DEFAULT_CHANNEL - # sdl92.g:1791:17: ( E X T E R N A L ) - # sdl92.g:1791:25: E X T E R N A L + # sdl92.g:1675:17: ( E X T E R N A L ) + # sdl92.g:1675:25: E X T E R N A L pass self.mE() @@ -3164,8 +3164,8 @@ def mEXPORTED(self, ): _type = EXPORTED _channel = DEFAULT_CHANNEL - # sdl92.g:1792:17: ( E X P O R T E D ) - # sdl92.g:1792:25: E X P O R T E D + # sdl92.g:1676:17: ( E X P O R T E D ) + # sdl92.g:1676:25: E X P O R T E D pass self.mE() @@ -3208,8 +3208,8 @@ def mREFERENCED(self, ): _type = REFERENCED _channel = DEFAULT_CHANNEL - # sdl92.g:1793:17: ( R E F E R E N C E D ) - # sdl92.g:1793:25: R E F E R E N C E D + # sdl92.g:1677:17: ( R E F E R E N C E D ) + # sdl92.g:1677:25: R E F E R E N C E D pass self.mR() @@ -3258,8 +3258,8 @@ def mCONNECTION(self, ): _type = CONNECTION _channel = DEFAULT_CHANNEL - # sdl92.g:1794:17: ( C O N N E C T I O N ) - # sdl92.g:1794:25: C O N N E C T I O N + # sdl92.g:1678:17: ( C O N N E C T I O N ) + # sdl92.g:1678:25: C O N N E C T I O N pass self.mC() @@ -3308,8 +3308,8 @@ def mENDCONNECTION(self, ): _type = ENDCONNECTION _channel = DEFAULT_CHANNEL - # sdl92.g:1795:17: ( E N D C O N N E C T I O N ) - # sdl92.g:1795:25: E N D C O N N E C T I O N + # sdl92.g:1679:17: ( E N D C O N N E C T I O N ) + # sdl92.g:1679:25: E N D C O N N E C T I O N pass self.mE() @@ -3367,8 +3367,8 @@ def mFROM(self, ): _type = FROM _channel = DEFAULT_CHANNEL - # sdl92.g:1796:17: ( F R O M ) - # sdl92.g:1796:25: F R O M + # sdl92.g:1680:17: ( F R O M ) + # sdl92.g:1680:25: F R O M pass self.mF() @@ -3399,8 +3399,8 @@ def mTO(self, ): _type = TO _channel = DEFAULT_CHANNEL - # sdl92.g:1797:17: ( T O ) - # sdl92.g:1797:25: T O + # sdl92.g:1681:17: ( T O ) + # sdl92.g:1681:25: T O pass self.mT() @@ -3425,8 +3425,8 @@ def mWITH(self, ): _type = WITH _channel = DEFAULT_CHANNEL - # sdl92.g:1798:17: ( W I T H ) - # sdl92.g:1798:25: W I T H + # sdl92.g:1682:17: ( W I T H ) + # sdl92.g:1682:25: W I T H pass self.mW() @@ -3457,8 +3457,8 @@ def mVIA(self, ): _type = VIA _channel = DEFAULT_CHANNEL - # sdl92.g:1799:17: ( V I A ) - # sdl92.g:1799:25: V I A + # sdl92.g:1683:17: ( V I A ) + # sdl92.g:1683:25: V I A pass self.mV() @@ -3486,8 +3486,8 @@ def mALL(self, ): _type = ALL _channel = DEFAULT_CHANNEL - # sdl92.g:1800:17: ( A L L ) - # sdl92.g:1800:25: A L L + # sdl92.g:1684:17: ( A L L ) + # sdl92.g:1684:25: A L L pass self.mA() @@ -3515,8 +3515,8 @@ def mTASK(self, ): _type = TASK _channel = DEFAULT_CHANNEL - # sdl92.g:1801:17: ( T A S K ) - # sdl92.g:1801:25: T A S K + # sdl92.g:1685:17: ( T A S K ) + # sdl92.g:1685:25: T A S K pass self.mT() @@ -3547,8 +3547,8 @@ def mJOIN(self, ): _type = JOIN _channel = DEFAULT_CHANNEL - # sdl92.g:1802:17: ( J O I N ) - # sdl92.g:1802:25: J O I N + # sdl92.g:1686:17: ( J O I N ) + # sdl92.g:1686:25: J O I N pass self.mJ() @@ -3579,8 +3579,8 @@ def mPLUS(self, ): _type = PLUS _channel = DEFAULT_CHANNEL - # sdl92.g:1803:17: ( '+' ) - # sdl92.g:1803:25: '+' + # sdl92.g:1687:17: ( '+' ) + # sdl92.g:1687:25: '+' pass self.match(43) @@ -3601,8 +3601,8 @@ def mDOT(self, ): _type = DOT _channel = DEFAULT_CHANNEL - # sdl92.g:1804:17: ( '.' ) - # sdl92.g:1804:25: '.' + # sdl92.g:1688:17: ( '.' ) + # sdl92.g:1688:25: '.' pass self.match(46) @@ -3623,8 +3623,8 @@ def mAPPEND(self, ): _type = APPEND _channel = DEFAULT_CHANNEL - # sdl92.g:1805:17: ( '//' ) - # sdl92.g:1805:25: '//' + # sdl92.g:1689:17: ( '//' ) + # sdl92.g:1689:25: '//' pass self.match("//") @@ -3646,8 +3646,8 @@ def mIN(self, ): _type = IN _channel = DEFAULT_CHANNEL - # sdl92.g:1806:17: ( I N ) - # sdl92.g:1806:25: I N + # sdl92.g:1690:17: ( I N ) + # sdl92.g:1690:25: I N pass self.mI() @@ -3672,8 +3672,8 @@ def mOUT(self, ): _type = OUT _channel = DEFAULT_CHANNEL - # sdl92.g:1807:17: ( O U T ) - # sdl92.g:1807:25: O U T + # sdl92.g:1691:17: ( O U T ) + # sdl92.g:1691:25: O U T pass self.mO() @@ -3701,8 +3701,8 @@ def mINOUT(self, ): _type = INOUT _channel = DEFAULT_CHANNEL - # sdl92.g:1808:17: ( I N '/' O U T ) - # sdl92.g:1808:25: I N '/' O U T + # sdl92.g:1692:17: ( I N '/' O U T ) + # sdl92.g:1692:25: I N '/' O U T pass self.mI() @@ -3738,8 +3738,8 @@ def mAGGREGATION(self, ): _type = AGGREGATION _channel = DEFAULT_CHANNEL - # sdl92.g:1809:17: ( A G G R E G A T I O N ) - # sdl92.g:1809:25: A G G R E G A T I O N + # sdl92.g:1693:17: ( A G G R E G A T I O N ) + # sdl92.g:1693:25: A G G R E G A T I O N pass self.mA() @@ -3791,8 +3791,8 @@ def mSUBSTRUCTURE(self, ): _type = SUBSTRUCTURE _channel = DEFAULT_CHANNEL - # sdl92.g:1810:17: ( S U B S T R U C T U R E ) - # sdl92.g:1810:25: S U B S T R U C T U R E + # sdl92.g:1694:17: ( S U B S T R U C T U R E ) + # sdl92.g:1694:25: S U B S T R U C T U R E pass self.mS() @@ -3847,8 +3847,8 @@ def mENDSUBSTRUCTURE(self, ): _type = ENDSUBSTRUCTURE _channel = DEFAULT_CHANNEL - # sdl92.g:1811:17: ( E N D S U B S T R U C T U R E ) - # sdl92.g:1811:25: E N D S U B S T R U C T U R E + # sdl92.g:1695:17: ( E N D S U B S T R U C T U R E ) + # sdl92.g:1695:25: E N D S U B S T R U C T U R E pass self.mE() @@ -3912,8 +3912,8 @@ def mFPAR(self, ): _type = FPAR _channel = DEFAULT_CHANNEL - # sdl92.g:1812:17: ( F P A R ) - # sdl92.g:1812:25: F P A R + # sdl92.g:1696:17: ( F P A R ) + # sdl92.g:1696:25: F P A R pass self.mF() @@ -3944,8 +3944,8 @@ def mEQ(self, ): _type = EQ _channel = DEFAULT_CHANNEL - # sdl92.g:1813:17: ( '=' ) - # sdl92.g:1813:25: '=' + # sdl92.g:1697:17: ( '=' ) + # sdl92.g:1697:25: '=' pass self.match(61) @@ -3966,8 +3966,8 @@ def mNEQ(self, ): _type = NEQ _channel = DEFAULT_CHANNEL - # sdl92.g:1814:17: ( '/=' ) - # sdl92.g:1814:25: '/=' + # sdl92.g:1698:17: ( '/=' ) + # sdl92.g:1698:25: '/=' pass self.match("/=") @@ -3989,8 +3989,8 @@ def mGT(self, ): _type = GT _channel = DEFAULT_CHANNEL - # sdl92.g:1815:17: ( '>' ) - # sdl92.g:1815:25: '>' + # sdl92.g:1699:17: ( '>' ) + # sdl92.g:1699:25: '>' pass self.match(62) @@ -4011,8 +4011,8 @@ def mGE(self, ): _type = GE _channel = DEFAULT_CHANNEL - # sdl92.g:1816:17: ( '>=' ) - # sdl92.g:1816:25: '>=' + # sdl92.g:1700:17: ( '>=' ) + # sdl92.g:1700:25: '>=' pass self.match(">=") @@ -4034,8 +4034,8 @@ def mLT(self, ): _type = LT _channel = DEFAULT_CHANNEL - # sdl92.g:1817:17: ( '<' ) - # sdl92.g:1817:26: '<' + # sdl92.g:1701:17: ( '<' ) + # sdl92.g:1701:26: '<' pass self.match(60) @@ -4056,8 +4056,8 @@ def mLE(self, ): _type = LE _channel = DEFAULT_CHANNEL - # sdl92.g:1818:17: ( '<=' ) - # sdl92.g:1818:25: '<=' + # sdl92.g:1702:17: ( '<=' ) + # sdl92.g:1702:25: '<=' pass self.match("<=") @@ -4079,8 +4079,8 @@ def mNOT(self, ): _type = NOT _channel = DEFAULT_CHANNEL - # sdl92.g:1819:17: ( N O T ) - # sdl92.g:1819:25: N O T + # sdl92.g:1703:17: ( N O T ) + # sdl92.g:1703:25: N O T pass self.mN() @@ -4108,8 +4108,8 @@ def mOR(self, ): _type = OR _channel = DEFAULT_CHANNEL - # sdl92.g:1820:17: ( O R ) - # sdl92.g:1820:25: O R + # sdl92.g:1704:17: ( O R ) + # sdl92.g:1704:25: O R pass self.mO() @@ -4134,8 +4134,8 @@ def mXOR(self, ): _type = XOR _channel = DEFAULT_CHANNEL - # sdl92.g:1821:17: ( X O R ) - # sdl92.g:1821:25: X O R + # sdl92.g:1705:17: ( X O R ) + # sdl92.g:1705:25: X O R pass self.mX() @@ -4163,8 +4163,8 @@ def mAND(self, ): _type = AND _channel = DEFAULT_CHANNEL - # sdl92.g:1822:17: ( A N D ) - # sdl92.g:1822:25: A N D + # sdl92.g:1706:17: ( A N D ) + # sdl92.g:1706:25: A N D pass self.mA() @@ -4192,8 +4192,8 @@ def mIMPLIES(self, ): _type = IMPLIES _channel = DEFAULT_CHANNEL - # sdl92.g:1823:17: ( '=>' ) - # sdl92.g:1823:25: '=>' + # sdl92.g:1707:17: ( '=>' ) + # sdl92.g:1707:25: '=>' pass self.match("=>") @@ -4215,8 +4215,8 @@ def mDIV(self, ): _type = DIV _channel = DEFAULT_CHANNEL - # sdl92.g:1824:17: ( '/' ) - # sdl92.g:1824:25: '/' + # sdl92.g:1708:17: ( '/' ) + # sdl92.g:1708:25: '/' pass self.match(47) @@ -4237,8 +4237,8 @@ def mMOD(self, ): _type = MOD _channel = DEFAULT_CHANNEL - # sdl92.g:1825:17: ( M O D ) - # sdl92.g:1825:25: M O D + # sdl92.g:1709:17: ( M O D ) + # sdl92.g:1709:25: M O D pass self.mM() @@ -4266,8 +4266,8 @@ def mREM(self, ): _type = REM _channel = DEFAULT_CHANNEL - # sdl92.g:1826:17: ( R E M ) - # sdl92.g:1826:25: R E M + # sdl92.g:1710:17: ( R E M ) + # sdl92.g:1710:25: R E M pass self.mR() @@ -4295,8 +4295,8 @@ def mTRUE(self, ): _type = TRUE _channel = DEFAULT_CHANNEL - # sdl92.g:1827:17: ( T R U E ) - # sdl92.g:1827:25: T R U E + # sdl92.g:1711:17: ( T R U E ) + # sdl92.g:1711:25: T R U E pass self.mT() @@ -4327,8 +4327,8 @@ def mFALSE(self, ): _type = FALSE _channel = DEFAULT_CHANNEL - # sdl92.g:1828:17: ( F A L S E ) - # sdl92.g:1828:25: F A L S E + # sdl92.g:1712:17: ( F A L S E ) + # sdl92.g:1712:25: F A L S E pass self.mF() @@ -4362,8 +4362,8 @@ def mASNFILENAME(self, ): _type = ASNFILENAME _channel = DEFAULT_CHANNEL - # sdl92.g:1829:17: ( A S N F I L E N A M E ) - # sdl92.g:1829:25: A S N F I L E N A M E + # sdl92.g:1713:17: ( A S N F I L E N A M E ) + # sdl92.g:1713:25: A S N F I L E N A M E pass self.mA() @@ -4415,8 +4415,8 @@ def mPLUS_INFINITY(self, ): _type = PLUS_INFINITY _channel = DEFAULT_CHANNEL - # sdl92.g:1830:17: ( P L U S '-' I N F I N I T Y ) - # sdl92.g:1830:25: P L U S '-' I N F I N I T Y + # sdl92.g:1714:17: ( P L U S '-' I N F I N I T Y ) + # sdl92.g:1714:25: P L U S '-' I N F I N I T Y pass self.mP() @@ -4473,8 +4473,8 @@ def mMINUS_INFINITY(self, ): _type = MINUS_INFINITY _channel = DEFAULT_CHANNEL - # sdl92.g:1831:17: ( M I N U S '-' I N F I N I T Y ) - # sdl92.g:1831:25: M I N U S '-' I N F I N I T Y + # sdl92.g:1715:17: ( M I N U S '-' I N F I N I T Y ) + # sdl92.g:1715:25: M I N U S '-' I N F I N I T Y pass self.mM() @@ -4534,8 +4534,8 @@ def mMANTISSA(self, ): _type = MANTISSA _channel = DEFAULT_CHANNEL - # sdl92.g:1832:17: ( M A N T I S S A ) - # sdl92.g:1832:25: M A N T I S S A + # sdl92.g:1716:17: ( M A N T I S S A ) + # sdl92.g:1716:25: M A N T I S S A pass self.mM() @@ -4578,8 +4578,8 @@ def mEXPONENT(self, ): _type = EXPONENT _channel = DEFAULT_CHANNEL - # sdl92.g:1833:17: ( E X P O N E N T ) - # sdl92.g:1833:25: E X P O N E N T + # sdl92.g:1717:17: ( E X P O N E N T ) + # sdl92.g:1717:25: E X P O N E N T pass self.mE() @@ -4622,8 +4622,8 @@ def mBASE(self, ): _type = BASE _channel = DEFAULT_CHANNEL - # sdl92.g:1834:17: ( B A S E ) - # sdl92.g:1834:25: B A S E + # sdl92.g:1718:17: ( B A S E ) + # sdl92.g:1718:25: B A S E pass self.mB() @@ -4654,8 +4654,8 @@ def mSYSTEM(self, ): _type = SYSTEM _channel = DEFAULT_CHANNEL - # sdl92.g:1835:17: ( S Y S T E M ) - # sdl92.g:1835:25: S Y S T E M + # sdl92.g:1719:17: ( S Y S T E M ) + # sdl92.g:1719:25: S Y S T E M pass self.mS() @@ -4692,8 +4692,8 @@ def mENDSYSTEM(self, ): _type = ENDSYSTEM _channel = DEFAULT_CHANNEL - # sdl92.g:1836:17: ( E N D S Y S T E M ) - # sdl92.g:1836:25: E N D S Y S T E M + # sdl92.g:1720:17: ( E N D S Y S T E M ) + # sdl92.g:1720:25: E N D S Y S T E M pass self.mE() @@ -4739,8 +4739,8 @@ def mCHANNEL(self, ): _type = CHANNEL _channel = DEFAULT_CHANNEL - # sdl92.g:1837:17: ( C H A N N E L ) - # sdl92.g:1837:25: C H A N N E L + # sdl92.g:1721:17: ( C H A N N E L ) + # sdl92.g:1721:25: C H A N N E L pass self.mC() @@ -4780,8 +4780,8 @@ def mENDCHANNEL(self, ): _type = ENDCHANNEL _channel = DEFAULT_CHANNEL - # sdl92.g:1838:17: ( E N D C H A N N E L ) - # sdl92.g:1838:25: E N D C H A N N E L + # sdl92.g:1722:17: ( E N D C H A N N E L ) + # sdl92.g:1722:25: E N D C H A N N E L pass self.mE() @@ -4830,8 +4830,8 @@ def mUSE(self, ): _type = USE _channel = DEFAULT_CHANNEL - # sdl92.g:1839:17: ( U S E ) - # sdl92.g:1839:25: U S E + # sdl92.g:1723:17: ( U S E ) + # sdl92.g:1723:25: U S E pass self.mU() @@ -4859,8 +4859,8 @@ def mSIGNAL(self, ): _type = SIGNAL _channel = DEFAULT_CHANNEL - # sdl92.g:1840:17: ( S I G N A L ) - # sdl92.g:1840:25: S I G N A L + # sdl92.g:1724:17: ( S I G N A L ) + # sdl92.g:1724:25: S I G N A L pass self.mS() @@ -4897,8 +4897,8 @@ def mBLOCK(self, ): _type = BLOCK _channel = DEFAULT_CHANNEL - # sdl92.g:1841:17: ( B L O C K ) - # sdl92.g:1841:25: B L O C K + # sdl92.g:1725:17: ( B L O C K ) + # sdl92.g:1725:25: B L O C K pass self.mB() @@ -4932,8 +4932,8 @@ def mENDBLOCK(self, ): _type = ENDBLOCK _channel = DEFAULT_CHANNEL - # sdl92.g:1842:17: ( E N D B L O C K ) - # sdl92.g:1842:25: E N D B L O C K + # sdl92.g:1726:17: ( E N D B L O C K ) + # sdl92.g:1726:25: E N D B L O C K pass self.mE() @@ -4976,8 +4976,8 @@ def mSIGNALROUTE(self, ): _type = SIGNALROUTE _channel = DEFAULT_CHANNEL - # sdl92.g:1843:17: ( S I G N A L R O U T E ) - # sdl92.g:1843:25: S I G N A L R O U T E + # sdl92.g:1727:17: ( S I G N A L R O U T E ) + # sdl92.g:1727:25: S I G N A L R O U T E pass self.mS() @@ -5029,8 +5029,8 @@ def mCONNECT(self, ): _type = CONNECT _channel = DEFAULT_CHANNEL - # sdl92.g:1844:17: ( C O N N E C T ) - # sdl92.g:1844:25: C O N N E C T + # sdl92.g:1728:17: ( C O N N E C T ) + # sdl92.g:1728:25: C O N N E C T pass self.mC() @@ -5070,8 +5070,8 @@ def mSYNTYPE(self, ): _type = SYNTYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1845:17: ( S Y N T Y P E ) - # sdl92.g:1845:25: S Y N T Y P E + # sdl92.g:1729:17: ( S Y N T Y P E ) + # sdl92.g:1729:25: S Y N T Y P E pass self.mS() @@ -5111,8 +5111,8 @@ def mENDSYNTYPE(self, ): _type = ENDSYNTYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1846:17: ( E N D S Y N T Y P E ) - # sdl92.g:1846:25: E N D S Y N T Y P E + # sdl92.g:1730:17: ( E N D S Y N T Y P E ) + # sdl92.g:1730:25: E N D S Y N T Y P E pass self.mE() @@ -5161,8 +5161,8 @@ def mNEWTYPE(self, ): _type = NEWTYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1847:17: ( N E W T Y P E ) - # sdl92.g:1847:25: N E W T Y P E + # sdl92.g:1731:17: ( N E W T Y P E ) + # sdl92.g:1731:25: N E W T Y P E pass self.mN() @@ -5202,8 +5202,8 @@ def mENDNEWTYPE(self, ): _type = ENDNEWTYPE _channel = DEFAULT_CHANNEL - # sdl92.g:1848:17: ( E N D N E W T Y P E ) - # sdl92.g:1848:25: E N D N E W T Y P E + # sdl92.g:1732:17: ( E N D N E W T Y P E ) + # sdl92.g:1732:25: E N D N E W T Y P E pass self.mE() @@ -5252,8 +5252,8 @@ def mARRAY(self, ): _type = ARRAY _channel = DEFAULT_CHANNEL - # sdl92.g:1849:17: ( A R R A Y ) - # sdl92.g:1849:25: A R R A Y + # sdl92.g:1733:17: ( A R R A Y ) + # sdl92.g:1733:25: A R R A Y pass self.mA() @@ -5287,8 +5287,8 @@ def mCONSTANTS(self, ): _type = CONSTANTS _channel = DEFAULT_CHANNEL - # sdl92.g:1850:17: ( C O N S T A N T S ) - # sdl92.g:1850:25: C O N S T A N T S + # sdl92.g:1734:17: ( C O N S T A N T S ) + # sdl92.g:1734:25: C O N S T A N T S pass self.mC() @@ -5334,8 +5334,8 @@ def mSTRUCT(self, ): _type = STRUCT _channel = DEFAULT_CHANNEL - # sdl92.g:1851:17: ( S T R U C T ) - # sdl92.g:1851:25: S T R U C T + # sdl92.g:1735:17: ( S T R U C T ) + # sdl92.g:1735:25: S T R U C T pass self.mS() @@ -5372,8 +5372,8 @@ def mLITERALS(self, ): _type = LITERALS _channel = DEFAULT_CHANNEL - # sdl92.g:1852:17: ( L I T E R A L S ) - # sdl92.g:1852:25: L I T E R A L S + # sdl92.g:1736:17: ( L I T E R A L S ) + # sdl92.g:1736:25: L I T E R A L S pass self.mL() @@ -5416,8 +5416,8 @@ def mSYNONYM(self, ): _type = SYNONYM _channel = DEFAULT_CHANNEL - # sdl92.g:1853:17: ( S Y N O N Y M ) - # sdl92.g:1853:25: S Y N O N Y M + # sdl92.g:1737:17: ( S Y N O N Y M ) + # sdl92.g:1737:25: S Y N O N Y M pass self.mS() @@ -5457,8 +5457,8 @@ def mIMPORT(self, ): _type = IMPORT _channel = DEFAULT_CHANNEL - # sdl92.g:1854:17: ( I M P O R T ) - # sdl92.g:1854:25: I M P O R T + # sdl92.g:1738:17: ( I M P O R T ) + # sdl92.g:1738:25: I M P O R T pass self.mI() @@ -5495,8 +5495,8 @@ def mVIEW(self, ): _type = VIEW _channel = DEFAULT_CHANNEL - # sdl92.g:1855:17: ( V I E W ) - # sdl92.g:1855:25: V I E W + # sdl92.g:1739:17: ( V I E W ) + # sdl92.g:1739:25: V I E W pass self.mV() @@ -5527,8 +5527,8 @@ def mACTIVE(self, ): _type = ACTIVE _channel = DEFAULT_CHANNEL - # sdl92.g:1856:17: ( A C T I V E ) - # sdl92.g:1856:25: A C T I V E + # sdl92.g:1740:17: ( A C T I V E ) + # sdl92.g:1740:25: A C T I V E pass self.mA() @@ -5565,8 +5565,8 @@ def mUNHANDLED(self, ): _type = UNHANDLED _channel = DEFAULT_CHANNEL - # sdl92.g:1857:17: ( U N H A N D L E D ) - # sdl92.g:1857:25: U N H A N D L E D + # sdl92.g:1741:17: ( U N H A N D L E D ) + # sdl92.g:1741:25: U N H A N D L E D pass self.mU() @@ -5612,8 +5612,8 @@ def mERRORSTATES(self, ): _type = ERRORSTATES _channel = DEFAULT_CHANNEL - # sdl92.g:1859:17: ( E R R O R S T A T E S ) - # sdl92.g:1859:25: E R R O R S T A T E S + # sdl92.g:1743:17: ( E R R O R S T A T E S ) + # sdl92.g:1743:25: E R R O R S T A T E S pass self.mE() @@ -5665,8 +5665,8 @@ def mIGNORESTATES(self, ): _type = IGNORESTATES _channel = DEFAULT_CHANNEL - # sdl92.g:1860:17: ( I G N O R E S T A T E S ) - # sdl92.g:1860:25: I G N O R E S T A T E S + # sdl92.g:1744:17: ( I G N O R E S T A T E S ) + # sdl92.g:1744:25: I G N O R E S T A T E S pass self.mI() @@ -5721,8 +5721,8 @@ def mSUCCESSSTATES(self, ): _type = SUCCESSSTATES _channel = DEFAULT_CHANNEL - # sdl92.g:1861:17: ( S U C C E S S S T A T E S ) - # sdl92.g:1861:25: S U C C E S S S T A T E S + # sdl92.g:1745:17: ( S U C C E S S S T A T E S ) + # sdl92.g:1745:25: S U C C E S S S T A T E S pass self.mS() @@ -5780,8 +5780,8 @@ def mREQ_ID(self, ): _type = REQ_ID _channel = DEFAULT_CHANNEL - # sdl92.g:1862:17: ( R E Q I D ) - # sdl92.g:1862:25: R E Q I D + # sdl92.g:1746:17: ( R E Q I D ) + # sdl92.g:1746:25: R E Q I D pass self.mR() @@ -5815,8 +5815,8 @@ def mRID_ID(self, ): _type = RID_ID _channel = DEFAULT_CHANNEL - # sdl92.g:1863:17: ( R I D I D ) - # sdl92.g:1863:25: R I D I D + # sdl92.g:1747:17: ( R I D I D ) + # sdl92.g:1747:25: R I D I D pass self.mR() @@ -5850,10 +5850,10 @@ def mSTRING(self, ): _type = STRING _channel = DEFAULT_CHANNEL - # sdl92.g:1867:9: ( ( STR )+ ( B | H )? ) - # sdl92.g:1867:17: ( STR )+ ( B | H )? + # sdl92.g:1751:9: ( ( STR )+ ( B | H )? ) + # sdl92.g:1751:17: ( STR )+ ( B | H )? pass - # sdl92.g:1867:17: ( STR )+ + # sdl92.g:1751:17: ( STR )+ cnt1 = 0 while True: #loop1 alt1 = 2 @@ -5864,7 +5864,7 @@ def mSTRING(self, ): if alt1 == 1: - # sdl92.g:1867:17: STR + # sdl92.g:1751:17: STR pass self.mSTR() @@ -5880,7 +5880,7 @@ def mSTRING(self, ): cnt1 += 1 - # sdl92.g:1867:22: ( B | H )? + # sdl92.g:1751:22: ( B | H )? alt2 = 2 LA2_0 = self.input.LA(1) @@ -5915,7 +5915,7 @@ def mSTRING(self, ): # $ANTLR start "STR" def mSTR(self, ): try: - # sdl92.g:1876:9: ( '\\'' ( ESC1 |~ ( '\\\\' | '\\'' ) )* '\\'' | '\"' ( ESC2 |~ ( '\\\\' | '\"' ) )* '\"' ) + # sdl92.g:1760:9: ( '\\'' ( ESC1 |~ ( '\\\\' | '\\'' ) )* '\\'' | '\"' ( ESC2 |~ ( '\\\\' | '\"' ) )* '\"' ) alt5 = 2 LA5_0 = self.input.LA(1) @@ -5930,11 +5930,11 @@ def mSTR(self, ): if alt5 == 1: - # sdl92.g:1876:17: '\\'' ( ESC1 |~ ( '\\\\' | '\\'' ) )* '\\'' + # sdl92.g:1760:17: '\\'' ( ESC1 |~ ( '\\\\' | '\\'' ) )* '\\'' pass self.match(39) - # sdl92.g:1876:22: ( ESC1 |~ ( '\\\\' | '\\'' ) )* + # sdl92.g:1760:22: ( ESC1 |~ ( '\\\\' | '\\'' ) )* while True: #loop3 alt3 = 3 LA3_0 = self.input.LA(1) @@ -5946,14 +5946,14 @@ def mSTR(self, ): if alt3 == 1: - # sdl92.g:1876:23: ESC1 + # sdl92.g:1760:23: ESC1 pass self.mESC1() elif alt3 == 2: - # sdl92.g:1876:30: ~ ( '\\\\' | '\\'' ) + # sdl92.g:1760:30: ~ ( '\\\\' | '\\'' ) pass if (0 <= self.input.LA(1) <= 38) or (40 <= self.input.LA(1) <= 91) or (93 <= self.input.LA(1) <= 65535) or self.input.LA(1) in {}: self.input.consume() @@ -5973,11 +5973,11 @@ def mSTR(self, ): elif alt5 == 2: - # sdl92.g:1877:17: '\"' ( ESC2 |~ ( '\\\\' | '\"' ) )* '\"' + # sdl92.g:1761:17: '\"' ( ESC2 |~ ( '\\\\' | '\"' ) )* '\"' pass self.match(34) - # sdl92.g:1877:21: ( ESC2 |~ ( '\\\\' | '\"' ) )* + # sdl92.g:1761:21: ( ESC2 |~ ( '\\\\' | '\"' ) )* while True: #loop4 alt4 = 3 LA4_0 = self.input.LA(1) @@ -5989,14 +5989,14 @@ def mSTR(self, ): if alt4 == 1: - # sdl92.g:1877:22: ESC2 + # sdl92.g:1761:22: ESC2 pass self.mESC2() elif alt4 == 2: - # sdl92.g:1877:29: ~ ( '\\\\' | '\"' ) + # sdl92.g:1761:29: ~ ( '\\\\' | '\"' ) pass if (0 <= self.input.LA(1) <= 33) or (35 <= self.input.LA(1) <= 91) or (93 <= self.input.LA(1) <= 65535) or self.input.LA(1) in {}: self.input.consume() @@ -6026,12 +6026,12 @@ def mSTR(self, ): # $ANTLR start "ESC1" def mESC1(self, ): try: - # sdl92.g:1883:9: ( '\\\\' (| '\\'' | '\\\\' ) ) - # sdl92.g:1883:11: '\\\\' (| '\\'' | '\\\\' ) + # sdl92.g:1767:9: ( '\\\\' (| '\\'' | '\\\\' ) ) + # sdl92.g:1767:11: '\\\\' (| '\\'' | '\\\\' ) pass self.match(92) - # sdl92.g:1884:9: (| '\\'' | '\\\\' ) + # sdl92.g:1768:9: (| '\\'' | '\\\\' ) alt6 = 3 LA6 = self.input.LA(1) if LA6 in {39}: @@ -6042,17 +6042,17 @@ def mESC1(self, ): alt6 = 1 if alt6 == 1: - # sdl92.g:1885:9: + # sdl92.g:1769:9: pass elif alt6 == 2: - # sdl92.g:1885:11: '\\'' + # sdl92.g:1769:11: '\\'' pass self.match(39) elif alt6 == 3: - # sdl92.g:1886:11: '\\\\' + # sdl92.g:1770:11: '\\\\' pass self.match(92) @@ -6072,12 +6072,12 @@ def mESC1(self, ): # $ANTLR start "ESC2" def mESC2(self, ): try: - # sdl92.g:1891:9: ( '\\\\' (| '\"' | '\\\\' ) ) - # sdl92.g:1891:11: '\\\\' (| '\"' | '\\\\' ) + # sdl92.g:1775:9: ( '\\\\' (| '\"' | '\\\\' ) ) + # sdl92.g:1775:11: '\\\\' (| '\"' | '\\\\' ) pass self.match(92) - # sdl92.g:1892:9: (| '\"' | '\\\\' ) + # sdl92.g:1776:9: (| '\"' | '\\\\' ) alt7 = 3 LA7 = self.input.LA(1) if LA7 in {34}: @@ -6088,17 +6088,17 @@ def mESC2(self, ): alt7 = 1 if alt7 == 1: - # sdl92.g:1893:9: + # sdl92.g:1777:9: pass elif alt7 == 2: - # sdl92.g:1893:11: '\"' + # sdl92.g:1777:11: '\"' pass self.match(34) elif alt7 == 3: - # sdl92.g:1894:11: '\\\\' + # sdl92.g:1778:11: '\\\\' pass self.match(92) @@ -6121,13 +6121,13 @@ def mID(self, ): _type = ID _channel = DEFAULT_CHANNEL - # sdl92.g:1898:9: ( ALPHA ( ALPHA | DIGITS | '_' )* ) - # sdl92.g:1898:17: ALPHA ( ALPHA | DIGITS | '_' )* + # sdl92.g:1782:9: ( ALPHA ( ALPHA | DIGITS | '_' )* ) + # sdl92.g:1782:17: ALPHA ( ALPHA | DIGITS | '_' )* pass self.mALPHA() - # sdl92.g:1898:23: ( ALPHA | DIGITS | '_' )* + # sdl92.g:1782:23: ( ALPHA | DIGITS | '_' )* while True: #loop8 alt8 = 4 LA8 = self.input.LA(1) @@ -6139,21 +6139,21 @@ def mID(self, ): alt8 = 3 if alt8 == 1: - # sdl92.g:1898:24: ALPHA + # sdl92.g:1782:24: ALPHA pass self.mALPHA() elif alt8 == 2: - # sdl92.g:1898:32: DIGITS + # sdl92.g:1782:32: DIGITS pass self.mDIGITS() elif alt8 == 3: - # sdl92.g:1898:41: '_' + # sdl92.g:1782:41: '_' pass self.match(95) @@ -6176,7 +6176,7 @@ def mID(self, ): # $ANTLR start "ALPHA" def mALPHA(self, ): try: - # sdl92.g:1905:9: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) ) + # sdl92.g:1789:9: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) ) # sdl92.g: pass if (65 <= self.input.LA(1) <= 90) or (97 <= self.input.LA(1) <= 122) or self.input.LA(1) in {}: @@ -6204,7 +6204,7 @@ def mINT(self, ): _type = INT _channel = DEFAULT_CHANNEL - # sdl92.g:1910:9: ( '0' | ( '1' .. '9' ) ( '0' .. '9' )* ) + # sdl92.g:1794:9: ( '0' | ( '1' .. '9' ) ( '0' .. '9' )* ) alt10 = 2 LA10_0 = self.input.LA(1) @@ -6219,13 +6219,13 @@ def mINT(self, ): if alt10 == 1: - # sdl92.g:1910:18: '0' + # sdl92.g:1794:18: '0' pass self.match(48) elif alt10 == 2: - # sdl92.g:1910:24: ( '1' .. '9' ) ( '0' .. '9' )* + # sdl92.g:1794:24: ( '1' .. '9' ) ( '0' .. '9' )* pass if (49 <= self.input.LA(1) <= 57) or self.input.LA(1) in {}: self.input.consume() @@ -6236,7 +6236,7 @@ def mINT(self, ): - # sdl92.g:1910:35: ( '0' .. '9' )* + # sdl92.g:1794:35: ( '0' .. '9' )* while True: #loop9 alt9 = 2 LA9_0 = self.input.LA(1) @@ -6275,10 +6275,10 @@ def mINT(self, ): # $ANTLR start "DIGITS" def mDIGITS(self, ): try: - # sdl92.g:1920:9: ( ( '0' .. '9' )+ ) - # sdl92.g:1920:17: ( '0' .. '9' )+ + # sdl92.g:1804:9: ( ( '0' .. '9' )+ ) + # sdl92.g:1804:17: ( '0' .. '9' )+ pass - # sdl92.g:1920:17: ( '0' .. '9' )+ + # sdl92.g:1804:17: ( '0' .. '9' )+ cnt11 = 0 while True: #loop11 alt11 = 2 @@ -6327,11 +6327,11 @@ def mFLOAT(self, ): _type = FLOAT _channel = DEFAULT_CHANNEL - # sdl92.g:1924:9: ( INT DOT ( DIGITS )? ( Exponent )? | INT ) + # sdl92.g:1808:9: ( INT DOT ( DIGITS )? ( Exponent )? | INT ) alt14 = 2 alt14 = self.dfa14.predict(self.input) if alt14 == 1: - # sdl92.g:1924:17: INT DOT ( DIGITS )? ( Exponent )? + # sdl92.g:1808:17: INT DOT ( DIGITS )? ( Exponent )? pass self.mINT() @@ -6339,14 +6339,14 @@ def mFLOAT(self, ): self.mDOT() - # sdl92.g:1924:25: ( DIGITS )? + # sdl92.g:1808:25: ( DIGITS )? alt12 = 2 LA12_0 = self.input.LA(1) if ((48 <= LA12_0 <= 57) or LA12_0 in {}) : alt12 = 1 if alt12 == 1: - # sdl92.g:1924:26: DIGITS + # sdl92.g:1808:26: DIGITS pass self.mDIGITS() @@ -6354,14 +6354,14 @@ def mFLOAT(self, ): - # sdl92.g:1924:35: ( Exponent )? + # sdl92.g:1808:35: ( Exponent )? alt13 = 2 LA13_0 = self.input.LA(1) if (LA13_0 in {69, 101}) : alt13 = 1 if alt13 == 1: - # sdl92.g:1924:36: Exponent + # sdl92.g:1808:36: Exponent pass self.mExponent() @@ -6371,7 +6371,7 @@ def mFLOAT(self, ): elif alt14 == 2: - # sdl92.g:1925:17: INT + # sdl92.g:1809:17: INT pass self.mINT() @@ -6392,10 +6392,10 @@ def mWS(self, ): _type = WS _channel = DEFAULT_CHANNEL - # sdl92.g:1930:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - # sdl92.g:1930:17: ( ' ' | '\\t' | '\\r' | '\\n' )+ + # sdl92.g:1814:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + # sdl92.g:1814:17: ( ' ' | '\\t' | '\\r' | '\\n' )+ pass - # sdl92.g:1930:17: ( ' ' | '\\t' | '\\r' | '\\n' )+ + # sdl92.g:1814:17: ( ' ' | '\\t' | '\\r' | '\\n' )+ cnt15 = 0 while True: #loop15 alt15 = 2 @@ -6447,8 +6447,8 @@ def mWS(self, ): # $ANTLR start "Exponent" def mExponent(self, ): try: - # sdl92.g:1943:9: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) - # sdl92.g:1943:11: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ + # sdl92.g:1827:9: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) + # sdl92.g:1827:11: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ pass if self.input.LA(1) in {69, 101}: self.input.consume() @@ -6459,7 +6459,7 @@ def mExponent(self, ): - # sdl92.g:1943:21: ( '+' | '-' )? + # sdl92.g:1827:21: ( '+' | '-' )? alt16 = 2 LA16_0 = self.input.LA(1) @@ -6480,7 +6480,7 @@ def mExponent(self, ): - # sdl92.g:1943:32: ( '0' .. '9' )+ + # sdl92.g:1827:32: ( '0' .. '9' )+ cnt17 = 0 while True: #loop17 alt17 = 2 @@ -6529,13 +6529,13 @@ def mCOMMENT2(self, ): _type = COMMENT2 _channel = DEFAULT_CHANNEL - # sdl92.g:1947:9: ( '--' ( options {greedy=false; } : . )* ( '--' | ( '\\r' )? '\\n' ) ) - # sdl92.g:1947:18: '--' ( options {greedy=false; } : . )* ( '--' | ( '\\r' )? '\\n' ) + # sdl92.g:1831:9: ( '--' ( options {greedy=false; } : . )* ( '--' | ( '\\r' )? '\\n' ) ) + # sdl92.g:1831:18: '--' ( options {greedy=false; } : . )* ( '--' | ( '\\r' )? '\\n' ) pass self.match("--") - # sdl92.g:1947:23: ( options {greedy=false; } : . )* + # sdl92.g:1831:23: ( options {greedy=false; } : . )* while True: #loop18 alt18 = 2 LA18_0 = self.input.LA(1) @@ -6558,7 +6558,7 @@ def mCOMMENT2(self, ): if alt18 == 1: - # sdl92.g:1947:51: . + # sdl92.g:1831:51: . pass self.matchAny() @@ -6567,7 +6567,7 @@ def mCOMMENT2(self, ): break #loop18 - # sdl92.g:1947:56: ( '--' | ( '\\r' )? '\\n' ) + # sdl92.g:1831:56: ( '--' | ( '\\r' )? '\\n' ) alt20 = 2 LA20_0 = self.input.LA(1) @@ -6582,23 +6582,23 @@ def mCOMMENT2(self, ): if alt20 == 1: - # sdl92.g:1947:57: '--' + # sdl92.g:1831:57: '--' pass self.match("--") elif alt20 == 2: - # sdl92.g:1947:62: ( '\\r' )? '\\n' + # sdl92.g:1831:62: ( '\\r' )? '\\n' pass - # sdl92.g:1947:62: ( '\\r' )? + # sdl92.g:1831:62: ( '\\r' )? alt19 = 2 LA19_0 = self.input.LA(1) if (LA19_0 == 13) : alt19 = 1 if alt19 == 1: - # sdl92.g:1947:62: '\\r' + # sdl92.g:1831:62: '\\r' pass self.match(13) @@ -6629,7 +6629,7 @@ def mCOMMENT2(self, ): # $ANTLR start "A" def mA(self, ): try: - # sdl92.g:1953:11: ( ( 'a' | 'A' ) ) + # sdl92.g:1837:11: ( ( 'a' | 'A' ) ) # sdl92.g: pass if self.input.LA(1) in {65, 97}: @@ -6654,7 +6654,7 @@ def mA(self, ): # $ANTLR start "B" def mB(self, ): try: - # sdl92.g:1954:11: ( ( 'b' | 'B' ) ) + # sdl92.g:1838:11: ( ( 'b' | 'B' ) ) # sdl92.g: pass if self.input.LA(1) in {66, 98}: @@ -6679,7 +6679,7 @@ def mB(self, ): # $ANTLR start "C" def mC(self, ): try: - # sdl92.g:1955:11: ( ( 'c' | 'C' ) ) + # sdl92.g:1839:11: ( ( 'c' | 'C' ) ) # sdl92.g: pass if self.input.LA(1) in {67, 99}: @@ -6704,7 +6704,7 @@ def mC(self, ): # $ANTLR start "D" def mD(self, ): try: - # sdl92.g:1956:11: ( ( 'd' | 'D' ) ) + # sdl92.g:1840:11: ( ( 'd' | 'D' ) ) # sdl92.g: pass if self.input.LA(1) in {68, 100}: @@ -6729,7 +6729,7 @@ def mD(self, ): # $ANTLR start "E" def mE(self, ): try: - # sdl92.g:1957:11: ( ( 'e' | 'E' ) ) + # sdl92.g:1841:11: ( ( 'e' | 'E' ) ) # sdl92.g: pass if self.input.LA(1) in {69, 101}: @@ -6754,7 +6754,7 @@ def mE(self, ): # $ANTLR start "F" def mF(self, ): try: - # sdl92.g:1958:11: ( ( 'f' | 'F' ) ) + # sdl92.g:1842:11: ( ( 'f' | 'F' ) ) # sdl92.g: pass if self.input.LA(1) in {70, 102}: @@ -6779,7 +6779,7 @@ def mF(self, ): # $ANTLR start "G" def mG(self, ): try: - # sdl92.g:1959:11: ( ( 'g' | 'G' ) ) + # sdl92.g:1843:11: ( ( 'g' | 'G' ) ) # sdl92.g: pass if self.input.LA(1) in {71, 103}: @@ -6804,7 +6804,7 @@ def mG(self, ): # $ANTLR start "H" def mH(self, ): try: - # sdl92.g:1960:11: ( ( 'h' | 'H' ) ) + # sdl92.g:1844:11: ( ( 'h' | 'H' ) ) # sdl92.g: pass if self.input.LA(1) in {72, 104}: @@ -6829,7 +6829,7 @@ def mH(self, ): # $ANTLR start "I" def mI(self, ): try: - # sdl92.g:1961:11: ( ( 'i' | 'I' ) ) + # sdl92.g:1845:11: ( ( 'i' | 'I' ) ) # sdl92.g: pass if self.input.LA(1) in {73, 105}: @@ -6854,7 +6854,7 @@ def mI(self, ): # $ANTLR start "J" def mJ(self, ): try: - # sdl92.g:1962:11: ( ( 'j' | 'J' ) ) + # sdl92.g:1846:11: ( ( 'j' | 'J' ) ) # sdl92.g: pass if self.input.LA(1) in {74, 106}: @@ -6879,7 +6879,7 @@ def mJ(self, ): # $ANTLR start "K" def mK(self, ): try: - # sdl92.g:1963:11: ( ( 'k' | 'K' ) ) + # sdl92.g:1847:11: ( ( 'k' | 'K' ) ) # sdl92.g: pass if self.input.LA(1) in {75, 107}: @@ -6904,7 +6904,7 @@ def mK(self, ): # $ANTLR start "L" def mL(self, ): try: - # sdl92.g:1964:11: ( ( 'l' | 'L' ) ) + # sdl92.g:1848:11: ( ( 'l' | 'L' ) ) # sdl92.g: pass if self.input.LA(1) in {76, 108}: @@ -6929,7 +6929,7 @@ def mL(self, ): # $ANTLR start "M" def mM(self, ): try: - # sdl92.g:1965:11: ( ( 'm' | 'M' ) ) + # sdl92.g:1849:11: ( ( 'm' | 'M' ) ) # sdl92.g: pass if self.input.LA(1) in {77, 109}: @@ -6954,7 +6954,7 @@ def mM(self, ): # $ANTLR start "N" def mN(self, ): try: - # sdl92.g:1966:11: ( ( 'n' | 'N' ) ) + # sdl92.g:1850:11: ( ( 'n' | 'N' ) ) # sdl92.g: pass if self.input.LA(1) in {78, 110}: @@ -6979,7 +6979,7 @@ def mN(self, ): # $ANTLR start "O" def mO(self, ): try: - # sdl92.g:1967:11: ( ( 'o' | 'O' ) ) + # sdl92.g:1851:11: ( ( 'o' | 'O' ) ) # sdl92.g: pass if self.input.LA(1) in {79, 111}: @@ -7004,7 +7004,7 @@ def mO(self, ): # $ANTLR start "P" def mP(self, ): try: - # sdl92.g:1968:11: ( ( 'p' | 'P' ) ) + # sdl92.g:1852:11: ( ( 'p' | 'P' ) ) # sdl92.g: pass if self.input.LA(1) in {80, 112}: @@ -7029,7 +7029,7 @@ def mP(self, ): # $ANTLR start "Q" def mQ(self, ): try: - # sdl92.g:1969:11: ( ( 'q' | 'Q' ) ) + # sdl92.g:1853:11: ( ( 'q' | 'Q' ) ) # sdl92.g: pass if self.input.LA(1) in {81, 113}: @@ -7054,7 +7054,7 @@ def mQ(self, ): # $ANTLR start "R" def mR(self, ): try: - # sdl92.g:1970:11: ( ( 'r' | 'R' ) ) + # sdl92.g:1854:11: ( ( 'r' | 'R' ) ) # sdl92.g: pass if self.input.LA(1) in {82, 114}: @@ -7079,7 +7079,7 @@ def mR(self, ): # $ANTLR start "S" def mS(self, ): try: - # sdl92.g:1971:11: ( ( 's' | 'S' ) ) + # sdl92.g:1855:11: ( ( 's' | 'S' ) ) # sdl92.g: pass if self.input.LA(1) in {83, 115}: @@ -7104,7 +7104,7 @@ def mS(self, ): # $ANTLR start "T" def mT(self, ): try: - # sdl92.g:1972:11: ( ( 't' | 'T' ) ) + # sdl92.g:1856:11: ( ( 't' | 'T' ) ) # sdl92.g: pass if self.input.LA(1) in {84, 116}: @@ -7129,7 +7129,7 @@ def mT(self, ): # $ANTLR start "U" def mU(self, ): try: - # sdl92.g:1973:11: ( ( 'u' | 'U' ) ) + # sdl92.g:1857:11: ( ( 'u' | 'U' ) ) # sdl92.g: pass if self.input.LA(1) in {85, 117}: @@ -7154,7 +7154,7 @@ def mU(self, ): # $ANTLR start "V" def mV(self, ): try: - # sdl92.g:1974:11: ( ( 'v' | 'V' ) ) + # sdl92.g:1858:11: ( ( 'v' | 'V' ) ) # sdl92.g: pass if self.input.LA(1) in {86, 118}: @@ -7179,7 +7179,7 @@ def mV(self, ): # $ANTLR start "W" def mW(self, ): try: - # sdl92.g:1975:11: ( ( 'w' | 'W' ) ) + # sdl92.g:1859:11: ( ( 'w' | 'W' ) ) # sdl92.g: pass if self.input.LA(1) in {87, 119}: @@ -7204,7 +7204,7 @@ def mW(self, ): # $ANTLR start "X" def mX(self, ): try: - # sdl92.g:1976:11: ( ( 'x' | 'X' ) ) + # sdl92.g:1860:11: ( ( 'x' | 'X' ) ) # sdl92.g: pass if self.input.LA(1) in {88, 120}: @@ -7229,7 +7229,7 @@ def mX(self, ): # $ANTLR start "Y" def mY(self, ): try: - # sdl92.g:1977:11: ( ( 'y' | 'Y' ) ) + # sdl92.g:1861:11: ( ( 'y' | 'Y' ) ) # sdl92.g: pass if self.input.LA(1) in {89, 121}: @@ -7254,7 +7254,7 @@ def mY(self, ): # $ANTLR start "Z" def mZ(self, ): try: - # sdl92.g:1978:11: ( ( 'z' | 'Z' ) ) + # sdl92.g:1862:11: ( ( 'z' | 'Z' ) ) # sdl92.g: pass if self.input.LA(1) in {90, 122}: diff --git a/opengeode/sdl92Parser.py b/opengeode/sdl92Parser.py index 60fda302..1dacf729 100644 --- a/opengeode/sdl92Parser.py +++ b/opengeode/sdl92Parser.py @@ -1,4 +1,4 @@ -# $ANTLR 3.5.2 sdl92.g 2024-04-26 13:30:02 +# $ANTLR 3.5.2 sdl92.g 2024-04-26 23:19:14 import sys from antlr3 import * @@ -379,6 +379,129 @@ def __init__(self, input, state=None, *args, **kwargs): super().__init__(input, state, *args, **kwargs) + self._state.ruleMemo = {} + + self.dfa1 = self.DFA1( + self, 1, + eot = self.DFA1_eot, + eof = self.DFA1_eof, + min = self.DFA1_min, + max = self.DFA1_max, + accept = self.DFA1_accept, + special = self.DFA1_special, + transition = self.DFA1_transition + ) + + self.dfa15 = self.DFA15( + self, 15, + eot = self.DFA15_eot, + eof = self.DFA15_eof, + min = self.DFA15_min, + max = self.DFA15_max, + accept = self.DFA15_accept, + special = self.DFA15_special, + transition = self.DFA15_transition + ) + + self.dfa16 = self.DFA16( + self, 16, + eot = self.DFA16_eot, + eof = self.DFA16_eof, + min = self.DFA16_min, + max = self.DFA16_max, + accept = self.DFA16_accept, + special = self.DFA16_special, + transition = self.DFA16_transition + ) + + self.dfa29 = self.DFA29( + self, 29, + eot = self.DFA29_eot, + eof = self.DFA29_eof, + min = self.DFA29_min, + max = self.DFA29_max, + accept = self.DFA29_accept, + special = self.DFA29_special, + transition = self.DFA29_transition + ) + + self.dfa31 = self.DFA31( + self, 31, + eot = self.DFA31_eot, + eof = self.DFA31_eof, + min = self.DFA31_min, + max = self.DFA31_max, + accept = self.DFA31_accept, + special = self.DFA31_special, + transition = self.DFA31_transition + ) + + self.dfa44 = self.DFA44( + self, 44, + eot = self.DFA44_eot, + eof = self.DFA44_eof, + min = self.DFA44_min, + max = self.DFA44_max, + accept = self.DFA44_accept, + special = self.DFA44_special, + transition = self.DFA44_transition + ) + + self.dfa48 = self.DFA48( + self, 48, + eot = self.DFA48_eot, + eof = self.DFA48_eof, + min = self.DFA48_min, + max = self.DFA48_max, + accept = self.DFA48_accept, + special = self.DFA48_special, + transition = self.DFA48_transition + ) + + self.dfa50 = self.DFA50( + self, 50, + eot = self.DFA50_eot, + eof = self.DFA50_eof, + min = self.DFA50_min, + max = self.DFA50_max, + accept = self.DFA50_accept, + special = self.DFA50_special, + transition = self.DFA50_transition + ) + + self.dfa62 = self.DFA62( + self, 62, + eot = self.DFA62_eot, + eof = self.DFA62_eof, + min = self.DFA62_min, + max = self.DFA62_max, + accept = self.DFA62_accept, + special = self.DFA62_special, + transition = self.DFA62_transition + ) + + self.dfa70 = self.DFA70( + self, 70, + eot = self.DFA70_eot, + eof = self.DFA70_eof, + min = self.DFA70_min, + max = self.DFA70_max, + accept = self.DFA70_accept, + special = self.DFA70_special, + transition = self.DFA70_transition + ) + + self.dfa71 = self.DFA71( + self, 71, + eot = self.DFA71_eot, + eof = self.DFA71_eof, + min = self.DFA71_min, + max = self.DFA71_max, + accept = self.DFA71_accept, + special = self.DFA71_special, + transition = self.DFA71_transition + ) + self.dfa74 = self.DFA74( self, 74, eot = self.DFA74_eot, @@ -390,59 +513,103 @@ def __init__(self, input, state=None, *args, **kwargs): transition = self.DFA74_transition ) - self.dfa82 = self.DFA82( - self, 82, - eot = self.DFA82_eot, - eof = self.DFA82_eof, - min = self.DFA82_min, - max = self.DFA82_max, - accept = self.DFA82_accept, - special = self.DFA82_special, - transition = self.DFA82_transition + self.dfa78 = self.DFA78( + self, 78, + eot = self.DFA78_eot, + eof = self.DFA78_eof, + min = self.DFA78_min, + max = self.DFA78_max, + accept = self.DFA78_accept, + special = self.DFA78_special, + transition = self.DFA78_transition ) - self.dfa83 = self.DFA83( - self, 83, - eot = self.DFA83_eot, - eof = self.DFA83_eof, - min = self.DFA83_min, - max = self.DFA83_max, - accept = self.DFA83_accept, - special = self.DFA83_special, - transition = self.DFA83_transition + self.dfa98 = self.DFA98( + self, 98, + eot = self.DFA98_eot, + eof = self.DFA98_eof, + min = self.DFA98_min, + max = self.DFA98_max, + accept = self.DFA98_accept, + special = self.DFA98_special, + transition = self.DFA98_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.dfa101 = self.DFA101( + self, 101, + eot = self.DFA101_eot, + eof = self.DFA101_eof, + min = self.DFA101_min, + max = self.DFA101_max, + accept = self.DFA101_accept, + special = self.DFA101_special, + transition = self.DFA101_transition ) - self.dfa100 = self.DFA100( - self, 100, - eot = self.DFA100_eot, - eof = self.DFA100_eof, - min = self.DFA100_min, - max = self.DFA100_max, - accept = self.DFA100_accept, - special = self.DFA100_special, - transition = self.DFA100_transition + self.dfa107 = self.DFA107( + self, 107, + eot = self.DFA107_eot, + eof = self.DFA107_eof, + min = self.DFA107_min, + max = self.DFA107_max, + accept = self.DFA107_accept, + special = self.DFA107_special, + transition = self.DFA107_transition ) - self.dfa130 = self.DFA130( - self, 130, - eot = self.DFA130_eot, - eof = self.DFA130_eof, - min = self.DFA130_min, - max = self.DFA130_max, - accept = self.DFA130_accept, - special = self.DFA130_special, - transition = self.DFA130_transition + self.dfa108 = self.DFA108( + self, 108, + eot = self.DFA108_eot, + eof = self.DFA108_eof, + min = self.DFA108_min, + max = self.DFA108_max, + accept = self.DFA108_accept, + special = self.DFA108_special, + transition = self.DFA108_transition + ) + + self.dfa110 = self.DFA110( + self, 110, + eot = self.DFA110_eot, + eof = self.DFA110_eof, + min = self.DFA110_min, + max = self.DFA110_max, + accept = self.DFA110_accept, + special = self.DFA110_special, + transition = self.DFA110_transition + ) + + self.dfa113 = self.DFA113( + self, 113, + eot = self.DFA113_eot, + eof = self.DFA113_eof, + min = self.DFA113_min, + max = self.DFA113_max, + accept = self.DFA113_accept, + special = self.DFA113_special, + transition = self.DFA113_transition + ) + + self.dfa120 = self.DFA120( + self, 120, + eot = self.DFA120_eot, + eof = self.DFA120_eof, + min = self.DFA120_min, + max = self.DFA120_max, + accept = self.DFA120_accept, + special = self.DFA120_special, + transition = self.DFA120_transition + ) + + self.dfa125 = self.DFA125( + self, 125, + eot = self.DFA125_eot, + eof = self.DFA125_eof, + min = self.DFA125_min, + max = self.DFA125_max, + accept = self.DFA125_accept, + special = self.DFA125_special, + transition = self.DFA125_transition ) self.dfa133 = self.DFA133( @@ -456,147 +623,114 @@ def __init__(self, input, state=None, *args, **kwargs): transition = self.DFA133_transition ) - self.dfa139 = self.DFA139( - self, 139, - eot = self.DFA139_eot, - eof = self.DFA139_eof, - min = self.DFA139_min, - max = self.DFA139_max, - accept = self.DFA139_accept, - special = self.DFA139_special, - transition = self.DFA139_transition - ) - - self.dfa140 = self.DFA140( - self, 140, - eot = self.DFA140_eot, - eof = self.DFA140_eof, - min = self.DFA140_min, - max = self.DFA140_max, - accept = self.DFA140_accept, - special = self.DFA140_special, - transition = self.DFA140_transition - ) - - self.dfa142 = self.DFA142( - self, 142, - eot = self.DFA142_eot, - eof = self.DFA142_eof, - min = self.DFA142_min, - max = self.DFA142_max, - accept = self.DFA142_accept, - special = self.DFA142_special, - transition = self.DFA142_transition - ) - - self.dfa149 = self.DFA149( - self, 149, - eot = self.DFA149_eot, - eof = self.DFA149_eof, - min = self.DFA149_min, - max = self.DFA149_max, - accept = self.DFA149_accept, - special = self.DFA149_special, - transition = self.DFA149_transition + self.dfa130 = self.DFA130( + self, 130, + eot = self.DFA130_eot, + eof = self.DFA130_eof, + min = self.DFA130_min, + max = self.DFA130_max, + accept = self.DFA130_accept, + special = self.DFA130_special, + transition = self.DFA130_transition ) - self.dfa164 = self.DFA164( - self, 164, - eot = self.DFA164_eot, - eof = self.DFA164_eof, - min = self.DFA164_min, - max = self.DFA164_max, - accept = self.DFA164_accept, - special = self.DFA164_special, - transition = self.DFA164_transition + self.dfa131 = self.DFA131( + self, 131, + eot = self.DFA131_eot, + eof = self.DFA131_eof, + min = self.DFA131_min, + max = self.DFA131_max, + accept = self.DFA131_accept, + special = self.DFA131_special, + transition = self.DFA131_transition ) - self.dfa173 = self.DFA173( - self, 173, - eot = self.DFA173_eot, - eof = self.DFA173_eof, - min = self.DFA173_min, - max = self.DFA173_max, - accept = self.DFA173_accept, - special = self.DFA173_special, - transition = self.DFA173_transition + self.dfa132 = self.DFA132( + self, 132, + eot = self.DFA132_eot, + eof = self.DFA132_eof, + min = self.DFA132_min, + max = self.DFA132_max, + accept = self.DFA132_accept, + special = self.DFA132_special, + transition = self.DFA132_transition ) - self.dfa181 = self.DFA181( - self, 181, - eot = self.DFA181_eot, - eof = self.DFA181_eof, - min = self.DFA181_min, - max = self.DFA181_max, - accept = self.DFA181_accept, - special = self.DFA181_special, - transition = self.DFA181_transition + self.dfa134 = self.DFA134( + self, 134, + eot = self.DFA134_eot, + eof = self.DFA134_eof, + min = self.DFA134_min, + max = self.DFA134_max, + accept = self.DFA134_accept, + special = self.DFA134_special, + transition = self.DFA134_transition ) - self.dfa178 = self.DFA178( - self, 178, - eot = self.DFA178_eot, - eof = self.DFA178_eof, - min = self.DFA178_min, - max = self.DFA178_max, - accept = self.DFA178_accept, - special = self.DFA178_special, - transition = self.DFA178_transition + self.dfa135 = self.DFA135( + self, 135, + eot = self.DFA135_eot, + eof = self.DFA135_eof, + min = self.DFA135_min, + max = self.DFA135_max, + accept = self.DFA135_accept, + special = self.DFA135_special, + transition = self.DFA135_transition ) - self.dfa180 = self.DFA180( - self, 180, - eot = self.DFA180_eot, - eof = self.DFA180_eof, - min = self.DFA180_min, - max = self.DFA180_max, - accept = self.DFA180_accept, - special = self.DFA180_special, - transition = self.DFA180_transition + self.dfa138 = self.DFA138( + self, 138, + eot = self.DFA138_eot, + eof = self.DFA138_eof, + min = self.DFA138_min, + max = self.DFA138_max, + accept = self.DFA138_accept, + special = self.DFA138_special, + transition = self.DFA138_transition ) - self.dfa183 = self.DFA183( - self, 183, - eot = self.DFA183_eot, - eof = self.DFA183_eof, - min = self.DFA183_min, - max = self.DFA183_max, - accept = self.DFA183_accept, - special = self.DFA183_special, - transition = self.DFA183_transition + self.dfa145 = self.DFA145( + self, 145, + eot = self.DFA145_eot, + eof = self.DFA145_eof, + min = self.DFA145_min, + max = self.DFA145_max, + accept = self.DFA145_accept, + special = self.DFA145_special, + transition = self.DFA145_transition ) - self.dfa190 = self.DFA190( - self, 190, - eot = self.DFA190_eot, - eof = self.DFA190_eof, - min = self.DFA190_min, - max = self.DFA190_max, - accept = self.DFA190_accept, - special = self.DFA190_special, - transition = self.DFA190_transition + self.dfa143 = self.DFA143( + self, 143, + eot = self.DFA143_eot, + eof = self.DFA143_eof, + min = self.DFA143_min, + max = self.DFA143_max, + accept = self.DFA143_accept, + special = self.DFA143_special, + transition = self.DFA143_transition ) - self.dfa201 = self.DFA201( - self, 201, - eot = self.DFA201_eot, - eof = self.DFA201_eof, - min = self.DFA201_min, - max = self.DFA201_max, - accept = self.DFA201_accept, - special = self.DFA201_special, - transition = self.DFA201_transition + self.dfa150 = self.DFA150( + self, 150, + eot = self.DFA150_eot, + eof = self.DFA150_eof, + min = self.DFA150_min, + max = self.DFA150_max, + accept = self.DFA150_accept, + special = self.DFA150_special, + transition = self.DFA150_transition ) - self.dfa199 = self.DFA199( - self, 199, - eot = self.DFA199_eot, - eof = self.DFA199_eof, - min = self.DFA199_min, - max = self.DFA199_max, - accept = self.DFA199_accept, - special = self.DFA199_special, - transition = self.DFA199_transition + self.dfa197 = self.DFA197( + self, 197, + eot = self.DFA197_eot, + eof = self.DFA197_eof, + min = self.DFA197_min, + max = self.DFA197_max, + accept = self.DFA197_accept, + special = self.DFA197_special, + transition = self.DFA197_transition ) self.dfa214 = self.DFA214( @@ -610,17 +744,6 @@ def __init__(self, input, state=None, *args, **kwargs): transition = self.DFA214_transition ) - self.dfa277 = self.DFA277( - self, 277, - eot = self.DFA277_eot, - eof = self.DFA277_eof, - min = self.DFA277_min, - max = self.DFA277_max, - accept = self.DFA277_accept, - special = self.DFA277_special, - transition = self.DFA277_transition - ) - @@ -651,11 +774,12 @@ def __init__(self): # $ANTLR start "pr_file" - # sdl92.g:168:1: pr_file : ( use_clause | system_definition | process_definition )+ ; + # sdl92.g:169:1: pr_file : ( use_clause | system_definition | process_definition )+ ; def pr_file(self, ): retval = self.pr_file_return() retval.start = self.input.LT(1) + pr_file_StartIndex = self.input.index() root_0 = None @@ -664,56 +788,31 @@ def pr_file(self, ): process_definition3 = None + success = False + try: try: - # sdl92.g:169:9: ( ( use_clause | system_definition | process_definition )+ ) - # sdl92.g:169:17: ( use_clause | system_definition | process_definition )+ + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 1): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:170:9: ( ( use_clause | system_definition | process_definition )+ ) + # sdl92.g:170:17: ( use_clause | system_definition | process_definition )+ pass root_0 = self._adaptor.nil() - # sdl92.g:169:17: ( use_clause | system_definition | process_definition )+ + # sdl92.g:170:17: ( use_clause | system_definition | process_definition )+ cnt1 = 0 while True: #loop1 alt1 = 4 - LA1 = self.input.LA(1) - if LA1 in {254}: - LA1_2 = self.input.LA(2) - - if (LA1_2 == KEEP) : - LA1_6 = self.input.LA(3) - - if (LA1_6 == SPECIFIC) : - LA1_7 = self.input.LA(4) - - if (LA1_7 == GEODE) : - LA1_8 = self.input.LA(5) - - if (LA1_8 == ASNFILENAME) : - alt1 = 1 - elif (LA1_8 in {REQ_ID, REQ_SERVER, RID_ID, RID_SERVER}) : - alt1 = 3 - - - - - - - elif (LA1_2 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : - alt1 = 3 - - - elif LA1 in {USE}: - alt1 = 1 - elif LA1 in {SYSTEM}: - alt1 = 2 - elif LA1 in {PROCESS}: - alt1 = 3 - + alt1 = self.dfa1.predict(self.input) if alt1 == 1: - # sdl92.g:169:18: use_clause + # sdl92.g:170:18: use_clause pass - self._state.following.append(self.FOLLOW_use_clause_in_pr_file1613) + self._state.following.append(self.FOLLOW_use_clause_in_pr_file1622) use_clause1 = self.use_clause() self._state.following.pop() @@ -723,9 +822,9 @@ def pr_file(self, ): elif alt1 == 2: - # sdl92.g:170:19: system_definition + # sdl92.g:171:19: system_definition pass - self._state.following.append(self.FOLLOW_system_definition_in_pr_file1633) + self._state.following.append(self.FOLLOW_system_definition_in_pr_file1642) system_definition2 = self.system_definition() self._state.following.pop() @@ -735,9 +834,9 @@ def pr_file(self, ): elif alt1 == 3: - # sdl92.g:171:19: process_definition + # sdl92.g:172:19: process_definition pass - self._state.following.append(self.FOLLOW_process_definition_in_pr_file1653) + self._state.following.append(self.FOLLOW_process_definition_in_pr_file1662) process_definition3 = self.process_definition() self._state.following.pop() @@ -771,12 +870,18 @@ def pr_file(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 1, pr_file_StartIndex, success) + + pass return retval @@ -794,11 +899,12 @@ def __init__(self): # $ANTLR start "system_definition" - # sdl92.g:175:1: system_definition : SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ; + # sdl92.g:176: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) + system_definition_StartIndex = self.input.index() root_0 = None @@ -817,17 +923,25 @@ def system_definition(self, ): 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") + success = False + try: try: - # sdl92.g:176:9: ( SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ) - # sdl92.g:176:17: SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 2): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:177:9: ( SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end -> ^( SYSTEM system_name ( entity_in_system )* ) ) + # sdl92.g:177:17: SYSTEM system_name end ( entity_in_system )* ENDSYSTEM ( system_name )? end pass - SYSTEM4 = self.match(self.input, SYSTEM, self.FOLLOW_SYSTEM_in_system_definition1687) + SYSTEM4 = self.match(self.input, SYSTEM, self.FOLLOW_SYSTEM_in_system_definition1696) if self._state.backtracking == 0: stream_SYSTEM.add(SYSTEM4) - self._state.following.append(self.FOLLOW_system_name_in_system_definition1689) + self._state.following.append(self.FOLLOW_system_name_in_system_definition1698) system_name5 = self.system_name() self._state.following.pop() @@ -835,7 +949,7 @@ def system_definition(self, ): stream_system_name.add(system_name5.tree) - self._state.following.append(self.FOLLOW_end_in_system_definition1691) + self._state.following.append(self.FOLLOW_end_in_system_definition1700) end6 = self.end() self._state.following.pop() @@ -843,7 +957,7 @@ def system_definition(self, ): stream_end.add(end6.tree) - # sdl92.g:177:17: ( entity_in_system )* + # sdl92.g:178:17: ( entity_in_system )* while True: #loop2 alt2 = 2 LA2_0 = self.input.LA(1) @@ -853,9 +967,9 @@ def system_definition(self, ): if alt2 == 1: - # sdl92.g:177:17: entity_in_system + # sdl92.g:178:17: entity_in_system pass - self._state.following.append(self.FOLLOW_entity_in_system_in_system_definition1709) + self._state.following.append(self.FOLLOW_entity_in_system_in_system_definition1718) entity_in_system7 = self.entity_in_system() self._state.following.pop() @@ -868,21 +982,21 @@ def system_definition(self, ): break #loop2 - ENDSYSTEM8 = self.match(self.input, ENDSYSTEM, self.FOLLOW_ENDSYSTEM_in_system_definition1728) + ENDSYSTEM8 = self.match(self.input, ENDSYSTEM, self.FOLLOW_ENDSYSTEM_in_system_definition1737) if self._state.backtracking == 0: stream_ENDSYSTEM.add(ENDSYSTEM8) - # sdl92.g:178:27: ( system_name )? + # sdl92.g:179:27: ( system_name )? alt3 = 2 LA3_0 = self.input.LA(1) if (LA3_0 == ID) : alt3 = 1 if alt3 == 1: - # sdl92.g:178:27: system_name + # sdl92.g:179:27: system_name pass - self._state.following.append(self.FOLLOW_system_name_in_system_definition1730) + self._state.following.append(self.FOLLOW_system_name_in_system_definition1739) system_name9 = self.system_name() self._state.following.pop() @@ -893,7 +1007,7 @@ def system_definition(self, ): - self._state.following.append(self.FOLLOW_end_in_system_definition1733) + self._state.following.append(self.FOLLOW_end_in_system_definition1742) end10 = self.end() self._state.following.pop() @@ -917,8 +1031,8 @@ def system_definition(self, ): root_0 = self._adaptor.nil() - # 179:9: -> ^( SYSTEM system_name ( entity_in_system )* ) - # sdl92.g:179:17: ^( SYSTEM system_name ( entity_in_system )* ) + # 180:9: -> ^( SYSTEM system_name ( entity_in_system )* ) + # sdl92.g:180:17: ^( SYSTEM system_name ( entity_in_system )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SYSTEM.nextNode() @@ -926,7 +1040,7 @@ def system_definition(self, ): self._adaptor.addChild(root_1, stream_system_name.nextTree()) - # sdl92.g:179:38: ( entity_in_system )* + # sdl92.g:180:38: ( entity_in_system )* while stream_entity_in_system.hasNext(): self._adaptor.addChild(root_1, stream_entity_in_system.nextTree()) @@ -953,12 +1067,18 @@ def system_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 2, system_definition_StartIndex, success) + + pass return retval @@ -976,17 +1096,18 @@ def __init__(self): # $ANTLR start "use_clause" - # sdl92.g:183:1: use_clause : ( use_asn1 )? USE package_name ( '/' def_selection_list )? end -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) ; + # sdl92.g:184:1: use_clause : ( cif )* USE package_name ( '/' def_selection_list )? end -> ^( USE ( cif )* ( end )? package_name ( def_selection_list )? ) ; def use_clause(self, ): retval = self.use_clause_return() retval.start = self.input.LT(1) + use_clause_StartIndex = self.input.index() root_0 = None USE12 = None char_literal14 = None - use_asn111 = None + cif11 = None package_name13 = None def_selection_list15 = None end16 = None @@ -995,41 +1116,54 @@ def use_clause(self, ): 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_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") 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") + success = False + try: try: - # sdl92.g:184:9: ( ( use_asn1 )? USE package_name ( '/' def_selection_list )? end -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) ) - # sdl92.g:184:17: ( use_asn1 )? USE package_name ( '/' def_selection_list )? end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 3): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:185:9: ( ( cif )* USE package_name ( '/' def_selection_list )? end -> ^( USE ( cif )* ( end )? package_name ( def_selection_list )? ) ) + # sdl92.g:185:17: ( cif )* USE package_name ( '/' def_selection_list )? end pass - # sdl92.g:184:17: ( use_asn1 )? - alt4 = 2 - LA4_0 = self.input.LA(1) - - if (LA4_0 == 254) : - alt4 = 1 - if alt4 == 1: - # sdl92.g:184:17: use_asn1 - pass - self._state.following.append(self.FOLLOW_use_asn1_in_use_clause1789) - use_asn111 = self.use_asn1() + # sdl92.g:185:17: ( cif )* + while True: #loop4 + alt4 = 2 + LA4_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_use_asn1.add(use_asn111.tree) + if (LA4_0 == 254) : + alt4 = 1 + + + if alt4 == 1: + # sdl92.g:185:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_use_clause1798) + cif11 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif11.tree) + else: + break #loop4 - USE12 = self.match(self.input, USE, self.FOLLOW_USE_in_use_clause1808) + USE12 = self.match(self.input, USE, self.FOLLOW_USE_in_use_clause1817) if self._state.backtracking == 0: stream_USE.add(USE12) - self._state.following.append(self.FOLLOW_package_name_in_use_clause1810) + self._state.following.append(self.FOLLOW_package_name_in_use_clause1819) package_name13 = self.package_name() self._state.following.pop() @@ -1037,21 +1171,21 @@ def use_clause(self, ): stream_package_name.add(package_name13.tree) - # sdl92.g:186:17: ( '/' def_selection_list )? + # sdl92.g:187:17: ( '/' def_selection_list )? alt5 = 2 LA5_0 = self.input.LA(1) if (LA5_0 == DIV) : alt5 = 1 if alt5 == 1: - # sdl92.g:186:18: '/' def_selection_list + # sdl92.g:187:18: '/' def_selection_list pass - char_literal14 = self.match(self.input, DIV, self.FOLLOW_DIV_in_use_clause1829) + char_literal14 = self.match(self.input, DIV, self.FOLLOW_DIV_in_use_clause1838) if self._state.backtracking == 0: stream_DIV.add(char_literal14) - self._state.following.append(self.FOLLOW_def_selection_list_in_use_clause1831) + self._state.following.append(self.FOLLOW_def_selection_list_in_use_clause1840) def_selection_list15 = self.def_selection_list() self._state.following.pop() @@ -1062,7 +1196,7 @@ def use_clause(self, ): - self._state.following.append(self.FOLLOW_end_in_use_clause1852) + self._state.following.append(self.FOLLOW_end_in_use_clause1861) end16 = self.end() self._state.following.pop() @@ -1071,7 +1205,7 @@ def use_clause(self, ): # AST Rewrite - # elements: USE, use_asn1, end, package_name, def_selection_list + # elements: USE, cif, end, package_name, def_selection_list # token labels: # rule labels: retval # token list labels: @@ -1086,21 +1220,21 @@ def use_clause(self, ): root_0 = self._adaptor.nil() - # 188:9: -> ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) - # sdl92.g:188:17: ^( USE ( use_asn1 )? ( end )? package_name ( def_selection_list )? ) + # 189:9: -> ^( USE ( cif )* ( end )? package_name ( def_selection_list )? ) + # sdl92.g:189:17: ^( USE ( cif )* ( end )? package_name ( def_selection_list )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_USE.nextNode() , root_1) - # sdl92.g:188:23: ( use_asn1 )? - if stream_use_asn1.hasNext(): - self._adaptor.addChild(root_1, stream_use_asn1.nextTree()) + # sdl92.g:189:23: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - stream_use_asn1.reset(); + stream_cif.reset(); - # sdl92.g:188:33: ( end )? + # sdl92.g:189:28: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) @@ -1109,7 +1243,7 @@ def use_clause(self, ): self._adaptor.addChild(root_1, stream_package_name.nextTree()) - # sdl92.g:188:51: ( def_selection_list )? + # sdl92.g:189:46: ( def_selection_list )? if stream_def_selection_list.hasNext(): self._adaptor.addChild(root_1, stream_def_selection_list.nextTree()) @@ -1136,12 +1270,18 @@ def use_clause(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 3, use_clause_StartIndex, success) + + pass return retval @@ -1159,11 +1299,12 @@ def __init__(self): # $ANTLR start "def_selection_list" - # sdl92.g:195:1: def_selection_list : ID ( ',' ! ID )* ; + # sdl92.g:196:1: def_selection_list : ID ( ',' ! ID )* ; def def_selection_list(self, ): retval = self.def_selection_list_return() retval.start = self.input.LT(1) + def_selection_list_StartIndex = self.input.index() root_0 = None @@ -1175,22 +1316,30 @@ def def_selection_list(self, ): char_literal18_tree = None ID19_tree = None + success = False + try: try: - # sdl92.g:196:9: ( ID ( ',' ! ID )* ) - # sdl92.g:196:17: ID ( ',' ! ID )* + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 4): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:197:9: ( ID ( ',' ! ID )* ) + # sdl92.g:197:17: ID ( ',' ! ID )* pass root_0 = self._adaptor.nil() - ID17 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1916) + ID17 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1925) if self._state.backtracking == 0: ID17_tree = self._adaptor.createWithPayload(ID17) self._adaptor.addChild(root_0, ID17_tree) - # sdl92.g:196:20: ( ',' ! ID )* + # sdl92.g:197:20: ( ',' ! ID )* while True: #loop6 alt6 = 2 LA6_0 = self.input.LA(1) @@ -1200,11 +1349,11 @@ def def_selection_list(self, ): if alt6 == 1: - # sdl92.g:196:21: ',' ! ID + # sdl92.g:197:21: ',' ! ID pass - char_literal18 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_def_selection_list1919) + char_literal18 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_def_selection_list1928) - ID19 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1922) + ID19 = self.match(self.input, ID, self.FOLLOW_ID_in_def_selection_list1931) if self._state.backtracking == 0: ID19_tree = self._adaptor.createWithPayload(ID19) self._adaptor.addChild(root_0, ID19_tree) @@ -1227,12 +1376,18 @@ def def_selection_list(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 4, def_selection_list_StartIndex, success) + + pass return retval @@ -1250,11 +1405,12 @@ def __init__(self): # $ANTLR start "entity_in_system" - # sdl92.g:203:1: entity_in_system : ( signal_declaration | text_area | procedure | channel | block_definition ); + # sdl92.g:204: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) + entity_in_system_StartIndex = self.input.index() root_0 = None @@ -1265,9 +1421,17 @@ def entity_in_system(self, ): block_definition24 = None + success = False + try: try: - # sdl92.g:204:9: ( signal_declaration | text_area | procedure | channel | block_definition ) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 5): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:205:9: ( signal_declaration | text_area | procedure | channel | block_definition ) alt7 = 5 LA7 = self.input.LA(1) if LA7 in {254}: @@ -1308,12 +1472,12 @@ def entity_in_system(self, ): if alt7 == 1: - # sdl92.g:204:17: signal_declaration + # sdl92.g:205:17: signal_declaration pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_system1958) + self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_system1967) signal_declaration20 = self.signal_declaration() self._state.following.pop() @@ -1323,12 +1487,12 @@ def entity_in_system(self, ): elif alt7 == 2: - # sdl92.g:205:19: text_area + # sdl92.g:206:19: text_area pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_text_area_in_entity_in_system1978) + self._state.following.append(self.FOLLOW_text_area_in_entity_in_system1987) text_area21 = self.text_area() self._state.following.pop() @@ -1338,12 +1502,12 @@ def entity_in_system(self, ): elif alt7 == 3: - # sdl92.g:206:19: procedure + # sdl92.g:207:19: procedure pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_procedure_in_entity_in_system1998) + self._state.following.append(self.FOLLOW_procedure_in_entity_in_system2007) procedure22 = self.procedure() self._state.following.pop() @@ -1353,12 +1517,12 @@ def entity_in_system(self, ): elif alt7 == 4: - # sdl92.g:207:19: channel + # sdl92.g:208:19: channel pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_channel_in_entity_in_system2018) + self._state.following.append(self.FOLLOW_channel_in_entity_in_system2027) channel23 = self.channel() self._state.following.pop() @@ -1368,12 +1532,12 @@ def entity_in_system(self, ): elif alt7 == 5: - # sdl92.g:208:19: block_definition + # sdl92.g:209:19: block_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_block_definition_in_entity_in_system2038) + self._state.following.append(self.FOLLOW_block_definition_in_entity_in_system2047) block_definition24 = self.block_definition() self._state.following.pop() @@ -1391,12 +1555,18 @@ def entity_in_system(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 5, entity_in_system_StartIndex, success) + + pass return retval @@ -1414,17 +1584,18 @@ def __init__(self): # $ANTLR start "signal_declaration" - # sdl92.g:214:1: signal_declaration : ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) ; + # sdl92.g:217:1: signal_declaration : ( cif_paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end -> ^( SIGNAL ( cif_paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) ; def signal_declaration(self, ): retval = self.signal_declaration_return() retval.start = self.input.LT(1) + signal_declaration_StartIndex = self.input.index() root_0 = None SIGNAL26 = None RENAMES29 = None - paramnames25 = None + cif_paramnames25 = None signal_id27 = None input_params28 = None input_expression30 = None @@ -1436,42 +1607,50 @@ def signal_declaration(self, ): stream_SIGNAL = RewriteRuleTokenStream(self._adaptor, "token SIGNAL") stream_RENAMES = RewriteRuleTokenStream(self._adaptor, "token RENAMES") stream_input_expression = RewriteRuleSubtreeStream(self._adaptor, "rule input_expression") - stream_paramnames = RewriteRuleSubtreeStream(self._adaptor, "rule paramnames") stream_input_params = RewriteRuleSubtreeStream(self._adaptor, "rule input_params") stream_output_expression = RewriteRuleSubtreeStream(self._adaptor, "rule output_expression") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_signal_id = RewriteRuleSubtreeStream(self._adaptor, "rule signal_id") + stream_cif_paramnames = RewriteRuleSubtreeStream(self._adaptor, "rule cif_paramnames") + success = False + try: try: - # sdl92.g:215:9: ( ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) ) - # sdl92.g:215:17: ( paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 6): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:218:9: ( ( cif_paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end -> ^( SIGNAL ( cif_paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) ) + # sdl92.g:218:17: ( cif_paramnames )? SIGNAL signal_id ( input_params )? ( RENAMES ( input_expression | output_expression ) )? end pass - # sdl92.g:215:17: ( paramnames )? + # sdl92.g:218:17: ( cif_paramnames )? alt8 = 2 LA8_0 = self.input.LA(1) if (LA8_0 == 254) : alt8 = 1 if alt8 == 1: - # sdl92.g:215:17: paramnames + # sdl92.g:218:17: cif_paramnames pass - self._state.following.append(self.FOLLOW_paramnames_in_signal_declaration2071) - paramnames25 = self.paramnames() + self._state.following.append(self.FOLLOW_cif_paramnames_in_signal_declaration2082) + cif_paramnames25 = self.cif_paramnames() self._state.following.pop() if self._state.backtracking == 0: - stream_paramnames.add(paramnames25.tree) + stream_cif_paramnames.add(cif_paramnames25.tree) - SIGNAL26 = self.match(self.input, SIGNAL, self.FOLLOW_SIGNAL_in_signal_declaration2090) + SIGNAL26 = self.match(self.input, SIGNAL, self.FOLLOW_SIGNAL_in_signal_declaration2101) if self._state.backtracking == 0: stream_SIGNAL.add(SIGNAL26) - self._state.following.append(self.FOLLOW_signal_id_in_signal_declaration2092) + self._state.following.append(self.FOLLOW_signal_id_in_signal_declaration2103) signal_id27 = self.signal_id() self._state.following.pop() @@ -1479,16 +1658,16 @@ def signal_declaration(self, ): stream_signal_id.add(signal_id27.tree) - # sdl92.g:216:34: ( input_params )? + # sdl92.g:219:34: ( input_params )? alt9 = 2 LA9_0 = self.input.LA(1) if (LA9_0 == L_PAREN) : alt9 = 1 if alt9 == 1: - # sdl92.g:216:34: input_params + # sdl92.g:219:34: input_params pass - self._state.following.append(self.FOLLOW_input_params_in_signal_declaration2094) + self._state.following.append(self.FOLLOW_input_params_in_signal_declaration2105) input_params28 = self.input_params() self._state.following.pop() @@ -1499,21 +1678,21 @@ def signal_declaration(self, ): - # sdl92.g:217:17: ( RENAMES ( input_expression | output_expression ) )? + # sdl92.g:220:17: ( RENAMES ( input_expression | output_expression ) )? alt11 = 2 LA11_0 = self.input.LA(1) if (LA11_0 == RENAMES) : alt11 = 1 if alt11 == 1: - # sdl92.g:217:18: RENAMES ( input_expression | output_expression ) + # sdl92.g:220:18: RENAMES ( input_expression | output_expression ) pass - RENAMES29 = self.match(self.input, RENAMES, self.FOLLOW_RENAMES_in_signal_declaration2114) + RENAMES29 = self.match(self.input, RENAMES, self.FOLLOW_RENAMES_in_signal_declaration2125) if self._state.backtracking == 0: stream_RENAMES.add(RENAMES29) - # sdl92.g:217:26: ( input_expression | output_expression ) + # sdl92.g:220:26: ( input_expression | output_expression ) alt10 = 2 LA10_0 = self.input.LA(1) @@ -1532,9 +1711,9 @@ def signal_declaration(self, ): if alt10 == 1: - # sdl92.g:217:27: input_expression + # sdl92.g:220:27: input_expression pass - self._state.following.append(self.FOLLOW_input_expression_in_signal_declaration2117) + self._state.following.append(self.FOLLOW_input_expression_in_signal_declaration2128) input_expression30 = self.input_expression() self._state.following.pop() @@ -1544,9 +1723,9 @@ def signal_declaration(self, ): elif alt10 == 2: - # sdl92.g:217:46: output_expression + # sdl92.g:220:46: output_expression pass - self._state.following.append(self.FOLLOW_output_expression_in_signal_declaration2121) + self._state.following.append(self.FOLLOW_output_expression_in_signal_declaration2132) output_expression31 = self.output_expression() self._state.following.pop() @@ -1560,7 +1739,7 @@ def signal_declaration(self, ): - self._state.following.append(self.FOLLOW_end_in_signal_declaration2143) + self._state.following.append(self.FOLLOW_end_in_signal_declaration2154) end32 = self.end() self._state.following.pop() @@ -1569,7 +1748,7 @@ def signal_declaration(self, ): # AST Rewrite - # elements: SIGNAL, paramnames, signal_id, input_params, input_expression, output_expression + # elements: SIGNAL, cif_paramnames, signal_id, input_params, input_expression, output_expression # token labels: # rule labels: retval # token list labels: @@ -1584,43 +1763,43 @@ def signal_declaration(self, ): root_0 = self._adaptor.nil() - # 219:9: -> ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) - # sdl92.g:219:17: ^( SIGNAL ( paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) + # 222:9: -> ^( SIGNAL ( cif_paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) + # sdl92.g:222:17: ^( SIGNAL ( cif_paramnames )? signal_id ( input_params )? ^( INTERCEPT ( input_expression )? ( output_expression )? ) ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_SIGNAL.nextNode() , root_1) - # sdl92.g:219:26: ( paramnames )? - if stream_paramnames.hasNext(): - self._adaptor.addChild(root_1, stream_paramnames.nextTree()) + # sdl92.g:222:26: ( cif_paramnames )? + if stream_cif_paramnames.hasNext(): + self._adaptor.addChild(root_1, stream_cif_paramnames.nextTree()) - stream_paramnames.reset(); + stream_cif_paramnames.reset(); self._adaptor.addChild(root_1, stream_signal_id.nextTree()) - # sdl92.g:219:48: ( input_params )? + # sdl92.g:222:52: ( input_params )? if stream_input_params.hasNext(): self._adaptor.addChild(root_1, stream_input_params.nextTree()) stream_input_params.reset(); - # sdl92.g:219:62: ^( INTERCEPT ( input_expression )? ( output_expression )? ) + # sdl92.g:222:66: ^( INTERCEPT ( input_expression )? ( output_expression )? ) root_2 = self._adaptor.nil() root_2 = self._adaptor.becomeRoot( self._adaptor.createFromType(INTERCEPT, "INTERCEPT") , root_2) - # sdl92.g:219:74: ( input_expression )? + # sdl92.g:222:78: ( input_expression )? if stream_input_expression.hasNext(): self._adaptor.addChild(root_2, stream_input_expression.nextTree()) stream_input_expression.reset(); - # sdl92.g:219:92: ( output_expression )? + # sdl92.g:222:96: ( output_expression )? if stream_output_expression.hasNext(): self._adaptor.addChild(root_2, stream_output_expression.nextTree()) @@ -1649,12 +1828,18 @@ def signal_declaration(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 6, signal_declaration_StartIndex, success) + + pass return retval @@ -1672,11 +1857,12 @@ def __init__(self): # $ANTLR start "channel" - # sdl92.g:223:1: channel : CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ; + # sdl92.g:226: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) + channel_StartIndex = self.input.index() root_0 = None @@ -1693,17 +1879,25 @@ def channel(self, ): stream_route = RewriteRuleSubtreeStream(self._adaptor, "rule route") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") stream_channel_id = RewriteRuleSubtreeStream(self._adaptor, "rule channel_id") + success = False + try: try: - # sdl92.g:224:9: ( CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ) - # sdl92.g:224:17: CHANNEL channel_id ( route )+ ENDCHANNEL end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 7): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:227:9: ( CHANNEL channel_id ( route )+ ENDCHANNEL end -> ^( CHANNEL channel_id ( route )+ ) ) + # sdl92.g:227:17: CHANNEL channel_id ( route )+ ENDCHANNEL end pass - CHANNEL33 = self.match(self.input, CHANNEL, self.FOLLOW_CHANNEL_in_channel2212) + CHANNEL33 = self.match(self.input, CHANNEL, self.FOLLOW_CHANNEL_in_channel2223) if self._state.backtracking == 0: stream_CHANNEL.add(CHANNEL33) - self._state.following.append(self.FOLLOW_channel_id_in_channel2214) + self._state.following.append(self.FOLLOW_channel_id_in_channel2225) channel_id34 = self.channel_id() self._state.following.pop() @@ -1711,7 +1905,7 @@ def channel(self, ): stream_channel_id.add(channel_id34.tree) - # sdl92.g:225:17: ( route )+ + # sdl92.g:228:17: ( route )+ cnt12 = 0 while True: #loop12 alt12 = 2 @@ -1722,9 +1916,9 @@ def channel(self, ): if alt12 == 1: - # sdl92.g:225:17: route + # sdl92.g:228:17: route pass - self._state.following.append(self.FOLLOW_route_in_channel2232) + self._state.following.append(self.FOLLOW_route_in_channel2243) route35 = self.route() self._state.following.pop() @@ -1747,12 +1941,12 @@ def channel(self, ): cnt12 += 1 - ENDCHANNEL36 = self.match(self.input, ENDCHANNEL, self.FOLLOW_ENDCHANNEL_in_channel2251) + ENDCHANNEL36 = self.match(self.input, ENDCHANNEL, self.FOLLOW_ENDCHANNEL_in_channel2262) if self._state.backtracking == 0: stream_ENDCHANNEL.add(ENDCHANNEL36) - self._state.following.append(self.FOLLOW_end_in_channel2253) + self._state.following.append(self.FOLLOW_end_in_channel2264) end37 = self.end() self._state.following.pop() @@ -1776,8 +1970,8 @@ def channel(self, ): root_0 = self._adaptor.nil() - # 227:9: -> ^( CHANNEL channel_id ( route )+ ) - # sdl92.g:227:17: ^( CHANNEL channel_id ( route )+ ) + # 230:9: -> ^( CHANNEL channel_id ( route )+ ) + # sdl92.g:230:17: ^( CHANNEL channel_id ( route )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_CHANNEL.nextNode() @@ -1785,7 +1979,7 @@ def channel(self, ): self._adaptor.addChild(root_1, stream_channel_id.nextTree()) - # sdl92.g:227:38: ( route )+ + # sdl92.g:230:38: ( route )+ if not (stream_route.hasNext()): raise RewriteEarlyExitException() @@ -1815,12 +2009,18 @@ def channel(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 7, channel_StartIndex, success) + + pass return retval @@ -1838,11 +2038,12 @@ def __init__(self): # $ANTLR start "route" - # sdl92.g:231:1: route : FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ; + # sdl92.g:234: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) + route_StartIndex = self.input.index() root_0 = None @@ -1868,17 +2069,25 @@ def route(self, ): 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") + success = False + try: try: - # sdl92.g:232:9: ( FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ) - # sdl92.g:232:17: FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 8): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:235:9: ( FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end -> ^( ROUTE source_id dest_id ( signal_id )+ ) ) + # sdl92.g:235:17: FROM source_id TO dest_id WITH signal_id ( ',' signal_id )* end pass - FROM38 = self.match(self.input, FROM, self.FOLLOW_FROM_in_route2309) + FROM38 = self.match(self.input, FROM, self.FOLLOW_FROM_in_route2320) if self._state.backtracking == 0: stream_FROM.add(FROM38) - self._state.following.append(self.FOLLOW_source_id_in_route2311) + self._state.following.append(self.FOLLOW_source_id_in_route2322) source_id39 = self.source_id() self._state.following.pop() @@ -1886,12 +2095,12 @@ def route(self, ): stream_source_id.add(source_id39.tree) - TO40 = self.match(self.input, TO, self.FOLLOW_TO_in_route2313) + TO40 = self.match(self.input, TO, self.FOLLOW_TO_in_route2324) if self._state.backtracking == 0: stream_TO.add(TO40) - self._state.following.append(self.FOLLOW_dest_id_in_route2315) + self._state.following.append(self.FOLLOW_dest_id_in_route2326) dest_id41 = self.dest_id() self._state.following.pop() @@ -1899,12 +2108,12 @@ def route(self, ): stream_dest_id.add(dest_id41.tree) - WITH42 = self.match(self.input, WITH, self.FOLLOW_WITH_in_route2317) + WITH42 = self.match(self.input, WITH, self.FOLLOW_WITH_in_route2328) if self._state.backtracking == 0: stream_WITH.add(WITH42) - self._state.following.append(self.FOLLOW_signal_id_in_route2319) + self._state.following.append(self.FOLLOW_signal_id_in_route2330) signal_id43 = self.signal_id() self._state.following.pop() @@ -1912,7 +2121,7 @@ def route(self, ): stream_signal_id.add(signal_id43.tree) - # sdl92.g:232:58: ( ',' signal_id )* + # sdl92.g:235:58: ( ',' signal_id )* while True: #loop13 alt13 = 2 LA13_0 = self.input.LA(1) @@ -1922,14 +2131,14 @@ def route(self, ): if alt13 == 1: - # sdl92.g:232:59: ',' signal_id + # sdl92.g:235:59: ',' signal_id pass - char_literal44 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_route2322) + char_literal44 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_route2333) if self._state.backtracking == 0: stream_COMMA.add(char_literal44) - self._state.following.append(self.FOLLOW_signal_id_in_route2324) + self._state.following.append(self.FOLLOW_signal_id_in_route2335) signal_id45 = self.signal_id() self._state.following.pop() @@ -1942,7 +2151,7 @@ def route(self, ): break #loop13 - self._state.following.append(self.FOLLOW_end_in_route2328) + self._state.following.append(self.FOLLOW_end_in_route2339) end46 = self.end() self._state.following.pop() @@ -1966,8 +2175,8 @@ def route(self, ): root_0 = self._adaptor.nil() - # 233:9: -> ^( ROUTE source_id dest_id ( signal_id )+ ) - # sdl92.g:233:17: ^( ROUTE source_id dest_id ( signal_id )+ ) + # 236:9: -> ^( ROUTE source_id dest_id ( signal_id )+ ) + # sdl92.g:236:17: ^( ROUTE source_id dest_id ( signal_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(ROUTE, "ROUTE") @@ -1977,7 +2186,7 @@ def route(self, ): self._adaptor.addChild(root_1, stream_dest_id.nextTree()) - # sdl92.g:233:43: ( signal_id )+ + # sdl92.g:236:43: ( signal_id )+ if not (stream_signal_id.hasNext()): raise RewriteEarlyExitException() @@ -2007,12 +2216,18 @@ def route(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 8, route_StartIndex, success) + + pass return retval @@ -2030,11 +2245,12 @@ def __init__(self): # $ANTLR start "block_definition" - # sdl92.g:237:1: block_definition : BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ; + # sdl92.g:240: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) + block_definition_StartIndex = self.input.index() root_0 = None @@ -2052,17 +2268,25 @@ def block_definition(self, ): 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") + success = False + try: try: - # sdl92.g:238:9: ( BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ) - # sdl92.g:238:17: BLOCK block_id end ( entity_in_block )* ENDBLOCK end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 9): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:241:9: ( BLOCK block_id end ( entity_in_block )* ENDBLOCK end -> ^( BLOCK block_id ( entity_in_block )* ) ) + # sdl92.g:241:17: BLOCK block_id end ( entity_in_block )* ENDBLOCK end pass - BLOCK47 = self.match(self.input, BLOCK, self.FOLLOW_BLOCK_in_block_definition2386) + BLOCK47 = self.match(self.input, BLOCK, self.FOLLOW_BLOCK_in_block_definition2397) if self._state.backtracking == 0: stream_BLOCK.add(BLOCK47) - self._state.following.append(self.FOLLOW_block_id_in_block_definition2388) + self._state.following.append(self.FOLLOW_block_id_in_block_definition2399) block_id48 = self.block_id() self._state.following.pop() @@ -2070,7 +2294,7 @@ def block_definition(self, ): stream_block_id.add(block_id48.tree) - self._state.following.append(self.FOLLOW_end_in_block_definition2390) + self._state.following.append(self.FOLLOW_end_in_block_definition2401) end49 = self.end() self._state.following.pop() @@ -2078,7 +2302,7 @@ def block_definition(self, ): stream_end.add(end49.tree) - # sdl92.g:239:17: ( entity_in_block )* + # sdl92.g:242:17: ( entity_in_block )* while True: #loop14 alt14 = 2 LA14_0 = self.input.LA(1) @@ -2088,9 +2312,9 @@ def block_definition(self, ): if alt14 == 1: - # sdl92.g:239:17: entity_in_block + # sdl92.g:242:17: entity_in_block pass - self._state.following.append(self.FOLLOW_entity_in_block_in_block_definition2408) + self._state.following.append(self.FOLLOW_entity_in_block_in_block_definition2419) entity_in_block50 = self.entity_in_block() self._state.following.pop() @@ -2103,12 +2327,12 @@ def block_definition(self, ): break #loop14 - ENDBLOCK51 = self.match(self.input, ENDBLOCK, self.FOLLOW_ENDBLOCK_in_block_definition2427) + ENDBLOCK51 = self.match(self.input, ENDBLOCK, self.FOLLOW_ENDBLOCK_in_block_definition2438) if self._state.backtracking == 0: stream_ENDBLOCK.add(ENDBLOCK51) - self._state.following.append(self.FOLLOW_end_in_block_definition2429) + self._state.following.append(self.FOLLOW_end_in_block_definition2440) end52 = self.end() self._state.following.pop() @@ -2132,8 +2356,8 @@ def block_definition(self, ): root_0 = self._adaptor.nil() - # 241:9: -> ^( BLOCK block_id ( entity_in_block )* ) - # sdl92.g:241:17: ^( BLOCK block_id ( entity_in_block )* ) + # 244:9: -> ^( BLOCK block_id ( entity_in_block )* ) + # sdl92.g:244:17: ^( BLOCK block_id ( entity_in_block )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( stream_BLOCK.nextNode() @@ -2141,7 +2365,7 @@ def block_definition(self, ): self._adaptor.addChild(root_1, stream_block_id.nextTree()) - # sdl92.g:241:34: ( entity_in_block )* + # sdl92.g:244:34: ( entity_in_block )* while stream_entity_in_block.hasNext(): self._adaptor.addChild(root_1, stream_entity_in_block.nextTree()) @@ -2168,12 +2392,18 @@ def block_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 9, block_definition_StartIndex, success) + + pass return retval @@ -2191,11 +2421,12 @@ def __init__(self): # $ANTLR start "entity_in_block" - # sdl92.g:249:1: entity_in_block : ( signal_declaration | signalroute | connection | block_definition | process_definition ); + # sdl92.g:252: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) + entity_in_block_StartIndex = self.input.index() root_0 = None @@ -2206,96 +2437,26 @@ def entity_in_block(self, ): process_definition57 = None + success = False + try: try: - # sdl92.g:250:9: ( signal_declaration | signalroute | connection | block_definition | process_definition ) - alt15 = 5 - LA15 = self.input.LA(1) - if LA15 in {254}: - LA15_1 = self.input.LA(2) - - if (LA15_1 == KEEP) : - LA15_7 = self.input.LA(3) - - if (LA15_7 == SPECIFIC) : - LA15_8 = self.input.LA(4) - - if (LA15_8 == GEODE) : - LA15_9 = self.input.LA(5) - - if (LA15_9 == PARAMNAMES) : - alt15 = 1 - elif (LA15_9 in {REQ_ID, REQ_SERVER, RID_ID, RID_SERVER}) : - alt15 = 5 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 15, 9, self.input) - - raise nvae - - - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 15, 8, self.input) - - raise nvae - - - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 15, 7, self.input) - - raise nvae - - - elif (LA15_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : - alt15 = 5 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 15, 1, self.input) - - raise nvae - - - elif LA15 in {SIGNAL}: - alt15 = 1 - elif LA15 in {SIGNALROUTE}: - alt15 = 2 - elif LA15 in {CONNECT}: - alt15 = 3 - elif LA15 in {BLOCK}: - alt15 = 4 - elif LA15 in {PROCESS}: - alt15 = 5 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 15, 0, self.input) - - raise nvae + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 10): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:253:9: ( signal_declaration | signalroute | connection | block_definition | process_definition ) + alt15 = 5 + alt15 = self.dfa15.predict(self.input) if alt15 == 1: - # sdl92.g:250:17: signal_declaration + # sdl92.g:253:17: signal_declaration pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_block2487) + self._state.following.append(self.FOLLOW_signal_declaration_in_entity_in_block2498) signal_declaration53 = self.signal_declaration() self._state.following.pop() @@ -2305,12 +2466,12 @@ def entity_in_block(self, ): elif alt15 == 2: - # sdl92.g:251:19: signalroute + # sdl92.g:254:19: signalroute pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signalroute_in_entity_in_block2507) + self._state.following.append(self.FOLLOW_signalroute_in_entity_in_block2518) signalroute54 = self.signalroute() self._state.following.pop() @@ -2320,12 +2481,12 @@ def entity_in_block(self, ): elif alt15 == 3: - # sdl92.g:252:19: connection + # sdl92.g:255:19: connection pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_connection_in_entity_in_block2527) + self._state.following.append(self.FOLLOW_connection_in_entity_in_block2538) connection55 = self.connection() self._state.following.pop() @@ -2335,12 +2496,12 @@ def entity_in_block(self, ): elif alt15 == 4: - # sdl92.g:253:19: block_definition + # sdl92.g:256:19: block_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_block_definition_in_entity_in_block2547) + self._state.following.append(self.FOLLOW_block_definition_in_entity_in_block2558) block_definition56 = self.block_definition() self._state.following.pop() @@ -2350,12 +2511,12 @@ def entity_in_block(self, ): elif alt15 == 5: - # sdl92.g:254:19: process_definition + # sdl92.g:257:19: process_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_process_definition_in_entity_in_block2567) + self._state.following.append(self.FOLLOW_process_definition_in_entity_in_block2578) process_definition57 = self.process_definition() self._state.following.pop() @@ -2373,12 +2534,18 @@ def entity_in_block(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 10, entity_in_block_StartIndex, success) + + pass return retval @@ -2396,11 +2563,12 @@ def __init__(self): # $ANTLR start "signalroute" - # sdl92.g:260:1: signalroute : SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ; + # sdl92.g:263:1: signalroute : SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ; def signalroute(self, ): retval = self.signalroute_return() retval.start = self.input.LT(1) + signalroute_StartIndex = self.input.index() root_0 = None @@ -2414,17 +2582,25 @@ def signalroute(self, ): stream_route_id = RewriteRuleSubtreeStream(self._adaptor, "rule route_id") stream_route = RewriteRuleSubtreeStream(self._adaptor, "rule route") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False + try: try: - # sdl92.g:261:9: ( SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ) - # sdl92.g:261:17: SIGNALROUTE route_id ( end )? ( route )* + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 11): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:264:9: ( SIGNALROUTE route_id ( end )? ( route )* -> ^( SIGNALROUTE route_id ( route )* ) ) + # sdl92.g:264:17: SIGNALROUTE route_id ( end )? ( route )* pass - SIGNALROUTE58 = self.match(self.input, SIGNALROUTE, self.FOLLOW_SIGNALROUTE_in_signalroute2601) + SIGNALROUTE58 = self.match(self.input, SIGNALROUTE, self.FOLLOW_SIGNALROUTE_in_signalroute2612) if self._state.backtracking == 0: stream_SIGNALROUTE.add(SIGNALROUTE58) - self._state.following.append(self.FOLLOW_route_id_in_signalroute2603) + self._state.following.append(self.FOLLOW_route_id_in_signalroute2614) route_id59 = self.route_id() self._state.following.pop() @@ -2432,446 +2608,112 @@ def signalroute(self, ): stream_route_id.add(route_id59.tree) - # sdl92.g:261:38: ( end )? + # sdl92.g:264:38: ( end )? alt16 = 2 - LA16_0 = self.input.LA(1) - - if (LA16_0 == 254) : - LA16 = self.input.LA(2) - if LA16 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - LA16_4 = self.input.LA(3) + alt16 = self.dfa16.predict(self.input) + if alt16 == 1: + # sdl92.g:264:38: end + pass + self._state.following.append(self.FOLLOW_end_in_signalroute2616) + end60 = self.end() - if (LA16_4 == L_PAREN) : - LA16_7 = self.input.LA(4) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end60.tree) - if (LA16_7 == DASH) : - LA16_10 = self.input.LA(5) - if (LA16_10 == INT) : - LA16_11 = self.input.LA(6) - if (LA16_11 == COMMA) : - LA16_14 = self.input.LA(7) - if (LA16_14 == DASH) : - LA16_16 = self.input.LA(8) - if (LA16_16 == INT) : - LA16_17 = self.input.LA(9) + # sdl92.g:265:17: ( route )* + while True: #loop17 + alt17 = 2 + LA17_0 = self.input.LA(1) - if (LA16_17 == R_PAREN) : - LA16_19 = self.input.LA(10) + if (LA17_0 == FROM) : + alt17 = 1 - if (LA16_19 == COMMA) : - LA16_21 = self.input.LA(11) - if (LA16_21 == L_PAREN) : - LA16_23 = self.input.LA(12) + if alt17 == 1: + # sdl92.g:265:17: route + pass + self._state.following.append(self.FOLLOW_route_in_signalroute2635) + route61 = self.route() - if (LA16_23 == INT) : - LA16_24 = self.input.LA(13) + self._state.following.pop() + if self._state.backtracking == 0: + stream_route.add(route61.tree) - if (LA16_24 == COMMA) : - LA16_25 = self.input.LA(14) - if (LA16_25 == INT) : - LA16_26 = self.input.LA(15) - if (LA16_26 == R_PAREN) : - LA16_27 = self.input.LA(16) + else: + break #loop17 - if (LA16_27 == 250) : - LA16_28 = self.input.LA(17) - if (LA16_28 == 254) : - LA16_29 = self.input.LA(18) + # 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) - if (LA16_29 == 256) : - LA16_5 = self.input.LA(19) - if (LA16_5 == INT) : - LA16_8 = self.input.LA(20) + root_0 = self._adaptor.nil() + # 266:9: -> ^( SIGNALROUTE route_id ( route )* ) + # sdl92.g:266:17: ^( SIGNALROUTE route_id ( route )* ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_SIGNALROUTE.nextNode() + , root_1) - if (LA16_8 == 250) : - LA16_12 = self.input.LA(21) + self._adaptor.addChild(root_1, stream_route_id.nextTree()) - if (LA16_12 == 254) : - LA16_15 = self.input.LA(22) + # sdl92.g:266:40: ( route )* + while stream_route.hasNext(): + self._adaptor.addChild(root_1, stream_route.nextTree()) - if (LA16_15 == KEEP) : - LA16_18 = self.input.LA(23) - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(24) + stream_route.reset(); - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(25) + self._adaptor.addChild(root_0, root_1) - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_12 == COMMENT) : - alt16 = 1 - elif (LA16_29 == KEEP) : - LA16_18 = self.input.LA(19) - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(20) - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(21) - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_28 == COMMENT) : - alt16 = 1 - elif (LA16_14 == INT) : - LA16_17 = self.input.LA(8) + retval.tree = root_0 - if (LA16_17 == R_PAREN) : - LA16_19 = self.input.LA(9) - if (LA16_19 == COMMA) : - LA16_21 = self.input.LA(10) - if (LA16_21 == L_PAREN) : - LA16_23 = self.input.LA(11) - if (LA16_23 == INT) : - LA16_24 = self.input.LA(12) - if (LA16_24 == COMMA) : - LA16_25 = self.input.LA(13) + retval.stop = self.input.LT(-1) - if (LA16_25 == INT) : - LA16_26 = self.input.LA(14) - if (LA16_26 == R_PAREN) : - LA16_27 = self.input.LA(15) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA16_27 == 250) : - LA16_28 = self.input.LA(16) - if (LA16_28 == 254) : - LA16_29 = self.input.LA(17) - if (LA16_29 == 256) : - LA16_5 = self.input.LA(18) + success = True - if (LA16_5 == INT) : - LA16_8 = self.input.LA(19) + 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) - if (LA16_8 == 250) : - LA16_12 = self.input.LA(20) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 11, signalroute_StartIndex, success) - if (LA16_12 == 254) : - LA16_15 = self.input.LA(21) - if (LA16_15 == KEEP) : - LA16_18 = self.input.LA(22) - - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(23) - - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(24) - - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_12 == COMMENT) : - alt16 = 1 - elif (LA16_29 == KEEP) : - LA16_18 = self.input.LA(18) - - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(19) - - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(20) - - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_28 == COMMENT) : - alt16 = 1 - elif (LA16_7 == INT) : - LA16_11 = self.input.LA(5) - - if (LA16_11 == COMMA) : - LA16_14 = self.input.LA(6) - - if (LA16_14 == DASH) : - LA16_16 = self.input.LA(7) - - if (LA16_16 == INT) : - LA16_17 = self.input.LA(8) - - if (LA16_17 == R_PAREN) : - LA16_19 = self.input.LA(9) - - if (LA16_19 == COMMA) : - LA16_21 = self.input.LA(10) - - if (LA16_21 == L_PAREN) : - LA16_23 = self.input.LA(11) - - if (LA16_23 == INT) : - LA16_24 = self.input.LA(12) - - if (LA16_24 == COMMA) : - LA16_25 = self.input.LA(13) - - if (LA16_25 == INT) : - LA16_26 = self.input.LA(14) - - if (LA16_26 == R_PAREN) : - LA16_27 = self.input.LA(15) - - if (LA16_27 == 250) : - LA16_28 = self.input.LA(16) - - if (LA16_28 == 254) : - LA16_29 = self.input.LA(17) - - if (LA16_29 == 256) : - LA16_5 = self.input.LA(18) - - if (LA16_5 == INT) : - LA16_8 = self.input.LA(19) - - if (LA16_8 == 250) : - LA16_12 = self.input.LA(20) - - if (LA16_12 == 254) : - LA16_15 = self.input.LA(21) - - if (LA16_15 == KEEP) : - LA16_18 = self.input.LA(22) - - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(23) - - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(24) - - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_12 == COMMENT) : - alt16 = 1 - elif (LA16_29 == KEEP) : - LA16_18 = self.input.LA(18) - - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(19) - - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(20) - - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_28 == COMMENT) : - alt16 = 1 - elif (LA16_14 == INT) : - LA16_17 = self.input.LA(7) - - if (LA16_17 == R_PAREN) : - LA16_19 = self.input.LA(8) - - if (LA16_19 == COMMA) : - LA16_21 = self.input.LA(9) - - if (LA16_21 == L_PAREN) : - LA16_23 = self.input.LA(10) - - if (LA16_23 == INT) : - LA16_24 = self.input.LA(11) - - if (LA16_24 == COMMA) : - LA16_25 = self.input.LA(12) - - if (LA16_25 == INT) : - LA16_26 = self.input.LA(13) - - if (LA16_26 == R_PAREN) : - LA16_27 = self.input.LA(14) - - if (LA16_27 == 250) : - LA16_28 = self.input.LA(15) - - if (LA16_28 == 254) : - LA16_29 = self.input.LA(16) - - if (LA16_29 == 256) : - LA16_5 = self.input.LA(17) - - if (LA16_5 == INT) : - LA16_8 = self.input.LA(18) - - if (LA16_8 == 250) : - LA16_12 = self.input.LA(19) - - if (LA16_12 == 254) : - LA16_15 = self.input.LA(20) - - if (LA16_15 == KEEP) : - LA16_18 = self.input.LA(21) - - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(22) - - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(23) - - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_12 == COMMENT) : - alt16 = 1 - elif (LA16_29 == KEEP) : - LA16_18 = self.input.LA(17) - - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(18) - - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(19) - - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_28 == COMMENT) : - alt16 = 1 - elif LA16 in {256}: - LA16_5 = self.input.LA(3) - - if (LA16_5 == INT) : - LA16_8 = self.input.LA(4) - - if (LA16_8 == 250) : - LA16_12 = self.input.LA(5) - - if (LA16_12 == 254) : - LA16_15 = self.input.LA(6) - - if (LA16_15 == KEEP) : - LA16_18 = self.input.LA(7) - - if (LA16_18 == SPECIFIC) : - LA16_20 = self.input.LA(8) - - if (LA16_20 == GEODE) : - LA16_22 = self.input.LA(9) - - if (LA16_22 == HYPERLINK) : - alt16 = 1 - elif (LA16_12 == COMMENT) : - alt16 = 1 - elif LA16 in {KEEP}: - LA16_6 = self.input.LA(3) - - if (LA16_6 == SPECIFIC) : - LA16_9 = self.input.LA(4) - - if (LA16_9 == GEODE) : - LA16_13 = self.input.LA(5) - - if (LA16_13 == HYPERLINK) : - alt16 = 1 - elif (LA16_0 in {COMMENT, SEMI}) : - alt16 = 1 - if alt16 == 1: - # sdl92.g:261:38: end - pass - self._state.following.append(self.FOLLOW_end_in_signalroute2605) - end60 = self.end() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end60.tree) - - - - - - # sdl92.g:262:17: ( route )* - while True: #loop17 - alt17 = 2 - LA17_0 = self.input.LA(1) - - if (LA17_0 == FROM) : - alt17 = 1 - - - if alt17 == 1: - # sdl92.g:262:17: route - pass - self._state.following.append(self.FOLLOW_route_in_signalroute2624) - route61 = self.route() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_route.add(route61.tree) - - - - else: - break #loop17 - - - # 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() - # 263:9: -> ^( SIGNALROUTE route_id ( route )* ) - # sdl92.g:263: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:263: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 @@ -2889,11 +2731,12 @@ def __init__(self): # $ANTLR start "connection" - # sdl92.g:267:1: connection : CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ; + # sdl92.g:270: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) + connection_StartIndex = self.input.index() root_0 = None @@ -2910,17 +2753,25 @@ def connection(self, ): 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") + success = False + try: try: - # sdl92.g:268:9: ( CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ) - # sdl92.g:268:17: CONNECT channel_id AND route_id end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 12): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:271:9: ( CONNECT channel_id AND route_id end -> ^( CONNECTION channel_id route_id ) ) + # sdl92.g:271:17: CONNECT channel_id AND route_id end pass - CONNECT62 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connection2681) + CONNECT62 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connection2692) if self._state.backtracking == 0: stream_CONNECT.add(CONNECT62) - self._state.following.append(self.FOLLOW_channel_id_in_connection2683) + self._state.following.append(self.FOLLOW_channel_id_in_connection2694) channel_id63 = self.channel_id() self._state.following.pop() @@ -2928,12 +2779,12 @@ def connection(self, ): stream_channel_id.add(channel_id63.tree) - AND64 = self.match(self.input, AND, self.FOLLOW_AND_in_connection2685) + AND64 = self.match(self.input, AND, self.FOLLOW_AND_in_connection2696) if self._state.backtracking == 0: stream_AND.add(AND64) - self._state.following.append(self.FOLLOW_route_id_in_connection2687) + self._state.following.append(self.FOLLOW_route_id_in_connection2698) route_id65 = self.route_id() self._state.following.pop() @@ -2941,7 +2792,7 @@ def connection(self, ): stream_route_id.add(route_id65.tree) - self._state.following.append(self.FOLLOW_end_in_connection2689) + self._state.following.append(self.FOLLOW_end_in_connection2700) end66 = self.end() self._state.following.pop() @@ -2965,8 +2816,8 @@ def connection(self, ): root_0 = self._adaptor.nil() - # 269:9: -> ^( CONNECTION channel_id route_id ) - # sdl92.g:269:17: ^( CONNECTION channel_id route_id ) + # 272:9: -> ^( CONNECTION channel_id route_id ) + # sdl92.g:272:17: ^( CONNECTION channel_id route_id ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( self._adaptor.createFromType(CONNECTION, "CONNECTION") @@ -2996,12 +2847,18 @@ def connection(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 12, connection_StartIndex, success) + + pass return retval @@ -3019,44 +2876,40 @@ def __init__(self): # $ANTLR start "process_definition" - # sdl92.g:281:1: process_definition : ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* 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 )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) ; + # sdl92.g:284: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) + process_definition_StartIndex = self.input.index() root_0 = None t = None - PROCESS73 = None - char_literal76 = None - REFERENCED78 = None - ENDPROCESS84 = None - TYPE85 = None + PROCESS68 = None + char_literal71 = None + REFERENCED73 = None + ENDPROCESS79 = None + TYPE80 = None a = None cif67 = None - symbolid68 = None - req_server69 = None - rid_server70 = None - requirement71 = None - rid72 = None - process_id74 = None - number_of_instances75 = None - type_inst77 = None - pfpar79 = None - text_area80 = None - procedure81 = None - composite_state82 = None - processBody83 = None - process_id86 = None - end87 = None + process_id69 = None + number_of_instances70 = None + type_inst72 = None + pfpar74 = None + text_area75 = None + procedure76 = None + composite_state77 = None + processBody78 = None + process_id81 = None + end82 = None t_tree = None - PROCESS73_tree = None - char_literal76_tree = None - REFERENCED78_tree = None - ENDPROCESS84_tree = None - TYPE85_tree = None + PROCESS68_tree = None + char_literal71_tree = None + REFERENCED73_tree = None + ENDPROCESS79_tree = None + TYPE80_tree = None stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") stream_PROCESS = RewriteRuleTokenStream(self._adaptor, "token PROCESS") stream_ENDPROCESS = RewriteRuleTokenStream(self._adaptor, "token ENDPROCESS") @@ -3064,907 +2917,821 @@ def process_definition(self, ): stream_REFERENCED = RewriteRuleTokenStream(self._adaptor, "token REFERENCED") stream_text_area = RewriteRuleSubtreeStream(self._adaptor, "rule text_area") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") stream_process_id = RewriteRuleSubtreeStream(self._adaptor, "rule process_id") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_procedure = RewriteRuleSubtreeStream(self._adaptor, "rule procedure") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_req_server = RewriteRuleSubtreeStream(self._adaptor, "rule req_server") - stream_number_of_instances = RewriteRuleSubtreeStream(self._adaptor, "rule number_of_instances") stream_pfpar = RewriteRuleSubtreeStream(self._adaptor, "rule pfpar") - stream_rid_server = RewriteRuleSubtreeStream(self._adaptor, "rule rid_server") 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") + success = False + try: try: - # sdl92.g:282:9: ( ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* 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 )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) ) - # sdl92.g:282:17: ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* 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:282:17: ( cif )? - alt18 = 2 - LA18_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 13): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA18_0 == 254) : - LA18_1 = self.input.LA(2) - if (LA18_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : + # sdl92.g:285: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:285: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:285:17: ( cif )* + while True: #loop18 + alt18 = 2 + LA18_0 = self.input.LA(1) + + if (LA18_0 == 254) : alt18 = 1 - if alt18 == 1: - # sdl92.g:282:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_process_definition2746) - cif67 = self.cif() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif67.tree) + + if alt18 == 1: + # sdl92.g:285:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_process_definition2757) + cif67 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif67.tree) + else: + break #loop18 + + + PROCESS68 = self.match(self.input, PROCESS, self.FOLLOW_PROCESS_in_process_definition2776) + if self._state.backtracking == 0: + stream_PROCESS.add(PROCESS68) - # sdl92.g:283:17: ( symbolid )? + # sdl92.g:286:26: (t= TYPE )? alt19 = 2 LA19_0 = self.input.LA(1) - if (LA19_0 == 254) : - LA19_1 = self.input.LA(2) - - if (LA19_1 == 256) : - alt19 = 1 + if (LA19_0 == TYPE) : + alt19 = 1 if alt19 == 1: - # sdl92.g:283:17: symbolid + # sdl92.g:286:26: t= TYPE pass - self._state.following.append(self.FOLLOW_symbolid_in_process_definition2765) - symbolid68 = self.symbolid() - - self._state.following.pop() + t = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2780) if self._state.backtracking == 0: - stream_symbolid.add(symbolid68.tree) - + stream_TYPE.add(t) - # sdl92.g:284:17: ( req_server )? - alt20 = 2 - LA20_0 = self.input.LA(1) - if (LA20_0 == 254) : - LA20_1 = self.input.LA(2) + self._state.following.append(self.FOLLOW_process_id_in_process_definition2783) + process_id69 = self.process_id() - if (LA20_1 == KEEP) : - LA20_3 = self.input.LA(3) + self._state.following.pop() + if self._state.backtracking == 0: + stream_process_id.add(process_id69.tree) - if (LA20_3 == SPECIFIC) : - LA20_4 = self.input.LA(4) - if (LA20_4 == GEODE) : - LA20_5 = self.input.LA(5) + # sdl92.g:287:17: ( number_of_instances )? + alt20 = 2 + LA20_0 = self.input.LA(1) - if (LA20_5 == REQ_SERVER) : - alt20 = 1 + if (LA20_0 == L_PAREN) : + alt20 = 1 if alt20 == 1: - # sdl92.g:284:17: req_server + # sdl92.g:287:17: number_of_instances pass - self._state.following.append(self.FOLLOW_req_server_in_process_definition2784) - req_server69 = self.req_server() + self._state.following.append(self.FOLLOW_number_of_instances_in_process_definition2801) + number_of_instances70 = self.number_of_instances() self._state.following.pop() if self._state.backtracking == 0: - stream_req_server.add(req_server69.tree) + stream_number_of_instances.add(number_of_instances70.tree) - # sdl92.g:285:17: ( rid_server )? + # sdl92.g:287:38: ( ':' type_inst )? alt21 = 2 LA21_0 = self.input.LA(1) - if (LA21_0 == 254) : - LA21_1 = self.input.LA(2) - - if (LA21_1 == KEEP) : - LA21_3 = self.input.LA(3) - - if (LA21_3 == SPECIFIC) : - LA21_4 = self.input.LA(4) - - if (LA21_4 == GEODE) : - LA21_5 = self.input.LA(5) - - if (LA21_5 == RID_SERVER) : - alt21 = 1 + if (LA21_0 == 255) : + alt21 = 1 if alt21 == 1: - # sdl92.g:285:17: rid_server + # sdl92.g:287:39: ':' type_inst pass - self._state.following.append(self.FOLLOW_rid_server_in_process_definition2803) - rid_server70 = self.rid_server() + char_literal71 = self.match(self.input, 255, self.FOLLOW_255_in_process_definition2805) + if self._state.backtracking == 0: + stream_255.add(char_literal71) + + + self._state.following.append(self.FOLLOW_type_inst_in_process_definition2807) + type_inst72 = self.type_inst() self._state.following.pop() if self._state.backtracking == 0: - stream_rid_server.add(rid_server70.tree) + stream_type_inst.add(type_inst72.tree) - # sdl92.g:286:17: ( requirement )* - while True: #loop22 - alt22 = 2 - LA22_0 = self.input.LA(1) + # sdl92.g:287:55: ( REFERENCED )? + alt22 = 2 + LA22_0 = self.input.LA(1) - if (LA22_0 == 254) : - LA22_1 = self.input.LA(2) - - if (LA22_1 == KEEP) : - LA22_3 = self.input.LA(3) + if (LA22_0 == REFERENCED) : + alt22 = 1 + if alt22 == 1: + # sdl92.g:287:55: REFERENCED + pass + REFERENCED73 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_process_definition2811) + if self._state.backtracking == 0: + stream_REFERENCED.add(REFERENCED73) - if (LA22_3 == SPECIFIC) : - LA22_4 = self.input.LA(4) - if (LA22_4 == GEODE) : - LA22_5 = self.input.LA(5) - if (LA22_5 == REQ_ID) : - alt22 = 1 + self._state.following.append(self.FOLLOW_end_in_process_definition2816) + a = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(a.tree) + # sdl92.g:288:17: ( pfpar )? + alt23 = 2 + LA23_0 = self.input.LA(1) + if (LA23_0 == FPAR) : + alt23 = 1 + if alt23 == 1: + # sdl92.g:288:17: pfpar + pass + self._state.following.append(self.FOLLOW_pfpar_in_process_definition2834) + pfpar74 = self.pfpar() + self._state.following.pop() + if self._state.backtracking == 0: + stream_pfpar.add(pfpar74.tree) - if alt22 == 1: - # sdl92.g:286:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_process_definition2822) - requirement71 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement71.tree) + # sdl92.g:289:17: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* + while True: #loop24 + alt24 = 4 + LA24 = self.input.LA(1) + if LA24 in {254}: + LA24_1 = self.input.LA(2) + if (self.synpred32_sdl92()) : + alt24 = 1 + elif (self.synpred33_sdl92()) : + alt24 = 2 - else: - break #loop22 + elif LA24 in {STATE}: + LA24_3 = self.input.LA(2) - # sdl92.g:287:17: ( rid )* - while True: #loop23 - alt23 = 2 - LA23_0 = self.input.LA(1) + if (self.synpred34_sdl92()) : + alt24 = 3 - if (LA23_0 == 254) : - alt23 = 1 + elif LA24 in {EXPORTED, PROCEDURE}: + alt24 = 2 - if alt23 == 1: - # sdl92.g:287:17: rid + if alt24 == 1: + # sdl92.g:289:18: text_area pass - self._state.following.append(self.FOLLOW_rid_in_process_definition2841) - rid72 = self.rid() + self._state.following.append(self.FOLLOW_text_area_in_process_definition2854) + text_area75 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid72.tree) + stream_text_area.add(text_area75.tree) - else: - break #loop23 - - - PROCESS73 = self.match(self.input, PROCESS, self.FOLLOW_PROCESS_in_process_definition2860) - if self._state.backtracking == 0: - stream_PROCESS.add(PROCESS73) - + elif alt24 == 2: + # sdl92.g:289:30: procedure + pass + self._state.following.append(self.FOLLOW_procedure_in_process_definition2858) + procedure76 = self.procedure() - # sdl92.g:288:26: (t= TYPE )? - alt24 = 2 - LA24_0 = self.input.LA(1) + self._state.following.pop() + if self._state.backtracking == 0: + stream_procedure.add(procedure76.tree) - if (LA24_0 == TYPE) : - alt24 = 1 - if alt24 == 1: - # sdl92.g:288:26: t= TYPE - pass - t = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2864) - if self._state.backtracking == 0: - stream_TYPE.add(t) + elif alt24 == 3: + # sdl92.g:289:42: ( composite_state_preamble )=> composite_state + pass + self._state.following.append(self.FOLLOW_composite_state_in_process_definition2867) + composite_state77 = self.composite_state() + self._state.following.pop() + if self._state.backtracking == 0: + stream_composite_state.add(composite_state77.tree) - self._state.following.append(self.FOLLOW_process_id_in_process_definition2867) - process_id74 = self.process_id() - self._state.following.pop() - if self._state.backtracking == 0: - stream_process_id.add(process_id74.tree) + else: + break #loop24 - # sdl92.g:289:17: ( number_of_instances )? + # sdl92.g:290:17: ( processBody )? alt25 = 2 - LA25_0 = self.input.LA(1) + LA25 = self.input.LA(1) + if LA25 in {254}: + LA25_1 = self.input.LA(2) - if (LA25_0 == L_PAREN) : + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {CONNECTION, START, STATE}: alt25 = 1 + elif LA25 in {ENDPROCESS}: + LA25_3 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {TYPE}: + LA25_4 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {ID}: + LA25_5 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {COMMENT}: + LA25_6 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {SEMI}: + LA25_7 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {EOF}: + LA25_8 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {USE}: + LA25_9 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {SYSTEM}: + LA25_10 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {PROCESS}: + LA25_11 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {ENDBLOCK}: + LA25_12 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {SIGNAL}: + LA25_13 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {SIGNALROUTE}: + LA25_14 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {CONNECT}: + LA25_15 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 + elif LA25 in {BLOCK}: + LA25_16 = self.input.LA(2) + + if (self.synpred35_sdl92()) : + alt25 = 1 if alt25 == 1: - # sdl92.g:289:17: number_of_instances + # sdl92.g:290:17: processBody pass - self._state.following.append(self.FOLLOW_number_of_instances_in_process_definition2885) - number_of_instances75 = self.number_of_instances() + self._state.following.append(self.FOLLOW_processBody_in_process_definition2887) + processBody78 = self.processBody() self._state.following.pop() if self._state.backtracking == 0: - stream_number_of_instances.add(number_of_instances75.tree) + stream_processBody.add(processBody78.tree) - # sdl92.g:289:38: ( ':' type_inst )? + # sdl92.g:290:30: ( ENDPROCESS )? alt26 = 2 LA26_0 = self.input.LA(1) - if (LA26_0 == 255) : + if (LA26_0 == ENDPROCESS) : alt26 = 1 if alt26 == 1: - # sdl92.g:289:39: ':' type_inst + # sdl92.g:290:30: ENDPROCESS pass - char_literal76 = self.match(self.input, 255, self.FOLLOW_255_in_process_definition2889) - if self._state.backtracking == 0: - stream_255.add(char_literal76) - - - self._state.following.append(self.FOLLOW_type_inst_in_process_definition2891) - type_inst77 = self.type_inst() - - self._state.following.pop() + ENDPROCESS79 = self.match(self.input, ENDPROCESS, self.FOLLOW_ENDPROCESS_in_process_definition2890) if self._state.backtracking == 0: - stream_type_inst.add(type_inst77.tree) + stream_ENDPROCESS.add(ENDPROCESS79) - # sdl92.g:289:55: ( REFERENCED )? + # sdl92.g:290:42: ( TYPE )? alt27 = 2 LA27_0 = self.input.LA(1) - if (LA27_0 == REFERENCED) : + if (LA27_0 == TYPE) : alt27 = 1 if alt27 == 1: - # sdl92.g:289:55: REFERENCED + # sdl92.g:290:42: TYPE pass - REFERENCED78 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_process_definition2895) + TYPE80 = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2893) if self._state.backtracking == 0: - stream_REFERENCED.add(REFERENCED78) - - + stream_TYPE.add(TYPE80) - self._state.following.append(self.FOLLOW_end_in_process_definition2900) - a = self.end() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(a.tree) - # sdl92.g:290:17: ( pfpar )? + # sdl92.g:290:48: ( process_id )? alt28 = 2 LA28_0 = self.input.LA(1) - if (LA28_0 == FPAR) : + if (LA28_0 == ID) : alt28 = 1 if alt28 == 1: - # sdl92.g:290:17: pfpar + # sdl92.g:290:48: process_id pass - self._state.following.append(self.FOLLOW_pfpar_in_process_definition2918) - pfpar79 = self.pfpar() + self._state.following.append(self.FOLLOW_process_id_in_process_definition2896) + process_id81 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: - stream_pfpar.add(pfpar79.tree) - + stream_process_id.add(process_id81.tree) - # sdl92.g:291:17: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* - while True: #loop29 - alt29 = 4 - LA29 = self.input.LA(1) - if LA29 in {254}: - LA29_1 = self.input.LA(2) - if (self.synpred37_sdl92()) : - alt29 = 1 - elif (self.synpred38_sdl92()) : - alt29 = 2 + # sdl92.g:291:17: ( end )? + alt29 = 2 + alt29 = self.dfa29.predict(self.input) + if alt29 == 1: + # sdl92.g:291:17: end + pass + self._state.following.append(self.FOLLOW_end_in_process_definition2915) + end82 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end82.tree) - elif LA29 in {STATE}: - LA29_3 = self.input.LA(2) - if (self.synpred39_sdl92()) : - alt29 = 3 - elif LA29 in {EXPORTED, PROCEDURE}: - alt29 = 2 - if alt29 == 1: - # sdl92.g:291:18: text_area - pass - self._state.following.append(self.FOLLOW_text_area_in_process_definition2938) - text_area80 = self.text_area() + # 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) - self._state.following.pop() - if self._state.backtracking == 0: - stream_text_area.add(text_area80.tree) - - - - elif alt29 == 2: - # sdl92.g:291:30: procedure - pass - self._state.following.append(self.FOLLOW_procedure_in_process_definition2942) - procedure81 = self.procedure() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_procedure.add(procedure81.tree) - - - - elif alt29 == 3: - # sdl92.g:291:42: ( composite_state_preamble )=> composite_state - pass - self._state.following.append(self.FOLLOW_composite_state_in_process_definition2951) - composite_state82 = self.composite_state() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_composite_state.add(composite_state82.tree) + 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() + # 292:9: -> ^( PROCESS ( cif )* process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) + # sdl92.g:292: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) - else: - break #loop29 + # sdl92.g:292:27: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - # sdl92.g:292:17: ( processBody )? - alt30 = 2 - LA30 = self.input.LA(1) - if LA30 in {254}: - LA30_1 = self.input.LA(2) + stream_cif.reset(); - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {CONNECTION, START, STATE}: - alt30 = 1 - elif LA30 in {ENDPROCESS}: - LA30_3 = self.input.LA(2) + self._adaptor.addChild(root_1, stream_process_id.nextTree()) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {TYPE}: - LA30_4 = self.input.LA(2) + # sdl92.g:292:43: ( number_of_instances )? + if stream_number_of_instances.hasNext(): + self._adaptor.addChild(root_1, stream_number_of_instances.nextTree()) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {ID}: - LA30_5 = self.input.LA(2) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {COMMENT}: - LA30_6 = self.input.LA(2) + stream_number_of_instances.reset(); - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {SEMI}: - LA30_7 = self.input.LA(2) + # sdl92.g:292:64: ( type_inst )? + if stream_type_inst.hasNext(): + self._adaptor.addChild(root_1, stream_type_inst.nextTree()) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {EOF}: - LA30_8 = self.input.LA(2) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {USE}: - LA30_9 = self.input.LA(2) + stream_type_inst.reset(); - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {SYSTEM}: - LA30_10 = self.input.LA(2) + # sdl92.g:293:20: ( $t)? + if stream_t.hasNext(): + self._adaptor.addChild(root_1, stream_t.nextNode()) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {PROCESS}: - LA30_11 = self.input.LA(2) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {ENDBLOCK}: - LA30_12 = self.input.LA(2) + stream_t.reset(); - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {SIGNAL}: - LA30_13 = self.input.LA(2) + # sdl92.g:293:23: ( REFERENCED )? + if stream_REFERENCED.hasNext(): + self._adaptor.addChild(root_1, + stream_REFERENCED.nextNode() + ) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {SIGNALROUTE}: - LA30_14 = self.input.LA(2) - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {CONNECT}: - LA30_15 = self.input.LA(2) + stream_REFERENCED.reset(); - if (self.synpred40_sdl92()) : - alt30 = 1 - elif LA30 in {BLOCK}: - LA30_16 = self.input.LA(2) + # sdl92.g:293:36: ( $a)? + if stream_a.hasNext(): + self._adaptor.addChild(root_1, stream_a.nextTree()) - if (self.synpred40_sdl92()) : - alt30 = 1 - if alt30 == 1: - # sdl92.g:292:17: processBody - pass - self._state.following.append(self.FOLLOW_processBody_in_process_definition2971) - processBody83 = self.processBody() - self._state.following.pop() - if self._state.backtracking == 0: - stream_processBody.add(processBody83.tree) + stream_a.reset(); + # sdl92.g:293:39: ( pfpar )? + if stream_pfpar.hasNext(): + self._adaptor.addChild(root_1, stream_pfpar.nextTree()) + stream_pfpar.reset(); + # sdl92.g:293:46: ( text_area )* + while stream_text_area.hasNext(): + self._adaptor.addChild(root_1, stream_text_area.nextTree()) - # sdl92.g:292:30: ( ENDPROCESS )? - alt31 = 2 - LA31_0 = self.input.LA(1) - if (LA31_0 == ENDPROCESS) : - alt31 = 1 - if alt31 == 1: - # sdl92.g:292:30: ENDPROCESS - pass - ENDPROCESS84 = self.match(self.input, ENDPROCESS, self.FOLLOW_ENDPROCESS_in_process_definition2974) - if self._state.backtracking == 0: - stream_ENDPROCESS.add(ENDPROCESS84) + stream_text_area.reset(); + # sdl92.g:293:57: ( procedure )* + while stream_procedure.hasNext(): + self._adaptor.addChild(root_1, stream_procedure.nextTree()) + stream_procedure.reset(); + # sdl92.g:294:19: ( composite_state )* + while stream_composite_state.hasNext(): + self._adaptor.addChild(root_1, stream_composite_state.nextTree()) - # sdl92.g:292:42: ( TYPE )? - alt32 = 2 - LA32_0 = self.input.LA(1) - if (LA32_0 == TYPE) : - alt32 = 1 - if alt32 == 1: - # sdl92.g:292:42: TYPE - pass - TYPE85 = self.match(self.input, TYPE, self.FOLLOW_TYPE_in_process_definition2977) - if self._state.backtracking == 0: - stream_TYPE.add(TYPE85) + stream_composite_state.reset(); + # sdl92.g:294:36: ( processBody )? + if stream_processBody.hasNext(): + self._adaptor.addChild(root_1, stream_processBody.nextTree()) + stream_processBody.reset(); + self._adaptor.addChild(root_0, root_1) - # sdl92.g:292:48: ( process_id )? - alt33 = 2 - LA33_0 = self.input.LA(1) - if (LA33_0 == ID) : - alt33 = 1 - if alt33 == 1: - # sdl92.g:292:48: process_id - pass - self._state.following.append(self.FOLLOW_process_id_in_process_definition2980) - process_id86 = self.process_id() - self._state.following.pop() - if self._state.backtracking == 0: - stream_process_id.add(process_id86.tree) + retval.tree = root_0 - # sdl92.g:293:17: ( end )? - alt34 = 2 - LA34_0 = self.input.LA(1) - if (LA34_0 == 254) : - LA34 = self.input.LA(2) - if LA34 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - LA34_4 = self.input.LA(3) + retval.stop = self.input.LT(-1) - if (LA34_4 == L_PAREN) : - LA34_7 = self.input.LA(4) - if (LA34_7 == DASH) : - LA34_10 = self.input.LA(5) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA34_10 == INT) : - LA34_11 = self.input.LA(6) - if (LA34_11 == COMMA) : - LA34_14 = self.input.LA(7) - if (LA34_14 == DASH) : - LA34_16 = self.input.LA(8) + success = True - if (LA34_16 == INT) : - LA34_17 = self.input.LA(9) + 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) - if (LA34_17 == R_PAREN) : - LA34_19 = self.input.LA(10) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 13, process_definition_StartIndex, success) - if (LA34_19 == COMMA) : - LA34_21 = self.input.LA(11) - if (LA34_21 == L_PAREN) : - LA34_23 = self.input.LA(12) + pass + return retval - if (LA34_23 == INT) : - LA34_24 = self.input.LA(13) + # $ANTLR end "process_definition" - if (LA34_24 == COMMA) : - LA34_25 = self.input.LA(14) - if (LA34_25 == INT) : - LA34_26 = self.input.LA(15) + class pfpar_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA34_26 == R_PAREN) : - LA34_27 = self.input.LA(16) + self.tree = None - if (LA34_27 == 250) : - LA34_28 = self.input.LA(17) - if (LA34_28 == 254) : - LA34_29 = self.input.LA(18) - if (LA34_29 == 256) : - LA34_5 = self.input.LA(19) - if (LA34_5 == INT) : - LA34_8 = self.input.LA(20) - if (LA34_8 == 250) : - LA34_12 = self.input.LA(21) + # $ANTLR start "pfpar" + # sdl92.g:299: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) - if (LA34_12 == 254) : - LA34_15 = self.input.LA(22) + pfpar_StartIndex = self.input.index() - if (LA34_15 == KEEP) : - LA34_18 = self.input.LA(23) + root_0 = None - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(24) + FPAR83 = None + char_literal85 = None + parameters_of_sort84 = None + parameters_of_sort86 = None + end87 = None - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(25) + FPAR83_tree = None + char_literal85_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") + success = False - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_12 == COMMENT) : - alt34 = 1 - elif (LA34_29 == KEEP) : - LA34_18 = self.input.LA(19) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 14): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(20) - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(21) + # sdl92.g:300:9: ( FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? -> ^( PFPAR ( parameters_of_sort )+ ) ) + # sdl92.g:300:17: FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? + pass + FPAR83 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_pfpar3041) + if self._state.backtracking == 0: + stream_FPAR.add(FPAR83) - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_28 == COMMENT) : - alt34 = 1 - elif (LA34_14 == INT) : - LA34_17 = self.input.LA(8) - if (LA34_17 == R_PAREN) : - LA34_19 = self.input.LA(9) + self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar3043) + parameters_of_sort84 = self.parameters_of_sort() - if (LA34_19 == COMMA) : - LA34_21 = self.input.LA(10) + self._state.following.pop() + if self._state.backtracking == 0: + stream_parameters_of_sort.add(parameters_of_sort84.tree) - if (LA34_21 == L_PAREN) : - LA34_23 = self.input.LA(11) - if (LA34_23 == INT) : - LA34_24 = self.input.LA(12) + # sdl92.g:301:17: ( ',' parameters_of_sort )* + while True: #loop30 + alt30 = 2 + LA30_0 = self.input.LA(1) - if (LA34_24 == COMMA) : - LA34_25 = self.input.LA(13) + if (LA30_0 == COMMA) : + alt30 = 1 - if (LA34_25 == INT) : - LA34_26 = self.input.LA(14) - if (LA34_26 == R_PAREN) : - LA34_27 = self.input.LA(15) + if alt30 == 1: + # sdl92.g:301:18: ',' parameters_of_sort + pass + char_literal85 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_pfpar3062) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal85) - if (LA34_27 == 250) : - LA34_28 = self.input.LA(16) - if (LA34_28 == 254) : - LA34_29 = self.input.LA(17) + self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar3064) + parameters_of_sort86 = self.parameters_of_sort() - if (LA34_29 == 256) : - LA34_5 = self.input.LA(18) + self._state.following.pop() + if self._state.backtracking == 0: + stream_parameters_of_sort.add(parameters_of_sort86.tree) - if (LA34_5 == INT) : - LA34_8 = self.input.LA(19) - if (LA34_8 == 250) : - LA34_12 = self.input.LA(20) - if (LA34_12 == 254) : - LA34_15 = self.input.LA(21) + else: + break #loop30 - if (LA34_15 == KEEP) : - LA34_18 = self.input.LA(22) - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(23) + # sdl92.g:302:17: ( end )? + alt31 = 2 + alt31 = self.dfa31.predict(self.input) + if alt31 == 1: + # sdl92.g:302:17: end + pass + self._state.following.append(self.FOLLOW_end_in_pfpar3084) + end87 = self.end() - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(24) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end87.tree) - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_12 == COMMENT) : - alt34 = 1 - elif (LA34_29 == KEEP) : - LA34_18 = self.input.LA(18) - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(19) - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(20) - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_28 == COMMENT) : - alt34 = 1 - elif (LA34_7 == INT) : - LA34_11 = self.input.LA(5) - if (LA34_11 == COMMA) : - LA34_14 = self.input.LA(6) + # 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) - if (LA34_14 == DASH) : - LA34_16 = self.input.LA(7) - if (LA34_16 == INT) : - LA34_17 = self.input.LA(8) + root_0 = self._adaptor.nil() + # 303:9: -> ^( PFPAR ( parameters_of_sort )+ ) + # sdl92.g:303:17: ^( PFPAR ( parameters_of_sort )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(PFPAR, "PFPAR") + , root_1) - if (LA34_17 == R_PAREN) : - LA34_19 = self.input.LA(9) + # sdl92.g:303:25: ( parameters_of_sort )+ + if not (stream_parameters_of_sort.hasNext()): + raise RewriteEarlyExitException() - if (LA34_19 == COMMA) : - LA34_21 = self.input.LA(10) + while stream_parameters_of_sort.hasNext(): + self._adaptor.addChild(root_1, stream_parameters_of_sort.nextTree()) - if (LA34_21 == L_PAREN) : - LA34_23 = self.input.LA(11) - if (LA34_23 == INT) : - LA34_24 = self.input.LA(12) + stream_parameters_of_sort.reset() - if (LA34_24 == COMMA) : - LA34_25 = self.input.LA(13) + self._adaptor.addChild(root_0, root_1) - if (LA34_25 == INT) : - LA34_26 = self.input.LA(14) - if (LA34_26 == R_PAREN) : - LA34_27 = self.input.LA(15) - if (LA34_27 == 250) : - LA34_28 = self.input.LA(16) - if (LA34_28 == 254) : - LA34_29 = self.input.LA(17) + retval.tree = root_0 - if (LA34_29 == 256) : - LA34_5 = self.input.LA(18) - if (LA34_5 == INT) : - LA34_8 = self.input.LA(19) - if (LA34_8 == 250) : - LA34_12 = self.input.LA(20) - if (LA34_12 == 254) : - LA34_15 = self.input.LA(21) - if (LA34_15 == KEEP) : - LA34_18 = self.input.LA(22) + retval.stop = self.input.LT(-1) - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(23) - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(24) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_12 == COMMENT) : - alt34 = 1 - elif (LA34_29 == KEEP) : - LA34_18 = self.input.LA(18) - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(19) - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(20) + success = True - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_28 == COMMENT) : - alt34 = 1 - elif (LA34_14 == INT) : - LA34_17 = self.input.LA(7) + 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) - if (LA34_17 == R_PAREN) : - LA34_19 = self.input.LA(8) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 14, pfpar_StartIndex, success) - if (LA34_19 == COMMA) : - LA34_21 = self.input.LA(9) - if (LA34_21 == L_PAREN) : - LA34_23 = self.input.LA(10) + pass + return retval - if (LA34_23 == INT) : - LA34_24 = self.input.LA(11) + # $ANTLR end "pfpar" - if (LA34_24 == COMMA) : - LA34_25 = self.input.LA(12) - if (LA34_25 == INT) : - LA34_26 = self.input.LA(13) + class parameters_of_sort_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA34_26 == R_PAREN) : - LA34_27 = self.input.LA(14) + self.tree = None - if (LA34_27 == 250) : - LA34_28 = self.input.LA(15) - if (LA34_28 == 254) : - LA34_29 = self.input.LA(16) - if (LA34_29 == 256) : - LA34_5 = self.input.LA(17) - if (LA34_5 == INT) : - LA34_8 = self.input.LA(18) - if (LA34_8 == 250) : - LA34_12 = self.input.LA(19) + # $ANTLR start "parameters_of_sort" + # sdl92.g:307: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) - if (LA34_12 == 254) : - LA34_15 = self.input.LA(20) + parameters_of_sort_StartIndex = self.input.index() - if (LA34_15 == KEEP) : - LA34_18 = self.input.LA(21) + root_0 = None - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(22) + char_literal89 = None + variable_id88 = None + variable_id90 = None + sort91 = None - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(23) + char_literal89_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") + success = False - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_12 == COMMENT) : - alt34 = 1 - elif (LA34_29 == KEEP) : - LA34_18 = self.input.LA(17) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 15): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(18) - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(19) + # sdl92.g:308:9: ( variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ) + # sdl92.g:308:17: variable_id ( ',' variable_id )* sort + pass + self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort3139) + variable_id88 = self.variable_id() - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_28 == COMMENT) : - alt34 = 1 - elif LA34 in {256}: - LA34_5 = self.input.LA(3) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id88.tree) - if (LA34_5 == INT) : - LA34_8 = self.input.LA(4) - if (LA34_8 == 250) : - LA34_12 = self.input.LA(5) + # sdl92.g:308:29: ( ',' variable_id )* + while True: #loop32 + alt32 = 2 + LA32_0 = self.input.LA(1) - if (LA34_12 == 254) : - LA34_15 = self.input.LA(6) + if (LA32_0 == COMMA) : + alt32 = 1 - if (LA34_15 == KEEP) : - LA34_18 = self.input.LA(7) - if (LA34_18 == SPECIFIC) : - LA34_20 = self.input.LA(8) + if alt32 == 1: + # sdl92.g:308:30: ',' variable_id + pass + char_literal89 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_parameters_of_sort3142) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal89) - if (LA34_20 == GEODE) : - LA34_22 = self.input.LA(9) - if (LA34_22 == HYPERLINK) : - alt34 = 1 - elif (LA34_12 == COMMENT) : - alt34 = 1 - elif LA34 in {KEEP}: - LA34_6 = self.input.LA(3) + self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort3144) + variable_id90 = self.variable_id() - if (LA34_6 == SPECIFIC) : - LA34_9 = self.input.LA(4) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id90.tree) - if (LA34_9 == GEODE) : - LA34_13 = self.input.LA(5) - if (LA34_13 == HYPERLINK) : - alt34 = 1 - elif (LA34_0 in {COMMENT, SEMI}) : - alt34 = 1 - if alt34 == 1: - # sdl92.g:293:17: end - pass - self._state.following.append(self.FOLLOW_end_in_process_definition2999) - end87 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end87.tree) + else: + break #loop32 + self._state.following.append(self.FOLLOW_sort_in_parameters_of_sort3148) + sort91 = self.sort() + self._state.following.pop() + if self._state.backtracking == 0: + stream_sort.add(sort91.tree) # AST Rewrite - # elements: PROCESS, cif, symbolid, req_server, rid_server, requirement, rid, process_id, number_of_instances, type_inst, t, REFERENCED, a, pfpar, text_area, procedure, composite_state, processBody - # token labels: t - # rule labels: a, retval + # 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 - 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: @@ -3972,873 +3739,732 @@ def process_definition(self, ): root_0 = self._adaptor.nil() - # 294:9: -> ^( PROCESS ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) - # sdl92.g:294:17: ^( PROCESS ( cif )? ( symbolid )? ( req_server )? ( rid_server )? ( requirement )* ( rid )* process_id ( number_of_instances )? ( type_inst )? ( $t)? ( REFERENCED )? ( $a)? ( pfpar )? ( text_area )* ( procedure )* ( composite_state )* ( processBody )? ) + # 309:9: -> ^( PARAM ( variable_id )+ sort ) + # sdl92.g:309:17: ^( PARAM ( variable_id )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_PROCESS.nextNode() + self._adaptor.createFromType(PARAM, "PARAM") , root_1) - # sdl92.g:294:27: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + # sdl92.g:309: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_cif.reset(); - # sdl92.g:294:32: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + stream_variable_id.reset() + self._adaptor.addChild(root_1, stream_sort.nextTree()) - stream_symbolid.reset(); + self._adaptor.addChild(root_0, root_1) - # sdl92.g:294:42: ( req_server )? - if stream_req_server.hasNext(): - self._adaptor.addChild(root_1, stream_req_server.nextTree()) - stream_req_server.reset(); - # sdl92.g:294:54: ( rid_server )? - if stream_rid_server.hasNext(): - self._adaptor.addChild(root_1, stream_rid_server.nextTree()) + retval.tree = root_0 - stream_rid_server.reset(); - # sdl92.g:294:66: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - stream_requirement.reset(); + retval.stop = self.input.LT(-1) - # sdl92.g:295:19: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - stream_rid.reset(); - self._adaptor.addChild(root_1, stream_process_id.nextTree()) - # sdl92.g:295:35: ( number_of_instances )? - if stream_number_of_instances.hasNext(): - self._adaptor.addChild(root_1, stream_number_of_instances.nextTree()) + success = True + 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) - stream_number_of_instances.reset(); + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 15, parameters_of_sort_StartIndex, success) - # sdl92.g:295:56: ( type_inst )? - if stream_type_inst.hasNext(): - self._adaptor.addChild(root_1, stream_type_inst.nextTree()) + pass + return retval - stream_type_inst.reset(); + # $ANTLR end "parameters_of_sort" - # sdl92.g:296:20: ( $t)? - if stream_t.hasNext(): - self._adaptor.addChild(root_1, stream_t.nextNode()) + class procedure_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - stream_t.reset(); + self.tree = None - # sdl92.g:296:23: ( REFERENCED )? - if stream_REFERENCED.hasNext(): - self._adaptor.addChild(root_1, - stream_REFERENCED.nextNode() - ) - - - stream_REFERENCED.reset(); - - # sdl92.g:296:36: ( $a)? - if stream_a.hasNext(): - self._adaptor.addChild(root_1, stream_a.nextTree()) - stream_a.reset(); - - # sdl92.g:296:39: ( pfpar )? - if stream_pfpar.hasNext(): - self._adaptor.addChild(root_1, stream_pfpar.nextTree()) - stream_pfpar.reset(); + # $ANTLR start "procedure" + # sdl92.g:316:1: procedure : ( cif )* ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ; + def procedure(self, ): + retval = self.procedure_return() + retval.start = self.input.LT(1) - # sdl92.g:296:46: ( text_area )* - while stream_text_area.hasNext(): - self._adaptor.addChild(root_1, stream_text_area.nextTree()) + procedure_StartIndex = self.input.index() + root_0 = None - stream_text_area.reset(); + EXPORTED93 = None + PROCEDURE94 = None + SEMI96 = None + ENDPROCEDURE101 = None + EXTERNAL103 = None + REFERENCED104 = None + e1 = None + res = None + e2 = None + cif92 = None + procedure_id95 = None + fpar97 = None + text_area98 = None + procedure99 = None + processBody100 = None + procedure_id102 = None + + EXPORTED93_tree = None + PROCEDURE94_tree = None + SEMI96_tree = None + ENDPROCEDURE101_tree = None + EXTERNAL103_tree = None + REFERENCED104_tree = None + stream_PROCEDURE = RewriteRuleTokenStream(self._adaptor, "token PROCEDURE") + stream_EXTERNAL = RewriteRuleTokenStream(self._adaptor, "token EXTERNAL") + stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") + stream_ENDPROCEDURE = RewriteRuleTokenStream(self._adaptor, "token ENDPROCEDURE") + stream_EXPORTED = RewriteRuleTokenStream(self._adaptor, "token EXPORTED") + stream_REFERENCED = RewriteRuleTokenStream(self._adaptor, "token REFERENCED") + stream_text_area = RewriteRuleSubtreeStream(self._adaptor, "rule text_area") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_procedure_id = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_id") + stream_processBody = RewriteRuleSubtreeStream(self._adaptor, "rule processBody") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_fpar = RewriteRuleSubtreeStream(self._adaptor, "rule fpar") + stream_procedure = RewriteRuleSubtreeStream(self._adaptor, "rule procedure") + stream_procedure_result = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_result") + success = False - # sdl92.g:296:57: ( procedure )* - while stream_procedure.hasNext(): - self._adaptor.addChild(root_1, stream_procedure.nextTree()) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 16): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - stream_procedure.reset(); + # sdl92.g:317:9: ( ( cif )* ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ) + # sdl92.g:317:17: ( cif )* ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end + pass + # sdl92.g:317:17: ( cif )* + while True: #loop33 + alt33 = 2 + LA33_0 = self.input.LA(1) - # sdl92.g:297:19: ( composite_state )* - while stream_composite_state.hasNext(): - self._adaptor.addChild(root_1, stream_composite_state.nextTree()) + if (LA33_0 == 254) : + alt33 = 1 - stream_composite_state.reset(); + if alt33 == 1: + # sdl92.g:317:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_procedure3207) + cif92 = self.cif() - # sdl92.g:297:36: ( processBody )? - if stream_processBody.hasNext(): - self._adaptor.addChild(root_1, stream_processBody.nextTree()) + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif92.tree) - stream_processBody.reset(); - self._adaptor.addChild(root_0, root_1) + else: + break #loop33 + # sdl92.g:318:17: ( EXPORTED )? + alt34 = 2 + LA34_0 = self.input.LA(1) + if (LA34_0 == EXPORTED) : + alt34 = 1 + if alt34 == 1: + # sdl92.g:318:17: EXPORTED + pass + EXPORTED93 = self.match(self.input, EXPORTED, self.FOLLOW_EXPORTED_in_procedure3226) + if self._state.backtracking == 0: + stream_EXPORTED.add(EXPORTED93) - retval.tree = root_0 + PROCEDURE94 = self.match(self.input, PROCEDURE, self.FOLLOW_PROCEDURE_in_procedure3229) + if self._state.backtracking == 0: + stream_PROCEDURE.add(PROCEDURE94) - retval.stop = self.input.LT(-1) + self._state.following.append(self.FOLLOW_procedure_id_in_procedure3231) + procedure_id95 = self.procedure_id() + self._state.following.pop() if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - + stream_procedure_id.add(procedure_id95.tree) - 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) + # sdl92.g:318:50: (e1= end | SEMI ) + alt35 = 2 + LA35_0 = self.input.LA(1) - finally: - pass - return retval + if (LA35_0 in {COMMENT, 254}) : + alt35 = 1 + elif (LA35_0 == SEMI) : + LA35_2 = self.input.LA(2) - # $ANTLR end "process_definition" + if (self.synpred45_sdl92()) : + alt35 = 1 + elif (True) : + alt35 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - class pfpar_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + nvae = NoViableAltException("", 35, 2, self.input) - self.tree = None + raise nvae + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 35, 0, self.input) - # $ANTLR start "pfpar" - # sdl92.g:302: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) + raise nvae - root_0 = None + if alt35 == 1: + # sdl92.g:318:51: e1= end + pass + self._state.following.append(self.FOLLOW_end_in_procedure3236) + e1 = self.end() - FPAR88 = None - char_literal90 = None - parameters_of_sort89 = None - parameters_of_sort91 = None - end92 = None + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(e1.tree) - FPAR88_tree = None - char_literal90_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:303:9: ( FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? -> ^( PFPAR ( parameters_of_sort )+ ) ) - # sdl92.g:303:17: FPAR parameters_of_sort ( ',' parameters_of_sort )* ( end )? - pass - FPAR88 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_pfpar3158) - if self._state.backtracking == 0: - stream_FPAR.add(FPAR88) - self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar3160) - parameters_of_sort89 = self.parameters_of_sort() + elif alt35 == 2: + # sdl92.g:318:60: SEMI + pass + SEMI96 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_procedure3240) + if self._state.backtracking == 0: + stream_SEMI.add(SEMI96) - self._state.following.pop() - if self._state.backtracking == 0: - stream_parameters_of_sort.add(parameters_of_sort89.tree) - # sdl92.g:304:17: ( ',' parameters_of_sort )* - while True: #loop35 - alt35 = 2 - LA35_0 = self.input.LA(1) - if (LA35_0 == COMMA) : - alt35 = 1 + # sdl92.g:319:17: ( fpar )? + alt36 = 2 + LA36_0 = self.input.LA(1) - if alt35 == 1: - # sdl92.g:304:18: ',' parameters_of_sort - pass - char_literal90 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_pfpar3179) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal90) + if (LA36_0 == FPAR) : + alt36 = 1 + if alt36 == 1: + # sdl92.g:319:17: fpar + pass + self._state.following.append(self.FOLLOW_fpar_in_procedure3259) + fpar97 = self.fpar() + self._state.following.pop() + if self._state.backtracking == 0: + stream_fpar.add(fpar97.tree) - self._state.following.append(self.FOLLOW_parameters_of_sort_in_pfpar3181) - parameters_of_sort91 = self.parameters_of_sort() - self._state.following.pop() - if self._state.backtracking == 0: - stream_parameters_of_sort.add(parameters_of_sort91.tree) - else: - break #loop35 + # sdl92.g:320:20: (res= procedure_result )? + alt37 = 2 + LA37_0 = self.input.LA(1) + if (LA37_0 in {RETURNS, 252}) : + alt37 = 1 + if alt37 == 1: + # sdl92.g:320:20: res= procedure_result + pass + self._state.following.append(self.FOLLOW_procedure_result_in_procedure3280) + res = self.procedure_result() - # sdl92.g:305:17: ( end )? - alt36 = 2 - LA36 = self.input.LA(1) - if LA36 in {254}: - LA36 = self.input.LA(2) - if LA36 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - LA36_5 = self.input.LA(3) + self._state.following.pop() + if self._state.backtracking == 0: + stream_procedure_result.add(res.tree) - if (LA36_5 == L_PAREN) : - LA36_10 = self.input.LA(4) - if (LA36_10 == DASH) : - LA36_14 = self.input.LA(5) - if (LA36_14 == INT) : - LA36_15 = self.input.LA(6) - if (LA36_15 == COMMA) : - LA36_18 = self.input.LA(7) - if (LA36_18 == DASH) : - LA36_21 = self.input.LA(8) + # sdl92.g:321:17: ( text_area | procedure )* + while True: #loop38 + alt38 = 3 + LA38_0 = self.input.LA(1) - if (LA36_21 == INT) : - LA36_22 = self.input.LA(9) + if (LA38_0 == 254) : + LA38_1 = self.input.LA(2) - if (LA36_22 == R_PAREN) : - LA36_25 = self.input.LA(10) + if (self.synpred48_sdl92()) : + alt38 = 1 + elif (self.synpred49_sdl92()) : + alt38 = 2 - if (LA36_25 == COMMA) : - LA36_28 = self.input.LA(11) - if (LA36_28 == L_PAREN) : - LA36_30 = self.input.LA(12) + elif (LA38_0 in {EXPORTED, PROCEDURE}) : + alt38 = 2 - if (LA36_30 == INT) : - LA36_31 = self.input.LA(13) - if (LA36_31 == COMMA) : - LA36_32 = self.input.LA(14) + if alt38 == 1: + # sdl92.g:321:18: text_area + pass + self._state.following.append(self.FOLLOW_text_area_in_procedure3300) + text_area98 = self.text_area() - if (LA36_32 == INT) : - LA36_33 = self.input.LA(15) + self._state.following.pop() + if self._state.backtracking == 0: + stream_text_area.add(text_area98.tree) - if (LA36_33 == R_PAREN) : - LA36_34 = self.input.LA(16) - if (LA36_34 == 250) : - LA36_35 = self.input.LA(17) - if (LA36_35 == 254) : - LA36_36 = self.input.LA(18) + elif alt38 == 2: + # sdl92.g:321:30: procedure + pass + self._state.following.append(self.FOLLOW_procedure_in_procedure3304) + procedure99 = self.procedure() - if (LA36_36 == 256) : - LA36_37 = self.input.LA(19) + self._state.following.pop() + if self._state.backtracking == 0: + stream_procedure.add(procedure99.tree) - if (LA36_37 == INT) : - LA36_39 = self.input.LA(20) - if (LA36_39 == 250) : - LA36_41 = self.input.LA(21) - if (LA36_41 == 254) : - LA36_43 = self.input.LA(22) + else: + break #loop38 - if (LA36_43 == KEEP) : - LA36_38 = self.input.LA(23) - if (LA36_38 == SPECIFIC) : - LA36_40 = self.input.LA(24) + # sdl92.g:322:17: ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) + alt41 = 3 + LA41 = self.input.LA(1) + if LA41 in {EOF, BLOCK, COMMENT, CONNECT, CONNECTION, ENDBLOCK, ENDPROCEDURE, ENDPROCESS, ID, PROCESS, SEMI, SIGNAL, SIGNALROUTE, START, STATE, SYSTEM, TYPE, USE, 254}: + alt41 = 1 + elif LA41 in {EXTERNAL}: + alt41 = 2 + elif LA41 in {REFERENCED}: + alt41 = 3 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA36_40 == GEODE) : - LA36_42 = self.input.LA(25) - if (LA36_42 == HYPERLINK) : - LA36_20 = self.input.LA(26) + nvae = NoViableAltException("", 41, 0, self.input) - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(27) + raise nvae - if (LA36_24 == 250) : - LA36_27 = self.input.LA(28) - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(29) + if alt41 == 1: + # sdl92.g:322:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) + pass + # sdl92.g:322:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) + # sdl92.g:322:19: ( processBody )? ENDPROCEDURE ( procedure_id )? + pass + # sdl92.g:322:19: ( processBody )? + alt39 = 2 + LA39_0 = self.input.LA(1) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(30) + if (LA39_0 in {CONNECTION, START, STATE, 254}) : + alt39 = 1 + elif (LA39_0 == ENDPROCEDURE) : + LA39_2 = self.input.LA(2) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(31) + if (self.synpred50_sdl92()) : + alt39 = 1 + if alt39 == 1: + # sdl92.g:322:19: processBody + pass + self._state.following.append(self.FOLLOW_processBody_in_procedure3326) + processBody100 = self.processBody() - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_41 == COMMENT) : - LA36_2 = self.input.LA(22) + self._state.following.pop() + if self._state.backtracking == 0: + stream_processBody.add(processBody100.tree) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(23) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(24) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_36 == KEEP) : - LA36_38 = self.input.LA(19) - if (LA36_38 == SPECIFIC) : - LA36_40 = self.input.LA(20) - if (LA36_40 == GEODE) : - LA36_42 = self.input.LA(21) + ENDPROCEDURE101 = self.match(self.input, ENDPROCEDURE, self.FOLLOW_ENDPROCEDURE_in_procedure3329) + if self._state.backtracking == 0: + stream_ENDPROCEDURE.add(ENDPROCEDURE101) - if (LA36_42 == HYPERLINK) : - LA36_20 = self.input.LA(22) - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(23) + # sdl92.g:322:45: ( procedure_id )? + alt40 = 2 + LA40_0 = self.input.LA(1) - if (LA36_24 == 250) : - LA36_27 = self.input.LA(24) + if (LA40_0 == ID) : + alt40 = 1 + if alt40 == 1: + # sdl92.g:322:45: procedure_id + pass + self._state.following.append(self.FOLLOW_procedure_id_in_procedure3331) + procedure_id102 = self.procedure_id() - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(25) + self._state.following.pop() + if self._state.backtracking == 0: + stream_procedure_id.add(procedure_id102.tree) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(26) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(27) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_35 == COMMENT) : - LA36_2 = self.input.LA(18) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(19) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(20) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_18 == INT) : - LA36_22 = self.input.LA(8) - if (LA36_22 == R_PAREN) : - LA36_25 = self.input.LA(9) - if (LA36_25 == COMMA) : - LA36_28 = self.input.LA(10) - if (LA36_28 == L_PAREN) : - LA36_30 = self.input.LA(11) + elif alt41 == 2: + # sdl92.g:323:20: EXTERNAL + pass + EXTERNAL103 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_procedure3354) + if self._state.backtracking == 0: + stream_EXTERNAL.add(EXTERNAL103) - if (LA36_30 == INT) : - LA36_31 = self.input.LA(12) - if (LA36_31 == COMMA) : - LA36_32 = self.input.LA(13) - if (LA36_32 == INT) : - LA36_33 = self.input.LA(14) + elif alt41 == 3: + # sdl92.g:323:31: REFERENCED + pass + REFERENCED104 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_procedure3358) + if self._state.backtracking == 0: + stream_REFERENCED.add(REFERENCED104) - if (LA36_33 == R_PAREN) : - LA36_34 = self.input.LA(15) - if (LA36_34 == 250) : - LA36_35 = self.input.LA(16) - if (LA36_35 == 254) : - LA36_36 = self.input.LA(17) - if (LA36_36 == 256) : - LA36_37 = self.input.LA(18) - if (LA36_37 == INT) : - LA36_39 = self.input.LA(19) + self._state.following.append(self.FOLLOW_end_in_procedure3379) + e2 = self.end() - if (LA36_39 == 250) : - LA36_41 = self.input.LA(20) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(e2.tree) - if (LA36_41 == 254) : - LA36_43 = self.input.LA(21) - if (LA36_43 == KEEP) : - LA36_38 = self.input.LA(22) + # AST Rewrite + # elements: PROCEDURE, cif, procedure_id, e1, e2, fpar, res, text_area, procedure, processBody, EXTERNAL, EXPORTED, REFERENCED + # token labels: + # rule labels: res, e1, e2, retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + if res is not None: + stream_res = RewriteRuleSubtreeStream(self._adaptor, "rule res", res.tree) + else: + stream_res = RewriteRuleSubtreeStream(self._adaptor, "token res", None) - if (LA36_38 == SPECIFIC) : - LA36_40 = self.input.LA(23) + if e1 is not None: + stream_e1 = RewriteRuleSubtreeStream(self._adaptor, "rule e1", e1.tree) + else: + stream_e1 = RewriteRuleSubtreeStream(self._adaptor, "token e1", None) - if (LA36_40 == GEODE) : - LA36_42 = self.input.LA(24) + if e2 is not None: + stream_e2 = RewriteRuleSubtreeStream(self._adaptor, "rule e2", e2.tree) + else: + stream_e2 = RewriteRuleSubtreeStream(self._adaptor, "token e2", None) - if (LA36_42 == HYPERLINK) : - LA36_20 = self.input.LA(25) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(26) - if (LA36_24 == 250) : - LA36_27 = self.input.LA(27) + root_0 = self._adaptor.nil() + # 325:9: -> ^( PROCEDURE ( cif )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) + # sdl92.g:325:17: ^( PROCEDURE ( cif )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_PROCEDURE.nextNode() + , root_1) - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(28) + # sdl92.g:325:29: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(29) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(30) + stream_cif.reset(); - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_41 == COMMENT) : - LA36_2 = self.input.LA(21) + self._adaptor.addChild(root_1, stream_procedure_id.nextTree()) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(22) + # sdl92.g:325:48: ( $e1)? + if stream_e1.hasNext(): + self._adaptor.addChild(root_1, stream_e1.nextTree()) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(23) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_36 == KEEP) : - LA36_38 = self.input.LA(18) + stream_e1.reset(); - if (LA36_38 == SPECIFIC) : - LA36_40 = self.input.LA(19) + # sdl92.g:325:53: ( $e2)? + if stream_e2.hasNext(): + self._adaptor.addChild(root_1, stream_e2.nextTree()) - if (LA36_40 == GEODE) : - LA36_42 = self.input.LA(20) - if (LA36_42 == HYPERLINK) : - LA36_20 = self.input.LA(21) + stream_e2.reset(); - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(22) + # sdl92.g:325:57: ( fpar )? + if stream_fpar.hasNext(): + self._adaptor.addChild(root_1, stream_fpar.nextTree()) - if (LA36_24 == 250) : - LA36_27 = self.input.LA(23) - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(24) + stream_fpar.reset(); - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(25) + # sdl92.g:325:64: ( $res)? + if stream_res.hasNext(): + self._adaptor.addChild(root_1, stream_res.nextTree()) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(26) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_35 == COMMENT) : - LA36_2 = self.input.LA(17) + stream_res.reset(); - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(18) + # sdl92.g:326:17: ( text_area )* + while stream_text_area.hasNext(): + self._adaptor.addChild(root_1, stream_text_area.nextTree()) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(19) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_10 == INT) : - LA36_15 = self.input.LA(5) + stream_text_area.reset(); - if (LA36_15 == COMMA) : - LA36_18 = self.input.LA(6) + # sdl92.g:326:28: ( procedure )* + while stream_procedure.hasNext(): + self._adaptor.addChild(root_1, stream_procedure.nextTree()) - if (LA36_18 == DASH) : - LA36_21 = self.input.LA(7) - if (LA36_21 == INT) : - LA36_22 = self.input.LA(8) + stream_procedure.reset(); - if (LA36_22 == R_PAREN) : - LA36_25 = self.input.LA(9) + # sdl92.g:326:39: ( processBody )? + if stream_processBody.hasNext(): + self._adaptor.addChild(root_1, stream_processBody.nextTree()) - if (LA36_25 == COMMA) : - LA36_28 = self.input.LA(10) - if (LA36_28 == L_PAREN) : - LA36_30 = self.input.LA(11) + stream_processBody.reset(); - if (LA36_30 == INT) : - LA36_31 = self.input.LA(12) + # sdl92.g:326:52: ( EXTERNAL )? + if stream_EXTERNAL.hasNext(): + self._adaptor.addChild(root_1, + stream_EXTERNAL.nextNode() + ) - if (LA36_31 == COMMA) : - LA36_32 = self.input.LA(13) - if (LA36_32 == INT) : - LA36_33 = self.input.LA(14) + stream_EXTERNAL.reset(); - if (LA36_33 == R_PAREN) : - LA36_34 = self.input.LA(15) + # sdl92.g:326:62: ( EXPORTED )? + if stream_EXPORTED.hasNext(): + self._adaptor.addChild(root_1, + stream_EXPORTED.nextNode() + ) - if (LA36_34 == 250) : - LA36_35 = self.input.LA(16) - if (LA36_35 == 254) : - LA36_36 = self.input.LA(17) + stream_EXPORTED.reset(); - if (LA36_36 == 256) : - LA36_37 = self.input.LA(18) + # sdl92.g:326:72: ( REFERENCED )? + if stream_REFERENCED.hasNext(): + self._adaptor.addChild(root_1, + stream_REFERENCED.nextNode() + ) - if (LA36_37 == INT) : - LA36_39 = self.input.LA(19) - if (LA36_39 == 250) : - LA36_41 = self.input.LA(20) + stream_REFERENCED.reset(); - if (LA36_41 == 254) : - LA36_43 = self.input.LA(21) + self._adaptor.addChild(root_0, root_1) - if (LA36_43 == KEEP) : - LA36_38 = self.input.LA(22) - if (LA36_38 == SPECIFIC) : - LA36_40 = self.input.LA(23) - if (LA36_40 == GEODE) : - LA36_42 = self.input.LA(24) - if (LA36_42 == HYPERLINK) : - LA36_20 = self.input.LA(25) + retval.tree = root_0 - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(26) - if (LA36_24 == 250) : - LA36_27 = self.input.LA(27) - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(28) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(29) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(30) + retval.stop = self.input.LT(-1) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_41 == COMMENT) : - LA36_2 = self.input.LA(21) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(22) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(23) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_36 == KEEP) : - LA36_38 = self.input.LA(18) - if (LA36_38 == SPECIFIC) : - LA36_40 = self.input.LA(19) + success = True - if (LA36_40 == GEODE) : - LA36_42 = self.input.LA(20) + 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) - if (LA36_42 == HYPERLINK) : - LA36_20 = self.input.LA(21) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 16, procedure_StartIndex, success) - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(22) - if (LA36_24 == 250) : - LA36_27 = self.input.LA(23) + pass + return retval - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(24) + # $ANTLR end "procedure" - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(25) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(26) + class procedure_result_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_35 == COMMENT) : - LA36_2 = self.input.LA(17) + self.tree = None - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(18) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(19) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_18 == INT) : - LA36_22 = self.input.LA(7) - if (LA36_22 == R_PAREN) : - LA36_25 = self.input.LA(8) - if (LA36_25 == COMMA) : - LA36_28 = self.input.LA(9) + # $ANTLR start "procedure_result" + # sdl92.g:330: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) - if (LA36_28 == L_PAREN) : - LA36_30 = self.input.LA(10) + procedure_result_StartIndex = self.input.index() - if (LA36_30 == INT) : - LA36_31 = self.input.LA(11) + root_0 = None - if (LA36_31 == COMMA) : - LA36_32 = self.input.LA(12) + string_literal105 = None + RETURNS106 = None + variable_id107 = None + sort108 = None + end109 = None - if (LA36_32 == INT) : - LA36_33 = self.input.LA(13) - - if (LA36_33 == R_PAREN) : - LA36_34 = self.input.LA(14) - - if (LA36_34 == 250) : - LA36_35 = self.input.LA(15) - - if (LA36_35 == 254) : - LA36_36 = self.input.LA(16) - - if (LA36_36 == 256) : - LA36_37 = self.input.LA(17) - - if (LA36_37 == INT) : - LA36_39 = self.input.LA(18) - - if (LA36_39 == 250) : - LA36_41 = self.input.LA(19) - - if (LA36_41 == 254) : - LA36_43 = self.input.LA(20) - - if (LA36_43 == KEEP) : - LA36_38 = self.input.LA(21) - - if (LA36_38 == SPECIFIC) : - LA36_40 = self.input.LA(22) - - if (LA36_40 == GEODE) : - LA36_42 = self.input.LA(23) - - if (LA36_42 == HYPERLINK) : - LA36_20 = self.input.LA(24) - - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(25) - - if (LA36_24 == 250) : - LA36_27 = self.input.LA(26) - - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(27) - - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(28) - - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(29) - - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_41 == COMMENT) : - LA36_2 = self.input.LA(20) - - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(21) - - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(22) - - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_36 == KEEP) : - LA36_38 = self.input.LA(17) - - if (LA36_38 == SPECIFIC) : - LA36_40 = self.input.LA(18) - - if (LA36_40 == GEODE) : - LA36_42 = self.input.LA(19) - - if (LA36_42 == HYPERLINK) : - LA36_20 = self.input.LA(20) - - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(21) - - if (LA36_24 == 250) : - LA36_27 = self.input.LA(22) - - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(23) - - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(24) - - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(25) - - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_35 == COMMENT) : - LA36_2 = self.input.LA(16) - - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(17) - - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(18) - - if (self.synpred46_sdl92()) : - alt36 = 1 - elif LA36 in {256}: - LA36_6 = self.input.LA(3) - - if (LA36_6 == INT) : - LA36_11 = self.input.LA(4) + string_literal105_tree = None + RETURNS106_tree = None + stream_RETURNS = RewriteRuleTokenStream(self._adaptor, "token RETURNS") + stream_252 = RewriteRuleTokenStream(self._adaptor, "token 252") + stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") + success = False - if (LA36_11 == 250) : - LA36_16 = self.input.LA(5) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 17): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA36_16 == 254) : - LA36_19 = self.input.LA(6) - if (LA36_19 == KEEP) : - LA36_23 = self.input.LA(7) + # sdl92.g:331:9: ( ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ) + # sdl92.g:331:17: ( '->' | RETURNS ) ( variable_id )? sort ( end )? + pass + # sdl92.g:331:17: ( '->' | RETURNS ) + alt42 = 2 + LA42_0 = self.input.LA(1) - if (LA36_23 == SPECIFIC) : - LA36_26 = self.input.LA(8) + if (LA42_0 == 252) : + alt42 = 1 + elif (LA42_0 == RETURNS) : + alt42 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA36_26 == GEODE) : - LA36_29 = self.input.LA(9) - if (LA36_29 == HYPERLINK) : - LA36_20 = self.input.LA(10) + nvae = NoViableAltException("", 42, 0, self.input) - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(11) + raise nvae - if (LA36_24 == 250) : - LA36_27 = self.input.LA(12) - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(13) + if alt42 == 1: + # sdl92.g:331:18: '->' + pass + string_literal105 = self.match(self.input, 252, self.FOLLOW_252_in_procedure_result3485) + if self._state.backtracking == 0: + stream_252.add(string_literal105) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(14) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(15) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif (LA36_16 == COMMENT) : - LA36_2 = self.input.LA(6) + elif alt42 == 2: + # sdl92.g:331:25: RETURNS + pass + RETURNS106 = self.match(self.input, RETURNS, self.FOLLOW_RETURNS_in_procedure_result3489) + if self._state.backtracking == 0: + stream_RETURNS.add(RETURNS106) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(7) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(8) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif LA36 in {KEEP}: - LA36_7 = self.input.LA(3) - if (LA36_7 == SPECIFIC) : - LA36_12 = self.input.LA(4) - if (LA36_12 == GEODE) : - LA36_17 = self.input.LA(5) + # sdl92.g:332:17: ( variable_id )? + alt43 = 2 + LA43_0 = self.input.LA(1) - if (LA36_17 == HYPERLINK) : - LA36_20 = self.input.LA(6) + if (LA43_0 == ID) : + LA43_1 = self.input.LA(2) - if (LA36_20 == STRING) : - LA36_24 = self.input.LA(7) + if (LA43_1 == ID) : + alt43 = 1 + if alt43 == 1: + # sdl92.g:332:17: variable_id + pass + self._state.following.append(self.FOLLOW_variable_id_in_procedure_result3508) + variable_id107 = self.variable_id() - if (LA36_24 == 250) : - LA36_27 = self.input.LA(8) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id107.tree) - if (LA36_27 == COMMENT) : - LA36_2 = self.input.LA(9) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(10) - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(11) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif LA36 in {COMMENT}: - LA36_2 = self.input.LA(2) - if (LA36_2 == STRING) : - LA36_8 = self.input.LA(3) + self._state.following.append(self.FOLLOW_sort_in_procedure_result3527) + sort108 = self.sort() - if (LA36_8 == SEMI) : - LA36_13 = self.input.LA(4) + self._state.following.pop() + if self._state.backtracking == 0: + stream_sort.add(sort108.tree) - if (self.synpred46_sdl92()) : - alt36 = 1 - elif LA36 in {SEMI}: - LA36_3 = self.input.LA(2) - if (self.synpred46_sdl92()) : - alt36 = 1 - if alt36 == 1: - # sdl92.g:305:17: end + # sdl92.g:333:22: ( end )? + alt44 = 2 + alt44 = self.dfa44.predict(self.input) + if alt44 == 1: + # sdl92.g:333:22: end pass - self._state.following.append(self.FOLLOW_end_in_pfpar3201) - end92 = self.end() + self._state.following.append(self.FOLLOW_end_in_procedure_result3529) + end109 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end92.tree) + stream_end.add(end109.tree) # AST Rewrite - # elements: parameters_of_sort + # elements: RETURNS, variable_id, sort # token labels: # rule labels: retval # token list labels: @@ -4853,22 +4479,21 @@ def pfpar(self, ): root_0 = self._adaptor.nil() - # 306:9: -> ^( PFPAR ( parameters_of_sort )+ ) - # sdl92.g:306:17: ^( PFPAR ( parameters_of_sort )+ ) + # 334:9: -> ^( RETURNS ( variable_id )? sort ) + # sdl92.g:334:17: ^( RETURNS ( variable_id )? sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PFPAR, "PFPAR") + stream_RETURNS.nextNode() , root_1) - # sdl92.g:306:25: ( parameters_of_sort )+ - if not (stream_parameters_of_sort.hasNext()): - raise RewriteEarlyExitException() + # sdl92.g:334:27: ( variable_id )? + if stream_variable_id.hasNext(): + self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - while stream_parameters_of_sort.hasNext(): - self._adaptor.addChild(root_1, stream_parameters_of_sort.nextTree()) + stream_variable_id.reset(); - stream_parameters_of_sort.reset() + self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -4890,19 +4515,25 @@ def pfpar(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 17, procedure_result_StartIndex, success) + + pass return retval - # $ANTLR end "pfpar" + # $ANTLR end "procedure_result" - class parameters_of_sort_return(ParserRuleReturnScope): + class fpar_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -4912,77 +4543,94 @@ def __init__(self): - # $ANTLR start "parameters_of_sort" - # sdl92.g:310:1: parameters_of_sort : variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ; - def parameters_of_sort(self, ): - retval = self.parameters_of_sort_return() + # $ANTLR start "fpar" + # sdl92.g:338: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) + fpar_StartIndex = self.input.index() root_0 = None - char_literal94 = None - variable_id93 = None - variable_id95 = None - sort96 = None + FPAR110 = None + char_literal112 = None + formal_variable_param111 = None + formal_variable_param113 = None + end114 = None - char_literal94_tree = None + FPAR110_tree = None + char_literal112_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") + 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") + success = False + try: try: - # sdl92.g:311:9: ( variable_id ( ',' variable_id )* sort -> ^( PARAM ( variable_id )+ sort ) ) - # sdl92.g:311:17: variable_id ( ',' variable_id )* sort + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 18): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:339:9: ( FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ) + # sdl92.g:339:17: FPAR formal_variable_param ( ',' formal_variable_param )* end pass - self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort3256) - variable_id93 = self.variable_id() + FPAR110 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_fpar3586) + if self._state.backtracking == 0: + stream_FPAR.add(FPAR110) + + + self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3588) + formal_variable_param111 = self.formal_variable_param() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id93.tree) + stream_formal_variable_param.add(formal_variable_param111.tree) - # sdl92.g:311:29: ( ',' variable_id )* - while True: #loop37 - alt37 = 2 - LA37_0 = self.input.LA(1) + # sdl92.g:340:17: ( ',' formal_variable_param )* + while True: #loop45 + alt45 = 2 + LA45_0 = self.input.LA(1) - if (LA37_0 == COMMA) : - alt37 = 1 + if (LA45_0 == COMMA) : + alt45 = 1 - if alt37 == 1: - # sdl92.g:311:30: ',' variable_id + if alt45 == 1: + # sdl92.g:340:18: ',' formal_variable_param pass - char_literal94 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_parameters_of_sort3259) + char_literal112 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_fpar3607) if self._state.backtracking == 0: - stream_COMMA.add(char_literal94) + stream_COMMA.add(char_literal112) - self._state.following.append(self.FOLLOW_variable_id_in_parameters_of_sort3261) - variable_id95 = self.variable_id() + self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3609) + formal_variable_param113 = self.formal_variable_param() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id95.tree) + stream_formal_variable_param.add(formal_variable_param113.tree) else: - break #loop37 + break #loop45 - self._state.following.append(self.FOLLOW_sort_in_parameters_of_sort3265) - sort96 = self.sort() + self._state.following.append(self.FOLLOW_end_in_fpar3629) + end114 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort96.tree) + stream_end.add(end114.tree) # AST Rewrite - # elements: variable_id, sort + # elements: FPAR, formal_variable_param # token labels: # rule labels: retval # token list labels: @@ -4997,24 +4645,22 @@ def parameters_of_sort(self, ): root_0 = self._adaptor.nil() - # 312:9: -> ^( PARAM ( variable_id )+ sort ) - # sdl92.g:312:17: ^( PARAM ( variable_id )+ sort ) + # 342:9: -> ^( FPAR ( formal_variable_param )+ ) + # sdl92.g:342:17: ^( FPAR ( formal_variable_param )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PARAM, "PARAM") + stream_FPAR.nextNode() , root_1) - # sdl92.g:312:25: ( variable_id )+ - if not (stream_variable_id.hasNext()): + # sdl92.g:342:24: ( formal_variable_param )+ + if not (stream_formal_variable_param.hasNext()): raise RewriteEarlyExitException() - while stream_variable_id.hasNext(): - self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - + while stream_formal_variable_param.hasNext(): + self._adaptor.addChild(root_1, stream_formal_variable_param.nextTree()) - stream_variable_id.reset() - self._adaptor.addChild(root_1, stream_sort.nextTree()) + stream_formal_variable_param.reset() self._adaptor.addChild(root_0, root_1) @@ -5036,19 +4682,25 @@ def parameters_of_sort(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 18, fpar_StartIndex, success) + + pass return retval - # $ANTLR end "parameters_of_sort" + # $ANTLR end "fpar" - class procedure_return(ParserRuleReturnScope): + class formal_variable_param_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -5058,504 +4710,629 @@ def __init__(self): - # $ANTLR start "procedure" - # sdl92.g:319:1: procedure : ( cif )? ( symbolid )? ( requirement )* ( rid )* ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? ( requirement )* ( rid )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ; - def procedure(self, ): - retval = self.procedure_return() + # $ANTLR start "formal_variable_param" + # sdl92.g:346: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) + formal_variable_param_StartIndex = self.input.index() root_0 = None - EXPORTED102 = None - PROCEDURE103 = None - SEMI105 = None - ENDPROCEDURE110 = None - EXTERNAL112 = None - REFERENCED113 = None - e1 = None - res = None - e2 = None - cif97 = None - symbolid98 = None - requirement99 = None - rid100 = None - partition101 = None - procedure_id104 = None - fpar106 = None - text_area107 = None - procedure108 = None - processBody109 = None - procedure_id111 = None - - EXPORTED102_tree = None - PROCEDURE103_tree = None - SEMI105_tree = None - ENDPROCEDURE110_tree = None - EXTERNAL112_tree = None - REFERENCED113_tree = None - stream_PROCEDURE = RewriteRuleTokenStream(self._adaptor, "token PROCEDURE") - stream_EXTERNAL = RewriteRuleTokenStream(self._adaptor, "token EXTERNAL") - stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") - stream_ENDPROCEDURE = RewriteRuleTokenStream(self._adaptor, "token ENDPROCEDURE") - stream_EXPORTED = RewriteRuleTokenStream(self._adaptor, "token EXPORTED") - stream_REFERENCED = RewriteRuleTokenStream(self._adaptor, "token REFERENCED") - stream_text_area = RewriteRuleSubtreeStream(self._adaptor, "rule text_area") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_partition = RewriteRuleSubtreeStream(self._adaptor, "rule partition") - stream_procedure_id = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_id") - stream_processBody = RewriteRuleSubtreeStream(self._adaptor, "rule processBody") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_fpar = RewriteRuleSubtreeStream(self._adaptor, "rule fpar") - stream_procedure = RewriteRuleSubtreeStream(self._adaptor, "rule procedure") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_procedure_result = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_result") + INOUT115 = None + IN116 = None + OUT117 = None + char_literal119 = None + variable_id118 = None + variable_id120 = None + sort121 = None + + INOUT115_tree = None + IN116_tree = None + OUT117_tree = None + char_literal119_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") + success = False + try: try: - # sdl92.g:320:9: ( ( cif )? ( symbolid )? ( requirement )* ( rid )* ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? ( requirement )* ( rid )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) ) - # sdl92.g:320:17: ( cif )? ( symbolid )? ( requirement )* ( rid )* ( partition )? ( EXPORTED )? PROCEDURE procedure_id (e1= end | SEMI ) ( fpar )? (res= procedure_result )? ( text_area | procedure )* ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) e2= end - pass - # sdl92.g:320:17: ( cif )? - alt38 = 2 - LA38_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 19): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA38_0 == 254) : - LA38_1 = self.input.LA(2) - if (LA38_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt38 = 1 - if alt38 == 1: - # sdl92.g:320:17: cif + # sdl92.g:347:9: ( ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) ) + # sdl92.g:347:17: ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort + pass + # sdl92.g:347:17: ( INOUT | IN | OUT )? + alt46 = 4 + LA46 = self.input.LA(1) + if LA46 in {INOUT}: + alt46 = 1 + elif LA46 in {IN}: + alt46 = 2 + elif LA46 in {OUT}: + alt46 = 3 + if alt46 == 1: + # sdl92.g:347:18: INOUT pass - self._state.following.append(self.FOLLOW_cif_in_procedure3324) - cif97 = self.cif() - - self._state.following.pop() + INOUT115 = self.match(self.input, INOUT, self.FOLLOW_INOUT_in_formal_variable_param3684) if self._state.backtracking == 0: - stream_cif.add(cif97.tree) + stream_INOUT.add(INOUT115) - - - # sdl92.g:321:17: ( symbolid )? - alt39 = 2 - LA39_0 = self.input.LA(1) - - if (LA39_0 == 254) : - LA39_1 = self.input.LA(2) - - if (LA39_1 == 256) : - alt39 = 1 - if alt39 == 1: - # sdl92.g:321:17: symbolid + elif alt46 == 2: + # sdl92.g:347:26: IN pass - self._state.following.append(self.FOLLOW_symbolid_in_procedure3343) - symbolid98 = self.symbolid() - - self._state.following.pop() + IN116 = self.match(self.input, IN, self.FOLLOW_IN_in_formal_variable_param3688) if self._state.backtracking == 0: - stream_symbolid.add(symbolid98.tree) - + stream_IN.add(IN116) + elif alt46 == 3: + # sdl92.g:347:31: OUT + pass + OUT117 = self.match(self.input, OUT, self.FOLLOW_OUT_in_formal_variable_param3692) + if self._state.backtracking == 0: + stream_OUT.add(OUT117) - # sdl92.g:322:17: ( requirement )* - while True: #loop40 - alt40 = 2 - LA40_0 = self.input.LA(1) - - if (LA40_0 == 254) : - LA40_1 = self.input.LA(2) - - if (LA40_1 == KEEP) : - LA40_3 = self.input.LA(3) - - if (LA40_3 == SPECIFIC) : - LA40_4 = self.input.LA(4) - if (LA40_4 == GEODE) : - LA40_5 = self.input.LA(5) - if (LA40_5 == REQ_ID) : - alt40 = 1 + self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3712) + variable_id118 = self.variable_id() + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id118.tree) + # sdl92.g:348:29: ( ',' variable_id )* + while True: #loop47 + alt47 = 2 + LA47_0 = self.input.LA(1) + if (LA47_0 == COMMA) : + alt47 = 1 + if alt47 == 1: + # sdl92.g:348:30: ',' variable_id + pass + char_literal119 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_formal_variable_param3715) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal119) - if alt40 == 1: - # sdl92.g:322:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_procedure3362) - requirement99 = self.requirement() + self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3717) + variable_id120 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_requirement.add(requirement99.tree) + stream_variable_id.add(variable_id120.tree) else: - break #loop40 + break #loop47 - # sdl92.g:323:17: ( rid )* - while True: #loop41 - alt41 = 2 - LA41_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_sort_in_formal_variable_param3721) + sort121 = self.sort() - if (LA41_0 == 254) : - LA41_1 = self.input.LA(2) + self._state.following.pop() + if self._state.backtracking == 0: + stream_sort.add(sort121.tree) - if (LA41_1 == KEEP) : - LA41_3 = self.input.LA(3) - if (LA41_3 == SPECIFIC) : - LA41_4 = self.input.LA(4) + # 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) - if (LA41_4 == GEODE) : - LA41_5 = self.input.LA(5) - if (LA41_5 == RID_ID) : - alt41 = 1 + root_0 = self._adaptor.nil() + # 349:9: -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) + # sdl92.g:349: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:349:25: ( INOUT )? + if stream_INOUT.hasNext(): + self._adaptor.addChild(root_1, + stream_INOUT.nextNode() + ) + stream_INOUT.reset(); + # sdl92.g:349:32: ( IN )? + if stream_IN.hasNext(): + self._adaptor.addChild(root_1, + stream_IN.nextNode() + ) + stream_IN.reset(); + # sdl92.g:349:36: ( OUT )? + if stream_OUT.hasNext(): + self._adaptor.addChild(root_1, + stream_OUT.nextNode() + ) + stream_OUT.reset(); - if alt41 == 1: - # sdl92.g:323:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_procedure3381) - rid100 = self.rid() + # sdl92.g:349:41: ( variable_id )+ + if not (stream_variable_id.hasNext()): + raise RewriteEarlyExitException() - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid100.tree) + while stream_variable_id.hasNext(): + self._adaptor.addChild(root_1, stream_variable_id.nextTree()) + stream_variable_id.reset() - else: - break #loop41 + self._adaptor.addChild(root_1, stream_sort.nextTree()) + self._adaptor.addChild(root_0, root_1) - # sdl92.g:324:17: ( partition )? - alt42 = 2 - LA42_0 = self.input.LA(1) - if (LA42_0 == 254) : - alt42 = 1 - if alt42 == 1: - # sdl92.g:324:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_procedure3400) - partition101 = self.partition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition101.tree) + retval.tree = root_0 - # sdl92.g:325:17: ( EXPORTED )? - alt43 = 2 - LA43_0 = self.input.LA(1) - if (LA43_0 == EXPORTED) : - alt43 = 1 - if alt43 == 1: - # sdl92.g:325:17: EXPORTED - pass - EXPORTED102 = self.match(self.input, EXPORTED, self.FOLLOW_EXPORTED_in_procedure3419) - if self._state.backtracking == 0: - stream_EXPORTED.add(EXPORTED102) + 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) - PROCEDURE103 = self.match(self.input, PROCEDURE, self.FOLLOW_PROCEDURE_in_procedure3422) - if self._state.backtracking == 0: - stream_PROCEDURE.add(PROCEDURE103) + success = True + 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) - self._state.following.append(self.FOLLOW_procedure_id_in_procedure3424) - procedure_id104 = self.procedure_id() + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 19, formal_variable_param_StartIndex, success) - self._state.following.pop() - if self._state.backtracking == 0: - stream_procedure_id.add(procedure_id104.tree) + pass + return retval - # sdl92.g:325:50: (e1= end | SEMI ) - alt44 = 2 - LA44_0 = self.input.LA(1) + # $ANTLR end "formal_variable_param" - if (LA44_0 in {COMMENT, 254}) : - alt44 = 1 - elif (LA44_0 == SEMI) : - LA44_2 = self.input.LA(2) - if (self.synpred54_sdl92()) : - alt44 = 1 - elif (True) : - alt44 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + class text_area_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - nvae = NoViableAltException("", 44, 2, self.input) - raise nvae - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # $ANTLR start "text_area" + # sdl92.g:354: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) - nvae = NoViableAltException("", 44, 0, self.input) + text_area_StartIndex = self.input.index() - raise nvae + root_0 = None + cif122 = None + content123 = None + cif_end_text124 = None - if alt44 == 1: - # sdl92.g:325:51: e1= end - pass - self._state.following.append(self.FOLLOW_end_in_procedure3429) - e1 = self.end() + 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") + success = False - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(e1.tree) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 20): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:355:9: ( ( cif )+ ( content )? cif_end_text -> ^( TEXTAREA ( cif )+ ( content )? cif_end_text ) ) + # sdl92.g:355:17: ( cif )+ ( content )? cif_end_text + pass + # sdl92.g:355:17: ( cif )+ + cnt48 = 0 + while True: #loop48 + alt48 = 2 + alt48 = self.dfa48.predict(self.input) + if alt48 == 1: + # sdl92.g:355:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_text_area3787) + cif122 = self.cif() - elif alt44 == 2: - # sdl92.g:325:60: SEMI - pass - SEMI105 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_procedure3433) - if self._state.backtracking == 0: - stream_SEMI.add(SEMI105) + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif122.tree) + + + + else: + if cnt48 >= 1: + break #loop48 + + if self._state.backtracking > 0: + raise BacktrackingFailed + eee = EarlyExitException(48, self.input) + raise eee + + cnt48 += 1 + # sdl92.g:356:17: ( content )? + alt49 = 2 + LA49_0 = self.input.LA(1) - # sdl92.g:326:17: ( fpar )? - alt45 = 2 - LA45_0 = self.input.LA(1) + if (LA49_0 == 254) : + LA49_1 = self.input.LA(2) - if (LA45_0 == FPAR) : - alt45 = 1 - if alt45 == 1: - # sdl92.g:326:17: fpar + if (self.synpred63_sdl92()) : + alt49 = 1 + elif (LA49_0 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 252}) : + alt49 = 1 + if alt49 == 1: + # sdl92.g:356:17: content pass - self._state.following.append(self.FOLLOW_fpar_in_procedure3452) - fpar106 = self.fpar() + self._state.following.append(self.FOLLOW_content_in_text_area3806) + content123 = self.content() self._state.following.pop() if self._state.backtracking == 0: - stream_fpar.add(fpar106.tree) + stream_content.add(content123.tree) - # sdl92.g:327:20: (res= procedure_result )? - alt46 = 2 - LA46_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_cif_end_text_in_text_area3825) + cif_end_text124 = self.cif_end_text() - if (LA46_0 in {RETURNS, 252}) : - alt46 = 1 - if alt46 == 1: - # sdl92.g:327:20: res= procedure_result - pass - self._state.following.append(self.FOLLOW_procedure_result_in_procedure3473) - res = self.procedure_result() + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif_end_text.add(cif_end_text124.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_procedure_result.add(res.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() + # 358:9: -> ^( TEXTAREA ( cif )+ ( content )? cif_end_text ) + # sdl92.g:358:17: ^( TEXTAREA ( cif )+ ( content )? cif_end_text ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(TEXTAREA, "TEXTAREA") + , root_1) + + # sdl92.g:358:28: ( cif )+ + if not (stream_cif.hasNext()): + raise RewriteEarlyExitException() + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) + stream_cif.reset() - # sdl92.g:328:17: ( text_area | procedure )* - while True: #loop47 - alt47 = 3 - LA47_0 = self.input.LA(1) + # sdl92.g:358:33: ( content )? + if stream_content.hasNext(): + self._adaptor.addChild(root_1, stream_content.nextTree()) - if (LA47_0 == 254) : - LA47_1 = self.input.LA(2) - if (self.synpred57_sdl92()) : - alt47 = 1 - elif (self.synpred58_sdl92()) : - alt47 = 2 + stream_content.reset(); + self._adaptor.addChild(root_1, stream_cif_end_text.nextTree()) - elif (LA47_0 in {EXPORTED, PROCEDURE}) : - alt47 = 2 + self._adaptor.addChild(root_0, root_1) - if alt47 == 1: - # sdl92.g:328:18: text_area + + + 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) + + + + success = True + + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 20, text_area_StartIndex, success) + + + pass + return retval + + # $ANTLR end "text_area" + + + class content_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + + self.tree = None + + + + + + # $ANTLR start "content" + # sdl92.g:364:1: content : ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) ; + def content(self, ): + retval = self.content_return() + retval.start = self.input.LT(1) + + content_StartIndex = self.input.index() + + root_0 = None + + res = None + procedure125 = None + use_clause126 = None + signal_declaration127 = None + fpar128 = None + timer_declaration129 = None + syntype_definition130 = None + newtype_definition131 = None + variable_definition132 = None + monitor_definition133 = None + observer_special_states_declaration134 = None + synonym_definition135 = None + + stream_syntype_definition = RewriteRuleSubtreeStream(self._adaptor, "rule syntype_definition") + stream_variable_definition = RewriteRuleSubtreeStream(self._adaptor, "rule variable_definition") + stream_use_clause = RewriteRuleSubtreeStream(self._adaptor, "rule use_clause") + stream_signal_declaration = RewriteRuleSubtreeStream(self._adaptor, "rule signal_declaration") + stream_timer_declaration = RewriteRuleSubtreeStream(self._adaptor, "rule timer_declaration") + stream_newtype_definition = RewriteRuleSubtreeStream(self._adaptor, "rule newtype_definition") + stream_monitor_definition = RewriteRuleSubtreeStream(self._adaptor, "rule monitor_definition") + stream_observer_special_states_declaration = RewriteRuleSubtreeStream(self._adaptor, "rule observer_special_states_declaration") + 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") + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 21): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:365:9: ( ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) ) + # sdl92.g:365:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* + pass + # sdl92.g:365:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* + while True: #loop50 + alt50 = 13 + alt50 = self.dfa50.predict(self.input) + if alt50 == 1: + # sdl92.g:365:19: procedure pass - self._state.following.append(self.FOLLOW_text_area_in_procedure3493) - text_area107 = self.text_area() + self._state.following.append(self.FOLLOW_procedure_in_content3888) + procedure125 = self.procedure() self._state.following.pop() if self._state.backtracking == 0: - stream_text_area.add(text_area107.tree) + stream_procedure.add(procedure125.tree) - elif alt47 == 2: - # sdl92.g:328:30: procedure + elif alt50 == 2: + # sdl92.g:366:20: use_clause pass - self._state.following.append(self.FOLLOW_procedure_in_procedure3497) - procedure108 = self.procedure() + self._state.following.append(self.FOLLOW_use_clause_in_content3909) + use_clause126 = self.use_clause() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure.add(procedure108.tree) - + stream_use_clause.add(use_clause126.tree) - else: - break #loop47 + elif alt50 == 3: + # sdl92.g:367:20: signal_declaration + pass + self._state.following.append(self.FOLLOW_signal_declaration_in_content3930) + signal_declaration127 = self.signal_declaration() - # sdl92.g:329:17: ( ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) | EXTERNAL | REFERENCED ) - alt50 = 3 - LA50 = self.input.LA(1) - if LA50 in {EOF, BLOCK, COMMENT, CONNECT, CONNECTION, ENDBLOCK, ENDPROCEDURE, ENDPROCESS, ID, PROCESS, SEMI, SIGNAL, SIGNALROUTE, START, STATE, SYSTEM, TYPE, USE, 254}: - alt50 = 1 - elif LA50 in {EXTERNAL}: - alt50 = 2 - elif LA50 in {REFERENCED}: - alt50 = 3 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._state.following.pop() + if self._state.backtracking == 0: + stream_signal_declaration.add(signal_declaration127.tree) - nvae = NoViableAltException("", 50, 0, self.input) - raise nvae + elif alt50 == 4: + # sdl92.g:368:20: fpar + pass + self._state.following.append(self.FOLLOW_fpar_in_content3951) + fpar128 = self.fpar() + self._state.following.pop() + if self._state.backtracking == 0: + stream_fpar.add(fpar128.tree) - if alt50 == 1: - # sdl92.g:329:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) - pass - # sdl92.g:329:18: ( ( processBody )? ENDPROCEDURE ( procedure_id )? ) - # sdl92.g:329:19: ( processBody )? ENDPROCEDURE ( procedure_id )? - pass - # sdl92.g:329:19: ( processBody )? - alt48 = 2 - LA48_0 = self.input.LA(1) - if (LA48_0 in {CONNECTION, START, STATE, 254}) : - alt48 = 1 - elif (LA48_0 == ENDPROCEDURE) : - LA48_2 = self.input.LA(2) - if (self.synpred59_sdl92()) : - alt48 = 1 - if alt48 == 1: - # sdl92.g:329:19: processBody + elif alt50 == 5: + # sdl92.g:369:20: res= procedure_result pass - self._state.following.append(self.FOLLOW_processBody_in_procedure3519) - processBody109 = self.processBody() + self._state.following.append(self.FOLLOW_procedure_result_in_content3974) + res = self.procedure_result() self._state.following.pop() if self._state.backtracking == 0: - stream_processBody.add(processBody109.tree) + stream_procedure_result.add(res.tree) + + + elif alt50 == 6: + # sdl92.g:370:20: timer_declaration + pass + self._state.following.append(self.FOLLOW_timer_declaration_in_content3995) + timer_declaration129 = self.timer_declaration() + self._state.following.pop() + if self._state.backtracking == 0: + stream_timer_declaration.add(timer_declaration129.tree) - ENDPROCEDURE110 = self.match(self.input, ENDPROCEDURE, self.FOLLOW_ENDPROCEDURE_in_procedure3522) - if self._state.backtracking == 0: - stream_ENDPROCEDURE.add(ENDPROCEDURE110) + elif alt50 == 7: + # sdl92.g:371:20: syntype_definition + pass + self._state.following.append(self.FOLLOW_syntype_definition_in_content4016) + syntype_definition130 = self.syntype_definition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_syntype_definition.add(syntype_definition130.tree) - # sdl92.g:329:45: ( procedure_id )? - alt49 = 2 - LA49_0 = self.input.LA(1) - if (LA49_0 == ID) : - alt49 = 1 - if alt49 == 1: - # sdl92.g:329:45: procedure_id + + elif alt50 == 8: + # sdl92.g:372:20: newtype_definition pass - self._state.following.append(self.FOLLOW_procedure_id_in_procedure3524) - procedure_id111 = self.procedure_id() + self._state.following.append(self.FOLLOW_newtype_definition_in_content4037) + newtype_definition131 = self.newtype_definition() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure_id.add(procedure_id111.tree) + stream_newtype_definition.add(newtype_definition131.tree) + elif alt50 == 9: + # sdl92.g:373:20: variable_definition + pass + self._state.following.append(self.FOLLOW_variable_definition_in_content4058) + variable_definition132 = self.variable_definition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_definition.add(variable_definition132.tree) + elif alt50 == 10: + # sdl92.g:374:20: monitor_definition + pass + self._state.following.append(self.FOLLOW_monitor_definition_in_content4079) + monitor_definition133 = self.monitor_definition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_monitor_definition.add(monitor_definition133.tree) - elif alt50 == 2: - # sdl92.g:330:20: EXTERNAL - pass - EXTERNAL112 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_procedure3547) - if self._state.backtracking == 0: - stream_EXTERNAL.add(EXTERNAL112) + elif alt50 == 11: + # sdl92.g:375:20: observer_special_states_declaration + pass + self._state.following.append(self.FOLLOW_observer_special_states_declaration_in_content4100) + observer_special_states_declaration134 = self.observer_special_states_declaration() - elif alt50 == 3: - # sdl92.g:330:31: REFERENCED - pass - REFERENCED113 = self.match(self.input, REFERENCED, self.FOLLOW_REFERENCED_in_procedure3551) - if self._state.backtracking == 0: - stream_REFERENCED.add(REFERENCED113) + self._state.following.pop() + if self._state.backtracking == 0: + stream_observer_special_states_declaration.add(observer_special_states_declaration134.tree) + elif alt50 == 12: + # sdl92.g:376:20: synonym_definition + pass + self._state.following.append(self.FOLLOW_synonym_definition_in_content4121) + synonym_definition135 = self.synonym_definition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_synonym_definition.add(synonym_definition135.tree) - self._state.following.append(self.FOLLOW_end_in_procedure3572) - e2 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(e2.tree) + else: + break #loop50 # AST Rewrite - # elements: PROCEDURE, cif, symbolid, partition, requirement, rid, procedure_id, e1, e2, fpar, res, text_area, procedure, processBody, EXTERNAL, EXPORTED, REFERENCED + # elements: fpar, res, procedure, variable_definition, monitor_definition, syntype_definition, newtype_definition, timer_declaration, signal_declaration, use_clause, observer_special_states_declaration, synonym_definition # token labels: - # rule labels: res, e1, e2, retval + # rule labels: res, retval # token list labels: # rule list labels: # wildcard labels: @@ -5566,16 +5343,6 @@ def procedure(self, ): 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: @@ -5583,125 +5350,96 @@ def procedure(self, ): root_0 = self._adaptor.nil() - # 332:9: -> ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? ( requirement )* ( rid )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) - # sdl92.g:332:17: ^( PROCEDURE ( cif )? ( symbolid )? ( partition )? ( requirement )* ( rid )* procedure_id ( $e1)? ( $e2)? ( fpar )? ( $res)? ( text_area )* ( procedure )* ( processBody )? ( EXTERNAL )? ( EXPORTED )? ( REFERENCED )? ) + # 377:9: -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) + # sdl92.g:377:18: ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_PROCEDURE.nextNode() + self._adaptor.createFromType(TEXTAREA_CONTENT, "TEXTAREA_CONTENT") , root_1) - # sdl92.g:332:29: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + # sdl92.g:377:37: ( fpar )* + while stream_fpar.hasNext(): + self._adaptor.addChild(root_1, stream_fpar.nextTree()) - stream_cif.reset(); + stream_fpar.reset(); - # sdl92.g:332:34: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + # sdl92.g:377:44: ( $res)? + if stream_res.hasNext(): + self._adaptor.addChild(root_1, stream_res.nextTree()) - stream_symbolid.reset(); + stream_res.reset(); - # sdl92.g:332:44: ( partition )? - if stream_partition.hasNext(): - self._adaptor.addChild(root_1, stream_partition.nextTree()) + # sdl92.g:377:49: ( procedure )* + while stream_procedure.hasNext(): + self._adaptor.addChild(root_1, stream_procedure.nextTree()) - stream_partition.reset(); + stream_procedure.reset(); - # sdl92.g:332:55: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + # sdl92.g:377:60: ( variable_definition )* + while stream_variable_definition.hasNext(): + self._adaptor.addChild(root_1, stream_variable_definition.nextTree()) - stream_requirement.reset(); + stream_variable_definition.reset(); - # sdl92.g:332:68: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + # sdl92.g:378:20: ( monitor_definition )* + while stream_monitor_definition.hasNext(): + self._adaptor.addChild(root_1, stream_monitor_definition.nextTree()) - stream_rid.reset(); + stream_monitor_definition.reset(); - self._adaptor.addChild(root_1, stream_procedure_id.nextTree()) + # sdl92.g:378:40: ( syntype_definition )* + while stream_syntype_definition.hasNext(): + self._adaptor.addChild(root_1, stream_syntype_definition.nextTree()) - # sdl92.g:333:31: ( $e1)? - if stream_e1.hasNext(): - self._adaptor.addChild(root_1, stream_e1.nextTree()) + stream_syntype_definition.reset(); - stream_e1.reset(); + # sdl92.g:378:60: ( newtype_definition )* + while stream_newtype_definition.hasNext(): + self._adaptor.addChild(root_1, stream_newtype_definition.nextTree()) - # sdl92.g:333:36: ( $e2)? - if stream_e2.hasNext(): - self._adaptor.addChild(root_1, stream_e2.nextTree()) - - - stream_e2.reset(); - - # sdl92.g:333:40: ( fpar )? - if stream_fpar.hasNext(): - self._adaptor.addChild(root_1, stream_fpar.nextTree()) - - - stream_fpar.reset(); - - # sdl92.g:333:47: ( $res)? - if stream_res.hasNext(): - self._adaptor.addChild(root_1, stream_res.nextTree()) - - - stream_res.reset(); - - # sdl92.g:334:17: ( text_area )* - while stream_text_area.hasNext(): - self._adaptor.addChild(root_1, stream_text_area.nextTree()) + stream_newtype_definition.reset(); - stream_text_area.reset(); - - # sdl92.g:334:28: ( procedure )* - while stream_procedure.hasNext(): - self._adaptor.addChild(root_1, stream_procedure.nextTree()) + # sdl92.g:379:20: ( timer_declaration )* + while stream_timer_declaration.hasNext(): + self._adaptor.addChild(root_1, stream_timer_declaration.nextTree()) - stream_procedure.reset(); + stream_timer_declaration.reset(); - # sdl92.g:334:39: ( processBody )? - if stream_processBody.hasNext(): - self._adaptor.addChild(root_1, stream_processBody.nextTree()) + # sdl92.g:379:39: ( signal_declaration )* + while stream_signal_declaration.hasNext(): + self._adaptor.addChild(root_1, stream_signal_declaration.nextTree()) - stream_processBody.reset(); + stream_signal_declaration.reset(); - # sdl92.g:334:52: ( EXTERNAL )? - if stream_EXTERNAL.hasNext(): - self._adaptor.addChild(root_1, - stream_EXTERNAL.nextNode() - ) + # sdl92.g:379:59: ( use_clause )* + while stream_use_clause.hasNext(): + self._adaptor.addChild(root_1, stream_use_clause.nextTree()) - stream_EXTERNAL.reset(); + stream_use_clause.reset(); - # sdl92.g:334:62: ( EXPORTED )? - if stream_EXPORTED.hasNext(): - self._adaptor.addChild(root_1, - stream_EXPORTED.nextNode() - ) + # sdl92.g:380:20: ( observer_special_states_declaration )* + while stream_observer_special_states_declaration.hasNext(): + self._adaptor.addChild(root_1, stream_observer_special_states_declaration.nextTree()) - stream_EXPORTED.reset(); + stream_observer_special_states_declaration.reset(); - # sdl92.g:334:72: ( REFERENCED )? - if stream_REFERENCED.hasNext(): - self._adaptor.addChild(root_1, - stream_REFERENCED.nextNode() - ) + # sdl92.g:380:57: ( synonym_definition )* + while stream_synonym_definition.hasNext(): + self._adaptor.addChild(root_1, stream_synonym_definition.nextTree()) - stream_REFERENCED.reset(); + stream_synonym_definition.reset(); self._adaptor.addChild(root_0, root_1) @@ -5723,19 +5461,25 @@ def procedure(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 21, content_StartIndex, success) + + pass return retval - # $ANTLR end "procedure" + # $ANTLR end "content" - class procedure_result_return(ParserRuleReturnScope): + class observer_special_states_declaration_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -5745,551 +5489,489 @@ def __init__(self): - # $ANTLR start "procedure_result" - # sdl92.g:338:1: procedure_result : ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ; - def procedure_result(self, ): - retval = self.procedure_result_return() + # $ANTLR start "observer_special_states_declaration" + # sdl92.g:388:1: observer_special_states_declaration : ( ERRORSTATES statename ( ',' statename )* end -> ^( ERRORSTATES ( statename )+ ) | IGNORESTATES statename ( ',' statename )* end -> ^( IGNORESTATES ( statename )+ ) | SUCCESSSTATES statename ( ',' statename )* end -> ^( SUCCESSSTATES ( statename )+ ) ); + def observer_special_states_declaration(self, ): + retval = self.observer_special_states_declaration_return() retval.start = self.input.LT(1) + observer_special_states_declaration_StartIndex = self.input.index() root_0 = None - string_literal114 = None - RETURNS115 = None - variable_id116 = None - sort117 = None - end118 = None - - string_literal114_tree = None - RETURNS115_tree = None - stream_RETURNS = RewriteRuleTokenStream(self._adaptor, "token RETURNS") - stream_252 = RewriteRuleTokenStream(self._adaptor, "token 252") - stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") + ERRORSTATES136 = None + char_literal138 = None + IGNORESTATES141 = None + char_literal143 = None + SUCCESSSTATES146 = None + char_literal148 = None + statename137 = None + statename139 = None + end140 = None + statename142 = None + statename144 = None + end145 = None + statename147 = None + statename149 = None + end150 = None + + ERRORSTATES136_tree = None + char_literal138_tree = None + IGNORESTATES141_tree = None + char_literal143_tree = None + SUCCESSSTATES146_tree = None + char_literal148_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_SUCCESSSTATES = RewriteRuleTokenStream(self._adaptor, "token SUCCESSSTATES") + stream_IGNORESTATES = RewriteRuleTokenStream(self._adaptor, "token IGNORESTATES") + stream_ERRORSTATES = RewriteRuleTokenStream(self._adaptor, "token ERRORSTATES") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") + stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") + success = False + try: try: - # sdl92.g:339:9: ( ( '->' | RETURNS ) ( variable_id )? sort ( end )? -> ^( RETURNS ( variable_id )? sort ) ) - # sdl92.g:339:17: ( '->' | RETURNS ) ( variable_id )? sort ( end )? - pass - # sdl92.g:339:17: ( '->' | RETURNS ) - alt51 = 2 - LA51_0 = self.input.LA(1) - - if (LA51_0 == 252) : - alt51 = 1 - elif (LA51_0 == RETURNS) : - alt51 = 2 + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 22): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:389:9: ( ERRORSTATES statename ( ',' statename )* end -> ^( ERRORSTATES ( statename )+ ) | IGNORESTATES statename ( ',' statename )* end -> ^( IGNORESTATES ( statename )+ ) | SUCCESSSTATES statename ( ',' statename )* end -> ^( SUCCESSSTATES ( statename )+ ) ) + alt54 = 3 + LA54 = self.input.LA(1) + if LA54 in {ERRORSTATES}: + alt54 = 1 + elif LA54 in {IGNORESTATES}: + alt54 = 2 + elif LA54 in {SUCCESSSTATES}: + alt54 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 51, 0, self.input) + nvae = NoViableAltException("", 54, 0, self.input) raise nvae - if alt51 == 1: - # sdl92.g:339:18: '->' - pass - string_literal114 = self.match(self.input, 252, self.FOLLOW_252_in_procedure_result3706) - if self._state.backtracking == 0: - stream_252.add(string_literal114) - - - - elif alt51 == 2: - # sdl92.g:339:25: RETURNS + if alt54 == 1: + # sdl92.g:389:17: ERRORSTATES statename ( ',' statename )* end pass - RETURNS115 = self.match(self.input, RETURNS, self.FOLLOW_RETURNS_in_procedure_result3710) + ERRORSTATES136 = self.match(self.input, ERRORSTATES, self.FOLLOW_ERRORSTATES_in_observer_special_states_declaration4273) if self._state.backtracking == 0: - stream_RETURNS.add(RETURNS115) - - - - - - # sdl92.g:340:17: ( variable_id )? - alt52 = 2 - LA52_0 = self.input.LA(1) + stream_ERRORSTATES.add(ERRORSTATES136) - if (LA52_0 == ID) : - LA52_1 = self.input.LA(2) - if (LA52_1 == ID) : - alt52 = 1 - if alt52 == 1: - # sdl92.g:340:17: variable_id - pass - self._state.following.append(self.FOLLOW_variable_id_in_procedure_result3729) - variable_id116 = self.variable_id() + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4280) + statename137 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id116.tree) - + stream_statename.add(statename137.tree) + # sdl92.g:389:44: ( ',' statename )* + while True: #loop51 + alt51 = 2 + LA51_0 = self.input.LA(1) + if (LA51_0 == COMMA) : + alt51 = 1 - self._state.following.append(self.FOLLOW_sort_in_procedure_result3748) - sort117 = self.sort() - self._state.following.pop() - if self._state.backtracking == 0: - stream_sort.add(sort117.tree) + if alt51 == 1: + # sdl92.g:389:45: ',' statename + pass + char_literal138 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4283) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal138) - # sdl92.g:341:22: ( end )? - alt53 = 2 - LA53_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4285) + statename139 = self.statename() - if (LA53_0 == 254) : - LA53 = self.input.LA(2) - if LA53 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - LA53_4 = self.input.LA(3) + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename139.tree) - if (LA53_4 == L_PAREN) : - LA53_7 = self.input.LA(4) - if (LA53_7 == DASH) : - LA53_10 = self.input.LA(5) - if (LA53_10 == INT) : - LA53_11 = self.input.LA(6) + else: + break #loop51 - if (LA53_11 == COMMA) : - LA53_14 = self.input.LA(7) - if (LA53_14 == DASH) : - LA53_17 = self.input.LA(8) + self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4289) + end140 = self.end() - if (LA53_17 == INT) : - LA53_18 = self.input.LA(9) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end140.tree) - if (LA53_18 == R_PAREN) : - LA53_21 = self.input.LA(10) - if (LA53_21 == COMMA) : - LA53_24 = self.input.LA(11) + # AST Rewrite + # elements: ERRORSTATES, 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) - if (LA53_24 == L_PAREN) : - LA53_26 = self.input.LA(12) - if (LA53_26 == INT) : - LA53_27 = self.input.LA(13) + root_0 = self._adaptor.nil() + # 390:9: -> ^( ERRORSTATES ( statename )+ ) + # sdl92.g:390:17: ^( ERRORSTATES ( statename )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_ERRORSTATES.nextNode() + , root_1) - if (LA53_27 == COMMA) : - LA53_28 = self.input.LA(14) + # sdl92.g:390:31: ( statename )+ + if not (stream_statename.hasNext()): + raise RewriteEarlyExitException() - if (LA53_28 == INT) : - LA53_29 = self.input.LA(15) + while stream_statename.hasNext(): + self._adaptor.addChild(root_1, stream_statename.nextTree()) - if (LA53_29 == R_PAREN) : - LA53_30 = self.input.LA(16) - if (LA53_30 == 250) : - LA53_31 = self.input.LA(17) + stream_statename.reset() - if (LA53_31 == 254) : - LA53_32 = self.input.LA(18) + self._adaptor.addChild(root_0, root_1) - if (LA53_32 == 256) : - LA53_33 = self.input.LA(19) - if (LA53_33 == INT) : - LA53_35 = self.input.LA(20) - if (LA53_35 == 250) : - LA53_37 = self.input.LA(21) - if (LA53_37 == 254) : - LA53_39 = self.input.LA(22) + retval.tree = root_0 - if (LA53_39 == KEEP) : - LA53_34 = self.input.LA(23) - if (LA53_34 == SPECIFIC) : - LA53_36 = self.input.LA(24) - if (LA53_36 == GEODE) : - LA53_38 = self.input.LA(25) - if (LA53_38 == HYPERLINK) : - LA53_16 = self.input.LA(26) + elif alt54 == 2: + # sdl92.g:391:19: IGNORESTATES statename ( ',' statename )* end + pass + IGNORESTATES141 = self.match(self.input, IGNORESTATES, self.FOLLOW_IGNORESTATES_in_observer_special_states_declaration4331) + if self._state.backtracking == 0: + stream_IGNORESTATES.add(IGNORESTATES141) - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(27) - if (LA53_20 == 250) : - LA53_23 = self.input.LA(28) + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4335) + statename142 = self.statename() - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_37 == COMMENT) : - alt53 = 1 - elif (LA53_32 == KEEP) : - LA53_34 = self.input.LA(19) + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename142.tree) - if (LA53_34 == SPECIFIC) : - LA53_36 = self.input.LA(20) - if (LA53_36 == GEODE) : - LA53_38 = self.input.LA(21) + # sdl92.g:391:44: ( ',' statename )* + while True: #loop52 + alt52 = 2 + LA52_0 = self.input.LA(1) - if (LA53_38 == HYPERLINK) : - LA53_16 = self.input.LA(22) + if (LA52_0 == COMMA) : + alt52 = 1 - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(23) - if (LA53_20 == 250) : - LA53_23 = self.input.LA(24) + if alt52 == 1: + # sdl92.g:391:45: ',' statename + pass + char_literal143 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4338) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal143) - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_31 == COMMENT) : - alt53 = 1 - elif (LA53_14 == INT) : - LA53_18 = self.input.LA(8) - if (LA53_18 == R_PAREN) : - LA53_21 = self.input.LA(9) + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4340) + statename144 = self.statename() - if (LA53_21 == COMMA) : - LA53_24 = self.input.LA(10) + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename144.tree) - if (LA53_24 == L_PAREN) : - LA53_26 = self.input.LA(11) - if (LA53_26 == INT) : - LA53_27 = self.input.LA(12) - if (LA53_27 == COMMA) : - LA53_28 = self.input.LA(13) + else: + break #loop52 - if (LA53_28 == INT) : - LA53_29 = self.input.LA(14) - if (LA53_29 == R_PAREN) : - LA53_30 = self.input.LA(15) + self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4344) + end145 = self.end() - if (LA53_30 == 250) : - LA53_31 = self.input.LA(16) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end145.tree) - if (LA53_31 == 254) : - LA53_32 = self.input.LA(17) - if (LA53_32 == 256) : - LA53_33 = self.input.LA(18) + # AST Rewrite + # elements: IGNORESTATES, 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) - if (LA53_33 == INT) : - LA53_35 = self.input.LA(19) - if (LA53_35 == 250) : - LA53_37 = self.input.LA(20) + root_0 = self._adaptor.nil() + # 392:9: -> ^( IGNORESTATES ( statename )+ ) + # sdl92.g:392:17: ^( IGNORESTATES ( statename )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_IGNORESTATES.nextNode() + , root_1) - if (LA53_37 == 254) : - LA53_39 = self.input.LA(21) + # sdl92.g:392:32: ( statename )+ + if not (stream_statename.hasNext()): + raise RewriteEarlyExitException() - if (LA53_39 == KEEP) : - LA53_34 = self.input.LA(22) + while stream_statename.hasNext(): + self._adaptor.addChild(root_1, stream_statename.nextTree()) - if (LA53_34 == SPECIFIC) : - LA53_36 = self.input.LA(23) - if (LA53_36 == GEODE) : - LA53_38 = self.input.LA(24) + stream_statename.reset() - if (LA53_38 == HYPERLINK) : - LA53_16 = self.input.LA(25) + self._adaptor.addChild(root_0, root_1) - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(26) - if (LA53_20 == 250) : - LA53_23 = self.input.LA(27) - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_37 == COMMENT) : - alt53 = 1 - elif (LA53_32 == KEEP) : - LA53_34 = self.input.LA(18) - if (LA53_34 == SPECIFIC) : - LA53_36 = self.input.LA(19) + retval.tree = root_0 - if (LA53_36 == GEODE) : - LA53_38 = self.input.LA(20) - if (LA53_38 == HYPERLINK) : - LA53_16 = self.input.LA(21) - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(22) - if (LA53_20 == 250) : - LA53_23 = self.input.LA(23) + elif alt54 == 3: + # sdl92.g:393:19: SUCCESSSTATES statename ( ',' statename )* end + pass + SUCCESSSTATES146 = self.match(self.input, SUCCESSSTATES, self.FOLLOW_SUCCESSSTATES_in_observer_special_states_declaration4386) + if self._state.backtracking == 0: + stream_SUCCESSSTATES.add(SUCCESSSTATES146) - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_31 == COMMENT) : - alt53 = 1 - elif (LA53_7 == INT) : - LA53_11 = self.input.LA(5) - if (LA53_11 == COMMA) : - LA53_14 = self.input.LA(6) + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4389) + statename147 = self.statename() - if (LA53_14 == DASH) : - LA53_17 = self.input.LA(7) + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename147.tree) - if (LA53_17 == INT) : - LA53_18 = self.input.LA(8) - if (LA53_18 == R_PAREN) : - LA53_21 = self.input.LA(9) + # sdl92.g:393:44: ( ',' statename )* + while True: #loop53 + alt53 = 2 + LA53_0 = self.input.LA(1) - if (LA53_21 == COMMA) : - LA53_24 = self.input.LA(10) + if (LA53_0 == COMMA) : + alt53 = 1 - if (LA53_24 == L_PAREN) : - LA53_26 = self.input.LA(11) - if (LA53_26 == INT) : - LA53_27 = self.input.LA(12) + if alt53 == 1: + # sdl92.g:393:45: ',' statename + pass + char_literal148 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4392) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal148) - if (LA53_27 == COMMA) : - LA53_28 = self.input.LA(13) - if (LA53_28 == INT) : - LA53_29 = self.input.LA(14) + self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4394) + statename149 = self.statename() - if (LA53_29 == R_PAREN) : - LA53_30 = self.input.LA(15) + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename149.tree) - if (LA53_30 == 250) : - LA53_31 = self.input.LA(16) - if (LA53_31 == 254) : - LA53_32 = self.input.LA(17) - if (LA53_32 == 256) : - LA53_33 = self.input.LA(18) + else: + break #loop53 - if (LA53_33 == INT) : - LA53_35 = self.input.LA(19) - if (LA53_35 == 250) : - LA53_37 = self.input.LA(20) + self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4398) + end150 = self.end() - if (LA53_37 == 254) : - LA53_39 = self.input.LA(21) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end150.tree) - if (LA53_39 == KEEP) : - LA53_34 = self.input.LA(22) - if (LA53_34 == SPECIFIC) : - LA53_36 = self.input.LA(23) + # AST Rewrite + # elements: SUCCESSSTATES, 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) - if (LA53_36 == GEODE) : - LA53_38 = self.input.LA(24) - if (LA53_38 == HYPERLINK) : - LA53_16 = self.input.LA(25) + root_0 = self._adaptor.nil() + # 394:9: -> ^( SUCCESSSTATES ( statename )+ ) + # sdl92.g:394:17: ^( SUCCESSSTATES ( statename )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_SUCCESSSTATES.nextNode() + , root_1) - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(26) + # sdl92.g:394:33: ( statename )+ + if not (stream_statename.hasNext()): + raise RewriteEarlyExitException() - if (LA53_20 == 250) : - LA53_23 = self.input.LA(27) + while stream_statename.hasNext(): + self._adaptor.addChild(root_1, stream_statename.nextTree()) - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_37 == COMMENT) : - alt53 = 1 - elif (LA53_32 == KEEP) : - LA53_34 = self.input.LA(18) - if (LA53_34 == SPECIFIC) : - LA53_36 = self.input.LA(19) + stream_statename.reset() - if (LA53_36 == GEODE) : - LA53_38 = self.input.LA(20) + self._adaptor.addChild(root_0, root_1) - if (LA53_38 == HYPERLINK) : - LA53_16 = self.input.LA(21) - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(22) - if (LA53_20 == 250) : - LA53_23 = self.input.LA(23) - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_31 == COMMENT) : - alt53 = 1 - elif (LA53_14 == INT) : - LA53_18 = self.input.LA(7) + retval.tree = root_0 - if (LA53_18 == R_PAREN) : - LA53_21 = self.input.LA(8) - if (LA53_21 == COMMA) : - LA53_24 = self.input.LA(9) - if (LA53_24 == L_PAREN) : - LA53_26 = self.input.LA(10) - if (LA53_26 == INT) : - LA53_27 = self.input.LA(11) + retval.stop = self.input.LT(-1) - if (LA53_27 == COMMA) : - LA53_28 = self.input.LA(12) - if (LA53_28 == INT) : - LA53_29 = self.input.LA(13) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA53_29 == R_PAREN) : - LA53_30 = self.input.LA(14) - if (LA53_30 == 250) : - LA53_31 = self.input.LA(15) - if (LA53_31 == 254) : - LA53_32 = self.input.LA(16) + success = True - if (LA53_32 == 256) : - LA53_33 = self.input.LA(17) + 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) - if (LA53_33 == INT) : - LA53_35 = self.input.LA(18) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 22, observer_special_states_declaration_StartIndex, success) - if (LA53_35 == 250) : - LA53_37 = self.input.LA(19) - if (LA53_37 == 254) : - LA53_39 = self.input.LA(20) + pass + return retval - if (LA53_39 == KEEP) : - LA53_34 = self.input.LA(21) + # $ANTLR end "observer_special_states_declaration" - if (LA53_34 == SPECIFIC) : - LA53_36 = self.input.LA(22) - if (LA53_36 == GEODE) : - LA53_38 = self.input.LA(23) + class timer_declaration_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA53_38 == HYPERLINK) : - LA53_16 = self.input.LA(24) + self.tree = None - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(25) - if (LA53_20 == 250) : - LA53_23 = self.input.LA(26) - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_37 == COMMENT) : - alt53 = 1 - elif (LA53_32 == KEEP) : - LA53_34 = self.input.LA(17) - if (LA53_34 == SPECIFIC) : - LA53_36 = self.input.LA(18) - if (LA53_36 == GEODE) : - LA53_38 = self.input.LA(19) + # $ANTLR start "timer_declaration" + # sdl92.g:398: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) - if (LA53_38 == HYPERLINK) : - LA53_16 = self.input.LA(20) + timer_declaration_StartIndex = self.input.index() - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(21) + root_0 = None - if (LA53_20 == 250) : - LA53_23 = self.input.LA(22) + TIMER151 = None + char_literal153 = None + timer_id152 = None + timer_id154 = None + end155 = None - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_31 == COMMENT) : - alt53 = 1 - elif LA53 in {256}: - LA53_5 = self.input.LA(3) + TIMER151_tree = None + char_literal153_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") + success = False - if (LA53_5 == INT) : - LA53_8 = self.input.LA(4) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 23): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA53_8 == 250) : - LA53_12 = self.input.LA(5) - if (LA53_12 == 254) : - LA53_15 = self.input.LA(6) + # sdl92.g:399:9: ( TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ) + # sdl92.g:399:17: TIMER timer_id ( ',' timer_id )* end + pass + TIMER151 = self.match(self.input, TIMER, self.FOLLOW_TIMER_in_timer_declaration4452) + if self._state.backtracking == 0: + stream_TIMER.add(TIMER151) - if (LA53_15 == KEEP) : - LA53_19 = self.input.LA(7) - if (LA53_19 == SPECIFIC) : - LA53_22 = self.input.LA(8) + self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration4454) + timer_id152 = self.timer_id() - if (LA53_22 == GEODE) : - LA53_25 = self.input.LA(9) + self._state.following.pop() + if self._state.backtracking == 0: + stream_timer_id.add(timer_id152.tree) - if (LA53_25 == HYPERLINK) : - LA53_16 = self.input.LA(10) - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(11) + # sdl92.g:400:17: ( ',' timer_id )* + while True: #loop55 + alt55 = 2 + LA55_0 = self.input.LA(1) - if (LA53_20 == 250) : - LA53_23 = self.input.LA(12) + if (LA55_0 == COMMA) : + alt55 = 1 - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_12 == COMMENT) : - alt53 = 1 - elif LA53 in {KEEP}: - LA53_6 = self.input.LA(3) - if (LA53_6 == SPECIFIC) : - LA53_9 = self.input.LA(4) + if alt55 == 1: + # sdl92.g:400:18: ',' timer_id + pass + char_literal153 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_timer_declaration4473) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal153) - if (LA53_9 == GEODE) : - LA53_13 = self.input.LA(5) - if (LA53_13 == HYPERLINK) : - LA53_16 = self.input.LA(6) + self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration4475) + timer_id154 = self.timer_id() - if (LA53_16 == STRING) : - LA53_20 = self.input.LA(7) + self._state.following.pop() + if self._state.backtracking == 0: + stream_timer_id.add(timer_id154.tree) - if (LA53_20 == 250) : - LA53_23 = self.input.LA(8) - if (LA53_23 == COMMENT) : - alt53 = 1 - elif (LA53_0 in {COMMENT, SEMI}) : - alt53 = 1 - if alt53 == 1: - # sdl92.g:341:22: end - pass - self._state.following.append(self.FOLLOW_end_in_procedure_result3750) - end118 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end118.tree) + else: + break #loop55 + self._state.following.append(self.FOLLOW_end_in_timer_declaration4495) + end155 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end155.tree) # AST Rewrite - # elements: RETURNS, variable_id, sort + # elements: TIMER, timer_id # token labels: # rule labels: retval # token list labels: @@ -6304,21 +5986,22 @@ def procedure_result(self, ): root_0 = self._adaptor.nil() - # 342:9: -> ^( RETURNS ( variable_id )? sort ) - # sdl92.g:342:17: ^( RETURNS ( variable_id )? sort ) + # 402:9: -> ^( TIMER ( timer_id )+ ) + # sdl92.g:402:17: ^( TIMER ( timer_id )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_RETURNS.nextNode() + stream_TIMER.nextNode() , root_1) - # sdl92.g:342:27: ( variable_id )? - if stream_variable_id.hasNext(): - self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - + # sdl92.g:402:25: ( timer_id )+ + if not (stream_timer_id.hasNext()): + raise RewriteEarlyExitException() - stream_variable_id.reset(); + while stream_timer_id.hasNext(): + self._adaptor.addChild(root_1, stream_timer_id.nextTree()) - self._adaptor.addChild(root_1, stream_sort.nextTree()) + + stream_timer_id.reset() self._adaptor.addChild(root_0, root_1) @@ -6340,19 +6023,25 @@ def procedure_result(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 23, timer_declaration_StartIndex, success) + + pass return retval - # $ANTLR end "procedure_result" + # $ANTLR end "timer_declaration" - class fpar_return(ParserRuleReturnScope): + class syntype_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -6362,85 +6051,177 @@ def __init__(self): - # $ANTLR start "fpar" - # sdl92.g:346:1: fpar : FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ; - def fpar(self, ): - retval = self.fpar_return() + # $ANTLR start "syntype_definition" + # sdl92.g:406: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) + syntype_definition_StartIndex = self.input.index() root_0 = None - FPAR119 = None - char_literal121 = None - formal_variable_param120 = None - formal_variable_param122 = None - end123 = None - - FPAR119_tree = None - char_literal121_tree = None + SYNTYPE156 = None + char_literal158 = None + CONSTANTS160 = None + char_literal162 = None + ENDSYNTYPE164 = None + syntype_name157 = None + parent_sort159 = None + range_condition161 = None + range_condition163 = None + syntype_name165 = None + end166 = None + + SYNTYPE156_tree = None + char_literal158_tree = None + CONSTANTS160_tree = None + char_literal162_tree = None + ENDSYNTYPE164_tree = None stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_FPAR = RewriteRuleTokenStream(self._adaptor, "token FPAR") + 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_formal_variable_param = RewriteRuleSubtreeStream(self._adaptor, "rule formal_variable_param") + stream_syntype_name = RewriteRuleSubtreeStream(self._adaptor, "rule syntype_name") + success = False + try: try: - # sdl92.g:347:9: ( FPAR formal_variable_param ( ',' formal_variable_param )* end -> ^( FPAR ( formal_variable_param )+ ) ) - # sdl92.g:347:17: FPAR formal_variable_param ( ',' formal_variable_param )* end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 24): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:407:9: ( SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) ) + # sdl92.g:407:17: SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end pass - FPAR119 = self.match(self.input, FPAR, self.FOLLOW_FPAR_in_fpar3807) + SYNTYPE156 = self.match(self.input, SYNTYPE, self.FOLLOW_SYNTYPE_in_syntype_definition4549) if self._state.backtracking == 0: - stream_FPAR.add(FPAR119) + stream_SYNTYPE.add(SYNTYPE156) - self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3809) - formal_variable_param120 = self.formal_variable_param() + self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4551) + syntype_name157 = self.syntype_name() self._state.following.pop() if self._state.backtracking == 0: - stream_formal_variable_param.add(formal_variable_param120.tree) + stream_syntype_name.add(syntype_name157.tree) - # sdl92.g:348:17: ( ',' formal_variable_param )* - while True: #loop54 - alt54 = 2 - LA54_0 = self.input.LA(1) + char_literal158 = self.match(self.input, EQ, self.FOLLOW_EQ_in_syntype_definition4553) + if self._state.backtracking == 0: + stream_EQ.add(char_literal158) - if (LA54_0 == COMMA) : - alt54 = 1 + self._state.following.append(self.FOLLOW_parent_sort_in_syntype_definition4555) + parent_sort159 = self.parent_sort() - if alt54 == 1: - # sdl92.g:348:18: ',' formal_variable_param - pass - char_literal121 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_fpar3828) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal121) + self._state.following.pop() + if self._state.backtracking == 0: + stream_parent_sort.add(parent_sort159.tree) - self._state.following.append(self.FOLLOW_formal_variable_param_in_fpar3830) - formal_variable_param122 = self.formal_variable_param() + # sdl92.g:408:17: ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? + alt57 = 2 + LA57_0 = self.input.LA(1) + + if (LA57_0 == CONSTANTS) : + alt57 = 1 + if alt57 == 1: + # sdl92.g:408:18: CONSTANTS ( range_condition ( ',' range_condition )* ) + pass + CONSTANTS160 = self.match(self.input, CONSTANTS, self.FOLLOW_CONSTANTS_in_syntype_definition4574) + if self._state.backtracking == 0: + stream_CONSTANTS.add(CONSTANTS160) - self._state.following.pop() - if self._state.backtracking == 0: - stream_formal_variable_param.add(formal_variable_param122.tree) + # sdl92.g:408:28: ( range_condition ( ',' range_condition )* ) + # sdl92.g:408:29: range_condition ( ',' range_condition )* + pass + self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4577) + range_condition161 = self.range_condition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_range_condition.add(range_condition161.tree) + + + # sdl92.g:408:45: ( ',' range_condition )* + while True: #loop56 + alt56 = 2 + LA56_0 = self.input.LA(1) + + if (LA56_0 == COMMA) : + alt56 = 1 + + + if alt56 == 1: + # sdl92.g:408:46: ',' range_condition + pass + char_literal162 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_syntype_definition4580) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal162) + + + self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4582) + range_condition163 = self.range_condition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_range_condition.add(range_condition163.tree) + + + + else: + break #loop56 - else: - break #loop54 - self._state.following.append(self.FOLLOW_end_in_fpar3850) - end123 = self.end() + + + + + + ENDSYNTYPE164 = self.match(self.input, ENDSYNTYPE, self.FOLLOW_ENDSYNTYPE_in_syntype_definition4606) + if self._state.backtracking == 0: + stream_ENDSYNTYPE.add(ENDSYNTYPE164) + + + # sdl92.g:409:28: ( syntype_name )? + alt58 = 2 + LA58_0 = self.input.LA(1) + + if (LA58_0 == ID) : + alt58 = 1 + if alt58 == 1: + # sdl92.g:409:28: syntype_name + pass + self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4608) + syntype_name165 = self.syntype_name() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_syntype_name.add(syntype_name165.tree) + + + + + + self._state.following.append(self.FOLLOW_end_in_syntype_definition4611) + end166 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end123.tree) + stream_end.add(end166.tree) # AST Rewrite - # elements: FPAR, formal_variable_param + # elements: SYNTYPE, syntype_name, parent_sort, range_condition # token labels: # rule labels: retval # token list labels: @@ -6455,22 +6236,23 @@ def fpar(self, ): root_0 = self._adaptor.nil() - # 350:9: -> ^( FPAR ( formal_variable_param )+ ) - # sdl92.g:350:17: ^( FPAR ( formal_variable_param )+ ) + # 410:9: -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) + # sdl92.g:410:17: ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_FPAR.nextNode() + stream_SYNTYPE.nextNode() , root_1) - # sdl92.g:350:24: ( formal_variable_param )+ - if not (stream_formal_variable_param.hasNext()): - raise RewriteEarlyExitException() + self._adaptor.addChild(root_1, stream_syntype_name.nextTree()) - while stream_formal_variable_param.hasNext(): - self._adaptor.addChild(root_1, stream_formal_variable_param.nextTree()) + self._adaptor.addChild(root_1, stream_parent_sort.nextTree()) + # sdl92.g:410:52: ( range_condition )* + while stream_range_condition.hasNext(): + self._adaptor.addChild(root_1, stream_range_condition.nextTree()) - stream_formal_variable_param.reset() + + stream_range_condition.reset(); self._adaptor.addChild(root_0, root_1) @@ -6492,19 +6274,25 @@ def fpar(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 24, syntype_definition_StartIndex, success) + + pass return retval - # $ANTLR end "fpar" + # $ANTLR end "syntype_definition" - class formal_variable_param_return(ParserRuleReturnScope): + class syntype_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -6514,191 +6302,117 @@ def __init__(self): - # $ANTLR start "formal_variable_param" - # sdl92.g:354: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() + # $ANTLR start "syntype_name" + # sdl92.g:414:1: syntype_name : sort ; + def syntype_name(self, ): + retval = self.syntype_name_return() retval.start = self.input.LT(1) + syntype_name_StartIndex = self.input.index() root_0 = None - INOUT124 = None - IN125 = None - OUT126 = None - char_literal128 = None - variable_id127 = None - variable_id129 = None - sort130 = None - - INOUT124_tree = None - IN125_tree = None - OUT126_tree = None - char_literal128_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:355:9: ( ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) ) - # sdl92.g:355:17: ( INOUT | IN | OUT )? variable_id ( ',' variable_id )* sort - pass - # sdl92.g:355:17: ( INOUT | IN | OUT )? - alt55 = 4 - LA55 = self.input.LA(1) - if LA55 in {INOUT}: - alt55 = 1 - elif LA55 in {IN}: - alt55 = 2 - elif LA55 in {OUT}: - alt55 = 3 - if alt55 == 1: - # sdl92.g:355:18: INOUT - pass - INOUT124 = self.match(self.input, INOUT, self.FOLLOW_INOUT_in_formal_variable_param3905) - if self._state.backtracking == 0: - stream_INOUT.add(INOUT124) - - - - elif alt55 == 2: - # sdl92.g:355:26: IN - pass - IN125 = self.match(self.input, IN, self.FOLLOW_IN_in_formal_variable_param3909) - if self._state.backtracking == 0: - stream_IN.add(IN125) - + sort167 = None - elif alt55 == 3: - # sdl92.g:355:31: OUT - pass - OUT126 = self.match(self.input, OUT, self.FOLLOW_OUT_in_formal_variable_param3913) - if self._state.backtracking == 0: - stream_OUT.add(OUT126) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 25): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:415:9: ( sort ) + # sdl92.g:415:17: sort + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3933) - variable_id127 = self.variable_id() + self._state.following.append(self.FOLLOW_sort_in_syntype_name4669) + sort167 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_variable_id.add(variable_id127.tree) - + self._adaptor.addChild(root_0, sort167.tree) - # sdl92.g:356:29: ( ',' variable_id )* - while True: #loop56 - alt56 = 2 - LA56_0 = self.input.LA(1) - if (LA56_0 == COMMA) : - alt56 = 1 - if alt56 == 1: - # sdl92.g:356:30: ',' variable_id - pass - char_literal128 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_formal_variable_param3936) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal128) - - - self._state.following.append(self.FOLLOW_variable_id_in_formal_variable_param3938) - variable_id129 = self.variable_id() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_id.add(variable_id129.tree) - + retval.stop = self.input.LT(-1) - else: - break #loop56 + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - self._state.following.append(self.FOLLOW_sort_in_formal_variable_param3942) - sort130 = self.sort() - self._state.following.pop() - if self._state.backtracking == 0: - stream_sort.add(sort130.tree) + success = True + 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) - # 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) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 25, syntype_name_StartIndex, success) - root_0 = self._adaptor.nil() - # 357:9: -> ^( PARAM ( INOUT )? ( IN )? ( OUT )? ( variable_id )+ sort ) - # sdl92.g:357: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) + pass + return retval - # sdl92.g:357:25: ( INOUT )? - if stream_INOUT.hasNext(): - self._adaptor.addChild(root_1, - stream_INOUT.nextNode() - ) + # $ANTLR end "syntype_name" - stream_INOUT.reset(); + class parent_sort_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - # sdl92.g:357:32: ( IN )? - if stream_IN.hasNext(): - self._adaptor.addChild(root_1, - stream_IN.nextNode() - ) + self.tree = None - stream_IN.reset(); - # sdl92.g:357:36: ( OUT )? - if stream_OUT.hasNext(): - self._adaptor.addChild(root_1, - stream_OUT.nextNode() - ) - stream_OUT.reset(); + # $ANTLR start "parent_sort" + # sdl92.g:419:1: parent_sort : sort ; + def parent_sort(self, ): + retval = self.parent_sort_return() + retval.start = self.input.LT(1) - # sdl92.g:357:41: ( variable_id )+ - if not (stream_variable_id.hasNext()): - raise RewriteEarlyExitException() + parent_sort_StartIndex = self.input.index() - while stream_variable_id.hasNext(): - self._adaptor.addChild(root_1, stream_variable_id.nextTree()) + root_0 = None + sort168 = None - stream_variable_id.reset() - self._adaptor.addChild(root_1, stream_sort.nextTree()) + success = False - self._adaptor.addChild(root_0, root_1) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 26): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:420:9: ( sort ) + # sdl92.g:420:17: sort + pass + root_0 = self._adaptor.nil() - retval.tree = root_0 + self._state.following.append(self.FOLLOW_sort_in_parent_sort4701) + sort168 = self.sort() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, sort168.tree) @@ -6712,19 +6426,25 @@ def formal_variable_param(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 26, parent_sort_StartIndex, success) + + pass return retval - # $ANTLR end "formal_variable_param" + # $ANTLR end "parent_sort" - class text_area_return(ParserRuleReturnScope): + class newtype_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -6734,223 +6454,142 @@ def __init__(self): - # $ANTLR start "text_area" - # sdl92.g:362:1: text_area : ( requirement )* ( rid )* ( partition )? cif ( symbolid )? ( content )? cif_end_text -> ^( TEXTAREA cif ( symbolid )? ( requirement )* ( rid )* ( partition )? ( content )? cif_end_text ) ; - def text_area(self, ): - retval = self.text_area_return() + # $ANTLR start "newtype_definition" + # sdl92.g:424:1: newtype_definition : NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) ; + def newtype_definition(self, ): + retval = self.newtype_definition_return() retval.start = self.input.LT(1) + newtype_definition_StartIndex = self.input.index() root_0 = None - requirement131 = None - rid132 = None - partition133 = None - cif134 = None - symbolid135 = None - content136 = None - cif_end_text137 = None + NEWTYPE169 = None + ENDNEWTYPE174 = None + type_name170 = None + array_definition171 = None + structure_definition172 = None + enum_definition173 = None + type_name175 = None + end176 = None + + NEWTYPE169_tree = None + ENDNEWTYPE174_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") + stream_enum_definition = RewriteRuleSubtreeStream(self._adaptor, "rule enum_definition") + success = False - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_cif_end_text = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end_text") - stream_partition = RewriteRuleSubtreeStream(self._adaptor, "rule partition") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_content = RewriteRuleSubtreeStream(self._adaptor, "rule content") try: try: - # sdl92.g:363:9: ( ( requirement )* ( rid )* ( partition )? cif ( symbolid )? ( content )? cif_end_text -> ^( TEXTAREA cif ( symbolid )? ( requirement )* ( rid )* ( partition )? ( content )? cif_end_text ) ) - # sdl92.g:363:17: ( requirement )* ( rid )* ( partition )? cif ( symbolid )? ( content )? cif_end_text + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 27): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:425:9: ( NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) ) + # sdl92.g:425:17: NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end pass - # sdl92.g:363:17: ( requirement )* - while True: #loop57 - alt57 = 2 - LA57_0 = self.input.LA(1) + NEWTYPE169 = self.match(self.input, NEWTYPE, self.FOLLOW_NEWTYPE_in_newtype_definition4733) + if self._state.backtracking == 0: + stream_NEWTYPE.add(NEWTYPE169) - if (LA57_0 == 254) : - LA57_1 = self.input.LA(2) - if (LA57_1 == KEEP) : - LA57_2 = self.input.LA(3) + self._state.following.append(self.FOLLOW_type_name_in_newtype_definition4735) + type_name170 = self.type_name() - if (LA57_2 == SPECIFIC) : - LA57_4 = self.input.LA(4) + self._state.following.pop() + if self._state.backtracking == 0: + stream_type_name.add(type_name170.tree) - if (LA57_4 == GEODE) : - LA57_5 = self.input.LA(5) - if (LA57_5 == REQ_ID) : - alt57 = 1 + # sdl92.g:426:17: ( array_definition | structure_definition | enum_definition )? + alt59 = 4 + LA59 = self.input.LA(1) + if LA59 in {ARRAY}: + alt59 = 1 + elif LA59 in {STRUCT}: + alt59 = 2 + elif LA59 in {LITERALS}: + alt59 = 3 + if alt59 == 1: + # sdl92.g:426:18: array_definition + pass + self._state.following.append(self.FOLLOW_array_definition_in_newtype_definition4754) + array_definition171 = self.array_definition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_array_definition.add(array_definition171.tree) + elif alt59 == 2: + # sdl92.g:426:35: structure_definition + pass + self._state.following.append(self.FOLLOW_structure_definition_in_newtype_definition4756) + structure_definition172 = self.structure_definition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_structure_definition.add(structure_definition172.tree) + elif alt59 == 3: + # sdl92.g:426:56: enum_definition + pass + self._state.following.append(self.FOLLOW_enum_definition_in_newtype_definition4758) + enum_definition173 = self.enum_definition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_enum_definition.add(enum_definition173.tree) - if alt57 == 1: - # sdl92.g:363:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_text_area4008) - requirement131 = self.requirement() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement131.tree) - - - - else: - break #loop57 - - - # sdl92.g:364:17: ( rid )* - while True: #loop58 - alt58 = 2 - LA58_0 = self.input.LA(1) - - if (LA58_0 == 254) : - LA58_1 = self.input.LA(2) - - if (LA58_1 == KEEP) : - LA58_2 = self.input.LA(3) - - if (LA58_2 == SPECIFIC) : - LA58_4 = self.input.LA(4) - - if (LA58_4 == GEODE) : - LA58_5 = self.input.LA(5) - - if (LA58_5 == RID_ID) : - alt58 = 1 - - - - - - - - - - - if alt58 == 1: - # sdl92.g:364:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_text_area4027) - rid132 = self.rid() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid132.tree) - - - - else: - break #loop58 - # sdl92.g:365:17: ( partition )? - alt59 = 2 - LA59_0 = self.input.LA(1) - if (LA59_0 == 254) : - LA59_1 = self.input.LA(2) - if (LA59_1 == KEEP) : - alt59 = 1 - if alt59 == 1: - # sdl92.g:365:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_text_area4046) - partition133 = self.partition() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition133.tree) - - - - - - self._state.following.append(self.FOLLOW_cif_in_text_area4065) - cif134 = self.cif() - - self._state.following.pop() + ENDNEWTYPE174 = self.match(self.input, ENDNEWTYPE, self.FOLLOW_ENDNEWTYPE_in_newtype_definition4778) if self._state.backtracking == 0: - stream_cif.add(cif134.tree) + stream_ENDNEWTYPE.add(ENDNEWTYPE174) - # sdl92.g:367:17: ( symbolid )? + # sdl92.g:427:28: ( type_name )? alt60 = 2 LA60_0 = self.input.LA(1) - if (LA60_0 == 254) : - LA60_1 = self.input.LA(2) - - if (LA60_1 == 256) : - LA60_3 = self.input.LA(3) - - if (LA60_3 == INT) : - LA60_4 = self.input.LA(4) - - if (LA60_4 == 250) : - LA60_5 = self.input.LA(5) - - if (self.synpred74_sdl92()) : - alt60 = 1 + if (LA60_0 == ID) : + alt60 = 1 if alt60 == 1: - # sdl92.g:367:17: symbolid + # sdl92.g:427:28: type_name pass - self._state.following.append(self.FOLLOW_symbolid_in_text_area4083) - symbolid135 = self.symbolid() + self._state.following.append(self.FOLLOW_type_name_in_newtype_definition4780) + type_name175 = self.type_name() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid135.tree) + stream_type_name.add(type_name175.tree) - # sdl92.g:368:17: ( content )? - alt61 = 2 - LA61_0 = self.input.LA(1) - - if (LA61_0 == 254) : - LA61_1 = self.input.LA(2) - - if (self.synpred75_sdl92()) : - alt61 = 1 - elif (LA61_0 in {DCL, ERRORSTATES, EXPORTED, FPAR, IGNORESTATES, MONITOR, NEWTYPE, PROCEDURE, RETURNS, SIGNAL, SUCCESSSTATES, SYNONYM, SYNTYPE, TIMER, USE, 252}) : - alt61 = 1 - if alt61 == 1: - # sdl92.g:368:17: content - pass - self._state.following.append(self.FOLLOW_content_in_text_area4102) - content136 = self.content() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_content.add(content136.tree) - - - - - - self._state.following.append(self.FOLLOW_cif_end_text_in_text_area4121) - cif_end_text137 = self.cif_end_text() + self._state.following.append(self.FOLLOW_end_in_newtype_definition4783) + end176 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end_text.add(cif_end_text137.tree) + stream_end.add(end176.tree) # AST Rewrite - # elements: cif, symbolid, requirement, rid, partition, content, cif_end_text + # elements: NEWTYPE, type_name, array_definition, structure_definition, enum_definition # token labels: # rule labels: retval # token list labels: @@ -6965,51 +6604,35 @@ def text_area(self, ): root_0 = self._adaptor.nil() - # 370:9: -> ^( TEXTAREA cif ( symbolid )? ( requirement )* ( rid )* ( partition )? ( content )? cif_end_text ) - # sdl92.g:370:17: ^( TEXTAREA cif ( symbolid )? ( requirement )* ( rid )* ( partition )? ( content )? cif_end_text ) + # 428:9: -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) + # sdl92.g:428:17: ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TEXTAREA, "TEXTAREA") + stream_NEWTYPE.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_cif.nextTree()) - - # sdl92.g:370:32: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:370:42: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); - - # sdl92.g:370:55: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + self._adaptor.addChild(root_1, stream_type_name.nextTree()) + # sdl92.g:428:37: ( array_definition )* + while stream_array_definition.hasNext(): + self._adaptor.addChild(root_1, stream_array_definition.nextTree()) - stream_rid.reset(); - # sdl92.g:370:61: ( partition )? - if stream_partition.hasNext(): - self._adaptor.addChild(root_1, stream_partition.nextTree()) + stream_array_definition.reset(); + # sdl92.g:428:55: ( structure_definition )* + while stream_structure_definition.hasNext(): + self._adaptor.addChild(root_1, stream_structure_definition.nextTree()) - stream_partition.reset(); - # sdl92.g:370:72: ( content )? - if stream_content.hasNext(): - self._adaptor.addChild(root_1, stream_content.nextTree()) + stream_structure_definition.reset(); + # sdl92.g:428:77: ( enum_definition )* + while stream_enum_definition.hasNext(): + self._adaptor.addChild(root_1, stream_enum_definition.nextTree()) - stream_content.reset(); - self._adaptor.addChild(root_1, stream_cif_end_text.nextTree()) + stream_enum_definition.reset(); self._adaptor.addChild(root_0, root_1) @@ -7031,19 +6654,25 @@ def text_area(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 27, newtype_definition_StartIndex, success) + + pass return retval - # $ANTLR end "text_area" + # $ANTLR end "newtype_definition" - class content_return(ParserRuleReturnScope): + class type_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -7053,262 +6682,166 @@ def __init__(self): - # $ANTLR start "content" - # sdl92.g:376:1: content : ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) ; - def content(self, ): - retval = self.content_return() + # $ANTLR start "type_name" + # sdl92.g:432:1: type_name : sort ; + def type_name(self, ): + retval = self.type_name_return() retval.start = self.input.LT(1) + type_name_StartIndex = self.input.index() root_0 = None - res = None - procedure138 = None - use_clause139 = None - signal_declaration140 = None - fpar141 = None - timer_declaration142 = None - syntype_definition143 = None - newtype_definition144 = None - variable_definition145 = None - monitor_definition146 = None - observer_special_states_declaration147 = None - synonym_definition148 = None - - stream_syntype_definition = RewriteRuleSubtreeStream(self._adaptor, "rule syntype_definition") - stream_variable_definition = RewriteRuleSubtreeStream(self._adaptor, "rule variable_definition") - stream_use_clause = RewriteRuleSubtreeStream(self._adaptor, "rule use_clause") - stream_signal_declaration = RewriteRuleSubtreeStream(self._adaptor, "rule signal_declaration") - stream_timer_declaration = RewriteRuleSubtreeStream(self._adaptor, "rule timer_declaration") - stream_newtype_definition = RewriteRuleSubtreeStream(self._adaptor, "rule newtype_definition") - stream_monitor_definition = RewriteRuleSubtreeStream(self._adaptor, "rule monitor_definition") - stream_observer_special_states_declaration = RewriteRuleSubtreeStream(self._adaptor, "rule observer_special_states_declaration") - 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:377:9: ( ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) ) - # sdl92.g:377:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* - pass - # sdl92.g:377:18: ( procedure | use_clause | signal_declaration | fpar |res= procedure_result | timer_declaration | syntype_definition | newtype_definition | variable_definition | monitor_definition | observer_special_states_declaration | synonym_definition )* - while True: #loop62 - alt62 = 13 - LA62 = self.input.LA(1) - if LA62 in {254}: - LA62_1 = self.input.LA(2) - - if (LA62_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : - alt62 = 1 - elif (LA62_1 == KEEP) : - LA62_15 = self.input.LA(3) - - if (LA62_15 == SPECIFIC) : - LA62_16 = self.input.LA(4) - - if (LA62_16 == GEODE) : - LA62 = self.input.LA(5) - if LA62 in {PARTITION, REQ_ID, RID_ID}: - alt62 = 1 - elif LA62 in {ASNFILENAME}: - alt62 = 2 - elif LA62 in {PARAMNAMES}: - alt62 = 3 - - - - - - - - elif LA62 in {EXPORTED, PROCEDURE}: - alt62 = 1 - elif LA62 in {USE}: - alt62 = 2 - elif LA62 in {SIGNAL}: - alt62 = 3 - elif LA62 in {FPAR}: - alt62 = 4 - elif LA62 in {RETURNS, 252}: - alt62 = 5 - elif LA62 in {TIMER}: - alt62 = 6 - elif LA62 in {SYNTYPE}: - alt62 = 7 - elif LA62 in {NEWTYPE}: - alt62 = 8 - elif LA62 in {DCL}: - alt62 = 9 - elif LA62 in {MONITOR}: - alt62 = 10 - elif LA62 in {ERRORSTATES, IGNORESTATES, SUCCESSSTATES}: - alt62 = 11 - elif LA62 in {SYNONYM}: - alt62 = 12 + sort177 = None - if alt62 == 1: - # sdl92.g:377:19: procedure - pass - self._state.following.append(self.FOLLOW_procedure_in_content4196) - procedure138 = self.procedure() - self._state.following.pop() - if self._state.backtracking == 0: - stream_procedure.add(procedure138.tree) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 28): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - elif alt62 == 2: - # sdl92.g:378:20: use_clause - pass - self._state.following.append(self.FOLLOW_use_clause_in_content4217) - use_clause139 = self.use_clause() + # sdl92.g:433:9: ( sort ) + # sdl92.g:433:17: sort + pass + root_0 = self._adaptor.nil() - self._state.following.pop() - if self._state.backtracking == 0: - stream_use_clause.add(use_clause139.tree) + self._state.following.append(self.FOLLOW_sort_in_type_name4845) + sort177 = self.sort() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, sort177.tree) - elif alt62 == 3: - # sdl92.g:379:20: signal_declaration - pass - self._state.following.append(self.FOLLOW_signal_declaration_in_content4238) - signal_declaration140 = self.signal_declaration() - self._state.following.pop() - if self._state.backtracking == 0: - stream_signal_declaration.add(signal_declaration140.tree) + retval.stop = self.input.LT(-1) - elif alt62 == 4: - # sdl92.g:380:20: fpar - pass - self._state.following.append(self.FOLLOW_fpar_in_content4259) - fpar141 = self.fpar() - self._state.following.pop() - if self._state.backtracking == 0: - stream_fpar.add(fpar141.tree) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - elif alt62 == 5: - # sdl92.g:381:20: res= procedure_result - pass - self._state.following.append(self.FOLLOW_procedure_result_in_content4282) - res = self.procedure_result() + success = True - self._state.following.pop() - if self._state.backtracking == 0: - stream_procedure_result.add(res.tree) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 28, type_name_StartIndex, success) - elif alt62 == 6: - # sdl92.g:382:20: timer_declaration - pass - self._state.following.append(self.FOLLOW_timer_declaration_in_content4303) - timer_declaration142 = self.timer_declaration() + pass + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_timer_declaration.add(timer_declaration142.tree) + # $ANTLR end "type_name" + class array_definition_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - elif alt62 == 7: - # sdl92.g:383:20: syntype_definition - pass - self._state.following.append(self.FOLLOW_syntype_definition_in_content4324) - syntype_definition143 = self.syntype_definition() + self.tree = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_syntype_definition.add(syntype_definition143.tree) - elif alt62 == 8: - # sdl92.g:384:20: newtype_definition - pass - self._state.following.append(self.FOLLOW_newtype_definition_in_content4345) - newtype_definition144 = self.newtype_definition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_newtype_definition.add(newtype_definition144.tree) + # $ANTLR start "array_definition" + # sdl92.g:437:1: array_definition : ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ; + def array_definition(self, ): + retval = self.array_definition_return() + retval.start = self.input.LT(1) + array_definition_StartIndex = self.input.index() + root_0 = None - elif alt62 == 9: - # sdl92.g:385:20: variable_definition - pass - self._state.following.append(self.FOLLOW_variable_definition_in_content4366) - variable_definition145 = self.variable_definition() + ARRAY178 = None + char_literal179 = None + char_literal181 = None + char_literal183 = None + sort180 = None + sort182 = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_definition.add(variable_definition145.tree) + ARRAY178_tree = None + char_literal179_tree = None + char_literal181_tree = None + char_literal183_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") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 29): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - elif alt62 == 10: - # sdl92.g:386:20: monitor_definition - pass - self._state.following.append(self.FOLLOW_monitor_definition_in_content4387) - monitor_definition146 = self.monitor_definition() + # sdl92.g:438:9: ( ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ) + # sdl92.g:438:17: ARRAY '(' sort ',' sort ')' + pass + ARRAY178 = self.match(self.input, ARRAY, self.FOLLOW_ARRAY_in_array_definition4877) + if self._state.backtracking == 0: + stream_ARRAY.add(ARRAY178) - self._state.following.pop() - if self._state.backtracking == 0: - stream_monitor_definition.add(monitor_definition146.tree) + char_literal179 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_array_definition4879) + if self._state.backtracking == 0: + stream_L_PAREN.add(char_literal179) - elif alt62 == 11: - # sdl92.g:387:20: observer_special_states_declaration - pass - self._state.following.append(self.FOLLOW_observer_special_states_declaration_in_content4408) - observer_special_states_declaration147 = self.observer_special_states_declaration() + self._state.following.append(self.FOLLOW_sort_in_array_definition4881) + sort180 = self.sort() - self._state.following.pop() - if self._state.backtracking == 0: - stream_observer_special_states_declaration.add(observer_special_states_declaration147.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_sort.add(sort180.tree) + char_literal181 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_array_definition4883) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal181) - elif alt62 == 12: - # sdl92.g:388:20: synonym_definition - pass - self._state.following.append(self.FOLLOW_synonym_definition_in_content4429) - synonym_definition148 = self.synonym_definition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_synonym_definition.add(synonym_definition148.tree) + self._state.following.append(self.FOLLOW_sort_in_array_definition4885) + sort182 = self.sort() + self._state.following.pop() + if self._state.backtracking == 0: + stream_sort.add(sort182.tree) - else: - break #loop62 + char_literal183 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_array_definition4887) + if self._state.backtracking == 0: + stream_R_PAREN.add(char_literal183) # AST Rewrite - # elements: fpar, res, procedure, variable_definition, monitor_definition, syntype_definition, newtype_definition, timer_declaration, signal_declaration, use_clause, observer_special_states_declaration, synonym_definition + # elements: ARRAY, sort, sort # token labels: - # rule labels: res, retval + # rule labels: 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: @@ -7316,484 +6849,464 @@ def content(self, ): root_0 = self._adaptor.nil() - # 389:9: -> ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) - # sdl92.g:389:18: ^( TEXTAREA_CONTENT ( fpar )* ( $res)? ( procedure )* ( variable_definition )* ( monitor_definition )* ( syntype_definition )* ( newtype_definition )* ( timer_declaration )* ( signal_declaration )* ( use_clause )* ( observer_special_states_declaration )* ( synonym_definition )* ) + # 439:9: -> ^( ARRAY sort sort ) + # sdl92.g:439:17: ^( ARRAY sort sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TEXTAREA_CONTENT, "TEXTAREA_CONTENT") + stream_ARRAY.nextNode() , root_1) - # sdl92.g:389:37: ( fpar )* - while stream_fpar.hasNext(): - self._adaptor.addChild(root_1, stream_fpar.nextTree()) - + self._adaptor.addChild(root_1, stream_sort.nextTree()) - stream_fpar.reset(); + self._adaptor.addChild(root_1, stream_sort.nextTree()) - # sdl92.g:389:44: ( $res)? - if stream_res.hasNext(): - self._adaptor.addChild(root_1, stream_res.nextTree()) + self._adaptor.addChild(root_0, root_1) - stream_res.reset(); - # sdl92.g:389:49: ( procedure )* - while stream_procedure.hasNext(): - self._adaptor.addChild(root_1, stream_procedure.nextTree()) + retval.tree = root_0 - stream_procedure.reset(); - # sdl92.g:389:60: ( variable_definition )* - while stream_variable_definition.hasNext(): - self._adaptor.addChild(root_1, stream_variable_definition.nextTree()) - stream_variable_definition.reset(); - # sdl92.g:390:20: ( monitor_definition )* - while stream_monitor_definition.hasNext(): - self._adaptor.addChild(root_1, stream_monitor_definition.nextTree()) + retval.stop = self.input.LT(-1) - stream_monitor_definition.reset(); + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - # sdl92.g:390:40: ( syntype_definition )* - while stream_syntype_definition.hasNext(): - self._adaptor.addChild(root_1, stream_syntype_definition.nextTree()) - stream_syntype_definition.reset(); + success = True - # sdl92.g:390:60: ( newtype_definition )* - while stream_newtype_definition.hasNext(): - self._adaptor.addChild(root_1, stream_newtype_definition.nextTree()) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 29, array_definition_StartIndex, success) - stream_newtype_definition.reset(); - # sdl92.g:391:20: ( timer_declaration )* - while stream_timer_declaration.hasNext(): - self._adaptor.addChild(root_1, stream_timer_declaration.nextTree()) + pass + return retval + # $ANTLR end "array_definition" - stream_timer_declaration.reset(); - - # sdl92.g:391:39: ( signal_declaration )* - while stream_signal_declaration.hasNext(): - self._adaptor.addChild(root_1, stream_signal_declaration.nextTree()) + class enum_definition_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - stream_signal_declaration.reset(); + self.tree = None - # sdl92.g:391:59: ( use_clause )* - while stream_use_clause.hasNext(): - self._adaptor.addChild(root_1, stream_use_clause.nextTree()) - stream_use_clause.reset(); - # sdl92.g:392:20: ( observer_special_states_declaration )* - while stream_observer_special_states_declaration.hasNext(): - self._adaptor.addChild(root_1, stream_observer_special_states_declaration.nextTree()) + # $ANTLR start "enum_definition" + # sdl92.g:447:1: enum_definition : ( LITERALS ( enumerant ( ',' enumerant )* ) ) -> ^( LITERALS ( enumerant )+ ) ; + def enum_definition(self, ): + retval = self.enum_definition_return() + retval.start = self.input.LT(1) - stream_observer_special_states_declaration.reset(); + enum_definition_StartIndex = self.input.index() - # sdl92.g:392:57: ( synonym_definition )* - while stream_synonym_definition.hasNext(): - self._adaptor.addChild(root_1, stream_synonym_definition.nextTree()) + root_0 = None + LITERALS184 = None + char_literal186 = None + enumerant185 = None + enumerant187 = None - stream_synonym_definition.reset(); + LITERALS184_tree = None + char_literal186_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_LITERALS = RewriteRuleTokenStream(self._adaptor, "token LITERALS") + stream_enumerant = RewriteRuleSubtreeStream(self._adaptor, "rule enumerant") + success = False - self._adaptor.addChild(root_0, root_1) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 30): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:448:9: ( ( LITERALS ( enumerant ( ',' enumerant )* ) ) -> ^( LITERALS ( enumerant )+ ) ) + # sdl92.g:448:17: ( LITERALS ( enumerant ( ',' enumerant )* ) ) + pass + # sdl92.g:448:17: ( LITERALS ( enumerant ( ',' enumerant )* ) ) + # sdl92.g:448:18: LITERALS ( enumerant ( ',' enumerant )* ) + pass + LITERALS184 = self.match(self.input, LITERALS, self.FOLLOW_LITERALS_in_enum_definition4944) + if self._state.backtracking == 0: + stream_LITERALS.add(LITERALS184) - retval.tree = root_0 + # sdl92.g:448:27: ( enumerant ( ',' enumerant )* ) + # sdl92.g:448:28: enumerant ( ',' enumerant )* + pass + self._state.following.append(self.FOLLOW_enumerant_in_enum_definition4947) + enumerant185 = self.enumerant() + self._state.following.pop() + if self._state.backtracking == 0: + stream_enumerant.add(enumerant185.tree) + # sdl92.g:448:38: ( ',' enumerant )* + while True: #loop61 + alt61 = 2 + LA61_0 = self.input.LA(1) + if (LA61_0 == COMMA) : + alt61 = 1 - retval.stop = self.input.LT(-1) + if alt61 == 1: + # sdl92.g:448:39: ',' enumerant + pass + char_literal186 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_enum_definition4950) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal186) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._state.following.append(self.FOLLOW_enumerant_in_enum_definition4952) + enumerant187 = self.enumerant() + self._state.following.pop() + if self._state.backtracking == 0: + stream_enumerant.add(enumerant187.tree) - 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" + else: + break #loop61 - class observer_special_states_declaration_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None - # $ANTLR start "observer_special_states_declaration" - # sdl92.g:400:1: observer_special_states_declaration : ( ERRORSTATES statename ( ',' statename )* end -> ^( ERRORSTATES ( statename )+ ) | IGNORESTATES statename ( ',' statename )* end -> ^( IGNORESTATES ( statename )+ ) | SUCCESSSTATES statename ( ',' statename )* end -> ^( SUCCESSSTATES ( statename )+ ) ); - def observer_special_states_declaration(self, ): - retval = self.observer_special_states_declaration_return() - retval.start = self.input.LT(1) + # AST Rewrite + # elements: LITERALS, enumerant + # 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 = None + root_0 = self._adaptor.nil() + # 449:9: -> ^( LITERALS ( enumerant )+ ) + # sdl92.g:449:17: ^( LITERALS ( enumerant )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_LITERALS.nextNode() + , root_1) - ERRORSTATES149 = None - char_literal151 = None - IGNORESTATES154 = None - char_literal156 = None - SUCCESSSTATES159 = None - char_literal161 = None - statename150 = None - statename152 = None - end153 = None - statename155 = None - statename157 = None - end158 = None - statename160 = None - statename162 = None - end163 = None - - ERRORSTATES149_tree = None - char_literal151_tree = None - IGNORESTATES154_tree = None - char_literal156_tree = None - SUCCESSSTATES159_tree = None - char_literal161_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_SUCCESSSTATES = RewriteRuleTokenStream(self._adaptor, "token SUCCESSSTATES") - stream_IGNORESTATES = RewriteRuleTokenStream(self._adaptor, "token IGNORESTATES") - stream_ERRORSTATES = RewriteRuleTokenStream(self._adaptor, "token ERRORSTATES") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") - try: - try: - # sdl92.g:401:9: ( ERRORSTATES statename ( ',' statename )* end -> ^( ERRORSTATES ( statename )+ ) | IGNORESTATES statename ( ',' statename )* end -> ^( IGNORESTATES ( statename )+ ) | SUCCESSSTATES statename ( ',' statename )* end -> ^( SUCCESSSTATES ( statename )+ ) ) - alt66 = 3 - LA66 = self.input.LA(1) - if LA66 in {ERRORSTATES}: - alt66 = 1 - elif LA66 in {IGNORESTATES}: - alt66 = 2 - elif LA66 in {SUCCESSSTATES}: - alt66 = 3 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # sdl92.g:449:28: ( enumerant )+ + if not (stream_enumerant.hasNext()): + raise RewriteEarlyExitException() + while stream_enumerant.hasNext(): + self._adaptor.addChild(root_1, stream_enumerant.nextTree()) - nvae = NoViableAltException("", 66, 0, self.input) - raise nvae + stream_enumerant.reset() + self._adaptor.addChild(root_0, root_1) - if alt66 == 1: - # sdl92.g:401:17: ERRORSTATES statename ( ',' statename )* end - pass - ERRORSTATES149 = self.match(self.input, ERRORSTATES, self.FOLLOW_ERRORSTATES_in_observer_special_states_declaration4581) - if self._state.backtracking == 0: - stream_ERRORSTATES.add(ERRORSTATES149) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4588) - statename150 = self.statename() - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename150.tree) + retval.tree = root_0 - # sdl92.g:401:44: ( ',' statename )* - while True: #loop63 - alt63 = 2 - LA63_0 = self.input.LA(1) - if (LA63_0 == COMMA) : - alt63 = 1 - if alt63 == 1: - # sdl92.g:401:45: ',' statename - pass - char_literal151 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4591) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal151) + retval.stop = self.input.LT(-1) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4593) - statename152 = self.statename() + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename152.tree) + success = True - else: - break #loop63 + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 30, enum_definition_StartIndex, success) - self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4597) - end153 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end153.tree) + pass + return retval + # $ANTLR end "enum_definition" - # AST Rewrite - # elements: ERRORSTATES, 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) + class structure_definition_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - root_0 = self._adaptor.nil() - # 402:9: -> ^( ERRORSTATES ( statename )+ ) - # sdl92.g:402:17: ^( ERRORSTATES ( statename )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_ERRORSTATES.nextNode() - , root_1) + self.tree = None - # sdl92.g:402:31: ( 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) + # $ANTLR start "structure_definition" + # sdl92.g:452: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) + structure_definition_StartIndex = self.input.index() + root_0 = None + STRUCT188 = None + field_list189 = None + end190 = None - retval.tree = root_0 + STRUCT188_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") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 31): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:453:9: ( STRUCT field_list end -> ^( STRUCT field_list ) ) + # sdl92.g:453:17: STRUCT field_list end + pass + STRUCT188 = self.match(self.input, STRUCT, self.FOLLOW_STRUCT_in_structure_definition5010) + if self._state.backtracking == 0: + stream_STRUCT.add(STRUCT188) - elif alt66 == 2: - # sdl92.g:403:19: IGNORESTATES statename ( ',' statename )* end - pass - IGNORESTATES154 = self.match(self.input, IGNORESTATES, self.FOLLOW_IGNORESTATES_in_observer_special_states_declaration4639) - if self._state.backtracking == 0: - stream_IGNORESTATES.add(IGNORESTATES154) + self._state.following.append(self.FOLLOW_field_list_in_structure_definition5012) + field_list189 = self.field_list() - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4643) - statename155 = self.statename() + self._state.following.pop() + if self._state.backtracking == 0: + stream_field_list.add(field_list189.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename155.tree) + self._state.following.append(self.FOLLOW_end_in_structure_definition5014) + end190 = self.end() - # sdl92.g:403:44: ( ',' statename )* - while True: #loop64 - alt64 = 2 - LA64_0 = self.input.LA(1) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end190.tree) - if (LA64_0 == COMMA) : - alt64 = 1 + # 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) - if alt64 == 1: - # sdl92.g:403:45: ',' statename - pass - char_literal156 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4646) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal156) + root_0 = self._adaptor.nil() + # 454:9: -> ^( STRUCT field_list ) + # sdl92.g:454:17: ^( STRUCT field_list ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_STRUCT.nextNode() + , root_1) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4648) - statename157 = self.statename() + self._adaptor.addChild(root_1, stream_field_list.nextTree()) - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename157.tree) + self._adaptor.addChild(root_0, root_1) - else: - break #loop64 + retval.tree = root_0 - self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4652) - end158 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end158.tree) - # AST Rewrite - # elements: IGNORESTATES, 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) + retval.stop = self.input.LT(-1) - root_0 = self._adaptor.nil() - # 404:9: -> ^( IGNORESTATES ( statename )+ ) - # sdl92.g:404:17: ^( IGNORESTATES ( statename )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_IGNORESTATES.nextNode() - , root_1) - # sdl92.g:404:32: ( statename )+ - if not (stream_statename.hasNext()): - raise RewriteEarlyExitException() + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - while stream_statename.hasNext(): - self._adaptor.addChild(root_1, stream_statename.nextTree()) - stream_statename.reset() + success = True - self._adaptor.addChild(root_0, root_1) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 31, structure_definition_StartIndex, success) + pass + return retval - retval.tree = root_0 + # $ANTLR end "structure_definition" + class field_list_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - elif alt66 == 3: - # sdl92.g:405:19: SUCCESSSTATES statename ( ',' statename )* end - pass - SUCCESSSTATES159 = self.match(self.input, SUCCESSSTATES, self.FOLLOW_SUCCESSSTATES_in_observer_special_states_declaration4694) - if self._state.backtracking == 0: - stream_SUCCESSSTATES.add(SUCCESSSTATES159) - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4697) - statename160 = self.statename() - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename160.tree) + # $ANTLR start "field_list" + # sdl92.g:458: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) - # sdl92.g:405:44: ( ',' statename )* - while True: #loop65 - alt65 = 2 - LA65_0 = self.input.LA(1) + field_list_StartIndex = self.input.index() - if (LA65_0 == COMMA) : - alt65 = 1 + root_0 = None + field_definition191 = None + end192 = None + field_definition193 = None - if alt65 == 1: - # sdl92.g:405:45: ',' statename - pass - char_literal161 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_observer_special_states_declaration4700) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal161) + stream_field_definition = RewriteRuleSubtreeStream(self._adaptor, "rule field_definition") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 32): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_statename_in_observer_special_states_declaration4702) - statename162 = self.statename() - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename162.tree) + # sdl92.g:459:9: ( field_definition ( end field_definition )* -> ^( FIELDS ( field_definition )+ ) ) + # sdl92.g:459:17: field_definition ( end field_definition )* + pass + self._state.following.append(self.FOLLOW_field_definition_in_field_list5067) + field_definition191 = self.field_definition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_field_definition.add(field_definition191.tree) - else: - break #loop65 + # sdl92.g:459:34: ( end field_definition )* + while True: #loop62 + alt62 = 2 + alt62 = self.dfa62.predict(self.input) + if alt62 == 1: + # sdl92.g:459:35: end field_definition + pass + self._state.following.append(self.FOLLOW_end_in_field_list5070) + end192 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end192.tree) - self._state.following.append(self.FOLLOW_end_in_observer_special_states_declaration4706) - end163 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end163.tree) + self._state.following.append(self.FOLLOW_field_definition_in_field_list5072) + field_definition193 = self.field_definition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_field_definition.add(field_definition193.tree) - # AST Rewrite - # elements: SUCCESSSTATES, 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() - # 406:9: -> ^( SUCCESSSTATES ( statename )+ ) - # sdl92.g:406:17: ^( SUCCESSSTATES ( statename )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_SUCCESSSTATES.nextNode() - , root_1) + else: + break #loop62 - # sdl92.g:406:33: ( statename )+ - if not (stream_statename.hasNext()): - raise RewriteEarlyExitException() - while stream_statename.hasNext(): - self._adaptor.addChild(root_1, stream_statename.nextTree()) + # 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) - stream_statename.reset() + root_0 = self._adaptor.nil() + # 460:9: -> ^( FIELDS ( field_definition )+ ) + # sdl92.g:460:17: ^( FIELDS ( field_definition )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(FIELDS, "FIELDS") + , root_1) - self._adaptor.addChild(root_0, root_1) + # sdl92.g:460: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.tree = root_0 + @@ -7807,19 +7320,25 @@ def observer_special_states_declaration(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 32, field_list_StartIndex, success) + + pass return retval - # $ANTLR end "observer_special_states_declaration" + # $ANTLR end "field_list" - class timer_declaration_return(ParserRuleReturnScope): + class field_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -7829,85 +7348,86 @@ def __init__(self): - # $ANTLR start "timer_declaration" - # sdl92.g:410:1: timer_declaration : TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ; - def timer_declaration(self, ): - retval = self.timer_declaration_return() + # $ANTLR start "field_definition" + # sdl92.g:464: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) + field_definition_StartIndex = self.input.index() root_0 = None - TIMER164 = None - char_literal166 = None - timer_id165 = None - timer_id167 = None - end168 = None + char_literal195 = None + field_name194 = None + field_name196 = None + sort197 = None - TIMER164_tree = None - char_literal166_tree = None + char_literal195_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") + stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") + stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") + success = False + try: try: - # sdl92.g:411:9: ( TIMER timer_id ( ',' timer_id )* end -> ^( TIMER ( timer_id )+ ) ) - # sdl92.g:411:17: TIMER timer_id ( ',' timer_id )* end - pass - TIMER164 = self.match(self.input, TIMER, self.FOLLOW_TIMER_in_timer_declaration4760) - if self._state.backtracking == 0: - stream_TIMER.add(TIMER164) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 33): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration4762) - timer_id165 = self.timer_id() + # sdl92.g:465:9: ( field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ) + # sdl92.g:465:17: field_name ( ',' field_name )* sort + pass + self._state.following.append(self.FOLLOW_field_name_in_field_definition5128) + field_name194 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: - stream_timer_id.add(timer_id165.tree) + stream_field_name.add(field_name194.tree) - # sdl92.g:412:17: ( ',' timer_id )* - while True: #loop67 - alt67 = 2 - LA67_0 = self.input.LA(1) + # sdl92.g:465:28: ( ',' field_name )* + while True: #loop63 + alt63 = 2 + LA63_0 = self.input.LA(1) - if (LA67_0 == COMMA) : - alt67 = 1 + if (LA63_0 == COMMA) : + alt63 = 1 - if alt67 == 1: - # sdl92.g:412:18: ',' timer_id + if alt63 == 1: + # sdl92.g:465:29: ',' field_name pass - char_literal166 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_timer_declaration4781) + char_literal195 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_field_definition5131) if self._state.backtracking == 0: - stream_COMMA.add(char_literal166) + stream_COMMA.add(char_literal195) - self._state.following.append(self.FOLLOW_timer_id_in_timer_declaration4783) - timer_id167 = self.timer_id() + self._state.following.append(self.FOLLOW_field_name_in_field_definition5133) + field_name196 = self.field_name() self._state.following.pop() if self._state.backtracking == 0: - stream_timer_id.add(timer_id167.tree) + stream_field_name.add(field_name196.tree) else: - break #loop67 + break #loop63 - self._state.following.append(self.FOLLOW_end_in_timer_declaration4803) - end168 = self.end() + self._state.following.append(self.FOLLOW_sort_in_field_definition5137) + sort197 = self.sort() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end168.tree) + stream_sort.add(sort197.tree) # AST Rewrite - # elements: TIMER, timer_id + # elements: field_name, sort # token labels: # rule labels: retval # token list labels: @@ -7922,22 +7442,24 @@ def timer_declaration(self, ): root_0 = self._adaptor.nil() - # 414:9: -> ^( TIMER ( timer_id )+ ) - # sdl92.g:414:17: ^( TIMER ( timer_id )+ ) + # 466:9: -> ^( FIELD ( field_name )+ sort ) + # sdl92.g:466:17: ^( FIELD ( field_name )+ sort ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_TIMER.nextNode() + self._adaptor.createFromType(FIELD, "FIELD") , root_1) - # sdl92.g:414:25: ( timer_id )+ - if not (stream_timer_id.hasNext()): + # sdl92.g:466:25: ( field_name )+ + if not (stream_field_name.hasNext()): raise RewriteEarlyExitException() - while stream_timer_id.hasNext(): - self._adaptor.addChild(root_1, stream_timer_id.nextTree()) + while stream_field_name.hasNext(): + self._adaptor.addChild(root_1, stream_field_name.nextTree()) - stream_timer_id.reset() + stream_field_name.reset() + + self._adaptor.addChild(root_1, stream_sort.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -7959,19 +7481,25 @@ def timer_declaration(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 33, field_definition_StartIndex, success) + + pass return retval - # $ANTLR end "timer_declaration" + # $ANTLR end "field_definition" - class syntype_definition_return(ParserRuleReturnScope): + class variable_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -7981,168 +7509,94 @@ def __init__(self): - # $ANTLR start "syntype_definition" - # sdl92.g:418: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() + # $ANTLR start "variable_definition" + # sdl92.g:473: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) + variable_definition_StartIndex = self.input.index() root_0 = None - SYNTYPE169 = None - char_literal171 = None - CONSTANTS173 = None - char_literal175 = None - ENDSYNTYPE177 = None - syntype_name170 = None - parent_sort172 = None - range_condition174 = None - range_condition176 = None - syntype_name178 = None - end179 = None - - SYNTYPE169_tree = None - char_literal171_tree = None - CONSTANTS173_tree = None - char_literal175_tree = None - ENDSYNTYPE177_tree = None + DCL198 = None + char_literal200 = None + variables_of_sort199 = None + variables_of_sort201 = None + end202 = None + + DCL198_tree = None + char_literal200_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_DCL = RewriteRuleTokenStream(self._adaptor, "token DCL") + stream_variables_of_sort = RewriteRuleSubtreeStream(self._adaptor, "rule variables_of_sort") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_syntype_name = RewriteRuleSubtreeStream(self._adaptor, "rule syntype_name") + success = False + try: try: - # sdl92.g:419:9: ( SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) ) - # sdl92.g:419:17: SYNTYPE syntype_name '=' parent_sort ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? ENDSYNTYPE ( syntype_name )? end - pass - SYNTYPE169 = self.match(self.input, SYNTYPE, self.FOLLOW_SYNTYPE_in_syntype_definition4857) - if self._state.backtracking == 0: - stream_SYNTYPE.add(SYNTYPE169) - - - self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4859) - syntype_name170 = self.syntype_name() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_syntype_name.add(syntype_name170.tree) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 34): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - char_literal171 = self.match(self.input, EQ, self.FOLLOW_EQ_in_syntype_definition4861) + # sdl92.g:474:9: ( DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ) + # sdl92.g:474:17: DCL variables_of_sort ( ',' variables_of_sort )* end + pass + DCL198 = self.match(self.input, DCL, self.FOLLOW_DCL_in_variable_definition5195) if self._state.backtracking == 0: - stream_EQ.add(char_literal171) + stream_DCL.add(DCL198) - self._state.following.append(self.FOLLOW_parent_sort_in_syntype_definition4863) - parent_sort172 = self.parent_sort() + self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition5197) + variables_of_sort199 = self.variables_of_sort() self._state.following.pop() if self._state.backtracking == 0: - stream_parent_sort.add(parent_sort172.tree) - - - # sdl92.g:420:17: ( CONSTANTS ( range_condition ( ',' range_condition )* ) )? - alt69 = 2 - LA69_0 = self.input.LA(1) - - if (LA69_0 == CONSTANTS) : - alt69 = 1 - if alt69 == 1: - # sdl92.g:420:18: CONSTANTS ( range_condition ( ',' range_condition )* ) - pass - CONSTANTS173 = self.match(self.input, CONSTANTS, self.FOLLOW_CONSTANTS_in_syntype_definition4882) - if self._state.backtracking == 0: - stream_CONSTANTS.add(CONSTANTS173) - - - # sdl92.g:420:28: ( range_condition ( ',' range_condition )* ) - # sdl92.g:420:29: range_condition ( ',' range_condition )* - pass - self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4885) - range_condition174 = self.range_condition() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_range_condition.add(range_condition174.tree) - - - # sdl92.g:420:45: ( ',' range_condition )* - while True: #loop68 - alt68 = 2 - LA68_0 = self.input.LA(1) - - if (LA68_0 == COMMA) : - alt68 = 1 - - - if alt68 == 1: - # sdl92.g:420:46: ',' range_condition - pass - char_literal175 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_syntype_definition4888) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal175) - - - self._state.following.append(self.FOLLOW_range_condition_in_syntype_definition4890) - range_condition176 = self.range_condition() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_range_condition.add(range_condition176.tree) - - - - else: - break #loop68 - + stream_variables_of_sort.add(variables_of_sort199.tree) + # sdl92.g:475:17: ( ',' variables_of_sort )* + while True: #loop64 + alt64 = 2 + LA64_0 = self.input.LA(1) + if (LA64_0 == COMMA) : + alt64 = 1 + if alt64 == 1: + # sdl92.g:475:18: ',' variables_of_sort + pass + char_literal200 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variable_definition5216) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal200) - ENDSYNTYPE177 = self.match(self.input, ENDSYNTYPE, self.FOLLOW_ENDSYNTYPE_in_syntype_definition4914) - if self._state.backtracking == 0: - stream_ENDSYNTYPE.add(ENDSYNTYPE177) - - - # sdl92.g:421:28: ( syntype_name )? - alt70 = 2 - LA70_0 = self.input.LA(1) - - if (LA70_0 == ID) : - alt70 = 1 - if alt70 == 1: - # sdl92.g:421:28: syntype_name - pass - self._state.following.append(self.FOLLOW_syntype_name_in_syntype_definition4916) - syntype_name178 = self.syntype_name() + self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition5218) + variables_of_sort201 = self.variables_of_sort() - self._state.following.pop() - if self._state.backtracking == 0: - stream_syntype_name.add(syntype_name178.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variables_of_sort.add(variables_of_sort201.tree) + else: + break #loop64 - self._state.following.append(self.FOLLOW_end_in_syntype_definition4919) - end179 = self.end() + self._state.following.append(self.FOLLOW_end_in_variable_definition5238) + end202 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end179.tree) + stream_end.add(end202.tree) # AST Rewrite - # elements: SYNTYPE, syntype_name, parent_sort, range_condition + # elements: DCL, variables_of_sort # token labels: # rule labels: retval # token list labels: @@ -8157,23 +7611,22 @@ def syntype_definition(self, ): root_0 = self._adaptor.nil() - # 422:9: -> ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) - # sdl92.g:422:17: ^( SYNTYPE syntype_name parent_sort ( range_condition )* ) + # 477:9: -> ^( DCL ( variables_of_sort )+ ) + # sdl92.g:477:17: ^( DCL ( variables_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_SYNTYPE.nextNode() + stream_DCL.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_syntype_name.nextTree()) - - self._adaptor.addChild(root_1, stream_parent_sort.nextTree()) + # sdl92.g:477:23: ( variables_of_sort )+ + if not (stream_variables_of_sort.hasNext()): + raise RewriteEarlyExitException() - # sdl92.g:422:52: ( range_condition )* - while stream_range_condition.hasNext(): - self._adaptor.addChild(root_1, stream_range_condition.nextTree()) + while stream_variables_of_sort.hasNext(): + self._adaptor.addChild(root_1, stream_variables_of_sort.nextTree()) - stream_range_condition.reset(); + stream_variables_of_sort.reset() self._adaptor.addChild(root_0, root_1) @@ -8195,19 +7648,25 @@ def syntype_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 34, variable_definition_StartIndex, success) + + pass return retval - # $ANTLR end "syntype_definition" + # $ANTLR end "variable_definition" - class syntype_name_return(ParserRuleReturnScope): + class monitor_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -8217,255 +7676,94 @@ def __init__(self): - # $ANTLR start "syntype_name" - # sdl92.g:426:1: syntype_name : sort ; - def syntype_name(self, ): - retval = self.syntype_name_return() + # $ANTLR start "monitor_definition" + # sdl92.g:481:1: monitor_definition : MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ; + def monitor_definition(self, ): + retval = self.monitor_definition_return() retval.start = self.input.LT(1) + monitor_definition_StartIndex = self.input.index() root_0 = None - sort180 = None + MONITOR203 = None + char_literal205 = None + variables_of_sort204 = None + variables_of_sort206 = None + end207 = None + MONITOR203_tree = None + char_literal205_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_MONITOR = RewriteRuleTokenStream(self._adaptor, "token MONITOR") + stream_variables_of_sort = RewriteRuleSubtreeStream(self._adaptor, "rule variables_of_sort") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False try: try: - # sdl92.g:427:9: ( sort ) - # sdl92.g:427:17: sort - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 35): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_sort_in_syntype_name4977) - sort180 = self.sort() - - self._state.following.pop() + # sdl92.g:482:9: ( MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ) + # sdl92.g:482:17: MONITOR variables_of_sort ( ',' variables_of_sort )* end + pass + MONITOR203 = self.match(self.input, MONITOR, self.FOLLOW_MONITOR_in_monitor_definition5293) if self._state.backtracking == 0: - self._adaptor.addChild(root_0, sort180.tree) + stream_MONITOR.add(MONITOR203) + self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition5295) + variables_of_sort204 = self.variables_of_sort() + self._state.following.pop() + if self._state.backtracking == 0: + stream_variables_of_sort.add(variables_of_sort204.tree) - retval.stop = self.input.LT(-1) + # sdl92.g:483:17: ( ',' variables_of_sort )* + while True: #loop65 + alt65 = 2 + LA65_0 = self.input.LA(1) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + if (LA65_0 == COMMA) : + alt65 = 1 + if alt65 == 1: + # sdl92.g:483:18: ',' variables_of_sort + pass + char_literal205 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_monitor_definition5314) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal205) - 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 + self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition5316) + variables_of_sort206 = self.variables_of_sort() - # $ANTLR end "syntype_name" + self._state.following.pop() + if self._state.backtracking == 0: + stream_variables_of_sort.add(variables_of_sort206.tree) - class parent_sort_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + else: + break #loop65 + self._state.following.append(self.FOLLOW_end_in_monitor_definition5336) + end207 = self.end() - - - # $ANTLR start "parent_sort" - # sdl92.g:431:1: parent_sort : sort ; - def parent_sort(self, ): - retval = self.parent_sort_return() - retval.start = self.input.LT(1) - - - root_0 = None - - sort181 = None - - - try: - try: - # sdl92.g:432:9: ( sort ) - # sdl92.g:432:17: sort - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_sort_in_parent_sort5009) - sort181 = self.sort() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, sort181.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:436:1: newtype_definition : NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) ; - def newtype_definition(self, ): - retval = self.newtype_definition_return() - retval.start = self.input.LT(1) - - - root_0 = None - - NEWTYPE182 = None - ENDNEWTYPE187 = None - type_name183 = None - array_definition184 = None - structure_definition185 = None - enum_definition186 = None - type_name188 = None - end189 = None - - NEWTYPE182_tree = None - ENDNEWTYPE187_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") - stream_enum_definition = RewriteRuleSubtreeStream(self._adaptor, "rule enum_definition") - try: - try: - # sdl92.g:437:9: ( NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) ) - # sdl92.g:437:17: NEWTYPE type_name ( array_definition | structure_definition | enum_definition )? ENDNEWTYPE ( type_name )? end - pass - NEWTYPE182 = self.match(self.input, NEWTYPE, self.FOLLOW_NEWTYPE_in_newtype_definition5041) - if self._state.backtracking == 0: - stream_NEWTYPE.add(NEWTYPE182) - - - self._state.following.append(self.FOLLOW_type_name_in_newtype_definition5043) - type_name183 = self.type_name() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_type_name.add(type_name183.tree) - - - # sdl92.g:438:17: ( array_definition | structure_definition | enum_definition )? - alt71 = 4 - LA71 = self.input.LA(1) - if LA71 in {ARRAY}: - alt71 = 1 - elif LA71 in {STRUCT}: - alt71 = 2 - elif LA71 in {LITERALS}: - alt71 = 3 - if alt71 == 1: - # sdl92.g:438:18: array_definition - pass - self._state.following.append(self.FOLLOW_array_definition_in_newtype_definition5062) - array_definition184 = self.array_definition() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_array_definition.add(array_definition184.tree) - - - - elif alt71 == 2: - # sdl92.g:438:35: structure_definition - pass - self._state.following.append(self.FOLLOW_structure_definition_in_newtype_definition5064) - structure_definition185 = self.structure_definition() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_structure_definition.add(structure_definition185.tree) - - - - elif alt71 == 3: - # sdl92.g:438:56: enum_definition - pass - self._state.following.append(self.FOLLOW_enum_definition_in_newtype_definition5066) - enum_definition186 = self.enum_definition() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_enum_definition.add(enum_definition186.tree) - - - - - - ENDNEWTYPE187 = self.match(self.input, ENDNEWTYPE, self.FOLLOW_ENDNEWTYPE_in_newtype_definition5086) - if self._state.backtracking == 0: - stream_ENDNEWTYPE.add(ENDNEWTYPE187) - - - # sdl92.g:439:28: ( type_name )? - alt72 = 2 - LA72_0 = self.input.LA(1) - - if (LA72_0 == ID) : - alt72 = 1 - if alt72 == 1: - # sdl92.g:439:28: type_name - pass - self._state.following.append(self.FOLLOW_type_name_in_newtype_definition5088) - type_name188 = self.type_name() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_type_name.add(type_name188.tree) - - - - - - self._state.following.append(self.FOLLOW_end_in_newtype_definition5091) - end189 = self.end() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end189.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end207.tree) # AST Rewrite - # elements: NEWTYPE, type_name, array_definition, structure_definition, enum_definition + # elements: MONITOR, variables_of_sort # token labels: # rule labels: retval # token list labels: @@ -8480,35 +7778,22 @@ def newtype_definition(self, ): root_0 = self._adaptor.nil() - # 440:9: -> ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) - # sdl92.g:440:17: ^( NEWTYPE type_name ( array_definition )* ( structure_definition )* ( enum_definition )* ) + # 485:9: -> ^( MONITOR ( variables_of_sort )+ ) + # sdl92.g:485:17: ^( MONITOR ( variables_of_sort )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_NEWTYPE.nextNode() + stream_MONITOR.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_type_name.nextTree()) - - # sdl92.g:440:37: ( array_definition )* - while stream_array_definition.hasNext(): - self._adaptor.addChild(root_1, stream_array_definition.nextTree()) - - - stream_array_definition.reset(); - - # sdl92.g:440:55: ( structure_definition )* - while stream_structure_definition.hasNext(): - self._adaptor.addChild(root_1, stream_structure_definition.nextTree()) - - - stream_structure_definition.reset(); + # sdl92.g:485:27: ( variables_of_sort )+ + if not (stream_variables_of_sort.hasNext()): + raise RewriteEarlyExitException() - # sdl92.g:440:77: ( enum_definition )* - while stream_enum_definition.hasNext(): - self._adaptor.addChild(root_1, stream_enum_definition.nextTree()) + while stream_variables_of_sort.hasNext(): + self._adaptor.addChild(root_1, stream_variables_of_sort.nextTree()) - stream_enum_definition.reset(); + stream_variables_of_sort.reset() self._adaptor.addChild(root_0, root_1) @@ -8530,19 +7815,25 @@ def newtype_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 35, monitor_definition_StartIndex, success) + + pass return retval - # $ANTLR end "newtype_definition" + # $ANTLR end "monitor_definition" - class type_name_return(ParserRuleReturnScope): + class synonym_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -8552,32 +7843,41 @@ def __init__(self): - # $ANTLR start "type_name" - # sdl92.g:444:1: type_name : sort ; - def type_name(self, ): - retval = self.type_name_return() + # $ANTLR start "synonym_definition" + # sdl92.g:489:1: synonym_definition : internal_synonym_definition ; + def synonym_definition(self, ): + retval = self.synonym_definition_return() retval.start = self.input.LT(1) + synonym_definition_StartIndex = self.input.index() root_0 = None - sort190 = None + internal_synonym_definition208 = None + success = False + try: try: - # sdl92.g:445:9: ( sort ) - # sdl92.g:445:17: sort + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 36): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:490:9: ( internal_synonym_definition ) + # sdl92.g:490:17: internal_synonym_definition pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_sort_in_type_name5153) - sort190 = self.sort() + self._state.following.append(self.FOLLOW_internal_synonym_definition_in_synonym_definition5391) + internal_synonym_definition208 = self.internal_synonym_definition() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, sort190.tree) + self._adaptor.addChild(root_0, internal_synonym_definition208.tree) @@ -8591,19 +7891,25 @@ def type_name(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 36, synonym_definition_StartIndex, success) + + pass return retval - # $ANTLR end "type_name" + # $ANTLR end "synonym_definition" - class array_definition_return(ParserRuleReturnScope): + class internal_synonym_definition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -8613,74 +7919,94 @@ def __init__(self): - # $ANTLR start "array_definition" - # sdl92.g:449:1: array_definition : ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ; - def array_definition(self, ): - retval = self.array_definition_return() + # $ANTLR start "internal_synonym_definition" + # sdl92.g:494: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) + internal_synonym_definition_StartIndex = self.input.index() root_0 = None - ARRAY191 = None - char_literal192 = None - char_literal194 = None - char_literal196 = None - sort193 = None - sort195 = None - - ARRAY191_tree = None - char_literal192_tree = None - char_literal194_tree = None - char_literal196_tree = None + SYNONYM209 = None + char_literal211 = None + synonym_definition_item210 = None + synonym_definition_item212 = None + end213 = None + + SYNONYM209_tree = None + char_literal211_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") + 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") + success = False + try: try: - # sdl92.g:450:9: ( ARRAY '(' sort ',' sort ')' -> ^( ARRAY sort sort ) ) - # sdl92.g:450:17: ARRAY '(' sort ',' sort ')' - pass - ARRAY191 = self.match(self.input, ARRAY, self.FOLLOW_ARRAY_in_array_definition5185) - if self._state.backtracking == 0: - stream_ARRAY.add(ARRAY191) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 37): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - char_literal192 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_array_definition5187) + # sdl92.g:495:9: ( SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) ) + # sdl92.g:495:17: SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end + pass + SYNONYM209 = self.match(self.input, SYNONYM, self.FOLLOW_SYNONYM_in_internal_synonym_definition5423) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal192) + stream_SYNONYM.add(SYNONYM209) - self._state.following.append(self.FOLLOW_sort_in_array_definition5189) - sort193 = self.sort() + self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition5425) + synonym_definition_item210 = self.synonym_definition_item() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort193.tree) + stream_synonym_definition_item.add(synonym_definition_item210.tree) - char_literal194 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_array_definition5191) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal194) + # sdl92.g:495:49: ( ',' synonym_definition_item )* + while True: #loop66 + alt66 = 2 + LA66_0 = self.input.LA(1) + if (LA66_0 == COMMA) : + alt66 = 1 - self._state.following.append(self.FOLLOW_sort_in_array_definition5193) - sort195 = self.sort() - self._state.following.pop() - if self._state.backtracking == 0: - stream_sort.add(sort195.tree) + if alt66 == 1: + # sdl92.g:495:50: ',' synonym_definition_item + pass + char_literal211 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_internal_synonym_definition5428) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal211) + + + self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition5430) + synonym_definition_item212 = self.synonym_definition_item() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_synonym_definition_item.add(synonym_definition_item212.tree) - char_literal196 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_array_definition5195) + + else: + break #loop66 + + + self._state.following.append(self.FOLLOW_end_in_internal_synonym_definition5450) + end213 = self.end() + + self._state.following.pop() if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal196) + stream_end.add(end213.tree) # AST Rewrite - # elements: ARRAY, sort, sort + # elements: synonym_definition_item # token labels: # rule labels: retval # token list labels: @@ -8695,16 +8021,22 @@ def array_definition(self, ): root_0 = self._adaptor.nil() - # 451:9: -> ^( ARRAY sort sort ) - # sdl92.g:451:17: ^( ARRAY sort sort ) + # 497:9: -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) + # sdl92.g:497:17: ^( SYNONYM_LIST ( synonym_definition_item )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_ARRAY.nextNode() + self._adaptor.createFromType(SYNONYM_LIST, "SYNONYM_LIST") , root_1) - self._adaptor.addChild(root_1, stream_sort.nextTree()) + # sdl92.g:497:32: ( synonym_definition_item )+ + if not (stream_synonym_definition_item.hasNext()): + raise RewriteEarlyExitException() - self._adaptor.addChild(root_1, stream_sort.nextTree()) + 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) @@ -8726,19 +8058,25 @@ def array_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 37, internal_synonym_definition_StartIndex, success) + + pass return retval - # $ANTLR end "array_definition" + # $ANTLR end "internal_synonym_definition" - class enum_definition_return(ParserRuleReturnScope): + class synonym_definition_item_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -8748,87 +8086,106 @@ def __init__(self): - # $ANTLR start "enum_definition" - # sdl92.g:459:1: enum_definition : ( LITERALS ( enumerant ( ',' enumerant )* ) ) -> ^( LITERALS ( enumerant )+ ) ; - def enum_definition(self, ): - retval = self.enum_definition_return() + # $ANTLR start "synonym_definition_item" + # sdl92.g:501:1: synonym_definition_item : variable_id sort '=' ( ground_expression | EXTERNAL ) -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) ; + def synonym_definition_item(self, ): + retval = self.synonym_definition_item_return() retval.start = self.input.LT(1) + synonym_definition_item_StartIndex = self.input.index() root_0 = None - LITERALS197 = None - char_literal199 = None - enumerant198 = None - enumerant200 = None + char_literal216 = None + EXTERNAL218 = None + variable_id214 = None + sort215 = None + ground_expression217 = None + + char_literal216_tree = None + EXTERNAL218_tree = None + stream_EXTERNAL = RewriteRuleTokenStream(self._adaptor, "token EXTERNAL") + stream_EQ = RewriteRuleTokenStream(self._adaptor, "token EQ") + 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") + success = False - LITERALS197_tree = None - char_literal199_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_LITERALS = RewriteRuleTokenStream(self._adaptor, "token LITERALS") - stream_enumerant = RewriteRuleSubtreeStream(self._adaptor, "rule enumerant") try: try: - # sdl92.g:460:9: ( ( LITERALS ( enumerant ( ',' enumerant )* ) ) -> ^( LITERALS ( enumerant )+ ) ) - # sdl92.g:460:17: ( LITERALS ( enumerant ( ',' enumerant )* ) ) - pass - # sdl92.g:460:17: ( LITERALS ( enumerant ( ',' enumerant )* ) ) - # sdl92.g:460:18: LITERALS ( enumerant ( ',' enumerant )* ) - pass - LITERALS197 = self.match(self.input, LITERALS, self.FOLLOW_LITERALS_in_enum_definition5252) - if self._state.backtracking == 0: - stream_LITERALS.add(LITERALS197) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 38): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # sdl92.g:460:27: ( enumerant ( ',' enumerant )* ) - # sdl92.g:460:28: enumerant ( ',' enumerant )* + # sdl92.g:502:9: ( variable_id sort '=' ( ground_expression | EXTERNAL ) -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) ) + # sdl92.g:502:17: variable_id sort '=' ( ground_expression | EXTERNAL ) pass - self._state.following.append(self.FOLLOW_enumerant_in_enum_definition5255) - enumerant198 = self.enumerant() + self._state.following.append(self.FOLLOW_variable_id_in_synonym_definition_item5504) + variable_id214 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_enumerant.add(enumerant198.tree) + stream_variable_id.add(variable_id214.tree) - # sdl92.g:460:38: ( ',' enumerant )* - while True: #loop73 - alt73 = 2 - LA73_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_sort_in_synonym_definition_item5506) + sort215 = self.sort() - if (LA73_0 == COMMA) : - alt73 = 1 + self._state.following.pop() + if self._state.backtracking == 0: + stream_sort.add(sort215.tree) - if alt73 == 1: - # sdl92.g:460:39: ',' enumerant - pass - char_literal199 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_enum_definition5258) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal199) + char_literal216 = self.match(self.input, EQ, self.FOLLOW_EQ_in_synonym_definition_item5508) + if self._state.backtracking == 0: + stream_EQ.add(char_literal216) - self._state.following.append(self.FOLLOW_enumerant_in_enum_definition5260) - enumerant200 = self.enumerant() + # sdl92.g:502:38: ( ground_expression | EXTERNAL ) + alt67 = 2 + LA67_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_enumerant.add(enumerant200.tree) + if (LA67_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt67 = 1 + elif (LA67_0 == EXTERNAL) : + alt67 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 67, 0, self.input) - else: - break #loop73 + raise nvae + + + if alt67 == 1: + # sdl92.g:502:39: ground_expression + pass + self._state.following.append(self.FOLLOW_ground_expression_in_synonym_definition_item5511) + ground_expression217 = self.ground_expression() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_ground_expression.add(ground_expression217.tree) + elif alt67 == 2: + # sdl92.g:502:59: EXTERNAL + pass + EXTERNAL218 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_synonym_definition_item5515) + if self._state.backtracking == 0: + stream_EXTERNAL.add(EXTERNAL218) # AST Rewrite - # elements: LITERALS, enumerant + # elements: variable_id, sort, ground_expression, EXTERNAL # token labels: # rule labels: retval # token list labels: @@ -8843,22 +8200,32 @@ def enum_definition(self, ): root_0 = self._adaptor.nil() - # 461:9: -> ^( LITERALS ( enumerant )+ ) - # sdl92.g:461:17: ^( LITERALS ( enumerant )+ ) + # 503:9: -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) + # sdl92.g:503:17: ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_LITERALS.nextNode() + self._adaptor.createFromType(SYNONYM, "SYNONYM") , root_1) - # sdl92.g:461:28: ( enumerant )+ - if not (stream_enumerant.hasNext()): - raise RewriteEarlyExitException() + self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - while stream_enumerant.hasNext(): - self._adaptor.addChild(root_1, stream_enumerant.nextTree()) + self._adaptor.addChild(root_1, stream_sort.nextTree()) + # sdl92.g:503:44: ( ground_expression )? + if stream_ground_expression.hasNext(): + self._adaptor.addChild(root_1, stream_ground_expression.nextTree()) - stream_enumerant.reset() + + stream_ground_expression.reset(); + + # sdl92.g:503:63: ( EXTERNAL )? + if stream_EXTERNAL.hasNext(): + self._adaptor.addChild(root_1, + stream_EXTERNAL.nextNode() + ) + + + stream_EXTERNAL.reset(); self._adaptor.addChild(root_0, root_1) @@ -8880,19 +8247,25 @@ def enum_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 38, synonym_definition_item_StartIndex, success) + + pass return retval - # $ANTLR end "enum_definition" + # $ANTLR end "synonym_definition_item" - class structure_definition_return(ParserRuleReturnScope): + class variables_of_sort_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -8902,174 +8275,152 @@ def __init__(self): - # $ANTLR start "structure_definition" - # sdl92.g:464:1: structure_definition : STRUCT field_list end -> ^( STRUCT field_list ) ; - def structure_definition(self, ): - retval = self.structure_definition_return() + # $ANTLR start "variables_of_sort" + # sdl92.g:507:1: variables_of_sort : variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) ; + def variables_of_sort(self, ): + retval = self.variables_of_sort_return() retval.start = self.input.LT(1) + variables_of_sort_StartIndex = self.input.index() root_0 = None - STRUCT201 = None - field_list202 = None - end203 = None + char_literal220 = None + string_literal223 = None + RENAMES225 = None + variable_id219 = None + variable_id221 = None + sort222 = None + ground_expression224 = None + variable226 = None + + char_literal220_tree = None + string_literal223_tree = None + RENAMES225_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_RENAMES = RewriteRuleTokenStream(self._adaptor, "token RENAMES") + 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_variable = RewriteRuleSubtreeStream(self._adaptor, "rule variable") + stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") + success = False - STRUCT201_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:465:9: ( STRUCT field_list end -> ^( STRUCT field_list ) ) - # sdl92.g:465:17: STRUCT field_list end - pass - STRUCT201 = self.match(self.input, STRUCT, self.FOLLOW_STRUCT_in_structure_definition5318) - if self._state.backtracking == 0: - stream_STRUCT.add(STRUCT201) - - - self._state.following.append(self.FOLLOW_field_list_in_structure_definition5320) - field_list202 = self.field_list() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_field_list.add(field_list202.tree) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 39): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_end_in_structure_definition5322) - end203 = self.end() + # sdl92.g:508:9: ( variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) ) + # sdl92.g:508:17: variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? + pass + self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort5577) + variable_id219 = self.variable_id() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end203.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) + stream_variable_id.add(variable_id219.tree) - root_0 = self._adaptor.nil() - # 466:9: -> ^( STRUCT field_list ) - # sdl92.g:466: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()) + # sdl92.g:508:29: ( ',' variable_id )* + while True: #loop68 + alt68 = 2 + LA68_0 = self.input.LA(1) - self._adaptor.addChild(root_0, root_1) + if (LA68_0 == COMMA) : + alt68 = 1 + if alt68 == 1: + # sdl92.g:508:30: ',' variable_id + pass + char_literal220 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variables_of_sort5580) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal220) - retval.tree = root_0 + self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort5582) + variable_id221 = self.variable_id() + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id221.tree) + else: + break #loop68 - retval.stop = self.input.LT(-1) + self._state.following.append(self.FOLLOW_sort_in_variables_of_sort5586) + sort222 = self.sort() + self._state.following.pop() 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" - + stream_sort.add(sort222.tree) - class field_list_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # sdl92.g:509:17: ( ( ':=' ground_expression ) | ( RENAMES variable ) )? + alt69 = 3 + LA69_0 = self.input.LA(1) + if (LA69_0 == ASSIG_OP) : + alt69 = 1 + elif (LA69_0 == RENAMES) : + alt69 = 2 + if alt69 == 1: + # sdl92.g:509:18: ( ':=' ground_expression ) + pass + # sdl92.g:509:18: ( ':=' ground_expression ) + # sdl92.g:509:19: ':=' ground_expression + pass + string_literal223 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_variables_of_sort5606) + if self._state.backtracking == 0: + stream_ASSIG_OP.add(string_literal223) + self._state.following.append(self.FOLLOW_ground_expression_in_variables_of_sort5608) + ground_expression224 = self.ground_expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_ground_expression.add(ground_expression224.tree) - # $ANTLR start "field_list" - # sdl92.g:470: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_definition204 = None - end205 = None - field_definition206 = None - stream_field_definition = RewriteRuleSubtreeStream(self._adaptor, "rule field_definition") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - try: - try: - # sdl92.g:471:9: ( field_definition ( end field_definition )* -> ^( FIELDS ( field_definition )+ ) ) - # sdl92.g:471:17: field_definition ( end field_definition )* - pass - self._state.following.append(self.FOLLOW_field_definition_in_field_list5375) - field_definition204 = self.field_definition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_field_definition.add(field_definition204.tree) + elif alt69 == 2: + # sdl92.g:509:45: ( RENAMES variable ) + pass + # sdl92.g:509:45: ( RENAMES variable ) + # sdl92.g:509:46: RENAMES variable + pass + RENAMES225 = self.match(self.input, RENAMES, self.FOLLOW_RENAMES_in_variables_of_sort5614) + if self._state.backtracking == 0: + stream_RENAMES.add(RENAMES225) - # sdl92.g:471:34: ( end field_definition )* - while True: #loop74 - alt74 = 2 - alt74 = self.dfa74.predict(self.input) - if alt74 == 1: - # sdl92.g:471:35: end field_definition - pass - self._state.following.append(self.FOLLOW_end_in_field_list5378) - end205 = self.end() + self._state.following.append(self.FOLLOW_variable_in_variables_of_sort5616) + variable226 = self.variable() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end205.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable.add(variable226.tree) - self._state.following.append(self.FOLLOW_field_definition_in_field_list5380) - field_definition206 = self.field_definition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_field_definition.add(field_definition206.tree) - else: - break #loop74 # AST Rewrite - # elements: field_definition + # elements: variable_id, sort, ground_expression, RENAMES, variable # token labels: # rule labels: retval # token list labels: @@ -9084,22 +8435,47 @@ def field_list(self, ): root_0 = self._adaptor.nil() - # 472:9: -> ^( FIELDS ( field_definition )+ ) - # sdl92.g:472:17: ^( FIELDS ( field_definition )+ ) + # 510:9: -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) + # sdl92.g:510:17: ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(FIELDS, "FIELDS") + self._adaptor.createFromType(VARIABLES, "VARIABLES") , root_1) - # sdl92.g:472:26: ( field_definition )+ - if not (stream_field_definition.hasNext()): + # sdl92.g:510:29: ( variable_id )+ + if not (stream_variable_id.hasNext()): raise RewriteEarlyExitException() - while stream_field_definition.hasNext(): - self._adaptor.addChild(root_1, stream_field_definition.nextTree()) + while stream_variable_id.hasNext(): + self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - stream_field_definition.reset() + stream_variable_id.reset() + + self._adaptor.addChild(root_1, stream_sort.nextTree()) + + # sdl92.g:511:19: ( ground_expression )? + if stream_ground_expression.hasNext(): + self._adaptor.addChild(root_1, stream_ground_expression.nextTree()) + + + stream_ground_expression.reset(); + + # sdl92.g:511:38: ( ^( RENAMES variable ) )? + if stream_RENAMES.hasNext() or stream_variable.hasNext(): + # sdl92.g:511:38: ^( RENAMES variable ) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + stream_RENAMES.nextNode() + , root_2) + + self._adaptor.addChild(root_2, stream_variable.nextTree()) + + self._adaptor.addChild(root_1, root_2) + + + stream_RENAMES.reset(); + stream_variable.reset(); self._adaptor.addChild(root_0, root_1) @@ -9121,19 +8497,25 @@ def field_list(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 39, variables_of_sort_StartIndex, success) + + pass return retval - # $ANTLR end "field_list" + # $ANTLR end "variables_of_sort" - class field_definition_return(ParserRuleReturnScope): + class ground_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -9143,77 +8525,42 @@ def __init__(self): - # $ANTLR start "field_definition" - # sdl92.g:476:1: field_definition : field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ; - def field_definition(self, ): - retval = self.field_definition_return() + # $ANTLR start "ground_expression" + # sdl92.g:515:1: ground_expression : expression -> ^( GROUND expression ) ; + def ground_expression(self, ): + retval = self.ground_expression_return() retval.start = self.input.LT(1) + ground_expression_StartIndex = self.input.index() root_0 = None - char_literal208 = None - field_name207 = None - field_name209 = None - sort210 = None + expression227 = None + + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False - char_literal208_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:477:9: ( field_name ( ',' field_name )* sort -> ^( FIELD ( field_name )+ sort ) ) - # sdl92.g:477:17: field_name ( ',' field_name )* sort - pass - self._state.following.append(self.FOLLOW_field_name_in_field_definition5436) - field_name207 = self.field_name() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_field_name.add(field_name207.tree) - - - # sdl92.g:477:28: ( ',' field_name )* - while True: #loop75 - alt75 = 2 - LA75_0 = self.input.LA(1) - - if (LA75_0 == COMMA) : - alt75 = 1 - - - if alt75 == 1: - # sdl92.g:477:29: ',' field_name - pass - char_literal208 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_field_definition5439) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal208) - - - self._state.following.append(self.FOLLOW_field_name_in_field_definition5441) - field_name209 = self.field_name() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_field_name.add(field_name209.tree) - - - - else: - break #loop75 + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 40): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_sort_in_field_definition5445) - sort210 = self.sort() + # sdl92.g:516:9: ( expression -> ^( GROUND expression ) ) + # sdl92.g:516:17: expression + pass + self._state.following.append(self.FOLLOW_expression_in_ground_expression5703) + expression227 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort210.tree) + stream_expression.add(expression227.tree) # AST Rewrite - # elements: field_name, sort + # elements: expression # token labels: # rule labels: retval # token list labels: @@ -9228,24 +8575,14 @@ def field_definition(self, ): root_0 = self._adaptor.nil() - # 478:9: -> ^( FIELD ( field_name )+ sort ) - # sdl92.g:478:17: ^( FIELD ( field_name )+ sort ) + # 517:9: -> ^( GROUND expression ) + # sdl92.g:517:17: ^( GROUND expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(FIELD, "FIELD") + self._adaptor.createFromType(GROUND, "GROUND") , root_1) - # sdl92.g:478: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_1, stream_expression.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -9267,19 +8604,25 @@ def field_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 40, ground_expression_StartIndex, success) + + pass return retval - # $ANTLR end "field_definition" + # $ANTLR end "ground_expression" - class variable_definition_return(ParserRuleReturnScope): + class number_of_instances_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -9289,92 +8632,81 @@ def __init__(self): - # $ANTLR start "variable_definition" - # sdl92.g:485:1: variable_definition : DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ; - def variable_definition(self, ): - retval = self.variable_definition_return() + # $ANTLR start "number_of_instances" + # sdl92.g:521: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) + number_of_instances_StartIndex = self.input.index() root_0 = None - DCL211 = None - char_literal213 = None - variables_of_sort212 = None - variables_of_sort214 = None - end215 = None + initial_number = None + maximum_number = None + char_literal228 = None + char_literal229 = None + char_literal230 = None - DCL211_tree = None - char_literal213_tree = None + initial_number_tree = None + maximum_number_tree = None + char_literal228_tree = None + char_literal229_tree = None + char_literal230_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") + 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") + + success = False + try: try: - # sdl92.g:486:9: ( DCL variables_of_sort ( ',' variables_of_sort )* end -> ^( DCL ( variables_of_sort )+ ) ) - # sdl92.g:486:17: DCL variables_of_sort ( ',' variables_of_sort )* end - pass - DCL211 = self.match(self.input, DCL, self.FOLLOW_DCL_in_variable_definition5503) - if self._state.backtracking == 0: - stream_DCL.add(DCL211) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 41): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition5505) - variables_of_sort212 = self.variables_of_sort() - - self._state.following.pop() + # sdl92.g:522:9: ( '(' initial_number= INT ',' maximum_number= INT ')' -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) ) + # sdl92.g:522:17: '(' initial_number= INT ',' maximum_number= INT ')' + pass + char_literal228 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_number_of_instances5756) if self._state.backtracking == 0: - stream_variables_of_sort.add(variables_of_sort212.tree) - - - # sdl92.g:487:17: ( ',' variables_of_sort )* - while True: #loop76 - alt76 = 2 - LA76_0 = self.input.LA(1) - - if (LA76_0 == COMMA) : - alt76 = 1 - + stream_L_PAREN.add(char_literal228) - if alt76 == 1: - # sdl92.g:487:18: ',' variables_of_sort - pass - char_literal213 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variable_definition5524) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal213) - - - self._state.following.append(self.FOLLOW_variables_of_sort_in_variable_definition5526) - variables_of_sort214 = self.variables_of_sort() - self._state.following.pop() - if self._state.backtracking == 0: - stream_variables_of_sort.add(variables_of_sort214.tree) + initial_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances5760) + if self._state.backtracking == 0: + stream_INT.add(initial_number) + char_literal229 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_number_of_instances5762) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal229) - else: - break #loop76 + maximum_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances5766) + if self._state.backtracking == 0: + stream_INT.add(maximum_number) - self._state.following.append(self.FOLLOW_end_in_variable_definition5546) - end215 = self.end() - self._state.following.pop() + char_literal230 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_number_of_instances5768) if self._state.backtracking == 0: - stream_end.add(end215.tree) + stream_R_PAREN.add(char_literal230) # AST Rewrite - # elements: DCL, variables_of_sort - # token labels: + # 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: @@ -9382,22 +8714,16 @@ def variable_definition(self, ): root_0 = self._adaptor.nil() - # 489:9: -> ^( DCL ( variables_of_sort )+ ) - # sdl92.g:489:17: ^( DCL ( variables_of_sort )+ ) + # 523:9: -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) + # sdl92.g:523:17: ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_DCL.nextNode() + self._adaptor.createFromType(NUMBER_OF_INSTANCES, "NUMBER_OF_INSTANCES") , root_1) - # sdl92.g:489: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()) - + self._adaptor.addChild(root_1, stream_initial_number.nextNode()) - stream_variables_of_sort.reset() + self._adaptor.addChild(root_1, stream_maximum_number.nextNode()) self._adaptor.addChild(root_0, root_1) @@ -9419,19 +8745,25 @@ def variable_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 41, number_of_instances_StartIndex, success) + + pass return retval - # $ANTLR end "variable_definition" + # $ANTLR end "number_of_instances" - class monitor_definition_return(ParserRuleReturnScope): + class processBody_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -9441,123 +8773,84 @@ def __init__(self): - # $ANTLR start "monitor_definition" - # sdl92.g:493:1: monitor_definition : MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ; - def monitor_definition(self, ): - retval = self.monitor_definition_return() + # $ANTLR start "processBody" + # sdl92.g:527:1: processBody : ( start )? ( state | floating_label )* ; + def processBody(self, ): + retval = self.processBody_return() retval.start = self.input.LT(1) + processBody_StartIndex = self.input.index() root_0 = None - MONITOR216 = None - char_literal218 = None - variables_of_sort217 = None - variables_of_sort219 = None - end220 = None + start231 = None + state232 = None + floating_label233 = None + + + success = False - MONITOR216_tree = None - char_literal218_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_MONITOR = RewriteRuleTokenStream(self._adaptor, "token MONITOR") - stream_variables_of_sort = RewriteRuleSubtreeStream(self._adaptor, "rule variables_of_sort") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:494:9: ( MONITOR variables_of_sort ( ',' variables_of_sort )* end -> ^( MONITOR ( variables_of_sort )+ ) ) - # sdl92.g:494:17: MONITOR variables_of_sort ( ',' variables_of_sort )* end - pass - MONITOR216 = self.match(self.input, MONITOR, self.FOLLOW_MONITOR_in_monitor_definition5601) - if self._state.backtracking == 0: - stream_MONITOR.add(MONITOR216) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 42): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition5603) - variables_of_sort217 = self.variables_of_sort() + # sdl92.g:528:9: ( ( start )? ( state | floating_label )* ) + # sdl92.g:528:17: ( start )? ( state | floating_label )* + pass + root_0 = self._adaptor.nil() - self._state.following.pop() - if self._state.backtracking == 0: - stream_variables_of_sort.add(variables_of_sort217.tree) + # sdl92.g:528:17: ( start )? + alt70 = 2 + alt70 = self.dfa70.predict(self.input) + if alt70 == 1: + # sdl92.g:528:17: start + pass + self._state.following.append(self.FOLLOW_start_in_processBody5825) + start231 = self.start() - # sdl92.g:495:17: ( ',' variables_of_sort )* - while True: #loop77 - alt77 = 2 - LA77_0 = self.input.LA(1) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, start231.tree) - if (LA77_0 == COMMA) : - alt77 = 1 - if alt77 == 1: - # sdl92.g:495:18: ',' variables_of_sort - pass - char_literal218 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_monitor_definition5622) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal218) - self._state.following.append(self.FOLLOW_variables_of_sort_in_monitor_definition5624) - variables_of_sort219 = self.variables_of_sort() + # sdl92.g:528:24: ( state | floating_label )* + while True: #loop71 + alt71 = 3 + alt71 = self.dfa71.predict(self.input) + if alt71 == 1: + # sdl92.g:528:25: state + pass + self._state.following.append(self.FOLLOW_state_in_processBody5829) + state232 = self.state() self._state.following.pop() if self._state.backtracking == 0: - stream_variables_of_sort.add(variables_of_sort219.tree) - + self._adaptor.addChild(root_0, state232.tree) - else: - break #loop77 + elif alt71 == 2: + # sdl92.g:528:33: floating_label + pass + self._state.following.append(self.FOLLOW_floating_label_in_processBody5833) + floating_label233 = self.floating_label() - self._state.following.append(self.FOLLOW_end_in_monitor_definition5644) - end220 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, floating_label233.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end220.tree) - # AST Rewrite - # elements: MONITOR, variables_of_sort - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: - if self._state.backtracking == 0: - retval.tree = root_0 - if retval is not None: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - - - root_0 = self._adaptor.nil() - # 497:9: -> ^( MONITOR ( variables_of_sort )+ ) - # sdl92.g:497:17: ^( MONITOR ( variables_of_sort )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_MONITOR.nextNode() - , root_1) - - # sdl92.g:497:27: ( variables_of_sort )+ - if not (stream_variables_of_sort.hasNext()): - raise RewriteEarlyExitException() - - while stream_variables_of_sort.hasNext(): - self._adaptor.addChild(root_1, stream_variables_of_sort.nextTree()) - - - stream_variables_of_sort.reset() - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 - + break #loop71 @@ -9571,19 +8864,25 @@ def monitor_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 42, processBody_StartIndex, success) + + pass return retval - # $ANTLR end "monitor_definition" + # $ANTLR end "processBody" - class synonym_definition_return(ParserRuleReturnScope): + class start_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -9593,153 +8892,130 @@ def __init__(self): - # $ANTLR start "synonym_definition" - # sdl92.g:501:1: synonym_definition : internal_synonym_definition ; - def synonym_definition(self, ): - retval = self.synonym_definition_return() + # $ANTLR start "start" + # sdl92.g:532:1: start : ( cif )* START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )* ( $name)? ( end )? ( transition )? ) ; + def start(self, ): + retval = self.start_return() retval.start = self.input.LT(1) + start_StartIndex = self.input.index() root_0 = None - internal_synonym_definition221 = None + START235 = None + name = None + cif234 = None + end236 = None + transition237 = None + START235_tree = None + stream_START = RewriteRuleTokenStream(self._adaptor, "token START") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + 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") + success = False try: try: - # sdl92.g:502:9: ( internal_synonym_definition ) - # sdl92.g:502:17: internal_synonym_definition - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_internal_synonym_definition_in_synonym_definition5699) - internal_synonym_definition221 = self.internal_synonym_definition() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, internal_synonym_definition221.tree) - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 43): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:533:9: ( ( cif )* START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )* ( $name)? ( end )? ( transition )? ) ) + # sdl92.g:533:17: ( cif )* START (name= state_entry_point_name )? end ( transition )? + pass + # sdl92.g:533:17: ( cif )* + while True: #loop72 + alt72 = 2 + LA72_0 = self.input.LA(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) - - + if (LA72_0 == 254) : + alt72 = 1 - 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 + if alt72 == 1: + # sdl92.g:533:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_start5867) + cif234 = self.cif() - # $ANTLR end "synonym_definition" + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif234.tree) - class internal_synonym_definition_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + else: + break #loop72 + START235 = self.match(self.input, START, self.FOLLOW_START_in_start5886) + if self._state.backtracking == 0: + stream_START.add(START235) + # sdl92.g:534:27: (name= state_entry_point_name )? + alt73 = 2 + LA73_0 = self.input.LA(1) - # $ANTLR start "internal_synonym_definition" - # sdl92.g:506: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) + if (LA73_0 == ID) : + alt73 = 1 + if alt73 == 1: + # sdl92.g:534:27: name= state_entry_point_name + pass + self._state.following.append(self.FOLLOW_state_entry_point_name_in_start5890) + name = self.state_entry_point_name() + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_entry_point_name.add(name.tree) - root_0 = None - SYNONYM222 = None - char_literal224 = None - synonym_definition_item223 = None - synonym_definition_item225 = None - end226 = None - SYNONYM222_tree = None - char_literal224_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:507:9: ( SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) ) - # sdl92.g:507:17: SYNONYM synonym_definition_item ( ',' synonym_definition_item )* end - pass - SYNONYM222 = self.match(self.input, SYNONYM, self.FOLLOW_SYNONYM_in_internal_synonym_definition5731) - if self._state.backtracking == 0: - stream_SYNONYM.add(SYNONYM222) - self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition5733) - synonym_definition_item223 = self.synonym_definition_item() + self._state.following.append(self.FOLLOW_end_in_start5893) + end236 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_synonym_definition_item.add(synonym_definition_item223.tree) - - - # sdl92.g:507:49: ( ',' synonym_definition_item )* - while True: #loop78 - alt78 = 2 - LA78_0 = self.input.LA(1) - - if (LA78_0 == COMMA) : - alt78 = 1 - - - if alt78 == 1: - # sdl92.g:507:50: ',' synonym_definition_item - pass - char_literal224 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_internal_synonym_definition5736) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal224) - - - self._state.following.append(self.FOLLOW_synonym_definition_item_in_internal_synonym_definition5738) - synonym_definition_item225 = self.synonym_definition_item() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_synonym_definition_item.add(synonym_definition_item225.tree) + stream_end.add(end236.tree) + # sdl92.g:535:17: ( transition )? + alt74 = 2 + alt74 = self.dfa74.predict(self.input) + if alt74 == 1: + # sdl92.g:535:17: transition + pass + self._state.following.append(self.FOLLOW_transition_in_start5911) + transition237 = self.transition() - else: - break #loop78 + self._state.following.pop() + if self._state.backtracking == 0: + stream_transition.add(transition237.tree) - self._state.following.append(self.FOLLOW_end_in_internal_synonym_definition5758) - end226 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end226.tree) # AST Rewrite - # elements: synonym_definition_item + # elements: START, cif, name, end, transition # token labels: - # rule labels: retval + # 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: @@ -9747,22 +9023,40 @@ def internal_synonym_definition(self, ): root_0 = self._adaptor.nil() - # 509:9: -> ^( SYNONYM_LIST ( synonym_definition_item )+ ) - # sdl92.g:509:17: ^( SYNONYM_LIST ( synonym_definition_item )+ ) + # 536:9: -> ^( START ( cif )* ( $name)? ( end )? ( transition )? ) + # sdl92.g:536:17: ^( START ( cif )* ( $name)? ( end )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SYNONYM_LIST, "SYNONYM_LIST") + stream_START.nextNode() , root_1) - # sdl92.g:509:32: ( synonym_definition_item )+ - if not (stream_synonym_definition_item.hasNext()): - raise RewriteEarlyExitException() + # sdl92.g:536:25: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - while stream_synonym_definition_item.hasNext(): - self._adaptor.addChild(root_1, stream_synonym_definition_item.nextTree()) + stream_cif.reset(); - stream_synonym_definition_item.reset() + # sdl92.g:536:31: ( $name)? + if stream_name.hasNext(): + self._adaptor.addChild(root_1, stream_name.nextTree()) + + + stream_name.reset(); + + # sdl92.g:536:37: ( end )? + if stream_end.hasNext(): + self._adaptor.addChild(root_1, stream_end.nextTree()) + + + stream_end.reset(); + + # sdl92.g:536:42: ( transition )? + if stream_transition.hasNext(): + self._adaptor.addChild(root_1, stream_transition.nextTree()) + + + stream_transition.reset(); self._adaptor.addChild(root_0, root_1) @@ -9784,19 +9078,25 @@ def internal_synonym_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 43, start_StartIndex, success) + + pass return retval - # $ANTLR end "internal_synonym_definition" + # $ANTLR end "start" - class synonym_definition_item_return(ParserRuleReturnScope): + class floating_label_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -9806,97 +9106,150 @@ def __init__(self): - # $ANTLR start "synonym_definition_item" - # sdl92.g:513:1: synonym_definition_item : variable_id sort '=' ( ground_expression | EXTERNAL ) -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) ; - def synonym_definition_item(self, ): - retval = self.synonym_definition_item_return() + # $ANTLR start "floating_label" + # sdl92.g:540:1: floating_label : ( cif )* CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )* connector_name ( transition )? ) ; + def floating_label(self, ): + retval = self.floating_label_return() retval.start = self.input.LT(1) + floating_label_StartIndex = self.input.index() root_0 = None - char_literal229 = None - EXTERNAL231 = None - variable_id227 = None - sort228 = None - ground_expression230 = None + CONNECTION239 = None + char_literal241 = None + ENDCONNECTION244 = None + SEMI245 = None + cif238 = None + connector_name240 = None + transition242 = None + cif_end_label243 = None + + CONNECTION239_tree = None + char_literal241_tree = None + ENDCONNECTION244_tree = None + SEMI245_tree = None + stream_CONNECTION = RewriteRuleTokenStream(self._adaptor, "token CONNECTION") + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") + stream_ENDCONNECTION = RewriteRuleTokenStream(self._adaptor, "token ENDCONNECTION") + stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + 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") + success = False - char_literal229_tree = None - EXTERNAL231_tree = None - stream_EXTERNAL = RewriteRuleTokenStream(self._adaptor, "token EXTERNAL") - stream_EQ = RewriteRuleTokenStream(self._adaptor, "token EQ") - 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:514:9: ( variable_id sort '=' ( ground_expression | EXTERNAL ) -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) ) - # sdl92.g:514:17: variable_id sort '=' ( ground_expression | EXTERNAL ) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 44): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:541:9: ( ( cif )* CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )* connector_name ( transition )? ) ) + # sdl92.g:541:17: ( cif )* CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI pass - self._state.following.append(self.FOLLOW_variable_id_in_synonym_definition_item5812) - variable_id227 = self.variable_id() + # sdl92.g:541:17: ( cif )* + while True: #loop75 + alt75 = 2 + LA75_0 = self.input.LA(1) - self._state.following.pop() + if (LA75_0 == 254) : + alt75 = 1 + + + if alt75 == 1: + # sdl92.g:541:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_floating_label5976) + cif238 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif238.tree) + + + + else: + break #loop75 + + + CONNECTION239 = self.match(self.input, CONNECTION, self.FOLLOW_CONNECTION_in_floating_label5995) if self._state.backtracking == 0: - stream_variable_id.add(variable_id227.tree) + stream_CONNECTION.add(CONNECTION239) - self._state.following.append(self.FOLLOW_sort_in_synonym_definition_item5814) - sort228 = self.sort() + self._state.following.append(self.FOLLOW_connector_name_in_floating_label5997) + connector_name240 = self.connector_name() self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort228.tree) + stream_connector_name.add(connector_name240.tree) - char_literal229 = self.match(self.input, EQ, self.FOLLOW_EQ_in_synonym_definition_item5816) + char_literal241 = self.match(self.input, 255, self.FOLLOW_255_in_floating_label5999) if self._state.backtracking == 0: - stream_EQ.add(char_literal229) + stream_255.add(char_literal241) - # sdl92.g:514:38: ( ground_expression | EXTERNAL ) - alt79 = 2 - LA79_0 = self.input.LA(1) + # sdl92.g:543:17: ( transition )? + alt76 = 2 + LA76_0 = self.input.LA(1) + + if (LA76_0 == 254) : + LA76_1 = self.input.LA(2) + + if (LA76_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, KEEP, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : + alt76 = 1 + elif (LA76_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK}) : + alt76 = 1 + if alt76 == 1: + # sdl92.g:543:17: transition + pass + self._state.following.append(self.FOLLOW_transition_in_floating_label6017) + transition242 = self.transition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_transition.add(transition242.tree) - if (LA79_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt79 = 1 - elif (LA79_0 == EXTERNAL) : - alt79 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 79, 0, self.input) - raise nvae + # sdl92.g:544:17: ( cif_end_label )? + alt77 = 2 + LA77_0 = self.input.LA(1) - if alt79 == 1: - # sdl92.g:514:39: ground_expression + if (LA77_0 == 254) : + alt77 = 1 + if alt77 == 1: + # sdl92.g:544:17: cif_end_label pass - self._state.following.append(self.FOLLOW_ground_expression_in_synonym_definition_item5819) - ground_expression230 = self.ground_expression() + self._state.following.append(self.FOLLOW_cif_end_label_in_floating_label6036) + cif_end_label243 = self.cif_end_label() self._state.following.pop() if self._state.backtracking == 0: - stream_ground_expression.add(ground_expression230.tree) + stream_cif_end_label.add(cif_end_label243.tree) - elif alt79 == 2: - # sdl92.g:514:59: EXTERNAL - pass - EXTERNAL231 = self.match(self.input, EXTERNAL, self.FOLLOW_EXTERNAL_in_synonym_definition_item5823) - if self._state.backtracking == 0: - stream_EXTERNAL.add(EXTERNAL231) + ENDCONNECTION244 = self.match(self.input, ENDCONNECTION, self.FOLLOW_ENDCONNECTION_in_floating_label6055) + if self._state.backtracking == 0: + stream_ENDCONNECTION.add(ENDCONNECTION244) + + SEMI245 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_floating_label6057) + if self._state.backtracking == 0: + stream_SEMI.add(SEMI245) # AST Rewrite - # elements: variable_id, sort, ground_expression, EXTERNAL + # elements: cif, connector_name, transition # token labels: # rule labels: retval # token list labels: @@ -9911,32 +9264,28 @@ def synonym_definition_item(self, ): root_0 = self._adaptor.nil() - # 515:9: -> ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) - # sdl92.g:515:17: ^( SYNONYM variable_id sort ( ground_expression )? ( EXTERNAL )? ) + # 546:9: -> ^( FLOATING_LABEL ( cif )* connector_name ( transition )? ) + # sdl92.g:546:17: ^( FLOATING_LABEL ( cif )* connector_name ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SYNONYM, "SYNONYM") + self._adaptor.createFromType(FLOATING_LABEL, "FLOATING_LABEL") , root_1) - self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - - self._adaptor.addChild(root_1, stream_sort.nextTree()) + # sdl92.g:546:34: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - # sdl92.g:515:44: ( ground_expression )? - if stream_ground_expression.hasNext(): - self._adaptor.addChild(root_1, stream_ground_expression.nextTree()) + stream_cif.reset(); - stream_ground_expression.reset(); + self._adaptor.addChild(root_1, stream_connector_name.nextTree()) - # sdl92.g:515:63: ( EXTERNAL )? - if stream_EXTERNAL.hasNext(): - self._adaptor.addChild(root_1, - stream_EXTERNAL.nextNode() - ) + # sdl92.g:546:54: ( transition )? + if stream_transition.hasNext(): + self._adaptor.addChild(root_1, stream_transition.nextTree()) - stream_EXTERNAL.reset(); + stream_transition.reset(); self._adaptor.addChild(root_0, root_1) @@ -9958,19 +9307,25 @@ def synonym_definition_item(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 44, floating_label_StartIndex, success) + + pass return retval - # $ANTLR end "synonym_definition_item" + # $ANTLR end "floating_label" - class variables_of_sort_return(ParserRuleReturnScope): + class state_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -9980,275 +9335,332 @@ def __init__(self): - # $ANTLR start "variables_of_sort" - # sdl92.g:519:1: variables_of_sort : variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) ; - def variables_of_sort(self, ): - retval = self.variables_of_sort_return() + # $ANTLR start "state" + # sdl92.g:550:1: state : ( state_definition | state_instance ); + def state(self, ): + retval = self.state_return() retval.start = self.input.LT(1) + state_StartIndex = self.input.index() root_0 = None - char_literal233 = None - string_literal236 = None - RENAMES238 = None - variable_id232 = None - variable_id234 = None - sort235 = None - ground_expression237 = None - variable239 = None - - char_literal233_tree = None - string_literal236_tree = None - RENAMES238_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_RENAMES = RewriteRuleTokenStream(self._adaptor, "token RENAMES") - 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_variable = RewriteRuleSubtreeStream(self._adaptor, "rule variable") - stream_sort = RewriteRuleSubtreeStream(self._adaptor, "rule sort") + state_definition246 = None + state_instance247 = None + + + success = False + try: try: - # sdl92.g:520:9: ( variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) ) - # sdl92.g:520:17: variable_id ( ',' variable_id )* sort ( ( ':=' ground_expression ) | ( RENAMES variable ) )? - pass - self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort5885) - variable_id232 = self.variable_id() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 45): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_id.add(variable_id232.tree) + # sdl92.g:551:9: ( state_definition | state_instance ) + alt78 = 2 + alt78 = self.dfa78.predict(self.input) + if alt78 == 1: + # sdl92.g:551:11: state_definition + pass + root_0 = self._adaptor.nil() - # sdl92.g:520:29: ( ',' variable_id )* - while True: #loop80 - alt80 = 2 - LA80_0 = self.input.LA(1) - if (LA80_0 == COMMA) : - alt80 = 1 + self._state.following.append(self.FOLLOW_state_definition_in_state6110) + state_definition246 = self.state_definition() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, state_definition246.tree) - if alt80 == 1: - # sdl92.g:520:30: ',' variable_id - pass - char_literal233 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_variables_of_sort5888) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal233) + elif alt78 == 2: + # sdl92.g:552:13: state_instance + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_variable_id_in_variables_of_sort5890) - variable_id234 = self.variable_id() - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_id.add(variable_id234.tree) + self._state.following.append(self.FOLLOW_state_instance_in_state6124) + state_instance247 = self.state_instance() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, state_instance247.tree) - else: - break #loop80 + retval.stop = self.input.LT(-1) - self._state.following.append(self.FOLLOW_sort_in_variables_of_sort5894) - sort235 = self.sort() - self._state.following.pop() if self._state.backtracking == 0: - stream_sort.add(sort235.tree) - + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - # sdl92.g:521:17: ( ( ':=' ground_expression ) | ( RENAMES variable ) )? - alt81 = 3 - LA81_0 = self.input.LA(1) - if (LA81_0 == ASSIG_OP) : - alt81 = 1 - elif (LA81_0 == RENAMES) : - alt81 = 2 - if alt81 == 1: - # sdl92.g:521:18: ( ':=' ground_expression ) - pass - # sdl92.g:521:18: ( ':=' ground_expression ) - # sdl92.g:521:19: ':=' ground_expression - pass - string_literal236 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_variables_of_sort5914) - if self._state.backtracking == 0: - stream_ASSIG_OP.add(string_literal236) + success = True - self._state.following.append(self.FOLLOW_ground_expression_in_variables_of_sort5916) - ground_expression237 = self.ground_expression() + 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) - self._state.following.pop() - if self._state.backtracking == 0: - stream_ground_expression.add(ground_expression237.tree) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 45, state_StartIndex, success) + pass + return retval + # $ANTLR end "state" + class state_definition_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - elif alt81 == 2: - # sdl92.g:521:45: ( RENAMES variable ) - pass - # sdl92.g:521:45: ( RENAMES variable ) - # sdl92.g:521:46: RENAMES variable - pass - RENAMES238 = self.match(self.input, RENAMES, self.FOLLOW_RENAMES_in_variables_of_sort5922) - if self._state.backtracking == 0: - stream_RENAMES.add(RENAMES238) + self.tree = None - self._state.following.append(self.FOLLOW_variable_in_variables_of_sort5924) - variable239 = self.variable() - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable.add(variable239.tree) + # $ANTLR start "state_definition" + # sdl92.g:556:1: state_definition : ( cif )* STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )* ( $e)? statelist ( via )? ( state_part )* ) ; + def state_definition(self, ): + retval = self.state_definition_return() + retval.start = self.input.LT(1) + state_definition_StartIndex = self.input.index() + root_0 = None + STATE249 = None + SEMI252 = None + ENDSTATE254 = None + e = None + f = None + cif248 = None + statelist250 = None + via251 = None + state_part253 = None + statename255 = None + + STATE249_tree = None + SEMI252_tree = None + ENDSTATE254_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_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") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 46): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # AST Rewrite - # elements: variable_id, sort, ground_expression, RENAMES, variable - # 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) + # sdl92.g:557:9: ( ( cif )* STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )* ( $e)? statelist ( via )? ( state_part )* ) ) + # sdl92.g:557:17: ( cif )* STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end + pass + # sdl92.g:557:17: ( cif )* + while True: #loop79 + alt79 = 2 + LA79_0 = self.input.LA(1) + if (LA79_0 == 254) : + alt79 = 1 - root_0 = self._adaptor.nil() - # 522:9: -> ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) - # sdl92.g:522:17: ^( VARIABLES ( variable_id )+ sort ( ground_expression )? ( ^( RENAMES variable ) )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(VARIABLES, "VARIABLES") - , root_1) - # sdl92.g:522:29: ( variable_id )+ - if not (stream_variable_id.hasNext()): - raise RewriteEarlyExitException() + if alt79 == 1: + # sdl92.g:557:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_state_definition6156) + cif248 = self.cif() - while stream_variable_id.hasNext(): - self._adaptor.addChild(root_1, stream_variable_id.nextTree()) + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif248.tree) - stream_variable_id.reset() - self._adaptor.addChild(root_1, stream_sort.nextTree()) + else: + break #loop79 - # sdl92.g:523:19: ( ground_expression )? - if stream_ground_expression.hasNext(): - self._adaptor.addChild(root_1, stream_ground_expression.nextTree()) + STATE249 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_definition6175) + if self._state.backtracking == 0: + stream_STATE.add(STATE249) - stream_ground_expression.reset(); - # sdl92.g:523:38: ( ^( RENAMES variable ) )? - if stream_RENAMES.hasNext() or stream_variable.hasNext(): - # sdl92.g:523:38: ^( RENAMES variable ) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - stream_RENAMES.nextNode() - , root_2) + self._state.following.append(self.FOLLOW_statelist_in_state_definition6177) + statelist250 = self.statelist() - self._adaptor.addChild(root_2, stream_variable.nextTree()) + self._state.following.pop() + if self._state.backtracking == 0: + stream_statelist.add(statelist250.tree) - self._adaptor.addChild(root_1, root_2) + # sdl92.g:558:33: ( via )? + alt80 = 2 + LA80_0 = self.input.LA(1) - stream_RENAMES.reset(); - stream_variable.reset(); + if (LA80_0 == VIA) : + alt80 = 1 + if alt80 == 1: + # sdl92.g:558:33: via + pass + self._state.following.append(self.FOLLOW_via_in_state_definition6179) + via251 = self.via() - self._adaptor.addChild(root_0, root_1) + self._state.following.pop() + if self._state.backtracking == 0: + stream_via.add(via251.tree) - retval.tree = root_0 + # sdl92.g:558:38: (e= end | SEMI ) + alt81 = 2 + LA81_0 = self.input.LA(1) + if (LA81_0 in {COMMENT, 254}) : + alt81 = 1 + elif (LA81_0 == SEMI) : + LA81_2 = self.input.LA(2) + if (self.synpred111_sdl92()) : + alt81 = 1 + elif (True) : + alt81 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - retval.stop = self.input.LT(-1) + nvae = NoViableAltException("", 81, 2, self.input) + raise nvae - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - 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) + nvae = NoViableAltException("", 81, 0, self.input) - finally: - pass - return retval + raise nvae - # $ANTLR end "variables_of_sort" + if alt81 == 1: + # sdl92.g:558:39: e= end + pass + self._state.following.append(self.FOLLOW_end_in_state_definition6185) + e = self.end() - class ground_expression_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(e.tree) - self.tree = None + elif alt81 == 2: + # sdl92.g:558:47: SEMI + pass + SEMI252 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_definition6189) + if self._state.backtracking == 0: + stream_SEMI.add(SEMI252) - # $ANTLR start "ground_expression" - # sdl92.g:527:1: ground_expression : expression -> ^( GROUND expression ) ; - def ground_expression(self, ): - retval = self.ground_expression_return() - retval.start = self.input.LT(1) - root_0 = None + # sdl92.g:559:17: ( state_part )* + while True: #loop82 + alt82 = 2 + LA82_0 = self.input.LA(1) - expression240 = None + if (LA82_0 in {CONNECT, INPUT, PROVIDED, SAVE, 254}) : + alt82 = 1 + + + if alt82 == 1: + # sdl92.g:559:18: state_part + pass + self._state.following.append(self.FOLLOW_state_part_in_state_definition6209) + state_part253 = self.state_part() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_part.add(state_part253.tree) + + + + else: + break #loop82 + + + ENDSTATE254 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_definition6229) + if self._state.backtracking == 0: + stream_ENDSTATE.add(ENDSTATE254) - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - try: - try: - # sdl92.g:528:9: ( expression -> ^( GROUND expression ) ) - # sdl92.g:528:17: expression - pass - self._state.following.append(self.FOLLOW_expression_in_ground_expression6011) - expression240 = self.expression() + + # sdl92.g:560:26: ( statename )? + alt83 = 2 + LA83_0 = self.input.LA(1) + + if (LA83_0 == ID) : + alt83 = 1 + if alt83 == 1: + # sdl92.g:560:26: statename + pass + self._state.following.append(self.FOLLOW_statename_in_state_definition6231) + statename255 = self.statename() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename255.tree) + + + + + + self._state.following.append(self.FOLLOW_end_in_state_definition6236) + f = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression240.tree) + stream_end.add(f.tree) # AST Rewrite - # elements: expression + # elements: STATE, cif, e, statelist, via, state_part # token labels: - # rule labels: retval + # 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: @@ -10256,14 +9668,42 @@ def ground_expression(self, ): root_0 = self._adaptor.nil() - # 529:9: -> ^( GROUND expression ) - # sdl92.g:529:17: ^( GROUND expression ) + # 561:9: -> ^( STATE ( cif )* ( $e)? statelist ( via )? ( state_part )* ) + # sdl92.g:561:17: ^( STATE ( cif )* ( $e)? statelist ( via )? ( state_part )* ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(GROUND, "GROUND") + stream_STATE.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_expression.nextTree()) + # sdl92.g:561:25: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) + + + stream_cif.reset(); + + # sdl92.g:561:31: ( $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:561:44: ( via )? + if stream_via.hasNext(): + self._adaptor.addChild(root_1, stream_via.nextTree()) + + + stream_via.reset(); + + # sdl92.g:561:49: ( 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) @@ -10285,19 +9725,25 @@ def ground_expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 46, state_definition_StartIndex, success) + + pass return retval - # $ANTLR end "ground_expression" + # $ANTLR end "state_definition" - class number_of_instances_return(ParserRuleReturnScope): + class state_instance_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -10307,601 +9753,559 @@ def __init__(self): - # $ANTLR start "number_of_instances" - # sdl92.g:533: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() + # $ANTLR start "state_instance" + # sdl92.g:565:1: state_instance : ( cif )* STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )* ( $e)? statename ( via )? type_inst ( state_part )* ) ; + def state_instance(self, ): + retval = self.state_instance_return() retval.start = self.input.LT(1) + state_instance_StartIndex = self.input.index() root_0 = None - initial_number = None - maximum_number = None - char_literal241 = None - char_literal242 = None - char_literal243 = None - - initial_number_tree = None - maximum_number_tree = None - char_literal241_tree = None - char_literal242_tree = None - char_literal243_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") + STATE257 = None + char_literal259 = None + SEMI262 = None + ENDSTATE264 = None + e = None + f = None + cif256 = None + statename258 = None + type_inst260 = None + via261 = None + state_part263 = None + statename265 = None + + STATE257_tree = None + char_literal259_tree = None + SEMI262_tree = None + ENDSTATE264_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") + 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_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") + stream_type_inst = RewriteRuleSubtreeStream(self._adaptor, "rule type_inst") + stream_state_part = RewriteRuleSubtreeStream(self._adaptor, "rule state_part") + stream_via = RewriteRuleSubtreeStream(self._adaptor, "rule via") + success = False try: try: - # sdl92.g:534:9: ( '(' initial_number= INT ',' maximum_number= INT ')' -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) ) - # sdl92.g:534:17: '(' initial_number= INT ',' maximum_number= INT ')' - pass - char_literal241 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_number_of_instances6064) - if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal241) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 47): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - initial_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances6068) - if self._state.backtracking == 0: - stream_INT.add(initial_number) - + # sdl92.g:566:9: ( ( cif )* STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )* ( $e)? statename ( via )? type_inst ( state_part )* ) ) + # sdl92.g:566:17: ( cif )* STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end + pass + # sdl92.g:566:17: ( cif )* + while True: #loop84 + alt84 = 2 + LA84_0 = self.input.LA(1) - char_literal242 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_number_of_instances6070) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal242) + if (LA84_0 == 254) : + alt84 = 1 - maximum_number = self.match(self.input, INT, self.FOLLOW_INT_in_number_of_instances6074) - if self._state.backtracking == 0: - stream_INT.add(maximum_number) + if alt84 == 1: + # sdl92.g:566:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_state_instance6302) + cif256 = self.cif() + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif256.tree) - char_literal243 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_number_of_instances6076) - if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal243) - # 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) + break #loop84 - root_0 = self._adaptor.nil() - # 535:9: -> ^( NUMBER_OF_INSTANCES $initial_number $maximum_number) - # sdl92.g:535: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()) + STATE257 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_instance6321) + if self._state.backtracking == 0: + stream_STATE.add(STATE257) - self._adaptor.addChild(root_1, stream_maximum_number.nextNode()) - self._adaptor.addChild(root_0, root_1) + self._state.following.append(self.FOLLOW_statename_in_state_instance6323) + statename258 = self.statename() + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename258.tree) + char_literal259 = self.match(self.input, 255, self.FOLLOW_255_in_state_instance6325) + if self._state.backtracking == 0: + stream_255.add(char_literal259) - retval.tree = root_0 + self._state.following.append(self.FOLLOW_type_inst_in_state_instance6327) + type_inst260 = self.type_inst() + self._state.following.pop() + if self._state.backtracking == 0: + stream_type_inst.add(type_inst260.tree) + # sdl92.g:567:47: ( via )? + alt85 = 2 + LA85_0 = self.input.LA(1) - retval.stop = self.input.LT(-1) + if (LA85_0 == VIA) : + alt85 = 1 + if alt85 == 1: + # sdl92.g:567:47: via + pass + self._state.following.append(self.FOLLOW_via_in_state_instance6329) + via261 = self.via() + self._state.following.pop() + if self._state.backtracking == 0: + stream_via.add(via261.tree) - 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 + # sdl92.g:567:52: (e= end | SEMI ) + alt86 = 2 + LA86_0 = self.input.LA(1) - # $ANTLR end "number_of_instances" + if (LA86_0 in {COMMENT, 254}) : + alt86 = 1 + elif (LA86_0 == SEMI) : + LA86_2 = self.input.LA(2) + if (self.synpred116_sdl92()) : + alt86 = 1 + elif (True) : + alt86 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - class processBody_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + nvae = NoViableAltException("", 86, 2, self.input) + raise nvae + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # $ANTLR start "processBody" - # sdl92.g:539:1: processBody : ( start )? ( state | floating_label )* ; - def processBody(self, ): - retval = self.processBody_return() - retval.start = self.input.LT(1) + nvae = NoViableAltException("", 86, 0, self.input) + raise nvae - root_0 = None - start244 = None - state245 = None - floating_label246 = None + if alt86 == 1: + # sdl92.g:567:53: e= end + pass + self._state.following.append(self.FOLLOW_end_in_state_instance6335) + e = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(e.tree) - try: - try: - # sdl92.g:540:9: ( ( start )? ( state | floating_label )* ) - # sdl92.g:540:17: ( start )? ( state | floating_label )* - pass - root_0 = self._adaptor.nil() - # sdl92.g:540:17: ( start )? - alt82 = 2 - alt82 = self.dfa82.predict(self.input) - if alt82 == 1: - # sdl92.g:540:17: start + elif alt86 == 2: + # sdl92.g:567:61: SEMI pass - self._state.following.append(self.FOLLOW_start_in_processBody6133) - start244 = self.start() - - self._state.following.pop() + SEMI262 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_instance6339) if self._state.backtracking == 0: - self._adaptor.addChild(root_0, start244.tree) + stream_SEMI.add(SEMI262) - # sdl92.g:540:24: ( state | floating_label )* - while True: #loop83 - alt83 = 3 - alt83 = self.dfa83.predict(self.input) - if alt83 == 1: - # sdl92.g:540:25: state - pass - self._state.following.append(self.FOLLOW_state_in_processBody6137) - state245 = self.state() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state245.tree) + # sdl92.g:568:17: ( state_part )* + while True: #loop87 + alt87 = 2 + LA87_0 = self.input.LA(1) + if (LA87_0 in {CONNECT, INPUT, PROVIDED, SAVE, 254}) : + alt87 = 1 - elif alt83 == 2: - # sdl92.g:540:33: floating_label + if alt87 == 1: + # sdl92.g:568:18: state_part pass - self._state.following.append(self.FOLLOW_floating_label_in_processBody6141) - floating_label246 = self.floating_label() + self._state.following.append(self.FOLLOW_state_part_in_state_instance6359) + state_part263 = self.state_part() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, floating_label246.tree) + stream_state_part.add(state_part263.tree) else: - break #loop83 - - - - - retval.stop = self.input.LT(-1) + break #loop87 + ENDSTATE264 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_instance6379) 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 + stream_ENDSTATE.add(ENDSTATE264) - # $ANTLR end "processBody" + # sdl92.g:569:26: ( statename )? + alt88 = 2 + LA88_0 = self.input.LA(1) - class start_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + if (LA88_0 == ID) : + alt88 = 1 + if alt88 == 1: + # sdl92.g:569:26: statename + pass + self._state.following.append(self.FOLLOW_statename_in_state_instance6381) + statename265 = self.statename() - self.tree = None + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename265.tree) - # $ANTLR start "start" - # sdl92.g:544:1: start : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) ; - def start(self, ): - retval = self.start_return() - retval.start = self.input.LT(1) + self._state.following.append(self.FOLLOW_end_in_state_instance6386) + f = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(f.tree) - root_0 = None - - START253 = None - name = None - cif247 = None - symbolid248 = None - hyperlink249 = None - requirement250 = None - rid251 = None - partition252 = None - end254 = None - transition255 = None - - START253_tree = None - stream_START = RewriteRuleTokenStream(self._adaptor, "token START") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_partition = RewriteRuleSubtreeStream(self._adaptor, "rule partition") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_state_entry_point_name = RewriteRuleSubtreeStream(self._adaptor, "rule state_entry_point_name") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") - try: - try: - # sdl92.g:545:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? START (name= state_entry_point_name )? end ( transition )? -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) ) - # sdl92.g:545:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? START (name= state_entry_point_name )? end ( transition )? - pass - # sdl92.g:545:17: ( cif )? - alt84 = 2 - LA84_0 = self.input.LA(1) - - if (LA84_0 == 254) : - LA84_1 = self.input.LA(2) - - if (LA84_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt84 = 1 - if alt84 == 1: - # sdl92.g:545:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_start6175) - cif247 = self.cif() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif247.tree) - - - - - - # sdl92.g:546:17: ( symbolid )? - alt85 = 2 - LA85_0 = self.input.LA(1) - - if (LA85_0 == 254) : - LA85_1 = self.input.LA(2) - - if (LA85_1 == 256) : - alt85 = 1 - if alt85 == 1: - # sdl92.g:546:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_start6194) - symbolid248 = self.symbolid() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid248.tree) + # AST Rewrite + # elements: STATE, cif, e, statename, via, type_inst, state_part + # token labels: + # rule labels: e, retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + if e is not None: + stream_e = RewriteRuleSubtreeStream(self._adaptor, "rule e", e.tree) + else: + stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + root_0 = self._adaptor.nil() + # 570:9: -> ^( STATE ( cif )* ( $e)? statename ( via )? type_inst ( state_part )* ) + # sdl92.g:570:17: ^( STATE ( cif )* ( $e)? statename ( via )? type_inst ( state_part )* ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_STATE.nextNode() + , root_1) - # sdl92.g:547:17: ( hyperlink )? - alt86 = 2 - LA86_0 = self.input.LA(1) + # sdl92.g:570:25: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - if (LA86_0 == 254) : - LA86_1 = self.input.LA(2) - if (LA86_1 == KEEP) : - LA86_3 = self.input.LA(3) + stream_cif.reset(); - if (LA86_3 == SPECIFIC) : - LA86_4 = self.input.LA(4) + # sdl92.g:570:31: ( $e)? + if stream_e.hasNext(): + self._adaptor.addChild(root_1, stream_e.nextTree()) - if (LA86_4 == GEODE) : - LA86_5 = self.input.LA(5) - if (LA86_5 == HYPERLINK) : - alt86 = 1 - if alt86 == 1: - # sdl92.g:547:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_start6213) - hyperlink249 = self.hyperlink() + stream_e.reset(); - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink249.tree) + self._adaptor.addChild(root_1, stream_statename.nextTree()) + # sdl92.g:570:44: ( via )? + if stream_via.hasNext(): + self._adaptor.addChild(root_1, stream_via.nextTree()) + stream_via.reset(); + self._adaptor.addChild(root_1, stream_type_inst.nextTree()) - # sdl92.g:548:17: ( requirement )* - while True: #loop87 - alt87 = 2 - LA87_0 = self.input.LA(1) + # sdl92.g:570:59: ( state_part )* + while stream_state_part.hasNext(): + self._adaptor.addChild(root_1, stream_state_part.nextTree()) - if (LA87_0 == 254) : - LA87_1 = self.input.LA(2) - if (LA87_1 == KEEP) : - LA87_3 = self.input.LA(3) + stream_state_part.reset(); - if (LA87_3 == SPECIFIC) : - LA87_4 = self.input.LA(4) + self._adaptor.addChild(root_0, root_1) - if (LA87_4 == GEODE) : - LA87_5 = self.input.LA(5) - if (LA87_5 == REQ_ID) : - alt87 = 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) - if alt87 == 1: - # sdl92.g:548:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_start6232) - requirement250 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement250.tree) + success = True + 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) - else: - break #loop87 + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 47, state_instance_StartIndex, success) - # sdl92.g:549:17: ( rid )* - while True: #loop88 - alt88 = 2 - LA88_0 = self.input.LA(1) + pass + return retval - if (LA88_0 == 254) : - LA88_1 = self.input.LA(2) + # $ANTLR end "state_instance" - if (LA88_1 == KEEP) : - LA88_3 = self.input.LA(3) - if (LA88_3 == SPECIFIC) : - LA88_4 = self.input.LA(4) + class statelist_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA88_4 == GEODE) : - LA88_5 = self.input.LA(5) + self.tree = None - if (LA88_5 == RID_ID) : - alt88 = 1 + # $ANTLR start "statelist" + # sdl92.g:574: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) + statelist_StartIndex = self.input.index() + root_0 = None + char_literal267 = None + ASTERISK269 = None + statename266 = None + statename268 = None + exception_state270 = None + char_literal267_tree = None + ASTERISK269_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") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 48): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if alt88 == 1: - # sdl92.g:549:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_start6251) - rid251 = self.rid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid251.tree) + # sdl92.g:575:9: ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ) + alt91 = 2 + LA91_0 = self.input.LA(1) + if (LA91_0 == ID) : + alt91 = 1 + elif (LA91_0 == ASTERISK) : + alt91 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - else: - break #loop88 + nvae = NoViableAltException("", 91, 0, self.input) + raise nvae - # sdl92.g:550:17: ( partition )? - alt89 = 2 - LA89_0 = self.input.LA(1) - if (LA89_0 == 254) : - alt89 = 1 - if alt89 == 1: - # sdl92.g:550:17: partition + if alt91 == 1: + # sdl92.g:575:17: ( ( statename ) ( ',' statename )* ) pass - self._state.following.append(self.FOLLOW_partition_in_start6270) - partition252 = self.partition() + # sdl92.g:575:17: ( ( statename ) ( ',' statename )* ) + # sdl92.g:575:18: ( statename ) ( ',' statename )* + pass + # sdl92.g:575:18: ( statename ) + # sdl92.g:575:19: statename + pass + self._state.following.append(self.FOLLOW_statename_in_statelist6456) + statename266 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_partition.add(partition252.tree) - - + stream_statename.add(statename266.tree) - START253 = self.match(self.input, START, self.FOLLOW_START_in_start6289) - if self._state.backtracking == 0: - stream_START.add(START253) - - # sdl92.g:551:27: (name= state_entry_point_name )? - alt90 = 2 - LA90_0 = self.input.LA(1) - if (LA90_0 == ID) : - alt90 = 1 - if alt90 == 1: - # sdl92.g:551:27: name= state_entry_point_name - pass - self._state.following.append(self.FOLLOW_state_entry_point_name_in_start6293) - name = self.state_entry_point_name() + # sdl92.g:575:29: ( ',' statename )* + while True: #loop89 + alt89 = 2 + LA89_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_state_entry_point_name.add(name.tree) + if (LA89_0 == COMMA) : + alt89 = 1 + if alt89 == 1: + # sdl92.g:575:30: ',' statename + pass + char_literal267 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_statelist6459) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal267) + self._state.following.append(self.FOLLOW_statename_in_statelist6461) + statename268 = self.statename() - self._state.following.append(self.FOLLOW_end_in_start6296) - end254 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename268.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end254.tree) - # sdl92.g:552:17: ( transition )? - alt91 = 2 - alt91 = self.dfa91.predict(self.input) - if alt91 == 1: - # sdl92.g:552:17: transition - pass - self._state.following.append(self.FOLLOW_transition_in_start6314) - transition255 = self.transition() + else: + break #loop89 - self._state.following.pop() - if self._state.backtracking == 0: - stream_transition.add(transition255.tree) + # 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) - # AST Rewrite - # elements: START, cif, symbolid, partition, hyperlink, requirement, 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() + # 576:9: -> ^( STATELIST ( statename )+ ) + # sdl92.g:576:17: ^( STATELIST ( statename )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(STATELIST, "STATELIST") + , root_1) + # sdl92.g:576:29: ( statename )+ + if not (stream_statename.hasNext()): + raise RewriteEarlyExitException() - root_0 = self._adaptor.nil() - # 553:9: -> ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) - # sdl92.g:553:17: ^( START ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( $name)? ( end )? ( transition )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_START.nextNode() - , root_1) + while stream_statename.hasNext(): + self._adaptor.addChild(root_1, stream_statename.nextTree()) - # sdl92.g:553:25: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + stream_statename.reset() - stream_cif.reset(); + self._adaptor.addChild(root_0, root_1) - # sdl92.g:553:30: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - stream_symbolid.reset(); - # sdl92.g:553:40: ( partition )? - if stream_partition.hasNext(): - self._adaptor.addChild(root_1, stream_partition.nextTree()) + retval.tree = root_0 - stream_partition.reset(); - # sdl92.g:553:51: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + elif alt91 == 2: + # sdl92.g:577:19: ASTERISK ( exception_state )? + pass + ASTERISK269 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_statelist6506) + if self._state.backtracking == 0: + stream_ASTERISK.add(ASTERISK269) - stream_hyperlink.reset(); - # sdl92.g:553:62: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + # sdl92.g:577:28: ( exception_state )? + alt90 = 2 + LA90_0 = self.input.LA(1) + if (LA90_0 == L_PAREN) : + alt90 = 1 + if alt90 == 1: + # sdl92.g:577:28: exception_state + pass + self._state.following.append(self.FOLLOW_exception_state_in_statelist6508) + exception_state270 = self.exception_state() - stream_requirement.reset(); + self._state.following.pop() + if self._state.backtracking == 0: + stream_exception_state.add(exception_state270.tree) - # sdl92.g:553:76: ( $name)? - if stream_name.hasNext(): - self._adaptor.addChild(root_1, stream_name.nextTree()) - stream_name.reset(); - # sdl92.g:553:82: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) + # 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) - stream_end.reset(); - # sdl92.g:553:87: ( transition )? - if stream_transition.hasNext(): - self._adaptor.addChild(root_1, stream_transition.nextTree()) + root_0 = self._adaptor.nil() + # 578:9: -> ^( ASTERISK ( exception_state )? ) + # sdl92.g:578:17: ^( ASTERISK ( exception_state )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_ASTERISK.nextNode() + , root_1) + # sdl92.g:578:28: ( exception_state )? + if stream_exception_state.hasNext(): + self._adaptor.addChild(root_1, stream_exception_state.nextTree()) - stream_transition.reset(); - self._adaptor.addChild(root_0, root_1) + stream_exception_state.reset(); + self._adaptor.addChild(root_0, root_1) - retval.tree = root_0 + retval.tree = root_0 @@ -10915,19 +10319,25 @@ def start(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 48, statelist_StartIndex, success) + + pass return retval - # $ANTLR end "start" + # $ANTLR end "statelist" - class floating_label_return(ParserRuleReturnScope): + class exception_state_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -10937,392 +10347,367 @@ def __init__(self): - # $ANTLR start "floating_label" - # sdl92.g:557:1: floating_label : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) ; - def floating_label(self, ): - retval = self.floating_label_return() + # $ANTLR start "exception_state" + # sdl92.g:582:1: exception_state : '(' statename ( ',' statename )* ')' -> ( statename )+ ; + def exception_state(self, ): + retval = self.exception_state_return() retval.start = self.input.LT(1) + exception_state_StartIndex = self.input.index() root_0 = None - CONNECTION262 = None - char_literal264 = None - ENDCONNECTION267 = None - SEMI268 = None - cif256 = None - symbolid257 = None - hyperlink258 = None - requirement259 = None - rid260 = None - partition261 = None - connector_name263 = None - transition265 = None - cif_end_label266 = None - - CONNECTION262_tree = None - char_literal264_tree = None - ENDCONNECTION267_tree = None - SEMI268_tree = None - stream_CONNECTION = RewriteRuleTokenStream(self._adaptor, "token CONNECTION") - stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") - stream_ENDCONNECTION = RewriteRuleTokenStream(self._adaptor, "token ENDCONNECTION") - stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_partition = RewriteRuleSubtreeStream(self._adaptor, "rule partition") - stream_cif_end_label = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end_label") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_connector_name = RewriteRuleSubtreeStream(self._adaptor, "rule connector_name") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") - try: - try: - # sdl92.g:558:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) ) - # sdl92.g:558:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? CONNECTION connector_name ':' ( transition )? ( cif_end_label )? ENDCONNECTION SEMI - pass - # sdl92.g:558:17: ( cif )? - alt92 = 2 - LA92_0 = self.input.LA(1) - - if (LA92_0 == 254) : - LA92_1 = self.input.LA(2) - - if (LA92_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt92 = 1 - if alt92 == 1: - # sdl92.g:558:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_floating_label6391) - cif256 = self.cif() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif256.tree) + char_literal271 = None + char_literal273 = None + char_literal275 = None + statename272 = None + statename274 = None + char_literal271_tree = None + char_literal273_tree = None + char_literal275_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") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 49): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:583:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) + # sdl92.g:583:17: '(' statename ( ',' statename )* ')' + pass + char_literal271 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_exception_state6563) + if self._state.backtracking == 0: + stream_L_PAREN.add(char_literal271) - # sdl92.g:559:17: ( symbolid )? - alt93 = 2 - LA93_0 = self.input.LA(1) - if (LA93_0 == 254) : - LA93_1 = self.input.LA(2) + self._state.following.append(self.FOLLOW_statename_in_exception_state6565) + statename272 = self.statename() - if (LA93_1 == 256) : - alt93 = 1 - if alt93 == 1: - # sdl92.g:559:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_floating_label6410) - symbolid257 = self.symbolid() + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename272.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid257.tree) + # sdl92.g:583:31: ( ',' statename )* + while True: #loop92 + alt92 = 2 + LA92_0 = self.input.LA(1) + if (LA92_0 == COMMA) : + alt92 = 1 + if alt92 == 1: + # sdl92.g:583:32: ',' statename + pass + char_literal273 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_exception_state6568) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal273) - # sdl92.g:560:17: ( hyperlink )? - alt94 = 2 - LA94_0 = self.input.LA(1) - if (LA94_0 == 254) : - LA94_1 = self.input.LA(2) + self._state.following.append(self.FOLLOW_statename_in_exception_state6570) + statename274 = self.statename() - if (LA94_1 == KEEP) : - LA94_3 = self.input.LA(3) + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename274.tree) - if (LA94_3 == SPECIFIC) : - LA94_4 = self.input.LA(4) - if (LA94_4 == GEODE) : - LA94_5 = self.input.LA(5) - if (LA94_5 == HYPERLINK) : - alt94 = 1 - if alt94 == 1: - # sdl92.g:560:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_floating_label6429) - hyperlink258 = self.hyperlink() + else: + break #loop92 - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink258.tree) + char_literal275 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_exception_state6574) + if self._state.backtracking == 0: + stream_R_PAREN.add(char_literal275) + # 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) - # sdl92.g:561:17: ( requirement )* - while True: #loop95 - alt95 = 2 - LA95_0 = self.input.LA(1) + root_0 = self._adaptor.nil() + # 584:9: -> ( statename )+ + # sdl92.g:584:17: ( statename )+ + if not (stream_statename.hasNext()): + raise RewriteEarlyExitException() - if (LA95_0 == 254) : - LA95_1 = self.input.LA(2) + while stream_statename.hasNext(): + self._adaptor.addChild(root_0, stream_statename.nextTree()) - if (LA95_1 == KEEP) : - LA95_3 = self.input.LA(3) - if (LA95_3 == SPECIFIC) : - LA95_4 = self.input.LA(4) + stream_statename.reset() - if (LA95_4 == GEODE) : - LA95_5 = self.input.LA(5) - if (LA95_5 == REQ_ID) : - alt95 = 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) - if alt95 == 1: - # sdl92.g:561:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_floating_label6448) - requirement259 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement259.tree) + success = True + 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) - else: - break #loop95 + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 49, exception_state_StartIndex, success) - # sdl92.g:562:17: ( rid )* - while True: #loop96 - alt96 = 2 - LA96_0 = self.input.LA(1) + pass + return retval - if (LA96_0 == 254) : - LA96_1 = self.input.LA(2) + # $ANTLR end "exception_state" - if (LA96_1 == KEEP) : - LA96_3 = self.input.LA(3) - if (LA96_3 == SPECIFIC) : - LA96_4 = self.input.LA(4) + class composite_state_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA96_4 == GEODE) : - LA96_5 = self.input.LA(5) + self.tree = None - if (LA96_5 == RID_ID) : - alt96 = 1 + # $ANTLR start "composite_state" + # sdl92.g:589:1: composite_state : ( composite_state_graph | state_aggregation ); + def composite_state(self, ): + retval = self.composite_state_return() + retval.start = self.input.LT(1) + composite_state_StartIndex = self.input.index() + root_0 = None + composite_state_graph276 = None + state_aggregation277 = None + success = False - if alt96 == 1: - # sdl92.g:562:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_floating_label6467) - rid260 = self.rid() + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 50): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid260.tree) + # sdl92.g:590:9: ( composite_state_graph | state_aggregation ) + alt93 = 2 + LA93_0 = self.input.LA(1) + if (LA93_0 == STATE) : + LA93_1 = self.input.LA(2) + if (LA93_1 == AGGREGATION) : + alt93 = 2 + elif (LA93_1 == ID) : + alt93 = 1 else: - break #loop96 + if self._state.backtracking > 0: + raise BacktrackingFailed - # sdl92.g:563:17: ( partition )? - alt97 = 2 - LA97_0 = self.input.LA(1) + nvae = NoViableAltException("", 93, 1, self.input) - if (LA97_0 == 254) : - alt97 = 1 - if alt97 == 1: - # sdl92.g:563:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_floating_label6486) - partition261 = self.partition() + raise nvae - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition261.tree) + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 93, 0, self.input) + raise nvae - CONNECTION262 = self.match(self.input, CONNECTION, self.FOLLOW_CONNECTION_in_floating_label6505) - if self._state.backtracking == 0: - stream_CONNECTION.add(CONNECTION262) + if alt93 == 1: + # sdl92.g:590:17: composite_state_graph + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_connector_name_in_floating_label6507) - connector_name263 = self.connector_name() - self._state.following.pop() - if self._state.backtracking == 0: - stream_connector_name.add(connector_name263.tree) + self._state.following.append(self.FOLLOW_composite_state_graph_in_composite_state6625) + composite_state_graph276 = self.composite_state_graph() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, composite_state_graph276.tree) - char_literal264 = self.match(self.input, 255, self.FOLLOW_255_in_floating_label6509) - if self._state.backtracking == 0: - stream_255.add(char_literal264) - # sdl92.g:565:17: ( transition )? - alt98 = 2 - LA98_0 = self.input.LA(1) + elif alt93 == 2: + # sdl92.g:591:19: state_aggregation + pass + root_0 = self._adaptor.nil() - if (LA98_0 == 254) : - LA98_1 = self.input.LA(2) - if (LA98_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, KEEP, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT, 256}) : - alt98 = 1 - elif (LA98_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK}) : - alt98 = 1 - if alt98 == 1: - # sdl92.g:565:17: transition - pass - self._state.following.append(self.FOLLOW_transition_in_floating_label6527) - transition265 = self.transition() + self._state.following.append(self.FOLLOW_state_aggregation_in_composite_state6645) + state_aggregation277 = self.state_aggregation() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition265.tree) + self._adaptor.addChild(root_0, state_aggregation277.tree) + retval.stop = self.input.LT(-1) - # sdl92.g:566:17: ( cif_end_label )? - alt99 = 2 - LA99_0 = self.input.LA(1) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA99_0 == 254) : - alt99 = 1 - if alt99 == 1: - # sdl92.g:566:17: cif_end_label - pass - self._state.following.append(self.FOLLOW_cif_end_label_in_floating_label6546) - cif_end_label266 = self.cif_end_label() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end_label.add(cif_end_label266.tree) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 50, composite_state_StartIndex, success) - ENDCONNECTION267 = self.match(self.input, ENDCONNECTION, self.FOLLOW_ENDCONNECTION_in_floating_label6565) - if self._state.backtracking == 0: - stream_ENDCONNECTION.add(ENDCONNECTION267) + pass + return retval + # $ANTLR end "composite_state" - SEMI268 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_floating_label6567) - if self._state.backtracking == 0: - stream_SEMI.add(SEMI268) + class composite_state_preamble_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - # AST Rewrite - # elements: cif, symbolid, partition, hyperlink, requirement, rid, 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) + self.tree = None - root_0 = self._adaptor.nil() - # 568:9: -> ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) - # sdl92.g:568:17: ^( FLOATING_LABEL ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* connector_name ( transition )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(FLOATING_LABEL, "FLOATING_LABEL") - , root_1) - # sdl92.g:568:34: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) - stream_cif.reset(); + # $ANTLR start "composite_state_preamble" + # sdl92.g:595: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) + + composite_state_preamble_StartIndex = self.input.index() + + root_0 = None - # sdl92.g:568:39: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + STATE278 = None + AGGREGATION279 = None + SUBSTRUCTURE282 = None + statename280 = None + end281 = None + STATE278_tree = None + AGGREGATION279_tree = None + SUBSTRUCTURE282_tree = None - stream_symbolid.reset(); + success = False - # sdl92.g:568:49: ( partition )? - if stream_partition.hasNext(): - self._adaptor.addChild(root_1, stream_partition.nextTree()) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 51): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - stream_partition.reset(); + # sdl92.g:596:9: ( STATE ( AGGREGATION )? statename end SUBSTRUCTURE ) + # sdl92.g:596:17: STATE ( AGGREGATION )? statename end SUBSTRUCTURE + pass + root_0 = self._adaptor.nil() - # sdl92.g:568:60: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + STATE278 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_preamble6677) + if self._state.backtracking == 0: + STATE278_tree = self._adaptor.createWithPayload(STATE278) + self._adaptor.addChild(root_0, STATE278_tree) - stream_hyperlink.reset(); - # sdl92.g:568:71: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + # sdl92.g:596:23: ( AGGREGATION )? + alt94 = 2 + LA94_0 = self.input.LA(1) - stream_requirement.reset(); + if (LA94_0 == AGGREGATION) : + alt94 = 1 + if alt94 == 1: + # sdl92.g:596:23: AGGREGATION + pass + AGGREGATION279 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_composite_state_preamble6679) + if self._state.backtracking == 0: + AGGREGATION279_tree = self._adaptor.createWithPayload(AGGREGATION279) + self._adaptor.addChild(root_0, AGGREGATION279_tree) - # sdl92.g:568:84: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - stream_rid.reset(); - self._adaptor.addChild(root_1, stream_connector_name.nextTree()) - # sdl92.g:568:104: ( transition )? - if stream_transition.hasNext(): - self._adaptor.addChild(root_1, stream_transition.nextTree()) + self._state.following.append(self.FOLLOW_statename_in_composite_state_preamble6682) + statename280 = self.statename() - stream_transition.reset(); + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, statename280.tree) - self._adaptor.addChild(root_0, root_1) + self._state.following.append(self.FOLLOW_end_in_composite_state_preamble6684) + end281 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, end281.tree) - retval.tree = root_0 + SUBSTRUCTURE282 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_preamble6702) + if self._state.backtracking == 0: + SUBSTRUCTURE282_tree = self._adaptor.createWithPayload(SUBSTRUCTURE282) + self._adaptor.addChild(root_0, SUBSTRUCTURE282_tree) @@ -11337,19 +10722,25 @@ def floating_label(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 51, composite_state_preamble_StartIndex, success) + + pass return retval - # $ANTLR end "floating_label" + # $ANTLR end "composite_state_preamble" - class state_return(ParserRuleReturnScope): + class composite_state_graph_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -11359,460 +10750,398 @@ def __init__(self): - # $ANTLR start "state" - # sdl92.g:572:1: state : ( state_definition | state_instance ); - def state(self, ): - retval = self.state_return() + # $ANTLR start "composite_state_graph" + # sdl92.g:600: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) + composite_state_graph_StartIndex = self.input.index() root_0 = None - state_definition269 = None - state_instance270 = None + STATE283 = None + SUBSTRUCTURE285 = None + ENDSUBSTRUCTURE287 = None + e = None + body = None + f = None + statename284 = None + connection_points286 = None + statename288 = None + STATE283_tree = None + SUBSTRUCTURE285_tree = None + ENDSUBSTRUCTURE287_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") + success = False try: try: - # sdl92.g:573:9: ( state_definition | state_instance ) - alt100 = 2 - alt100 = self.dfa100.predict(self.input) - if alt100 == 1: - # sdl92.g:573:11: state_definition - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 52): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_state_definition_in_state6635) - state_definition269 = self.state_definition() + # sdl92.g:601: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:601:17: STATE statename e= end SUBSTRUCTURE ( connection_points )* body= composite_state_body ENDSUBSTRUCTURE ( statename )? f= end + pass + STATE283 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_graph6733) + if self._state.backtracking == 0: + stream_STATE.add(STATE283) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_definition269.tree) + self._state.following.append(self.FOLLOW_statename_in_composite_state_graph6735) + statename284 = self.statename() + self._state.following.pop() + if self._state.backtracking == 0: + stream_statename.add(statename284.tree) - elif alt100 == 2: - # sdl92.g:574:13: state_instance - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_end_in_composite_state_graph6739) + e = self.end() - self._state.following.append(self.FOLLOW_state_instance_in_state6649) - state_instance270 = self.state_instance() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(e.tree) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_instance270.tree) + SUBSTRUCTURE285 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_graph6757) + if self._state.backtracking == 0: + stream_SUBSTRUCTURE.add(SUBSTRUCTURE285) - retval.stop = self.input.LT(-1) + # sdl92.g:603:17: ( connection_points )* + while True: #loop95 + alt95 = 2 + LA95_0 = self.input.LA(1) + if (LA95_0 in {IN, OUT}) : + alt95 = 1 - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + if alt95 == 1: + # sdl92.g:603:17: connection_points + pass + self._state.following.append(self.FOLLOW_connection_points_in_composite_state_graph6775) + connection_points286 = self.connection_points() + self._state.following.pop() + if self._state.backtracking == 0: + stream_connection_points.add(connection_points286.tree) - 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:578:1: state_definition : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) ; - def state_definition(self, ): - retval = self.state_definition_return() - retval.start = self.input.LT(1) - - - root_0 = None - - STATE277 = None - SEMI280 = None - ENDSTATE282 = None - e = None - f = None - cif271 = None - symbolid272 = None - hyperlink273 = None - requirement274 = None - rid275 = None - partition276 = None - statelist278 = None - via279 = None - state_part281 = None - statename283 = None - - STATE277_tree = None - SEMI280_tree = None - ENDSTATE282_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_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_partition = RewriteRuleSubtreeStream(self._adaptor, "rule partition") - stream_statelist = RewriteRuleSubtreeStream(self._adaptor, "rule statelist") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_state_part = RewriteRuleSubtreeStream(self._adaptor, "rule state_part") - stream_via = RewriteRuleSubtreeStream(self._adaptor, "rule via") - try: - try: - # sdl92.g:579:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) ) - # sdl92.g:579:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statelist ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end - pass - # sdl92.g:579:17: ( cif )? - alt101 = 2 - LA101_0 = self.input.LA(1) - - if (LA101_0 == 254) : - LA101_1 = self.input.LA(2) - - if (LA101_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt101 = 1 - if alt101 == 1: - # sdl92.g:579:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_state_definition6681) - cif271 = self.cif() + else: + break #loop95 - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif271.tree) + self._state.following.append(self.FOLLOW_composite_state_body_in_composite_state_graph6796) + body = self.composite_state_body() + self._state.following.pop() + if self._state.backtracking == 0: + stream_composite_state_body.add(body.tree) + ENDSUBSTRUCTURE287 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph6814) + if self._state.backtracking == 0: + stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE287) - # sdl92.g:580:17: ( symbolid )? - alt102 = 2 - LA102_0 = self.input.LA(1) - if (LA102_0 == 254) : - LA102_1 = self.input.LA(2) + # sdl92.g:605:33: ( statename )? + alt96 = 2 + LA96_0 = self.input.LA(1) - if (LA102_1 == 256) : - alt102 = 1 - if alt102 == 1: - # sdl92.g:580:17: symbolid + if (LA96_0 == ID) : + alt96 = 1 + if alt96 == 1: + # sdl92.g:605:33: statename pass - self._state.following.append(self.FOLLOW_symbolid_in_state_definition6700) - symbolid272 = self.symbolid() + self._state.following.append(self.FOLLOW_statename_in_composite_state_graph6816) + statename288 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid272.tree) - + stream_statename.add(statename288.tree) - # sdl92.g:581:17: ( hyperlink )? - alt103 = 2 - LA103_0 = self.input.LA(1) - - if (LA103_0 == 254) : - LA103_1 = self.input.LA(2) - - if (LA103_1 == KEEP) : - LA103_3 = self.input.LA(3) - if (LA103_3 == SPECIFIC) : - LA103_4 = self.input.LA(4) - - if (LA103_4 == GEODE) : - LA103_5 = self.input.LA(5) - - if (LA103_5 == HYPERLINK) : - alt103 = 1 - if alt103 == 1: - # sdl92.g:581:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_state_definition6719) - hyperlink273 = self.hyperlink() + self._state.following.append(self.FOLLOW_end_in_composite_state_graph6821) + f = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink273.tree) + 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) - # sdl92.g:582:17: ( requirement )* - while True: #loop104 - alt104 = 2 - LA104_0 = self.input.LA(1) - if (LA104_0 == 254) : - LA104_1 = self.input.LA(2) + root_0 = self._adaptor.nil() + # 606:9: -> ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) + # sdl92.g:606: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) - if (LA104_1 == KEEP) : - LA104_3 = self.input.LA(3) + self._adaptor.addChild(root_1, stream_statename.nextTree()) - if (LA104_3 == SPECIFIC) : - LA104_4 = self.input.LA(4) + # sdl92.g:606:45: ( connection_points )* + while stream_connection_points.hasNext(): + self._adaptor.addChild(root_1, stream_connection_points.nextTree()) - if (LA104_4 == GEODE) : - LA104_5 = self.input.LA(5) - if (LA104_5 == REQ_ID) : - alt104 = 1 + stream_connection_points.reset(); + self._adaptor.addChild(root_1, stream_body.nextTree()) + # sdl92.g:606: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 - if alt104 == 1: - # sdl92.g:582:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_state_definition6738) - requirement274 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement274.tree) - else: - break #loop104 + retval.stop = self.input.LT(-1) - # sdl92.g:583:17: ( rid )* - while True: #loop105 - alt105 = 2 - LA105_0 = self.input.LA(1) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA105_0 == 254) : - LA105_1 = self.input.LA(2) - if (LA105_1 == KEEP) : - LA105_3 = self.input.LA(3) - if (LA105_3 == SPECIFIC) : - LA105_4 = self.input.LA(4) + success = True - if (LA105_4 == GEODE) : - LA105_5 = self.input.LA(5) + 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) - if (LA105_5 == RID_ID) : - alt105 = 1 + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 52, composite_state_graph_StartIndex, success) + pass + return retval + # $ANTLR end "composite_state_graph" + class state_aggregation_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - if alt105 == 1: - # sdl92.g:583:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_state_definition6757) - rid275 = self.rid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid275.tree) + # $ANTLR start "state_aggregation" + # sdl92.g:611: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) + state_aggregation_StartIndex = self.input.index() + root_0 = None - else: - break #loop105 + STATE289 = None + AGGREGATION290 = None + SUBSTRUCTURE292 = None + ENDSUBSTRUCTURE294 = None + e = None + entities = None + body = None + f = None + statename291 = None + connection_points293 = None + statename295 = None + STATE289_tree = None + AGGREGATION290_tree = None + SUBSTRUCTURE292_tree = None + ENDSUBSTRUCTURE294_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") + success = False - # sdl92.g:584:17: ( partition )? - alt106 = 2 - LA106_0 = self.input.LA(1) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 53): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA106_0 == 254) : - alt106 = 1 - if alt106 == 1: - # sdl92.g:584:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_state_definition6776) - partition276 = self.partition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition276.tree) + # sdl92.g:612: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:612:17: STATE AGGREGATION statename e= end SUBSTRUCTURE ( connection_points )* (entities= entity_in_composite_state )* body= state_aggregation_body ENDSUBSTRUCTURE ( statename )? f= end + pass + STATE289 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_aggregation6885) + if self._state.backtracking == 0: + stream_STATE.add(STATE289) + AGGREGATION290 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_state_aggregation6887) + if self._state.backtracking == 0: + stream_AGGREGATION.add(AGGREGATION290) + self._state.following.append(self.FOLLOW_statename_in_state_aggregation6889) + statename291 = self.statename() - STATE277 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_definition6795) + self._state.following.pop() if self._state.backtracking == 0: - stream_STATE.add(STATE277) + stream_statename.add(statename291.tree) - self._state.following.append(self.FOLLOW_statelist_in_state_definition6797) - statelist278 = self.statelist() + self._state.following.append(self.FOLLOW_end_in_state_aggregation6893) + e = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_statelist.add(statelist278.tree) + stream_end.add(e.tree) - # sdl92.g:585:33: ( via )? - alt107 = 2 - LA107_0 = self.input.LA(1) + SUBSTRUCTURE292 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_state_aggregation6911) + if self._state.backtracking == 0: + stream_SUBSTRUCTURE.add(SUBSTRUCTURE292) - if (LA107_0 == VIA) : - alt107 = 1 - if alt107 == 1: - # sdl92.g:585:33: via - pass - self._state.following.append(self.FOLLOW_via_in_state_definition6799) - via279 = self.via() - self._state.following.pop() - if self._state.backtracking == 0: - stream_via.add(via279.tree) + # sdl92.g:614:17: ( connection_points )* + while True: #loop97 + alt97 = 2 + LA97_0 = self.input.LA(1) + if (LA97_0 in {IN, OUT}) : + alt97 = 1 + if alt97 == 1: + # sdl92.g:614:17: connection_points + pass + self._state.following.append(self.FOLLOW_connection_points_in_state_aggregation6929) + connection_points293 = self.connection_points() + self._state.following.pop() + if self._state.backtracking == 0: + stream_connection_points.add(connection_points293.tree) - # sdl92.g:585:38: (e= end | SEMI ) - alt108 = 2 - LA108_0 = self.input.LA(1) - if (LA108_0 in {COMMENT, 254}) : - alt108 = 1 - elif (LA108_0 == SEMI) : - LA108_2 = self.input.LA(2) - if (self.synpred138_sdl92()) : - alt108 = 1 - elif (True) : - alt108 = 2 else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 108, 2, self.input) - - raise nvae - - - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 108, 0, self.input) - - raise nvae - - - if alt108 == 1: - # sdl92.g:585:39: e= end - pass - self._state.following.append(self.FOLLOW_end_in_state_definition6805) - e = self.end() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(e.tree) + break #loop97 - - elif alt108 == 2: - # sdl92.g:585:47: SEMI - pass - SEMI280 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_definition6809) - if self._state.backtracking == 0: - stream_SEMI.add(SEMI280) - - - - - - # sdl92.g:586:17: ( state_part )* - while True: #loop109 - alt109 = 2 - LA109_0 = self.input.LA(1) - - if (LA109_0 in {CONNECT, INPUT, PROVIDED, SAVE, 254}) : - alt109 = 1 - - - if alt109 == 1: - # sdl92.g:586:18: state_part + # sdl92.g:615:25: (entities= entity_in_composite_state )* + while True: #loop98 + alt98 = 2 + alt98 = self.dfa98.predict(self.input) + if alt98 == 1: + # sdl92.g:615:25: entities= entity_in_composite_state pass - self._state.following.append(self.FOLLOW_state_part_in_state_definition6829) - state_part281 = self.state_part() + self._state.following.append(self.FOLLOW_entity_in_composite_state_in_state_aggregation6950) + entities = self.entity_in_composite_state() self._state.following.pop() if self._state.backtracking == 0: - stream_state_part.add(state_part281.tree) + stream_entity_in_composite_state.add(entities.tree) else: - break #loop109 + break #loop98 + + + self._state.following.append(self.FOLLOW_state_aggregation_body_in_state_aggregation6971) + body = self.state_aggregation_body() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_aggregation_body.add(body.tree) - ENDSTATE282 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_definition6849) + ENDSUBSTRUCTURE294 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation6989) if self._state.backtracking == 0: - stream_ENDSTATE.add(ENDSTATE282) + stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE294) - # sdl92.g:587:26: ( statename )? - alt110 = 2 - LA110_0 = self.input.LA(1) + # sdl92.g:617:33: ( statename )? + alt99 = 2 + LA99_0 = self.input.LA(1) - if (LA110_0 == ID) : - alt110 = 1 - if alt110 == 1: - # sdl92.g:587:26: statename + if (LA99_0 == ID) : + alt99 = 1 + if alt99 == 1: + # sdl92.g:617:33: statename pass - self._state.following.append(self.FOLLOW_statename_in_state_definition6851) - statename283 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_aggregation6991) + statename295 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename283.tree) + stream_statename.add(statename295.tree) - self._state.following.append(self.FOLLOW_end_in_state_definition6856) + self._state.following.append(self.FOLLOW_end_in_state_aggregation6996) f = self.end() self._state.following.pop() @@ -11821,19 +11150,29 @@ def state_definition(self, ): # AST Rewrite - # elements: STATE, cif, symbolid, hyperlink, partition, requirement, rid, e, statelist, via, state_part + # elements: statename, connection_points, entities, body, e # token labels: - # rule labels: e, retval + # 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: @@ -11841,90 +11180,50 @@ def state_definition(self, ): root_0 = self._adaptor.nil() - # 588:9: -> ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) - # sdl92.g:588:17: ^( STATE ( cif )? ( symbolid )? ( hyperlink )? ( partition )? ( requirement )* ( rid )* ( $e)? statelist ( via )? ( state_part )* ) + # 618:9: -> ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) + # sdl92.g:618:17: ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_STATE.nextNode() + self._adaptor.createFromType(STATE_AGGREGATION, "STATE_AGGREGATION") , root_1) - # sdl92.g:588:25: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) - - - stream_cif.reset(); + self._adaptor.addChild(root_1, stream_statename.nextTree()) - # sdl92.g:588:30: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + # sdl92.g:618:47: ( connection_points )* + while stream_connection_points.hasNext(): + self._adaptor.addChild(root_1, stream_connection_points.nextTree()) - stream_symbolid.reset(); + stream_connection_points.reset(); - # sdl92.g:588:40: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + # sdl92.g:619:38: ( $entities)* + while stream_entities.hasNext(): + self._adaptor.addChild(root_1, stream_entities.nextTree()) - stream_hyperlink.reset(); + stream_entities.reset(); - # sdl92.g:588:51: ( partition )? - if stream_partition.hasNext(): - self._adaptor.addChild(root_1, stream_partition.nextTree()) + self._adaptor.addChild(root_1, stream_body.nextTree()) + # sdl92.g:619:55: ( $e)? + if stream_e.hasNext(): + self._adaptor.addChild(root_1, stream_e.nextTree()) - stream_partition.reset(); - # sdl92.g:588:62: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + stream_e.reset(); + self._adaptor.addChild(root_0, root_1) - stream_requirement.reset(); - # sdl92.g:588:75: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - stream_rid.reset(); + retval.tree = root_0 - # sdl92.g:588:81: ( $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:588:94: ( via )? - if stream_via.hasNext(): - self._adaptor.addChild(root_1, stream_via.nextTree()) - - - stream_via.reset(); - - # sdl92.g:588:99: ( 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) + retval.stop = self.input.LT(-1) if self._state.backtracking == 0: @@ -11933,19 +11232,25 @@ def state_definition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 53, state_aggregation_StartIndex, success) + + pass return retval - # $ANTLR end "state_definition" + # $ANTLR end "state_aggregation" - class state_instance_return(ParserRuleReturnScope): + class entity_in_composite_state_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -11955,499 +11260,575 @@ def __init__(self): - # $ANTLR start "state_instance" - # sdl92.g:592:1: state_instance : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) ; - def state_instance(self, ): - retval = self.state_instance_return() + # $ANTLR start "entity_in_composite_state" + # sdl92.g:624: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) + entity_in_composite_state_StartIndex = self.input.index() root_0 = None - STATE290 = None - char_literal292 = None - SEMI295 = None - ENDSTATE297 = None - e = None - f = None - cif284 = None - symbolid285 = None - hyperlink286 = None - requirement287 = None - rid288 = None - partition289 = None - statename291 = None - type_inst293 = None - via294 = None - state_part296 = None - statename298 = None - - STATE290_tree = None - char_literal292_tree = None - SEMI295_tree = None - ENDSTATE297_tree = None - stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") - 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_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_partition = RewriteRuleSubtreeStream(self._adaptor, "rule partition") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_statename = RewriteRuleSubtreeStream(self._adaptor, "rule statename") - stream_type_inst = RewriteRuleSubtreeStream(self._adaptor, "rule type_inst") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_state_part = RewriteRuleSubtreeStream(self._adaptor, "rule state_part") - stream_via = RewriteRuleSubtreeStream(self._adaptor, "rule via") + text_area296 = None + procedure297 = None + + + success = False + try: try: - # sdl92.g:593:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) ) - # sdl92.g:593:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( partition )? STATE statename ':' type_inst ( via )? (e= end | SEMI ) ( state_part )* ENDSTATE ( statename )? f= end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 54): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:625:9: ( ( text_area | procedure ) ) + # sdl92.g:625:17: ( text_area | procedure ) pass - # sdl92.g:593:17: ( cif )? - alt111 = 2 - LA111_0 = self.input.LA(1) + root_0 = self._adaptor.nil() - if (LA111_0 == 254) : - LA111_1 = self.input.LA(2) - if (LA111_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt111 = 1 - if alt111 == 1: - # sdl92.g:593:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_state_instance6937) - cif284 = self.cif() + # sdl92.g:625:17: ( text_area | procedure ) + alt100 = 2 + LA100_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif284.tree) + if (LA100_0 == 254) : + LA100_1 = self.input.LA(2) + + if (self.synpred130_sdl92()) : + alt100 = 1 + elif (True) : + alt100 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 100, 1, self.input) + raise nvae - # sdl92.g:594:17: ( symbolid )? - alt112 = 2 - LA112_0 = self.input.LA(1) + elif (LA100_0 in {EXPORTED, PROCEDURE}) : + alt100 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA112_0 == 254) : - LA112_1 = self.input.LA(2) - if (LA112_1 == 256) : - alt112 = 1 - if alt112 == 1: - # sdl92.g:594:17: symbolid + nvae = NoViableAltException("", 100, 0, self.input) + + raise nvae + + + if alt100 == 1: + # sdl92.g:625:18: text_area pass - self._state.following.append(self.FOLLOW_symbolid_in_state_instance6956) - symbolid285 = self.symbolid() + self._state.following.append(self.FOLLOW_text_area_in_entity_in_composite_state7101) + text_area296 = self.text_area() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid285.tree) + self._adaptor.addChild(root_0, text_area296.tree) + elif alt100 == 2: + # sdl92.g:625:30: procedure + pass + self._state.following.append(self.FOLLOW_procedure_in_entity_in_composite_state7105) + procedure297 = self.procedure() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, procedure297.tree) - # sdl92.g:595:17: ( hyperlink )? - alt113 = 2 - LA113_0 = self.input.LA(1) - if (LA113_0 == 254) : - LA113_1 = self.input.LA(2) - if (LA113_1 == KEEP) : - LA113_3 = self.input.LA(3) - if (LA113_3 == SPECIFIC) : - LA113_4 = self.input.LA(4) - if (LA113_4 == GEODE) : - LA113_5 = self.input.LA(5) - if (LA113_5 == HYPERLINK) : - alt113 = 1 - if alt113 == 1: - # sdl92.g:595:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_state_instance6975) - hyperlink286 = self.hyperlink() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink286.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) - # sdl92.g:596:17: ( requirement )* - while True: #loop114 - alt114 = 2 - LA114_0 = self.input.LA(1) + success = True - if (LA114_0 == 254) : - LA114_1 = self.input.LA(2) + 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) - if (LA114_1 == KEEP) : - LA114_3 = self.input.LA(3) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 54, entity_in_composite_state_StartIndex, success) - if (LA114_3 == SPECIFIC) : - LA114_4 = self.input.LA(4) - if (LA114_4 == GEODE) : - LA114_5 = self.input.LA(5) + pass + return retval - if (LA114_5 == REQ_ID) : - alt114 = 1 + # $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:630: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) + state_aggregation_body_StartIndex = self.input.index() - if alt114 == 1: - # sdl92.g:596:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_state_instance6994) - requirement287 = self.requirement() + root_0 = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement287.tree) + state_partitioning298 = None + state_partition_connection299 = None + state300 = None + success = False - else: - break #loop114 + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 55): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # sdl92.g:597:17: ( rid )* - while True: #loop115 - alt115 = 2 - LA115_0 = self.input.LA(1) + # sdl92.g:631:9: ( ( state_partitioning | state_partition_connection )* ( state )* ) + # sdl92.g:631:17: ( state_partitioning | state_partition_connection )* ( state )* + pass + root_0 = self._adaptor.nil() - if (LA115_0 == 254) : - LA115_1 = self.input.LA(2) - if (LA115_1 == KEEP) : - LA115_3 = self.input.LA(3) + # sdl92.g:631:17: ( state_partitioning | state_partition_connection )* + while True: #loop101 + alt101 = 3 + alt101 = self.dfa101.predict(self.input) + if alt101 == 1: + # sdl92.g:631:18: state_partitioning + pass + self._state.following.append(self.FOLLOW_state_partitioning_in_state_aggregation_body7140) + state_partitioning298 = self.state_partitioning() - if (LA115_3 == SPECIFIC) : - LA115_4 = self.input.LA(4) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, state_partitioning298.tree) - if (LA115_4 == GEODE) : - LA115_5 = self.input.LA(5) - if (LA115_5 == RID_ID) : - alt115 = 1 + elif alt101 == 2: + # sdl92.g:631:39: state_partition_connection + pass + self._state.following.append(self.FOLLOW_state_partition_connection_in_state_aggregation_body7144) + state_partition_connection299 = self.state_partition_connection() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, state_partition_connection299.tree) + else: + break #loop101 + # sdl92.g:632:17: ( state )* + while True: #loop102 + alt102 = 2 + LA102_0 = self.input.LA(1) + if (LA102_0 in {STATE, 254}) : + alt102 = 1 - if alt115 == 1: - # sdl92.g:597:17: rid + if alt102 == 1: + # sdl92.g:632:17: state pass - self._state.following.append(self.FOLLOW_rid_in_state_instance7013) - rid288 = self.rid() + self._state.following.append(self.FOLLOW_state_in_state_aggregation_body7164) + state300 = self.state() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid288.tree) + self._adaptor.addChild(root_0, state300.tree) else: - break #loop115 + break #loop102 - # sdl92.g:598:17: ( partition )? - alt116 = 2 - LA116_0 = self.input.LA(1) - if (LA116_0 == 254) : - alt116 = 1 - if alt116 == 1: - # sdl92.g:598:17: partition - pass - self._state.following.append(self.FOLLOW_partition_in_state_instance7032) - partition289 = self.partition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_partition.add(partition289.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) - STATE290 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_instance7051) - if self._state.backtracking == 0: - stream_STATE.add(STATE290) + success = True + 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) - self._state.following.append(self.FOLLOW_statename_in_state_instance7053) - statename291 = self.statename() + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 55, state_aggregation_body_StartIndex, success) - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename291.tree) + pass + return retval - char_literal292 = self.match(self.input, 255, self.FOLLOW_255_in_state_instance7055) - if self._state.backtracking == 0: - stream_255.add(char_literal292) + # $ANTLR end "state_aggregation_body" - self._state.following.append(self.FOLLOW_type_inst_in_state_instance7057) - type_inst293 = self.type_inst() + class state_partitioning_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - self._state.following.pop() - if self._state.backtracking == 0: - stream_type_inst.add(type_inst293.tree) + self.tree = None - # sdl92.g:599:47: ( via )? - alt117 = 2 - LA117_0 = self.input.LA(1) - if (LA117_0 == VIA) : - alt117 = 1 - if alt117 == 1: - # sdl92.g:599:47: via - pass - self._state.following.append(self.FOLLOW_via_in_state_instance7059) - via294 = self.via() - self._state.following.pop() - if self._state.backtracking == 0: - stream_via.add(via294.tree) + # $ANTLR start "state_partitioning" + # sdl92.g:637:1: state_partitioning : composite_state ; + def state_partitioning(self, ): + retval = self.state_partitioning_return() + retval.start = self.input.LT(1) + state_partitioning_StartIndex = self.input.index() + root_0 = None + composite_state301 = None - # sdl92.g:599:52: (e= end | SEMI ) - alt118 = 2 - LA118_0 = self.input.LA(1) - if (LA118_0 in {COMMENT, 254}) : - alt118 = 1 - elif (LA118_0 == SEMI) : - LA118_2 = self.input.LA(2) + success = False - if (self.synpred148_sdl92()) : - alt118 = 1 - elif (True) : - alt118 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 56): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 118, 2, self.input) + # sdl92.g:638:9: ( composite_state ) + # sdl92.g:638:17: composite_state + pass + root_0 = self._adaptor.nil() - raise nvae + self._state.following.append(self.FOLLOW_composite_state_in_state_partitioning7198) + composite_state301 = self.composite_state() - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, composite_state301.tree) - nvae = NoViableAltException("", 118, 0, self.input) - raise nvae + retval.stop = self.input.LT(-1) - if alt118 == 1: - # sdl92.g:599:53: e= end - pass - self._state.following.append(self.FOLLOW_end_in_state_instance7065) - e = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(e.tree) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - elif alt118 == 2: - # sdl92.g:599:61: SEMI - pass - SEMI295 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_state_instance7069) - if self._state.backtracking == 0: - stream_SEMI.add(SEMI295) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 56, state_partitioning_StartIndex, success) + pass + return retval - # sdl92.g:600:17: ( state_part )* - while True: #loop119 - alt119 = 2 - LA119_0 = self.input.LA(1) + # $ANTLR end "state_partitioning" - if (LA119_0 in {CONNECT, INPUT, PROVIDED, SAVE, 254}) : - alt119 = 1 + class state_partition_connection_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if alt119 == 1: - # sdl92.g:600:18: state_part - pass - self._state.following.append(self.FOLLOW_state_part_in_state_instance7089) - state_part296 = self.state_part() + self.tree = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_state_part.add(state_part296.tree) - else: - break #loop119 + + # $ANTLR start "state_partition_connection" + # sdl92.g:643: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) + + state_partition_connection_StartIndex = self.input.index() + + root_0 = None + + CONNECT302 = None + AND303 = None + outer = None + inner = None + end304 = None + + CONNECT302_tree = None + AND303_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") + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 57): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - ENDSTATE297 = self.match(self.input, ENDSTATE, self.FOLLOW_ENDSTATE_in_state_instance7109) + # sdl92.g:644:9: ( CONNECT outer= entry_point AND inner= entry_point end -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) ) + # sdl92.g:644:17: CONNECT outer= entry_point AND inner= entry_point end + pass + CONNECT302 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_state_partition_connection7231) if self._state.backtracking == 0: - stream_ENDSTATE.add(ENDSTATE297) + stream_CONNECT.add(CONNECT302) - # sdl92.g:601:26: ( statename )? - alt120 = 2 - LA120_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection7235) + outer = self.entry_point() - if (LA120_0 == ID) : - alt120 = 1 - if alt120 == 1: - # sdl92.g:601:26: statename - pass - self._state.following.append(self.FOLLOW_statename_in_state_instance7111) - statename298 = self.statename() + self._state.following.pop() + if self._state.backtracking == 0: + stream_entry_point.add(outer.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename298.tree) + + AND303 = self.match(self.input, AND, self.FOLLOW_AND_in_state_partition_connection7237) + if self._state.backtracking == 0: + stream_AND.add(AND303) + self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection7241) + 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_instance7116) - f = self.end() + self._state.following.append(self.FOLLOW_end_in_state_partition_connection7243) + end304 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(f.tree) + stream_end.add(end304.tree) # AST Rewrite - # elements: STATE, cif, symbolid, partition, hyperlink, requirement, rid, e, statename, via, type_inst, state_part + # elements: outer, inner, end # token labels: - # rule labels: e, retval + # rule labels: outer, inner, 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) + if outer is not None: + stream_outer = RewriteRuleSubtreeStream(self._adaptor, "rule outer", outer.tree) else: - stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) + stream_outer = RewriteRuleSubtreeStream(self._adaptor, "token outer", None) - if retval is not 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() - # 602:9: -> ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) - # sdl92.g:602:17: ^( STATE ( cif )? ( symbolid )? ( partition )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? statename ( via )? type_inst ( state_part )* ) + # 645:9: -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) + # sdl92.g:645:17: ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_STATE.nextNode() + self._adaptor.createFromType(STATE_PARTITION_CONNECTION, "STATE_PARTITION_CONNECTION") , root_1) - # sdl92.g:602:25: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + self._adaptor.addChild(root_1, stream_outer.nextTree()) + self._adaptor.addChild(root_1, stream_inner.nextTree()) - stream_cif.reset(); + # sdl92.g:645:60: ( end )? + if stream_end.hasNext(): + self._adaptor.addChild(root_1, stream_end.nextTree()) - # sdl92.g:602:30: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + stream_end.reset(); - stream_symbolid.reset(); + self._adaptor.addChild(root_0, root_1) - # sdl92.g:602:41: ( partition )? - if stream_partition.hasNext(): - self._adaptor.addChild(root_1, stream_partition.nextTree()) - stream_partition.reset(); - # sdl92.g:602:52: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + retval.tree = root_0 - stream_hyperlink.reset(); - # sdl92.g:602:63: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - stream_requirement.reset(); + retval.stop = self.input.LT(-1) - # sdl92.g:602:76: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - stream_rid.reset(); - # sdl92.g:602:82: ( $e)? - if stream_e.hasNext(): - self._adaptor.addChild(root_1, stream_e.nextTree()) + success = True - stream_e.reset(); + 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) - self._adaptor.addChild(root_1, stream_statename.nextTree()) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 57, state_partition_connection_StartIndex, success) - # sdl92.g:602:95: ( via )? - if stream_via.hasNext(): - self._adaptor.addChild(root_1, stream_via.nextTree()) + pass + return retval - stream_via.reset(); + # $ANTLR end "state_partition_connection" - self._adaptor.addChild(root_1, stream_type_inst.nextTree()) - # sdl92.g:602:110: ( state_part )* - while stream_state_part.hasNext(): - self._adaptor.addChild(root_1, stream_state_part.nextTree()) + class entry_point_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + + self.tree = None - stream_state_part.reset(); + + + + # $ANTLR start "entry_point" + # sdl92.g:650: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) + + entry_point_StartIndex = self.input.index() + + root_0 = None + + state_part_id = None + VIA305 = None + point306 = None + + state_part_id_tree = None + VIA305_tree = None + stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") + stream_VIA = RewriteRuleTokenStream(self._adaptor, "token VIA") + stream_point = RewriteRuleSubtreeStream(self._adaptor, "rule point") + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 58): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:651:9: (state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ) + # sdl92.g:651:17: state_part_id= ID VIA point + pass + state_part_id = self.match(self.input, ID, self.FOLLOW_ID_in_entry_point7306) + if self._state.backtracking == 0: + stream_ID.add(state_part_id) + + + VIA305 = self.match(self.input, VIA, self.FOLLOW_VIA_in_entry_point7308) + if self._state.backtracking == 0: + stream_VIA.add(VIA305) + + + self._state.following.append(self.FOLLOW_point_in_entry_point7310) + point306 = self.point() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_point.add(point306.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() + # 652:9: -> ^( ENTRY_POINT $state_part_id point ) + # sdl92.g:652: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) @@ -12469,19 +11850,25 @@ def state_instance(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 58, entry_point_StartIndex, success) + + pass return retval - # $ANTLR end "state_instance" + # $ANTLR end "entry_point" - class statelist_return(ParserRuleReturnScope): + class point_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -12491,200 +11878,335 @@ def __init__(self): - # $ANTLR start "statelist" - # sdl92.g:606:1: statelist : ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ); - def statelist(self, ): - retval = self.statelist_return() + # $ANTLR start "point" + # sdl92.g:657:1: point : (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ; + def point(self, ): + retval = self.point_return() retval.start = self.input.LT(1) + point_StartIndex = self.input.index() root_0 = None - char_literal300 = None - ASTERISK302 = None - statename299 = None - statename301 = None - exception_state303 = None + state_point = None + DEFAULT307 = None + + state_point_tree = None + DEFAULT307_tree = None + stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") + stream_DEFAULT = RewriteRuleTokenStream(self._adaptor, "token DEFAULT") + + success = False - char_literal300_tree = None - ASTERISK302_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:607:9: ( ( ( statename ) ( ',' statename )* ) -> ^( STATELIST ( statename )+ ) | ASTERISK ( exception_state )? -> ^( ASTERISK ( exception_state )? ) ) - alt123 = 2 - LA123_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 59): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA123_0 == ID) : - alt123 = 1 - elif (LA123_0 == ASTERISK) : - alt123 = 2 + + # sdl92.g:658:9: ( (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ) + # sdl92.g:658:17: (state_point= ID | DEFAULT ) + pass + # sdl92.g:658:17: (state_point= ID | DEFAULT ) + alt103 = 2 + LA103_0 = self.input.LA(1) + + if (LA103_0 == ID) : + alt103 = 1 + elif (LA103_0 == DEFAULT) : + alt103 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 123, 0, self.input) + nvae = NoViableAltException("", 103, 0, self.input) raise nvae - if alt123 == 1: - # sdl92.g:607:17: ( ( statename ) ( ',' statename )* ) - pass - # sdl92.g:607:17: ( ( statename ) ( ',' statename )* ) - # sdl92.g:607:18: ( statename ) ( ',' statename )* - pass - # sdl92.g:607:18: ( statename ) - # sdl92.g:607:19: statename + if alt103 == 1: + # sdl92.g:658:18: state_point= ID pass - self._state.following.append(self.FOLLOW_statename_in_statelist7202) - statename299 = self.statename() - - self._state.following.pop() + state_point = self.match(self.input, ID, self.FOLLOW_ID_in_point7370) if self._state.backtracking == 0: - stream_statename.add(statename299.tree) - + stream_ID.add(state_point) + elif alt103 == 2: + # sdl92.g:658:35: DEFAULT + pass + DEFAULT307 = self.match(self.input, DEFAULT, self.FOLLOW_DEFAULT_in_point7374) + if self._state.backtracking == 0: + stream_DEFAULT.add(DEFAULT307) - # sdl92.g:607:29: ( ',' statename )* - while True: #loop121 - alt121 = 2 - LA121_0 = self.input.LA(1) - if (LA121_0 == COMMA) : - alt121 = 1 - if alt121 == 1: - # sdl92.g:607:30: ',' statename - pass - char_literal300 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_statelist7205) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal300) + # 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) - self._state.following.append(self.FOLLOW_statename_in_statelist7207) - statename301 = self.statename() - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename301.tree) + root_0 = self._adaptor.nil() + # 659:9: -> ^( POINT ( $state_point)? ( DEFAULT )? ) + # sdl92.g:659:17: ^( POINT ( $state_point)? ( DEFAULT )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(POINT, "POINT") + , root_1) + # sdl92.g:659:26: ( $state_point)? + if stream_state_point.hasNext(): + self._adaptor.addChild(root_1, stream_state_point.nextNode()) - else: - break #loop121 + stream_state_point.reset(); + # sdl92.g:659:39: ( DEFAULT )? + if stream_DEFAULT.hasNext(): + self._adaptor.addChild(root_1, + stream_DEFAULT.nextNode() + ) + stream_DEFAULT.reset(); + self._adaptor.addChild(root_0, root_1) - # 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() - # 608:9: -> ^( STATELIST ( statename )+ ) - # sdl92.g:608:17: ^( STATELIST ( statename )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(STATELIST, "STATELIST") - , root_1) - # sdl92.g:608:29: ( statename )+ - if not (stream_statename.hasNext()): - raise RewriteEarlyExitException() + retval.tree = root_0 - while stream_statename.hasNext(): - self._adaptor.addChild(root_1, stream_statename.nextTree()) - stream_statename.reset() - self._adaptor.addChild(root_0, root_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) - retval.tree = root_0 + success = True + 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) - elif alt123 == 2: - # sdl92.g:609:19: ASTERISK ( exception_state )? - pass - ASTERISK302 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_statelist7252) - if self._state.backtracking == 0: - stream_ASTERISK.add(ASTERISK302) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 59, point_StartIndex, success) - # sdl92.g:609:28: ( exception_state )? - alt122 = 2 - LA122_0 = self.input.LA(1) + pass + return retval - if (LA122_0 == L_PAREN) : - alt122 = 1 - if alt122 == 1: - # sdl92.g:609:28: exception_state - pass - self._state.following.append(self.FOLLOW_exception_state_in_statelist7254) - exception_state303 = self.exception_state() + # $ANTLR end "point" - self._state.following.pop() - if self._state.backtracking == 0: - stream_exception_state.add(exception_state303.tree) + class connection_points_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - # 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() - # 610:9: -> ^( ASTERISK ( exception_state )? ) - # sdl92.g:610:17: ^( ASTERISK ( exception_state )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_ASTERISK.nextNode() - , root_1) + # $ANTLR start "connection_points" + # sdl92.g:664: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) - # sdl92.g:610:28: ( exception_state )? - if stream_exception_state.hasNext(): - self._adaptor.addChild(root_1, stream_exception_state.nextTree()) + connection_points_StartIndex = self.input.index() + root_0 = None - stream_exception_state.reset(); + IN308 = None + OUT311 = None + state_entry_exit_points309 = None + end310 = None + state_entry_exit_points312 = None + end313 = None + + IN308_tree = None + OUT311_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") + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 60): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:665: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 )? ) ) + alt104 = 2 + LA104_0 = self.input.LA(1) + + if (LA104_0 == IN) : + alt104 = 1 + elif (LA104_0 == OUT) : + alt104 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + + nvae = NoViableAltException("", 104, 0, self.input) + + raise nvae + + + if alt104 == 1: + # sdl92.g:665:17: IN state_entry_exit_points end + pass + IN308 = self.match(self.input, IN, self.FOLLOW_IN_in_connection_points7434) + if self._state.backtracking == 0: + stream_IN.add(IN308) + + + self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points7436) + state_entry_exit_points309 = self.state_entry_exit_points() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_entry_exit_points.add(state_entry_exit_points309.tree) + + + self._state.following.append(self.FOLLOW_end_in_connection_points7438) + end310 = self.end() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end310.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() + # 666:9: -> ^( IN state_entry_exit_points ( end )? ) + # sdl92.g:666: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:666: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 alt104 == 2: + # sdl92.g:667:19: OUT state_entry_exit_points end + pass + OUT311 = self.match(self.input, OUT, self.FOLLOW_OUT_in_connection_points7482) + if self._state.backtracking == 0: + stream_OUT.add(OUT311) + + + self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points7484) + state_entry_exit_points312 = self.state_entry_exit_points() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_entry_exit_points.add(state_entry_exit_points312.tree) + + + self._state.following.append(self.FOLLOW_end_in_connection_points7486) + end313 = self.end() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end313.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() + # 668:9: -> ^( OUT state_entry_exit_points ( end )? ) + # sdl92.g:668: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:668:47: ( end )? + if stream_end.hasNext(): + self._adaptor.addChild(root_1, stream_end.nextTree()) + + + stream_end.reset(); self._adaptor.addChild(root_0, root_1) @@ -12705,19 +12227,25 @@ def statelist(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 60, connection_points_StartIndex, success) + + pass return retval - # $ANTLR end "statelist" + # $ANTLR end "connection_points" - class exception_state_return(ParserRuleReturnScope): + class state_entry_exit_points_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -12727,79 +12255,88 @@ def __init__(self): - # $ANTLR start "exception_state" - # sdl92.g:614:1: exception_state : '(' statename ( ',' statename )* ')' -> ( statename )+ ; - def exception_state(self, ): - retval = self.exception_state_return() + # $ANTLR start "state_entry_exit_points" + # sdl92.g:673: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) + state_entry_exit_points_StartIndex = self.input.index() root_0 = None - char_literal304 = None - char_literal306 = None - char_literal308 = None - statename305 = None - statename307 = None + char_literal314 = None + char_literal316 = None + char_literal318 = None + statename315 = None + statename317 = None - char_literal304_tree = None - char_literal306_tree = None - char_literal308_tree = None + char_literal314_tree = None + char_literal316_tree = None + char_literal318_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") + success = False + try: try: - # sdl92.g:615:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) - # sdl92.g:615:17: '(' statename ( ',' statename )* ')' + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 61): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:674:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) + # sdl92.g:674:17: '(' statename ( ',' statename )* ')' pass - char_literal304 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_exception_state7309) + char_literal314 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_state_entry_exit_points7543) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal304) + stream_L_PAREN.add(char_literal314) - self._state.following.append(self.FOLLOW_statename_in_exception_state7311) - statename305 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points7545) + statename315 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename305.tree) + stream_statename.add(statename315.tree) - # sdl92.g:615:31: ( ',' statename )* - while True: #loop124 - alt124 = 2 - LA124_0 = self.input.LA(1) + # sdl92.g:674:31: ( ',' statename )* + while True: #loop105 + alt105 = 2 + LA105_0 = self.input.LA(1) - if (LA124_0 == COMMA) : - alt124 = 1 + if (LA105_0 == COMMA) : + alt105 = 1 - if alt124 == 1: - # sdl92.g:615:32: ',' statename + if alt105 == 1: + # sdl92.g:674:32: ',' statename pass - char_literal306 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_exception_state7314) + char_literal316 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_state_entry_exit_points7548) if self._state.backtracking == 0: - stream_COMMA.add(char_literal306) + stream_COMMA.add(char_literal316) - self._state.following.append(self.FOLLOW_statename_in_exception_state7316) - statename307 = self.statename() + self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points7550) + statename317 = self.statename() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename307.tree) + stream_statename.add(statename317.tree) else: - break #loop124 + break #loop105 - char_literal308 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_exception_state7320) + char_literal318 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_state_entry_exit_points7554) if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal308) + stream_R_PAREN.add(char_literal318) # AST Rewrite @@ -12818,8 +12355,8 @@ def exception_state(self, ): root_0 = self._adaptor.nil() - # 616:9: -> ( statename )+ - # sdl92.g:616:17: ( statename )+ + # 675:9: -> ( statename )+ + # sdl92.g:675:17: ( statename )+ if not (stream_statename.hasNext()): raise RewriteEarlyExitException() @@ -12847,19 +12384,25 @@ def exception_state(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 61, state_entry_exit_points_StartIndex, success) + + pass return retval - # $ANTLR end "exception_state" + # $ANTLR end "state_entry_exit_points" - class composite_state_return(ParserRuleReturnScope): + class composite_state_body_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -12869,79 +12412,175 @@ def __init__(self): - # $ANTLR start "composite_state" - # sdl92.g:621:1: composite_state : ( composite_state_graph | state_aggregation ); - def composite_state(self, ): - retval = self.composite_state_return() + # $ANTLR start "composite_state_body" + # sdl92.g:682: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) + composite_state_body_StartIndex = self.input.index() root_0 = None - composite_state_graph309 = None - state_aggregation310 = None + EOF325 = None + text_area319 = None + procedure320 = None + composite_state321 = None + start322 = None + state323 = None + floating_label324 = None + EOF325_tree = None + + success = False try: try: - # sdl92.g:622:9: ( composite_state_graph | state_aggregation ) - alt125 = 2 - LA125_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 62): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:683:9: ( ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? ) + # sdl92.g:683:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? + pass + root_0 = self._adaptor.nil() + + + # sdl92.g:683:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* + while True: #loop106 + alt106 = 4 + LA106 = self.input.LA(1) + if LA106 in {254}: + LA106_1 = self.input.LA(2) + + if (self.synpred137_sdl92()) : + alt106 = 1 + elif (self.synpred138_sdl92()) : + alt106 = 2 + + + elif LA106 in {STATE}: + LA106_3 = self.input.LA(2) + + if (self.synpred139_sdl92()) : + alt106 = 3 + + + elif LA106 in {EXPORTED, PROCEDURE}: + alt106 = 2 + + if alt106 == 1: + # sdl92.g:683:13: text_area + pass + self._state.following.append(self.FOLLOW_text_area_in_composite_state_body7603) + text_area319 = self.text_area() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, text_area319.tree) + + + + elif alt106 == 2: + # sdl92.g:684:15: procedure + pass + self._state.following.append(self.FOLLOW_procedure_in_composite_state_body7619) + procedure320 = self.procedure() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, procedure320.tree) + + + + elif alt106 == 3: + # sdl92.g:685:15: ( composite_state_preamble )=> composite_state + pass + self._state.following.append(self.FOLLOW_composite_state_in_composite_state_body7640) + composite_state321 = self.composite_state() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, composite_state321.tree) + - if (LA125_0 == STATE) : - LA125_1 = self.input.LA(2) - if (LA125_1 == AGGREGATION) : - alt125 = 2 - elif (LA125_1 == ID) : - alt125 = 1 else: - if self._state.backtracking > 0: - raise BacktrackingFailed + break #loop106 - nvae = NoViableAltException("", 125, 1, self.input) + # sdl92.g:686:12: ( start )* + while True: #loop107 + alt107 = 2 + alt107 = self.dfa107.predict(self.input) + if alt107 == 1: + # sdl92.g:686:12: start + pass + self._state.following.append(self.FOLLOW_start_in_composite_state_body7655) + start322 = self.start() - raise nvae + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, start322.tree) - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + else: + break #loop107 - nvae = NoViableAltException("", 125, 0, self.input) - raise nvae + # sdl92.g:686:19: ( state | floating_label )* + while True: #loop108 + alt108 = 3 + alt108 = self.dfa108.predict(self.input) + if alt108 == 1: + # sdl92.g:686:20: state + pass + self._state.following.append(self.FOLLOW_state_in_composite_state_body7659) + state323 = self.state() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, state323.tree) - if alt125 == 1: - # sdl92.g:622:17: composite_state_graph - pass - root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_composite_state_graph_in_composite_state7371) - composite_state_graph309 = self.composite_state_graph() + elif alt108 == 2: + # sdl92.g:686:28: floating_label + pass + self._state.following.append(self.FOLLOW_floating_label_in_composite_state_body7663) + floating_label324 = self.floating_label() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, composite_state_graph309.tree) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, floating_label324.tree) - elif alt125 == 2: - # sdl92.g:623:19: state_aggregation - pass - root_0 = self._adaptor.nil() + else: + break #loop108 - self._state.following.append(self.FOLLOW_state_aggregation_in_composite_state7391) - state_aggregation310 = self.state_aggregation() + # sdl92.g:687:12: ( EOF )? + alt109 = 2 + LA109_0 = self.input.LA(1) - self._state.following.pop() + if (LA109_0 == EOF) : + alt109 = 1 + if alt109 == 1: + # sdl92.g:687:12: EOF + pass + EOF325 = self.match(self.input, EOF, self.FOLLOW_EOF_in_composite_state_body7678) if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_aggregation310.tree) + EOF325_tree = self._adaptor.createWithPayload(EOF325) + self._adaptor.addChild(root_0, EOF325_tree) + + + + + @@ -12954,19 +12593,25 @@ def composite_state(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 62, composite_state_body_StartIndex, success) + + pass return retval - # $ANTLR end "composite_state" + # $ANTLR end "composite_state_body" - class composite_state_preamble_return(ParserRuleReturnScope): + class state_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -12976,81 +12621,108 @@ def __init__(self): - # $ANTLR start "composite_state_preamble" - # sdl92.g:627:1: composite_state_preamble : STATE ( AGGREGATION )? statename end SUBSTRUCTURE ; - def composite_state_preamble(self, ): - retval = self.composite_state_preamble_return() + # $ANTLR start "state_part" + # sdl92.g:691: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) + state_part_StartIndex = self.input.index() root_0 = None - STATE311 = None - AGGREGATION312 = None - SUBSTRUCTURE315 = None - statename313 = None - end314 = None + input_part326 = None + save_part327 = None + spontaneous_transition328 = None + continuous_signal329 = None + connect_part330 = None - STATE311_tree = None - AGGREGATION312_tree = None - SUBSTRUCTURE315_tree = None + + success = False try: try: - # sdl92.g:628:9: ( STATE ( AGGREGATION )? statename end SUBSTRUCTURE ) - # sdl92.g:628:17: STATE ( AGGREGATION )? statename end SUBSTRUCTURE - pass - root_0 = self._adaptor.nil() - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 63): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - STATE311 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_preamble7423) - if self._state.backtracking == 0: - STATE311_tree = self._adaptor.createWithPayload(STATE311) - self._adaptor.addChild(root_0, STATE311_tree) + # sdl92.g:692:9: ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ) + alt110 = 5 + alt110 = self.dfa110.predict(self.input) + if alt110 == 1: + # sdl92.g:692:17: input_part + pass + root_0 = self._adaptor.nil() - # sdl92.g:628:23: ( AGGREGATION )? - alt126 = 2 - LA126_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_input_part_in_state_part7711) + input_part326 = self.input_part() - if (LA126_0 == AGGREGATION) : - alt126 = 1 - if alt126 == 1: - # sdl92.g:628:23: AGGREGATION - pass - AGGREGATION312 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_composite_state_preamble7425) + self._state.following.pop() if self._state.backtracking == 0: - AGGREGATION312_tree = self._adaptor.createWithPayload(AGGREGATION312) - self._adaptor.addChild(root_0, AGGREGATION312_tree) - + self._adaptor.addChild(root_0, input_part326.tree) + elif alt110 == 2: + # sdl92.g:694:19: save_part + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_statename_in_composite_state_preamble7428) - statename313 = self.statename() + self._state.following.append(self.FOLLOW_save_part_in_state_part7748) + save_part327 = self.save_part() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, statename313.tree) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, save_part327.tree) - self._state.following.append(self.FOLLOW_end_in_composite_state_preamble7430) - end314 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, end314.tree) + elif alt110 == 3: + # sdl92.g:695:19: spontaneous_transition + pass + root_0 = self._adaptor.nil() - SUBSTRUCTURE315 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_preamble7448) - if self._state.backtracking == 0: - SUBSTRUCTURE315_tree = self._adaptor.createWithPayload(SUBSTRUCTURE315) - self._adaptor.addChild(root_0, SUBSTRUCTURE315_tree) + self._state.following.append(self.FOLLOW_spontaneous_transition_in_state_part7783) + spontaneous_transition328 = self.spontaneous_transition() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, spontaneous_transition328.tree) + + + + elif alt110 == 4: + # sdl92.g:696:19: continuous_signal + pass + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_continuous_signal_in_state_part7803) + continuous_signal329 = self.continuous_signal() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, continuous_signal329.tree) + + + + elif alt110 == 5: + # sdl92.g:697:19: connect_part + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_connect_part_in_state_part7823) + connect_part330 = self.connect_part() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, connect_part330.tree) @@ -13063,19 +12735,25 @@ def composite_state_preamble(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 63, state_part_StartIndex, success) + + pass return retval - # $ANTLR end "composite_state_preamble" + # $ANTLR end "state_part" - class composite_state_graph_return(ParserRuleReturnScope): + class connect_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -13085,151 +12763,125 @@ def __init__(self): - # $ANTLR start "composite_state_graph" - # sdl92.g:632: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() + # $ANTLR start "connect_part" + # sdl92.g:702:1: connect_part : ( cif )* CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )* ( connect_list )? ( end )? ( transition )? ) ; + def connect_part(self, ): + retval = self.connect_part_return() retval.start = self.input.LT(1) + connect_part_StartIndex = self.input.index() root_0 = None - STATE316 = None - SUBSTRUCTURE318 = None - ENDSUBSTRUCTURE320 = None - e = None - body = None - f = None - statename317 = None - connection_points319 = None - statename321 = None + CONNECT332 = None + cif331 = None + connect_list333 = None + end334 = None + transition335 = None - STATE316_tree = None - SUBSTRUCTURE318_tree = None - ENDSUBSTRUCTURE320_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") + CONNECT332_tree = None + stream_CONNECT = RewriteRuleTokenStream(self._adaptor, "token CONNECT") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_connect_list = RewriteRuleSubtreeStream(self._adaptor, "rule connect_list") 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") + stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + success = False + try: try: - # sdl92.g:633: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:633:17: STATE statename e= end SUBSTRUCTURE ( connection_points )* body= composite_state_body ENDSUBSTRUCTURE ( statename )? f= end - pass - STATE316 = self.match(self.input, STATE, self.FOLLOW_STATE_in_composite_state_graph7479) - if self._state.backtracking == 0: - stream_STATE.add(STATE316) - - - self._state.following.append(self.FOLLOW_statename_in_composite_state_graph7481) - statename317 = self.statename() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename317.tree) - - - self._state.following.append(self.FOLLOW_end_in_composite_state_graph7485) - e = self.end() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(e.tree) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 64): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - SUBSTRUCTURE318 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_composite_state_graph7503) - if self._state.backtracking == 0: - stream_SUBSTRUCTURE.add(SUBSTRUCTURE318) - - - # sdl92.g:635:17: ( connection_points )* - while True: #loop127 - alt127 = 2 - LA127_0 = self.input.LA(1) + # sdl92.g:703:9: ( ( cif )* CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )* ( connect_list )? ( end )? ( transition )? ) ) + # sdl92.g:703:17: ( cif )* CONNECT ( connect_list )? end ( transition )? + pass + # sdl92.g:703:17: ( cif )* + while True: #loop111 + alt111 = 2 + LA111_0 = self.input.LA(1) - if (LA127_0 in {IN, OUT}) : - alt127 = 1 + if (LA111_0 == 254) : + alt111 = 1 - if alt127 == 1: - # sdl92.g:635:17: connection_points + if alt111 == 1: + # sdl92.g:703:17: cif pass - self._state.following.append(self.FOLLOW_connection_points_in_composite_state_graph7521) - connection_points319 = self.connection_points() + self._state.following.append(self.FOLLOW_cif_in_connect_part7856) + cif331 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_connection_points.add(connection_points319.tree) + stream_cif.add(cif331.tree) else: - break #loop127 - - - self._state.following.append(self.FOLLOW_composite_state_body_in_composite_state_graph7542) - body = self.composite_state_body() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_composite_state_body.add(body.tree) + break #loop111 - ENDSUBSTRUCTURE320 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph7560) + CONNECT332 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connect_part7875) if self._state.backtracking == 0: - stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE320) + stream_CONNECT.add(CONNECT332) - # sdl92.g:637:33: ( statename )? - alt128 = 2 - LA128_0 = self.input.LA(1) + # sdl92.g:704:25: ( connect_list )? + alt112 = 2 + LA112_0 = self.input.LA(1) - if (LA128_0 == ID) : - alt128 = 1 - if alt128 == 1: - # sdl92.g:637:33: statename + if (LA112_0 in {ASTERISK, ID}) : + alt112 = 1 + if alt112 == 1: + # sdl92.g:704:25: connect_list pass - self._state.following.append(self.FOLLOW_statename_in_composite_state_graph7562) - statename321 = self.statename() + self._state.following.append(self.FOLLOW_connect_list_in_connect_part7877) + connect_list333 = self.connect_list() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename321.tree) + stream_connect_list.add(connect_list333.tree) - self._state.following.append(self.FOLLOW_end_in_composite_state_graph7567) - f = self.end() + self._state.following.append(self.FOLLOW_end_in_connect_part7880) + end334 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(f.tree) + stream_end.add(end334.tree) + + + # sdl92.g:705:17: ( transition )? + alt113 = 2 + alt113 = self.dfa113.predict(self.input) + if alt113 == 1: + # sdl92.g:705:17: transition + pass + self._state.following.append(self.FOLLOW_transition_in_connect_part7898) + transition335 = self.transition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_transition.add(transition335.tree) + + + # AST Rewrite - # elements: statename, connection_points, body, e + # elements: CONNECT, cif, connect_list, end, transition # token labels: - # rule labels: e, body, retval + # rule labels: 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: @@ -13237,30 +12889,40 @@ def composite_state_graph(self, ): root_0 = self._adaptor.nil() - # 638:9: -> ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) - # sdl92.g:638:17: ^( COMPOSITE_STATE statename ( connection_points )* $body ( $e)? ) + # 706:9: -> ^( CONNECT ( cif )* ( connect_list )? ( end )? ( transition )? ) + # sdl92.g:706:17: ^( CONNECT ( cif )* ( connect_list )? ( end )? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(COMPOSITE_STATE, "COMPOSITE_STATE") + stream_CONNECT.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_statename.nextTree()) + # sdl92.g:706:27: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - # sdl92.g:638:45: ( connection_points )* - while stream_connection_points.hasNext(): - self._adaptor.addChild(root_1, stream_connection_points.nextTree()) + stream_cif.reset(); - stream_connection_points.reset(); + # sdl92.g:706:32: ( connect_list )? + if stream_connect_list.hasNext(): + self._adaptor.addChild(root_1, stream_connect_list.nextTree()) - self._adaptor.addChild(root_1, stream_body.nextTree()) - # sdl92.g:638:71: ( $e)? - if stream_e.hasNext(): - self._adaptor.addChild(root_1, stream_e.nextTree()) + stream_connect_list.reset(); + # sdl92.g:706:46: ( end )? + if stream_end.hasNext(): + self._adaptor.addChild(root_1, stream_end.nextTree()) - stream_e.reset(); + + stream_end.reset(); + + # sdl92.g:706:51: ( transition )? + if stream_transition.hasNext(): + self._adaptor.addChild(root_1, stream_transition.nextTree()) + + + stream_transition.reset(); self._adaptor.addChild(root_0, root_1) @@ -13282,19 +12944,25 @@ def composite_state_graph(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 64, connect_part_StartIndex, success) + + pass return retval - # $ANTLR end "composite_state_graph" + # $ANTLR end "connect_part" - class state_aggregation_return(ParserRuleReturnScope): + class connect_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -13304,344 +12972,327 @@ def __init__(self): - # $ANTLR start "state_aggregation" - # sdl92.g:643: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() + # $ANTLR start "connect_list" + # sdl92.g:710: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) + connect_list_StartIndex = self.input.index() root_0 = None - STATE322 = None - AGGREGATION323 = None - SUBSTRUCTURE325 = None - ENDSUBSTRUCTURE327 = None - e = None - entities = None - body = None - f = None - statename324 = None - connection_points326 = None - statename328 = None - - STATE322_tree = None - AGGREGATION323_tree = None - SUBSTRUCTURE325_tree = None - ENDSUBSTRUCTURE327_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") + char_literal337 = None + ASTERISK339 = None + state_exit_point_name336 = None + state_exit_point_name338 = None + + char_literal337_tree = None + ASTERISK339_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_state_exit_point_name = RewriteRuleSubtreeStream(self._adaptor, "rule state_exit_point_name") + success = False + try: try: - # sdl92.g:644: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:644:17: STATE AGGREGATION statename e= end SUBSTRUCTURE ( connection_points )* (entities= entity_in_composite_state )* body= state_aggregation_body ENDSUBSTRUCTURE ( statename )? f= end - pass - STATE322 = self.match(self.input, STATE, self.FOLLOW_STATE_in_state_aggregation7631) - if self._state.backtracking == 0: - stream_STATE.add(STATE322) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 65): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - AGGREGATION323 = self.match(self.input, AGGREGATION, self.FOLLOW_AGGREGATION_in_state_aggregation7633) - if self._state.backtracking == 0: - stream_AGGREGATION.add(AGGREGATION323) + # sdl92.g:711:9: ( state_exit_point_name ( ',' state_exit_point_name )* -> ( state_exit_point_name )+ | ASTERISK ) + alt115 = 2 + LA115_0 = self.input.LA(1) + if (LA115_0 == ID) : + alt115 = 1 + elif (LA115_0 == ASTERISK) : + alt115 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.append(self.FOLLOW_statename_in_state_aggregation7635) - statename324 = self.statename() - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename324.tree) + nvae = NoViableAltException("", 115, 0, self.input) + raise nvae - self._state.following.append(self.FOLLOW_end_in_state_aggregation7639) - e = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(e.tree) + if alt115 == 1: + # sdl92.g:711:17: state_exit_point_name ( ',' state_exit_point_name )* + pass + self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list7962) + state_exit_point_name336 = self.state_exit_point_name() + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_exit_point_name.add(state_exit_point_name336.tree) - SUBSTRUCTURE325 = self.match(self.input, SUBSTRUCTURE, self.FOLLOW_SUBSTRUCTURE_in_state_aggregation7657) - if self._state.backtracking == 0: - stream_SUBSTRUCTURE.add(SUBSTRUCTURE325) + # sdl92.g:711:39: ( ',' state_exit_point_name )* + while True: #loop114 + alt114 = 2 + LA114_0 = self.input.LA(1) - # sdl92.g:646:17: ( connection_points )* - while True: #loop129 - alt129 = 2 - LA129_0 = self.input.LA(1) + if (LA114_0 == COMMA) : + alt114 = 1 - if (LA129_0 in {IN, OUT}) : - alt129 = 1 + if alt114 == 1: + # sdl92.g:711:40: ',' state_exit_point_name + pass + char_literal337 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_connect_list7965) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal337) - if alt129 == 1: - # sdl92.g:646:17: connection_points - pass - self._state.following.append(self.FOLLOW_connection_points_in_state_aggregation7675) - connection_points326 = self.connection_points() - self._state.following.pop() - if self._state.backtracking == 0: - stream_connection_points.add(connection_points326.tree) + self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list7967) + state_exit_point_name338 = self.state_exit_point_name() + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_exit_point_name.add(state_exit_point_name338.tree) - else: - break #loop129 + else: + break #loop114 - # sdl92.g:647:25: (entities= entity_in_composite_state )* - while True: #loop130 - alt130 = 2 - alt130 = self.dfa130.predict(self.input) - if alt130 == 1: - # sdl92.g:647:25: entities= entity_in_composite_state - pass - self._state.following.append(self.FOLLOW_entity_in_composite_state_in_state_aggregation7696) - entities = self.entity_in_composite_state() - self._state.following.pop() - if self._state.backtracking == 0: - stream_entity_in_composite_state.add(entities.tree) + # 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() + # 712:17: -> ( state_exit_point_name )+ + # sdl92.g:712:20: ( state_exit_point_name )+ + if not (stream_state_exit_point_name.hasNext()): + raise RewriteEarlyExitException() - else: - break #loop130 + while stream_state_exit_point_name.hasNext(): + self._adaptor.addChild(root_0, stream_state_exit_point_name.nextTree()) - self._state.following.append(self.FOLLOW_state_aggregation_body_in_state_aggregation7717) - body = self.state_aggregation_body() + stream_state_exit_point_name.reset() - self._state.following.pop() - if self._state.backtracking == 0: - stream_state_aggregation_body.add(body.tree) - ENDSUBSTRUCTURE327 = self.match(self.input, ENDSUBSTRUCTURE, self.FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation7735) - if self._state.backtracking == 0: - stream_ENDSUBSTRUCTURE.add(ENDSUBSTRUCTURE327) + + retval.tree = root_0 + - # sdl92.g:649:33: ( statename )? - alt131 = 2 - LA131_0 = self.input.LA(1) - if (LA131_0 == ID) : - alt131 = 1 - if alt131 == 1: - # sdl92.g:649:33: statename + elif alt115 == 2: + # sdl92.g:713:19: ASTERISK pass - self._state.following.append(self.FOLLOW_statename_in_state_aggregation7737) - statename328 = self.statename() + root_0 = self._adaptor.nil() - self._state.following.pop() + + ASTERISK339 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_connect_list8010) if self._state.backtracking == 0: - stream_statename.add(statename328.tree) + ASTERISK339_tree = self._adaptor.createWithPayload(ASTERISK339) + self._adaptor.addChild(root_0, ASTERISK339_tree) + retval.stop = self.input.LT(-1) - self._state.following.append(self.FOLLOW_end_in_state_aggregation7742) - f = self.end() - self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(f.tree) + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - # 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) + success = True + 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) - root_0 = self._adaptor.nil() - # 650:9: -> ^( STATE_AGGREGATION statename ( connection_points )* ( $entities)* $body ( $e)? ) - # sdl92.g:650: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()) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 65, connect_list_StartIndex, success) - # sdl92.g:650:47: ( connection_points )* - while stream_connection_points.hasNext(): - self._adaptor.addChild(root_1, stream_connection_points.nextTree()) + pass + return retval - stream_connection_points.reset(); + # $ANTLR end "connect_list" - # sdl92.g:651:38: ( $entities)* - while stream_entities.hasNext(): - self._adaptor.addChild(root_1, stream_entities.nextTree()) + class spontaneous_transition_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - stream_entities.reset(); + self.tree = None - self._adaptor.addChild(root_1, stream_body.nextTree()) - # sdl92.g:651:55: ( $e)? - if stream_e.hasNext(): - self._adaptor.addChild(root_1, stream_e.nextTree()) - stream_e.reset(); - self._adaptor.addChild(root_0, root_1) + # $ANTLR start "spontaneous_transition" + # sdl92.g:717:1: spontaneous_transition : ( cif )* INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )* transition ) ; + def spontaneous_transition(self, ): + retval = self.spontaneous_transition_return() + retval.start = self.input.LT(1) + spontaneous_transition_StartIndex = self.input.index() + root_0 = None + INPUT341 = None + NONE342 = None + cif340 = None + end343 = None + enabling_condition344 = None + transition345 = None - retval.tree = root_0 + INPUT341_tree = None + NONE342_tree = None + stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") + stream_NONE = RewriteRuleTokenStream(self._adaptor, "token NONE") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_enabling_condition = RewriteRuleSubtreeStream(self._adaptor, "rule enabling_condition") + stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 66): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:718:9: ( ( cif )* INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )* transition ) ) + # sdl92.g:718:17: ( cif )* INPUT NONE end ( enabling_condition )? transition + pass + # sdl92.g:718:17: ( cif )* + while True: #loop116 + alt116 = 2 + LA116_0 = self.input.LA(1) + if (LA116_0 == 254) : + alt116 = 1 - retval.stop = self.input.LT(-1) + if alt116 == 1: + # sdl92.g:718:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_spontaneous_transition8042) + cif340 = self.cif() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif340.tree) - 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) + else: + break #loop116 - finally: - pass - return retval - # $ANTLR end "state_aggregation" + INPUT341 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_spontaneous_transition8061) + if self._state.backtracking == 0: + stream_INPUT.add(INPUT341) - class entity_in_composite_state_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + NONE342 = self.match(self.input, NONE, self.FOLLOW_NONE_in_spontaneous_transition8063) + if self._state.backtracking == 0: + stream_NONE.add(NONE342) - self.tree = None + self._state.following.append(self.FOLLOW_end_in_spontaneous_transition8065) + end343 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end343.tree) + # sdl92.g:720:17: ( enabling_condition )? + alt117 = 2 + LA117_0 = self.input.LA(1) - # $ANTLR start "entity_in_composite_state" - # sdl92.g:656: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) + if (LA117_0 == PROVIDED) : + alt117 = 1 + if alt117 == 1: + # sdl92.g:720:17: enabling_condition + pass + self._state.following.append(self.FOLLOW_enabling_condition_in_spontaneous_transition8083) + enabling_condition344 = self.enabling_condition() + self._state.following.pop() + if self._state.backtracking == 0: + stream_enabling_condition.add(enabling_condition344.tree) - root_0 = None - text_area329 = None - procedure330 = None - try: - try: - # sdl92.g:657:9: ( ( text_area | procedure ) ) - # sdl92.g:657:17: ( text_area | procedure ) - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_transition_in_spontaneous_transition8102) + transition345 = self.transition() - # sdl92.g:657:17: ( text_area | procedure ) - alt132 = 2 - LA132_0 = self.input.LA(1) + self._state.following.pop() + if self._state.backtracking == 0: + stream_transition.add(transition345.tree) - if (LA132_0 == 254) : - LA132_1 = self.input.LA(2) - if (self.synpred162_sdl92()) : - alt132 = 1 - elif (True) : - alt132 = 2 + # AST Rewrite + # elements: cif, 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: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 132, 1, self.input) - - raise nvae - - - elif (LA132_0 in {EXPORTED, PROCEDURE}) : - alt132 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - nvae = NoViableAltException("", 132, 0, self.input) - raise nvae + root_0 = self._adaptor.nil() + # 722:9: -> ^( INPUT_NONE ( cif )* transition ) + # sdl92.g:722:17: ^( INPUT_NONE ( cif )* transition ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(INPUT_NONE, "INPUT_NONE") + , root_1) + # sdl92.g:722:30: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - if alt132 == 1: - # sdl92.g:657:18: text_area - pass - self._state.following.append(self.FOLLOW_text_area_in_entity_in_composite_state7847) - text_area329 = self.text_area() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, text_area329.tree) + stream_cif.reset(); + self._adaptor.addChild(root_1, stream_transition.nextTree()) + self._adaptor.addChild(root_0, root_1) - elif alt132 == 2: - # sdl92.g:657:30: procedure - pass - self._state.following.append(self.FOLLOW_procedure_in_entity_in_composite_state7851) - procedure330 = self.procedure() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, procedure330.tree) + retval.tree = root_0 @@ -13656,19 +13307,25 @@ def entity_in_composite_state(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 66, spontaneous_transition_StartIndex, success) + + pass return retval - # $ANTLR end "entity_in_composite_state" + # $ANTLR end "spontaneous_transition" - class state_aggregation_body_return(ParserRuleReturnScope): + class enabling_condition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -13678,83 +13335,90 @@ def __init__(self): - # $ANTLR start "state_aggregation_body" - # sdl92.g:662:1: state_aggregation_body : ( state_partitioning | state_partition_connection )* ( state )* ; - def state_aggregation_body(self, ): - retval = self.state_aggregation_body_return() + # $ANTLR start "enabling_condition" + # sdl92.g:726:1: enabling_condition : PROVIDED expression end -> ^( PROVIDED expression ) ; + def enabling_condition(self, ): + retval = self.enabling_condition_return() retval.start = self.input.LT(1) + enabling_condition_StartIndex = self.input.index() root_0 = None - state_partitioning331 = None - state_partition_connection332 = None - state333 = None + PROVIDED346 = None + expression347 = None + end348 = None + PROVIDED346_tree = None + stream_PROVIDED = RewriteRuleTokenStream(self._adaptor, "token PROVIDED") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False try: try: - # sdl92.g:663:9: ( ( state_partitioning | state_partition_connection )* ( state )* ) - # sdl92.g:663:17: ( state_partitioning | state_partition_connection )* ( state )* - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 67): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # sdl92.g:663:17: ( state_partitioning | state_partition_connection )* - while True: #loop133 - alt133 = 3 - alt133 = self.dfa133.predict(self.input) - if alt133 == 1: - # sdl92.g:663:18: state_partitioning - pass - self._state.following.append(self.FOLLOW_state_partitioning_in_state_aggregation_body7886) - state_partitioning331 = self.state_partitioning() + # sdl92.g:727:9: ( PROVIDED expression end -> ^( PROVIDED expression ) ) + # sdl92.g:727:17: PROVIDED expression end + pass + PROVIDED346 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_enabling_condition8158) + if self._state.backtracking == 0: + stream_PROVIDED.add(PROVIDED346) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_partitioning331.tree) + self._state.following.append(self.FOLLOW_expression_in_enabling_condition8160) + expression347 = self.expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression347.tree) - elif alt133 == 2: - # sdl92.g:663:39: state_partition_connection - pass - self._state.following.append(self.FOLLOW_state_partition_connection_in_state_aggregation_body7890) - state_partition_connection332 = self.state_partition_connection() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state_partition_connection332.tree) + self._state.following.append(self.FOLLOW_end_in_enabling_condition8162) + end348 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end348.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: - break #loop133 + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - # sdl92.g:664:17: ( state )* - while True: #loop134 - alt134 = 2 - LA134_0 = self.input.LA(1) + root_0 = self._adaptor.nil() + # 728:9: -> ^( PROVIDED expression ) + # sdl92.g:728:17: ^( PROVIDED expression ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_PROVIDED.nextNode() + , root_1) - if (LA134_0 in {STATE, 254}) : - alt134 = 1 + self._adaptor.addChild(root_1, stream_expression.nextTree()) + self._adaptor.addChild(root_0, root_1) - if alt134 == 1: - # sdl92.g:664:17: state - pass - self._state.following.append(self.FOLLOW_state_in_state_aggregation_body7910) - state333 = self.state() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state333.tree) + retval.tree = root_0 - else: - break #loop134 @@ -13768,19 +13432,25 @@ def state_aggregation_body(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 67, enabling_condition_StartIndex, success) + + pass return retval - # $ANTLR end "state_aggregation_body" + # $ANTLR end "enabling_condition" - class state_partitioning_return(ParserRuleReturnScope): + class continuous_signal_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -13790,145 +13460,155 @@ def __init__(self): - # $ANTLR start "state_partitioning" - # sdl92.g:669:1: state_partitioning : composite_state ; - def state_partitioning(self, ): - retval = self.state_partitioning_return() + # $ANTLR start "continuous_signal" + # sdl92.g:732:1: continuous_signal : ( cif )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )* ( $p)? ( $e)? ( transition )? ) ; + def continuous_signal(self, ): + retval = self.continuous_signal_return() retval.start = self.input.LT(1) + continuous_signal_StartIndex = self.input.index() root_0 = None - composite_state334 = None + p = None + PROVIDED350 = None + PRIORITY352 = None + e = None + cif349 = None + expression351 = None + end353 = None + transition354 = None + p_tree = None + PROVIDED350_tree = None + PRIORITY352_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_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + success = False try: try: - # sdl92.g:670:9: ( composite_state ) - # sdl92.g:670:17: composite_state + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 68): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:733:9: ( ( cif )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )* ( $p)? ( $e)? ( transition )? ) ) + # sdl92.g:733:17: ( cif )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? pass - root_0 = self._adaptor.nil() + # sdl92.g:733:17: ( cif )* + while True: #loop118 + alt118 = 2 + LA118_0 = self.input.LA(1) + if (LA118_0 == 254) : + alt118 = 1 - self._state.following.append(self.FOLLOW_composite_state_in_state_partitioning7944) - composite_state334 = self.composite_state() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, composite_state334.tree) + if alt118 == 1: + # sdl92.g:733:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_continuous_signal8215) + cif349 = self.cif() + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif349.tree) - retval.stop = self.input.LT(-1) + else: + break #loop118 + PROVIDED350 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_continuous_signal8234) if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - + stream_PROVIDED.add(PROVIDED350) - 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) + self._state.following.append(self.FOLLOW_expression_in_continuous_signal8236) + expression351 = self.expression() - finally: - pass - return retval + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression351.tree) - # $ANTLR end "state_partitioning" + self._state.following.append(self.FOLLOW_end_in_continuous_signal8240) + e = self.end() - class state_partition_connection_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(e.tree) - self.tree = None + # sdl92.g:735:17: ( PRIORITY p= INT end )? + alt119 = 2 + LA119_0 = self.input.LA(1) + if (LA119_0 == PRIORITY) : + alt119 = 1 + if alt119 == 1: + # sdl92.g:735:18: PRIORITY p= INT end + pass + PRIORITY352 = self.match(self.input, PRIORITY, self.FOLLOW_PRIORITY_in_continuous_signal8259) + if self._state.backtracking == 0: + stream_PRIORITY.add(PRIORITY352) + p = self.match(self.input, INT, self.FOLLOW_INT_in_continuous_signal8263) + if self._state.backtracking == 0: + stream_INT.add(p) - # $ANTLR start "state_partition_connection" - # sdl92.g:675: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 - - CONNECT335 = None - AND336 = None - outer = None - inner = None - end337 = None - - CONNECT335_tree = None - AND336_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:676:9: ( CONNECT outer= entry_point AND inner= entry_point end -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) ) - # sdl92.g:676:17: CONNECT outer= entry_point AND inner= entry_point end - pass - CONNECT335 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_state_partition_connection7977) - if self._state.backtracking == 0: - stream_CONNECT.add(CONNECT335) + self._state.following.append(self.FOLLOW_end_in_continuous_signal8265) + end353 = self.end() - self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection7981) - outer = self.entry_point() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end353.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_entry_point.add(outer.tree) - AND336 = self.match(self.input, AND, self.FOLLOW_AND_in_state_partition_connection7983) - if self._state.backtracking == 0: - stream_AND.add(AND336) - self._state.following.append(self.FOLLOW_entry_point_in_state_partition_connection7987) - inner = self.entry_point() + # sdl92.g:736:17: ( transition )? + alt120 = 2 + alt120 = self.dfa120.predict(self.input) + if alt120 == 1: + # sdl92.g:736:17: transition + pass + self._state.following.append(self.FOLLOW_transition_in_continuous_signal8285) + transition354 = self.transition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_entry_point.add(inner.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_transition.add(transition354.tree) - self._state.following.append(self.FOLLOW_end_in_state_partition_connection7989) - end337 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end337.tree) # AST Rewrite - # elements: outer, inner, end - # token labels: - # rule labels: outer, inner, retval + # elements: PROVIDED, expression, cif, 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 - 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) + stream_p = RewriteRuleTokenStream(self._adaptor, "token p", p) + if e is not None: + stream_e = RewriteRuleSubtreeStream(self._adaptor, "rule e", e.tree) else: - stream_inner = RewriteRuleSubtreeStream(self._adaptor, "token inner", None) + stream_e = RewriteRuleSubtreeStream(self._adaptor, "token e", None) if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) @@ -13937,23 +13617,42 @@ def state_partition_connection(self, ): root_0 = self._adaptor.nil() - # 677:9: -> ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) - # sdl92.g:677:17: ^( STATE_PARTITION_CONNECTION $outer $inner ( end )? ) + # 737:9: -> ^( PROVIDED expression ( cif )* ( $p)? ( $e)? ( transition )? ) + # sdl92.g:737:17: ^( PROVIDED expression ( cif )* ( $p)? ( $e)? ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(STATE_PARTITION_CONNECTION, "STATE_PARTITION_CONNECTION") + stream_PROVIDED.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_outer.nextTree()) + self._adaptor.addChild(root_1, stream_expression.nextTree()) - self._adaptor.addChild(root_1, stream_inner.nextTree()) + # sdl92.g:737:39: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - # sdl92.g:677:60: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) + stream_cif.reset(); - stream_end.reset(); + # sdl92.g:737:45: ( $p)? + if stream_p.hasNext(): + self._adaptor.addChild(root_1, stream_p.nextNode()) + + + stream_p.reset(); + + # sdl92.g:737:49: ( $e)? + if stream_e.hasNext(): + self._adaptor.addChild(root_1, stream_e.nextTree()) + + + stream_e.reset(); + + # sdl92.g:737:52: ( transition )? + if stream_transition.hasNext(): + self._adaptor.addChild(root_1, stream_transition.nextTree()) + + + stream_transition.reset(); self._adaptor.addChild(root_0, root_1) @@ -13975,19 +13674,25 @@ def state_partition_connection(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 68, continuous_signal_StartIndex, success) + + pass return retval - # $ANTLR end "state_partition_connection" + # $ANTLR end "continuous_signal" - class entry_point_return(ParserRuleReturnScope): + class save_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -13997,57 +13702,67 @@ def __init__(self): - # $ANTLR start "entry_point" - # sdl92.g:682:1: entry_point : state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ; - def entry_point(self, ): - retval = self.entry_point_return() + # $ANTLR start "save_part" + # sdl92.g:741: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) + save_part_StartIndex = self.input.index() root_0 = None - state_part_id = None - VIA338 = None - point339 = None + SAVE355 = None + save_list356 = None + end357 = None + + SAVE355_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") + success = False - state_part_id_tree = None - VIA338_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:683:9: (state_part_id= ID VIA point -> ^( ENTRY_POINT $state_part_id point ) ) - # sdl92.g:683:17: state_part_id= ID VIA point + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 69): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:742:9: ( SAVE save_list end -> ^( SAVE save_list ) ) + # sdl92.g:742:17: SAVE save_list end pass - state_part_id = self.match(self.input, ID, self.FOLLOW_ID_in_entry_point8052) + SAVE355 = self.match(self.input, SAVE, self.FOLLOW_SAVE_in_save_part8353) if self._state.backtracking == 0: - stream_ID.add(state_part_id) + stream_SAVE.add(SAVE355) + + self._state.following.append(self.FOLLOW_save_list_in_save_part8355) + save_list356 = self.save_list() - VIA338 = self.match(self.input, VIA, self.FOLLOW_VIA_in_entry_point8054) + self._state.following.pop() if self._state.backtracking == 0: - stream_VIA.add(VIA338) + stream_save_list.add(save_list356.tree) - self._state.following.append(self.FOLLOW_point_in_entry_point8056) - point339 = self.point() + self._state.following.append(self.FOLLOW_end_in_save_part8373) + end357 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_point.add(point339.tree) + stream_end.add(end357.tree) # AST Rewrite - # elements: state_part_id, point - # token labels: state_part_id + # 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 - 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: @@ -14055,16 +13770,14 @@ def entry_point(self, ): root_0 = self._adaptor.nil() - # 684:9: -> ^( ENTRY_POINT $state_part_id point ) - # sdl92.g:684:17: ^( ENTRY_POINT $state_part_id point ) + # 744:9: -> ^( SAVE save_list ) + # sdl92.g:744:17: ^( SAVE save_list ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(ENTRY_POINT, "ENTRY_POINT") + stream_SAVE.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_state_part_id.nextNode()) - - self._adaptor.addChild(root_1, stream_point.nextTree()) + self._adaptor.addChild(root_1, stream_save_list.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -14086,19 +13799,25 @@ def entry_point(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 69, save_part_StartIndex, success) + + pass return retval - # $ANTLR end "entry_point" + # $ANTLR end "save_part" - class point_return(ParserRuleReturnScope): + class save_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -14108,112 +13827,149 @@ def __init__(self): - # $ANTLR start "point" - # sdl92.g:689:1: point : (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ; - def point(self, ): - retval = self.point_return() + # $ANTLR start "save_list" + # sdl92.g:748:1: save_list : ( signal_list | asterisk_save_list ); + def save_list(self, ): + retval = self.save_list_return() retval.start = self.input.LT(1) + save_list_StartIndex = self.input.index() root_0 = None - state_point = None - DEFAULT340 = None + signal_list358 = None + asterisk_save_list359 = None - state_point_tree = None - DEFAULT340_tree = None - stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") - stream_DEFAULT = RewriteRuleTokenStream(self._adaptor, "token DEFAULT") + + success = False try: try: - # sdl92.g:690:9: ( (state_point= ID | DEFAULT ) -> ^( POINT ( $state_point)? ( DEFAULT )? ) ) - # sdl92.g:690:17: (state_point= ID | DEFAULT ) - pass - # sdl92.g:690:17: (state_point= ID | DEFAULT ) - alt135 = 2 - LA135_0 = self.input.LA(1) - - if (LA135_0 == ID) : - alt135 = 1 - elif (LA135_0 == DEFAULT) : - alt135 = 2 + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 70): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:749:9: ( signal_list | asterisk_save_list ) + alt121 = 2 + LA121_0 = self.input.LA(1) + + if (LA121_0 == ID) : + alt121 = 1 + elif (LA121_0 == ASTERISK) : + alt121 = 2 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 135, 0, self.input) + nvae = NoViableAltException("", 121, 0, self.input) raise nvae - if alt135 == 1: - # sdl92.g:690:18: state_point= ID + if alt121 == 1: + # sdl92.g:749:17: signal_list pass - state_point = self.match(self.input, ID, self.FOLLOW_ID_in_point8116) + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_signal_list_in_save_list8426) + signal_list358 = self.signal_list() + + self._state.following.pop() if self._state.backtracking == 0: - stream_ID.add(state_point) + self._adaptor.addChild(root_0, signal_list358.tree) - elif alt135 == 2: - # sdl92.g:690:35: DEFAULT + elif alt121 == 2: + # sdl92.g:750:19: asterisk_save_list pass - DEFAULT340 = self.match(self.input, DEFAULT, self.FOLLOW_DEFAULT_in_point8120) + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_asterisk_save_list_in_save_list8446) + asterisk_save_list359 = self.asterisk_save_list() + + self._state.following.pop() if self._state.backtracking == 0: - stream_DEFAULT.add(DEFAULT340) + self._adaptor.addChild(root_0, asterisk_save_list359.tree) + retval.stop = self.input.LT(-1) - # 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) + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - root_0 = self._adaptor.nil() - # 691:9: -> ^( POINT ( $state_point)? ( DEFAULT )? ) - # sdl92.g:691:17: ^( POINT ( $state_point)? ( DEFAULT )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(POINT, "POINT") - , root_1) - # sdl92.g:691:26: ( $state_point)? - if stream_state_point.hasNext(): - self._adaptor.addChild(root_1, stream_state_point.nextNode()) + success = True + 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) - stream_state_point.reset(); + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 70, save_list_StartIndex, success) - # sdl92.g:691:39: ( DEFAULT )? - if stream_DEFAULT.hasNext(): - self._adaptor.addChild(root_1, - stream_DEFAULT.nextNode() - ) + pass + return retval - stream_DEFAULT.reset(); + # $ANTLR end "save_list" - self._adaptor.addChild(root_0, root_1) + + class asterisk_save_list_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + + self.tree = None - retval.tree = root_0 + + # $ANTLR start "asterisk_save_list" + # sdl92.g:754:1: asterisk_save_list : ASTERISK ; + def asterisk_save_list(self, ): + retval = self.asterisk_save_list_return() + retval.start = self.input.LT(1) + + asterisk_save_list_StartIndex = self.input.index() + + root_0 = None + + ASTERISK360 = None + + ASTERISK360_tree = None + + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 71): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:755:9: ( ASTERISK ) + # sdl92.g:755:17: ASTERISK + pass + root_0 = self._adaptor.nil() + + + ASTERISK360 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_asterisk_save_list8478) + if self._state.backtracking == 0: + ASTERISK360_tree = self._adaptor.createWithPayload(ASTERISK360) + self._adaptor.addChild(root_0, ASTERISK360_tree) @@ -14228,19 +13984,25 @@ def point(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 71, asterisk_save_list_StartIndex, success) + + pass return retval - # $ANTLR end "point" + # $ANTLR end "asterisk_save_list" - class connection_points_return(ParserRuleReturnScope): + class signal_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -14250,176 +14012,190 @@ def __init__(self): - # $ANTLR start "connection_points" - # sdl92.g:696: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() + # $ANTLR start "signal_list" + # sdl92.g:758: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) + signal_list_StartIndex = self.input.index() root_0 = None - IN341 = None - OUT344 = None - state_entry_exit_points342 = None - end343 = None - state_entry_exit_points345 = None - end346 = None + char_literal362 = None + signal_item361 = None + signal_item363 = None + + char_literal362_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_signal_item = RewriteRuleSubtreeStream(self._adaptor, "rule signal_item") + success = False - IN341_tree = None - OUT344_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:697: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 )? ) ) - alt136 = 2 - LA136_0 = self.input.LA(1) - - if (LA136_0 == IN) : - alt136 = 1 - elif (LA136_0 == OUT) : - alt136 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 72): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 136, 0, self.input) + # sdl92.g:759:9: ( signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ) + # sdl92.g:759:17: signal_item ( ',' signal_item )* + pass + self._state.following.append(self.FOLLOW_signal_item_in_signal_list8501) + signal_item361 = self.signal_item() - raise nvae + self._state.following.pop() + if self._state.backtracking == 0: + stream_signal_item.add(signal_item361.tree) - if alt136 == 1: - # sdl92.g:697:17: IN state_entry_exit_points end - pass - IN341 = self.match(self.input, IN, self.FOLLOW_IN_in_connection_points8180) - if self._state.backtracking == 0: - stream_IN.add(IN341) + # sdl92.g:759:29: ( ',' signal_item )* + while True: #loop122 + alt122 = 2 + LA122_0 = self.input.LA(1) + if (LA122_0 == COMMA) : + alt122 = 1 - self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points8182) - state_entry_exit_points342 = self.state_entry_exit_points() - self._state.following.pop() - if self._state.backtracking == 0: - stream_state_entry_exit_points.add(state_entry_exit_points342.tree) + if alt122 == 1: + # sdl92.g:759:30: ',' signal_item + pass + char_literal362 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_signal_list8504) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal362) - self._state.following.append(self.FOLLOW_end_in_connection_points8184) - end343 = self.end() + self._state.following.append(self.FOLLOW_signal_item_in_signal_list8506) + signal_item363 = self.signal_item() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end343.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_signal_item.add(signal_item363.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) + else: + break #loop122 - root_0 = self._adaptor.nil() - # 698:9: -> ^( IN state_entry_exit_points ( end )? ) - # sdl92.g:698: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()) + # 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) - # sdl92.g:698:46: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) + root_0 = self._adaptor.nil() + # 760:9: -> ^( SIGNAL_LIST ( signal_item )+ ) + # sdl92.g:760:17: ^( SIGNAL_LIST ( signal_item )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(SIGNAL_LIST, "SIGNAL_LIST") + , root_1) - stream_end.reset(); + # sdl92.g:760:31: ( signal_item )+ + if not (stream_signal_item.hasNext()): + raise RewriteEarlyExitException() - self._adaptor.addChild(root_0, root_1) + 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.tree = root_0 - elif alt136 == 2: - # sdl92.g:699:19: OUT state_entry_exit_points end - pass - OUT344 = self.match(self.input, OUT, self.FOLLOW_OUT_in_connection_points8228) - if self._state.backtracking == 0: - stream_OUT.add(OUT344) - self._state.following.append(self.FOLLOW_state_entry_exit_points_in_connection_points8230) - state_entry_exit_points345 = self.state_entry_exit_points() - self._state.following.pop() - if self._state.backtracking == 0: - stream_state_entry_exit_points.add(state_entry_exit_points345.tree) + retval.stop = self.input.LT(-1) - self._state.following.append(self.FOLLOW_end_in_connection_points8232) - end346 = self.end() + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end346.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) + success = True + 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) - root_0 = self._adaptor.nil() - # 700:9: -> ^( OUT state_entry_exit_points ( end )? ) - # sdl92.g:700:17: ^( OUT state_entry_exit_points ( end )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_OUT.nextNode() - , root_1) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 72, signal_list_StartIndex, success) - self._adaptor.addChild(root_1, stream_state_entry_exit_points.nextTree()) - # sdl92.g:700:47: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) + pass + return retval + # $ANTLR end "signal_list" - stream_end.reset(); - self._adaptor.addChild(root_0, root_1) + class signal_item_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - retval.tree = root_0 + + + # $ANTLR start "signal_item" + # sdl92.g:767:1: signal_item : signal_id ; + def signal_item(self, ): + retval = self.signal_item_return() + retval.start = self.input.LT(1) + + signal_item_StartIndex = self.input.index() + + root_0 = None + + signal_id364 = None + + + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 73): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:768:9: ( signal_id ) + # sdl92.g:768:17: signal_id + pass + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_signal_id_in_signal_item8565) + signal_id364 = self.signal_id() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, signal_id364.tree) @@ -14433,19 +14209,25 @@ def connection_points(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 73, signal_item_StartIndex, success) + + pass return retval - # $ANTLR end "connection_points" + # $ANTLR end "signal_item" - class state_entry_exit_points_return(ParserRuleReturnScope): + class input_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -14455,83 +14237,131 @@ def __init__(self): - # $ANTLR start "state_entry_exit_points" - # sdl92.g:705:1: state_entry_exit_points : '(' statename ( ',' statename )* ')' -> ( statename )+ ; - def state_entry_exit_points(self, ): - retval = self.state_entry_exit_points_return() + # $ANTLR start "input_part" + # sdl92.g:788:1: input_part : ( cif )* INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )* ( end )? inputlist ( enabling_condition )? ( transition )? ) ; + def input_part(self, ): + retval = self.input_part_return() retval.start = self.input.LT(1) + input_part_StartIndex = self.input.index() root_0 = None - char_literal347 = None - char_literal349 = None - char_literal351 = None - statename348 = None - statename350 = None + INPUT366 = None + cif365 = None + inputlist367 = None + end368 = None + enabling_condition369 = None + transition370 = None + + INPUT366_tree = None + stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + 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") + success = False - char_literal347_tree = None - char_literal349_tree = None - char_literal351_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:706:9: ( '(' statename ( ',' statename )* ')' -> ( statename )+ ) - # sdl92.g:706:17: '(' statename ( ',' statename )* ')' + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 74): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:789:9: ( ( cif )* INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )* ( end )? inputlist ( enabling_condition )? ( transition )? ) ) + # sdl92.g:789:17: ( cif )* INPUT inputlist end ( enabling_condition )? ( transition )? pass - char_literal347 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_state_entry_exit_points8289) + # sdl92.g:789:17: ( cif )* + while True: #loop123 + alt123 = 2 + LA123_0 = self.input.LA(1) + + if (LA123_0 == 254) : + alt123 = 1 + + + if alt123 == 1: + # sdl92.g:789:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_input_part8594) + cif365 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif365.tree) + + + + else: + break #loop123 + + + INPUT366 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_part8613) if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal347) + stream_INPUT.add(INPUT366) - self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points8291) - statename348 = self.statename() + self._state.following.append(self.FOLLOW_inputlist_in_input_part8615) + inputlist367 = self.inputlist() self._state.following.pop() if self._state.backtracking == 0: - stream_statename.add(statename348.tree) + stream_inputlist.add(inputlist367.tree) - # sdl92.g:706:31: ( ',' statename )* - while True: #loop137 - alt137 = 2 - LA137_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_end_in_input_part8617) + end368 = self.end() - if (LA137_0 == COMMA) : - alt137 = 1 + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end368.tree) - if alt137 == 1: - # sdl92.g:706:32: ',' statename - pass - char_literal349 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_state_entry_exit_points8294) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal349) + # sdl92.g:791:17: ( enabling_condition )? + alt124 = 2 + LA124_0 = self.input.LA(1) + if (LA124_0 == PROVIDED) : + LA124_1 = self.input.LA(2) - self._state.following.append(self.FOLLOW_statename_in_state_entry_exit_points8296) - statename350 = self.statename() + if (self.synpred161_sdl92()) : + alt124 = 1 + if alt124 == 1: + # sdl92.g:791:17: enabling_condition + pass + self._state.following.append(self.FOLLOW_enabling_condition_in_input_part8635) + enabling_condition369 = self.enabling_condition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_statename.add(statename350.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_enabling_condition.add(enabling_condition369.tree) - else: - break #loop137 - char_literal351 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_state_entry_exit_points8300) - if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal351) + # sdl92.g:792:17: ( transition )? + alt125 = 2 + alt125 = self.dfa125.predict(self.input) + if alt125 == 1: + # sdl92.g:792:17: transition + pass + self._state.following.append(self.FOLLOW_transition_in_input_part8654) + transition370 = self.transition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_transition.add(transition370.tree) + + + # AST Rewrite - # elements: statename + # elements: INPUT, cif, end, inputlist, enabling_condition, transition # token labels: # rule labels: retval # token list labels: @@ -14546,16 +14376,44 @@ def state_entry_exit_points(self, ): root_0 = self._adaptor.nil() - # 707:9: -> ( statename )+ - # sdl92.g:707:17: ( statename )+ - if not (stream_statename.hasNext()): - raise RewriteEarlyExitException() + # 793:9: -> ^( INPUT ( cif )* ( end )? inputlist ( enabling_condition )? ( transition )? ) + # sdl92.g:793:17: ^( INPUT ( cif )* ( end )? inputlist ( enabling_condition )? ( transition )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_INPUT.nextNode() + , root_1) - while stream_statename.hasNext(): - self._adaptor.addChild(root_0, stream_statename.nextTree()) + # sdl92.g:793:25: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - stream_statename.reset() + stream_cif.reset(); + + # sdl92.g:793:30: ( 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:794:27: ( enabling_condition )? + if stream_enabling_condition.hasNext(): + self._adaptor.addChild(root_1, stream_enabling_condition.nextTree()) + + + stream_enabling_condition.reset(); + + # sdl92.g:794:47: ( transition )? + if stream_transition.hasNext(): + self._adaptor.addChild(root_1, stream_transition.nextTree()) + + + stream_transition.reset(); + + self._adaptor.addChild(root_0, root_1) @@ -14575,19 +14433,25 @@ def state_entry_exit_points(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 74, input_part_StartIndex, success) + + pass return retval - # $ANTLR end "state_entry_exit_points" + # $ANTLR end "input_part" - class composite_state_body_return(ParserRuleReturnScope): + class inputlist_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -14597,165 +14461,153 @@ def __init__(self): - # $ANTLR start "composite_state_body" - # sdl92.g:714: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() + # $ANTLR start "inputlist" + # sdl92.g:800:1: inputlist : ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ); + def inputlist(self, ): + retval = self.inputlist_return() retval.start = self.input.LT(1) + inputlist_StartIndex = self.input.index() root_0 = None - EOF358 = None - text_area352 = None - procedure353 = None - composite_state354 = None - start355 = None - state356 = None - floating_label357 = None + ASTERISK371 = None + char_literal373 = None + stimulus372 = None + stimulus374 = None - EOF358_tree = None + ASTERISK371_tree = None + char_literal373_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_stimulus = RewriteRuleSubtreeStream(self._adaptor, "rule stimulus") + success = False try: try: - # sdl92.g:715:9: ( ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? ) - # sdl92.g:715:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* ( start )* ( state | floating_label )* ( EOF )? - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 75): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # sdl92.g:715:12: ( text_area | procedure | ( composite_state_preamble )=> composite_state )* - while True: #loop138 - alt138 = 4 - LA138 = self.input.LA(1) - if LA138 in {254}: - LA138_1 = self.input.LA(2) + # sdl92.g:801:9: ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ) + alt127 = 2 + LA127_0 = self.input.LA(1) - if (self.synpred169_sdl92()) : - alt138 = 1 - elif (self.synpred170_sdl92()) : - alt138 = 2 - - - elif LA138 in {STATE}: - LA138_3 = self.input.LA(2) + if (LA127_0 == ASTERISK) : + alt127 = 1 + elif (LA127_0 == ID) : + alt127 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (self.synpred171_sdl92()) : - alt138 = 3 + nvae = NoViableAltException("", 127, 0, self.input) - elif LA138 in {EXPORTED, PROCEDURE}: - alt138 = 2 + raise nvae - if alt138 == 1: - # sdl92.g:715:13: text_area - pass - self._state.following.append(self.FOLLOW_text_area_in_composite_state_body8349) - text_area352 = self.text_area() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, text_area352.tree) + if alt127 == 1: + # sdl92.g:801:17: ASTERISK + pass + root_0 = self._adaptor.nil() + ASTERISK371 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_inputlist8738) + if self._state.backtracking == 0: + ASTERISK371_tree = self._adaptor.createWithPayload(ASTERISK371) + self._adaptor.addChild(root_0, ASTERISK371_tree) - elif alt138 == 2: - # sdl92.g:716:15: procedure - pass - self._state.following.append(self.FOLLOW_procedure_in_composite_state_body8365) - procedure353 = self.procedure() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, procedure353.tree) + elif alt127 == 2: + # sdl92.g:802:19: ( stimulus ( ',' stimulus )* ) + pass + # sdl92.g:802:19: ( stimulus ( ',' stimulus )* ) + # sdl92.g:802:20: stimulus ( ',' stimulus )* + pass + self._state.following.append(self.FOLLOW_stimulus_in_inputlist8759) + stimulus372 = self.stimulus() - elif alt138 == 3: - # sdl92.g:717:15: ( composite_state_preamble )=> composite_state - pass - self._state.following.append(self.FOLLOW_composite_state_in_composite_state_body8386) - composite_state354 = self.composite_state() + self._state.following.pop() + if self._state.backtracking == 0: + stream_stimulus.add(stimulus372.tree) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, composite_state354.tree) + # sdl92.g:802:29: ( ',' stimulus )* + while True: #loop126 + alt126 = 2 + LA126_0 = self.input.LA(1) + if (LA126_0 == COMMA) : + alt126 = 1 - else: - break #loop138 + if alt126 == 1: + # sdl92.g:802:30: ',' stimulus + pass + char_literal373 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_inputlist8762) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal373) - # sdl92.g:718:12: ( start )* - while True: #loop139 - alt139 = 2 - alt139 = self.dfa139.predict(self.input) - if alt139 == 1: - # sdl92.g:718:12: start - pass - self._state.following.append(self.FOLLOW_start_in_composite_state_body8401) - start355 = self.start() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, start355.tree) + self._state.following.append(self.FOLLOW_stimulus_in_inputlist8764) + stimulus374 = self.stimulus() + self._state.following.pop() + if self._state.backtracking == 0: + stream_stimulus.add(stimulus374.tree) - else: - break #loop139 + else: + break #loop126 - # sdl92.g:718:19: ( state | floating_label )* - while True: #loop140 - alt140 = 3 - alt140 = self.dfa140.predict(self.input) - if alt140 == 1: - # sdl92.g:718:20: state - pass - self._state.following.append(self.FOLLOW_state_in_composite_state_body8405) - state356 = self.state() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, state356.tree) - elif alt140 == 2: - # sdl92.g:718:28: floating_label - pass - self._state.following.append(self.FOLLOW_floating_label_in_composite_state_body8409) - floating_label357 = self.floating_label() + # 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) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, floating_label357.tree) + root_0 = self._adaptor.nil() + # 803:9: -> ^( INPUTLIST ( stimulus )+ ) + # sdl92.g:803:17: ^( INPUTLIST ( stimulus )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(INPUTLIST, "INPUTLIST") + , root_1) + # sdl92.g:803:29: ( stimulus )+ + if not (stream_stimulus.hasNext()): + raise RewriteEarlyExitException() - else: - break #loop140 + while stream_stimulus.hasNext(): + self._adaptor.addChild(root_1, stream_stimulus.nextTree()) - # sdl92.g:719:12: ( EOF )? - alt141 = 2 - LA141_0 = self.input.LA(1) + stream_stimulus.reset() - if (LA141_0 == EOF) : - alt141 = 1 - if alt141 == 1: - # sdl92.g:719:12: EOF - pass - EOF358 = self.match(self.input, EOF, self.FOLLOW_EOF_in_composite_state_body8424) - if self._state.backtracking == 0: - EOF358_tree = self._adaptor.createWithPayload(EOF358) - self._adaptor.addChild(root_0, EOF358_tree) + self._adaptor.addChild(root_0, root_1) + retval.tree = root_0 @@ -14769,19 +14621,25 @@ def composite_state_body(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 75, inputlist_StartIndex, success) + + pass return retval - # $ANTLR end "composite_state_body" + # $ANTLR end "inputlist" - class state_part_return(ParserRuleReturnScope): + class stimulus_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -14791,99 +14649,63 @@ def __init__(self): - # $ANTLR start "state_part" - # sdl92.g:723:1: state_part : ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ); - def state_part(self, ): - retval = self.state_part_return() + # $ANTLR start "stimulus" + # sdl92.g:807:1: stimulus : stimulus_id ( input_params )? ; + def stimulus(self, ): + retval = self.stimulus_return() retval.start = self.input.LT(1) + stimulus_StartIndex = self.input.index() root_0 = None - input_part359 = None - save_part360 = None - spontaneous_transition361 = None - continuous_signal362 = None - connect_part363 = None + stimulus_id375 = None + input_params376 = None + + success = False try: try: - # sdl92.g:724:9: ( input_part | save_part | spontaneous_transition | continuous_signal | connect_part ) - alt142 = 5 - alt142 = self.dfa142.predict(self.input) - if alt142 == 1: - # sdl92.g:724:17: input_part - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_input_part_in_state_part8457) - input_part359 = self.input_part() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, input_part359.tree) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 76): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - - elif alt142 == 2: - # sdl92.g:726:19: save_part - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_save_part_in_state_part8494) - save_part360 = self.save_part() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, save_part360.tree) - - - - elif alt142 == 3: - # sdl92.g:727:19: spontaneous_transition - pass - root_0 = self._adaptor.nil() + # sdl92.g:808:9: ( stimulus_id ( input_params )? ) + # sdl92.g:808:17: stimulus_id ( input_params )? + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_spontaneous_transition_in_state_part8529) - spontaneous_transition361 = self.spontaneous_transition() + self._state.following.append(self.FOLLOW_stimulus_id_in_stimulus8821) + stimulus_id375 = self.stimulus_id() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, spontaneous_transition361.tree) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, stimulus_id375.tree) + # sdl92.g:808:29: ( input_params )? + alt128 = 2 + LA128_0 = self.input.LA(1) - elif alt142 == 4: - # sdl92.g:728:19: continuous_signal + if (LA128_0 == L_PAREN) : + alt128 = 1 + if alt128 == 1: + # sdl92.g:808:29: input_params pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_continuous_signal_in_state_part8549) - continuous_signal362 = self.continuous_signal() + self._state.following.append(self.FOLLOW_input_params_in_stimulus8823) + input_params376 = self.input_params() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, continuous_signal362.tree) - - + self._adaptor.addChild(root_0, input_params376.tree) - elif alt142 == 5: - # sdl92.g:729:19: connect_part - pass - root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_connect_part_in_state_part8569) - connect_part363 = self.connect_part() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, connect_part363.tree) @@ -14896,19 +14718,25 @@ def state_part(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 76, stimulus_StartIndex, success) + + pass return retval - # $ANTLR end "state_part" + # $ANTLR end "stimulus" - class connect_part_return(ParserRuleReturnScope): + class input_params_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -14918,324 +14746,369 @@ def __init__(self): - # $ANTLR start "connect_part" - # sdl92.g:734:1: connect_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) ; - def connect_part(self, ): - retval = self.connect_part_return() + # $ANTLR start "input_params" + # sdl92.g:812: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) + input_params_StartIndex = self.input.index() root_0 = None - CONNECT369 = None - cif364 = None - symbolid365 = None - hyperlink366 = None - requirement367 = None - rid368 = None - connect_list370 = None - end371 = None - transition372 = None - - CONNECT369_tree = None - stream_CONNECT = RewriteRuleTokenStream(self._adaptor, "token CONNECT") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_connect_list = RewriteRuleSubtreeStream(self._adaptor, "rule connect_list") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + L_PAREN377 = None + char_literal379 = None + R_PAREN381 = None + variable_id378 = None + variable_id380 = None + + L_PAREN377_tree = None + char_literal379_tree = None + R_PAREN381_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") + success = False + try: try: - # sdl92.g:735:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) ) - # sdl92.g:735:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CONNECT ( connect_list )? end ( transition )? + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 77): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:813:9: ( L_PAREN variable_id ( ',' variable_id )* R_PAREN -> ^( PARAMS ( variable_id )+ ) ) + # sdl92.g:813:17: L_PAREN variable_id ( ',' variable_id )* R_PAREN pass - # sdl92.g:735:17: ( cif )? - alt143 = 2 - LA143_0 = self.input.LA(1) + L_PAREN377 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_params8856) + if self._state.backtracking == 0: + stream_L_PAREN.add(L_PAREN377) - if (LA143_0 == 254) : - LA143_1 = self.input.LA(2) - if (LA143_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt143 = 1 - if alt143 == 1: - # sdl92.g:735:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_connect_part8602) - cif364 = self.cif() + self._state.following.append(self.FOLLOW_variable_id_in_input_params8858) + variable_id378 = self.variable_id() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif364.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id378.tree) + # sdl92.g:813:37: ( ',' variable_id )* + while True: #loop129 + alt129 = 2 + LA129_0 = self.input.LA(1) + if (LA129_0 == COMMA) : + alt129 = 1 - # sdl92.g:736:17: ( symbolid )? - alt144 = 2 - LA144_0 = self.input.LA(1) + if alt129 == 1: + # sdl92.g:813:38: ',' variable_id + pass + char_literal379 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_input_params8861) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal379) - if (LA144_0 == 254) : - LA144_1 = self.input.LA(2) - if (LA144_1 == 256) : - alt144 = 1 - if alt144 == 1: - # sdl92.g:736:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_connect_part8621) - symbolid365 = self.symbolid() + self._state.following.append(self.FOLLOW_variable_id_in_input_params8863) + variable_id380 = self.variable_id() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid365.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id380.tree) + else: + break #loop129 - # sdl92.g:737:17: ( hyperlink )? - alt145 = 2 - LA145_0 = self.input.LA(1) + R_PAREN381 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_params8867) + if self._state.backtracking == 0: + stream_R_PAREN.add(R_PAREN381) - if (LA145_0 == 254) : - LA145_1 = self.input.LA(2) - if (LA145_1 == KEEP) : - LA145_3 = self.input.LA(3) + # 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) - if (LA145_3 == SPECIFIC) : - LA145_4 = self.input.LA(4) - if (LA145_4 == GEODE) : - LA145_5 = self.input.LA(5) + root_0 = self._adaptor.nil() + # 814:9: -> ^( PARAMS ( variable_id )+ ) + # sdl92.g:814:17: ^( PARAMS ( variable_id )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(PARAMS, "PARAMS") + , root_1) - if (LA145_5 == HYPERLINK) : - alt145 = 1 - if alt145 == 1: - # sdl92.g:737:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_connect_part8640) - hyperlink366 = self.hyperlink() + # sdl92.g:814:26: ( variable_id )+ + if not (stream_variable_id.hasNext()): + raise RewriteEarlyExitException() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink366.tree) + 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) - # sdl92.g:738:17: ( requirement )* - while True: #loop146 - alt146 = 2 - LA146_0 = self.input.LA(1) - if (LA146_0 == 254) : - LA146_1 = self.input.LA(2) - if (LA146_1 == KEEP) : - LA146_3 = self.input.LA(3) + retval.tree = root_0 - if (LA146_3 == SPECIFIC) : - LA146_4 = self.input.LA(4) - if (LA146_4 == GEODE) : - LA146_5 = self.input.LA(5) - if (LA146_5 == REQ_ID) : - alt146 = 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) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 77, input_params_StartIndex, success) - if alt146 == 1: - # sdl92.g:738:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_connect_part8659) - requirement367 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement367.tree) + pass + return retval + # $ANTLR end "input_params" - else: - break #loop146 + class transition_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - # sdl92.g:739:17: ( rid )* - while True: #loop147 - alt147 = 2 - LA147_0 = self.input.LA(1) - if (LA147_0 == 254) : - alt147 = 1 - if alt147 == 1: - # sdl92.g:739:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_connect_part8678) - rid368 = self.rid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid368.tree) + # $ANTLR start "transition" + # sdl92.g:818: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) + transition_StartIndex = self.input.index() + root_0 = None - else: - break #loop147 + action382 = None + label383 = None + terminator_statement384 = None + terminator_statement385 = None + stream_terminator_statement = RewriteRuleSubtreeStream(self._adaptor, "rule terminator_statement") + stream_action = RewriteRuleSubtreeStream(self._adaptor, "rule action") + stream_label = RewriteRuleSubtreeStream(self._adaptor, "rule label") + success = False - CONNECT369 = self.match(self.input, CONNECT, self.FOLLOW_CONNECT_in_connect_part8697) - if self._state.backtracking == 0: - stream_CONNECT.add(CONNECT369) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 78): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:819:9: ( ( action )+ ( label )? ( terminator_statement )? -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) | terminator_statement -> ^( TRANSITION terminator_statement ) ) + alt133 = 2 + alt133 = self.dfa133.predict(self.input) + if alt133 == 1: + # sdl92.g:819:17: ( action )+ ( label )? ( terminator_statement )? + pass + # sdl92.g:819:17: ( action )+ + cnt130 = 0 + while True: #loop130 + alt130 = 2 + alt130 = self.dfa130.predict(self.input) + if alt130 == 1: + # sdl92.g:819:17: action + pass + self._state.following.append(self.FOLLOW_action_in_transition8921) + action382 = self.action() + self._state.following.pop() + if self._state.backtracking == 0: + stream_action.add(action382.tree) - # sdl92.g:740:25: ( connect_list )? - alt148 = 2 - LA148_0 = self.input.LA(1) - if (LA148_0 in {ASTERISK, ID}) : - alt148 = 1 - if alt148 == 1: - # sdl92.g:740:25: connect_list - pass - self._state.following.append(self.FOLLOW_connect_list_in_connect_part8699) - connect_list370 = self.connect_list() - self._state.following.pop() - if self._state.backtracking == 0: - stream_connect_list.add(connect_list370.tree) + else: + if cnt130 >= 1: + break #loop130 + if self._state.backtracking > 0: + raise BacktrackingFailed + eee = EarlyExitException(130, self.input) + raise eee + cnt130 += 1 - self._state.following.append(self.FOLLOW_end_in_connect_part8702) - end371 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end371.tree) + # sdl92.g:819:25: ( label )? + alt131 = 2 + alt131 = self.dfa131.predict(self.input) + if alt131 == 1: + # sdl92.g:819:25: label + pass + self._state.following.append(self.FOLLOW_label_in_transition8924) + label383 = self.label() + self._state.following.pop() + if self._state.backtracking == 0: + stream_label.add(label383.tree) - # sdl92.g:741:17: ( transition )? - alt149 = 2 - alt149 = self.dfa149.predict(self.input) - if alt149 == 1: - # sdl92.g:741:17: transition - pass - self._state.following.append(self.FOLLOW_transition_in_connect_part8720) - transition372 = self.transition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_transition.add(transition372.tree) + # sdl92.g:819:32: ( terminator_statement )? + alt132 = 2 + alt132 = self.dfa132.predict(self.input) + if alt132 == 1: + # sdl92.g:819:32: terminator_statement + pass + self._state.following.append(self.FOLLOW_terminator_statement_in_transition8927) + terminator_statement384 = self.terminator_statement() + self._state.following.pop() + if self._state.backtracking == 0: + stream_terminator_statement.add(terminator_statement384.tree) - # AST Rewrite - # elements: CONNECT, cif, symbolid, hyperlink, requirement, rid, 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() - # 742:9: -> ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) - # sdl92.g:742:17: ^( CONNECT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( connect_list )? ( end )? ( transition )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_CONNECT.nextNode() - , root_1) - # sdl92.g:742:27: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + + # AST Rewrite + # elements: action, label, terminator_statement + # 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) - stream_cif.reset(); + root_0 = self._adaptor.nil() + # 820:9: -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) + # sdl92.g:820:17: ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(TRANSITION, "TRANSITION") + , root_1) + + # sdl92.g:820:30: ( action )+ + if not (stream_action.hasNext()): + raise RewriteEarlyExitException() + + while stream_action.hasNext(): + self._adaptor.addChild(root_1, stream_action.nextTree()) - # sdl92.g:742:32: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + stream_action.reset() - stream_symbolid.reset(); + # sdl92.g:820:38: ( label )? + if stream_label.hasNext(): + self._adaptor.addChild(root_1, stream_label.nextTree()) - # sdl92.g:742:42: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + stream_label.reset(); - stream_hyperlink.reset(); + # sdl92.g:820:45: ( terminator_statement )? + if stream_terminator_statement.hasNext(): + self._adaptor.addChild(root_1, stream_terminator_statement.nextTree()) - # sdl92.g:742:53: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + stream_terminator_statement.reset(); - stream_requirement.reset(); + self._adaptor.addChild(root_0, root_1) - # sdl92.g:742:66: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - stream_rid.reset(); - # sdl92.g:742:71: ( connect_list )? - if stream_connect_list.hasNext(): - self._adaptor.addChild(root_1, stream_connect_list.nextTree()) + retval.tree = root_0 - stream_connect_list.reset(); - # sdl92.g:742:85: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) + elif alt133 == 2: + # sdl92.g:821:19: terminator_statement + pass + self._state.following.append(self.FOLLOW_terminator_statement_in_transition8976) + terminator_statement385 = self.terminator_statement() - stream_end.reset(); + self._state.following.pop() + if self._state.backtracking == 0: + stream_terminator_statement.add(terminator_statement385.tree) - # sdl92.g:742:90: ( transition )? - if stream_transition.hasNext(): - self._adaptor.addChild(root_1, stream_transition.nextTree()) + + # AST Rewrite + # elements: terminator_statement + # 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) - stream_transition.reset(); + root_0 = self._adaptor.nil() + # 822:9: -> ^( TRANSITION terminator_statement ) + # sdl92.g:822:17: ^( TRANSITION terminator_statement ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(TRANSITION, "TRANSITION") + , root_1) - self._adaptor.addChild(root_0, root_1) + self._adaptor.addChild(root_1, stream_terminator_statement.nextTree()) + self._adaptor.addChild(root_0, root_1) - retval.tree = root_0 + retval.tree = root_0 @@ -15249,19 +15122,25 @@ def connect_part(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 78, transition_StartIndex, success) + + pass return retval - # $ANTLR end "connect_part" + # $ANTLR end "transition" - class connect_list_return(ParserRuleReturnScope): + class action_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -15271,130 +15150,159 @@ def __init__(self): - # $ANTLR start "connect_list" - # sdl92.g:746: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() + # $ANTLR start "action" + # sdl92.g:826:1: action : ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) ; + def action(self, ): + retval = self.action_return() retval.start = self.input.LT(1) + action_StartIndex = self.input.index() root_0 = None - char_literal374 = None - ASTERISK376 = None - state_exit_point_name373 = None - state_exit_point_name375 = None + label386 = None + task387 = None + task_body388 = None + output389 = None + create_request390 = None + decision391 = None + alternative392 = None + export393 = None + procedure_call394 = None - char_literal374_tree = None - ASTERISK376_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:747:9: ( state_exit_point_name ( ',' state_exit_point_name )* -> ( state_exit_point_name )+ | ASTERISK ) - alt151 = 2 - LA151_0 = self.input.LA(1) - if (LA151_0 == ID) : - alt151 = 1 - elif (LA151_0 == ASTERISK) : - alt151 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 79): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 151, 0, self.input) - raise nvae + # sdl92.g:827:9: ( ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) ) + # sdl92.g:827:17: ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) + pass + root_0 = self._adaptor.nil() - if alt151 == 1: - # sdl92.g:747:17: state_exit_point_name ( ',' state_exit_point_name )* + # sdl92.g:827:17: ( label )? + alt134 = 2 + alt134 = self.dfa134.predict(self.input) + if alt134 == 1: + # sdl92.g:827:17: label pass - self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list8796) - state_exit_point_name373 = self.state_exit_point_name() + self._state.following.append(self.FOLLOW_label_in_action9029) + label386 = self.label() self._state.following.pop() if self._state.backtracking == 0: - stream_state_exit_point_name.add(state_exit_point_name373.tree) + self._adaptor.addChild(root_0, label386.tree) - # sdl92.g:747:39: ( ',' state_exit_point_name )* - while True: #loop150 - alt150 = 2 - LA150_0 = self.input.LA(1) - if (LA150_0 == COMMA) : - alt150 = 1 - if alt150 == 1: - # sdl92.g:747:40: ',' state_exit_point_name - pass - char_literal374 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_connect_list8799) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal374) + # sdl92.g:828:17: ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) + alt135 = 8 + alt135 = self.dfa135.predict(self.input) + if alt135 == 1: + # sdl92.g:828:18: task + pass + self._state.following.append(self.FOLLOW_task_in_action9049) + task387 = self.task() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, task387.tree) - self._state.following.append(self.FOLLOW_state_exit_point_name_in_connect_list8801) - state_exit_point_name375 = self.state_exit_point_name() - self._state.following.pop() - if self._state.backtracking == 0: - stream_state_exit_point_name.add(state_exit_point_name375.tree) + elif alt135 == 2: + # sdl92.g:829:19: task_body + pass + self._state.following.append(self.FOLLOW_task_body_in_action9069) + task_body388 = self.task_body() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, task_body388.tree) - else: - break #loop150 - # AST Rewrite - # elements: state_exit_point_name - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + elif alt135 == 3: + # sdl92.g:830:19: output + pass + self._state.following.append(self.FOLLOW_output_in_action9089) + output389 = self.output() + + self._state.following.pop() 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) + self._adaptor.addChild(root_0, output389.tree) - root_0 = self._adaptor.nil() - # 748:17: -> ( state_exit_point_name )+ - # sdl92.g:748: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()) + elif alt135 == 4: + # sdl92.g:831:19: create_request + pass + self._state.following.append(self.FOLLOW_create_request_in_action9109) + create_request390 = self.create_request() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, create_request390.tree) - stream_state_exit_point_name.reset() + elif alt135 == 5: + # sdl92.g:832:19: decision + pass + self._state.following.append(self.FOLLOW_decision_in_action9129) + decision391 = self.decision() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, decision391.tree) - retval.tree = root_0 + elif alt135 == 6: + # sdl92.g:833:19: alternative + pass + self._state.following.append(self.FOLLOW_alternative_in_action9149) + alternative392 = self.alternative() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, alternative392.tree) - elif alt151 == 2: - # sdl92.g:749:19: ASTERISK + elif alt135 == 7: + # sdl92.g:836:19: export pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_export_in_action9203) + export393 = self.export() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, export393.tree) + - ASTERISK376 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_connect_list8844) + elif alt135 == 8: + # sdl92.g:837:19: procedure_call + pass + self._state.following.append(self.FOLLOW_procedure_call_in_action9228) + procedure_call394 = self.procedure_call() + + self._state.following.pop() if self._state.backtracking == 0: - ASTERISK376_tree = self._adaptor.createWithPayload(ASTERISK376) - self._adaptor.addChild(root_0, ASTERISK376_tree) + self._adaptor.addChild(root_0, procedure_call394.tree) + + + @@ -15408,19 +15316,25 @@ def connect_list(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 79, action_StartIndex, success) + + pass return retval - # $ANTLR end "connect_list" + # $ANTLR end "action" - class spontaneous_transition_return(ParserRuleReturnScope): + class export_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -15430,239 +15344,270 @@ def __init__(self): - # $ANTLR start "spontaneous_transition" - # sdl92.g:753:1: spontaneous_transition : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) ; - def spontaneous_transition(self, ): - retval = self.spontaneous_transition_return() + # $ANTLR start "export" + # sdl92.g:841:1: export : EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end -> ^( EXPORT ( variable_id )+ ) ; + def export(self, ): + retval = self.export_return() retval.start = self.input.LT(1) + export_StartIndex = self.input.index() root_0 = None - INPUT382 = None - NONE383 = None - cif377 = None - symbolid378 = None - hyperlink379 = None - requirement380 = None - rid381 = None - end384 = None - enabling_condition385 = None - transition386 = None - - INPUT382_tree = None - NONE383_tree = None - stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") - stream_NONE = RewriteRuleTokenStream(self._adaptor, "token NONE") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") + EXPORT395 = None + L_PAREN396 = None + COMMA398 = None + R_PAREN400 = None + variable_id397 = None + variable_id399 = None + end401 = None + + EXPORT395_tree = None + L_PAREN396_tree = None + COMMA398_tree = None + R_PAREN400_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_EXPORT = RewriteRuleTokenStream(self._adaptor, "token EXPORT") + 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") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_enabling_condition = RewriteRuleSubtreeStream(self._adaptor, "rule enabling_condition") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + success = False + try: try: - # sdl92.g:754:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) ) - # sdl92.g:754:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT NONE end ( enabling_condition )? transition - pass - # sdl92.g:754:17: ( cif )? - alt152 = 2 - LA152_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 80): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA152_0 == 254) : - LA152_1 = self.input.LA(2) - - if (LA152_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt152 = 1 - if alt152 == 1: - # sdl92.g:754:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_spontaneous_transition8876) - cif377 = self.cif() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif377.tree) + # sdl92.g:842:9: ( EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end -> ^( EXPORT ( variable_id )+ ) ) + # sdl92.g:842:17: EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end + pass + EXPORT395 = self.match(self.input, EXPORT, self.FOLLOW_EXPORT_in_export9261) + if self._state.backtracking == 0: + stream_EXPORT.add(EXPORT395) + L_PAREN396 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_export9279) + if self._state.backtracking == 0: + stream_L_PAREN.add(L_PAREN396) - # sdl92.g:755:17: ( symbolid )? - alt153 = 2 - LA153_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_variable_id_in_export9281) + variable_id397 = self.variable_id() - if (LA153_0 == 254) : - LA153_1 = self.input.LA(2) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id397.tree) - if (LA153_1 == 256) : - alt153 = 1 - if alt153 == 1: - # sdl92.g:755:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_spontaneous_transition8895) - symbolid378 = self.symbolid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid378.tree) + # sdl92.g:843:37: ( COMMA variable_id )* + while True: #loop136 + alt136 = 2 + LA136_0 = self.input.LA(1) + if (LA136_0 == COMMA) : + alt136 = 1 + if alt136 == 1: + # sdl92.g:843:38: COMMA variable_id + pass + COMMA398 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_export9284) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA398) - # sdl92.g:756:17: ( hyperlink )? - alt154 = 2 - LA154_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_variable_id_in_export9286) + variable_id399 = self.variable_id() - if (LA154_0 == 254) : - LA154_1 = self.input.LA(2) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id399.tree) - if (LA154_1 == KEEP) : - LA154_3 = self.input.LA(3) - if (LA154_3 == SPECIFIC) : - LA154_4 = self.input.LA(4) - if (LA154_4 == GEODE) : - LA154_5 = self.input.LA(5) + else: + break #loop136 - if (LA154_5 == HYPERLINK) : - alt154 = 1 - if alt154 == 1: - # sdl92.g:756:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_spontaneous_transition8914) - hyperlink379 = self.hyperlink() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink379.tree) + R_PAREN400 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_export9290) + if self._state.backtracking == 0: + stream_R_PAREN.add(R_PAREN400) + self._state.following.append(self.FOLLOW_end_in_export9308) + end401 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end401.tree) - # sdl92.g:757:17: ( requirement )* - while True: #loop155 - alt155 = 2 - LA155_0 = self.input.LA(1) + # AST Rewrite + # elements: EXPORT, 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) - if (LA155_0 == 254) : - LA155_1 = self.input.LA(2) - if (LA155_1 == KEEP) : - LA155_3 = self.input.LA(3) + root_0 = self._adaptor.nil() + # 845:9: -> ^( EXPORT ( variable_id )+ ) + # sdl92.g:845:17: ^( EXPORT ( variable_id )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_EXPORT.nextNode() + , root_1) - if (LA155_3 == SPECIFIC) : - LA155_4 = self.input.LA(4) + # sdl92.g:845:26: ( variable_id )+ + if not (stream_variable_id.hasNext()): + raise RewriteEarlyExitException() - if (LA155_4 == GEODE) : - LA155_5 = self.input.LA(5) + while stream_variable_id.hasNext(): + self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - if (LA155_5 == REQ_ID) : - alt155 = 1 + stream_variable_id.reset() + self._adaptor.addChild(root_0, root_1) + retval.tree = root_0 - if alt155 == 1: - # sdl92.g:757:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_spontaneous_transition8933) - requirement380 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement380.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) - else: - break #loop155 - # sdl92.g:758:17: ( rid )* - while True: #loop156 - alt156 = 2 - LA156_0 = self.input.LA(1) + success = True - if (LA156_0 == 254) : - alt156 = 1 + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 80, export_StartIndex, success) - if alt156 == 1: - # sdl92.g:758:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_spontaneous_transition8952) - rid381 = self.rid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid381.tree) + pass + return retval + # $ANTLR end "export" - else: - break #loop156 + class procedure_call_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - INPUT382 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_spontaneous_transition8971) - if self._state.backtracking == 0: - stream_INPUT.add(INPUT382) - NONE383 = self.match(self.input, NONE, self.FOLLOW_NONE_in_spontaneous_transition8973) - if self._state.backtracking == 0: - stream_NONE.add(NONE383) - self._state.following.append(self.FOLLOW_end_in_spontaneous_transition8975) - end384 = self.end() + # $ANTLR start "procedure_call" + # sdl92.g:850:1: procedure_call : ( cif )* CALL procedure_call_body end -> ^( PROCEDURE_CALL ( cif )* ( end )? procedure_call_body ) ; + def procedure_call(self, ): + retval = self.procedure_call_return() + retval.start = self.input.LT(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end384.tree) + procedure_call_StartIndex = self.input.index() + root_0 = None - # sdl92.g:760:17: ( enabling_condition )? - alt157 = 2 - LA157_0 = self.input.LA(1) + CALL403 = None + cif402 = None + procedure_call_body404 = None + end405 = None - if (LA157_0 == PROVIDED) : - alt157 = 1 - if alt157 == 1: - # sdl92.g:760:17: enabling_condition - pass - self._state.following.append(self.FOLLOW_enabling_condition_in_spontaneous_transition8993) - enabling_condition385 = self.enabling_condition() + CALL403_tree = None + stream_CALL = RewriteRuleTokenStream(self._adaptor, "token CALL") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_procedure_call_body = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_call_body") + success = False - self._state.following.pop() - if self._state.backtracking == 0: - stream_enabling_condition.add(enabling_condition385.tree) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 81): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:851:9: ( ( cif )* CALL procedure_call_body end -> ^( PROCEDURE_CALL ( cif )* ( end )? procedure_call_body ) ) + # sdl92.g:851:17: ( cif )* CALL procedure_call_body end + pass + # sdl92.g:851:17: ( cif )* + while True: #loop137 + alt137 = 2 + LA137_0 = self.input.LA(1) + + if (LA137_0 == 254) : + alt137 = 1 + + + if alt137 == 1: + # sdl92.g:851:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_procedure_call9364) + cif402 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif402.tree) + + + + else: + break #loop137 + CALL403 = self.match(self.input, CALL, self.FOLLOW_CALL_in_procedure_call9383) + if self._state.backtracking == 0: + stream_CALL.add(CALL403) + + self._state.following.append(self.FOLLOW_procedure_call_body_in_procedure_call9385) + procedure_call_body404 = self.procedure_call_body() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_procedure_call_body.add(procedure_call_body404.tree) - self._state.following.append(self.FOLLOW_transition_in_spontaneous_transition9012) - transition386 = self.transition() + self._state.following.append(self.FOLLOW_end_in_procedure_call9387) + end405 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition386.tree) + stream_end.add(end405.tree) # AST Rewrite - # elements: cif, symbolid, hyperlink, requirement, rid, transition + # elements: cif, end, procedure_call_body # token labels: # rule labels: retval # token list labels: @@ -15677,49 +15622,28 @@ def spontaneous_transition(self, ): root_0 = self._adaptor.nil() - # 762:9: -> ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) - # sdl92.g:762:17: ^( INPUT_NONE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* transition ) + # 853:9: -> ^( PROCEDURE_CALL ( cif )* ( end )? procedure_call_body ) + # sdl92.g:853:17: ^( PROCEDURE_CALL ( cif )* ( end )? procedure_call_body ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(INPUT_NONE, "INPUT_NONE") + self._adaptor.createFromType(PROCEDURE_CALL, "PROCEDURE_CALL") , root_1) - # sdl92.g:762:30: ( cif )? - if stream_cif.hasNext(): + # sdl92.g:853:34: ( cif )* + while stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:762:35: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:762:45: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - - - stream_hyperlink.reset(); - - # sdl92.g:762:56: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); - - # sdl92.g:762:69: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + # sdl92.g:853:39: ( end )? + if stream_end.hasNext(): + self._adaptor.addChild(root_1, stream_end.nextTree()) - stream_rid.reset(); + stream_end.reset(); - self._adaptor.addChild(root_1, stream_transition.nextTree()) + self._adaptor.addChild(root_1, stream_procedure_call_body.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -15741,19 +15665,25 @@ def spontaneous_transition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 81, procedure_call_StartIndex, success) + + pass return retval - # $ANTLR end "spontaneous_transition" + # $ANTLR end "procedure_call" - class enabling_condition_return(ParserRuleReturnScope): + class procedure_call_body_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -15763,51 +15693,83 @@ def __init__(self): - # $ANTLR start "enabling_condition" - # sdl92.g:766:1: enabling_condition : PROVIDED expression end -> ^( PROVIDED expression ) ; - def enabling_condition(self, ): - retval = self.enabling_condition_return() + # $ANTLR start "procedure_call_body" + # sdl92.g:857:1: procedure_call_body : procedure_id ( actual_parameters )? ( to_part )? -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) ; + def procedure_call_body(self, ): + retval = self.procedure_call_body_return() retval.start = self.input.LT(1) + procedure_call_body_StartIndex = self.input.index() root_0 = None - PROVIDED387 = None - expression388 = None - end389 = None + procedure_id406 = None + actual_parameters407 = None + to_part408 = None + + stream_procedure_id = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_id") + stream_actual_parameters = RewriteRuleSubtreeStream(self._adaptor, "rule actual_parameters") + stream_to_part = RewriteRuleSubtreeStream(self._adaptor, "rule to_part") + success = False - PROVIDED387_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:767:9: ( PROVIDED expression end -> ^( PROVIDED expression ) ) - # sdl92.g:767:17: PROVIDED expression end - pass - PROVIDED387 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_enabling_condition9080) - if self._state.backtracking == 0: - stream_PROVIDED.add(PROVIDED387) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 82): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_expression_in_enabling_condition9082) - expression388 = self.expression() + # sdl92.g:858:9: ( procedure_id ( actual_parameters )? ( to_part )? -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) ) + # sdl92.g:858:17: procedure_id ( actual_parameters )? ( to_part )? + pass + self._state.following.append(self.FOLLOW_procedure_id_in_procedure_call_body9446) + procedure_id406 = self.procedure_id() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(expression388.tree) + stream_procedure_id.add(procedure_id406.tree) + + + # sdl92.g:858:30: ( actual_parameters )? + alt138 = 2 + alt138 = self.dfa138.predict(self.input) + if alt138 == 1: + # sdl92.g:858:30: actual_parameters + pass + self._state.following.append(self.FOLLOW_actual_parameters_in_procedure_call_body9448) + actual_parameters407 = self.actual_parameters() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_actual_parameters.add(actual_parameters407.tree) + + + + + + # sdl92.g:858:49: ( to_part )? + alt139 = 2 + LA139_0 = self.input.LA(1) + + if (LA139_0 == TO) : + alt139 = 1 + if alt139 == 1: + # sdl92.g:858:49: to_part + pass + self._state.following.append(self.FOLLOW_to_part_in_procedure_call_body9451) + to_part408 = self.to_part() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_to_part.add(to_part408.tree) - self._state.following.append(self.FOLLOW_end_in_enabling_condition9084) - end389 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end389.tree) # AST Rewrite - # elements: PROVIDED, expression + # elements: procedure_id, actual_parameters, to_part # token labels: # rule labels: retval # token list labels: @@ -15822,14 +15784,28 @@ def enabling_condition(self, ): root_0 = self._adaptor.nil() - # 768:9: -> ^( PROVIDED expression ) - # sdl92.g:768:17: ^( PROVIDED expression ) + # 859:9: -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) + # sdl92.g:859:17: ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_PROVIDED.nextNode() + self._adaptor.createFromType(OUTPUT_BODY, "OUTPUT_BODY") , root_1) - self._adaptor.addChild(root_1, stream_expression.nextTree()) + self._adaptor.addChild(root_1, stream_procedure_id.nextTree()) + + # sdl92.g:859:44: ( actual_parameters )? + if stream_actual_parameters.hasNext(): + self._adaptor.addChild(root_1, stream_actual_parameters.nextTree()) + + + stream_actual_parameters.reset(); + + # sdl92.g:859:63: ( to_part )? + if stream_to_part.hasNext(): + self._adaptor.addChild(root_1, stream_to_part.nextTree()) + + + stream_to_part.reset(); self._adaptor.addChild(root_0, root_1) @@ -15851,19 +15827,25 @@ def enabling_condition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 82, procedure_call_body_StartIndex, success) + + pass return retval - # $ANTLR end "enabling_condition" + # $ANTLR end "procedure_call_body" - class continuous_signal_return(ParserRuleReturnScope): + class alternative_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -15873,358 +15855,426 @@ def __init__(self): - # $ANTLR start "continuous_signal" - # sdl92.g:772:1: continuous_signal : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) ; - def continuous_signal(self, ): - retval = self.continuous_signal_return() + # $ANTLR start "alternative" + # sdl92.g:895:1: alternative : ( cif )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end -> ^( ALTERNATIVE ( cif )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) ; + def alternative(self, ): + retval = self.alternative_return() retval.start = self.input.LT(1) + alternative_StartIndex = self.input.index() root_0 = None - p = None - PROVIDED395 = None - PRIORITY397 = None + ALTERNATIVE410 = None + ENDALTERNATIVE414 = None e = None - cif390 = None - symbolid391 = None - hyperlink392 = None - requirement393 = None - rid394 = None - expression396 = None - end398 = None - transition399 = None + f = None + cif409 = None + alternative_question411 = None + answer_part412 = None + alternative_part413 = None - p_tree = None - PROVIDED395_tree = None - PRIORITY397_tree = None - stream_PROVIDED = RewriteRuleTokenStream(self._adaptor, "token PROVIDED") - stream_PRIORITY = RewriteRuleTokenStream(self._adaptor, "token PRIORITY") - stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") + ALTERNATIVE410_tree = None + ENDALTERNATIVE414_tree = None + stream_ALTERNATIVE = RewriteRuleTokenStream(self._adaptor, "token ALTERNATIVE") + stream_ENDALTERNATIVE = RewriteRuleTokenStream(self._adaptor, "token ENDALTERNATIVE") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_alternative_part = RewriteRuleSubtreeStream(self._adaptor, "rule alternative_part") + stream_alternative_question = RewriteRuleSubtreeStream(self._adaptor, "rule alternative_question") + stream_answer_part = RewriteRuleSubtreeStream(self._adaptor, "rule answer_part") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + success = False + try: try: - # sdl92.g:773:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) ) - # sdl92.g:773:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* PROVIDED expression e= end ( PRIORITY p= INT end )? ( transition )? - pass - # sdl92.g:773:17: ( cif )? - alt158 = 2 - LA158_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 83): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA158_0 == 254) : - LA158_1 = self.input.LA(2) - if (LA158_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt158 = 1 - if alt158 == 1: - # sdl92.g:773:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_continuous_signal9137) - cif390 = self.cif() + # sdl92.g:896:9: ( ( cif )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end -> ^( ALTERNATIVE ( cif )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) ) + # sdl92.g:896:17: ( cif )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end + pass + # sdl92.g:896:17: ( cif )* + while True: #loop140 + alt140 = 2 + LA140_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif390.tree) + if (LA140_0 == 254) : + alt140 = 1 + if alt140 == 1: + # sdl92.g:896:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_alternative9517) + cif409 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif409.tree) - # sdl92.g:774:17: ( symbolid )? - alt159 = 2 - LA159_0 = self.input.LA(1) + else: + break #loop140 - if (LA159_0 == 254) : - LA159_1 = self.input.LA(2) - if (LA159_1 == 256) : - alt159 = 1 - if alt159 == 1: - # sdl92.g:774:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_continuous_signal9156) - symbolid391 = self.symbolid() + ALTERNATIVE410 = self.match(self.input, ALTERNATIVE, self.FOLLOW_ALTERNATIVE_in_alternative9536) + if self._state.backtracking == 0: + stream_ALTERNATIVE.add(ALTERNATIVE410) - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid391.tree) + self._state.following.append(self.FOLLOW_alternative_question_in_alternative9538) + alternative_question411 = self.alternative_question() + self._state.following.pop() + if self._state.backtracking == 0: + stream_alternative_question.add(alternative_question411.tree) + self._state.following.append(self.FOLLOW_end_in_alternative9542) + e = self.end() - # sdl92.g:775:17: ( hyperlink )? - alt160 = 2 - LA160_0 = self.input.LA(1) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(e.tree) - if (LA160_0 == 254) : - LA160_1 = self.input.LA(2) - if (LA160_1 == KEEP) : - LA160_3 = self.input.LA(3) + # sdl92.g:898:17: ( answer_part )? + alt141 = 2 + LA141_0 = self.input.LA(1) - if (LA160_3 == SPECIFIC) : - LA160_4 = self.input.LA(4) + if (LA141_0 == 254) : + LA141_1 = self.input.LA(2) - if (LA160_4 == GEODE) : - LA160_5 = self.input.LA(5) + if (self.synpred184_sdl92()) : + alt141 = 1 + elif (LA141_0 == L_PAREN) : + LA141_2 = self.input.LA(2) - if (LA160_5 == HYPERLINK) : - alt160 = 1 - if alt160 == 1: - # sdl92.g:775:17: hyperlink + if (self.synpred184_sdl92()) : + alt141 = 1 + if alt141 == 1: + # sdl92.g:898:17: answer_part pass - self._state.following.append(self.FOLLOW_hyperlink_in_continuous_signal9175) - hyperlink392 = self.hyperlink() + self._state.following.append(self.FOLLOW_answer_part_in_alternative9560) + answer_part412 = self.answer_part() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink392.tree) - + stream_answer_part.add(answer_part412.tree) - # sdl92.g:776:17: ( requirement )* - while True: #loop161 - alt161 = 2 - LA161_0 = self.input.LA(1) - if (LA161_0 == 254) : - LA161_1 = self.input.LA(2) + # sdl92.g:899:17: ( alternative_part )? + alt142 = 2 + LA142_0 = self.input.LA(1) - if (LA161_1 == KEEP) : - LA161_3 = self.input.LA(3) + if (LA142_0 in {ELSE, L_PAREN, 254}) : + alt142 = 1 + if alt142 == 1: + # sdl92.g:899:17: alternative_part + pass + self._state.following.append(self.FOLLOW_alternative_part_in_alternative9579) + alternative_part413 = self.alternative_part() - if (LA161_3 == SPECIFIC) : - LA161_4 = self.input.LA(4) + self._state.following.pop() + if self._state.backtracking == 0: + stream_alternative_part.add(alternative_part413.tree) - if (LA161_4 == GEODE) : - LA161_5 = self.input.LA(5) - if (LA161_5 == REQ_ID) : - alt161 = 1 + ENDALTERNATIVE414 = self.match(self.input, ENDALTERNATIVE, self.FOLLOW_ENDALTERNATIVE_in_alternative9598) + if self._state.backtracking == 0: + stream_ENDALTERNATIVE.add(ENDALTERNATIVE414) + self._state.following.append(self.FOLLOW_end_in_alternative9602) + f = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(f.tree) + # AST Rewrite + # elements: ALTERNATIVE, cif, e, alternative_question, answer_part, alternative_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) - if alt161 == 1: - # sdl92.g:776:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_continuous_signal9194) - requirement393 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement393.tree) + root_0 = self._adaptor.nil() + # 901:9: -> ^( ALTERNATIVE ( cif )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) + # sdl92.g:901:17: ^( ALTERNATIVE ( cif )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_ALTERNATIVE.nextNode() + , root_1) + # sdl92.g:901:31: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - else: - break #loop161 + stream_cif.reset(); + # sdl92.g:901:37: ( $e)? + if stream_e.hasNext(): + self._adaptor.addChild(root_1, stream_e.nextTree()) - # sdl92.g:777:17: ( rid )* - while True: #loop162 - alt162 = 2 - LA162_0 = self.input.LA(1) - if (LA162_0 == 254) : - alt162 = 1 + stream_e.reset(); + self._adaptor.addChild(root_1, stream_alternative_question.nextTree()) - if alt162 == 1: - # sdl92.g:777:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_continuous_signal9213) - rid394 = self.rid() + # sdl92.g:902:38: ( answer_part )? + if stream_answer_part.hasNext(): + self._adaptor.addChild(root_1, stream_answer_part.nextTree()) - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid394.tree) + stream_answer_part.reset(); + # sdl92.g:902:51: ( alternative_part )? + if stream_alternative_part.hasNext(): + self._adaptor.addChild(root_1, stream_alternative_part.nextTree()) - else: - break #loop162 + stream_alternative_part.reset(); - PROVIDED395 = self.match(self.input, PROVIDED, self.FOLLOW_PROVIDED_in_continuous_signal9232) - if self._state.backtracking == 0: - stream_PROVIDED.add(PROVIDED395) + self._adaptor.addChild(root_0, root_1) - self._state.following.append(self.FOLLOW_expression_in_continuous_signal9234) - expression396 = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression396.tree) + + retval.tree = root_0 - self._state.following.append(self.FOLLOW_end_in_continuous_signal9238) - e = self.end() - self._state.following.pop() + + + retval.stop = self.input.LT(-1) + + if self._state.backtracking == 0: - stream_end.add(e.tree) + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - # sdl92.g:779:17: ( PRIORITY p= INT end )? - alt163 = 2 - LA163_0 = self.input.LA(1) - if (LA163_0 == PRIORITY) : - alt163 = 1 - if alt163 == 1: - # sdl92.g:779:18: PRIORITY p= INT end - pass - PRIORITY397 = self.match(self.input, PRIORITY, self.FOLLOW_PRIORITY_in_continuous_signal9257) - if self._state.backtracking == 0: - stream_PRIORITY.add(PRIORITY397) + success = True + 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) - p = self.match(self.input, INT, self.FOLLOW_INT_in_continuous_signal9261) - if self._state.backtracking == 0: - stream_INT.add(p) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 83, alternative_StartIndex, success) - self._state.following.append(self.FOLLOW_end_in_continuous_signal9263) - end398 = self.end() + pass + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end398.tree) + # $ANTLR end "alternative" + class alternative_part_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - # sdl92.g:780:17: ( transition )? - alt164 = 2 - alt164 = self.dfa164.predict(self.input) - if alt164 == 1: - # sdl92.g:780:17: transition - pass - self._state.following.append(self.FOLLOW_transition_in_continuous_signal9283) - transition399 = self.transition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_transition.add(transition399.tree) + # $ANTLR start "alternative_part" + # sdl92.g:906:1: alternative_part : ( ( ( answer_part )+ ( else_part )? ) -> ( answer_part )+ ( else_part )? | else_part -> else_part ); + def alternative_part(self, ): + retval = self.alternative_part_return() + retval.start = self.input.LT(1) + alternative_part_StartIndex = self.input.index() + root_0 = None - # AST Rewrite - # elements: PROVIDED, expression, cif, symbolid, hyperlink, requirement, rid, 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) + answer_part415 = None + else_part416 = None + else_part417 = None - if retval is not None: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) - else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + stream_answer_part = RewriteRuleSubtreeStream(self._adaptor, "rule answer_part") + stream_else_part = RewriteRuleSubtreeStream(self._adaptor, "rule else_part") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 84): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - root_0 = self._adaptor.nil() - # 781:9: -> ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $p)? ( $e)? ( transition )? ) - # sdl92.g:781:17: ^( PROVIDED expression ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $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:907:9: ( ( ( answer_part )+ ( else_part )? ) -> ( answer_part )+ ( else_part )? | else_part -> else_part ) + alt145 = 2 + alt145 = self.dfa145.predict(self.input) + if alt145 == 1: + # sdl92.g:907:17: ( ( answer_part )+ ( else_part )? ) + pass + # sdl92.g:907:17: ( ( answer_part )+ ( else_part )? ) + # sdl92.g:907:18: ( answer_part )+ ( else_part )? + pass + # sdl92.g:907:18: ( answer_part )+ + cnt143 = 0 + while True: #loop143 + alt143 = 2 + alt143 = self.dfa143.predict(self.input) + if alt143 == 1: + # sdl92.g:907:18: answer_part + pass + self._state.following.append(self.FOLLOW_answer_part_in_alternative_part9685) + answer_part415 = self.answer_part() - # sdl92.g:781:39: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + self._state.following.pop() + if self._state.backtracking == 0: + stream_answer_part.add(answer_part415.tree) - stream_cif.reset(); - # sdl92.g:781:44: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + else: + if cnt143 >= 1: + break #loop143 + if self._state.backtracking > 0: + raise BacktrackingFailed - stream_symbolid.reset(); - # sdl92.g:781:54: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + eee = EarlyExitException(143, self.input) + raise eee + cnt143 += 1 - stream_hyperlink.reset(); - # sdl92.g:781:65: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + # sdl92.g:907:31: ( else_part )? + alt144 = 2 + LA144_0 = self.input.LA(1) + if (LA144_0 in {ELSE, 254}) : + alt144 = 1 + if alt144 == 1: + # sdl92.g:907:31: else_part + pass + self._state.following.append(self.FOLLOW_else_part_in_alternative_part9688) + else_part416 = self.else_part() - stream_requirement.reset(); + self._state.following.pop() + if self._state.backtracking == 0: + stream_else_part.add(else_part416.tree) - # sdl92.g:781:78: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - stream_rid.reset(); - # sdl92.g:781:84: ( $p)? - if stream_p.hasNext(): - self._adaptor.addChild(root_1, stream_p.nextNode()) - stream_p.reset(); - # sdl92.g:781:88: ( $e)? - if stream_e.hasNext(): - self._adaptor.addChild(root_1, stream_e.nextTree()) + # AST Rewrite + # elements: answer_part, else_part + # 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) - stream_e.reset(); - # sdl92.g:781:91: ( transition )? - if stream_transition.hasNext(): - self._adaptor.addChild(root_1, stream_transition.nextTree()) + root_0 = self._adaptor.nil() + # 908:9: -> ( answer_part )+ ( else_part )? + # sdl92.g:908:17: ( answer_part )+ + if not (stream_answer_part.hasNext()): + raise RewriteEarlyExitException() + while stream_answer_part.hasNext(): + self._adaptor.addChild(root_0, stream_answer_part.nextTree()) - stream_transition.reset(); - self._adaptor.addChild(root_0, root_1) + stream_answer_part.reset() + + # sdl92.g:908:30: ( else_part )? + if stream_else_part.hasNext(): + self._adaptor.addChild(root_0, stream_else_part.nextTree()) + stream_else_part.reset(); - retval.tree = root_0 + retval.tree = root_0 + + + + + elif alt145 == 2: + # sdl92.g:909:19: else_part + pass + self._state.following.append(self.FOLLOW_else_part_in_alternative_part9731) + else_part417 = self.else_part() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_else_part.add(else_part417.tree) + + + # AST Rewrite + # elements: else_part + # 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() + # 910:9: -> else_part + self._adaptor.addChild(root_0, stream_else_part.nextTree()) + + + + + retval.tree = root_0 + @@ -16237,19 +16287,25 @@ def continuous_signal(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 84, alternative_part_StartIndex, success) + + pass return retval - # $ANTLR end "continuous_signal" + # $ANTLR end "alternative_part" - class save_part_return(ParserRuleReturnScope): + class alternative_question_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -16259,81 +16315,41 @@ def __init__(self): - # $ANTLR start "save_part" - # sdl92.g:785:1: save_part : SAVE save_list end -> ^( SAVE save_list ) ; - def save_part(self, ): - retval = self.save_part_return() + # $ANTLR start "alternative_question" + # sdl92.g:914:1: alternative_question : ground_expression ; + def alternative_question(self, ): + retval = self.alternative_question_return() retval.start = self.input.LT(1) + alternative_question_StartIndex = self.input.index() root_0 = None - SAVE400 = None - save_list401 = None - end402 = None + ground_expression418 = None + + + success = False - SAVE400_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:786:9: ( SAVE save_list end -> ^( SAVE save_list ) ) - # sdl92.g:786:17: SAVE save_list end - pass - SAVE400 = self.match(self.input, SAVE, self.FOLLOW_SAVE_in_save_part9363) - if self._state.backtracking == 0: - stream_SAVE.add(SAVE400) - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 85): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_save_list_in_save_part9365) - save_list401 = self.save_list() - self._state.following.pop() - if self._state.backtracking == 0: - stream_save_list.add(save_list401.tree) + # sdl92.g:915:9: ( ground_expression ) + # sdl92.g:915:17: ground_expression + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_end_in_save_part9383) - end402 = self.end() + self._state.following.append(self.FOLLOW_ground_expression_in_alternative_question9780) + ground_expression418 = self.ground_expression() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end402.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() - # 788:9: -> ^( SAVE save_list ) - # sdl92.g:788: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 - + self._adaptor.addChild(root_0, ground_expression418.tree) @@ -16347,19 +16363,25 @@ def save_part(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 85, alternative_question_StartIndex, success) + + pass return retval - # $ANTLR end "save_part" + # $ANTLR end "alternative_question" - class save_list_return(ParserRuleReturnScope): + class decision_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -16369,125 +16391,218 @@ def __init__(self): - # $ANTLR start "save_list" - # sdl92.g:792:1: save_list : ( signal_list | asterisk_save_list ); - def save_list(self, ): - retval = self.save_list_return() + # $ANTLR start "decision" + # sdl92.g:919:1: decision : ( cif )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end -> ^( DECISION ( cif )* ( $e)? question ( answer_part )? ( alternative_part )? ) ; + def decision(self, ): + retval = self.decision_return() retval.start = self.input.LT(1) + decision_StartIndex = self.input.index() root_0 = None - signal_list403 = None - asterisk_save_list404 = None - - - try: - try: - # sdl92.g:793:9: ( signal_list | asterisk_save_list ) - alt165 = 2 - LA165_0 = self.input.LA(1) + DECISION420 = None + ENDDECISION424 = None + e = None + f = None + cif419 = None + question421 = None + answer_part422 = None + alternative_part423 = None - if (LA165_0 == ID) : - alt165 = 1 - elif (LA165_0 == ASTERISK) : - alt165 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + DECISION420_tree = None + ENDDECISION424_tree = None + stream_DECISION = RewriteRuleTokenStream(self._adaptor, "token DECISION") + stream_ENDDECISION = RewriteRuleTokenStream(self._adaptor, "token ENDDECISION") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_question = RewriteRuleSubtreeStream(self._adaptor, "rule question") + stream_alternative_part = RewriteRuleSubtreeStream(self._adaptor, "rule alternative_part") + stream_answer_part = RewriteRuleSubtreeStream(self._adaptor, "rule answer_part") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 86): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 165, 0, self.input) - raise nvae + # sdl92.g:920:9: ( ( cif )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end -> ^( DECISION ( cif )* ( $e)? question ( answer_part )? ( alternative_part )? ) ) + # sdl92.g:920:17: ( cif )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end + pass + # sdl92.g:920:17: ( cif )* + while True: #loop146 + alt146 = 2 + LA146_0 = self.input.LA(1) + if (LA146_0 == 254) : + alt146 = 1 - if alt165 == 1: - # sdl92.g:793:17: signal_list - pass - root_0 = self._adaptor.nil() + + if alt146 == 1: + # sdl92.g:920:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_decision9812) + cif419 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif419.tree) + + + + else: + break #loop146 + + + DECISION420 = self.match(self.input, DECISION, self.FOLLOW_DECISION_in_decision9831) + if self._state.backtracking == 0: + stream_DECISION.add(DECISION420) + + + self._state.following.append(self.FOLLOW_question_in_decision9833) + question421 = self.question() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_question.add(question421.tree) + + + self._state.following.append(self.FOLLOW_end_in_decision9837) + e = self.end() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(e.tree) - self._state.following.append(self.FOLLOW_signal_list_in_save_list9436) - signal_list403 = self.signal_list() + # sdl92.g:922:17: ( answer_part )? + alt147 = 2 + LA147_0 = self.input.LA(1) + + if (LA147_0 == 254) : + LA147_1 = self.input.LA(2) + + if (self.synpred190_sdl92()) : + alt147 = 1 + elif (LA147_0 == L_PAREN) : + LA147_2 = self.input.LA(2) + + if (self.synpred190_sdl92()) : + alt147 = 1 + if alt147 == 1: + # sdl92.g:922:17: answer_part + pass + self._state.following.append(self.FOLLOW_answer_part_in_decision9855) + answer_part422 = self.answer_part() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, signal_list403.tree) + stream_answer_part.add(answer_part422.tree) - elif alt165 == 2: - # sdl92.g:794:19: asterisk_save_list - pass - root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_asterisk_save_list_in_save_list9456) - asterisk_save_list404 = self.asterisk_save_list() + # sdl92.g:923:17: ( alternative_part )? + alt148 = 2 + LA148_0 = self.input.LA(1) + + if (LA148_0 in {ELSE, L_PAREN, 254}) : + alt148 = 1 + if alt148 == 1: + # sdl92.g:923:17: alternative_part + pass + self._state.following.append(self.FOLLOW_alternative_part_in_decision9874) + alternative_part423 = self.alternative_part() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, asterisk_save_list404.tree) + stream_alternative_part.add(alternative_part423.tree) - retval.stop = self.input.LT(-1) + ENDDECISION424 = self.match(self.input, ENDDECISION, self.FOLLOW_ENDDECISION_in_decision9893) if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + stream_ENDDECISION.add(ENDDECISION424) + self._state.following.append(self.FOLLOW_end_in_decision9897) + f = self.end() - 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) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(f.tree) - finally: - pass - return retval - # $ANTLR end "save_list" + # AST Rewrite + # elements: DECISION, cif, e, question, answer_part, alternative_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) - class asterisk_save_list_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + root_0 = self._adaptor.nil() + # 925:9: -> ^( DECISION ( cif )* ( $e)? question ( answer_part )? ( alternative_part )? ) + # sdl92.g:925:17: ^( DECISION ( cif )* ( $e)? question ( answer_part )? ( alternative_part )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_DECISION.nextNode() + , root_1) + # sdl92.g:925:28: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) + stream_cif.reset(); + # sdl92.g:925:34: ( $e)? + if stream_e.hasNext(): + self._adaptor.addChild(root_1, stream_e.nextTree()) - # $ANTLR start "asterisk_save_list" - # sdl92.g:798:1: asterisk_save_list : ASTERISK ; - def asterisk_save_list(self, ): - retval = self.asterisk_save_list_return() - retval.start = self.input.LT(1) + stream_e.reset(); - root_0 = None + self._adaptor.addChild(root_1, stream_question.nextTree()) - ASTERISK405 = None + # sdl92.g:926:17: ( answer_part )? + if stream_answer_part.hasNext(): + self._adaptor.addChild(root_1, stream_answer_part.nextTree()) - ASTERISK405_tree = None - try: - try: - # sdl92.g:799:9: ( ASTERISK ) - # sdl92.g:799:17: ASTERISK - pass - root_0 = self._adaptor.nil() + stream_answer_part.reset(); + # sdl92.g:926:30: ( alternative_part )? + if stream_alternative_part.hasNext(): + self._adaptor.addChild(root_1, stream_alternative_part.nextTree()) + + + stream_alternative_part.reset(); + + self._adaptor.addChild(root_0, root_1) - ASTERISK405 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_asterisk_save_list9488) - if self._state.backtracking == 0: - ASTERISK405_tree = self._adaptor.createWithPayload(ASTERISK405) - self._adaptor.addChild(root_0, ASTERISK405_tree) + + + + retval.tree = root_0 @@ -16502,19 +16617,25 @@ def asterisk_save_list(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 86, decision_StartIndex, success) + + pass return retval - # $ANTLR end "asterisk_save_list" + # $ANTLR end "decision" - class signal_list_return(ParserRuleReturnScope): + class answer_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -16524,67 +16645,112 @@ def __init__(self): - # $ANTLR start "signal_list" - # sdl92.g:802:1: signal_list : signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ; - def signal_list(self, ): - retval = self.signal_list_return() + # $ANTLR start "answer_part" + # sdl92.g:930:1: answer_part : ( cif )* L_PAREN answer R_PAREN ':' ( transition )? -> ^( ANSWER ( cif )* answer ( transition )? ) ; + def answer_part(self, ): + retval = self.answer_part_return() retval.start = self.input.LT(1) + answer_part_StartIndex = self.input.index() root_0 = None - char_literal407 = None - signal_item406 = None - signal_item408 = None + L_PAREN426 = None + R_PAREN428 = None + char_literal429 = None + cif425 = None + answer427 = None + transition430 = None + + L_PAREN426_tree = None + R_PAREN428_tree = None + char_literal429_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") + stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") + stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_answer = RewriteRuleSubtreeStream(self._adaptor, "rule answer") + stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + success = False - char_literal407_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_signal_item = RewriteRuleSubtreeStream(self._adaptor, "rule signal_item") try: try: - # sdl92.g:803:9: ( signal_item ( ',' signal_item )* -> ^( SIGNAL_LIST ( signal_item )+ ) ) - # sdl92.g:803:17: signal_item ( ',' signal_item )* + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 87): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:931:9: ( ( cif )* L_PAREN answer R_PAREN ':' ( transition )? -> ^( ANSWER ( cif )* answer ( transition )? ) ) + # sdl92.g:931:17: ( cif )* L_PAREN answer R_PAREN ':' ( transition )? pass - self._state.following.append(self.FOLLOW_signal_item_in_signal_list9511) - signal_item406 = self.signal_item() + # sdl92.g:931:17: ( cif )* + while True: #loop149 + alt149 = 2 + LA149_0 = self.input.LA(1) - self._state.following.pop() + if (LA149_0 == 254) : + alt149 = 1 + + + if alt149 == 1: + # sdl92.g:931:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_answer_part9979) + cif425 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif425.tree) + + + + else: + break #loop149 + + + L_PAREN426 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_answer_part9998) if self._state.backtracking == 0: - stream_signal_item.add(signal_item406.tree) + stream_L_PAREN.add(L_PAREN426) - # sdl92.g:803:29: ( ',' signal_item )* - while True: #loop166 - alt166 = 2 - LA166_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_answer_in_answer_part10000) + answer427 = self.answer() - if (LA166_0 == COMMA) : - alt166 = 1 + self._state.following.pop() + if self._state.backtracking == 0: + stream_answer.add(answer427.tree) - if alt166 == 1: - # sdl92.g:803:30: ',' signal_item - pass - char_literal407 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_signal_list9514) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal407) + R_PAREN428 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_answer_part10002) + if self._state.backtracking == 0: + stream_R_PAREN.add(R_PAREN428) - self._state.following.append(self.FOLLOW_signal_item_in_signal_list9516) - signal_item408 = self.signal_item() + char_literal429 = self.match(self.input, 255, self.FOLLOW_255_in_answer_part10004) + if self._state.backtracking == 0: + stream_255.add(char_literal429) - self._state.following.pop() - if self._state.backtracking == 0: - stream_signal_item.add(signal_item408.tree) + + # sdl92.g:932:44: ( transition )? + alt150 = 2 + alt150 = self.dfa150.predict(self.input) + if alt150 == 1: + # sdl92.g:932:44: transition + pass + self._state.following.append(self.FOLLOW_transition_in_answer_part10006) + transition430 = self.transition() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_transition.add(transition430.tree) - else: - break #loop166 # AST Rewrite - # elements: signal_item + # elements: cif, answer, transition # token labels: # rule labels: retval # token list labels: @@ -16599,22 +16765,28 @@ def signal_list(self, ): root_0 = self._adaptor.nil() - # 804:9: -> ^( SIGNAL_LIST ( signal_item )+ ) - # sdl92.g:804:17: ^( SIGNAL_LIST ( signal_item )+ ) + # 933:9: -> ^( ANSWER ( cif )* answer ( transition )? ) + # sdl92.g:933:17: ^( ANSWER ( cif )* answer ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SIGNAL_LIST, "SIGNAL_LIST") + self._adaptor.createFromType(ANSWER, "ANSWER") , root_1) - # sdl92.g:804:31: ( signal_item )+ - if not (stream_signal_item.hasNext()): - raise RewriteEarlyExitException() + # sdl92.g:933:26: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - while stream_signal_item.hasNext(): - self._adaptor.addChild(root_1, stream_signal_item.nextTree()) + stream_cif.reset(); + + self._adaptor.addChild(root_1, stream_answer.nextTree()) - stream_signal_item.reset() + # sdl92.g:933:38: ( transition )? + if stream_transition.hasNext(): + self._adaptor.addChild(root_1, stream_transition.nextTree()) + + + stream_transition.reset(); self._adaptor.addChild(root_0, root_1) @@ -16636,19 +16808,25 @@ def signal_list(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 87, answer_part_StartIndex, success) + + pass return retval - # $ANTLR end "signal_list" + # $ANTLR end "answer_part" - class signal_item_return(ParserRuleReturnScope): + class answer_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -16658,314 +16836,221 @@ def __init__(self): - # $ANTLR start "signal_item" - # sdl92.g:811:1: signal_item : signal_id ; - def signal_item(self, ): - retval = self.signal_item_return() + # $ANTLR start "answer" + # sdl92.g:937:1: answer : ( range_condition | informal_text ); + def answer(self, ): + retval = self.answer_return() retval.start = self.input.LT(1) + answer_StartIndex = self.input.index() root_0 = None - signal_id409 = None + range_condition431 = None + informal_text432 = None + success = False + try: try: - # sdl92.g:812:9: ( signal_id ) - # sdl92.g:812:17: signal_id - pass - root_0 = self._adaptor.nil() - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 88): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_signal_id_in_signal_item9575) - signal_id409 = self.signal_id() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, signal_id409.tree) + # sdl92.g:938:9: ( range_condition | informal_text ) + alt151 = 2 + LA151_0 = self.input.LA(1) + if (LA151_0 in {CALL, DASH, EQ, FALSE, FLOAT, GE, GT, ID, IF, INPUT, INT, LE, LT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NEQ, NOT, OUTPUT, PLUS_INFINITY, STATE, TRUE, UNHANDLED}) : + alt151 = 1 + elif (LA151_0 == STRING) : + LA151_2 = self.input.LA(2) + if (self.synpred194_sdl92()) : + alt151 = 1 + elif (True) : + alt151 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - retval.stop = self.input.LT(-1) + nvae = NoViableAltException("", 151, 2, self.input) + raise nvae - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - 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) + nvae = NoViableAltException("", 151, 0, self.input) - finally: - pass - return retval + raise nvae - # $ANTLR end "signal_item" + if alt151 == 1: + # sdl92.g:938:17: range_condition + pass + root_0 = self._adaptor.nil() - class input_part_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None - - - - - - # $ANTLR start "input_part" - # sdl92.g:832:1: input_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) ; - def input_part(self, ): - retval = self.input_part_return() - retval.start = self.input.LT(1) - - - root_0 = None - - INPUT415 = None - cif410 = None - symbolid411 = None - hyperlink412 = None - requirement413 = None - rid414 = None - inputlist416 = None - end417 = None - enabling_condition418 = None - transition419 = None - - INPUT415_tree = None - stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_inputlist = RewriteRuleSubtreeStream(self._adaptor, "rule inputlist") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_enabling_condition = RewriteRuleSubtreeStream(self._adaptor, "rule enabling_condition") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") - try: - try: - # sdl92.g:833:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) ) - # sdl92.g:833:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* INPUT inputlist end ( enabling_condition )? ( transition )? - pass - # sdl92.g:833:17: ( cif )? - alt167 = 2 - LA167_0 = self.input.LA(1) - - if (LA167_0 == 254) : - LA167_1 = self.input.LA(2) - - if (LA167_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt167 = 1 - if alt167 == 1: - # sdl92.g:833:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_input_part9604) - cif410 = self.cif() + self._state.following.append(self.FOLLOW_range_condition_in_answer10066) + range_condition431 = self.range_condition() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif410.tree) + self._adaptor.addChild(root_0, range_condition431.tree) + elif alt151 == 2: + # sdl92.g:939:19: informal_text + pass + root_0 = self._adaptor.nil() - # sdl92.g:834:17: ( symbolid )? - alt168 = 2 - LA168_0 = self.input.LA(1) - - if (LA168_0 == 254) : - LA168_1 = self.input.LA(2) - - if (LA168_1 == 256) : - alt168 = 1 - if alt168 == 1: - # sdl92.g:834:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_input_part9623) - symbolid411 = self.symbolid() + self._state.following.append(self.FOLLOW_informal_text_in_answer10086) + informal_text432 = self.informal_text() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid411.tree) - - - - - - # sdl92.g:835:17: ( hyperlink )? - alt169 = 2 - LA169_0 = self.input.LA(1) + self._adaptor.addChild(root_0, informal_text432.tree) - if (LA169_0 == 254) : - LA169_1 = self.input.LA(2) - if (LA169_1 == KEEP) : - LA169_3 = self.input.LA(3) - - if (LA169_3 == SPECIFIC) : - LA169_4 = self.input.LA(4) - - if (LA169_4 == GEODE) : - LA169_5 = self.input.LA(5) - - if (LA169_5 == HYPERLINK) : - alt169 = 1 - if alt169 == 1: - # sdl92.g:835:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_input_part9642) - hyperlink412 = self.hyperlink() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink412.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) - # sdl92.g:836:17: ( requirement )* - while True: #loop170 - alt170 = 2 - LA170_0 = self.input.LA(1) - if (LA170_0 == 254) : - LA170_1 = self.input.LA(2) + success = True - if (LA170_1 == KEEP) : - LA170_3 = self.input.LA(3) + 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) - if (LA170_3 == SPECIFIC) : - LA170_4 = self.input.LA(4) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 88, answer_StartIndex, success) - if (LA170_4 == GEODE) : - LA170_5 = self.input.LA(5) - if (LA170_5 == REQ_ID) : - alt170 = 1 + pass + return retval + # $ANTLR end "answer" + class else_part_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None + # $ANTLR start "else_part" + # sdl92.g:943:1: else_part : ( cif )* ELSE ':' ( transition )? -> ^( ELSE ( cif )* ( transition )? ) ; + def else_part(self, ): + retval = self.else_part_return() + retval.start = self.input.LT(1) - if alt170 == 1: - # sdl92.g:836:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_input_part9661) - requirement413 = self.requirement() + else_part_StartIndex = self.input.index() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement413.tree) + root_0 = None + ELSE434 = None + char_literal435 = None + cif433 = None + transition436 = None + ELSE434_tree = None + char_literal435_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") + stream_ELSE = RewriteRuleTokenStream(self._adaptor, "token ELSE") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + success = False - else: - break #loop170 + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 89): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # sdl92.g:837:17: ( rid )* - while True: #loop171 - alt171 = 2 - LA171_0 = self.input.LA(1) + # sdl92.g:944:9: ( ( cif )* ELSE ':' ( transition )? -> ^( ELSE ( cif )* ( transition )? ) ) + # sdl92.g:944:17: ( cif )* ELSE ':' ( transition )? + pass + # sdl92.g:944:17: ( cif )* + while True: #loop152 + alt152 = 2 + LA152_0 = self.input.LA(1) - if (LA171_0 == 254) : - alt171 = 1 + if (LA152_0 == 254) : + alt152 = 1 - if alt171 == 1: - # sdl92.g:837:17: rid + if alt152 == 1: + # sdl92.g:944:17: cif pass - self._state.following.append(self.FOLLOW_rid_in_input_part9680) - rid414 = self.rid() + self._state.following.append(self.FOLLOW_cif_in_else_part10118) + cif433 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid414.tree) + stream_cif.add(cif433.tree) else: - break #loop171 - - - INPUT415 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_part9699) - if self._state.backtracking == 0: - stream_INPUT.add(INPUT415) + break #loop152 - self._state.following.append(self.FOLLOW_inputlist_in_input_part9701) - inputlist416 = self.inputlist() - - self._state.following.pop() + ELSE434 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_else_part10137) if self._state.backtracking == 0: - stream_inputlist.add(inputlist416.tree) + stream_ELSE.add(ELSE434) - self._state.following.append(self.FOLLOW_end_in_input_part9703) - end417 = self.end() - - self._state.following.pop() + char_literal435 = self.match(self.input, 255, self.FOLLOW_255_in_else_part10139) if self._state.backtracking == 0: - stream_end.add(end417.tree) - - - # sdl92.g:839:17: ( enabling_condition )? - alt172 = 2 - LA172_0 = self.input.LA(1) - - if (LA172_0 == PROVIDED) : - LA172_1 = self.input.LA(2) - - if (self.synpred209_sdl92()) : - alt172 = 1 - if alt172 == 1: - # sdl92.g:839:17: enabling_condition - pass - self._state.following.append(self.FOLLOW_enabling_condition_in_input_part9721) - enabling_condition418 = self.enabling_condition() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_enabling_condition.add(enabling_condition418.tree) - - + stream_255.add(char_literal435) + # sdl92.g:945:26: ( transition )? + alt153 = 2 + LA153_0 = self.input.LA(1) - # sdl92.g:840:17: ( transition )? - alt173 = 2 - alt173 = self.dfa173.predict(self.input) - if alt173 == 1: - # sdl92.g:840:17: transition + if (LA153_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK, 254}) : + alt153 = 1 + if alt153 == 1: + # sdl92.g:945:26: transition pass - self._state.following.append(self.FOLLOW_transition_in_input_part9740) - transition419 = self.transition() + self._state.following.append(self.FOLLOW_transition_in_else_part10141) + transition436 = self.transition() self._state.following.pop() if self._state.backtracking == 0: - stream_transition.add(transition419.tree) + stream_transition.add(transition436.tree) # AST Rewrite - # elements: INPUT, cif, symbolid, hyperlink, requirement, rid, end, inputlist, enabling_condition, transition + # elements: ELSE, cif, transition # token labels: # rule labels: retval # token list labels: @@ -16980,65 +17065,21 @@ def input_part(self, ): root_0 = self._adaptor.nil() - # 841:9: -> ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) - # sdl92.g:841:17: ^( INPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? inputlist ( enabling_condition )? ( transition )? ) + # 946:9: -> ^( ELSE ( cif )* ( transition )? ) + # sdl92.g:946:17: ^( ELSE ( cif )* ( transition )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_INPUT.nextNode() + stream_ELSE.nextNode() , root_1) - # sdl92.g:841:25: ( cif )? - if stream_cif.hasNext(): + # sdl92.g:946:24: ( cif )* + while stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:841:30: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:841:40: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - - - stream_hyperlink.reset(); - - # sdl92.g:841:51: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); - - # sdl92.g:841:64: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - - - stream_rid.reset(); - - # sdl92.g:841:69: ( 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:842:27: ( enabling_condition )? - if stream_enabling_condition.hasNext(): - self._adaptor.addChild(root_1, stream_enabling_condition.nextTree()) - - - stream_enabling_condition.reset(); - - # sdl92.g:842:47: ( transition )? + # sdl92.g:946:29: ( transition )? if stream_transition.hasNext(): self._adaptor.addChild(root_1, stream_transition.nextTree()) @@ -17065,19 +17106,25 @@ def input_part(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 89, else_part_StartIndex, success) + + pass return retval - # $ANTLR end "input_part" + # $ANTLR end "else_part" - class inputlist_return(ParserRuleReturnScope): + class question_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -17087,107 +17134,138 @@ def __init__(self): - # $ANTLR start "inputlist" - # sdl92.g:848:1: inputlist : ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ); - def inputlist(self, ): - retval = self.inputlist_return() + # $ANTLR start "question" + # sdl92.g:950:1: question : ( informal_text | expression -> ^( QUESTION expression ) | ANY -> ^( ANY ) ); + def question(self, ): + retval = self.question_return() retval.start = self.input.LT(1) + question_StartIndex = self.input.index() root_0 = None - ASTERISK420 = None - char_literal422 = None - stimulus421 = None - stimulus423 = None + ANY439 = None + informal_text437 = None + expression438 = None + + ANY439_tree = None + stream_ANY = RewriteRuleTokenStream(self._adaptor, "token ANY") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False - ASTERISK420_tree = None - char_literal422_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_stimulus = RewriteRuleSubtreeStream(self._adaptor, "rule stimulus") try: try: - # sdl92.g:849:9: ( ASTERISK | ( stimulus ( ',' stimulus )* ) -> ^( INPUTLIST ( stimulus )+ ) ) - alt175 = 2 - LA175_0 = self.input.LA(1) - - if (LA175_0 == ASTERISK) : - alt175 = 1 - elif (LA175_0 == ID) : - alt175 = 2 + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 90): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:951:9: ( informal_text | expression -> ^( QUESTION expression ) | ANY -> ^( ANY ) ) + alt154 = 3 + LA154 = self.input.LA(1) + if LA154 in {STRING}: + LA154_1 = self.input.LA(2) + + if (self.synpred197_sdl92()) : + alt154 = 1 + elif (self.synpred198_sdl92()) : + alt154 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + + nvae = NoViableAltException("", 154, 1, self.input) + + raise nvae + + + elif LA154 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, TRUE, UNHANDLED}: + alt154 = 2 + elif LA154 in {ANY}: + alt154 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 175, 0, self.input) + nvae = NoViableAltException("", 154, 0, self.input) raise nvae - if alt175 == 1: - # sdl92.g:849:17: ASTERISK + if alt154 == 1: + # sdl92.g:951:17: informal_text pass root_0 = self._adaptor.nil() - ASTERISK420 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_inputlist9836) - if self._state.backtracking == 0: - ASTERISK420_tree = self._adaptor.createWithPayload(ASTERISK420) - self._adaptor.addChild(root_0, ASTERISK420_tree) + self._state.following.append(self.FOLLOW_informal_text_in_question10199) + informal_text437 = self.informal_text() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, informal_text437.tree) - elif alt175 == 2: - # sdl92.g:850:19: ( stimulus ( ',' stimulus )* ) + elif alt154 == 2: + # sdl92.g:952:19: expression pass - # sdl92.g:850:19: ( stimulus ( ',' stimulus )* ) - # sdl92.g:850:20: stimulus ( ',' stimulus )* - pass - self._state.following.append(self.FOLLOW_stimulus_in_inputlist9857) - stimulus421 = self.stimulus() + self._state.following.append(self.FOLLOW_expression_in_question10219) + expression438 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_stimulus.add(stimulus421.tree) + stream_expression.add(expression438.tree) - # sdl92.g:850:29: ( ',' stimulus )* - while True: #loop174 - alt174 = 2 - LA174_0 = self.input.LA(1) + # 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) - if (LA174_0 == COMMA) : - alt174 = 1 + root_0 = self._adaptor.nil() + # 953:9: -> ^( QUESTION expression ) + # sdl92.g:953:17: ^( QUESTION expression ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(QUESTION, "QUESTION") + , root_1) - if alt174 == 1: - # sdl92.g:850:30: ',' stimulus - pass - char_literal422 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_inputlist9860) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal422) + self._adaptor.addChild(root_1, stream_expression.nextTree()) + self._adaptor.addChild(root_0, root_1) - self._state.following.append(self.FOLLOW_stimulus_in_inputlist9862) - stimulus423 = self.stimulus() - self._state.following.pop() - if self._state.backtracking == 0: - stream_stimulus.add(stimulus423.tree) + retval.tree = root_0 - else: - break #loop174 + elif alt154 == 3: + # sdl92.g:954:19: ANY + pass + ANY439 = self.match(self.input, ANY, self.FOLLOW_ANY_in_question10260) + if self._state.backtracking == 0: + stream_ANY.add(ANY439) # AST Rewrite - # elements: stimulus + # elements: ANY # token labels: # rule labels: retval # token list labels: @@ -17202,23 +17280,13 @@ def inputlist(self, ): root_0 = self._adaptor.nil() - # 851:9: -> ^( INPUTLIST ( stimulus )+ ) - # sdl92.g:851:17: ^( INPUTLIST ( stimulus )+ ) + # 955:9: -> ^( ANY ) + # sdl92.g:955:17: ^( ANY ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(INPUTLIST, "INPUTLIST") + stream_ANY.nextNode() , root_1) - # sdl92.g:851: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) @@ -17238,19 +17306,25 @@ def inputlist(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 90, question_StartIndex, success) + + pass return retval - # $ANTLR end "inputlist" + # $ANTLR end "question" - class stimulus_return(ParserRuleReturnScope): + class range_condition_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -17260,1269 +17334,1248 @@ def __init__(self): - # $ANTLR start "stimulus" - # sdl92.g:855:1: stimulus : stimulus_id ( input_params )? ; - def stimulus(self, ): - retval = self.stimulus_return() + # $ANTLR start "range_condition" + # sdl92.g:959:1: range_condition : ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* ; + def range_condition(self, ): + retval = self.range_condition_return() retval.start = self.input.LT(1) + range_condition_StartIndex = self.input.index() root_0 = None - stimulus_id424 = None - input_params425 = None + char_literal442 = None + closed_range440 = None + open_range441 = None + closed_range443 = None + open_range444 = None + + char_literal442_tree = None + success = False try: try: - # sdl92.g:856:9: ( stimulus_id ( input_params )? ) - # sdl92.g:856:17: stimulus_id ( input_params )? + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 91): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:960:9: ( ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* ) + # sdl92.g:960:17: ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_stimulus_id_in_stimulus9919) - stimulus_id424 = self.stimulus_id() + # sdl92.g:960:17: ( closed_range | open_range ) + alt155 = 2 + LA155 = self.input.LA(1) + if LA155 in {ID}: + LA155_1 = self.input.LA(2) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, stimulus_id424.tree) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # sdl92.g:856:29: ( input_params )? - alt176 = 2 - LA176_0 = self.input.LA(1) + nvae = NoViableAltException("", 155, 1, self.input) - if (LA176_0 == L_PAREN) : - alt176 = 1 - if alt176 == 1: - # sdl92.g:856:29: input_params - pass - self._state.following.append(self.FOLLOW_input_params_in_stimulus9921) - input_params425 = self.input_params() + raise nvae - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, input_params425.tree) + elif LA155 in {TRUE}: + LA155_2 = self.input.LA(2) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 155, 2, self.input) + raise nvae - retval.stop = self.input.LT(-1) + elif LA155 in {FALSE}: + LA155_3 = self.input.LA(2) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + nvae = NoViableAltException("", 155, 3, self.input) + raise nvae - 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 + elif LA155 in {STRING}: + LA155_4 = self.input.LA(2) - # $ANTLR end "stimulus" + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - class input_params_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + nvae = NoViableAltException("", 155, 4, self.input) - self.tree = None + raise nvae + elif LA155 in {PLUS_INFINITY}: + LA155_5 = self.input.LA(2) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # $ANTLR start "input_params" - # sdl92.g:860: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) + nvae = NoViableAltException("", 155, 5, self.input) + raise nvae - root_0 = None - L_PAREN426 = None - char_literal428 = None - R_PAREN430 = None - variable_id427 = None - variable_id429 = None + elif LA155 in {MINUS_INFINITY}: + LA155_6 = self.input.LA(2) - L_PAREN426_tree = None - char_literal428_tree = None - R_PAREN430_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:861:9: ( L_PAREN variable_id ( ',' variable_id )* R_PAREN -> ^( PARAMS ( variable_id )+ ) ) - # sdl92.g:861:17: L_PAREN variable_id ( ',' variable_id )* R_PAREN - pass - L_PAREN426 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_params9954) - if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN426) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.append(self.FOLLOW_variable_id_in_input_params9956) - variable_id427 = self.variable_id() + nvae = NoViableAltException("", 155, 6, self.input) - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_id.add(variable_id427.tree) + raise nvae - # sdl92.g:861:37: ( ',' variable_id )* - while True: #loop177 - alt177 = 2 - LA177_0 = self.input.LA(1) + elif LA155 in {INT}: + LA155_7 = self.input.LA(2) - if (LA177_0 == COMMA) : - alt177 = 1 + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if alt177 == 1: - # sdl92.g:861:38: ',' variable_id - pass - char_literal428 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_input_params9959) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal428) + nvae = NoViableAltException("", 155, 7, self.input) + raise nvae - self._state.following.append(self.FOLLOW_variable_id_in_input_params9961) - variable_id429 = self.variable_id() - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_id.add(variable_id429.tree) + elif LA155 in {FLOAT}: + LA155_8 = self.input.LA(2) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - else: - break #loop177 + nvae = NoViableAltException("", 155, 8, self.input) + raise nvae - R_PAREN430 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_params9965) - if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN430) + elif LA155 in {L_BRACKET}: + LA155_9 = self.input.LA(2) - # 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) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = self._adaptor.nil() - # 862:9: -> ^( PARAMS ( variable_id )+ ) - # sdl92.g:862:17: ^( PARAMS ( variable_id )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PARAMS, "PARAMS") - , root_1) - # sdl92.g:862:26: ( variable_id )+ - if not (stream_variable_id.hasNext()): - raise RewriteEarlyExitException() + nvae = NoViableAltException("", 155, 9, self.input) - while stream_variable_id.hasNext(): - self._adaptor.addChild(root_1, stream_variable_id.nextTree()) + raise nvae - stream_variable_id.reset() + elif LA155 in {MKSTRING}: + LA155_10 = self.input.LA(2) - self._adaptor.addChild(root_0, root_1) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 155, 10, self.input) + raise nvae - retval.tree = root_0 + elif LA155 in {STATE}: + LA155_11 = self.input.LA(2) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 155, 11, self.input) - retval.stop = self.input.LT(-1) + raise nvae - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + elif LA155 in {L_PAREN}: + LA155_12 = self.input.LA(2) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - 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) + nvae = NoViableAltException("", 155, 12, self.input) - finally: - pass - return retval + raise nvae - # $ANTLR end "input_params" + elif LA155 in {IF}: + LA155_13 = self.input.LA(2) - class transition_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self.tree = None + nvae = NoViableAltException("", 155, 13, self.input) + raise nvae + elif LA155 in {NOT}: + LA155_14 = self.input.LA(2) - # $ANTLR start "transition" - # sdl92.g:866: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) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = None + nvae = NoViableAltException("", 155, 14, self.input) - action431 = None - label432 = None - terminator_statement433 = None - terminator_statement434 = None + raise nvae - 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:867:9: ( ( action )+ ( label )? ( terminator_statement )? -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) | terminator_statement -> ^( TRANSITION terminator_statement ) ) - alt181 = 2 - alt181 = self.dfa181.predict(self.input) - if alt181 == 1: - # sdl92.g:867:17: ( action )+ ( label )? ( terminator_statement )? - pass - # sdl92.g:867:17: ( action )+ - cnt178 = 0 - while True: #loop178 - alt178 = 2 - alt178 = self.dfa178.predict(self.input) - if alt178 == 1: - # sdl92.g:867:17: action - pass - self._state.following.append(self.FOLLOW_action_in_transition10019) - action431 = self.action() - self._state.following.pop() - if self._state.backtracking == 0: - stream_action.add(action431.tree) + elif LA155 in {DASH}: + LA155_15 = self.input.LA(2) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - else: - if cnt178 >= 1: - break #loop178 + nvae = NoViableAltException("", 155, 15, self.input) - if self._state.backtracking > 0: - raise BacktrackingFailed + raise nvae - eee = EarlyExitException(178, self.input) - raise eee + elif LA155 in {CALL}: + LA155_16 = self.input.LA(2) - cnt178 += 1 + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # sdl92.g:867:25: ( label )? - alt179 = 2 - LA179_0 = self.input.LA(1) + nvae = NoViableAltException("", 155, 16, self.input) - if (LA179_0 == 254) : - LA179_1 = self.input.LA(2) + raise nvae - if (LA179_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - LA179_4 = self.input.LA(3) - if (LA179_4 == L_PAREN) : - LA179_7 = self.input.LA(4) + elif LA155 in {UNHANDLED}: + LA155_17 = self.input.LA(2) - if (LA179_7 == DASH) : - LA179_10 = self.input.LA(5) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_10 == INT) : - LA179_11 = self.input.LA(6) - if (LA179_11 == COMMA) : - LA179_13 = self.input.LA(7) + nvae = NoViableAltException("", 155, 17, self.input) - if (LA179_13 == DASH) : - LA179_15 = self.input.LA(8) + raise nvae - if (LA179_15 == INT) : - LA179_16 = self.input.LA(9) - if (LA179_16 == R_PAREN) : - LA179_18 = self.input.LA(10) + elif LA155 in {INPUT}: + LA155_18 = self.input.LA(2) - if (LA179_18 == COMMA) : - LA179_19 = self.input.LA(11) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_19 == L_PAREN) : - LA179_20 = self.input.LA(12) - if (LA179_20 == INT) : - LA179_21 = self.input.LA(13) + nvae = NoViableAltException("", 155, 18, self.input) - if (LA179_21 == COMMA) : - LA179_22 = self.input.LA(14) + raise nvae - if (LA179_22 == INT) : - LA179_23 = self.input.LA(15) - if (LA179_23 == R_PAREN) : - LA179_24 = self.input.LA(16) + elif LA155 in {OUTPUT}: + LA155_19 = self.input.LA(2) - if (LA179_24 == 250) : - LA179_25 = self.input.LA(17) + if (self.synpred199_sdl92()) : + alt155 = 1 + elif (True) : + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_25 == 254) : - LA179_26 = self.input.LA(18) - if (LA179_26 == 256) : - LA179_5 = self.input.LA(19) + nvae = NoViableAltException("", 155, 19, self.input) - if (LA179_5 == INT) : - LA179_8 = self.input.LA(20) + raise nvae - if (LA179_8 == 250) : - LA179_12 = self.input.LA(21) - if (LA179_12 == ID) : - LA179_14 = self.input.LA(22) + elif LA155 in {EQ, GE, GT, LE, LT, NEQ}: + alt155 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_14 == 255) : - LA179_17 = self.input.LA(23) - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_25 == ID) : - LA179_14 = self.input.LA(18) + nvae = NoViableAltException("", 155, 0, self.input) - if (LA179_14 == 255) : - LA179_17 = self.input.LA(19) + raise nvae - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_13 == INT) : - LA179_16 = self.input.LA(8) - if (LA179_16 == R_PAREN) : - LA179_18 = self.input.LA(9) + if alt155 == 1: + # sdl92.g:960:18: closed_range + pass + self._state.following.append(self.FOLLOW_closed_range_in_range_condition10312) + closed_range440 = self.closed_range() - if (LA179_18 == COMMA) : - LA179_19 = self.input.LA(10) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, closed_range440.tree) - if (LA179_19 == L_PAREN) : - LA179_20 = self.input.LA(11) - if (LA179_20 == INT) : - LA179_21 = self.input.LA(12) - if (LA179_21 == COMMA) : - LA179_22 = self.input.LA(13) + elif alt155 == 2: + # sdl92.g:960:33: open_range + pass + self._state.following.append(self.FOLLOW_open_range_in_range_condition10316) + open_range441 = self.open_range() - if (LA179_22 == INT) : - LA179_23 = self.input.LA(14) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, open_range441.tree) - if (LA179_23 == R_PAREN) : - LA179_24 = self.input.LA(15) - if (LA179_24 == 250) : - LA179_25 = self.input.LA(16) - if (LA179_25 == 254) : - LA179_26 = self.input.LA(17) - if (LA179_26 == 256) : - LA179_5 = self.input.LA(18) - if (LA179_5 == INT) : - LA179_8 = self.input.LA(19) + # sdl92.g:961:17: ( ',' ! ( closed_range | open_range ) )* + while True: #loop157 + alt157 = 2 + LA157_0 = self.input.LA(1) - if (LA179_8 == 250) : - LA179_12 = self.input.LA(20) + if (LA157_0 == COMMA) : + LA157_1 = self.input.LA(2) - if (LA179_12 == ID) : - LA179_14 = self.input.LA(21) + if (self.synpred201_sdl92()) : + alt157 = 1 - if (LA179_14 == 255) : - LA179_17 = self.input.LA(22) - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_25 == ID) : - LA179_14 = self.input.LA(17) - if (LA179_14 == 255) : - LA179_17 = self.input.LA(18) - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_7 == INT) : - LA179_11 = self.input.LA(5) + if alt157 == 1: + # sdl92.g:961:18: ',' ! ( closed_range | open_range ) + pass + char_literal442 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range_condition10336) - if (LA179_11 == COMMA) : - LA179_13 = self.input.LA(6) + # sdl92.g:961:23: ( closed_range | open_range ) + alt156 = 2 + LA156 = self.input.LA(1) + if LA156 in {ID}: + LA156_1 = self.input.LA(2) - if (LA179_13 == DASH) : - LA179_15 = self.input.LA(7) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_15 == INT) : - LA179_16 = self.input.LA(8) - if (LA179_16 == R_PAREN) : - LA179_18 = self.input.LA(9) + nvae = NoViableAltException("", 156, 1, self.input) - if (LA179_18 == COMMA) : - LA179_19 = self.input.LA(10) + raise nvae - if (LA179_19 == L_PAREN) : - LA179_20 = self.input.LA(11) - if (LA179_20 == INT) : - LA179_21 = self.input.LA(12) + elif LA156 in {TRUE}: + LA156_2 = self.input.LA(2) - if (LA179_21 == COMMA) : - LA179_22 = self.input.LA(13) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_22 == INT) : - LA179_23 = self.input.LA(14) - if (LA179_23 == R_PAREN) : - LA179_24 = self.input.LA(15) + nvae = NoViableAltException("", 156, 2, self.input) - if (LA179_24 == 250) : - LA179_25 = self.input.LA(16) + raise nvae - if (LA179_25 == 254) : - LA179_26 = self.input.LA(17) - if (LA179_26 == 256) : - LA179_5 = self.input.LA(18) + elif LA156 in {FALSE}: + LA156_3 = self.input.LA(2) - if (LA179_5 == INT) : - LA179_8 = self.input.LA(19) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_8 == 250) : - LA179_12 = self.input.LA(20) - if (LA179_12 == ID) : - LA179_14 = self.input.LA(21) + nvae = NoViableAltException("", 156, 3, self.input) - if (LA179_14 == 255) : - LA179_17 = self.input.LA(22) + raise nvae - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_25 == ID) : - LA179_14 = self.input.LA(17) - if (LA179_14 == 255) : - LA179_17 = self.input.LA(18) + elif LA156 in {STRING}: + LA156_4 = self.input.LA(2) - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_13 == INT) : - LA179_16 = self.input.LA(7) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_16 == R_PAREN) : - LA179_18 = self.input.LA(8) - if (LA179_18 == COMMA) : - LA179_19 = self.input.LA(9) + nvae = NoViableAltException("", 156, 4, self.input) - if (LA179_19 == L_PAREN) : - LA179_20 = self.input.LA(10) + raise nvae - if (LA179_20 == INT) : - LA179_21 = self.input.LA(11) - if (LA179_21 == COMMA) : - LA179_22 = self.input.LA(12) + elif LA156 in {PLUS_INFINITY}: + LA156_5 = self.input.LA(2) - if (LA179_22 == INT) : - LA179_23 = self.input.LA(13) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_23 == R_PAREN) : - LA179_24 = self.input.LA(14) - if (LA179_24 == 250) : - LA179_25 = self.input.LA(15) + nvae = NoViableAltException("", 156, 5, self.input) - if (LA179_25 == 254) : - LA179_26 = self.input.LA(16) + raise nvae - if (LA179_26 == 256) : - LA179_5 = self.input.LA(17) - if (LA179_5 == INT) : - LA179_8 = self.input.LA(18) + elif LA156 in {MINUS_INFINITY}: + LA156_6 = self.input.LA(2) - if (LA179_8 == 250) : - LA179_12 = self.input.LA(19) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_12 == ID) : - LA179_14 = self.input.LA(20) - if (LA179_14 == 255) : - LA179_17 = self.input.LA(21) + nvae = NoViableAltException("", 156, 6, self.input) - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_25 == ID) : - LA179_14 = self.input.LA(16) + raise nvae - if (LA179_14 == 255) : - LA179_17 = self.input.LA(17) - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_1 == 256) : - LA179_5 = self.input.LA(3) + elif LA156 in {INT}: + LA156_7 = self.input.LA(2) - if (LA179_5 == INT) : - LA179_8 = self.input.LA(4) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA179_8 == 250) : - LA179_12 = self.input.LA(5) - if (LA179_12 == ID) : - LA179_14 = self.input.LA(6) + nvae = NoViableAltException("", 156, 7, self.input) - if (LA179_14 == 255) : - LA179_17 = self.input.LA(7) + raise nvae - if (self.synpred216_sdl92()) : - alt179 = 1 - elif (LA179_0 == ID) : - LA179_2 = self.input.LA(2) - if (LA179_2 == 255) : - LA179_6 = self.input.LA(3) + elif LA156 in {FLOAT}: + LA156_8 = self.input.LA(2) - if (self.synpred216_sdl92()) : - alt179 = 1 - if alt179 == 1: - # sdl92.g:867:25: label - pass - self._state.following.append(self.FOLLOW_label_in_transition10022) - label432 = self.label() + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.pop() - if self._state.backtracking == 0: - stream_label.add(label432.tree) + nvae = NoViableAltException("", 156, 8, self.input) + raise nvae + elif LA156 in {L_BRACKET}: + LA156_9 = self.input.LA(2) - # sdl92.g:867:32: ( terminator_statement )? - alt180 = 2 - alt180 = self.dfa180.predict(self.input) - if alt180 == 1: - # sdl92.g:867:32: terminator_statement - pass - self._state.following.append(self.FOLLOW_terminator_statement_in_transition10025) - terminator_statement433 = self.terminator_statement() + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.pop() - if self._state.backtracking == 0: - stream_terminator_statement.add(terminator_statement433.tree) + nvae = NoViableAltException("", 156, 9, self.input) + raise nvae + elif LA156 in {MKSTRING}: + LA156_10 = self.input.LA(2) - # AST Rewrite - # elements: action, label, terminator_statement - # 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() - # 868:9: -> ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) - # sdl92.g:868:17: ^( TRANSITION ( action )+ ( label )? ( terminator_statement )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TRANSITION, "TRANSITION") - , root_1) - - # sdl92.g:868:30: ( action )+ - if not (stream_action.hasNext()): - raise RewriteEarlyExitException() + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - while stream_action.hasNext(): - self._adaptor.addChild(root_1, stream_action.nextTree()) + nvae = NoViableAltException("", 156, 10, self.input) - stream_action.reset() + raise nvae - # sdl92.g:868:38: ( label )? - if stream_label.hasNext(): - self._adaptor.addChild(root_1, stream_label.nextTree()) + elif LA156 in {STATE}: + LA156_11 = self.input.LA(2) - stream_label.reset(); + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # sdl92.g:868:45: ( terminator_statement )? - if stream_terminator_statement.hasNext(): - self._adaptor.addChild(root_1, stream_terminator_statement.nextTree()) + nvae = NoViableAltException("", 156, 11, self.input) - stream_terminator_statement.reset(); + raise nvae - self._adaptor.addChild(root_0, root_1) + elif LA156 in {L_PAREN}: + LA156_12 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - retval.tree = root_0 + nvae = NoViableAltException("", 156, 12, self.input) + raise nvae + elif LA156 in {IF}: + LA156_13 = self.input.LA(2) - elif alt181 == 2: - # sdl92.g:869:19: terminator_statement - pass - self._state.following.append(self.FOLLOW_terminator_statement_in_transition10074) - terminator_statement434 = self.terminator_statement() + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.pop() - if self._state.backtracking == 0: - stream_terminator_statement.add(terminator_statement434.tree) + nvae = NoViableAltException("", 156, 13, self.input) - # AST Rewrite - # elements: terminator_statement - # 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) + raise nvae - root_0 = self._adaptor.nil() - # 870:9: -> ^( TRANSITION terminator_statement ) - # sdl92.g:870:17: ^( TRANSITION terminator_statement ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TRANSITION, "TRANSITION") - , root_1) + elif LA156 in {NOT}: + LA156_14 = self.input.LA(2) - self._adaptor.addChild(root_1, stream_terminator_statement.nextTree()) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._adaptor.addChild(root_0, root_1) + nvae = NoViableAltException("", 156, 14, self.input) + raise nvae - retval.tree = root_0 + elif LA156 in {DASH}: + LA156_15 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 156, 15, self.input) - retval.stop = self.input.LT(-1) + raise nvae - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + elif LA156 in {CALL}: + LA156_16 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - 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) + nvae = NoViableAltException("", 156, 16, self.input) - finally: - pass - return retval + raise nvae - # $ANTLR end "transition" + elif LA156 in {UNHANDLED}: + LA156_17 = self.input.LA(2) - class action_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self.tree = None + nvae = NoViableAltException("", 156, 17, self.input) + raise nvae + elif LA156 in {INPUT}: + LA156_18 = self.input.LA(2) - # $ANTLR start "action" - # sdl92.g:874:1: action : ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) ; - def action(self, ): - retval = self.action_return() - retval.start = self.input.LT(1) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = None + nvae = NoViableAltException("", 156, 18, self.input) - label435 = None - task436 = None - task_body437 = None - output438 = None - create_request439 = None - decision440 = None - alternative441 = None - export442 = None - procedure_call443 = None + raise nvae - try: - try: - # sdl92.g:875:9: ( ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) ) - # sdl92.g:875:17: ( label )? ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) - pass - root_0 = self._adaptor.nil() + elif LA156 in {OUTPUT}: + LA156_19 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt156 = 1 + elif (True) : + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # sdl92.g:875:17: ( label )? - alt182 = 2 - LA182_0 = self.input.LA(1) - if (LA182_0 == 254) : - LA182_1 = self.input.LA(2) + nvae = NoViableAltException("", 156, 19, self.input) - if (LA182_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - LA182_4 = self.input.LA(3) + raise nvae - if (LA182_4 == L_PAREN) : - LA182_7 = self.input.LA(4) - if (LA182_7 == DASH) : - LA182_9 = self.input.LA(5) + elif LA156 in {EQ, GE, GT, LE, LT, NEQ}: + alt156 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA182_9 == INT) : - LA182_10 = self.input.LA(6) - if (LA182_10 == COMMA) : - LA182_12 = self.input.LA(7) + nvae = NoViableAltException("", 156, 0, self.input) - if (LA182_12 == DASH) : - LA182_13 = self.input.LA(8) + raise nvae - if (LA182_13 == INT) : - LA182_14 = self.input.LA(9) - if (LA182_14 == R_PAREN) : - LA182_15 = self.input.LA(10) + if alt156 == 1: + # sdl92.g:961:24: closed_range + pass + self._state.following.append(self.FOLLOW_closed_range_in_range_condition10340) + closed_range443 = self.closed_range() - if (LA182_15 == COMMA) : - LA182_16 = self.input.LA(11) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, closed_range443.tree) - if (LA182_16 == L_PAREN) : - LA182_17 = self.input.LA(12) - if (LA182_17 == INT) : - LA182_18 = self.input.LA(13) - if (LA182_18 == COMMA) : - LA182_19 = self.input.LA(14) + elif alt156 == 2: + # sdl92.g:961:37: open_range + pass + self._state.following.append(self.FOLLOW_open_range_in_range_condition10342) + open_range444 = self.open_range() - if (LA182_19 == INT) : - LA182_20 = self.input.LA(15) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, open_range444.tree) - if (LA182_20 == R_PAREN) : - LA182_21 = self.input.LA(16) - if (LA182_21 == 250) : - LA182_22 = self.input.LA(17) - if (LA182_22 == 254) : - LA182_23 = self.input.LA(18) - if (LA182_23 == 256) : - LA182_5 = self.input.LA(19) - if (LA182_5 == INT) : - LA182_8 = self.input.LA(20) - if (LA182_8 == 250) : - LA182_11 = self.input.LA(21) + else: + break #loop157 - if (LA182_11 == ID) : - alt182 = 1 - elif (LA182_22 == ID) : - alt182 = 1 - elif (LA182_12 == INT) : - LA182_14 = self.input.LA(8) - if (LA182_14 == R_PAREN) : - LA182_15 = self.input.LA(9) - if (LA182_15 == COMMA) : - LA182_16 = self.input.LA(10) - if (LA182_16 == L_PAREN) : - LA182_17 = self.input.LA(11) + retval.stop = self.input.LT(-1) - if (LA182_17 == INT) : - LA182_18 = self.input.LA(12) - if (LA182_18 == COMMA) : - LA182_19 = self.input.LA(13) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA182_19 == INT) : - LA182_20 = self.input.LA(14) - if (LA182_20 == R_PAREN) : - LA182_21 = self.input.LA(15) - if (LA182_21 == 250) : - LA182_22 = self.input.LA(16) + success = True - if (LA182_22 == 254) : - LA182_23 = self.input.LA(17) + 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) - if (LA182_23 == 256) : - LA182_5 = self.input.LA(18) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 91, range_condition_StartIndex, success) - if (LA182_5 == INT) : - LA182_8 = self.input.LA(19) - if (LA182_8 == 250) : - LA182_11 = self.input.LA(20) + pass + return retval - if (LA182_11 == ID) : - alt182 = 1 - elif (LA182_22 == ID) : - alt182 = 1 - elif (LA182_7 == INT) : - LA182_10 = self.input.LA(5) + # $ANTLR end "range_condition" - if (LA182_10 == COMMA) : - LA182_12 = self.input.LA(6) - if (LA182_12 == DASH) : - LA182_13 = self.input.LA(7) + class closed_range_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA182_13 == INT) : - LA182_14 = self.input.LA(8) + self.tree = None - if (LA182_14 == R_PAREN) : - LA182_15 = self.input.LA(9) - if (LA182_15 == COMMA) : - LA182_16 = self.input.LA(10) - if (LA182_16 == L_PAREN) : - LA182_17 = self.input.LA(11) - if (LA182_17 == INT) : - LA182_18 = self.input.LA(12) - if (LA182_18 == COMMA) : - LA182_19 = self.input.LA(13) + # $ANTLR start "closed_range" + # sdl92.g:965:1: closed_range : a= expression ':' b= expression -> ^( CLOSED_RANGE $a $b) ; + def closed_range(self, ): + retval = self.closed_range_return() + retval.start = self.input.LT(1) - if (LA182_19 == INT) : - LA182_20 = self.input.LA(14) + closed_range_StartIndex = self.input.index() - if (LA182_20 == R_PAREN) : - LA182_21 = self.input.LA(15) + root_0 = None - if (LA182_21 == 250) : - LA182_22 = self.input.LA(16) + char_literal445 = None + a = None + b = None - if (LA182_22 == 254) : - LA182_23 = self.input.LA(17) + char_literal445_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False - if (LA182_23 == 256) : - LA182_5 = self.input.LA(18) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 92): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA182_5 == INT) : - LA182_8 = self.input.LA(19) - if (LA182_8 == 250) : - LA182_11 = self.input.LA(20) + # sdl92.g:966:9: (a= expression ':' b= expression -> ^( CLOSED_RANGE $a $b) ) + # sdl92.g:966:17: a= expression ':' b= expression + pass + self._state.following.append(self.FOLLOW_expression_in_closed_range10379) + a = self.expression() - if (LA182_11 == ID) : - alt182 = 1 - elif (LA182_22 == ID) : - alt182 = 1 - elif (LA182_12 == INT) : - LA182_14 = self.input.LA(7) + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(a.tree) - if (LA182_14 == R_PAREN) : - LA182_15 = self.input.LA(8) - if (LA182_15 == COMMA) : - LA182_16 = self.input.LA(9) + char_literal445 = self.match(self.input, 255, self.FOLLOW_255_in_closed_range10381) + if self._state.backtracking == 0: + stream_255.add(char_literal445) - if (LA182_16 == L_PAREN) : - LA182_17 = self.input.LA(10) - if (LA182_17 == INT) : - LA182_18 = self.input.LA(11) + self._state.following.append(self.FOLLOW_expression_in_closed_range10385) + b = self.expression() - if (LA182_18 == COMMA) : - LA182_19 = self.input.LA(12) + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(b.tree) - if (LA182_19 == INT) : - LA182_20 = self.input.LA(13) - if (LA182_20 == R_PAREN) : - LA182_21 = self.input.LA(14) + # AST Rewrite + # elements: a, b + # token labels: + # rule labels: a, b, retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + if a is not None: + stream_a = RewriteRuleSubtreeStream(self._adaptor, "rule a", a.tree) + else: + stream_a = RewriteRuleSubtreeStream(self._adaptor, "token a", None) - if (LA182_21 == 250) : - LA182_22 = self.input.LA(15) + if b is not None: + stream_b = RewriteRuleSubtreeStream(self._adaptor, "rule b", b.tree) + else: + stream_b = RewriteRuleSubtreeStream(self._adaptor, "token b", None) - if (LA182_22 == 254) : - LA182_23 = self.input.LA(16) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - if (LA182_23 == 256) : - LA182_5 = self.input.LA(17) - if (LA182_5 == INT) : - LA182_8 = self.input.LA(18) + root_0 = self._adaptor.nil() + # 967:9: -> ^( CLOSED_RANGE $a $b) + # sdl92.g:967:17: ^( CLOSED_RANGE $a $b) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(CLOSED_RANGE, "CLOSED_RANGE") + , root_1) - if (LA182_8 == 250) : - LA182_11 = self.input.LA(19) + self._adaptor.addChild(root_1, stream_a.nextTree()) - if (LA182_11 == ID) : - alt182 = 1 - elif (LA182_22 == ID) : - alt182 = 1 - elif (LA182_1 == 256) : - LA182_5 = self.input.LA(3) + self._adaptor.addChild(root_1, stream_b.nextTree()) - if (LA182_5 == INT) : - LA182_8 = self.input.LA(4) + self._adaptor.addChild(root_0, root_1) - if (LA182_8 == 250) : - LA182_11 = self.input.LA(5) - if (LA182_11 == ID) : - alt182 = 1 - elif (LA182_0 == ID) : - LA182_2 = self.input.LA(2) - if (LA182_2 == 255) : - alt182 = 1 - if alt182 == 1: - # sdl92.g:875:17: label - pass - self._state.following.append(self.FOLLOW_label_in_action10127) - label435 = self.label() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, label435.tree) + retval.tree = root_0 - # sdl92.g:876:17: ( task | task_body | output | create_request | decision | alternative | export | procedure_call ) - alt183 = 8 - alt183 = self.dfa183.predict(self.input) - if alt183 == 1: - # sdl92.g:876:18: task - pass - self._state.following.append(self.FOLLOW_task_in_action10147) - task436 = self.task() + retval.stop = self.input.LT(-1) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, task436.tree) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - elif alt183 == 2: - # sdl92.g:877:19: task_body - pass - self._state.following.append(self.FOLLOW_task_body_in_action10167) - task_body437 = self.task_body() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, task_body437.tree) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 92, closed_range_StartIndex, success) - elif alt183 == 3: - # sdl92.g:878:19: output - pass - self._state.following.append(self.FOLLOW_output_in_action10187) - output438 = self.output() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, output438.tree) + pass + return retval + # $ANTLR end "closed_range" - elif alt183 == 4: - # sdl92.g:879:19: create_request - pass - self._state.following.append(self.FOLLOW_create_request_in_action10207) - create_request439 = self.create_request() + class open_range_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, create_request439.tree) + self.tree = None - elif alt183 == 5: - # sdl92.g:880:19: decision - pass - self._state.following.append(self.FOLLOW_decision_in_action10227) - decision440 = self.decision() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, decision440.tree) + # $ANTLR start "open_range" + # sdl92.g:971:1: open_range : ( constant -> constant | ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) ); + def open_range(self, ): + retval = self.open_range_return() + retval.start = self.input.LT(1) + open_range_StartIndex = self.input.index() - elif alt183 == 6: - # sdl92.g:881:19: alternative - pass - self._state.following.append(self.FOLLOW_alternative_in_action10247) - alternative441 = self.alternative() + root_0 = None - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, alternative441.tree) + EQ447 = None + NEQ448 = None + GT449 = None + LT450 = None + LE451 = None + GE452 = None + constant446 = None + constant453 = None + + EQ447_tree = None + NEQ448_tree = None + GT449_tree = None + LT450_tree = None + LE451_tree = None + GE452_tree = None + stream_LT = RewriteRuleTokenStream(self._adaptor, "token LT") + stream_LE = RewriteRuleTokenStream(self._adaptor, "token LE") + stream_NEQ = RewriteRuleTokenStream(self._adaptor, "token NEQ") + stream_EQ = RewriteRuleTokenStream(self._adaptor, "token EQ") + stream_GT = RewriteRuleTokenStream(self._adaptor, "token GT") + stream_GE = RewriteRuleTokenStream(self._adaptor, "token GE") + stream_constant = RewriteRuleSubtreeStream(self._adaptor, "rule constant") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 93): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - elif alt183 == 7: - # sdl92.g:884:19: export - pass - self._state.following.append(self.FOLLOW_export_in_action10301) - export442 = self.export() + # sdl92.g:972:9: ( constant -> constant | ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) ) + alt159 = 2 + LA159_0 = self.input.LA(1) + + if (LA159_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt159 = 1 + elif (LA159_0 in {EQ, GE, GT, LE, LT, NEQ}) : + alt159 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, export442.tree) + nvae = NoViableAltException("", 159, 0, self.input) + + raise nvae - elif alt183 == 8: - # sdl92.g:885:19: procedure_call + if alt159 == 1: + # sdl92.g:972:17: constant pass - self._state.following.append(self.FOLLOW_procedure_call_in_action10326) - procedure_call443 = self.procedure_call() + self._state.following.append(self.FOLLOW_constant_in_open_range10442) + constant446 = self.constant() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, procedure_call443.tree) + stream_constant.add(constant446.tree) + # AST Rewrite + # elements: constant + # 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() + # 973:9: -> constant + self._adaptor.addChild(root_0, stream_constant.nextTree()) - retval.stop = self.input.LT(-1) + retval.tree = root_0 - 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) + elif alt159 == 2: + # sdl92.g:974:19: ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) + pass + # sdl92.g:974:19: ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) + # sdl92.g:974:21: ( EQ | NEQ | GT | LT | LE | GE ) constant + pass + # sdl92.g:974:21: ( EQ | NEQ | GT | LT | LE | GE ) + alt158 = 6 + LA158 = self.input.LA(1) + if LA158 in {EQ}: + alt158 = 1 + elif LA158 in {NEQ}: + alt158 = 2 + elif LA158 in {GT}: + alt158 = 3 + elif LA158 in {LT}: + alt158 = 4 + elif LA158 in {LE}: + alt158 = 5 + elif LA158 in {GE}: + alt158 = 6 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - finally: - pass - return retval - # $ANTLR end "action" + nvae = NoViableAltException("", 158, 0, self.input) + raise nvae - class export_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + if alt158 == 1: + # sdl92.g:974:22: EQ + pass + EQ447 = self.match(self.input, EQ, self.FOLLOW_EQ_in_open_range10482) + if self._state.backtracking == 0: + stream_EQ.add(EQ447) + elif alt158 == 2: + # sdl92.g:974:25: NEQ + pass + NEQ448 = self.match(self.input, NEQ, self.FOLLOW_NEQ_in_open_range10484) + if self._state.backtracking == 0: + stream_NEQ.add(NEQ448) - # $ANTLR start "export" - # sdl92.g:889:1: export : EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end -> ^( EXPORT ( variable_id )+ ) ; - def export(self, ): - retval = self.export_return() - retval.start = self.input.LT(1) + elif alt158 == 3: + # sdl92.g:974:29: GT + pass + GT449 = self.match(self.input, GT, self.FOLLOW_GT_in_open_range10486) + if self._state.backtracking == 0: + stream_GT.add(GT449) - root_0 = None - EXPORT444 = None - L_PAREN445 = None - COMMA447 = None - R_PAREN449 = None - variable_id446 = None - variable_id448 = None - end450 = None - - EXPORT444_tree = None - L_PAREN445_tree = None - COMMA447_tree = None - R_PAREN449_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_EXPORT = RewriteRuleTokenStream(self._adaptor, "token EXPORT") - 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") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - try: - try: - # sdl92.g:890:9: ( EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end -> ^( EXPORT ( variable_id )+ ) ) - # sdl92.g:890:17: EXPORT L_PAREN variable_id ( COMMA variable_id )* R_PAREN end - pass - EXPORT444 = self.match(self.input, EXPORT, self.FOLLOW_EXPORT_in_export10359) - if self._state.backtracking == 0: - stream_EXPORT.add(EXPORT444) + elif alt158 == 4: + # sdl92.g:974:32: LT + pass + LT450 = self.match(self.input, LT, self.FOLLOW_LT_in_open_range10488) + if self._state.backtracking == 0: + stream_LT.add(LT450) - L_PAREN445 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_export10377) - if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN445) - self._state.following.append(self.FOLLOW_variable_id_in_export10379) - variable_id446 = self.variable_id() + elif alt158 == 5: + # sdl92.g:974:35: LE + pass + LE451 = self.match(self.input, LE, self.FOLLOW_LE_in_open_range10490) + if self._state.backtracking == 0: + stream_LE.add(LE451) - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_id.add(variable_id446.tree) - # sdl92.g:891:37: ( COMMA variable_id )* - while True: #loop184 - alt184 = 2 - LA184_0 = self.input.LA(1) + elif alt158 == 6: + # sdl92.g:974:38: GE + pass + GE452 = self.match(self.input, GE, self.FOLLOW_GE_in_open_range10492) + if self._state.backtracking == 0: + stream_GE.add(GE452) - if (LA184_0 == COMMA) : - alt184 = 1 - if alt184 == 1: - # sdl92.g:891:38: COMMA variable_id - pass - COMMA447 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_export10382) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA447) - self._state.following.append(self.FOLLOW_variable_id_in_export10384) - variable_id448 = self.variable_id() + self._state.following.append(self.FOLLOW_constant_in_open_range10495) + constant453 = self.constant() - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_id.add(variable_id448.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_constant.add(constant453.tree) - else: - break #loop184 - R_PAREN449 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_export10388) - if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN449) + # AST Rewrite + # elements: EQ, NEQ, GT, LT, LE, GE, constant + # 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) - self._state.following.append(self.FOLLOW_end_in_export10406) - end450 = self.end() + root_0 = self._adaptor.nil() + # 975:9: -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) + # sdl92.g:975:17: ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(OPEN_RANGE, "OPEN_RANGE") + , root_1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end450.tree) + # sdl92.g:975:30: ( EQ )? + if stream_EQ.hasNext(): + self._adaptor.addChild(root_1, + stream_EQ.nextNode() + ) - # AST Rewrite - # elements: EXPORT, 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) + stream_EQ.reset(); + # sdl92.g:975:34: ( NEQ )? + if stream_NEQ.hasNext(): + self._adaptor.addChild(root_1, + stream_NEQ.nextNode() + ) - root_0 = self._adaptor.nil() - # 893:9: -> ^( EXPORT ( variable_id )+ ) - # sdl92.g:893:17: ^( EXPORT ( variable_id )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_EXPORT.nextNode() - , root_1) - # sdl92.g:893:26: ( variable_id )+ - if not (stream_variable_id.hasNext()): - raise RewriteEarlyExitException() + stream_NEQ.reset(); - while stream_variable_id.hasNext(): - self._adaptor.addChild(root_1, stream_variable_id.nextTree()) + # sdl92.g:975:39: ( GT )? + if stream_GT.hasNext(): + self._adaptor.addChild(root_1, + stream_GT.nextNode() + ) - stream_variable_id.reset() + stream_GT.reset(); + + # sdl92.g:975:43: ( LT )? + if stream_LT.hasNext(): + self._adaptor.addChild(root_1, + stream_LT.nextNode() + ) - self._adaptor.addChild(root_0, root_1) + stream_LT.reset(); + + # sdl92.g:975:47: ( LE )? + if stream_LE.hasNext(): + self._adaptor.addChild(root_1, + stream_LE.nextNode() + ) + + + stream_LE.reset(); + + # sdl92.g:975:51: ( GE )? + if stream_GE.hasNext(): + self._adaptor.addChild(root_1, + stream_GE.nextNode() + ) + + + stream_GE.reset(); + + self._adaptor.addChild(root_1, stream_constant.nextTree()) + + self._adaptor.addChild(root_0, root_1) - retval.tree = root_0 + retval.tree = root_0 @@ -18536,19 +18589,25 @@ def export(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 93, open_range_StartIndex, success) + + pass return retval - # $ANTLR end "export" + # $ANTLR end "open_range" - class procedure_call_return(ParserRuleReturnScope): + class constant_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -18558,209 +18617,216 @@ def __init__(self): - # $ANTLR start "procedure_call" - # sdl92.g:898:1: procedure_call : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) ; - def procedure_call(self, ): - retval = self.procedure_call_return() + # $ANTLR start "constant" + # sdl92.g:979:1: constant : expression -> ^( CONSTANT expression ) ; + def constant(self, ): + retval = self.constant_return() retval.start = self.input.LT(1) + constant_StartIndex = self.input.index() root_0 = None - CALL456 = None - cif451 = None - symbolid452 = None - hyperlink453 = None - requirement454 = None - rid455 = None - procedure_call_body457 = None - end458 = None + expression454 = None + + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False - CALL456_tree = None - stream_CALL = RewriteRuleTokenStream(self._adaptor, "token CALL") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_procedure_call_body = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_call_body") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") try: try: - # sdl92.g:899:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) ) - # sdl92.g:899:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CALL procedure_call_body end - pass - # sdl92.g:899:17: ( cif )? - alt185 = 2 - LA185_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 94): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA185_0 == 254) : - LA185_1 = self.input.LA(2) - if (LA185_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt185 = 1 - if alt185 == 1: - # sdl92.g:899:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_procedure_call10462) - cif451 = self.cif() + # sdl92.g:980:9: ( expression -> ^( CONSTANT expression ) ) + # sdl92.g:980:17: expression + pass + self._state.following.append(self.FOLLOW_expression_in_constant10567) + expression454 = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif451.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression454.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() + # 981:9: -> ^( CONSTANT expression ) + # sdl92.g:981:17: ^( CONSTANT expression ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(CONSTANT, "CONSTANT") + , root_1) - # sdl92.g:900:17: ( symbolid )? - alt186 = 2 - LA186_0 = self.input.LA(1) + self._adaptor.addChild(root_1, stream_expression.nextTree()) - if (LA186_0 == 254) : - LA186_1 = self.input.LA(2) + self._adaptor.addChild(root_0, root_1) - if (LA186_1 == 256) : - alt186 = 1 - if alt186 == 1: - # sdl92.g:900:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_procedure_call10481) - symbolid452 = self.symbolid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid452.tree) + retval.tree = root_0 - # sdl92.g:901:17: ( hyperlink )? - alt187 = 2 - LA187_0 = self.input.LA(1) - if (LA187_0 == 254) : - LA187_1 = self.input.LA(2) - if (LA187_1 == KEEP) : - LA187_3 = self.input.LA(3) + retval.stop = self.input.LT(-1) - if (LA187_3 == SPECIFIC) : - LA187_4 = self.input.LA(4) - if (LA187_4 == GEODE) : - LA187_5 = self.input.LA(5) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA187_5 == HYPERLINK) : - alt187 = 1 - if alt187 == 1: - # sdl92.g:901:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_procedure_call10500) - hyperlink453 = self.hyperlink() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink453.tree) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 94, constant_StartIndex, success) - # sdl92.g:902:17: ( requirement )* - while True: #loop188 - alt188 = 2 - LA188_0 = self.input.LA(1) - - if (LA188_0 == 254) : - LA188_1 = self.input.LA(2) - - if (LA188_1 == KEEP) : - LA188_3 = self.input.LA(3) - - if (LA188_3 == SPECIFIC) : - LA188_4 = self.input.LA(4) - - if (LA188_4 == GEODE) : - LA188_5 = self.input.LA(5) - - if (LA188_5 == REQ_ID) : - alt188 = 1 + pass + return retval + # $ANTLR end "constant" + class create_request_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None + # $ANTLR start "create_request" + # sdl92.g:986:1: create_request : ( cif )* CREATE createbody ( actual_parameters )? end -> ^( CREATE ( cif )* ( end )? createbody ( actual_parameters )? ) ; + def create_request(self, ): + retval = self.create_request_return() + retval.start = self.input.LT(1) - if alt188 == 1: - # sdl92.g:902:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_procedure_call10519) - requirement454 = self.requirement() + create_request_StartIndex = self.input.index() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement454.tree) + root_0 = None + CREATE456 = None + cif455 = None + createbody457 = None + actual_parameters458 = None + end459 = None + CREATE456_tree = None + stream_CREATE = RewriteRuleTokenStream(self._adaptor, "token CREATE") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_actual_parameters = RewriteRuleSubtreeStream(self._adaptor, "rule actual_parameters") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_createbody = RewriteRuleSubtreeStream(self._adaptor, "rule createbody") + success = False - else: - break #loop188 + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 95): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # sdl92.g:903:17: ( rid )* - while True: #loop189 - alt189 = 2 - LA189_0 = self.input.LA(1) + # sdl92.g:987:9: ( ( cif )* CREATE createbody ( actual_parameters )? end -> ^( CREATE ( cif )* ( end )? createbody ( actual_parameters )? ) ) + # sdl92.g:987:17: ( cif )* CREATE createbody ( actual_parameters )? end + pass + # sdl92.g:987:17: ( cif )* + while True: #loop160 + alt160 = 2 + LA160_0 = self.input.LA(1) - if (LA189_0 == 254) : - alt189 = 1 + if (LA160_0 == 254) : + alt160 = 1 - if alt189 == 1: - # sdl92.g:903:17: rid + if alt160 == 1: + # sdl92.g:987:17: cif pass - self._state.following.append(self.FOLLOW_rid_in_procedure_call10538) - rid455 = self.rid() + self._state.following.append(self.FOLLOW_cif_in_create_request10621) + cif455 = self.cif() self._state.following.pop() if self._state.backtracking == 0: - stream_rid.add(rid455.tree) + stream_cif.add(cif455.tree) else: - break #loop189 + break #loop160 - CALL456 = self.match(self.input, CALL, self.FOLLOW_CALL_in_procedure_call10557) + CREATE456 = self.match(self.input, CREATE, self.FOLLOW_CREATE_in_create_request10640) if self._state.backtracking == 0: - stream_CALL.add(CALL456) + stream_CREATE.add(CREATE456) - self._state.following.append(self.FOLLOW_procedure_call_body_in_procedure_call10559) - procedure_call_body457 = self.procedure_call_body() + self._state.following.append(self.FOLLOW_createbody_in_create_request10642) + createbody457 = self.createbody() self._state.following.pop() if self._state.backtracking == 0: - stream_procedure_call_body.add(procedure_call_body457.tree) + stream_createbody.add(createbody457.tree) + + + # sdl92.g:989:17: ( actual_parameters )? + alt161 = 2 + LA161_0 = self.input.LA(1) + + if (LA161_0 == L_PAREN) : + alt161 = 1 + if alt161 == 1: + # sdl92.g:989:17: actual_parameters + pass + self._state.following.append(self.FOLLOW_actual_parameters_in_create_request10660) + actual_parameters458 = self.actual_parameters() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_actual_parameters.add(actual_parameters458.tree) + + + - self._state.following.append(self.FOLLOW_end_in_procedure_call10561) - end458 = self.end() + self._state.following.append(self.FOLLOW_end_in_create_request10679) + end459 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end458.tree) + stream_end.add(end459.tree) # AST Rewrite - # elements: cif, symbolid, hyperlink, requirement, rid, end, procedure_call_body + # elements: CREATE, cif, end, createbody, actual_parameters # token labels: # rule labels: retval # token list labels: @@ -18775,56 +18841,35 @@ def procedure_call(self, ): root_0 = self._adaptor.nil() - # 905:9: -> ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) - # sdl92.g:905:17: ^( PROCEDURE_CALL ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? procedure_call_body ) + # 991:9: -> ^( CREATE ( cif )* ( end )? createbody ( actual_parameters )? ) + # sdl92.g:991:17: ^( CREATE ( cif )* ( end )? createbody ( actual_parameters )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PROCEDURE_CALL, "PROCEDURE_CALL") + stream_CREATE.nextNode() , root_1) - # sdl92.g:905:34: ( cif )? - if stream_cif.hasNext(): + # sdl92.g:991:26: ( cif )* + while stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:905:39: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:905:49: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - - - stream_hyperlink.reset(); - - # sdl92.g:905:60: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); - - # sdl92.g:905:73: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - - - stream_rid.reset(); - - # sdl92.g:905:78: ( end )? + # sdl92.g:991:31: ( end )? if stream_end.hasNext(): self._adaptor.addChild(root_1, stream_end.nextTree()) stream_end.reset(); - self._adaptor.addChild(root_1, stream_procedure_call_body.nextTree()) + self._adaptor.addChild(root_1, stream_createbody.nextTree()) + + # sdl92.g:991:47: ( actual_parameters )? + if stream_actual_parameters.hasNext(): + self._adaptor.addChild(root_1, stream_actual_parameters.nextTree()) + + + stream_actual_parameters.reset(); self._adaptor.addChild(root_0, root_1) @@ -18846,19 +18891,25 @@ def procedure_call(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 95, create_request_StartIndex, success) + + pass return retval - # $ANTLR end "procedure_call" + # $ANTLR end "create_request" - class procedure_call_body_return(ParserRuleReturnScope): + class createbody_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -18868,118 +18919,74 @@ def __init__(self): - # $ANTLR start "procedure_call_body" - # sdl92.g:909:1: procedure_call_body : procedure_id ( actual_parameters )? ( to_part )? -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) ; - def procedure_call_body(self, ): - retval = self.procedure_call_body_return() + # $ANTLR start "createbody" + # sdl92.g:995:1: createbody : ( process_id | THIS ); + def createbody(self, ): + retval = self.createbody_return() retval.start = self.input.LT(1) + createbody_StartIndex = self.input.index() root_0 = None - procedure_id459 = None - actual_parameters460 = None - to_part461 = None + THIS461 = None + process_id460 = None + + THIS461_tree = None + + success = False - stream_procedure_id = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_id") - stream_actual_parameters = RewriteRuleSubtreeStream(self._adaptor, "rule actual_parameters") - stream_to_part = RewriteRuleSubtreeStream(self._adaptor, "rule to_part") try: try: - # sdl92.g:910:9: ( procedure_id ( actual_parameters )? ( to_part )? -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) ) - # sdl92.g:910:17: procedure_id ( actual_parameters )? ( to_part )? - pass - self._state.following.append(self.FOLLOW_procedure_id_in_procedure_call_body10632) - procedure_id459 = self.procedure_id() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 96): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_procedure_id.add(procedure_id459.tree) + # sdl92.g:996:9: ( process_id | THIS ) + alt162 = 2 + LA162_0 = self.input.LA(1) - # sdl92.g:910:30: ( actual_parameters )? - alt190 = 2 - alt190 = self.dfa190.predict(self.input) - if alt190 == 1: - # sdl92.g:910:30: actual_parameters - pass - self._state.following.append(self.FOLLOW_actual_parameters_in_procedure_call_body10634) - actual_parameters460 = self.actual_parameters() + if (LA162_0 == ID) : + alt162 = 1 + elif (LA162_0 == THIS) : + alt162 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.pop() - if self._state.backtracking == 0: - stream_actual_parameters.add(actual_parameters460.tree) + nvae = NoViableAltException("", 162, 0, self.input) + raise nvae + if alt162 == 1: + # sdl92.g:996:17: process_id + pass + root_0 = self._adaptor.nil() - # sdl92.g:910:49: ( to_part )? - alt191 = 2 - LA191_0 = self.input.LA(1) - if (LA191_0 == TO) : - alt191 = 1 - if alt191 == 1: - # sdl92.g:910:49: to_part - pass - self._state.following.append(self.FOLLOW_to_part_in_procedure_call_body10637) - to_part461 = self.to_part() + self._state.following.append(self.FOLLOW_process_id_in_createbody10741) + process_id460 = self.process_id() self._state.following.pop() if self._state.backtracking == 0: - stream_to_part.add(to_part461.tree) - + self._adaptor.addChild(root_0, process_id460.tree) - - # AST Rewrite - # elements: procedure_id, actual_parameters, to_part - # 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) - - + elif alt162 == 2: + # sdl92.g:997:19: THIS + pass root_0 = self._adaptor.nil() - # 911:9: -> ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) - # sdl92.g:911:17: ^( OUTPUT_BODY procedure_id ( actual_parameters )? ( to_part )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(OUTPUT_BODY, "OUTPUT_BODY") - , root_1) - - self._adaptor.addChild(root_1, stream_procedure_id.nextTree()) - - # sdl92.g:911:44: ( actual_parameters )? - if stream_actual_parameters.hasNext(): - self._adaptor.addChild(root_1, stream_actual_parameters.nextTree()) - - - stream_actual_parameters.reset(); - - # sdl92.g:911:63: ( to_part )? - if stream_to_part.hasNext(): - self._adaptor.addChild(root_1, stream_to_part.nextTree()) - - - stream_to_part.reset(); - - self._adaptor.addChild(root_0, root_1) - - - - retval.tree = root_0 + THIS461 = self.match(self.input, THIS, self.FOLLOW_THIS_in_createbody10761) + if self._state.backtracking == 0: + THIS461_tree = self._adaptor.createWithPayload(THIS461) + self._adaptor.addChild(root_0, THIS461_tree) @@ -18993,19 +19000,25 @@ def procedure_call_body(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 96, createbody_StartIndex, success) + + pass return retval - # $ANTLR end "procedure_call_body" + # $ANTLR end "createbody" - class alternative_return(ParserRuleReturnScope): + class output_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -19015,290 +19028,271 @@ def __init__(self): - # $ANTLR start "alternative" - # sdl92.g:947:1: alternative : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) ; - def alternative(self, ): - retval = self.alternative_return() + # $ANTLR start "output" + # sdl92.g:1001:1: output : ( cif )* OUTPUT outputbody end -> ^( OUTPUT ( cif )* ( end )? outputbody ) ; + def output(self, ): + retval = self.output_return() retval.start = self.input.LT(1) + output_StartIndex = self.input.index() root_0 = None - ALTERNATIVE467 = None - ENDALTERNATIVE471 = None - e = None - f = None + OUTPUT463 = None cif462 = None - symbolid463 = None - hyperlink464 = None - requirement465 = None - rid466 = None - alternative_question468 = None - answer_part469 = None - alternative_part470 = None - - ALTERNATIVE467_tree = None - ENDALTERNATIVE471_tree = None - stream_ALTERNATIVE = RewriteRuleTokenStream(self._adaptor, "token ALTERNATIVE") - stream_ENDALTERNATIVE = RewriteRuleTokenStream(self._adaptor, "token ENDALTERNATIVE") + outputbody464 = None + end465 = None + + OUTPUT463_tree = None + stream_OUTPUT = RewriteRuleTokenStream(self._adaptor, "token OUTPUT") stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_alternative_part = RewriteRuleSubtreeStream(self._adaptor, "rule alternative_part") - stream_alternative_question = RewriteRuleSubtreeStream(self._adaptor, "rule alternative_question") - stream_answer_part = RewriteRuleSubtreeStream(self._adaptor, "rule answer_part") stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") + stream_outputbody = RewriteRuleSubtreeStream(self._adaptor, "rule outputbody") + success = False + try: try: - # sdl92.g:948:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) ) - # sdl92.g:948:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ALTERNATIVE alternative_question e= end ( answer_part )? ( alternative_part )? ENDALTERNATIVE f= end - pass - # sdl92.g:948:17: ( cif )? - alt192 = 2 - LA192_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 97): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA192_0 == 254) : - LA192_1 = self.input.LA(2) - if (LA192_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt192 = 1 - if alt192 == 1: - # sdl92.g:948:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_alternative10703) - cif462 = self.cif() + # sdl92.g:1002:9: ( ( cif )* OUTPUT outputbody end -> ^( OUTPUT ( cif )* ( end )? outputbody ) ) + # sdl92.g:1002:17: ( cif )* OUTPUT outputbody end + pass + # sdl92.g:1002:17: ( cif )* + while True: #loop163 + alt163 = 2 + LA163_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif462.tree) + if (LA163_0 == 254) : + alt163 = 1 + if alt163 == 1: + # sdl92.g:1002:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_output10793) + cif462 = self.cif() + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif462.tree) - # sdl92.g:949:17: ( symbolid )? - alt193 = 2 - LA193_0 = self.input.LA(1) - if (LA193_0 == 254) : - LA193_1 = self.input.LA(2) + else: + break #loop163 - if (LA193_1 == 256) : - alt193 = 1 - if alt193 == 1: - # sdl92.g:949:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_alternative10722) - symbolid463 = self.symbolid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid463.tree) + OUTPUT463 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output10812) + if self._state.backtracking == 0: + stream_OUTPUT.add(OUTPUT463) + self._state.following.append(self.FOLLOW_outputbody_in_output10814) + outputbody464 = self.outputbody() + self._state.following.pop() + if self._state.backtracking == 0: + stream_outputbody.add(outputbody464.tree) - # sdl92.g:950:17: ( hyperlink )? - alt194 = 2 - LA194_0 = self.input.LA(1) + self._state.following.append(self.FOLLOW_end_in_output10816) + end465 = self.end() - if (LA194_0 == 254) : - LA194_1 = self.input.LA(2) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end465.tree) - if (LA194_1 == KEEP) : - LA194_3 = self.input.LA(3) - if (LA194_3 == SPECIFIC) : - LA194_4 = self.input.LA(4) + # AST Rewrite + # elements: OUTPUT, cif, end, outputbody + # 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) - if (LA194_4 == GEODE) : - LA194_5 = self.input.LA(5) - if (LA194_5 == HYPERLINK) : - alt194 = 1 - if alt194 == 1: - # sdl92.g:950:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_alternative10741) - hyperlink464 = self.hyperlink() + root_0 = self._adaptor.nil() + # 1004:9: -> ^( OUTPUT ( cif )* ( end )? outputbody ) + # sdl92.g:1004:17: ^( OUTPUT ( cif )* ( end )? outputbody ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_OUTPUT.nextNode() + , root_1) + + # sdl92.g:1004:26: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink464.tree) + stream_cif.reset(); + # sdl92.g:1004:31: ( end )? + if stream_end.hasNext(): + self._adaptor.addChild(root_1, stream_end.nextTree()) + stream_end.reset(); - # sdl92.g:951:17: ( requirement )* - while True: #loop195 - alt195 = 2 - LA195_0 = self.input.LA(1) + self._adaptor.addChild(root_1, stream_outputbody.nextTree()) - if (LA195_0 == 254) : - LA195_1 = self.input.LA(2) + self._adaptor.addChild(root_0, root_1) - if (LA195_1 == KEEP) : - LA195_3 = self.input.LA(3) - if (LA195_3 == SPECIFIC) : - LA195_4 = self.input.LA(4) - if (LA195_4 == GEODE) : - LA195_5 = self.input.LA(5) - if (LA195_5 == REQ_ID) : - alt195 = 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) - if alt195 == 1: - # sdl92.g:951:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_alternative10760) - requirement465 = self.requirement() + success = True - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement465.tree) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 97, output_StartIndex, success) - else: - break #loop195 + pass + return retval + # $ANTLR end "output" - # sdl92.g:952:17: ( rid )* - while True: #loop196 - alt196 = 2 - LA196_0 = self.input.LA(1) - if (LA196_0 == 254) : - alt196 = 1 + class outputbody_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - if alt196 == 1: - # sdl92.g:952:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_alternative10779) - rid466 = self.rid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid466.tree) - else: - break #loop196 + # $ANTLR start "outputbody" + # sdl92.g:1008:1: outputbody : outputstmt ( ',' outputstmt )* ( to_part )? -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) ; + def outputbody(self, ): + retval = self.outputbody_return() + retval.start = self.input.LT(1) + outputbody_StartIndex = self.input.index() - ALTERNATIVE467 = self.match(self.input, ALTERNATIVE, self.FOLLOW_ALTERNATIVE_in_alternative10798) - if self._state.backtracking == 0: - stream_ALTERNATIVE.add(ALTERNATIVE467) + root_0 = None + char_literal467 = None + outputstmt466 = None + outputstmt468 = None + to_part469 = None - self._state.following.append(self.FOLLOW_alternative_question_in_alternative10800) - alternative_question468 = self.alternative_question() + char_literal467_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_outputstmt = RewriteRuleSubtreeStream(self._adaptor, "rule outputstmt") + stream_to_part = RewriteRuleSubtreeStream(self._adaptor, "rule to_part") + success = False - self._state.following.pop() - if self._state.backtracking == 0: - stream_alternative_question.add(alternative_question468.tree) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 98): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_end_in_alternative10804) - e = self.end() + # sdl92.g:1009:9: ( outputstmt ( ',' outputstmt )* ( to_part )? -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) ) + # sdl92.g:1009:17: outputstmt ( ',' outputstmt )* ( to_part )? + pass + self._state.following.append(self.FOLLOW_outputstmt_in_outputbody10875) + outputstmt466 = self.outputstmt() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(e.tree) + stream_outputstmt.add(outputstmt466.tree) - # sdl92.g:954:17: ( answer_part )? - alt197 = 2 - LA197_0 = self.input.LA(1) + # sdl92.g:1009:28: ( ',' outputstmt )* + while True: #loop164 + alt164 = 2 + LA164_0 = self.input.LA(1) - if (LA197_0 == 254) : - LA197_1 = self.input.LA(2) + if (LA164_0 == COMMA) : + alt164 = 1 - if (self.synpred240_sdl92()) : - alt197 = 1 - elif (LA197_0 == L_PAREN) : - LA197_2 = self.input.LA(2) - if (self.synpred240_sdl92()) : - alt197 = 1 - if alt197 == 1: - # sdl92.g:954:17: answer_part - pass - self._state.following.append(self.FOLLOW_answer_part_in_alternative10822) - answer_part469 = self.answer_part() + if alt164 == 1: + # sdl92.g:1009:29: ',' outputstmt + pass + char_literal467 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_outputbody10878) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal467) - self._state.following.pop() - if self._state.backtracking == 0: - stream_answer_part.add(answer_part469.tree) + self._state.following.append(self.FOLLOW_outputstmt_in_outputbody10880) + outputstmt468 = self.outputstmt() + self._state.following.pop() + if self._state.backtracking == 0: + stream_outputstmt.add(outputstmt468.tree) - # sdl92.g:955:17: ( alternative_part )? - alt198 = 2 - LA198_0 = self.input.LA(1) + else: + break #loop164 - if (LA198_0 in {ELSE, L_PAREN, 254}) : - alt198 = 1 - if alt198 == 1: - # sdl92.g:955:17: alternative_part + + # sdl92.g:1009:46: ( to_part )? + alt165 = 2 + LA165_0 = self.input.LA(1) + + if (LA165_0 == TO) : + alt165 = 1 + if alt165 == 1: + # sdl92.g:1009:46: to_part pass - self._state.following.append(self.FOLLOW_alternative_part_in_alternative10841) - alternative_part470 = self.alternative_part() + self._state.following.append(self.FOLLOW_to_part_in_outputbody10884) + to_part469 = self.to_part() self._state.following.pop() if self._state.backtracking == 0: - stream_alternative_part.add(alternative_part470.tree) - - + stream_to_part.add(to_part469.tree) - ENDALTERNATIVE471 = self.match(self.input, ENDALTERNATIVE, self.FOLLOW_ENDALTERNATIVE_in_alternative10860) - if self._state.backtracking == 0: - stream_ENDALTERNATIVE.add(ENDALTERNATIVE471) - - - self._state.following.append(self.FOLLOW_end_in_alternative10864) - f = self.end() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(f.tree) # AST Rewrite - # elements: ALTERNATIVE, cif, symbolid, hyperlink, requirement, rid, e, alternative_question, answer_part, alternative_part + # elements: outputstmt, to_part # token labels: - # rule labels: e, retval + # rule labels: 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: @@ -19306,70 +19300,29 @@ def alternative(self, ): root_0 = self._adaptor.nil() - # 957:9: -> ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) - # sdl92.g:957:17: ^( ALTERNATIVE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? alternative_question ( answer_part )? ( alternative_part )? ) + # 1010:9: -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) + # sdl92.g:1010:17: ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_ALTERNATIVE.nextNode() + self._adaptor.createFromType(OUTPUT_BODY, "OUTPUT_BODY") , root_1) - # sdl92.g:957:31: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) - - - stream_cif.reset(); - - # sdl92.g:957:36: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:957:46: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - - - stream_hyperlink.reset(); - - # sdl92.g:957:57: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); - - # sdl92.g:957:70: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - - - stream_rid.reset(); - - # sdl92.g:957:76: ( $e)? - if stream_e.hasNext(): - self._adaptor.addChild(root_1, stream_e.nextTree()) - - - stream_e.reset(); - - self._adaptor.addChild(root_1, stream_alternative_question.nextTree()) + # sdl92.g:1010:31: ( outputstmt )+ + if not (stream_outputstmt.hasNext()): + raise RewriteEarlyExitException() - # sdl92.g:958:38: ( answer_part )? - if stream_answer_part.hasNext(): - self._adaptor.addChild(root_1, stream_answer_part.nextTree()) + while stream_outputstmt.hasNext(): + self._adaptor.addChild(root_1, stream_outputstmt.nextTree()) - stream_answer_part.reset(); + stream_outputstmt.reset() - # sdl92.g:958:51: ( alternative_part )? - if stream_alternative_part.hasNext(): - self._adaptor.addChild(root_1, stream_alternative_part.nextTree()) + # sdl92.g:1010:43: ( to_part )? + if stream_to_part.hasNext(): + self._adaptor.addChild(root_1, stream_to_part.nextTree()) - stream_alternative_part.reset(); + stream_to_part.reset(); self._adaptor.addChild(root_0, root_1) @@ -19391,19 +19344,25 @@ def alternative(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 98, outputbody_StartIndex, success) + + pass return retval - # $ANTLR end "alternative" + # $ANTLR end "outputbody" - class alternative_part_return(ParserRuleReturnScope): + class outputstmt_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -19413,163 +19372,63 @@ def __init__(self): - # $ANTLR start "alternative_part" - # sdl92.g:962:1: alternative_part : ( ( ( answer_part )+ ( else_part )? ) -> ( answer_part )+ ( else_part )? | else_part -> else_part ); - def alternative_part(self, ): - retval = self.alternative_part_return() + # $ANTLR start "outputstmt" + # sdl92.g:1016:1: outputstmt : signal_id ( actual_parameters )? ; + def outputstmt(self, ): + retval = self.outputstmt_return() retval.start = self.input.LT(1) + outputstmt_StartIndex = self.input.index() root_0 = None - answer_part472 = None - else_part473 = None - else_part474 = None - - stream_answer_part = RewriteRuleSubtreeStream(self._adaptor, "rule answer_part") - stream_else_part = RewriteRuleSubtreeStream(self._adaptor, "rule else_part") - try: - try: - # sdl92.g:963:9: ( ( ( answer_part )+ ( else_part )? ) -> ( answer_part )+ ( else_part )? | else_part -> else_part ) - alt201 = 2 - alt201 = self.dfa201.predict(self.input) - if alt201 == 1: - # sdl92.g:963:17: ( ( answer_part )+ ( else_part )? ) - pass - # sdl92.g:963:17: ( ( answer_part )+ ( else_part )? ) - # sdl92.g:963:18: ( answer_part )+ ( else_part )? - pass - # sdl92.g:963:18: ( answer_part )+ - cnt199 = 0 - while True: #loop199 - alt199 = 2 - alt199 = self.dfa199.predict(self.input) - if alt199 == 1: - # sdl92.g:963:18: answer_part - pass - self._state.following.append(self.FOLLOW_answer_part_in_alternative_part10959) - answer_part472 = self.answer_part() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_answer_part.add(answer_part472.tree) - - - - else: - if cnt199 >= 1: - break #loop199 - - if self._state.backtracking > 0: - raise BacktrackingFailed - - - eee = EarlyExitException(199, self.input) - raise eee - - cnt199 += 1 - - - # sdl92.g:963:31: ( else_part )? - alt200 = 2 - LA200_0 = self.input.LA(1) - - if (LA200_0 in {ELSE, 254}) : - alt200 = 1 - if alt200 == 1: - # sdl92.g:963:31: else_part - pass - self._state.following.append(self.FOLLOW_else_part_in_alternative_part10962) - else_part473 = self.else_part() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_else_part.add(else_part473.tree) - - - - - - - - - # AST Rewrite - # elements: answer_part, else_part - # 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() - # 964:9: -> ( answer_part )+ ( else_part )? - # sdl92.g:964:17: ( answer_part )+ - if not (stream_answer_part.hasNext()): - raise RewriteEarlyExitException() - - while stream_answer_part.hasNext(): - self._adaptor.addChild(root_0, stream_answer_part.nextTree()) - - - stream_answer_part.reset() + signal_id470 = None + actual_parameters471 = None - # sdl92.g:964:30: ( else_part )? - if stream_else_part.hasNext(): - self._adaptor.addChild(root_0, stream_else_part.nextTree()) + success = False - stream_else_part.reset(); + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 99): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:1017:9: ( signal_id ( actual_parameters )? ) + # sdl92.g:1017:17: signal_id ( actual_parameters )? + pass + root_0 = self._adaptor.nil() - retval.tree = root_0 + self._state.following.append(self.FOLLOW_signal_id_in_outputstmt10946) + signal_id470 = self.signal_id() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, signal_id470.tree) + # sdl92.g:1018:17: ( actual_parameters )? + alt166 = 2 + LA166_0 = self.input.LA(1) - elif alt201 == 2: - # sdl92.g:965:19: else_part + if (LA166_0 == L_PAREN) : + alt166 = 1 + if alt166 == 1: + # sdl92.g:1018:17: actual_parameters pass - self._state.following.append(self.FOLLOW_else_part_in_alternative_part11005) - else_part474 = self.else_part() + self._state.following.append(self.FOLLOW_actual_parameters_in_outputstmt10964) + actual_parameters471 = self.actual_parameters() self._state.following.pop() if self._state.backtracking == 0: - stream_else_part.add(else_part474.tree) - - - # AST Rewrite - # elements: else_part - # 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() - # 966:9: -> else_part - self._adaptor.addChild(root_0, stream_else_part.nextTree()) + self._adaptor.addChild(root_0, actual_parameters471.tree) - retval.tree = root_0 - @@ -19582,19 +19441,25 @@ def alternative_part(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 99, outputstmt_StartIndex, success) + + pass return retval - # $ANTLR end "alternative_part" + # $ANTLR end "outputstmt" - class alternative_question_return(ParserRuleReturnScope): + class to_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -19604,32 +19469,86 @@ def __init__(self): - # $ANTLR start "alternative_question" - # sdl92.g:970:1: alternative_question : ground_expression ; - def alternative_question(self, ): - retval = self.alternative_question_return() + # $ANTLR start "to_part" + # sdl92.g:1021:1: to_part : ( TO destination ) -> ^( TO destination ) ; + def to_part(self, ): + retval = self.to_part_return() retval.start = self.input.LT(1) + to_part_StartIndex = self.input.index() root_0 = None - ground_expression475 = None + TO472 = None + destination473 = None + TO472_tree = None + stream_TO = RewriteRuleTokenStream(self._adaptor, "token TO") + stream_destination = RewriteRuleSubtreeStream(self._adaptor, "rule destination") + success = False try: try: - # sdl92.g:971:9: ( ground_expression ) - # sdl92.g:971:17: ground_expression + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 100): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1022:9: ( ( TO destination ) -> ^( TO destination ) ) + # sdl92.g:1022:17: ( TO destination ) pass - root_0 = self._adaptor.nil() + # sdl92.g:1022:17: ( TO destination ) + # sdl92.g:1022:18: TO destination + pass + TO472 = self.match(self.input, TO, self.FOLLOW_TO_in_to_part10997) + if self._state.backtracking == 0: + stream_TO.add(TO472) - self._state.following.append(self.FOLLOW_ground_expression_in_alternative_question11054) - ground_expression475 = self.ground_expression() + self._state.following.append(self.FOLLOW_destination_in_to_part10999) + destination473 = self.destination() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, ground_expression475.tree) + stream_destination.add(destination473.tree) + + + + + + # AST Rewrite + # elements: TO, destination + # 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() + # 1023:9: -> ^( TO destination ) + # sdl92.g:1023:17: ^( TO destination ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_TO.nextNode() + , root_1) + + self._adaptor.addChild(root_1, stream_destination.nextTree()) + + self._adaptor.addChild(root_0, root_1) + + + + + retval.tree = root_0 + @@ -19643,19 +19562,25 @@ def alternative_question(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 100, to_part_StartIndex, success) + + pass return retval - # $ANTLR end "alternative_question" + # $ANTLR end "to_part" - class decision_return(ParserRuleReturnScope): + class via_part_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -19665,369 +19590,374 @@ def __init__(self): - # $ANTLR start "decision" - # sdl92.g:975:1: decision : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) ; - def decision(self, ): - retval = self.decision_return() + # $ANTLR start "via_part" + # sdl92.g:1026:1: via_part : VIA viabody -> ^( VIA viabody ) ; + def via_part(self, ): + retval = self.via_part_return() retval.start = self.input.LT(1) + via_part_StartIndex = self.input.index() root_0 = None - DECISION481 = None - ENDDECISION485 = None - e = None - f = None - cif476 = None - symbolid477 = None - hyperlink478 = None - requirement479 = None - rid480 = None - question482 = None - answer_part483 = None - alternative_part484 = None - - DECISION481_tree = None - ENDDECISION485_tree = None - stream_DECISION = RewriteRuleTokenStream(self._adaptor, "token DECISION") - stream_ENDDECISION = RewriteRuleTokenStream(self._adaptor, "token ENDDECISION") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_question = RewriteRuleSubtreeStream(self._adaptor, "rule question") - stream_alternative_part = RewriteRuleSubtreeStream(self._adaptor, "rule alternative_part") - stream_answer_part = RewriteRuleSubtreeStream(self._adaptor, "rule answer_part") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") + VIA474 = None + viabody475 = None + + VIA474_tree = None + stream_VIA = RewriteRuleTokenStream(self._adaptor, "token VIA") + stream_viabody = RewriteRuleSubtreeStream(self._adaptor, "rule viabody") + success = False + try: try: - # sdl92.g:976:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) ) - # sdl92.g:976:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* DECISION question e= end ( answer_part )? ( alternative_part )? ENDDECISION f= end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 101): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1027:9: ( VIA viabody -> ^( VIA viabody ) ) + # sdl92.g:1027:17: VIA viabody pass - # sdl92.g:976:17: ( cif )? - alt202 = 2 - LA202_0 = self.input.LA(1) + VIA474 = self.match(self.input, VIA, self.FOLLOW_VIA_in_via_part11052) + if self._state.backtracking == 0: + stream_VIA.add(VIA474) - if (LA202_0 == 254) : - LA202_1 = self.input.LA(2) - if (LA202_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt202 = 1 - if alt202 == 1: - # sdl92.g:976:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_decision11086) - cif476 = self.cif() + self._state.following.append(self.FOLLOW_viabody_in_via_part11054) + viabody475 = self.viabody() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif476.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_viabody.add(viabody475.tree) + # AST Rewrite + # elements: VIA, viabody + # 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() + # 1028:9: -> ^( VIA viabody ) + # sdl92.g:1028:17: ^( VIA viabody ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_VIA.nextNode() + , root_1) - # sdl92.g:977:17: ( symbolid )? - alt203 = 2 - LA203_0 = self.input.LA(1) + self._adaptor.addChild(root_1, stream_viabody.nextTree()) - if (LA203_0 == 254) : - LA203_1 = self.input.LA(2) + self._adaptor.addChild(root_0, root_1) - if (LA203_1 == 256) : - alt203 = 1 - if alt203 == 1: - # sdl92.g:977:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_decision11105) - symbolid477 = self.symbolid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid477.tree) + retval.tree = root_0 - # sdl92.g:978:17: ( hyperlink )? - alt204 = 2 - LA204_0 = self.input.LA(1) - if (LA204_0 == 254) : - LA204_1 = self.input.LA(2) - if (LA204_1 == KEEP) : - LA204_3 = self.input.LA(3) + retval.stop = self.input.LT(-1) - if (LA204_3 == SPECIFIC) : - LA204_4 = self.input.LA(4) - if (LA204_4 == GEODE) : - LA204_5 = self.input.LA(5) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA204_5 == HYPERLINK) : - alt204 = 1 - if alt204 == 1: - # sdl92.g:978:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_decision11124) - hyperlink478 = self.hyperlink() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink478.tree) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 101, via_part_StartIndex, success) - # sdl92.g:979:17: ( requirement )* - while True: #loop205 - alt205 = 2 - LA205_0 = self.input.LA(1) + pass + return retval - if (LA205_0 == 254) : - LA205_1 = self.input.LA(2) + # $ANTLR end "via_part" - if (LA205_1 == KEEP) : - LA205_3 = self.input.LA(3) - if (LA205_3 == SPECIFIC) : - LA205_4 = self.input.LA(4) + class viabody_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA205_4 == GEODE) : - LA205_5 = self.input.LA(5) + self.tree = None - if (LA205_5 == REQ_ID) : - alt205 = 1 + # $ANTLR start "viabody" + # sdl92.g:1033:1: viabody : ( ALL -> ^( ALL ) | via_path -> ^( VIAPATH via_path ) ); + def viabody(self, ): + retval = self.viabody_return() + retval.start = self.input.LT(1) + viabody_StartIndex = self.input.index() + root_0 = None + ALL476 = None + via_path477 = None + ALL476_tree = None + stream_ALL = RewriteRuleTokenStream(self._adaptor, "token ALL") + stream_via_path = RewriteRuleSubtreeStream(self._adaptor, "rule via_path") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 102): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if alt205 == 1: - # sdl92.g:979:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_decision11143) - requirement479 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement479.tree) + # sdl92.g:1034:9: ( ALL -> ^( ALL ) | via_path -> ^( VIAPATH via_path ) ) + alt167 = 2 + LA167_0 = self.input.LA(1) + if (LA167_0 == ALL) : + alt167 = 1 + elif (LA167_0 == ID) : + alt167 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - else: - break #loop205 + nvae = NoViableAltException("", 167, 0, self.input) + raise nvae - # sdl92.g:980:17: ( rid )* - while True: #loop206 - alt206 = 2 - LA206_0 = self.input.LA(1) - if (LA206_0 == 254) : - alt206 = 1 + if alt167 == 1: + # sdl92.g:1034:17: ALL + pass + ALL476 = self.match(self.input, ALL, self.FOLLOW_ALL_in_viabody11108) + if self._state.backtracking == 0: + stream_ALL.add(ALL476) - if alt206 == 1: - # sdl92.g:980:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_decision11162) - rid480 = self.rid() + # AST Rewrite + # elements: ALL + # 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) - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid480.tree) + root_0 = self._adaptor.nil() + # 1035:9: -> ^( ALL ) + # sdl92.g:1035:17: ^( ALL ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_ALL.nextNode() + , root_1) + self._adaptor.addChild(root_0, root_1) - else: - break #loop206 - DECISION481 = self.match(self.input, DECISION, self.FOLLOW_DECISION_in_decision11181) - if self._state.backtracking == 0: - stream_DECISION.add(DECISION481) + retval.tree = root_0 - self._state.following.append(self.FOLLOW_question_in_decision11183) - question482 = self.question() - self._state.following.pop() - if self._state.backtracking == 0: - stream_question.add(question482.tree) - self._state.following.append(self.FOLLOW_end_in_decision11187) - e = self.end() + elif alt167 == 2: + # sdl92.g:1036:19: via_path + pass + self._state.following.append(self.FOLLOW_via_path_in_viabody11147) + via_path477 = self.via_path() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(e.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_via_path.add(via_path477.tree) - # sdl92.g:982:17: ( answer_part )? - alt207 = 2 - LA207_0 = self.input.LA(1) + # AST Rewrite + # elements: via_path + # 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) - if (LA207_0 == 254) : - LA207_1 = self.input.LA(2) - if (self.synpred250_sdl92()) : - alt207 = 1 - elif (LA207_0 == L_PAREN) : - LA207_2 = self.input.LA(2) + root_0 = self._adaptor.nil() + # 1037:9: -> ^( VIAPATH via_path ) + # sdl92.g:1037:17: ^( VIAPATH via_path ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(VIAPATH, "VIAPATH") + , root_1) - if (self.synpred250_sdl92()) : - alt207 = 1 - if alt207 == 1: - # sdl92.g:982:17: answer_part - pass - self._state.following.append(self.FOLLOW_answer_part_in_decision11205) - answer_part483 = self.answer_part() + self._adaptor.addChild(root_1, stream_via_path.nextTree()) - self._state.following.pop() - if self._state.backtracking == 0: - stream_answer_part.add(answer_part483.tree) + self._adaptor.addChild(root_0, root_1) + retval.tree = root_0 - # sdl92.g:983:17: ( alternative_part )? - alt208 = 2 - LA208_0 = self.input.LA(1) - if (LA208_0 in {ELSE, L_PAREN, 254}) : - alt208 = 1 - if alt208 == 1: - # sdl92.g:983:17: alternative_part - pass - self._state.following.append(self.FOLLOW_alternative_part_in_decision11224) - alternative_part484 = self.alternative_part() - self._state.following.pop() - if self._state.backtracking == 0: - stream_alternative_part.add(alternative_part484.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) - ENDDECISION485 = self.match(self.input, ENDDECISION, self.FOLLOW_ENDDECISION_in_decision11243) - if self._state.backtracking == 0: - stream_ENDDECISION.add(ENDDECISION485) + success = True - self._state.following.append(self.FOLLOW_end_in_decision11247) - f = self.end() + 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) - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(f.tree) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 102, viabody_StartIndex, success) - # AST Rewrite - # elements: DECISION, cif, symbolid, hyperlink, requirement, rid, e, question, answer_part, alternative_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) + pass + return retval - if retval is not None: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) - else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + # $ANTLR end "viabody" - root_0 = self._adaptor.nil() - # 985:9: -> ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) - # sdl92.g:985:17: ^( DECISION ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( $e)? question ( answer_part )? ( alternative_part )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_DECISION.nextNode() - , root_1) + class destination_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - # sdl92.g:985:28: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + self.tree = None - stream_cif.reset(); - # sdl92.g:985:33: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - stream_symbolid.reset(); + # $ANTLR start "destination" + # sdl92.g:1041:1: destination : ( pid_expression | process_id | THIS ); + def destination(self, ): + retval = self.destination_return() + retval.start = self.input.LT(1) - # sdl92.g:985:43: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + destination_StartIndex = self.input.index() + root_0 = None - stream_hyperlink.reset(); + THIS480 = None + pid_expression478 = None + process_id479 = None - # sdl92.g:985:54: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + THIS480_tree = None + success = False - stream_requirement.reset(); + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 103): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1042:9: ( pid_expression | process_id | THIS ) + alt168 = 3 + LA168 = self.input.LA(1) + if LA168 in {O, P, S}: + alt168 = 1 + elif LA168 in {ID}: + alt168 = 2 + elif LA168 in {THIS}: + alt168 = 3 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # sdl92.g:985:67: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + nvae = NoViableAltException("", 168, 0, self.input) - stream_rid.reset(); + raise nvae - # sdl92.g:985:73: ( $e)? - if stream_e.hasNext(): - self._adaptor.addChild(root_1, stream_e.nextTree()) + if alt168 == 1: + # sdl92.g:1042:17: pid_expression + pass + root_0 = self._adaptor.nil() - stream_e.reset(); - self._adaptor.addChild(root_1, stream_question.nextTree()) + self._state.following.append(self.FOLLOW_pid_expression_in_destination11200) + pid_expression478 = self.pid_expression() - # sdl92.g:986:17: ( answer_part )? - if stream_answer_part.hasNext(): - self._adaptor.addChild(root_1, stream_answer_part.nextTree()) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, pid_expression478.tree) - stream_answer_part.reset(); - # sdl92.g:986:30: ( alternative_part )? - if stream_alternative_part.hasNext(): - self._adaptor.addChild(root_1, stream_alternative_part.nextTree()) + elif alt168 == 2: + # sdl92.g:1043:19: process_id + pass + root_0 = self._adaptor.nil() - stream_alternative_part.reset(); + self._state.following.append(self.FOLLOW_process_id_in_destination11220) + process_id479 = self.process_id() - self._adaptor.addChild(root_0, root_1) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, process_id479.tree) + elif alt168 == 3: + # sdl92.g:1044:19: THIS + pass + root_0 = self._adaptor.nil() - retval.tree = root_0 + THIS480 = self.match(self.input, THIS, self.FOLLOW_THIS_in_destination11240) + if self._state.backtracking == 0: + THIS480_tree = self._adaptor.createWithPayload(THIS480) + self._adaptor.addChild(root_0, THIS480_tree) @@ -20041,19 +19971,25 @@ def decision(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 103, destination_StartIndex, success) + + pass return retval - # $ANTLR end "decision" + # $ANTLR end "destination" - class answer_part_return(ParserRuleReturnScope): + class via_path_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -20063,234 +19999,309 @@ def __init__(self): - # $ANTLR start "answer_part" - # sdl92.g:990:1: answer_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) ; - def answer_part(self, ): - retval = self.answer_part_return() + # $ANTLR start "via_path" + # sdl92.g:1048:1: via_path : via_path_element ( ',' via_path_element )* -> ( via_path_element )+ ; + def via_path(self, ): + retval = self.via_path_return() retval.start = self.input.LT(1) + via_path_StartIndex = self.input.index() root_0 = None - L_PAREN491 = None - R_PAREN493 = None - char_literal494 = None - cif486 = None - symbolid487 = None - hyperlink488 = None - requirement489 = None - rid490 = None - answer492 = None - transition495 = None - - L_PAREN491_tree = None - R_PAREN493_tree = None - char_literal494_tree = None - stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") - stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") - stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_answer = RewriteRuleSubtreeStream(self._adaptor, "rule answer") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + char_literal482 = None + via_path_element481 = None + via_path_element483 = None + + char_literal482_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_via_path_element = RewriteRuleSubtreeStream(self._adaptor, "rule via_path_element") + success = False + try: try: - # sdl92.g:991:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) ) - # sdl92.g:991:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* L_PAREN answer R_PAREN ':' ( transition )? - pass - # sdl92.g:991:17: ( cif )? - alt209 = 2 - LA209_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 104): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA209_0 == 254) : - LA209_1 = self.input.LA(2) - if (LA209_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt209 = 1 - if alt209 == 1: - # sdl92.g:991:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_answer_part11341) - cif486 = self.cif() + # sdl92.g:1049:9: ( via_path_element ( ',' via_path_element )* -> ( via_path_element )+ ) + # sdl92.g:1049:17: via_path_element ( ',' via_path_element )* + pass + self._state.following.append(self.FOLLOW_via_path_element_in_via_path11272) + via_path_element481 = self.via_path_element() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif486.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_via_path_element.add(via_path_element481.tree) + # sdl92.g:1049:34: ( ',' via_path_element )* + while True: #loop169 + alt169 = 2 + LA169_0 = self.input.LA(1) + if (LA169_0 == COMMA) : + alt169 = 1 - # sdl92.g:992:17: ( symbolid )? - alt210 = 2 - LA210_0 = self.input.LA(1) + if alt169 == 1: + # sdl92.g:1049:35: ',' via_path_element + pass + char_literal482 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_via_path11275) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal482) - if (LA210_0 == 254) : - LA210_1 = self.input.LA(2) - if (LA210_1 == 256) : - alt210 = 1 - if alt210 == 1: - # sdl92.g:992:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_answer_part11360) - symbolid487 = self.symbolid() + self._state.following.append(self.FOLLOW_via_path_element_in_via_path11277) + via_path_element483 = self.via_path_element() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid487.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_via_path_element.add(via_path_element483.tree) + else: + break #loop169 - # sdl92.g:993:17: ( hyperlink )? - alt211 = 2 - LA211_0 = self.input.LA(1) + # AST Rewrite + # elements: via_path_element + # 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) - if (LA211_0 == 254) : - LA211_1 = self.input.LA(2) - if (LA211_1 == KEEP) : - LA211_3 = self.input.LA(3) + root_0 = self._adaptor.nil() + # 1050:9: -> ( via_path_element )+ + # sdl92.g:1050:17: ( via_path_element )+ + if not (stream_via_path_element.hasNext()): + raise RewriteEarlyExitException() - if (LA211_3 == SPECIFIC) : - LA211_4 = self.input.LA(4) + while stream_via_path_element.hasNext(): + self._adaptor.addChild(root_0, stream_via_path_element.nextTree()) - if (LA211_4 == GEODE) : - LA211_5 = self.input.LA(5) - if (LA211_5 == HYPERLINK) : - alt211 = 1 - if alt211 == 1: - # sdl92.g:993:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_answer_part11379) - hyperlink488 = self.hyperlink() + stream_via_path_element.reset() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink488.tree) + retval.tree = root_0 - # sdl92.g:994:17: ( requirement )* - while True: #loop212 - alt212 = 2 - LA212_0 = self.input.LA(1) - if (LA212_0 == 254) : - LA212_1 = self.input.LA(2) - if (LA212_1 == KEEP) : - LA212_3 = self.input.LA(3) - if (LA212_3 == SPECIFIC) : - LA212_4 = self.input.LA(4) + retval.stop = self.input.LT(-1) - if (LA212_4 == GEODE) : - LA212_5 = self.input.LA(5) - if (LA212_5 == REQ_ID) : - alt212 = 1 + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 104, via_path_StartIndex, success) + pass + return retval + # $ANTLR end "via_path" - if alt212 == 1: - # sdl92.g:994:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_answer_part11398) - requirement489 = self.requirement() + class via_path_element_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement489.tree) + self.tree = None - else: - break #loop212 - # sdl92.g:995:17: ( rid )* - while True: #loop213 - alt213 = 2 - LA213_0 = self.input.LA(1) + # $ANTLR start "via_path_element" + # sdl92.g:1054:1: via_path_element : ID ; + def via_path_element(self, ): + retval = self.via_path_element_return() + retval.start = self.input.LT(1) - if (LA213_0 == 254) : - alt213 = 1 + via_path_element_StartIndex = self.input.index() + root_0 = None - if alt213 == 1: - # sdl92.g:995:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_answer_part11417) - rid490 = self.rid() + ID484 = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid490.tree) + ID484_tree = None + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 105): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - else: - break #loop213 + + # sdl92.g:1055:9: ( ID ) + # sdl92.g:1055:17: ID + pass + root_0 = self._adaptor.nil() - L_PAREN491 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_answer_part11436) + ID484 = self.match(self.input, ID, self.FOLLOW_ID_in_via_path_element11329) if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN491) + ID484_tree = self._adaptor.createWithPayload(ID484) + self._adaptor.addChild(root_0, ID484_tree) - self._state.following.append(self.FOLLOW_answer_in_answer_part11438) - answer492 = self.answer() - self._state.following.pop() + + + retval.stop = self.input.LT(-1) + + if self._state.backtracking == 0: - stream_answer.add(answer492.tree) + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + + + + success = True + + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 105, via_path_element_StartIndex, success) + + + pass + return retval + + # $ANTLR end "via_path_element" + + + class actual_parameters_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + + self.tree = None + + + + + + # $ANTLR start "actual_parameters" + # sdl92.g:1059:1: actual_parameters : '(' expression ( ',' expression )* ')' -> ^( PARAMS ( expression )+ ) ; + def actual_parameters(self, ): + retval = self.actual_parameters_return() + retval.start = self.input.LT(1) + + actual_parameters_StartIndex = self.input.index() + + root_0 = None + + char_literal485 = None + char_literal487 = None + char_literal489 = None + expression486 = None + expression488 = None + + char_literal485_tree = None + char_literal487_tree = None + char_literal489_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_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 106): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - R_PAREN493 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_answer_part11440) + # sdl92.g:1060:9: ( '(' expression ( ',' expression )* ')' -> ^( PARAMS ( expression )+ ) ) + # sdl92.g:1060:16: '(' expression ( ',' expression )* ')' + pass + char_literal485 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_actual_parameters11361) if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN493) + stream_L_PAREN.add(char_literal485) - char_literal494 = self.match(self.input, 255, self.FOLLOW_255_in_answer_part11442) + self._state.following.append(self.FOLLOW_expression_in_actual_parameters11363) + expression486 = self.expression() + + self._state.following.pop() if self._state.backtracking == 0: - stream_255.add(char_literal494) + stream_expression.add(expression486.tree) - # sdl92.g:996:44: ( transition )? - alt214 = 2 - alt214 = self.dfa214.predict(self.input) - if alt214 == 1: - # sdl92.g:996:44: transition - pass - self._state.following.append(self.FOLLOW_transition_in_answer_part11444) - transition495 = self.transition() + # sdl92.g:1060:31: ( ',' expression )* + while True: #loop170 + alt170 = 2 + LA170_0 = self.input.LA(1) + + if (LA170_0 == COMMA) : + alt170 = 1 + + + if alt170 == 1: + # sdl92.g:1060:32: ',' expression + pass + char_literal487 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_actual_parameters11366) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal487) + + + self._state.following.append(self.FOLLOW_expression_in_actual_parameters11368) + expression488 = self.expression() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression488.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_transition.add(transition495.tree) + else: + break #loop170 + char_literal489 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_actual_parameters11372) + if self._state.backtracking == 0: + stream_R_PAREN.add(char_literal489) + # AST Rewrite - # elements: cif, symbolid, hyperlink, requirement, rid, answer, transition + # elements: expression # token labels: # rule labels: retval # token list labels: @@ -20305,56 +20316,22 @@ def answer_part(self, ): root_0 = self._adaptor.nil() - # 997:9: -> ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) - # sdl92.g:997:17: ^( ANSWER ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* answer ( transition )? ) + # 1061:9: -> ^( PARAMS ( expression )+ ) + # sdl92.g:1061:16: ^( PARAMS ( expression )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(ANSWER, "ANSWER") + self._adaptor.createFromType(PARAMS, "PARAMS") , root_1) - # sdl92.g:997:26: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) - - - stream_cif.reset(); - - # sdl92.g:997:31: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:997:41: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - - - stream_hyperlink.reset(); - - # sdl92.g:997:52: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); - - # sdl92.g:997:65: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - - - stream_rid.reset(); - - self._adaptor.addChild(root_1, stream_answer.nextTree()) + # sdl92.g:1061:25: ( expression )+ + if not (stream_expression.hasNext()): + raise RewriteEarlyExitException() - # sdl92.g:997:77: ( transition )? - if stream_transition.hasNext(): - self._adaptor.addChild(root_1, stream_transition.nextTree()) + while stream_expression.hasNext(): + self._adaptor.addChild(root_1, stream_expression.nextTree()) - stream_transition.reset(); + stream_expression.reset() self._adaptor.addChild(root_0, root_1) @@ -20376,19 +20353,25 @@ def answer_part(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 106, actual_parameters_StartIndex, success) + + pass return retval - # $ANTLR end "answer_part" + # $ANTLR end "actual_parameters" - class answer_return(ParserRuleReturnScope): + class task_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -20398,328 +20381,99 @@ def __init__(self): - # $ANTLR start "answer" - # sdl92.g:1001:1: answer : ( range_condition | informal_text ); - def answer(self, ): - retval = self.answer_return() + # $ANTLR start "task" + # sdl92.g:1065:1: task : ( cif )* TASK ( task_body )? end -> ^( TASK ( cif )* ( end )? ( task_body )? ) ; + def task(self, ): + retval = self.task_return() retval.start = self.input.LT(1) + task_StartIndex = self.input.index() root_0 = None - range_condition496 = None - informal_text497 = None + TASK491 = None + cif490 = None + task_body492 = None + end493 = None + TASK491_tree = None + stream_TASK = RewriteRuleTokenStream(self._adaptor, "token TASK") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_task_body = RewriteRuleSubtreeStream(self._adaptor, "rule task_body") + success = False try: try: - # sdl92.g:1002:9: ( range_condition | informal_text ) - alt215 = 2 - LA215_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 107): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA215_0 in {CALL, DASH, EQ, FALSE, FLOAT, GE, GT, ID, IF, INPUT, INT, LE, LT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NEQ, NOT, OUTPUT, PLUS_INFINITY, STATE, TRUE, UNHANDLED}) : - alt215 = 1 - elif (LA215_0 == STRING) : - LA215_2 = self.input.LA(2) - - if (self.synpred258_sdl92()) : - alt215 = 1 - elif (True) : - alt215 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 215, 2, self.input) - - raise nvae + # sdl92.g:1066:9: ( ( cif )* TASK ( task_body )? end -> ^( TASK ( cif )* ( end )? ( task_body )? ) ) + # sdl92.g:1066:17: ( cif )* TASK ( task_body )? end + pass + # sdl92.g:1066:17: ( cif )* + while True: #loop171 + alt171 = 2 + LA171_0 = self.input.LA(1) - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if (LA171_0 == 254) : + alt171 = 1 - nvae = NoViableAltException("", 215, 0, self.input) + if alt171 == 1: + # sdl92.g:1066:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_task11425) + cif490 = self.cif() - raise nvae + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif490.tree) - if alt215 == 1: - # sdl92.g:1002:17: range_condition - pass - root_0 = self._adaptor.nil() + else: + break #loop171 - self._state.following.append(self.FOLLOW_range_condition_in_answer11516) - range_condition496 = self.range_condition() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, range_condition496.tree) + TASK491 = self.match(self.input, TASK, self.FOLLOW_TASK_in_task11444) + if self._state.backtracking == 0: + stream_TASK.add(TASK491) + # sdl92.g:1067:22: ( task_body )? + alt172 = 2 + LA172_0 = self.input.LA(1) - elif alt215 == 2: - # sdl92.g:1003:19: informal_text + if (LA172_0 in {FOR, ID, STRING}) : + alt172 = 1 + if alt172 == 1: + # sdl92.g:1067:22: task_body pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_informal_text_in_answer11536) - informal_text497 = self.informal_text() + self._state.following.append(self.FOLLOW_task_body_in_task11446) + task_body492 = self.task_body() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, informal_text497.tree) + stream_task_body.add(task_body492.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 "answer" - - - class else_part_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - - self.tree = None - - - - - - # $ANTLR start "else_part" - # sdl92.g:1007:1: else_part : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) ; - def else_part(self, ): - retval = self.else_part_return() - retval.start = self.input.LT(1) - - - root_0 = None - - ELSE503 = None - char_literal504 = None - cif498 = None - symbolid499 = None - hyperlink500 = None - requirement501 = None - rid502 = None - transition505 = None - - ELSE503_tree = None - char_literal504_tree = None - stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") - stream_ELSE = RewriteRuleTokenStream(self._adaptor, "token ELSE") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") - try: - try: - # sdl92.g:1008:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) ) - # sdl92.g:1008:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ELSE ':' ( transition )? - pass - # sdl92.g:1008:17: ( cif )? - alt216 = 2 - LA216_0 = self.input.LA(1) - - if (LA216_0 == 254) : - LA216_1 = self.input.LA(2) - - if (LA216_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt216 = 1 - if alt216 == 1: - # sdl92.g:1008:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_else_part11568) - cif498 = self.cif() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif498.tree) - - - - - - # sdl92.g:1009:17: ( symbolid )? - alt217 = 2 - LA217_0 = self.input.LA(1) - - if (LA217_0 == 254) : - LA217_1 = self.input.LA(2) - - if (LA217_1 == 256) : - alt217 = 1 - if alt217 == 1: - # sdl92.g:1009:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_else_part11587) - symbolid499 = self.symbolid() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid499.tree) - - - - - - # sdl92.g:1010:17: ( hyperlink )? - alt218 = 2 - LA218_0 = self.input.LA(1) - - if (LA218_0 == 254) : - LA218_1 = self.input.LA(2) - - if (LA218_1 == KEEP) : - LA218_3 = self.input.LA(3) - - if (LA218_3 == SPECIFIC) : - LA218_4 = self.input.LA(4) - - if (LA218_4 == GEODE) : - LA218_5 = self.input.LA(5) - - if (LA218_5 == HYPERLINK) : - alt218 = 1 - if alt218 == 1: - # sdl92.g:1010:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_else_part11606) - hyperlink500 = self.hyperlink() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink500.tree) - - - - - - # sdl92.g:1011:17: ( requirement )* - while True: #loop219 - alt219 = 2 - LA219_0 = self.input.LA(1) - - if (LA219_0 == 254) : - LA219_1 = self.input.LA(2) - - if (LA219_1 == KEEP) : - LA219_3 = self.input.LA(3) - - if (LA219_3 == SPECIFIC) : - LA219_4 = self.input.LA(4) - - if (LA219_4 == GEODE) : - LA219_5 = self.input.LA(5) - - if (LA219_5 == REQ_ID) : - alt219 = 1 - - - - - - - - - - - if alt219 == 1: - # sdl92.g:1011:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_else_part11625) - requirement501 = self.requirement() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement501.tree) - - - - else: - break #loop219 - - - # sdl92.g:1012:17: ( rid )* - while True: #loop220 - alt220 = 2 - LA220_0 = self.input.LA(1) - - if (LA220_0 == 254) : - alt220 = 1 - - - if alt220 == 1: - # sdl92.g:1012:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_else_part11644) - rid502 = self.rid() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid502.tree) - - - - else: - break #loop220 - - - ELSE503 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_else_part11663) - if self._state.backtracking == 0: - stream_ELSE.add(ELSE503) - - - char_literal504 = self.match(self.input, 255, self.FOLLOW_255_in_else_part11665) - if self._state.backtracking == 0: - stream_255.add(char_literal504) - - - # sdl92.g:1013:26: ( transition )? - alt221 = 2 - LA221_0 = self.input.LA(1) - - if (LA221_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK, 254}) : - alt221 = 1 - if alt221 == 1: - # sdl92.g:1013:26: transition - pass - self._state.following.append(self.FOLLOW_transition_in_else_part11667) - transition505 = self.transition() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_transition.add(transition505.tree) + self._state.following.append(self.FOLLOW_end_in_task11449) + end493 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end493.tree) # AST Rewrite - # elements: ELSE, cif, symbolid, hyperlink, requirement, rid, transition + # elements: TASK, cif, end, task_body # token labels: # rule labels: retval # token list labels: @@ -20734,54 +20488,33 @@ def else_part(self, ): root_0 = self._adaptor.nil() - # 1014:9: -> ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) - # sdl92.g:1014:17: ^( ELSE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( transition )? ) + # 1068:9: -> ^( TASK ( cif )* ( end )? ( task_body )? ) + # sdl92.g:1068:17: ^( TASK ( cif )* ( end )? ( task_body )? ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_ELSE.nextNode() + stream_TASK.nextNode() , root_1) - # sdl92.g:1014:24: ( cif )? - if stream_cif.hasNext(): + # sdl92.g:1068:24: ( cif )* + while stream_cif.hasNext(): self._adaptor.addChild(root_1, stream_cif.nextTree()) stream_cif.reset(); - # sdl92.g:1014:29: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:1014:39: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - - - stream_hyperlink.reset(); - - # sdl92.g:1014:50: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); - - # sdl92.g:1014:63: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + # sdl92.g:1068:29: ( end )? + if stream_end.hasNext(): + self._adaptor.addChild(root_1, stream_end.nextTree()) - stream_rid.reset(); + stream_end.reset(); - # sdl92.g:1014:68: ( transition )? - if stream_transition.hasNext(): - self._adaptor.addChild(root_1, stream_transition.nextTree()) + # sdl92.g:1068:34: ( task_body )? + if stream_task_body.hasNext(): + self._adaptor.addChild(root_1, stream_task_body.nextTree()) - stream_transition.reset(); + stream_task_body.reset(); self._adaptor.addChild(root_0, root_1) @@ -20803,19 +20536,25 @@ def else_part(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 107, task_StartIndex, success) + + pass return retval - # $ANTLR end "else_part" + # $ANTLR end "task" - class question_return(ParserRuleReturnScope): + class task_body_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -20825,86 +20564,111 @@ def __init__(self): - # $ANTLR start "question" - # sdl92.g:1018:1: question : ( informal_text | expression -> ^( QUESTION expression ) | ANY -> ^( ANY ) ); - def question(self, ): - retval = self.question_return() + # $ANTLR start "task_body" + # sdl92.g:1072:1: task_body : ( ( assignment_statement ( ',' assignment_statement )* ) -> ^( TASK_BODY ( assignment_statement )+ ) | ( informal_text ( ',' informal_text )* ) -> ^( TASK_BODY ( informal_text )+ ) | ( forloop ( ',' forloop )* ) -> ^( TASK_BODY ( forloop )+ ) ); + def task_body(self, ): + retval = self.task_body_return() retval.start = self.input.LT(1) + task_body_StartIndex = self.input.index() root_0 = None - ANY508 = None - informal_text506 = None - expression507 = None + char_literal495 = None + char_literal498 = None + char_literal501 = None + assignment_statement494 = None + assignment_statement496 = None + informal_text497 = None + informal_text499 = None + forloop500 = None + forloop502 = None + + char_literal495_tree = None + char_literal498_tree = None + char_literal501_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_forloop = RewriteRuleSubtreeStream(self._adaptor, "rule forloop") + stream_informal_text = RewriteRuleSubtreeStream(self._adaptor, "rule informal_text") + stream_assignment_statement = RewriteRuleSubtreeStream(self._adaptor, "rule assignment_statement") + success = False - ANY508_tree = None - stream_ANY = RewriteRuleTokenStream(self._adaptor, "token ANY") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1019:9: ( informal_text | expression -> ^( QUESTION expression ) | ANY -> ^( ANY ) ) - alt222 = 3 - LA222 = self.input.LA(1) - if LA222 in {STRING}: - LA222_1 = self.input.LA(2) - - if (self.synpred265_sdl92()) : - alt222 = 1 - elif (self.synpred266_sdl92()) : - alt222 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 108): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 222, 1, self.input) - raise nvae - - - elif LA222 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, TRUE, UNHANDLED}: - alt222 = 2 - elif LA222 in {ANY}: - alt222 = 3 + # sdl92.g:1073:9: ( ( assignment_statement ( ',' assignment_statement )* ) -> ^( TASK_BODY ( assignment_statement )+ ) | ( informal_text ( ',' informal_text )* ) -> ^( TASK_BODY ( informal_text )+ ) | ( forloop ( ',' forloop )* ) -> ^( TASK_BODY ( forloop )+ ) ) + alt176 = 3 + LA176 = self.input.LA(1) + if LA176 in {ID}: + alt176 = 1 + elif LA176 in {STRING}: + alt176 = 2 + elif LA176 in {FOR}: + alt176 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 222, 0, self.input) + nvae = NoViableAltException("", 176, 0, self.input) raise nvae - if alt222 == 1: - # sdl92.g:1019:17: informal_text + if alt176 == 1: + # sdl92.g:1073:17: ( assignment_statement ( ',' assignment_statement )* ) pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_informal_text_in_question11737) - informal_text506 = self.informal_text() + # sdl92.g:1073:17: ( assignment_statement ( ',' assignment_statement )* ) + # sdl92.g:1073:18: assignment_statement ( ',' assignment_statement )* + pass + self._state.following.append(self.FOLLOW_assignment_statement_in_task_body11510) + assignment_statement494 = self.assignment_statement() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, informal_text506.tree) + stream_assignment_statement.add(assignment_statement494.tree) + # sdl92.g:1073:39: ( ',' assignment_statement )* + while True: #loop173 + alt173 = 2 + LA173_0 = self.input.LA(1) + + if (LA173_0 == COMMA) : + alt173 = 1 + + + if alt173 == 1: + # sdl92.g:1073:40: ',' assignment_statement + pass + char_literal495 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body11513) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal495) + + + self._state.following.append(self.FOLLOW_assignment_statement_in_task_body11515) + assignment_statement496 = self.assignment_statement() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_assignment_statement.add(assignment_statement496.tree) + + + + else: + break #loop173 + - elif alt222 == 2: - # sdl92.g:1020:19: expression - pass - self._state.following.append(self.FOLLOW_expression_in_question11757) - expression507 = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression507.tree) # AST Rewrite - # elements: expression + # elements: assignment_statement # token labels: # rule labels: retval # token list labels: @@ -20919,14 +20683,22 @@ def question(self, ): root_0 = self._adaptor.nil() - # 1021:9: -> ^( QUESTION expression ) - # sdl92.g:1021:17: ^( QUESTION expression ) + # 1074:9: -> ^( TASK_BODY ( assignment_statement )+ ) + # sdl92.g:1074:17: ^( TASK_BODY ( assignment_statement )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(QUESTION, "QUESTION") + self._adaptor.createFromType(TASK_BODY, "TASK_BODY") , root_1) - self._adaptor.addChild(root_1, stream_expression.nextTree()) + # sdl92.g:1074:29: ( assignment_statement )+ + if not (stream_assignment_statement.hasNext()): + raise RewriteEarlyExitException() + + while stream_assignment_statement.hasNext(): + self._adaptor.addChild(root_1, stream_assignment_statement.nextTree()) + + + stream_assignment_statement.reset() self._adaptor.addChild(root_0, root_1) @@ -20938,16 +20710,55 @@ def question(self, ): - elif alt222 == 3: - # sdl92.g:1022:19: ANY + elif alt176 == 2: + # sdl92.g:1075:19: ( informal_text ( ',' informal_text )* ) pass - ANY508 = self.match(self.input, ANY, self.FOLLOW_ANY_in_question11798) + # sdl92.g:1075:19: ( informal_text ( ',' informal_text )* ) + # sdl92.g:1075:20: informal_text ( ',' informal_text )* + pass + self._state.following.append(self.FOLLOW_informal_text_in_task_body11561) + informal_text497 = self.informal_text() + + self._state.following.pop() if self._state.backtracking == 0: - stream_ANY.add(ANY508) + stream_informal_text.add(informal_text497.tree) + + + # sdl92.g:1075:34: ( ',' informal_text )* + while True: #loop174 + alt174 = 2 + LA174_0 = self.input.LA(1) + + if (LA174_0 == COMMA) : + alt174 = 1 + + + if alt174 == 1: + # sdl92.g:1075:35: ',' informal_text + pass + char_literal498 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body11564) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal498) + + + self._state.following.append(self.FOLLOW_informal_text_in_task_body11566) + informal_text499 = self.informal_text() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_informal_text.add(informal_text499.tree) + + + + else: + break #loop174 + + + # AST Rewrite - # elements: ANY + # elements: informal_text # token labels: # rule labels: retval # token list labels: @@ -20962,829 +20773,850 @@ def question(self, ): root_0 = self._adaptor.nil() - # 1023:9: -> ^( ANY ) - # sdl92.g:1023:17: ^( ANY ) + # 1076:9: -> ^( TASK_BODY ( informal_text )+ ) + # sdl92.g:1076:17: ^( TASK_BODY ( informal_text )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_ANY.nextNode() + self._adaptor.createFromType(TASK_BODY, "TASK_BODY") , root_1) - self._adaptor.addChild(root_0, root_1) - + # sdl92.g:1076:29: ( informal_text )+ + if not (stream_informal_text.hasNext()): + raise RewriteEarlyExitException() + while stream_informal_text.hasNext(): + self._adaptor.addChild(root_1, stream_informal_text.nextTree()) - retval.tree = root_0 + stream_informal_text.reset() + self._adaptor.addChild(root_0, root_1) - retval.stop = self.input.LT(-1) + retval.tree = root_0 - 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) + elif alt176 == 3: + # sdl92.g:1077:19: ( forloop ( ',' forloop )* ) + pass + # sdl92.g:1077:19: ( forloop ( ',' forloop )* ) + # sdl92.g:1077:20: forloop ( ',' forloop )* + pass + self._state.following.append(self.FOLLOW_forloop_in_task_body11612) + forloop500 = self.forloop() - finally: - pass - return retval + self._state.following.pop() + if self._state.backtracking == 0: + stream_forloop.add(forloop500.tree) - # $ANTLR end "question" + # sdl92.g:1077:28: ( ',' forloop )* + while True: #loop175 + alt175 = 2 + LA175_0 = self.input.LA(1) - class range_condition_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + if (LA175_0 == COMMA) : + alt175 = 1 - self.tree = None + if alt175 == 1: + # sdl92.g:1077:29: ',' forloop + pass + char_literal501 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body11615) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal501) + self._state.following.append(self.FOLLOW_forloop_in_task_body11617) + forloop502 = self.forloop() + self._state.following.pop() + if self._state.backtracking == 0: + stream_forloop.add(forloop502.tree) - # $ANTLR start "range_condition" - # sdl92.g:1027:1: range_condition : ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* ; - def range_condition(self, ): - retval = self.range_condition_return() - retval.start = self.input.LT(1) - root_0 = None + else: + break #loop175 - char_literal511 = None - closed_range509 = None - open_range510 = None - closed_range512 = None - open_range513 = None - char_literal511_tree = None - try: - try: - # sdl92.g:1028:9: ( ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* ) - # sdl92.g:1028:17: ( closed_range | open_range ) ( ',' ! ( closed_range | open_range ) )* - pass - root_0 = self._adaptor.nil() - # sdl92.g:1028:17: ( closed_range | open_range ) - alt223 = 2 - LA223 = self.input.LA(1) - if LA223 in {ID}: - LA223_1 = self.input.LA(2) + # AST Rewrite + # elements: forloop + # 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) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + root_0 = self._adaptor.nil() + # 1078:9: -> ^( TASK_BODY ( forloop )+ ) + # sdl92.g:1078:17: ^( TASK_BODY ( forloop )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(TASK_BODY, "TASK_BODY") + , root_1) - nvae = NoViableAltException("", 223, 1, self.input) + # sdl92.g:1078:29: ( forloop )+ + if not (stream_forloop.hasNext()): + raise RewriteEarlyExitException() - raise nvae + while stream_forloop.hasNext(): + self._adaptor.addChild(root_1, stream_forloop.nextTree()) - elif LA223 in {TRUE}: - LA223_2 = self.input.LA(2) + stream_forloop.reset() - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._adaptor.addChild(root_0, root_1) - nvae = NoViableAltException("", 223, 2, self.input) - raise nvae + retval.tree = root_0 - elif LA223 in {FALSE}: - LA223_3 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 223, 3, self.input) + retval.stop = self.input.LT(-1) - raise nvae + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - elif LA223 in {STRING}: - LA223_4 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + success = True - nvae = NoViableAltException("", 223, 4, self.input) + 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) - raise nvae + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 108, task_body_StartIndex, success) - elif LA223 in {PLUS_INFINITY}: - LA223_5 = self.input.LA(2) + pass + return retval - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # $ANTLR end "task_body" - nvae = NoViableAltException("", 223, 5, self.input) + class forloop_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - raise nvae + self.tree = None - elif LA223 in {MINUS_INFINITY}: - LA223_6 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 223, 6, self.input) + # $ANTLR start "forloop" + # sdl92.g:1083:1: forloop : FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) ; + def forloop(self, ): + retval = self.forloop_return() + retval.start = self.input.LT(1) - raise nvae + forloop_StartIndex = self.input.index() + root_0 = None - elif LA223 in {INT}: - LA223_7 = self.input.LA(2) + FOR503 = None + IN505 = None + char_literal508 = None + ENDFOR510 = None + variable_id504 = None + range506 = None + variable507 = None + transition509 = None + + FOR503_tree = None + IN505_tree = None + char_literal508_tree = None + ENDFOR510_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") + stream_IN = RewriteRuleTokenStream(self._adaptor, "token IN") + stream_ENDFOR = RewriteRuleTokenStream(self._adaptor, "token ENDFOR") + stream_FOR = RewriteRuleTokenStream(self._adaptor, "token FOR") + stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") + stream_variable = RewriteRuleSubtreeStream(self._adaptor, "rule variable") + stream_range = RewriteRuleSubtreeStream(self._adaptor, "rule range") + stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + success = False - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 109): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 223, 7, self.input) + # sdl92.g:1084:9: ( FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) ) + # sdl92.g:1084:17: FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR + pass + FOR503 = self.match(self.input, FOR, self.FOLLOW_FOR_in_forloop11675) + if self._state.backtracking == 0: + stream_FOR.add(FOR503) - raise nvae + self._state.following.append(self.FOLLOW_variable_id_in_forloop11677) + variable_id504 = self.variable_id() - elif LA223 in {FLOAT}: - LA223_8 = self.input.LA(2) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable_id.add(variable_id504.tree) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + IN505 = self.match(self.input, IN, self.FOLLOW_IN_in_forloop11679) + if self._state.backtracking == 0: + stream_IN.add(IN505) - nvae = NoViableAltException("", 223, 8, self.input) - raise nvae + # sdl92.g:1084:36: ( range | variable ) + alt177 = 2 + LA177_0 = self.input.LA(1) + if (LA177_0 == RANGE) : + alt177 = 1 + elif (LA177_0 == ID) : + alt177 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - elif LA223 in {L_BRACKET}: - LA223_9 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + nvae = NoViableAltException("", 177, 0, self.input) + raise nvae - nvae = NoViableAltException("", 223, 9, self.input) - raise nvae + if alt177 == 1: + # sdl92.g:1084:37: range + pass + self._state.following.append(self.FOLLOW_range_in_forloop11682) + range506 = self.range() + self._state.following.pop() + if self._state.backtracking == 0: + stream_range.add(range506.tree) - elif LA223 in {MKSTRING}: - LA223_10 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + elif alt177 == 2: + # sdl92.g:1084:45: variable + pass + self._state.following.append(self.FOLLOW_variable_in_forloop11686) + variable507 = self.variable() - nvae = NoViableAltException("", 223, 10, self.input) + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable.add(variable507.tree) - raise nvae - elif LA223 in {STATE}: - LA223_11 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + char_literal508 = self.match(self.input, 255, self.FOLLOW_255_in_forloop11689) + if self._state.backtracking == 0: + stream_255.add(char_literal508) - nvae = NoViableAltException("", 223, 11, self.input) - raise nvae + # sdl92.g:1085:17: ( transition )? + alt178 = 2 + LA178_0 = self.input.LA(1) + if (LA178_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK, 254}) : + alt178 = 1 + if alt178 == 1: + # sdl92.g:1085:17: transition + pass + self._state.following.append(self.FOLLOW_transition_in_forloop11707) + transition509 = self.transition() - elif LA223 in {L_PAREN}: - LA223_12 = self.input.LA(2) + self._state.following.pop() + if self._state.backtracking == 0: + stream_transition.add(transition509.tree) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 223, 12, self.input) - raise nvae + ENDFOR510 = self.match(self.input, ENDFOR, self.FOLLOW_ENDFOR_in_forloop11726) + if self._state.backtracking == 0: + stream_ENDFOR.add(ENDFOR510) - elif LA223 in {IF}: - LA223_13 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 + # AST Rewrite + # elements: FOR, variable_id, variable, range, 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: - if self._state.backtracking > 0: - raise BacktrackingFailed + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - nvae = NoViableAltException("", 223, 13, self.input) + root_0 = self._adaptor.nil() + # 1087:9: -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) + # sdl92.g:1087:17: ^( FOR variable_id ( variable )? ( range )? ( transition )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_FOR.nextNode() + , root_1) - raise nvae + self._adaptor.addChild(root_1, stream_variable_id.nextTree()) + # sdl92.g:1087:35: ( variable )? + if stream_variable.hasNext(): + self._adaptor.addChild(root_1, stream_variable.nextTree()) - elif LA223 in {NOT}: - LA223_14 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + stream_variable.reset(); + # sdl92.g:1087:45: ( range )? + if stream_range.hasNext(): + self._adaptor.addChild(root_1, stream_range.nextTree()) - nvae = NoViableAltException("", 223, 14, self.input) - raise nvae + stream_range.reset(); + # sdl92.g:1087:52: ( transition )? + if stream_transition.hasNext(): + self._adaptor.addChild(root_1, stream_transition.nextTree()) - elif LA223 in {DASH}: - LA223_15 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + stream_transition.reset(); + self._adaptor.addChild(root_0, root_1) - nvae = NoViableAltException("", 223, 15, self.input) - raise nvae - elif LA223 in {CALL}: - LA223_16 = self.input.LA(2) + retval.tree = root_0 - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 223, 16, self.input) - raise nvae + retval.stop = self.input.LT(-1) - elif LA223 in {UNHANDLED}: - LA223_17 = self.input.LA(2) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - nvae = NoViableAltException("", 223, 17, self.input) - raise nvae + success = True + 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) - elif LA223 in {INPUT}: - LA223_18 = self.input.LA(2) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 109, forloop_StartIndex, success) - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + pass + return retval - nvae = NoViableAltException("", 223, 18, self.input) + # $ANTLR end "forloop" - raise nvae + class range_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - elif LA223 in {OUTPUT}: - LA223_19 = self.input.LA(2) + self.tree = None - if (self.synpred267_sdl92()) : - alt223 = 1 - elif (True) : - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 223, 19, self.input) - raise nvae + # $ANTLR start "range" + # sdl92.g:1089:1: range : RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN -> ^( RANGE $a ( $b)? ( $step)? ) ; + def range(self, ): + retval = self.range_return() + retval.start = self.input.LT(1) - elif LA223 in {EQ, GE, GT, LE, LT, NEQ}: - alt223 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + range_StartIndex = self.input.index() + root_0 = None - nvae = NoViableAltException("", 223, 0, self.input) + step = None + RANGE511 = None + L_PAREN512 = None + COMMA513 = None + COMMA514 = None + R_PAREN515 = None + a = None + b = None - raise nvae + step_tree = None + RANGE511_tree = None + L_PAREN512_tree = None + COMMA513_tree = None + COMMA514_tree = None + R_PAREN515_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") + stream_RANGE = RewriteRuleTokenStream(self._adaptor, "token RANGE") + stream_ground_expression = RewriteRuleSubtreeStream(self._adaptor, "rule ground_expression") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 110): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if alt223 == 1: - # sdl92.g:1028:18: closed_range - pass - self._state.following.append(self.FOLLOW_closed_range_in_range_condition11850) - closed_range509 = self.closed_range() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, closed_range509.tree) + # sdl92.g:1090:9: ( RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN -> ^( RANGE $a ( $b)? ( $step)? ) ) + # sdl92.g:1090:17: RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN + pass + RANGE511 = self.match(self.input, RANGE, self.FOLLOW_RANGE_in_range11778) + if self._state.backtracking == 0: + stream_RANGE.add(RANGE511) + L_PAREN512 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_range11796) + if self._state.backtracking == 0: + stream_L_PAREN.add(L_PAREN512) - elif alt223 == 2: - # sdl92.g:1028:33: open_range - pass - self._state.following.append(self.FOLLOW_open_range_in_range_condition11854) - open_range510 = self.open_range() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, open_range510.tree) + self._state.following.append(self.FOLLOW_ground_expression_in_range11800) + a = self.ground_expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_ground_expression.add(a.tree) + # sdl92.g:1092:17: ( COMMA b= ground_expression )? + alt179 = 2 + LA179_0 = self.input.LA(1) + if (LA179_0 == COMMA) : + LA179_1 = self.input.LA(2) - # sdl92.g:1029:17: ( ',' ! ( closed_range | open_range ) )* - while True: #loop225 - alt225 = 2 - LA225_0 = self.input.LA(1) + if (LA179_1 == INT) : + LA179_3 = self.input.LA(3) - if (LA225_0 == COMMA) : - LA225_1 = self.input.LA(2) + if (self.synpred229_sdl92()) : + alt179 = 1 + elif (LA179_1 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt179 = 1 + if alt179 == 1: + # sdl92.g:1092:18: COMMA b= ground_expression + pass + COMMA513 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range11819) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA513) - if (self.synpred269_sdl92()) : - alt225 = 1 + self._state.following.append(self.FOLLOW_ground_expression_in_range11823) + b = self.ground_expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_ground_expression.add(b.tree) - if alt225 == 1: - # sdl92.g:1029:18: ',' ! ( closed_range | open_range ) - pass - char_literal511 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range_condition11874) - # sdl92.g:1029:23: ( closed_range | open_range ) - alt224 = 2 - LA224 = self.input.LA(1) - if LA224 in {ID}: - LA224_1 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # sdl92.g:1092:46: ( COMMA step= INT )? + alt180 = 2 + LA180_0 = self.input.LA(1) - nvae = NoViableAltException("", 224, 1, self.input) + if (LA180_0 == COMMA) : + alt180 = 1 + if alt180 == 1: + # sdl92.g:1092:47: COMMA step= INT + pass + COMMA514 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range11828) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA514) - raise nvae + step = self.match(self.input, INT, self.FOLLOW_INT_in_range11832) + if self._state.backtracking == 0: + stream_INT.add(step) - elif LA224 in {TRUE}: - LA224_2 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 224, 2, self.input) - raise nvae + R_PAREN515 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_range11852) + if self._state.backtracking == 0: + stream_R_PAREN.add(R_PAREN515) - elif LA224 in {FALSE}: - LA224_3 = self.input.LA(2) + # AST Rewrite + # elements: RANGE, a, b, step + # token labels: step + # rule labels: a, b, retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + stream_step = RewriteRuleTokenStream(self._adaptor, "token step", step) + if a is not None: + stream_a = RewriteRuleSubtreeStream(self._adaptor, "rule a", a.tree) + else: + stream_a = RewriteRuleSubtreeStream(self._adaptor, "token a", None) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if b is not None: + stream_b = RewriteRuleSubtreeStream(self._adaptor, "rule b", b.tree) + else: + stream_b = RewriteRuleSubtreeStream(self._adaptor, "token b", None) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - nvae = NoViableAltException("", 224, 3, self.input) - raise nvae + root_0 = self._adaptor.nil() + # 1094:9: -> ^( RANGE $a ( $b)? ( $step)? ) + # sdl92.g:1094:17: ^( RANGE $a ( $b)? ( $step)? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_RANGE.nextNode() + , root_1) + self._adaptor.addChild(root_1, stream_a.nextTree()) - elif LA224 in {STRING}: - LA224_4 = self.input.LA(2) + # sdl92.g:1094:29: ( $b)? + if stream_b.hasNext(): + self._adaptor.addChild(root_1, stream_b.nextTree()) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + stream_b.reset(); - nvae = NoViableAltException("", 224, 4, self.input) + # sdl92.g:1094:33: ( $step)? + if stream_step.hasNext(): + self._adaptor.addChild(root_1, stream_step.nextNode()) - raise nvae + stream_step.reset(); - elif LA224 in {PLUS_INFINITY}: - LA224_5 = self.input.LA(2) + self._adaptor.addChild(root_0, root_1) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 224, 5, self.input) - raise nvae + retval.tree = root_0 - elif LA224 in {MINUS_INFINITY}: - LA224_6 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 224, 6, self.input) + retval.stop = self.input.LT(-1) - raise nvae + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - elif LA224 in {INT}: - LA224_7 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + success = True - nvae = NoViableAltException("", 224, 7, self.input) + 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) - raise nvae + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 110, range_StartIndex, success) - elif LA224 in {FLOAT}: - LA224_8 = self.input.LA(2) + pass + return retval - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # $ANTLR end "range" - nvae = NoViableAltException("", 224, 8, self.input) + class assignment_statement_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - raise nvae + self.tree = None - elif LA224 in {L_BRACKET}: - LA224_9 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 224, 9, self.input) + # $ANTLR start "assignment_statement" + # sdl92.g:1096:1: assignment_statement : variable ':=' expression -> ^( ASSIGN variable expression ) ; + def assignment_statement(self, ): + retval = self.assignment_statement_return() + retval.start = self.input.LT(1) - raise nvae + assignment_statement_StartIndex = self.input.index() + root_0 = None - elif LA224 in {MKSTRING}: - LA224_10 = self.input.LA(2) + string_literal517 = None + variable516 = None + expression518 = None - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + string_literal517_tree = None + stream_ASSIG_OP = RewriteRuleTokenStream(self._adaptor, "token ASSIG_OP") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_variable = RewriteRuleSubtreeStream(self._adaptor, "rule variable") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 111): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 224, 10, self.input) - raise nvae + # sdl92.g:1097:9: ( variable ':=' expression -> ^( ASSIGN variable expression ) ) + # sdl92.g:1097:17: variable ':=' expression + pass + self._state.following.append(self.FOLLOW_variable_in_assignment_statement11904) + variable516 = self.variable() + self._state.following.pop() + if self._state.backtracking == 0: + stream_variable.add(variable516.tree) - elif LA224 in {STATE}: - LA224_11 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + string_literal517 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_assignment_statement11906) + if self._state.backtracking == 0: + stream_ASSIG_OP.add(string_literal517) - nvae = NoViableAltException("", 224, 11, self.input) + self._state.following.append(self.FOLLOW_expression_in_assignment_statement11908) + expression518 = self.expression() - raise nvae + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression518.tree) - elif LA224 in {L_PAREN}: - LA224_12 = self.input.LA(2) + # AST Rewrite + # elements: variable, 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) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + root_0 = self._adaptor.nil() + # 1098:9: -> ^( ASSIGN variable expression ) + # sdl92.g:1098:17: ^( ASSIGN variable expression ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(ASSIGN, "ASSIGN") + , root_1) - nvae = NoViableAltException("", 224, 12, self.input) + self._adaptor.addChild(root_1, stream_variable.nextTree()) - raise nvae + self._adaptor.addChild(root_1, stream_expression.nextTree()) + self._adaptor.addChild(root_0, root_1) - elif LA224 in {IF}: - LA224_13 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 224, 13, self.input) + retval.tree = root_0 - raise nvae - elif LA224 in {NOT}: - LA224_14 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + retval.stop = self.input.LT(-1) - nvae = NoViableAltException("", 224, 14, self.input) - raise nvae + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - elif LA224 in {DASH}: - LA224_15 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + success = True + 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) - nvae = NoViableAltException("", 224, 15, self.input) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 111, assignment_statement_StartIndex, success) - raise nvae + pass + return retval - elif LA224 in {CALL}: - LA224_16 = self.input.LA(2) + # $ANTLR end "assignment_statement" - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + class variable_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - nvae = NoViableAltException("", 224, 16, self.input) + self.tree = None - raise nvae - elif LA224 in {UNHANDLED}: - LA224_17 = self.input.LA(2) - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # $ANTLR start "variable" + # sdl92.g:1102:1: variable : ( postfix_expression | ID -> ^( VARIABLE ID ) ); + def variable(self, ): + retval = self.variable_return() + retval.start = self.input.LT(1) - nvae = NoViableAltException("", 224, 17, self.input) + variable_StartIndex = self.input.index() - raise nvae + root_0 = None + ID520 = None + postfix_expression519 = None - elif LA224 in {INPUT}: - LA224_18 = self.input.LA(2) + ID520_tree = None + stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 112): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 224, 18, self.input) - raise nvae + # sdl92.g:1103:9: ( postfix_expression | ID -> ^( VARIABLE ID ) ) + alt181 = 2 + LA181_0 = self.input.LA(1) + if (LA181_0 == ID) : + LA181_1 = self.input.LA(2) - elif LA224 in {OUTPUT}: - LA224_19 = self.input.LA(2) + if (LA181_1 in {DOT, L_PAREN, 248}) : + alt181 = 1 + elif (LA181_1 in {EOF, ASSIG_OP, COMMA, COMMENT, SEMI, 254, 255}) : + alt181 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (self.synpred268_sdl92()) : - alt224 = 1 - elif (True) : - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + nvae = NoViableAltException("", 181, 1, self.input) + + raise nvae - nvae = NoViableAltException("", 224, 19, self.input) - raise nvae + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - elif LA224 in {EQ, GE, GT, LE, LT, NEQ}: - alt224 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + nvae = NoViableAltException("", 181, 0, self.input) + raise nvae - nvae = NoViableAltException("", 224, 0, self.input) - raise nvae + if alt181 == 1: + # sdl92.g:1103:17: postfix_expression + pass + root_0 = self._adaptor.nil() - if alt224 == 1: - # sdl92.g:1029:24: closed_range - pass - self._state.following.append(self.FOLLOW_closed_range_in_range_condition11878) - closed_range512 = self.closed_range() + self._state.following.append(self.FOLLOW_postfix_expression_in_variable11955) + postfix_expression519 = self.postfix_expression() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, closed_range512.tree) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, postfix_expression519.tree) - elif alt224 == 2: - # sdl92.g:1029:37: open_range - pass - self._state.following.append(self.FOLLOW_open_range_in_range_condition11880) - open_range513 = self.open_range() + elif alt181 == 2: + # sdl92.g:1104:17: ID + pass + ID520 = self.match(self.input, ID, self.FOLLOW_ID_in_variable11973) + if self._state.backtracking == 0: + stream_ID.add(ID520) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, open_range513.tree) + + # AST Rewrite + # elements: 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() + # 1104:40: -> ^( VARIABLE ID ) + # sdl92.g:1104:44: ^( VARIABLE ID ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(VARIABLE, "VARIABLE") + , root_1) + self._adaptor.addChild(root_1, + stream_ID.nextNode() + ) + self._adaptor.addChild(root_0, root_1) - else: - break #loop225 + + + retval.tree = root_0 @@ -21798,19 +21630,25 @@ def range_condition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 112, variable_StartIndex, success) + + pass return retval - # $ANTLR end "range_condition" + # $ANTLR end "variable" - class closed_range_return(ParserRuleReturnScope): + class field_selection_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -21820,91 +21658,68 @@ def __init__(self): - # $ANTLR start "closed_range" - # sdl92.g:1033:1: closed_range : a= expression ':' b= expression -> ^( CLOSED_RANGE $a $b) ; - def closed_range(self, ): - retval = self.closed_range_return() + # $ANTLR start "field_selection" + # sdl92.g:1107:1: field_selection : ( ( '!' | DOT ) field_name ) ; + def field_selection(self, ): + retval = self.field_selection_return() retval.start = self.input.LT(1) + field_selection_StartIndex = self.input.index() root_0 = None - char_literal514 = None - a = None - b = None - - char_literal514_tree = None - stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - try: - try: - # sdl92.g:1034:9: (a= expression ':' b= expression -> ^( CLOSED_RANGE $a $b) ) - # sdl92.g:1034:17: a= expression ':' b= expression - pass - self._state.following.append(self.FOLLOW_expression_in_closed_range11917) - a = self.expression() + set521 = None + field_name522 = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(a.tree) + set521_tree = None + success = False - char_literal514 = self.match(self.input, 255, self.FOLLOW_255_in_closed_range11919) - if self._state.backtracking == 0: - stream_255.add(char_literal514) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 113): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_expression_in_closed_range11923) - b = self.expression() + # sdl92.g:1108:9: ( ( ( '!' | DOT ) field_name ) ) + # sdl92.g:1108:17: ( ( '!' | DOT ) field_name ) + pass + root_0 = self._adaptor.nil() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(b.tree) + # sdl92.g:1108:17: ( ( '!' | DOT ) field_name ) + # sdl92.g:1108:18: ( '!' | DOT ) field_name + pass + set521 = self.input.LT(1) - # AST Rewrite - # elements: a, b - # token labels: - # rule labels: a, b, retval - # token list labels: - # rule list labels: - # wildcard labels: - if self._state.backtracking == 0: - retval.tree = root_0 - if a is not None: - stream_a = RewriteRuleSubtreeStream(self._adaptor, "rule a", a.tree) - else: - stream_a = RewriteRuleSubtreeStream(self._adaptor, "token a", None) + if self.input.LA(1) in {DOT, 248}: + self.input.consume() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set521)) - if b is not None: - stream_b = RewriteRuleSubtreeStream(self._adaptor, "rule b", b.tree) - else: - stream_b = RewriteRuleSubtreeStream(self._adaptor, "token b", None) + self._state.errorRecovery = False - if retval is not None: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) - else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = self._adaptor.nil() - # 1035:9: -> ^( CLOSED_RANGE $a $b) - # sdl92.g:1035:17: ^( CLOSED_RANGE $a $b) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(CLOSED_RANGE, "CLOSED_RANGE") - , root_1) - self._adaptor.addChild(root_1, stream_a.nextTree()) + mse = MismatchedSetException(None, self.input) + raise mse - self._adaptor.addChild(root_1, stream_b.nextTree()) - self._adaptor.addChild(root_0, root_1) + self._state.following.append(self.FOLLOW_field_name_in_field_selection12034) + field_name522 = self.field_name() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, field_name522.tree) - retval.tree = root_0 @@ -21919,19 +21734,25 @@ def closed_range(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 113, field_selection_StartIndex, success) + + pass return retval - # $ANTLR end "closed_range" + # $ANTLR end "field_selection" - class open_range_return(ParserRuleReturnScope): + class expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -21941,372 +21762,346 @@ def __init__(self): - # $ANTLR start "open_range" - # sdl92.g:1039:1: open_range : ( constant -> constant | ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) ); - def open_range(self, ): - retval = self.open_range_return() + # $ANTLR start "expression" + # sdl92.g:1111:1: expression : binary_expression ; + def expression(self, ): + retval = self.expression_return() retval.start = self.input.LT(1) + expression_StartIndex = self.input.index() root_0 = None - EQ516 = None - NEQ517 = None - GT518 = None - LT519 = None - LE520 = None - GE521 = None - constant515 = None - constant522 = None - - EQ516_tree = None - NEQ517_tree = None - GT518_tree = None - LT519_tree = None - LE520_tree = None - GE521_tree = None - stream_LT = RewriteRuleTokenStream(self._adaptor, "token LT") - stream_LE = RewriteRuleTokenStream(self._adaptor, "token LE") - stream_NEQ = RewriteRuleTokenStream(self._adaptor, "token NEQ") - stream_EQ = RewriteRuleTokenStream(self._adaptor, "token EQ") - stream_GT = RewriteRuleTokenStream(self._adaptor, "token GT") - stream_GE = RewriteRuleTokenStream(self._adaptor, "token GE") - stream_constant = RewriteRuleSubtreeStream(self._adaptor, "rule constant") + binary_expression523 = None + + + success = False + try: try: - # sdl92.g:1040:9: ( constant -> constant | ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) ) - alt227 = 2 - LA227_0 = self.input.LA(1) - - if (LA227_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt227 = 1 - elif (LA227_0 in {EQ, GE, GT, LE, LT, NEQ}) : - alt227 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 114): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 227, 0, self.input) + # sdl92.g:1112:9: ( binary_expression ) + # sdl92.g:1112:17: binary_expression + pass + root_0 = self._adaptor.nil() - raise nvae + self._state.following.append(self.FOLLOW_binary_expression_in_expression12058) + binary_expression523 = self.binary_expression() - if alt227 == 1: - # sdl92.g:1040:17: constant - pass - self._state.following.append(self.FOLLOW_constant_in_open_range11980) - constant515 = self.constant() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression523.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_constant.add(constant515.tree) - # AST Rewrite - # elements: constant - # 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) + retval.stop = self.input.LT(-1) - root_0 = self._adaptor.nil() - # 1041:9: -> constant - self._adaptor.addChild(root_0, stream_constant.nextTree()) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - retval.tree = root_0 + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 114, expression_StartIndex, success) - elif alt227 == 2: - # sdl92.g:1042:19: ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) - pass - # sdl92.g:1042:19: ( ( EQ | NEQ | GT | LT | LE | GE ) constant ) - # sdl92.g:1042:21: ( EQ | NEQ | GT | LT | LE | GE ) constant - pass - # sdl92.g:1042:21: ( EQ | NEQ | GT | LT | LE | GE ) - alt226 = 6 - LA226 = self.input.LA(1) - if LA226 in {EQ}: - alt226 = 1 - elif LA226 in {NEQ}: - alt226 = 2 - elif LA226 in {GT}: - alt226 = 3 - elif LA226 in {LT}: - alt226 = 4 - elif LA226 in {LE}: - alt226 = 5 - elif LA226 in {GE}: - alt226 = 6 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + pass + return retval + # $ANTLR end "expression" - nvae = NoViableAltException("", 226, 0, self.input) - raise nvae + class binary_expression_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - if alt226 == 1: - # sdl92.g:1042:22: EQ - pass - EQ516 = self.match(self.input, EQ, self.FOLLOW_EQ_in_open_range12020) - if self._state.backtracking == 0: - stream_EQ.add(EQ516) - elif alt226 == 2: - # sdl92.g:1042:25: NEQ - pass - NEQ517 = self.match(self.input, NEQ, self.FOLLOW_NEQ_in_open_range12022) - if self._state.backtracking == 0: - stream_NEQ.add(NEQ517) + # $ANTLR start "binary_expression" + # sdl92.g:1115:1: binary_expression : binary_expression_0 ( IMPLIES ^ binary_expression_0 )* ; + def binary_expression(self, ): + retval = self.binary_expression_return() + retval.start = self.input.LT(1) + binary_expression_StartIndex = self.input.index() - elif alt226 == 3: - # sdl92.g:1042:29: GT - pass - GT518 = self.match(self.input, GT, self.FOLLOW_GT_in_open_range12024) - if self._state.backtracking == 0: - stream_GT.add(GT518) + root_0 = None + IMPLIES525 = None + binary_expression_0524 = None + binary_expression_0526 = None + IMPLIES525_tree = None - elif alt226 == 4: - # sdl92.g:1042:32: LT - pass - LT519 = self.match(self.input, LT, self.FOLLOW_LT_in_open_range12026) - if self._state.backtracking == 0: - stream_LT.add(LT519) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 115): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - elif alt226 == 5: - # sdl92.g:1042:35: LE - pass - LE520 = self.match(self.input, LE, self.FOLLOW_LE_in_open_range12028) - if self._state.backtracking == 0: - stream_LE.add(LE520) + # sdl92.g:1116:9: ( binary_expression_0 ( IMPLIES ^ binary_expression_0 )* ) + # sdl92.g:1116:17: binary_expression_0 ( IMPLIES ^ binary_expression_0 )* + pass + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_binary_expression_0_in_binary_expression12081) + binary_expression_0524 = self.binary_expression_0() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_0524.tree) + + + # sdl92.g:1116:37: ( IMPLIES ^ binary_expression_0 )* + while True: #loop182 + alt182 = 2 + LA182_0 = self.input.LA(1) + + if (LA182_0 == IMPLIES) : + LA182_2 = self.input.LA(2) + + if (self.synpred233_sdl92()) : + alt182 = 1 - elif alt226 == 6: - # sdl92.g:1042:38: GE + + if alt182 == 1: + # sdl92.g:1116:39: IMPLIES ^ binary_expression_0 pass - GE521 = self.match(self.input, GE, self.FOLLOW_GE_in_open_range12030) + IMPLIES525 = self.match(self.input, IMPLIES, self.FOLLOW_IMPLIES_in_binary_expression12085) if self._state.backtracking == 0: - stream_GE.add(GE521) + IMPLIES525_tree = self._adaptor.createWithPayload(IMPLIES525) + root_0 = self._adaptor.becomeRoot(IMPLIES525_tree, root_0) + self._state.following.append(self.FOLLOW_binary_expression_0_in_binary_expression12088) + binary_expression_0526 = self.binary_expression_0() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_0526.tree) - self._state.following.append(self.FOLLOW_constant_in_open_range12033) - constant522 = self.constant() - self._state.following.pop() - if self._state.backtracking == 0: - stream_constant.add(constant522.tree) + else: + break #loop182 - # AST Rewrite - # elements: EQ, NEQ, GT, LT, LE, GE, constant - # 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) + retval.stop = self.input.LT(-1) - root_0 = self._adaptor.nil() - # 1043:9: -> ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) - # sdl92.g:1043:17: ^( OPEN_RANGE ( EQ )? ( NEQ )? ( GT )? ( LT )? ( LE )? ( GE )? constant ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(OPEN_RANGE, "OPEN_RANGE") - , root_1) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - # sdl92.g:1043:30: ( EQ )? - if stream_EQ.hasNext(): - self._adaptor.addChild(root_1, - stream_EQ.nextNode() - ) - stream_EQ.reset(); + success = True - # sdl92.g:1043:34: ( NEQ )? - if stream_NEQ.hasNext(): - self._adaptor.addChild(root_1, - stream_NEQ.nextNode() - ) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 115, binary_expression_StartIndex, success) - stream_NEQ.reset(); - # sdl92.g:1043:39: ( GT )? - if stream_GT.hasNext(): - self._adaptor.addChild(root_1, - stream_GT.nextNode() - ) + pass + return retval + # $ANTLR end "binary_expression" - stream_GT.reset(); - # sdl92.g:1043:43: ( LT )? - if stream_LT.hasNext(): - self._adaptor.addChild(root_1, - stream_LT.nextNode() - ) + class binary_expression_0_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - stream_LT.reset(); - # sdl92.g:1043:47: ( LE )? - if stream_LE.hasNext(): - self._adaptor.addChild(root_1, - stream_LE.nextNode() - ) - stream_LE.reset(); - # sdl92.g:1043:51: ( GE )? - if stream_GE.hasNext(): - self._adaptor.addChild(root_1, - stream_GE.nextNode() - ) + # $ANTLR start "binary_expression_0" + # sdl92.g:1117:1: binary_expression_0 : binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* ; + def binary_expression_0(self, ): + retval = self.binary_expression_0_return() + retval.start = self.input.LT(1) + binary_expression_0_StartIndex = self.input.index() - stream_GE.reset(); + root_0 = None - self._adaptor.addChild(root_1, stream_constant.nextTree()) + OR528 = None + ELSE529 = None + XOR530 = None + binary_expression_1527 = None + binary_expression_1531 = None - self._adaptor.addChild(root_0, root_1) + OR528_tree = None + ELSE529_tree = None + XOR530_tree = None + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 116): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - retval.tree = root_0 + # sdl92.g:1118:9: ( binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* ) + # sdl92.g:1118:17: binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_binary_expression_1_in_binary_expression_012111) + binary_expression_1527 = self.binary_expression_1() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_1527.tree) - retval.stop = self.input.LT(-1) + # sdl92.g:1118:37: ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* + while True: #loop185 + alt185 = 2 + LA185_0 = self.input.LA(1) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + if (LA185_0 == OR) : + LA185_2 = self.input.LA(2) + if (self.synpred236_sdl92()) : + alt185 = 1 - 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) + elif (LA185_0 == XOR) : + LA185_3 = self.input.LA(2) - finally: - pass - return retval + if (self.synpred236_sdl92()) : + alt185 = 1 - # $ANTLR end "open_range" - class constant_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + if alt185 == 1: + # sdl92.g:1118:38: ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 + pass + # sdl92.g:1118:38: ( ( OR ^ ( ELSE )? ) | XOR ^) + alt184 = 2 + LA184_0 = self.input.LA(1) + + if (LA184_0 == OR) : + alt184 = 1 + elif (LA184_0 == XOR) : + alt184 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 184, 0, self.input) + raise nvae - # $ANTLR start "constant" - # sdl92.g:1047:1: constant : expression -> ^( CONSTANT expression ) ; - def constant(self, ): - retval = self.constant_return() - retval.start = self.input.LT(1) + if alt184 == 1: + # sdl92.g:1118:40: ( OR ^ ( ELSE )? ) + pass + # sdl92.g:1118:40: ( OR ^ ( ELSE )? ) + # sdl92.g:1118:41: OR ^ ( ELSE )? + pass + OR528 = self.match(self.input, OR, self.FOLLOW_OR_in_binary_expression_012117) + if self._state.backtracking == 0: + OR528_tree = self._adaptor.createWithPayload(OR528) + root_0 = self._adaptor.becomeRoot(OR528_tree, root_0) - root_0 = None - expression523 = None + # sdl92.g:1118:45: ( ELSE )? + alt183 = 2 + LA183_0 = self.input.LA(1) + + if (LA183_0 == ELSE) : + alt183 = 1 + if alt183 == 1: + # sdl92.g:1118:45: ELSE + pass + ELSE529 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_binary_expression_012120) + if self._state.backtracking == 0: + ELSE529_tree = self._adaptor.createWithPayload(ELSE529) + self._adaptor.addChild(root_0, ELSE529_tree) + - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - try: - try: - # sdl92.g:1048:9: ( expression -> ^( CONSTANT expression ) ) - # sdl92.g:1048:17: expression - pass - self._state.following.append(self.FOLLOW_expression_in_constant12105) - expression523 = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression523.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() - # 1049:9: -> ^( CONSTANT expression ) - # sdl92.g:1049:17: ^( CONSTANT expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(CONSTANT, "CONSTANT") - , root_1) - self._adaptor.addChild(root_1, stream_expression.nextTree()) - self._adaptor.addChild(root_0, root_1) + elif alt184 == 2: + # sdl92.g:1118:54: XOR ^ + pass + XOR530 = self.match(self.input, XOR, self.FOLLOW_XOR_in_binary_expression_012126) + if self._state.backtracking == 0: + XOR530_tree = self._adaptor.createWithPayload(XOR530) + root_0 = self._adaptor.becomeRoot(XOR530_tree, root_0) - retval.tree = root_0 + self._state.following.append(self.FOLLOW_binary_expression_1_in_binary_expression_012131) + binary_expression_1531 = self.binary_expression_1() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_1531.tree) + + + + else: + break #loop185 + + retval.stop = self.input.LT(-1) @@ -22318,19 +22113,25 @@ def constant(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 116, binary_expression_0_StartIndex, success) + + pass return retval - # $ANTLR end "constant" + # $ANTLR end "binary_expression_0" - class create_request_return(ParserRuleReturnScope): + class binary_expression_1_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -22340,404 +22141,369 @@ def __init__(self): - # $ANTLR start "create_request" - # sdl92.g:1054:1: create_request : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) ; - def create_request(self, ): - retval = self.create_request_return() + # $ANTLR start "binary_expression_1" + # sdl92.g:1119:1: binary_expression_1 : binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* ; + def binary_expression_1(self, ): + retval = self.binary_expression_1_return() retval.start = self.input.LT(1) + binary_expression_1_StartIndex = self.input.index() root_0 = None - CREATE529 = None - cif524 = None - symbolid525 = None - hyperlink526 = None - requirement527 = None - rid528 = None - createbody530 = None - actual_parameters531 = None - end532 = None - - CREATE529_tree = None - stream_CREATE = RewriteRuleTokenStream(self._adaptor, "token CREATE") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_actual_parameters = RewriteRuleSubtreeStream(self._adaptor, "rule actual_parameters") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_createbody = RewriteRuleSubtreeStream(self._adaptor, "rule createbody") + AND533 = None + THEN534 = None + binary_expression_2532 = None + binary_expression_2535 = None + + AND533_tree = None + THEN534_tree = None + + success = False + try: try: - # sdl92.g:1055:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) ) - # sdl92.g:1055:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* CREATE createbody ( actual_parameters )? end - pass - # sdl92.g:1055:17: ( cif )? - alt228 = 2 - LA228_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 117): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA228_0 == 254) : - LA228_1 = self.input.LA(2) - if (LA228_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt228 = 1 - if alt228 == 1: - # sdl92.g:1055:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_create_request12159) - cif524 = self.cif() + # sdl92.g:1120:9: ( binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* ) + # sdl92.g:1120:17: binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* + pass + root_0 = self._adaptor.nil() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif524.tree) + self._state.following.append(self.FOLLOW_binary_expression_2_in_binary_expression_112154) + binary_expression_2532 = self.binary_expression_2() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_2532.tree) + # sdl92.g:1120:37: ( AND ^ ( THEN )? binary_expression_2 )* + while True: #loop187 + alt187 = 2 + LA187_0 = self.input.LA(1) - # sdl92.g:1056:17: ( symbolid )? - alt229 = 2 - LA229_0 = self.input.LA(1) + if (LA187_0 == AND) : + LA187_2 = self.input.LA(2) - if (LA229_0 == 254) : - LA229_1 = self.input.LA(2) + if (self.synpred238_sdl92()) : + alt187 = 1 - if (LA229_1 == 256) : - alt229 = 1 - if alt229 == 1: - # sdl92.g:1056:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_create_request12178) - symbolid525 = self.symbolid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid525.tree) + if alt187 == 1: + # sdl92.g:1120:39: AND ^ ( THEN )? binary_expression_2 + pass + AND533 = self.match(self.input, AND, self.FOLLOW_AND_in_binary_expression_112158) + if self._state.backtracking == 0: + AND533_tree = self._adaptor.createWithPayload(AND533) + root_0 = self._adaptor.becomeRoot(AND533_tree, root_0) - # sdl92.g:1057:17: ( hyperlink )? - alt230 = 2 - LA230_0 = self.input.LA(1) + # sdl92.g:1120:44: ( THEN )? + alt186 = 2 + LA186_0 = self.input.LA(1) - if (LA230_0 == 254) : - LA230_1 = self.input.LA(2) + if (LA186_0 == THEN) : + alt186 = 1 + if alt186 == 1: + # sdl92.g:1120:44: THEN + pass + THEN534 = self.match(self.input, THEN, self.FOLLOW_THEN_in_binary_expression_112161) + if self._state.backtracking == 0: + THEN534_tree = self._adaptor.createWithPayload(THEN534) + self._adaptor.addChild(root_0, THEN534_tree) - if (LA230_1 == KEEP) : - LA230_3 = self.input.LA(3) - if (LA230_3 == SPECIFIC) : - LA230_4 = self.input.LA(4) - if (LA230_4 == GEODE) : - LA230_5 = self.input.LA(5) - if (LA230_5 == HYPERLINK) : - alt230 = 1 - if alt230 == 1: - # sdl92.g:1057:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_create_request12197) - hyperlink526 = self.hyperlink() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink526.tree) + self._state.following.append(self.FOLLOW_binary_expression_2_in_binary_expression_112164) + binary_expression_2535 = self.binary_expression_2() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_2535.tree) - # sdl92.g:1058:17: ( requirement )* - while True: #loop231 - alt231 = 2 - LA231_0 = self.input.LA(1) + else: + break #loop187 - if (LA231_0 == 254) : - LA231_1 = self.input.LA(2) - if (LA231_1 == KEEP) : - LA231_3 = self.input.LA(3) - if (LA231_3 == SPECIFIC) : - LA231_4 = self.input.LA(4) - if (LA231_4 == GEODE) : - LA231_5 = self.input.LA(5) + retval.stop = self.input.LT(-1) - if (LA231_5 == REQ_ID) : - alt231 = 1 + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 117, binary_expression_1_StartIndex, success) + pass + return retval + # $ANTLR end "binary_expression_1" - if alt231 == 1: - # sdl92.g:1058:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_create_request12216) - requirement527 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement527.tree) + class binary_expression_2_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - else: - break #loop231 - # sdl92.g:1059:17: ( rid )* - while True: #loop232 - alt232 = 2 - LA232_0 = self.input.LA(1) - if (LA232_0 == 254) : - alt232 = 1 + # $ANTLR start "binary_expression_2" + # sdl92.g:1121:1: binary_expression_2 : binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* ; + def binary_expression_2(self, ): + retval = self.binary_expression_2_return() + retval.start = self.input.LT(1) + binary_expression_2_StartIndex = self.input.index() - if alt232 == 1: - # sdl92.g:1059:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_create_request12235) - rid528 = self.rid() + root_0 = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid528.tree) + EQ537 = None + NEQ538 = None + GT539 = None + GE540 = None + LT541 = None + LE542 = None + IN543 = None + binary_expression_3536 = None + binary_expression_3544 = None + EQ537_tree = None + NEQ538_tree = None + GT539_tree = None + GE540_tree = None + LT541_tree = None + LE542_tree = None + IN543_tree = None + success = False - else: - break #loop232 + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 118): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - CREATE529 = self.match(self.input, CREATE, self.FOLLOW_CREATE_in_create_request12254) - if self._state.backtracking == 0: - stream_CREATE.add(CREATE529) + # sdl92.g:1122:9: ( binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* ) + # sdl92.g:1122:17: binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_createbody_in_create_request12256) - createbody530 = self.createbody() + self._state.following.append(self.FOLLOW_binary_expression_3_in_binary_expression_212187) + binary_expression_3536 = self.binary_expression_3() self._state.following.pop() if self._state.backtracking == 0: - stream_createbody.add(createbody530.tree) + self._adaptor.addChild(root_0, binary_expression_3536.tree) - # sdl92.g:1061:17: ( actual_parameters )? - alt233 = 2 - LA233_0 = self.input.LA(1) + # sdl92.g:1122:37: ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* + while True: #loop189 + alt189 = 2 + LA189 = self.input.LA(1) + if LA189 in {EQ}: + LA189_2 = self.input.LA(2) - if (LA233_0 == L_PAREN) : - alt233 = 1 - if alt233 == 1: - # sdl92.g:1061:17: actual_parameters - pass - self._state.following.append(self.FOLLOW_actual_parameters_in_create_request12274) - actual_parameters531 = self.actual_parameters() + if (self.synpred245_sdl92()) : + alt189 = 1 - self._state.following.pop() - if self._state.backtracking == 0: - stream_actual_parameters.add(actual_parameters531.tree) + elif LA189 in {NEQ}: + LA189_3 = self.input.LA(2) + if (self.synpred245_sdl92()) : + alt189 = 1 + elif LA189 in {GT}: + LA189_4 = self.input.LA(2) - self._state.following.append(self.FOLLOW_end_in_create_request12293) - end532 = self.end() + if (self.synpred245_sdl92()) : + alt189 = 1 - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end532.tree) + elif LA189 in {GE}: + LA189_5 = self.input.LA(2) - # AST Rewrite - # elements: CREATE, cif, symbolid, hyperlink, requirement, rid, end, createbody, actual_parameters - # 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) + if (self.synpred245_sdl92()) : + alt189 = 1 - root_0 = self._adaptor.nil() - # 1063:9: -> ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) - # sdl92.g:1063:17: ^( CREATE ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? createbody ( actual_parameters )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_CREATE.nextNode() - , root_1) - - # sdl92.g:1063:26: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) - - - stream_cif.reset(); - - # sdl92.g:1063:31: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:1063:41: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - - - stream_hyperlink.reset(); - - # sdl92.g:1063:52: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); + elif LA189 in {LT}: + LA189_6 = self.input.LA(2) - # sdl92.g:1063:65: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + if (self.synpred245_sdl92()) : + alt189 = 1 - stream_rid.reset(); + elif LA189 in {LE}: + LA189_7 = self.input.LA(2) - # sdl92.g:1063:70: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) - - - stream_end.reset(); - - self._adaptor.addChild(root_1, stream_createbody.nextTree()) - - # sdl92.g:1063:86: ( actual_parameters )? - if stream_actual_parameters.hasNext(): - self._adaptor.addChild(root_1, stream_actual_parameters.nextTree()) + if (self.synpred245_sdl92()) : + alt189 = 1 - stream_actual_parameters.reset(); + elif LA189 in {IN}: + LA189_8 = self.input.LA(2) - self._adaptor.addChild(root_0, root_1) + if (self.synpred245_sdl92()) : + alt189 = 1 + if alt189 == 1: + # sdl92.g:1122:38: ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 + pass + # sdl92.g:1122:38: ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) + alt188 = 7 + LA188 = self.input.LA(1) + if LA188 in {EQ}: + alt188 = 1 + elif LA188 in {NEQ}: + alt188 = 2 + elif LA188 in {GT}: + alt188 = 3 + elif LA188 in {GE}: + alt188 = 4 + elif LA188 in {LT}: + alt188 = 5 + elif LA188 in {LE}: + alt188 = 6 + elif LA188 in {IN}: + alt188 = 7 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - retval.tree = root_0 + nvae = NoViableAltException("", 188, 0, self.input) + raise nvae + if alt188 == 1: + # sdl92.g:1122:40: EQ ^ + pass + EQ537 = self.match(self.input, EQ, self.FOLLOW_EQ_in_binary_expression_212192) + if self._state.backtracking == 0: + EQ537_tree = self._adaptor.createWithPayload(EQ537) + root_0 = self._adaptor.becomeRoot(EQ537_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) + elif alt188 == 2: + # sdl92.g:1122:46: NEQ ^ + pass + NEQ538 = self.match(self.input, NEQ, self.FOLLOW_NEQ_in_binary_expression_212197) + if self._state.backtracking == 0: + NEQ538_tree = self._adaptor.createWithPayload(NEQ538) + root_0 = self._adaptor.becomeRoot(NEQ538_tree, root_0) - 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 "create_request" + elif alt188 == 3: + # sdl92.g:1122:53: GT ^ + pass + GT539 = self.match(self.input, GT, self.FOLLOW_GT_in_binary_expression_212202) + if self._state.backtracking == 0: + GT539_tree = self._adaptor.createWithPayload(GT539) + root_0 = self._adaptor.becomeRoot(GT539_tree, root_0) - class createbody_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + elif alt188 == 4: + # sdl92.g:1122:59: GE ^ + pass + GE540 = self.match(self.input, GE, self.FOLLOW_GE_in_binary_expression_212207) + if self._state.backtracking == 0: + GE540_tree = self._adaptor.createWithPayload(GE540) + root_0 = self._adaptor.becomeRoot(GE540_tree, root_0) - # $ANTLR start "createbody" - # sdl92.g:1067:1: createbody : ( process_id | THIS ); - def createbody(self, ): - retval = self.createbody_return() - retval.start = self.input.LT(1) + elif alt188 == 5: + # sdl92.g:1122:65: LT ^ + pass + LT541 = self.match(self.input, LT, self.FOLLOW_LT_in_binary_expression_212212) + if self._state.backtracking == 0: + LT541_tree = self._adaptor.createWithPayload(LT541) + root_0 = self._adaptor.becomeRoot(LT541_tree, root_0) - root_0 = None - THIS534 = None - process_id533 = None - THIS534_tree = None + elif alt188 == 6: + # sdl92.g:1122:71: LE ^ + pass + LE542 = self.match(self.input, LE, self.FOLLOW_LE_in_binary_expression_212217) + if self._state.backtracking == 0: + LE542_tree = self._adaptor.createWithPayload(LE542) + root_0 = self._adaptor.becomeRoot(LE542_tree, root_0) - try: - try: - # sdl92.g:1068:9: ( process_id | THIS ) - alt234 = 2 - LA234_0 = self.input.LA(1) - - if (LA234_0 == ID) : - alt234 = 1 - elif (LA234_0 == THIS) : - alt234 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 234, 0, self.input) - raise nvae + elif alt188 == 7: + # sdl92.g:1122:77: IN ^ + pass + IN543 = self.match(self.input, IN, self.FOLLOW_IN_in_binary_expression_212222) + if self._state.backtracking == 0: + IN543_tree = self._adaptor.createWithPayload(IN543) + root_0 = self._adaptor.becomeRoot(IN543_tree, root_0) - if alt234 == 1: - # sdl92.g:1068:17: process_id - pass - root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_process_id_in_createbody12367) - process_id533 = self.process_id() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, process_id533.tree) + self._state.following.append(self.FOLLOW_binary_expression_3_in_binary_expression_212227) + binary_expression_3544 = self.binary_expression_3() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_3544.tree) - elif alt234 == 2: - # sdl92.g:1069:19: THIS - pass - root_0 = self._adaptor.nil() - THIS534 = self.match(self.input, THIS, self.FOLLOW_THIS_in_createbody12387) - if self._state.backtracking == 0: - THIS534_tree = self._adaptor.createWithPayload(THIS534) - self._adaptor.addChild(root_0, THIS534_tree) + else: + break #loop189 @@ -22751,19 +22517,25 @@ def createbody(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 118, binary_expression_2_StartIndex, success) + + pass return retval - # $ANTLR end "createbody" + # $ANTLR end "binary_expression_2" - class output_return(ParserRuleReturnScope): + class binary_expression_3_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -22773,284 +22545,348 @@ def __init__(self): - # $ANTLR start "output" - # sdl92.g:1073:1: output : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) ; - def output(self, ): - retval = self.output_return() + # $ANTLR start "binary_expression_3" + # sdl92.g:1123:1: binary_expression_3 : binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* ; + def binary_expression_3(self, ): + retval = self.binary_expression_3_return() retval.start = self.input.LT(1) + binary_expression_3_StartIndex = self.input.index() root_0 = None - OUTPUT540 = None - cif535 = None - symbolid536 = None - hyperlink537 = None - requirement538 = None - rid539 = None - outputbody541 = None - end542 = None + PLUS546 = None + DASH547 = None + APPEND548 = None + binary_expression_4545 = None + binary_expression_4549 = None + + PLUS546_tree = None + DASH547_tree = None + APPEND548_tree = None + + success = False - OUTPUT540_tree = None - stream_OUTPUT = RewriteRuleTokenStream(self._adaptor, "token OUTPUT") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_outputbody = RewriteRuleSubtreeStream(self._adaptor, "rule outputbody") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") try: try: - # sdl92.g:1074:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) ) - # sdl92.g:1074:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* OUTPUT outputbody end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 119): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1124:9: ( binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* ) + # sdl92.g:1124:17: binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* pass - # sdl92.g:1074:17: ( cif )? - alt235 = 2 - LA235_0 = self.input.LA(1) + root_0 = self._adaptor.nil() - if (LA235_0 == 254) : - LA235_1 = self.input.LA(2) - if (LA235_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt235 = 1 - if alt235 == 1: - # sdl92.g:1074:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_output12419) - cif535 = self.cif() + self._state.following.append(self.FOLLOW_binary_expression_4_in_binary_expression_312250) + binary_expression_4545 = self.binary_expression_4() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif535.tree) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_4545.tree) + # sdl92.g:1124:37: ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* + while True: #loop191 + alt191 = 2 + LA191 = self.input.LA(1) + if LA191 in {PLUS}: + LA191_2 = self.input.LA(2) + if (self.synpred248_sdl92()) : + alt191 = 1 - # sdl92.g:1075:17: ( symbolid )? - alt236 = 2 - LA236_0 = self.input.LA(1) + elif LA191 in {DASH}: + LA191_3 = self.input.LA(2) - if (LA236_0 == 254) : - LA236_1 = self.input.LA(2) + if (self.synpred248_sdl92()) : + alt191 = 1 - if (LA236_1 == 256) : - alt236 = 1 - if alt236 == 1: - # sdl92.g:1075:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_output12438) - symbolid536 = self.symbolid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid536.tree) + elif LA191 in {APPEND}: + LA191_4 = self.input.LA(2) + if (self.synpred248_sdl92()) : + alt191 = 1 + if alt191 == 1: + # sdl92.g:1124:38: ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 + pass + # sdl92.g:1124:38: ( PLUS ^| DASH ^| APPEND ^) + alt190 = 3 + LA190 = self.input.LA(1) + if LA190 in {PLUS}: + alt190 = 1 + elif LA190 in {DASH}: + alt190 = 2 + elif LA190 in {APPEND}: + alt190 = 3 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # sdl92.g:1076:17: ( hyperlink )? - alt237 = 2 - LA237_0 = self.input.LA(1) - if (LA237_0 == 254) : - LA237_1 = self.input.LA(2) + nvae = NoViableAltException("", 190, 0, self.input) - if (LA237_1 == KEEP) : - LA237_3 = self.input.LA(3) + raise nvae - if (LA237_3 == SPECIFIC) : - LA237_4 = self.input.LA(4) - if (LA237_4 == GEODE) : - LA237_5 = self.input.LA(5) + if alt190 == 1: + # sdl92.g:1124:40: PLUS ^ + pass + PLUS546 = self.match(self.input, PLUS, self.FOLLOW_PLUS_in_binary_expression_312255) + if self._state.backtracking == 0: + PLUS546_tree = self._adaptor.createWithPayload(PLUS546) + root_0 = self._adaptor.becomeRoot(PLUS546_tree, root_0) - if (LA237_5 == HYPERLINK) : - alt237 = 1 - if alt237 == 1: - # sdl92.g:1076:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_output12457) - hyperlink537 = self.hyperlink() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink537.tree) + elif alt190 == 2: + # sdl92.g:1124:48: DASH ^ + pass + DASH547 = self.match(self.input, DASH, self.FOLLOW_DASH_in_binary_expression_312260) + if self._state.backtracking == 0: + DASH547_tree = self._adaptor.createWithPayload(DASH547) + root_0 = self._adaptor.becomeRoot(DASH547_tree, root_0) - # sdl92.g:1077:17: ( requirement )* - while True: #loop238 - alt238 = 2 - LA238_0 = self.input.LA(1) - if (LA238_0 == 254) : - LA238_1 = self.input.LA(2) + elif alt190 == 3: + # sdl92.g:1124:56: APPEND ^ + pass + APPEND548 = self.match(self.input, APPEND, self.FOLLOW_APPEND_in_binary_expression_312265) + if self._state.backtracking == 0: + APPEND548_tree = self._adaptor.createWithPayload(APPEND548) + root_0 = self._adaptor.becomeRoot(APPEND548_tree, root_0) - if (LA238_1 == KEEP) : - LA238_3 = self.input.LA(3) - if (LA238_3 == SPECIFIC) : - LA238_4 = self.input.LA(4) - if (LA238_4 == GEODE) : - LA238_5 = self.input.LA(5) - if (LA238_5 == REQ_ID) : - alt238 = 1 + self._state.following.append(self.FOLLOW_binary_expression_4_in_binary_expression_312270) + binary_expression_4549 = self.binary_expression_4() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, binary_expression_4549.tree) + else: + break #loop191 - if alt238 == 1: - # sdl92.g:1077:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_output12476) - requirement538 = self.requirement() + retval.stop = self.input.LT(-1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement538.tree) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - else: - break #loop238 + success = True - # sdl92.g:1078:17: ( rid )* - while True: #loop239 - alt239 = 2 - LA239_0 = self.input.LA(1) + 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) - if (LA239_0 == 254) : - alt239 = 1 + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 119, binary_expression_3_StartIndex, success) - if alt239 == 1: - # sdl92.g:1078:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_output12495) - rid539 = self.rid() + pass + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid539.tree) + # $ANTLR end "binary_expression_3" + class binary_expression_4_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - else: - break #loop239 + self.tree = None - OUTPUT540 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output12514) - if self._state.backtracking == 0: - stream_OUTPUT.add(OUTPUT540) - self._state.following.append(self.FOLLOW_outputbody_in_output12516) - outputbody541 = self.outputbody() - self._state.following.pop() - if self._state.backtracking == 0: - stream_outputbody.add(outputbody541.tree) + # $ANTLR start "binary_expression_4" + # sdl92.g:1125:1: binary_expression_4 : unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* ; + def binary_expression_4(self, ): + retval = self.binary_expression_4_return() + retval.start = self.input.LT(1) + + binary_expression_4_StartIndex = self.input.index() + + root_0 = None + + ASTERISK551 = None + DIV552 = None + MOD553 = None + REM554 = None + unary_expression550 = None + unary_expression555 = None + + ASTERISK551_tree = None + DIV552_tree = None + MOD553_tree = None + REM554_tree = None + + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 120): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_end_in_output12518) - end542 = self.end() + # sdl92.g:1126:9: ( unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* ) + # sdl92.g:1126:17: unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* + pass + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_unary_expression_in_binary_expression_412293) + unary_expression550 = self.unary_expression() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end542.tree) + self._adaptor.addChild(root_0, unary_expression550.tree) - # AST Rewrite - # elements: OUTPUT, cif, symbolid, hyperlink, requirement, rid, end, outputbody - # 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) + # sdl92.g:1126:34: ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* + while True: #loop193 + alt193 = 2 + LA193 = self.input.LA(1) + if LA193 in {ASTERISK}: + LA193_2 = self.input.LA(2) + if (self.synpred252_sdl92()) : + alt193 = 1 - root_0 = self._adaptor.nil() - # 1080:9: -> ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) - # sdl92.g:1080:17: ^( OUTPUT ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? outputbody ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_OUTPUT.nextNode() - , root_1) - # sdl92.g:1080:26: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + elif LA193 in {DIV}: + LA193_3 = self.input.LA(2) + if (self.synpred252_sdl92()) : + alt193 = 1 - stream_cif.reset(); - # sdl92.g:1080:31: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + elif LA193 in {MOD}: + LA193_4 = self.input.LA(2) + if (self.synpred252_sdl92()) : + alt193 = 1 - stream_symbolid.reset(); - # sdl92.g:1080:41: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + elif LA193 in {REM}: + LA193_5 = self.input.LA(2) + if (self.synpred252_sdl92()) : + alt193 = 1 - stream_hyperlink.reset(); - # sdl92.g:1080:52: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + if alt193 == 1: + # sdl92.g:1126:35: ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression + pass + # sdl92.g:1126:35: ( ASTERISK ^| DIV ^| MOD ^| REM ^) + alt192 = 4 + LA192 = self.input.LA(1) + if LA192 in {ASTERISK}: + alt192 = 1 + elif LA192 in {DIV}: + alt192 = 2 + elif LA192 in {MOD}: + alt192 = 3 + elif LA192 in {REM}: + alt192 = 4 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - stream_requirement.reset(); - # sdl92.g:1080:65: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + nvae = NoViableAltException("", 192, 0, self.input) + raise nvae - stream_rid.reset(); - # sdl92.g:1080:70: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) + if alt192 == 1: + # sdl92.g:1126:37: ASTERISK ^ + pass + ASTERISK551 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_binary_expression_412298) + if self._state.backtracking == 0: + ASTERISK551_tree = self._adaptor.createWithPayload(ASTERISK551) + root_0 = self._adaptor.becomeRoot(ASTERISK551_tree, root_0) - stream_end.reset(); - self._adaptor.addChild(root_1, stream_outputbody.nextTree()) - self._adaptor.addChild(root_0, root_1) + elif alt192 == 2: + # sdl92.g:1126:49: DIV ^ + pass + DIV552 = self.match(self.input, DIV, self.FOLLOW_DIV_in_binary_expression_412303) + if self._state.backtracking == 0: + DIV552_tree = self._adaptor.createWithPayload(DIV552) + root_0 = self._adaptor.becomeRoot(DIV552_tree, root_0) - retval.tree = root_0 + elif alt192 == 3: + # sdl92.g:1126:56: MOD ^ + pass + MOD553 = self.match(self.input, MOD, self.FOLLOW_MOD_in_binary_expression_412308) + if self._state.backtracking == 0: + MOD553_tree = self._adaptor.createWithPayload(MOD553) + root_0 = self._adaptor.becomeRoot(MOD553_tree, root_0) + + + + + elif alt192 == 4: + # sdl92.g:1126:63: REM ^ + pass + REM554 = self.match(self.input, REM, self.FOLLOW_REM_in_binary_expression_412313) + if self._state.backtracking == 0: + REM554_tree = self._adaptor.createWithPayload(REM554) + root_0 = self._adaptor.becomeRoot(REM554_tree, root_0) + + + self._state.following.append(self.FOLLOW_unary_expression_in_binary_expression_412318) + unary_expression555 = self.unary_expression() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, unary_expression555.tree) + + + + else: + break #loop193 + + + retval.stop = self.input.LT(-1) @@ -23061,19 +22897,25 @@ def output(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 120, binary_expression_4_StartIndex, success) + + pass return retval - # $ANTLR end "output" + # $ANTLR end "binary_expression_4" - class outputbody_return(ParserRuleReturnScope): + class unary_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -23083,217 +22925,267 @@ def __init__(self): - # $ANTLR start "outputbody" - # sdl92.g:1084:1: outputbody : outputstmt ( ',' outputstmt )* ( to_part )? -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) ; - def outputbody(self, ): - retval = self.outputbody_return() + # $ANTLR start "unary_expression" + # sdl92.g:1129:1: unary_expression : ( postfix_expression | primary_expression | NOT ^ unary_expression | DASH unary_expression -> ^( NEG unary_expression ) | CALL procedure_call_body -> ^( PROCEDURE_CALL procedure_call_body ) | input_expression | output_expression ); + def unary_expression(self, ): + retval = self.unary_expression_return() retval.start = self.input.LT(1) + unary_expression_StartIndex = self.input.index() root_0 = None - char_literal544 = None - outputstmt543 = None - outputstmt545 = None - to_part546 = None + NOT558 = None + DASH560 = None + CALL562 = None + postfix_expression556 = None + primary_expression557 = None + unary_expression559 = None + unary_expression561 = None + procedure_call_body563 = None + input_expression564 = None + output_expression565 = None + + NOT558_tree = None + DASH560_tree = None + CALL562_tree = None + stream_CALL = RewriteRuleTokenStream(self._adaptor, "token CALL") + stream_DASH = RewriteRuleTokenStream(self._adaptor, "token DASH") + stream_procedure_call_body = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_call_body") + stream_unary_expression = RewriteRuleSubtreeStream(self._adaptor, "rule unary_expression") + success = False - char_literal544_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_outputstmt = RewriteRuleSubtreeStream(self._adaptor, "rule outputstmt") - stream_to_part = RewriteRuleSubtreeStream(self._adaptor, "rule to_part") try: try: - # sdl92.g:1085:9: ( outputstmt ( ',' outputstmt )* ( to_part )? -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) ) - # sdl92.g:1085:17: outputstmt ( ',' outputstmt )* ( to_part )? - pass - self._state.following.append(self.FOLLOW_outputstmt_in_outputbody12589) - outputstmt543 = self.outputstmt() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 121): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_outputstmt.add(outputstmt543.tree) + # sdl92.g:1130:9: ( postfix_expression | primary_expression | NOT ^ unary_expression | DASH unary_expression -> ^( NEG unary_expression ) | CALL procedure_call_body -> ^( PROCEDURE_CALL procedure_call_body ) | input_expression | output_expression ) + alt194 = 7 + LA194 = self.input.LA(1) + if LA194 in {ID}: + LA194_1 = self.input.LA(2) - # sdl92.g:1085:28: ( ',' outputstmt )* - while True: #loop240 - alt240 = 2 - LA240_0 = self.input.LA(1) + if (self.synpred253_sdl92()) : + alt194 = 1 + elif (self.synpred254_sdl92()) : + alt194 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA240_0 == COMMA) : - alt240 = 1 + nvae = NoViableAltException("", 194, 1, self.input) - if alt240 == 1: - # sdl92.g:1085:29: ',' outputstmt - pass - char_literal544 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_outputbody12592) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal544) + raise nvae - self._state.following.append(self.FOLLOW_outputstmt_in_outputbody12594) - outputstmt545 = self.outputstmt() + elif LA194 in {FALSE, FLOAT, IF, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, PLUS_INFINITY, STATE, STRING, TRUE}: + alt194 = 2 + elif LA194 in {NOT}: + alt194 = 3 + elif LA194 in {DASH}: + alt194 = 4 + elif LA194 in {CALL}: + alt194 = 5 + elif LA194 in {INPUT, UNHANDLED}: + alt194 = 6 + elif LA194 in {OUTPUT}: + alt194 = 7 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.pop() - if self._state.backtracking == 0: - stream_outputstmt.add(outputstmt545.tree) + nvae = NoViableAltException("", 194, 0, self.input) + raise nvae - else: - break #loop240 + if alt194 == 1: + # sdl92.g:1130:17: postfix_expression + pass + root_0 = self._adaptor.nil() - # sdl92.g:1085:46: ( to_part )? - alt241 = 2 - LA241_0 = self.input.LA(1) - if (LA241_0 == TO) : - alt241 = 1 - if alt241 == 1: - # sdl92.g:1085:46: to_part - pass - self._state.following.append(self.FOLLOW_to_part_in_outputbody12598) - to_part546 = self.to_part() + self._state.following.append(self.FOLLOW_postfix_expression_in_unary_expression12343) + postfix_expression556 = self.postfix_expression() self._state.following.pop() if self._state.backtracking == 0: - stream_to_part.add(to_part546.tree) + self._adaptor.addChild(root_0, postfix_expression556.tree) + elif alt194 == 2: + # sdl92.g:1131:17: primary_expression + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: outputstmt, to_part - # 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) + self._state.following.append(self.FOLLOW_primary_expression_in_unary_expression12361) + primary_expression557 = self.primary_expression() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, primary_expression557.tree) + + elif alt194 == 3: + # sdl92.g:1132:17: NOT ^ unary_expression + pass root_0 = self._adaptor.nil() - # 1086:9: -> ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) - # sdl92.g:1086:17: ^( OUTPUT_BODY ( outputstmt )+ ( to_part )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(OUTPUT_BODY, "OUTPUT_BODY") - , root_1) - # sdl92.g:1086:31: ( outputstmt )+ - if not (stream_outputstmt.hasNext()): - raise RewriteEarlyExitException() - while stream_outputstmt.hasNext(): - self._adaptor.addChild(root_1, stream_outputstmt.nextTree()) + NOT558 = self.match(self.input, NOT, self.FOLLOW_NOT_in_unary_expression12379) + if self._state.backtracking == 0: + NOT558_tree = self._adaptor.createWithPayload(NOT558) + root_0 = self._adaptor.becomeRoot(NOT558_tree, root_0) - stream_outputstmt.reset() - # sdl92.g:1086:43: ( to_part )? - if stream_to_part.hasNext(): - self._adaptor.addChild(root_1, stream_to_part.nextTree()) + self._state.following.append(self.FOLLOW_unary_expression_in_unary_expression12382) + unary_expression559 = self.unary_expression() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, unary_expression559.tree) - stream_to_part.reset(); - self._adaptor.addChild(root_0, root_1) + elif alt194 == 4: + # sdl92.g:1133:17: DASH unary_expression + pass + DASH560 = self.match(self.input, DASH, self.FOLLOW_DASH_in_unary_expression12400) + if self._state.backtracking == 0: + stream_DASH.add(DASH560) + self._state.following.append(self.FOLLOW_unary_expression_in_unary_expression12402) + unary_expression561 = self.unary_expression() - retval.tree = root_0 + self._state.following.pop() + if self._state.backtracking == 0: + stream_unary_expression.add(unary_expression561.tree) + # AST Rewrite + # elements: unary_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() + # 1133:42: -> ^( NEG unary_expression ) + # sdl92.g:1133:45: ^( NEG unary_expression ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(NEG, "NEG") + , root_1) - retval.stop = self.input.LT(-1) + self._adaptor.addChild(root_1, stream_unary_expression.nextTree()) + self._adaptor.addChild(root_0, root_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) + retval.tree = root_0 - finally: - pass - return retval - # $ANTLR end "outputbody" - class outputstmt_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + elif alt194 == 5: + # sdl92.g:1134:17: CALL procedure_call_body + pass + CALL562 = self.match(self.input, CALL, self.FOLLOW_CALL_in_unary_expression12431) + if self._state.backtracking == 0: + stream_CALL.add(CALL562) - self.tree = None + self._state.following.append(self.FOLLOW_procedure_call_body_in_unary_expression12433) + procedure_call_body563 = self.procedure_call_body() + self._state.following.pop() + if self._state.backtracking == 0: + stream_procedure_call_body.add(procedure_call_body563.tree) + # AST Rewrite + # elements: procedure_call_body + # 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) - # $ANTLR start "outputstmt" - # sdl92.g:1092:1: outputstmt : signal_id ( actual_parameters )? ; - def outputstmt(self, ): - retval = self.outputstmt_return() - retval.start = self.input.LT(1) + root_0 = self._adaptor.nil() + # 1134:42: -> ^( PROCEDURE_CALL procedure_call_body ) + # sdl92.g:1134:45: ^( PROCEDURE_CALL procedure_call_body ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(PROCEDURE_CALL, "PROCEDURE_CALL") + , root_1) - root_0 = None + self._adaptor.addChild(root_1, stream_procedure_call_body.nextTree()) - signal_id547 = None - actual_parameters548 = None + self._adaptor.addChild(root_0, root_1) - try: - try: - # sdl92.g:1093:9: ( signal_id ( actual_parameters )? ) - # sdl92.g:1093:17: signal_id ( actual_parameters )? - pass - root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signal_id_in_outputstmt12660) - signal_id547 = self.signal_id() + retval.tree = root_0 - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, signal_id547.tree) - # sdl92.g:1094:17: ( actual_parameters )? - alt242 = 2 - LA242_0 = self.input.LA(1) - if (LA242_0 == L_PAREN) : - alt242 = 1 - if alt242 == 1: - # sdl92.g:1094:17: actual_parameters + elif alt194 == 6: + # sdl92.g:1135:17: input_expression pass - self._state.following.append(self.FOLLOW_actual_parameters_in_outputstmt12678) - actual_parameters548 = self.actual_parameters() + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_input_expression_in_unary_expression12459) + input_expression564 = self.input_expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, actual_parameters548.tree) + self._adaptor.addChild(root_0, input_expression564.tree) + + elif alt194 == 7: + # sdl92.g:1136:17: output_expression + pass + root_0 = self._adaptor.nil() + + self._state.following.append(self.FOLLOW_output_expression_in_unary_expression12489) + output_expression565 = self.output_expression() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, output_expression565.tree) @@ -23306,19 +23198,25 @@ def outputstmt(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 121, unary_expression_StartIndex, success) + + pass return retval - # $ANTLR end "outputstmt" + # $ANTLR end "unary_expression" - class to_part_return(ParserRuleReturnScope): + class postfix_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -23328,47 +23226,59 @@ def __init__(self): - # $ANTLR start "to_part" - # sdl92.g:1097:1: to_part : ( TO destination ) -> ^( TO destination ) ; - def to_part(self, ): - retval = self.to_part_return() + # $ANTLR start "postfix_expression" + # sdl92.g:1140:1: postfix_expression : ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ ; + def postfix_expression(self, ): + retval = self.postfix_expression_return() retval.start = self.input.LT(1) + postfix_expression_StartIndex = self.input.index() root_0 = None - TO549 = None - destination550 = None + ID566 = None + char_literal567 = None + char_literal568 = None + char_literal569 = None + DOT570 = None + params = None + field_name571 = None + + ID566_tree = None + char_literal567_tree = None + char_literal568_tree = None + char_literal569_tree = None + DOT570_tree = None + stream_248 = RewriteRuleTokenStream(self._adaptor, "token 248") + stream_DOT = RewriteRuleTokenStream(self._adaptor, "token DOT") + stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") + stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") + stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") + stream_expression_list = RewriteRuleSubtreeStream(self._adaptor, "rule expression_list") + stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") + success = False - TO549_tree = None - stream_TO = RewriteRuleTokenStream(self._adaptor, "token TO") - stream_destination = RewriteRuleSubtreeStream(self._adaptor, "rule destination") try: try: - # sdl92.g:1098:9: ( ( TO destination ) -> ^( TO destination ) ) - # sdl92.g:1098:17: ( TO destination ) - pass - # sdl92.g:1098:17: ( TO destination ) - # sdl92.g:1098:18: TO destination - pass - TO549 = self.match(self.input, TO, self.FOLLOW_TO_in_to_part12711) - if self._state.backtracking == 0: - stream_TO.add(TO549) - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 122): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_destination_in_to_part12713) - destination550 = self.destination() - self._state.following.pop() + # sdl92.g:1141:9: ( ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ ) + # sdl92.g:1141:17: ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ + pass + # sdl92.g:1141:17: ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) + # sdl92.g:1141:18: ID + pass + ID566 = self.match(self.input, ID, self.FOLLOW_ID_in_postfix_expression12533) if self._state.backtracking == 0: - stream_destination.add(destination550.tree) - - - + stream_ID.add(ID566) # AST Rewrite - # elements: TO, destination + # elements: ID # token labels: # rule labels: retval # token list labels: @@ -23383,14 +23293,24 @@ def to_part(self, ): root_0 = self._adaptor.nil() - # 1099:9: -> ^( TO destination ) - # sdl92.g:1099:17: ^( TO destination ) + # 1141:21: -> ^( PRIMARY ^( VARIABLE ID ) ) + # sdl92.g:1141:24: ^( PRIMARY ^( VARIABLE ID ) ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_TO.nextNode() + self._adaptor.createFromType(PRIMARY, "PRIMARY") , root_1) - self._adaptor.addChild(root_1, stream_destination.nextTree()) + # sdl92.g:1141:34: ^( VARIABLE ID ) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + self._adaptor.createFromType(VARIABLE, "VARIABLE") + , root_2) + + self._adaptor.addChild(root_2, + stream_ID.nextNode() + ) + + self._adaptor.addChild(root_1, root_2) self._adaptor.addChild(root_0, root_1) @@ -23403,255 +23323,198 @@ def to_part(self, ): - retval.stop = self.input.LT(-1) + # sdl92.g:1142:17: ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ + cnt197 = 0 + while True: #loop197 + alt197 = 3 + alt197 = self.dfa197.predict(self.input) + if alt197 == 1: + # sdl92.g:1142:21: '(' (params= expression_list )? ')' + pass + char_literal567 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_postfix_expression12568) + if self._state.backtracking == 0: + stream_L_PAREN.add(char_literal567) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # sdl92.g:1142:31: (params= expression_list )? + alt195 = 2 + LA195_0 = self.input.LA(1) + if (LA195_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt195 = 1 + if alt195 == 1: + # sdl92.g:1142:31: params= expression_list + pass + self._state.following.append(self.FOLLOW_expression_list_in_postfix_expression12572) + params = self.expression_list() - 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) + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression_list.add(params.tree) - finally: - pass - return retval - # $ANTLR end "to_part" - class via_part_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + char_literal568 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_postfix_expression12575) + if self._state.backtracking == 0: + stream_R_PAREN.add(char_literal568) + # AST Rewrite + # elements: postfix_expression, params + # token labels: + # rule labels: params, retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + if params is not None: + stream_params = RewriteRuleSubtreeStream(self._adaptor, "rule params", params.tree) + else: + stream_params = RewriteRuleSubtreeStream(self._adaptor, "token params", None) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - # $ANTLR start "via_part" - # sdl92.g:1102:1: via_part : VIA viabody -> ^( VIA viabody ) ; - def via_part(self, ): - retval = self.via_part_return() - retval.start = self.input.LT(1) + root_0 = self._adaptor.nil() + # 1143:17: -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) + # sdl92.g:1143:20: ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(CALL, "CALL") + , root_1) + self._adaptor.addChild(root_1, stream_retval.nextTree()) - root_0 = None + # sdl92.g:1143:47: ^( PARAMS ( $params)? ) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + self._adaptor.createFromType(PARAMS, "PARAMS") + , root_2) - VIA551 = None - viabody552 = None + # sdl92.g:1143:57: ( $params)? + if stream_params.hasNext(): + self._adaptor.addChild(root_2, stream_params.nextTree()) - VIA551_tree = None - stream_VIA = RewriteRuleTokenStream(self._adaptor, "token VIA") - stream_viabody = RewriteRuleSubtreeStream(self._adaptor, "rule viabody") - try: - try: - # sdl92.g:1103:9: ( VIA viabody -> ^( VIA viabody ) ) - # sdl92.g:1103:17: VIA viabody - pass - VIA551 = self.match(self.input, VIA, self.FOLLOW_VIA_in_via_part12766) - if self._state.backtracking == 0: - stream_VIA.add(VIA551) - - - self._state.following.append(self.FOLLOW_viabody_in_via_part12768) - viabody552 = self.viabody() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_viabody.add(viabody552.tree) - - - # AST Rewrite - # elements: VIA, viabody - # 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() - # 1104:9: -> ^( VIA viabody ) - # sdl92.g:1104:17: ^( VIA viabody ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_VIA.nextNode() - , root_1) - - self._adaptor.addChild(root_1, stream_viabody.nextTree()) - - self._adaptor.addChild(root_0, root_1) + stream_params.reset(); + self._adaptor.addChild(root_1, root_2) - - 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 "via_part" + self._adaptor.addChild(root_0, root_1) - class viabody_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + retval.tree = root_0 - # $ANTLR start "viabody" - # sdl92.g:1109:1: viabody : ( ALL -> ^( ALL ) | via_path -> ^( VIAPATH via_path ) ); - def viabody(self, ): - retval = self.viabody_return() - retval.start = self.input.LT(1) + elif alt197 == 2: + # sdl92.g:1144:21: ( '!' | DOT ) field_name + pass + # sdl92.g:1144:21: ( '!' | DOT ) + alt196 = 2 + LA196_0 = self.input.LA(1) + + if (LA196_0 == 248) : + alt196 = 1 + elif (LA196_0 == DOT) : + alt196 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = None + nvae = NoViableAltException("", 196, 0, self.input) - ALL553 = None - via_path554 = None + raise nvae - ALL553_tree = None - stream_ALL = RewriteRuleTokenStream(self._adaptor, "token ALL") - stream_via_path = RewriteRuleSubtreeStream(self._adaptor, "rule via_path") - try: - try: - # sdl92.g:1110:9: ( ALL -> ^( ALL ) | via_path -> ^( VIAPATH via_path ) ) - alt243 = 2 - LA243_0 = self.input.LA(1) - - if (LA243_0 == ALL) : - alt243 = 1 - elif (LA243_0 == ID) : - alt243 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if alt196 == 1: + # sdl92.g:1144:22: '!' + pass + char_literal569 = self.match(self.input, 248, self.FOLLOW_248_in_postfix_expression12631) + if self._state.backtracking == 0: + stream_248.add(char_literal569) - nvae = NoViableAltException("", 243, 0, self.input) - raise nvae + elif alt196 == 2: + # sdl92.g:1144:28: DOT + pass + DOT570 = self.match(self.input, DOT, self.FOLLOW_DOT_in_postfix_expression12635) + if self._state.backtracking == 0: + stream_DOT.add(DOT570) - if alt243 == 1: - # sdl92.g:1110:17: ALL - pass - ALL553 = self.match(self.input, ALL, self.FOLLOW_ALL_in_viabody12822) - if self._state.backtracking == 0: - stream_ALL.add(ALL553) - # AST Rewrite - # elements: ALL - # 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() - # 1111:9: -> ^( ALL ) - # sdl92.g:1111:17: ^( ALL ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_ALL.nextNode() - , root_1) + self._state.following.append(self.FOLLOW_field_name_in_postfix_expression12638) + field_name571 = self.field_name() - self._adaptor.addChild(root_0, root_1) + self._state.following.pop() + if self._state.backtracking == 0: + stream_field_name.add(field_name571.tree) + # AST Rewrite + # elements: postfix_expression, field_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) - retval.tree = root_0 + root_0 = self._adaptor.nil() + # 1145:17: -> ^( SELECTOR $postfix_expression field_name ) + # sdl92.g:1145:20: ^( SELECTOR $postfix_expression field_name ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(SELECTOR, "SELECTOR") + , root_1) + self._adaptor.addChild(root_1, stream_retval.nextTree()) + self._adaptor.addChild(root_1, stream_field_name.nextTree()) + self._adaptor.addChild(root_0, root_1) - elif alt243 == 2: - # sdl92.g:1112:19: via_path - pass - self._state.following.append(self.FOLLOW_via_path_in_viabody12861) - via_path554 = self.via_path() - self._state.following.pop() - if self._state.backtracking == 0: - stream_via_path.add(via_path554.tree) - # AST Rewrite - # elements: via_path - # 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) + retval.tree = root_0 - root_0 = self._adaptor.nil() - # 1113:9: -> ^( VIAPATH via_path ) - # sdl92.g:1113:17: ^( VIAPATH via_path ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(VIAPATH, "VIAPATH") - , root_1) - self._adaptor.addChild(root_1, stream_via_path.nextTree()) - self._adaptor.addChild(root_0, root_1) + else: + if cnt197 >= 1: + break #loop197 + if self._state.backtracking > 0: + raise BacktrackingFailed + eee = EarlyExitException(197, self.input) + raise eee - retval.tree = root_0 + cnt197 += 1 @@ -23665,19 +23528,25 @@ def viabody(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 122, postfix_expression_StartIndex, success) + + pass return retval - # $ANTLR end "viabody" + # $ANTLR end "postfix_expression" - class destination_return(ParserRuleReturnScope): + class input_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -23687,421 +23556,504 @@ def __init__(self): - # $ANTLR start "destination" - # sdl92.g:1117:1: destination : ( pid_expression | process_id | THIS ); - def destination(self, ): - retval = self.destination_return() + # $ANTLR start "input_expression" + # sdl92.g:1154:1: input_expression : ( ( UNHANDLED )? INPUT -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) | ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) ); + def input_expression(self, ): + retval = self.input_expression_return() retval.start = self.input.LT(1) + input_expression_StartIndex = self.input.index() root_0 = None - THIS557 = None - pid_expression555 = None - process_id556 = None + msg = None + param = None + src = None + dest = None + UNHANDLED572 = None + INPUT573 = None + UNHANDLED574 = None + INPUT575 = None + char_literal576 = None + char_literal577 = None + FROM578 = None + TO579 = None + + msg_tree = None + param_tree = None + src_tree = None + dest_tree = None + UNHANDLED572_tree = None + INPUT573_tree = None + UNHANDLED574_tree = None + INPUT575_tree = None + char_literal576_tree = None + char_literal577_tree = None + FROM578_tree = None + TO579_tree = None + stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") + stream_UNHANDLED = RewriteRuleTokenStream(self._adaptor, "token UNHANDLED") + stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") + stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") + stream_FROM = RewriteRuleTokenStream(self._adaptor, "token FROM") + stream_TO = RewriteRuleTokenStream(self._adaptor, "token TO") + stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") - THIS557_tree = None + success = False try: try: - # sdl92.g:1118:9: ( pid_expression | process_id | THIS ) - alt244 = 3 - LA244 = self.input.LA(1) - if LA244 in {O, P, S}: - alt244 = 1 - elif LA244 in {ID}: - alt244 = 2 - elif LA244 in {THIS}: - alt244 = 3 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 123): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 244, 0, self.input) + # sdl92.g:1155:9: ( ( UNHANDLED )? INPUT -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) | ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) ) + alt203 = 2 + LA203_0 = self.input.LA(1) - raise nvae + if (LA203_0 == UNHANDLED) : + LA203_1 = self.input.LA(2) + if (LA203_1 == INPUT) : + LA203 = self.input.LA(3) + if LA203 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: + alt203 = 1 + elif LA203 in {ID}: + LA203 = self.input.LA(4) + if LA203 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: + alt203 = 1 + elif LA203 in {L_PAREN}: + LA203_6 = self.input.LA(5) + + if (LA203_6 == ID) : + LA203_7 = self.input.LA(6) + + if (LA203_7 == R_PAREN) : + LA203_8 = self.input.LA(7) + + if (LA203_8 in {FROM, TO}) : + alt203 = 2 + elif (LA203_8 in {ASSIG_OP, DOT, L_PAREN, 248}) : + alt203 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if alt244 == 1: - # sdl92.g:1118:17: pid_expression - pass - root_0 = self._adaptor.nil() + nvae = NoViableAltException("", 203, 8, self.input) - self._state.following.append(self.FOLLOW_pid_expression_in_destination12914) - pid_expression555 = self.pid_expression() + raise nvae - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, pid_expression555.tree) + elif (LA203_7 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : + alt203 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - elif alt244 == 2: - # sdl92.g:1119:19: process_id - pass - root_0 = self._adaptor.nil() + nvae = NoViableAltException("", 203, 7, self.input) + raise nvae - self._state.following.append(self.FOLLOW_process_id_in_destination12934) - process_id556 = self.process_id() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, process_id556.tree) + elif (LA203_6 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : + alt203 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 203, 6, self.input) - elif alt244 == 3: - # sdl92.g:1120:19: THIS - pass - root_0 = self._adaptor.nil() + raise nvae - THIS557 = self.match(self.input, THIS, self.FOLLOW_THIS_in_destination12954) - if self._state.backtracking == 0: - THIS557_tree = self._adaptor.createWithPayload(THIS557) - self._adaptor.addChild(root_0, THIS557_tree) + elif LA203 in {FROM, TO}: + alt203 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 203, 4, self.input) + raise nvae - retval.stop = self.input.LT(-1) + elif LA203 in {FROM, TO}: + alt203 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + nvae = NoViableAltException("", 203, 2, self.input) + raise nvae - 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 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # $ANTLR end "destination" + nvae = NoViableAltException("", 203, 1, self.input) - class via_path_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + raise nvae - self.tree = None + elif (LA203_0 == INPUT) : + LA203 = self.input.LA(2) + if LA203 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: + alt203 = 1 + elif LA203 in {ID}: + LA203 = self.input.LA(3) + if LA203 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: + alt203 = 1 + elif LA203 in {L_PAREN}: + LA203_6 = self.input.LA(4) + + if (LA203_6 == ID) : + LA203_7 = self.input.LA(5) + + if (LA203_7 == R_PAREN) : + LA203_8 = self.input.LA(6) + + if (LA203_8 in {FROM, TO}) : + alt203 = 2 + elif (LA203_8 in {ASSIG_OP, DOT, L_PAREN, 248}) : + alt203 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 203, 8, self.input) + raise nvae - # $ANTLR start "via_path" - # sdl92.g:1124:1: via_path : via_path_element ( ',' via_path_element )* -> ( via_path_element )+ ; - def via_path(self, ): - retval = self.via_path_return() - retval.start = self.input.LT(1) + elif (LA203_7 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : + alt203 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = None - char_literal559 = None - via_path_element558 = None - via_path_element560 = None + nvae = NoViableAltException("", 203, 7, self.input) - char_literal559_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_via_path_element = RewriteRuleSubtreeStream(self._adaptor, "rule via_path_element") - try: - try: - # sdl92.g:1125:9: ( via_path_element ( ',' via_path_element )* -> ( via_path_element )+ ) - # sdl92.g:1125:17: via_path_element ( ',' via_path_element )* - pass - self._state.following.append(self.FOLLOW_via_path_element_in_via_path12986) - via_path_element558 = self.via_path_element() + raise nvae - self._state.following.pop() - if self._state.backtracking == 0: - stream_via_path_element.add(via_path_element558.tree) + elif (LA203_6 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : + alt203 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # sdl92.g:1125:34: ( ',' via_path_element )* - while True: #loop245 - alt245 = 2 - LA245_0 = self.input.LA(1) - if (LA245_0 == COMMA) : - alt245 = 1 + nvae = NoViableAltException("", 203, 6, self.input) + raise nvae - if alt245 == 1: - # sdl92.g:1125:35: ',' via_path_element - pass - char_literal559 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_via_path12989) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal559) + elif LA203 in {FROM, TO}: + alt203 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.append(self.FOLLOW_via_path_element_in_via_path12991) - via_path_element560 = self.via_path_element() - self._state.following.pop() - if self._state.backtracking == 0: - stream_via_path_element.add(via_path_element560.tree) + nvae = NoViableAltException("", 203, 4, self.input) + raise nvae + elif LA203 in {FROM, TO}: + alt203 = 2 else: - break #loop245 + if self._state.backtracking > 0: + raise BacktrackingFailed - # AST Rewrite - # elements: via_path_element - # 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) + nvae = NoViableAltException("", 203, 2, self.input) + raise nvae - root_0 = self._adaptor.nil() - # 1126:9: -> ( via_path_element )+ - # sdl92.g:1126:17: ( via_path_element )+ - if not (stream_via_path_element.hasNext()): - raise RewriteEarlyExitException() - while stream_via_path_element.hasNext(): - self._adaptor.addChild(root_0, stream_via_path_element.nextTree()) + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - stream_via_path_element.reset() + nvae = NoViableAltException("", 203, 0, self.input) + raise nvae + if alt203 == 1: + # sdl92.g:1155:17: ( UNHANDLED )? INPUT + pass + # sdl92.g:1155:17: ( UNHANDLED )? + alt198 = 2 + LA198_0 = self.input.LA(1) - retval.tree = root_0 + if (LA198_0 == UNHANDLED) : + alt198 = 1 + if alt198 == 1: + # sdl92.g:1155:17: UNHANDLED + pass + UNHANDLED572 = self.match(self.input, UNHANDLED, self.FOLLOW_UNHANDLED_in_input_expression12720) + if self._state.backtracking == 0: + stream_UNHANDLED.add(UNHANDLED572) - retval.stop = self.input.LT(-1) + INPUT573 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_expression12723) + if self._state.backtracking == 0: + stream_INPUT.add(INPUT573) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # AST Rewrite + # elements: UNHANDLED + # 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() + # 1156:17: -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) + # sdl92.g:1156:20: ^( INPUT_EXPRESSION ( UNHANDLED )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(INPUT_EXPRESSION, "INPUT_EXPRESSION") + , root_1) - 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) + # sdl92.g:1156:39: ( UNHANDLED )? + if stream_UNHANDLED.hasNext(): + self._adaptor.addChild(root_1, + stream_UNHANDLED.nextNode() + ) - finally: - pass - return retval - # $ANTLR end "via_path" + stream_UNHANDLED.reset(); + self._adaptor.addChild(root_0, root_1) - class via_path_element_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + retval.tree = root_0 - # $ANTLR start "via_path_element" - # sdl92.g:1130:1: via_path_element : ID ; - def via_path_element(self, ): - retval = self.via_path_element_return() - retval.start = self.input.LT(1) + elif alt203 == 2: + # sdl92.g:1157:19: ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID + pass + # sdl92.g:1157:19: ( UNHANDLED )? + alt199 = 2 + LA199_0 = self.input.LA(1) - root_0 = None + if (LA199_0 == UNHANDLED) : + alt199 = 1 + if alt199 == 1: + # sdl92.g:1157:19: UNHANDLED + pass + UNHANDLED574 = self.match(self.input, UNHANDLED, self.FOLLOW_UNHANDLED_in_input_expression12768) + if self._state.backtracking == 0: + stream_UNHANDLED.add(UNHANDLED574) - ID561 = None - ID561_tree = None - try: - try: - # sdl92.g:1131:9: ( ID ) - # sdl92.g:1131:17: ID - pass - root_0 = self._adaptor.nil() - ID561 = self.match(self.input, ID, self.FOLLOW_ID_in_via_path_element13043) - if self._state.backtracking == 0: - ID561_tree = self._adaptor.createWithPayload(ID561) - self._adaptor.addChild(root_0, ID561_tree) + INPUT575 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_expression12771) + if self._state.backtracking == 0: + stream_INPUT.add(INPUT575) + # sdl92.g:1157:36: (msg= ID ( '(' param= ID ')' )? )? + alt201 = 2 + LA201_0 = self.input.LA(1) + if (LA201_0 == ID) : + alt201 = 1 + if alt201 == 1: + # sdl92.g:1157:37: msg= ID ( '(' param= ID ')' )? + pass + msg = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression12776) + if self._state.backtracking == 0: + stream_ID.add(msg) - retval.stop = self.input.LT(-1) + # sdl92.g:1157:44: ( '(' param= ID ')' )? + alt200 = 2 + LA200_0 = self.input.LA(1) + if (LA200_0 == L_PAREN) : + alt200 = 1 + if alt200 == 1: + # sdl92.g:1157:45: '(' param= ID ')' + pass + char_literal576 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_expression12779) + if self._state.backtracking == 0: + stream_L_PAREN.add(char_literal576) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + param = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression12783) + if self._state.backtracking == 0: + stream_ID.add(param) - 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) + char_literal577 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_expression12785) + if self._state.backtracking == 0: + stream_R_PAREN.add(char_literal577) - finally: - pass - return retval - # $ANTLR end "via_path_element" - class actual_parameters_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # sdl92.g:1157:67: ( FROM src= ID )? + alt202 = 2 + LA202_0 = self.input.LA(1) + if (LA202_0 == FROM) : + alt202 = 1 + if alt202 == 1: + # sdl92.g:1157:68: FROM src= ID + pass + FROM578 = self.match(self.input, FROM, self.FOLLOW_FROM_in_input_expression12793) + if self._state.backtracking == 0: + stream_FROM.add(FROM578) - # $ANTLR start "actual_parameters" - # sdl92.g:1135:1: actual_parameters : '(' expression ( ',' expression )* ')' -> ^( PARAMS ( expression )+ ) ; - def actual_parameters(self, ): - retval = self.actual_parameters_return() - retval.start = self.input.LT(1) + src = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression12797) + if self._state.backtracking == 0: + stream_ID.add(src) - root_0 = None - char_literal562 = None - char_literal564 = None - char_literal566 = None - expression563 = None - expression565 = None - char_literal562_tree = None - char_literal564_tree = None - char_literal566_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_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - try: - try: - # sdl92.g:1136:9: ( '(' expression ( ',' expression )* ')' -> ^( PARAMS ( expression )+ ) ) - # sdl92.g:1136:16: '(' expression ( ',' expression )* ')' - pass - char_literal562 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_actual_parameters13075) - if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal562) - self._state.following.append(self.FOLLOW_expression_in_actual_parameters13077) - expression563 = self.expression() + TO579 = self.match(self.input, TO, self.FOLLOW_TO_in_input_expression12801) + if self._state.backtracking == 0: + stream_TO.add(TO579) - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression563.tree) + dest = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression12805) + if self._state.backtracking == 0: + stream_ID.add(dest) - # sdl92.g:1136:31: ( ',' expression )* - while True: #loop246 - alt246 = 2 - LA246_0 = self.input.LA(1) - if (LA246_0 == COMMA) : - alt246 = 1 + # AST Rewrite + # elements: UNHANDLED, msg, param, FROM, src, TO, dest + # token labels: msg, param, src, dest + # rule labels: retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + stream_msg = RewriteRuleTokenStream(self._adaptor, "token msg", msg) + stream_param = RewriteRuleTokenStream(self._adaptor, "token param", param) + stream_src = RewriteRuleTokenStream(self._adaptor, "token src", src) + stream_dest = RewriteRuleTokenStream(self._adaptor, "token dest", dest) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - if alt246 == 1: - # sdl92.g:1136:32: ',' expression - pass - char_literal564 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_actual_parameters13080) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal564) + root_0 = self._adaptor.nil() + # 1158:17: -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) + # sdl92.g:1158:20: ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(INPUT_EXPRESSION, "INPUT_EXPRESSION") + , root_1) + # sdl92.g:1158:39: ( UNHANDLED )? + if stream_UNHANDLED.hasNext(): + self._adaptor.addChild(root_1, + stream_UNHANDLED.nextNode() + ) - self._state.following.append(self.FOLLOW_expression_in_actual_parameters13082) - expression565 = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression565.tree) + stream_UNHANDLED.reset(); + # sdl92.g:1158:51: ( $msg)? + if stream_msg.hasNext(): + self._adaptor.addChild(root_1, stream_msg.nextNode()) - else: - break #loop246 + stream_msg.reset(); + # sdl92.g:1158:56: ( ^( IOPARAM $param) )? + if stream_param.hasNext(): + # sdl92.g:1158:56: ^( IOPARAM $param) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + self._adaptor.createFromType(IOPARAM, "IOPARAM") + , root_2) - char_literal566 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_actual_parameters13086) - if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal566) + self._adaptor.addChild(root_2, stream_param.nextNode()) + self._adaptor.addChild(root_1, root_2) - # 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) + stream_param.reset(); - root_0 = self._adaptor.nil() - # 1137:9: -> ^( PARAMS ( expression )+ ) - # sdl92.g:1137:16: ^( PARAMS ( expression )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PARAMS, "PARAMS") - , root_1) + # sdl92.g:1158:75: ( ^( FROM $src) )? + if stream_FROM.hasNext() or stream_src.hasNext(): + # sdl92.g:1158:75: ^( FROM $src) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + stream_FROM.nextNode() + , root_2) - # sdl92.g:1137:25: ( expression )+ - if not (stream_expression.hasNext()): - raise RewriteEarlyExitException() + self._adaptor.addChild(root_2, stream_src.nextNode()) - while stream_expression.hasNext(): - self._adaptor.addChild(root_1, stream_expression.nextTree()) + self._adaptor.addChild(root_1, root_2) - stream_expression.reset() + stream_FROM.reset(); + stream_src.reset(); - self._adaptor.addChild(root_0, root_1) + # sdl92.g:1158:89: ^( TO $dest) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + stream_TO.nextNode() + , root_2) + self._adaptor.addChild(root_2, stream_dest.nextNode()) + self._adaptor.addChild(root_1, root_2) + self._adaptor.addChild(root_0, root_1) - retval.tree = root_0 + retval.tree = root_0 + + retval.stop = self.input.LT(-1) @@ -24113,19 +24065,25 @@ def actual_parameters(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 123, input_expression_StartIndex, success) + + pass return retval - # $ANTLR end "actual_parameters" + # $ANTLR end "input_expression" - class task_return(ParserRuleReturnScope): + class output_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -24135,299 +24093,360 @@ def __init__(self): - # $ANTLR start "task" - # sdl92.g:1141:1: task : ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) ; - def task(self, ): - retval = self.task_return() + # $ANTLR start "output_expression" + # sdl92.g:1162:1: output_expression : ( OUTPUT -> ^( OUTPUT_EXPRESSION ) | OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) ); + def output_expression(self, ): + retval = self.output_expression_return() retval.start = self.input.LT(1) + output_expression_StartIndex = self.input.index() root_0 = None - TASK572 = None - cif567 = None - symbolid568 = None - hyperlink569 = None - requirement570 = None - rid571 = None - task_body573 = None - end574 = None + msg = None + param = None + src = None + dest = None + OUTPUT580 = None + OUTPUT581 = None + char_literal582 = None + char_literal583 = None + FROM584 = None + TO585 = None + + msg_tree = None + param_tree = None + src_tree = None + dest_tree = None + OUTPUT580_tree = None + OUTPUT581_tree = None + char_literal582_tree = None + char_literal583_tree = None + FROM584_tree = None + TO585_tree = None + stream_OUTPUT = RewriteRuleTokenStream(self._adaptor, "token OUTPUT") + stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") + stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") + stream_FROM = RewriteRuleTokenStream(self._adaptor, "token FROM") + stream_TO = RewriteRuleTokenStream(self._adaptor, "token TO") + stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") + + success = False - TASK572_tree = None - stream_TASK = RewriteRuleTokenStream(self._adaptor, "token TASK") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") - stream_task_body = RewriteRuleSubtreeStream(self._adaptor, "rule task_body") try: try: - # sdl92.g:1142:9: ( ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) ) - # sdl92.g:1142:17: ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* TASK ( task_body )? end - pass - # sdl92.g:1142:17: ( cif )? - alt247 = 2 - LA247_0 = self.input.LA(1) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 124): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA247_0 == 254) : - LA247_1 = self.input.LA(2) - if (LA247_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt247 = 1 - if alt247 == 1: - # sdl92.g:1142:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_task13139) - cif567 = self.cif() + # sdl92.g:1163:9: ( OUTPUT -> ^( OUTPUT_EXPRESSION ) | OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) ) + alt207 = 2 + LA207_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif567.tree) + if (LA207_0 == OUTPUT) : + LA207 = self.input.LA(2) + if LA207 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: + alt207 = 1 + elif LA207 in {ID}: + LA207 = self.input.LA(3) + if LA207 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: + alt207 = 1 + elif LA207 in {L_PAREN}: + LA207_5 = self.input.LA(4) + + if (LA207_5 == ID) : + LA207_6 = self.input.LA(5) + + if (LA207_6 == R_PAREN) : + LA207_7 = self.input.LA(6) + + if (LA207_7 == FROM) : + alt207 = 2 + elif (LA207_7 in {ASSIG_OP, DOT, L_PAREN, 248}) : + alt207 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 207, 7, self.input) + raise nvae - # sdl92.g:1143:17: ( symbolid )? - alt248 = 2 - LA248_0 = self.input.LA(1) + elif (LA207_6 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : + alt207 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA248_0 == 254) : - LA248_1 = self.input.LA(2) - if (LA248_1 == 256) : - alt248 = 1 - if alt248 == 1: - # sdl92.g:1143:17: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_task13158) - symbolid568 = self.symbolid() + nvae = NoViableAltException("", 207, 6, self.input) - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid568.tree) + raise nvae + elif (LA207_5 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : + alt207 = 1 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + nvae = NoViableAltException("", 207, 5, self.input) + raise nvae - # sdl92.g:1144:17: ( hyperlink )? - alt249 = 2 - LA249_0 = self.input.LA(1) - if (LA249_0 == 254) : - LA249_1 = self.input.LA(2) + elif LA207 in {FROM}: + alt207 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA249_1 == KEEP) : - LA249_3 = self.input.LA(3) - if (LA249_3 == SPECIFIC) : - LA249_4 = self.input.LA(4) + nvae = NoViableAltException("", 207, 3, self.input) - if (LA249_4 == GEODE) : - LA249_5 = self.input.LA(5) + raise nvae - if (LA249_5 == HYPERLINK) : - alt249 = 1 - if alt249 == 1: - # sdl92.g:1144:17: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_task13177) - hyperlink569 = self.hyperlink() - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink569.tree) + elif LA207 in {FROM}: + alt207 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 207, 1, self.input) + raise nvae - # sdl92.g:1145:17: ( requirement )* - while True: #loop250 - alt250 = 2 - LA250_0 = self.input.LA(1) + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA250_0 == 254) : - LA250_1 = self.input.LA(2) - if (LA250_1 == KEEP) : - LA250_3 = self.input.LA(3) + nvae = NoViableAltException("", 207, 0, self.input) - if (LA250_3 == SPECIFIC) : - LA250_4 = self.input.LA(4) + raise nvae - if (LA250_4 == GEODE) : - LA250_5 = self.input.LA(5) - if (LA250_5 == REQ_ID) : - alt250 = 1 + if alt207 == 1: + # sdl92.g:1163:17: OUTPUT + pass + OUTPUT580 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output_expression12889) + if self._state.backtracking == 0: + stream_OUTPUT.add(OUTPUT580) + # AST Rewrite + # elements: + # 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() + # 1164:17: -> ^( OUTPUT_EXPRESSION ) + # sdl92.g:1164:20: ^( OUTPUT_EXPRESSION ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(OUTPUT_EXPRESSION, "OUTPUT_EXPRESSION") + , root_1) + self._adaptor.addChild(root_0, root_1) + retval.tree = root_0 - if alt250 == 1: - # sdl92.g:1145:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_task13196) - requirement570 = self.requirement() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement570.tree) + elif alt207 == 2: + # sdl92.g:1165:19: OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? + pass + OUTPUT581 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output_expression12931) + if self._state.backtracking == 0: + stream_OUTPUT.add(OUTPUT581) - else: - break #loop250 + # sdl92.g:1165:26: (msg= ID ( '(' param= ID ')' )? )? + alt205 = 2 + LA205_0 = self.input.LA(1) + + if (LA205_0 == ID) : + alt205 = 1 + if alt205 == 1: + # sdl92.g:1165:27: msg= ID ( '(' param= ID ')' )? + pass + msg = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression12936) + if self._state.backtracking == 0: + stream_ID.add(msg) - # sdl92.g:1146:17: ( rid )* - while True: #loop251 - alt251 = 2 - LA251_0 = self.input.LA(1) - if (LA251_0 == 254) : - alt251 = 1 + # sdl92.g:1165:34: ( '(' param= ID ')' )? + alt204 = 2 + LA204_0 = self.input.LA(1) + if (LA204_0 == L_PAREN) : + alt204 = 1 + if alt204 == 1: + # sdl92.g:1165:35: '(' param= ID ')' + pass + char_literal582 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_output_expression12939) + if self._state.backtracking == 0: + stream_L_PAREN.add(char_literal582) - if alt251 == 1: - # sdl92.g:1146:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_task13215) - rid571 = self.rid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid571.tree) + param = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression12943) + if self._state.backtracking == 0: + stream_ID.add(param) + char_literal583 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_output_expression12945) + if self._state.backtracking == 0: + stream_R_PAREN.add(char_literal583) - else: - break #loop251 - TASK572 = self.match(self.input, TASK, self.FOLLOW_TASK_in_task13234) - if self._state.backtracking == 0: - stream_TASK.add(TASK572) - # sdl92.g:1147:22: ( task_body )? - alt252 = 2 - LA252_0 = self.input.LA(1) - if (LA252_0 in {FOR, ID, STRING}) : - alt252 = 1 - if alt252 == 1: - # sdl92.g:1147:22: task_body - pass - self._state.following.append(self.FOLLOW_task_body_in_task13236) - task_body573 = self.task_body() - self._state.following.pop() + + # sdl92.g:1165:57: ( FROM src= ID ) + # sdl92.g:1165:58: FROM src= ID + pass + FROM584 = self.match(self.input, FROM, self.FOLLOW_FROM_in_output_expression12953) if self._state.backtracking == 0: - stream_task_body.add(task_body573.tree) + stream_FROM.add(FROM584) + src = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression12957) + if self._state.backtracking == 0: + stream_ID.add(src) - self._state.following.append(self.FOLLOW_end_in_task13239) - end574 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end574.tree) + # sdl92.g:1165:71: ( TO dest= ID )? + alt206 = 2 + LA206_0 = self.input.LA(1) - # AST Rewrite - # elements: TASK, cif, symbolid, hyperlink, requirement, rid, end, task_body - # 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) + if (LA206_0 == TO) : + alt206 = 1 + if alt206 == 1: + # sdl92.g:1165:72: TO dest= ID + pass + TO585 = self.match(self.input, TO, self.FOLLOW_TO_in_output_expression12961) + if self._state.backtracking == 0: + stream_TO.add(TO585) - root_0 = self._adaptor.nil() - # 1148:9: -> ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) - # sdl92.g:1148:17: ^( TASK ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? ( task_body )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_TASK.nextNode() - , root_1) + dest = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression12965) + if self._state.backtracking == 0: + stream_ID.add(dest) - # sdl92.g:1148:24: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) - stream_cif.reset(); - # sdl92.g:1148:29: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + # AST Rewrite + # elements: msg, param, FROM, src, TO, dest + # token labels: msg, param, src, dest + # rule labels: retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + stream_msg = RewriteRuleTokenStream(self._adaptor, "token msg", msg) + stream_param = RewriteRuleTokenStream(self._adaptor, "token param", param) + stream_src = RewriteRuleTokenStream(self._adaptor, "token src", src) + stream_dest = RewriteRuleTokenStream(self._adaptor, "token dest", dest) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - stream_symbolid.reset(); - # sdl92.g:1148:39: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) + root_0 = self._adaptor.nil() + # 1166:17: -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) + # sdl92.g:1166:20: ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(OUTPUT_EXPRESSION, "OUTPUT_EXPRESSION") + , root_1) + # sdl92.g:1166:41: ( $msg)? + if stream_msg.hasNext(): + self._adaptor.addChild(root_1, stream_msg.nextNode()) - stream_hyperlink.reset(); - # sdl92.g:1148:50: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) + stream_msg.reset(); + # sdl92.g:1166:46: ( ^( IOPARAM $param) )? + if stream_param.hasNext(): + # sdl92.g:1166:46: ^( IOPARAM $param) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + self._adaptor.createFromType(IOPARAM, "IOPARAM") + , root_2) - stream_requirement.reset(); + self._adaptor.addChild(root_2, stream_param.nextNode()) - # sdl92.g:1148:63: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) + self._adaptor.addChild(root_1, root_2) - stream_rid.reset(); + stream_param.reset(); - # sdl92.g:1148:68: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) + # sdl92.g:1166:65: ^( FROM $src) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + stream_FROM.nextNode() + , root_2) + self._adaptor.addChild(root_2, stream_src.nextNode()) - stream_end.reset(); + self._adaptor.addChild(root_1, root_2) - # sdl92.g:1148:73: ( task_body )? - if stream_task_body.hasNext(): - self._adaptor.addChild(root_1, stream_task_body.nextTree()) + # sdl92.g:1166:78: ( ^( TO $dest) )? + if stream_TO.hasNext() or stream_dest.hasNext(): + # sdl92.g:1166:78: ^( TO $dest) + root_2 = self._adaptor.nil() + root_2 = self._adaptor.becomeRoot( + stream_TO.nextNode() + , root_2) + self._adaptor.addChild(root_2, stream_dest.nextNode()) - stream_task_body.reset(); + self._adaptor.addChild(root_1, root_2) - self._adaptor.addChild(root_0, root_1) + stream_TO.reset(); + stream_dest.reset(); + self._adaptor.addChild(root_0, root_1) - retval.tree = root_0 + retval.tree = root_0 + @@ -24440,19 +24459,25 @@ def task(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 124, output_expression_StartIndex, success) + + pass return retval - # $ANTLR end "task" + # $ANTLR end "output_expression" - class task_body_return(ParserRuleReturnScope): + class primary_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -24462,102 +24487,70 @@ def __init__(self): - # $ANTLR start "task_body" - # sdl92.g:1152:1: task_body : ( ( assignment_statement ( ',' assignment_statement )* ) -> ^( TASK_BODY ( assignment_statement )+ ) | ( informal_text ( ',' informal_text )* ) -> ^( TASK_BODY ( informal_text )+ ) | ( forloop ( ',' forloop )* ) -> ^( TASK_BODY ( forloop )+ ) ); - def task_body(self, ): - retval = self.task_body_return() + # $ANTLR start "primary_expression" + # sdl92.g:1169:1: primary_expression : ( primary -> ^( PRIMARY primary ) | '(' expression ')' -> ^( PAREN expression ) | conditional_expression ); + def primary_expression(self, ): + retval = self.primary_expression_return() retval.start = self.input.LT(1) + primary_expression_StartIndex = self.input.index() root_0 = None - char_literal576 = None - char_literal579 = None - char_literal582 = None - assignment_statement575 = None - assignment_statement577 = None - informal_text578 = None - informal_text580 = None - forloop581 = None - forloop583 = None + char_literal587 = None + char_literal589 = None + primary586 = None + expression588 = None + conditional_expression590 = None + + char_literal587_tree = None + char_literal589_tree = None + stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") + stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_primary = RewriteRuleSubtreeStream(self._adaptor, "rule primary") + success = False - char_literal576_tree = None - char_literal579_tree = None - char_literal582_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_forloop = RewriteRuleSubtreeStream(self._adaptor, "rule forloop") - stream_informal_text = RewriteRuleSubtreeStream(self._adaptor, "rule informal_text") - stream_assignment_statement = RewriteRuleSubtreeStream(self._adaptor, "rule assignment_statement") try: try: - # sdl92.g:1153:9: ( ( assignment_statement ( ',' assignment_statement )* ) -> ^( TASK_BODY ( assignment_statement )+ ) | ( informal_text ( ',' informal_text )* ) -> ^( TASK_BODY ( informal_text )+ ) | ( forloop ( ',' forloop )* ) -> ^( TASK_BODY ( forloop )+ ) ) - alt256 = 3 - LA256 = self.input.LA(1) - if LA256 in {ID}: - alt256 = 1 - elif LA256 in {STRING}: - alt256 = 2 - elif LA256 in {FOR}: - alt256 = 3 + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 125): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1170:9: ( primary -> ^( PRIMARY primary ) | '(' expression ')' -> ^( PAREN expression ) | conditional_expression ) + alt208 = 3 + LA208 = self.input.LA(1) + if LA208 in {FALSE, FLOAT, ID, INT, L_BRACKET, MINUS_INFINITY, MKSTRING, PLUS_INFINITY, STATE, STRING, TRUE}: + alt208 = 1 + elif LA208 in {L_PAREN}: + alt208 = 2 + elif LA208 in {IF}: + alt208 = 3 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 256, 0, self.input) + nvae = NoViableAltException("", 208, 0, self.input) raise nvae - if alt256 == 1: - # sdl92.g:1153:17: ( assignment_statement ( ',' assignment_statement )* ) - pass - # sdl92.g:1153:17: ( assignment_statement ( ',' assignment_statement )* ) - # sdl92.g:1153:18: assignment_statement ( ',' assignment_statement )* + if alt208 == 1: + # sdl92.g:1170:17: primary pass - self._state.following.append(self.FOLLOW_assignment_statement_in_task_body13312) - assignment_statement575 = self.assignment_statement() + self._state.following.append(self.FOLLOW_primary_in_primary_expression13047) + primary586 = self.primary() self._state.following.pop() if self._state.backtracking == 0: - stream_assignment_statement.add(assignment_statement575.tree) - - - # sdl92.g:1153:39: ( ',' assignment_statement )* - while True: #loop253 - alt253 = 2 - LA253_0 = self.input.LA(1) - - if (LA253_0 == COMMA) : - alt253 = 1 - - - if alt253 == 1: - # sdl92.g:1153:40: ',' assignment_statement - pass - char_literal576 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13315) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal576) - - - self._state.following.append(self.FOLLOW_assignment_statement_in_task_body13317) - assignment_statement577 = self.assignment_statement() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_assignment_statement.add(assignment_statement577.tree) - - - - else: - break #loop253 - - - + stream_primary.add(primary586.tree) # AST Rewrite - # elements: assignment_statement + # elements: primary # token labels: # rule labels: retval # token list labels: @@ -24572,22 +24565,14 @@ def task_body(self, ): root_0 = self._adaptor.nil() - # 1154:9: -> ^( TASK_BODY ( assignment_statement )+ ) - # sdl92.g:1154:17: ^( TASK_BODY ( assignment_statement )+ ) + # 1170:47: -> ^( PRIMARY primary ) + # sdl92.g:1170:50: ^( PRIMARY primary ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TASK_BODY, "TASK_BODY") + self._adaptor.createFromType(PRIMARY, "PRIMARY") , root_1) - # sdl92.g:1154:29: ( assignment_statement )+ - if not (stream_assignment_statement.hasNext()): - raise RewriteEarlyExitException() - - while stream_assignment_statement.hasNext(): - self._adaptor.addChild(root_1, stream_assignment_statement.nextTree()) - - - stream_assignment_statement.reset() + self._adaptor.addChild(root_1, stream_primary.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -24599,55 +24584,29 @@ def task_body(self, ): - elif alt256 == 2: - # sdl92.g:1155:19: ( informal_text ( ',' informal_text )* ) + elif alt208 == 2: + # sdl92.g:1171:17: '(' expression ')' pass - # sdl92.g:1155:19: ( informal_text ( ',' informal_text )* ) - # sdl92.g:1155:20: informal_text ( ',' informal_text )* - pass - self._state.following.append(self.FOLLOW_informal_text_in_task_body13363) - informal_text578 = self.informal_text() - - self._state.following.pop() + char_literal587 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_primary_expression13095) if self._state.backtracking == 0: - stream_informal_text.add(informal_text578.tree) - - - # sdl92.g:1155:34: ( ',' informal_text )* - while True: #loop254 - alt254 = 2 - LA254_0 = self.input.LA(1) - - if (LA254_0 == COMMA) : - alt254 = 1 - - - if alt254 == 1: - # sdl92.g:1155:35: ',' informal_text - pass - char_literal579 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13366) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal579) - - - self._state.following.append(self.FOLLOW_informal_text_in_task_body13368) - informal_text580 = self.informal_text() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_informal_text.add(informal_text580.tree) - + stream_L_PAREN.add(char_literal587) - else: - break #loop254 + self._state.following.append(self.FOLLOW_expression_in_primary_expression13097) + expression588 = self.expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression588.tree) + char_literal589 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_primary_expression13099) + if self._state.backtracking == 0: + stream_R_PAREN.add(char_literal589) # AST Rewrite - # elements: informal_text + # elements: expression # token labels: # rule labels: retval # token list labels: @@ -24662,22 +24621,14 @@ def task_body(self, ): root_0 = self._adaptor.nil() - # 1156:9: -> ^( TASK_BODY ( informal_text )+ ) - # sdl92.g:1156:17: ^( TASK_BODY ( informal_text )+ ) + # 1171:47: -> ^( PAREN expression ) + # sdl92.g:1171:50: ^( PAREN expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TASK_BODY, "TASK_BODY") + self._adaptor.createFromType(PAREN, "PAREN") , root_1) - # sdl92.g:1156:29: ( informal_text )+ - if not (stream_informal_text.hasNext()): - raise RewriteEarlyExitException() - - while stream_informal_text.hasNext(): - self._adaptor.addChild(root_1, stream_informal_text.nextTree()) - - - stream_informal_text.reset() + self._adaptor.addChild(root_1, stream_expression.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -24689,93 +24640,18 @@ def task_body(self, ): - elif alt256 == 3: - # sdl92.g:1157:19: ( forloop ( ',' forloop )* ) - pass - # sdl92.g:1157:19: ( forloop ( ',' forloop )* ) - # sdl92.g:1157:20: forloop ( ',' forloop )* + elif alt208 == 3: + # sdl92.g:1172:17: conditional_expression pass - self._state.following.append(self.FOLLOW_forloop_in_task_body13414) - forloop581 = self.forloop() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_forloop.add(forloop581.tree) - - - # sdl92.g:1157:28: ( ',' forloop )* - while True: #loop255 - alt255 = 2 - LA255_0 = self.input.LA(1) - - if (LA255_0 == COMMA) : - alt255 = 1 - - - if alt255 == 1: - # sdl92.g:1157:29: ',' forloop - pass - char_literal582 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_task_body13417) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal582) - - - self._state.following.append(self.FOLLOW_forloop_in_task_body13419) - forloop583 = self.forloop() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_forloop.add(forloop583.tree) - - - - else: - break #loop255 - - + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_conditional_expression_in_primary_expression13136) + conditional_expression590 = self.conditional_expression() - # AST Rewrite - # elements: forloop - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + self._state.following.pop() 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() - # 1158:9: -> ^( TASK_BODY ( forloop )+ ) - # sdl92.g:1158:17: ^( TASK_BODY ( forloop )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TASK_BODY, "TASK_BODY") - , root_1) - - # sdl92.g:1158:29: ( forloop )+ - if not (stream_forloop.hasNext()): - raise RewriteEarlyExitException() - - while stream_forloop.hasNext(): - self._adaptor.addChild(root_1, stream_forloop.nextTree()) - - - stream_forloop.reset() - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 - + self._adaptor.addChild(root_0, conditional_expression590.tree) @@ -24788,19 +24664,25 @@ def task_body(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 125, primary_expression_StartIndex, success) + + pass return retval - # $ANTLR end "task_body" + # $ANTLR end "primary_expression" - class forloop_return(ParserRuleReturnScope): + class primary_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -24810,611 +24692,773 @@ def __init__(self): - # $ANTLR start "forloop" - # sdl92.g:1163:1: forloop : FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) ; - def forloop(self, ): - retval = self.forloop_return() + # $ANTLR start "primary" + # sdl92.g:1179:1: primary : ( TRUE ^| FALSE ^| STRING | PLUS_INFINITY ^| MINUS_INFINITY ^| INT ^| FLOAT ^| ID ':' expression -> ^( CHOICE ID expression ) | ID -> ^( VARIABLE ID ) | '{' '}' -> ^( EMPTYSTR ) | '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' -> ^( FLOAT2 $mant $bas $exp) | '{' named_value ( COMMA named_value )* '}' -> ^( SEQUENCE ( named_value )+ ) | '{' expression ( COMMA expression )* '}' -> ^( SEQOF ( expression )+ ) | MKSTRING '(' expression ( COMMA expression )* ')' -> ^( SEQOF ( expression )+ ) | STATE ^); + def primary(self, ): + retval = self.primary_return() retval.start = self.input.LT(1) + primary_StartIndex = self.input.index() root_0 = None - FOR584 = None - IN586 = None - char_literal589 = None - ENDFOR591 = None - variable_id585 = None - range587 = None - variable588 = None - transition590 = None - - FOR584_tree = None - IN586_tree = None - char_literal589_tree = None - ENDFOR591_tree = None + mant = None + bas = None + exp = None + TRUE591 = None + FALSE592 = None + STRING593 = None + PLUS_INFINITY594 = None + MINUS_INFINITY595 = None + INT596 = None + FLOAT597 = None + ID598 = None + char_literal599 = None + ID601 = None + char_literal602 = None + char_literal603 = None + char_literal604 = None + MANTISSA605 = None + COMMA606 = None + BASE607 = None + COMMA608 = None + EXPONENT609 = None + char_literal610 = None + char_literal611 = None + COMMA613 = None + char_literal615 = None + char_literal616 = None + COMMA618 = None + char_literal620 = None + MKSTRING621 = None + char_literal622 = None + COMMA624 = None + char_literal626 = None + STATE627 = None + expression600 = None + named_value612 = None + named_value614 = None + expression617 = None + expression619 = None + expression623 = None + expression625 = None + + mant_tree = None + bas_tree = None + exp_tree = None + TRUE591_tree = None + FALSE592_tree = None + STRING593_tree = None + PLUS_INFINITY594_tree = None + MINUS_INFINITY595_tree = None + INT596_tree = None + FLOAT597_tree = None + ID598_tree = None + char_literal599_tree = None + ID601_tree = None + char_literal602_tree = None + char_literal603_tree = None + char_literal604_tree = None + MANTISSA605_tree = None + COMMA606_tree = None + BASE607_tree = None + COMMA608_tree = None + EXPONENT609_tree = None + char_literal610_tree = None + char_literal611_tree = None + COMMA613_tree = None + char_literal615_tree = None + char_literal616_tree = None + COMMA618_tree = None + char_literal620_tree = None + MKSTRING621_tree = None + char_literal622_tree = None + COMMA624_tree = None + char_literal626_tree = None + STATE627_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") - stream_IN = RewriteRuleTokenStream(self._adaptor, "token IN") - stream_ENDFOR = RewriteRuleTokenStream(self._adaptor, "token ENDFOR") - stream_FOR = RewriteRuleTokenStream(self._adaptor, "token FOR") - stream_variable_id = RewriteRuleSubtreeStream(self._adaptor, "rule variable_id") - stream_variable = RewriteRuleSubtreeStream(self._adaptor, "rule variable") - stream_range = RewriteRuleSubtreeStream(self._adaptor, "rule range") - stream_transition = RewriteRuleSubtreeStream(self._adaptor, "rule transition") + stream_L_BRACKET = RewriteRuleTokenStream(self._adaptor, "token L_BRACKET") + stream_MANTISSA = RewriteRuleTokenStream(self._adaptor, "token MANTISSA") + stream_EXPONENT = RewriteRuleTokenStream(self._adaptor, "token EXPONENT") + stream_MKSTRING = RewriteRuleTokenStream(self._adaptor, "token MKSTRING") + stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") + stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") + stream_R_BRACKET = RewriteRuleTokenStream(self._adaptor, "token R_BRACKET") + stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") + stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") + stream_BASE = RewriteRuleTokenStream(self._adaptor, "token BASE") + stream_named_value = RewriteRuleSubtreeStream(self._adaptor, "rule named_value") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False + try: try: - # sdl92.g:1164:9: ( FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) ) - # sdl92.g:1164:17: FOR variable_id IN ( range | variable ) ':' ( transition )? ENDFOR - pass - FOR584 = self.match(self.input, FOR, self.FOLLOW_FOR_in_forloop13477) - if self._state.backtracking == 0: - stream_FOR.add(FOR584) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 126): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1180:9: ( TRUE ^| FALSE ^| STRING | PLUS_INFINITY ^| MINUS_INFINITY ^| INT ^| FLOAT ^| ID ':' expression -> ^( CHOICE ID expression ) | ID -> ^( VARIABLE ID ) | '{' '}' -> ^( EMPTYSTR ) | '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' -> ^( FLOAT2 $mant $bas $exp) | '{' named_value ( COMMA named_value )* '}' -> ^( SEQUENCE ( named_value )+ ) | '{' expression ( COMMA expression )* '}' -> ^( SEQOF ( expression )+ ) | MKSTRING '(' expression ( COMMA expression )* ')' -> ^( SEQOF ( expression )+ ) | STATE ^) + alt212 = 15 + LA212 = self.input.LA(1) + if LA212 in {TRUE}: + alt212 = 1 + elif LA212 in {FALSE}: + alt212 = 2 + elif LA212 in {STRING}: + alt212 = 3 + elif LA212 in {PLUS_INFINITY}: + alt212 = 4 + elif LA212 in {MINUS_INFINITY}: + alt212 = 5 + elif LA212 in {INT}: + alt212 = 6 + elif LA212 in {FLOAT}: + alt212 = 7 + elif LA212 in {ID}: + LA212_8 = self.input.LA(2) + + if (self.synpred282_sdl92()) : + alt212 = 8 + elif (self.synpred283_sdl92()) : + alt212 = 9 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.append(self.FOLLOW_variable_id_in_forloop13479) - variable_id585 = self.variable_id() + nvae = NoViableAltException("", 212, 8, self.input) - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable_id.add(variable_id585.tree) + raise nvae - IN586 = self.match(self.input, IN, self.FOLLOW_IN_in_forloop13481) - if self._state.backtracking == 0: - stream_IN.add(IN586) + elif LA212 in {L_BRACKET}: + LA212_9 = self.input.LA(2) + + if (self.synpred284_sdl92()) : + alt212 = 10 + elif (self.synpred285_sdl92()) : + alt212 = 11 + elif (self.synpred287_sdl92()) : + alt212 = 12 + elif (self.synpred289_sdl92()) : + alt212 = 13 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + nvae = NoViableAltException("", 212, 9, self.input) + + raise nvae - # sdl92.g:1164:36: ( range | variable ) - alt257 = 2 - LA257_0 = self.input.LA(1) - if (LA257_0 == RANGE) : - alt257 = 1 - elif (LA257_0 == ID) : - alt257 = 2 + elif LA212 in {MKSTRING}: + alt212 = 14 + elif LA212 in {STATE}: + alt212 = 15 else: if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException("", 257, 0, self.input) + nvae = NoViableAltException("", 212, 0, self.input) raise nvae - if alt257 == 1: - # sdl92.g:1164:37: range + if alt212 == 1: + # sdl92.g:1180:17: TRUE ^ pass - self._state.following.append(self.FOLLOW_range_in_forloop13484) - range587 = self.range() + root_0 = self._adaptor.nil() - self._state.following.pop() + + TRUE591 = self.match(self.input, TRUE, self.FOLLOW_TRUE_in_primary13171) if self._state.backtracking == 0: - stream_range.add(range587.tree) + TRUE591_tree = self._adaptor.createWithPayload(TRUE591) + root_0 = self._adaptor.becomeRoot(TRUE591_tree, root_0) + - elif alt257 == 2: - # sdl92.g:1164:45: variable + elif alt212 == 2: + # sdl92.g:1181:17: FALSE ^ pass - self._state.following.append(self.FOLLOW_variable_in_forloop13488) - variable588 = self.variable() + root_0 = self._adaptor.nil() - self._state.following.pop() + + FALSE592 = self.match(self.input, FALSE, self.FOLLOW_FALSE_in_primary13190) if self._state.backtracking == 0: - stream_variable.add(variable588.tree) + FALSE592_tree = self._adaptor.createWithPayload(FALSE592) + root_0 = self._adaptor.becomeRoot(FALSE592_tree, root_0) + elif alt212 == 3: + # sdl92.g:1182:17: STRING + pass + root_0 = self._adaptor.nil() - char_literal589 = self.match(self.input, 255, self.FOLLOW_255_in_forloop13491) - if self._state.backtracking == 0: - stream_255.add(char_literal589) + STRING593 = self.match(self.input, STRING, self.FOLLOW_STRING_in_primary13209) + if self._state.backtracking == 0: + STRING593_tree = self._adaptor.createWithPayload(STRING593) + self._adaptor.addChild(root_0, STRING593_tree) - # sdl92.g:1165:17: ( transition )? - alt258 = 2 - LA258_0 = self.input.LA(1) - if (LA258_0 in {ALTERNATIVE, CALL, CREATE, DECISION, EXPORT, FOR, ID, JOIN, NEXTSTATE, OUTPUT, RETURN, STOP, STRING, TASK, 254}) : - alt258 = 1 - if alt258 == 1: - # sdl92.g:1165:17: transition - pass - self._state.following.append(self.FOLLOW_transition_in_forloop13509) - transition590 = self.transition() - self._state.following.pop() - if self._state.backtracking == 0: - stream_transition.add(transition590.tree) + elif alt212 == 4: + # sdl92.g:1183:17: PLUS_INFINITY ^ + pass + root_0 = self._adaptor.nil() + PLUS_INFINITY594 = self.match(self.input, PLUS_INFINITY, self.FOLLOW_PLUS_INFINITY_in_primary13227) + if self._state.backtracking == 0: + PLUS_INFINITY594_tree = self._adaptor.createWithPayload(PLUS_INFINITY594) + root_0 = self._adaptor.becomeRoot(PLUS_INFINITY594_tree, root_0) - ENDFOR591 = self.match(self.input, ENDFOR, self.FOLLOW_ENDFOR_in_forloop13528) - if self._state.backtracking == 0: - stream_ENDFOR.add(ENDFOR591) - # AST Rewrite - # elements: FOR, variable_id, variable, range, 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) + elif alt212 == 5: + # sdl92.g:1184:17: MINUS_INFINITY ^ + pass + root_0 = self._adaptor.nil() - root_0 = self._adaptor.nil() - # 1167:9: -> ^( FOR variable_id ( variable )? ( range )? ( transition )? ) - # sdl92.g:1167:17: ^( FOR variable_id ( variable )? ( range )? ( transition )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_FOR.nextNode() - , root_1) + MINUS_INFINITY595 = self.match(self.input, MINUS_INFINITY, self.FOLLOW_MINUS_INFINITY_in_primary13246) + if self._state.backtracking == 0: + MINUS_INFINITY595_tree = self._adaptor.createWithPayload(MINUS_INFINITY595) + root_0 = self._adaptor.becomeRoot(MINUS_INFINITY595_tree, root_0) - self._adaptor.addChild(root_1, stream_variable_id.nextTree()) - # sdl92.g:1167:35: ( variable )? - if stream_variable.hasNext(): - self._adaptor.addChild(root_1, stream_variable.nextTree()) - stream_variable.reset(); + elif alt212 == 6: + # sdl92.g:1185:17: INT ^ + pass + root_0 = self._adaptor.nil() - # sdl92.g:1167:45: ( range )? - if stream_range.hasNext(): - self._adaptor.addChild(root_1, stream_range.nextTree()) + INT596 = self.match(self.input, INT, self.FOLLOW_INT_in_primary13265) + if self._state.backtracking == 0: + INT596_tree = self._adaptor.createWithPayload(INT596) + root_0 = self._adaptor.becomeRoot(INT596_tree, root_0) - stream_range.reset(); - # sdl92.g:1167:52: ( transition )? - if stream_transition.hasNext(): - self._adaptor.addChild(root_1, stream_transition.nextTree()) - stream_transition.reset(); + elif alt212 == 7: + # sdl92.g:1186:17: FLOAT ^ + pass + root_0 = self._adaptor.nil() - self._adaptor.addChild(root_0, root_1) + FLOAT597 = self.match(self.input, FLOAT, self.FOLLOW_FLOAT_in_primary13284) + if self._state.backtracking == 0: + FLOAT597_tree = self._adaptor.createWithPayload(FLOAT597) + root_0 = self._adaptor.becomeRoot(FLOAT597_tree, root_0) - retval.tree = root_0 + elif alt212 == 8: + # sdl92.g:1187:17: ID ':' expression + pass + ID598 = self.match(self.input, ID, self.FOLLOW_ID_in_primary13303) + if self._state.backtracking == 0: + stream_ID.add(ID598) + char_literal599 = self.match(self.input, 255, self.FOLLOW_255_in_primary13305) + if self._state.backtracking == 0: + stream_255.add(char_literal599) - retval.stop = self.input.LT(-1) + self._state.following.append(self.FOLLOW_expression_in_primary13307) + expression600 = self.expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression600.tree) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # AST Rewrite + # elements: ID, 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) - 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) + root_0 = self._adaptor.nil() + # 1187:45: -> ^( CHOICE ID expression ) + # sdl92.g:1187:48: ^( CHOICE ID expression ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(CHOICE, "CHOICE") + , root_1) - finally: - pass - return retval + self._adaptor.addChild(root_1, + stream_ID.nextNode() + ) - # $ANTLR end "forloop" + self._adaptor.addChild(root_1, stream_expression.nextTree()) + self._adaptor.addChild(root_0, root_1) - class range_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + retval.tree = root_0 - # $ANTLR start "range" - # sdl92.g:1169:1: range : RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN -> ^( RANGE $a ( $b)? ( $step)? ) ; - def range(self, ): - retval = self.range_return() - retval.start = self.input.LT(1) + elif alt212 == 9: + # sdl92.g:1188:17: ID + pass + ID601 = self.match(self.input, ID, self.FOLLOW_ID_in_primary13345) + if self._state.backtracking == 0: + stream_ID.add(ID601) - root_0 = None - step = None - RANGE592 = None - L_PAREN593 = None - COMMA594 = None - COMMA595 = None - R_PAREN596 = None - a = None - b = None + # AST Rewrite + # elements: 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) - step_tree = None - RANGE592_tree = None - L_PAREN593_tree = None - COMMA594_tree = None - COMMA595_tree = None - R_PAREN596_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") - stream_RANGE = RewriteRuleTokenStream(self._adaptor, "token RANGE") - stream_ground_expression = RewriteRuleSubtreeStream(self._adaptor, "rule ground_expression") - try: - try: - # sdl92.g:1170:9: ( RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN -> ^( RANGE $a ( $b)? ( $step)? ) ) - # sdl92.g:1170:17: RANGE L_PAREN a= ground_expression ( COMMA b= ground_expression )? ( COMMA step= INT )? R_PAREN - pass - RANGE592 = self.match(self.input, RANGE, self.FOLLOW_RANGE_in_range13580) - if self._state.backtracking == 0: - stream_RANGE.add(RANGE592) + root_0 = self._adaptor.nil() + # 1188:45: -> ^( VARIABLE ID ) + # sdl92.g:1188:48: ^( VARIABLE ID ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(VARIABLE, "VARIABLE") + , root_1) - L_PAREN593 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_range13598) - if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN593) + self._adaptor.addChild(root_1, + stream_ID.nextNode() + ) + + self._adaptor.addChild(root_0, root_1) - self._state.following.append(self.FOLLOW_ground_expression_in_range13602) - a = self.ground_expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_ground_expression.add(a.tree) + retval.tree = root_0 - # sdl92.g:1172:17: ( COMMA b= ground_expression )? - alt259 = 2 - LA259_0 = self.input.LA(1) - if (LA259_0 == COMMA) : - LA259_1 = self.input.LA(2) - if (LA259_1 == INT) : - LA259_3 = self.input.LA(3) - if (self.synpred309_sdl92()) : - alt259 = 1 - elif (LA259_1 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt259 = 1 - if alt259 == 1: - # sdl92.g:1172:18: COMMA b= ground_expression + elif alt212 == 10: + # sdl92.g:1189:17: '{' '}' pass - COMMA594 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range13621) + char_literal602 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary13396) if self._state.backtracking == 0: - stream_COMMA.add(COMMA594) + stream_L_BRACKET.add(char_literal602) - self._state.following.append(self.FOLLOW_ground_expression_in_range13625) - b = self.ground_expression() + char_literal603 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary13398) + if self._state.backtracking == 0: + stream_R_BRACKET.add(char_literal603) - self._state.following.pop() + + # AST Rewrite + # elements: + # token labels: + # rule labels: retval + # token list labels: + # rule list labels: + # wildcard labels: if self._state.backtracking == 0: - stream_ground_expression.add(b.tree) + 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() + # 1189:45: -> ^( EMPTYSTR ) + # sdl92.g:1189:48: ^( EMPTYSTR ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(EMPTYSTR, "EMPTYSTR") + , root_1) + + self._adaptor.addChild(root_0, root_1) + + retval.tree = root_0 + - # sdl92.g:1172:46: ( COMMA step= INT )? - alt260 = 2 - LA260_0 = self.input.LA(1) - if (LA260_0 == COMMA) : - alt260 = 1 - if alt260 == 1: - # sdl92.g:1172:47: COMMA step= INT + elif alt212 == 11: + # sdl92.g:1190:17: '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' pass - COMMA595 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_range13630) + char_literal604 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary13442) if self._state.backtracking == 0: - stream_COMMA.add(COMMA595) + stream_L_BRACKET.add(char_literal604) - step = self.match(self.input, INT, self.FOLLOW_INT_in_range13634) + MANTISSA605 = self.match(self.input, MANTISSA, self.FOLLOW_MANTISSA_in_primary13460) if self._state.backtracking == 0: - stream_INT.add(step) + stream_MANTISSA.add(MANTISSA605) + mant = self.match(self.input, INT, self.FOLLOW_INT_in_primary13464) + if self._state.backtracking == 0: + stream_INT.add(mant) + COMMA606 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary13466) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA606) - R_PAREN596 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_range13654) - if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN596) + BASE607 = self.match(self.input, BASE, self.FOLLOW_BASE_in_primary13484) + if self._state.backtracking == 0: + stream_BASE.add(BASE607) - # AST Rewrite - # elements: RANGE, a, b, step - # token labels: step - # rule labels: a, b, retval - # token list labels: - # rule list labels: - # wildcard labels: - if self._state.backtracking == 0: - retval.tree = root_0 - stream_step = RewriteRuleTokenStream(self._adaptor, "token step", step) - if a is not None: - stream_a = RewriteRuleSubtreeStream(self._adaptor, "rule a", a.tree) - else: - stream_a = RewriteRuleSubtreeStream(self._adaptor, "token a", None) - if b is not None: - stream_b = RewriteRuleSubtreeStream(self._adaptor, "rule b", b.tree) - else: - stream_b = RewriteRuleSubtreeStream(self._adaptor, "token b", None) + bas = self.match(self.input, INT, self.FOLLOW_INT_in_primary13488) + if self._state.backtracking == 0: + stream_INT.add(bas) - if retval is not None: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) - else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + COMMA608 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary13490) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA608) - root_0 = self._adaptor.nil() - # 1174:9: -> ^( RANGE $a ( $b)? ( $step)? ) - # sdl92.g:1174:17: ^( RANGE $a ( $b)? ( $step)? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_RANGE.nextNode() - , root_1) - self._adaptor.addChild(root_1, stream_a.nextTree()) + EXPONENT609 = self.match(self.input, EXPONENT, self.FOLLOW_EXPONENT_in_primary13508) + if self._state.backtracking == 0: + stream_EXPONENT.add(EXPONENT609) - # sdl92.g:1174:29: ( $b)? - if stream_b.hasNext(): - self._adaptor.addChild(root_1, stream_b.nextTree()) + exp = self.match(self.input, INT, self.FOLLOW_INT_in_primary13512) + if self._state.backtracking == 0: + stream_INT.add(exp) - stream_b.reset(); - # sdl92.g:1174:33: ( $step)? - if stream_step.hasNext(): - self._adaptor.addChild(root_1, stream_step.nextNode()) + char_literal610 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary13530) + if self._state.backtracking == 0: + stream_R_BRACKET.add(char_literal610) - stream_step.reset(); + # AST Rewrite + # elements: mant, bas, exp + # token labels: bas, mant, exp + # rule labels: retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + stream_bas = RewriteRuleTokenStream(self._adaptor, "token bas", bas) + stream_mant = RewriteRuleTokenStream(self._adaptor, "token mant", mant) + stream_exp = RewriteRuleTokenStream(self._adaptor, "token exp", exp) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - self._adaptor.addChild(root_0, root_1) + root_0 = self._adaptor.nil() + # 1194:45: -> ^( FLOAT2 $mant $bas $exp) + # sdl92.g:1194:48: ^( FLOAT2 $mant $bas $exp) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(FLOAT2, "FLOAT2") + , root_1) + self._adaptor.addChild(root_1, stream_mant.nextNode()) + self._adaptor.addChild(root_1, stream_bas.nextNode()) - retval.tree = root_0 + self._adaptor.addChild(root_1, stream_exp.nextNode()) + self._adaptor.addChild(root_0, root_1) - retval.stop = self.input.LT(-1) + retval.tree = root_0 - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + elif alt212 == 12: + # sdl92.g:1195:17: '{' named_value ( COMMA named_value )* '}' + pass + char_literal611 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary13587) + if self._state.backtracking == 0: + stream_L_BRACKET.add(char_literal611) - 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 + self._state.following.append(self.FOLLOW_named_value_in_primary13605) + named_value612 = self.named_value() - # $ANTLR end "range" + self._state.following.pop() + if self._state.backtracking == 0: + stream_named_value.add(named_value612.tree) - class assignment_statement_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + # sdl92.g:1196:29: ( COMMA named_value )* + while True: #loop209 + alt209 = 2 + LA209_0 = self.input.LA(1) - self.tree = None + if (LA209_0 == COMMA) : + alt209 = 1 + if alt209 == 1: + # sdl92.g:1196:30: COMMA named_value + pass + COMMA613 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary13608) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA613) + self._state.following.append(self.FOLLOW_named_value_in_primary13610) + named_value614 = self.named_value() - # $ANTLR start "assignment_statement" - # sdl92.g:1176:1: assignment_statement : variable ':=' expression -> ^( ASSIGN variable expression ) ; - def assignment_statement(self, ): - retval = self.assignment_statement_return() - retval.start = self.input.LT(1) + self._state.following.pop() + if self._state.backtracking == 0: + stream_named_value.add(named_value614.tree) - root_0 = None - string_literal598 = None - variable597 = None - expression599 = None + else: + break #loop209 - string_literal598_tree = None - stream_ASSIG_OP = RewriteRuleTokenStream(self._adaptor, "token ASSIG_OP") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - stream_variable = RewriteRuleSubtreeStream(self._adaptor, "rule variable") - try: - try: - # sdl92.g:1177:9: ( variable ':=' expression -> ^( ASSIGN variable expression ) ) - # sdl92.g:1177:17: variable ':=' expression - pass - self._state.following.append(self.FOLLOW_variable_in_assignment_statement13706) - variable597 = self.variable() - self._state.following.pop() - if self._state.backtracking == 0: - stream_variable.add(variable597.tree) + char_literal615 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary13630) + if self._state.backtracking == 0: + stream_R_BRACKET.add(char_literal615) - string_literal598 = self.match(self.input, ASSIG_OP, self.FOLLOW_ASSIG_OP_in_assignment_statement13708) - if self._state.backtracking == 0: - stream_ASSIG_OP.add(string_literal598) + # AST Rewrite + # elements: named_value + # 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) - self._state.following.append(self.FOLLOW_expression_in_assignment_statement13710) - expression599 = self.expression() + root_0 = self._adaptor.nil() + # 1197:45: -> ^( SEQUENCE ( named_value )+ ) + # sdl92.g:1197:48: ^( SEQUENCE ( named_value )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(SEQUENCE, "SEQUENCE") + , root_1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression599.tree) + # sdl92.g:1197:59: ( named_value )+ + if not (stream_named_value.hasNext()): + raise RewriteEarlyExitException() + while stream_named_value.hasNext(): + self._adaptor.addChild(root_1, stream_named_value.nextTree()) - # AST Rewrite - # elements: variable, 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) + stream_named_value.reset() - root_0 = self._adaptor.nil() - # 1178:9: -> ^( ASSIGN variable expression ) - # sdl92.g:1178:17: ^( ASSIGN variable expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(ASSIGN, "ASSIGN") - , root_1) - - self._adaptor.addChild(root_1, stream_variable.nextTree()) + self._adaptor.addChild(root_0, root_1) - self._adaptor.addChild(root_1, stream_expression.nextTree()) - self._adaptor.addChild(root_0, root_1) + retval.tree = root_0 - retval.tree = root_0 + elif alt212 == 13: + # sdl92.g:1198:17: '{' expression ( COMMA expression )* '}' + pass + char_literal616 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary13681) + if self._state.backtracking == 0: + stream_L_BRACKET.add(char_literal616) + self._state.following.append(self.FOLLOW_expression_in_primary13699) + expression617 = self.expression() - retval.stop = self.input.LT(-1) + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression617.tree) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # sdl92.g:1199:28: ( COMMA expression )* + while True: #loop210 + alt210 = 2 + LA210_0 = self.input.LA(1) + if (LA210_0 == COMMA) : + alt210 = 1 - 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) + if alt210 == 1: + # sdl92.g:1199:29: COMMA expression + pass + COMMA618 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary13702) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA618) - finally: - pass - return retval - # $ANTLR end "assignment_statement" + self._state.following.append(self.FOLLOW_expression_in_primary13704) + expression619 = self.expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression619.tree) - class variable_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + else: + break #loop210 + char_literal620 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary13724) + if self._state.backtracking == 0: + stream_R_BRACKET.add(char_literal620) - # $ANTLR start "variable" - # sdl92.g:1182:1: variable : ( postfix_expression | ID -> ^( VARIABLE ID ) ); - def variable(self, ): - retval = self.variable_return() - retval.start = self.input.LT(1) + # 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 = None + root_0 = self._adaptor.nil() + # 1200:45: -> ^( SEQOF ( expression )+ ) + # sdl92.g:1200:48: ^( SEQOF ( expression )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(SEQOF, "SEQOF") + , root_1) - ID601 = None - postfix_expression600 = None + # sdl92.g:1200:56: ( expression )+ + if not (stream_expression.hasNext()): + raise RewriteEarlyExitException() - ID601_tree = None - stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") + while stream_expression.hasNext(): + self._adaptor.addChild(root_1, stream_expression.nextTree()) - try: - try: - # sdl92.g:1183:9: ( postfix_expression | ID -> ^( VARIABLE ID ) ) - alt261 = 2 - LA261_0 = self.input.LA(1) - if (LA261_0 == ID) : - LA261_1 = self.input.LA(2) + stream_expression.reset() - if (LA261_1 in {DOT, L_PAREN, 248}) : - alt261 = 1 - elif (LA261_1 in {EOF, ASSIG_OP, COMMA, COMMENT, SEMI, 254, 255}) : - alt261 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._adaptor.addChild(root_0, root_1) - nvae = NoViableAltException("", 261, 1, self.input) - raise nvae + retval.tree = root_0 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 261, 0, self.input) - raise nvae + elif alt212 == 14: + # sdl92.g:1201:17: MKSTRING '(' expression ( COMMA expression )* ')' + pass + MKSTRING621 = self.match(self.input, MKSTRING, self.FOLLOW_MKSTRING_in_primary13775) + if self._state.backtracking == 0: + stream_MKSTRING.add(MKSTRING621) - if alt261 == 1: - # sdl92.g:1183:17: postfix_expression - pass - root_0 = self._adaptor.nil() + char_literal622 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_primary13777) + if self._state.backtracking == 0: + stream_L_PAREN.add(char_literal622) - self._state.following.append(self.FOLLOW_postfix_expression_in_variable13757) - postfix_expression600 = self.postfix_expression() + self._state.following.append(self.FOLLOW_expression_in_primary13779) + expression623 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, postfix_expression600.tree) + stream_expression.add(expression623.tree) + # sdl92.g:1201:41: ( COMMA expression )* + while True: #loop211 + alt211 = 2 + LA211_0 = self.input.LA(1) - elif alt261 == 2: - # sdl92.g:1184:17: ID - pass - ID601 = self.match(self.input, ID, self.FOLLOW_ID_in_variable13775) + if (LA211_0 == COMMA) : + alt211 = 1 + + + if alt211 == 1: + # sdl92.g:1201:42: COMMA expression + pass + COMMA624 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary13782) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA624) + + + self._state.following.append(self.FOLLOW_expression_in_primary13784) + expression625 = self.expression() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression625.tree) + + + + else: + break #loop211 + + + char_literal626 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_primary13788) if self._state.backtracking == 0: - stream_ID.add(ID601) + stream_R_PAREN.add(char_literal626) # AST Rewrite - # elements: ID + # elements: expression # token labels: # rule labels: retval # token list labels: @@ -25429,16 +25473,22 @@ def variable(self, ): root_0 = self._adaptor.nil() - # 1184:40: -> ^( VARIABLE ID ) - # sdl92.g:1184:44: ^( VARIABLE ID ) + # 1202:45: -> ^( SEQOF ( expression )+ ) + # sdl92.g:1202:48: ^( SEQOF ( expression )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(VARIABLE, "VARIABLE") + self._adaptor.createFromType(SEQOF, "SEQOF") , root_1) - self._adaptor.addChild(root_1, - stream_ID.nextNode() - ) + # sdl92.g:1202:56: ( expression )+ + if not (stream_expression.hasNext()): + raise RewriteEarlyExitException() + + while stream_expression.hasNext(): + self._adaptor.addChild(root_1, stream_expression.nextTree()) + + + stream_expression.reset() self._adaptor.addChild(root_0, root_1) @@ -25450,6 +25500,20 @@ def variable(self, ): + elif alt212 == 15: + # sdl92.g:1203:17: STATE ^ + pass + root_0 = self._adaptor.nil() + + + STATE627 = self.match(self.input, STATE, self.FOLLOW_STATE_in_primary13859) + if self._state.backtracking == 0: + STATE627_tree = self._adaptor.createWithPayload(STATE627) + root_0 = self._adaptor.becomeRoot(STATE627_tree, root_0) + + + + retval.stop = self.input.LT(-1) @@ -25459,19 +25523,25 @@ def variable(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 126, primary_StartIndex, success) + + pass return retval - # $ANTLR end "variable" + # $ANTLR end "primary" - class field_selection_return(ParserRuleReturnScope): + class informal_text_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -25481,59 +25551,72 @@ def __init__(self): - # $ANTLR start "field_selection" - # sdl92.g:1187:1: field_selection : ( ( '!' | DOT ) field_name ) ; - def field_selection(self, ): - retval = self.field_selection_return() + # $ANTLR start "informal_text" + # sdl92.g:1207:1: informal_text : STRING -> ^( INFORMAL_TEXT STRING ) ; + def informal_text(self, ): + retval = self.informal_text_return() retval.start = self.input.LT(1) + informal_text_StartIndex = self.input.index() root_0 = None - set602 = None - field_name603 = None + STRING628 = None - set602_tree = None + STRING628_tree = None + stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") + + success = False try: try: - # sdl92.g:1188:9: ( ( ( '!' | DOT ) field_name ) ) - # sdl92.g:1188:17: ( ( '!' | DOT ) field_name ) - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 127): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # sdl92.g:1188:17: ( ( '!' | DOT ) field_name ) - # sdl92.g:1188:18: ( '!' | DOT ) field_name + # sdl92.g:1208:9: ( STRING -> ^( INFORMAL_TEXT STRING ) ) + # sdl92.g:1208:18: STRING pass - set602 = self.input.LT(1) - - if self.input.LA(1) in {DOT, 248}: - self.input.consume() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set602)) - - self._state.errorRecovery = False + STRING628 = self.match(self.input, STRING, self.FOLLOW_STRING_in_informal_text13893) + if self._state.backtracking == 0: + stream_STRING.add(STRING628) - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # AST Rewrite + # elements: STRING + # 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) - mse = MismatchedSetException(None, self.input) - raise mse + root_0 = self._adaptor.nil() + # 1209:9: -> ^( INFORMAL_TEXT STRING ) + # sdl92.g:1209:18: ^( INFORMAL_TEXT STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(INFORMAL_TEXT, "INFORMAL_TEXT") + , root_1) + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) + self._adaptor.addChild(root_0, root_1) - self._state.following.append(self.FOLLOW_field_name_in_field_selection13836) - field_name603 = self.field_name() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, field_name603.tree) + retval.tree = root_0 @@ -25548,19 +25631,25 @@ def field_selection(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 127, informal_text_StartIndex, success) + + pass return retval - # $ANTLR end "field_selection" + # $ANTLR end "informal_text" - class expression_return(ParserRuleReturnScope): + class named_value_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -25570,32 +25659,50 @@ def __init__(self): - # $ANTLR start "expression" - # sdl92.g:1191:1: expression : binary_expression ; - def expression(self, ): - retval = self.expression_return() + # $ANTLR start "named_value" + # sdl92.g:1214:1: named_value : ID expression ; + def named_value(self, ): + retval = self.named_value_return() retval.start = self.input.LT(1) + named_value_StartIndex = self.input.index() root_0 = None - binary_expression604 = None + ID629 = None + expression630 = None + + ID629_tree = None + success = False try: try: - # sdl92.g:1192:9: ( binary_expression ) - # sdl92.g:1192:17: binary_expression + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 128): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1215:9: ( ID expression ) + # sdl92.g:1215:17: ID expression pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_in_expression13860) - binary_expression604 = self.binary_expression() + ID629 = self.match(self.input, ID, self.FOLLOW_ID_in_named_value13948) + if self._state.backtracking == 0: + ID629_tree = self._adaptor.createWithPayload(ID629) + self._adaptor.addChild(root_0, ID629_tree) + + + + self._state.following.append(self.FOLLOW_expression_in_named_value13950) + expression630 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression604.tree) + self._adaptor.addChild(root_0, expression630.tree) @@ -25609,19 +25716,25 @@ def expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 128, named_value_StartIndex, success) + + pass return retval - # $ANTLR end "expression" + # $ANTLR end "named_value" - class binary_expression_return(ParserRuleReturnScope): + class indexed_primary_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -25631,72 +25744,68 @@ def __init__(self): - # $ANTLR start "binary_expression" - # sdl92.g:1195:1: binary_expression : binary_expression_0 ( IMPLIES ^ binary_expression_0 )* ; - def binary_expression(self, ): - retval = self.binary_expression_return() + # $ANTLR start "indexed_primary" + # sdl92.g:1238:1: indexed_primary : primary '(' expression_list ')' ; + def indexed_primary(self, ): + retval = self.indexed_primary_return() retval.start = self.input.LT(1) + indexed_primary_StartIndex = self.input.index() root_0 = None - IMPLIES606 = None - binary_expression_0605 = None - binary_expression_0607 = None + char_literal632 = None + char_literal634 = None + primary631 = None + expression_list633 = None - IMPLIES606_tree = None + char_literal632_tree = None + char_literal634_tree = None + + success = False try: try: - # sdl92.g:1196:9: ( binary_expression_0 ( IMPLIES ^ binary_expression_0 )* ) - # sdl92.g:1196:17: binary_expression_0 ( IMPLIES ^ binary_expression_0 )* + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 129): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1239:9: ( primary '(' expression_list ')' ) + # sdl92.g:1239:17: primary '(' expression_list ')' pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_0_in_binary_expression13883) - binary_expression_0605 = self.binary_expression_0() + self._state.following.append(self.FOLLOW_primary_in_indexed_primary13988) + primary631 = self.primary() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_0605.tree) - - - # sdl92.g:1196:37: ( IMPLIES ^ binary_expression_0 )* - while True: #loop262 - alt262 = 2 - LA262_0 = self.input.LA(1) - - if (LA262_0 == IMPLIES) : - LA262_2 = self.input.LA(2) - - if (self.synpred313_sdl92()) : - alt262 = 1 - + self._adaptor.addChild(root_0, primary631.tree) - - if alt262 == 1: - # sdl92.g:1196:39: IMPLIES ^ binary_expression_0 - pass - IMPLIES606 = self.match(self.input, IMPLIES, self.FOLLOW_IMPLIES_in_binary_expression13887) - if self._state.backtracking == 0: - IMPLIES606_tree = self._adaptor.createWithPayload(IMPLIES606) - root_0 = self._adaptor.becomeRoot(IMPLIES606_tree, root_0) + char_literal632 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_indexed_primary13990) + if self._state.backtracking == 0: + char_literal632_tree = self._adaptor.createWithPayload(char_literal632) + self._adaptor.addChild(root_0, char_literal632_tree) - self._state.following.append(self.FOLLOW_binary_expression_0_in_binary_expression13890) - binary_expression_0607 = self.binary_expression_0() + self._state.following.append(self.FOLLOW_expression_list_in_indexed_primary13992) + expression_list633 = self.expression_list() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_0607.tree) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, expression_list633.tree) + char_literal634 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_indexed_primary13994) + if self._state.backtracking == 0: + char_literal634_tree = self._adaptor.createWithPayload(char_literal634) + self._adaptor.addChild(root_0, char_literal634_tree) - else: - break #loop262 @@ -25710,19 +25819,25 @@ def binary_expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 129, indexed_primary_StartIndex, success) + + pass return retval - # $ANTLR end "binary_expression" + # $ANTLR end "indexed_primary" - class binary_expression_0_return(ParserRuleReturnScope): + class field_primary_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -25732,143 +25847,144 @@ def __init__(self): - # $ANTLR start "binary_expression_0" - # sdl92.g:1197:1: binary_expression_0 : binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* ; - def binary_expression_0(self, ): - retval = self.binary_expression_0_return() + # $ANTLR start "field_primary" + # sdl92.g:1243:1: field_primary : primary field_selection ; + def field_primary(self, ): + retval = self.field_primary_return() retval.start = self.input.LT(1) + field_primary_StartIndex = self.input.index() root_0 = None - OR609 = None - ELSE610 = None - XOR611 = None - binary_expression_1608 = None - binary_expression_1612 = None + primary635 = None + field_selection636 = None - OR609_tree = None - ELSE610_tree = None - XOR611_tree = None + + success = False try: try: - # sdl92.g:1198:9: ( binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* ) - # sdl92.g:1198:17: binary_expression_1 ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 130): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1244:9: ( primary field_selection ) + # sdl92.g:1244:17: primary field_selection pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_1_in_binary_expression_013913) - binary_expression_1608 = self.binary_expression_1() + self._state.following.append(self.FOLLOW_primary_in_field_primary14026) + primary635 = self.primary() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_1608.tree) - + self._adaptor.addChild(root_0, primary635.tree) - # sdl92.g:1198:37: ( ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 )* - while True: #loop265 - alt265 = 2 - LA265_0 = self.input.LA(1) - if (LA265_0 == OR) : - LA265_2 = self.input.LA(2) - - if (self.synpred316_sdl92()) : - alt265 = 1 + self._state.following.append(self.FOLLOW_field_selection_in_field_primary14028) + field_selection636 = self.field_selection() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, field_selection636.tree) - elif (LA265_0 == XOR) : - LA265_3 = self.input.LA(2) - if (self.synpred316_sdl92()) : - alt265 = 1 + retval.stop = self.input.LT(-1) - if alt265 == 1: - # sdl92.g:1198:38: ( ( OR ^ ( ELSE )? ) | XOR ^) binary_expression_1 - pass - # sdl92.g:1198:38: ( ( OR ^ ( ELSE )? ) | XOR ^) - alt264 = 2 - LA264_0 = self.input.LA(1) - - if (LA264_0 == OR) : - alt264 = 1 - elif (LA264_0 == XOR) : - alt264 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - nvae = NoViableAltException("", 264, 0, self.input) - raise nvae + success = True + 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) - if alt264 == 1: - # sdl92.g:1198:40: ( OR ^ ( ELSE )? ) - pass - # sdl92.g:1198:40: ( OR ^ ( ELSE )? ) - # sdl92.g:1198:41: OR ^ ( ELSE )? - pass - OR609 = self.match(self.input, OR, self.FOLLOW_OR_in_binary_expression_013919) - if self._state.backtracking == 0: - OR609_tree = self._adaptor.createWithPayload(OR609) - root_0 = self._adaptor.becomeRoot(OR609_tree, root_0) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 130, field_primary_StartIndex, success) + pass + return retval - # sdl92.g:1198:45: ( ELSE )? - alt263 = 2 - LA263_0 = self.input.LA(1) + # $ANTLR end "field_primary" - if (LA263_0 == ELSE) : - alt263 = 1 - if alt263 == 1: - # sdl92.g:1198:45: ELSE - pass - ELSE610 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_binary_expression_013922) - if self._state.backtracking == 0: - ELSE610_tree = self._adaptor.createWithPayload(ELSE610) - self._adaptor.addChild(root_0, ELSE610_tree) + class structure_primary_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None + # $ANTLR start "structure_primary" + # sdl92.g:1248:1: structure_primary : '(.' expression_list '.)' ; + def structure_primary(self, ): + retval = self.structure_primary_return() + retval.start = self.input.LT(1) + structure_primary_StartIndex = self.input.index() + root_0 = None - elif alt264 == 2: - # sdl92.g:1198:54: XOR ^ - pass - XOR611 = self.match(self.input, XOR, self.FOLLOW_XOR_in_binary_expression_013928) - if self._state.backtracking == 0: - XOR611_tree = self._adaptor.createWithPayload(XOR611) - root_0 = self._adaptor.becomeRoot(XOR611_tree, root_0) + string_literal637 = None + string_literal639 = None + expression_list638 = None + string_literal637_tree = None + string_literal639_tree = None + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 131): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:1249:9: ( '(.' expression_list '.)' ) + # sdl92.g:1249:17: '(.' expression_list '.)' + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_1_in_binary_expression_013933) - binary_expression_1612 = self.binary_expression_1() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_1612.tree) + string_literal637 = self.match(self.input, 249, self.FOLLOW_249_in_structure_primary14060) + if self._state.backtracking == 0: + string_literal637_tree = self._adaptor.createWithPayload(string_literal637) + self._adaptor.addChild(root_0, string_literal637_tree) - else: - break #loop265 + self._state.following.append(self.FOLLOW_expression_list_in_structure_primary14062) + expression_list638 = self.expression_list() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, expression_list638.tree) + + + string_literal639 = self.match(self.input, 253, self.FOLLOW_253_in_structure_primary14064) + if self._state.backtracking == 0: + string_literal639_tree = self._adaptor.createWithPayload(string_literal639) + self._adaptor.addChild(root_0, string_literal639_tree) + @@ -25882,19 +25998,25 @@ def binary_expression_0(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 131, structure_primary_StartIndex, success) + + pass return retval - # $ANTLR end "binary_expression_0" + # $ANTLR end "structure_primary" - class binary_expression_1_return(ParserRuleReturnScope): + class sort_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -25904,93 +26026,72 @@ def __init__(self): - # $ANTLR start "binary_expression_1" - # sdl92.g:1199:1: binary_expression_1 : binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* ; - def binary_expression_1(self, ): - retval = self.binary_expression_1_return() + # $ANTLR start "sort" + # sdl92.g:1291:1: sort : sort_id -> ^( SORT sort_id ) ; + def sort(self, ): + retval = self.sort_return() retval.start = self.input.LT(1) + sort_StartIndex = self.input.index() root_0 = None - AND614 = None - THEN615 = None - binary_expression_2613 = None - binary_expression_2616 = None + sort_id640 = None - AND614_tree = None - THEN615_tree = None + stream_sort_id = RewriteRuleSubtreeStream(self._adaptor, "rule sort_id") + success = False try: try: - # sdl92.g:1200:9: ( binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* ) - # sdl92.g:1200:17: binary_expression_2 ( AND ^ ( THEN )? binary_expression_2 )* - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 132): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_binary_expression_2_in_binary_expression_113956) - binary_expression_2613 = self.binary_expression_2() + # sdl92.g:1291:9: ( sort_id -> ^( SORT sort_id ) ) + # sdl92.g:1291:17: sort_id + pass + self._state.following.append(self.FOLLOW_sort_id_in_sort14095) + sort_id640 = self.sort_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_2613.tree) - - - # sdl92.g:1200:37: ( AND ^ ( THEN )? binary_expression_2 )* - while True: #loop267 - alt267 = 2 - LA267_0 = self.input.LA(1) - - if (LA267_0 == AND) : - LA267_2 = self.input.LA(2) - - if (self.synpred318_sdl92()) : - alt267 = 1 - - + stream_sort_id.add(sort_id640.tree) - if alt267 == 1: - # sdl92.g:1200:39: AND ^ ( THEN )? binary_expression_2 - pass - AND614 = self.match(self.input, AND, self.FOLLOW_AND_in_binary_expression_113960) - if self._state.backtracking == 0: - AND614_tree = self._adaptor.createWithPayload(AND614) - root_0 = self._adaptor.becomeRoot(AND614_tree, root_0) - - - - # sdl92.g:1200:44: ( THEN )? - alt266 = 2 - LA266_0 = self.input.LA(1) - - if (LA266_0 == THEN) : - alt266 = 1 - if alt266 == 1: - # sdl92.g:1200:44: THEN - pass - THEN615 = self.match(self.input, THEN, self.FOLLOW_THEN_in_binary_expression_113963) - if self._state.backtracking == 0: - THEN615_tree = self._adaptor.createWithPayload(THEN615) - self._adaptor.addChild(root_0, THEN615_tree) - + # AST Rewrite + # elements: sort_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() + # 1292:9: -> ^( SORT sort_id ) + # sdl92.g:1292:17: ^( SORT sort_id ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(SORT, "SORT") + , root_1) + self._adaptor.addChild(root_1, stream_sort_id.nextTree()) + self._adaptor.addChild(root_0, root_1) - self._state.following.append(self.FOLLOW_binary_expression_2_in_binary_expression_113966) - binary_expression_2616 = self.binary_expression_2() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_2616.tree) + retval.tree = root_0 - else: - break #loop267 @@ -26004,19 +26105,25 @@ def binary_expression_1(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 132, sort_StartIndex, success) + + pass return retval - # $ANTLR end "binary_expression_1" + # $ANTLR end "sort" - class binary_expression_2_return(ParserRuleReturnScope): + class type_inst_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -26026,223 +26133,224 @@ def __init__(self): - # $ANTLR start "binary_expression_2" - # sdl92.g:1201:1: binary_expression_2 : binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* ; - def binary_expression_2(self, ): - retval = self.binary_expression_2_return() + # $ANTLR start "type_inst" + # sdl92.g:1296:1: type_inst : type_id -> ^( TYPE_INSTANCE type_id ) ; + def type_inst(self, ): + retval = self.type_inst_return() retval.start = self.input.LT(1) + type_inst_StartIndex = self.input.index() root_0 = None - EQ618 = None - NEQ619 = None - GT620 = None - GE621 = None - LT622 = None - LE623 = None - IN624 = None - binary_expression_3617 = None - binary_expression_3625 = None - - EQ618_tree = None - NEQ619_tree = None - GT620_tree = None - GE621_tree = None - LT622_tree = None - LE623_tree = None - IN624_tree = None + type_id641 = None + + stream_type_id = RewriteRuleSubtreeStream(self._adaptor, "rule type_id") + success = False try: try: - # sdl92.g:1202:9: ( binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* ) - # sdl92.g:1202:17: binary_expression_3 ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 133): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_binary_expression_3_in_binary_expression_213989) - binary_expression_3617 = self.binary_expression_3() + # sdl92.g:1297:9: ( type_id -> ^( TYPE_INSTANCE type_id ) ) + # sdl92.g:1297:17: type_id + pass + self._state.following.append(self.FOLLOW_type_id_in_type_inst14148) + type_id641 = self.type_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_3617.tree) + stream_type_id.add(type_id641.tree) + + + # AST Rewrite + # elements: type_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() + # 1298:9: -> ^( TYPE_INSTANCE type_id ) + # sdl92.g:1298:17: ^( TYPE_INSTANCE type_id ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(TYPE_INSTANCE, "TYPE_INSTANCE") + , root_1) - # sdl92.g:1202:37: ( ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 )* - while True: #loop269 - alt269 = 2 - LA269 = self.input.LA(1) - if LA269 in {EQ}: - LA269_2 = self.input.LA(2) + self._adaptor.addChild(root_1, stream_type_id.nextTree()) - if (self.synpred325_sdl92()) : - alt269 = 1 + self._adaptor.addChild(root_0, root_1) - elif LA269 in {NEQ}: - LA269_3 = self.input.LA(2) - if (self.synpred325_sdl92()) : - alt269 = 1 + retval.tree = root_0 - elif LA269 in {GT}: - LA269_4 = self.input.LA(2) - if (self.synpred325_sdl92()) : - alt269 = 1 - elif LA269 in {GE}: - LA269_5 = self.input.LA(2) - if (self.synpred325_sdl92()) : - alt269 = 1 + retval.stop = self.input.LT(-1) - elif LA269 in {LT}: - LA269_6 = self.input.LA(2) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (self.synpred325_sdl92()) : - alt269 = 1 - elif LA269 in {LE}: - LA269_7 = self.input.LA(2) + success = True - if (self.synpred325_sdl92()) : - alt269 = 1 + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 133, type_inst_StartIndex, success) - elif LA269 in {IN}: - LA269_8 = self.input.LA(2) - if (self.synpred325_sdl92()) : - alt269 = 1 + pass + return retval + # $ANTLR end "type_inst" - if alt269 == 1: - # sdl92.g:1202:38: ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) binary_expression_3 - pass - # sdl92.g:1202:38: ( EQ ^| NEQ ^| GT ^| GE ^| LT ^| LE ^| IN ^) - alt268 = 7 - LA268 = self.input.LA(1) - if LA268 in {EQ}: - alt268 = 1 - elif LA268 in {NEQ}: - alt268 = 2 - elif LA268 in {GT}: - alt268 = 3 - elif LA268 in {GE}: - alt268 = 4 - elif LA268 in {LT}: - alt268 = 5 - elif LA268 in {LE}: - alt268 = 6 - elif LA268 in {IN}: - alt268 = 7 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + class syntype_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - nvae = NoViableAltException("", 268, 0, self.input) - raise nvae - if alt268 == 1: - # sdl92.g:1202:40: EQ ^ - pass - EQ618 = self.match(self.input, EQ, self.FOLLOW_EQ_in_binary_expression_213994) - if self._state.backtracking == 0: - EQ618_tree = self._adaptor.createWithPayload(EQ618) - root_0 = self._adaptor.becomeRoot(EQ618_tree, root_0) + # $ANTLR start "syntype" + # sdl92.g:1302:1: syntype : syntype_id ; + def syntype(self, ): + retval = self.syntype_return() + retval.start = self.input.LT(1) + syntype_StartIndex = self.input.index() + root_0 = None - elif alt268 == 2: - # sdl92.g:1202:46: NEQ ^ - pass - NEQ619 = self.match(self.input, NEQ, self.FOLLOW_NEQ_in_binary_expression_213999) - if self._state.backtracking == 0: - NEQ619_tree = self._adaptor.createWithPayload(NEQ619) - root_0 = self._adaptor.becomeRoot(NEQ619_tree, root_0) + syntype_id642 = None + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 134): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - elif alt268 == 3: - # sdl92.g:1202:53: GT ^ - pass - GT620 = self.match(self.input, GT, self.FOLLOW_GT_in_binary_expression_214004) - if self._state.backtracking == 0: - GT620_tree = self._adaptor.createWithPayload(GT620) - root_0 = self._adaptor.becomeRoot(GT620_tree, root_0) + # sdl92.g:1302:9: ( syntype_id ) + # sdl92.g:1302:17: syntype_id + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_syntype_id_in_syntype14193) + syntype_id642 = self.syntype_id() - elif alt268 == 4: - # sdl92.g:1202:59: GE ^ - pass - GE621 = self.match(self.input, GE, self.FOLLOW_GE_in_binary_expression_214009) - if self._state.backtracking == 0: - GE621_tree = self._adaptor.createWithPayload(GE621) - root_0 = self._adaptor.becomeRoot(GE621_tree, root_0) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, syntype_id642.tree) - elif alt268 == 5: - # sdl92.g:1202:65: LT ^ - pass - LT622 = self.match(self.input, LT, self.FOLLOW_LT_in_binary_expression_214014) - if self._state.backtracking == 0: - LT622_tree = self._adaptor.createWithPayload(LT622) - root_0 = self._adaptor.becomeRoot(LT622_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) - elif alt268 == 6: - # sdl92.g:1202:71: LE ^ - pass - LE623 = self.match(self.input, LE, self.FOLLOW_LE_in_binary_expression_214019) - if self._state.backtracking == 0: - LE623_tree = self._adaptor.createWithPayload(LE623) - root_0 = self._adaptor.becomeRoot(LE623_tree, root_0) + success = True + + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 134, syntype_StartIndex, success) - elif alt268 == 7: - # sdl92.g:1202:77: IN ^ - pass - IN624 = self.match(self.input, IN, self.FOLLOW_IN_in_binary_expression_214024) - if self._state.backtracking == 0: - IN624_tree = self._adaptor.createWithPayload(IN624) - root_0 = self._adaptor.becomeRoot(IN624_tree, root_0) + pass + return retval + + # $ANTLR end "syntype" + class variable_access_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - self._state.following.append(self.FOLLOW_binary_expression_3_in_binary_expression_214029) - binary_expression_3625 = self.binary_expression_3() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_3625.tree) + # $ANTLR start "variable_access" + # sdl92.g:1316:1: variable_access : variable_id ; + def variable_access(self, ): + retval = self.variable_access_return() + retval.start = self.input.LT(1) + variable_access_StartIndex = self.input.index() + + root_0 = None + + variable_id643 = None - else: - break #loop269 + + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 135): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1317:9: ( variable_id ) + # sdl92.g:1317:17: variable_id + pass + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_variable_id_in_variable_access14227) + variable_id643 = self.variable_id() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, variable_id643.tree) @@ -26256,19 +26364,25 @@ def binary_expression_2(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 135, variable_access_StartIndex, success) + + pass return retval - # $ANTLR end "binary_expression_2" + # $ANTLR end "variable_access" - class binary_expression_3_return(ParserRuleReturnScope): + class external_synonym_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -26278,135 +26392,217 @@ def __init__(self): - # $ANTLR start "binary_expression_3" - # sdl92.g:1203:1: binary_expression_3 : binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* ; - def binary_expression_3(self, ): - retval = self.binary_expression_3_return() + # $ANTLR start "external_synonym" + # sdl92.g:1335:1: external_synonym : external_synonym_id ; + def external_synonym(self, ): + retval = self.external_synonym_return() retval.start = self.input.LT(1) + external_synonym_StartIndex = self.input.index() root_0 = None - PLUS627 = None - DASH628 = None - APPEND629 = None - binary_expression_4626 = None - binary_expression_4630 = None + external_synonym_id644 = None + - PLUS627_tree = None - DASH628_tree = None - APPEND629_tree = None + success = False try: try: - # sdl92.g:1204:9: ( binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* ) - # sdl92.g:1204:17: binary_expression_4 ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 136): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1336:9: ( external_synonym_id ) + # sdl92.g:1336:17: external_synonym_id pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_binary_expression_4_in_binary_expression_314052) - binary_expression_4626 = self.binary_expression_4() + self._state.following.append(self.FOLLOW_external_synonym_id_in_external_synonym14263) + external_synonym_id644 = self.external_synonym_id() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_4626.tree) + self._adaptor.addChild(root_0, external_synonym_id644.tree) - # sdl92.g:1204:37: ( ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 )* - while True: #loop271 - alt271 = 2 - LA271 = self.input.LA(1) - if LA271 in {PLUS}: - LA271_2 = self.input.LA(2) - if (self.synpred328_sdl92()) : - alt271 = 1 + retval.stop = self.input.LT(-1) - elif LA271 in {DASH}: - LA271_3 = self.input.LA(2) - - if (self.synpred328_sdl92()) : - alt271 = 1 + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - elif LA271 in {APPEND}: - LA271_4 = self.input.LA(2) - if (self.synpred328_sdl92()) : - alt271 = 1 + success = True + 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) - if alt271 == 1: - # sdl92.g:1204:38: ( PLUS ^| DASH ^| APPEND ^) binary_expression_4 - pass - # sdl92.g:1204:38: ( PLUS ^| DASH ^| APPEND ^) - alt270 = 3 - LA270 = self.input.LA(1) - if LA270 in {PLUS}: - alt270 = 1 - elif LA270 in {DASH}: - alt270 = 2 - elif LA270 in {APPEND}: - alt270 = 3 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 136, external_synonym_StartIndex, success) - nvae = NoViableAltException("", 270, 0, self.input) + pass + return retval - raise nvae + # $ANTLR end "external_synonym" - if alt270 == 1: - # sdl92.g:1204:40: PLUS ^ - pass - PLUS627 = self.match(self.input, PLUS, self.FOLLOW_PLUS_in_binary_expression_314057) - if self._state.backtracking == 0: - PLUS627_tree = self._adaptor.createWithPayload(PLUS627) - root_0 = self._adaptor.becomeRoot(PLUS627_tree, root_0) + class conditional_expression_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - elif alt270 == 2: - # sdl92.g:1204:48: DASH ^ - pass - DASH628 = self.match(self.input, DASH, self.FOLLOW_DASH_in_binary_expression_314062) - if self._state.backtracking == 0: - DASH628_tree = self._adaptor.createWithPayload(DASH628) - root_0 = self._adaptor.becomeRoot(DASH628_tree, root_0) + # $ANTLR start "conditional_expression" + # sdl92.g:1340:1: conditional_expression : IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) ; + def conditional_expression(self, ): + retval = self.conditional_expression_return() + retval.start = self.input.LT(1) + conditional_expression_StartIndex = self.input.index() - elif alt270 == 3: - # sdl92.g:1204:56: APPEND ^ - pass - APPEND629 = self.match(self.input, APPEND, self.FOLLOW_APPEND_in_binary_expression_314067) - if self._state.backtracking == 0: - APPEND629_tree = self._adaptor.createWithPayload(APPEND629) - root_0 = self._adaptor.becomeRoot(APPEND629_tree, root_0) + root_0 = None + IF645 = None + THEN646 = None + ELSE647 = None + FI648 = None + ifexpr = None + thenexpr = None + elseexpr = None + + IF645_tree = None + THEN646_tree = None + ELSE647_tree = None + FI648_tree = None + stream_FI = RewriteRuleTokenStream(self._adaptor, "token FI") + stream_ELSE = RewriteRuleTokenStream(self._adaptor, "token ELSE") + stream_THEN = RewriteRuleTokenStream(self._adaptor, "token THEN") + stream_IF = RewriteRuleTokenStream(self._adaptor, "token IF") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 137): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:1341:9: ( IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) ) + # sdl92.g:1341:17: IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI + pass + IF645 = self.match(self.input, IF, self.FOLLOW_IF_in_conditional_expression14295) + if self._state.backtracking == 0: + stream_IF.add(IF645) - self._state.following.append(self.FOLLOW_binary_expression_4_in_binary_expression_314072) - binary_expression_4630 = self.binary_expression_4() + self._state.following.append(self.FOLLOW_expression_in_conditional_expression14299) + ifexpr = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, binary_expression_4630.tree) + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(ifexpr.tree) + + + THEN646 = self.match(self.input, THEN, self.FOLLOW_THEN_in_conditional_expression14317) + if self._state.backtracking == 0: + stream_THEN.add(THEN646) + + + self._state.following.append(self.FOLLOW_expression_in_conditional_expression14321) + thenexpr = self.expression() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(thenexpr.tree) + + + ELSE647 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_conditional_expression14339) + if self._state.backtracking == 0: + stream_ELSE.add(ELSE647) + self._state.following.append(self.FOLLOW_expression_in_conditional_expression14343) + elseexpr = self.expression() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(elseexpr.tree) + + + FI648 = self.match(self.input, FI, self.FOLLOW_FI_in_conditional_expression14345) + if self._state.backtracking == 0: + stream_FI.add(FI648) + + + # AST Rewrite + # elements: ifexpr, thenexpr, elseexpr + # token labels: + # rule labels: thenexpr, elseexpr, ifexpr, retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + if thenexpr is not None: + stream_thenexpr = RewriteRuleSubtreeStream(self._adaptor, "rule thenexpr", thenexpr.tree) + else: + stream_thenexpr = RewriteRuleSubtreeStream(self._adaptor, "token thenexpr", None) + + if elseexpr is not None: + stream_elseexpr = RewriteRuleSubtreeStream(self._adaptor, "rule elseexpr", elseexpr.tree) + else: + stream_elseexpr = RewriteRuleSubtreeStream(self._adaptor, "token elseexpr", None) + + if ifexpr is not None: + stream_ifexpr = RewriteRuleSubtreeStream(self._adaptor, "rule ifexpr", ifexpr.tree) + else: + stream_ifexpr = RewriteRuleSubtreeStream(self._adaptor, "token ifexpr", None) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: - break #loop271 + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + + + root_0 = self._adaptor.nil() + # 1344:9: -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) + # sdl92.g:1344:17: ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(CONDITIONAL, "CONDITIONAL") + , root_1) + + self._adaptor.addChild(root_1, stream_ifexpr.nextTree()) + + self._adaptor.addChild(root_1, stream_thenexpr.nextTree()) + + self._adaptor.addChild(root_1, stream_elseexpr.nextTree()) + + self._adaptor.addChild(root_0, root_1) + + + + + retval.tree = root_0 + @@ -26420,19 +26616,25 @@ def binary_expression_3(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 137, conditional_expression_StartIndex, success) + + pass return retval - # $ANTLR end "binary_expression_3" + # $ANTLR end "conditional_expression" - class binary_expression_4_return(ParserRuleReturnScope): + class expression_list_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -26442,157 +26644,106 @@ def __init__(self): - # $ANTLR start "binary_expression_4" - # sdl92.g:1205:1: binary_expression_4 : unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* ; - def binary_expression_4(self, ): - retval = self.binary_expression_4_return() + # $ANTLR start "expression_list" + # sdl92.g:1348:1: expression_list : expression ( ',' expression )* -> ( expression )+ ; + def expression_list(self, ): + retval = self.expression_list_return() retval.start = self.input.LT(1) + expression_list_StartIndex = self.input.index() root_0 = None - ASTERISK632 = None - DIV633 = None - MOD634 = None - REM635 = None - unary_expression631 = None - unary_expression636 = None + char_literal650 = None + expression649 = None + expression651 = None - ASTERISK632_tree = None - DIV633_tree = None - MOD634_tree = None - REM635_tree = None + char_literal650_tree = None + stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False try: try: - # sdl92.g:1206:9: ( unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* ) - # sdl92.g:1206:17: unary_expression ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 138): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_unary_expression_in_binary_expression_414095) - unary_expression631 = self.unary_expression() + # sdl92.g:1349:9: ( expression ( ',' expression )* -> ( expression )+ ) + # sdl92.g:1349:17: expression ( ',' expression )* + pass + self._state.following.append(self.FOLLOW_expression_in_expression_list14405) + expression649 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - self._adaptor.addChild(root_0, unary_expression631.tree) - - - # sdl92.g:1206:34: ( ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression )* - while True: #loop273 - alt273 = 2 - LA273 = self.input.LA(1) - if LA273 in {ASTERISK}: - LA273_2 = self.input.LA(2) + stream_expression.add(expression649.tree) - if (self.synpred332_sdl92()) : - alt273 = 1 + # sdl92.g:1349:28: ( ',' expression )* + while True: #loop213 + alt213 = 2 + LA213_0 = self.input.LA(1) - elif LA273 in {DIV}: - LA273_3 = self.input.LA(2) - - if (self.synpred332_sdl92()) : - alt273 = 1 - - - elif LA273 in {MOD}: - LA273_4 = self.input.LA(2) - - if (self.synpred332_sdl92()) : - alt273 = 1 - - - elif LA273 in {REM}: - LA273_5 = self.input.LA(2) - - if (self.synpred332_sdl92()) : - alt273 = 1 - + if (LA213_0 == COMMA) : + alt213 = 1 - if alt273 == 1: - # sdl92.g:1206:35: ( ASTERISK ^| DIV ^| MOD ^| REM ^) unary_expression + if alt213 == 1: + # sdl92.g:1349:29: ',' expression pass - # sdl92.g:1206:35: ( ASTERISK ^| DIV ^| MOD ^| REM ^) - alt272 = 4 - LA272 = self.input.LA(1) - if LA272 in {ASTERISK}: - alt272 = 1 - elif LA272 in {DIV}: - alt272 = 2 - elif LA272 in {MOD}: - alt272 = 3 - elif LA272 in {REM}: - alt272 = 4 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 272, 0, self.input) - - raise nvae - - - if alt272 == 1: - # sdl92.g:1206:37: ASTERISK ^ - pass - ASTERISK632 = self.match(self.input, ASTERISK, self.FOLLOW_ASTERISK_in_binary_expression_414100) - if self._state.backtracking == 0: - ASTERISK632_tree = self._adaptor.createWithPayload(ASTERISK632) - root_0 = self._adaptor.becomeRoot(ASTERISK632_tree, root_0) - - - - - elif alt272 == 2: - # sdl92.g:1206:49: DIV ^ - pass - DIV633 = self.match(self.input, DIV, self.FOLLOW_DIV_in_binary_expression_414105) - if self._state.backtracking == 0: - DIV633_tree = self._adaptor.createWithPayload(DIV633) - root_0 = self._adaptor.becomeRoot(DIV633_tree, root_0) + char_literal650 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_expression_list14408) + if self._state.backtracking == 0: + stream_COMMA.add(char_literal650) + self._state.following.append(self.FOLLOW_expression_in_expression_list14410) + expression651 = self.expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression651.tree) - elif alt272 == 3: - # sdl92.g:1206:56: MOD ^ - pass - MOD634 = self.match(self.input, MOD, self.FOLLOW_MOD_in_binary_expression_414110) - if self._state.backtracking == 0: - MOD634_tree = self._adaptor.createWithPayload(MOD634) - root_0 = self._adaptor.becomeRoot(MOD634_tree, root_0) + else: + break #loop213 - elif alt272 == 4: - # sdl92.g:1206:63: REM ^ - pass - REM635 = self.match(self.input, REM, self.FOLLOW_REM_in_binary_expression_414115) - if self._state.backtracking == 0: - REM635_tree = self._adaptor.createWithPayload(REM635) - root_0 = self._adaptor.becomeRoot(REM635_tree, root_0) + # 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() + # 1350:9: -> ( expression )+ + # sdl92.g:1350:17: ( expression )+ + if not (stream_expression.hasNext()): + raise RewriteEarlyExitException() + while stream_expression.hasNext(): + self._adaptor.addChild(root_0, stream_expression.nextTree()) + stream_expression.reset() - self._state.following.append(self.FOLLOW_unary_expression_in_binary_expression_414120) - unary_expression636 = self.unary_expression() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, unary_expression636.tree) + retval.tree = root_0 - else: - break #loop273 @@ -26606,19 +26757,25 @@ def binary_expression_4(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 138, expression_list_StartIndex, success) + + pass return retval - # $ANTLR end "binary_expression_4" + # $ANTLR end "expression_list" - class unary_expression_return(ParserRuleReturnScope): + class terminator_statement_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -26628,258 +26785,150 @@ def __init__(self): - # $ANTLR start "unary_expression" - # sdl92.g:1209:1: unary_expression : ( postfix_expression | primary_expression | NOT ^ unary_expression | DASH unary_expression -> ^( NEG unary_expression ) | CALL procedure_call_body -> ^( PROCEDURE_CALL procedure_call_body ) | input_expression | output_expression ); - def unary_expression(self, ): - retval = self.unary_expression_return() + # $ANTLR start "terminator_statement" + # sdl92.g:1354:1: terminator_statement : ( label )? ( cif )* terminator end -> ^( TERMINATOR ( label )? ( cif )* ( end )? terminator ) ; + def terminator_statement(self, ): + retval = self.terminator_statement_return() retval.start = self.input.LT(1) + terminator_statement_StartIndex = self.input.index() root_0 = None - NOT639 = None - DASH641 = None - CALL643 = None - postfix_expression637 = None - primary_expression638 = None - unary_expression640 = None - unary_expression642 = None - procedure_call_body644 = None - input_expression645 = None - output_expression646 = None - - NOT639_tree = None - DASH641_tree = None - CALL643_tree = None - stream_CALL = RewriteRuleTokenStream(self._adaptor, "token CALL") - stream_DASH = RewriteRuleTokenStream(self._adaptor, "token DASH") - stream_procedure_call_body = RewriteRuleSubtreeStream(self._adaptor, "rule procedure_call_body") - stream_unary_expression = RewriteRuleSubtreeStream(self._adaptor, "rule unary_expression") + label652 = None + cif653 = None + terminator654 = None + end655 = None + + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_terminator = RewriteRuleSubtreeStream(self._adaptor, "rule terminator") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + stream_label = RewriteRuleSubtreeStream(self._adaptor, "rule label") + success = False + try: try: - # sdl92.g:1210:9: ( postfix_expression | primary_expression | NOT ^ unary_expression | DASH unary_expression -> ^( NEG unary_expression ) | CALL procedure_call_body -> ^( PROCEDURE_CALL procedure_call_body ) | input_expression | output_expression ) - alt274 = 7 - LA274 = self.input.LA(1) - if LA274 in {ID}: - LA274_1 = self.input.LA(2) - - if (self.synpred333_sdl92()) : - alt274 = 1 - elif (self.synpred334_sdl92()) : - alt274 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 139): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 274, 1, self.input) + # sdl92.g:1355:9: ( ( label )? ( cif )* terminator end -> ^( TERMINATOR ( label )? ( cif )* ( end )? terminator ) ) + # sdl92.g:1355:17: ( label )? ( cif )* terminator end + pass + # sdl92.g:1355:17: ( label )? + alt214 = 2 + alt214 = self.dfa214.predict(self.input) + if alt214 == 1: + # sdl92.g:1355:17: label + pass + self._state.following.append(self.FOLLOW_label_in_terminator_statement14462) + label652 = self.label() - raise nvae + self._state.following.pop() + if self._state.backtracking == 0: + stream_label.add(label652.tree) - elif LA274 in {FALSE, FLOAT, IF, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, PLUS_INFINITY, STATE, STRING, TRUE}: - alt274 = 2 - elif LA274 in {NOT}: - alt274 = 3 - elif LA274 in {DASH}: - alt274 = 4 - elif LA274 in {CALL}: - alt274 = 5 - elif LA274 in {INPUT, UNHANDLED}: - alt274 = 6 - elif LA274 in {OUTPUT}: - alt274 = 7 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 274, 0, self.input) - raise nvae + # sdl92.g:1356:17: ( cif )* + while True: #loop215 + alt215 = 2 + LA215_0 = self.input.LA(1) + if (LA215_0 == 254) : + alt215 = 1 - if alt274 == 1: - # sdl92.g:1210:17: postfix_expression - pass - root_0 = self._adaptor.nil() + if alt215 == 1: + # sdl92.g:1356:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_terminator_statement14481) + cif653 = self.cif() - self._state.following.append(self.FOLLOW_postfix_expression_in_unary_expression14145) - postfix_expression637 = self.postfix_expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif653.tree) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, postfix_expression637.tree) + else: + break #loop215 - elif alt274 == 2: - # sdl92.g:1211:17: primary_expression - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_terminator_in_terminator_statement14500) + terminator654 = self.terminator() - self._state.following.append(self.FOLLOW_primary_expression_in_unary_expression14163) - primary_expression638 = self.primary_expression() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, primary_expression638.tree) - - - - elif alt274 == 3: - # sdl92.g:1212:17: NOT ^ unary_expression - pass - root_0 = self._adaptor.nil() - - - NOT639 = self.match(self.input, NOT, self.FOLLOW_NOT_in_unary_expression14181) - if self._state.backtracking == 0: - NOT639_tree = self._adaptor.createWithPayload(NOT639) - root_0 = self._adaptor.becomeRoot(NOT639_tree, root_0) - - - - self._state.following.append(self.FOLLOW_unary_expression_in_unary_expression14184) - unary_expression640 = self.unary_expression() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, unary_expression640.tree) - - - - elif alt274 == 4: - # sdl92.g:1213:17: DASH unary_expression - pass - DASH641 = self.match(self.input, DASH, self.FOLLOW_DASH_in_unary_expression14202) - if self._state.backtracking == 0: - stream_DASH.add(DASH641) - - - self._state.following.append(self.FOLLOW_unary_expression_in_unary_expression14204) - unary_expression642 = self.unary_expression() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_unary_expression.add(unary_expression642.tree) - - - # AST Rewrite - # elements: unary_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() - # 1213:42: -> ^( NEG unary_expression ) - # sdl92.g:1213:45: ^( NEG unary_expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(NEG, "NEG") - , root_1) - - self._adaptor.addChild(root_1, stream_unary_expression.nextTree()) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 - - - - - elif alt274 == 5: - # sdl92.g:1214:17: CALL procedure_call_body - pass - CALL643 = self.match(self.input, CALL, self.FOLLOW_CALL_in_unary_expression14233) - if self._state.backtracking == 0: - stream_CALL.add(CALL643) - - - self._state.following.append(self.FOLLOW_procedure_call_body_in_unary_expression14235) - procedure_call_body644 = self.procedure_call_body() + self._state.following.pop() + if self._state.backtracking == 0: + stream_terminator.add(terminator654.tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_procedure_call_body.add(procedure_call_body644.tree) + self._state.following.append(self.FOLLOW_end_in_terminator_statement14518) + end655 = self.end() - # AST Rewrite - # elements: procedure_call_body - # 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) + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end655.tree) - root_0 = self._adaptor.nil() - # 1214:42: -> ^( PROCEDURE_CALL procedure_call_body ) - # sdl92.g:1214:45: ^( PROCEDURE_CALL procedure_call_body ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PROCEDURE_CALL, "PROCEDURE_CALL") - , root_1) + # AST Rewrite + # elements: label, cif, end, terminator + # 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) - self._adaptor.addChild(root_1, stream_procedure_call_body.nextTree()) - self._adaptor.addChild(root_0, root_1) + root_0 = self._adaptor.nil() + # 1359:9: -> ^( TERMINATOR ( label )? ( cif )* ( end )? terminator ) + # sdl92.g:1359:17: ^( TERMINATOR ( label )? ( cif )* ( end )? terminator ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(TERMINATOR, "TERMINATOR") + , root_1) + # sdl92.g:1359:30: ( label )? + if stream_label.hasNext(): + self._adaptor.addChild(root_1, stream_label.nextTree()) + stream_label.reset(); - retval.tree = root_0 + # sdl92.g:1359:37: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) + stream_cif.reset(); + # sdl92.g:1359:42: ( end )? + if stream_end.hasNext(): + self._adaptor.addChild(root_1, stream_end.nextTree()) - elif alt274 == 6: - # sdl92.g:1215:17: input_expression - pass - root_0 = self._adaptor.nil() + stream_end.reset(); - self._state.following.append(self.FOLLOW_input_expression_in_unary_expression14261) - input_expression645 = self.input_expression() + self._adaptor.addChild(root_1, stream_terminator.nextTree()) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, input_expression645.tree) + self._adaptor.addChild(root_0, root_1) - elif alt274 == 7: - # sdl92.g:1216:17: output_expression - pass - root_0 = self._adaptor.nil() + retval.tree = root_0 - self._state.following.append(self.FOLLOW_output_expression_in_unary_expression14291) - output_expression646 = self.output_expression() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, output_expression646.tree) @@ -26892,19 +26941,25 @@ def unary_expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 139, terminator_statement_StartIndex, success) + + pass return retval - # $ANTLR end "unary_expression" + # $ANTLR end "terminator_statement" - class postfix_expression_return(ParserRuleReturnScope): + class label_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -26914,50 +26969,77 @@ def __init__(self): - # $ANTLR start "postfix_expression" - # sdl92.g:1220:1: postfix_expression : ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ ; - def postfix_expression(self, ): - retval = self.postfix_expression_return() + # $ANTLR start "label" + # sdl92.g:1362:1: label : ( cif )* connector_name ':' -> ^( LABEL ( cif )* connector_name ) ; + def label(self, ): + retval = self.label_return() retval.start = self.input.LT(1) + label_StartIndex = self.input.index() root_0 = None - ID647 = None - char_literal648 = None - char_literal649 = None - char_literal650 = None - DOT651 = None - params = None - field_name652 = None + char_literal658 = None + cif656 = None + connector_name657 = None + + char_literal658_tree = None + stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + stream_connector_name = RewriteRuleSubtreeStream(self._adaptor, "rule connector_name") + success = False - ID647_tree = None - char_literal648_tree = None - char_literal649_tree = None - char_literal650_tree = None - DOT651_tree = None - stream_248 = RewriteRuleTokenStream(self._adaptor, "token 248") - stream_DOT = RewriteRuleTokenStream(self._adaptor, "token DOT") - stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") - stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") - stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") - stream_expression_list = RewriteRuleSubtreeStream(self._adaptor, "rule expression_list") - stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") try: try: - # sdl92.g:1221:9: ( ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ ) - # sdl92.g:1221:17: ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ - pass - # sdl92.g:1221:17: ( ID -> ^( PRIMARY ^( VARIABLE ID ) ) ) - # sdl92.g:1221:18: ID + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 140): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1363:9: ( ( cif )* connector_name ':' -> ^( LABEL ( cif )* connector_name ) ) + # sdl92.g:1363:17: ( cif )* connector_name ':' pass - ID647 = self.match(self.input, ID, self.FOLLOW_ID_in_postfix_expression14335) + # sdl92.g:1363:17: ( cif )* + while True: #loop216 + alt216 = 2 + LA216_0 = self.input.LA(1) + + if (LA216_0 == 254) : + alt216 = 1 + + + if alt216 == 1: + # sdl92.g:1363:17: cif + pass + self._state.following.append(self.FOLLOW_cif_in_label14579) + cif656 = self.cif() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif656.tree) + + + + else: + break #loop216 + + + self._state.following.append(self.FOLLOW_connector_name_in_label14582) + connector_name657 = self.connector_name() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_connector_name.add(connector_name657.tree) + + + char_literal658 = self.match(self.input, 255, self.FOLLOW_255_in_label14584) if self._state.backtracking == 0: - stream_ID.add(ID647) + stream_255.add(char_literal658) # AST Rewrite - # elements: ID + # elements: cif, connector_name # token labels: # rule labels: retval # token list labels: @@ -26972,24 +27054,21 @@ def postfix_expression(self, ): root_0 = self._adaptor.nil() - # 1221:21: -> ^( PRIMARY ^( VARIABLE ID ) ) - # sdl92.g:1221:24: ^( PRIMARY ^( VARIABLE ID ) ) + # 1364:9: -> ^( LABEL ( cif )* connector_name ) + # sdl92.g:1364:17: ^( LABEL ( cif )* connector_name ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PRIMARY, "PRIMARY") + self._adaptor.createFromType(LABEL, "LABEL") , root_1) - # sdl92.g:1221:34: ^( VARIABLE ID ) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - self._adaptor.createFromType(VARIABLE, "VARIABLE") - , root_2) + # sdl92.g:1364:25: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) - self._adaptor.addChild(root_2, - stream_ID.nextNode() - ) - self._adaptor.addChild(root_1, root_2) + stream_cif.reset(); + + self._adaptor.addChild(root_1, stream_connector_name.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -27002,199 +27081,147 @@ def postfix_expression(self, ): + retval.stop = self.input.LT(-1) - # sdl92.g:1222:17: ( '(' (params= expression_list )? ')' -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) | ( '!' | DOT ) field_name -> ^( SELECTOR $postfix_expression field_name ) )+ - cnt277 = 0 - while True: #loop277 - alt277 = 3 - alt277 = self.dfa277.predict(self.input) - if alt277 == 1: - # sdl92.g:1222:21: '(' (params= expression_list )? ')' - pass - char_literal648 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_postfix_expression14370) - if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal648) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - # sdl92.g:1222:31: (params= expression_list )? - alt275 = 2 - LA275_0 = self.input.LA(1) - if (LA275_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt275 = 1 - if alt275 == 1: - # sdl92.g:1222:31: params= expression_list - pass - self._state.following.append(self.FOLLOW_expression_list_in_postfix_expression14374) - params = self.expression_list() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression_list.add(params.tree) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 140, label_StartIndex, success) + pass + return retval - char_literal649 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_postfix_expression14377) - if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal649) + # $ANTLR end "label" - # AST Rewrite - # elements: postfix_expression, params - # token labels: - # rule labels: params, retval - # token list labels: - # rule list labels: - # wildcard labels: - if self._state.backtracking == 0: - retval.tree = root_0 - if params is not None: - stream_params = RewriteRuleSubtreeStream(self._adaptor, "rule params", params.tree) - else: - stream_params = RewriteRuleSubtreeStream(self._adaptor, "token params", None) + class terminator_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if retval is not None: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) - else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + self.tree = None - root_0 = self._adaptor.nil() - # 1223:17: -> ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) - # sdl92.g:1223:20: ^( CALL $postfix_expression ^( PARAMS ( $params)? ) ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(CALL, "CALL") - , root_1) - self._adaptor.addChild(root_1, stream_retval.nextTree()) - # sdl92.g:1223:47: ^( PARAMS ( $params)? ) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PARAMS, "PARAMS") - , root_2) - # sdl92.g:1223:57: ( $params)? - if stream_params.hasNext(): - self._adaptor.addChild(root_2, stream_params.nextTree()) + # $ANTLR start "terminator" + # sdl92.g:1368:1: terminator : ( nextstate | join | stop | return_stmt ); + def terminator(self, ): + retval = self.terminator_return() + retval.start = self.input.LT(1) + terminator_StartIndex = self.input.index() - stream_params.reset(); + root_0 = None - self._adaptor.addChild(root_1, root_2) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 - - - - - elif alt277 == 2: - # sdl92.g:1224:21: ( '!' | DOT ) field_name - pass - # sdl92.g:1224:21: ( '!' | DOT ) - alt276 = 2 - LA276_0 = self.input.LA(1) - - if (LA276_0 == 248) : - alt276 = 1 - elif (LA276_0 == DOT) : - alt276 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + nextstate659 = None + join660 = None + stop661 = None + return_stmt662 = None - nvae = NoViableAltException("", 276, 0, self.input) + success = False - raise nvae - - - if alt276 == 1: - # sdl92.g:1224:22: '!' - pass - char_literal650 = self.match(self.input, 248, self.FOLLOW_248_in_postfix_expression14433) - if self._state.backtracking == 0: - stream_248.add(char_literal650) - - - - elif alt276 == 2: - # sdl92.g:1224:28: DOT - pass - DOT651 = self.match(self.input, DOT, self.FOLLOW_DOT_in_postfix_expression14437) - if self._state.backtracking == 0: - stream_DOT.add(DOT651) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 141): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1369:9: ( nextstate | join | stop | return_stmt ) + alt217 = 4 + LA217 = self.input.LA(1) + if LA217 in {NEXTSTATE}: + alt217 = 1 + elif LA217 in {JOIN}: + alt217 = 2 + elif LA217 in {STOP}: + alt217 = 3 + elif LA217 in {RETURN}: + alt217 = 4 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 217, 0, self.input) + raise nvae - self._state.following.append(self.FOLLOW_field_name_in_postfix_expression14440) - field_name652 = self.field_name() + if alt217 == 1: + # sdl92.g:1369:17: nextstate + pass + root_0 = self._adaptor.nil() - self._state.following.pop() - if self._state.backtracking == 0: - stream_field_name.add(field_name652.tree) + self._state.following.append(self.FOLLOW_nextstate_in_terminator14640) + nextstate659 = self.nextstate() - # AST Rewrite - # elements: postfix_expression, field_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) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, nextstate659.tree) - root_0 = self._adaptor.nil() - # 1225:17: -> ^( SELECTOR $postfix_expression field_name ) - # sdl92.g:1225:20: ^( SELECTOR $postfix_expression field_name ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SELECTOR, "SELECTOR") - , root_1) - self._adaptor.addChild(root_1, stream_retval.nextTree()) + elif alt217 == 2: + # sdl92.g:1369:29: join + pass + root_0 = self._adaptor.nil() - self._adaptor.addChild(root_1, stream_field_name.nextTree()) - self._adaptor.addChild(root_0, root_1) + self._state.following.append(self.FOLLOW_join_in_terminator14644) + join660 = self.join() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, join660.tree) - retval.tree = root_0 + elif alt217 == 3: + # sdl92.g:1369:36: stop + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_stop_in_terminator14648) + stop661 = self.stop() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, stop661.tree) - else: - if cnt277 >= 1: - break #loop277 - if self._state.backtracking > 0: - raise BacktrackingFailed + elif alt217 == 4: + # sdl92.g:1369:43: return_stmt + pass + root_0 = self._adaptor.nil() - eee = EarlyExitException(277, self.input) - raise eee - cnt277 += 1 + self._state.following.append(self.FOLLOW_return_stmt_in_terminator14652) + return_stmt662 = self.return_stmt() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, return_stmt662.tree) @@ -27207,19 +27234,25 @@ def postfix_expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 141, terminator_StartIndex, success) + + pass return retval - # $ANTLR end "postfix_expression" + # $ANTLR end "terminator" - class input_expression_return(ParserRuleReturnScope): + class join_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -27229,493 +27262,403 @@ def __init__(self): - # $ANTLR start "input_expression" - # sdl92.g:1234:1: input_expression : ( ( UNHANDLED )? INPUT -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) | ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) ); - def input_expression(self, ): - retval = self.input_expression_return() + # $ANTLR start "join" + # sdl92.g:1373:1: join : JOIN connector_name -> ^( JOIN connector_name ) ; + def join(self, ): + retval = self.join_return() retval.start = self.input.LT(1) + join_StartIndex = self.input.index() root_0 = None - msg = None - param = None - src = None - dest = None - UNHANDLED653 = None - INPUT654 = None - UNHANDLED655 = None - INPUT656 = None - char_literal657 = None - char_literal658 = None - FROM659 = None - TO660 = None + JOIN663 = None + connector_name664 = None - msg_tree = None - param_tree = None - src_tree = None - dest_tree = None - UNHANDLED653_tree = None - INPUT654_tree = None - UNHANDLED655_tree = None - INPUT656_tree = None - char_literal657_tree = None - char_literal658_tree = None - FROM659_tree = None - TO660_tree = None - stream_INPUT = RewriteRuleTokenStream(self._adaptor, "token INPUT") - stream_UNHANDLED = RewriteRuleTokenStream(self._adaptor, "token UNHANDLED") - stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") - stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") - stream_FROM = RewriteRuleTokenStream(self._adaptor, "token FROM") - stream_TO = RewriteRuleTokenStream(self._adaptor, "token TO") - stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") + JOIN663_tree = None + stream_JOIN = RewriteRuleTokenStream(self._adaptor, "token JOIN") + stream_connector_name = RewriteRuleSubtreeStream(self._adaptor, "rule connector_name") + success = False try: try: - # sdl92.g:1235:9: ( ( UNHANDLED )? INPUT -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) | ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) ) - alt283 = 2 - LA283_0 = self.input.LA(1) - - if (LA283_0 == UNHANDLED) : - LA283_1 = self.input.LA(2) - - if (LA283_1 == INPUT) : - LA283 = self.input.LA(3) - if LA283 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: - alt283 = 1 - elif LA283 in {ID}: - LA283 = self.input.LA(4) - if LA283 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: - alt283 = 1 - elif LA283 in {L_PAREN}: - LA283_6 = self.input.LA(5) - - if (LA283_6 == ID) : - LA283_7 = self.input.LA(6) - - if (LA283_7 == R_PAREN) : - LA283_8 = self.input.LA(7) - - if (LA283_8 in {FROM, TO}) : - alt283 = 2 - elif (LA283_8 in {ASSIG_OP, DOT, L_PAREN, 248}) : - alt283 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 142): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 283, 8, self.input) + # sdl92.g:1374:9: ( JOIN connector_name -> ^( JOIN connector_name ) ) + # sdl92.g:1374:18: JOIN connector_name + pass + JOIN663 = self.match(self.input, JOIN, self.FOLLOW_JOIN_in_join14685) + if self._state.backtracking == 0: + stream_JOIN.add(JOIN663) - raise nvae + self._state.following.append(self.FOLLOW_connector_name_in_join14687) + connector_name664 = self.connector_name() - elif (LA283_7 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : - alt283 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._state.following.pop() + if self._state.backtracking == 0: + stream_connector_name.add(connector_name664.tree) - nvae = NoViableAltException("", 283, 7, self.input) + # AST Rewrite + # elements: JOIN, connector_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) - raise nvae + root_0 = self._adaptor.nil() + # 1375:9: -> ^( JOIN connector_name ) + # sdl92.g:1375:18: ^( JOIN connector_name ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_JOIN.nextNode() + , root_1) - elif (LA283_6 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : - alt283 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._adaptor.addChild(root_1, stream_connector_name.nextTree()) + self._adaptor.addChild(root_0, root_1) - nvae = NoViableAltException("", 283, 6, self.input) - raise nvae - elif LA283 in {FROM, TO}: - alt283 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + retval.tree = root_0 - nvae = NoViableAltException("", 283, 4, self.input) - raise nvae - elif LA283 in {FROM, TO}: - alt283 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + retval.stop = self.input.LT(-1) - nvae = NoViableAltException("", 283, 2, self.input) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - raise nvae - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + success = True + 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) - nvae = NoViableAltException("", 283, 1, self.input) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 142, join_StartIndex, success) - raise nvae + pass + return retval - elif (LA283_0 == INPUT) : - LA283 = self.input.LA(2) - if LA283 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: - alt283 = 1 - elif LA283 in {ID}: - LA283 = self.input.LA(3) - if LA283 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: - alt283 = 1 - elif LA283 in {L_PAREN}: - LA283_6 = self.input.LA(4) + # $ANTLR end "join" - if (LA283_6 == ID) : - LA283_7 = self.input.LA(5) - if (LA283_7 == R_PAREN) : - LA283_8 = self.input.LA(6) + class stop_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA283_8 in {FROM, TO}) : - alt283 = 2 - elif (LA283_8 in {ASSIG_OP, DOT, L_PAREN, 248}) : - alt283 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self.tree = None - nvae = NoViableAltException("", 283, 8, self.input) - raise nvae - elif (LA283_7 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : - alt283 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # $ANTLR start "stop" + # sdl92.g:1379:1: stop : STOP ; + def stop(self, ): + retval = self.stop_return() + retval.start = self.input.LT(1) + stop_StartIndex = self.input.index() - nvae = NoViableAltException("", 283, 7, self.input) + root_0 = None - raise nvae + STOP665 = None + STOP665_tree = None - elif (LA283_6 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : - alt283 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 143): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 283, 6, self.input) - raise nvae + # sdl92.g:1379:9: ( STOP ) + # sdl92.g:1379:17: STOP + pass + root_0 = self._adaptor.nil() - elif LA283 in {FROM, TO}: - alt283 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + STOP665 = self.match(self.input, STOP, self.FOLLOW_STOP_in_stop14736) + if self._state.backtracking == 0: + STOP665_tree = self._adaptor.createWithPayload(STOP665) + self._adaptor.addChild(root_0, STOP665_tree) - nvae = NoViableAltException("", 283, 4, self.input) - raise nvae - elif LA283 in {FROM, TO}: - alt283 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + retval.stop = self.input.LT(-1) - nvae = NoViableAltException("", 283, 2, self.input) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - raise nvae - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + success = True + 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) - nvae = NoViableAltException("", 283, 0, self.input) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 143, stop_StartIndex, success) - raise nvae + pass + return retval - if alt283 == 1: - # sdl92.g:1235:17: ( UNHANDLED )? INPUT - pass - # sdl92.g:1235:17: ( UNHANDLED )? - alt278 = 2 - LA278_0 = self.input.LA(1) - - if (LA278_0 == UNHANDLED) : - alt278 = 1 - if alt278 == 1: - # sdl92.g:1235:17: UNHANDLED - pass - UNHANDLED653 = self.match(self.input, UNHANDLED, self.FOLLOW_UNHANDLED_in_input_expression14522) - if self._state.backtracking == 0: - stream_UNHANDLED.add(UNHANDLED653) + # $ANTLR end "stop" + class return_stmt_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - INPUT654 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_expression14525) - if self._state.backtracking == 0: - stream_INPUT.add(INPUT654) - # AST Rewrite - # elements: UNHANDLED - # 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) + # $ANTLR start "return_stmt" + # sdl92.g:1383:1: return_stmt : RETURN ( expression )? -> ^( RETURN ( expression )? ) ; + def return_stmt(self, ): + retval = self.return_stmt_return() + retval.start = self.input.LT(1) - root_0 = self._adaptor.nil() - # 1236:17: -> ^( INPUT_EXPRESSION ( UNHANDLED )? ) - # sdl92.g:1236:20: ^( INPUT_EXPRESSION ( UNHANDLED )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(INPUT_EXPRESSION, "INPUT_EXPRESSION") - , root_1) + return_stmt_StartIndex = self.input.index() - # sdl92.g:1236:39: ( UNHANDLED )? - if stream_UNHANDLED.hasNext(): - self._adaptor.addChild(root_1, - stream_UNHANDLED.nextNode() - ) - - - stream_UNHANDLED.reset(); - - self._adaptor.addChild(root_0, root_1) + root_0 = None + RETURN666 = None + expression667 = None + RETURN666_tree = None + stream_RETURN = RewriteRuleTokenStream(self._adaptor, "token RETURN") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 144): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - retval.tree = root_0 + # sdl92.g:1384:9: ( RETURN ( expression )? -> ^( RETURN ( expression )? ) ) + # sdl92.g:1384:17: RETURN ( expression )? + pass + RETURN666 = self.match(self.input, RETURN, self.FOLLOW_RETURN_in_return_stmt14768) + if self._state.backtracking == 0: + stream_RETURN.add(RETURN666) + # sdl92.g:1384:24: ( expression )? + alt218 = 2 + LA218_0 = self.input.LA(1) - elif alt283 == 2: - # sdl92.g:1237:19: ( UNHANDLED )? INPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID )? TO dest= ID + if (LA218_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt218 = 1 + if alt218 == 1: + # sdl92.g:1384:24: expression pass - # sdl92.g:1237:19: ( UNHANDLED )? - alt279 = 2 - LA279_0 = self.input.LA(1) - - if (LA279_0 == UNHANDLED) : - alt279 = 1 - if alt279 == 1: - # sdl92.g:1237:19: UNHANDLED - pass - UNHANDLED655 = self.match(self.input, UNHANDLED, self.FOLLOW_UNHANDLED_in_input_expression14570) - if self._state.backtracking == 0: - stream_UNHANDLED.add(UNHANDLED655) - + self._state.following.append(self.FOLLOW_expression_in_return_stmt14770) + expression667 = self.expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression667.tree) - INPUT656 = self.match(self.input, INPUT, self.FOLLOW_INPUT_in_input_expression14573) - if self._state.backtracking == 0: - stream_INPUT.add(INPUT656) - # sdl92.g:1237:36: (msg= ID ( '(' param= ID ')' )? )? - alt281 = 2 - LA281_0 = self.input.LA(1) + # AST Rewrite + # elements: RETURN, 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) - if (LA281_0 == ID) : - alt281 = 1 - if alt281 == 1: - # sdl92.g:1237:37: msg= ID ( '(' param= ID ')' )? - pass - msg = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14578) - if self._state.backtracking == 0: - stream_ID.add(msg) + root_0 = self._adaptor.nil() + # 1385:9: -> ^( RETURN ( expression )? ) + # sdl92.g:1385:17: ^( RETURN ( expression )? ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_RETURN.nextNode() + , root_1) - # sdl92.g:1237:44: ( '(' param= ID ')' )? - alt280 = 2 - LA280_0 = self.input.LA(1) + # sdl92.g:1385:26: ( expression )? + if stream_expression.hasNext(): + self._adaptor.addChild(root_1, stream_expression.nextTree()) - if (LA280_0 == L_PAREN) : - alt280 = 1 - if alt280 == 1: - # sdl92.g:1237:45: '(' param= ID ')' - pass - char_literal657 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_input_expression14581) - if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal657) + stream_expression.reset(); - param = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14585) - if self._state.backtracking == 0: - stream_ID.add(param) + self._adaptor.addChild(root_0, root_1) - char_literal658 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_input_expression14587) - if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal658) + retval.tree = root_0 + retval.stop = self.input.LT(-1) - # sdl92.g:1237:67: ( FROM src= ID )? - alt282 = 2 - LA282_0 = self.input.LA(1) - if (LA282_0 == FROM) : - alt282 = 1 - if alt282 == 1: - # sdl92.g:1237:68: FROM src= ID - pass - FROM659 = self.match(self.input, FROM, self.FOLLOW_FROM_in_input_expression14595) - if self._state.backtracking == 0: - stream_FROM.add(FROM659) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - src = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14599) - if self._state.backtracking == 0: - stream_ID.add(src) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 144, return_stmt_StartIndex, success) - TO660 = self.match(self.input, TO, self.FOLLOW_TO_in_input_expression14603) - if self._state.backtracking == 0: - stream_TO.add(TO660) + pass + return retval + # $ANTLR end "return_stmt" - dest = self.match(self.input, ID, self.FOLLOW_ID_in_input_expression14607) - if self._state.backtracking == 0: - stream_ID.add(dest) + class nextstate_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - # AST Rewrite - # elements: UNHANDLED, msg, param, FROM, src, TO, dest - # token labels: msg, param, src, dest - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: - if self._state.backtracking == 0: - retval.tree = root_0 - stream_msg = RewriteRuleTokenStream(self._adaptor, "token msg", msg) - stream_param = RewriteRuleTokenStream(self._adaptor, "token param", param) - stream_src = RewriteRuleTokenStream(self._adaptor, "token src", src) - stream_dest = RewriteRuleTokenStream(self._adaptor, "token dest", dest) - if retval is not None: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) - else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + self.tree = None - root_0 = self._adaptor.nil() - # 1238:17: -> ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) - # sdl92.g:1238:20: ^( INPUT_EXPRESSION ( UNHANDLED )? ( $msg)? ( ^( IOPARAM $param) )? ( ^( FROM $src) )? ^( TO $dest) ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(INPUT_EXPRESSION, "INPUT_EXPRESSION") - , root_1) - # sdl92.g:1238:39: ( UNHANDLED )? - if stream_UNHANDLED.hasNext(): - self._adaptor.addChild(root_1, - stream_UNHANDLED.nextNode() - ) - stream_UNHANDLED.reset(); + # $ANTLR start "nextstate" + # sdl92.g:1389:1: nextstate : NEXTSTATE nextstatebody -> ^( NEXTSTATE nextstatebody ) ; + def nextstate(self, ): + retval = self.nextstate_return() + retval.start = self.input.LT(1) - # sdl92.g:1238:51: ( $msg)? - if stream_msg.hasNext(): - self._adaptor.addChild(root_1, stream_msg.nextNode()) + nextstate_StartIndex = self.input.index() + root_0 = None - stream_msg.reset(); + NEXTSTATE668 = None + nextstatebody669 = None - # sdl92.g:1238:56: ( ^( IOPARAM $param) )? - if stream_param.hasNext(): - # sdl92.g:1238:56: ^( IOPARAM $param) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - self._adaptor.createFromType(IOPARAM, "IOPARAM") - , root_2) + NEXTSTATE668_tree = None + stream_NEXTSTATE = RewriteRuleTokenStream(self._adaptor, "token NEXTSTATE") + stream_nextstatebody = RewriteRuleSubtreeStream(self._adaptor, "rule nextstatebody") + success = False - self._adaptor.addChild(root_2, stream_param.nextNode()) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 145): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._adaptor.addChild(root_1, root_2) + # sdl92.g:1390:9: ( NEXTSTATE nextstatebody -> ^( NEXTSTATE nextstatebody ) ) + # sdl92.g:1390:17: NEXTSTATE nextstatebody + pass + NEXTSTATE668 = self.match(self.input, NEXTSTATE, self.FOLLOW_NEXTSTATE_in_nextstate14825) + if self._state.backtracking == 0: + stream_NEXTSTATE.add(NEXTSTATE668) - stream_param.reset(); - # sdl92.g:1238:75: ( ^( FROM $src) )? - if stream_FROM.hasNext() or stream_src.hasNext(): - # sdl92.g:1238:75: ^( FROM $src) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - stream_FROM.nextNode() - , root_2) + self._state.following.append(self.FOLLOW_nextstatebody_in_nextstate14827) + nextstatebody669 = self.nextstatebody() - self._adaptor.addChild(root_2, stream_src.nextNode()) + self._state.following.pop() + if self._state.backtracking == 0: + stream_nextstatebody.add(nextstatebody669.tree) - self._adaptor.addChild(root_1, root_2) + # AST Rewrite + # elements: NEXTSTATE, nextstatebody + # 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) - stream_FROM.reset(); - stream_src.reset(); - # sdl92.g:1238:89: ^( TO $dest) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - stream_TO.nextNode() - , root_2) + root_0 = self._adaptor.nil() + # 1391:9: -> ^( NEXTSTATE nextstatebody ) + # sdl92.g:1391:17: ^( NEXTSTATE nextstatebody ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_NEXTSTATE.nextNode() + , root_1) - self._adaptor.addChild(root_2, stream_dest.nextNode()) + self._adaptor.addChild(root_1, stream_nextstatebody.nextTree()) - self._adaptor.addChild(root_1, root_2) + self._adaptor.addChild(root_0, root_1) - self._adaptor.addChild(root_0, root_1) + retval.tree = root_0 - retval.tree = root_0 @@ -27729,19 +27672,25 @@ def input_expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 145, nextstate_StartIndex, success) + + pass return retval - # $ANTLR end "input_expression" + # $ANTLR end "nextstate" - class output_expression_return(ParserRuleReturnScope): + class nextstatebody_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -27751,350 +27700,252 @@ def __init__(self): - # $ANTLR start "output_expression" - # sdl92.g:1242:1: output_expression : ( OUTPUT -> ^( OUTPUT_EXPRESSION ) | OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) ); - def output_expression(self, ): - retval = self.output_expression_return() + # $ANTLR start "nextstatebody" + # sdl92.g:1395:1: nextstatebody : ( statename ( ':' ! type_inst )? ( via )? | dash_nextstate | history_nextstate ); + def nextstatebody(self, ): + retval = self.nextstatebody_return() retval.start = self.input.LT(1) + nextstatebody_StartIndex = self.input.index() root_0 = None - msg = None - param = None - src = None - dest = None - OUTPUT661 = None - OUTPUT662 = None - char_literal663 = None - char_literal664 = None - FROM665 = None - TO666 = None + char_literal671 = None + statename670 = None + type_inst672 = None + via673 = None + dash_nextstate674 = None + history_nextstate675 = None - msg_tree = None - param_tree = None - src_tree = None - dest_tree = None - OUTPUT661_tree = None - OUTPUT662_tree = None - char_literal663_tree = None - char_literal664_tree = None - FROM665_tree = None - TO666_tree = None - stream_OUTPUT = RewriteRuleTokenStream(self._adaptor, "token OUTPUT") - stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") - stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") - stream_FROM = RewriteRuleTokenStream(self._adaptor, "token FROM") - stream_TO = RewriteRuleTokenStream(self._adaptor, "token TO") - stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") + char_literal671_tree = None + + success = False try: try: - # sdl92.g:1243:9: ( OUTPUT -> ^( OUTPUT_EXPRESSION ) | OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) ) - alt287 = 2 - LA287_0 = self.input.LA(1) - - if (LA287_0 == OUTPUT) : - LA287 = self.input.LA(2) - if LA287 in {EOF, ALTERNATIVE, AND, APPEND, ASTERISK, BLOCK, CALL, COMMA, COMMENT, CONNECT, CONNECTION, CREATE, DASH, DECISION, DIV, DOT, ELSE, ENDALTERNATIVE, ENDBLOCK, ENDCONNECTION, ENDDECISION, ENDFOR, ENDPROCEDURE, ENDPROCESS, ENDSTATE, ENDSUBSTRUCTURE, ENDSYNTYPE, EQ, EXPORT, FI, FOR, GE, GT, IMPLIES, IN, INPUT, JOIN, LE, LT, L_PAREN, MOD, NEQ, NEXTSTATE, OR, OUTPUT, PLUS, PROCESS, PROVIDED, REM, RETURN, R_BRACKET, R_PAREN, SAVE, SEMI, SIGNAL, SIGNALROUTE, START, STATE, STOP, STRING, SYSTEM, TASK, THEN, TYPE, USE, XOR, 248, 253, 254, 255}: - alt287 = 1 - elif LA287 in {ID}: - LA287 = self.input.LA(3) - if LA287 in {EOF, ASSIG_OP, BLOCK, COMMENT, CONNECT, DOT, ENDBLOCK, PROCESS, SEMI, SIGNAL, SIGNALROUTE, SYSTEM, USE, 248, 254, 255}: - alt287 = 1 - elif LA287 in {L_PAREN}: - LA287_5 = self.input.LA(4) - - if (LA287_5 == ID) : - LA287_6 = self.input.LA(5) - - if (LA287_6 == R_PAREN) : - LA287_7 = self.input.LA(6) - - if (LA287_7 == FROM) : - alt287 = 2 - elif (LA287_7 in {ASSIG_OP, DOT, L_PAREN, 248}) : - alt287 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 146): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 287, 7, self.input) + # sdl92.g:1396:9: ( statename ( ':' ! type_inst )? ( via )? | dash_nextstate | history_nextstate ) + alt221 = 3 + LA221 = self.input.LA(1) + if LA221 in {ID}: + alt221 = 1 + elif LA221 in {DASH}: + alt221 = 2 + elif LA221 in {251}: + alt221 = 3 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - raise nvae + nvae = NoViableAltException("", 221, 0, self.input) - elif (LA287_6 in {AND, APPEND, ASTERISK, COMMA, DASH, DIV, DOT, EQ, GE, GT, IMPLIES, IN, LE, LT, L_PAREN, MOD, NEQ, OR, PLUS, REM, XOR, 248, 255}) : - alt287 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + raise nvae - nvae = NoViableAltException("", 287, 6, self.input) + if alt221 == 1: + # sdl92.g:1396:17: statename ( ':' ! type_inst )? ( via )? + pass + root_0 = self._adaptor.nil() - raise nvae + self._state.following.append(self.FOLLOW_statename_in_nextstatebody14880) + statename670 = self.statename() - elif (LA287_5 in {CALL, DASH, FALSE, FLOAT, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, R_PAREN, STATE, STRING, TRUE, UNHANDLED}) : - alt287 = 1 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, statename670.tree) - nvae = NoViableAltException("", 287, 5, self.input) + # sdl92.g:1396:27: ( ':' ! type_inst )? + alt219 = 2 + LA219_0 = self.input.LA(1) - raise nvae + if (LA219_0 == 255) : + alt219 = 1 + if alt219 == 1: + # sdl92.g:1396:28: ':' ! type_inst + pass + char_literal671 = self.match(self.input, 255, self.FOLLOW_255_in_nextstatebody14883) + self._state.following.append(self.FOLLOW_type_inst_in_nextstatebody14886) + type_inst672 = self.type_inst() - elif LA287 in {FROM}: - alt287 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, type_inst672.tree) - nvae = NoViableAltException("", 287, 3, self.input) - raise nvae - elif LA287 in {FROM}: - alt287 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # sdl92.g:1396:45: ( via )? + alt220 = 2 + LA220_0 = self.input.LA(1) + if (LA220_0 == VIA) : + alt220 = 1 + if alt220 == 1: + # sdl92.g:1396:45: via + pass + self._state.following.append(self.FOLLOW_via_in_nextstatebody14890) + via673 = self.via() - nvae = NoViableAltException("", 287, 1, self.input) + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, via673.tree) - raise nvae - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 287, 0, self.input) - raise nvae + elif alt221 == 2: + # sdl92.g:1397:19: dash_nextstate + pass + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_dash_nextstate_in_nextstatebody14911) + dash_nextstate674 = self.dash_nextstate() + + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, dash_nextstate674.tree) - if alt287 == 1: - # sdl92.g:1243:17: OUTPUT + + elif alt221 == 3: + # sdl92.g:1398:19: history_nextstate pass - OUTPUT661 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output_expression14691) + root_0 = self._adaptor.nil() + + + self._state.following.append(self.FOLLOW_history_nextstate_in_nextstatebody14931) + history_nextstate675 = self.history_nextstate() + + self._state.following.pop() if self._state.backtracking == 0: - stream_OUTPUT.add(OUTPUT661) - - - # AST Rewrite - # elements: - # 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() - # 1244:17: -> ^( OUTPUT_EXPRESSION ) - # sdl92.g:1244:20: ^( OUTPUT_EXPRESSION ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(OUTPUT_EXPRESSION, "OUTPUT_EXPRESSION") - , root_1) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 - - - - - elif alt287 == 2: - # sdl92.g:1245:19: OUTPUT (msg= ID ( '(' param= ID ')' )? )? ( FROM src= ID ) ( TO dest= ID )? - pass - OUTPUT662 = self.match(self.input, OUTPUT, self.FOLLOW_OUTPUT_in_output_expression14733) - if self._state.backtracking == 0: - stream_OUTPUT.add(OUTPUT662) - - - # sdl92.g:1245:26: (msg= ID ( '(' param= ID ')' )? )? - alt285 = 2 - LA285_0 = self.input.LA(1) - - if (LA285_0 == ID) : - alt285 = 1 - if alt285 == 1: - # sdl92.g:1245:27: msg= ID ( '(' param= ID ')' )? - pass - msg = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14738) - if self._state.backtracking == 0: - stream_ID.add(msg) - - - # sdl92.g:1245:34: ( '(' param= ID ')' )? - alt284 = 2 - LA284_0 = self.input.LA(1) - - if (LA284_0 == L_PAREN) : - alt284 = 1 - if alt284 == 1: - # sdl92.g:1245:35: '(' param= ID ')' - pass - char_literal663 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_output_expression14741) - if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal663) - - - param = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14745) - if self._state.backtracking == 0: - stream_ID.add(param) - - - char_literal664 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_output_expression14747) - if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal664) - - - - + self._adaptor.addChild(root_0, history_nextstate675.tree) + retval.stop = self.input.LT(-1) - # sdl92.g:1245:57: ( FROM src= ID ) - # sdl92.g:1245:58: FROM src= ID - pass - FROM665 = self.match(self.input, FROM, self.FOLLOW_FROM_in_output_expression14755) - if self._state.backtracking == 0: - stream_FROM.add(FROM665) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - src = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14759) - if self._state.backtracking == 0: - stream_ID.add(src) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 146, nextstatebody_StartIndex, success) - # sdl92.g:1245:71: ( TO dest= ID )? - alt286 = 2 - LA286_0 = self.input.LA(1) - if (LA286_0 == TO) : - alt286 = 1 - if alt286 == 1: - # sdl92.g:1245:72: TO dest= ID - pass - TO666 = self.match(self.input, TO, self.FOLLOW_TO_in_output_expression14763) - if self._state.backtracking == 0: - stream_TO.add(TO666) + pass + return retval + # $ANTLR end "nextstatebody" - dest = self.match(self.input, ID, self.FOLLOW_ID_in_output_expression14767) - if self._state.backtracking == 0: - stream_ID.add(dest) + class via_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - # AST Rewrite - # elements: msg, param, FROM, src, TO, dest - # token labels: msg, param, src, dest - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: - if self._state.backtracking == 0: - retval.tree = root_0 - stream_msg = RewriteRuleTokenStream(self._adaptor, "token msg", msg) - stream_param = RewriteRuleTokenStream(self._adaptor, "token param", param) - stream_src = RewriteRuleTokenStream(self._adaptor, "token src", src) - stream_dest = RewriteRuleTokenStream(self._adaptor, "token dest", dest) - 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() - # 1246:17: -> ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) - # sdl92.g:1246:20: ^( OUTPUT_EXPRESSION ( $msg)? ( ^( IOPARAM $param) )? ^( FROM $src) ( ^( TO $dest) )? ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(OUTPUT_EXPRESSION, "OUTPUT_EXPRESSION") - , root_1) + # $ANTLR start "via" + # sdl92.g:1402:1: via : VIA state_entry_point_name -> ^( VIA state_entry_point_name ) ; + def via(self, ): + retval = self.via_return() + retval.start = self.input.LT(1) - # sdl92.g:1246:41: ( $msg)? - if stream_msg.hasNext(): - self._adaptor.addChild(root_1, stream_msg.nextNode()) + via_StartIndex = self.input.index() + root_0 = None - stream_msg.reset(); + VIA676 = None + state_entry_point_name677 = None - # sdl92.g:1246:46: ( ^( IOPARAM $param) )? - if stream_param.hasNext(): - # sdl92.g:1246:46: ^( IOPARAM $param) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - self._adaptor.createFromType(IOPARAM, "IOPARAM") - , root_2) + VIA676_tree = None + stream_VIA = RewriteRuleTokenStream(self._adaptor, "token VIA") + stream_state_entry_point_name = RewriteRuleSubtreeStream(self._adaptor, "rule state_entry_point_name") + success = False - self._adaptor.addChild(root_2, stream_param.nextNode()) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 147): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._adaptor.addChild(root_1, root_2) + # sdl92.g:1402:9: ( VIA state_entry_point_name -> ^( VIA state_entry_point_name ) ) + # sdl92.g:1402:17: VIA state_entry_point_name + pass + VIA676 = self.match(self.input, VIA, self.FOLLOW_VIA_in_via14959) + if self._state.backtracking == 0: + stream_VIA.add(VIA676) - stream_param.reset(); - # sdl92.g:1246:65: ^( FROM $src) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - stream_FROM.nextNode() - , root_2) + self._state.following.append(self.FOLLOW_state_entry_point_name_in_via14961) + state_entry_point_name677 = self.state_entry_point_name() - self._adaptor.addChild(root_2, stream_src.nextNode()) + self._state.following.pop() + if self._state.backtracking == 0: + stream_state_entry_point_name.add(state_entry_point_name677.tree) - self._adaptor.addChild(root_1, root_2) - # sdl92.g:1246:78: ( ^( TO $dest) )? - if stream_TO.hasNext() or stream_dest.hasNext(): - # sdl92.g:1246:78: ^( TO $dest) - root_2 = self._adaptor.nil() - root_2 = self._adaptor.becomeRoot( - stream_TO.nextNode() - , root_2) + # AST Rewrite + # elements: VIA, state_entry_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) - self._adaptor.addChild(root_2, stream_dest.nextNode()) - self._adaptor.addChild(root_1, root_2) + root_0 = self._adaptor.nil() + # 1403:9: -> ^( VIA state_entry_point_name ) + # sdl92.g:1403:17: ^( VIA state_entry_point_name ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_VIA.nextNode() + , root_1) + self._adaptor.addChild(root_1, stream_state_entry_point_name.nextTree()) - stream_TO.reset(); - stream_dest.reset(); + self._adaptor.addChild(root_0, root_1) - self._adaptor.addChild(root_0, root_1) + retval.tree = root_0 - retval.tree = root_0 @@ -28108,19 +27959,25 @@ def output_expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 147, via_StartIndex, success) + + pass return retval - # $ANTLR end "output_expression" + # $ANTLR end "via" - class primary_expression_return(ParserRuleReturnScope): + class end_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -28130,162 +27987,175 @@ def __init__(self): - # $ANTLR start "primary_expression" - # sdl92.g:1249:1: primary_expression : ( primary -> ^( PRIMARY primary ) | '(' expression ')' -> ^( PAREN expression ) | conditional_expression ); - def primary_expression(self, ): - retval = self.primary_expression_return() + # $ANTLR start "end" + # sdl92.g:1407:1: end : ( ( cif )* COMMENT STRING )? ( SEMI )+ -> ( ^( COMMENT ( cif )* STRING ) )? ; + def end(self, ): + retval = self.end_return() retval.start = self.input.LT(1) + end_StartIndex = self.input.index() root_0 = None - char_literal668 = None - char_literal670 = None - primary667 = None - expression669 = None - conditional_expression671 = None + COMMENT679 = None + STRING680 = None + SEMI681 = None + cif678 = None + + COMMENT679_tree = None + STRING680_tree = None + SEMI681_tree = None + stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") + stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") + stream_COMMENT = RewriteRuleTokenStream(self._adaptor, "token COMMENT") + stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") + success = False - char_literal668_tree = None - char_literal670_tree = None - stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") - stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - stream_primary = RewriteRuleSubtreeStream(self._adaptor, "rule primary") try: try: - # sdl92.g:1250:9: ( primary -> ^( PRIMARY primary ) | '(' expression ')' -> ^( PAREN expression ) | conditional_expression ) - alt288 = 3 - LA288 = self.input.LA(1) - if LA288 in {FALSE, FLOAT, ID, INT, L_BRACKET, MINUS_INFINITY, MKSTRING, PLUS_INFINITY, STATE, STRING, TRUE}: - alt288 = 1 - elif LA288 in {L_PAREN}: - alt288 = 2 - elif LA288 in {IF}: - alt288 = 3 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 148): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 288, 0, self.input) - - raise nvae - + # sdl92.g:1408:9: ( ( ( cif )* COMMENT STRING )? ( SEMI )+ -> ( ^( COMMENT ( cif )* STRING ) )? ) + # sdl92.g:1408:13: ( ( cif )* COMMENT STRING )? ( SEMI )+ + pass + # sdl92.g:1408:13: ( ( cif )* COMMENT STRING )? + alt223 = 2 + LA223_0 = self.input.LA(1) - if alt288 == 1: - # sdl92.g:1250:17: primary + if (LA223_0 in {COMMENT, 254}) : + alt223 = 1 + if alt223 == 1: + # sdl92.g:1408:14: ( cif )* COMMENT STRING pass - self._state.following.append(self.FOLLOW_primary_in_primary_expression14849) - primary667 = self.primary() + # sdl92.g:1408:14: ( cif )* + while True: #loop222 + alt222 = 2 + LA222_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_primary.add(primary667.tree) + if (LA222_0 == 254) : + alt222 = 1 - # AST Rewrite - # elements: primary - # 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) + if alt222 == 1: + # sdl92.g:1408:14: cif + pass + self._state.following.append(self.FOLLOW_cif_in_end15011) + cif678 = self.cif() + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif.add(cif678.tree) - root_0 = self._adaptor.nil() - # 1250:47: -> ^( PRIMARY primary ) - # sdl92.g:1250:50: ^( PRIMARY primary ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PRIMARY, "PRIMARY") - , root_1) - self._adaptor.addChild(root_1, stream_primary.nextTree()) - self._adaptor.addChild(root_0, root_1) + else: + break #loop222 + COMMENT679 = self.match(self.input, COMMENT, self.FOLLOW_COMMENT_in_end15014) + if self._state.backtracking == 0: + stream_COMMENT.add(COMMENT679) - retval.tree = root_0 + STRING680 = self.match(self.input, STRING, self.FOLLOW_STRING_in_end15016) + if self._state.backtracking == 0: + stream_STRING.add(STRING680) - elif alt288 == 2: - # sdl92.g:1251:17: '(' expression ')' - pass - char_literal668 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_primary_expression14897) - if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal668) + # sdl92.g:1408:36: ( SEMI )+ + cnt224 = 0 + while True: #loop224 + alt224 = 2 + LA224_0 = self.input.LA(1) - self._state.following.append(self.FOLLOW_expression_in_primary_expression14899) - expression669 = self.expression() + if (LA224_0 == SEMI) : + LA224_2 = self.input.LA(2) - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression669.tree) + if (self.synpred306_sdl92()) : + alt224 = 1 - char_literal670 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_primary_expression14901) - if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal670) - # 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) + if alt224 == 1: + # sdl92.g:1408:36: SEMI + pass + SEMI681 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_end15020) + if self._state.backtracking == 0: + stream_SEMI.add(SEMI681) - root_0 = self._adaptor.nil() - # 1251:47: -> ^( PAREN expression ) - # sdl92.g:1251:50: ^( PAREN expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(PAREN, "PAREN") - , root_1) - self._adaptor.addChild(root_1, stream_expression.nextTree()) - - self._adaptor.addChild(root_0, root_1) + else: + if cnt224 >= 1: + break #loop224 + if self._state.backtracking > 0: + raise BacktrackingFailed + eee = EarlyExitException(224, self.input) + raise eee - retval.tree = root_0 + cnt224 += 1 + # AST Rewrite + # elements: COMMENT, cif, STRING + # 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) - elif alt288 == 3: - # sdl92.g:1252:17: conditional_expression - pass root_0 = self._adaptor.nil() + # 1409:9: -> ( ^( COMMENT ( cif )* STRING ) )? + # sdl92.g:1409:12: ( ^( COMMENT ( cif )* STRING ) )? + if stream_COMMENT.hasNext() or stream_cif.hasNext() or stream_STRING.hasNext(): + # sdl92.g:1409:12: ^( COMMENT ( cif )* STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_COMMENT.nextNode() + , root_1) + # sdl92.g:1409:22: ( cif )* + while stream_cif.hasNext(): + self._adaptor.addChild(root_1, stream_cif.nextTree()) + + + stream_cif.reset(); + + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) + + self._adaptor.addChild(root_0, root_1) + + + stream_COMMENT.reset(); + stream_cif.reset(); + stream_STRING.reset(); + + + + + retval.tree = root_0 - self._state.following.append(self.FOLLOW_conditional_expression_in_primary_expression14938) - conditional_expression671 = self.conditional_expression() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, conditional_expression671.tree) @@ -28298,19 +28168,25 @@ def primary_expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 148, end_StartIndex, success) + + pass return retval - # $ANTLR end "primary_expression" + # $ANTLR end "end" - class primary_return(ParserRuleReturnScope): + class cif_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -28320,876 +28196,674 @@ def __init__(self): - # $ANTLR start "primary" - # sdl92.g:1259:1: primary : ( TRUE ^| FALSE ^| STRING | PLUS_INFINITY ^| MINUS_INFINITY ^| INT ^| FLOAT ^| ID ':' expression -> ^( CHOICE ID expression ) | ID -> ^( VARIABLE ID ) | '{' '}' -> ^( EMPTYSTR ) | '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' -> ^( FLOAT2 $mant $bas $exp) | '{' named_value ( COMMA named_value )* '}' -> ^( SEQUENCE ( named_value )+ ) | '{' expression ( COMMA expression )* '}' -> ^( SEQOF ( expression )+ ) | MKSTRING '(' expression ( COMMA expression )* ')' -> ^( SEQOF ( expression )+ ) | STATE ^); - def primary(self, ): - retval = self.primary_return() + # $ANTLR start "cif" + # sdl92.g:1413:1: cif : cif_decl ! cif_content cif_end !; + def cif(self, ): + retval = self.cif_return() retval.start = self.input.LT(1) + cif_StartIndex = self.input.index() root_0 = None - mant = None - bas = None - exp = None - TRUE672 = None - FALSE673 = None - STRING674 = None - PLUS_INFINITY675 = None - MINUS_INFINITY676 = None - INT677 = None - FLOAT678 = None - ID679 = None - char_literal680 = None - ID682 = None - char_literal683 = None - char_literal684 = None - char_literal685 = None - MANTISSA686 = None - COMMA687 = None - BASE688 = None - COMMA689 = None - EXPONENT690 = None - char_literal691 = None - char_literal692 = None - COMMA694 = None - char_literal696 = None - char_literal697 = None - COMMA699 = None - char_literal701 = None - MKSTRING702 = None - char_literal703 = None - COMMA705 = None - char_literal707 = None - STATE708 = None - expression681 = None - named_value693 = None - named_value695 = None - expression698 = None - expression700 = None - expression704 = None - expression706 = None + cif_decl682 = None + cif_content683 = None + cif_end684 = None + + + success = False - mant_tree = None - bas_tree = None - exp_tree = None - TRUE672_tree = None - FALSE673_tree = None - STRING674_tree = None - PLUS_INFINITY675_tree = None - MINUS_INFINITY676_tree = None - INT677_tree = None - FLOAT678_tree = None - ID679_tree = None - char_literal680_tree = None - ID682_tree = None - char_literal683_tree = None - char_literal684_tree = None - char_literal685_tree = None - MANTISSA686_tree = None - COMMA687_tree = None - BASE688_tree = None - COMMA689_tree = None - EXPONENT690_tree = None - char_literal691_tree = None - char_literal692_tree = None - COMMA694_tree = None - char_literal696_tree = None - char_literal697_tree = None - COMMA699_tree = None - char_literal701_tree = None - MKSTRING702_tree = None - char_literal703_tree = None - COMMA705_tree = None - char_literal707_tree = None - STATE708_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") - stream_L_BRACKET = RewriteRuleTokenStream(self._adaptor, "token L_BRACKET") - stream_MANTISSA = RewriteRuleTokenStream(self._adaptor, "token MANTISSA") - stream_EXPONENT = RewriteRuleTokenStream(self._adaptor, "token EXPONENT") - stream_MKSTRING = RewriteRuleTokenStream(self._adaptor, "token MKSTRING") - stream_ID = RewriteRuleTokenStream(self._adaptor, "token ID") - stream_L_PAREN = RewriteRuleTokenStream(self._adaptor, "token L_PAREN") - stream_R_BRACKET = RewriteRuleTokenStream(self._adaptor, "token R_BRACKET") - stream_R_PAREN = RewriteRuleTokenStream(self._adaptor, "token R_PAREN") - stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") - stream_BASE = RewriteRuleTokenStream(self._adaptor, "token BASE") - stream_named_value = RewriteRuleSubtreeStream(self._adaptor, "rule named_value") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1260:9: ( TRUE ^| FALSE ^| STRING | PLUS_INFINITY ^| MINUS_INFINITY ^| INT ^| FLOAT ^| ID ':' expression -> ^( CHOICE ID expression ) | ID -> ^( VARIABLE ID ) | '{' '}' -> ^( EMPTYSTR ) | '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' -> ^( FLOAT2 $mant $bas $exp) | '{' named_value ( COMMA named_value )* '}' -> ^( SEQUENCE ( named_value )+ ) | '{' expression ( COMMA expression )* '}' -> ^( SEQOF ( expression )+ ) | MKSTRING '(' expression ( COMMA expression )* ')' -> ^( SEQOF ( expression )+ ) | STATE ^) - alt292 = 15 - LA292 = self.input.LA(1) - if LA292 in {TRUE}: - alt292 = 1 - elif LA292 in {FALSE}: - alt292 = 2 - elif LA292 in {STRING}: - alt292 = 3 - elif LA292 in {PLUS_INFINITY}: - alt292 = 4 - elif LA292 in {MINUS_INFINITY}: - alt292 = 5 - elif LA292 in {INT}: - alt292 = 6 - elif LA292 in {FLOAT}: - alt292 = 7 - elif LA292 in {ID}: - LA292_8 = self.input.LA(2) - - if (self.synpred362_sdl92()) : - alt292 = 8 - elif (self.synpred363_sdl92()) : - alt292 = 9 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 149): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 292, 8, self.input) + # sdl92.g:1414:9: ( cif_decl ! cif_content cif_end !) + # sdl92.g:1414:17: cif_decl ! cif_content cif_end ! + pass + root_0 = self._adaptor.nil() - raise nvae + self._state.following.append(self.FOLLOW_cif_decl_in_cif15073) + cif_decl682 = self.cif_decl() - elif LA292 in {L_BRACKET}: - LA292_9 = self.input.LA(2) + self._state.following.pop() - if (self.synpred364_sdl92()) : - alt292 = 10 - elif (self.synpred365_sdl92()) : - alt292 = 11 - elif (self.synpred367_sdl92()) : - alt292 = 12 - elif (self.synpred369_sdl92()) : - alt292 = 13 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + self._state.following.append(self.FOLLOW_cif_content_in_cif15076) + cif_content683 = self.cif_content() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, cif_content683.tree) - nvae = NoViableAltException("", 292, 9, self.input) - raise nvae + self._state.following.append(self.FOLLOW_cif_end_in_cif15078) + cif_end684 = self.cif_end() + self._state.following.pop() - elif LA292 in {MKSTRING}: - alt292 = 14 - elif LA292 in {STATE}: - alt292 = 15 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - nvae = NoViableAltException("", 292, 0, self.input) + retval.stop = self.input.LT(-1) - raise nvae + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if alt292 == 1: - # sdl92.g:1260:17: TRUE ^ - pass - root_0 = self._adaptor.nil() - TRUE672 = self.match(self.input, TRUE, self.FOLLOW_TRUE_in_primary14973) - if self._state.backtracking == 0: - TRUE672_tree = self._adaptor.createWithPayload(TRUE672) - root_0 = self._adaptor.becomeRoot(TRUE672_tree, root_0) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 149, cif_StartIndex, success) - elif alt292 == 2: - # sdl92.g:1261:17: FALSE ^ - pass - root_0 = self._adaptor.nil() + pass + return retval + # $ANTLR end "cif" - FALSE673 = self.match(self.input, FALSE, self.FOLLOW_FALSE_in_primary14992) - if self._state.backtracking == 0: - FALSE673_tree = self._adaptor.createWithPayload(FALSE673) - root_0 = self._adaptor.becomeRoot(FALSE673_tree, root_0) + class cif_content_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - elif alt292 == 3: - # sdl92.g:1262:17: STRING - pass - root_0 = self._adaptor.nil() - STRING674 = self.match(self.input, STRING, self.FOLLOW_STRING_in_primary15011) - if self._state.backtracking == 0: - STRING674_tree = self._adaptor.createWithPayload(STRING674) - self._adaptor.addChild(root_0, STRING674_tree) + # $ANTLR start "cif_content" + # sdl92.g:1417:1: cif_content : ( KEEP ! SPECIFIC ! GEODE ! cif_specific | cif_coordinates | cif_symbol_id ); + def cif_content(self, ): + retval = self.cif_content_return() + retval.start = self.input.LT(1) + cif_content_StartIndex = self.input.index() + root_0 = None - elif alt292 == 4: - # sdl92.g:1263:17: PLUS_INFINITY ^ - pass - root_0 = self._adaptor.nil() + KEEP685 = None + SPECIFIC686 = None + GEODE687 = None + cif_specific688 = None + cif_coordinates689 = None + cif_symbol_id690 = None + KEEP685_tree = None + SPECIFIC686_tree = None + GEODE687_tree = None - PLUS_INFINITY675 = self.match(self.input, PLUS_INFINITY, self.FOLLOW_PLUS_INFINITY_in_primary15029) - if self._state.backtracking == 0: - PLUS_INFINITY675_tree = self._adaptor.createWithPayload(PLUS_INFINITY675) - root_0 = self._adaptor.becomeRoot(PLUS_INFINITY675_tree, root_0) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 150): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1418:9: ( KEEP ! SPECIFIC ! GEODE ! cif_specific | cif_coordinates | cif_symbol_id ) + alt225 = 3 + LA225 = self.input.LA(1) + if LA225 in {KEEP}: + alt225 = 1 + elif LA225 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: + alt225 = 2 + elif LA225 in {256}: + alt225 = 3 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + + nvae = NoViableAltException("", 225, 0, self.input) + raise nvae - elif alt292 == 5: - # sdl92.g:1264:17: MINUS_INFINITY ^ + if alt225 == 1: + # sdl92.g:1418:17: KEEP ! SPECIFIC ! GEODE ! cif_specific pass root_0 = self._adaptor.nil() - MINUS_INFINITY676 = self.match(self.input, MINUS_INFINITY, self.FOLLOW_MINUS_INFINITY_in_primary15048) - if self._state.backtracking == 0: - MINUS_INFINITY676_tree = self._adaptor.createWithPayload(MINUS_INFINITY676) - root_0 = self._adaptor.becomeRoot(MINUS_INFINITY676_tree, root_0) + KEEP685 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_cif_content15110) + + SPECIFIC686 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_cif_content15113) + + GEODE687 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_cif_content15116) + self._state.following.append(self.FOLLOW_cif_specific_in_cif_content15119) + cif_specific688 = self.cif_specific() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, cif_specific688.tree) - elif alt292 == 6: - # sdl92.g:1265:17: INT ^ + + elif alt225 == 2: + # sdl92.g:1419:17: cif_coordinates pass root_0 = self._adaptor.nil() - INT677 = self.match(self.input, INT, self.FOLLOW_INT_in_primary15067) - if self._state.backtracking == 0: - INT677_tree = self._adaptor.createWithPayload(INT677) - root_0 = self._adaptor.becomeRoot(INT677_tree, root_0) + self._state.following.append(self.FOLLOW_cif_coordinates_in_cif_content15137) + cif_coordinates689 = self.cif_coordinates() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, cif_coordinates689.tree) - elif alt292 == 7: - # sdl92.g:1266:17: FLOAT ^ + elif alt225 == 3: + # sdl92.g:1420:17: cif_symbol_id pass root_0 = self._adaptor.nil() - FLOAT678 = self.match(self.input, FLOAT, self.FOLLOW_FLOAT_in_primary15086) + self._state.following.append(self.FOLLOW_cif_symbol_id_in_cif_content15155) + cif_symbol_id690 = self.cif_symbol_id() + + self._state.following.pop() if self._state.backtracking == 0: - FLOAT678_tree = self._adaptor.createWithPayload(FLOAT678) - root_0 = self._adaptor.becomeRoot(FLOAT678_tree, root_0) + self._adaptor.addChild(root_0, cif_symbol_id690.tree) + retval.stop = self.input.LT(-1) - elif alt292 == 8: - # sdl92.g:1267:17: ID ':' expression - pass - ID679 = self.match(self.input, ID, self.FOLLOW_ID_in_primary15105) - if self._state.backtracking == 0: - stream_ID.add(ID679) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - char_literal680 = self.match(self.input, 255, self.FOLLOW_255_in_primary15107) - if self._state.backtracking == 0: - stream_255.add(char_literal680) - self._state.following.append(self.FOLLOW_expression_in_primary15109) - expression681 = self.expression() + success = True - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression681.tree) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 150, cif_content_StartIndex, success) - # AST Rewrite - # elements: ID, 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) + pass + return retval - root_0 = self._adaptor.nil() - # 1267:45: -> ^( CHOICE ID expression ) - # sdl92.g:1267:48: ^( CHOICE ID expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(CHOICE, "CHOICE") - , root_1) + # $ANTLR end "cif_content" - self._adaptor.addChild(root_1, - stream_ID.nextNode() - ) - self._adaptor.addChild(root_1, stream_expression.nextTree()) + class cif_coordinates_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - self._adaptor.addChild(root_0, root_1) + self.tree = None - retval.tree = root_0 + # $ANTLR start "cif_coordinates" + # sdl92.g:1424:1: cif_coordinates : symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN -> ^( CIF $x $y $width $height) ; + def cif_coordinates(self, ): + retval = self.cif_coordinates_return() + retval.start = self.input.LT(1) + cif_coordinates_StartIndex = self.input.index() + root_0 = None - elif alt292 == 9: - # sdl92.g:1268:17: ID - pass - ID682 = self.match(self.input, ID, self.FOLLOW_ID_in_primary15147) - if self._state.backtracking == 0: - stream_ID.add(ID682) + width = None + height = None + L_PAREN692 = None + COMMA693 = None + R_PAREN694 = None + COMMA695 = None + L_PAREN696 = None + COMMA697 = None + R_PAREN698 = None + x = None + y = None + symbolname691 = None + width_tree = None + height_tree = None + L_PAREN692_tree = None + COMMA693_tree = None + R_PAREN694_tree = None + COMMA695_tree = None + L_PAREN696_tree = None + COMMA697_tree = None + R_PAREN698_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") + stream_signed = RewriteRuleSubtreeStream(self._adaptor, "rule signed") + stream_symbolname = RewriteRuleSubtreeStream(self._adaptor, "rule symbolname") + success = False - # AST Rewrite - # elements: 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) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 151): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - root_0 = self._adaptor.nil() - # 1268:45: -> ^( VARIABLE ID ) - # sdl92.g:1268:48: ^( VARIABLE ID ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(VARIABLE, "VARIABLE") - , root_1) + # sdl92.g:1425:9: ( symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN -> ^( CIF $x $y $width $height) ) + # sdl92.g:1425:17: symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN + pass + self._state.following.append(self.FOLLOW_symbolname_in_cif_coordinates15187) + symbolname691 = self.symbolname() - self._adaptor.addChild(root_1, - stream_ID.nextNode() - ) + self._state.following.pop() + if self._state.backtracking == 0: + stream_symbolname.add(symbolname691.tree) - self._adaptor.addChild(root_0, root_1) + L_PAREN692 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_cif_coordinates15205) + if self._state.backtracking == 0: + stream_L_PAREN.add(L_PAREN692) + self._state.following.append(self.FOLLOW_signed_in_cif_coordinates15209) + x = self.signed() - retval.tree = root_0 + self._state.following.pop() + if self._state.backtracking == 0: + stream_signed.add(x.tree) + COMMA693 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif_coordinates15211) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA693) - elif alt292 == 10: - # sdl92.g:1269:17: '{' '}' - pass - char_literal683 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15198) - if self._state.backtracking == 0: - stream_L_BRACKET.add(char_literal683) + self._state.following.append(self.FOLLOW_signed_in_cif_coordinates15215) + y = self.signed() + self._state.following.pop() + if self._state.backtracking == 0: + stream_signed.add(y.tree) - char_literal684 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15200) - if self._state.backtracking == 0: - stream_R_BRACKET.add(char_literal684) + R_PAREN694 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_cif_coordinates15217) + if self._state.backtracking == 0: + stream_R_PAREN.add(R_PAREN694) - # AST Rewrite - # elements: - # 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) + COMMA695 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif_coordinates15235) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA695) - root_0 = self._adaptor.nil() - # 1269:45: -> ^( EMPTYSTR ) - # sdl92.g:1269:48: ^( EMPTYSTR ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(EMPTYSTR, "EMPTYSTR") - , root_1) - self._adaptor.addChild(root_0, root_1) + L_PAREN696 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_cif_coordinates15253) + if self._state.backtracking == 0: + stream_L_PAREN.add(L_PAREN696) + width = self.match(self.input, INT, self.FOLLOW_INT_in_cif_coordinates15257) + if self._state.backtracking == 0: + stream_INT.add(width) - retval.tree = root_0 + COMMA697 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif_coordinates15259) + if self._state.backtracking == 0: + stream_COMMA.add(COMMA697) + height = self.match(self.input, INT, self.FOLLOW_INT_in_cif_coordinates15263) + if self._state.backtracking == 0: + stream_INT.add(height) - elif alt292 == 11: - # sdl92.g:1270:17: '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' - pass - char_literal685 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15244) - if self._state.backtracking == 0: - stream_L_BRACKET.add(char_literal685) + R_PAREN698 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_cif_coordinates15265) + if self._state.backtracking == 0: + stream_R_PAREN.add(R_PAREN698) - MANTISSA686 = self.match(self.input, MANTISSA, self.FOLLOW_MANTISSA_in_primary15262) - if self._state.backtracking == 0: - stream_MANTISSA.add(MANTISSA686) + # AST Rewrite + # elements: x, y, width, height + # token labels: width, height + # rule labels: x, y, retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + stream_width = RewriteRuleTokenStream(self._adaptor, "token width", width) + stream_height = RewriteRuleTokenStream(self._adaptor, "token height", height) + if x is not None: + stream_x = RewriteRuleSubtreeStream(self._adaptor, "rule x", x.tree) + else: + stream_x = RewriteRuleSubtreeStream(self._adaptor, "token x", None) + if y is not None: + stream_y = RewriteRuleSubtreeStream(self._adaptor, "rule y", y.tree) + else: + stream_y = RewriteRuleSubtreeStream(self._adaptor, "token y", None) - mant = self.match(self.input, INT, self.FOLLOW_INT_in_primary15266) - if self._state.backtracking == 0: - stream_INT.add(mant) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - COMMA687 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15268) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA687) + root_0 = self._adaptor.nil() + # 1429:9: -> ^( CIF $x $y $width $height) + # sdl92.g:1429:17: ^( CIF $x $y $width $height) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(CIF, "CIF") + , root_1) + self._adaptor.addChild(root_1, stream_x.nextTree()) - BASE688 = self.match(self.input, BASE, self.FOLLOW_BASE_in_primary15286) - if self._state.backtracking == 0: - stream_BASE.add(BASE688) + self._adaptor.addChild(root_1, stream_y.nextTree()) + self._adaptor.addChild(root_1, stream_width.nextNode()) - bas = self.match(self.input, INT, self.FOLLOW_INT_in_primary15290) - if self._state.backtracking == 0: - stream_INT.add(bas) + self._adaptor.addChild(root_1, stream_height.nextNode()) + self._adaptor.addChild(root_0, root_1) - COMMA689 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15292) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA689) - EXPONENT690 = self.match(self.input, EXPONENT, self.FOLLOW_EXPONENT_in_primary15310) - if self._state.backtracking == 0: - stream_EXPONENT.add(EXPONENT690) + retval.tree = root_0 - exp = self.match(self.input, INT, self.FOLLOW_INT_in_primary15314) - if self._state.backtracking == 0: - stream_INT.add(exp) - char_literal691 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15332) - if self._state.backtracking == 0: - stream_R_BRACKET.add(char_literal691) - # AST Rewrite - # elements: mant, bas, exp - # token labels: bas, mant, exp - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: - if self._state.backtracking == 0: - retval.tree = root_0 - stream_bas = RewriteRuleTokenStream(self._adaptor, "token bas", bas) - stream_mant = RewriteRuleTokenStream(self._adaptor, "token mant", mant) - stream_exp = RewriteRuleTokenStream(self._adaptor, "token exp", exp) - if retval is not None: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) - else: - stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) + retval.stop = self.input.LT(-1) - root_0 = self._adaptor.nil() - # 1274:45: -> ^( FLOAT2 $mant $bas $exp) - # sdl92.g:1274:48: ^( FLOAT2 $mant $bas $exp) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(FLOAT2, "FLOAT2") - , root_1) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - self._adaptor.addChild(root_1, stream_mant.nextNode()) - self._adaptor.addChild(root_1, stream_bas.nextNode()) - self._adaptor.addChild(root_1, stream_exp.nextNode()) + success = True - self._adaptor.addChild(root_0, root_1) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 151, cif_coordinates_StartIndex, success) + pass + return retval - retval.tree = root_0 + # $ANTLR end "cif_coordinates" + class cif_symbol_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - elif alt292 == 12: - # sdl92.g:1275:17: '{' named_value ( COMMA named_value )* '}' - pass - char_literal692 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15389) - if self._state.backtracking == 0: - stream_L_BRACKET.add(char_literal692) - self._state.following.append(self.FOLLOW_named_value_in_primary15407) - named_value693 = self.named_value() - self._state.following.pop() - if self._state.backtracking == 0: - stream_named_value.add(named_value693.tree) + # $ANTLR start "cif_symbol_id" + # sdl92.g:1432:1: cif_symbol_id : '_id' ptr= INT -> ^( SYMBOLID $ptr) ; + def cif_symbol_id(self, ): + retval = self.cif_symbol_id_return() + retval.start = self.input.LT(1) - # sdl92.g:1276:29: ( COMMA named_value )* - while True: #loop289 - alt289 = 2 - LA289_0 = self.input.LA(1) + cif_symbol_id_StartIndex = self.input.index() - if (LA289_0 == COMMA) : - alt289 = 1 + root_0 = None + ptr = None + string_literal699 = None - if alt289 == 1: - # sdl92.g:1276:30: COMMA named_value - pass - COMMA694 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15410) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA694) + ptr_tree = None + string_literal699_tree = None + stream_256 = RewriteRuleTokenStream(self._adaptor, "token 256") + stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") + success = False - self._state.following.append(self.FOLLOW_named_value_in_primary15412) - named_value695 = self.named_value() + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 152): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_named_value.add(named_value695.tree) + # sdl92.g:1433:9: ( '_id' ptr= INT -> ^( SYMBOLID $ptr) ) + # sdl92.g:1433:17: '_id' ptr= INT + pass + string_literal699 = self.match(self.input, 256, self.FOLLOW_256_in_cif_symbol_id15327) + if self._state.backtracking == 0: + stream_256.add(string_literal699) - else: - break #loop289 + ptr = self.match(self.input, INT, self.FOLLOW_INT_in_cif_symbol_id15331) + if self._state.backtracking == 0: + stream_INT.add(ptr) - char_literal696 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15432) - if self._state.backtracking == 0: - stream_R_BRACKET.add(char_literal696) + # AST Rewrite + # elements: ptr + # token labels: ptr + # rule labels: retval + # token list labels: + # rule list labels: + # wildcard labels: + if self._state.backtracking == 0: + retval.tree = root_0 + stream_ptr = RewriteRuleTokenStream(self._adaptor, "token ptr", ptr) + if retval is not None: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) + else: + stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None) - # AST Rewrite - # elements: named_value - # 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() + # 1434:9: -> ^( SYMBOLID $ptr) + # sdl92.g:1434:17: ^( SYMBOLID $ptr) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(SYMBOLID, "SYMBOLID") + , root_1) + self._adaptor.addChild(root_1, stream_ptr.nextNode()) - root_0 = self._adaptor.nil() - # 1277:45: -> ^( SEQUENCE ( named_value )+ ) - # sdl92.g:1277:48: ^( SEQUENCE ( named_value )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SEQUENCE, "SEQUENCE") - , root_1) + self._adaptor.addChild(root_0, root_1) - # sdl92.g:1277:59: ( named_value )+ - if not (stream_named_value.hasNext()): - raise RewriteEarlyExitException() - while stream_named_value.hasNext(): - self._adaptor.addChild(root_1, stream_named_value.nextTree()) - stream_named_value.reset() + retval.tree = root_0 - 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) - elif alt292 == 13: - # sdl92.g:1278:17: '{' expression ( COMMA expression )* '}' - pass - char_literal697 = self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_primary15483) - if self._state.backtracking == 0: - stream_L_BRACKET.add(char_literal697) + success = True - self._state.following.append(self.FOLLOW_expression_in_primary15501) - expression698 = self.expression() + 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) - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression698.tree) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 152, cif_symbol_id_StartIndex, success) - # sdl92.g:1279:28: ( COMMA expression )* - while True: #loop290 - alt290 = 2 - LA290_0 = self.input.LA(1) + pass + return retval - if (LA290_0 == COMMA) : - alt290 = 1 + # $ANTLR end "cif_symbol_id" - if alt290 == 1: - # sdl92.g:1279:29: COMMA expression - pass - COMMA699 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15504) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA699) + class cif_paramnames_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - self._state.following.append(self.FOLLOW_expression_in_primary15506) - expression700 = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression700.tree) - else: - break #loop290 + # $ANTLR start "cif_paramnames" + # sdl92.g:1437:1: cif_paramnames : cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end -> ^( PARAMNAMES ( field_name )+ ) ; + def cif_paramnames(self, ): + retval = self.cif_paramnames_return() + retval.start = self.input.LT(1) + cif_paramnames_StartIndex = self.input.index() - char_literal701 = self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_primary15526) - if self._state.backtracking == 0: - stream_R_BRACKET.add(char_literal701) + root_0 = None + KEEP701 = None + SPECIFIC702 = None + GEODE703 = None + PARAMNAMES704 = None + cif_decl700 = None + field_name705 = None + cif_end706 = None + + KEEP701_tree = None + SPECIFIC702_tree = None + GEODE703_tree = None + PARAMNAMES704_tree = None + stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") + stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") + stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") + stream_PARAMNAMES = RewriteRuleTokenStream(self._adaptor, "token PARAMNAMES") + stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") + stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") + stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") + success = False - # 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) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 153): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - root_0 = self._adaptor.nil() - # 1280:45: -> ^( SEQOF ( expression )+ ) - # sdl92.g:1280:48: ^( SEQOF ( expression )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SEQOF, "SEQOF") - , root_1) + # sdl92.g:1438:9: ( cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end -> ^( PARAMNAMES ( field_name )+ ) ) + # sdl92.g:1438:11: cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end + pass + self._state.following.append(self.FOLLOW_cif_decl_in_cif_paramnames15378) + cif_decl700 = self.cif_decl() - # sdl92.g:1280:56: ( expression )+ - if not (stream_expression.hasNext()): - raise RewriteEarlyExitException() + self._state.following.pop() + if self._state.backtracking == 0: + stream_cif_decl.add(cif_decl700.tree) - while stream_expression.hasNext(): - self._adaptor.addChild(root_1, stream_expression.nextTree()) + KEEP701 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_cif_paramnames15380) + if self._state.backtracking == 0: + stream_KEEP.add(KEEP701) - stream_expression.reset() - self._adaptor.addChild(root_0, root_1) + SPECIFIC702 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_cif_paramnames15382) + if self._state.backtracking == 0: + stream_SPECIFIC.add(SPECIFIC702) + GEODE703 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_cif_paramnames15384) + if self._state.backtracking == 0: + stream_GEODE.add(GEODE703) - retval.tree = root_0 + PARAMNAMES704 = self.match(self.input, PARAMNAMES, self.FOLLOW_PARAMNAMES_in_cif_paramnames15396) + if self._state.backtracking == 0: + stream_PARAMNAMES.add(PARAMNAMES704) + # sdl92.g:1439:22: ( field_name )+ + cnt226 = 0 + while True: #loop226 + alt226 = 2 + LA226_0 = self.input.LA(1) + if (LA226_0 in {ID, STATE}) : + alt226 = 1 - elif alt292 == 14: - # sdl92.g:1281:17: MKSTRING '(' expression ( COMMA expression )* ')' - pass - MKSTRING702 = self.match(self.input, MKSTRING, self.FOLLOW_MKSTRING_in_primary15577) - if self._state.backtracking == 0: - stream_MKSTRING.add(MKSTRING702) + if alt226 == 1: + # sdl92.g:1439:22: field_name + pass + self._state.following.append(self.FOLLOW_field_name_in_cif_paramnames15398) + field_name705 = self.field_name() - char_literal703 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_primary15579) - if self._state.backtracking == 0: - stream_L_PAREN.add(char_literal703) - - - self._state.following.append(self.FOLLOW_expression_in_primary15581) - expression704 = self.expression() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression704.tree) - - - # sdl92.g:1281:41: ( COMMA expression )* - while True: #loop291 - alt291 = 2 - LA291_0 = self.input.LA(1) - - if (LA291_0 == COMMA) : - alt291 = 1 - - - if alt291 == 1: - # sdl92.g:1281:42: COMMA expression - pass - COMMA705 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_primary15584) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA705) - - - self._state.following.append(self.FOLLOW_expression_in_primary15586) - expression706 = self.expression() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression706.tree) - - - - else: - break #loop291 - - - char_literal707 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_primary15590) - if self._state.backtracking == 0: - stream_R_PAREN.add(char_literal707) - - - # 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() - # 1282:45: -> ^( SEQOF ( expression )+ ) - # sdl92.g:1282:48: ^( SEQOF ( expression )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SEQOF, "SEQOF") - , root_1) - - # sdl92.g:1282:56: ( expression )+ - if not (stream_expression.hasNext()): - raise RewriteEarlyExitException() - - while stream_expression.hasNext(): - self._adaptor.addChild(root_1, stream_expression.nextTree()) - - - stream_expression.reset() - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 - - - - - elif alt292 == 15: - # sdl92.g:1283:17: STATE ^ - pass - root_0 = self._adaptor.nil() - - - STATE708 = self.match(self.input, STATE, self.FOLLOW_STATE_in_primary15661) - if self._state.backtracking == 0: - STATE708_tree = self._adaptor.createWithPayload(STATE708) - root_0 = self._adaptor.becomeRoot(STATE708_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 "primary" - - - class informal_text_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - - self.tree = None + self._state.following.pop() + if self._state.backtracking == 0: + stream_field_name.add(field_name705.tree) + else: + if cnt226 >= 1: + break #loop226 + if self._state.backtracking > 0: + raise BacktrackingFailed - # $ANTLR start "informal_text" - # sdl92.g:1287:1: informal_text : STRING -> ^( INFORMAL_TEXT STRING ) ; - def informal_text(self, ): - retval = self.informal_text_return() - retval.start = self.input.LT(1) + eee = EarlyExitException(226, self.input) + raise eee - root_0 = None + cnt226 += 1 - STRING709 = None - STRING709_tree = None - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") + self._state.following.append(self.FOLLOW_cif_end_in_cif_paramnames15411) + cif_end706 = self.cif_end() - try: - try: - # sdl92.g:1288:9: ( STRING -> ^( INFORMAL_TEXT STRING ) ) - # sdl92.g:1288:18: STRING - pass - STRING709 = self.match(self.input, STRING, self.FOLLOW_STRING_in_informal_text15695) + self._state.following.pop() if self._state.backtracking == 0: - stream_STRING.add(STRING709) + stream_cif_end.add(cif_end706.tree) # AST Rewrite - # elements: STRING + # elements: PARAMNAMES, field_name # token labels: # rule labels: retval # token list labels: @@ -29204,16 +28878,22 @@ def informal_text(self, ): root_0 = self._adaptor.nil() - # 1289:9: -> ^( INFORMAL_TEXT STRING ) - # sdl92.g:1289:18: ^( INFORMAL_TEXT STRING ) + # 1441:9: -> ^( PARAMNAMES ( field_name )+ ) + # sdl92.g:1441:12: ^( PARAMNAMES ( field_name )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(INFORMAL_TEXT, "INFORMAL_TEXT") + stream_PARAMNAMES.nextNode() , root_1) - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) + # sdl92.g:1441: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_0, root_1) @@ -29235,19 +28915,25 @@ def informal_text(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 153, cif_paramnames_StartIndex, success) + + pass return retval - # $ANTLR end "informal_text" + # $ANTLR end "cif_paramnames" - class named_value_return(ParserRuleReturnScope): + class cif_specific_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -29257,370 +28943,530 @@ def __init__(self): - # $ANTLR start "named_value" - # sdl92.g:1294:1: named_value : ID expression ; - def named_value(self, ): - retval = self.named_value_return() + # $ANTLR start "cif_specific" + # sdl92.g:1456:1: cif_specific : ( HYPERLINK STRING -> ^( HYPERLINK STRING ) | REQ_SERVER STRING -> ^( REQ_SERVER STRING ) | RID_SERVER STRING -> ^( RID_SERVER STRING ) | REQ_ID STRING -> ^( REQ_ID STRING ) | RID_ID STRING -> ^( RID_ID STRING ) | PARTITION STRING -> ^( PARTITION STRING ) | PARAMNAMES ( field_name )+ -> ^( PARAMNAMES ( field_name )+ ) | ASNFILENAME STRING -> ^( ASN1 STRING ) ); + def cif_specific(self, ): + retval = self.cif_specific_return() retval.start = self.input.LT(1) + cif_specific_StartIndex = self.input.index() root_0 = None - ID710 = None - expression711 = None - - ID710_tree = None + HYPERLINK707 = None + STRING708 = None + REQ_SERVER709 = None + STRING710 = None + RID_SERVER711 = None + STRING712 = None + REQ_ID713 = None + STRING714 = None + RID_ID715 = None + STRING716 = None + PARTITION717 = None + STRING718 = None + PARAMNAMES719 = None + ASNFILENAME721 = None + STRING722 = None + field_name720 = None + + HYPERLINK707_tree = None + STRING708_tree = None + REQ_SERVER709_tree = None + STRING710_tree = None + RID_SERVER711_tree = None + STRING712_tree = None + REQ_ID713_tree = None + STRING714_tree = None + RID_ID715_tree = None + STRING716_tree = None + PARTITION717_tree = None + STRING718_tree = None + PARAMNAMES719_tree = None + ASNFILENAME721_tree = None + STRING722_tree = None + stream_REQ_ID = RewriteRuleTokenStream(self._adaptor, "token REQ_ID") + stream_ASNFILENAME = RewriteRuleTokenStream(self._adaptor, "token ASNFILENAME") + stream_REQ_SERVER = RewriteRuleTokenStream(self._adaptor, "token REQ_SERVER") + stream_HYPERLINK = RewriteRuleTokenStream(self._adaptor, "token HYPERLINK") + stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") + stream_RID_SERVER = RewriteRuleTokenStream(self._adaptor, "token RID_SERVER") + stream_PARTITION = RewriteRuleTokenStream(self._adaptor, "token PARTITION") + stream_PARAMNAMES = RewriteRuleTokenStream(self._adaptor, "token PARAMNAMES") + stream_RID_ID = RewriteRuleTokenStream(self._adaptor, "token RID_ID") + stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") + success = False try: try: - # sdl92.g:1295:9: ( ID expression ) - # sdl92.g:1295:17: ID expression - pass - root_0 = self._adaptor.nil() - - - ID710 = self.match(self.input, ID, self.FOLLOW_ID_in_named_value15750) - if self._state.backtracking == 0: - ID710_tree = self._adaptor.createWithPayload(ID710) - self._adaptor.addChild(root_0, ID710_tree) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 154): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1457:9: ( HYPERLINK STRING -> ^( HYPERLINK STRING ) | REQ_SERVER STRING -> ^( REQ_SERVER STRING ) | RID_SERVER STRING -> ^( RID_SERVER STRING ) | REQ_ID STRING -> ^( REQ_ID STRING ) | RID_ID STRING -> ^( RID_ID STRING ) | PARTITION STRING -> ^( PARTITION STRING ) | PARAMNAMES ( field_name )+ -> ^( PARAMNAMES ( field_name )+ ) | ASNFILENAME STRING -> ^( ASN1 STRING ) ) + alt228 = 8 + LA228 = self.input.LA(1) + if LA228 in {HYPERLINK}: + alt228 = 1 + elif LA228 in {REQ_SERVER}: + alt228 = 2 + elif LA228 in {RID_SERVER}: + alt228 = 3 + elif LA228 in {REQ_ID}: + alt228 = 4 + elif LA228 in {RID_ID}: + alt228 = 5 + elif LA228 in {PARTITION}: + alt228 = 6 + elif LA228 in {PARAMNAMES}: + alt228 = 7 + elif LA228 in {ASNFILENAME}: + alt228 = 8 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 228, 0, self.input) - self._state.following.append(self.FOLLOW_expression_in_named_value15752) - expression711 = self.expression() + raise nvae - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, expression711.tree) + if alt228 == 1: + # sdl92.g:1457:17: HYPERLINK STRING + pass + HYPERLINK707 = self.match(self.input, HYPERLINK, self.FOLLOW_HYPERLINK_in_cif_specific15461) + if self._state.backtracking == 0: + stream_HYPERLINK.add(HYPERLINK707) + STRING708 = self.match(self.input, STRING, self.FOLLOW_STRING_in_cif_specific15463) + if self._state.backtracking == 0: + stream_STRING.add(STRING708) - retval.stop = self.input.LT(-1) + # AST Rewrite + # elements: HYPERLINK, STRING + # 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) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + root_0 = self._adaptor.nil() + # 1457:41: -> ^( HYPERLINK STRING ) + # sdl92.g:1457:44: ^( HYPERLINK STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_HYPERLINK.nextNode() + , root_1) + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) - 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) + self._adaptor.addChild(root_0, root_1) - finally: - pass - return retval - # $ANTLR end "named_value" - class indexed_primary_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + retval.tree = root_0 - self.tree = None + elif alt228 == 2: + # sdl92.g:1458:17: REQ_SERVER STRING + pass + REQ_SERVER709 = self.match(self.input, REQ_SERVER, self.FOLLOW_REQ_SERVER_in_cif_specific15496) + if self._state.backtracking == 0: + stream_REQ_SERVER.add(REQ_SERVER709) - # $ANTLR start "indexed_primary" - # sdl92.g:1318:1: indexed_primary : primary '(' expression_list ')' ; - def indexed_primary(self, ): - retval = self.indexed_primary_return() - retval.start = self.input.LT(1) + STRING710 = self.match(self.input, STRING, self.FOLLOW_STRING_in_cif_specific15498) + if self._state.backtracking == 0: + stream_STRING.add(STRING710) - root_0 = None + # AST Rewrite + # elements: REQ_SERVER, STRING + # 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) - char_literal713 = None - char_literal715 = None - primary712 = None - expression_list714 = None - char_literal713_tree = None - char_literal715_tree = None + root_0 = self._adaptor.nil() + # 1458:41: -> ^( REQ_SERVER STRING ) + # sdl92.g:1458:44: ^( REQ_SERVER STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_REQ_SERVER.nextNode() + , root_1) - try: - try: - # sdl92.g:1319:9: ( primary '(' expression_list ')' ) - # sdl92.g:1319:17: primary '(' expression_list ')' - pass - root_0 = self._adaptor.nil() + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) + self._adaptor.addChild(root_0, root_1) - self._state.following.append(self.FOLLOW_primary_in_indexed_primary15790) - primary712 = self.primary() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, primary712.tree) - char_literal713 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_indexed_primary15792) - if self._state.backtracking == 0: - char_literal713_tree = self._adaptor.createWithPayload(char_literal713) - self._adaptor.addChild(root_0, char_literal713_tree) + retval.tree = root_0 - self._state.following.append(self.FOLLOW_expression_list_in_indexed_primary15794) - expression_list714 = self.expression_list() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, expression_list714.tree) + elif alt228 == 3: + # sdl92.g:1459:17: RID_SERVER STRING + pass + RID_SERVER711 = self.match(self.input, RID_SERVER, self.FOLLOW_RID_SERVER_in_cif_specific15530) + if self._state.backtracking == 0: + stream_RID_SERVER.add(RID_SERVER711) - char_literal715 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_indexed_primary15796) - if self._state.backtracking == 0: - char_literal715_tree = self._adaptor.createWithPayload(char_literal715) - self._adaptor.addChild(root_0, char_literal715_tree) + STRING712 = self.match(self.input, STRING, self.FOLLOW_STRING_in_cif_specific15532) + if self._state.backtracking == 0: + stream_STRING.add(STRING712) + # AST Rewrite + # elements: RID_SERVER, STRING + # 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() + # 1459:41: -> ^( RID_SERVER STRING ) + # sdl92.g:1459:44: ^( RID_SERVER STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_RID_SERVER.nextNode() + , root_1) - retval.stop = self.input.LT(-1) + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) + self._adaptor.addChild(root_0, root_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) + retval.tree = root_0 - finally: - pass - return retval - # $ANTLR end "indexed_primary" - class field_primary_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + elif alt228 == 4: + # sdl92.g:1460:17: REQ_ID STRING + pass + REQ_ID713 = self.match(self.input, REQ_ID, self.FOLLOW_REQ_ID_in_cif_specific15564) + if self._state.backtracking == 0: + stream_REQ_ID.add(REQ_ID713) - self.tree = None + STRING714 = self.match(self.input, STRING, self.FOLLOW_STRING_in_cif_specific15566) + if self._state.backtracking == 0: + stream_STRING.add(STRING714) + # AST Rewrite + # elements: REQ_ID, STRING + # 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) - # $ANTLR start "field_primary" - # sdl92.g:1323:1: field_primary : primary field_selection ; - def field_primary(self, ): - retval = self.field_primary_return() - retval.start = self.input.LT(1) + root_0 = self._adaptor.nil() + # 1460:41: -> ^( REQ_ID STRING ) + # sdl92.g:1460:44: ^( REQ_ID STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_REQ_ID.nextNode() + , root_1) + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) - root_0 = None + self._adaptor.addChild(root_0, root_1) - primary716 = None - field_selection717 = None - try: - try: - # sdl92.g:1324:9: ( primary field_selection ) - # sdl92.g:1324:17: primary field_selection - pass - root_0 = self._adaptor.nil() + retval.tree = root_0 - self._state.following.append(self.FOLLOW_primary_in_field_primary15828) - primary716 = self.primary() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, primary716.tree) - self._state.following.append(self.FOLLOW_field_selection_in_field_primary15830) - field_selection717 = self.field_selection() + elif alt228 == 5: + # sdl92.g:1461:17: RID_ID STRING + pass + RID_ID715 = self.match(self.input, RID_ID, self.FOLLOW_RID_ID_in_cif_specific15602) + if self._state.backtracking == 0: + stream_RID_ID.add(RID_ID715) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, field_selection717.tree) + STRING716 = self.match(self.input, STRING, self.FOLLOW_STRING_in_cif_specific15604) + if self._state.backtracking == 0: + stream_STRING.add(STRING716) + # AST Rewrite + # elements: RID_ID, STRING + # 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) - retval.stop = self.input.LT(-1) + root_0 = self._adaptor.nil() + # 1461:41: -> ^( RID_ID STRING ) + # sdl92.g:1461:44: ^( RID_ID STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_RID_ID.nextNode() + , root_1) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) + self._adaptor.addChild(root_0, root_1) - 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_primary" + retval.tree = root_0 - class structure_primary_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + elif alt228 == 6: + # sdl92.g:1462:17: PARTITION STRING + pass + PARTITION717 = self.match(self.input, PARTITION, self.FOLLOW_PARTITION_in_cif_specific15640) + if self._state.backtracking == 0: + stream_PARTITION.add(PARTITION717) + STRING718 = self.match(self.input, STRING, self.FOLLOW_STRING_in_cif_specific15642) + if self._state.backtracking == 0: + stream_STRING.add(STRING718) - # $ANTLR start "structure_primary" - # sdl92.g:1328:1: structure_primary : '(.' expression_list '.)' ; - def structure_primary(self, ): - retval = self.structure_primary_return() - retval.start = self.input.LT(1) + # AST Rewrite + # elements: PARTITION, STRING + # 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 = None + root_0 = self._adaptor.nil() + # 1462:41: -> ^( PARTITION STRING ) + # sdl92.g:1462:44: ^( PARTITION STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_PARTITION.nextNode() + , root_1) + + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) - string_literal718 = None - string_literal720 = None - expression_list719 = None + self._adaptor.addChild(root_0, root_1) - string_literal718_tree = None - string_literal720_tree = None - try: - try: - # sdl92.g:1329:9: ( '(.' expression_list '.)' ) - # sdl92.g:1329:17: '(.' expression_list '.)' - pass - root_0 = self._adaptor.nil() - string_literal718 = self.match(self.input, 249, self.FOLLOW_249_in_structure_primary15862) - if self._state.backtracking == 0: - string_literal718_tree = self._adaptor.createWithPayload(string_literal718) - self._adaptor.addChild(root_0, string_literal718_tree) + retval.tree = root_0 - self._state.following.append(self.FOLLOW_expression_list_in_structure_primary15864) - expression_list719 = self.expression_list() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, expression_list719.tree) + elif alt228 == 7: + # sdl92.g:1463:17: PARAMNAMES ( field_name )+ + pass + PARAMNAMES719 = self.match(self.input, PARAMNAMES, self.FOLLOW_PARAMNAMES_in_cif_specific15675) + if self._state.backtracking == 0: + stream_PARAMNAMES.add(PARAMNAMES719) - string_literal720 = self.match(self.input, 253, self.FOLLOW_253_in_structure_primary15866) - if self._state.backtracking == 0: - string_literal720_tree = self._adaptor.createWithPayload(string_literal720) - self._adaptor.addChild(root_0, string_literal720_tree) + # sdl92.g:1463:28: ( field_name )+ + cnt227 = 0 + while True: #loop227 + alt227 = 2 + LA227_0 = self.input.LA(1) + if (LA227_0 in {ID, STATE}) : + alt227 = 1 + if alt227 == 1: + # sdl92.g:1463:28: field_name + pass + self._state.following.append(self.FOLLOW_field_name_in_cif_specific15677) + field_name720 = self.field_name() + self._state.following.pop() + if self._state.backtracking == 0: + stream_field_name.add(field_name720.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) + else: + if cnt227 >= 1: + break #loop227 + if self._state.backtracking > 0: + raise BacktrackingFailed - 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) + eee = EarlyExitException(227, self.input) + raise eee - finally: - pass - return retval + cnt227 += 1 - # $ANTLR end "structure_primary" + # AST Rewrite + # elements: PARAMNAMES, field_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) - class sort_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + root_0 = self._adaptor.nil() + # 1463:41: -> ^( PARAMNAMES ( field_name )+ ) + # sdl92.g:1463:44: ^( PARAMNAMES ( field_name )+ ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_PARAMNAMES.nextNode() + , root_1) + # sdl92.g:1463:57: ( 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() - # $ANTLR start "sort" - # sdl92.g:1371:1: sort : sort_id -> ^( SORT sort_id ) ; - def sort(self, ): - retval = self.sort_return() - retval.start = self.input.LT(1) + self._adaptor.addChild(root_0, root_1) - root_0 = None - sort_id721 = None - stream_sort_id = RewriteRuleSubtreeStream(self._adaptor, "rule sort_id") - try: - try: - # sdl92.g:1371:9: ( sort_id -> ^( SORT sort_id ) ) - # sdl92.g:1371:17: sort_id - pass - self._state.following.append(self.FOLLOW_sort_id_in_sort15897) - sort_id721 = self.sort_id() + retval.tree = root_0 - self._state.following.pop() - if self._state.backtracking == 0: - stream_sort_id.add(sort_id721.tree) - # AST Rewrite - # elements: sort_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) + elif alt228 == 8: + # sdl92.g:1464:17: ASNFILENAME STRING + pass + ASNFILENAME721 = self.match(self.input, ASNFILENAME, self.FOLLOW_ASNFILENAME_in_cif_specific15706) + if self._state.backtracking == 0: + stream_ASNFILENAME.add(ASNFILENAME721) - root_0 = self._adaptor.nil() - # 1372:9: -> ^( SORT sort_id ) - # sdl92.g:1372:17: ^( SORT sort_id ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SORT, "SORT") - , root_1) - self._adaptor.addChild(root_1, stream_sort_id.nextTree()) + STRING722 = self.match(self.input, STRING, self.FOLLOW_STRING_in_cif_specific15708) + if self._state.backtracking == 0: + stream_STRING.add(STRING722) - self._adaptor.addChild(root_0, root_1) + + # AST Rewrite + # elements: STRING + # 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() + # 1464:41: -> ^( ASN1 STRING ) + # sdl92.g:1464:44: ^( ASN1 STRING ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(ASN1, "ASN1") + , root_1) + + self._adaptor.addChild(root_1, + stream_STRING.nextNode() + ) + + self._adaptor.addChild(root_0, root_1) + - retval.tree = root_0 + retval.tree = root_0 @@ -29634,19 +29480,25 @@ def sort(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 154, cif_specific_StartIndex, success) + + pass return retval - # $ANTLR end "sort" + # $ANTLR end "cif_specific" - class type_inst_return(ParserRuleReturnScope): + class stop_if_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -29656,33 +29508,96 @@ def __init__(self): - # $ANTLR start "type_inst" - # sdl92.g:1376:1: type_inst : type_id -> ^( TYPE_INSTANCE type_id ) ; - def type_inst(self, ): - retval = self.type_inst_return() - retval.start = self.input.LT(1) + # $ANTLR start "stop_if" + # sdl92.g:1469:1: stop_if : ( STOP IF expression end )+ -> ^( STOPIF ( expression )+ ) ; + def stop_if(self, ): + retval = self.stop_if_return() + retval.start = self.input.LT(1) + stop_if_StartIndex = self.input.index() root_0 = None - type_id722 = None + STOP723 = None + IF724 = None + expression725 = None + end726 = None + + STOP723_tree = None + IF724_tree = None + stream_STOP = RewriteRuleTokenStream(self._adaptor, "token STOP") + stream_IF = RewriteRuleTokenStream(self._adaptor, "token IF") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False - stream_type_id = RewriteRuleSubtreeStream(self._adaptor, "rule type_id") try: try: - # sdl92.g:1377:9: ( type_id -> ^( TYPE_INSTANCE type_id ) ) - # sdl92.g:1377:17: type_id + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 155): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1470:9: ( ( STOP IF expression end )+ -> ^( STOPIF ( expression )+ ) ) + # sdl92.g:1470:17: ( STOP IF expression end )+ pass - self._state.following.append(self.FOLLOW_type_id_in_type_inst15950) - type_id722 = self.type_id() + # sdl92.g:1470:17: ( STOP IF expression end )+ + cnt229 = 0 + while True: #loop229 + alt229 = 2 + LA229_0 = self.input.LA(1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_type_id.add(type_id722.tree) + if (LA229_0 == STOP) : + alt229 = 1 + + + if alt229 == 1: + # sdl92.g:1470:18: STOP IF expression end + pass + STOP723 = self.match(self.input, STOP, self.FOLLOW_STOP_in_stop_if15755) + if self._state.backtracking == 0: + stream_STOP.add(STOP723) + + + IF724 = self.match(self.input, IF, self.FOLLOW_IF_in_stop_if15757) + if self._state.backtracking == 0: + stream_IF.add(IF724) + + + self._state.following.append(self.FOLLOW_expression_in_stop_if15759) + expression725 = self.expression() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression725.tree) + + + self._state.following.append(self.FOLLOW_end_in_stop_if15761) + end726 = self.end() + + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end726.tree) + + + + else: + if cnt229 >= 1: + break #loop229 + + if self._state.backtracking > 0: + raise BacktrackingFailed + + + eee = EarlyExitException(229, self.input) + raise eee + + cnt229 += 1 # AST Rewrite - # elements: type_id + # elements: expression # token labels: # rule labels: retval # token list labels: @@ -29697,14 +29612,22 @@ def type_inst(self, ): root_0 = self._adaptor.nil() - # 1378:9: -> ^( TYPE_INSTANCE type_id ) - # sdl92.g:1378:17: ^( TYPE_INSTANCE type_id ) + # 1471:9: -> ^( STOPIF ( expression )+ ) + # sdl92.g:1471:17: ^( STOPIF ( expression )+ ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TYPE_INSTANCE, "TYPE_INSTANCE") + self._adaptor.createFromType(STOPIF, "STOPIF") , root_1) - self._adaptor.addChild(root_1, stream_type_id.nextTree()) + # sdl92.g:1471:26: ( expression )+ + if not (stream_expression.hasNext()): + raise RewriteEarlyExitException() + + while stream_expression.hasNext(): + self._adaptor.addChild(root_1, stream_expression.nextTree()) + + + stream_expression.reset() self._adaptor.addChild(root_0, root_1) @@ -29726,19 +29649,25 @@ def type_inst(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 155, stop_if_StartIndex, success) + + pass return retval - # $ANTLR end "type_inst" + # $ANTLR end "stop_if" - class syntype_return(ParserRuleReturnScope): + class symbolname_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -29748,32 +29677,54 @@ def __init__(self): - # $ANTLR start "syntype" - # sdl92.g:1382:1: syntype : syntype_id ; - def syntype(self, ): - retval = self.syntype_return() + # $ANTLR start "symbolname" + # sdl92.g:1475:1: symbolname : ( START | INPUT | OUTPUT | STATE | PROCEDURE | PROCESS | PROCEDURE_CALL | STOP | RETURN | DECISION | ALTERNATIVE | TEXT | TASK | NEXTSTATE | ANSWER | PROVIDED | COMMENT | LABEL | JOIN | CONNECT | CREATE ); + def symbolname(self, ): + retval = self.symbolname_return() retval.start = self.input.LT(1) + symbolname_StartIndex = self.input.index() root_0 = None - syntype_id723 = None + set727 = None + set727_tree = None + + success = False try: try: - # sdl92.g:1382:9: ( syntype_id ) - # sdl92.g:1382:17: syntype_id + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 156): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1476:9: ( START | INPUT | OUTPUT | STATE | PROCEDURE | PROCESS | PROCEDURE_CALL | STOP | RETURN | DECISION | ALTERNATIVE | TEXT | TASK | NEXTSTATE | ANSWER | PROVIDED | COMMENT | LABEL | JOIN | CONNECT | CREATE ) + # sdl92.g: pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_syntype_id_in_syntype15995) - syntype_id723 = self.syntype_id() + set727 = self.input.LT(1) + + if self.input.LA(1) in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: + self.input.consume() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set727)) + + self._state.errorRecovery = False + + + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + + + mse = MismatchedSetException(None, self.input) + raise mse - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, syntype_id723.tree) @@ -29787,19 +29738,25 @@ def syntype(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 156, symbolname_StartIndex, success) + + pass return retval - # $ANTLR end "syntype" + # $ANTLR end "symbolname" - class variable_access_return(ParserRuleReturnScope): + class cif_decl_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -29809,32 +29766,41 @@ def __init__(self): - # $ANTLR start "variable_access" - # sdl92.g:1396:1: variable_access : variable_id ; - def variable_access(self, ): - retval = self.variable_access_return() + # $ANTLR start "cif_decl" + # sdl92.g:1500:1: cif_decl : '/* CIF' ; + def cif_decl(self, ): + retval = self.cif_decl_return() retval.start = self.input.LT(1) + cif_decl_StartIndex = self.input.index() root_0 = None - variable_id724 = None + string_literal728 = None + + string_literal728_tree = None + success = False try: try: - # sdl92.g:1397:9: ( variable_id ) - # sdl92.g:1397:17: variable_id + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 157): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1501:9: ( '/* CIF' ) + # sdl92.g:1501:17: '/* CIF' pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_variable_id_in_variable_access16029) - variable_id724 = self.variable_id() - - self._state.following.pop() + string_literal728 = self.match(self.input, 254, self.FOLLOW_254_in_cif_decl16249) if self._state.backtracking == 0: - self._adaptor.addChild(root_0, variable_id724.tree) + string_literal728_tree = self._adaptor.createWithPayload(string_literal728) + self._adaptor.addChild(root_0, string_literal728_tree) + @@ -29848,19 +29814,25 @@ def variable_access(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 157, cif_decl_StartIndex, success) + + pass return retval - # $ANTLR end "variable_access" + # $ANTLR end "cif_decl" - class external_synonym_return(ParserRuleReturnScope): + class cif_end_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -29870,32 +29842,41 @@ def __init__(self): - # $ANTLR start "external_synonym" - # sdl92.g:1415:1: external_synonym : external_synonym_id ; - def external_synonym(self, ): - retval = self.external_synonym_return() + # $ANTLR start "cif_end" + # sdl92.g:1505:1: cif_end : '*/' ; + def cif_end(self, ): + retval = self.cif_end_return() retval.start = self.input.LT(1) + cif_end_StartIndex = self.input.index() root_0 = None - external_synonym_id725 = None + string_literal729 = None + + string_literal729_tree = None + success = False try: try: - # sdl92.g:1416:9: ( external_synonym_id ) - # sdl92.g:1416:17: external_synonym_id + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 158): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1506:9: ( '*/' ) + # sdl92.g:1506:17: '*/' pass root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_external_synonym_id_in_external_synonym16065) - external_synonym_id725 = self.external_synonym_id() - - self._state.following.pop() + string_literal729 = self.match(self.input, 250, self.FOLLOW_250_in_cif_end16281) if self._state.backtracking == 0: - self._adaptor.addChild(root_0, external_synonym_id725.tree) + string_literal729_tree = self._adaptor.createWithPayload(string_literal729) + self._adaptor.addChild(root_0, string_literal729_tree) + @@ -29909,19 +29890,25 @@ def external_synonym(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 158, cif_end_StartIndex, success) + + pass return retval - # $ANTLR end "external_synonym" + # $ANTLR end "cif_end" - class conditional_expression_return(ParserRuleReturnScope): + class cif_end_text_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -29931,105 +29918,67 @@ def __init__(self): - # $ANTLR start "conditional_expression" - # sdl92.g:1420:1: conditional_expression : IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) ; - def conditional_expression(self, ): - retval = self.conditional_expression_return() + # $ANTLR start "cif_end_text" + # sdl92.g:1510:1: cif_end_text : cif_decl ENDTEXT cif_end -> ^( ENDTEXT ) ; + def cif_end_text(self, ): + retval = self.cif_end_text_return() retval.start = self.input.LT(1) + cif_end_text_StartIndex = self.input.index() root_0 = None - IF726 = None - THEN727 = None - ELSE728 = None - FI729 = None - ifexpr = None - thenexpr = None - elseexpr = None + ENDTEXT731 = None + cif_decl730 = None + cif_end732 = None + + ENDTEXT731_tree = None + stream_ENDTEXT = RewriteRuleTokenStream(self._adaptor, "token ENDTEXT") + stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") + stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") + success = False - IF726_tree = None - THEN727_tree = None - ELSE728_tree = None - FI729_tree = None - stream_FI = RewriteRuleTokenStream(self._adaptor, "token FI") - stream_ELSE = RewriteRuleTokenStream(self._adaptor, "token ELSE") - stream_THEN = RewriteRuleTokenStream(self._adaptor, "token THEN") - stream_IF = RewriteRuleTokenStream(self._adaptor, "token IF") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1421:9: ( IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) ) - # sdl92.g:1421:17: IF ifexpr= expression THEN thenexpr= expression ELSE elseexpr= expression FI - pass - IF726 = self.match(self.input, IF, self.FOLLOW_IF_in_conditional_expression16097) - if self._state.backtracking == 0: - stream_IF.add(IF726) - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 159): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_expression_in_conditional_expression16101) - ifexpr = self.expression() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(ifexpr.tree) - - - THEN727 = self.match(self.input, THEN, self.FOLLOW_THEN_in_conditional_expression16119) - if self._state.backtracking == 0: - stream_THEN.add(THEN727) - - self._state.following.append(self.FOLLOW_expression_in_conditional_expression16123) - thenexpr = self.expression() + # sdl92.g:1511:9: ( cif_decl ENDTEXT cif_end -> ^( ENDTEXT ) ) + # sdl92.g:1511:17: cif_decl ENDTEXT cif_end + pass + self._state.following.append(self.FOLLOW_cif_decl_in_cif_end_text16313) + cif_decl730 = self.cif_decl() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(thenexpr.tree) + stream_cif_decl.add(cif_decl730.tree) - ELSE728 = self.match(self.input, ELSE, self.FOLLOW_ELSE_in_conditional_expression16141) + ENDTEXT731 = self.match(self.input, ENDTEXT, self.FOLLOW_ENDTEXT_in_cif_end_text16315) if self._state.backtracking == 0: - stream_ELSE.add(ELSE728) + stream_ENDTEXT.add(ENDTEXT731) - self._state.following.append(self.FOLLOW_expression_in_conditional_expression16145) - elseexpr = self.expression() + self._state.following.append(self.FOLLOW_cif_end_in_cif_end_text16317) + cif_end732 = self.cif_end() self._state.following.pop() if self._state.backtracking == 0: - stream_expression.add(elseexpr.tree) - - - FI729 = self.match(self.input, FI, self.FOLLOW_FI_in_conditional_expression16147) - if self._state.backtracking == 0: - stream_FI.add(FI729) + stream_cif_end.add(cif_end732.tree) # AST Rewrite - # elements: ifexpr, thenexpr, elseexpr + # elements: ENDTEXT # token labels: - # rule labels: thenexpr, elseexpr, ifexpr, retval + # rule labels: retval # token list labels: # rule list labels: # wildcard labels: if self._state.backtracking == 0: retval.tree = root_0 - if thenexpr is not None: - stream_thenexpr = RewriteRuleSubtreeStream(self._adaptor, "rule thenexpr", thenexpr.tree) - else: - stream_thenexpr = RewriteRuleSubtreeStream(self._adaptor, "token thenexpr", None) - - if elseexpr is not None: - stream_elseexpr = RewriteRuleSubtreeStream(self._adaptor, "rule elseexpr", elseexpr.tree) - else: - stream_elseexpr = RewriteRuleSubtreeStream(self._adaptor, "token elseexpr", None) - - if ifexpr is not None: - stream_ifexpr = RewriteRuleSubtreeStream(self._adaptor, "rule ifexpr", ifexpr.tree) - else: - stream_ifexpr = RewriteRuleSubtreeStream(self._adaptor, "token ifexpr", None) - if retval is not None: stream_retval = RewriteRuleSubtreeStream(self._adaptor, "rule retval", retval.tree) else: @@ -30037,19 +29986,13 @@ def conditional_expression(self, ): root_0 = self._adaptor.nil() - # 1424:9: -> ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) - # sdl92.g:1424:17: ^( CONDITIONAL $ifexpr $thenexpr $elseexpr) + # 1512:9: -> ^( ENDTEXT ) + # sdl92.g:1512:17: ^( ENDTEXT ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(CONDITIONAL, "CONDITIONAL") + stream_ENDTEXT.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_ifexpr.nextTree()) - - self._adaptor.addChild(root_1, stream_thenexpr.nextTree()) - - self._adaptor.addChild(root_1, stream_elseexpr.nextTree()) - self._adaptor.addChild(root_0, root_1) @@ -30070,19 +30013,25 @@ def conditional_expression(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 159, cif_end_text_StartIndex, success) + + pass return retval - # $ANTLR end "conditional_expression" + # $ANTLR end "cif_end_text" - class expression_list_return(ParserRuleReturnScope): + class cif_end_label_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -30092,102 +30041,73 @@ def __init__(self): - # $ANTLR start "expression_list" - # sdl92.g:1428:1: expression_list : expression ( ',' expression )* -> ( expression )+ ; - def expression_list(self, ): - retval = self.expression_list_return() + # $ANTLR start "cif_end_label" + # sdl92.g:1516:1: cif_end_label : cif_decl END LABEL cif_end ; + def cif_end_label(self, ): + retval = self.cif_end_label_return() retval.start = self.input.LT(1) + cif_end_label_StartIndex = self.input.index() root_0 = None - char_literal731 = None - expression730 = None - expression732 = None + END734 = None + LABEL735 = None + cif_decl733 = None + cif_end736 = None + + END734_tree = None + LABEL735_tree = None + + success = False - char_literal731_tree = None - stream_COMMA = RewriteRuleTokenStream(self._adaptor, "token COMMA") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") try: try: - # sdl92.g:1429:9: ( expression ( ',' expression )* -> ( expression )+ ) - # sdl92.g:1429:17: expression ( ',' expression )* - pass - self._state.following.append(self.FOLLOW_expression_in_expression_list16207) - expression730 = self.expression() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 160): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression730.tree) + # sdl92.g:1517:9: ( cif_decl END LABEL cif_end ) + # sdl92.g:1517:17: cif_decl END LABEL cif_end + pass + root_0 = self._adaptor.nil() - # sdl92.g:1429:28: ( ',' expression )* - while True: #loop293 - alt293 = 2 - LA293_0 = self.input.LA(1) - if (LA293_0 == COMMA) : - alt293 = 1 + self._state.following.append(self.FOLLOW_cif_decl_in_cif_end_label16368) + cif_decl733 = self.cif_decl() + self._state.following.pop() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, cif_decl733.tree) - if alt293 == 1: - # sdl92.g:1429:29: ',' expression - pass - char_literal731 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_expression_list16210) - if self._state.backtracking == 0: - stream_COMMA.add(char_literal731) + END734 = self.match(self.input, END, self.FOLLOW_END_in_cif_end_label16370) + if self._state.backtracking == 0: + END734_tree = self._adaptor.createWithPayload(END734) + self._adaptor.addChild(root_0, END734_tree) - self._state.following.append(self.FOLLOW_expression_in_expression_list16212) - expression732 = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression732.tree) + LABEL735 = self.match(self.input, LABEL, self.FOLLOW_LABEL_in_cif_end_label16372) + if self._state.backtracking == 0: + LABEL735_tree = self._adaptor.createWithPayload(LABEL735) + self._adaptor.addChild(root_0, LABEL735_tree) - else: - break #loop293 + self._state.following.append(self.FOLLOW_cif_end_in_cif_end_label16374) + cif_end736 = self.cif_end() - # AST Rewrite - # elements: expression - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + self._state.following.pop() 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) + self._adaptor.addChild(root_0, cif_end736.tree) - root_0 = self._adaptor.nil() - # 1430:9: -> ( expression )+ - # sdl92.g:1430:17: ( expression )+ - if not (stream_expression.hasNext()): - raise RewriteEarlyExitException() - while stream_expression.hasNext(): - self._adaptor.addChild(root_0, stream_expression.nextTree()) - - stream_expression.reset() - - - - - retval.tree = root_0 - - - - - - retval.stop = self.input.LT(-1) + retval.stop = self.input.LT(-1) if self._state.backtracking == 0: @@ -30196,19 +30116,25 @@ def expression_list(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 160, cif_end_label_StartIndex, success) + + pass return retval - # $ANTLR end "expression_list" + # $ANTLR end "cif_end_label" - class terminator_statement_return(ParserRuleReturnScope): + class n7s_scl_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -30218,436 +30144,337 @@ def __init__(self): - # $ANTLR start "terminator_statement" - # sdl92.g:1434:1: terminator_statement : ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) ; - def terminator_statement(self, ): - retval = self.terminator_statement_return() + # $ANTLR start "n7s_scl" + # sdl92.g:1522:1: n7s_scl : ( n7s_scl_statement )* -> ^( N7S_SCL ( n7s_scl_statement )* ) ; + def n7s_scl(self, ): + retval = self.n7s_scl_return() retval.start = self.input.LT(1) + n7s_scl_StartIndex = self.input.index() root_0 = None - label733 = None - cif734 = None - symbolid735 = None - hyperlink736 = None - requirement737 = None - rid738 = None - terminator739 = None - end740 = None + n7s_scl_statement737 = None + + stream_n7s_scl_statement = RewriteRuleSubtreeStream(self._adaptor, "rule n7s_scl_statement") + success = False - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") - stream_terminator = RewriteRuleSubtreeStream(self._adaptor, "rule terminator") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - stream_label = RewriteRuleSubtreeStream(self._adaptor, "rule label") - stream_requirement = RewriteRuleSubtreeStream(self._adaptor, "rule requirement") - stream_rid = RewriteRuleSubtreeStream(self._adaptor, "rule rid") try: try: - # sdl92.g:1435:9: ( ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) ) - # sdl92.g:1435:17: ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* terminator end - pass - # sdl92.g:1435:17: ( label )? - alt294 = 2 - LA294_0 = self.input.LA(1) - - if (LA294_0 == 254) : - LA294_1 = self.input.LA(2) - - if (LA294_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - LA294_4 = self.input.LA(3) - - if (LA294_4 == L_PAREN) : - LA294_6 = self.input.LA(4) - - if (LA294_6 == DASH) : - LA294_8 = self.input.LA(5) - - if (LA294_8 == INT) : - LA294_9 = self.input.LA(6) - - if (LA294_9 == COMMA) : - LA294_11 = self.input.LA(7) - - if (LA294_11 == DASH) : - LA294_12 = self.input.LA(8) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 161): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA294_12 == INT) : - LA294_13 = self.input.LA(9) - if (LA294_13 == R_PAREN) : - LA294_14 = self.input.LA(10) + # sdl92.g:1523:9: ( ( n7s_scl_statement )* -> ^( N7S_SCL ( n7s_scl_statement )* ) ) + # sdl92.g:1523:17: ( n7s_scl_statement )* + pass + # sdl92.g:1523:17: ( n7s_scl_statement )* + while True: #loop230 + alt230 = 2 + LA230_0 = self.input.LA(1) - if (LA294_14 == COMMA) : - LA294_15 = self.input.LA(11) + if (LA230_0 in {ALWAYS, EVENTUALLY, FILTER_OUT, NEVER}) : + alt230 = 1 - if (LA294_15 == L_PAREN) : - LA294_16 = self.input.LA(12) - if (LA294_16 == INT) : - LA294_17 = self.input.LA(13) + if alt230 == 1: + # sdl92.g:1523:18: n7s_scl_statement + pass + self._state.following.append(self.FOLLOW_n7s_scl_statement_in_n7s_scl16408) + n7s_scl_statement737 = self.n7s_scl_statement() - if (LA294_17 == COMMA) : - LA294_18 = self.input.LA(14) + self._state.following.pop() + if self._state.backtracking == 0: + stream_n7s_scl_statement.add(n7s_scl_statement737.tree) - if (LA294_18 == INT) : - LA294_19 = self.input.LA(15) - if (LA294_19 == R_PAREN) : - LA294_20 = self.input.LA(16) - if (LA294_20 == 250) : - LA294_21 = self.input.LA(17) + else: + break #loop230 - if (LA294_21 == 254) : - LA294_22 = self.input.LA(18) - if (LA294_22 == 256) : - LA294_5 = self.input.LA(19) + # AST Rewrite + # elements: n7s_scl_statement + # 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) - if (LA294_5 == INT) : - LA294_7 = self.input.LA(20) - if (LA294_7 == 250) : - LA294_10 = self.input.LA(21) + root_0 = self._adaptor.nil() + # 1524:9: -> ^( N7S_SCL ( n7s_scl_statement )* ) + # sdl92.g:1524:17: ^( N7S_SCL ( n7s_scl_statement )* ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + self._adaptor.createFromType(N7S_SCL, "N7S_SCL") + , root_1) - if (LA294_10 == ID) : - alt294 = 1 - elif (LA294_21 == ID) : - alt294 = 1 - elif (LA294_11 == INT) : - LA294_13 = self.input.LA(8) + # sdl92.g:1524:27: ( n7s_scl_statement )* + while stream_n7s_scl_statement.hasNext(): + self._adaptor.addChild(root_1, stream_n7s_scl_statement.nextTree()) - if (LA294_13 == R_PAREN) : - LA294_14 = self.input.LA(9) - if (LA294_14 == COMMA) : - LA294_15 = self.input.LA(10) + stream_n7s_scl_statement.reset(); - if (LA294_15 == L_PAREN) : - LA294_16 = self.input.LA(11) + self._adaptor.addChild(root_0, root_1) - if (LA294_16 == INT) : - LA294_17 = self.input.LA(12) - if (LA294_17 == COMMA) : - LA294_18 = self.input.LA(13) - if (LA294_18 == INT) : - LA294_19 = self.input.LA(14) - if (LA294_19 == R_PAREN) : - LA294_20 = self.input.LA(15) + retval.tree = root_0 - if (LA294_20 == 250) : - LA294_21 = self.input.LA(16) - if (LA294_21 == 254) : - LA294_22 = self.input.LA(17) - if (LA294_22 == 256) : - LA294_5 = self.input.LA(18) - if (LA294_5 == INT) : - LA294_7 = self.input.LA(19) - if (LA294_7 == 250) : - LA294_10 = self.input.LA(20) + retval.stop = self.input.LT(-1) - if (LA294_10 == ID) : - alt294 = 1 - elif (LA294_21 == ID) : - alt294 = 1 - elif (LA294_6 == INT) : - LA294_9 = self.input.LA(5) - if (LA294_9 == COMMA) : - LA294_11 = self.input.LA(6) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA294_11 == DASH) : - LA294_12 = self.input.LA(7) - if (LA294_12 == INT) : - LA294_13 = self.input.LA(8) - if (LA294_13 == R_PAREN) : - LA294_14 = self.input.LA(9) + success = True - if (LA294_14 == COMMA) : - LA294_15 = self.input.LA(10) + 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) - if (LA294_15 == L_PAREN) : - LA294_16 = self.input.LA(11) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 161, n7s_scl_StartIndex, success) - if (LA294_16 == INT) : - LA294_17 = self.input.LA(12) - if (LA294_17 == COMMA) : - LA294_18 = self.input.LA(13) + pass + return retval - if (LA294_18 == INT) : - LA294_19 = self.input.LA(14) + # $ANTLR end "n7s_scl" - if (LA294_19 == R_PAREN) : - LA294_20 = self.input.LA(15) - if (LA294_20 == 250) : - LA294_21 = self.input.LA(16) + class n7s_scl_statement_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if (LA294_21 == 254) : - LA294_22 = self.input.LA(17) + self.tree = None - if (LA294_22 == 256) : - LA294_5 = self.input.LA(18) - if (LA294_5 == INT) : - LA294_7 = self.input.LA(19) - if (LA294_7 == 250) : - LA294_10 = self.input.LA(20) - if (LA294_10 == ID) : - alt294 = 1 - elif (LA294_21 == ID) : - alt294 = 1 - elif (LA294_11 == INT) : - LA294_13 = self.input.LA(7) - if (LA294_13 == R_PAREN) : - LA294_14 = self.input.LA(8) + # $ANTLR start "n7s_scl_statement" + # sdl92.g:1527:1: n7s_scl_statement : ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) ; + def n7s_scl_statement(self, ): + retval = self.n7s_scl_statement_return() + retval.start = self.input.LT(1) - if (LA294_14 == COMMA) : - LA294_15 = self.input.LA(9) + n7s_scl_statement_StartIndex = self.input.index() - if (LA294_15 == L_PAREN) : - LA294_16 = self.input.LA(10) + root_0 = None - if (LA294_16 == INT) : - LA294_17 = self.input.LA(11) + n7s_scl_never738 = None + n7s_scl_always739 = None + n7s_scl_eventually740 = None + n7s_scl_filter_out741 = None - if (LA294_17 == COMMA) : - LA294_18 = self.input.LA(12) - if (LA294_18 == INT) : - LA294_19 = self.input.LA(13) + success = False - if (LA294_19 == R_PAREN) : - LA294_20 = self.input.LA(14) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 162): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (LA294_20 == 250) : - LA294_21 = self.input.LA(15) - if (LA294_21 == 254) : - LA294_22 = self.input.LA(16) + # sdl92.g:1528:9: ( ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) ) + # sdl92.g:1528:17: ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) + pass + root_0 = self._adaptor.nil() - if (LA294_22 == 256) : - LA294_5 = self.input.LA(17) - if (LA294_5 == INT) : - LA294_7 = self.input.LA(18) + # sdl92.g:1528:17: ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) + alt231 = 4 + LA231 = self.input.LA(1) + if LA231 in {NEVER}: + alt231 = 1 + elif LA231 in {ALWAYS}: + alt231 = 2 + elif LA231 in {EVENTUALLY}: + alt231 = 3 + elif LA231 in {FILTER_OUT}: + alt231 = 4 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if (LA294_7 == 250) : - LA294_10 = self.input.LA(19) - if (LA294_10 == ID) : - alt294 = 1 - elif (LA294_21 == ID) : - alt294 = 1 - elif (LA294_1 == 256) : - LA294_5 = self.input.LA(3) + nvae = NoViableAltException("", 231, 0, self.input) - if (LA294_5 == INT) : - LA294_7 = self.input.LA(4) + raise nvae - if (LA294_7 == 250) : - LA294_10 = self.input.LA(5) - if (LA294_10 == ID) : - alt294 = 1 - elif (LA294_0 == ID) : - alt294 = 1 - if alt294 == 1: - # sdl92.g:1435:17: label + if alt231 == 1: + # sdl92.g:1528:18: n7s_scl_never pass - self._state.following.append(self.FOLLOW_label_in_terminator_statement16264) - label733 = self.label() + self._state.following.append(self.FOLLOW_n7s_scl_never_in_n7s_scl_statement16464) + n7s_scl_never738 = self.n7s_scl_never() self._state.following.pop() if self._state.backtracking == 0: - stream_label.add(label733.tree) - + self._adaptor.addChild(root_0, n7s_scl_never738.tree) - - # sdl92.g:1436:17: ( cif )? - alt295 = 2 - LA295_0 = self.input.LA(1) - - if (LA295_0 == 254) : - LA295_1 = self.input.LA(2) - - if (LA295_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt295 = 1 - if alt295 == 1: - # sdl92.g:1436:17: cif + elif alt231 == 2: + # sdl92.g:1528:34: n7s_scl_always pass - self._state.following.append(self.FOLLOW_cif_in_terminator_statement16283) - cif734 = self.cif() + self._state.following.append(self.FOLLOW_n7s_scl_always_in_n7s_scl_statement16468) + n7s_scl_always739 = self.n7s_scl_always() self._state.following.pop() if self._state.backtracking == 0: - stream_cif.add(cif734.tree) - + self._adaptor.addChild(root_0, n7s_scl_always739.tree) - - # sdl92.g:1437:17: ( symbolid )? - alt296 = 2 - LA296_0 = self.input.LA(1) - - if (LA296_0 == 254) : - LA296_1 = self.input.LA(2) - - if (LA296_1 == 256) : - alt296 = 1 - if alt296 == 1: - # sdl92.g:1437:17: symbolid + elif alt231 == 3: + # sdl92.g:1528:51: n7s_scl_eventually pass - self._state.following.append(self.FOLLOW_symbolid_in_terminator_statement16302) - symbolid735 = self.symbolid() + self._state.following.append(self.FOLLOW_n7s_scl_eventually_in_n7s_scl_statement16472) + n7s_scl_eventually740 = self.n7s_scl_eventually() self._state.following.pop() if self._state.backtracking == 0: - stream_symbolid.add(symbolid735.tree) - - - - - - # sdl92.g:1438:17: ( hyperlink )? - alt297 = 2 - LA297_0 = self.input.LA(1) + self._adaptor.addChild(root_0, n7s_scl_eventually740.tree) - if (LA297_0 == 254) : - LA297_1 = self.input.LA(2) - if (LA297_1 == KEEP) : - LA297_3 = self.input.LA(3) - if (LA297_3 == SPECIFIC) : - LA297_4 = self.input.LA(4) - - if (LA297_4 == GEODE) : - LA297_5 = self.input.LA(5) - - if (LA297_5 == HYPERLINK) : - alt297 = 1 - if alt297 == 1: - # sdl92.g:1438:17: hyperlink + elif alt231 == 4: + # sdl92.g:1528:72: n7s_scl_filter_out pass - self._state.following.append(self.FOLLOW_hyperlink_in_terminator_statement16321) - hyperlink736 = self.hyperlink() + self._state.following.append(self.FOLLOW_n7s_scl_filter_out_in_n7s_scl_statement16476) + n7s_scl_filter_out741 = self.n7s_scl_filter_out() self._state.following.pop() if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink736.tree) + self._adaptor.addChild(root_0, n7s_scl_filter_out741.tree) - # sdl92.g:1439:17: ( requirement )* - while True: #loop298 - alt298 = 2 - LA298_0 = self.input.LA(1) - if (LA298_0 == 254) : - LA298_1 = self.input.LA(2) - if (LA298_1 == KEEP) : - LA298_3 = self.input.LA(3) - - if (LA298_3 == SPECIFIC) : - LA298_4 = self.input.LA(4) + retval.stop = self.input.LT(-1) - if (LA298_4 == GEODE) : - LA298_5 = self.input.LA(5) - if (LA298_5 == REQ_ID) : - alt298 = 1 + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 162, n7s_scl_statement_StartIndex, success) + pass + return retval + # $ANTLR end "n7s_scl_statement" - if alt298 == 1: - # sdl92.g:1439:17: requirement - pass - self._state.following.append(self.FOLLOW_requirement_in_terminator_statement16340) - requirement737 = self.requirement() + class n7s_scl_never_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - self._state.following.pop() - if self._state.backtracking == 0: - stream_requirement.add(requirement737.tree) + self.tree = None - else: - break #loop298 - # sdl92.g:1440:17: ( rid )* - while True: #loop299 - alt299 = 2 - LA299_0 = self.input.LA(1) + # $ANTLR start "n7s_scl_never" + # sdl92.g:1531:1: n7s_scl_never : ( NEVER expression end ) -> ^( NEVER expression ) ; + def n7s_scl_never(self, ): + retval = self.n7s_scl_never_return() + retval.start = self.input.LT(1) - if (LA299_0 == 254) : - alt299 = 1 + n7s_scl_never_StartIndex = self.input.index() + root_0 = None - if alt299 == 1: - # sdl92.g:1440:17: rid - pass - self._state.following.append(self.FOLLOW_rid_in_terminator_statement16359) - rid738 = self.rid() + NEVER742 = None + expression743 = None + end744 = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_rid.add(rid738.tree) + NEVER742_tree = None + stream_NEVER = RewriteRuleTokenStream(self._adaptor, "token NEVER") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 163): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - else: - break #loop299 + # sdl92.g:1532:9: ( ( NEVER expression end ) -> ^( NEVER expression ) ) + # sdl92.g:1532:17: ( NEVER expression end ) + pass + # sdl92.g:1532:17: ( NEVER expression end ) + # sdl92.g:1532:18: NEVER expression end + pass + NEVER742 = self.match(self.input, NEVER, self.FOLLOW_NEVER_in_n7s_scl_never16509) + if self._state.backtracking == 0: + stream_NEVER.add(NEVER742) - self._state.following.append(self.FOLLOW_terminator_in_terminator_statement16378) - terminator739 = self.terminator() + self._state.following.append(self.FOLLOW_expression_in_n7s_scl_never16511) + expression743 = self.expression() self._state.following.pop() if self._state.backtracking == 0: - stream_terminator.add(terminator739.tree) + stream_expression.add(expression743.tree) - self._state.following.append(self.FOLLOW_end_in_terminator_statement16396) - end740 = self.end() + self._state.following.append(self.FOLLOW_end_in_n7s_scl_never16513) + end744 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_end.add(end740.tree) + stream_end.add(end744.tree) + + + # AST Rewrite - # elements: label, cif, symbolid, hyperlink, requirement, rid, end, terminator + # elements: NEVER, expression # token labels: # rule labels: retval # token list labels: @@ -30662,63 +30489,14 @@ def terminator_statement(self, ): root_0 = self._adaptor.nil() - # 1443:9: -> ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) - # sdl92.g:1443:17: ^( TERMINATOR ( label )? ( cif )? ( symbolid )? ( hyperlink )? ( requirement )* ( rid )* ( end )? terminator ) + # 1533:9: -> ^( NEVER expression ) + # sdl92.g:1533:17: ^( NEVER expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(TERMINATOR, "TERMINATOR") + stream_NEVER.nextNode() , root_1) - # sdl92.g:1443:30: ( label )? - if stream_label.hasNext(): - self._adaptor.addChild(root_1, stream_label.nextTree()) - - - stream_label.reset(); - - # sdl92.g:1443:37: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) - - - stream_cif.reset(); - - # sdl92.g:1443:42: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - # sdl92.g:1443:52: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - - - stream_hyperlink.reset(); - - # sdl92.g:1443:63: ( requirement )* - while stream_requirement.hasNext(): - self._adaptor.addChild(root_1, stream_requirement.nextTree()) - - - stream_requirement.reset(); - - # sdl92.g:1443:76: ( rid )* - while stream_rid.hasNext(): - self._adaptor.addChild(root_1, stream_rid.nextTree()) - - - stream_rid.reset(); - - # sdl92.g:1443:81: ( end )? - if stream_end.hasNext(): - self._adaptor.addChild(root_1, stream_end.nextTree()) - - - stream_end.reset(); - - self._adaptor.addChild(root_1, stream_terminator.nextTree()) + self._adaptor.addChild(root_1, stream_expression.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -30740,19 +30518,25 @@ def terminator_statement(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 163, n7s_scl_never_StartIndex, success) + + pass return retval - # $ANTLR end "terminator_statement" + # $ANTLR end "n7s_scl_never" - class label_return(ParserRuleReturnScope): + class n7s_scl_always_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -30762,88 +30546,66 @@ def __init__(self): - # $ANTLR start "label" - # sdl92.g:1446:1: label : ( cif )? ( symbolid )? connector_name ':' -> ^( LABEL ( cif )? ( symbolid )? connector_name ) ; - def label(self, ): - retval = self.label_return() + # $ANTLR start "n7s_scl_always" + # sdl92.g:1536:1: n7s_scl_always : ( ALWAYS expression end ) -> ^( ALWAYS expression ) ; + def n7s_scl_always(self, ): + retval = self.n7s_scl_always_return() retval.start = self.input.LT(1) + n7s_scl_always_StartIndex = self.input.index() root_0 = None - char_literal744 = None - cif741 = None - symbolid742 = None - connector_name743 = None + ALWAYS745 = None + expression746 = None + end747 = None + + ALWAYS745_tree = None + stream_ALWAYS = RewriteRuleTokenStream(self._adaptor, "token ALWAYS") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False - char_literal744_tree = None - stream_255 = RewriteRuleTokenStream(self._adaptor, "token 255") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_connector_name = RewriteRuleSubtreeStream(self._adaptor, "rule connector_name") try: try: - # sdl92.g:1447:9: ( ( cif )? ( symbolid )? connector_name ':' -> ^( LABEL ( cif )? ( symbolid )? connector_name ) ) - # sdl92.g:1447:17: ( cif )? ( symbolid )? connector_name ':' - pass - # sdl92.g:1447:17: ( cif )? - alt300 = 2 - LA300_0 = self.input.LA(1) - - if (LA300_0 == 254) : - LA300_1 = self.input.LA(2) - - if (LA300_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt300 = 1 - if alt300 == 1: - # sdl92.g:1447:17: cif - pass - self._state.following.append(self.FOLLOW_cif_in_label16469) - cif741 = self.cif() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif741.tree) - - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 164): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - - # sdl92.g:1447:22: ( symbolid )? - alt301 = 2 - LA301_0 = self.input.LA(1) - - if (LA301_0 == 254) : - alt301 = 1 - if alt301 == 1: - # sdl92.g:1447:22: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_label16472) - symbolid742 = self.symbolid() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid742.tree) + # sdl92.g:1537:9: ( ( ALWAYS expression end ) -> ^( ALWAYS expression ) ) + # sdl92.g:1537:17: ( ALWAYS expression end ) + pass + # sdl92.g:1537:17: ( ALWAYS expression end ) + # sdl92.g:1537:18: ALWAYS expression end + pass + ALWAYS745 = self.match(self.input, ALWAYS, self.FOLLOW_ALWAYS_in_n7s_scl_always16567) + if self._state.backtracking == 0: + stream_ALWAYS.add(ALWAYS745) + self._state.following.append(self.FOLLOW_expression_in_n7s_scl_always16569) + expression746 = self.expression() + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression746.tree) - self._state.following.append(self.FOLLOW_connector_name_in_label16475) - connector_name743 = self.connector_name() + self._state.following.append(self.FOLLOW_end_in_n7s_scl_always16571) + end747 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_connector_name.add(connector_name743.tree) + stream_end.add(end747.tree) + - char_literal744 = self.match(self.input, 255, self.FOLLOW_255_in_label16477) - if self._state.backtracking == 0: - stream_255.add(char_literal744) # AST Rewrite - # elements: cif, symbolid, connector_name + # elements: ALWAYS, expression # token labels: # rule labels: retval # token list labels: @@ -30858,28 +30620,14 @@ def label(self, ): root_0 = self._adaptor.nil() - # 1448:9: -> ^( LABEL ( cif )? ( symbolid )? connector_name ) - # sdl92.g:1448:17: ^( LABEL ( cif )? ( symbolid )? connector_name ) + # 1538:9: -> ^( ALWAYS expression ) + # sdl92.g:1538:17: ^( ALWAYS expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(LABEL, "LABEL") + stream_ALWAYS.nextNode() , root_1) - # sdl92.g:1448:25: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) - - - stream_cif.reset(); - - # sdl92.g:1448:30: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) - - - stream_symbolid.reset(); - - self._adaptor.addChild(root_1, stream_connector_name.nextTree()) + self._adaptor.addChild(root_1, stream_expression.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -30901,19 +30649,25 @@ def label(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 164, n7s_scl_always_StartIndex, success) + + pass return retval - # $ANTLR end "label" + # $ANTLR end "n7s_scl_always" - class terminator_return(ParserRuleReturnScope): + class n7s_scl_eventually_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -30923,101 +30677,97 @@ def __init__(self): - # $ANTLR start "terminator" - # sdl92.g:1452:1: terminator : ( nextstate | join | stop | return_stmt ); - def terminator(self, ): - retval = self.terminator_return() + # $ANTLR start "n7s_scl_eventually" + # sdl92.g:1541:1: n7s_scl_eventually : ( EVENTUALLY expression end ) -> ^( EVENTUALLY expression ) ; + def n7s_scl_eventually(self, ): + retval = self.n7s_scl_eventually_return() retval.start = self.input.LT(1) + n7s_scl_eventually_StartIndex = self.input.index() root_0 = None - nextstate745 = None - join746 = None - stop747 = None - return_stmt748 = None + EVENTUALLY748 = None + expression749 = None + end750 = None + EVENTUALLY748_tree = None + stream_EVENTUALLY = RewriteRuleTokenStream(self._adaptor, "token EVENTUALLY") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False try: try: - # sdl92.g:1453:9: ( nextstate | join | stop | return_stmt ) - alt302 = 4 - LA302 = self.input.LA(1) - if LA302 in {NEXTSTATE}: - alt302 = 1 - elif LA302 in {JOIN}: - alt302 = 2 - elif LA302 in {STOP}: - alt302 = 3 - elif LA302 in {RETURN}: - alt302 = 4 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 302, 0, self.input) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 165): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - raise nvae + # sdl92.g:1542:9: ( ( EVENTUALLY expression end ) -> ^( EVENTUALLY expression ) ) + # sdl92.g:1542:17: ( EVENTUALLY expression end ) + pass + # sdl92.g:1542:17: ( EVENTUALLY expression end ) + # sdl92.g:1542:18: EVENTUALLY expression end + pass + EVENTUALLY748 = self.match(self.input, EVENTUALLY, self.FOLLOW_EVENTUALLY_in_n7s_scl_eventually16625) + if self._state.backtracking == 0: + stream_EVENTUALLY.add(EVENTUALLY748) - if alt302 == 1: - # sdl92.g:1453:17: nextstate - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_expression_in_n7s_scl_eventually16627) + expression749 = self.expression() - self._state.following.append(self.FOLLOW_nextstate_in_terminator16536) - nextstate745 = self.nextstate() + self._state.following.pop() + if self._state.backtracking == 0: + stream_expression.add(expression749.tree) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, nextstate745.tree) + self._state.following.append(self.FOLLOW_end_in_n7s_scl_eventually16629) + end750 = self.end() + self._state.following.pop() + if self._state.backtracking == 0: + stream_end.add(end750.tree) - elif alt302 == 2: - # sdl92.g:1453:29: join - pass - root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_join_in_terminator16540) - join746 = self.join() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, join746.tree) + # AST Rewrite + # elements: EVENTUALLY, 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) - elif alt302 == 3: - # sdl92.g:1453:36: stop - pass root_0 = self._adaptor.nil() + # 1543:9: -> ^( EVENTUALLY expression ) + # sdl92.g:1543:17: ^( EVENTUALLY expression ) + root_1 = self._adaptor.nil() + root_1 = self._adaptor.becomeRoot( + stream_EVENTUALLY.nextNode() + , root_1) + self._adaptor.addChild(root_1, stream_expression.nextTree()) - self._state.following.append(self.FOLLOW_stop_in_terminator16544) - stop747 = self.stop() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, stop747.tree) + self._adaptor.addChild(root_0, root_1) - elif alt302 == 4: - # sdl92.g:1453:43: return_stmt - pass - root_0 = self._adaptor.nil() + retval.tree = root_0 - self._state.following.append(self.FOLLOW_return_stmt_in_terminator16548) - return_stmt748 = self.return_stmt() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, return_stmt748.tree) @@ -31030,19 +30780,25 @@ def terminator(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 165, n7s_scl_eventually_StartIndex, success) + + pass return retval - # $ANTLR end "terminator" + # $ANTLR end "n7s_scl_eventually" - class join_return(ParserRuleReturnScope): + class n7s_scl_filter_out_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -31052,41 +30808,66 @@ def __init__(self): - # $ANTLR start "join" - # sdl92.g:1457:1: join : JOIN connector_name -> ^( JOIN connector_name ) ; - def join(self, ): - retval = self.join_return() + # $ANTLR start "n7s_scl_filter_out" + # sdl92.g:1546:1: n7s_scl_filter_out : ( FILTER_OUT expression end ) -> ^( FILTER_OUT expression ) ; + def n7s_scl_filter_out(self, ): + retval = self.n7s_scl_filter_out_return() retval.start = self.input.LT(1) + n7s_scl_filter_out_StartIndex = self.input.index() root_0 = None - JOIN749 = None - connector_name750 = None + FILTER_OUT751 = None + expression752 = None + end753 = None + + FILTER_OUT751_tree = None + stream_FILTER_OUT = RewriteRuleTokenStream(self._adaptor, "token FILTER_OUT") + stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") + stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") + success = False - JOIN749_tree = None - stream_JOIN = RewriteRuleTokenStream(self._adaptor, "token JOIN") - stream_connector_name = RewriteRuleSubtreeStream(self._adaptor, "rule connector_name") try: try: - # sdl92.g:1458:9: ( JOIN connector_name -> ^( JOIN connector_name ) ) - # sdl92.g:1458:18: JOIN connector_name + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 166): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1547:9: ( ( FILTER_OUT expression end ) -> ^( FILTER_OUT expression ) ) + # sdl92.g:1547:17: ( FILTER_OUT expression end ) pass - JOIN749 = self.match(self.input, JOIN, self.FOLLOW_JOIN_in_join16581) + # sdl92.g:1547:17: ( FILTER_OUT expression end ) + # sdl92.g:1547:18: FILTER_OUT expression end + pass + FILTER_OUT751 = self.match(self.input, FILTER_OUT, self.FOLLOW_FILTER_OUT_in_n7s_scl_filter_out16683) + if self._state.backtracking == 0: + stream_FILTER_OUT.add(FILTER_OUT751) + + + self._state.following.append(self.FOLLOW_expression_in_n7s_scl_filter_out16685) + expression752 = self.expression() + + self._state.following.pop() if self._state.backtracking == 0: - stream_JOIN.add(JOIN749) + stream_expression.add(expression752.tree) - self._state.following.append(self.FOLLOW_connector_name_in_join16583) - connector_name750 = self.connector_name() + self._state.following.append(self.FOLLOW_end_in_n7s_scl_filter_out16687) + end753 = self.end() self._state.following.pop() if self._state.backtracking == 0: - stream_connector_name.add(connector_name750.tree) + stream_end.add(end753.tree) + + + # AST Rewrite - # elements: JOIN, connector_name + # elements: FILTER_OUT, expression # token labels: # rule labels: retval # token list labels: @@ -31101,14 +30882,14 @@ def join(self, ): root_0 = self._adaptor.nil() - # 1459:9: -> ^( JOIN connector_name ) - # sdl92.g:1459:18: ^( JOIN connector_name ) + # 1548:9: -> ^( FILTER_OUT expression ) + # sdl92.g:1548:17: ^( FILTER_OUT expression ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_JOIN.nextNode() + stream_FILTER_OUT.nextNode() , root_1) - self._adaptor.addChild(root_1, stream_connector_name.nextTree()) + self._adaptor.addChild(root_1, stream_expression.nextTree()) self._adaptor.addChild(root_0, root_1) @@ -31130,19 +30911,25 @@ def join(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 166, n7s_scl_filter_out_StartIndex, success) + + pass return retval - # $ANTLR end "join" + # $ANTLR end "n7s_scl_filter_out" - class stop_return(ParserRuleReturnScope): + class history_nextstate_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -31152,114 +30939,41 @@ def __init__(self): - # $ANTLR start "stop" - # sdl92.g:1463:1: stop : STOP ; - def stop(self, ): - retval = self.stop_return() + # $ANTLR start "history_nextstate" + # sdl92.g:1559:1: history_nextstate : '-*' -> ^( HISTORY_NEXTSTATE ) ; + def history_nextstate(self, ): + retval = self.history_nextstate_return() retval.start = self.input.LT(1) + history_nextstate_StartIndex = self.input.index() root_0 = None - STOP751 = None + string_literal754 = None + + string_literal754_tree = None + stream_251 = RewriteRuleTokenStream(self._adaptor, "token 251") - STOP751_tree = None + success = False try: try: - # sdl92.g:1463:9: ( STOP ) - # sdl92.g:1463:17: STOP - pass - root_0 = self._adaptor.nil() - - - STOP751 = self.match(self.input, STOP, self.FOLLOW_STOP_in_stop16632) - if self._state.backtracking == 0: - STOP751_tree = self._adaptor.createWithPayload(STOP751) - self._adaptor.addChild(root_0, STOP751_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 "stop" - - - class return_stmt_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - - self.tree = None - - - - - - # $ANTLR start "return_stmt" - # sdl92.g:1467:1: return_stmt : RETURN ( expression )? -> ^( RETURN ( expression )? ) ; - def return_stmt(self, ): - retval = self.return_stmt_return() - retval.start = self.input.LT(1) - - - root_0 = None + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 167): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - RETURN752 = None - expression753 = None - RETURN752_tree = None - stream_RETURN = RewriteRuleTokenStream(self._adaptor, "token RETURN") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - try: - try: - # sdl92.g:1468:9: ( RETURN ( expression )? -> ^( RETURN ( expression )? ) ) - # sdl92.g:1468:17: RETURN ( expression )? + # sdl92.g:1560:9: ( '-*' -> ^( HISTORY_NEXTSTATE ) ) + # sdl92.g:1560:17: '-*' pass - RETURN752 = self.match(self.input, RETURN, self.FOLLOW_RETURN_in_return_stmt16664) + string_literal754 = self.match(self.input, 251, self.FOLLOW_251_in_history_nextstate16879) if self._state.backtracking == 0: - stream_RETURN.add(RETURN752) - - - # sdl92.g:1468:24: ( expression )? - alt303 = 2 - LA303_0 = self.input.LA(1) - - if (LA303_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt303 = 1 - if alt303 == 1: - # sdl92.g:1468:24: expression - pass - self._state.following.append(self.FOLLOW_expression_in_return_stmt16666) - expression753 = self.expression() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression753.tree) - - - + stream_251.add(string_literal754) # AST Rewrite - # elements: RETURN, expression + # elements: # token labels: # rule labels: retval # token list labels: @@ -31274,20 +30988,13 @@ def return_stmt(self, ): root_0 = self._adaptor.nil() - # 1469:9: -> ^( RETURN ( expression )? ) - # sdl92.g:1469:17: ^( RETURN ( expression )? ) + # 1560:23: -> ^( HISTORY_NEXTSTATE ) + # sdl92.g:1560:26: ^( HISTORY_NEXTSTATE ) root_1 = self._adaptor.nil() root_1 = self._adaptor.becomeRoot( - stream_RETURN.nextNode() + self._adaptor.createFromType(HISTORY_NEXTSTATE, "HISTORY_NEXTSTATE") , root_1) - # sdl92.g:1469:26: ( expression )? - if stream_expression.hasNext(): - self._adaptor.addChild(root_1, stream_expression.nextTree()) - - - stream_expression.reset(); - self._adaptor.addChild(root_0, root_1) @@ -31308,19 +31015,25 @@ def return_stmt(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 167, history_nextstate_StartIndex, success) + + pass return retval - # $ANTLR end "return_stmt" + # $ANTLR end "history_nextstate" - class nextstate_return(ParserRuleReturnScope): + class dash_nextstate_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -31330,70 +31043,40 @@ def __init__(self): - # $ANTLR start "nextstate" - # sdl92.g:1473:1: nextstate : NEXTSTATE nextstatebody -> ^( NEXTSTATE nextstatebody ) ; - def nextstate(self, ): - retval = self.nextstate_return() + # $ANTLR start "dash_nextstate" + # sdl92.g:1563:1: dash_nextstate : DASH ; + def dash_nextstate(self, ): + retval = self.dash_nextstate_return() retval.start = self.input.LT(1) + dash_nextstate_StartIndex = self.input.index() root_0 = None - NEXTSTATE754 = None - nextstatebody755 = None + DASH755 = None + + DASH755_tree = None + + success = False - NEXTSTATE754_tree = None - stream_NEXTSTATE = RewriteRuleTokenStream(self._adaptor, "token NEXTSTATE") - stream_nextstatebody = RewriteRuleSubtreeStream(self._adaptor, "rule nextstatebody") try: try: - # sdl92.g:1474:9: ( NEXTSTATE nextstatebody -> ^( NEXTSTATE nextstatebody ) ) - # sdl92.g:1474:17: NEXTSTATE nextstatebody - pass - NEXTSTATE754 = self.match(self.input, NEXTSTATE, self.FOLLOW_NEXTSTATE_in_nextstate16721) - if self._state.backtracking == 0: - stream_NEXTSTATE.add(NEXTSTATE754) - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 168): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_nextstatebody_in_nextstate16723) - nextstatebody755 = self.nextstatebody() - self._state.following.pop() - if self._state.backtracking == 0: - stream_nextstatebody.add(nextstatebody755.tree) + # sdl92.g:1563:17: ( DASH ) + # sdl92.g:1563:25: DASH + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: NEXTSTATE, nextstatebody - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + DASH755 = self.match(self.input, DASH, self.FOLLOW_DASH_in_dash_nextstate16910) 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() - # 1475:9: -> ^( NEXTSTATE nextstatebody ) - # sdl92.g:1475:17: ^( NEXTSTATE nextstatebody ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_NEXTSTATE.nextNode() - , root_1) - - self._adaptor.addChild(root_1, stream_nextstatebody.nextTree()) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + DASH755_tree = self._adaptor.createWithPayload(DASH755) + self._adaptor.addChild(root_0, DASH755_tree) @@ -31408,19 +31091,25 @@ def nextstate(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 168, dash_nextstate_StartIndex, success) + + pass return retval - # $ANTLR end "nextstate" + # $ANTLR end "dash_nextstate" - class nextstatebody_return(ParserRuleReturnScope): + class connector_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -31430,129 +31119,118 @@ def __init__(self): - # $ANTLR start "nextstatebody" - # sdl92.g:1479:1: nextstatebody : ( statename ( ':' ! type_inst )? ( via )? | dash_nextstate | history_nextstate ); - def nextstatebody(self, ): - retval = self.nextstatebody_return() + # $ANTLR start "connector_name" + # sdl92.g:1564:1: connector_name : ID ; + def connector_name(self, ): + retval = self.connector_name_return() retval.start = self.input.LT(1) + connector_name_StartIndex = self.input.index() root_0 = None - char_literal757 = None - statename756 = None - type_inst758 = None - via759 = None - dash_nextstate760 = None - history_nextstate761 = None + ID756 = None - char_literal757_tree = None + ID756_tree = None + + success = False try: try: - # sdl92.g:1480:9: ( statename ( ':' ! type_inst )? ( via )? | dash_nextstate | history_nextstate ) - alt306 = 3 - LA306 = self.input.LA(1) - if LA306 in {ID}: - alt306 = 1 - elif LA306 in {DASH}: - alt306 = 2 - elif LA306 in {251}: - alt306 = 3 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 169): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - nvae = NoViableAltException("", 306, 0, self.input) + # sdl92.g:1564:17: ( ID ) + # sdl92.g:1564:25: ID + pass + root_0 = self._adaptor.nil() - raise nvae + ID756 = self.match(self.input, ID, self.FOLLOW_ID_in_connector_name16924) + if self._state.backtracking == 0: + ID756_tree = self._adaptor.createWithPayload(ID756) + self._adaptor.addChild(root_0, ID756_tree) - if alt306 == 1: - # sdl92.g:1480:17: statename ( ':' ! type_inst )? ( via )? - pass - root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_statename_in_nextstatebody16776) - statename756 = self.statename() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, statename756.tree) + retval.stop = self.input.LT(-1) - # sdl92.g:1480:27: ( ':' ! type_inst )? - alt304 = 2 - LA304_0 = self.input.LA(1) - if (LA304_0 == 255) : - alt304 = 1 - if alt304 == 1: - # sdl92.g:1480:28: ':' ! type_inst - pass - char_literal757 = self.match(self.input, 255, self.FOLLOW_255_in_nextstatebody16779) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - self._state.following.append(self.FOLLOW_type_inst_in_nextstatebody16782) - type_inst758 = self.type_inst() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, type_inst758.tree) + success = True + + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 169, connector_name_StartIndex, success) + pass + return retval - # sdl92.g:1480:45: ( via )? - alt305 = 2 - LA305_0 = self.input.LA(1) + # $ANTLR end "connector_name" - if (LA305_0 == VIA) : - alt305 = 1 - if alt305 == 1: - # sdl92.g:1480:45: via - pass - self._state.following.append(self.FOLLOW_via_in_nextstatebody16786) - via759 = self.via() - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, via759.tree) + class signal_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - elif alt306 == 2: - # sdl92.g:1481:19: dash_nextstate - pass - root_0 = self._adaptor.nil() + # $ANTLR start "signal_id" + # sdl92.g:1565:1: signal_id : ID ; + def signal_id(self, ): + retval = self.signal_id_return() + retval.start = self.input.LT(1) + signal_id_StartIndex = self.input.index() - self._state.following.append(self.FOLLOW_dash_nextstate_in_nextstatebody16807) - dash_nextstate760 = self.dash_nextstate() + root_0 = None - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, dash_nextstate760.tree) + ID757 = None + ID757_tree = None + success = False - elif alt306 == 3: - # sdl92.g:1482:19: history_nextstate - pass - root_0 = self._adaptor.nil() + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 170): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_history_nextstate_in_nextstatebody16827) - history_nextstate761 = self.history_nextstate() + # sdl92.g:1565:17: ( ID ) + # sdl92.g:1565:25: ID + pass + root_0 = self._adaptor.nil() + + + ID757 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_id16943) + if self._state.backtracking == 0: + ID757_tree = self._adaptor.createWithPayload(ID757) + self._adaptor.addChild(root_0, ID757_tree) + - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, history_nextstate761.tree) @@ -31565,19 +31243,25 @@ def nextstatebody(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 170, signal_id_StartIndex, success) + + pass return retval - # $ANTLR end "nextstatebody" + # $ANTLR end "signal_id" - class via_return(ParserRuleReturnScope): + class statename_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -31587,70 +31271,40 @@ def __init__(self): - # $ANTLR start "via" - # sdl92.g:1486:1: via : VIA state_entry_point_name -> ^( VIA state_entry_point_name ) ; - def via(self, ): - retval = self.via_return() + # $ANTLR start "statename" + # sdl92.g:1566:1: statename : ID ; + def statename(self, ): + retval = self.statename_return() retval.start = self.input.LT(1) + statename_StartIndex = self.input.index() root_0 = None - VIA762 = None - state_entry_point_name763 = None + ID758 = None + + ID758_tree = None + + success = False - VIA762_tree = None - stream_VIA = RewriteRuleTokenStream(self._adaptor, "token VIA") - stream_state_entry_point_name = RewriteRuleSubtreeStream(self._adaptor, "rule state_entry_point_name") try: try: - # sdl92.g:1486:9: ( VIA state_entry_point_name -> ^( VIA state_entry_point_name ) ) - # sdl92.g:1486:17: VIA state_entry_point_name - pass - VIA762 = self.match(self.input, VIA, self.FOLLOW_VIA_in_via16855) - if self._state.backtracking == 0: - stream_VIA.add(VIA762) - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 171): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_state_entry_point_name_in_via16857) - state_entry_point_name763 = self.state_entry_point_name() - self._state.following.pop() - if self._state.backtracking == 0: - stream_state_entry_point_name.add(state_entry_point_name763.tree) + # sdl92.g:1566:17: ( ID ) + # sdl92.g:1566:25: ID + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: VIA, state_entry_point_name - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + ID758 = self.match(self.input, ID, self.FOLLOW_ID_in_statename16962) 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() - # 1487:9: -> ^( VIA state_entry_point_name ) - # sdl92.g:1487:17: ^( VIA state_entry_point_name ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_VIA.nextNode() - , root_1) - - self._adaptor.addChild(root_1, stream_state_entry_point_name.nextTree()) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID758_tree = self._adaptor.createWithPayload(ID758) + self._adaptor.addChild(root_0, ID758_tree) @@ -31665,19 +31319,25 @@ def via(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 171, statename_StartIndex, success) + + pass return retval - # $ANTLR end "via" + # $ANTLR end "statename" - class end_return(ParserRuleReturnScope): + class state_exit_point_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -31687,225 +31347,192 @@ def __init__(self): - # $ANTLR start "end" - # sdl92.g:1491:1: end : ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? ; - def end(self, ): - retval = self.end_return() + # $ANTLR start "state_exit_point_name" + # sdl92.g:1567:1: state_exit_point_name : ID ; + def state_exit_point_name(self, ): + retval = self.state_exit_point_name_return() retval.start = self.input.LT(1) + state_exit_point_name_StartIndex = self.input.index() root_0 = None - COMMENT767 = None - STRING768 = None - SEMI769 = None - cif764 = None - symbolid765 = None - hyperlink766 = None + ID759 = None + + ID759_tree = None + + success = False - COMMENT767_tree = None - STRING768_tree = None - SEMI769_tree = None - stream_SEMI = RewriteRuleTokenStream(self._adaptor, "token SEMI") - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") - stream_COMMENT = RewriteRuleTokenStream(self._adaptor, "token COMMENT") - stream_cif = RewriteRuleSubtreeStream(self._adaptor, "rule cif") - stream_symbolid = RewriteRuleSubtreeStream(self._adaptor, "rule symbolid") - stream_hyperlink = RewriteRuleSubtreeStream(self._adaptor, "rule hyperlink") try: try: - # sdl92.g:1492:9: ( ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? ) - # sdl92.g:1492:13: ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? ( SEMI )+ + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 172): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1568:17: ( ID ) + # sdl92.g:1568:25: ID pass - # sdl92.g:1492:13: ( ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING )? - alt310 = 2 - LA310_0 = self.input.LA(1) - - if (LA310_0 in {COMMENT, 254}) : - alt310 = 1 - if alt310 == 1: - # sdl92.g:1492:14: ( cif )? ( symbolid )? ( hyperlink )? COMMENT STRING - pass - # sdl92.g:1492:14: ( cif )? - alt307 = 2 - LA307_0 = self.input.LA(1) + root_0 = self._adaptor.nil() - if (LA307_0 == 254) : - LA307_1 = self.input.LA(2) - if (LA307_1 in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}) : - alt307 = 1 - if alt307 == 1: - # sdl92.g:1492:14: cif - pass - self._state.following.append(self.FOLLOW_cif_in_end16907) - cif764 = self.cif() + ID759 = self.match(self.input, ID, self.FOLLOW_ID_in_state_exit_point_name16991) + if self._state.backtracking == 0: + ID759_tree = self._adaptor.createWithPayload(ID759) + self._adaptor.addChild(root_0, ID759_tree) - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif.add(cif764.tree) + retval.stop = self.input.LT(-1) - # sdl92.g:1492:19: ( symbolid )? - alt308 = 2 - LA308_0 = self.input.LA(1) - if (LA308_0 == 254) : - LA308_1 = self.input.LA(2) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if (LA308_1 == 256) : - alt308 = 1 - if alt308 == 1: - # sdl92.g:1492:19: symbolid - pass - self._state.following.append(self.FOLLOW_symbolid_in_end16910) - symbolid765 = self.symbolid() - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolid.add(symbolid765.tree) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 172, state_exit_point_name_StartIndex, success) - # sdl92.g:1492:29: ( hyperlink )? - alt309 = 2 - LA309_0 = self.input.LA(1) + pass + return retval - if (LA309_0 == 254) : - alt309 = 1 - if alt309 == 1: - # sdl92.g:1492:29: hyperlink - pass - self._state.following.append(self.FOLLOW_hyperlink_in_end16913) - hyperlink766 = self.hyperlink() + # $ANTLR end "state_exit_point_name" - self._state.following.pop() - if self._state.backtracking == 0: - stream_hyperlink.add(hyperlink766.tree) + class state_entry_point_name_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - COMMENT767 = self.match(self.input, COMMENT, self.FOLLOW_COMMENT_in_end16916) - if self._state.backtracking == 0: - stream_COMMENT.add(COMMENT767) - STRING768 = self.match(self.input, STRING, self.FOLLOW_STRING_in_end16918) - if self._state.backtracking == 0: - stream_STRING.add(STRING768) + # $ANTLR start "state_entry_point_name" + # sdl92.g:1569:1: state_entry_point_name : ID ; + def state_entry_point_name(self, ): + retval = self.state_entry_point_name_return() + retval.start = self.input.LT(1) + state_entry_point_name_StartIndex = self.input.index() + root_0 = None + ID760 = None + ID760_tree = None - # sdl92.g:1492:57: ( SEMI )+ - cnt311 = 0 - while True: #loop311 - alt311 = 2 - LA311_0 = self.input.LA(1) + success = False - if (LA311_0 == SEMI) : - LA311_2 = self.input.LA(2) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 173): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - if (self.synpred393_sdl92()) : - alt311 = 1 + # sdl92.g:1570:17: ( ID ) + # sdl92.g:1570:25: ID + pass + root_0 = self._adaptor.nil() + ID760 = self.match(self.input, ID, self.FOLLOW_ID_in_state_entry_point_name17020) + if self._state.backtracking == 0: + ID760_tree = self._adaptor.createWithPayload(ID760) + self._adaptor.addChild(root_0, ID760_tree) - if alt311 == 1: - # sdl92.g:1492:57: SEMI - pass - SEMI769 = self.match(self.input, SEMI, self.FOLLOW_SEMI_in_end16922) - if self._state.backtracking == 0: - stream_SEMI.add(SEMI769) - else: - if cnt311 >= 1: - break #loop311 - if self._state.backtracking > 0: - raise BacktrackingFailed + retval.stop = self.input.LT(-1) - eee = EarlyExitException(311, self.input) - raise eee + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - cnt311 += 1 - # AST Rewrite - # elements: COMMENT, cif, symbolid, hyperlink, STRING - # 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) + success = True + 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) - root_0 = self._adaptor.nil() - # 1493:9: -> ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? - # sdl92.g:1493:12: ( ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) )? - if stream_COMMENT.hasNext() or stream_cif.hasNext() or stream_symbolid.hasNext() or stream_hyperlink.hasNext() or stream_STRING.hasNext(): - # sdl92.g:1493:12: ^( COMMENT ( cif )? ( symbolid )? ( hyperlink )? STRING ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_COMMENT.nextNode() - , root_1) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 173, state_entry_point_name_StartIndex, success) - # sdl92.g:1493:22: ( cif )? - if stream_cif.hasNext(): - self._adaptor.addChild(root_1, stream_cif.nextTree()) + pass + return retval - stream_cif.reset(); + # $ANTLR end "state_entry_point_name" - # sdl92.g:1493:27: ( symbolid )? - if stream_symbolid.hasNext(): - self._adaptor.addChild(root_1, stream_symbolid.nextTree()) + class variable_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - stream_symbolid.reset(); + self.tree = None - # sdl92.g:1493:37: ( hyperlink )? - if stream_hyperlink.hasNext(): - self._adaptor.addChild(root_1, stream_hyperlink.nextTree()) - stream_hyperlink.reset(); - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) - self._adaptor.addChild(root_0, root_1) + # $ANTLR start "variable_id" + # sdl92.g:1571:1: variable_id : ID ; + def variable_id(self, ): + retval = self.variable_id_return() + retval.start = self.input.LT(1) + variable_id_StartIndex = self.input.index() - stream_COMMENT.reset(); - stream_cif.reset(); - stream_symbolid.reset(); - stream_hyperlink.reset(); - stream_STRING.reset(); + root_0 = None + ID761 = None + ID761_tree = None + success = False - retval.tree = root_0 + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 174): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1571:17: ( ID ) + # sdl92.g:1571:25: ID + pass + root_0 = self._adaptor.nil() + + + ID761 = self.match(self.input, ID, self.FOLLOW_ID_in_variable_id17037) + if self._state.backtracking == 0: + ID761_tree = self._adaptor.createWithPayload(ID761) + self._adaptor.addChild(root_0, ID761_tree) @@ -31920,19 +31547,25 @@ def end(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 174, variable_id_StartIndex, success) + + pass return retval - # $ANTLR end "end" + # $ANTLR end "variable_id" - class cif_return(ParserRuleReturnScope): + class literal_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -31942,192 +31575,129 @@ def __init__(self): - # $ANTLR start "cif" - # sdl92.g:1497:1: cif : ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) ; - def cif(self, ): - retval = self.cif_return() + # $ANTLR start "literal_id" + # sdl92.g:1572:1: literal_id : ( ID | INT ); + def literal_id(self, ): + retval = self.literal_id_return() retval.start = self.input.LT(1) + literal_id_StartIndex = self.input.index() root_0 = None - width = None - height = None - L_PAREN772 = None - COMMA773 = None - R_PAREN774 = None - COMMA775 = None - L_PAREN776 = None - COMMA777 = None - R_PAREN778 = None - x = None - y = None - cif_decl770 = None - symbolname771 = None - cif_end779 = None + set762 = None - width_tree = None - height_tree = None - L_PAREN772_tree = None - COMMA773_tree = None - R_PAREN774_tree = None - COMMA775_tree = None - L_PAREN776_tree = None - COMMA777_tree = None - R_PAREN778_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") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - stream_signed = RewriteRuleSubtreeStream(self._adaptor, "rule signed") - stream_symbolname = RewriteRuleSubtreeStream(self._adaptor, "rule symbolname") - try: - try: - # sdl92.g:1498:9: ( ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) ) - # sdl92.g:1498:17: ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) - pass - # sdl92.g:1498:17: ( cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end -> ^( CIF $x $y $width $height) ) - # sdl92.g:1498:18: cif_decl symbolname L_PAREN x= signed COMMA y= signed R_PAREN COMMA L_PAREN width= INT COMMA height= INT R_PAREN cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_cif16982) - cif_decl770 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl770.tree) + set762_tree = None + success = False - self._state.following.append(self.FOLLOW_symbolname_in_cif16984) - symbolname771 = self.symbolname() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_symbolname.add(symbolname771.tree) - + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 175): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - L_PAREN772 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_cif17002) - if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN772) + # sdl92.g:1572:17: ( ID | INT ) + # sdl92.g: + pass + root_0 = self._adaptor.nil() - self._state.following.append(self.FOLLOW_signed_in_cif17006) - x = self.signed() - self._state.following.pop() - if self._state.backtracking == 0: - stream_signed.add(x.tree) + set762 = self.input.LT(1) + if self.input.LA(1) in {ID, INT}: + self.input.consume() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set762)) - COMMA773 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif17008) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA773) + self._state.errorRecovery = False - self._state.following.append(self.FOLLOW_signed_in_cif17012) - y = self.signed() + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - self._state.following.pop() - if self._state.backtracking == 0: - stream_signed.add(y.tree) + mse = MismatchedSetException(None, self.input) + raise mse - R_PAREN774 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_cif17014) - if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN774) - COMMA775 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif17032) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA775) - L_PAREN776 = self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_cif17050) - if self._state.backtracking == 0: - stream_L_PAREN.add(L_PAREN776) + retval.stop = self.input.LT(-1) - width = self.match(self.input, INT, self.FOLLOW_INT_in_cif17054) if self._state.backtracking == 0: - stream_INT.add(width) - + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - COMMA777 = self.match(self.input, COMMA, self.FOLLOW_COMMA_in_cif17056) - if self._state.backtracking == 0: - stream_COMMA.add(COMMA777) - height = self.match(self.input, INT, self.FOLLOW_INT_in_cif17060) - if self._state.backtracking == 0: - stream_INT.add(height) + success = True + 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) - R_PAREN778 = self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_cif17062) - if self._state.backtracking == 0: - stream_R_PAREN.add(R_PAREN778) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 175, literal_id_StartIndex, success) - self._state.following.append(self.FOLLOW_cif_end_in_cif17080) - cif_end779 = self.cif_end() + pass + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end779.tree) + # $ANTLR end "literal_id" - # AST Rewrite - # elements: x, y, width, height - # token labels: width, height - # rule labels: x, y, retval - # token list labels: - # rule list labels: - # wildcard labels: - if self._state.backtracking == 0: - retval.tree = root_0 - stream_width = RewriteRuleTokenStream(self._adaptor, "token width", width) - stream_height = RewriteRuleTokenStream(self._adaptor, "token height", height) - if x is not None: - stream_x = RewriteRuleSubtreeStream(self._adaptor, "rule x", x.tree) - else: - stream_x = RewriteRuleSubtreeStream(self._adaptor, "token x", None) + class process_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - if y is not None: - stream_y = RewriteRuleSubtreeStream(self._adaptor, "rule y", y.tree) - else: - stream_y = RewriteRuleSubtreeStream(self._adaptor, "token y", None) + self.tree = 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() - # 1503:9: -> ^( CIF $x $y $width $height) - # sdl92.g:1503:17: ^( CIF $x $y $width $height) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(CIF, "CIF") - , root_1) - self._adaptor.addChild(root_1, stream_x.nextTree()) - self._adaptor.addChild(root_1, stream_y.nextTree()) + # $ANTLR start "process_id" + # sdl92.g:1573:1: process_id : ID ; + def process_id(self, ): + retval = self.process_id_return() + retval.start = self.input.LT(1) - self._adaptor.addChild(root_1, stream_width.nextNode()) + process_id_StartIndex = self.input.index() - self._adaptor.addChild(root_1, stream_height.nextNode()) + root_0 = None - self._adaptor.addChild(root_0, root_1) + ID763 = None + ID763_tree = None + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 176): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - retval.tree = root_0 + # sdl92.g:1573:17: ( ID ) + # sdl92.g:1573:25: ID + pass + root_0 = self._adaptor.nil() + ID763 = self.match(self.input, ID, self.FOLLOW_ID_in_process_id17077) + if self._state.backtracking == 0: + ID763_tree = self._adaptor.createWithPayload(ID763) + self._adaptor.addChild(root_0, ID763_tree) @@ -32142,19 +31712,25 @@ def cif(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 176, process_id_StartIndex, success) + + pass return retval - # $ANTLR end "cif" + # $ANTLR end "process_id" - class hyperlink_return(ParserRuleReturnScope): + class system_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -32164,114 +31740,40 @@ def __init__(self): - # $ANTLR start "hyperlink" - # sdl92.g:1507:1: hyperlink : cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end -> ^( HYPERLINK STRING ) ; - def hyperlink(self, ): - retval = self.hyperlink_return() + # $ANTLR start "system_name" + # sdl92.g:1574:1: system_name : ID ; + def system_name(self, ): + retval = self.system_name_return() retval.start = self.input.LT(1) + system_name_StartIndex = self.input.index() root_0 = None - KEEP781 = None - SPECIFIC782 = None - GEODE783 = None - HYPERLINK784 = None - STRING785 = None - cif_decl780 = None - cif_end786 = None - - KEEP781_tree = None - SPECIFIC782_tree = None - GEODE783_tree = None - HYPERLINK784_tree = None - STRING785_tree = None - stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") - stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_HYPERLINK = RewriteRuleTokenStream(self._adaptor, "token HYPERLINK") - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") - stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - try: - try: - # sdl92.g:1508:9: ( cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end -> ^( HYPERLINK STRING ) ) - # sdl92.g:1508:17: cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_hyperlink17144) - cif_decl780 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl780.tree) - - - KEEP781 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_hyperlink17146) - if self._state.backtracking == 0: - stream_KEEP.add(KEEP781) - - - SPECIFIC782 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_hyperlink17148) - if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC782) + ID764 = None + ID764_tree = None - GEODE783 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_hyperlink17150) - if self._state.backtracking == 0: - stream_GEODE.add(GEODE783) - - - HYPERLINK784 = self.match(self.input, HYPERLINK, self.FOLLOW_HYPERLINK_in_hyperlink17152) - if self._state.backtracking == 0: - stream_HYPERLINK.add(HYPERLINK784) - - - STRING785 = self.match(self.input, STRING, self.FOLLOW_STRING_in_hyperlink17154) - if self._state.backtracking == 0: - stream_STRING.add(STRING785) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 177): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_cif_end_in_hyperlink17172) - cif_end786 = self.cif_end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end786.tree) + # sdl92.g:1574:17: ( ID ) + # sdl92.g:1574:25: ID + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: HYPERLINK, STRING - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + ID764 = self.match(self.input, ID, self.FOLLOW_ID_in_system_name17094) 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() - # 1510:9: -> ^( HYPERLINK STRING ) - # sdl92.g:1510:17: ^( HYPERLINK STRING ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_HYPERLINK.nextNode() - , root_1) - - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID764_tree = self._adaptor.createWithPayload(ID764) + self._adaptor.addChild(root_0, ID764_tree) @@ -32286,19 +31788,25 @@ def hyperlink(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 177, system_name_StartIndex, success) + + pass return retval - # $ANTLR end "hyperlink" + # $ANTLR end "system_name" - class req_server_return(ParserRuleReturnScope): + class package_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -32308,114 +31816,40 @@ def __init__(self): - # $ANTLR start "req_server" - # sdl92.g:1515:1: req_server : cif_decl KEEP SPECIFIC GEODE REQ_SERVER STRING cif_end -> ^( REQ_SERVER STRING ) ; - def req_server(self, ): - retval = self.req_server_return() + # $ANTLR start "package_name" + # sdl92.g:1575:1: package_name : ID ; + def package_name(self, ): + retval = self.package_name_return() retval.start = self.input.LT(1) + package_name_StartIndex = self.input.index() root_0 = None - KEEP788 = None - SPECIFIC789 = None - GEODE790 = None - REQ_SERVER791 = None - STRING792 = None - cif_decl787 = None - cif_end793 = None - - KEEP788_tree = None - SPECIFIC789_tree = None - GEODE790_tree = None - REQ_SERVER791_tree = None - STRING792_tree = None - stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") - stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_REQ_SERVER = RewriteRuleTokenStream(self._adaptor, "token REQ_SERVER") - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") - stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - try: - try: - # sdl92.g:1516:9: ( cif_decl KEEP SPECIFIC GEODE REQ_SERVER STRING cif_end -> ^( REQ_SERVER STRING ) ) - # sdl92.g:1516:17: cif_decl KEEP SPECIFIC GEODE REQ_SERVER STRING cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_req_server17226) - cif_decl787 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl787.tree) - - - KEEP788 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_req_server17228) - if self._state.backtracking == 0: - stream_KEEP.add(KEEP788) - - - SPECIFIC789 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_req_server17230) - if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC789) - - - GEODE790 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_req_server17232) - if self._state.backtracking == 0: - stream_GEODE.add(GEODE790) - - - REQ_SERVER791 = self.match(self.input, REQ_SERVER, self.FOLLOW_REQ_SERVER_in_req_server17234) - if self._state.backtracking == 0: - stream_REQ_SERVER.add(REQ_SERVER791) + ID765 = None + ID765_tree = None - STRING792 = self.match(self.input, STRING, self.FOLLOW_STRING_in_req_server17236) - if self._state.backtracking == 0: - stream_STRING.add(STRING792) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 178): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_cif_end_in_req_server17254) - cif_end793 = self.cif_end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end793.tree) + # sdl92.g:1575:17: ( ID ) + # sdl92.g:1575:25: ID + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: REQ_SERVER, STRING - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + ID765 = self.match(self.input, ID, self.FOLLOW_ID_in_package_name17110) 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() - # 1518:9: -> ^( REQ_SERVER STRING ) - # sdl92.g:1518:17: ^( REQ_SERVER STRING ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_REQ_SERVER.nextNode() - , root_1) - - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID765_tree = self._adaptor.createWithPayload(ID765) + self._adaptor.addChild(root_0, ID765_tree) @@ -32430,19 +31864,25 @@ def req_server(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 178, package_name_StartIndex, success) + + pass return retval - # $ANTLR end "req_server" + # $ANTLR end "package_name" - class rid_server_return(ParserRuleReturnScope): + class priority_signal_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -32452,114 +31892,40 @@ def __init__(self): - # $ANTLR start "rid_server" - # sdl92.g:1523:1: rid_server : cif_decl KEEP SPECIFIC GEODE RID_SERVER STRING cif_end -> ^( RID_SERVER STRING ) ; - def rid_server(self, ): - retval = self.rid_server_return() + # $ANTLR start "priority_signal_id" + # sdl92.g:1576:1: priority_signal_id : ID ; + def priority_signal_id(self, ): + retval = self.priority_signal_id_return() retval.start = self.input.LT(1) + priority_signal_id_StartIndex = self.input.index() root_0 = None - KEEP795 = None - SPECIFIC796 = None - GEODE797 = None - RID_SERVER798 = None - STRING799 = None - cif_decl794 = None - cif_end800 = None - - KEEP795_tree = None - SPECIFIC796_tree = None - GEODE797_tree = None - RID_SERVER798_tree = None - STRING799_tree = None - stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") - stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") - stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_RID_SERVER = RewriteRuleTokenStream(self._adaptor, "token RID_SERVER") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - try: - try: - # sdl92.g:1524:9: ( cif_decl KEEP SPECIFIC GEODE RID_SERVER STRING cif_end -> ^( RID_SERVER STRING ) ) - # sdl92.g:1524:17: cif_decl KEEP SPECIFIC GEODE RID_SERVER STRING cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_rid_server17308) - cif_decl794 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl794.tree) - - - KEEP795 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_rid_server17310) - if self._state.backtracking == 0: - stream_KEEP.add(KEEP795) - - - SPECIFIC796 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_rid_server17312) - if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC796) - - - GEODE797 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_rid_server17314) - if self._state.backtracking == 0: - stream_GEODE.add(GEODE797) - - - RID_SERVER798 = self.match(self.input, RID_SERVER, self.FOLLOW_RID_SERVER_in_rid_server17316) - if self._state.backtracking == 0: - stream_RID_SERVER.add(RID_SERVER798) + ID766 = None + ID766_tree = None - STRING799 = self.match(self.input, STRING, self.FOLLOW_STRING_in_rid_server17318) - if self._state.backtracking == 0: - stream_STRING.add(STRING799) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 179): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_cif_end_in_rid_server17336) - cif_end800 = self.cif_end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end800.tree) + # sdl92.g:1577:17: ( ID ) + # sdl92.g:1577:25: ID + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: RID_SERVER, STRING - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + ID766 = self.match(self.input, ID, self.FOLLOW_ID_in_priority_signal_id17139) 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() - # 1526:9: -> ^( RID_SERVER STRING ) - # sdl92.g:1526:17: ^( RID_SERVER STRING ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_RID_SERVER.nextNode() - , root_1) - - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID766_tree = self._adaptor.createWithPayload(ID766) + self._adaptor.addChild(root_0, ID766_tree) @@ -32574,19 +31940,25 @@ def rid_server(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 179, priority_signal_id_StartIndex, success) + + pass return retval - # $ANTLR end "rid_server" + # $ANTLR end "priority_signal_id" - class requirement_return(ParserRuleReturnScope): + class signal_list_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -32596,114 +31968,116 @@ def __init__(self): - # $ANTLR start "requirement" - # sdl92.g:1532:1: requirement : cif_decl KEEP SPECIFIC GEODE REQ_ID STRING cif_end -> ^( REQ_ID STRING ) ; - def requirement(self, ): - retval = self.requirement_return() + # $ANTLR start "signal_list_id" + # sdl92.g:1578:1: signal_list_id : ID ; + def signal_list_id(self, ): + retval = self.signal_list_id_return() retval.start = self.input.LT(1) + signal_list_id_StartIndex = self.input.index() root_0 = None - KEEP802 = None - SPECIFIC803 = None - GEODE804 = None - REQ_ID805 = None - STRING806 = None - cif_decl801 = None - cif_end807 = None - - KEEP802_tree = None - SPECIFIC803_tree = None - GEODE804_tree = None - REQ_ID805_tree = None - STRING806_tree = None - stream_REQ_ID = RewriteRuleTokenStream(self._adaptor, "token REQ_ID") - stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") - stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") - stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") + ID767 = None + + ID767_tree = None + + success = False + try: try: - # sdl92.g:1533:9: ( cif_decl KEEP SPECIFIC GEODE REQ_ID STRING cif_end -> ^( REQ_ID STRING ) ) - # sdl92.g:1533:17: cif_decl KEEP SPECIFIC GEODE REQ_ID STRING cif_end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 180): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1578:17: ( ID ) + # sdl92.g:1578:25: ID pass - self._state.following.append(self.FOLLOW_cif_decl_in_requirement17391) - cif_decl801 = self.cif_decl() + root_0 = self._adaptor.nil() - self._state.following.pop() + + ID767 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_list_id17153) if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl801.tree) + ID767_tree = self._adaptor.createWithPayload(ID767) + self._adaptor.addChild(root_0, ID767_tree) - KEEP802 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_requirement17393) - if self._state.backtracking == 0: - stream_KEEP.add(KEEP802) - SPECIFIC803 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_requirement17395) - if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC803) + + retval.stop = self.input.LT(-1) - GEODE804 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_requirement17397) if self._state.backtracking == 0: - stream_GEODE.add(GEODE804) + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - REQ_ID805 = self.match(self.input, REQ_ID, self.FOLLOW_REQ_ID_in_requirement17399) - if self._state.backtracking == 0: - stream_REQ_ID.add(REQ_ID805) + success = True - STRING806 = self.match(self.input, STRING, self.FOLLOW_STRING_in_requirement17401) - if self._state.backtracking == 0: - stream_STRING.add(STRING806) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 180, signal_list_id_StartIndex, success) - self._state.following.append(self.FOLLOW_cif_end_in_requirement17419) - cif_end807 = self.cif_end() + pass + return retval - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end807.tree) + # $ANTLR end "signal_list_id" - # AST Rewrite - # elements: REQ_ID, STRING - # 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) + class timer_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + + self.tree = None - root_0 = self._adaptor.nil() - # 1535:9: -> ^( REQ_ID STRING ) - # sdl92.g:1535:17: ^( REQ_ID STRING ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_REQ_ID.nextNode() - , root_1) - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) - self._adaptor.addChild(root_0, root_1) + # $ANTLR start "timer_id" + # sdl92.g:1579:1: timer_id : ID ; + def timer_id(self, ): + retval = self.timer_id_return() + retval.start = self.input.LT(1) + timer_id_StartIndex = self.input.index() + root_0 = None + + ID768 = None + + ID768_tree = None + + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 181): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1579:17: ( ID ) + # sdl92.g:1579:25: ID + pass + root_0 = self._adaptor.nil() - retval.tree = root_0 + + ID768 = self.match(self.input, ID, self.FOLLOW_ID_in_timer_id17173) + if self._state.backtracking == 0: + ID768_tree = self._adaptor.createWithPayload(ID768) + self._adaptor.addChild(root_0, ID768_tree) @@ -32718,19 +32092,25 @@ def requirement(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 181, timer_id_StartIndex, success) + + pass return retval - # $ANTLR end "requirement" + # $ANTLR end "timer_id" - class rid_return(ParserRuleReturnScope): + class field_name_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -32740,114 +32120,53 @@ def __init__(self): - # $ANTLR start "rid" - # sdl92.g:1541:1: rid : cif_decl KEEP SPECIFIC GEODE RID_ID STRING cif_end -> ^( RID_ID STRING ) ; - def rid(self, ): - retval = self.rid_return() + # $ANTLR start "field_name" + # sdl92.g:1580:1: field_name : ( ID | STATE ); + def field_name(self, ): + retval = self.field_name_return() retval.start = self.input.LT(1) + field_name_StartIndex = self.input.index() root_0 = None - KEEP809 = None - SPECIFIC810 = None - GEODE811 = None - RID_ID812 = None - STRING813 = None - cif_decl808 = None - cif_end814 = None - - KEEP809_tree = None - SPECIFIC810_tree = None - GEODE811_tree = None - RID_ID812_tree = None - STRING813_tree = None - stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") - stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") - stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_RID_ID = RewriteRuleTokenStream(self._adaptor, "token RID_ID") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - try: - try: - # sdl92.g:1542:9: ( cif_decl KEEP SPECIFIC GEODE RID_ID STRING cif_end -> ^( RID_ID STRING ) ) - # sdl92.g:1542:17: cif_decl KEEP SPECIFIC GEODE RID_ID STRING cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_rid17474) - cif_decl808 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl808.tree) - - - KEEP809 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_rid17476) - if self._state.backtracking == 0: - stream_KEEP.add(KEEP809) - - - SPECIFIC810 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_rid17478) - if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC810) - - - GEODE811 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_rid17480) - if self._state.backtracking == 0: - stream_GEODE.add(GEODE811) - - - RID_ID812 = self.match(self.input, RID_ID, self.FOLLOW_RID_ID_in_rid17482) - if self._state.backtracking == 0: - stream_RID_ID.add(RID_ID812) + set769 = None + set769_tree = None - STRING813 = self.match(self.input, STRING, self.FOLLOW_STRING_in_rid17484) - if self._state.backtracking == 0: - stream_STRING.add(STRING813) - + success = False - self._state.following.append(self.FOLLOW_cif_end_in_rid17502) - cif_end814 = self.cif_end() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end814.tree) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 182): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - # AST Rewrite - # elements: RID_ID, STRING - # 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) + # sdl92.g:1580:17: ( ID | STATE ) + # sdl92.g: + pass + root_0 = self._adaptor.nil() - root_0 = self._adaptor.nil() - # 1544:9: -> ^( RID_ID STRING ) - # sdl92.g:1544:17: ^( RID_ID STRING ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_RID_ID.nextNode() - , root_1) + set769 = self.input.LT(1) - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) + if self.input.LA(1) in {ID, STATE}: + self.input.consume() + if self._state.backtracking == 0: + self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set769)) - self._adaptor.addChild(root_0, root_1) + self._state.errorRecovery = False + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - retval.tree = root_0 + mse = MismatchedSetException(None, self.input) + raise mse @@ -32862,19 +32181,25 @@ def rid(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 182, field_name_StartIndex, success) + + pass return retval - # $ANTLR end "rid" + # $ANTLR end "field_name" - class partition_return(ParserRuleReturnScope): + class enumerant_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -32884,114 +32209,116 @@ def __init__(self): - # $ANTLR start "partition" - # sdl92.g:1548:1: partition : cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end -> ^( PARTITION STRING ) ; - def partition(self, ): - retval = self.partition_return() + # $ANTLR start "enumerant" + # sdl92.g:1581:1: enumerant : ID ; + def enumerant(self, ): + retval = self.enumerant_return() retval.start = self.input.LT(1) + enumerant_StartIndex = self.input.index() root_0 = None - KEEP816 = None - SPECIFIC817 = None - GEODE818 = None - PARTITION819 = None - STRING820 = None - cif_decl815 = None - cif_end821 = None - - KEEP816_tree = None - SPECIFIC817_tree = None - GEODE818_tree = None - PARTITION819_tree = None - STRING820_tree = None - stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") - stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") - stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_PARTITION = RewriteRuleTokenStream(self._adaptor, "token PARTITION") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - try: - try: - # sdl92.g:1549:9: ( cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end -> ^( PARTITION STRING ) ) - # sdl92.g:1549:17: cif_decl KEEP SPECIFIC GEODE PARTITION STRING cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_partition17555) - cif_decl815 = self.cif_decl() + ID770 = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl815.tree) + ID770_tree = None + success = False - KEEP816 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_partition17557) - if self._state.backtracking == 0: - stream_KEEP.add(KEEP816) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 183): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - SPECIFIC817 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_partition17559) - if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC817) + # sdl92.g:1581:17: ( ID ) + # sdl92.g:1581:25: ID + pass + root_0 = self._adaptor.nil() - GEODE818 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_partition17561) + ID770 = self.match(self.input, ID, self.FOLLOW_ID_in_enumerant17214) if self._state.backtracking == 0: - stream_GEODE.add(GEODE818) + ID770_tree = self._adaptor.createWithPayload(ID770) + self._adaptor.addChild(root_0, ID770_tree) - PARTITION819 = self.match(self.input, PARTITION, self.FOLLOW_PARTITION_in_partition17563) - if self._state.backtracking == 0: - stream_PARTITION.add(PARTITION819) - STRING820 = self.match(self.input, STRING, self.FOLLOW_STRING_in_partition17565) - if self._state.backtracking == 0: - stream_STRING.add(STRING820) + retval.stop = self.input.LT(-1) - self._state.following.append(self.FOLLOW_cif_end_in_partition17583) - cif_end821 = self.cif_end() - self._state.following.pop() if self._state.backtracking == 0: - stream_cif_end.add(cif_end821.tree) + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - # AST Rewrite - # elements: PARTITION, STRING - # 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) + success = True - root_0 = self._adaptor.nil() - # 1551:9: -> ^( PARTITION STRING ) - # sdl92.g:1551:17: ^( PARTITION STRING ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_PARTITION.nextNode() - , root_1) + 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) - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 183, enumerant_StartIndex, success) - self._adaptor.addChild(root_0, root_1) + pass + return retval + + # $ANTLR end "enumerant" + class signal_route_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - retval.tree = root_0 + self.tree = None + + + + + + # $ANTLR start "signal_route_id" + # sdl92.g:1582:1: signal_route_id : ID ; + def signal_route_id(self, ): + retval = self.signal_route_id_return() + retval.start = self.input.LT(1) + + signal_route_id_StartIndex = self.input.index() + + root_0 = None + + ID771 = None + + ID771_tree = None + + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 184): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1582:17: ( ID ) + # sdl92.g:1582:25: ID + pass + root_0 = self._adaptor.nil() + + + ID771 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_route_id17227) + if self._state.backtracking == 0: + ID771_tree = self._adaptor.createWithPayload(ID771) + self._adaptor.addChild(root_0, ID771_tree) @@ -33006,19 +32333,25 @@ def partition(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 184, signal_route_id_StartIndex, success) + + pass return retval - # $ANTLR end "partition" + # $ANTLR end "signal_route_id" - class symbolid_return(ParserRuleReturnScope): + class channel_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33028,89 +32361,40 @@ def __init__(self): - # $ANTLR start "symbolid" - # sdl92.g:1555:1: symbolid : cif_decl '_id' ptr= INT cif_end -> ^( SYMBOLID $ptr) ; - def symbolid(self, ): - retval = self.symbolid_return() + # $ANTLR start "channel_id" + # sdl92.g:1583:1: channel_id : ID ; + def channel_id(self, ): + retval = self.channel_id_return() retval.start = self.input.LT(1) + channel_id_StartIndex = self.input.index() root_0 = None - ptr = None - string_literal823 = None - cif_decl822 = None - cif_end824 = None - - ptr_tree = None - string_literal823_tree = None - stream_256 = RewriteRuleTokenStream(self._adaptor, "token 256") - stream_INT = RewriteRuleTokenStream(self._adaptor, "token INT") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - try: - try: - # sdl92.g:1556:9: ( cif_decl '_id' ptr= INT cif_end -> ^( SYMBOLID $ptr) ) - # sdl92.g:1556:17: cif_decl '_id' ptr= INT cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_symbolid17636) - cif_decl822 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl822.tree) - - - string_literal823 = self.match(self.input, 256, self.FOLLOW_256_in_symbolid17638) - if self._state.backtracking == 0: - stream_256.add(string_literal823) + ID772 = None + ID772_tree = None - ptr = self.match(self.input, INT, self.FOLLOW_INT_in_symbolid17642) - if self._state.backtracking == 0: - stream_INT.add(ptr) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 185): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_cif_end_in_symbolid17644) - cif_end824 = self.cif_end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end824.tree) + # sdl92.g:1583:17: ( ID ) + # sdl92.g:1583:25: ID + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: ptr - # token labels: ptr - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + ID772 = self.match(self.input, ID, self.FOLLOW_ID_in_channel_id17245) if self._state.backtracking == 0: - retval.tree = root_0 - stream_ptr = RewriteRuleTokenStream(self._adaptor, "token ptr", ptr) - 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() - # 1557:9: -> ^( SYMBOLID $ptr) - # sdl92.g:1557:17: ^( SYMBOLID $ptr) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(SYMBOLID, "SYMBOLID") - , root_1) - - self._adaptor.addChild(root_1, stream_ptr.nextNode()) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID772_tree = self._adaptor.createWithPayload(ID772) + self._adaptor.addChild(root_0, ID772_tree) @@ -33125,19 +32409,25 @@ def symbolid(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 185, channel_id_StartIndex, success) + + pass return retval - # $ANTLR end "symbolid" + # $ANTLR end "channel_id" - class paramnames_return(ParserRuleReturnScope): + class route_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33147,150 +32437,116 @@ def __init__(self): - # $ANTLR start "paramnames" - # sdl92.g:1567:1: paramnames : cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end -> ^( PARAMNAMES ( field_name )+ ) ; - def paramnames(self, ): - retval = self.paramnames_return() + # $ANTLR start "route_id" + # sdl92.g:1584:1: route_id : ID ; + def route_id(self, ): + retval = self.route_id_return() retval.start = self.input.LT(1) + route_id_StartIndex = self.input.index() root_0 = None - KEEP826 = None - SPECIFIC827 = None - GEODE828 = None - PARAMNAMES829 = None - cif_decl825 = None - field_name830 = None - cif_end831 = None - - KEEP826_tree = None - SPECIFIC827_tree = None - GEODE828_tree = None - PARAMNAMES829_tree = None - stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") - stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_PARAMNAMES = RewriteRuleTokenStream(self._adaptor, "token PARAMNAMES") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - stream_field_name = RewriteRuleSubtreeStream(self._adaptor, "rule field_name") + ID773 = None + + ID773_tree = None + + success = False + try: try: - # sdl92.g:1568:9: ( cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end -> ^( PARAMNAMES ( field_name )+ ) ) - # sdl92.g:1568:17: cif_decl KEEP SPECIFIC GEODE PARAMNAMES ( field_name )+ cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_paramnames17699) - cif_decl825 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl825.tree) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 186): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - KEEP826 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_paramnames17701) - if self._state.backtracking == 0: - stream_KEEP.add(KEEP826) + # sdl92.g:1584:17: ( ID ) + # sdl92.g:1584:25: ID + pass + root_0 = self._adaptor.nil() - SPECIFIC827 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_paramnames17703) + ID773 = self.match(self.input, ID, self.FOLLOW_ID_in_route_id17265) if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC827) + ID773_tree = self._adaptor.createWithPayload(ID773) + self._adaptor.addChild(root_0, ID773_tree) - GEODE828 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_paramnames17705) - if self._state.backtracking == 0: - stream_GEODE.add(GEODE828) - PARAMNAMES829 = self.match(self.input, PARAMNAMES, self.FOLLOW_PARAMNAMES_in_paramnames17707) - if self._state.backtracking == 0: - stream_PARAMNAMES.add(PARAMNAMES829) + retval.stop = self.input.LT(-1) - # sdl92.g:1568:57: ( field_name )+ - cnt312 = 0 - while True: #loop312 - alt312 = 2 - LA312_0 = self.input.LA(1) - if (LA312_0 in {ID, STATE}) : - alt312 = 1 + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - if alt312 == 1: - # sdl92.g:1568:57: field_name - pass - self._state.following.append(self.FOLLOW_field_name_in_paramnames17709) - field_name830 = self.field_name() - self._state.following.pop() - if self._state.backtracking == 0: - stream_field_name.add(field_name830.tree) + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 186, route_id_StartIndex, success) - else: - if cnt312 >= 1: - break #loop312 - if self._state.backtracking > 0: - raise BacktrackingFailed + pass + return retval + # $ANTLR end "route_id" - eee = EarlyExitException(312, self.input) - raise eee - cnt312 += 1 + class block_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() + self.tree = None - self._state.following.append(self.FOLLOW_cif_end_in_paramnames17712) - cif_end831 = self.cif_end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end831.tree) - # AST Rewrite - # elements: PARAMNAMES, field_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) + # $ANTLR start "block_id" + # sdl92.g:1585:1: block_id : ID ; + def block_id(self, ): + retval = self.block_id_return() + retval.start = self.input.LT(1) - root_0 = self._adaptor.nil() - # 1569:9: -> ^( PARAMNAMES ( field_name )+ ) - # sdl92.g:1569:17: ^( PARAMNAMES ( field_name )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_PARAMNAMES.nextNode() - , root_1) + block_id_StartIndex = self.input.index() - # sdl92.g:1569:30: ( field_name )+ - if not (stream_field_name.hasNext()): - raise RewriteEarlyExitException() + root_0 = None - while stream_field_name.hasNext(): - self._adaptor.addChild(root_1, stream_field_name.nextTree()) + ID774 = None + ID774_tree = None - stream_field_name.reset() + success = False - self._adaptor.addChild(root_0, root_1) + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 187): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:1585:17: ( ID ) + # sdl92.g:1585:25: ID + pass + root_0 = self._adaptor.nil() - retval.tree = root_0 + ID774 = self.match(self.input, ID, self.FOLLOW_ID_in_block_id17285) + if self._state.backtracking == 0: + ID774_tree = self._adaptor.createWithPayload(ID774) + self._adaptor.addChild(root_0, ID774_tree) @@ -33305,19 +32561,25 @@ def paramnames(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 187, block_id_StartIndex, success) + + pass return retval - # $ANTLR end "paramnames" + # $ANTLR end "block_id" - class use_asn1_return(ParserRuleReturnScope): + class source_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33327,114 +32589,116 @@ def __init__(self): - # $ANTLR start "use_asn1" - # sdl92.g:1577:1: use_asn1 : cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end -> ^( ASN1 STRING ) ; - def use_asn1(self, ): - retval = self.use_asn1_return() + # $ANTLR start "source_id" + # sdl92.g:1586:1: source_id : ID ; + def source_id(self, ): + retval = self.source_id_return() retval.start = self.input.LT(1) + source_id_StartIndex = self.input.index() root_0 = None - KEEP833 = None - SPECIFIC834 = None - GEODE835 = None - ASNFILENAME836 = None - STRING837 = None - cif_decl832 = None - cif_end838 = None - - KEEP833_tree = None - SPECIFIC834_tree = None - GEODE835_tree = None - ASNFILENAME836_tree = None - STRING837_tree = None - stream_KEEP = RewriteRuleTokenStream(self._adaptor, "token KEEP") - stream_SPECIFIC = RewriteRuleTokenStream(self._adaptor, "token SPECIFIC") - stream_ASNFILENAME = RewriteRuleTokenStream(self._adaptor, "token ASNFILENAME") - stream_STRING = RewriteRuleTokenStream(self._adaptor, "token STRING") - stream_GEODE = RewriteRuleTokenStream(self._adaptor, "token GEODE") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") + ID775 = None + + ID775_tree = None + + success = False + try: try: - # sdl92.g:1578:9: ( cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end -> ^( ASN1 STRING ) ) - # sdl92.g:1578:17: cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 188): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1586:17: ( ID ) + # sdl92.g:1586:25: ID pass - self._state.following.append(self.FOLLOW_cif_decl_in_use_asn117768) - cif_decl832 = self.cif_decl() + root_0 = self._adaptor.nil() - self._state.following.pop() + + ID775 = self.match(self.input, ID, self.FOLLOW_ID_in_source_id17304) if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl832.tree) + ID775_tree = self._adaptor.createWithPayload(ID775) + self._adaptor.addChild(root_0, ID775_tree) - KEEP833 = self.match(self.input, KEEP, self.FOLLOW_KEEP_in_use_asn117770) - if self._state.backtracking == 0: - stream_KEEP.add(KEEP833) - SPECIFIC834 = self.match(self.input, SPECIFIC, self.FOLLOW_SPECIFIC_in_use_asn117772) - if self._state.backtracking == 0: - stream_SPECIFIC.add(SPECIFIC834) + + retval.stop = self.input.LT(-1) - GEODE835 = self.match(self.input, GEODE, self.FOLLOW_GEODE_in_use_asn117774) if self._state.backtracking == 0: - stream_GEODE.add(GEODE835) + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - ASNFILENAME836 = self.match(self.input, ASNFILENAME, self.FOLLOW_ASNFILENAME_in_use_asn117776) - if self._state.backtracking == 0: - stream_ASNFILENAME.add(ASNFILENAME836) + success = True - STRING837 = self.match(self.input, STRING, self.FOLLOW_STRING_in_use_asn117778) - if self._state.backtracking == 0: - stream_STRING.add(STRING837) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 188, source_id_StartIndex, success) - self._state.following.append(self.FOLLOW_cif_end_in_use_asn117780) - cif_end838 = self.cif_end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end838.tree) + pass + return retval + # $ANTLR end "source_id" - # AST Rewrite - # elements: STRING - # 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) + class dest_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - root_0 = self._adaptor.nil() - # 1579:9: -> ^( ASN1 STRING ) - # sdl92.g:1579:17: ^( ASN1 STRING ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(ASN1, "ASN1") - , root_1) + self.tree = None - self._adaptor.addChild(root_1, - stream_STRING.nextNode() - ) - self._adaptor.addChild(root_0, root_1) + # $ANTLR start "dest_id" + # sdl92.g:1587:1: dest_id : ID ; + def dest_id(self, ): + retval = self.dest_id_return() + retval.start = self.input.LT(1) + + dest_id_StartIndex = self.input.index() + + root_0 = None + + ID776 = None + + ID776_tree = None - retval.tree = root_0 + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 189): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1587:17: ( ID ) + # sdl92.g:1587:25: ID + pass + root_0 = self._adaptor.nil() + + + ID776 = self.match(self.input, ID, self.FOLLOW_ID_in_dest_id17325) + if self._state.backtracking == 0: + ID776_tree = self._adaptor.createWithPayload(ID776) + self._adaptor.addChild(root_0, ID776_tree) @@ -33449,19 +32713,25 @@ def use_asn1(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 189, dest_id_StartIndex, success) + + pass return retval - # $ANTLR end "use_asn1" + # $ANTLR end "dest_id" - class stop_if_return(ParserRuleReturnScope): + class gate_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33471,124 +32741,116 @@ def __init__(self): - # $ANTLR start "stop_if" - # sdl92.g:1585:1: stop_if : ( STOP IF expression end )+ -> ^( STOPIF ( expression )+ ) ; - def stop_if(self, ): - retval = self.stop_if_return() + # $ANTLR start "gate_id" + # sdl92.g:1588:1: gate_id : ID ; + def gate_id(self, ): + retval = self.gate_id_return() retval.start = self.input.LT(1) + gate_id_StartIndex = self.input.index() root_0 = None - STOP839 = None - IF840 = None - expression841 = None - end842 = None + ID777 = None + + ID777_tree = None + + success = False - STOP839_tree = None - IF840_tree = None - stream_STOP = RewriteRuleTokenStream(self._adaptor, "token STOP") - stream_IF = RewriteRuleTokenStream(self._adaptor, "token IF") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:1586:9: ( ( STOP IF expression end )+ -> ^( STOPIF ( expression )+ ) ) - # sdl92.g:1586:17: ( STOP IF expression end )+ + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 190): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1588:17: ( ID ) + # sdl92.g:1588:25: ID pass - # sdl92.g:1586:17: ( STOP IF expression end )+ - cnt313 = 0 - while True: #loop313 - alt313 = 2 - LA313_0 = self.input.LA(1) + root_0 = self._adaptor.nil() - if (LA313_0 == STOP) : - alt313 = 1 + ID777 = self.match(self.input, ID, self.FOLLOW_ID_in_gate_id17346) + if self._state.backtracking == 0: + ID777_tree = self._adaptor.createWithPayload(ID777) + self._adaptor.addChild(root_0, ID777_tree) - if alt313 == 1: - # sdl92.g:1586:18: STOP IF expression end - pass - STOP839 = self.match(self.input, STOP, self.FOLLOW_STOP_in_stop_if17836) - if self._state.backtracking == 0: - stream_STOP.add(STOP839) - IF840 = self.match(self.input, IF, self.FOLLOW_IF_in_stop_if17838) - if self._state.backtracking == 0: - stream_IF.add(IF840) - self._state.following.append(self.FOLLOW_expression_in_stop_if17840) - expression841 = self.expression() + retval.stop = self.input.LT(-1) - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression841.tree) + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - self._state.following.append(self.FOLLOW_end_in_stop_if17842) - end842 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end842.tree) + success = True + 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) - else: - if cnt313 >= 1: - break #loop313 + finally: + if self._state.backtracking > 0: + self.memoize(self.input, 190, gate_id_StartIndex, success) - if self._state.backtracking > 0: - raise BacktrackingFailed + pass + return retval - eee = EarlyExitException(313, self.input) - raise eee + # $ANTLR end "gate_id" - cnt313 += 1 + class procedure_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - # 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) + self.tree = None - root_0 = self._adaptor.nil() - # 1587:9: -> ^( STOPIF ( expression )+ ) - # sdl92.g:1587:17: ^( STOPIF ( expression )+ ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(STOPIF, "STOPIF") - , root_1) - # sdl92.g:1587:26: ( expression )+ - if not (stream_expression.hasNext()): - raise RewriteEarlyExitException() - while stream_expression.hasNext(): - self._adaptor.addChild(root_1, stream_expression.nextTree()) + # $ANTLR start "procedure_id" + # sdl92.g:1589:1: procedure_id : ID ; + def procedure_id(self, ): + retval = self.procedure_id_return() + retval.start = self.input.LT(1) - stream_expression.reset() + procedure_id_StartIndex = self.input.index() - self._adaptor.addChild(root_0, root_1) + root_0 = None + ID778 = None + ID778_tree = None + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 191): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1589:17: ( ID ) + # sdl92.g:1589:25: ID + pass + root_0 = self._adaptor.nil() - retval.tree = root_0 + + ID778 = self.match(self.input, ID, self.FOLLOW_ID_in_procedure_id17362) + if self._state.backtracking == 0: + ID778_tree = self._adaptor.createWithPayload(ID778) + self._adaptor.addChild(root_0, ID778_tree) @@ -33603,19 +32865,25 @@ def stop_if(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 191, procedure_id_StartIndex, success) + + pass return retval - # $ANTLR end "stop_if" + # $ANTLR end "procedure_id" - class symbolname_return(ParserRuleReturnScope): + class remote_procedure_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33625,44 +32893,40 @@ def __init__(self): - # $ANTLR start "symbolname" - # sdl92.g:1591:1: symbolname : ( START | INPUT | OUTPUT | STATE | PROCEDURE | PROCESS | PROCEDURE_CALL | STOP | RETURN | DECISION | ALTERNATIVE | TEXT | TASK | NEXTSTATE | ANSWER | PROVIDED | COMMENT | LABEL | JOIN | CONNECT | CREATE ); - def symbolname(self, ): - retval = self.symbolname_return() + # $ANTLR start "remote_procedure_id" + # sdl92.g:1590:1: remote_procedure_id : ID ; + def remote_procedure_id(self, ): + retval = self.remote_procedure_id_return() retval.start = self.input.LT(1) + remote_procedure_id_StartIndex = self.input.index() root_0 = None - set843 = None + ID779 = None - set843_tree = None + ID779_tree = None + + success = False try: try: - # sdl92.g:1592:9: ( START | INPUT | OUTPUT | STATE | PROCEDURE | PROCESS | PROCEDURE_CALL | STOP | RETURN | DECISION | ALTERNATIVE | TEXT | TASK | NEXTSTATE | ANSWER | PROVIDED | COMMENT | LABEL | JOIN | CONNECT | CREATE ) - # sdl92.g: - pass - root_0 = self._adaptor.nil() - - - set843 = self.input.LT(1) - - if self.input.LA(1) in {ALTERNATIVE, ANSWER, COMMENT, CONNECT, CREATE, DECISION, INPUT, JOIN, LABEL, NEXTSTATE, OUTPUT, PROCEDURE, PROCEDURE_CALL, PROCESS, PROVIDED, RETURN, START, STATE, STOP, TASK, TEXT}: - self.input.consume() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set843)) - - self._state.errorRecovery = False + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 192): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # sdl92.g:1591:17: ( ID ) + # sdl92.g:1591:25: ID + pass + root_0 = self._adaptor.nil() - mse = MismatchedSetException(None, self.input) - raise mse + ID779 = self.match(self.input, ID, self.FOLLOW_ID_in_remote_procedure_id17391) + if self._state.backtracking == 0: + ID779_tree = self._adaptor.createWithPayload(ID779) + self._adaptor.addChild(root_0, ID779_tree) @@ -33677,19 +32941,25 @@ def symbolname(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 192, remote_procedure_id_StartIndex, success) + + pass return retval - # $ANTLR end "symbolname" + # $ANTLR end "remote_procedure_id" - class cif_decl_return(ParserRuleReturnScope): + class operator_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33699,31 +32969,40 @@ def __init__(self): - # $ANTLR start "cif_decl" - # sdl92.g:1616:1: cif_decl : '/* CIF' ; - def cif_decl(self, ): - retval = self.cif_decl_return() + # $ANTLR start "operator_id" + # sdl92.g:1592:1: operator_id : ID ; + def operator_id(self, ): + retval = self.operator_id_return() retval.start = self.input.LT(1) + operator_id_StartIndex = self.input.index() root_0 = None - string_literal844 = None + ID780 = None - string_literal844_tree = None + ID780_tree = None + + success = False try: try: - # sdl92.g:1617:9: ( '/* CIF' ) - # sdl92.g:1617:17: '/* CIF' + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 193): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1592:17: ( ID ) + # sdl92.g:1592:25: ID pass root_0 = self._adaptor.nil() - string_literal844 = self.match(self.input, 254, self.FOLLOW_254_in_cif_decl18330) + ID780 = self.match(self.input, ID, self.FOLLOW_ID_in_operator_id17408) if self._state.backtracking == 0: - string_literal844_tree = self._adaptor.createWithPayload(string_literal844) - self._adaptor.addChild(root_0, string_literal844_tree) + ID780_tree = self._adaptor.createWithPayload(ID780) + self._adaptor.addChild(root_0, ID780_tree) @@ -33738,19 +33017,25 @@ def cif_decl(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 193, operator_id_StartIndex, success) + + pass return retval - # $ANTLR end "cif_decl" + # $ANTLR end "operator_id" - class cif_end_return(ParserRuleReturnScope): + class synonym_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33760,31 +33045,40 @@ def __init__(self): - # $ANTLR start "cif_end" - # sdl92.g:1621:1: cif_end : '*/' ; - def cif_end(self, ): - retval = self.cif_end_return() + # $ANTLR start "synonym_id" + # sdl92.g:1593:1: synonym_id : ID ; + def synonym_id(self, ): + retval = self.synonym_id_return() retval.start = self.input.LT(1) + synonym_id_StartIndex = self.input.index() root_0 = None - string_literal845 = None + ID781 = None + + ID781_tree = None - string_literal845_tree = None + success = False try: try: - # sdl92.g:1622:9: ( '*/' ) - # sdl92.g:1622:17: '*/' + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 194): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1593:17: ( ID ) + # sdl92.g:1593:25: ID pass root_0 = self._adaptor.nil() - string_literal845 = self.match(self.input, 250, self.FOLLOW_250_in_cif_end18362) + ID781 = self.match(self.input, ID, self.FOLLOW_ID_in_synonym_id17426) if self._state.backtracking == 0: - string_literal845_tree = self._adaptor.createWithPayload(string_literal845) - self._adaptor.addChild(root_0, string_literal845_tree) + ID781_tree = self._adaptor.createWithPayload(ID781) + self._adaptor.addChild(root_0, ID781_tree) @@ -33799,19 +33093,25 @@ def cif_end(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 194, synonym_id_StartIndex, success) + + pass return retval - # $ANTLR end "cif_end" + # $ANTLR end "synonym_id" - class cif_end_text_return(ParserRuleReturnScope): + class external_synonym_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33821,78 +33121,40 @@ def __init__(self): - # $ANTLR start "cif_end_text" - # sdl92.g:1626:1: cif_end_text : cif_decl ENDTEXT cif_end -> ^( ENDTEXT ) ; - def cif_end_text(self, ): - retval = self.cif_end_text_return() + # $ANTLR start "external_synonym_id" + # sdl92.g:1594:1: external_synonym_id : ID ; + def external_synonym_id(self, ): + retval = self.external_synonym_id_return() retval.start = self.input.LT(1) + external_synonym_id_StartIndex = self.input.index() root_0 = None - ENDTEXT847 = None - cif_decl846 = None - cif_end848 = None - - ENDTEXT847_tree = None - stream_ENDTEXT = RewriteRuleTokenStream(self._adaptor, "token ENDTEXT") - stream_cif_decl = RewriteRuleSubtreeStream(self._adaptor, "rule cif_decl") - stream_cif_end = RewriteRuleSubtreeStream(self._adaptor, "rule cif_end") - try: - try: - # sdl92.g:1627:9: ( cif_decl ENDTEXT cif_end -> ^( ENDTEXT ) ) - # sdl92.g:1627:17: cif_decl ENDTEXT cif_end - pass - self._state.following.append(self.FOLLOW_cif_decl_in_cif_end_text18394) - cif_decl846 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_decl.add(cif_decl846.tree) + ID782 = None + ID782_tree = None - ENDTEXT847 = self.match(self.input, ENDTEXT, self.FOLLOW_ENDTEXT_in_cif_end_text18396) - if self._state.backtracking == 0: - stream_ENDTEXT.add(ENDTEXT847) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 195): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_cif_end_in_cif_end_text18398) - cif_end848 = self.cif_end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_cif_end.add(cif_end848.tree) + # sdl92.g:1595:17: ( ID ) + # sdl92.g:1595:25: ID + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: ENDTEXT - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + ID782 = self.match(self.input, ID, self.FOLLOW_ID_in_external_synonym_id17455) 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() - # 1628:9: -> ^( ENDTEXT ) - # sdl92.g:1628:17: ^( ENDTEXT ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_ENDTEXT.nextNode() - , root_1) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID782_tree = self._adaptor.createWithPayload(ID782) + self._adaptor.addChild(root_0, ID782_tree) @@ -33907,19 +33169,25 @@ def cif_end_text(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 195, external_synonym_id_StartIndex, success) + + pass return retval - # $ANTLR end "cif_end_text" + # $ANTLR end "external_synonym_id" - class cif_end_label_return(ParserRuleReturnScope): + class remote_variable_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -33929,59 +33197,41 @@ def __init__(self): - # $ANTLR start "cif_end_label" - # sdl92.g:1632:1: cif_end_label : cif_decl END LABEL cif_end ; - def cif_end_label(self, ): - retval = self.cif_end_label_return() + # $ANTLR start "remote_variable_id" + # sdl92.g:1596:1: remote_variable_id : ID ; + def remote_variable_id(self, ): + retval = self.remote_variable_id_return() retval.start = self.input.LT(1) + remote_variable_id_StartIndex = self.input.index() root_0 = None - END850 = None - LABEL851 = None - cif_decl849 = None - cif_end852 = None + ID783 = None + + ID783_tree = None - END850_tree = None - LABEL851_tree = None + success = False try: try: - # sdl92.g:1633:9: ( cif_decl END LABEL cif_end ) - # sdl92.g:1633:17: cif_decl END LABEL cif_end - pass - root_0 = self._adaptor.nil() + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 196): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_cif_decl_in_cif_end_label18449) - cif_decl849 = self.cif_decl() - - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, cif_decl849.tree) - - - END850 = self.match(self.input, END, self.FOLLOW_END_in_cif_end_label18451) - if self._state.backtracking == 0: - END850_tree = self._adaptor.createWithPayload(END850) - self._adaptor.addChild(root_0, END850_tree) - + # sdl92.g:1597:17: ( ID ) + # sdl92.g:1597:25: ID + pass + root_0 = self._adaptor.nil() - LABEL851 = self.match(self.input, LABEL, self.FOLLOW_LABEL_in_cif_end_label18453) + ID783 = self.match(self.input, ID, self.FOLLOW_ID_in_remote_variable_id17484) if self._state.backtracking == 0: - LABEL851_tree = self._adaptor.createWithPayload(LABEL851) - self._adaptor.addChild(root_0, LABEL851_tree) - - - - self._state.following.append(self.FOLLOW_cif_end_in_cif_end_label18455) - cif_end852 = self.cif_end() + ID783_tree = self._adaptor.createWithPayload(ID783) + self._adaptor.addChild(root_0, ID783_tree) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, cif_end852.tree) @@ -33995,19 +33245,25 @@ def cif_end_label(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 196, remote_variable_id_StartIndex, success) + + pass return retval - # $ANTLR end "cif_end_label" + # $ANTLR end "remote_variable_id" - class n7s_scl_return(ParserRuleReturnScope): + class view_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -34017,84 +33273,40 @@ def __init__(self): - # $ANTLR start "n7s_scl" - # sdl92.g:1638:1: n7s_scl : ( n7s_scl_statement )* -> ^( N7S_SCL ( n7s_scl_statement )* ) ; - def n7s_scl(self, ): - retval = self.n7s_scl_return() + # $ANTLR start "view_id" + # sdl92.g:1598:1: view_id : ID ; + def view_id(self, ): + retval = self.view_id_return() retval.start = self.input.LT(1) + view_id_StartIndex = self.input.index() root_0 = None - n7s_scl_statement853 = None - - stream_n7s_scl_statement = RewriteRuleSubtreeStream(self._adaptor, "rule n7s_scl_statement") - try: - try: - # sdl92.g:1639:9: ( ( n7s_scl_statement )* -> ^( N7S_SCL ( n7s_scl_statement )* ) ) - # sdl92.g:1639:17: ( n7s_scl_statement )* - pass - # sdl92.g:1639:17: ( n7s_scl_statement )* - while True: #loop314 - alt314 = 2 - LA314_0 = self.input.LA(1) - - if (LA314_0 in {ALWAYS, EVENTUALLY, FILTER_OUT, NEVER}) : - alt314 = 1 + ID784 = None + ID784_tree = None - if alt314 == 1: - # sdl92.g:1639:18: n7s_scl_statement - pass - self._state.following.append(self.FOLLOW_n7s_scl_statement_in_n7s_scl18489) - n7s_scl_statement853 = self.n7s_scl_statement() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_n7s_scl_statement.add(n7s_scl_statement853.tree) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 197): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - else: - break #loop314 + # sdl92.g:1598:17: ( ID ) + # sdl92.g:1598:25: ID + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: n7s_scl_statement - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + ID784 = self.match(self.input, ID, self.FOLLOW_ID_in_view_id17505) 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() - # 1640:9: -> ^( N7S_SCL ( n7s_scl_statement )* ) - # sdl92.g:1640:17: ^( N7S_SCL ( n7s_scl_statement )* ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(N7S_SCL, "N7S_SCL") - , root_1) - - # sdl92.g:1640:27: ( n7s_scl_statement )* - while stream_n7s_scl_statement.hasNext(): - self._adaptor.addChild(root_1, stream_n7s_scl_statement.nextTree()) - - - stream_n7s_scl_statement.reset(); - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID784_tree = self._adaptor.createWithPayload(ID784) + self._adaptor.addChild(root_0, ID784_tree) @@ -34109,19 +33321,25 @@ def n7s_scl(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 197, view_id_StartIndex, success) + + pass return retval - # $ANTLR end "n7s_scl" + # $ANTLR end "view_id" - class n7s_scl_statement_return(ParserRuleReturnScope): + class sort_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -34131,99 +33349,118 @@ def __init__(self): - # $ANTLR start "n7s_scl_statement" - # sdl92.g:1643:1: n7s_scl_statement : ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) ; - def n7s_scl_statement(self, ): - retval = self.n7s_scl_statement_return() + # $ANTLR start "sort_id" + # sdl92.g:1599:1: sort_id : ID ; + def sort_id(self, ): + retval = self.sort_id_return() retval.start = self.input.LT(1) + sort_id_StartIndex = self.input.index() root_0 = None - n7s_scl_never854 = None - n7s_scl_always855 = None - n7s_scl_eventually856 = None - n7s_scl_filter_out857 = None + ID785 = None + + ID785_tree = None + success = False try: try: - # sdl92.g:1644:9: ( ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) ) - # sdl92.g:1644:17: ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 198): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1599:17: ( ID ) + # sdl92.g:1599:25: ID pass root_0 = self._adaptor.nil() - # sdl92.g:1644:17: ( n7s_scl_never | n7s_scl_always | n7s_scl_eventually | n7s_scl_filter_out ) - alt315 = 4 - LA315 = self.input.LA(1) - if LA315 in {NEVER}: - alt315 = 1 - elif LA315 in {ALWAYS}: - alt315 = 2 - elif LA315 in {EVENTUALLY}: - alt315 = 3 - elif LA315 in {FILTER_OUT}: - alt315 = 4 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + ID785 = self.match(self.input, ID, self.FOLLOW_ID_in_sort_id17526) + if self._state.backtracking == 0: + ID785_tree = self._adaptor.createWithPayload(ID785) + self._adaptor.addChild(root_0, ID785_tree) - nvae = NoViableAltException("", 315, 0, self.input) - raise nvae - if alt315 == 1: - # sdl92.g:1644:18: n7s_scl_never - pass - self._state.following.append(self.FOLLOW_n7s_scl_never_in_n7s_scl_statement18545) - n7s_scl_never854 = self.n7s_scl_never() + retval.stop = self.input.LT(-1) - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, n7s_scl_never854.tree) + + if self._state.backtracking == 0: + retval.tree = self._adaptor.rulePostProcessing(root_0) + self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) - elif alt315 == 2: - # sdl92.g:1644:34: n7s_scl_always - pass - self._state.following.append(self.FOLLOW_n7s_scl_always_in_n7s_scl_statement18549) - n7s_scl_always855 = self.n7s_scl_always() + success = True - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, n7s_scl_always855.tree) + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 198, sort_id_StartIndex, success) - elif alt315 == 3: - # sdl92.g:1644:51: n7s_scl_eventually - pass - self._state.following.append(self.FOLLOW_n7s_scl_eventually_in_n7s_scl_statement18553) - n7s_scl_eventually856 = self.n7s_scl_eventually() + pass + return retval - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, n7s_scl_eventually856.tree) + # $ANTLR end "sort_id" + class type_id_return(ParserRuleReturnScope): + def __init__(self): + super().__init__() - elif alt315 == 4: - # sdl92.g:1644:72: n7s_scl_filter_out - pass - self._state.following.append(self.FOLLOW_n7s_scl_filter_out_in_n7s_scl_statement18557) - n7s_scl_filter_out857 = self.n7s_scl_filter_out() + self.tree = None - self._state.following.pop() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, n7s_scl_filter_out857.tree) + # $ANTLR start "type_id" + # sdl92.g:1600:1: type_id : ID ; + def type_id(self, ): + retval = self.type_id_return() + retval.start = self.input.LT(1) + + type_id_StartIndex = self.input.index() + + root_0 = None + + ID786 = None + + ID786_tree = None + + success = False + + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 199): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1600:17: ( ID ) + # sdl92.g:1600:25: ID + pass + root_0 = self._adaptor.nil() + + + ID786 = self.match(self.input, ID, self.FOLLOW_ID_in_type_id17547) + if self._state.backtracking == 0: + ID786_tree = self._adaptor.createWithPayload(ID786) + self._adaptor.addChild(root_0, ID786_tree) + + @@ -34236,19 +33473,25 @@ def n7s_scl_statement(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 199, type_id_StartIndex, success) + + pass return retval - # $ANTLR end "n7s_scl_statement" + # $ANTLR end "type_id" - class n7s_scl_never_return(ParserRuleReturnScope): + class syntype_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -34258,86 +33501,40 @@ def __init__(self): - # $ANTLR start "n7s_scl_never" - # sdl92.g:1647:1: n7s_scl_never : ( NEVER expression end ) -> ^( NEVER expression ) ; - def n7s_scl_never(self, ): - retval = self.n7s_scl_never_return() + # $ANTLR start "syntype_id" + # sdl92.g:1601:1: syntype_id : ID ; + def syntype_id(self, ): + retval = self.syntype_id_return() retval.start = self.input.LT(1) + syntype_id_StartIndex = self.input.index() root_0 = None - NEVER858 = None - expression859 = None - end860 = None - - NEVER858_tree = None - stream_NEVER = RewriteRuleTokenStream(self._adaptor, "token NEVER") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - try: - try: - # sdl92.g:1648:9: ( ( NEVER expression end ) -> ^( NEVER expression ) ) - # sdl92.g:1648:17: ( NEVER expression end ) - pass - # sdl92.g:1648:17: ( NEVER expression end ) - # sdl92.g:1648:18: NEVER expression end - pass - NEVER858 = self.match(self.input, NEVER, self.FOLLOW_NEVER_in_n7s_scl_never18590) - if self._state.backtracking == 0: - stream_NEVER.add(NEVER858) - - - self._state.following.append(self.FOLLOW_expression_in_n7s_scl_never18592) - expression859 = self.expression() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression859.tree) - + ID787 = None - self._state.following.append(self.FOLLOW_end_in_n7s_scl_never18594) - end860 = self.end() + ID787_tree = None - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end860.tree) + success = False + try: + try: + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 200): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + # sdl92.g:1601:17: ( ID ) + # sdl92.g:1601:25: ID + pass + root_0 = self._adaptor.nil() - # AST Rewrite - # elements: NEVER, expression - # token labels: - # rule labels: retval - # token list labels: - # rule list labels: - # wildcard labels: + ID787 = self.match(self.input, ID, self.FOLLOW_ID_in_syntype_id17565) 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() - # 1649:9: -> ^( NEVER expression ) - # sdl92.g:1649:17: ^( NEVER expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_NEVER.nextNode() - , root_1) - - self._adaptor.addChild(root_1, stream_expression.nextTree()) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID787_tree = self._adaptor.createWithPayload(ID787) + self._adaptor.addChild(root_0, ID787_tree) @@ -34352,19 +33549,25 @@ def n7s_scl_never(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 200, syntype_id_StartIndex, success) + + pass return retval - # $ANTLR end "n7s_scl_never" + # $ANTLR end "syntype_id" - class n7s_scl_always_return(ParserRuleReturnScope): + class stimulus_id_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -34374,86 +33577,40 @@ def __init__(self): - # $ANTLR start "n7s_scl_always" - # sdl92.g:1652:1: n7s_scl_always : ( ALWAYS expression end ) -> ^( ALWAYS expression ) ; - def n7s_scl_always(self, ): - retval = self.n7s_scl_always_return() + # $ANTLR start "stimulus_id" + # sdl92.g:1602:1: stimulus_id : ID ; + def stimulus_id(self, ): + retval = self.stimulus_id_return() retval.start = self.input.LT(1) + stimulus_id_StartIndex = self.input.index() root_0 = None - ALWAYS861 = None - expression862 = None - end863 = None + ID788 = None + + ID788_tree = None + + success = False - ALWAYS861_tree = None - stream_ALWAYS = RewriteRuleTokenStream(self._adaptor, "token ALWAYS") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:1653:9: ( ( ALWAYS expression end ) -> ^( ALWAYS expression ) ) - # sdl92.g:1653:17: ( ALWAYS expression end ) - pass - # sdl92.g:1653:17: ( ALWAYS expression end ) - # sdl92.g:1653:18: ALWAYS expression end - pass - ALWAYS861 = self.match(self.input, ALWAYS, self.FOLLOW_ALWAYS_in_n7s_scl_always18648) - if self._state.backtracking == 0: - stream_ALWAYS.add(ALWAYS861) + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 201): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_expression_in_n7s_scl_always18650) - expression862 = self.expression() + # sdl92.g:1602:17: ( ID ) + # sdl92.g:1602:25: ID + pass + root_0 = self._adaptor.nil() + - self._state.following.pop() + ID788 = self.match(self.input, ID, self.FOLLOW_ID_in_stimulus_id17582) if self._state.backtracking == 0: - stream_expression.add(expression862.tree) - - - self._state.following.append(self.FOLLOW_end_in_n7s_scl_always18652) - end863 = self.end() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end863.tree) - - - - - - # AST Rewrite - # elements: ALWAYS, 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() - # 1654:9: -> ^( ALWAYS expression ) - # sdl92.g:1654:17: ^( ALWAYS expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_ALWAYS.nextNode() - , root_1) - - self._adaptor.addChild(root_1, stream_expression.nextTree()) - - self._adaptor.addChild(root_0, root_1) - - - - - retval.tree = root_0 + ID788_tree = self._adaptor.createWithPayload(ID788) + self._adaptor.addChild(root_0, ID788_tree) @@ -34468,19 +33625,25 @@ def n7s_scl_always(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 201, stimulus_id_StartIndex, success) + + pass return retval - # $ANTLR end "n7s_scl_always" + # $ANTLR end "stimulus_id" - class n7s_scl_eventually_return(ParserRuleReturnScope): + class pid_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -34490,292 +33653,324 @@ def __init__(self): - # $ANTLR start "n7s_scl_eventually" - # sdl92.g:1657:1: n7s_scl_eventually : ( EVENTUALLY expression end ) -> ^( EVENTUALLY expression ) ; - def n7s_scl_eventually(self, ): - retval = self.n7s_scl_eventually_return() + # $ANTLR start "pid_expression" + # sdl92.g:1645:1: pid_expression : ( S E L F | P A R E N T | O F F S P R I N G | S E N D E R ); + def pid_expression(self, ): + retval = self.pid_expression_return() retval.start = self.input.LT(1) + pid_expression_StartIndex = self.input.index() root_0 = None - EVENTUALLY864 = None - expression865 = None - end866 = None + S789 = None + E790 = None + L791 = None + F792 = None + P793 = None + A794 = None + R795 = None + E796 = None + N797 = None + T798 = None + O799 = None + F800 = None + F801 = None + S802 = None + P803 = None + R804 = None + I805 = None + N806 = None + G807 = None + S808 = None + E809 = None + N810 = None + D811 = None + E812 = None + R813 = None + + S789_tree = None + E790_tree = None + L791_tree = None + F792_tree = None + P793_tree = None + A794_tree = None + R795_tree = None + E796_tree = None + N797_tree = None + T798_tree = None + O799_tree = None + F800_tree = None + F801_tree = None + S802_tree = None + P803_tree = None + R804_tree = None + I805_tree = None + N806_tree = None + G807_tree = None + S808_tree = None + E809_tree = None + N810_tree = None + D811_tree = None + E812_tree = None + R813_tree = None + + success = False - EVENTUALLY864_tree = None - stream_EVENTUALLY = RewriteRuleTokenStream(self._adaptor, "token EVENTUALLY") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") try: try: - # sdl92.g:1658:9: ( ( EVENTUALLY expression end ) -> ^( EVENTUALLY expression ) ) - # sdl92.g:1658:17: ( EVENTUALLY expression end ) - pass - # sdl92.g:1658:17: ( EVENTUALLY expression end ) - # sdl92.g:1658:18: EVENTUALLY expression end - pass - EVENTUALLY864 = self.match(self.input, EVENTUALLY, self.FOLLOW_EVENTUALLY_in_n7s_scl_eventually18706) - if self._state.backtracking == 0: - stream_EVENTUALLY.add(EVENTUALLY864) - + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 202): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval - self._state.following.append(self.FOLLOW_expression_in_n7s_scl_eventually18708) - expression865 = self.expression() - - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression865.tree) + # sdl92.g:1646:17: ( S E L F | P A R E N T | O F F S P R I N G | S E N D E R ) + alt232 = 4 + LA232 = self.input.LA(1) + if LA232 in {S}: + LA232_1 = self.input.LA(2) - self._state.following.append(self.FOLLOW_end_in_n7s_scl_eventually18710) - end866 = self.end() + if (LA232_1 == E) : + LA232_4 = self.input.LA(3) - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end866.tree) + if (LA232_4 == L) : + alt232 = 1 + elif (LA232_4 == N) : + alt232 = 4 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 232, 4, self.input) + raise nvae - # AST Rewrite - # elements: EVENTUALLY, 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) + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = self._adaptor.nil() - # 1659:9: -> ^( EVENTUALLY expression ) - # sdl92.g:1659:17: ^( EVENTUALLY expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_EVENTUALLY.nextNode() - , root_1) + nvae = NoViableAltException("", 232, 1, self.input) - self._adaptor.addChild(root_1, stream_expression.nextTree()) + raise nvae - self._adaptor.addChild(root_0, root_1) + elif LA232 in {P}: + alt232 = 2 + elif LA232 in {O}: + alt232 = 3 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 232, 0, self.input) - retval.tree = root_0 + raise nvae + if alt232 == 1: + # sdl92.g:1646:25: S E L F + pass + root_0 = self._adaptor.nil() + S789 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression18882) + if self._state.backtracking == 0: + S789_tree = self._adaptor.createWithPayload(S789) + self._adaptor.addChild(root_0, S789_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) + E790 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression18884) + if self._state.backtracking == 0: + E790_tree = self._adaptor.createWithPayload(E790) + self._adaptor.addChild(root_0, E790_tree) - 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) + L791 = self.match(self.input, L, self.FOLLOW_L_in_pid_expression18886) + if self._state.backtracking == 0: + L791_tree = self._adaptor.createWithPayload(L791) + self._adaptor.addChild(root_0, L791_tree) - finally: - pass - return retval - # $ANTLR end "n7s_scl_eventually" + F792 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression18888) + if self._state.backtracking == 0: + F792_tree = self._adaptor.createWithPayload(F792) + self._adaptor.addChild(root_0, F792_tree) - class n7s_scl_filter_out_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + elif alt232 == 2: + # sdl92.g:1647:25: P A R E N T + pass + root_0 = self._adaptor.nil() + P793 = self.match(self.input, P, self.FOLLOW_P_in_pid_expression18914) + if self._state.backtracking == 0: + P793_tree = self._adaptor.createWithPayload(P793) + self._adaptor.addChild(root_0, P793_tree) - # $ANTLR start "n7s_scl_filter_out" - # sdl92.g:1662:1: n7s_scl_filter_out : ( FILTER_OUT expression end ) -> ^( FILTER_OUT expression ) ; - def n7s_scl_filter_out(self, ): - retval = self.n7s_scl_filter_out_return() - retval.start = self.input.LT(1) - root_0 = None + A794 = self.match(self.input, A, self.FOLLOW_A_in_pid_expression18916) + if self._state.backtracking == 0: + A794_tree = self._adaptor.createWithPayload(A794) + self._adaptor.addChild(root_0, A794_tree) - FILTER_OUT867 = None - expression868 = None - end869 = None - FILTER_OUT867_tree = None - stream_FILTER_OUT = RewriteRuleTokenStream(self._adaptor, "token FILTER_OUT") - stream_expression = RewriteRuleSubtreeStream(self._adaptor, "rule expression") - stream_end = RewriteRuleSubtreeStream(self._adaptor, "rule end") - try: - try: - # sdl92.g:1663:9: ( ( FILTER_OUT expression end ) -> ^( FILTER_OUT expression ) ) - # sdl92.g:1663:17: ( FILTER_OUT expression end ) - pass - # sdl92.g:1663:17: ( FILTER_OUT expression end ) - # sdl92.g:1663:18: FILTER_OUT expression end - pass - FILTER_OUT867 = self.match(self.input, FILTER_OUT, self.FOLLOW_FILTER_OUT_in_n7s_scl_filter_out18764) - if self._state.backtracking == 0: - stream_FILTER_OUT.add(FILTER_OUT867) + R795 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression18918) + if self._state.backtracking == 0: + R795_tree = self._adaptor.createWithPayload(R795) + self._adaptor.addChild(root_0, R795_tree) - self._state.following.append(self.FOLLOW_expression_in_n7s_scl_filter_out18766) - expression868 = self.expression() - self._state.following.pop() - if self._state.backtracking == 0: - stream_expression.add(expression868.tree) + E796 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression18920) + if self._state.backtracking == 0: + E796_tree = self._adaptor.createWithPayload(E796) + self._adaptor.addChild(root_0, E796_tree) - self._state.following.append(self.FOLLOW_end_in_n7s_scl_filter_out18768) - end869 = self.end() - self._state.following.pop() - if self._state.backtracking == 0: - stream_end.add(end869.tree) + N797 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression18922) + if self._state.backtracking == 0: + N797_tree = self._adaptor.createWithPayload(N797) + self._adaptor.addChild(root_0, N797_tree) + T798 = self.match(self.input, T, self.FOLLOW_T_in_pid_expression18924) + if self._state.backtracking == 0: + T798_tree = self._adaptor.createWithPayload(T798) + self._adaptor.addChild(root_0, T798_tree) + - # AST Rewrite - # elements: FILTER_OUT, 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) + elif alt232 == 3: + # sdl92.g:1648:25: O F F S P R I N G + pass root_0 = self._adaptor.nil() - # 1664:9: -> ^( FILTER_OUT expression ) - # sdl92.g:1664:17: ^( FILTER_OUT expression ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - stream_FILTER_OUT.nextNode() - , root_1) - self._adaptor.addChild(root_1, stream_expression.nextTree()) - self._adaptor.addChild(root_0, root_1) + O799 = self.match(self.input, O, self.FOLLOW_O_in_pid_expression18950) + if self._state.backtracking == 0: + O799_tree = self._adaptor.createWithPayload(O799) + self._adaptor.addChild(root_0, O799_tree) + F800 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression18952) + if self._state.backtracking == 0: + F800_tree = self._adaptor.createWithPayload(F800) + self._adaptor.addChild(root_0, F800_tree) - retval.tree = root_0 + F801 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression18954) + if self._state.backtracking == 0: + F801_tree = self._adaptor.createWithPayload(F801) + self._adaptor.addChild(root_0, F801_tree) - retval.stop = self.input.LT(-1) + S802 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression18956) + if self._state.backtracking == 0: + S802_tree = self._adaptor.createWithPayload(S802) + self._adaptor.addChild(root_0, S802_tree) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + P803 = self.match(self.input, P, self.FOLLOW_P_in_pid_expression18958) + if self._state.backtracking == 0: + P803_tree = self._adaptor.createWithPayload(P803) + self._adaptor.addChild(root_0, P803_tree) - 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 + R804 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression18960) + if self._state.backtracking == 0: + R804_tree = self._adaptor.createWithPayload(R804) + self._adaptor.addChild(root_0, R804_tree) - # $ANTLR end "n7s_scl_filter_out" - class history_nextstate_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + I805 = self.match(self.input, I, self.FOLLOW_I_in_pid_expression18962) + if self._state.backtracking == 0: + I805_tree = self._adaptor.createWithPayload(I805) + self._adaptor.addChild(root_0, I805_tree) - self.tree = None + N806 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression18964) + if self._state.backtracking == 0: + N806_tree = self._adaptor.createWithPayload(N806) + self._adaptor.addChild(root_0, N806_tree) - # $ANTLR start "history_nextstate" - # sdl92.g:1675:1: history_nextstate : '-*' -> ^( HISTORY_NEXTSTATE ) ; - def history_nextstate(self, ): - retval = self.history_nextstate_return() - retval.start = self.input.LT(1) + G807 = self.match(self.input, G, self.FOLLOW_G_in_pid_expression18966) + if self._state.backtracking == 0: + G807_tree = self._adaptor.createWithPayload(G807) + self._adaptor.addChild(root_0, G807_tree) - root_0 = None - string_literal870 = None - string_literal870_tree = None - stream_251 = RewriteRuleTokenStream(self._adaptor, "token 251") + elif alt232 == 4: + # sdl92.g:1649:25: S E N D E R + pass + root_0 = self._adaptor.nil() - try: - try: - # sdl92.g:1676:9: ( '-*' -> ^( HISTORY_NEXTSTATE ) ) - # sdl92.g:1676:17: '-*' - pass - string_literal870 = self.match(self.input, 251, self.FOLLOW_251_in_history_nextstate18960) - if self._state.backtracking == 0: - stream_251.add(string_literal870) + S808 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression18992) + if self._state.backtracking == 0: + S808_tree = self._adaptor.createWithPayload(S808) + self._adaptor.addChild(root_0, S808_tree) - # AST Rewrite - # elements: - # 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() - # 1676:23: -> ^( HISTORY_NEXTSTATE ) - # sdl92.g:1676:26: ^( HISTORY_NEXTSTATE ) - root_1 = self._adaptor.nil() - root_1 = self._adaptor.becomeRoot( - self._adaptor.createFromType(HISTORY_NEXTSTATE, "HISTORY_NEXTSTATE") - , root_1) + E809 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression18994) + if self._state.backtracking == 0: + E809_tree = self._adaptor.createWithPayload(E809) + self._adaptor.addChild(root_0, E809_tree) - self._adaptor.addChild(root_0, root_1) + N810 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression18996) + if self._state.backtracking == 0: + N810_tree = self._adaptor.createWithPayload(N810) + self._adaptor.addChild(root_0, N810_tree) - retval.tree = root_0 + D811 = self.match(self.input, D, self.FOLLOW_D_in_pid_expression18998) + if self._state.backtracking == 0: + D811_tree = self._adaptor.createWithPayload(D811) + self._adaptor.addChild(root_0, D811_tree) + + + + E812 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression19000) + if self._state.backtracking == 0: + E812_tree = self._adaptor.createWithPayload(E812) + self._adaptor.addChild(root_0, E812_tree) + + + + R813 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression19002) + if self._state.backtracking == 0: + R813_tree = self._adaptor.createWithPayload(R813) + self._adaptor.addChild(root_0, R813_tree) @@ -34789,19 +33984,25 @@ def history_nextstate(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 202, pid_expression_StartIndex, success) + + pass return retval - # $ANTLR end "history_nextstate" + # $ANTLR end "pid_expression" - class dash_nextstate_return(ParserRuleReturnScope): + class now_expression_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -34811,58 +34012,91 @@ def __init__(self): - # $ANTLR start "dash_nextstate" - # sdl92.g:1679:1: dash_nextstate : DASH ; - def dash_nextstate(self, ): - retval = self.dash_nextstate_return() + # $ANTLR start "now_expression" + # sdl92.g:1650:1: now_expression : N O W ; + def now_expression(self, ): + retval = self.now_expression_return() retval.start = self.input.LT(1) + now_expression_StartIndex = self.input.index() root_0 = None - DASH871 = None + N814 = None + O815 = None + W816 = None + + N814_tree = None + O815_tree = None + W816_tree = None - DASH871_tree = None + success = False try: try: - # sdl92.g:1679:17: ( DASH ) - # sdl92.g:1679:25: DASH + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 203): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1650:17: ( N O W ) + # sdl92.g:1650:25: N O W pass root_0 = self._adaptor.nil() - DASH871 = self.match(self.input, DASH, self.FOLLOW_DASH_in_dash_nextstate18991) + N814 = self.match(self.input, N, self.FOLLOW_N_in_now_expression19016) if self._state.backtracking == 0: - DASH871_tree = self._adaptor.createWithPayload(DASH871) - self._adaptor.addChild(root_0, DASH871_tree) - + N814_tree = self._adaptor.createWithPayload(N814) + self._adaptor.addChild(root_0, N814_tree) + O815 = self.match(self.input, O, self.FOLLOW_O_in_now_expression19018) + if self._state.backtracking == 0: + O815_tree = self._adaptor.createWithPayload(O815) + self._adaptor.addChild(root_0, O815_tree) - retval.stop = self.input.LT(-1) + W816 = self.match(self.input, W, self.FOLLOW_W_in_now_expression19020) if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + W816_tree = self._adaptor.createWithPayload(W816) + self._adaptor.addChild(root_0, W816_tree) - except RecognitionException as re: + + + 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) + + + + success = True + + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 203, now_expression_StartIndex, success) + + pass return retval - # $ANTLR end "dash_nextstate" + # $ANTLR end "now_expression" - class connector_name_return(ParserRuleReturnScope): + class signed_return(ParserRuleReturnScope): def __init__(self): super().__init__() @@ -34872,31 +34106,61 @@ def __init__(self): - # $ANTLR start "connector_name" - # sdl92.g:1680:1: connector_name : ID ; - def connector_name(self, ): - retval = self.connector_name_return() + # $ANTLR start "signed" + # sdl92.g:1797:1: signed : ( DASH )? INT ; + def signed(self, ): + retval = self.signed_return() retval.start = self.input.LT(1) + signed_StartIndex = self.input.index() root_0 = None - ID872 = None + DASH817 = None + INT818 = None - ID872_tree = None + DASH817_tree = None + INT818_tree = None + + success = False try: try: - # sdl92.g:1680:17: ( ID ) - # sdl92.g:1680:25: ID + if self._state.backtracking > 0 and self.alreadyParsedRule(self.input, 204): + # for cached failed rules, alreadyParsedRule will raise an exception + success = True + return retval + + + # sdl92.g:1798:9: ( ( DASH )? INT ) + # sdl92.g:1798:17: ( DASH )? INT pass root_0 = self._adaptor.nil() - ID872 = self.match(self.input, ID, self.FOLLOW_ID_in_connector_name19005) + # sdl92.g:1798:17: ( DASH )? + alt233 = 2 + LA233_0 = self.input.LA(1) + + if (LA233_0 == DASH) : + alt233 = 1 + if alt233 == 1: + # sdl92.g:1798:17: DASH + pass + DASH817 = self.match(self.input, DASH, self.FOLLOW_DASH_in_signed22449) + if self._state.backtracking == 0: + DASH817_tree = self._adaptor.createWithPayload(DASH817) + self._adaptor.addChild(root_0, DASH817_tree) + + + + + + + INT818 = self.match(self.input, INT, self.FOLLOW_INT_in_signed22452) if self._state.backtracking == 0: - ID872_tree = self._adaptor.createWithPayload(ID872) - self._adaptor.addChild(root_0, ID872_tree) + INT818_tree = self._adaptor.createWithPayload(INT818) + self._adaptor.addChild(root_0, INT818_tree) @@ -34911,4784 +34175,3437 @@ def connector_name(self, ): + success = True + 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: + if self._state.backtracking > 0: + self.memoize(self.input, 204, signed_StartIndex, success) + + pass return retval - # $ANTLR end "connector_name" + # $ANTLR end "signed" + # $ANTLR start "synpred9_sdl92" + def synpred9_sdl92_fragment(self, ): + # sdl92.g:205:17: ( signal_declaration ) + # sdl92.g:205:17: signal_declaration + pass + root_0 = self._adaptor.nil() - class signal_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + self._state.following.append(self.FOLLOW_signal_declaration_in_synpred9_sdl921967) + self.signal_declaration() + self._state.following.pop() - # $ANTLR start "signal_id" - # sdl92.g:1681:1: signal_id : ID ; - def signal_id(self, ): - retval = self.signal_id_return() - retval.start = self.input.LT(1) + # $ANTLR end "synpred9_sdl92" - root_0 = None - ID873 = None + # $ANTLR start "synpred10_sdl92" + def synpred10_sdl92_fragment(self, ): + # sdl92.g:206:19: ( text_area ) + # sdl92.g:206:19: text_area + pass + root_0 = self._adaptor.nil() - ID873_tree = None - try: - try: - # sdl92.g:1681:17: ( ID ) - # sdl92.g:1681:25: ID - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_text_area_in_synpred10_sdl921987) + self.text_area() + self._state.following.pop() - ID873 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_id19024) - if self._state.backtracking == 0: - ID873_tree = self._adaptor.createWithPayload(ID873) - self._adaptor.addChild(root_0, ID873_tree) + # $ANTLR end "synpred10_sdl92" - retval.stop = self.input.LT(-1) + # $ANTLR start "synpred11_sdl92" + def synpred11_sdl92_fragment(self, ): + # sdl92.g:207:19: ( procedure ) + # sdl92.g:207:19: procedure + pass + root_0 = self._adaptor.nil() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._state.following.append(self.FOLLOW_procedure_in_synpred11_sdl922007) + self.procedure() + self._state.following.pop() - 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_id" + # $ANTLR end "synpred11_sdl92" - class statename_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR start "synpred32_sdl92" + def synpred32_sdl92_fragment(self, ): + # sdl92.g:289:18: ( text_area ) + # sdl92.g:289:18: text_area + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_text_area_in_synpred32_sdl922854) + self.text_area() + self._state.following.pop() - # $ANTLR start "statename" - # sdl92.g:1682:1: statename : ID ; - def statename(self, ): - retval = self.statename_return() - retval.start = self.input.LT(1) - root_0 = None - ID874 = None + # $ANTLR end "synpred32_sdl92" - ID874_tree = None - try: - try: - # sdl92.g:1682:17: ( ID ) - # sdl92.g:1682:25: ID - pass - root_0 = self._adaptor.nil() + # $ANTLR start "synpred33_sdl92" + def synpred33_sdl92_fragment(self, ): + # sdl92.g:289:30: ( procedure ) + # sdl92.g:289:30: procedure + pass + root_0 = self._adaptor.nil() - ID874 = self.match(self.input, ID, self.FOLLOW_ID_in_statename19043) - if self._state.backtracking == 0: - ID874_tree = self._adaptor.createWithPayload(ID874) - self._adaptor.addChild(root_0, ID874_tree) + self._state.following.append(self.FOLLOW_procedure_in_synpred33_sdl922858) + self.procedure() + self._state.following.pop() - retval.stop = self.input.LT(-1) + # $ANTLR end "synpred33_sdl92" - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # $ANTLR start "synpred34_sdl92" + def synpred34_sdl92_fragment(self, ): + # sdl92.g:289:42: ( composite_state_preamble ) + # sdl92.g:289:43: composite_state_preamble + pass + root_0 = self._adaptor.nil() - 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 + self._state.following.append(self.FOLLOW_composite_state_preamble_in_synpred34_sdl922863) + self.composite_state_preamble() - # $ANTLR end "statename" + self._state.following.pop() - class state_exit_point_name_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR end "synpred34_sdl92" + # $ANTLR start "synpred35_sdl92" + def synpred35_sdl92_fragment(self, ): + # sdl92.g:290:17: ( processBody ) + # sdl92.g:290:17: processBody + pass + root_0 = self._adaptor.nil() - # $ANTLR start "state_exit_point_name" - # sdl92.g:1683:1: state_exit_point_name : ID ; - def state_exit_point_name(self, ): - retval = self.state_exit_point_name_return() - retval.start = self.input.LT(1) + self._state.following.append(self.FOLLOW_processBody_in_synpred35_sdl922887) + self.processBody() - root_0 = None + self._state.following.pop() - ID875 = None - ID875_tree = None - try: - try: - # sdl92.g:1684:17: ( ID ) - # sdl92.g:1684:25: ID - pass - root_0 = self._adaptor.nil() + # $ANTLR end "synpred35_sdl92" - ID875 = self.match(self.input, ID, self.FOLLOW_ID_in_state_exit_point_name19072) - if self._state.backtracking == 0: - ID875_tree = self._adaptor.createWithPayload(ID875) - self._adaptor.addChild(root_0, ID875_tree) + # $ANTLR start "synpred41_sdl92" + def synpred41_sdl92_fragment(self, ): + # sdl92.g:302:17: ( end ) + # sdl92.g:302:17: end + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_end_in_synpred41_sdl923084) + self.end() - retval.stop = self.input.LT(-1) + self._state.following.pop() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # $ANTLR end "synpred41_sdl92" - 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_exit_point_name" + # $ANTLR start "synpred45_sdl92" + def synpred45_sdl92_fragment(self, ): + e1 = None - class state_entry_point_name_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + # sdl92.g:318:51: (e1= end ) + # sdl92.g:318:51: e1= end + pass + root_0 = self._adaptor.nil() - self.tree = None + self._state.following.append(self.FOLLOW_end_in_synpred45_sdl923236) + e1 = self.end() + self._state.following.pop() - # $ANTLR start "state_entry_point_name" - # sdl92.g:1685:1: state_entry_point_name : ID ; - def state_entry_point_name(self, ): - retval = self.state_entry_point_name_return() - retval.start = self.input.LT(1) + # $ANTLR end "synpred45_sdl92" - root_0 = None - ID876 = None - ID876_tree = None + # $ANTLR start "synpred48_sdl92" + def synpred48_sdl92_fragment(self, ): + # sdl92.g:321:18: ( text_area ) + # sdl92.g:321:18: text_area + pass + root_0 = self._adaptor.nil() - try: - try: - # sdl92.g:1686:17: ( ID ) - # sdl92.g:1686:25: ID - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_text_area_in_synpred48_sdl923300) + self.text_area() - ID876 = self.match(self.input, ID, self.FOLLOW_ID_in_state_entry_point_name19101) - if self._state.backtracking == 0: - ID876_tree = self._adaptor.createWithPayload(ID876) - self._adaptor.addChild(root_0, ID876_tree) + self._state.following.pop() + # $ANTLR end "synpred48_sdl92" - 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) + # $ANTLR start "synpred49_sdl92" + def synpred49_sdl92_fragment(self, ): + # sdl92.g:321:30: ( procedure ) + # sdl92.g:321:30: procedure + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_procedure_in_synpred49_sdl923304) + self.procedure() - 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) + self._state.following.pop() - finally: - pass - return retval - # $ANTLR end "state_entry_point_name" - class variable_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + # $ANTLR end "synpred49_sdl92" - self.tree = None + # $ANTLR start "synpred50_sdl92" + def synpred50_sdl92_fragment(self, ): + # sdl92.g:322:19: ( processBody ) + # sdl92.g:322:19: processBody + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_processBody_in_synpred50_sdl923326) + self.processBody() - # $ANTLR start "variable_id" - # sdl92.g:1687:1: variable_id : ID ; - def variable_id(self, ): - retval = self.variable_id_return() - retval.start = self.input.LT(1) + self._state.following.pop() - root_0 = None - ID877 = None - ID877_tree = None + # $ANTLR end "synpred50_sdl92" - try: - try: - # sdl92.g:1687:17: ( ID ) - # sdl92.g:1687:25: ID - pass - root_0 = self._adaptor.nil() - ID877 = self.match(self.input, ID, self.FOLLOW_ID_in_variable_id19118) - if self._state.backtracking == 0: - ID877_tree = self._adaptor.createWithPayload(ID877) - self._adaptor.addChild(root_0, ID877_tree) + # $ANTLR start "synpred62_sdl92" + def synpred62_sdl92_fragment(self, ): + # sdl92.g:355:17: ( cif ) + # sdl92.g:355:17: cif + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_cif_in_synpred62_sdl923787) + self.cif() + self._state.following.pop() - 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) + # $ANTLR end "synpred62_sdl92" - 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) + # $ANTLR start "synpred63_sdl92" + def synpred63_sdl92_fragment(self, ): + # sdl92.g:356:17: ( content ) + # sdl92.g:356:17: content + pass + root_0 = self._adaptor.nil() - finally: - pass - return retval - # $ANTLR end "variable_id" + self._state.following.append(self.FOLLOW_content_in_synpred63_sdl923806) + self.content() + self._state.following.pop() - class literal_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR end "synpred63_sdl92" - # $ANTLR start "literal_id" - # sdl92.g:1688:1: literal_id : ( ID | INT ); - def literal_id(self, ): - retval = self.literal_id_return() - retval.start = self.input.LT(1) + # $ANTLR start "synpred111_sdl92" + def synpred111_sdl92_fragment(self, ): + e = None - root_0 = None + # sdl92.g:558:39: (e= end ) + # sdl92.g:558:39: e= end + pass + root_0 = self._adaptor.nil() - set878 = None - set878_tree = None + self._state.following.append(self.FOLLOW_end_in_synpred111_sdl926185) + e = self.end() - try: - try: - # sdl92.g:1688:17: ( ID | INT ) - # sdl92.g: - pass - root_0 = self._adaptor.nil() + self._state.following.pop() - set878 = self.input.LT(1) - if self.input.LA(1) in {ID, INT}: - self.input.consume() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set878)) - self._state.errorRecovery = False + # $ANTLR end "synpred111_sdl92" - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # $ANTLR start "synpred116_sdl92" + def synpred116_sdl92_fragment(self, ): + e = None - mse = MismatchedSetException(None, self.input) - raise mse + # sdl92.g:567:53: (e= end ) + # sdl92.g:567:53: e= end + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_end_in_synpred116_sdl926335) + e = self.end() + self._state.following.pop() - 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) + # $ANTLR end "synpred116_sdl92" - 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 start "synpred130_sdl92" + def synpred130_sdl92_fragment(self, ): + # sdl92.g:625:18: ( text_area ) + # sdl92.g:625:18: text_area + pass + root_0 = self._adaptor.nil() - # $ANTLR end "literal_id" + self._state.following.append(self.FOLLOW_text_area_in_synpred130_sdl927101) + self.text_area() - class process_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + self._state.following.pop() - self.tree = None + # $ANTLR end "synpred130_sdl92" - # $ANTLR start "process_id" - # sdl92.g:1689:1: process_id : ID ; - def process_id(self, ): - retval = self.process_id_return() - retval.start = self.input.LT(1) + # $ANTLR start "synpred137_sdl92" + def synpred137_sdl92_fragment(self, ): + # sdl92.g:683:13: ( text_area ) + # sdl92.g:683:13: text_area + pass + root_0 = self._adaptor.nil() - root_0 = None - ID879 = None + self._state.following.append(self.FOLLOW_text_area_in_synpred137_sdl927603) + self.text_area() - ID879_tree = None + self._state.following.pop() - try: - try: - # sdl92.g:1689:17: ( ID ) - # sdl92.g:1689:25: ID - pass - root_0 = self._adaptor.nil() - ID879 = self.match(self.input, ID, self.FOLLOW_ID_in_process_id19158) - if self._state.backtracking == 0: - ID879_tree = self._adaptor.createWithPayload(ID879) - self._adaptor.addChild(root_0, ID879_tree) + # $ANTLR end "synpred137_sdl92" + # $ANTLR start "synpred138_sdl92" + def synpred138_sdl92_fragment(self, ): + # sdl92.g:684:15: ( procedure ) + # sdl92.g:684:15: procedure + pass + root_0 = self._adaptor.nil() - retval.stop = self.input.LT(-1) + self._state.following.append(self.FOLLOW_procedure_in_synpred138_sdl927619) + self.procedure() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._state.following.pop() - 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 "synpred138_sdl92" - # $ANTLR end "process_id" - class system_name_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + # $ANTLR start "synpred139_sdl92" + def synpred139_sdl92_fragment(self, ): + # sdl92.g:685:15: ( composite_state_preamble ) + # sdl92.g:685:16: composite_state_preamble + pass + root_0 = self._adaptor.nil() - self.tree = None + self._state.following.append(self.FOLLOW_composite_state_preamble_in_synpred139_sdl927636) + self.composite_state_preamble() + self._state.following.pop() - # $ANTLR start "system_name" - # sdl92.g:1690:1: system_name : ID ; - def system_name(self, ): - retval = self.system_name_return() - retval.start = self.input.LT(1) + # $ANTLR end "synpred139_sdl92" - root_0 = None - ID880 = None - ID880_tree = None + # $ANTLR start "synpred161_sdl92" + def synpred161_sdl92_fragment(self, ): + # sdl92.g:791:17: ( enabling_condition ) + # sdl92.g:791:17: enabling_condition + pass + root_0 = self._adaptor.nil() - try: - try: - # sdl92.g:1690:17: ( ID ) - # sdl92.g:1690:25: ID - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_enabling_condition_in_synpred161_sdl928635) + self.enabling_condition() - ID880 = self.match(self.input, ID, self.FOLLOW_ID_in_system_name19175) - if self._state.backtracking == 0: - ID880_tree = self._adaptor.createWithPayload(ID880) - self._adaptor.addChild(root_0, ID880_tree) + self._state.following.pop() + # $ANTLR end "synpred161_sdl92" - 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) + # $ANTLR start "synpred168_sdl92" + def synpred168_sdl92_fragment(self, ): + # sdl92.g:819:25: ( label ) + # sdl92.g:819:25: label + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_label_in_synpred168_sdl928924) + self.label() - 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) + self._state.following.pop() - finally: - pass - return retval - # $ANTLR end "system_name" - class package_name_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + # $ANTLR end "synpred168_sdl92" - self.tree = None + # $ANTLR start "synpred181_sdl92" + def synpred181_sdl92_fragment(self, ): + # sdl92.g:858:30: ( actual_parameters ) + # sdl92.g:858:30: actual_parameters + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_actual_parameters_in_synpred181_sdl929448) + self.actual_parameters() - # $ANTLR start "package_name" - # sdl92.g:1691:1: package_name : ID ; - def package_name(self, ): - retval = self.package_name_return() - retval.start = self.input.LT(1) + self._state.following.pop() - root_0 = None - ID881 = None - ID881_tree = None + # $ANTLR end "synpred181_sdl92" - try: - try: - # sdl92.g:1691:17: ( ID ) - # sdl92.g:1691:25: ID - pass - root_0 = self._adaptor.nil() - ID881 = self.match(self.input, ID, self.FOLLOW_ID_in_package_name19191) - if self._state.backtracking == 0: - ID881_tree = self._adaptor.createWithPayload(ID881) - self._adaptor.addChild(root_0, ID881_tree) + # $ANTLR start "synpred184_sdl92" + def synpred184_sdl92_fragment(self, ): + # sdl92.g:898:17: ( answer_part ) + # sdl92.g:898:17: answer_part + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_answer_part_in_synpred184_sdl929560) + self.answer_part() + self._state.following.pop() - 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) + # $ANTLR end "synpred184_sdl92" - 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) + # $ANTLR start "synpred190_sdl92" + def synpred190_sdl92_fragment(self, ): + # sdl92.g:922:17: ( answer_part ) + # sdl92.g:922:17: answer_part + pass + root_0 = self._adaptor.nil() - finally: - pass - return retval - # $ANTLR end "package_name" + self._state.following.append(self.FOLLOW_answer_part_in_synpred190_sdl929855) + self.answer_part() + self._state.following.pop() - class priority_signal_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR end "synpred190_sdl92" - # $ANTLR start "priority_signal_id" - # sdl92.g:1692:1: priority_signal_id : ID ; - def priority_signal_id(self, ): - retval = self.priority_signal_id_return() - retval.start = self.input.LT(1) + # $ANTLR start "synpred194_sdl92" + def synpred194_sdl92_fragment(self, ): + # sdl92.g:938:17: ( range_condition ) + # sdl92.g:938:17: range_condition + pass + root_0 = self._adaptor.nil() - root_0 = None + self._state.following.append(self.FOLLOW_range_condition_in_synpred194_sdl9210066) + self.range_condition() - ID882 = None + self._state.following.pop() - ID882_tree = None - try: - try: - # sdl92.g:1693:17: ( ID ) - # sdl92.g:1693:25: ID - pass - root_0 = self._adaptor.nil() - ID882 = self.match(self.input, ID, self.FOLLOW_ID_in_priority_signal_id19220) - if self._state.backtracking == 0: - ID882_tree = self._adaptor.createWithPayload(ID882) - self._adaptor.addChild(root_0, ID882_tree) + # $ANTLR end "synpred194_sdl92" + # $ANTLR start "synpred197_sdl92" + def synpred197_sdl92_fragment(self, ): + # sdl92.g:951:17: ( informal_text ) + # sdl92.g:951:17: informal_text + pass + root_0 = self._adaptor.nil() - retval.stop = self.input.LT(-1) + self._state.following.append(self.FOLLOW_informal_text_in_synpred197_sdl9210199) + self.informal_text() + self._state.following.pop() - 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) + # $ANTLR end "synpred197_sdl92" - finally: - pass - return retval - # $ANTLR end "priority_signal_id" + # $ANTLR start "synpred198_sdl92" + def synpred198_sdl92_fragment(self, ): + # sdl92.g:952:19: ( expression ) + # sdl92.g:952:19: expression + pass + root_0 = self._adaptor.nil() - class signal_list_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + self._state.following.append(self.FOLLOW_expression_in_synpred198_sdl9210219) + self.expression() + self._state.following.pop() - # $ANTLR start "signal_list_id" - # sdl92.g:1694:1: signal_list_id : ID ; - def signal_list_id(self, ): - retval = self.signal_list_id_return() - retval.start = self.input.LT(1) + # $ANTLR end "synpred198_sdl92" - root_0 = None - ID883 = None + # $ANTLR start "synpred199_sdl92" + def synpred199_sdl92_fragment(self, ): + # sdl92.g:960:18: ( closed_range ) + # sdl92.g:960:18: closed_range + pass + root_0 = self._adaptor.nil() - ID883_tree = None - try: - try: - # sdl92.g:1694:17: ( ID ) - # sdl92.g:1694:25: ID - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_closed_range_in_synpred199_sdl9210312) + self.closed_range() + self._state.following.pop() - ID883 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_list_id19234) - if self._state.backtracking == 0: - ID883_tree = self._adaptor.createWithPayload(ID883) - self._adaptor.addChild(root_0, ID883_tree) + # $ANTLR end "synpred199_sdl92" - retval.stop = self.input.LT(-1) + # $ANTLR start "synpred200_sdl92" + def synpred200_sdl92_fragment(self, ): + # sdl92.g:961:24: ( closed_range ) + # sdl92.g:961:24: closed_range + pass + root_0 = self._adaptor.nil() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._state.following.append(self.FOLLOW_closed_range_in_synpred200_sdl9210340) + self.closed_range() + self._state.following.pop() - 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_id" + # $ANTLR end "synpred200_sdl92" - class timer_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR start "synpred201_sdl92" + def synpred201_sdl92_fragment(self, ): + # sdl92.g:961:18: ( ',' ( closed_range | open_range ) ) + # sdl92.g:961:18: ',' ( closed_range | open_range ) + pass + root_0 = self._adaptor.nil() + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred201_sdl9210336) - # $ANTLR start "timer_id" - # sdl92.g:1695:1: timer_id : ID ; - def timer_id(self, ): - retval = self.timer_id_return() - retval.start = self.input.LT(1) + # sdl92.g:961:23: ( closed_range | open_range ) + alt247 = 2 + LA247 = self.input.LA(1) + if LA247 in {ID}: + LA247_1 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = None - ID884 = None + nvae = NoViableAltException("", 247, 1, self.input) - ID884_tree = None + raise nvae - try: - try: - # sdl92.g:1695:17: ( ID ) - # sdl92.g:1695:25: ID - pass - root_0 = self._adaptor.nil() + elif LA247 in {TRUE}: + LA247_2 = self.input.LA(2) - ID884 = self.match(self.input, ID, self.FOLLOW_ID_in_timer_id19254) - if self._state.backtracking == 0: - ID884_tree = self._adaptor.createWithPayload(ID884) - self._adaptor.addChild(root_0, ID884_tree) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 247, 2, self.input) + raise nvae - retval.stop = self.input.LT(-1) + elif LA247 in {FALSE}: + LA247_3 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + nvae = NoViableAltException("", 247, 3, self.input) + raise nvae - 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 + elif LA247 in {STRING}: + LA247_4 = self.input.LA(2) - # $ANTLR end "timer_id" + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - class field_name_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + nvae = NoViableAltException("", 247, 4, self.input) - self.tree = None + raise nvae + elif LA247 in {PLUS_INFINITY}: + LA247_5 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # $ANTLR start "field_name" - # sdl92.g:1696:1: field_name : ( ID | STATE ); - def field_name(self, ): - retval = self.field_name_return() - retval.start = self.input.LT(1) + nvae = NoViableAltException("", 247, 5, self.input) + raise nvae - root_0 = None - set885 = None + elif LA247 in {MINUS_INFINITY}: + LA247_6 = self.input.LA(2) - set885_tree = None + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - try: - try: - # sdl92.g:1696:17: ( ID | STATE ) - # sdl92.g: - pass - root_0 = self._adaptor.nil() + nvae = NoViableAltException("", 247, 6, self.input) - set885 = self.input.LT(1) + raise nvae - if self.input.LA(1) in {ID, STATE}: - self.input.consume() - if self._state.backtracking == 0: - self._adaptor.addChild(root_0, self._adaptor.createWithPayload(set885)) - self._state.errorRecovery = False + elif LA247 in {INT}: + LA247_7 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + nvae = NoViableAltException("", 247, 7, self.input) - mse = MismatchedSetException(None, self.input) - raise mse + raise nvae + elif LA247 in {FLOAT}: + LA247_8 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - retval.stop = self.input.LT(-1) + nvae = NoViableAltException("", 247, 8, self.input) + raise nvae - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + elif LA247 in {L_BRACKET}: + LA247_9 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - 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 + nvae = NoViableAltException("", 247, 9, self.input) - # $ANTLR end "field_name" + raise nvae - class enumerant_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + elif LA247 in {MKSTRING}: + LA247_10 = self.input.LA(2) - self.tree = None + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 247, 10, self.input) + raise nvae - # $ANTLR start "enumerant" - # sdl92.g:1697:1: enumerant : ID ; - def enumerant(self, ): - retval = self.enumerant_return() - retval.start = self.input.LT(1) + elif LA247 in {STATE}: + LA247_11 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = None - ID886 = None + nvae = NoViableAltException("", 247, 11, self.input) - ID886_tree = None + raise nvae - try: - try: - # sdl92.g:1697:17: ( ID ) - # sdl92.g:1697:25: ID - pass - root_0 = self._adaptor.nil() + elif LA247 in {L_PAREN}: + LA247_12 = self.input.LA(2) - ID886 = self.match(self.input, ID, self.FOLLOW_ID_in_enumerant19295) - if self._state.backtracking == 0: - ID886_tree = self._adaptor.createWithPayload(ID886) - self._adaptor.addChild(root_0, ID886_tree) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 247, 12, self.input) + raise nvae - retval.stop = self.input.LT(-1) + elif LA247 in {IF}: + LA247_13 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + nvae = NoViableAltException("", 247, 13, self.input) + raise nvae - 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 + elif LA247 in {NOT}: + LA247_14 = self.input.LA(2) - # $ANTLR end "enumerant" + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - class signal_route_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + nvae = NoViableAltException("", 247, 14, self.input) - self.tree = None + raise nvae + elif LA247 in {DASH}: + LA247_15 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - # $ANTLR start "signal_route_id" - # sdl92.g:1698:1: signal_route_id : ID ; - def signal_route_id(self, ): - retval = self.signal_route_id_return() - retval.start = self.input.LT(1) + nvae = NoViableAltException("", 247, 15, self.input) + raise nvae - root_0 = None - ID887 = None + elif LA247 in {CALL}: + LA247_16 = self.input.LA(2) - ID887_tree = None + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - try: - try: - # sdl92.g:1698:17: ( ID ) - # sdl92.g:1698:25: ID - pass - root_0 = self._adaptor.nil() + nvae = NoViableAltException("", 247, 16, self.input) - ID887 = self.match(self.input, ID, self.FOLLOW_ID_in_signal_route_id19308) - if self._state.backtracking == 0: - ID887_tree = self._adaptor.createWithPayload(ID887) - self._adaptor.addChild(root_0, ID887_tree) + raise nvae + elif LA247 in {UNHANDLED}: + LA247_17 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - retval.stop = self.input.LT(-1) + nvae = NoViableAltException("", 247, 17, self.input) + raise nvae - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + elif LA247 in {INPUT}: + LA247_18 = self.input.LA(2) + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - 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 + nvae = NoViableAltException("", 247, 18, self.input) - # $ANTLR end "signal_route_id" + raise nvae - class channel_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + elif LA247 in {OUTPUT}: + LA247_19 = self.input.LA(2) - self.tree = None + if (self.synpred200_sdl92()) : + alt247 = 1 + elif (True) : + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 247, 19, self.input) + raise nvae - # $ANTLR start "channel_id" - # sdl92.g:1699:1: channel_id : ID ; - def channel_id(self, ): - retval = self.channel_id_return() - retval.start = self.input.LT(1) + elif LA247 in {EQ, GE, GT, LE, LT, NEQ}: + alt247 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = None + nvae = NoViableAltException("", 247, 0, self.input) - ID888 = None + raise nvae - ID888_tree = None - try: - try: - # sdl92.g:1699:17: ( ID ) - # sdl92.g:1699:25: ID - pass - root_0 = self._adaptor.nil() + if alt247 == 1: + # sdl92.g:961:24: closed_range + pass + self._state.following.append(self.FOLLOW_closed_range_in_synpred201_sdl9210340) + self.closed_range() + self._state.following.pop() - ID888 = self.match(self.input, ID, self.FOLLOW_ID_in_channel_id19326) - if self._state.backtracking == 0: - ID888_tree = self._adaptor.createWithPayload(ID888) - self._adaptor.addChild(root_0, ID888_tree) + elif alt247 == 2: + # sdl92.g:961:37: open_range + pass + self._state.following.append(self.FOLLOW_open_range_in_synpred201_sdl9210342) + self.open_range() + self._state.following.pop() - 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) + # $ANTLR end "synpred201_sdl92" - finally: - pass - return retval - # $ANTLR end "channel_id" + # $ANTLR start "synpred229_sdl92" + def synpred229_sdl92_fragment(self, ): + b = None - class route_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # sdl92.g:1092:18: ( COMMA b= ground_expression ) + # sdl92.g:1092:18: COMMA b= ground_expression + pass + root_0 = self._adaptor.nil() + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred229_sdl9211819) + self._state.following.append(self.FOLLOW_ground_expression_in_synpred229_sdl9211823) + b = self.ground_expression() - # $ANTLR start "route_id" - # sdl92.g:1700:1: route_id : ID ; - def route_id(self, ): - retval = self.route_id_return() - retval.start = self.input.LT(1) + self._state.following.pop() - root_0 = None - ID889 = None - ID889_tree = None + # $ANTLR end "synpred229_sdl92" - try: - try: - # sdl92.g:1700:17: ( ID ) - # sdl92.g:1700:25: ID - pass - root_0 = self._adaptor.nil() - ID889 = self.match(self.input, ID, self.FOLLOW_ID_in_route_id19346) - if self._state.backtracking == 0: - ID889_tree = self._adaptor.createWithPayload(ID889) - self._adaptor.addChild(root_0, ID889_tree) + # $ANTLR start "synpred233_sdl92" + def synpred233_sdl92_fragment(self, ): + # sdl92.g:1116:39: ( IMPLIES binary_expression_0 ) + # sdl92.g:1116:39: IMPLIES binary_expression_0 + pass + root_0 = self._adaptor.nil() + self.match(self.input, IMPLIES, self.FOLLOW_IMPLIES_in_synpred233_sdl9212085) + self._state.following.append(self.FOLLOW_binary_expression_0_in_synpred233_sdl9212088) + self.binary_expression_0() - retval.stop = self.input.LT(-1) + self._state.following.pop() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # $ANTLR end "synpred233_sdl92" - 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_id" + # $ANTLR start "synpred236_sdl92" + def synpred236_sdl92_fragment(self, ): + # sdl92.g:1118:38: ( ( ( OR ( ELSE )? ) | XOR ) binary_expression_1 ) + # sdl92.g:1118:38: ( ( OR ( ELSE )? ) | XOR ) binary_expression_1 + pass + root_0 = self._adaptor.nil() - class block_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + # sdl92.g:1118:38: ( ( OR ( ELSE )? ) | XOR ) + alt252 = 2 + LA252_0 = self.input.LA(1) - self.tree = None + if (LA252_0 == OR) : + alt252 = 1 + elif (LA252_0 == XOR) : + alt252 = 2 + else: + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException("", 252, 0, self.input) + raise nvae - # $ANTLR start "block_id" - # sdl92.g:1701:1: block_id : ID ; - def block_id(self, ): - retval = self.block_id_return() - retval.start = self.input.LT(1) + if alt252 == 1: + # sdl92.g:1118:40: ( OR ( ELSE )? ) + pass + # sdl92.g:1118:40: ( OR ( ELSE )? ) + # sdl92.g:1118:41: OR ( ELSE )? + pass + self.match(self.input, OR, self.FOLLOW_OR_in_synpred236_sdl9212117) - root_0 = None + # sdl92.g:1118:45: ( ELSE )? + alt251 = 2 + LA251_0 = self.input.LA(1) - ID890 = None + if (LA251_0 == ELSE) : + alt251 = 1 + if alt251 == 1: + # sdl92.g:1118:45: ELSE + pass + self.match(self.input, ELSE, self.FOLLOW_ELSE_in_synpred236_sdl9212120) - ID890_tree = None - try: - try: - # sdl92.g:1701:17: ( ID ) - # sdl92.g:1701:25: ID - pass - root_0 = self._adaptor.nil() - ID890 = self.match(self.input, ID, self.FOLLOW_ID_in_block_id19366) - if self._state.backtracking == 0: - ID890_tree = self._adaptor.createWithPayload(ID890) - self._adaptor.addChild(root_0, ID890_tree) - retval.stop = self.input.LT(-1) + elif alt252 == 2: + # sdl92.g:1118:54: XOR + pass + self.match(self.input, XOR, self.FOLLOW_XOR_in_synpred236_sdl9212126) - 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) + self._state.following.append(self.FOLLOW_binary_expression_1_in_synpred236_sdl9212131) + self.binary_expression_1() - finally: - pass - return retval + self._state.following.pop() - # $ANTLR end "block_id" - class source_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR end "synpred236_sdl92" + # $ANTLR start "synpred238_sdl92" + def synpred238_sdl92_fragment(self, ): + # sdl92.g:1120:39: ( AND ( THEN )? binary_expression_2 ) + # sdl92.g:1120:39: AND ( THEN )? binary_expression_2 + pass + root_0 = self._adaptor.nil() - # $ANTLR start "source_id" - # sdl92.g:1702:1: source_id : ID ; - def source_id(self, ): - retval = self.source_id_return() - retval.start = self.input.LT(1) + self.match(self.input, AND, self.FOLLOW_AND_in_synpred238_sdl9212158) - root_0 = None + # sdl92.g:1120:44: ( THEN )? + alt253 = 2 + LA253_0 = self.input.LA(1) - ID891 = None + if (LA253_0 == THEN) : + alt253 = 1 + if alt253 == 1: + # sdl92.g:1120:44: THEN + pass + self.match(self.input, THEN, self.FOLLOW_THEN_in_synpred238_sdl9212161) - ID891_tree = None - try: - try: - # sdl92.g:1702:17: ( ID ) - # sdl92.g:1702:25: ID - pass - root_0 = self._adaptor.nil() - ID891 = self.match(self.input, ID, self.FOLLOW_ID_in_source_id19385) - if self._state.backtracking == 0: - ID891_tree = self._adaptor.createWithPayload(ID891) - self._adaptor.addChild(root_0, ID891_tree) + self._state.following.append(self.FOLLOW_binary_expression_2_in_synpred238_sdl9212164) + self.binary_expression_2() + self._state.following.pop() - retval.stop = self.input.LT(-1) + # $ANTLR end "synpred238_sdl92" - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # $ANTLR start "synpred245_sdl92" + def synpred245_sdl92_fragment(self, ): + # sdl92.g:1122:38: ( ( EQ | NEQ | GT | GE | LT | LE | IN ) binary_expression_3 ) + # sdl92.g:1122:38: ( EQ | NEQ | GT | GE | LT | LE | IN ) binary_expression_3 + pass + root_0 = self._adaptor.nil() - 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 + if self.input.LA(1) in {EQ, GE, GT, IN, LE, LT, NEQ}: + self.input.consume() + self._state.errorRecovery = False - # $ANTLR end "source_id" + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - class dest_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + mse = MismatchedSetException(None, self.input) + raise mse + self._state.following.append(self.FOLLOW_binary_expression_3_in_synpred245_sdl9212227) + self.binary_expression_3() + self._state.following.pop() - # $ANTLR start "dest_id" - # sdl92.g:1703:1: dest_id : ID ; - def dest_id(self, ): - retval = self.dest_id_return() - retval.start = self.input.LT(1) - root_0 = None - ID892 = None + # $ANTLR end "synpred245_sdl92" - ID892_tree = None - try: - try: - # sdl92.g:1703:17: ( ID ) - # sdl92.g:1703:25: ID - pass - root_0 = self._adaptor.nil() + # $ANTLR start "synpred248_sdl92" + def synpred248_sdl92_fragment(self, ): + # sdl92.g:1124:38: ( ( PLUS | DASH | APPEND ) binary_expression_4 ) + # sdl92.g:1124:38: ( PLUS | DASH | APPEND ) binary_expression_4 + pass + root_0 = self._adaptor.nil() - ID892 = self.match(self.input, ID, self.FOLLOW_ID_in_dest_id19406) - if self._state.backtracking == 0: - ID892_tree = self._adaptor.createWithPayload(ID892) - self._adaptor.addChild(root_0, ID892_tree) + if self.input.LA(1) in {APPEND, DASH, PLUS}: + self.input.consume() + self._state.errorRecovery = False + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - retval.stop = self.input.LT(-1) + mse = MismatchedSetException(None, self.input) + raise mse - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._state.following.append(self.FOLLOW_binary_expression_4_in_synpred248_sdl9212270) + self.binary_expression_4() + self._state.following.pop() - 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 "dest_id" + # $ANTLR end "synpred248_sdl92" - class gate_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR start "synpred252_sdl92" + def synpred252_sdl92_fragment(self, ): + # sdl92.g:1126:35: ( ( ASTERISK | DIV | MOD | REM ) unary_expression ) + # sdl92.g:1126:35: ( ASTERISK | DIV | MOD | REM ) unary_expression + pass + root_0 = self._adaptor.nil() + if self.input.LA(1) in {ASTERISK, DIV, MOD, REM}: + self.input.consume() + self._state.errorRecovery = False - # $ANTLR start "gate_id" - # sdl92.g:1704:1: gate_id : ID ; - def gate_id(self, ): - retval = self.gate_id_return() - retval.start = self.input.LT(1) + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - root_0 = None + mse = MismatchedSetException(None, self.input) + raise mse - ID893 = None - ID893_tree = None - try: - try: - # sdl92.g:1704:17: ( ID ) - # sdl92.g:1704:25: ID - pass - root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_unary_expression_in_synpred252_sdl9212318) + self.unary_expression() + self._state.following.pop() - ID893 = self.match(self.input, ID, self.FOLLOW_ID_in_gate_id19427) - if self._state.backtracking == 0: - ID893_tree = self._adaptor.createWithPayload(ID893) - self._adaptor.addChild(root_0, ID893_tree) + # $ANTLR end "synpred252_sdl92" - retval.stop = self.input.LT(-1) + # $ANTLR start "synpred253_sdl92" + def synpred253_sdl92_fragment(self, ): + # sdl92.g:1130:17: ( postfix_expression ) + # sdl92.g:1130:17: postfix_expression + pass + root_0 = self._adaptor.nil() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._state.following.append(self.FOLLOW_postfix_expression_in_synpred253_sdl9212343) + self.postfix_expression() + self._state.following.pop() - 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 "gate_id" + # $ANTLR end "synpred253_sdl92" - class procedure_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR start "synpred254_sdl92" + def synpred254_sdl92_fragment(self, ): + # sdl92.g:1131:17: ( primary_expression ) + # sdl92.g:1131:17: primary_expression + pass + root_0 = self._adaptor.nil() + self._state.following.append(self.FOLLOW_primary_expression_in_synpred254_sdl9212361) + self.primary_expression() + self._state.following.pop() - # $ANTLR start "procedure_id" - # sdl92.g:1705:1: procedure_id : ID ; - def procedure_id(self, ): - retval = self.procedure_id_return() - retval.start = self.input.LT(1) - root_0 = None - ID894 = None + # $ANTLR end "synpred254_sdl92" - ID894_tree = None - try: - try: - # sdl92.g:1705:17: ( ID ) - # sdl92.g:1705:25: ID - pass - root_0 = self._adaptor.nil() + # $ANTLR start "synpred260_sdl92" + def synpred260_sdl92_fragment(self, ): + params = None - ID894 = self.match(self.input, ID, self.FOLLOW_ID_in_procedure_id19443) - if self._state.backtracking == 0: - ID894_tree = self._adaptor.createWithPayload(ID894) - self._adaptor.addChild(root_0, ID894_tree) + # sdl92.g:1142:21: ( '(' (params= expression_list )? ')' ) + # sdl92.g:1142:21: '(' (params= expression_list )? ')' + pass + root_0 = self._adaptor.nil() + self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_synpred260_sdl9212568) - retval.stop = self.input.LT(-1) + # sdl92.g:1142:31: (params= expression_list )? + alt254 = 2 + LA254_0 = self.input.LA(1) + if (LA254_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : + alt254 = 1 + if alt254 == 1: + # sdl92.g:1142:31: params= expression_list + pass + self._state.following.append(self.FOLLOW_expression_list_in_synpred260_sdl9212572) + params = self.expression_list() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self._state.following.pop() - 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_id" + self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_synpred260_sdl9212575) - class remote_procedure_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR end "synpred260_sdl92" + # $ANTLR start "synpred262_sdl92" + def synpred262_sdl92_fragment(self, ): + # sdl92.g:1144:21: ( ( '!' | DOT ) field_name ) + # sdl92.g:1144:21: ( '!' | DOT ) field_name + pass + root_0 = self._adaptor.nil() - # $ANTLR start "remote_procedure_id" - # sdl92.g:1706:1: remote_procedure_id : ID ; - def remote_procedure_id(self, ): - retval = self.remote_procedure_id_return() - retval.start = self.input.LT(1) + if self.input.LA(1) in {DOT, 248}: + self.input.consume() + self._state.errorRecovery = False - root_0 = None - ID895 = None + else: + if self._state.backtracking > 0: + raise BacktrackingFailed - ID895_tree = None - try: - try: - # sdl92.g:1707:17: ( ID ) - # sdl92.g:1707:25: ID - pass - root_0 = self._adaptor.nil() + mse = MismatchedSetException(None, self.input) + raise mse - ID895 = self.match(self.input, ID, self.FOLLOW_ID_in_remote_procedure_id19472) - if self._state.backtracking == 0: - ID895_tree = self._adaptor.createWithPayload(ID895) - self._adaptor.addChild(root_0, ID895_tree) + self._state.following.append(self.FOLLOW_field_name_in_synpred262_sdl9212638) + self.field_name() + self._state.following.pop() - retval.stop = self.input.LT(-1) + # $ANTLR end "synpred262_sdl92" - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # $ANTLR start "synpred282_sdl92" + def synpred282_sdl92_fragment(self, ): + # sdl92.g:1187:17: ( ID ':' expression ) + # sdl92.g:1187:17: ID ':' expression + pass + root_0 = self._adaptor.nil() - 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 + self.match(self.input, ID, self.FOLLOW_ID_in_synpred282_sdl9213303) - # $ANTLR end "remote_procedure_id" + self.match(self.input, 255, self.FOLLOW_255_in_synpred282_sdl9213305) - class operator_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + self._state.following.append(self.FOLLOW_expression_in_synpred282_sdl9213307) + self.expression() + self._state.following.pop() - # $ANTLR start "operator_id" - # sdl92.g:1708:1: operator_id : ID ; - def operator_id(self, ): - retval = self.operator_id_return() - retval.start = self.input.LT(1) + # $ANTLR end "synpred282_sdl92" - root_0 = None - ID896 = None + # $ANTLR start "synpred283_sdl92" + def synpred283_sdl92_fragment(self, ): + # sdl92.g:1188:17: ( ID ) + # sdl92.g:1188:17: ID + pass + root_0 = self._adaptor.nil() - ID896_tree = None - try: - try: - # sdl92.g:1708:17: ( ID ) - # sdl92.g:1708:25: ID - pass - root_0 = self._adaptor.nil() + self.match(self.input, ID, self.FOLLOW_ID_in_synpred283_sdl9213345) - ID896 = self.match(self.input, ID, self.FOLLOW_ID_in_operator_id19489) - if self._state.backtracking == 0: - ID896_tree = self._adaptor.createWithPayload(ID896) - self._adaptor.addChild(root_0, ID896_tree) + # $ANTLR end "synpred283_sdl92" - retval.stop = self.input.LT(-1) + # $ANTLR start "synpred284_sdl92" + def synpred284_sdl92_fragment(self, ): + # sdl92.g:1189:17: ( '{' '}' ) + # sdl92.g:1189:17: '{' '}' + pass + root_0 = self._adaptor.nil() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred284_sdl9213396) + self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred284_sdl9213398) - 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 "operator_id" + # $ANTLR end "synpred284_sdl92" - class synonym_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR start "synpred285_sdl92" + def synpred285_sdl92_fragment(self, ): + mant = None + bas = None + exp = None + + mant_tree = None + bas_tree = None + exp_tree = None + # sdl92.g:1190:17: ( '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' ) + # sdl92.g:1190:17: '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' + pass + root_0 = self._adaptor.nil() + self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred285_sdl9213442) - # $ANTLR start "synonym_id" - # sdl92.g:1709:1: synonym_id : ID ; - def synonym_id(self, ): - retval = self.synonym_id_return() - retval.start = self.input.LT(1) + self.match(self.input, MANTISSA, self.FOLLOW_MANTISSA_in_synpred285_sdl9213460) - root_0 = None - ID897 = None + mant = self.match(self.input, INT, self.FOLLOW_INT_in_synpred285_sdl9213464) - ID897_tree = None - try: - try: - # sdl92.g:1709:17: ( ID ) - # sdl92.g:1709:25: ID - pass - root_0 = self._adaptor.nil() + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred285_sdl9213466) - ID897 = self.match(self.input, ID, self.FOLLOW_ID_in_synonym_id19507) - if self._state.backtracking == 0: - ID897_tree = self._adaptor.createWithPayload(ID897) - self._adaptor.addChild(root_0, ID897_tree) + self.match(self.input, BASE, self.FOLLOW_BASE_in_synpred285_sdl9213484) + bas = self.match(self.input, INT, self.FOLLOW_INT_in_synpred285_sdl9213488) + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred285_sdl9213490) - retval.stop = self.input.LT(-1) + self.match(self.input, EXPONENT, self.FOLLOW_EXPONENT_in_synpred285_sdl9213508) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + exp = self.match(self.input, INT, self.FOLLOW_INT_in_synpred285_sdl9213512) - 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) + self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred285_sdl9213530) - finally: - pass - return retval - # $ANTLR end "synonym_id" - class external_synonym_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + # $ANTLR end "synpred285_sdl92" - self.tree = None + # $ANTLR start "synpred287_sdl92" + def synpred287_sdl92_fragment(self, ): + # sdl92.g:1195:17: ( '{' named_value ( COMMA named_value )* '}' ) + # sdl92.g:1195:17: '{' named_value ( COMMA named_value )* '}' + pass + root_0 = self._adaptor.nil() + self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred287_sdl9213587) - # $ANTLR start "external_synonym_id" - # sdl92.g:1710:1: external_synonym_id : ID ; - def external_synonym_id(self, ): - retval = self.external_synonym_id_return() - retval.start = self.input.LT(1) + self._state.following.append(self.FOLLOW_named_value_in_synpred287_sdl9213605) + self.named_value() - root_0 = None + self._state.following.pop() - ID898 = None - ID898_tree = None + # sdl92.g:1196:29: ( COMMA named_value )* + while True: #loop258 + alt258 = 2 + LA258_0 = self.input.LA(1) - try: - try: - # sdl92.g:1711:17: ( ID ) - # sdl92.g:1711:25: ID - pass - root_0 = self._adaptor.nil() + if (LA258_0 == COMMA) : + alt258 = 1 - ID898 = self.match(self.input, ID, self.FOLLOW_ID_in_external_synonym_id19536) - if self._state.backtracking == 0: - ID898_tree = self._adaptor.createWithPayload(ID898) - self._adaptor.addChild(root_0, ID898_tree) + if alt258 == 1: + # sdl92.g:1196:30: COMMA named_value + pass + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred287_sdl9213608) + self._state.following.append(self.FOLLOW_named_value_in_synpred287_sdl9213610) + self.named_value() + self._state.following.pop() - retval.stop = self.input.LT(-1) + else: + break #loop258 - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred287_sdl9213630) - 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 "external_synonym_id" + # $ANTLR end "synpred287_sdl92" - class remote_variable_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + # $ANTLR start "synpred289_sdl92" + def synpred289_sdl92_fragment(self, ): + # sdl92.g:1198:17: ( '{' expression ( COMMA expression )* '}' ) + # sdl92.g:1198:17: '{' expression ( COMMA expression )* '}' + pass + root_0 = self._adaptor.nil() + self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred289_sdl9213681) + self._state.following.append(self.FOLLOW_expression_in_synpred289_sdl9213699) + self.expression() - # $ANTLR start "remote_variable_id" - # sdl92.g:1712:1: remote_variable_id : ID ; - def remote_variable_id(self, ): - retval = self.remote_variable_id_return() - retval.start = self.input.LT(1) + self._state.following.pop() - root_0 = None + # sdl92.g:1199:28: ( COMMA expression )* + while True: #loop259 + alt259 = 2 + LA259_0 = self.input.LA(1) - ID899 = None + if (LA259_0 == COMMA) : + alt259 = 1 - ID899_tree = None - try: - try: - # sdl92.g:1713:17: ( ID ) - # sdl92.g:1713:25: ID + if alt259 == 1: + # sdl92.g:1199:29: COMMA expression pass - root_0 = self._adaptor.nil() + self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred289_sdl9213702) - ID899 = self.match(self.input, ID, self.FOLLOW_ID_in_remote_variable_id19565) - if self._state.backtracking == 0: - ID899_tree = self._adaptor.createWithPayload(ID899) - self._adaptor.addChild(root_0, ID899_tree) + self._state.following.append(self.FOLLOW_expression_in_synpred289_sdl9213704) + self.expression() + self._state.following.pop() + else: + break #loop259 - retval.stop = self.input.LT(-1) + self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred289_sdl9213724) - 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) + # $ANTLR end "synpred289_sdl92" - finally: - pass - return retval - # $ANTLR end "remote_variable_id" + # $ANTLR start "synpred306_sdl92" + def synpred306_sdl92_fragment(self, ): + # sdl92.g:1408:36: ( SEMI ) + # sdl92.g:1408:36: SEMI + pass + root_0 = self._adaptor.nil() - class view_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - self.tree = None + self.match(self.input, SEMI, self.FOLLOW_SEMI_in_synpred306_sdl9215020) + # $ANTLR end "synpred306_sdl92" - # $ANTLR start "view_id" - # sdl92.g:1714:1: view_id : ID ; - def view_id(self, ): - retval = self.view_id_return() - retval.start = self.input.LT(1) - root_0 = None - ID900 = None + def synpred10_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred10_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - ID900_tree = None + def synpred137_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred137_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred33_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() try: - try: - # sdl92.g:1714:17: ( ID ) - # sdl92.g:1714:25: ID - pass - root_0 = self._adaptor.nil() + self.synpred33_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred63_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred63_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - ID900 = self.match(self.input, ID, self.FOLLOW_ID_in_view_id19586) - if self._state.backtracking == 0: - ID900_tree = self._adaptor.createWithPayload(ID900) - self._adaptor.addChild(root_0, ID900_tree) + def synpred201_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred201_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred229_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred229_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred199_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred199_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred254_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred254_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred284_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred284_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - retval.stop = self.input.LT(-1) + def synpred116_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred116_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred34_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred34_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - 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) + def synpred287_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred287_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - finally: - pass - return retval + def synpred252_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred252_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - # $ANTLR end "view_id" + def synpred197_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred197_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred260_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred260_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - class sort_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + def synpred48_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred48_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - self.tree = None + def synpred62_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred62_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred130_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred130_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred50_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred50_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred238_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred238_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred200_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred200_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - # $ANTLR start "sort_id" - # sdl92.g:1715:1: sort_id : ID ; - def sort_id(self, ): - retval = self.sort_id_return() - retval.start = self.input.LT(1) + def synpred190_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred190_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred45_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred45_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - root_0 = None + def synpred198_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred198_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - ID901 = None + def synpred283_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred283_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - ID901_tree = None + def synpred233_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred233_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred253_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() try: - try: - # sdl92.g:1715:17: ( ID ) - # sdl92.g:1715:25: ID - pass - root_0 = self._adaptor.nil() + self.synpred253_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred168_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred168_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - ID901 = self.match(self.input, ID, self.FOLLOW_ID_in_sort_id19607) - if self._state.backtracking == 0: - ID901_tree = self._adaptor.createWithPayload(ID901) - self._adaptor.addChild(root_0, ID901_tree) + def synpred161_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred161_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred49_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred49_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred111_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred111_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred181_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred181_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred139_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred139_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - retval.stop = self.input.LT(-1) + def synpred184_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred184_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred194_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred194_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + def synpred289_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred289_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred41_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred41_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred11_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred11_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - 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) + def synpred282_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred282_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - finally: - pass - return retval + def synpred306_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred306_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - # $ANTLR end "sort_id" + def synpred236_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred236_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred262_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred262_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - class type_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + def synpred285_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred285_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - self.tree = None + def synpred138_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred138_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred32_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred32_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred245_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred245_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred9_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred9_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success + def synpred248_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred248_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - # $ANTLR start "type_id" - # sdl92.g:1716:1: type_id : ID ; - def type_id(self, ): - retval = self.type_id_return() - retval.start = self.input.LT(1) + def synpred35_sdl92(self): + self._state.backtracking += 1 + start = self.input.mark() + try: + self.synpred35_sdl92_fragment() + except BacktrackingFailed: + success = False + else: + success = True + self.input.rewind(start) + self._state.backtracking -= 1 + return success - root_0 = None - ID902 = None + # lookup tables for DFA #1 - ID902_tree = None + DFA1_eot = DFA.unpack( + "\52\uffff" + ) - try: - try: - # sdl92.g:1716:17: ( ID ) - # sdl92.g:1716:25: ID - pass - root_0 = self._adaptor.nil() + DFA1_eof = DFA.unpack( + "\1\1\51\uffff" + ) + DFA1_min = DFA.unpack( + "\1\u00a9\1\uffff\1\12\3\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1" + "\u00fa\1\22\1\163\1\40\1\u00a9\6\u00cf\1\146\1\u00cf\1\53\6\u00fa" + "\1\146\1\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba" + "\1\u00fa" + ) - ID902 = self.match(self.input, ID, self.FOLLOW_ID_in_type_id19628) - if self._state.backtracking == 0: - ID902_tree = self._adaptor.createWithPayload(ID902) - self._adaptor.addChild(root_0, ID902_tree) + DFA1_max = DFA.unpack( + "\1\u00fe\1\uffff\1\u0100\3\uffff\1\u00c5\1\u0081\1\163\1\137\1\163" + "\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163" + "\10\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1" + "\u00fa" + ) + DFA1_accept = DFA.unpack( + "\1\uffff\1\4\1\uffff\1\1\1\2\1\3\44\uffff" + ) + DFA1_special = DFA.unpack( + "\52\uffff" + ) + DFA1_transition = [ + DFA.unpack("\1\5\55\uffff\1\4\21\uffff\1\3\24\uffff\1\2"), + DFA.unpack(""), + DFA.unpack("\1\7\2\uffff\1\7\23\uffff\1\7\3\uffff\1\7\3\uffff\1" + "\7\3\uffff\1\7\101\uffff\1\7\7\uffff\1\7\1\uffff\1\6\1\uffff\1\7" + "\22\uffff\1\7\10\uffff\1\7\16\uffff\2\7\1\uffff\2\7\11\uffff\1\7" + "\21\uffff\2\7\4\uffff\1\7\14\uffff\1\7\2\uffff\1\7\43\uffff\1\10"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\11"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13"), + DFA.unpack("\1\14"), + DFA.unpack("\1\15\107\uffff\1\16"), + DFA.unpack("\1\17"), + DFA.unpack("\1\27\121\uffff\1\20\67\uffff\1\26\2\uffff\1\25\22\uffff" + "\1\23\1\21\2\uffff\1\24\1\22"), + DFA.unpack("\1\16"), + DFA.unpack("\1\30"), + DFA.unpack("\1\5\77\uffff\1\3\24\uffff\1\2"), + DFA.unpack("\1\31"), + DFA.unpack("\1\32"), + DFA.unpack("\1\33"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37\140\uffff\1\37"), + DFA.unpack("\1\40"), + DFA.unpack("\1\41\107\uffff\1\42"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\37\140\uffff\1\37\62\uffff\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\42"), + DFA.unpack("\1\43"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\51"), + DFA.unpack("\1\17") + ] - retval.stop = self.input.LT(-1) + # class definition for DFA #1 + class DFA1(DFA): + pass - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + # lookup tables for DFA #15 + DFA15_eot = DFA.unpack( + "\15\uffff" + ) - 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) + DFA15_eof = DFA.unpack( + "\15\uffff" + ) - finally: - pass - return retval + DFA15_min = DFA.unpack( + "\1\31\1\12\5\uffff\1\u00c5\1\137\1\22\2\146\1\u00a9" + ) - # $ANTLR end "type_id" + DFA15_max = DFA.unpack( + "\1\u00fe\1\u0100\5\uffff\1\u00c5\1\137\1\u00b7\1\u00c7\1\u00fa\1" + "\u00fe" + ) + DFA15_accept = DFA.unpack( + "\2\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff" + ) - class syntype_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + DFA15_special = DFA.unpack( + "\15\uffff" + ) - self.tree = None + DFA15_transition = [ + DFA.unpack("\1\5\13\uffff\1\4\u0083\uffff\1\6\27\uffff\1\2\1\3\73" + "\uffff\1\1"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\7\1\uffff\1\6" + "\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1\6" + "\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1\6"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\6\121\uffff\1\6\67\uffff\1\12\2\uffff\1\6\22\uffff" + "\2\6\2\uffff\2\6"), + DFA.unpack("\1\13\140\uffff\1\13"), + DFA.unpack("\1\13\140\uffff\1\13\62\uffff\1\14"), + DFA.unpack("\1\6\27\uffff\1\2\74\uffff\1\6") + ] + # class definition for DFA #15 + class DFA15(DFA): + pass - # $ANTLR start "syntype_id" - # sdl92.g:1717:1: syntype_id : ID ; - def syntype_id(self, ): - retval = self.syntype_id_return() - retval.start = self.input.LT(1) + # lookup tables for DFA #16 + DFA16_eot = DFA.unpack( + "\57\uffff" + ) - root_0 = None + DFA16_eof = DFA.unpack( + "\1\3\56\uffff" + ) - ID903 = None + DFA16_min = DFA.unpack( + "\1\31\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\41\1\146\7\u00cf\1\53\1\12\1\146\7\u00fa\1\163\1\u00ba" + "\1\u00c5\1\41\1\40\1\137\1\u0081\1\22\1\163\1\146\1\40\1\146\1\163" + "\1\u00ba\1\u00fa" + ) - ID903_tree = None + DFA16_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf\1\163\1\u0100\10\u00fa" + "\1\163\1\u00ba\1\u00c5\1\u00fe\1\40\1\137\1\u0081\1\u00b7\1\163" + "\1\u00c7\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" + ) - try: - try: - # sdl92.g:1717:17: ( ID ) - # sdl92.g:1717:25: ID - pass - root_0 = self._adaptor.nil() + DFA16_accept = DFA.unpack( + "\2\uffff\1\1\1\2\53\uffff" + ) + DFA16_special = DFA.unpack( + "\57\uffff" + ) - ID903 = self.match(self.input, ID, self.FOLLOW_ID_in_syntype_id19646) - if self._state.backtracking == 0: - ID903_tree = self._adaptor.createWithPayload(ID903) - self._adaptor.addChild(root_0, ID903_tree) + DFA16_transition = [ + DFA.unpack("\1\3\7\uffff\1\2\3\uffff\1\3\21\uffff\1\3\44\uffff\1" + "\3\114\uffff\1\3\24\uffff\1\2\2\uffff\2\3\73\uffff\1\1"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\7"), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), + DFA.unpack("\1\15"), + DFA.unpack("\1\25\121\uffff\1\17\67\uffff\1\16\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), + DFA.unpack("\1\14"), + DFA.unpack("\1\26"), + DFA.unpack("\1\2\u0087\uffff\1\3\124\uffff\1\27"), + DFA.unpack("\1\30\140\uffff\1\30"), + DFA.unpack("\1\31"), + DFA.unpack("\1\32"), + DFA.unpack("\1\33"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37"), + DFA.unpack("\1\40\107\uffff\1\41"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\42\1\uffff\1" + "\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1" + "\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1" + "\6"), + DFA.unpack("\1\30\140\uffff\1\30\62\uffff\1\43"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\41"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\2\u0087\uffff\1\3\27\uffff\1\3\74\uffff\1\27"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\25\121\uffff\1\17\67\uffff\1\51\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53\140\uffff\1\53"), + DFA.unpack("\1\54"), + DFA.unpack("\1\53\140\uffff\1\53\62\uffff\1\15"), + DFA.unpack("\1\55"), + DFA.unpack("\1\56"), + DFA.unpack("\1\15") + ] + # class definition for DFA #16 + class DFA16(DFA): + pass - retval.stop = self.input.LT(-1) + # lookup tables for DFA #29 + DFA29_eot = DFA.unpack( + "\57\uffff" + ) - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + DFA29_eof = DFA.unpack( + "\1\3\56\uffff" + ) + DFA29_min = DFA.unpack( + "\1\31\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\41\1\146\7\u00cf\1\53\1\12\1\146\7\u00fa\1\163\1\u00ba" + "\1\u00c5\1\41\1\40\1\137\1\u0081\1\22\1\163\1\146\1\40\1\146\1\163" + "\1\u00ba\1\u00fa" + ) + DFA29_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf\1\163\1\u0100\10\u00fa" + "\1\163\1\u00ba\1\u00c5\1\u00fe\1\40\1\137\1\u0081\1\u00b7\1\163" + "\1\u00c7\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" + ) - 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) + DFA29_accept = DFA.unpack( + "\2\uffff\1\1\1\2\53\uffff" + ) - finally: - pass - return retval + DFA29_special = DFA.unpack( + "\57\uffff" + ) - # $ANTLR end "syntype_id" + DFA29_transition = [ + DFA.unpack("\1\3\7\uffff\1\2\3\uffff\1\3\21\uffff\1\3\161\uffff\1" + "\3\24\uffff\1\2\2\uffff\2\3\24\uffff\1\3\21\uffff\1\3\24\uffff\1" + "\1"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\7"), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), + DFA.unpack("\1\15"), + DFA.unpack("\1\25\121\uffff\1\17\67\uffff\1\16\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), + DFA.unpack("\1\14"), + DFA.unpack("\1\26"), + DFA.unpack("\1\2\u0087\uffff\1\3\77\uffff\1\3\24\uffff\1\27"), + DFA.unpack("\1\30\140\uffff\1\30"), + DFA.unpack("\1\31"), + DFA.unpack("\1\32"), + DFA.unpack("\1\33"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37"), + DFA.unpack("\1\40\107\uffff\1\41"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\42\1\uffff\1" + "\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1" + "\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1" + "\6"), + DFA.unpack("\1\30\140\uffff\1\30\62\uffff\1\43"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\41"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\2\u0087\uffff\1\3\27\uffff\1\3\47\uffff\1\3\24\uffff" + "\1\27"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\25\121\uffff\1\17\67\uffff\1\51\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53\140\uffff\1\53"), + DFA.unpack("\1\54"), + DFA.unpack("\1\53\140\uffff\1\53\62\uffff\1\15"), + DFA.unpack("\1\55"), + DFA.unpack("\1\56"), + DFA.unpack("\1\15") + ] - class stimulus_id_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + # class definition for DFA #29 - self.tree = None + class DFA29(DFA): + pass + # lookup tables for DFA #31 + DFA31_eot = DFA.unpack( + "\123\uffff" + ) + DFA31_eof = DFA.unpack( + "\1\4\122\uffff" + ) - # $ANTLR start "stimulus_id" - # sdl92.g:1718:1: stimulus_id : ID ; - def stimulus_id(self, ): - retval = self.stimulus_id_return() - retval.start = self.input.LT(1) + DFA31_min = DFA.unpack( + "\1\31\1\12\1\u00cf\1\0\1\uffff\1\u00c5\1\u0081\1\163\1\u00be\1\uffff" + "\1\137\1\53\1\u00fa\1\0\1\22\1\163\1\40\1\41\1\146\7\u00cf\1\53" + "\1\12\1\146\7\u00fa\1\163\1\u00ba\1\u00c5\1\u0081\1\163\1\41\1\40" + "\1\137\1\53\1\u00fa\1\u0081\1\22\1\163\1\40\1\41\1\163\1\146\7\u00cf" + "\1\53\1\40\1\146\7\u00fa\1\163\1\u00ba\1\163\1\41\1\40\1\u00ba\1" + "\u0081\1\u00fa\1\163\1\40\1\163\1\u00ba\1\u00fa" + ) + DFA31_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00cf\1\0\1\uffff\1\u00c5\1\u0081\1\163\1\u00be" + "\1\uffff\1\137\1\163\1\u00fa\1\0\1\u00b7\1\163\1\40\1\u00fe\1\u00c7" + "\7\u00cf\1\163\1\u0100\10\u00fa\1\163\1\u00ba\1\u00c5\1\u0081\1" + "\163\1\u00fe\1\40\1\137\1\163\1\u00fa\1\u0081\1\u00b7\1\163\1\40" + "\1\u00fe\1\163\1\u00c7\7\u00cf\1\163\1\40\10\u00fa\1\163\1\u00ba" + "\1\163\1\u00fe\1\40\1\u00ba\1\u0081\1\u00fa\1\163\1\40\1\163\1\u00ba" + "\1\u00fa" + ) - root_0 = None + DFA31_accept = DFA.unpack( + "\4\uffff\1\2\4\uffff\1\1\111\uffff" + ) - ID904 = None + DFA31_special = DFA.unpack( + "\3\uffff\1\0\11\uffff\1\1\105\uffff" + ) - ID904_tree = None - try: - try: - # sdl92.g:1718:17: ( ID ) - # sdl92.g:1718:25: ID - pass - root_0 = self._adaptor.nil() + DFA31_transition = [ + DFA.unpack("\1\4\7\uffff\1\2\3\uffff\2\4\20\uffff\1\4\6\uffff\1\4" + "\15\uffff\1\4\31\uffff\1\4\77\uffff\1\4\2\uffff\1\4\24\uffff\1\3" + "\2\uffff\2\4\3\uffff\2\4\17\uffff\1\4\15\uffff\1\4\3\uffff\1\4\24" + "\uffff\1\1"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\5\1\uffff\1\6" + "\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1\6" + "\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1\7"), + DFA.unpack("\1\10"), + DFA.unpack("\1\uffff"), + DFA.unpack(""), + DFA.unpack("\1\12"), + DFA.unpack("\1\13"), + DFA.unpack("\1\14"), + DFA.unpack("\1\15"), + DFA.unpack(""), + DFA.unpack("\1\16"), + DFA.unpack("\1\17\107\uffff\1\20"), + DFA.unpack("\1\21"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\31\121\uffff\1\23\67\uffff\1\22\2\uffff\1\30\22\uffff" + "\1\26\1\24\2\uffff\1\27\1\25"), + DFA.unpack("\1\20"), + DFA.unpack("\1\32"), + DFA.unpack("\1\2\4\uffff\1\4\5\uffff\1\4\31\uffff\1\4\5\uffff\1" + "\4\16\uffff\1\4\15\uffff\1\4\35\uffff\1\4\5\uffff\1\4\30\uffff\1" + "\4\2\uffff\1\4\13\uffff\1\4\13\uffff\1\4\4\uffff\2\4\12\uffff\1" + "\4\1\uffff\1\4\1\uffff\1\4\12\uffff\1\4\7\uffff\1\4\22\uffff\1\4" + "\1\uffff\1\33"), + DFA.unpack("\1\34\140\uffff\1\34"), + DFA.unpack("\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37"), + DFA.unpack("\1\40"), + DFA.unpack("\1\41"), + DFA.unpack("\1\42"), + DFA.unpack("\1\43"), + DFA.unpack("\1\44\107\uffff\1\45"), + DFA.unpack("\1\47\2\uffff\1\47\23\uffff\1\47\3\uffff\1\47\3\uffff" + "\1\47\3\uffff\1\47\25\uffff\1\4\53\uffff\1\47\7\uffff\1\47\1\uffff" + "\1\46\1\uffff\1\47\22\uffff\1\47\10\uffff\1\47\16\uffff\2\47\1\uffff" + "\2\47\11\uffff\1\47\21\uffff\2\47\4\uffff\1\47\14\uffff\1\47\2\uffff" + "\1\47\43\uffff\1\50"), + DFA.unpack("\1\34\140\uffff\1\34\62\uffff\1\51"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\45"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53"), + DFA.unpack("\1\54"), + DFA.unpack("\1\55"), + DFA.unpack("\1\2\4\uffff\1\4\5\uffff\1\4\31\uffff\1\4\5\uffff\1" + "\4\16\uffff\1\4\15\uffff\1\4\35\uffff\1\4\5\uffff\1\4\30\uffff\1" + "\4\2\uffff\1\4\13\uffff\1\4\13\uffff\1\4\4\uffff\2\4\12\uffff\1" + "\4\1\uffff\1\4\1\uffff\1\4\12\uffff\1\4\7\uffff\1\4\22\uffff\1\4" + "\1\uffff\1\33"), + DFA.unpack("\1\56"), + DFA.unpack("\1\57"), + DFA.unpack("\1\60\107\uffff\1\61"), + DFA.unpack("\1\62"), + DFA.unpack("\1\63"), + DFA.unpack("\1\73\121\uffff\1\65\67\uffff\1\64\2\uffff\1\72\22\uffff" + "\1\70\1\66\2\uffff\1\71\1\67"), + DFA.unpack("\1\61"), + DFA.unpack("\1\74"), + DFA.unpack("\1\2\4\uffff\1\4\5\uffff\1\4\31\uffff\1\4\5\uffff\1" + "\4\16\uffff\1\4\15\uffff\1\4\35\uffff\1\4\5\uffff\1\4\30\uffff\1" + "\4\2\uffff\1\4\13\uffff\1\4\13\uffff\1\4\4\uffff\2\4\12\uffff\1" + "\4\1\uffff\1\4\1\uffff\1\4\12\uffff\1\4\7\uffff\1\4\22\uffff\1\4" + "\1\uffff\1\33"), + DFA.unpack("\1\75"), + DFA.unpack("\1\76\140\uffff\1\76"), + DFA.unpack("\1\77"), + DFA.unpack("\1\100"), + DFA.unpack("\1\101"), + DFA.unpack("\1\102"), + DFA.unpack("\1\103"), + DFA.unpack("\1\104"), + DFA.unpack("\1\105"), + DFA.unpack("\1\106\107\uffff\1\107"), + DFA.unpack("\1\110"), + DFA.unpack("\1\76\140\uffff\1\76\62\uffff\1\111"), + DFA.unpack("\1\62"), + DFA.unpack("\1\62"), + DFA.unpack("\1\62"), + DFA.unpack("\1\62"), + DFA.unpack("\1\62"), + DFA.unpack("\1\62"), + DFA.unpack("\1\62"), + DFA.unpack("\1\107"), + DFA.unpack("\1\112"), + DFA.unpack("\1\113"), + DFA.unpack("\1\2\4\uffff\1\4\5\uffff\1\4\31\uffff\1\4\5\uffff\1" + "\4\16\uffff\1\4\15\uffff\1\4\35\uffff\1\4\5\uffff\1\4\30\uffff\1" + "\4\2\uffff\1\4\13\uffff\1\4\13\uffff\1\4\4\uffff\2\4\12\uffff\1" + "\4\1\uffff\1\4\1\uffff\1\4\12\uffff\1\4\7\uffff\1\4\22\uffff\1\4" + "\1\uffff\1\33"), + DFA.unpack("\1\114"), + DFA.unpack("\1\115"), + DFA.unpack("\1\116"), + DFA.unpack("\1\21"), + DFA.unpack("\1\117"), + DFA.unpack("\1\120"), + DFA.unpack("\1\121"), + DFA.unpack("\1\122"), + DFA.unpack("\1\62") + ] + # class definition for DFA #31 - ID904 = self.match(self.input, ID, self.FOLLOW_ID_in_stimulus_id19663) - if self._state.backtracking == 0: - ID904_tree = self._adaptor.createWithPayload(ID904) - self._adaptor.addChild(root_0, ID904_tree) + class DFA31(DFA): + pass + def specialStateTransition(self_, s, input): + # convince pylint that my self_ magic is ok ;) + # pylint: disable-msg=E0213 + # pretend we are a member of the recognizer + # thus semantic predicates can be evaluated + self = self_.recognizer + _s = s - retval.stop = self.input.LT(-1) + if s == 0: + LA31_3 = input.LA(1) + + index31_3 = input.index() + input.rewind() - if self._state.backtracking == 0: - retval.tree = self._adaptor.rulePostProcessing(root_0) - self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop) + s = -1 + if (self.synpred41_sdl92()): + s = 9 + elif (True): + s = 4 + + input.seek(index31_3) - 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) + if s >= 0: + return s + elif s == 1: + LA31_13 = input.LA(1) - finally: - pass - return retval + + index31_13 = input.index() + input.rewind() - # $ANTLR end "stimulus_id" + s = -1 + if (self.synpred41_sdl92()): + s = 9 + elif (True): + s = 4 - class pid_expression_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() + + input.seek(index31_13) - self.tree = None + if s >= 0: + return s + if self._state.backtracking > 0: + raise BacktrackingFailed + nvae = NoViableAltException(self_.getDescription(), 31, _s, input) + self_.error(nvae) + raise nvae + # lookup tables for DFA #44 + DFA44_eot = DFA.unpack( + "\117\uffff" + ) - # $ANTLR start "pid_expression" - # sdl92.g:1761:1: pid_expression : ( S E L F | P A R E N T | O F F S P R I N G | S E N D E R ); - def pid_expression(self, ): - retval = self.pid_expression_return() - retval.start = self.input.LT(1) + DFA44_eof = DFA.unpack( + "\1\3\116\uffff" + ) + DFA44_min = DFA.unpack( + "\1\41\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\41\1\146\7\u00cf\1\53\1\12\1\146\7\u00fa\1\163\1\u00ba" + "\1\u00c5\1\u0081\1\163\1\41\1\40\1\137\1\53\1\u00fa\1\u0081\1\22" + "\1\163\1\40\1\41\1\163\1\146\7\u00cf\1\53\1\40\1\146\7\u00fa\1\163" + "\1\u00ba\1\163\1\41\1\40\1\u00ba\1\u0081\1\u00fa\1\163\1\40\1\163" + "\1\u00ba\1\u00fa" + ) - root_0 = None + DFA44_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf\1\163\1\u0100\10\u00fa" + "\1\163\1\u00ba\1\u00c5\1\u0081\1\163\1\u00fe\1\40\1\137\1\163\1" + "\u00fa\1\u0081\1\u00b7\1\163\1\40\1\u00fe\1\163\1\u00c7\7\u00cf" + "\1\163\1\40\10\u00fa\1\163\1\u00ba\1\163\1\u00fe\1\40\1\u00ba\1" + "\u0081\1\u00fa\1\163\1\40\1\163\1\u00ba\1\u00fa" + ) - S905 = None - E906 = None - L907 = None - F908 = None - P909 = None - A910 = None - R911 = None - E912 = None - N913 = None - T914 = None - O915 = None - F916 = None - F917 = None - S918 = None - P919 = None - R920 = None - I921 = None - N922 = None - G923 = None - S924 = None - E925 = None - N926 = None - D927 = None - E928 = None - R929 = None - - S905_tree = None - E906_tree = None - L907_tree = None - F908_tree = None - P909_tree = None - A910_tree = None - R911_tree = None - E912_tree = None - N913_tree = None - T914_tree = None - O915_tree = None - F916_tree = None - F917_tree = None - S918_tree = None - P919_tree = None - R920_tree = None - I921_tree = None - N922_tree = None - G923_tree = None - S924_tree = None - E925_tree = None - N926_tree = None - D927_tree = None - E928_tree = None - R929_tree = None + DFA44_accept = DFA.unpack( + "\2\uffff\1\1\1\2\113\uffff" + ) - try: - try: - # sdl92.g:1762:17: ( S E L F | P A R E N T | O F F S P R I N G | S E N D E R ) - alt316 = 4 - LA316 = self.input.LA(1) - if LA316 in {S}: - LA316_1 = self.input.LA(2) - - if (LA316_1 == E) : - LA316_4 = self.input.LA(3) - - if (LA316_4 == L) : - alt316 = 1 - elif (LA316_4 == N) : - alt316 = 4 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + DFA44_special = DFA.unpack( + "\117\uffff" + ) - nvae = NoViableAltException("", 316, 4, self.input) + DFA44_transition = [ + DFA.unpack("\1\2\4\uffff\1\3\5\uffff\1\3\20\uffff\1\3\10\uffff\1" + "\3\5\uffff\1\3\1\uffff\1\3\14\uffff\1\3\15\uffff\1\3\35\uffff\1" + "\3\5\uffff\1\3\30\uffff\1\3\10\uffff\1\3\5\uffff\1\3\10\uffff\1" + "\2\2\uffff\1\3\4\uffff\2\3\12\uffff\1\3\1\uffff\1\3\1\uffff\1\3" + "\12\uffff\1\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\1"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\25\uffff\1\3\53\uffff\1\5\7\uffff\1\5\1\uffff\1\4" + "\1\uffff\1\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5" + "\11\uffff\1\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5" + "\43\uffff\1\6"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\7"), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), + DFA.unpack("\1\15"), + DFA.unpack("\1\25\121\uffff\1\17\67\uffff\1\16\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), + DFA.unpack("\1\14"), + DFA.unpack("\1\26"), + DFA.unpack("\1\2\4\uffff\1\3\5\uffff\1\3\31\uffff\1\3\5\uffff\1" + "\3\16\uffff\1\3\15\uffff\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1" + "\3\16\uffff\1\3\13\uffff\1\3\4\uffff\2\3\12\uffff\1\3\1\uffff\1" + "\3\1\uffff\1\3\12\uffff\1\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\27"), + DFA.unpack("\1\30\140\uffff\1\30"), + DFA.unpack("\1\31"), + DFA.unpack("\1\32"), + DFA.unpack("\1\33"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37"), + DFA.unpack("\1\40\107\uffff\1\41"), + DFA.unpack("\1\43\2\uffff\1\43\23\uffff\1\43\3\uffff\1\43\3\uffff" + "\1\43\3\uffff\1\43\25\uffff\1\3\53\uffff\1\43\7\uffff\1\43\1\uffff" + "\1\42\1\uffff\1\43\22\uffff\1\43\10\uffff\1\43\16\uffff\2\43\1\uffff" + "\2\43\11\uffff\1\43\21\uffff\2\43\4\uffff\1\43\14\uffff\1\43\2\uffff" + "\1\43\43\uffff\1\44"), + DFA.unpack("\1\30\140\uffff\1\30\62\uffff\1\45"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\41"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\51"), + DFA.unpack("\1\2\4\uffff\1\3\5\uffff\1\3\31\uffff\1\3\5\uffff\1" + "\3\16\uffff\1\3\15\uffff\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1" + "\3\16\uffff\1\3\13\uffff\1\3\4\uffff\2\3\12\uffff\1\3\1\uffff\1" + "\3\1\uffff\1\3\12\uffff\1\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\27"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53"), + DFA.unpack("\1\54\107\uffff\1\55"), + DFA.unpack("\1\56"), + DFA.unpack("\1\57"), + DFA.unpack("\1\67\121\uffff\1\61\67\uffff\1\60\2\uffff\1\66\22\uffff" + "\1\64\1\62\2\uffff\1\65\1\63"), + DFA.unpack("\1\55"), + DFA.unpack("\1\70"), + DFA.unpack("\1\2\4\uffff\1\3\5\uffff\1\3\31\uffff\1\3\5\uffff\1" + "\3\16\uffff\1\3\15\uffff\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1" + "\3\16\uffff\1\3\13\uffff\1\3\4\uffff\2\3\12\uffff\1\3\1\uffff\1" + "\3\1\uffff\1\3\12\uffff\1\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\27"), + DFA.unpack("\1\71"), + DFA.unpack("\1\72\140\uffff\1\72"), + DFA.unpack("\1\73"), + DFA.unpack("\1\74"), + DFA.unpack("\1\75"), + DFA.unpack("\1\76"), + DFA.unpack("\1\77"), + DFA.unpack("\1\100"), + DFA.unpack("\1\101"), + DFA.unpack("\1\102\107\uffff\1\103"), + DFA.unpack("\1\104"), + DFA.unpack("\1\72\140\uffff\1\72\62\uffff\1\105"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\103"), + DFA.unpack("\1\106"), + DFA.unpack("\1\107"), + DFA.unpack("\1\2\4\uffff\1\3\5\uffff\1\3\31\uffff\1\3\5\uffff\1" + "\3\16\uffff\1\3\15\uffff\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1" + "\3\16\uffff\1\3\13\uffff\1\3\4\uffff\2\3\12\uffff\1\3\1\uffff\1" + "\3\1\uffff\1\3\12\uffff\1\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\27"), + DFA.unpack("\1\110"), + DFA.unpack("\1\111"), + DFA.unpack("\1\112"), + DFA.unpack("\1\15"), + DFA.unpack("\1\113"), + DFA.unpack("\1\114"), + DFA.unpack("\1\115"), + DFA.unpack("\1\116"), + DFA.unpack("\1\56") + ] - raise nvae + # class definition for DFA #44 + class DFA44(DFA): + pass - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + # lookup tables for DFA #48 - nvae = NoViableAltException("", 316, 1, self.input) + DFA48_eot = DFA.unpack( + "\61\uffff" + ) - raise nvae + DFA48_eof = DFA.unpack( + "\61\uffff" + ) + DFA48_min = DFA.unpack( + "\1\54\1\12\1\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\0\1\146\7\u00cf\1\53\1\uffff\1\146\7\u00fa\1\163\1" + "\u00ba\10\0\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa\1\0" + ) - elif LA316 in {P}: - alt316 = 2 - elif LA316 in {O}: - alt316 = 3 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed + DFA48_max = DFA.unpack( + "\1\u00fe\1\u0100\1\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\0\1\u00c7\7\u00cf\1\163\1\uffff\10\u00fa\1" + "\163\1\u00ba\10\0\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" + "\1\0" + ) + DFA48_accept = DFA.unpack( + "\2\uffff\1\2\23\uffff\1\1\32\uffff" + ) - nvae = NoViableAltException("", 316, 0, self.input) + DFA48_special = DFA.unpack( + "\14\uffff\1\0\24\uffff\1\11\1\1\1\2\1\3\1\4\1\5\1\6\1\10\7\uffff" + "\1\7" + ) - raise nvae + DFA48_transition = [ + DFA.unpack("\1\2\31\uffff\1\2\5\uffff\1\2\16\uffff\1\2\15\uffff\1" + "\2\35\uffff\1\2\5\uffff\1\2\30\uffff\1\2\16\uffff\1\2\13\uffff\1" + "\2\20\uffff\1\2\1\uffff\1\2\1\uffff\1\2\12\uffff\1\2\7\uffff\1\2" + "\22\uffff\1\2\1\uffff\1\1"), + DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" + "\4\3\uffff\1\4\25\uffff\1\2\53\uffff\1\4\7\uffff\1\4\1\uffff\1\3" + "\1\uffff\1\4\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4" + "\11\uffff\1\4\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4" + "\43\uffff\1\5"), + DFA.unpack(""), + DFA.unpack("\1\6"), + DFA.unpack("\1\7"), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12\107\uffff\1\13"), + DFA.unpack("\1\14"), + DFA.unpack("\1\24\121\uffff\1\16\67\uffff\1\15\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\13"), + DFA.unpack("\1\25"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\27\140\uffff\1\27"), + DFA.unpack("\1\30"), + DFA.unpack("\1\31"), + DFA.unpack("\1\32"), + DFA.unpack("\1\33"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack(""), + DFA.unpack("\1\27\140\uffff\1\27\62\uffff\1\41"), + DFA.unpack("\1\42"), + DFA.unpack("\1\43"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\40"), + DFA.unpack("\1\51"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53"), + DFA.unpack("\1\54"), + DFA.unpack("\1\55"), + DFA.unpack("\1\56"), + DFA.unpack("\1\57"), + DFA.unpack("\1\60"), + DFA.unpack("\1\uffff") + ] - if alt316 == 1: - # sdl92.g:1762:25: S E L F - pass - root_0 = self._adaptor.nil() + # class definition for DFA #48 + class DFA48(DFA): + pass - S905 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression20963) - if self._state.backtracking == 0: - S905_tree = self._adaptor.createWithPayload(S905) - self._adaptor.addChild(root_0, S905_tree) + def specialStateTransition(self_, s, input): + # convince pylint that my self_ magic is ok ;) + # pylint: disable-msg=E0213 + # pretend we are a member of the recognizer + # thus semantic predicates can be evaluated + self = self_.recognizer - E906 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression20965) - if self._state.backtracking == 0: - E906_tree = self._adaptor.createWithPayload(E906) - self._adaptor.addChild(root_0, E906_tree) + _s = s + if s == 0: + LA48_12 = input.LA(1) + + index48_12 = input.index() + input.rewind() - L907 = self.match(self.input, L, self.FOLLOW_L_in_pid_expression20967) - if self._state.backtracking == 0: - L907_tree = self._adaptor.createWithPayload(L907) - self._adaptor.addChild(root_0, L907_tree) + s = -1 + if (self.synpred62_sdl92()): + s = 22 + elif (True): + s = 2 + + input.seek(index48_12) - F908 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression20969) - if self._state.backtracking == 0: - F908_tree = self._adaptor.createWithPayload(F908) - self._adaptor.addChild(root_0, F908_tree) + if s >= 0: + return s + elif s == 1: + LA48_34 = input.LA(1) + + index48_34 = input.index() + input.rewind() + s = -1 + if (self.synpred62_sdl92()): + s = 22 + elif (True): + s = 2 - elif alt316 == 2: - # sdl92.g:1763:25: P A R E N T - pass - root_0 = self._adaptor.nil() + + input.seek(index48_34) + if s >= 0: + return s + elif s == 2: + LA48_35 = input.LA(1) - P909 = self.match(self.input, P, self.FOLLOW_P_in_pid_expression20995) - if self._state.backtracking == 0: - P909_tree = self._adaptor.createWithPayload(P909) - self._adaptor.addChild(root_0, P909_tree) + + index48_35 = input.index() + input.rewind() + s = -1 + if (self.synpred62_sdl92()): + s = 22 + elif (True): + s = 2 - A910 = self.match(self.input, A, self.FOLLOW_A_in_pid_expression20997) - if self._state.backtracking == 0: - A910_tree = self._adaptor.createWithPayload(A910) - self._adaptor.addChild(root_0, A910_tree) + + input.seek(index48_35) + if s >= 0: + return s + elif s == 3: + LA48_36 = input.LA(1) + + index48_36 = input.index() + input.rewind() - R911 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression20999) - if self._state.backtracking == 0: - R911_tree = self._adaptor.createWithPayload(R911) - self._adaptor.addChild(root_0, R911_tree) + s = -1 + if (self.synpred62_sdl92()): + s = 22 + elif (True): + s = 2 + + input.seek(index48_36) - E912 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression21001) - if self._state.backtracking == 0: - E912_tree = self._adaptor.createWithPayload(E912) - self._adaptor.addChild(root_0, E912_tree) + if s >= 0: + return s + elif s == 4: + LA48_37 = input.LA(1) + + index48_37 = input.index() + input.rewind() + s = -1 + if (self.synpred62_sdl92()): + s = 22 - N913 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression21003) - if self._state.backtracking == 0: - N913_tree = self._adaptor.createWithPayload(N913) - self._adaptor.addChild(root_0, N913_tree) + elif (True): + s = 2 + + input.seek(index48_37) + if s >= 0: + return s + elif s == 5: + LA48_38 = input.LA(1) - T914 = self.match(self.input, T, self.FOLLOW_T_in_pid_expression21005) - if self._state.backtracking == 0: - T914_tree = self._adaptor.createWithPayload(T914) - self._adaptor.addChild(root_0, T914_tree) + + index48_38 = input.index() + input.rewind() + s = -1 + if (self.synpred62_sdl92()): + s = 22 + elif (True): + s = 2 + + input.seek(index48_38) - elif alt316 == 3: - # sdl92.g:1764:25: O F F S P R I N G - pass - root_0 = self._adaptor.nil() + if s >= 0: + return s + elif s == 6: + LA48_39 = input.LA(1) + + index48_39 = input.index() + input.rewind() - O915 = self.match(self.input, O, self.FOLLOW_O_in_pid_expression21031) - if self._state.backtracking == 0: - O915_tree = self._adaptor.createWithPayload(O915) - self._adaptor.addChild(root_0, O915_tree) + s = -1 + if (self.synpred62_sdl92()): + s = 22 + elif (True): + s = 2 + + input.seek(index48_39) - F916 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression21033) - if self._state.backtracking == 0: - F916_tree = self._adaptor.createWithPayload(F916) - self._adaptor.addChild(root_0, F916_tree) + if s >= 0: + return s + elif s == 7: + LA48_48 = input.LA(1) + + index48_48 = input.index() + input.rewind() + s = -1 + if (self.synpred62_sdl92()): + s = 22 - F917 = self.match(self.input, F, self.FOLLOW_F_in_pid_expression21035) - if self._state.backtracking == 0: - F917_tree = self._adaptor.createWithPayload(F917) - self._adaptor.addChild(root_0, F917_tree) + elif (True): + s = 2 + + input.seek(index48_48) + if s >= 0: + return s + elif s == 8: + LA48_40 = input.LA(1) - S918 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression21037) - if self._state.backtracking == 0: - S918_tree = self._adaptor.createWithPayload(S918) - self._adaptor.addChild(root_0, S918_tree) + + index48_40 = input.index() + input.rewind() + s = -1 + if (self.synpred62_sdl92()): + s = 22 + elif (True): + s = 2 - P919 = self.match(self.input, P, self.FOLLOW_P_in_pid_expression21039) - if self._state.backtracking == 0: - P919_tree = self._adaptor.createWithPayload(P919) - self._adaptor.addChild(root_0, P919_tree) + + input.seek(index48_40) + if s >= 0: + return s + elif s == 9: + LA48_33 = input.LA(1) + + index48_33 = input.index() + input.rewind() - R920 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression21041) - if self._state.backtracking == 0: - R920_tree = self._adaptor.createWithPayload(R920) - self._adaptor.addChild(root_0, R920_tree) + s = -1 + if (self.synpred62_sdl92()): + s = 22 + elif (True): + s = 2 + + input.seek(index48_33) - I921 = self.match(self.input, I, self.FOLLOW_I_in_pid_expression21043) - if self._state.backtracking == 0: - I921_tree = self._adaptor.createWithPayload(I921) - self._adaptor.addChild(root_0, I921_tree) - - - - N922 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression21045) - if self._state.backtracking == 0: - N922_tree = self._adaptor.createWithPayload(N922) - self._adaptor.addChild(root_0, N922_tree) - - - - G923 = self.match(self.input, G, self.FOLLOW_G_in_pid_expression21047) - if self._state.backtracking == 0: - G923_tree = self._adaptor.createWithPayload(G923) - self._adaptor.addChild(root_0, G923_tree) - - - - - elif alt316 == 4: - # sdl92.g:1765:25: S E N D E R - pass - root_0 = self._adaptor.nil() - - - S924 = self.match(self.input, S, self.FOLLOW_S_in_pid_expression21073) - if self._state.backtracking == 0: - S924_tree = self._adaptor.createWithPayload(S924) - self._adaptor.addChild(root_0, S924_tree) - - - - E925 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression21075) - if self._state.backtracking == 0: - E925_tree = self._adaptor.createWithPayload(E925) - self._adaptor.addChild(root_0, E925_tree) - - - - N926 = self.match(self.input, N, self.FOLLOW_N_in_pid_expression21077) - if self._state.backtracking == 0: - N926_tree = self._adaptor.createWithPayload(N926) - self._adaptor.addChild(root_0, N926_tree) - - - - D927 = self.match(self.input, D, self.FOLLOW_D_in_pid_expression21079) - if self._state.backtracking == 0: - D927_tree = self._adaptor.createWithPayload(D927) - self._adaptor.addChild(root_0, D927_tree) - - - - E928 = self.match(self.input, E, self.FOLLOW_E_in_pid_expression21081) - if self._state.backtracking == 0: - E928_tree = self._adaptor.createWithPayload(E928) - self._adaptor.addChild(root_0, E928_tree) - - - - R929 = self.match(self.input, R, self.FOLLOW_R_in_pid_expression21083) - if self._state.backtracking == 0: - R929_tree = self._adaptor.createWithPayload(R929) - self._adaptor.addChild(root_0, R929_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 "pid_expression" - - - class now_expression_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - - self.tree = None - - - - - - # $ANTLR start "now_expression" - # sdl92.g:1766:1: now_expression : N O W ; - def now_expression(self, ): - retval = self.now_expression_return() - retval.start = self.input.LT(1) - - - root_0 = None - - N930 = None - O931 = None - W932 = None - - N930_tree = None - O931_tree = None - W932_tree = None - - try: - try: - # sdl92.g:1766:17: ( N O W ) - # sdl92.g:1766:25: N O W - pass - root_0 = self._adaptor.nil() - - - N930 = self.match(self.input, N, self.FOLLOW_N_in_now_expression21097) - if self._state.backtracking == 0: - N930_tree = self._adaptor.createWithPayload(N930) - self._adaptor.addChild(root_0, N930_tree) - - - - O931 = self.match(self.input, O, self.FOLLOW_O_in_now_expression21099) - if self._state.backtracking == 0: - O931_tree = self._adaptor.createWithPayload(O931) - self._adaptor.addChild(root_0, O931_tree) - - - - W932 = self.match(self.input, W, self.FOLLOW_W_in_now_expression21101) - if self._state.backtracking == 0: - W932_tree = self._adaptor.createWithPayload(W932) - self._adaptor.addChild(root_0, W932_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 "now_expression" - - - class signed_return(ParserRuleReturnScope): - def __init__(self): - super().__init__() - - self.tree = None - - - - - - # $ANTLR start "signed" - # sdl92.g:1913:1: signed : ( DASH )? INT ; - def signed(self, ): - retval = self.signed_return() - retval.start = self.input.LT(1) - - - root_0 = None - - DASH933 = None - INT934 = None - - DASH933_tree = None - INT934_tree = None - - try: - try: - # sdl92.g:1914:9: ( ( DASH )? INT ) - # sdl92.g:1914:17: ( DASH )? INT - pass - root_0 = self._adaptor.nil() - - - # sdl92.g:1914:17: ( DASH )? - alt317 = 2 - LA317_0 = self.input.LA(1) - - if (LA317_0 == DASH) : - alt317 = 1 - if alt317 == 1: - # sdl92.g:1914:17: DASH - pass - DASH933 = self.match(self.input, DASH, self.FOLLOW_DASH_in_signed24530) - if self._state.backtracking == 0: - DASH933_tree = self._adaptor.createWithPayload(DASH933) - self._adaptor.addChild(root_0, DASH933_tree) - - - - - - - INT934 = self.match(self.input, INT, self.FOLLOW_INT_in_signed24533) - if self._state.backtracking == 0: - INT934_tree = self._adaptor.createWithPayload(INT934) - self._adaptor.addChild(root_0, INT934_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 "signed" - - # $ANTLR start "synpred9_sdl92" - def synpred9_sdl92_fragment(self, ): - # sdl92.g:204:17: ( signal_declaration ) - # sdl92.g:204:17: signal_declaration - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_signal_declaration_in_synpred9_sdl921958) - self.signal_declaration() - - self._state.following.pop() - - - - - # $ANTLR end "synpred9_sdl92" - - - - # $ANTLR start "synpred10_sdl92" - def synpred10_sdl92_fragment(self, ): - # sdl92.g:205:19: ( text_area ) - # sdl92.g:205:19: text_area - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_text_area_in_synpred10_sdl921978) - self.text_area() - - self._state.following.pop() - - - - - # $ANTLR end "synpred10_sdl92" - - - - # $ANTLR start "synpred11_sdl92" - def synpred11_sdl92_fragment(self, ): - # sdl92.g:206:19: ( procedure ) - # sdl92.g:206:19: procedure - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_procedure_in_synpred11_sdl921998) - self.procedure() - - self._state.following.pop() - - - - - # $ANTLR end "synpred11_sdl92" - - - - # $ANTLR start "synpred37_sdl92" - def synpred37_sdl92_fragment(self, ): - # sdl92.g:291:18: ( text_area ) - # sdl92.g:291:18: text_area - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_text_area_in_synpred37_sdl922938) - self.text_area() - - self._state.following.pop() - - - - - # $ANTLR end "synpred37_sdl92" - - - - # $ANTLR start "synpred38_sdl92" - def synpred38_sdl92_fragment(self, ): - # sdl92.g:291:30: ( procedure ) - # sdl92.g:291:30: procedure - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_procedure_in_synpred38_sdl922942) - self.procedure() - - self._state.following.pop() - - - - - # $ANTLR end "synpred38_sdl92" - - - - # $ANTLR start "synpred39_sdl92" - def synpred39_sdl92_fragment(self, ): - # sdl92.g:291:42: ( composite_state_preamble ) - # sdl92.g:291:43: composite_state_preamble - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_composite_state_preamble_in_synpred39_sdl922947) - self.composite_state_preamble() - - self._state.following.pop() - - - - - # $ANTLR end "synpred39_sdl92" - - - - # $ANTLR start "synpred40_sdl92" - def synpred40_sdl92_fragment(self, ): - # sdl92.g:292:17: ( processBody ) - # sdl92.g:292:17: processBody - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_processBody_in_synpred40_sdl922971) - self.processBody() - - self._state.following.pop() - - - - - # $ANTLR end "synpred40_sdl92" - - - - # $ANTLR start "synpred46_sdl92" - def synpred46_sdl92_fragment(self, ): - # sdl92.g:305:17: ( end ) - # sdl92.g:305:17: end - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_end_in_synpred46_sdl923201) - self.end() - - self._state.following.pop() - - - - - # $ANTLR end "synpred46_sdl92" - - - - # $ANTLR start "synpred54_sdl92" - def synpred54_sdl92_fragment(self, ): - e1 = None - - - # sdl92.g:325:51: (e1= end ) - # sdl92.g:325:51: e1= end - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_end_in_synpred54_sdl923429) - e1 = self.end() - - self._state.following.pop() - - - - - # $ANTLR end "synpred54_sdl92" - - - - # $ANTLR start "synpred57_sdl92" - def synpred57_sdl92_fragment(self, ): - # sdl92.g:328:18: ( text_area ) - # sdl92.g:328:18: text_area - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_text_area_in_synpred57_sdl923493) - self.text_area() - - self._state.following.pop() - - - - - # $ANTLR end "synpred57_sdl92" - - - - # $ANTLR start "synpred58_sdl92" - def synpred58_sdl92_fragment(self, ): - # sdl92.g:328:30: ( procedure ) - # sdl92.g:328:30: procedure - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_procedure_in_synpred58_sdl923497) - self.procedure() - - self._state.following.pop() - - - - - # $ANTLR end "synpred58_sdl92" - - - - # $ANTLR start "synpred59_sdl92" - def synpred59_sdl92_fragment(self, ): - # sdl92.g:329:19: ( processBody ) - # sdl92.g:329:19: processBody - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_processBody_in_synpred59_sdl923519) - self.processBody() - - self._state.following.pop() - - - - - # $ANTLR end "synpred59_sdl92" - - - - # $ANTLR start "synpred74_sdl92" - def synpred74_sdl92_fragment(self, ): - # sdl92.g:367:17: ( symbolid ) - # sdl92.g:367:17: symbolid - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_symbolid_in_synpred74_sdl924083) - self.symbolid() - - self._state.following.pop() - - - - - # $ANTLR end "synpred74_sdl92" - - - - # $ANTLR start "synpred75_sdl92" - def synpred75_sdl92_fragment(self, ): - # sdl92.g:368:17: ( content ) - # sdl92.g:368:17: content - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_content_in_synpred75_sdl924102) - self.content() - - self._state.following.pop() - - - - - # $ANTLR end "synpred75_sdl92" - - - - # $ANTLR start "synpred138_sdl92" - def synpred138_sdl92_fragment(self, ): - e = None - - - # sdl92.g:585:39: (e= end ) - # sdl92.g:585:39: e= end - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_end_in_synpred138_sdl926805) - e = self.end() - - self._state.following.pop() - - - - - # $ANTLR end "synpred138_sdl92" - - - - # $ANTLR start "synpred148_sdl92" - def synpred148_sdl92_fragment(self, ): - e = None - - - # sdl92.g:599:53: (e= end ) - # sdl92.g:599:53: e= end - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_end_in_synpred148_sdl927065) - e = self.end() - - self._state.following.pop() - - - - - # $ANTLR end "synpred148_sdl92" - - - - # $ANTLR start "synpred162_sdl92" - def synpred162_sdl92_fragment(self, ): - # sdl92.g:657:18: ( text_area ) - # sdl92.g:657:18: text_area - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_text_area_in_synpred162_sdl927847) - self.text_area() - - self._state.following.pop() - - - - - # $ANTLR end "synpred162_sdl92" - - - - # $ANTLR start "synpred169_sdl92" - def synpred169_sdl92_fragment(self, ): - # sdl92.g:715:13: ( text_area ) - # sdl92.g:715:13: text_area - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_text_area_in_synpred169_sdl928349) - self.text_area() - - self._state.following.pop() - - - - - # $ANTLR end "synpred169_sdl92" - - - - # $ANTLR start "synpred170_sdl92" - def synpred170_sdl92_fragment(self, ): - # sdl92.g:716:15: ( procedure ) - # sdl92.g:716:15: procedure - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_procedure_in_synpred170_sdl928365) - self.procedure() - - self._state.following.pop() - - - - - # $ANTLR end "synpred170_sdl92" - - - - # $ANTLR start "synpred171_sdl92" - def synpred171_sdl92_fragment(self, ): - # sdl92.g:717:15: ( composite_state_preamble ) - # sdl92.g:717:16: composite_state_preamble - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_composite_state_preamble_in_synpred171_sdl928382) - self.composite_state_preamble() - - self._state.following.pop() - - - - - # $ANTLR end "synpred171_sdl92" - - - - # $ANTLR start "synpred209_sdl92" - def synpred209_sdl92_fragment(self, ): - # sdl92.g:839:17: ( enabling_condition ) - # sdl92.g:839:17: enabling_condition - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_enabling_condition_in_synpred209_sdl929721) - self.enabling_condition() - - self._state.following.pop() - - - - - # $ANTLR end "synpred209_sdl92" - - - - # $ANTLR start "synpred216_sdl92" - def synpred216_sdl92_fragment(self, ): - # sdl92.g:867:25: ( label ) - # sdl92.g:867:25: label - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_label_in_synpred216_sdl9210022) - self.label() - - self._state.following.pop() - - - - - # $ANTLR end "synpred216_sdl92" - - - - # $ANTLR start "synpred233_sdl92" - def synpred233_sdl92_fragment(self, ): - # sdl92.g:910:30: ( actual_parameters ) - # sdl92.g:910:30: actual_parameters - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_actual_parameters_in_synpred233_sdl9210634) - self.actual_parameters() - - self._state.following.pop() - - - - - # $ANTLR end "synpred233_sdl92" - - - - # $ANTLR start "synpred240_sdl92" - def synpred240_sdl92_fragment(self, ): - # sdl92.g:954:17: ( answer_part ) - # sdl92.g:954:17: answer_part - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_answer_part_in_synpred240_sdl9210822) - self.answer_part() - - self._state.following.pop() - - - - - # $ANTLR end "synpred240_sdl92" - - - - # $ANTLR start "synpred250_sdl92" - def synpred250_sdl92_fragment(self, ): - # sdl92.g:982:17: ( answer_part ) - # sdl92.g:982:17: answer_part - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_answer_part_in_synpred250_sdl9211205) - self.answer_part() - - self._state.following.pop() - - - - - # $ANTLR end "synpred250_sdl92" - - - - # $ANTLR start "synpred258_sdl92" - def synpred258_sdl92_fragment(self, ): - # sdl92.g:1002:17: ( range_condition ) - # sdl92.g:1002:17: range_condition - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_range_condition_in_synpred258_sdl9211516) - self.range_condition() - - self._state.following.pop() - - - - - # $ANTLR end "synpred258_sdl92" - - - - # $ANTLR start "synpred265_sdl92" - def synpred265_sdl92_fragment(self, ): - # sdl92.g:1019:17: ( informal_text ) - # sdl92.g:1019:17: informal_text - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_informal_text_in_synpred265_sdl9211737) - self.informal_text() - - self._state.following.pop() - - - - - # $ANTLR end "synpred265_sdl92" - - - - # $ANTLR start "synpred266_sdl92" - def synpred266_sdl92_fragment(self, ): - # sdl92.g:1020:19: ( expression ) - # sdl92.g:1020:19: expression - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_expression_in_synpred266_sdl9211757) - self.expression() - - self._state.following.pop() - - - - - # $ANTLR end "synpred266_sdl92" - - - - # $ANTLR start "synpred267_sdl92" - def synpred267_sdl92_fragment(self, ): - # sdl92.g:1028:18: ( closed_range ) - # sdl92.g:1028:18: closed_range - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_closed_range_in_synpred267_sdl9211850) - self.closed_range() - - self._state.following.pop() - - - - - # $ANTLR end "synpred267_sdl92" - - - - # $ANTLR start "synpred268_sdl92" - def synpred268_sdl92_fragment(self, ): - # sdl92.g:1029:24: ( closed_range ) - # sdl92.g:1029:24: closed_range - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_closed_range_in_synpred268_sdl9211878) - self.closed_range() - - self._state.following.pop() - - - - - # $ANTLR end "synpred268_sdl92" - - - - # $ANTLR start "synpred269_sdl92" - def synpred269_sdl92_fragment(self, ): - # sdl92.g:1029:18: ( ',' ( closed_range | open_range ) ) - # sdl92.g:1029:18: ',' ( closed_range | open_range ) - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred269_sdl9211874) - - - # sdl92.g:1029:23: ( closed_range | open_range ) - alt331 = 2 - LA331 = self.input.LA(1) - if LA331 in {ID}: - LA331_1 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 1, self.input) - - raise nvae - - - elif LA331 in {TRUE}: - LA331_2 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 2, self.input) - - raise nvae - - - elif LA331 in {FALSE}: - LA331_3 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 3, self.input) - - raise nvae - - - elif LA331 in {STRING}: - LA331_4 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 4, self.input) - - raise nvae - - - elif LA331 in {PLUS_INFINITY}: - LA331_5 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 5, self.input) - - raise nvae - - - elif LA331 in {MINUS_INFINITY}: - LA331_6 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 6, self.input) - - raise nvae - - - elif LA331 in {INT}: - LA331_7 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 7, self.input) - - raise nvae - - - elif LA331 in {FLOAT}: - LA331_8 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 8, self.input) - - raise nvae - - - elif LA331 in {L_BRACKET}: - LA331_9 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 9, self.input) - - raise nvae - - - elif LA331 in {MKSTRING}: - LA331_10 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 10, self.input) - - raise nvae - - - elif LA331 in {STATE}: - LA331_11 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 11, self.input) - - raise nvae - - - elif LA331 in {L_PAREN}: - LA331_12 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 12, self.input) - - raise nvae - - - elif LA331 in {IF}: - LA331_13 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 13, self.input) - - raise nvae - - - elif LA331 in {NOT}: - LA331_14 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 14, self.input) - - raise nvae - - - elif LA331 in {DASH}: - LA331_15 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 15, self.input) - - raise nvae - - - elif LA331 in {CALL}: - LA331_16 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 16, self.input) - - raise nvae - - - elif LA331 in {UNHANDLED}: - LA331_17 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 17, self.input) - - raise nvae - - - elif LA331 in {INPUT}: - LA331_18 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 18, self.input) - - raise nvae - - - elif LA331 in {OUTPUT}: - LA331_19 = self.input.LA(2) - - if (self.synpred268_sdl92()) : - alt331 = 1 - elif (True) : - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 19, self.input) - - raise nvae - - - elif LA331 in {EQ, GE, GT, LE, LT, NEQ}: - alt331 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 331, 0, self.input) - - raise nvae - - - if alt331 == 1: - # sdl92.g:1029:24: closed_range - pass - self._state.following.append(self.FOLLOW_closed_range_in_synpred269_sdl9211878) - self.closed_range() - - self._state.following.pop() - - - - elif alt331 == 2: - # sdl92.g:1029:37: open_range - pass - self._state.following.append(self.FOLLOW_open_range_in_synpred269_sdl9211880) - self.open_range() - - self._state.following.pop() - - - - - - - - # $ANTLR end "synpred269_sdl92" - - - - # $ANTLR start "synpred309_sdl92" - def synpred309_sdl92_fragment(self, ): - b = None - - - # sdl92.g:1172:18: ( COMMA b= ground_expression ) - # sdl92.g:1172:18: COMMA b= ground_expression - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred309_sdl9213621) - - - self._state.following.append(self.FOLLOW_ground_expression_in_synpred309_sdl9213625) - b = self.ground_expression() - - self._state.following.pop() - - - - - # $ANTLR end "synpred309_sdl92" - - - - # $ANTLR start "synpred313_sdl92" - def synpred313_sdl92_fragment(self, ): - # sdl92.g:1196:39: ( IMPLIES binary_expression_0 ) - # sdl92.g:1196:39: IMPLIES binary_expression_0 - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, IMPLIES, self.FOLLOW_IMPLIES_in_synpred313_sdl9213887) - - - self._state.following.append(self.FOLLOW_binary_expression_0_in_synpred313_sdl9213890) - self.binary_expression_0() - - self._state.following.pop() - - - - - # $ANTLR end "synpred313_sdl92" - - - - # $ANTLR start "synpred316_sdl92" - def synpred316_sdl92_fragment(self, ): - # sdl92.g:1198:38: ( ( ( OR ( ELSE )? ) | XOR ) binary_expression_1 ) - # sdl92.g:1198:38: ( ( OR ( ELSE )? ) | XOR ) binary_expression_1 - pass - root_0 = self._adaptor.nil() - - - # sdl92.g:1198:38: ( ( OR ( ELSE )? ) | XOR ) - alt336 = 2 - LA336_0 = self.input.LA(1) - - if (LA336_0 == OR) : - alt336 = 1 - elif (LA336_0 == XOR) : - alt336 = 2 - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - nvae = NoViableAltException("", 336, 0, self.input) - - raise nvae - - - if alt336 == 1: - # sdl92.g:1198:40: ( OR ( ELSE )? ) - pass - # sdl92.g:1198:40: ( OR ( ELSE )? ) - # sdl92.g:1198:41: OR ( ELSE )? - pass - self.match(self.input, OR, self.FOLLOW_OR_in_synpred316_sdl9213919) - - - # sdl92.g:1198:45: ( ELSE )? - alt335 = 2 - LA335_0 = self.input.LA(1) - - if (LA335_0 == ELSE) : - alt335 = 1 - if alt335 == 1: - # sdl92.g:1198:45: ELSE - pass - self.match(self.input, ELSE, self.FOLLOW_ELSE_in_synpred316_sdl9213922) - - - - - - - - - - elif alt336 == 2: - # sdl92.g:1198:54: XOR - pass - self.match(self.input, XOR, self.FOLLOW_XOR_in_synpred316_sdl9213928) - - - - - - self._state.following.append(self.FOLLOW_binary_expression_1_in_synpred316_sdl9213933) - self.binary_expression_1() - - self._state.following.pop() - - - - - # $ANTLR end "synpred316_sdl92" - - - - # $ANTLR start "synpred318_sdl92" - def synpred318_sdl92_fragment(self, ): - # sdl92.g:1200:39: ( AND ( THEN )? binary_expression_2 ) - # sdl92.g:1200:39: AND ( THEN )? binary_expression_2 - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, AND, self.FOLLOW_AND_in_synpred318_sdl9213960) - - - # sdl92.g:1200:44: ( THEN )? - alt337 = 2 - LA337_0 = self.input.LA(1) - - if (LA337_0 == THEN) : - alt337 = 1 - if alt337 == 1: - # sdl92.g:1200:44: THEN - pass - self.match(self.input, THEN, self.FOLLOW_THEN_in_synpred318_sdl9213963) - - - - - - self._state.following.append(self.FOLLOW_binary_expression_2_in_synpred318_sdl9213966) - self.binary_expression_2() - - self._state.following.pop() - - - - - # $ANTLR end "synpred318_sdl92" - - - - # $ANTLR start "synpred325_sdl92" - def synpred325_sdl92_fragment(self, ): - # sdl92.g:1202:38: ( ( EQ | NEQ | GT | GE | LT | LE | IN ) binary_expression_3 ) - # sdl92.g:1202:38: ( EQ | NEQ | GT | GE | LT | LE | IN ) binary_expression_3 - pass - root_0 = self._adaptor.nil() - - - if self.input.LA(1) in {EQ, GE, GT, IN, LE, LT, NEQ}: - self.input.consume() - self._state.errorRecovery = False - - - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - mse = MismatchedSetException(None, self.input) - raise mse - - - - self._state.following.append(self.FOLLOW_binary_expression_3_in_synpred325_sdl9214029) - self.binary_expression_3() - - self._state.following.pop() - - - - - # $ANTLR end "synpred325_sdl92" - - - - # $ANTLR start "synpred328_sdl92" - def synpred328_sdl92_fragment(self, ): - # sdl92.g:1204:38: ( ( PLUS | DASH | APPEND ) binary_expression_4 ) - # sdl92.g:1204:38: ( PLUS | DASH | APPEND ) binary_expression_4 - pass - root_0 = self._adaptor.nil() - - - if self.input.LA(1) in {APPEND, DASH, PLUS}: - self.input.consume() - self._state.errorRecovery = False - - - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - mse = MismatchedSetException(None, self.input) - raise mse - - - - self._state.following.append(self.FOLLOW_binary_expression_4_in_synpred328_sdl9214072) - self.binary_expression_4() - - self._state.following.pop() - - - - - # $ANTLR end "synpred328_sdl92" - - - - # $ANTLR start "synpred332_sdl92" - def synpred332_sdl92_fragment(self, ): - # sdl92.g:1206:35: ( ( ASTERISK | DIV | MOD | REM ) unary_expression ) - # sdl92.g:1206:35: ( ASTERISK | DIV | MOD | REM ) unary_expression - pass - root_0 = self._adaptor.nil() - - - if self.input.LA(1) in {ASTERISK, DIV, MOD, REM}: - self.input.consume() - self._state.errorRecovery = False - - - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - mse = MismatchedSetException(None, self.input) - raise mse - - - - self._state.following.append(self.FOLLOW_unary_expression_in_synpred332_sdl9214120) - self.unary_expression() - - self._state.following.pop() - - - - - # $ANTLR end "synpred332_sdl92" - - - - # $ANTLR start "synpred333_sdl92" - def synpred333_sdl92_fragment(self, ): - # sdl92.g:1210:17: ( postfix_expression ) - # sdl92.g:1210:17: postfix_expression - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_postfix_expression_in_synpred333_sdl9214145) - self.postfix_expression() - - self._state.following.pop() - - - - - # $ANTLR end "synpred333_sdl92" - - - - # $ANTLR start "synpred334_sdl92" - def synpred334_sdl92_fragment(self, ): - # sdl92.g:1211:17: ( primary_expression ) - # sdl92.g:1211:17: primary_expression - pass - root_0 = self._adaptor.nil() - - - self._state.following.append(self.FOLLOW_primary_expression_in_synpred334_sdl9214163) - self.primary_expression() - - self._state.following.pop() - - - - - # $ANTLR end "synpred334_sdl92" - - - - # $ANTLR start "synpred340_sdl92" - def synpred340_sdl92_fragment(self, ): - params = None - - - # sdl92.g:1222:21: ( '(' (params= expression_list )? ')' ) - # sdl92.g:1222:21: '(' (params= expression_list )? ')' - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, L_PAREN, self.FOLLOW_L_PAREN_in_synpred340_sdl9214370) - - - # sdl92.g:1222:31: (params= expression_list )? - alt338 = 2 - LA338_0 = self.input.LA(1) - - if (LA338_0 in {CALL, DASH, FALSE, FLOAT, ID, IF, INPUT, INT, L_BRACKET, L_PAREN, MINUS_INFINITY, MKSTRING, NOT, OUTPUT, PLUS_INFINITY, STATE, STRING, TRUE, UNHANDLED}) : - alt338 = 1 - if alt338 == 1: - # sdl92.g:1222:31: params= expression_list - pass - self._state.following.append(self.FOLLOW_expression_list_in_synpred340_sdl9214374) - params = self.expression_list() - - self._state.following.pop() - - - - - - self.match(self.input, R_PAREN, self.FOLLOW_R_PAREN_in_synpred340_sdl9214377) - - - - - # $ANTLR end "synpred340_sdl92" - - - - # $ANTLR start "synpred342_sdl92" - def synpred342_sdl92_fragment(self, ): - # sdl92.g:1224:21: ( ( '!' | DOT ) field_name ) - # sdl92.g:1224:21: ( '!' | DOT ) field_name - pass - root_0 = self._adaptor.nil() - - - if self.input.LA(1) in {DOT, 248}: - self.input.consume() - self._state.errorRecovery = False - - - else: - if self._state.backtracking > 0: - raise BacktrackingFailed - - - mse = MismatchedSetException(None, self.input) - raise mse - - - - self._state.following.append(self.FOLLOW_field_name_in_synpred342_sdl9214440) - self.field_name() - - self._state.following.pop() - - - - - # $ANTLR end "synpred342_sdl92" - - - - # $ANTLR start "synpred362_sdl92" - def synpred362_sdl92_fragment(self, ): - # sdl92.g:1267:17: ( ID ':' expression ) - # sdl92.g:1267:17: ID ':' expression - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, ID, self.FOLLOW_ID_in_synpred362_sdl9215105) - - - self.match(self.input, 255, self.FOLLOW_255_in_synpred362_sdl9215107) - - - self._state.following.append(self.FOLLOW_expression_in_synpred362_sdl9215109) - self.expression() - - self._state.following.pop() - - - - - # $ANTLR end "synpred362_sdl92" - - - - # $ANTLR start "synpred363_sdl92" - def synpred363_sdl92_fragment(self, ): - # sdl92.g:1268:17: ( ID ) - # sdl92.g:1268:17: ID - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, ID, self.FOLLOW_ID_in_synpred363_sdl9215147) - - - - - # $ANTLR end "synpred363_sdl92" - - - - # $ANTLR start "synpred364_sdl92" - def synpred364_sdl92_fragment(self, ): - # sdl92.g:1269:17: ( '{' '}' ) - # sdl92.g:1269:17: '{' '}' - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred364_sdl9215198) - - - self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred364_sdl9215200) - - - - - # $ANTLR end "synpred364_sdl92" - - - - # $ANTLR start "synpred365_sdl92" - def synpred365_sdl92_fragment(self, ): - mant = None - bas = None - exp = None - - mant_tree = None - bas_tree = None - exp_tree = None - - # sdl92.g:1270:17: ( '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' ) - # sdl92.g:1270:17: '{' MANTISSA mant= INT COMMA BASE bas= INT COMMA EXPONENT exp= INT '}' - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred365_sdl9215244) - - - self.match(self.input, MANTISSA, self.FOLLOW_MANTISSA_in_synpred365_sdl9215262) - - - mant = self.match(self.input, INT, self.FOLLOW_INT_in_synpred365_sdl9215266) - - - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred365_sdl9215268) - - - self.match(self.input, BASE, self.FOLLOW_BASE_in_synpred365_sdl9215286) - - - bas = self.match(self.input, INT, self.FOLLOW_INT_in_synpred365_sdl9215290) - - - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred365_sdl9215292) - - - self.match(self.input, EXPONENT, self.FOLLOW_EXPONENT_in_synpred365_sdl9215310) - - - exp = self.match(self.input, INT, self.FOLLOW_INT_in_synpred365_sdl9215314) - - - self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred365_sdl9215332) - - - - - # $ANTLR end "synpred365_sdl92" - - - - # $ANTLR start "synpred367_sdl92" - def synpred367_sdl92_fragment(self, ): - # sdl92.g:1275:17: ( '{' named_value ( COMMA named_value )* '}' ) - # sdl92.g:1275:17: '{' named_value ( COMMA named_value )* '}' - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred367_sdl9215389) - - - self._state.following.append(self.FOLLOW_named_value_in_synpred367_sdl9215407) - self.named_value() - - self._state.following.pop() - - - # sdl92.g:1276:29: ( COMMA named_value )* - while True: #loop342 - alt342 = 2 - LA342_0 = self.input.LA(1) - - if (LA342_0 == COMMA) : - alt342 = 1 - - - if alt342 == 1: - # sdl92.g:1276:30: COMMA named_value - pass - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred367_sdl9215410) - - - self._state.following.append(self.FOLLOW_named_value_in_synpred367_sdl9215412) - self.named_value() - - self._state.following.pop() - - - - else: - break #loop342 - - - self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred367_sdl9215432) - - - - - # $ANTLR end "synpred367_sdl92" - - - - # $ANTLR start "synpred369_sdl92" - def synpred369_sdl92_fragment(self, ): - # sdl92.g:1278:17: ( '{' expression ( COMMA expression )* '}' ) - # sdl92.g:1278:17: '{' expression ( COMMA expression )* '}' - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, L_BRACKET, self.FOLLOW_L_BRACKET_in_synpred369_sdl9215483) - - - self._state.following.append(self.FOLLOW_expression_in_synpred369_sdl9215501) - self.expression() - - self._state.following.pop() - - - # sdl92.g:1279:28: ( COMMA expression )* - while True: #loop343 - alt343 = 2 - LA343_0 = self.input.LA(1) - - if (LA343_0 == COMMA) : - alt343 = 1 - - - if alt343 == 1: - # sdl92.g:1279:29: COMMA expression - pass - self.match(self.input, COMMA, self.FOLLOW_COMMA_in_synpred369_sdl9215504) - - - self._state.following.append(self.FOLLOW_expression_in_synpred369_sdl9215506) - self.expression() - - self._state.following.pop() - - - - else: - break #loop343 - - - self.match(self.input, R_BRACKET, self.FOLLOW_R_BRACKET_in_synpred369_sdl9215526) - - - - - # $ANTLR end "synpred369_sdl92" - - - - # $ANTLR start "synpred393_sdl92" - def synpred393_sdl92_fragment(self, ): - # sdl92.g:1492:57: ( SEMI ) - # sdl92.g:1492:57: SEMI - pass - root_0 = self._adaptor.nil() - - - self.match(self.input, SEMI, self.FOLLOW_SEMI_in_synpred393_sdl9216922) - - - - - # $ANTLR end "synpred393_sdl92" - - - - - def synpred333_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred333_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred40_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred40_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred10_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred10_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred37_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred37_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred57_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred57_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred367_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred367_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred209_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred209_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred74_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred74_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred362_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred362_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred269_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred269_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred54_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred54_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred342_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred342_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred316_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred316_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred267_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred267_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred162_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred162_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred170_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred170_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred365_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred365_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred148_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred148_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred313_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred313_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred258_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred258_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred240_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred240_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred393_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred393_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred328_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred328_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred233_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred233_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred325_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred325_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred39_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred39_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred266_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred266_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred309_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred309_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred59_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred59_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred364_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred364_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred171_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred171_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred169_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred169_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred11_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred11_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred334_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred334_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred46_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred46_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred369_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred369_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred332_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred332_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - - def synpred216_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred216_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + if s >= 0: + return s - def synpred38_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred38_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + if self._state.backtracking > 0: + raise BacktrackingFailed - def synpred138_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred138_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + nvae = NoViableAltException(self_.getDescription(), 48, _s, input) + self_.error(nvae) + raise nvae - def synpred250_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred250_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + # lookup tables for DFA #50 - def synpred58_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred58_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + DFA50_eot = DFA.unpack( + "\72\uffff" + ) - def synpred265_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred265_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + DFA50_eof = DFA.unpack( + "\1\2\71\uffff" + ) - def synpred340_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred340_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + DFA50_min = DFA.unpack( + "\1\54\1\12\15\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\114\1\146\7\u00cf\1\53\1\12\1\146\7\u00fa\1\163\1" + "\u00ba\1\u00c5\1\114\1\40\1\137\1\u0081\1\22\1\163\1\146\1\40\1" + "\146\1\163\1\u00ba\1\u00fa" + ) - def synpred9_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred9_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + DFA50_max = DFA.unpack( + "\1\u00fe\1\u0100\15\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf\1\163\1\u0100\10\u00fa" + "\1\163\1\u00ba\1\u00c5\1\u00fe\1\40\1\137\1\u0081\1\u00b7\1\163" + "\1\u00c7\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" + ) - def synpred268_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred268_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + DFA50_accept = DFA.unpack( + "\2\uffff\1\15\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1" + "\14\53\uffff" + ) - def synpred318_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred318_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + DFA50_special = DFA.unpack( + "\72\uffff" + ) - def synpred75_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred75_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success - def synpred363_sdl92(self): - self._state.backtracking += 1 - start = self.input.mark() - try: - self.synpred363_sdl92_fragment() - except BacktrackingFailed: - success = False - else: - success = True - self.input.rewind(start) - self._state.backtracking -= 1 - return success + DFA50_transition = [ + DFA.unpack("\1\13\31\uffff\1\15\5\uffff\1\3\16\uffff\1\6\15\uffff" + "\1\15\35\uffff\1\14\5\uffff\1\12\30\uffff\1\3\16\uffff\1\7\13\uffff" + "\1\5\20\uffff\1\15\1\uffff\1\16\1\uffff\1\11\12\uffff\1\10\7\uffff" + "\1\4\22\uffff\1\7\1\uffff\1\1"), + DFA.unpack("\1\20\2\uffff\1\20\23\uffff\1\20\3\uffff\1\20\3\uffff" + "\1\20\3\uffff\1\20\25\uffff\1\2\53\uffff\1\20\7\uffff\1\20\1\uffff" + "\1\17\1\uffff\1\20\22\uffff\1\20\10\uffff\1\20\16\uffff\2\20\1\uffff" + "\2\20\11\uffff\1\20\21\uffff\2\20\4\uffff\1\20\14\uffff\1\20\2\uffff" + "\1\20\43\uffff\1\21"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\22"), + DFA.unpack("\1\23"), + DFA.unpack("\1\24"), + DFA.unpack("\1\25"), + DFA.unpack("\1\26\107\uffff\1\27"), + DFA.unpack("\1\30"), + DFA.unpack("\1\40\121\uffff\1\32\67\uffff\1\31\2\uffff\1\37\22\uffff" + "\1\35\1\33\2\uffff\1\36\1\34"), + DFA.unpack("\1\27"), + DFA.unpack("\1\41"), + DFA.unpack("\1\3\131\uffff\1\3\102\uffff\1\4\24\uffff\1\42"), + DFA.unpack("\1\43\140\uffff\1\43"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\51"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53\107\uffff\1\54"), + DFA.unpack("\1\20\2\uffff\1\20\23\uffff\1\20\3\uffff\1\20\3\uffff" + "\1\20\3\uffff\1\20\101\uffff\1\20\7\uffff\1\20\1\uffff\1\55\1\uffff" + "\1\20\22\uffff\1\20\10\uffff\1\20\16\uffff\2\20\1\uffff\2\20\11" + "\uffff\1\20\21\uffff\2\20\4\uffff\1\20\14\uffff\1\20\2\uffff\1\20" + "\43\uffff\1\21"), + DFA.unpack("\1\43\140\uffff\1\43\62\uffff\1\56"), + DFA.unpack("\1\30"), + DFA.unpack("\1\30"), + DFA.unpack("\1\30"), + DFA.unpack("\1\30"), + DFA.unpack("\1\30"), + DFA.unpack("\1\30"), + DFA.unpack("\1\30"), + DFA.unpack("\1\54"), + DFA.unpack("\1\57"), + DFA.unpack("\1\60"), + DFA.unpack("\1\3\131\uffff\1\3\32\uffff\1\5\47\uffff\1\4\24\uffff" + "\1\42"), + DFA.unpack("\1\61"), + DFA.unpack("\1\62"), + DFA.unpack("\1\63"), + DFA.unpack("\1\40\121\uffff\1\32\67\uffff\1\64\2\uffff\1\37\22\uffff" + "\1\35\1\33\2\uffff\1\36\1\34"), + DFA.unpack("\1\65"), + DFA.unpack("\1\66\140\uffff\1\66"), + DFA.unpack("\1\67"), + DFA.unpack("\1\66\140\uffff\1\66\62\uffff\1\30"), + DFA.unpack("\1\70"), + DFA.unpack("\1\71"), + DFA.unpack("\1\30") + ] + # class definition for DFA #50 + class DFA50(DFA): + pass - # lookup tables for DFA #74 - DFA74_eot = DFA.unpack( - "\41\uffff" + # lookup tables for DFA #62 + + DFA62_eot = DFA.unpack( + "\53\uffff" ) - DFA74_eof = DFA.unpack( - "\3\uffff\1\10\35\uffff" + DFA62_eof = DFA.unpack( + "\3\uffff\1\10\47\uffff" ) - DFA74_min = DFA.unpack( - "\1\41\1\12\1\u00cf\1\74\1\u0081\1\163\1\u00c5\1\u00be\2\uffff\1" - "\53\1\u00fa\1\137\1\163\1\40\1\41\1\144\1\53\1\171\1\u00cf\1\163" - "\1\u00ba\1\u00fa\1\40\1\41\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" - "\1\41\1\171" + DFA62_min = DFA.unpack( + "\1\41\1\12\1\u00cf\1\74\1\u00c5\1\u0081\1\163\1\u00be\2\uffff\1" + "\137\1\53\1\u00fa\1\22\1\163\1\40\1\41\6\u00cf\1\146\1\u00cf\1\53" + "\6\u00fa\1\146\1\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163" + "\1\u00ba\1\u00fa" ) - DFA74_max = DFA.unpack( - "\1\u00fe\1\u0100\1\u00cf\1\u00c7\1\u0081\1\163\1\u00c5\1\u00be\2" - "\uffff\1\163\1\u00fa\1\137\1\163\1\40\1\u00fe\1\144\1\163\1\171" - "\1\u00cf\1\163\1\u00ba\1\u00fa\1\40\1\41\1\u0081\1\163\1\40\1\163" - "\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA62_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00cf\1\u00c7\1\u00c5\1\u0081\1\163\1\u00be\2" + "\uffff\1\137\1\163\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1" + "\u00c7\1\u00cf\1\163\10\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1" + "\40\1\163\1\u00ba\1\u00fa" ) - DFA74_accept = DFA.unpack( - "\10\uffff\1\2\1\1\27\uffff" + DFA62_accept = DFA.unpack( + "\10\uffff\1\2\1\1\41\uffff" ) - DFA74_special = DFA.unpack( - "\41\uffff" + DFA62_special = DFA.unpack( + "\53\uffff" ) - DFA74_transition = [ + DFA62_transition = [ DFA.unpack("\1\2\u009c\uffff\1\3\77\uffff\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack("\1\7"), DFA.unpack("\1\10\51\uffff\1\11\127\uffff\1\3\10\uffff\1\11"), DFA.unpack("\1\12"), @@ -39697,318 +37614,297 @@ def synpred363_sdl92(self): DFA.unpack("\1\3"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\15\107\uffff\1\16"), - DFA.unpack("\1\17"), + DFA.unpack("\1\15"), + DFA.unpack("\1\16\107\uffff\1\17"), DFA.unpack("\1\20"), - DFA.unpack("\1\16"), - DFA.unpack("\1\21"), - DFA.unpack("\1\2\u00dc\uffff\1\22"), - DFA.unpack("\1\23"), - DFA.unpack("\1\24\107\uffff\1\25"), - DFA.unpack("\1\6"), - DFA.unpack("\1\26"), - DFA.unpack("\1\25"), - DFA.unpack("\1\27"), - DFA.unpack("\1\30"), + DFA.unpack("\1\30\121\uffff\1\21\67\uffff\1\27\2\uffff\1\26\22\uffff" + "\1\24\1\22\2\uffff\1\25\1\23"), + DFA.unpack("\1\17"), DFA.unpack("\1\31"), - DFA.unpack("\1\2"), + DFA.unpack("\1\2\u00dc\uffff\1\1"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), DFA.unpack("\1\35"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\2\u00dc\uffff\1\40"), - DFA.unpack("\1\6\u0086\uffff\1\5") + DFA.unpack("\1\40\140\uffff\1\40"), + DFA.unpack("\1\41"), + DFA.unpack("\1\42\107\uffff\1\43"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\40\140\uffff\1\40\62\uffff\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\43"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\51"), + DFA.unpack("\1\52"), + DFA.unpack("\1\20") ] - # class definition for DFA #74 + # class definition for DFA #62 - class DFA74(DFA): + class DFA62(DFA): pass - # lookup tables for DFA #82 + # lookup tables for DFA #70 - DFA82_eot = DFA.unpack( - "\100\uffff" + DFA70_eot = DFA.unpack( + "\57\uffff" ) - DFA82_eof = DFA.unpack( - "\1\3\77\uffff" + DFA70_eof = DFA.unpack( + "\1\3\56\uffff" ) - DFA82_min = DFA.unpack( - "\1\31\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" - "\1\40\1\41\1\22\1\53\1\171\4\u00cf\1\163\1\u00ba\1\u00c5\4\u00fa" - "\1\40\1\137\1\41\3\46\1\u0081\1\144\3\171\1\163\3\u00c5\1\40\3\137" - "\1\163\3\u009f\1\u00ba\2\u00cf\3\u00fa\1\41\2\46\2\171\1\u00c5\1" - "\137\1\u009f" + DFA70_min = DFA.unpack( + "\1\31\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\41\1\146\7\u00cf\1\53\1\12\1\146\7\u00fa\1\163\1\u00ba" + "\1\u00c5\1\41\1\40\1\137\1\u0081\1\22\1\163\1\146\1\40\1\146\1\163" + "\1\u00ba\1\u00fa" ) - DFA82_max = DFA.unpack( - "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" - "\1\163\1\40\1\u00fe\1\u00b7\1\163\1\171\4\u00cf\1\163\1\u00ba\1" - "\u00c5\4\u00fa\1\40\1\137\3\u00fe\1\u00c7\1\u0081\1\u00b7\3\171" - "\1\163\3\u00c5\1\40\3\137\1\163\3\u00b6\1\u00ba\2\u00cf\3\u00fa" - "\3\u00fe\1\u0100\1\171\1\u00c5\1\137\1\u00b6" + DFA70_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf\1\163\1\u0100\10\u00fa" + "\1\163\1\u00ba\1\u00c5\1\u00fe\1\40\1\137\1\u0081\1\u00b7\1\163" + "\1\u00c7\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" ) - DFA82_accept = DFA.unpack( - "\2\uffff\1\1\1\2\74\uffff" + DFA70_accept = DFA.unpack( + "\2\uffff\1\1\1\2\53\uffff" ) - DFA82_special = DFA.unpack( - "\100\uffff" + DFA70_special = DFA.unpack( + "\57\uffff" ) - DFA82_transition = [ + DFA70_transition = [ DFA.unpack("\1\3\7\uffff\1\3\3\uffff\2\3\20\uffff\1\3\5\uffff\2\3" "\47\uffff\1\3\102\uffff\1\3\24\uffff\1\3\2\uffff\2\3\3\uffff\1\2" "\1\3\17\uffff\1\3\15\uffff\1\3\3\uffff\1\3\24\uffff\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), - DFA.unpack("\1\14"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), DFA.unpack("\1\15"), - DFA.unpack("\1\13"), - DFA.unpack("\1\16"), - DFA.unpack("\1\3\4\uffff\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\66" - "\uffff\1\17"), - DFA.unpack("\1\3\121\uffff\1\20\67\uffff\1\3\2\uffff\1\23\22\uffff" - "\1\21\1\3\2\uffff\1\22\1\3"), - DFA.unpack("\1\24\107\uffff\1\25"), + DFA.unpack("\1\25\121\uffff\1\17\67\uffff\1\16\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), + DFA.unpack("\1\14"), DFA.unpack("\1\26"), - DFA.unpack("\1\27"), - DFA.unpack("\1\30"), + DFA.unpack("\1\3\4\uffff\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\41" + "\uffff\1\3\24\uffff\1\27"), + DFA.unpack("\1\30\140\uffff\1\30"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), - DFA.unpack("\1\25"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), DFA.unpack("\1\35"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\40"), + DFA.unpack("\1\40\107\uffff\1\41"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\42\1\uffff\1" + "\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1" + "\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1" + "\6"), + DFA.unpack("\1\30\140\uffff\1\30\62\uffff\1\43"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), DFA.unpack("\1\41"), - DFA.unpack("\1\42"), - DFA.unpack("\1\3\4\uffff\1\3\u009f\uffff\1\2\1\3\66\uffff\1\43"), - DFA.unpack("\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\66\uffff\1\44"), - DFA.unpack("\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\66\uffff\1\45"), - DFA.unpack("\1\3\u009f\uffff\1\2\1\3"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\3\4\uffff\1\3\u0082\uffff\1\3\27\uffff\1\3\4\uffff" + "\1\2\1\3\41\uffff\1\3\24\uffff\1\27"), DFA.unpack("\1\46"), - DFA.unpack("\1\20\72\uffff\1\23\22\uffff\1\21\1\3\2\uffff\1\22\1" - "\3"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\51"), + DFA.unpack("\1\25\121\uffff\1\17\67\uffff\1\51\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), DFA.unpack("\1\52"), - DFA.unpack("\1\53"), + DFA.unpack("\1\53\140\uffff\1\53"), DFA.unpack("\1\54"), + DFA.unpack("\1\53\140\uffff\1\53\62\uffff\1\15"), DFA.unpack("\1\55"), DFA.unpack("\1\56"), - DFA.unpack("\1\57"), - DFA.unpack("\1\60"), - DFA.unpack("\1\61"), - DFA.unpack("\1\62"), - DFA.unpack("\1\23\22\uffff\1\63\3\uffff\1\64"), - DFA.unpack("\1\23\22\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\23\26\uffff\1\22"), - DFA.unpack("\1\65"), - DFA.unpack("\1\66"), - DFA.unpack("\1\67"), - DFA.unpack("\1\70"), - DFA.unpack("\1\71"), - DFA.unpack("\1\72"), - DFA.unpack("\1\3\4\uffff\1\3\u0082\uffff\1\3\34\uffff\1\2\1\3\66" - "\uffff\1\73"), - DFA.unpack("\1\3\u009f\uffff\1\2\1\3\66\uffff\1\43"), - DFA.unpack("\1\3\u009f\uffff\1\2\1\3\66\uffff\1\74"), - DFA.unpack("\1\26\u0086\uffff\1\5"), - DFA.unpack("\1\75"), - DFA.unpack("\1\76"), - DFA.unpack("\1\77"), - DFA.unpack("\1\23\26\uffff\1\64") + DFA.unpack("\1\15") ] - # class definition for DFA #82 + # class definition for DFA #70 - class DFA82(DFA): + class DFA70(DFA): pass - # lookup tables for DFA #83 + # lookup tables for DFA #71 - DFA83_eot = DFA.unpack( - "\101\uffff" + DFA71_eot = DFA.unpack( + "\60\uffff" ) - DFA83_eof = DFA.unpack( - "\1\1\100\uffff" + DFA71_eof = DFA.unpack( + "\1\1\57\uffff" ) - DFA83_min = DFA.unpack( - "\1\31\1\uffff\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1" - "\137\1\163\1\40\1\41\1\22\1\53\1\171\4\u00cf\1\163\1\u00ba\1\u00c5" - "\4\u00fa\1\40\1\137\1\41\3\46\1\u0081\1\144\3\171\1\163\3\u00c5" - "\1\40\3\137\1\163\3\u009f\1\u00ba\2\u00cf\3\u00fa\1\41\2\46\2\171" - "\1\u00c5\1\137\1\u009f" + DFA71_min = DFA.unpack( + "\1\31\1\uffff\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa" + "\1\22\1\163\1\40\1\41\1\146\7\u00cf\1\53\1\12\1\146\7\u00fa\1\163" + "\1\u00ba\1\u00c5\1\41\1\40\1\137\1\u0081\1\22\1\163\1\146\1\40\1" + "\146\1\163\1\u00ba\1\u00fa" ) - DFA83_max = DFA.unpack( - "\1\u00fe\1\uffff\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" - "\1\137\1\163\1\40\1\u00fe\1\u00b7\1\163\1\171\4\u00cf\1\163\1\u00ba" - "\1\u00c5\4\u00fa\1\40\1\137\3\u00fe\1\u00c7\1\u0081\1\u00b7\3\171" - "\1\163\3\u00c5\1\40\3\137\1\163\3\u00b6\1\u00ba\2\u00cf\3\u00fa" - "\3\u00fe\1\u0100\1\171\1\u00c5\1\137\1\u00b6" + DFA71_max = DFA.unpack( + "\1\u00fe\1\uffff\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163" + "\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf\1\163\1\u0100" + "\10\u00fa\1\163\1\u00ba\1\u00c5\1\u00fe\1\40\1\137\1\u0081\1\u00b7" + "\1\163\1\u00c7\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" ) - DFA83_accept = DFA.unpack( - "\1\uffff\1\3\1\uffff\1\1\1\2\74\uffff" + DFA71_accept = DFA.unpack( + "\1\uffff\1\3\1\uffff\1\1\1\2\53\uffff" ) - DFA83_special = DFA.unpack( - "\101\uffff" + DFA71_special = DFA.unpack( + "\60\uffff" ) - DFA83_transition = [ + DFA71_transition = [ DFA.unpack("\1\1\7\uffff\1\1\3\uffff\1\1\1\4\20\uffff\1\1\5\uffff" "\2\1\47\uffff\1\1\102\uffff\1\1\24\uffff\1\1\2\uffff\2\1\4\uffff" "\1\3\17\uffff\1\1\15\uffff\1\1\3\uffff\1\1\24\uffff\1\2"), DFA.unpack(""), - DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" - "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\7\1\uffff\1\5" - "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" - "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\5\1\uffff\1\6" + "\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1\6" + "\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1\7"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\10"), DFA.unpack("\1\11"), DFA.unpack("\1\12"), - DFA.unpack("\1\13\107\uffff\1\14"), - DFA.unpack("\1\15"), + DFA.unpack("\1\13"), + DFA.unpack("\1\14\107\uffff\1\15"), DFA.unpack("\1\16"), - DFA.unpack("\1\14"), - DFA.unpack("\1\17"), - DFA.unpack("\1\1\4\uffff\1\4\u0082\uffff\1\1\35\uffff\1\3\66\uffff" - "\1\20"), - DFA.unpack("\1\1\121\uffff\1\21\67\uffff\1\1\2\uffff\1\24\22\uffff" - "\1\22\1\1\2\uffff\1\23\1\1"), - DFA.unpack("\1\25\107\uffff\1\26"), + DFA.unpack("\1\26\121\uffff\1\20\67\uffff\1\17\2\uffff\1\25\22\uffff" + "\1\23\1\21\2\uffff\1\24\1\22"), + DFA.unpack("\1\15"), DFA.unpack("\1\27"), - DFA.unpack("\1\30"), - DFA.unpack("\1\31"), + DFA.unpack("\1\1\4\uffff\1\4\u0082\uffff\1\1\35\uffff\1\3\41\uffff" + "\1\1\24\uffff\1\30"), + DFA.unpack("\1\31\140\uffff\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), - DFA.unpack("\1\26"), DFA.unpack("\1\34"), DFA.unpack("\1\35"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), - DFA.unpack("\1\41"), + DFA.unpack("\1\41\107\uffff\1\42"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\43\1\uffff\1" + "\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1" + "\6\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1" + "\7"), + DFA.unpack("\1\31\140\uffff\1\31\62\uffff\1\44"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), DFA.unpack("\1\42"), - DFA.unpack("\1\43"), - DFA.unpack("\1\1\4\uffff\1\4\u00a0\uffff\1\3\66\uffff\1\44"), - DFA.unpack("\1\4\u0082\uffff\1\1\35\uffff\1\3\66\uffff\1\45"), - DFA.unpack("\1\4\u0082\uffff\1\1\35\uffff\1\3\66\uffff\1\46"), - DFA.unpack("\1\4\u00a0\uffff\1\3"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\1\4\uffff\1\4\u0082\uffff\1\1\27\uffff\1\1\5\uffff" + "\1\3\41\uffff\1\1\24\uffff\1\30"), DFA.unpack("\1\47"), - DFA.unpack("\1\21\72\uffff\1\24\22\uffff\1\22\1\1\2\uffff\1\23\1" - "\1"), DFA.unpack("\1\50"), DFA.unpack("\1\51"), - DFA.unpack("\1\52"), + DFA.unpack("\1\26\121\uffff\1\20\67\uffff\1\52\2\uffff\1\25\22\uffff" + "\1\23\1\21\2\uffff\1\24\1\22"), DFA.unpack("\1\53"), - DFA.unpack("\1\54"), + DFA.unpack("\1\54\140\uffff\1\54"), DFA.unpack("\1\55"), + DFA.unpack("\1\54\140\uffff\1\54\62\uffff\1\16"), DFA.unpack("\1\56"), DFA.unpack("\1\57"), - DFA.unpack("\1\60"), - DFA.unpack("\1\61"), - DFA.unpack("\1\62"), - DFA.unpack("\1\63"), - DFA.unpack("\1\24\22\uffff\1\64\3\uffff\1\65"), - DFA.unpack("\1\24\22\uffff\1\22\3\uffff\1\23"), - DFA.unpack("\1\24\26\uffff\1\23"), - DFA.unpack("\1\66"), - DFA.unpack("\1\67"), - DFA.unpack("\1\70"), - DFA.unpack("\1\71"), - DFA.unpack("\1\72"), - DFA.unpack("\1\73"), - DFA.unpack("\1\1\4\uffff\1\4\u0082\uffff\1\1\35\uffff\1\3\66\uffff" - "\1\74"), - DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\44"), - DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\75"), - DFA.unpack("\1\27\u0086\uffff\1\6"), - DFA.unpack("\1\76"), - DFA.unpack("\1\77"), - DFA.unpack("\1\100"), - DFA.unpack("\1\24\26\uffff\1\65") + DFA.unpack("\1\16") ] - # class definition for DFA #83 + # class definition for DFA #71 - class DFA83(DFA): + class DFA71(DFA): pass - # lookup tables for DFA #91 + # lookup tables for DFA #74 - DFA91_eot = DFA.unpack( - "\76\uffff" + DFA74_eot = DFA.unpack( + "\60\uffff" ) - DFA91_eof = DFA.unpack( - "\1\4\1\uffff\1\4\73\uffff" + DFA74_eof = DFA.unpack( + "\1\4\1\uffff\1\4\55\uffff" ) - DFA91_min = DFA.unpack( - "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" - "\1\40\1\12\1\22\1\53\1\171\3\u00cf\1\163\1\u00ba\1\u00c5\3\u00fa" - "\1\40\1\137\3\12\1\u0081\1\144\3\171\1\163\3\u00c5\1\40\3\137\1" - "\163\3\u009f\1\u00ba\2\u00cf\3\u00fa\3\12\2\171\1\u00c5\1\137\1" - "\u009f" + DFA74_min = DFA.unpack( + "\2\12\1\24\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\12\1\146\7\u00cf\1\53\1\12\1\146\7\u00fa\1\163\1\u00ba" + "\1\u00c5\1\12\1\40\1\137\1\u0081\1\22\1\163\1\146\1\40\1\146\1\163" + "\1\u00ba\1\u00fa" ) - DFA91_max = DFA.unpack( - "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" - "\1\137\1\163\1\40\1\u00fe\1\u00b7\1\163\1\171\3\u00cf\1\163\1\u00ba" - "\1\u00c5\3\u00fa\1\40\1\137\3\u00fe\1\u0081\1\u00b7\3\171\1\163" - "\3\u00c5\1\40\3\137\1\163\3\u00b6\1\u00ba\2\u00cf\3\u00fa\3\u00fe" - "\1\u0100\1\171\1\u00c5\1\137\1\u00b6" + DFA74_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163" + "\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf\1\163\1\u0100" + "\10\u00fa\1\163\1\u00ba\1\u00c5\1\u00fe\1\40\1\137\1\u0081\1\u00b7" + "\1\163\1\u00c7\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" ) - DFA91_accept = DFA.unpack( - "\3\uffff\1\1\1\2\71\uffff" + DFA74_accept = DFA.unpack( + "\3\uffff\1\1\1\2\53\uffff" ) - DFA91_special = DFA.unpack( - "\76\uffff" + DFA74_special = DFA.unpack( + "\60\uffff" ) - DFA91_transition = [ + DFA74_transition = [ DFA.unpack("\1\3\16\uffff\1\4\1\uffff\1\3\5\uffff\1\4\3\uffff\2\4" "\2\uffff\1\3\3\uffff\1\3\11\uffff\1\4\5\uffff\2\4\1\uffff\1\4\12" "\uffff\1\3\16\uffff\1\3\13\uffff\1\2\20\uffff\1\3\26\uffff\1\3\10" "\uffff\1\3\21\uffff\1\4\12\uffff\1\3\11\uffff\1\4\2\uffff\2\4\3" "\uffff\2\4\4\uffff\1\3\2\uffff\1\3\7\uffff\1\4\1\uffff\1\3\13\uffff" "\1\4\3\uffff\1\4\24\uffff\1\1"), - DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" - "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\7\1\uffff\1\5" - "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" - "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\5\1\uffff\1\6" + "\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1\6" + "\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1\7"), DFA.unpack("\1\3\4\uffff\1\4\7\uffff\1\4\3\uffff\1\4\13\uffff\1" "\3\5\uffff\1\4\111\uffff\1\3\47\uffff\1\4\24\uffff\1\4\2\uffff\2" "\4\24\uffff\1\4\21\uffff\1\4\16\uffff\1\3\5\uffff\1\4\1\3"), @@ -40017,23 +37913,18 @@ class DFA83(DFA): DFA.unpack("\1\10"), DFA.unpack("\1\11"), DFA.unpack("\1\12"), - DFA.unpack("\1\13\107\uffff\1\14"), - DFA.unpack("\1\15"), + DFA.unpack("\1\13"), + DFA.unpack("\1\14\107\uffff\1\15"), DFA.unpack("\1\16"), - DFA.unpack("\1\14"), - DFA.unpack("\1\17"), + DFA.unpack("\1\26\121\uffff\1\20\67\uffff\1\17\2\uffff\1\25\22\uffff" + "\1\23\1\21\2\uffff\1\24\1\22"), + DFA.unpack("\1\15"), + DFA.unpack("\1\27"), DFA.unpack("\1\3\20\uffff\1\3\5\uffff\1\4\4\uffff\1\4\2\uffff\1" "\3\3\uffff\1\3\70\uffff\1\3\20\uffff\1\3\26\uffff\1\3\10\uffff\1" "\3\21\uffff\1\4\12\uffff\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1" - "\3\44\uffff\1\20"), - DFA.unpack("\1\4\121\uffff\1\21\67\uffff\1\4\2\uffff\1\4\22\uffff" - "\1\22\1\4\2\uffff\1\23\1\4"), - DFA.unpack("\1\24\107\uffff\1\25"), - DFA.unpack("\1\26"), - DFA.unpack("\1\27"), - DFA.unpack("\1\30"), - DFA.unpack("\1\31"), - DFA.unpack("\1\25"), + "\3\17\uffff\1\4\24\uffff\1\30"), + DFA.unpack("\1\31\140\uffff\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), @@ -40041,473 +37932,619 @@ class DFA83(DFA): DFA.unpack("\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), - DFA.unpack("\1\3\20\uffff\1\3\5\uffff\1\4\4\uffff\1\4\2\uffff\1" - "\3\3\uffff\1\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\34\uffff" - "\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\41"), - DFA.unpack("\1\3\20\uffff\1\3\12\uffff\1\4\2\uffff\1\3\3\uffff\1" - "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\21\uffff\1\4\12\uffff" - "\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\42"), - DFA.unpack("\1\3\20\uffff\1\3\12\uffff\1\4\2\uffff\1\3\3\uffff\1" - "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\21\uffff\1\4\12\uffff" - "\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\43"), - DFA.unpack("\1\44"), - DFA.unpack("\1\21\72\uffff\1\4\22\uffff\1\22\1\4\2\uffff\1\23\1" - "\4"), + DFA.unpack("\1\41\107\uffff\1\42"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\43\1\uffff\1" + "\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1" + "\6\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1" + "\7"), + DFA.unpack("\1\31\140\uffff\1\31\62\uffff\1\44"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\42"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), + DFA.unpack("\1\3\20\uffff\1\3\5\uffff\1\4\4\uffff\1\4\2\uffff\1" + "\3\3\uffff\1\3\70\uffff\1\3\20\uffff\1\3\26\uffff\1\3\10\uffff\1" + "\3\21\uffff\1\4\12\uffff\1\3\14\uffff\1\4\4\uffff\2\4\4\uffff\1" + "\3\14\uffff\1\3\17\uffff\1\4\24\uffff\1\30"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), DFA.unpack("\1\51"), - DFA.unpack("\1\52"), + DFA.unpack("\1\26\121\uffff\1\20\67\uffff\1\52\2\uffff\1\25\22\uffff" + "\1\23\1\21\2\uffff\1\24\1\22"), DFA.unpack("\1\53"), - DFA.unpack("\1\54"), + DFA.unpack("\1\54\140\uffff\1\54"), DFA.unpack("\1\55"), + DFA.unpack("\1\54\140\uffff\1\54\62\uffff\1\16"), DFA.unpack("\1\56"), DFA.unpack("\1\57"), - DFA.unpack("\1\60"), - DFA.unpack("\1\4\22\uffff\1\61\3\uffff\1\62"), - DFA.unpack("\1\4\22\uffff\1\22\3\uffff\1\23"), - DFA.unpack("\1\4\26\uffff\1\23"), - DFA.unpack("\1\63"), - DFA.unpack("\1\64"), - DFA.unpack("\1\65"), - DFA.unpack("\1\66"), - DFA.unpack("\1\67"), - DFA.unpack("\1\70"), - DFA.unpack("\1\3\20\uffff\1\3\5\uffff\1\4\4\uffff\1\4\2\uffff\1" - "\3\3\uffff\1\3\70\uffff\1\3\20\uffff\1\3\26\uffff\1\3\10\uffff\1" - "\3\21\uffff\1\4\12\uffff\1\3\21\uffff\2\4\4\uffff\1\3\14\uffff\1" - "\3\44\uffff\1\71"), - DFA.unpack("\1\3\20\uffff\1\3\12\uffff\1\4\2\uffff\1\3\3\uffff\1" - "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\34\uffff\1\3\21\uffff" - "\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\41"), - DFA.unpack("\1\3\20\uffff\1\3\12\uffff\1\4\2\uffff\1\3\3\uffff\1" - "\3\111\uffff\1\3\26\uffff\1\3\10\uffff\1\3\34\uffff\1\3\21\uffff" - "\2\4\4\uffff\1\3\14\uffff\1\3\44\uffff\1\72"), - DFA.unpack("\1\26\u0086\uffff\1\6"), - DFA.unpack("\1\73"), - DFA.unpack("\1\74"), - DFA.unpack("\1\75"), - DFA.unpack("\1\4\26\uffff\1\62") + DFA.unpack("\1\16") ] - # class definition for DFA #91 + # class definition for DFA #74 - class DFA91(DFA): + class DFA74(DFA): pass - # lookup tables for DFA #100 + # lookup tables for DFA #78 - DFA100_eot = DFA.unpack( - "\61\uffff" + DFA78_eot = DFA.unpack( + "\52\uffff" ) - DFA100_eof = DFA.unpack( - "\61\uffff" + DFA78_eof = DFA.unpack( + "\52\uffff" ) - DFA100_min = DFA.unpack( - "\1\u00c7\1\12\1\25\1\u0081\1\163\1\u00c5\1\40\1\uffff\1\53\1\u00fa" - "\1\137\1\uffff\1\163\1\40\1\u00c7\1\144\1\53\1\171\4\u00cf\1\163" - "\1\u00ba\4\u00fa\1\40\4\u00c7\1\u0081\2\171\1\163\2\u00c5\1\40\2" - "\137\1\163\2\u009f\1\u00ba\1\u00fa\1\u00c7\1\171" + DFA78_min = DFA.unpack( + "\1\u00c7\1\12\1\25\1\u00c5\1\u0081\1\163\1\40\1\uffff\1\137\1\53" + "\1\u00fa\1\uffff\1\22\1\163\1\40\1\u00c7\6\u00cf\1\146\1\u00cf\1" + "\53\6\u00fa\1\146\1\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40" + "\1\163\1\u00ba\1\u00fa" ) - DFA100_max = DFA.unpack( - "\1\u00fe\1\u0100\1\146\1\u0081\1\163\1\u00c5\1\u00ff\1\uffff\1\163" - "\1\u00fa\1\137\1\uffff\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\4" - "\u00cf\1\163\1\u00ba\4\u00fa\1\40\3\u00fe\1\u00c7\1\u0081\2\171" - "\1\163\2\u00c5\1\40\2\137\1\163\2\u00b6\1\u00ba\1\u00fa\1\u00fe" - "\1\u0100" + DFA78_max = DFA.unpack( + "\1\u00fe\1\u0100\1\146\1\u00c5\1\u0081\1\163\1\u00ff\1\uffff\1\137" + "\1\163\1\u00fa\1\uffff\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7" + "\1\u00cf\1\163\10\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1" + "\163\1\u00ba\1\u00fa" ) - DFA100_accept = DFA.unpack( - "\7\uffff\1\1\3\uffff\1\2\45\uffff" + DFA78_accept = DFA.unpack( + "\7\uffff\1\1\3\uffff\1\2\36\uffff" ) - DFA100_special = DFA.unpack( - "\61\uffff" + DFA78_special = DFA.unpack( + "\52\uffff" ) - DFA100_transition = [ + DFA78_transition = [ DFA.unpack("\1\2\66\uffff\1\1"), - DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" - "\3\3\uffff\1\3\101\uffff\1\3\7\uffff\1\3\1\uffff\1\5\1\uffff\1\3" - "\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3\11\uffff\1\3" - "\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3\43\uffff\1\4"), + DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" + "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\3\1\uffff\1\4" + "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" + "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), DFA.unpack("\1\7\120\uffff\1\6"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), DFA.unpack("\1\12"), DFA.unpack("\2\7\u009c\uffff\1\7\57\uffff\1\7\17\uffff\1\7\1\13"), DFA.unpack(""), - DFA.unpack("\1\14\107\uffff\1\15"), - DFA.unpack("\1\16"), + DFA.unpack("\1\14"), + DFA.unpack("\1\15\107\uffff\1\16"), DFA.unpack("\1\17"), DFA.unpack(""), - DFA.unpack("\1\15"), - DFA.unpack("\1\20"), - DFA.unpack("\1\2\66\uffff\1\21"), - DFA.unpack("\1\22\72\uffff\1\25\22\uffff\1\23\3\uffff\1\24"), - DFA.unpack("\1\26\107\uffff\1\27"), - DFA.unpack("\1\5"), + DFA.unpack("\1\27\121\uffff\1\20\67\uffff\1\26\2\uffff\1\25\22\uffff" + "\1\23\1\21\2\uffff\1\24\1\22"), + DFA.unpack("\1\16"), DFA.unpack("\1\30"), + DFA.unpack("\1\2\66\uffff\1\1"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), - DFA.unpack("\1\27"), DFA.unpack("\1\34"), DFA.unpack("\1\35"), DFA.unpack("\1\36"), - DFA.unpack("\1\37"), + DFA.unpack("\1\37\140\uffff\1\37"), DFA.unpack("\1\40"), - DFA.unpack("\1\41"), - DFA.unpack("\1\2\66\uffff\1\42"), - DFA.unpack("\1\2\66\uffff\1\42"), - DFA.unpack("\1\2\66\uffff\1\43"), - DFA.unpack("\1\2"), + DFA.unpack("\1\41\107\uffff\1\42"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\37\140\uffff\1\37\62\uffff\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\42"), + DFA.unpack("\1\43"), DFA.unpack("\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), DFA.unpack("\1\51"), - DFA.unpack("\1\52"), - DFA.unpack("\1\53"), - DFA.unpack("\1\54"), - DFA.unpack("\1\55"), - DFA.unpack("\1\25\22\uffff\1\23\3\uffff\1\24"), - DFA.unpack("\1\25\26\uffff\1\24"), - DFA.unpack("\1\56"), - DFA.unpack("\1\57"), - DFA.unpack("\1\2\66\uffff\1\60"), - DFA.unpack("\1\5\u0086\uffff\1\4") + DFA.unpack("\1\17") ] - # class definition for DFA #100 + # class definition for DFA #78 - class DFA100(DFA): + class DFA78(DFA): pass - # lookup tables for DFA #130 + # lookup tables for DFA #98 - DFA130_eot = DFA.unpack( - "\130\uffff" + DFA98_eot = DFA.unpack( + "\116\uffff" ) - DFA130_eof = DFA.unpack( - "\130\uffff" + DFA98_eof = DFA.unpack( + "\116\uffff" ) - DFA130_min = DFA.unpack( - "\1\45\1\uffff\1\12\1\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1" - "\137\1\163\1\40\1\114\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\1\u00c5" - "\3\u00fa\1\40\1\137\3\114\1\u0081\1\144\2\12\1\163\3\u00cf\2\u00c5" - "\1\40\3\u00fa\2\137\1\163\3\114\2\u009f\1\u00ba\2\171\1\u00fa\2" - "\u00c5\1\54\2\137\1\12\2\u009f\1\163\1\u00c5\1\u00fa\1\137\1\54" - "\1\22\1\12\3\u00cf\3\u00fa\3\114\2\171\2\u00c5\2\137\2\u009f" + DFA98_min = DFA.unpack( + "\1\45\1\uffff\1\12\1\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa" + "\1\22\1\163\1\40\1\54\6\u00cf\1\146\1\u00cf\1\53\1\12\6\u00fa\1" + "\146\1\u00fa\1\163\1\u00ba\1\u00c5\1\u0081\1\163\1\40\1\137\1\53" + "\1\u00fa\1\u0081\1\22\1\163\1\40\1\54\1\163\1\146\7\u00cf\1\53\1" + "\40\1\146\7\u00fa\1\163\1\u00ba\1\163\1\54\1\40\1\u00ba\1\u0081" + "\1\u00fa\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA130_max = DFA.unpack( - "\1\u00fe\1\uffff\1\u0100\1\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" - "\1\137\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba" - "\1\u00c5\3\u00fa\1\40\1\137\3\u00fe\1\u0081\1\u00b6\2\u00dc\1\163" - "\3\u00cf\2\u00c5\1\40\3\u00fa\2\137\1\163\2\u00fe\1\u00c7\2\u00b6" - "\1\u00ba\2\171\1\u00fa\2\u00c5\1\u00fe\2\137\1\u0100\2\u00b6\1\163" - "\1\u00c5\1\u00fa\1\137\1\u00fe\1\u00b6\1\u0100\3\u00cf\3\u00fa\2" - "\u00fe\1\u00c7\2\171\2\u00c5\2\137\2\u00b6" + DFA98_max = DFA.unpack( + "\1\u00fe\1\uffff\1\u0100\1\uffff\1\u00c5\1\u0081\1\163\1\137\1\163" + "\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163" + "\1\u0100\10\u00fa\1\163\1\u00ba\1\u00c5\1\u0081\1\163\1\40\1\137" + "\1\163\1\u00fa\1\u0081\1\u00b7\1\163\1\40\1\u00fe\1\163\1\u00c7" + "\7\u00cf\1\163\1\40\10\u00fa\1\163\1\u00ba\1\163\1\u00fe\1\40\1" + "\u00ba\1\u0081\1\u00fa\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA130_accept = DFA.unpack( - "\1\uffff\1\2\1\uffff\1\1\124\uffff" + DFA98_accept = DFA.unpack( + "\1\uffff\1\2\1\uffff\1\1\112\uffff" ) - DFA130_special = DFA.unpack( - "\130\uffff" + DFA98_special = DFA.unpack( + "\116\uffff" ) - DFA130_transition = [ + DFA98_transition = [ DFA.unpack("\1\1\32\uffff\1\1\13\uffff\1\3\131\uffff\1\3\40\uffff" "\1\1\66\uffff\1\2"), DFA.unpack(""), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack("\1\7"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), - DFA.unpack("\1\14"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), DFA.unpack("\1\15"), - DFA.unpack("\1\13"), - DFA.unpack("\1\16"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\17"), - DFA.unpack("\1\1\72\uffff\1\22\22\uffff\1\20\3\uffff\1\21"), - DFA.unpack("\1\23\107\uffff\1\24"), - DFA.unpack("\1\25"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\14"), DFA.unpack("\1\26"), - DFA.unpack("\1\27"), + DFA.unpack("\1\3\31\uffff\1\3\5\uffff\1\3\16\uffff\1\3\15\uffff" + "\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1\3\16\uffff\1\3\13\uffff" + "\1\3\5\uffff\1\1\12\uffff\1\3\1\uffff\1\3\1\uffff\1\3\12\uffff\1" + "\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\27"), DFA.unpack("\1\30"), - DFA.unpack("\1\24"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), DFA.unpack("\1\35"), - DFA.unpack("\1\36"), + DFA.unpack("\1\36\140\uffff\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\40"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\41"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\3"), - DFA.unpack("\1\42"), - DFA.unpack("\1\1\72\uffff\1\45\22\uffff\1\43\3\uffff\1\44"), - DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" - "\3\3\uffff\1\3\101\uffff\1\3\7\uffff\1\3\1\uffff\1\46\1\uffff\1" - "\3\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3\11\uffff\1" - "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3"), - DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" - "\3\3\uffff\1\3\101\uffff\1\3\7\uffff\1\3\1\uffff\1\47\1\uffff\1" - "\3\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3\11\uffff\1" - "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3"), + DFA.unpack("\1\40\107\uffff\1\41"), + DFA.unpack("\1\43\2\uffff\1\43\23\uffff\1\43\3\uffff\1\43\3\uffff" + "\1\43\3\uffff\1\43\25\uffff\1\3\53\uffff\1\43\7\uffff\1\43\1\uffff" + "\1\42\1\uffff\1\43\22\uffff\1\43\10\uffff\1\43\16\uffff\2\43\1\uffff" + "\2\43\11\uffff\1\43\21\uffff\2\43\4\uffff\1\43\14\uffff\1\43\2\uffff" + "\1\43\43\uffff\1\44"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\36\140\uffff\1\36\62\uffff\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\41"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), DFA.unpack("\1\50"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), - DFA.unpack("\1\53"), - DFA.unpack("\1\54"), + DFA.unpack("\1\53\107\uffff\1\54"), DFA.unpack("\1\55"), DFA.unpack("\1\56"), - DFA.unpack("\1\57"), - DFA.unpack("\1\60"), - DFA.unpack("\1\61"), - DFA.unpack("\1\62"), - DFA.unpack("\1\63"), - DFA.unpack("\1\64"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\65"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\66"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1"), - DFA.unpack("\1\22\22\uffff\1\20\3\uffff\1\21"), - DFA.unpack("\1\22\26\uffff\1\21"), + DFA.unpack("\1\66\121\uffff\1\60\67\uffff\1\57\2\uffff\1\65\22\uffff" + "\1\63\1\61\2\uffff\1\64\1\62"), + DFA.unpack("\1\54"), DFA.unpack("\1\67"), + DFA.unpack("\1\3\31\uffff\1\3\5\uffff\1\3\16\uffff\1\3\15\uffff" + "\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1\3\16\uffff\1\3\13\uffff" + "\1\3\5\uffff\1\1\12\uffff\1\3\1\uffff\1\3\1\uffff\1\3\12\uffff\1" + "\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\27"), DFA.unpack("\1\70"), - DFA.unpack("\1\71"), + DFA.unpack("\1\71\140\uffff\1\71"), DFA.unpack("\1\72"), DFA.unpack("\1\73"), DFA.unpack("\1\74"), - DFA.unpack("\1\3\31\uffff\1\3\5\uffff\1\3\16\uffff\1\3\15\uffff" - "\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1\3\16\uffff\1\3\13\uffff" - "\1\3\5\uffff\1\1\12\uffff\1\3\1\uffff\1\3\1\uffff\1\3\12\uffff\1" - "\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\75"), + DFA.unpack("\1\75"), DFA.unpack("\1\76"), DFA.unpack("\1\77"), - DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" - "\3\3\uffff\1\3\25\uffff\1\3\53\uffff\1\3\7\uffff\1\3\1\uffff\1\101" - "\1\uffff\1\3\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3" - "\11\uffff\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3" - "\43\uffff\1\100"), - DFA.unpack("\1\45\22\uffff\1\43\3\uffff\1\44"), - DFA.unpack("\1\45\26\uffff\1\44"), - DFA.unpack("\1\102"), + DFA.unpack("\1\100"), + DFA.unpack("\1\101\107\uffff\1\102"), DFA.unpack("\1\103"), - DFA.unpack("\1\104"), + DFA.unpack("\1\71\140\uffff\1\71\62\uffff\1\104"), + DFA.unpack("\1\55"), + DFA.unpack("\1\55"), + DFA.unpack("\1\55"), + DFA.unpack("\1\55"), + DFA.unpack("\1\55"), + DFA.unpack("\1\55"), + DFA.unpack("\1\55"), + DFA.unpack("\1\102"), DFA.unpack("\1\105"), + DFA.unpack("\1\106"), DFA.unpack("\1\3\31\uffff\1\3\5\uffff\1\3\16\uffff\1\3\15\uffff" "\1\3\35\uffff\1\3\5\uffff\1\3\30\uffff\1\3\16\uffff\1\3\13\uffff" "\1\3\5\uffff\1\1\12\uffff\1\3\1\uffff\1\3\1\uffff\1\3\12\uffff\1" - "\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\106"), - DFA.unpack("\1\3\121\uffff\1\1\67\uffff\1\3\2\uffff\1\111\22\uffff" - "\1\107\3\uffff\1\110"), - DFA.unpack("\1\3\2\uffff\1\3\23\uffff\1\3\3\uffff\1\3\3\uffff\1" - "\3\3\uffff\1\3\25\uffff\1\3\53\uffff\1\3\7\uffff\1\3\1\uffff\1\101" - "\1\uffff\1\3\22\uffff\1\3\10\uffff\1\3\16\uffff\2\3\1\uffff\2\3" - "\11\uffff\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\3\2\uffff\1\3" - "\43\uffff\1\3"), + "\3\7\uffff\1\3\22\uffff\1\3\1\uffff\1\27"), + DFA.unpack("\1\107"), + DFA.unpack("\1\110"), + DFA.unpack("\1\111"), + DFA.unpack("\1\15"), DFA.unpack("\1\112"), DFA.unpack("\1\113"), DFA.unpack("\1\114"), DFA.unpack("\1\115"), - DFA.unpack("\1\116"), - DFA.unpack("\1\117"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\120"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1\66\uffff\1\121"), - DFA.unpack("\1\3\131\uffff\1\3\40\uffff\1\1"), - DFA.unpack("\1\122"), - DFA.unpack("\1\123"), - DFA.unpack("\1\124"), - DFA.unpack("\1\125"), - DFA.unpack("\1\126"), - DFA.unpack("\1\127"), - DFA.unpack("\1\111\22\uffff\1\107\3\uffff\1\110"), - DFA.unpack("\1\111\26\uffff\1\110") + DFA.unpack("\1\55") + ] + + # class definition for DFA #98 + + class DFA98(DFA): + pass + + + # lookup tables for DFA #101 + + DFA101_eot = DFA.unpack( + "\57\uffff" + ) + + DFA101_eof = DFA.unpack( + "\57\uffff" + ) + + DFA101_min = DFA.unpack( + "\1\45\1\uffff\1\7\2\uffff\1\40\1\12\1\u00cf\1\45\1\u00c5\1\u0081" + "\1\163\1\u00be\1\45\1\137\1\53\1\u00fa\1\22\1\163\1\40\1\41\6\u00cf" + "\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa\1\163\1\u00ba\1\40\1\u0081" + "\1\163\1\40\1\163\1\u00ba\1\u00fa" + ) + + DFA101_max = DFA.unpack( + "\1\u00fe\1\uffff\1\146\2\uffff\1\u00ff\1\u0100\1\u00cf\1\u00fe\1" + "\u00c5\1\u0081\1\163\1\u00be\1\u00fe\1\137\1\163\1\u00fa\1\u00b7" + "\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa\1\163" + "\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" + ) + + DFA101_accept = DFA.unpack( + "\1\uffff\1\3\1\uffff\1\2\1\1\52\uffff" + ) + + DFA101_special = DFA.unpack( + "\57\uffff" + ) + + + DFA101_transition = [ + DFA.unpack("\1\3\32\uffff\1\1\u0086\uffff\1\2\66\uffff\1\1"), + DFA.unpack(""), + DFA.unpack("\1\4\15\uffff\1\1\120\uffff\1\5"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\1\1\7\u009c\uffff\1\10\57\uffff\1\1\17\uffff\1\6" + "\1\1"), + DFA.unpack("\1\12\2\uffff\1\12\23\uffff\1\12\3\uffff\1\12\3\uffff" + "\1\12\3\uffff\1\12\101\uffff\1\12\7\uffff\1\12\1\uffff\1\11\1\uffff" + "\1\12\22\uffff\1\12\10\uffff\1\12\16\uffff\2\12\1\uffff\2\12\11" + "\uffff\1\12\21\uffff\2\12\4\uffff\1\12\14\uffff\1\12\2\uffff\1\12" + "\43\uffff\1\13"), + DFA.unpack("\1\14"), + DFA.unpack("\1\1\31\uffff\1\1\57\uffff\1\1\72\uffff\1\1\21\uffff" + "\1\1\1\uffff\1\15\22\uffff\1\4\54\uffff\1\1"), + DFA.unpack("\1\16"), + DFA.unpack("\1\17"), + DFA.unpack("\1\20"), + DFA.unpack("\1\15"), + DFA.unpack("\1\1\31\uffff\1\1\57\uffff\1\1\72\uffff\1\1\21\uffff" + "\1\1\1\uffff\1\15\22\uffff\1\4\54\uffff\1\1"), + DFA.unpack("\1\21"), + DFA.unpack("\1\22\107\uffff\1\23"), + DFA.unpack("\1\24"), + DFA.unpack("\1\34\121\uffff\1\25\67\uffff\1\33\2\uffff\1\32\22\uffff" + "\1\30\1\26\2\uffff\1\31\1\27"), + DFA.unpack("\1\23"), + DFA.unpack("\1\35"), + DFA.unpack("\1\7\u00dc\uffff\1\6"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37"), + DFA.unpack("\1\40"), + DFA.unpack("\1\41"), + DFA.unpack("\1\42"), + DFA.unpack("\1\43"), + DFA.unpack("\1\44\140\uffff\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46\107\uffff\1\47"), + DFA.unpack("\1\24"), + DFA.unpack("\1\24"), + DFA.unpack("\1\24"), + DFA.unpack("\1\24"), + DFA.unpack("\1\24"), + DFA.unpack("\1\24"), + DFA.unpack("\1\44\140\uffff\1\44\62\uffff\1\24"), + DFA.unpack("\1\24"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\51"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53"), + DFA.unpack("\1\54"), + DFA.unpack("\1\55"), + DFA.unpack("\1\56"), + DFA.unpack("\1\24") + ] + + # class definition for DFA #101 + + class DFA101(DFA): + pass + + + # lookup tables for DFA #107 + + DFA107_eot = DFA.unpack( + "\50\uffff" + ) + + DFA107_eof = DFA.unpack( + "\1\2\47\uffff" + ) + + DFA107_min = DFA.unpack( + "\1\46\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\46\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" + ) + + DFA107_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" + ) + + DFA107_accept = DFA.unpack( + "\2\uffff\1\2\1\1\44\uffff" + ) + + DFA107_special = DFA.unpack( + "\50\uffff" + ) + + + DFA107_transition = [ + DFA.unpack("\1\2\31\uffff\1\2\u0085\uffff\1\3\1\2\66\uffff\1\1"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\7"), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), + DFA.unpack("\1\15"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\14"), + DFA.unpack("\1\26"), + DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\1"), + DFA.unpack("\1\27"), + DFA.unpack("\1\30"), + DFA.unpack("\1\31"), + DFA.unpack("\1\32"), + DFA.unpack("\1\33"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35\140\uffff\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\35\140\uffff\1\35\62\uffff\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\40"), + DFA.unpack("\1\41"), + DFA.unpack("\1\42"), + DFA.unpack("\1\43"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\15") ] - # class definition for DFA #130 + # class definition for DFA #107 - class DFA130(DFA): + class DFA107(DFA): pass - # lookup tables for DFA #133 + # lookup tables for DFA #108 - DFA133_eot = DFA.unpack( - "\45\uffff" + DFA108_eot = DFA.unpack( + "\51\uffff" ) - DFA133_eof = DFA.unpack( - "\45\uffff" + DFA108_eof = DFA.unpack( + "\1\1\50\uffff" ) - DFA133_min = DFA.unpack( - "\1\45\1\uffff\1\7\2\uffff\1\40\1\12\1\u00cf\1\45\1\u0081\1\163\1" - "\u00c5\1\u00be\1\45\1\53\1\u00fa\1\137\1\163\1\40\1\41\1\144\1\53" - "\1\171\1\u00cf\1\163\1\u00ba\1\u00fa\1\40\1\41\1\u0081\1\163\1\40" - "\1\163\1\u00ba\1\u00fa\1\41\1\171" + DFA108_min = DFA.unpack( + "\1\46\1\uffff\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa" + "\1\22\1\163\1\40\1\46\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1" + "\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA133_max = DFA.unpack( - "\1\u00fe\1\uffff\1\146\2\uffff\1\u00ff\1\u0100\1\u00cf\1\u00fe\1" - "\u0081\1\163\1\u00c5\1\u00be\1\u00fe\1\163\1\u00fa\1\137\1\163\1" - "\40\1\u00fe\1\144\1\163\1\171\1\u00cf\1\163\1\u00ba\1\u00fa\1\40" - "\1\41\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA108_max = DFA.unpack( + "\1\u00fe\1\uffff\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163" + "\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163" + "\10\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1" + "\u00fa" ) - DFA133_accept = DFA.unpack( - "\1\uffff\1\3\1\uffff\1\2\1\1\40\uffff" + DFA108_accept = DFA.unpack( + "\1\uffff\1\3\1\uffff\1\1\1\2\44\uffff" ) - DFA133_special = DFA.unpack( - "\45\uffff" + DFA108_special = DFA.unpack( + "\51\uffff" ) - DFA133_transition = [ - DFA.unpack("\1\3\32\uffff\1\1\u0086\uffff\1\2\66\uffff\1\1"), + DFA108_transition = [ + DFA.unpack("\1\4\31\uffff\1\1\u0086\uffff\1\3\66\uffff\1\2"), DFA.unpack(""), - DFA.unpack("\1\4\15\uffff\1\1\120\uffff\1\5"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\5\1\uffff\1\6" + "\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1\6" + "\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1\7"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\1\1\7\u009c\uffff\1\10\57\uffff\1\1\17\uffff\1\6" - "\1\1"), - DFA.unpack("\1\11\2\uffff\1\11\23\uffff\1\11\3\uffff\1\11\3\uffff" - "\1\11\3\uffff\1\11\101\uffff\1\11\7\uffff\1\11\1\uffff\1\13\1\uffff" - "\1\11\22\uffff\1\11\10\uffff\1\11\16\uffff\2\11\1\uffff\2\11\11" - "\uffff\1\11\21\uffff\2\11\4\uffff\1\11\14\uffff\1\11\2\uffff\1\11" - "\43\uffff\1\12"), - DFA.unpack("\1\14"), - DFA.unpack("\1\1\31\uffff\1\1\57\uffff\1\1\72\uffff\1\1\21\uffff" - "\1\1\1\uffff\1\15\22\uffff\1\4\54\uffff\1\1"), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13"), + DFA.unpack("\1\14\107\uffff\1\15"), DFA.unpack("\1\16"), - DFA.unpack("\1\17"), - DFA.unpack("\1\20"), + DFA.unpack("\1\26\121\uffff\1\17\67\uffff\1\25\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), DFA.unpack("\1\15"), - DFA.unpack("\1\1\31\uffff\1\1\57\uffff\1\1\72\uffff\1\1\21\uffff" - "\1\1\1\uffff\1\15\22\uffff\1\4\54\uffff\1\1"), - DFA.unpack("\1\21\107\uffff\1\22"), - DFA.unpack("\1\23"), - DFA.unpack("\1\24"), - DFA.unpack("\1\22"), - DFA.unpack("\1\25"), - DFA.unpack("\1\7\u00dc\uffff\1\26"), DFA.unpack("\1\27"), - DFA.unpack("\1\30\107\uffff\1\31"), - DFA.unpack("\1\13"), - DFA.unpack("\1\32"), + DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\2"), + DFA.unpack("\1\30"), DFA.unpack("\1\31"), + DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), DFA.unpack("\1\35"), - DFA.unpack("\1\7"), - DFA.unpack("\1\36"), + DFA.unpack("\1\36\140\uffff\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\40"), + DFA.unpack("\1\40\107\uffff\1\41"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\36\140\uffff\1\36\62\uffff\1\16"), + DFA.unpack("\1\16"), DFA.unpack("\1\41"), DFA.unpack("\1\42"), DFA.unpack("\1\43"), - DFA.unpack("\1\7\u00dc\uffff\1\44"), - DFA.unpack("\1\13\u0086\uffff\1\12") + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\50"), + DFA.unpack("\1\16") ] - # class definition for DFA #133 + # class definition for DFA #108 - class DFA133(DFA): + class DFA108(DFA): pass - # lookup tables for DFA #139 + # lookup tables for DFA #110 - DFA139_eot = DFA.unpack( - "\57\uffff" + DFA110_eot = DFA.unpack( + "\54\uffff" ) - DFA139_eof = DFA.unpack( - "\1\2\56\uffff" + DFA110_eof = DFA.unpack( + "\54\uffff" ) - DFA139_min = DFA.unpack( - "\1\46\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" - "\1\40\1\46\1\144\1\53\1\171\4\u00cf\1\163\1\u00ba\4\u00fa\1\40\4" - "\46\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\2\u009f\1\u00ba" - "\1\u00fa\1\46\1\171" + DFA110_min = DFA.unpack( + "\1\45\1\12\1\25\3\uffff\1\u00c5\1\u0081\1\163\2\uffff\1\137\1\53" + "\1\u00fa\1\22\1\163\1\40\1\45\6\u00cf\1\146\1\u00cf\1\53\6\u00fa" + "\1\146\1\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba" + "\1\u00fa" ) - DFA139_max = DFA.unpack( - "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" - "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\4\u00cf\1\163\1\u00ba\4" - "\u00fa\1\40\3\u00fe\1\u00c7\1\u0081\2\171\1\163\2\u00c5\1\40\2\137" - "\1\163\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA110_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u008f\3\uffff\1\u00c5\1\u0081\1\163\2\uffff\1" + "\137\1\163\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1" + "\u00cf\1\163\10\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163" + "\1\u00ba\1\u00fa" ) - DFA139_accept = DFA.unpack( - "\2\uffff\1\2\1\1\53\uffff" + DFA110_accept = DFA.unpack( + "\3\uffff\1\2\1\4\1\5\3\uffff\1\3\1\1\41\uffff" ) - DFA139_special = DFA.unpack( - "\57\uffff" + DFA110_special = DFA.unpack( + "\54\uffff" ) - DFA139_transition = [ - DFA.unpack("\1\2\31\uffff\1\2\u0085\uffff\1\3\1\2\66\uffff\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA110_transition = [ + DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\21\uffff\1\3\101\uffff" + "\1\1"), + DFA.unpack("\1\7\2\uffff\1\7\23\uffff\1\7\3\uffff\1\7\3\uffff\1" + "\7\3\uffff\1\7\101\uffff\1\7\7\uffff\1\7\1\uffff\1\6\1\uffff\1\7" + "\22\uffff\1\7\10\uffff\1\7\16\uffff\2\7\1\uffff\2\7\11\uffff\1\7" + "\21\uffff\2\7\4\uffff\1\7\14\uffff\1\7\2\uffff\1\7\43\uffff\1\10"), + DFA.unpack("\1\12\120\uffff\1\12\50\uffff\1\11"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\7"), - DFA.unpack("\1\10"), - DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), + DFA.unpack(""), + DFA.unpack("\1\13"), DFA.unpack("\1\14"), DFA.unpack("\1\15"), - DFA.unpack("\1\13"), + DFA.unpack(""), + DFA.unpack(""), DFA.unpack("\1\16"), - DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\17"), - DFA.unpack("\1\20\72\uffff\1\23\22\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\24\107\uffff\1\25"), - DFA.unpack("\1\6"), - DFA.unpack("\1\26"), - DFA.unpack("\1\27"), - DFA.unpack("\1\30"), - DFA.unpack("\1\31"), - DFA.unpack("\1\25"), + DFA.unpack("\1\17\107\uffff\1\20"), + DFA.unpack("\1\21"), + DFA.unpack("\1\31\121\uffff\1\22\67\uffff\1\30\2\uffff\1\27\22\uffff" + "\1\25\1\23\2\uffff\1\26\1\24"), + DFA.unpack("\1\20"), DFA.unpack("\1\32"), + DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\1"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), DFA.unpack("\1\35"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\40"), - DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\40"), - DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\41"), - DFA.unpack("\1\2\u009f\uffff\1\3\1\2"), + DFA.unpack("\1\40"), + DFA.unpack("\1\41\140\uffff\1\41"), DFA.unpack("\1\42"), - DFA.unpack("\1\43"), + DFA.unpack("\1\43\107\uffff\1\44"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\41\140\uffff\1\41\62\uffff\1\21"), + DFA.unpack("\1\21"), DFA.unpack("\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), @@ -40516,287 +38553,271 @@ class DFA133(DFA): DFA.unpack("\1\51"), DFA.unpack("\1\52"), DFA.unpack("\1\53"), - DFA.unpack("\1\23\22\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\23\26\uffff\1\22"), - DFA.unpack("\1\54"), - DFA.unpack("\1\55"), - DFA.unpack("\1\2\u009f\uffff\1\3\1\2\66\uffff\1\56"), - DFA.unpack("\1\6\u0086\uffff\1\5") + DFA.unpack("\1\21") ] - # class definition for DFA #139 + # class definition for DFA #110 - class DFA139(DFA): + class DFA110(DFA): pass - # lookup tables for DFA #140 + # lookup tables for DFA #113 - DFA140_eot = DFA.unpack( - "\60\uffff" + DFA113_eot = DFA.unpack( + "\50\uffff" ) - DFA140_eof = DFA.unpack( - "\1\1\57\uffff" + DFA113_eof = DFA.unpack( + "\1\3\47\uffff" ) - DFA140_min = DFA.unpack( - "\1\46\1\uffff\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1" - "\137\1\163\1\40\1\46\1\144\1\53\1\171\4\u00cf\1\163\1\u00ba\4\u00fa" - "\1\40\4\46\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\2\u009f" - "\1\u00ba\1\u00fa\1\46\1\171" + DFA113_min = DFA.unpack( + "\2\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22\1\163" + "\1\40\1\12\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa\1\163" + "\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA140_max = DFA.unpack( - "\1\u00fe\1\uffff\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" - "\1\137\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\4\u00cf\1\163\1\u00ba" - "\4\u00fa\1\40\3\u00fe\1\u00c7\1\u0081\2\171\1\163\2\u00c5\1\40\2" - "\137\1\163\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA113_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA140_accept = DFA.unpack( - "\1\uffff\1\3\1\uffff\1\1\1\2\53\uffff" + DFA113_accept = DFA.unpack( + "\2\uffff\1\1\1\2\44\uffff" ) - DFA140_special = DFA.unpack( - "\60\uffff" + DFA113_special = DFA.unpack( + "\50\uffff" ) - DFA140_transition = [ - DFA.unpack("\1\4\31\uffff\1\1\u0086\uffff\1\3\66\uffff\1\2"), - DFA.unpack(""), + DFA113_transition = [ + DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" + "\2\21\uffff\1\3\13\uffff\1\2\16\uffff\1\2\13\uffff\1\2\10\uffff" + "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\11\uffff" + "\1\2\7\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" + "\1\1"), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" - "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\7\1\uffff\1\5" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), + DFA.unpack("\1\7"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), DFA.unpack("\1\12"), DFA.unpack("\1\13\107\uffff\1\14"), DFA.unpack("\1\15"), - DFA.unpack("\1\16"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), DFA.unpack("\1\14"), - DFA.unpack("\1\17"), - DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\20"), - DFA.unpack("\1\21\72\uffff\1\24\22\uffff\1\22\3\uffff\1\23"), - DFA.unpack("\1\25\107\uffff\1\26"), - DFA.unpack("\1\7"), + DFA.unpack("\1\26"), + DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" + "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" + "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" + "\1\1"), DFA.unpack("\1\27"), DFA.unpack("\1\30"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), - DFA.unpack("\1\26"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), - DFA.unpack("\1\35"), + DFA.unpack("\1\35\140\uffff\1\35"), DFA.unpack("\1\36"), - DFA.unpack("\1\37"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\35\140\uffff\1\35\62\uffff\1\15"), + DFA.unpack("\1\15"), DFA.unpack("\1\40"), - DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\41"), - DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\41"), - DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\42"), - DFA.unpack("\1\4\u00a0\uffff\1\3"), + DFA.unpack("\1\41"), + DFA.unpack("\1\42"), DFA.unpack("\1\43"), DFA.unpack("\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), - DFA.unpack("\1\50"), - DFA.unpack("\1\51"), - DFA.unpack("\1\52"), - DFA.unpack("\1\53"), - DFA.unpack("\1\54"), - DFA.unpack("\1\24\22\uffff\1\22\3\uffff\1\23"), - DFA.unpack("\1\24\26\uffff\1\23"), - DFA.unpack("\1\55"), - DFA.unpack("\1\56"), - DFA.unpack("\1\4\u00a0\uffff\1\3\66\uffff\1\57"), - DFA.unpack("\1\7\u0086\uffff\1\6") + DFA.unpack("\1\15") ] - # class definition for DFA #140 + # class definition for DFA #113 - class DFA140(DFA): + class DFA113(DFA): pass - # lookup tables for DFA #142 + # lookup tables for DFA #120 - DFA142_eot = DFA.unpack( - "\60\uffff" + DFA120_eot = DFA.unpack( + "\50\uffff" ) - DFA142_eof = DFA.unpack( - "\60\uffff" + DFA120_eof = DFA.unpack( + "\1\3\47\uffff" ) - DFA142_min = DFA.unpack( - "\1\45\1\12\1\25\3\uffff\1\u0081\1\163\1\u00c5\2\uffff\1\53\1\u00fa" - "\1\137\1\163\1\40\1\45\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3" - "\u00fa\1\40\3\45\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1" - "\u00b2\1\u00b6\1\u00ba\1\u00fa\1\45\1\171" + DFA120_min = DFA.unpack( + "\2\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22\1\163" + "\1\40\1\12\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa\1\163" + "\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA142_max = DFA.unpack( - "\1\u00fe\1\u0100\1\u008f\3\uffff\1\u0081\1\163\1\u00c5\2\uffff\1" - "\163\1\u00fa\1\137\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf" - "\1\163\1\u00ba\3\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5" - "\1\40\2\137\1\163\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA120_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA142_accept = DFA.unpack( - "\3\uffff\1\2\1\4\1\5\3\uffff\1\3\1\1\45\uffff" + DFA120_accept = DFA.unpack( + "\2\uffff\1\1\1\2\44\uffff" ) - DFA142_special = DFA.unpack( - "\60\uffff" + DFA120_special = DFA.unpack( + "\50\uffff" ) - DFA142_transition = [ - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\21\uffff\1\3\101\uffff" + DFA120_transition = [ + DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" + "\2\21\uffff\1\3\13\uffff\1\2\16\uffff\1\2\13\uffff\1\2\10\uffff" + "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\11\uffff" + "\1\2\7\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" "\1\1"), - DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" - "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\10\1\uffff\1" - "\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1" - "\6\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1" - "\7"), - DFA.unpack("\1\12\120\uffff\1\12\50\uffff\1\11"), - DFA.unpack(""), - DFA.unpack(""), - DFA.unpack(""), - DFA.unpack("\1\13"), - DFA.unpack("\1\14"), - DFA.unpack("\1\15"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\16\107\uffff\1\17"), - DFA.unpack("\1\20"), - DFA.unpack("\1\21"), - DFA.unpack("\1\17"), - DFA.unpack("\1\22"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\23"), - DFA.unpack("\1\24\115\uffff\1\25\3\uffff\1\26"), - DFA.unpack("\1\27\107\uffff\1\30"), + DFA.unpack("\1\7"), DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), + DFA.unpack("\1\15"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\14"), + DFA.unpack("\1\26"), + DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" + "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" + "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" + "\1\1"), + DFA.unpack("\1\27"), + DFA.unpack("\1\30"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), - DFA.unpack("\1\30"), DFA.unpack("\1\34"), - DFA.unpack("\1\35"), + DFA.unpack("\1\35\140\uffff\1\35"), DFA.unpack("\1\36"), - DFA.unpack("\1\37"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\35\140\uffff\1\35\62\uffff\1\15"), + DFA.unpack("\1\15"), DFA.unpack("\1\40"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\41"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\41"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\42"), + DFA.unpack("\1\41"), + DFA.unpack("\1\42"), DFA.unpack("\1\43"), DFA.unpack("\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), - DFA.unpack("\1\50"), - DFA.unpack("\1\51"), - DFA.unpack("\1\52"), - DFA.unpack("\1\53"), - DFA.unpack("\1\54"), - DFA.unpack("\1\25\3\uffff\1\26"), - DFA.unpack("\1\26"), - DFA.unpack("\1\55"), - DFA.unpack("\1\56"), - DFA.unpack("\1\5\111\uffff\1\2\72\uffff\1\4\123\uffff\1\57"), - DFA.unpack("\1\10\u0086\uffff\1\7") + DFA.unpack("\1\15") ] - # class definition for DFA #142 + # class definition for DFA #120 - class DFA142(DFA): + class DFA120(DFA): pass - # lookup tables for DFA #149 + # lookup tables for DFA #125 - DFA149_eot = DFA.unpack( - "\54\uffff" + DFA125_eot = DFA.unpack( + "\50\uffff" ) - DFA149_eof = DFA.unpack( - "\1\3\53\uffff" + DFA125_eof = DFA.unpack( + "\1\3\47\uffff" ) - DFA149_min = DFA.unpack( - "\2\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1\40" - "\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12\1" - "\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1\u00ba" - "\1\u00fa\1\12\1\171" + DFA125_min = DFA.unpack( + "\2\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22\1\163" + "\1\40\1\12\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa\1\163" + "\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA149_max = DFA.unpack( - "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" - "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" - "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" - "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA125_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA149_accept = DFA.unpack( - "\2\uffff\1\1\1\2\50\uffff" + DFA125_accept = DFA.unpack( + "\2\uffff\1\1\1\2\44\uffff" ) - DFA149_special = DFA.unpack( - "\54\uffff" + DFA125_special = DFA.unpack( + "\50\uffff" ) - DFA149_transition = [ + DFA125_transition = [ DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\21\uffff\1\3\13\uffff\1\2\16\uffff\1\2\13\uffff\1\2\10\uffff" "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\11\uffff" "\1\2\7\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" "\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), - DFA.unpack("\1\14"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), DFA.unpack("\1\15"), - DFA.unpack("\1\13"), - DFA.unpack("\1\16"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\14"), + DFA.unpack("\1\26"), DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" - "\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\23\107\uffff\1\24"), - DFA.unpack("\1\6"), - DFA.unpack("\1\25"), - DFA.unpack("\1\26"), + "\1\1"), DFA.unpack("\1\27"), - DFA.unpack("\1\24"), DFA.unpack("\1\30"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), - DFA.unpack("\1\37"), + DFA.unpack("\1\35\140\uffff\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\35\140\uffff\1\35\62\uffff\1\15"), + DFA.unpack("\1\15"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), DFA.unpack("\1\42"), @@ -40805,102 +38826,88 @@ class DFA142(DFA): DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), - DFA.unpack("\1\50"), - DFA.unpack("\1\21\3\uffff\1\22"), - DFA.unpack("\1\22"), - DFA.unpack("\1\51"), - DFA.unpack("\1\52"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" - "\1\53"), - DFA.unpack("\1\6\u0086\uffff\1\5") + DFA.unpack("\1\15") ] - # class definition for DFA #149 + # class definition for DFA #125 - class DFA149(DFA): + class DFA125(DFA): pass - # lookup tables for DFA #164 + # lookup tables for DFA #133 - DFA164_eot = DFA.unpack( - "\54\uffff" + DFA133_eot = DFA.unpack( + "\120\uffff" ) - DFA164_eof = DFA.unpack( - "\1\3\53\uffff" + DFA133_eof = DFA.unpack( + "\120\uffff" ) - DFA164_min = DFA.unpack( - "\2\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1\40" - "\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12\1" - "\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1\u00ba" - "\1\u00fa\1\12\1\171" + DFA133_min = DFA.unpack( + "\2\12\1\24\2\uffff\1\u00c5\1\u0081\1\163\1\12\1\137\1\53\1\u00fa" + "\1\12\1\22\1\163\1\40\1\12\1\u00c5\1\u0081\1\163\6\u00cf\1\146\1" + "\u00cf\1\53\1\u00ff\1\137\1\53\7\u00fa\1\146\1\u00fa\1\163\1\u00ba" + "\1\22\1\163\1\40\1\12\1\40\6\u00cf\1\146\1\u00cf\1\53\1\u0081\6" + "\u00fa\1\146\1\u00fa\1\163\1\u00ba\1\163\2\40\1\u0081\2\163\1\u00ba" + "\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" ) - DFA164_max = DFA.unpack( - "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" - "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" - "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" - "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA133_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u00c5\1\u0081\1\163\1\u00fe\1" + "\137\1\163\1\u00fa\1\u0100\1\u00b7\1\163\1\40\1\u00fe\1\u00c5\1" + "\u0081\1\163\6\u00cf\1\u00c7\1\u00cf\1\163\1\u00ff\1\137\1\163\11" + "\u00fa\1\163\1\u00ba\1\u00b7\1\163\1\40\1\u00fe\1\40\6\u00cf\1\u00c7" + "\1\u00cf\1\163\1\u0081\10\u00fa\1\163\1\u00ba\1\163\2\40\1\u0081" + "\2\163\1\u00ba\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" ) - DFA164_accept = DFA.unpack( - "\2\uffff\1\1\1\2\50\uffff" + DFA133_accept = DFA.unpack( + "\3\uffff\1\1\1\2\113\uffff" ) - DFA164_special = DFA.unpack( - "\54\uffff" + DFA133_special = DFA.unpack( + "\120\uffff" ) - DFA164_transition = [ - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\21\uffff\1\3\13\uffff\1\2\16\uffff\1\2\13\uffff\1\2\10\uffff" - "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\11\uffff" - "\1\2\7\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" + DFA133_transition = [ + DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\35\uffff\1" + "\3\16\uffff\1\3\13\uffff\1\2\20\uffff\1\4\26\uffff\1\4\10\uffff" + "\1\3\34\uffff\1\4\27\uffff\1\4\2\uffff\1\3\11\uffff\1\3\44\uffff" "\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\5\1\uffff\1\6" + "\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1\6" + "\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1\7"), + DFA.unpack("\1\3\34\uffff\1\3\117\uffff\1\3\166\uffff\1\3\6\uffff" + "\1\10"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\7"), - DFA.unpack("\1\10"), DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), - DFA.unpack("\1\14"), - DFA.unpack("\1\15"), + DFA.unpack("\1\12"), DFA.unpack("\1\13"), - DFA.unpack("\1\16"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" - "\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\23\107\uffff\1\24"), - DFA.unpack("\1\6"), - DFA.unpack("\1\25"), - DFA.unpack("\1\26"), - DFA.unpack("\1\27"), - DFA.unpack("\1\24"), - DFA.unpack("\1\30"), - DFA.unpack("\1\31"), - DFA.unpack("\1\32"), - DFA.unpack("\1\33"), + DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\35\uffff" + "\1\3\16\uffff\1\3\13\uffff\1\3\20\uffff\1\4\26\uffff\1\4\10\uffff" + "\1\3\34\uffff\1\4\27\uffff\1\4\2\uffff\1\3\11\uffff\1\3\44\uffff" + "\1\14"), + DFA.unpack("\1\15"), + DFA.unpack("\1\16\107\uffff\1\17"), + DFA.unpack("\1\20"), + DFA.unpack("\1\22\2\uffff\1\22\23\uffff\1\22\3\uffff\1\22\3\uffff" + "\1\22\3\uffff\1\22\101\uffff\1\22\7\uffff\1\22\1\uffff\1\21\1\uffff" + "\1\22\22\uffff\1\22\10\uffff\1\22\16\uffff\2\22\1\uffff\2\22\11" + "\uffff\1\22\21\uffff\2\22\4\uffff\1\22\14\uffff\1\22\2\uffff\1\22" + "\43\uffff\1\23"), + DFA.unpack("\1\33\121\uffff\1\24\67\uffff\1\32\2\uffff\1\31\22\uffff" + "\1\27\1\25\2\uffff\1\30\1\26"), + DFA.unpack("\1\17"), DFA.unpack("\1\34"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), + DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\70\uffff" + "\1\35\20\uffff\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff" + "\1\4\14\uffff\1\3\44\uffff\1\1"), + DFA.unpack("\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), @@ -40909,631 +38916,679 @@ class DFA149(DFA): DFA.unpack("\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), - DFA.unpack("\1\47"), + DFA.unpack("\1\47\140\uffff\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\21\3\uffff\1\22"), - DFA.unpack("\1\22"), - DFA.unpack("\1\51"), + DFA.unpack("\1\51\107\uffff\1\52"), + DFA.unpack("\1\10"), + DFA.unpack("\1\53"), + DFA.unpack("\1\54\107\uffff\1\55"), + DFA.unpack("\1\56"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\20"), + DFA.unpack("\1\47\140\uffff\1\47\62\uffff\1\20"), + DFA.unpack("\1\20"), DFA.unpack("\1\52"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" - "\1\53"), - DFA.unpack("\1\6\u0086\uffff\1\5") + DFA.unpack("\1\57"), + DFA.unpack("\1\67\121\uffff\1\60\67\uffff\1\66\2\uffff\1\65\22\uffff" + "\1\63\1\61\2\uffff\1\64\1\62"), + DFA.unpack("\1\55"), + DFA.unpack("\1\70"), + DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" + "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" + "\1\3\44\uffff\1\14"), + DFA.unpack("\1\71"), + DFA.unpack("\1\72"), + DFA.unpack("\1\73"), + DFA.unpack("\1\74"), + DFA.unpack("\1\75"), + DFA.unpack("\1\76"), + DFA.unpack("\1\77"), + DFA.unpack("\1\100\140\uffff\1\100"), + DFA.unpack("\1\101"), + DFA.unpack("\1\102\107\uffff\1\103"), + DFA.unpack("\1\104"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\100\140\uffff\1\100\62\uffff\1\56"), + DFA.unpack("\1\56"), + DFA.unpack("\1\103"), + DFA.unpack("\1\105"), + DFA.unpack("\1\106"), + DFA.unpack("\1\107"), + DFA.unpack("\1\110"), + DFA.unpack("\1\111"), + DFA.unpack("\1\112"), + DFA.unpack("\1\113"), + DFA.unpack("\1\114"), + DFA.unpack("\1\115"), + DFA.unpack("\1\20"), + DFA.unpack("\1\116"), + DFA.unpack("\1\117"), + DFA.unpack("\1\56") ] - # class definition for DFA #164 + # class definition for DFA #133 - class DFA164(DFA): + class DFA133(DFA): pass - # lookup tables for DFA #173 + # lookup tables for DFA #130 - DFA173_eot = DFA.unpack( - "\54\uffff" + DFA130_eot = DFA.unpack( + "\137\uffff" ) - DFA173_eof = DFA.unpack( - "\1\3\53\uffff" + DFA130_eof = DFA.unpack( + "\1\3\1\uffff\1\3\5\uffff\1\3\4\uffff\1\3\121\uffff" ) - DFA173_min = DFA.unpack( - "\2\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1\40" - "\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12\1" - "\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1\u00ba" - "\1\u00fa\1\12\1\171" + DFA130_min = DFA.unpack( + "\2\12\1\24\2\uffff\1\u00c5\1\u0081\1\163\1\12\1\137\1\53\1\u00fa" + "\1\12\1\24\1\22\1\163\1\40\1\12\1\u00c5\1\u0081\1\163\1\146\7\u00cf" + "\1\53\1\u00ff\1\12\1\137\1\53\1\u00fa\1\146\7\u00fa\1\163\1\u00ba" + "\1\u00c5\1\22\1\163\1\40\2\12\1\40\1\137\1\146\7\u00cf\1\53\1\12" + "\1\u0081\1\22\1\146\7\u00fa\1\163\1\u00ba\1\u00c5\1\163\1\146\1" + "\12\1\40\1\137\1\40\1\146\1\u0081\1\22\2\163\1\146\1\u00ba\1\40" + "\1\146\1\u00fa\1\163\1\u00ba\1\u00fa" ) - DFA173_max = DFA.unpack( - "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" - "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" - "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" - "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA130_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u00c5\1\u0081\1\163\1\u00fe\1" + "\137\1\163\1\u00fa\1\u0100\1\u00ff\1\u00b7\1\163\1\40\1\u00fe\1" + "\u00c5\1\u0081\1\163\1\u00c7\7\u00cf\1\163\1\u00ff\1\u0100\1\137" + "\1\163\11\u00fa\1\163\1\u00ba\1\u00c5\1\u00b7\1\163\1\40\2\u00fe" + "\1\40\1\137\1\u00c7\7\u00cf\1\163\1\u0100\1\u0081\1\u00b7\10\u00fa" + "\1\163\1\u00ba\1\u00c5\1\163\1\u00c7\1\u00fe\1\40\1\137\1\40\1\u00fa" + "\1\u0081\1\u00b7\2\163\1\u00c7\1\u00ba\1\40\2\u00fa\1\163\1\u00ba" + "\1\u00fa" ) - DFA173_accept = DFA.unpack( - "\2\uffff\1\1\1\2\50\uffff" + DFA130_accept = DFA.unpack( + "\3\uffff\1\2\1\1\132\uffff" ) - DFA173_special = DFA.unpack( - "\54\uffff" + DFA130_special = DFA.unpack( + "\137\uffff" ) - DFA173_transition = [ - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\21\uffff\1\3\13\uffff\1\2\16\uffff\1\2\13\uffff\1\2\10\uffff" - "\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff\1\3\11\uffff" - "\1\2\7\uffff\1\3\17\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff" - "\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA130_transition = [ + DFA.unpack("\1\4\16\uffff\1\3\1\uffff\1\4\5\uffff\1\3\3\uffff\2\3" + "\2\uffff\1\4\3\uffff\1\4\5\uffff\1\3\2\uffff\2\3\1\uffff\3\3\1\uffff" + "\4\3\12\uffff\1\4\16\uffff\1\4\13\uffff\1\2\10\uffff\1\3\7\uffff" + "\1\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" + "\1\3\7\uffff\1\3\1\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4\uffff\1\3" + "\2\uffff\1\4\7\uffff\1\3\1\uffff\1\4\13\uffff\1\3\3\uffff\1\3\24" + "\uffff\1\1"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\7\uffff\1\3\71\uffff\1\6\7\uffff\1\6\1\uffff\1\5" + "\1\uffff\1\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6" + "\11\uffff\1\6\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6" + "\43\uffff\1\7"), + DFA.unpack("\1\4\4\uffff\1\3\7\uffff\1\3\3\uffff\1\3\13\uffff\1" + "\4\5\uffff\1\3\111\uffff\1\4\47\uffff\1\3\24\uffff\1\3\2\uffff\2" + "\3\24\uffff\1\3\21\uffff\1\3\16\uffff\1\4\5\uffff\1\3\1\10"), DFA.unpack(""), DFA.unpack(""), - DFA.unpack("\1\7"), - DFA.unpack("\1\10"), DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), - DFA.unpack("\1\14"), - DFA.unpack("\1\15"), + DFA.unpack("\1\12"), DFA.unpack("\1\13"), + DFA.unpack("\1\4\16\uffff\1\3\1\uffff\1\4\5\uffff\1\3\3\uffff\2" + "\3\2\uffff\1\4\3\uffff\1\4\5\uffff\1\3\2\uffff\2\3\1\uffff\3\3\1" + "\uffff\4\3\12\uffff\1\4\16\uffff\1\4\13\uffff\1\15\10\uffff\1\3" + "\7\uffff\1\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3" + "\11\uffff\1\3\7\uffff\1\3\1\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4" + "\uffff\1\3\2\uffff\1\4\7\uffff\1\3\1\uffff\1\4\13\uffff\1\3\3\uffff" + "\1\3\24\uffff\1\14"), DFA.unpack("\1\16"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" - "\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\23\107\uffff\1\24"), - DFA.unpack("\1\6"), - DFA.unpack("\1\25"), - DFA.unpack("\1\26"), - DFA.unpack("\1\27"), - DFA.unpack("\1\24"), - DFA.unpack("\1\30"), - DFA.unpack("\1\31"), - DFA.unpack("\1\32"), - DFA.unpack("\1\33"), - DFA.unpack("\1\34"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\101\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1\2\22\uffff" - "\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), - DFA.unpack("\1\37"), + DFA.unpack("\1\17\107\uffff\1\20"), + DFA.unpack("\1\21"), + DFA.unpack("\1\23\2\uffff\1\23\23\uffff\1\23\3\uffff\1\23\3\uffff" + "\1\23\3\uffff\1\23\7\uffff\1\3\71\uffff\1\23\7\uffff\1\23\1\uffff" + "\1\22\1\uffff\1\23\22\uffff\1\23\10\uffff\1\23\16\uffff\2\23\1\uffff" + "\2\23\11\uffff\1\23\21\uffff\2\23\4\uffff\1\23\14\uffff\1\23\2\uffff" + "\1\23\43\uffff\1\24"), + DFA.unpack("\1\4\4\uffff\1\3\7\uffff\1\3\3\uffff\1\3\13\uffff\1" + "\4\5\uffff\1\3\111\uffff\1\4\47\uffff\1\3\24\uffff\1\3\2\uffff\2" + "\3\24\uffff\1\3\21\uffff\1\3\16\uffff\1\4\5\uffff\2\3"), + DFA.unpack("\1\34\121\uffff\1\26\67\uffff\1\25\2\uffff\1\33\22\uffff" + "\1\31\1\27\2\uffff\1\32\1\30"), + DFA.unpack("\1\20"), + DFA.unpack("\1\35"), + DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" + "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\36\10\uffff\1\3\7\uffff\1" + "\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" + "\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\17\uffff\1\3\24\uffff" + "\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), DFA.unpack("\1\42"), - DFA.unpack("\1\43"), + DFA.unpack("\1\43\140\uffff\1\43"), DFA.unpack("\1\44"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\21\3\uffff\1\22"), - DFA.unpack("\1\22"), DFA.unpack("\1\51"), DFA.unpack("\1\52"), - DFA.unpack("\1\2\20\uffff\1\2\11\uffff\1\3\3\uffff\1\2\3\uffff\1" - "\2\70\uffff\1\2\10\uffff\1\3\7\uffff\1\2\26\uffff\1\2\10\uffff\1" - "\2\22\uffff\1\3\11\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff" - "\1\53"), - DFA.unpack("\1\6\u0086\uffff\1\5") + DFA.unpack("\1\53\107\uffff\1\54"), + DFA.unpack("\1\10"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\55\1\uffff\1" + "\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1" + "\6\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1" + "\7"), + DFA.unpack("\1\56"), + DFA.unpack("\1\57\107\uffff\1\60"), + DFA.unpack("\1\61"), + DFA.unpack("\1\43\140\uffff\1\43\62\uffff\1\62"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\21"), + DFA.unpack("\1\54"), + DFA.unpack("\1\63"), + DFA.unpack("\1\64"), + DFA.unpack("\1\74\121\uffff\1\66\67\uffff\1\65\2\uffff\1\73\22\uffff" + "\1\71\1\67\2\uffff\1\72\1\70"), + DFA.unpack("\1\60"), + DFA.unpack("\1\75"), + DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" + "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\3\10\uffff\1\3\7\uffff\1\3" + "\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1" + "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\17\uffff\1\3\24\uffff\1" + "\76"), + DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" + "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\36\10\uffff\1\3\7\uffff\1" + "\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" + "\1\3\14\uffff\1\3\4\uffff\2\3\4\uffff\1\3\14\uffff\1\4\17\uffff" + "\1\3\24\uffff\1\37"), + DFA.unpack("\1\77"), + DFA.unpack("\1\100"), + DFA.unpack("\1\101\140\uffff\1\101"), + DFA.unpack("\1\102"), + DFA.unpack("\1\103"), + DFA.unpack("\1\104"), + DFA.unpack("\1\105"), + DFA.unpack("\1\106"), + DFA.unpack("\1\107"), + DFA.unpack("\1\110"), + DFA.unpack("\1\111\107\uffff\1\112"), + DFA.unpack("\1\23\2\uffff\1\23\23\uffff\1\23\3\uffff\1\23\3\uffff" + "\1\23\3\uffff\1\23\101\uffff\1\23\7\uffff\1\23\1\uffff\1\113\1\uffff" + "\1\23\22\uffff\1\23\10\uffff\1\23\16\uffff\2\23\1\uffff\2\23\11" + "\uffff\1\23\21\uffff\2\23\4\uffff\1\23\14\uffff\1\23\2\uffff\1\23" + "\43\uffff\1\24"), + DFA.unpack("\1\114"), + DFA.unpack("\1\34\121\uffff\1\26\67\uffff\1\115\2\uffff\1\33\22" + "\uffff\1\31\1\27\2\uffff\1\32\1\30"), + DFA.unpack("\1\101\140\uffff\1\101\62\uffff\1\116"), + DFA.unpack("\1\61"), + DFA.unpack("\1\61"), + DFA.unpack("\1\61"), + DFA.unpack("\1\61"), + DFA.unpack("\1\61"), + DFA.unpack("\1\61"), + DFA.unpack("\1\61"), + DFA.unpack("\1\112"), + DFA.unpack("\1\117"), + DFA.unpack("\1\120"), + DFA.unpack("\1\121"), + DFA.unpack("\1\122\140\uffff\1\122"), + DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" + "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\3\10\uffff\1\3\7\uffff\1\3" + "\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1" + "\3\14\uffff\1\3\4\uffff\2\3\4\uffff\1\3\14\uffff\1\4\17\uffff\1" + "\3\24\uffff\1\76"), + DFA.unpack("\1\123"), + DFA.unpack("\1\124"), + DFA.unpack("\1\125"), + DFA.unpack("\1\122\140\uffff\1\122\62\uffff\1\21"), + DFA.unpack("\1\126"), + DFA.unpack("\1\74\121\uffff\1\66\67\uffff\1\127\2\uffff\1\73\22" + "\uffff\1\71\1\67\2\uffff\1\72\1\70"), + DFA.unpack("\1\130"), + DFA.unpack("\1\131"), + DFA.unpack("\1\132\140\uffff\1\132"), + DFA.unpack("\1\133"), + DFA.unpack("\1\134"), + DFA.unpack("\1\132\140\uffff\1\132\62\uffff\1\61"), + DFA.unpack("\1\21"), + DFA.unpack("\1\135"), + DFA.unpack("\1\136"), + DFA.unpack("\1\61") ] - # class definition for DFA #173 + # class definition for DFA #130 - class DFA173(DFA): + class DFA130(DFA): pass - # lookup tables for DFA #181 + # lookup tables for DFA #131 - DFA181_eot = DFA.unpack( - "\103\uffff" + DFA131_eot = DFA.unpack( + "\63\uffff" ) - DFA181_eof = DFA.unpack( - "\103\uffff" + DFA131_eof = DFA.unpack( + "\1\3\1\uffff\1\3\60\uffff" ) - DFA181_min = DFA.unpack( - "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c5\1\12\1\53\1\u00fa\1\137" - "\1\12\1\163\1\40\1\12\1\144\1\u0081\1\163\1\53\1\u00ff\1\171\3\u00cf" - "\1\53\1\u00fa\1\163\1\u00ba\3\u00fa\1\163\1\40\1\12\1\40\3\12\1" - "\53\1\u0081\2\171\1\163\1\u00ba\1\163\2\u00c5\2\40\2\137\1\u0081" - "\1\163\1\u00b2\1\u00b6\1\163\1\u00ba\1\40\1\u00fa\1\163\1\12\1\u00ba" - "\1\171\1\u00fa\1\12\1\171" + DFA131_min = DFA.unpack( + "\1\31\1\12\1\31\1\uffff\1\u00c5\1\u0081\1\163\1\0\1\137\1\53\1\u00fa" + "\1\uffff\1\22\1\163\1\40\1\41\1\146\7\u00cf\1\53\1\u00ff\1\12\1" + "\146\7\u00fa\1\163\1\u00ba\1\0\1\u00c5\1\41\1\40\1\137\1\u0081\1" + "\22\1\163\1\146\1\40\1\146\1\163\1\u00ba\1\u00fa" ) - DFA181_max = DFA.unpack( - "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u0081\1\163\1\u00c5\1\u00fe\1" - "\163\1\u00fa\1\137\1\u0100\1\163\1\40\1\u00fe\1\u00b6\1\u0081\2" - "\163\1\u00ff\1\171\3\u00cf\1\163\1\u00fa\1\163\1\u00ba\3\u00fa\1" - "\163\1\40\1\u00fe\1\40\3\u00fe\1\163\1\u0081\2\171\1\163\1\u00ba" - "\1\163\2\u00c5\2\40\2\137\1\u0081\1\163\2\u00b6\1\163\1\u00ba\1" - "\40\1\u00fa\1\163\1\u00fe\1\u00ba\1\u0100\1\u00fa\1\u00fe\1\u0100" + DFA131_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\1\uffff\1\u00c5\1\u0081\1\163\1\0\1\137" + "\1\163\1\u00fa\1\uffff\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf" + "\1\163\1\u00ff\1\u0100\10\u00fa\1\163\1\u00ba\1\0\1\u00c5\1\u00fe" + "\1\40\1\137\1\u0081\1\u00b7\1\163\1\u00c7\1\40\1\u00fa\1\163\1\u00ba" + "\1\u00fa" ) - DFA181_accept = DFA.unpack( - "\3\uffff\1\1\1\2\76\uffff" + DFA131_accept = DFA.unpack( + "\3\uffff\1\2\7\uffff\1\1\47\uffff" ) - DFA181_special = DFA.unpack( - "\103\uffff" + DFA131_special = DFA.unpack( + "\7\uffff\1\0\35\uffff\1\1\15\uffff" ) - DFA181_transition = [ - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\35\uffff\1" - "\3\16\uffff\1\3\13\uffff\1\2\20\uffff\1\4\26\uffff\1\4\10\uffff" - "\1\3\34\uffff\1\4\27\uffff\1\4\2\uffff\1\3\11\uffff\1\3\44\uffff" - "\1\1"), + DFA131_transition = [ + DFA.unpack("\1\3\7\uffff\1\3\3\uffff\2\3\14\uffff\1\3\2\uffff\2\3" + "\1\uffff\3\3\1\uffff\4\3\45\uffff\1\2\10\uffff\1\3\7\uffff\1\3\11" + "\uffff\1\3\14\uffff\1\3\32\uffff\2\3\11\uffff\1\3\7\uffff\1\3\1" + "\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4\uffff\1\3\12\uffff\1\3\15\uffff" + "\1\3\3\uffff\1\3\24\uffff\1\1"), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" - "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\7\1\uffff\1\5" - "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" - "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), - DFA.unpack("\1\3\34\uffff\1\3\117\uffff\1\3\166\uffff\1\3\6\uffff" - "\1\10"), - DFA.unpack(""), + "\5\3\uffff\1\5\7\uffff\1\3\71\uffff\1\5\7\uffff\1\5\1\uffff\1\4" + "\1\uffff\1\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5" + "\11\uffff\1\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5" + "\43\uffff\1\6"), + DFA.unpack("\1\3\7\uffff\1\3\3\uffff\1\3\21\uffff\1\3\161\uffff" + "\1\3\24\uffff\1\3\2\uffff\2\3\24\uffff\1\3\21\uffff\1\3\24\uffff" + "\1\3\1\7"), DFA.unpack(""), + DFA.unpack("\1\10"), DFA.unpack("\1\11"), DFA.unpack("\1\12"), - DFA.unpack("\1\13"), - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\35\uffff" - "\1\3\16\uffff\1\3\13\uffff\1\3\20\uffff\1\4\26\uffff\1\4\10\uffff" - "\1\3\34\uffff\1\4\27\uffff\1\4\2\uffff\1\3\11\uffff\1\3\44\uffff" - "\1\14"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\14"), DFA.unpack("\1\15\107\uffff\1\16"), DFA.unpack("\1\17"), - DFA.unpack("\1\20"), - DFA.unpack("\1\21\2\uffff\1\21\23\uffff\1\21\3\uffff\1\21\3\uffff" - "\1\21\3\uffff\1\21\101\uffff\1\21\7\uffff\1\21\1\uffff\1\7\1\uffff" - "\1\21\22\uffff\1\21\10\uffff\1\21\16\uffff\2\21\1\uffff\2\21\11" - "\uffff\1\21\21\uffff\2\21\4\uffff\1\21\14\uffff\1\21\2\uffff\1\21" - "\43\uffff\1\22"), + DFA.unpack(""), + DFA.unpack("\1\27\121\uffff\1\21\67\uffff\1\20\2\uffff\1\26\22\uffff" + "\1\24\1\22\2\uffff\1\25\1\23"), DFA.unpack("\1\16"), - DFA.unpack("\1\23"), - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\70\uffff" - "\1\24\20\uffff\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff" - "\1\4\14\uffff\1\3\44\uffff\1\25"), - DFA.unpack("\1\26\115\uffff\1\27\3\uffff\1\30"), - DFA.unpack("\1\31"), - DFA.unpack("\1\32"), - DFA.unpack("\1\33\107\uffff\1\34"), - DFA.unpack("\1\10"), - DFA.unpack("\1\7"), + DFA.unpack("\1\30"), + DFA.unpack("\1\3\3\uffff\2\3\14\uffff\1\3\62\uffff\1\31\10\uffff" + "\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1\3\32\uffff\2\3\11\uffff" + "\1\3\21\uffff\2\3\4\uffff\1\3\34\uffff\1\3\24\uffff\1\32"), + DFA.unpack("\1\33\140\uffff\1\33"), + DFA.unpack("\1\34"), DFA.unpack("\1\35"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\40\107\uffff\1\41"), + DFA.unpack("\1\40"), + DFA.unpack("\1\41"), DFA.unpack("\1\42"), - DFA.unpack("\1\34"), - DFA.unpack("\1\43"), - DFA.unpack("\1\44"), + DFA.unpack("\1\43\107\uffff\1\44"), DFA.unpack("\1\45"), - DFA.unpack("\1\46"), - DFA.unpack("\1\41"), - DFA.unpack("\1\47"), - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" - "\1\3\44\uffff\1\25"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\46\1\uffff\1" + "\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1" + "\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1" + "\6"), + DFA.unpack("\1\33\140\uffff\1\33\62\uffff\1\47"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\17"), + DFA.unpack("\1\44"), DFA.unpack("\1\50"), - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" - "\1\3\44\uffff\1\51"), - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" - "\1\3\44\uffff\1\51"), - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" - "\1\3\44\uffff\1\52"), - DFA.unpack("\1\53\107\uffff\1\54"), - DFA.unpack("\1\55"), - DFA.unpack("\1\56"), - DFA.unpack("\1\57"), + DFA.unpack("\1\uffff"), + DFA.unpack("\1\51"), + DFA.unpack("\1\3\3\uffff\2\3\14\uffff\1\3\62\uffff\1\31\10\uffff" + "\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1\3\32\uffff\2\3\11\uffff" + "\1\3\14\uffff\1\3\4\uffff\2\3\4\uffff\1\3\34\uffff\1\3\24\uffff" + "\1\32"), + DFA.unpack("\1\52"), + DFA.unpack("\1\53"), DFA.unpack("\1\54"), + DFA.unpack("\1\27\121\uffff\1\21\67\uffff\1\55\2\uffff\1\26\22\uffff" + "\1\24\1\22\2\uffff\1\25\1\23"), + DFA.unpack("\1\56"), + DFA.unpack("\1\57\140\uffff\1\57"), DFA.unpack("\1\60"), + DFA.unpack("\1\57\140\uffff\1\57\62\uffff\1\17"), DFA.unpack("\1\61"), DFA.unpack("\1\62"), - DFA.unpack("\1\63"), - DFA.unpack("\1\64"), - DFA.unpack("\1\65"), - DFA.unpack("\1\66"), - DFA.unpack("\1\67"), - DFA.unpack("\1\70"), - DFA.unpack("\1\71"), - DFA.unpack("\1\27\3\uffff\1\30"), - DFA.unpack("\1\30"), - DFA.unpack("\1\72"), - DFA.unpack("\1\73"), - DFA.unpack("\1\74"), - DFA.unpack("\1\75"), - DFA.unpack("\1\76"), - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\70\uffff" - "\1\24\20\uffff\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff" - "\1\4\14\uffff\1\3\44\uffff\1\77"), - DFA.unpack("\1\100"), - DFA.unpack("\1\7\u0086\uffff\1\6"), - DFA.unpack("\1\101"), - DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\111\uffff" - "\1\4\26\uffff\1\4\10\uffff\1\3\34\uffff\1\4\27\uffff\1\4\14\uffff" - "\1\3\44\uffff\1\102"), - DFA.unpack("\1\7\u0086\uffff\1\22") + DFA.unpack("\1\17") ] - # class definition for DFA #181 + # class definition for DFA #131 - class DFA181(DFA): + class DFA131(DFA): pass - # lookup tables for DFA #178 + def specialStateTransition(self_, s, input): + # convince pylint that my self_ magic is ok ;) + # pylint: disable-msg=E0213 + + # pretend we are a member of the recognizer + # thus semantic predicates can be evaluated + self = self_.recognizer + + _s = s + + if s == 0: + LA131_7 = input.LA(1) + + + index131_7 = input.index() + input.rewind() + + s = -1 + if (self.synpred168_sdl92()): + s = 11 + + elif (True): + s = 3 + + + input.seek(index131_7) + + if s >= 0: + return s + elif s == 1: + LA131_37 = input.LA(1) + + + index131_37 = input.index() + input.rewind() + + s = -1 + if (self.synpred168_sdl92()): + s = 11 + + elif (True): + s = 3 + + + input.seek(index131_37) + + if s >= 0: + return s + + if self._state.backtracking > 0: + raise BacktrackingFailed + + nvae = NoViableAltException(self_.getDescription(), 131, _s, input) + self_.error(nvae) + raise nvae + + # lookup tables for DFA #132 - DFA178_eot = DFA.unpack( - "\125\uffff" + DFA132_eot = DFA.unpack( + "\60\uffff" ) - DFA178_eof = DFA.unpack( - "\1\3\1\uffff\1\3\5\uffff\1\3\4\uffff\1\3\107\uffff" + DFA132_eof = DFA.unpack( + "\1\4\1\uffff\1\4\55\uffff" ) - DFA178_min = DFA.unpack( - "\2\12\1\24\2\uffff\1\u0081\1\163\1\u00c5\1\12\1\53\1\u00fa\1\137" - "\1\12\1\24\1\163\1\40\1\12\1\22\1\u0081\1\163\1\53\1\u00ff\1\171" - "\3\u00cf\1\53\1\u00fa\1\163\1\u00ba\1\u00c5\3\u00fa\1\163\1\40\1" - "\12\1\40\1\137\3\12\1\53\1\u0081\1\144\3\171\1\163\1\u00ba\1\163" - "\3\u00c5\2\40\3\137\1\u0081\1\163\3\u009f\1\163\1\u00ba\2\u00cf" - "\1\40\3\u00fa\1\163\3\12\1\u00ba\2\171\1\u00fa\1\u00c5\1\12\1\137" - "\1\171\1\u009f" + DFA132_min = DFA.unpack( + "\1\31\1\12\1\31\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa" + "\1\22\1\163\1\40\1\41\1\146\7\u00cf\1\53\1\12\1\146\7\u00fa\1\163" + "\1\u00ba\1\u00c5\1\41\1\40\1\137\1\u0081\1\22\1\163\1\146\1\40\1" + "\146\1\163\1\u00ba\1\u00fa" ) - DFA178_max = DFA.unpack( - "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u0081\1\163\1\u00c5\1\u00fe\1" - "\163\1\u00fa\1\137\1\u0100\1\u00ff\1\163\1\40\1\u00fe\1\u00b7\1" - "\u0081\2\163\1\u00ff\1\171\3\u00cf\1\163\1\u00fa\1\163\1\u00ba\1" - "\u00c5\3\u00fa\1\163\1\40\1\u00fe\1\40\1\137\3\u00fe\1\163\1\u0081" - "\1\u00b7\3\171\1\163\1\u00ba\1\163\3\u00c5\2\40\3\137\1\u0081\1" - "\163\3\u00b6\1\163\1\u00ba\2\u00cf\1\40\3\u00fa\1\163\3\u00fe\1" - "\u00ba\1\u0100\1\171\1\u00fa\1\u00c5\1\u00fe\1\137\1\u0100\1\u00b6" + DFA132_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163" + "\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\1\u00c7\7\u00cf\1\163\1\u0100" + "\10\u00fa\1\163\1\u00ba\1\u00c5\1\u00fe\1\40\1\137\1\u0081\1\u00b7" + "\1\163\1\u00c7\1\40\1\u00fa\1\163\1\u00ba\1\u00fa" ) - DFA178_accept = DFA.unpack( - "\3\uffff\1\2\1\1\120\uffff" + DFA132_accept = DFA.unpack( + "\3\uffff\1\1\1\2\53\uffff" ) - DFA178_special = DFA.unpack( - "\125\uffff" + DFA132_special = DFA.unpack( + "\60\uffff" ) - DFA178_transition = [ - DFA.unpack("\1\4\16\uffff\1\3\1\uffff\1\4\5\uffff\1\3\3\uffff\2\3" - "\2\uffff\1\4\3\uffff\1\4\5\uffff\1\3\2\uffff\2\3\1\uffff\3\3\1\uffff" - "\4\3\12\uffff\1\4\16\uffff\1\4\13\uffff\1\2\10\uffff\1\3\7\uffff" - "\1\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" - "\1\3\7\uffff\1\3\1\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4\uffff\1\3" - "\2\uffff\1\4\7\uffff\1\3\1\uffff\1\4\13\uffff\1\3\3\uffff\1\3\24" - "\uffff\1\1"), - DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" - "\5\3\uffff\1\5\7\uffff\1\3\71\uffff\1\5\7\uffff\1\5\1\uffff\1\7" - "\1\uffff\1\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5" - "\11\uffff\1\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5" - "\43\uffff\1\6"), - DFA.unpack("\1\4\4\uffff\1\3\7\uffff\1\3\3\uffff\1\3\13\uffff\1" - "\4\5\uffff\1\3\111\uffff\1\4\47\uffff\1\3\24\uffff\1\3\2\uffff\2" - "\3\24\uffff\1\3\21\uffff\1\3\16\uffff\1\4\5\uffff\1\3\1\10"), + DFA132_transition = [ + DFA.unpack("\1\4\7\uffff\1\4\3\uffff\2\4\14\uffff\1\4\2\uffff\2\4" + "\1\uffff\3\4\1\uffff\4\4\45\uffff\1\2\10\uffff\1\4\7\uffff\1\3\11" + "\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff\1\3\7\uffff\1\4\1" + "\uffff\1\4\2\uffff\2\4\3\uffff\2\4\4\uffff\1\3\12\uffff\1\4\15\uffff" + "\1\4\3\uffff\1\4\24\uffff\1\1"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\7\uffff\1\4\71\uffff\1\6\7\uffff\1\6\1\uffff\1\5" + "\1\uffff\1\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6" + "\11\uffff\1\6\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6" + "\43\uffff\1\7"), + DFA.unpack("\1\4\7\uffff\1\4\3\uffff\1\4\21\uffff\1\4\161\uffff" + "\1\4\24\uffff\1\4\2\uffff\2\4\24\uffff\1\4\21\uffff\1\4\24\uffff" + "\1\4\1\3"), DFA.unpack(""), DFA.unpack(""), + DFA.unpack("\1\10"), DFA.unpack("\1\11"), DFA.unpack("\1\12"), DFA.unpack("\1\13"), - DFA.unpack("\1\4\16\uffff\1\3\1\uffff\1\4\5\uffff\1\3\3\uffff\2" - "\3\2\uffff\1\4\3\uffff\1\4\5\uffff\1\3\2\uffff\2\3\1\uffff\3\3\1" - "\uffff\4\3\12\uffff\1\4\16\uffff\1\4\13\uffff\1\15\10\uffff\1\3" - "\7\uffff\1\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3" - "\11\uffff\1\3\7\uffff\1\3\1\uffff\1\3\2\uffff\2\3\3\uffff\2\3\4" - "\uffff\1\3\2\uffff\1\4\7\uffff\1\3\1\uffff\1\4\13\uffff\1\3\3\uffff" - "\1\3\24\uffff\1\14"), - DFA.unpack("\1\16\107\uffff\1\17"), - DFA.unpack("\1\20"), - DFA.unpack("\1\21"), - DFA.unpack("\1\22\2\uffff\1\22\23\uffff\1\22\3\uffff\1\22\3\uffff" - "\1\22\3\uffff\1\22\7\uffff\1\3\71\uffff\1\22\7\uffff\1\22\1\uffff" - "\1\7\1\uffff\1\22\22\uffff\1\22\10\uffff\1\22\16\uffff\2\22\1\uffff" - "\2\22\11\uffff\1\22\21\uffff\2\22\4\uffff\1\22\14\uffff\1\22\2\uffff" - "\1\22\43\uffff\1\23"), - DFA.unpack("\1\4\4\uffff\1\3\7\uffff\1\3\3\uffff\1\3\13\uffff\1" - "\4\5\uffff\1\3\111\uffff\1\4\47\uffff\1\3\24\uffff\1\3\2\uffff\2" - "\3\24\uffff\1\3\21\uffff\1\3\16\uffff\1\4\5\uffff\2\3"), - DFA.unpack("\1\17"), - DFA.unpack("\1\24"), - DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" - "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\25\10\uffff\1\3\7\uffff\1" - "\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" - "\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\26"), - DFA.unpack("\1\3\121\uffff\1\27\67\uffff\1\3\2\uffff\1\3\22\uffff" - "\1\30\1\3\2\uffff\1\31\1\3"), + DFA.unpack("\1\14\107\uffff\1\15"), + DFA.unpack("\1\16"), + DFA.unpack("\1\26\121\uffff\1\20\67\uffff\1\17\2\uffff\1\25\22\uffff" + "\1\23\1\21\2\uffff\1\24\1\22"), + DFA.unpack("\1\15"), + DFA.unpack("\1\27"), + DFA.unpack("\1\4\3\uffff\2\4\14\uffff\1\4\62\uffff\1\3\10\uffff" + "\1\4\7\uffff\1\3\11\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff" + "\1\3\21\uffff\2\4\4\uffff\1\3\34\uffff\1\4\24\uffff\1\30"), + DFA.unpack("\1\31\140\uffff\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), - DFA.unpack("\1\34\107\uffff\1\35"), - DFA.unpack("\1\10"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), - DFA.unpack("\1\41"), - DFA.unpack("\1\42\107\uffff\1\43"), - DFA.unpack("\1\44"), - DFA.unpack("\1\35"), + DFA.unpack("\1\41\107\uffff\1\42"), + DFA.unpack("\1\6\2\uffff\1\6\23\uffff\1\6\3\uffff\1\6\3\uffff\1" + "\6\3\uffff\1\6\101\uffff\1\6\7\uffff\1\6\1\uffff\1\43\1\uffff\1" + "\6\22\uffff\1\6\10\uffff\1\6\16\uffff\2\6\1\uffff\2\6\11\uffff\1" + "\6\21\uffff\2\6\4\uffff\1\6\14\uffff\1\6\2\uffff\1\6\43\uffff\1" + "\7"), + DFA.unpack("\1\31\140\uffff\1\31\62\uffff\1\44"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\42"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), + DFA.unpack("\1\4\3\uffff\2\4\14\uffff\1\4\62\uffff\1\3\10\uffff" + "\1\4\7\uffff\1\3\11\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff" + "\1\3\14\uffff\1\4\4\uffff\2\4\4\uffff\1\3\34\uffff\1\4\24\uffff" + "\1\30"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), DFA.unpack("\1\51"), - DFA.unpack("\1\43"), - DFA.unpack("\1\52"), - DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" - "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\3\10\uffff\1\3\7\uffff\1\3" - "\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1" - "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\26"), + DFA.unpack("\1\26\121\uffff\1\20\67\uffff\1\52\2\uffff\1\25\22\uffff" + "\1\23\1\21\2\uffff\1\24\1\22"), DFA.unpack("\1\53"), - DFA.unpack("\1\54"), - DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" - "\4\3\uffff\1\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3" - "\14\uffff\1\3\10\uffff\1\4\22\uffff\1\3\11\uffff\1\3\21\uffff\2" - "\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\55"), - DFA.unpack("\1\4\20\uffff\1\4\11\uffff\2\3\2\uffff\1\4\3\uffff\1" - "\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1" - "\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1\3\21\uffff\2\3\4\uffff\1" - "\3\14\uffff\1\4\44\uffff\1\56"), - DFA.unpack("\1\4\20\uffff\1\4\11\uffff\2\3\2\uffff\1\4\3\uffff\1" - "\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1" - "\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1\3\21\uffff\2\3\4\uffff\1" - "\3\14\uffff\1\4\44\uffff\1\57"), - DFA.unpack("\1\60\107\uffff\1\61"), - DFA.unpack("\1\62"), - DFA.unpack("\1\27\72\uffff\1\3\22\uffff\1\30\1\3\2\uffff\1\31\1" - "\3"), - DFA.unpack("\1\63"), - DFA.unpack("\1\64"), - DFA.unpack("\1\65"), - DFA.unpack("\1\61"), - DFA.unpack("\1\66"), - DFA.unpack("\1\67"), - DFA.unpack("\1\70"), - DFA.unpack("\1\71"), - DFA.unpack("\1\72"), - DFA.unpack("\1\73"), - DFA.unpack("\1\74"), - DFA.unpack("\1\75"), - DFA.unpack("\1\76"), - DFA.unpack("\1\77"), - DFA.unpack("\1\100"), - DFA.unpack("\1\101"), - DFA.unpack("\1\3\22\uffff\1\102\3\uffff\1\103"), - DFA.unpack("\1\3\22\uffff\1\30\3\uffff\1\31"), - DFA.unpack("\1\3\26\uffff\1\31"), - DFA.unpack("\1\104"), - DFA.unpack("\1\105"), - DFA.unpack("\1\106"), - DFA.unpack("\1\107"), - DFA.unpack("\1\110"), - DFA.unpack("\1\111"), - DFA.unpack("\1\112"), - DFA.unpack("\1\113"), - DFA.unpack("\1\114"), - DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" - "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\25\10\uffff\1\3\7\uffff\1" - "\3\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff" - "\1\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\115"), - DFA.unpack("\1\4\20\uffff\1\4\11\uffff\2\3\2\uffff\1\4\3\uffff\1" - "\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1" - "\3\10\uffff\1\4\22\uffff\1\3\11\uffff\1\3\21\uffff\2\3\4\uffff\1" - "\3\14\uffff\1\4\44\uffff\1\55"), - DFA.unpack("\1\4\20\uffff\1\4\11\uffff\2\3\2\uffff\1\4\3\uffff\1" - "\4\5\uffff\1\3\73\uffff\1\3\7\uffff\1\3\11\uffff\1\3\14\uffff\1" - "\3\10\uffff\1\4\22\uffff\1\3\11\uffff\1\3\21\uffff\2\3\4\uffff\1" - "\3\14\uffff\1\4\44\uffff\1\116"), - DFA.unpack("\1\117"), - DFA.unpack("\1\36\u0086\uffff\1\6"), - DFA.unpack("\1\120"), - DFA.unpack("\1\121"), - DFA.unpack("\1\122"), - DFA.unpack("\1\4\20\uffff\1\4\5\uffff\1\3\3\uffff\2\3\2\uffff\1" - "\4\3\uffff\1\4\5\uffff\1\3\62\uffff\1\3\10\uffff\1\3\7\uffff\1\3" - "\11\uffff\1\3\14\uffff\1\3\10\uffff\1\4\21\uffff\2\3\11\uffff\1" - "\3\21\uffff\2\3\4\uffff\1\3\14\uffff\1\4\44\uffff\1\123"), - DFA.unpack("\1\124"), - DFA.unpack("\1\36\u0086\uffff\1\23"), - DFA.unpack("\1\3\26\uffff\1\103") + DFA.unpack("\1\54\140\uffff\1\54"), + DFA.unpack("\1\55"), + DFA.unpack("\1\54\140\uffff\1\54\62\uffff\1\16"), + DFA.unpack("\1\56"), + DFA.unpack("\1\57"), + DFA.unpack("\1\16") ] - # class definition for DFA #178 + # class definition for DFA #132 - class DFA178(DFA): + class DFA132(DFA): pass - # lookup tables for DFA #180 + # lookup tables for DFA #134 - DFA180_eot = DFA.unpack( - "\76\uffff" + DFA134_eot = DFA.unpack( + "\51\uffff" ) - DFA180_eof = DFA.unpack( - "\1\4\1\uffff\1\4\73\uffff" + DFA134_eof = DFA.unpack( + "\51\uffff" ) - DFA180_min = DFA.unpack( - "\1\31\1\12\1\31\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137" - "\1\163\1\40\1\41\1\22\1\53\1\171\3\u00cf\1\163\1\u00ba\1\u00c5\3" - "\u00fa\1\40\1\137\1\41\2\45\1\u0081\1\144\3\171\1\163\3\u00c5\1" - "\40\3\137\1\163\3\u009f\1\u00ba\2\u00cf\3\u00fa\1\41\2\45\2\171" - "\1\u00c5\1\137\1\u009f" + DFA134_min = DFA.unpack( + "\2\12\1\24\1\uffff\1\u00c5\1\u0081\1\163\1\uffff\1\137\1\53\1\u00fa" + "\1\22\1\163\1\40\1\12\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1" + "\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA180_max = DFA.unpack( - "\1\u00fe\1\u0100\1\u00ff\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa" - "\1\137\1\163\1\40\1\u00fe\1\u00b7\1\163\1\171\3\u00cf\1\163\1\u00ba" - "\1\u00c5\3\u00fa\1\40\1\137\3\u00fe\1\u0081\1\u00b7\3\171\1\163" - "\3\u00c5\1\40\3\137\1\163\3\u00b6\1\u00ba\2\u00cf\3\u00fa\3\u00fe" - "\1\u0100\1\171\1\u00c5\1\137\1\u00b6" + DFA134_max = DFA.unpack( + "\1\u00fe\1\u0100\1\u00ff\1\uffff\1\u00c5\1\u0081\1\163\1\uffff\1" + "\137\1\163\1\u00fa\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1" + "\u00cf\1\163\10\u00fa\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163" + "\1\u00ba\1\u00fa" ) - DFA180_accept = DFA.unpack( - "\3\uffff\1\1\1\2\71\uffff" + DFA134_accept = DFA.unpack( + "\3\uffff\1\2\3\uffff\1\1\41\uffff" ) - DFA180_special = DFA.unpack( - "\76\uffff" + DFA134_special = DFA.unpack( + "\51\uffff" ) - DFA180_transition = [ - DFA.unpack("\1\4\7\uffff\1\4\3\uffff\2\4\14\uffff\1\4\2\uffff\2\4" - "\1\uffff\3\4\1\uffff\4\4\45\uffff\1\2\10\uffff\1\4\7\uffff\1\3\11" - "\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff\1\3\7\uffff\1\4\1" - "\uffff\1\4\2\uffff\2\4\3\uffff\2\4\4\uffff\1\3\12\uffff\1\4\15\uffff" - "\1\4\3\uffff\1\4\24\uffff\1\1"), + DFA134_transition = [ + DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\35\uffff\1" + "\3\16\uffff\1\3\13\uffff\1\2\60\uffff\1\3\67\uffff\1\3\11\uffff" + "\1\3\44\uffff\1\1"), DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" - "\5\3\uffff\1\5\7\uffff\1\4\71\uffff\1\5\7\uffff\1\5\1\uffff\1\7" - "\1\uffff\1\5\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5" - "\11\uffff\1\5\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5" - "\43\uffff\1\6"), - DFA.unpack("\1\4\7\uffff\1\4\3\uffff\1\4\21\uffff\1\4\161\uffff" - "\1\4\24\uffff\1\4\2\uffff\2\4\24\uffff\1\4\21\uffff\1\4\24\uffff" - "\1\4\1\3"), - DFA.unpack(""), + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + DFA.unpack("\1\3\34\uffff\1\3\117\uffff\1\3\166\uffff\1\3\6\uffff" + "\1\7"), DFA.unpack(""), DFA.unpack("\1\10"), DFA.unpack("\1\11"), DFA.unpack("\1\12"), - DFA.unpack("\1\13\107\uffff\1\14"), - DFA.unpack("\1\15"), + DFA.unpack(""), + DFA.unpack("\1\13"), + DFA.unpack("\1\14\107\uffff\1\15"), DFA.unpack("\1\16"), - DFA.unpack("\1\14"), - DFA.unpack("\1\17"), - DFA.unpack("\1\4\3\uffff\2\4\14\uffff\1\4\62\uffff\1\3\10\uffff" - "\1\4\7\uffff\1\3\11\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff" - "\1\3\21\uffff\2\4\4\uffff\1\3\61\uffff\1\20"), - DFA.unpack("\1\4\121\uffff\1\21\67\uffff\1\4\2\uffff\1\4\22\uffff" - "\1\22\1\4\2\uffff\1\23\1\4"), - DFA.unpack("\1\24\107\uffff\1\25"), - DFA.unpack("\1\26"), + DFA.unpack("\1\26\121\uffff\1\17\67\uffff\1\25\2\uffff\1\24\22\uffff" + "\1\22\1\20\2\uffff\1\23\1\21"), + DFA.unpack("\1\15"), DFA.unpack("\1\27"), + DFA.unpack("\1\3\20\uffff\1\3\15\uffff\1\3\3\uffff\1\3\70\uffff" + "\1\7\60\uffff\1\3\101\uffff\1\3\44\uffff\1\1"), DFA.unpack("\1\30"), DFA.unpack("\1\31"), - DFA.unpack("\1\25"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), DFA.unpack("\1\35"), - DFA.unpack("\1\36"), + DFA.unpack("\1\36\140\uffff\1\36"), DFA.unpack("\1\37"), - DFA.unpack("\1\40"), - DFA.unpack("\1\4\3\uffff\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1" - "\3\11\uffff\1\4\14\uffff\1\3\33\uffff\1\4\11\uffff\1\3\21\uffff" - "\2\4\4\uffff\1\3\61\uffff\1\41"), - DFA.unpack("\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1\3\11\uffff" - "\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff\1\3\21\uffff\2\4\4\uffff" - "\1\3\61\uffff\1\42"), - DFA.unpack("\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1\3\11\uffff" - "\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff\1\3\21\uffff\2\4\4\uffff" - "\1\3\61\uffff\1\43"), + DFA.unpack("\1\40\107\uffff\1\41"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\36\140\uffff\1\36\62\uffff\1\16"), + DFA.unpack("\1\16"), + DFA.unpack("\1\41"), + DFA.unpack("\1\42"), + DFA.unpack("\1\43"), DFA.unpack("\1\44"), - DFA.unpack("\1\21\72\uffff\1\4\22\uffff\1\22\1\4\2\uffff\1\23\1" - "\4"), DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), - DFA.unpack("\1\51"), - DFA.unpack("\1\52"), - DFA.unpack("\1\53"), - DFA.unpack("\1\54"), - DFA.unpack("\1\55"), - DFA.unpack("\1\56"), - DFA.unpack("\1\57"), - DFA.unpack("\1\60"), - DFA.unpack("\1\4\22\uffff\1\61\3\uffff\1\62"), - DFA.unpack("\1\4\22\uffff\1\22\3\uffff\1\23"), - DFA.unpack("\1\4\26\uffff\1\23"), - DFA.unpack("\1\63"), - DFA.unpack("\1\64"), - DFA.unpack("\1\65"), - DFA.unpack("\1\66"), - DFA.unpack("\1\67"), - DFA.unpack("\1\70"), - DFA.unpack("\1\4\3\uffff\2\4\14\uffff\1\4\62\uffff\1\3\10\uffff" - "\1\4\7\uffff\1\3\11\uffff\1\4\14\uffff\1\3\32\uffff\2\4\11\uffff" - "\1\3\21\uffff\2\4\4\uffff\1\3\61\uffff\1\71"), - DFA.unpack("\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1\3\11\uffff" - "\1\4\14\uffff\1\3\33\uffff\1\4\11\uffff\1\3\21\uffff\2\4\4\uffff" - "\1\3\61\uffff\1\41"), - DFA.unpack("\2\4\14\uffff\1\4\73\uffff\1\4\7\uffff\1\3\11\uffff" - "\1\4\14\uffff\1\3\33\uffff\1\4\11\uffff\1\3\21\uffff\2\4\4\uffff" - "\1\3\61\uffff\1\72"), - DFA.unpack("\1\26\u0086\uffff\1\6"), - DFA.unpack("\1\73"), - DFA.unpack("\1\74"), - DFA.unpack("\1\75"), - DFA.unpack("\1\4\26\uffff\1\62") + DFA.unpack("\1\16") ] - # class definition for DFA #180 + # class definition for DFA #134 - class DFA180(DFA): + class DFA134(DFA): pass - # lookup tables for DFA #183 + # lookup tables for DFA #135 - DFA183_eot = DFA.unpack( - "\62\uffff" + DFA135_eot = DFA.unpack( + "\56\uffff" ) - DFA183_eof = DFA.unpack( - "\62\uffff" + DFA135_eof = DFA.unpack( + "\56\uffff" ) - DFA183_min = DFA.unpack( - "\2\12\10\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1" - "\40\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12" - "\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1" - "\u00ba\1\u00fa\1\12\1\171" + DFA135_min = DFA.unpack( + "\2\12\10\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22\1\163" + "\1\40\1\12\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa\1\163" + "\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA183_max = DFA.unpack( - "\1\u00fe\1\u0100\10\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1" - "\137\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba" - "\3\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" - "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA135_max = DFA.unpack( + "\1\u00fe\1\u0100\10\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA183_accept = DFA.unpack( - "\2\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\50\uffff" + DFA135_accept = DFA.unpack( + "\2\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\44\uffff" ) - DFA183_special = DFA.unpack( - "\62\uffff" + DFA135_special = DFA.unpack( + "\56\uffff" ) - DFA183_transition = [ + DFA135_transition = [ DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\35\uffff" "\1\10\16\uffff\1\3\13\uffff\1\3\60\uffff\1\4\67\uffff\1\3\11\uffff" "\1\2\44\uffff\1\1"), - DFA.unpack("\1\12\2\uffff\1\12\23\uffff\1\12\3\uffff\1\12\3\uffff" - "\1\12\3\uffff\1\12\101\uffff\1\12\7\uffff\1\12\1\uffff\1\14\1\uffff" - "\1\12\22\uffff\1\12\10\uffff\1\12\16\uffff\2\12\1\uffff\2\12\11" - "\uffff\1\12\21\uffff\2\12\4\uffff\1\12\14\uffff\1\12\2\uffff\1\12" - "\43\uffff\1\13"), + DFA.unpack("\1\13\2\uffff\1\13\23\uffff\1\13\3\uffff\1\13\3\uffff" + "\1\13\3\uffff\1\13\101\uffff\1\13\7\uffff\1\13\1\uffff\1\12\1\uffff" + "\1\13\22\uffff\1\13\10\uffff\1\13\16\uffff\2\13\1\uffff\2\13\11" + "\uffff\1\13\21\uffff\2\13\4\uffff\1\13\14\uffff\1\13\2\uffff\1\13" + "\43\uffff\1\14"), DFA.unpack(""), DFA.unpack(""), DFA.unpack(""), @@ -41545,32 +39600,32 @@ class DFA180(DFA): DFA.unpack("\1\15"), DFA.unpack("\1\16"), DFA.unpack("\1\17"), - DFA.unpack("\1\20\107\uffff\1\21"), - DFA.unpack("\1\22"), + DFA.unpack("\1\20"), + DFA.unpack("\1\21\107\uffff\1\22"), DFA.unpack("\1\23"), - DFA.unpack("\1\21"), - DFA.unpack("\1\24"), - DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\101\uffff\1\2\44\uffff\1\25"), - DFA.unpack("\1\26\115\uffff\1\27\3\uffff\1\30"), - DFA.unpack("\1\31\107\uffff\1\32"), - DFA.unpack("\1\14"), - DFA.unpack("\1\33"), + DFA.unpack("\1\33\121\uffff\1\24\67\uffff\1\32\2\uffff\1\31\22\uffff" + "\1\27\1\25\2\uffff\1\30\1\26"), + DFA.unpack("\1\22"), DFA.unpack("\1\34"), + DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" + "\1\4\101\uffff\1\2\44\uffff\1\1"), DFA.unpack("\1\35"), - DFA.unpack("\1\32"), DFA.unpack("\1\36"), DFA.unpack("\1\37"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), DFA.unpack("\1\42"), - DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\101\uffff\1\2\44\uffff\1\43"), - DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\101\uffff\1\2\44\uffff\1\43"), - DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\101\uffff\1\2\44\uffff\1\44"), - DFA.unpack("\1\45"), + DFA.unpack("\1\43\140\uffff\1\43"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45\107\uffff\1\46"), + DFA.unpack("\1\23"), + DFA.unpack("\1\23"), + DFA.unpack("\1\23"), + DFA.unpack("\1\23"), + DFA.unpack("\1\23"), + DFA.unpack("\1\23"), + DFA.unpack("\1\43\140\uffff\1\43\62\uffff\1\23"), + DFA.unpack("\1\23"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), DFA.unpack("\1\50"), @@ -41579,50 +39634,43 @@ class DFA180(DFA): DFA.unpack("\1\53"), DFA.unpack("\1\54"), DFA.unpack("\1\55"), - DFA.unpack("\1\56"), - DFA.unpack("\1\27\3\uffff\1\30"), - DFA.unpack("\1\30"), - DFA.unpack("\1\57"), - DFA.unpack("\1\60"), - DFA.unpack("\1\7\20\uffff\1\11\15\uffff\1\5\3\uffff\1\6\151\uffff" - "\1\4\101\uffff\1\2\44\uffff\1\61"), - DFA.unpack("\1\14\u0086\uffff\1\13") + DFA.unpack("\1\23") ] - # class definition for DFA #183 + # class definition for DFA #135 - class DFA183(DFA): + class DFA135(DFA): pass - # lookup tables for DFA #190 + # lookup tables for DFA #138 - DFA190_eot = DFA.unpack( + DFA138_eot = DFA.unpack( "\111\uffff" ) - DFA190_eof = DFA.unpack( + DFA138_eof = DFA.unpack( "\1\2\110\uffff" ) - DFA190_min = DFA.unpack( + DFA138_min = DFA.unpack( "\1\12\1\0\107\uffff" ) - DFA190_max = DFA.unpack( + DFA138_max = DFA.unpack( "\1\u00ff\1\0\107\uffff" ) - DFA190_accept = DFA.unpack( + DFA138_accept = DFA.unpack( "\2\uffff\1\2\105\uffff\1\1" ) - DFA190_special = DFA.unpack( + DFA138_special = DFA.unpack( "\1\uffff\1\0\107\uffff" ) - DFA190_transition = [ + DFA138_transition = [ DFA.unpack("\1\2\1\uffff\1\2\2\uffff\1\2\5\uffff\1\2\3\uffff\1\2" "\1\uffff\1\2\4\uffff\2\2\3\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\uffff" "\1\2\2\uffff\2\2\1\uffff\1\2\2\uffff\2\2\1\uffff\3\2\1\uffff\5\2" @@ -41708,9 +39756,9 @@ class DFA183(DFA): DFA.unpack("") ] - # class definition for DFA #190 + # class definition for DFA #138 - class DFA190(DFA): + class DFA138(DFA): pass @@ -41725,21 +39773,21 @@ def specialStateTransition(self_, s, input): _s = s if s == 0: - LA190_1 = input.LA(1) + LA138_1 = input.LA(1) - index190_1 = input.index() + index138_1 = input.index() input.rewind() s = -1 - if (self.synpred233_sdl92()): + if (self.synpred181_sdl92()): s = 72 elif (True): s = 2 - input.seek(index190_1) + input.seek(index138_1) if s >= 0: return s @@ -41747,76 +39795,77 @@ def specialStateTransition(self_, s, input): if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException(self_.getDescription(), 190, _s, input) + nvae = NoViableAltException(self_.getDescription(), 138, _s, input) self_.error(nvae) raise nvae - # lookup tables for DFA #201 + # lookup tables for DFA #145 - DFA201_eot = DFA.unpack( - "\54\uffff" + DFA145_eot = DFA.unpack( + "\50\uffff" ) - DFA201_eof = DFA.unpack( - "\54\uffff" + DFA145_eof = DFA.unpack( + "\50\uffff" ) - DFA201_min = DFA.unpack( - "\1\63\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" - "\1\40\1\63\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3" - "\63\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6" - "\1\u00ba\1\u00fa\1\63\1\171" + DFA145_min = DFA.unpack( + "\1\63\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\63\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA201_max = DFA.unpack( - "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" - "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" - "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" - "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA145_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA201_accept = DFA.unpack( - "\2\uffff\1\1\1\2\50\uffff" + DFA145_accept = DFA.unpack( + "\2\uffff\1\1\1\2\44\uffff" ) - DFA201_special = DFA.unpack( - "\54\uffff" + DFA145_special = DFA.unpack( + "\50\uffff" ) - DFA201_transition = [ + DFA145_transition = [ DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), - DFA.unpack("\1\14"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), DFA.unpack("\1\15"), - DFA.unpack("\1\13"), - DFA.unpack("\1\16"), - DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\23\107\uffff\1\24"), - DFA.unpack("\1\6"), - DFA.unpack("\1\25"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\14"), DFA.unpack("\1\26"), + DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\1"), DFA.unpack("\1\27"), - DFA.unpack("\1\24"), DFA.unpack("\1\30"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), - DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\35"), - DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\35"), - DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\36"), - DFA.unpack("\1\37"), + DFA.unpack("\1\35\140\uffff\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\35\140\uffff\1\35\62\uffff\1\15"), + DFA.unpack("\1\15"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), DFA.unpack("\1\42"), @@ -41825,88 +39874,83 @@ def specialStateTransition(self_, s, input): DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), - DFA.unpack("\1\50"), - DFA.unpack("\1\21\3\uffff\1\22"), - DFA.unpack("\1\22"), - DFA.unpack("\1\51"), - DFA.unpack("\1\52"), - DFA.unpack("\1\3\115\uffff\1\2\174\uffff\1\53"), - DFA.unpack("\1\6\u0086\uffff\1\5") + DFA.unpack("\1\15") ] - # class definition for DFA #201 + # class definition for DFA #145 - class DFA201(DFA): + class DFA145(DFA): pass - # lookup tables for DFA #199 + # lookup tables for DFA #143 - DFA199_eot = DFA.unpack( - "\54\uffff" + DFA143_eot = DFA.unpack( + "\50\uffff" ) - DFA199_eof = DFA.unpack( - "\1\2\53\uffff" + DFA143_eof = DFA.unpack( + "\1\2\47\uffff" ) - DFA199_min = DFA.unpack( - "\1\63\1\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163" - "\1\40\1\63\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3" - "\63\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6" - "\1\u00ba\1\u00fa\1\63\1\171" + DFA143_min = DFA.unpack( + "\1\63\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\63\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA199_max = DFA.unpack( - "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" - "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" - "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" - "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA143_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA199_accept = DFA.unpack( - "\2\uffff\1\2\1\1\50\uffff" + DFA143_accept = DFA.unpack( + "\2\uffff\1\2\1\1\44\uffff" ) - DFA199_special = DFA.unpack( - "\54\uffff" + DFA143_special = DFA.unpack( + "\50\uffff" ) - DFA199_transition = [ + DFA143_transition = [ DFA.unpack("\1\2\2\uffff\1\2\3\uffff\1\2\106\uffff\1\3\174\uffff" "\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), - DFA.unpack("\1\14"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), DFA.unpack("\1\15"), - DFA.unpack("\1\13"), - DFA.unpack("\1\16"), - DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\23\107\uffff\1\24"), - DFA.unpack("\1\6"), - DFA.unpack("\1\25"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\14"), DFA.unpack("\1\26"), + DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\1"), DFA.unpack("\1\27"), - DFA.unpack("\1\24"), DFA.unpack("\1\30"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), - DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\35"), - DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\35"), - DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\36"), - DFA.unpack("\1\37"), + DFA.unpack("\1\35\140\uffff\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\35\140\uffff\1\35\62\uffff\1\15"), + DFA.unpack("\1\15"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), DFA.unpack("\1\42"), @@ -41915,98 +39959,87 @@ class DFA201(DFA): DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), - DFA.unpack("\1\50"), - DFA.unpack("\1\21\3\uffff\1\22"), - DFA.unpack("\1\22"), - DFA.unpack("\1\51"), - DFA.unpack("\1\52"), - DFA.unpack("\1\2\115\uffff\1\3\174\uffff\1\53"), - DFA.unpack("\1\6\u0086\uffff\1\5") + DFA.unpack("\1\15") ] - # class definition for DFA #199 + # class definition for DFA #143 - class DFA199(DFA): + class DFA143(DFA): pass - # lookup tables for DFA #214 + # lookup tables for DFA #150 - DFA214_eot = DFA.unpack( - "\54\uffff" + DFA150_eot = DFA.unpack( + "\50\uffff" ) - DFA214_eof = DFA.unpack( - "\1\3\53\uffff" + DFA150_eof = DFA.unpack( + "\1\3\47\uffff" ) - DFA214_min = DFA.unpack( - "\2\12\2\uffff\1\u0081\1\163\1\u00c5\1\53\1\u00fa\1\137\1\163\1\40" - "\1\12\1\144\1\53\1\171\3\u00cf\1\163\1\u00ba\3\u00fa\1\40\3\12\1" - "\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163\1\u00b2\1\u00b6\1\u00ba" - "\1\u00fa\1\12\1\171" + DFA150_min = DFA.unpack( + "\2\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22\1\163" + "\1\40\1\12\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa\1\163" + "\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA214_max = DFA.unpack( - "\1\u00fe\1\u0100\2\uffff\1\u0081\1\163\1\u00c5\1\163\1\u00fa\1\137" - "\1\163\1\40\1\u00fe\1\u00b6\1\163\1\171\3\u00cf\1\163\1\u00ba\3" - "\u00fa\1\40\3\u00fe\1\u0081\2\171\1\163\2\u00c5\1\40\2\137\1\163" - "\2\u00b6\1\u00ba\1\u00fa\1\u00fe\1\u0100" + DFA150_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" ) - DFA214_accept = DFA.unpack( - "\2\uffff\1\1\1\2\50\uffff" + DFA150_accept = DFA.unpack( + "\2\uffff\1\1\1\2\44\uffff" ) - DFA214_special = DFA.unpack( - "\54\uffff" + DFA150_special = DFA.unpack( + "\50\uffff" ) - DFA214_transition = [ + DFA150_transition = [ DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" "\3\2\uffff\1\3\3\uffff\1\3\20\uffff\1\2\16\uffff\1\2\13\uffff\1" "\2\20\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\34\uffff" "\1\2\27\uffff\1\2\2\uffff\1\2\11\uffff\1\2\44\uffff\1\1"), - DFA.unpack("\1\4\2\uffff\1\4\23\uffff\1\4\3\uffff\1\4\3\uffff\1" - "\4\3\uffff\1\4\101\uffff\1\4\7\uffff\1\4\1\uffff\1\6\1\uffff\1\4" - "\22\uffff\1\4\10\uffff\1\4\16\uffff\2\4\1\uffff\2\4\11\uffff\1\4" - "\21\uffff\2\4\4\uffff\1\4\14\uffff\1\4\2\uffff\1\4\43\uffff\1\5"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), DFA.unpack(""), DFA.unpack(""), DFA.unpack("\1\7"), DFA.unpack("\1\10"), DFA.unpack("\1\11"), - DFA.unpack("\1\12\107\uffff\1\13"), - DFA.unpack("\1\14"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), DFA.unpack("\1\15"), - DFA.unpack("\1\13"), - DFA.unpack("\1\16"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\14"), + DFA.unpack("\1\26"), DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" "\3\62\uffff\1\2\20\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff" - "\1\2\34\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\17"), - DFA.unpack("\1\20\115\uffff\1\21\3\uffff\1\22"), - DFA.unpack("\1\23\107\uffff\1\24"), - DFA.unpack("\1\6"), - DFA.unpack("\1\25"), - DFA.unpack("\1\26"), + "\1\2\34\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\1"), DFA.unpack("\1\27"), - DFA.unpack("\1\24"), DFA.unpack("\1\30"), DFA.unpack("\1\31"), DFA.unpack("\1\32"), DFA.unpack("\1\33"), DFA.unpack("\1\34"), - DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" - "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\34\uffff" - "\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), - DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" - "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\34\uffff" - "\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\35"), - DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" - "\3\103\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff\1\2\34\uffff" - "\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\36"), - DFA.unpack("\1\37"), + DFA.unpack("\1\35\140\uffff\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\35\140\uffff\1\35\62\uffff\1\15"), + DFA.unpack("\1\15"), DFA.unpack("\1\40"), DFA.unpack("\1\41"), DFA.unpack("\1\42"), @@ -42015,51 +40048,43 @@ class DFA199(DFA): DFA.unpack("\1\45"), DFA.unpack("\1\46"), DFA.unpack("\1\47"), - DFA.unpack("\1\50"), - DFA.unpack("\1\21\3\uffff\1\22"), - DFA.unpack("\1\22"), - DFA.unpack("\1\51"), - DFA.unpack("\1\52"), - DFA.unpack("\1\2\20\uffff\1\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1" - "\3\62\uffff\1\2\20\uffff\1\2\11\uffff\1\3\14\uffff\1\2\10\uffff" - "\1\2\34\uffff\1\2\27\uffff\1\2\14\uffff\1\2\44\uffff\1\53"), - DFA.unpack("\1\6\u0086\uffff\1\5") + DFA.unpack("\1\15") ] - # class definition for DFA #214 + # class definition for DFA #150 - class DFA214(DFA): + class DFA150(DFA): pass - # lookup tables for DFA #277 + # lookup tables for DFA #197 - DFA277_eot = DFA.unpack( + DFA197_eot = DFA.unpack( "\113\uffff" ) - DFA277_eof = DFA.unpack( + DFA197_eof = DFA.unpack( "\1\1\112\uffff" ) - DFA277_min = DFA.unpack( + DFA197_min = DFA.unpack( "\1\12\64\uffff\1\0\15\uffff\1\0\4\uffff\1\0\2\uffff" ) - DFA277_max = DFA.unpack( + DFA197_max = DFA.unpack( "\1\u00ff\64\uffff\1\0\15\uffff\1\0\4\uffff\1\0\2\uffff" ) - DFA277_accept = DFA.unpack( + DFA197_accept = DFA.unpack( "\1\uffff\1\3\107\uffff\1\1\1\2" ) - DFA277_special = DFA.unpack( + DFA197_special = DFA.unpack( "\65\uffff\1\0\15\uffff\1\1\4\uffff\1\2\2\uffff" ) - DFA277_transition = [ + DFA197_transition = [ DFA.unpack("\1\1\1\uffff\1\1\2\uffff\1\1\4\uffff\2\1\3\uffff\1\1" "\1\uffff\1\1\4\uffff\2\1\3\uffff\2\1\2\uffff\1\1\1\uffff\1\1\1\uffff" "\1\1\2\uffff\1\1\1\110\1\uffff\1\1\2\uffff\2\1\1\uffff\3\1\1\uffff" @@ -42147,9 +40172,9 @@ class DFA214(DFA): DFA.unpack("") ] - # class definition for DFA #277 + # class definition for DFA #197 - class DFA277(DFA): + class DFA197(DFA): pass @@ -42164,59 +40189,59 @@ def specialStateTransition(self_, s, input): _s = s if s == 0: - LA277_53 = input.LA(1) + LA197_53 = input.LA(1) - index277_53 = input.index() + index197_53 = input.index() input.rewind() s = -1 - if (self.synpred340_sdl92()): + if (self.synpred260_sdl92()): s = 73 elif (True): s = 1 - input.seek(index277_53) + input.seek(index197_53) if s >= 0: return s elif s == 1: - LA277_67 = input.LA(1) + LA197_67 = input.LA(1) - index277_67 = input.index() + index197_67 = input.index() input.rewind() s = -1 - if (self.synpred342_sdl92()): + if (self.synpred262_sdl92()): s = 74 elif (True): s = 1 - input.seek(index277_67) + input.seek(index197_67) if s >= 0: return s elif s == 2: - LA277_72 = input.LA(1) + LA197_72 = input.LA(1) - index277_72 = input.index() + index197_72 = input.index() input.rewind() s = -1 - if (self.synpred342_sdl92()): + if (self.synpred262_sdl92()): s = 74 elif (True): s = 1 - input.seek(index277_72) + input.seek(index197_72) if s >= 0: return s @@ -42224,1082 +40249,1052 @@ def specialStateTransition(self_, s, input): if self._state.backtracking > 0: raise BacktrackingFailed - nvae = NoViableAltException(self_.getDescription(), 277, _s, input) + nvae = NoViableAltException(self_.getDescription(), 197, _s, input) self_.error(nvae) raise nvae + # lookup tables for DFA #214 + + DFA214_eot = DFA.unpack( + "\50\uffff" + ) + + DFA214_eof = DFA.unpack( + "\50\uffff" + ) + + DFA214_min = DFA.unpack( + "\1\146\1\12\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\53\1\u00fa\1\22" + "\1\163\1\40\1\146\6\u00cf\1\146\1\u00cf\1\53\6\u00fa\1\146\1\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" + ) + + DFA214_max = DFA.unpack( + "\1\u00fe\1\u0100\2\uffff\1\u00c5\1\u0081\1\163\1\137\1\163\1\u00fa" + "\1\u00b7\1\163\1\40\1\u00fe\6\u00cf\1\u00c7\1\u00cf\1\163\10\u00fa" + "\1\163\1\u00ba\1\40\1\u0081\1\163\1\40\1\163\1\u00ba\1\u00fa" + ) + + DFA214_accept = DFA.unpack( + "\2\uffff\1\1\1\2\44\uffff" + ) + + DFA214_special = DFA.unpack( + "\50\uffff" + ) + + + DFA214_transition = [ + DFA.unpack("\1\2\20\uffff\1\3\26\uffff\1\3\45\uffff\1\3\27\uffff" + "\1\3\61\uffff\1\1"), + DFA.unpack("\1\5\2\uffff\1\5\23\uffff\1\5\3\uffff\1\5\3\uffff\1" + "\5\3\uffff\1\5\101\uffff\1\5\7\uffff\1\5\1\uffff\1\4\1\uffff\1\5" + "\22\uffff\1\5\10\uffff\1\5\16\uffff\2\5\1\uffff\2\5\11\uffff\1\5" + "\21\uffff\2\5\4\uffff\1\5\14\uffff\1\5\2\uffff\1\5\43\uffff\1\6"), + DFA.unpack(""), + DFA.unpack(""), + DFA.unpack("\1\7"), + DFA.unpack("\1\10"), + DFA.unpack("\1\11"), + DFA.unpack("\1\12"), + DFA.unpack("\1\13\107\uffff\1\14"), + DFA.unpack("\1\15"), + DFA.unpack("\1\25\121\uffff\1\16\67\uffff\1\24\2\uffff\1\23\22\uffff" + "\1\21\1\17\2\uffff\1\22\1\20"), + DFA.unpack("\1\14"), + DFA.unpack("\1\26"), + DFA.unpack("\1\2\20\uffff\1\3\26\uffff\1\3\45\uffff\1\3\27\uffff" + "\1\3\61\uffff\1\1"), + DFA.unpack("\1\27"), + DFA.unpack("\1\30"), + DFA.unpack("\1\31"), + DFA.unpack("\1\32"), + DFA.unpack("\1\33"), + DFA.unpack("\1\34"), + DFA.unpack("\1\35\140\uffff\1\35"), + DFA.unpack("\1\36"), + DFA.unpack("\1\37\107\uffff\1\40"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\35\140\uffff\1\35\62\uffff\1\15"), + DFA.unpack("\1\15"), + DFA.unpack("\1\40"), + DFA.unpack("\1\41"), + DFA.unpack("\1\42"), + DFA.unpack("\1\43"), + DFA.unpack("\1\44"), + DFA.unpack("\1\45"), + DFA.unpack("\1\46"), + DFA.unpack("\1\47"), + DFA.unpack("\1\15") + ] + + # class definition for DFA #214 + + class DFA214(DFA): + pass + + - FOLLOW_use_clause_in_pr_file1613 = frozenset([1, 169, 215, 233, 254]) - FOLLOW_system_definition_in_pr_file1633 = frozenset([1, 169, 215, 233, 254]) - FOLLOW_process_definition_in_pr_file1653 = frozenset([1, 169, 215, 233, 254]) - FOLLOW_SYSTEM_in_system_definition1687 = frozenset([102]) - FOLLOW_system_name_in_system_definition1689 = frozenset([33, 190, 254]) - FOLLOW_end_in_system_definition1691 = frozenset([25, 28, 66, 76, 166, 193, 254]) - FOLLOW_entity_in_system_in_system_definition1709 = frozenset([25, 28, 66, 76, 166, 193, 254]) - FOLLOW_ENDSYSTEM_in_system_definition1728 = frozenset([33, 102, 190, 254]) - FOLLOW_system_name_in_system_definition1730 = frozenset([33, 190, 254]) - FOLLOW_end_in_system_definition1733 = frozenset([1]) - FOLLOW_use_asn1_in_use_clause1789 = frozenset([233]) - FOLLOW_USE_in_use_clause1808 = frozenset([102]) - FOLLOW_package_name_in_use_clause1810 = frozenset([33, 48, 190, 254]) - FOLLOW_DIV_in_use_clause1829 = frozenset([102]) - FOLLOW_def_selection_list_in_use_clause1831 = frozenset([33, 190, 254]) - FOLLOW_end_in_use_clause1852 = frozenset([1]) - FOLLOW_ID_in_def_selection_list1916 = frozenset([1, 32]) - FOLLOW_COMMA_in_def_selection_list1919 = frozenset([102]) - FOLLOW_ID_in_def_selection_list1922 = frozenset([1, 32]) - FOLLOW_signal_declaration_in_entity_in_system1958 = frozenset([1]) - FOLLOW_text_area_in_entity_in_system1978 = frozenset([1]) - FOLLOW_procedure_in_entity_in_system1998 = frozenset([1]) - FOLLOW_channel_in_entity_in_system2018 = frozenset([1]) - FOLLOW_block_definition_in_entity_in_system2038 = frozenset([1]) - FOLLOW_paramnames_in_signal_declaration2071 = frozenset([193]) - FOLLOW_SIGNAL_in_signal_declaration2090 = frozenset([102]) - FOLLOW_signal_id_in_signal_declaration2092 = frozenset([33, 129, 177, 190, 254]) - FOLLOW_input_params_in_signal_declaration2094 = frozenset([33, 177, 190, 254]) - FOLLOW_RENAMES_in_signal_declaration2114 = frozenset([111, 151, 232]) - FOLLOW_input_expression_in_signal_declaration2117 = frozenset([33, 190, 254]) - FOLLOW_output_expression_in_signal_declaration2121 = frozenset([33, 190, 254]) - FOLLOW_end_in_signal_declaration2143 = frozenset([1]) - FOLLOW_CHANNEL_in_channel2212 = frozenset([102]) - FOLLOW_channel_id_in_channel2214 = frozenset([92]) - FOLLOW_route_in_channel2232 = frozenset([56, 92]) - FOLLOW_ENDCHANNEL_in_channel2251 = frozenset([33, 190, 254]) - FOLLOW_end_in_channel2253 = frozenset([1]) - FOLLOW_FROM_in_route2309 = frozenset([102]) - FOLLOW_source_id_in_route2311 = frozenset([226]) - FOLLOW_TO_in_route2313 = frozenset([102]) - FOLLOW_dest_id_in_route2315 = frozenset([242]) - FOLLOW_WITH_in_route2317 = frozenset([102]) - FOLLOW_signal_id_in_route2319 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_route2322 = frozenset([102]) - FOLLOW_signal_id_in_route2324 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_route2328 = frozenset([1]) - FOLLOW_BLOCK_in_block_definition2386 = frozenset([102]) - FOLLOW_block_id_in_block_definition2388 = frozenset([33, 190, 254]) - FOLLOW_end_in_block_definition2390 = frozenset([25, 37, 55, 169, 193, 194, 254]) - FOLLOW_entity_in_block_in_block_definition2408 = frozenset([25, 37, 55, 169, 193, 194, 254]) - FOLLOW_ENDBLOCK_in_block_definition2427 = frozenset([33, 190, 254]) - FOLLOW_end_in_block_definition2429 = frozenset([1]) - FOLLOW_signal_declaration_in_entity_in_block2487 = frozenset([1]) - FOLLOW_signalroute_in_entity_in_block2507 = frozenset([1]) - FOLLOW_connection_in_entity_in_block2527 = frozenset([1]) - FOLLOW_block_definition_in_entity_in_block2547 = frozenset([1]) - FOLLOW_process_definition_in_entity_in_block2567 = frozenset([1]) - FOLLOW_SIGNALROUTE_in_signalroute2601 = frozenset([102]) - FOLLOW_route_id_in_signalroute2603 = frozenset([1, 33, 92, 190, 254]) - FOLLOW_end_in_signalroute2605 = frozenset([1, 92]) - FOLLOW_route_in_signalroute2624 = frozenset([1, 92]) - FOLLOW_CONNECT_in_connection2681 = frozenset([102]) - FOLLOW_channel_id_in_connection2683 = frozenset([12]) - FOLLOW_AND_in_connection2685 = frozenset([102]) - FOLLOW_route_id_in_connection2687 = frozenset([33, 190, 254]) - FOLLOW_end_in_connection2689 = frozenset([1]) - FOLLOW_cif_in_process_definition2746 = frozenset([169, 254]) - FOLLOW_symbolid_in_process_definition2765 = frozenset([169, 254]) - FOLLOW_req_server_in_process_definition2784 = frozenset([169, 254]) - FOLLOW_rid_server_in_process_definition2803 = frozenset([169, 254]) - FOLLOW_requirement_in_process_definition2822 = frozenset([169, 254]) - FOLLOW_rid_in_process_definition2841 = frozenset([169, 254]) - FOLLOW_PROCESS_in_process_definition2860 = frozenset([102, 229]) - FOLLOW_TYPE_in_process_definition2864 = frozenset([102]) - FOLLOW_process_id_in_process_definition2867 = frozenset([33, 129, 175, 190, 254, 255]) - FOLLOW_number_of_instances_in_process_definition2885 = frozenset([33, 175, 190, 254, 255]) - FOLLOW_255_in_process_definition2889 = frozenset([102]) - FOLLOW_type_inst_in_process_definition2891 = frozenset([33, 175, 190, 254]) - FOLLOW_REFERENCED_in_process_definition2895 = frozenset([33, 190, 254]) - FOLLOW_end_in_process_definition2900 = frozenset([33, 38, 62, 76, 91, 102, 166, 190, 198, 199, 229, 254]) - FOLLOW_pfpar_in_process_definition2918 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) - FOLLOW_text_area_in_process_definition2938 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) - FOLLOW_procedure_in_process_definition2942 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) - FOLLOW_composite_state_in_process_definition2951 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) - FOLLOW_processBody_in_process_definition2971 = frozenset([1, 33, 62, 102, 190, 229, 254]) - FOLLOW_ENDPROCESS_in_process_definition2974 = frozenset([1, 33, 102, 190, 229, 254]) - FOLLOW_TYPE_in_process_definition2977 = frozenset([1, 33, 102, 190, 254]) - FOLLOW_process_id_in_process_definition2980 = frozenset([1, 33, 190, 254]) - FOLLOW_end_in_process_definition2999 = frozenset([1]) - FOLLOW_FPAR_in_pfpar3158 = frozenset([102]) - FOLLOW_parameters_of_sort_in_pfpar3160 = frozenset([1, 32, 33, 190, 254]) - FOLLOW_COMMA_in_pfpar3179 = frozenset([102]) - FOLLOW_parameters_of_sort_in_pfpar3181 = frozenset([1, 32, 33, 190, 254]) - FOLLOW_end_in_pfpar3201 = frozenset([1]) - FOLLOW_variable_id_in_parameters_of_sort3256 = frozenset([32, 102]) - FOLLOW_COMMA_in_parameters_of_sort3259 = frozenset([102]) - FOLLOW_variable_id_in_parameters_of_sort3261 = frozenset([32, 102]) - FOLLOW_sort_in_parameters_of_sort3265 = frozenset([1]) - FOLLOW_cif_in_procedure3324 = frozenset([76, 166, 254]) - FOLLOW_symbolid_in_procedure3343 = frozenset([76, 166, 254]) - FOLLOW_requirement_in_procedure3362 = frozenset([76, 166, 254]) - FOLLOW_rid_in_procedure3381 = frozenset([76, 166, 254]) - FOLLOW_partition_in_procedure3400 = frozenset([76, 166]) - FOLLOW_EXPORTED_in_procedure3419 = frozenset([166]) - FOLLOW_PROCEDURE_in_procedure3422 = frozenset([102]) - FOLLOW_procedure_id_in_procedure3424 = frozenset([33, 190, 254]) - FOLLOW_end_in_procedure3429 = frozenset([38, 61, 76, 78, 91, 166, 175, 181, 198, 199, 252, 254]) - FOLLOW_SEMI_in_procedure3433 = frozenset([38, 61, 76, 78, 91, 166, 175, 181, 198, 199, 252, 254]) - FOLLOW_fpar_in_procedure3452 = frozenset([38, 61, 76, 78, 166, 175, 181, 198, 199, 252, 254]) - FOLLOW_procedure_result_in_procedure3473 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) - FOLLOW_text_area_in_procedure3493 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) - FOLLOW_procedure_in_procedure3497 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) - FOLLOW_processBody_in_procedure3519 = frozenset([61]) - FOLLOW_ENDPROCEDURE_in_procedure3522 = frozenset([33, 102, 190, 254]) - FOLLOW_procedure_id_in_procedure3524 = frozenset([33, 190, 254]) - FOLLOW_EXTERNAL_in_procedure3547 = frozenset([33, 190, 254]) - FOLLOW_REFERENCED_in_procedure3551 = frozenset([33, 190, 254]) - FOLLOW_end_in_procedure3572 = frozenset([1]) - FOLLOW_252_in_procedure_result3706 = frozenset([102]) - FOLLOW_RETURNS_in_procedure_result3710 = frozenset([102]) - FOLLOW_variable_id_in_procedure_result3729 = frozenset([102]) - FOLLOW_sort_in_procedure_result3748 = frozenset([1, 33, 190, 254]) - FOLLOW_end_in_procedure_result3750 = frozenset([1]) - FOLLOW_FPAR_in_fpar3807 = frozenset([102, 108, 110, 150]) - FOLLOW_formal_variable_param_in_fpar3809 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_fpar3828 = frozenset([102, 108, 110, 150]) - FOLLOW_formal_variable_param_in_fpar3830 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_fpar3850 = frozenset([1]) - FOLLOW_INOUT_in_formal_variable_param3905 = frozenset([102]) - FOLLOW_IN_in_formal_variable_param3909 = frozenset([102]) - FOLLOW_OUT_in_formal_variable_param3913 = frozenset([102]) - FOLLOW_variable_id_in_formal_variable_param3933 = frozenset([32, 102]) - FOLLOW_COMMA_in_formal_variable_param3936 = frozenset([102]) - FOLLOW_variable_id_in_formal_variable_param3938 = frozenset([32, 102]) - FOLLOW_sort_in_formal_variable_param3942 = frozenset([1]) - FOLLOW_requirement_in_text_area4008 = frozenset([254]) - FOLLOW_rid_in_text_area4027 = frozenset([254]) - FOLLOW_partition_in_text_area4046 = frozenset([254]) - FOLLOW_cif_in_text_area4065 = frozenset([44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_symbolid_in_text_area4083 = frozenset([44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_content_in_text_area4102 = frozenset([254]) - FOLLOW_cif_end_text_in_text_area4121 = frozenset([1]) - FOLLOW_procedure_in_content4196 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_use_clause_in_content4217 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_signal_declaration_in_content4238 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_fpar_in_content4259 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_procedure_result_in_content4282 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_timer_declaration_in_content4303 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_syntype_definition_in_content4324 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_newtype_definition_in_content4345 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_variable_definition_in_content4366 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_monitor_definition_in_content4387 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_observer_special_states_declaration_in_content4408 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_synonym_definition_in_content4429 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) - FOLLOW_ERRORSTATES_in_observer_special_states_declaration4581 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4588 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_observer_special_states_declaration4591 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4593 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_observer_special_states_declaration4597 = frozenset([1]) - FOLLOW_IGNORESTATES_in_observer_special_states_declaration4639 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4643 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_observer_special_states_declaration4646 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4648 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_observer_special_states_declaration4652 = frozenset([1]) - FOLLOW_SUCCESSSTATES_in_observer_special_states_declaration4694 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4697 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_observer_special_states_declaration4700 = frozenset([102]) - FOLLOW_statename_in_observer_special_states_declaration4702 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_observer_special_states_declaration4706 = frozenset([1]) - FOLLOW_TIMER_in_timer_declaration4760 = frozenset([102]) - FOLLOW_timer_id_in_timer_declaration4762 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_timer_declaration4781 = frozenset([102]) - FOLLOW_timer_id_in_timer_declaration4783 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_timer_declaration4803 = frozenset([1]) - FOLLOW_SYNTYPE_in_syntype_definition4857 = frozenset([102]) - FOLLOW_syntype_name_in_syntype_definition4859 = frozenset([69]) - FOLLOW_EQ_in_syntype_definition4861 = frozenset([102]) - FOLLOW_parent_sort_in_syntype_definition4863 = frozenset([40, 65]) - FOLLOW_CONSTANTS_in_syntype_definition4882 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_range_condition_in_syntype_definition4885 = frozenset([32, 65]) - FOLLOW_COMMA_in_syntype_definition4888 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_range_condition_in_syntype_definition4890 = frozenset([32, 65]) - FOLLOW_ENDSYNTYPE_in_syntype_definition4914 = frozenset([33, 102, 190, 254]) - FOLLOW_syntype_name_in_syntype_definition4916 = frozenset([33, 190, 254]) - FOLLOW_end_in_syntype_definition4919 = frozenset([1]) - FOLLOW_sort_in_syntype_name4977 = frozenset([1]) - FOLLOW_sort_in_parent_sort5009 = frozenset([1]) - FOLLOW_NEWTYPE_in_newtype_definition5041 = frozenset([102]) - FOLLOW_type_name_in_newtype_definition5043 = frozenset([16, 60, 126, 208]) - FOLLOW_array_definition_in_newtype_definition5062 = frozenset([60]) - FOLLOW_structure_definition_in_newtype_definition5064 = frozenset([60]) - FOLLOW_enum_definition_in_newtype_definition5066 = frozenset([60]) - FOLLOW_ENDNEWTYPE_in_newtype_definition5086 = frozenset([33, 102, 190, 254]) - FOLLOW_type_name_in_newtype_definition5088 = frozenset([33, 190, 254]) - FOLLOW_end_in_newtype_definition5091 = frozenset([1]) - FOLLOW_sort_in_type_name5153 = frozenset([1]) - FOLLOW_ARRAY_in_array_definition5185 = frozenset([129]) - FOLLOW_L_PAREN_in_array_definition5187 = frozenset([102]) - FOLLOW_sort_in_array_definition5189 = frozenset([32]) - FOLLOW_COMMA_in_array_definition5191 = frozenset([102]) - FOLLOW_sort_in_array_definition5193 = frozenset([186]) - FOLLOW_R_PAREN_in_array_definition5195 = frozenset([1]) - FOLLOW_LITERALS_in_enum_definition5252 = frozenset([102]) - FOLLOW_enumerant_in_enum_definition5255 = frozenset([1, 32]) - FOLLOW_COMMA_in_enum_definition5258 = frozenset([102]) - FOLLOW_enumerant_in_enum_definition5260 = frozenset([1, 32]) - FOLLOW_STRUCT_in_structure_definition5318 = frozenset([102, 199]) - FOLLOW_field_list_in_structure_definition5320 = frozenset([33, 190, 254]) - FOLLOW_end_in_structure_definition5322 = frozenset([1]) - FOLLOW_field_definition_in_field_list5375 = frozenset([1, 33, 190, 254]) - FOLLOW_end_in_field_list5378 = frozenset([102, 199]) - FOLLOW_field_definition_in_field_list5380 = frozenset([1, 33, 190, 254]) - FOLLOW_field_name_in_field_definition5436 = frozenset([32, 102]) - FOLLOW_COMMA_in_field_definition5439 = frozenset([102, 199]) - FOLLOW_field_name_in_field_definition5441 = frozenset([32, 102]) - FOLLOW_sort_in_field_definition5445 = frozenset([1]) - FOLLOW_DCL_in_variable_definition5503 = frozenset([102]) - FOLLOW_variables_of_sort_in_variable_definition5505 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_variable_definition5524 = frozenset([102]) - FOLLOW_variables_of_sort_in_variable_definition5526 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_variable_definition5546 = frozenset([1]) - FOLLOW_MONITOR_in_monitor_definition5601 = frozenset([102]) - FOLLOW_variables_of_sort_in_monitor_definition5603 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_monitor_definition5622 = frozenset([102]) - FOLLOW_variables_of_sort_in_monitor_definition5624 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_monitor_definition5644 = frozenset([1]) - FOLLOW_internal_synonym_definition_in_synonym_definition5699 = frozenset([1]) - FOLLOW_SYNONYM_in_internal_synonym_definition5731 = frozenset([102]) - FOLLOW_synonym_definition_item_in_internal_synonym_definition5733 = frozenset([32, 33, 190, 254]) - FOLLOW_COMMA_in_internal_synonym_definition5736 = frozenset([102]) - FOLLOW_synonym_definition_item_in_internal_synonym_definition5738 = frozenset([32, 33, 190, 254]) - FOLLOW_end_in_internal_synonym_definition5758 = frozenset([1]) - FOLLOW_variable_id_in_synonym_definition_item5812 = frozenset([102]) - FOLLOW_sort_in_synonym_definition_item5814 = frozenset([69]) - FOLLOW_EQ_in_synonym_definition_item5816 = frozenset([27, 43, 78, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_ground_expression_in_synonym_definition_item5819 = frozenset([1]) - FOLLOW_EXTERNAL_in_synonym_definition_item5823 = frozenset([1]) - FOLLOW_variable_id_in_variables_of_sort5885 = frozenset([32, 102]) - FOLLOW_COMMA_in_variables_of_sort5888 = frozenset([102]) - FOLLOW_variable_id_in_variables_of_sort5890 = frozenset([32, 102]) - FOLLOW_sort_in_variables_of_sort5894 = frozenset([1, 20, 177]) - FOLLOW_ASSIG_OP_in_variables_of_sort5914 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_ground_expression_in_variables_of_sort5916 = frozenset([1]) - FOLLOW_RENAMES_in_variables_of_sort5922 = frozenset([102]) - FOLLOW_variable_in_variables_of_sort5924 = frozenset([1]) - FOLLOW_expression_in_ground_expression6011 = frozenset([1]) - FOLLOW_L_PAREN_in_number_of_instances6064 = frozenset([115]) - FOLLOW_INT_in_number_of_instances6068 = frozenset([32]) - FOLLOW_COMMA_in_number_of_instances6070 = frozenset([115]) - FOLLOW_INT_in_number_of_instances6074 = frozenset([186]) - FOLLOW_R_PAREN_in_number_of_instances6076 = frozenset([1]) - FOLLOW_start_in_processBody6133 = frozenset([1, 38, 199, 254]) - FOLLOW_state_in_processBody6137 = frozenset([1, 38, 199, 254]) - FOLLOW_floating_label_in_processBody6141 = frozenset([1, 38, 199, 254]) - FOLLOW_cif_in_start6175 = frozenset([198, 254]) - FOLLOW_symbolid_in_start6194 = frozenset([198, 254]) - FOLLOW_hyperlink_in_start6213 = frozenset([198, 254]) - FOLLOW_requirement_in_start6232 = frozenset([198, 254]) - FOLLOW_rid_in_start6251 = frozenset([198, 254]) - FOLLOW_partition_in_start6270 = frozenset([198]) - FOLLOW_START_in_start6289 = frozenset([33, 102, 190, 254]) - FOLLOW_state_entry_point_name_in_start6293 = frozenset([33, 190, 254]) - FOLLOW_end_in_start6296 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_start6314 = frozenset([1]) - FOLLOW_cif_in_floating_label6391 = frozenset([38, 254]) - FOLLOW_symbolid_in_floating_label6410 = frozenset([38, 254]) - FOLLOW_hyperlink_in_floating_label6429 = frozenset([38, 254]) - FOLLOW_requirement_in_floating_label6448 = frozenset([38, 254]) - FOLLOW_rid_in_floating_label6467 = frozenset([38, 254]) - FOLLOW_partition_in_floating_label6486 = frozenset([38]) - FOLLOW_CONNECTION_in_floating_label6505 = frozenset([102]) - FOLLOW_connector_name_in_floating_label6507 = frozenset([255]) - FOLLOW_255_in_floating_label6509 = frozenset([10, 27, 41, 45, 57, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_floating_label6527 = frozenset([57, 254]) - FOLLOW_cif_end_label_in_floating_label6546 = frozenset([57]) - FOLLOW_ENDCONNECTION_in_floating_label6565 = frozenset([190]) - FOLLOW_SEMI_in_floating_label6567 = frozenset([1]) - FOLLOW_state_definition_in_state6635 = frozenset([1]) - FOLLOW_state_instance_in_state6649 = frozenset([1]) - FOLLOW_cif_in_state_definition6681 = frozenset([199, 254]) - FOLLOW_symbolid_in_state_definition6700 = frozenset([199, 254]) - FOLLOW_hyperlink_in_state_definition6719 = frozenset([199, 254]) - FOLLOW_requirement_in_state_definition6738 = frozenset([199, 254]) - FOLLOW_rid_in_state_definition6757 = frozenset([199, 254]) - FOLLOW_partition_in_state_definition6776 = frozenset([199]) - FOLLOW_STATE_in_state_definition6795 = frozenset([21, 102]) - FOLLOW_statelist_in_state_definition6797 = frozenset([33, 190, 238, 254]) - FOLLOW_via_in_state_definition6799 = frozenset([33, 190, 254]) - FOLLOW_end_in_state_definition6805 = frozenset([37, 63, 111, 170, 188, 254]) - FOLLOW_SEMI_in_state_definition6809 = frozenset([37, 63, 111, 170, 188, 254]) - FOLLOW_state_part_in_state_definition6829 = frozenset([37, 63, 111, 170, 188, 254]) - FOLLOW_ENDSTATE_in_state_definition6849 = frozenset([33, 102, 190, 254]) - FOLLOW_statename_in_state_definition6851 = frozenset([33, 190, 254]) - FOLLOW_end_in_state_definition6856 = frozenset([1]) - FOLLOW_cif_in_state_instance6937 = frozenset([199, 254]) - FOLLOW_symbolid_in_state_instance6956 = frozenset([199, 254]) - FOLLOW_hyperlink_in_state_instance6975 = frozenset([199, 254]) - FOLLOW_requirement_in_state_instance6994 = frozenset([199, 254]) - FOLLOW_rid_in_state_instance7013 = frozenset([199, 254]) - FOLLOW_partition_in_state_instance7032 = frozenset([199]) - FOLLOW_STATE_in_state_instance7051 = frozenset([102]) - FOLLOW_statename_in_state_instance7053 = frozenset([255]) - FOLLOW_255_in_state_instance7055 = frozenset([102]) - FOLLOW_type_inst_in_state_instance7057 = frozenset([33, 190, 238, 254]) - FOLLOW_via_in_state_instance7059 = frozenset([33, 190, 254]) - FOLLOW_end_in_state_instance7065 = frozenset([37, 63, 111, 170, 188, 254]) - FOLLOW_SEMI_in_state_instance7069 = frozenset([37, 63, 111, 170, 188, 254]) - FOLLOW_state_part_in_state_instance7089 = frozenset([37, 63, 111, 170, 188, 254]) - FOLLOW_ENDSTATE_in_state_instance7109 = frozenset([33, 102, 190, 254]) - FOLLOW_statename_in_state_instance7111 = frozenset([33, 190, 254]) - FOLLOW_end_in_state_instance7116 = frozenset([1]) - FOLLOW_statename_in_statelist7202 = frozenset([1, 32]) - FOLLOW_COMMA_in_statelist7205 = frozenset([102]) - FOLLOW_statename_in_statelist7207 = frozenset([1, 32]) - FOLLOW_ASTERISK_in_statelist7252 = frozenset([1, 129]) - FOLLOW_exception_state_in_statelist7254 = frozenset([1]) - FOLLOW_L_PAREN_in_exception_state7309 = frozenset([102]) - FOLLOW_statename_in_exception_state7311 = frozenset([32, 186]) - FOLLOW_COMMA_in_exception_state7314 = frozenset([102]) - FOLLOW_statename_in_exception_state7316 = frozenset([32, 186]) - FOLLOW_R_PAREN_in_exception_state7320 = frozenset([1]) - FOLLOW_composite_state_graph_in_composite_state7371 = frozenset([1]) - FOLLOW_state_aggregation_in_composite_state7391 = frozenset([1]) - FOLLOW_STATE_in_composite_state_preamble7423 = frozenset([7, 102]) - FOLLOW_AGGREGATION_in_composite_state_preamble7425 = frozenset([102]) - FOLLOW_statename_in_composite_state_preamble7428 = frozenset([33, 190, 254]) - FOLLOW_end_in_composite_state_preamble7430 = frozenset([209]) - FOLLOW_SUBSTRUCTURE_in_composite_state_preamble7448 = frozenset([1]) - FOLLOW_STATE_in_composite_state_graph7479 = frozenset([102]) - FOLLOW_statename_in_composite_state_graph7481 = frozenset([33, 190, 254]) - FOLLOW_end_in_composite_state_graph7485 = frozenset([209]) - FOLLOW_SUBSTRUCTURE_in_composite_state_graph7503 = frozenset([38, 64, 76, 108, 150, 166, 198, 199, 254]) - FOLLOW_connection_points_in_composite_state_graph7521 = frozenset([38, 64, 76, 108, 150, 166, 198, 199, 254]) - FOLLOW_composite_state_body_in_composite_state_graph7542 = frozenset([64]) - FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph7560 = frozenset([33, 102, 190, 254]) - FOLLOW_statename_in_composite_state_graph7562 = frozenset([33, 190, 254]) - FOLLOW_end_in_composite_state_graph7567 = frozenset([1]) - FOLLOW_STATE_in_state_aggregation7631 = frozenset([7]) - FOLLOW_AGGREGATION_in_state_aggregation7633 = frozenset([102]) - FOLLOW_statename_in_state_aggregation7635 = frozenset([33, 190, 254]) - FOLLOW_end_in_state_aggregation7639 = frozenset([209]) - FOLLOW_SUBSTRUCTURE_in_state_aggregation7657 = frozenset([37, 64, 76, 108, 150, 166, 199, 254]) - FOLLOW_connection_points_in_state_aggregation7675 = frozenset([37, 64, 76, 108, 150, 166, 199, 254]) - FOLLOW_entity_in_composite_state_in_state_aggregation7696 = frozenset([37, 64, 76, 166, 199, 254]) - FOLLOW_state_aggregation_body_in_state_aggregation7717 = frozenset([64]) - FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation7735 = frozenset([33, 102, 190, 254]) - FOLLOW_statename_in_state_aggregation7737 = frozenset([33, 190, 254]) - FOLLOW_end_in_state_aggregation7742 = frozenset([1]) - FOLLOW_text_area_in_entity_in_composite_state7847 = frozenset([1]) - FOLLOW_procedure_in_entity_in_composite_state7851 = frozenset([1]) - FOLLOW_state_partitioning_in_state_aggregation_body7886 = frozenset([1, 37, 199, 254]) - FOLLOW_state_partition_connection_in_state_aggregation_body7890 = frozenset([1, 37, 199, 254]) - FOLLOW_state_in_state_aggregation_body7910 = frozenset([1, 199, 254]) - FOLLOW_composite_state_in_state_partitioning7944 = frozenset([1]) - FOLLOW_CONNECT_in_state_partition_connection7977 = frozenset([102]) - FOLLOW_entry_point_in_state_partition_connection7981 = frozenset([12]) - FOLLOW_AND_in_state_partition_connection7983 = frozenset([102]) - FOLLOW_entry_point_in_state_partition_connection7987 = frozenset([33, 190, 254]) - FOLLOW_end_in_state_partition_connection7989 = frozenset([1]) - FOLLOW_ID_in_entry_point8052 = frozenset([238]) - FOLLOW_VIA_in_entry_point8054 = frozenset([46, 102]) - FOLLOW_point_in_entry_point8056 = frozenset([1]) - FOLLOW_ID_in_point8116 = frozenset([1]) - FOLLOW_DEFAULT_in_point8120 = frozenset([1]) - FOLLOW_IN_in_connection_points8180 = frozenset([129]) - FOLLOW_state_entry_exit_points_in_connection_points8182 = frozenset([33, 190, 254]) - FOLLOW_end_in_connection_points8184 = frozenset([1]) - FOLLOW_OUT_in_connection_points8228 = frozenset([129]) - FOLLOW_state_entry_exit_points_in_connection_points8230 = frozenset([33, 190, 254]) - FOLLOW_end_in_connection_points8232 = frozenset([1]) - FOLLOW_L_PAREN_in_state_entry_exit_points8289 = frozenset([102]) - FOLLOW_statename_in_state_entry_exit_points8291 = frozenset([32, 186]) - FOLLOW_COMMA_in_state_entry_exit_points8294 = frozenset([102]) - FOLLOW_statename_in_state_entry_exit_points8296 = frozenset([32, 186]) - FOLLOW_R_PAREN_in_state_entry_exit_points8300 = frozenset([1]) - FOLLOW_text_area_in_composite_state_body8349 = frozenset([1, 38, 76, 166, 198, 199, 254]) - FOLLOW_procedure_in_composite_state_body8365 = frozenset([1, 38, 76, 166, 198, 199, 254]) - FOLLOW_composite_state_in_composite_state_body8386 = frozenset([1, 38, 76, 166, 198, 199, 254]) - FOLLOW_start_in_composite_state_body8401 = frozenset([1, 38, 198, 199, 254]) - FOLLOW_state_in_composite_state_body8405 = frozenset([1, 38, 199, 254]) - FOLLOW_floating_label_in_composite_state_body8409 = frozenset([1, 38, 199, 254]) - FOLLOW_EOF_in_composite_state_body8424 = frozenset([1]) - FOLLOW_input_part_in_state_part8457 = frozenset([1]) - FOLLOW_save_part_in_state_part8494 = frozenset([1]) - FOLLOW_spontaneous_transition_in_state_part8529 = frozenset([1]) - FOLLOW_continuous_signal_in_state_part8549 = frozenset([1]) - FOLLOW_connect_part_in_state_part8569 = frozenset([1]) - FOLLOW_cif_in_connect_part8602 = frozenset([37, 254]) - FOLLOW_symbolid_in_connect_part8621 = frozenset([37, 254]) - FOLLOW_hyperlink_in_connect_part8640 = frozenset([37, 254]) - FOLLOW_requirement_in_connect_part8659 = frozenset([37, 254]) - FOLLOW_rid_in_connect_part8678 = frozenset([37, 254]) - FOLLOW_CONNECT_in_connect_part8697 = frozenset([21, 33, 102, 190, 254]) - FOLLOW_connect_list_in_connect_part8699 = frozenset([33, 190, 254]) - FOLLOW_end_in_connect_part8702 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_connect_part8720 = frozenset([1]) - FOLLOW_state_exit_point_name_in_connect_list8796 = frozenset([1, 32]) - FOLLOW_COMMA_in_connect_list8799 = frozenset([102]) - FOLLOW_state_exit_point_name_in_connect_list8801 = frozenset([1, 32]) - FOLLOW_ASTERISK_in_connect_list8844 = frozenset([1]) - FOLLOW_cif_in_spontaneous_transition8876 = frozenset([111, 254]) - FOLLOW_symbolid_in_spontaneous_transition8895 = frozenset([111, 254]) - FOLLOW_hyperlink_in_spontaneous_transition8914 = frozenset([111, 254]) - FOLLOW_requirement_in_spontaneous_transition8933 = frozenset([111, 254]) - FOLLOW_rid_in_spontaneous_transition8952 = frozenset([111, 254]) - FOLLOW_INPUT_in_spontaneous_transition8971 = frozenset([143]) - FOLLOW_NONE_in_spontaneous_transition8973 = frozenset([33, 190, 254]) - FOLLOW_end_in_spontaneous_transition8975 = frozenset([10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 170, 180, 204, 207, 217, 254]) - FOLLOW_enabling_condition_in_spontaneous_transition8993 = frozenset([10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_spontaneous_transition9012 = frozenset([1]) - FOLLOW_PROVIDED_in_enabling_condition9080 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_enabling_condition9082 = frozenset([33, 190, 254]) - FOLLOW_end_in_enabling_condition9084 = frozenset([1]) - FOLLOW_cif_in_continuous_signal9137 = frozenset([170, 254]) - FOLLOW_symbolid_in_continuous_signal9156 = frozenset([170, 254]) - FOLLOW_hyperlink_in_continuous_signal9175 = frozenset([170, 254]) - FOLLOW_requirement_in_continuous_signal9194 = frozenset([170, 254]) - FOLLOW_rid_in_continuous_signal9213 = frozenset([170, 254]) - FOLLOW_PROVIDED_in_continuous_signal9232 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_continuous_signal9234 = frozenset([33, 190, 254]) - FOLLOW_end_in_continuous_signal9238 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 165, 180, 204, 207, 217, 254]) - FOLLOW_PRIORITY_in_continuous_signal9257 = frozenset([115]) - FOLLOW_INT_in_continuous_signal9261 = frozenset([33, 190, 254]) - FOLLOW_end_in_continuous_signal9263 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_continuous_signal9283 = frozenset([1]) - FOLLOW_SAVE_in_save_part9363 = frozenset([21, 102]) - FOLLOW_save_list_in_save_part9365 = frozenset([33, 190, 254]) - FOLLOW_end_in_save_part9383 = frozenset([1]) - FOLLOW_signal_list_in_save_list9436 = frozenset([1]) - FOLLOW_asterisk_save_list_in_save_list9456 = frozenset([1]) - FOLLOW_ASTERISK_in_asterisk_save_list9488 = frozenset([1]) - FOLLOW_signal_item_in_signal_list9511 = frozenset([1, 32]) - FOLLOW_COMMA_in_signal_list9514 = frozenset([102]) - FOLLOW_signal_item_in_signal_list9516 = frozenset([1, 32]) - FOLLOW_signal_id_in_signal_item9575 = frozenset([1]) - FOLLOW_cif_in_input_part9604 = frozenset([111, 254]) - FOLLOW_symbolid_in_input_part9623 = frozenset([111, 254]) - FOLLOW_hyperlink_in_input_part9642 = frozenset([111, 254]) - FOLLOW_requirement_in_input_part9661 = frozenset([111, 254]) - FOLLOW_rid_in_input_part9680 = frozenset([111, 254]) - FOLLOW_INPUT_in_input_part9699 = frozenset([21, 102]) - FOLLOW_inputlist_in_input_part9701 = frozenset([33, 190, 254]) - FOLLOW_end_in_input_part9703 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 170, 180, 204, 207, 217, 254]) - FOLLOW_enabling_condition_in_input_part9721 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_input_part9740 = frozenset([1]) - FOLLOW_ASTERISK_in_inputlist9836 = frozenset([1]) - FOLLOW_stimulus_in_inputlist9857 = frozenset([1, 32]) - FOLLOW_COMMA_in_inputlist9860 = frozenset([102]) - FOLLOW_stimulus_in_inputlist9862 = frozenset([1, 32]) - FOLLOW_stimulus_id_in_stimulus9919 = frozenset([1, 129]) - FOLLOW_input_params_in_stimulus9921 = frozenset([1]) - FOLLOW_L_PAREN_in_input_params9954 = frozenset([102]) - FOLLOW_variable_id_in_input_params9956 = frozenset([32, 186]) - FOLLOW_COMMA_in_input_params9959 = frozenset([102]) - FOLLOW_variable_id_in_input_params9961 = frozenset([32, 186]) - FOLLOW_R_PAREN_in_input_params9965 = frozenset([1]) - FOLLOW_action_in_transition10019 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_label_in_transition10022 = frozenset([1, 102, 119, 142, 180, 204, 254]) - FOLLOW_terminator_statement_in_transition10025 = frozenset([1]) - FOLLOW_terminator_statement_in_transition10074 = frozenset([1]) - FOLLOW_label_in_action10127 = frozenset([10, 27, 41, 45, 75, 90, 102, 151, 207, 217, 254]) - FOLLOW_task_in_action10147 = frozenset([1]) - FOLLOW_task_body_in_action10167 = frozenset([1]) - FOLLOW_output_in_action10187 = frozenset([1]) - FOLLOW_create_request_in_action10207 = frozenset([1]) - FOLLOW_decision_in_action10227 = frozenset([1]) - FOLLOW_alternative_in_action10247 = frozenset([1]) - FOLLOW_export_in_action10301 = frozenset([1]) - FOLLOW_procedure_call_in_action10326 = frozenset([1]) - FOLLOW_EXPORT_in_export10359 = frozenset([129]) - FOLLOW_L_PAREN_in_export10377 = frozenset([102]) - FOLLOW_variable_id_in_export10379 = frozenset([32, 186]) - FOLLOW_COMMA_in_export10382 = frozenset([102]) - FOLLOW_variable_id_in_export10384 = frozenset([32, 186]) - FOLLOW_R_PAREN_in_export10388 = frozenset([33, 190, 254]) - FOLLOW_end_in_export10406 = frozenset([1]) - FOLLOW_cif_in_procedure_call10462 = frozenset([27, 254]) - FOLLOW_symbolid_in_procedure_call10481 = frozenset([27, 254]) - FOLLOW_hyperlink_in_procedure_call10500 = frozenset([27, 254]) - FOLLOW_requirement_in_procedure_call10519 = frozenset([27, 254]) - FOLLOW_rid_in_procedure_call10538 = frozenset([27, 254]) - FOLLOW_CALL_in_procedure_call10557 = frozenset([102]) - FOLLOW_procedure_call_body_in_procedure_call10559 = frozenset([33, 190, 254]) - FOLLOW_end_in_procedure_call10561 = frozenset([1]) - FOLLOW_procedure_id_in_procedure_call_body10632 = frozenset([1, 129, 226]) - FOLLOW_actual_parameters_in_procedure_call_body10634 = frozenset([1, 226]) - FOLLOW_to_part_in_procedure_call_body10637 = frozenset([1]) - FOLLOW_cif_in_alternative10703 = frozenset([10, 254]) - FOLLOW_symbolid_in_alternative10722 = frozenset([10, 254]) - FOLLOW_hyperlink_in_alternative10741 = frozenset([10, 254]) - FOLLOW_requirement_in_alternative10760 = frozenset([10, 254]) - FOLLOW_rid_in_alternative10779 = frozenset([10, 254]) - FOLLOW_ALTERNATIVE_in_alternative10798 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_alternative_question_in_alternative10800 = frozenset([33, 190, 254]) - FOLLOW_end_in_alternative10804 = frozenset([51, 54, 129, 254]) - FOLLOW_answer_part_in_alternative10822 = frozenset([51, 54, 129, 254]) - FOLLOW_alternative_part_in_alternative10841 = frozenset([54]) - FOLLOW_ENDALTERNATIVE_in_alternative10860 = frozenset([33, 190, 254]) - FOLLOW_end_in_alternative10864 = frozenset([1]) - FOLLOW_answer_part_in_alternative_part10959 = frozenset([1, 51, 129, 254]) - FOLLOW_else_part_in_alternative_part10962 = frozenset([1]) - FOLLOW_else_part_in_alternative_part11005 = frozenset([1]) - FOLLOW_ground_expression_in_alternative_question11054 = frozenset([1]) - FOLLOW_cif_in_decision11086 = frozenset([45, 254]) - FOLLOW_symbolid_in_decision11105 = frozenset([45, 254]) - FOLLOW_hyperlink_in_decision11124 = frozenset([45, 254]) - FOLLOW_requirement_in_decision11143 = frozenset([45, 254]) - FOLLOW_rid_in_decision11162 = frozenset([45, 254]) - FOLLOW_DECISION_in_decision11181 = frozenset([14, 27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_question_in_decision11183 = frozenset([33, 190, 254]) - FOLLOW_end_in_decision11187 = frozenset([51, 58, 129, 254]) - FOLLOW_answer_part_in_decision11205 = frozenset([51, 58, 129, 254]) - FOLLOW_alternative_part_in_decision11224 = frozenset([58]) - FOLLOW_ENDDECISION_in_decision11243 = frozenset([33, 190, 254]) - FOLLOW_end_in_decision11247 = frozenset([1]) - FOLLOW_cif_in_answer_part11341 = frozenset([129, 254]) - FOLLOW_symbolid_in_answer_part11360 = frozenset([129, 254]) - FOLLOW_hyperlink_in_answer_part11379 = frozenset([129, 254]) - FOLLOW_requirement_in_answer_part11398 = frozenset([129, 254]) - FOLLOW_rid_in_answer_part11417 = frozenset([129, 254]) - FOLLOW_L_PAREN_in_answer_part11436 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_answer_in_answer_part11438 = frozenset([186]) - FOLLOW_R_PAREN_in_answer_part11440 = frozenset([255]) - FOLLOW_255_in_answer_part11442 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_answer_part11444 = frozenset([1]) - FOLLOW_range_condition_in_answer11516 = frozenset([1]) - FOLLOW_informal_text_in_answer11536 = frozenset([1]) - FOLLOW_cif_in_else_part11568 = frozenset([51, 254]) - FOLLOW_symbolid_in_else_part11587 = frozenset([51, 254]) - FOLLOW_hyperlink_in_else_part11606 = frozenset([51, 254]) - FOLLOW_requirement_in_else_part11625 = frozenset([51, 254]) - FOLLOW_rid_in_else_part11644 = frozenset([51, 254]) - FOLLOW_ELSE_in_else_part11663 = frozenset([255]) - FOLLOW_255_in_else_part11665 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_else_part11667 = frozenset([1]) - FOLLOW_informal_text_in_question11737 = frozenset([1]) - FOLLOW_expression_in_question11757 = frozenset([1]) - FOLLOW_ANY_in_question11798 = frozenset([1]) - FOLLOW_closed_range_in_range_condition11850 = frozenset([1, 32]) - FOLLOW_open_range_in_range_condition11854 = frozenset([1, 32]) - FOLLOW_COMMA_in_range_condition11874 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_closed_range_in_range_condition11878 = frozenset([1, 32]) - FOLLOW_open_range_in_range_condition11880 = frozenset([1, 32]) - FOLLOW_expression_in_closed_range11917 = frozenset([255]) - FOLLOW_255_in_closed_range11919 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_closed_range11923 = frozenset([1]) - FOLLOW_constant_in_open_range11980 = frozenset([1]) - FOLLOW_EQ_in_open_range12020 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_NEQ_in_open_range12022 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_GT_in_open_range12024 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_LT_in_open_range12026 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_LE_in_open_range12028 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_GE_in_open_range12030 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_constant_in_open_range12033 = frozenset([1]) - FOLLOW_expression_in_constant12105 = frozenset([1]) - FOLLOW_cif_in_create_request12159 = frozenset([41, 254]) - FOLLOW_symbolid_in_create_request12178 = frozenset([41, 254]) - FOLLOW_hyperlink_in_create_request12197 = frozenset([41, 254]) - FOLLOW_requirement_in_create_request12216 = frozenset([41, 254]) - FOLLOW_rid_in_create_request12235 = frozenset([41, 254]) - FOLLOW_CREATE_in_create_request12254 = frozenset([102, 224]) - FOLLOW_createbody_in_create_request12256 = frozenset([33, 129, 190, 254]) - FOLLOW_actual_parameters_in_create_request12274 = frozenset([33, 190, 254]) - FOLLOW_end_in_create_request12293 = frozenset([1]) - FOLLOW_process_id_in_createbody12367 = frozenset([1]) - FOLLOW_THIS_in_createbody12387 = frozenset([1]) - FOLLOW_cif_in_output12419 = frozenset([151, 254]) - FOLLOW_symbolid_in_output12438 = frozenset([151, 254]) - FOLLOW_hyperlink_in_output12457 = frozenset([151, 254]) - FOLLOW_requirement_in_output12476 = frozenset([151, 254]) - FOLLOW_rid_in_output12495 = frozenset([151, 254]) - FOLLOW_OUTPUT_in_output12514 = frozenset([102]) - FOLLOW_outputbody_in_output12516 = frozenset([33, 190, 254]) - FOLLOW_end_in_output12518 = frozenset([1]) - FOLLOW_outputstmt_in_outputbody12589 = frozenset([1, 32, 226]) - FOLLOW_COMMA_in_outputbody12592 = frozenset([102]) - FOLLOW_outputstmt_in_outputbody12594 = frozenset([1, 32, 226]) - FOLLOW_to_part_in_outputbody12598 = frozenset([1]) - FOLLOW_signal_id_in_outputstmt12660 = frozenset([1, 129]) - FOLLOW_actual_parameters_in_outputstmt12678 = frozenset([1]) - FOLLOW_TO_in_to_part12711 = frozenset([102, 146, 154, 187, 224]) - FOLLOW_destination_in_to_part12713 = frozenset([1]) - FOLLOW_VIA_in_via_part12766 = frozenset([8, 102]) - FOLLOW_viabody_in_via_part12768 = frozenset([1]) - FOLLOW_ALL_in_viabody12822 = frozenset([1]) - FOLLOW_via_path_in_viabody12861 = frozenset([1]) - FOLLOW_pid_expression_in_destination12914 = frozenset([1]) - FOLLOW_process_id_in_destination12934 = frozenset([1]) - FOLLOW_THIS_in_destination12954 = frozenset([1]) - FOLLOW_via_path_element_in_via_path12986 = frozenset([1, 32]) - FOLLOW_COMMA_in_via_path12989 = frozenset([102]) - FOLLOW_via_path_element_in_via_path12991 = frozenset([1, 32]) - FOLLOW_ID_in_via_path_element13043 = frozenset([1]) - FOLLOW_L_PAREN_in_actual_parameters13075 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_actual_parameters13077 = frozenset([32, 186]) - FOLLOW_COMMA_in_actual_parameters13080 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_actual_parameters13082 = frozenset([32, 186]) - FOLLOW_R_PAREN_in_actual_parameters13086 = frozenset([1]) - FOLLOW_cif_in_task13139 = frozenset([217, 254]) - FOLLOW_symbolid_in_task13158 = frozenset([217, 254]) - FOLLOW_hyperlink_in_task13177 = frozenset([217, 254]) - FOLLOW_requirement_in_task13196 = frozenset([217, 254]) - FOLLOW_rid_in_task13215 = frozenset([217, 254]) - FOLLOW_TASK_in_task13234 = frozenset([33, 90, 102, 190, 207, 254]) - FOLLOW_task_body_in_task13236 = frozenset([33, 190, 254]) - FOLLOW_end_in_task13239 = frozenset([1]) - FOLLOW_assignment_statement_in_task_body13312 = frozenset([1, 32]) - FOLLOW_COMMA_in_task_body13315 = frozenset([102]) - FOLLOW_assignment_statement_in_task_body13317 = frozenset([1, 32]) - FOLLOW_informal_text_in_task_body13363 = frozenset([1, 32]) - FOLLOW_COMMA_in_task_body13366 = frozenset([207]) - FOLLOW_informal_text_in_task_body13368 = frozenset([1, 32]) - FOLLOW_forloop_in_task_body13414 = frozenset([1, 32]) - FOLLOW_COMMA_in_task_body13417 = frozenset([90]) - FOLLOW_forloop_in_task_body13419 = frozenset([1, 32]) - FOLLOW_FOR_in_forloop13477 = frozenset([102]) - FOLLOW_variable_id_in_forloop13479 = frozenset([108]) - FOLLOW_IN_in_forloop13481 = frozenset([102, 174]) - FOLLOW_range_in_forloop13484 = frozenset([255]) - FOLLOW_variable_in_forloop13488 = frozenset([255]) - FOLLOW_255_in_forloop13491 = frozenset([10, 27, 41, 45, 59, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) - FOLLOW_transition_in_forloop13509 = frozenset([59]) - FOLLOW_ENDFOR_in_forloop13528 = frozenset([1]) - FOLLOW_RANGE_in_range13580 = frozenset([129]) - FOLLOW_L_PAREN_in_range13598 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_ground_expression_in_range13602 = frozenset([32, 186]) - FOLLOW_COMMA_in_range13621 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_ground_expression_in_range13625 = frozenset([32, 186]) - FOLLOW_COMMA_in_range13630 = frozenset([115]) - FOLLOW_INT_in_range13634 = frozenset([186]) - FOLLOW_R_PAREN_in_range13654 = frozenset([1]) - FOLLOW_variable_in_assignment_statement13706 = frozenset([20]) - FOLLOW_ASSIG_OP_in_assignment_statement13708 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_assignment_statement13710 = frozenset([1]) - FOLLOW_postfix_expression_in_variable13757 = frozenset([1]) - FOLLOW_ID_in_variable13775 = frozenset([1]) - FOLLOW_set_in_field_selection13828 = frozenset([102, 199]) - FOLLOW_field_name_in_field_selection13836 = frozenset([1]) - FOLLOW_binary_expression_in_expression13860 = frozenset([1]) - FOLLOW_binary_expression_0_in_binary_expression13883 = frozenset([1, 106]) - FOLLOW_IMPLIES_in_binary_expression13887 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_0_in_binary_expression13890 = frozenset([1, 106]) - FOLLOW_binary_expression_1_in_binary_expression_013913 = frozenset([1, 149, 245]) - FOLLOW_OR_in_binary_expression_013919 = frozenset([27, 43, 51, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_ELSE_in_binary_expression_013922 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_XOR_in_binary_expression_013928 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_1_in_binary_expression_013933 = frozenset([1, 149, 245]) - FOLLOW_binary_expression_2_in_binary_expression_113956 = frozenset([1, 12]) - FOLLOW_AND_in_binary_expression_113960 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 223, 228, 232]) - FOLLOW_THEN_in_binary_expression_113963 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_2_in_binary_expression_113966 = frozenset([1, 12]) - FOLLOW_binary_expression_3_in_binary_expression_213989 = frozenset([1, 69, 94, 97, 108, 124, 127, 139]) - FOLLOW_EQ_in_binary_expression_213994 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_NEQ_in_binary_expression_213999 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_GT_in_binary_expression_214004 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_GE_in_binary_expression_214009 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_LT_in_binary_expression_214014 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_LE_in_binary_expression_214019 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_IN_in_binary_expression_214024 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_3_in_binary_expression_214029 = frozenset([1, 69, 94, 97, 108, 124, 127, 139]) - FOLLOW_binary_expression_4_in_binary_expression_314052 = frozenset([1, 15, 43, 161]) - FOLLOW_PLUS_in_binary_expression_314057 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_DASH_in_binary_expression_314062 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_APPEND_in_binary_expression_314067 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_4_in_binary_expression_314072 = frozenset([1, 15, 43, 161]) - FOLLOW_unary_expression_in_binary_expression_414095 = frozenset([1, 21, 48, 134, 176]) - FOLLOW_ASTERISK_in_binary_expression_414100 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_DIV_in_binary_expression_414105 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_MOD_in_binary_expression_414110 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_REM_in_binary_expression_414115 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_unary_expression_in_binary_expression_414120 = frozenset([1, 21, 48, 134, 176]) - FOLLOW_postfix_expression_in_unary_expression14145 = frozenset([1]) - FOLLOW_primary_expression_in_unary_expression14163 = frozenset([1]) - FOLLOW_NOT_in_unary_expression14181 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_unary_expression_in_unary_expression14184 = frozenset([1]) - FOLLOW_DASH_in_unary_expression14202 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_unary_expression_in_unary_expression14204 = frozenset([1]) - FOLLOW_CALL_in_unary_expression14233 = frozenset([102]) - FOLLOW_procedure_call_body_in_unary_expression14235 = frozenset([1]) - FOLLOW_input_expression_in_unary_expression14261 = frozenset([1]) - FOLLOW_output_expression_in_unary_expression14291 = frozenset([1]) - FOLLOW_ID_in_postfix_expression14335 = frozenset([49, 129, 248]) - FOLLOW_L_PAREN_in_postfix_expression14370 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 186, 199, 207, 228, 232]) - FOLLOW_expression_list_in_postfix_expression14374 = frozenset([186]) - FOLLOW_R_PAREN_in_postfix_expression14377 = frozenset([1, 49, 129, 248]) - FOLLOW_248_in_postfix_expression14433 = frozenset([102, 199]) - FOLLOW_DOT_in_postfix_expression14437 = frozenset([102, 199]) - FOLLOW_field_name_in_postfix_expression14440 = frozenset([1, 49, 129, 248]) - FOLLOW_UNHANDLED_in_input_expression14522 = frozenset([111]) - FOLLOW_INPUT_in_input_expression14525 = frozenset([1]) - FOLLOW_UNHANDLED_in_input_expression14570 = frozenset([111]) - FOLLOW_INPUT_in_input_expression14573 = frozenset([92, 102, 226]) - FOLLOW_ID_in_input_expression14578 = frozenset([92, 129, 226]) - FOLLOW_L_PAREN_in_input_expression14581 = frozenset([102]) - FOLLOW_ID_in_input_expression14585 = frozenset([186]) - FOLLOW_R_PAREN_in_input_expression14587 = frozenset([92, 226]) - FOLLOW_FROM_in_input_expression14595 = frozenset([102]) - FOLLOW_ID_in_input_expression14599 = frozenset([226]) - FOLLOW_TO_in_input_expression14603 = frozenset([102]) - FOLLOW_ID_in_input_expression14607 = frozenset([1]) - FOLLOW_OUTPUT_in_output_expression14691 = frozenset([1]) - FOLLOW_OUTPUT_in_output_expression14733 = frozenset([92, 102]) - FOLLOW_ID_in_output_expression14738 = frozenset([92, 129]) - FOLLOW_L_PAREN_in_output_expression14741 = frozenset([102]) - FOLLOW_ID_in_output_expression14745 = frozenset([186]) - FOLLOW_R_PAREN_in_output_expression14747 = frozenset([92]) - FOLLOW_FROM_in_output_expression14755 = frozenset([102]) - FOLLOW_ID_in_output_expression14759 = frozenset([1, 226]) - FOLLOW_TO_in_output_expression14763 = frozenset([102]) - FOLLOW_ID_in_output_expression14767 = frozenset([1]) - FOLLOW_primary_in_primary_expression14849 = frozenset([1]) - FOLLOW_L_PAREN_in_primary_expression14897 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_primary_expression14899 = frozenset([186]) - FOLLOW_R_PAREN_in_primary_expression14901 = frozenset([1]) - FOLLOW_conditional_expression_in_primary_expression14938 = frozenset([1]) - FOLLOW_TRUE_in_primary14973 = frozenset([1]) - FOLLOW_FALSE_in_primary14992 = frozenset([1]) - FOLLOW_STRING_in_primary15011 = frozenset([1]) - FOLLOW_PLUS_INFINITY_in_primary15029 = frozenset([1]) - FOLLOW_MINUS_INFINITY_in_primary15048 = frozenset([1]) - FOLLOW_INT_in_primary15067 = frozenset([1]) - FOLLOW_FLOAT_in_primary15086 = frozenset([1]) - FOLLOW_ID_in_primary15105 = frozenset([255]) - FOLLOW_255_in_primary15107 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_primary15109 = frozenset([1]) - FOLLOW_ID_in_primary15147 = frozenset([1]) - FOLLOW_L_BRACKET_in_primary15198 = frozenset([185]) - FOLLOW_R_BRACKET_in_primary15200 = frozenset([1]) - FOLLOW_L_BRACKET_in_primary15244 = frozenset([131]) - FOLLOW_MANTISSA_in_primary15262 = frozenset([115]) - FOLLOW_INT_in_primary15266 = frozenset([32]) - FOLLOW_COMMA_in_primary15268 = frozenset([23]) - FOLLOW_BASE_in_primary15286 = frozenset([115]) - FOLLOW_INT_in_primary15290 = frozenset([32]) - FOLLOW_COMMA_in_primary15292 = frozenset([74]) - FOLLOW_EXPONENT_in_primary15310 = frozenset([115]) - FOLLOW_INT_in_primary15314 = frozenset([185]) - FOLLOW_R_BRACKET_in_primary15332 = frozenset([1]) - FOLLOW_L_BRACKET_in_primary15389 = frozenset([102]) - FOLLOW_named_value_in_primary15407 = frozenset([32, 185]) - FOLLOW_COMMA_in_primary15410 = frozenset([102]) - FOLLOW_named_value_in_primary15412 = frozenset([32, 185]) - FOLLOW_R_BRACKET_in_primary15432 = frozenset([1]) - FOLLOW_L_BRACKET_in_primary15483 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_primary15501 = frozenset([32, 185]) - FOLLOW_COMMA_in_primary15504 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_primary15506 = frozenset([32, 185]) - FOLLOW_R_BRACKET_in_primary15526 = frozenset([1]) - FOLLOW_MKSTRING_in_primary15577 = frozenset([129]) - FOLLOW_L_PAREN_in_primary15579 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_primary15581 = frozenset([32, 186]) - FOLLOW_COMMA_in_primary15584 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_primary15586 = frozenset([32, 186]) - FOLLOW_R_PAREN_in_primary15590 = frozenset([1]) - FOLLOW_STATE_in_primary15661 = frozenset([1]) - FOLLOW_STRING_in_informal_text15695 = frozenset([1]) - FOLLOW_ID_in_named_value15750 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_named_value15752 = frozenset([1]) - FOLLOW_primary_in_indexed_primary15790 = frozenset([129]) - FOLLOW_L_PAREN_in_indexed_primary15792 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_list_in_indexed_primary15794 = frozenset([186]) - FOLLOW_R_PAREN_in_indexed_primary15796 = frozenset([1]) - FOLLOW_primary_in_field_primary15828 = frozenset([49, 248]) - FOLLOW_field_selection_in_field_primary15830 = frozenset([1]) - FOLLOW_249_in_structure_primary15862 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_list_in_structure_primary15864 = frozenset([253]) - FOLLOW_253_in_structure_primary15866 = frozenset([1]) - FOLLOW_sort_id_in_sort15897 = frozenset([1]) - FOLLOW_type_id_in_type_inst15950 = frozenset([1]) - FOLLOW_syntype_id_in_syntype15995 = frozenset([1]) - FOLLOW_variable_id_in_variable_access16029 = frozenset([1]) - FOLLOW_external_synonym_id_in_external_synonym16065 = frozenset([1]) - FOLLOW_IF_in_conditional_expression16097 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_conditional_expression16101 = frozenset([223]) - FOLLOW_THEN_in_conditional_expression16119 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_conditional_expression16123 = frozenset([51]) - FOLLOW_ELSE_in_conditional_expression16141 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_conditional_expression16145 = frozenset([82]) - FOLLOW_FI_in_conditional_expression16147 = frozenset([1]) - FOLLOW_expression_in_expression_list16207 = frozenset([1, 32]) - FOLLOW_COMMA_in_expression_list16210 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_expression_list16212 = frozenset([1, 32]) - FOLLOW_label_in_terminator_statement16264 = frozenset([119, 142, 180, 204, 254]) - FOLLOW_cif_in_terminator_statement16283 = frozenset([119, 142, 180, 204, 254]) - FOLLOW_symbolid_in_terminator_statement16302 = frozenset([119, 142, 180, 204, 254]) - FOLLOW_hyperlink_in_terminator_statement16321 = frozenset([119, 142, 180, 204, 254]) - FOLLOW_requirement_in_terminator_statement16340 = frozenset([119, 142, 180, 204, 254]) - FOLLOW_rid_in_terminator_statement16359 = frozenset([119, 142, 180, 204, 254]) - FOLLOW_terminator_in_terminator_statement16378 = frozenset([33, 190, 254]) - FOLLOW_end_in_terminator_statement16396 = frozenset([1]) - FOLLOW_cif_in_label16469 = frozenset([102, 254]) - FOLLOW_symbolid_in_label16472 = frozenset([102]) - FOLLOW_connector_name_in_label16475 = frozenset([255]) - FOLLOW_255_in_label16477 = frozenset([1]) - FOLLOW_nextstate_in_terminator16536 = frozenset([1]) - FOLLOW_join_in_terminator16540 = frozenset([1]) - FOLLOW_stop_in_terminator16544 = frozenset([1]) - FOLLOW_return_stmt_in_terminator16548 = frozenset([1]) - FOLLOW_JOIN_in_join16581 = frozenset([102]) - FOLLOW_connector_name_in_join16583 = frozenset([1]) - FOLLOW_STOP_in_stop16632 = frozenset([1]) - FOLLOW_RETURN_in_return_stmt16664 = frozenset([1, 27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_return_stmt16666 = frozenset([1]) - FOLLOW_NEXTSTATE_in_nextstate16721 = frozenset([43, 102, 251]) - FOLLOW_nextstatebody_in_nextstate16723 = frozenset([1]) - FOLLOW_statename_in_nextstatebody16776 = frozenset([1, 238, 255]) - FOLLOW_255_in_nextstatebody16779 = frozenset([102]) - FOLLOW_type_inst_in_nextstatebody16782 = frozenset([1, 238]) - FOLLOW_via_in_nextstatebody16786 = frozenset([1]) - FOLLOW_dash_nextstate_in_nextstatebody16807 = frozenset([1]) - FOLLOW_history_nextstate_in_nextstatebody16827 = frozenset([1]) - FOLLOW_VIA_in_via16855 = frozenset([102]) - FOLLOW_state_entry_point_name_in_via16857 = frozenset([1]) - FOLLOW_cif_in_end16907 = frozenset([33, 254]) - FOLLOW_symbolid_in_end16910 = frozenset([33, 254]) - FOLLOW_hyperlink_in_end16913 = frozenset([33]) - FOLLOW_COMMENT_in_end16916 = frozenset([207]) - FOLLOW_STRING_in_end16918 = frozenset([190]) - FOLLOW_SEMI_in_end16922 = frozenset([1, 190]) - FOLLOW_cif_decl_in_cif16982 = frozenset([10, 13, 33, 37, 41, 45, 111, 119, 123, 142, 151, 166, 167, 169, 170, 180, 198, 199, 204, 217, 220]) - FOLLOW_symbolname_in_cif16984 = frozenset([129]) - FOLLOW_L_PAREN_in_cif17002 = frozenset([43, 115]) - FOLLOW_signed_in_cif17006 = frozenset([32]) - FOLLOW_COMMA_in_cif17008 = frozenset([43, 115]) - FOLLOW_signed_in_cif17012 = frozenset([186]) - FOLLOW_R_PAREN_in_cif17014 = frozenset([32]) - FOLLOW_COMMA_in_cif17032 = frozenset([129]) - FOLLOW_L_PAREN_in_cif17050 = frozenset([115]) - FOLLOW_INT_in_cif17054 = frozenset([32]) - FOLLOW_COMMA_in_cif17056 = frozenset([115]) - FOLLOW_INT_in_cif17060 = frozenset([186]) - FOLLOW_R_PAREN_in_cif17062 = frozenset([250]) - FOLLOW_cif_end_in_cif17080 = frozenset([1]) - FOLLOW_cif_decl_in_hyperlink17144 = frozenset([121]) - FOLLOW_KEEP_in_hyperlink17146 = frozenset([197]) - FOLLOW_SPECIFIC_in_hyperlink17148 = frozenset([95]) - FOLLOW_GEODE_in_hyperlink17150 = frozenset([100]) - FOLLOW_HYPERLINK_in_hyperlink17152 = frozenset([207]) - FOLLOW_STRING_in_hyperlink17154 = frozenset([250]) - FOLLOW_cif_end_in_hyperlink17172 = frozenset([1]) - FOLLOW_cif_decl_in_req_server17226 = frozenset([121]) - FOLLOW_KEEP_in_req_server17228 = frozenset([197]) - FOLLOW_SPECIFIC_in_req_server17230 = frozenset([95]) - FOLLOW_GEODE_in_req_server17232 = frozenset([179]) - FOLLOW_REQ_SERVER_in_req_server17234 = frozenset([207]) - FOLLOW_STRING_in_req_server17236 = frozenset([250]) - FOLLOW_cif_end_in_req_server17254 = frozenset([1]) - FOLLOW_cif_decl_in_rid_server17308 = frozenset([121]) - FOLLOW_KEEP_in_rid_server17310 = frozenset([197]) - FOLLOW_SPECIFIC_in_rid_server17312 = frozenset([95]) - FOLLOW_GEODE_in_rid_server17314 = frozenset([183]) - FOLLOW_RID_SERVER_in_rid_server17316 = frozenset([207]) - FOLLOW_STRING_in_rid_server17318 = frozenset([250]) - FOLLOW_cif_end_in_rid_server17336 = frozenset([1]) - FOLLOW_cif_decl_in_requirement17391 = frozenset([121]) - FOLLOW_KEEP_in_requirement17393 = frozenset([197]) - FOLLOW_SPECIFIC_in_requirement17395 = frozenset([95]) - FOLLOW_GEODE_in_requirement17397 = frozenset([178]) - FOLLOW_REQ_ID_in_requirement17399 = frozenset([207]) - FOLLOW_STRING_in_requirement17401 = frozenset([250]) - FOLLOW_cif_end_in_requirement17419 = frozenset([1]) - FOLLOW_cif_decl_in_rid17474 = frozenset([121]) - FOLLOW_KEEP_in_rid17476 = frozenset([197]) - FOLLOW_SPECIFIC_in_rid17478 = frozenset([95]) - FOLLOW_GEODE_in_rid17480 = frozenset([182]) - FOLLOW_RID_ID_in_rid17482 = frozenset([207]) - FOLLOW_STRING_in_rid17484 = frozenset([250]) - FOLLOW_cif_end_in_rid17502 = frozenset([1]) - FOLLOW_cif_decl_in_partition17555 = frozenset([121]) - FOLLOW_KEEP_in_partition17557 = frozenset([197]) - FOLLOW_SPECIFIC_in_partition17559 = frozenset([95]) - FOLLOW_GEODE_in_partition17561 = frozenset([159]) - FOLLOW_PARTITION_in_partition17563 = frozenset([207]) - FOLLOW_STRING_in_partition17565 = frozenset([250]) - FOLLOW_cif_end_in_partition17583 = frozenset([1]) - FOLLOW_cif_decl_in_symbolid17636 = frozenset([256]) - FOLLOW_256_in_symbolid17638 = frozenset([115]) - FOLLOW_INT_in_symbolid17642 = frozenset([250]) - FOLLOW_cif_end_in_symbolid17644 = frozenset([1]) - FOLLOW_cif_decl_in_paramnames17699 = frozenset([121]) - FOLLOW_KEEP_in_paramnames17701 = frozenset([197]) - FOLLOW_SPECIFIC_in_paramnames17703 = frozenset([95]) - FOLLOW_GEODE_in_paramnames17705 = frozenset([156]) - FOLLOW_PARAMNAMES_in_paramnames17707 = frozenset([102, 199]) - FOLLOW_field_name_in_paramnames17709 = frozenset([102, 199, 250]) - FOLLOW_cif_end_in_paramnames17712 = frozenset([1]) - FOLLOW_cif_decl_in_use_asn117768 = frozenset([121]) - FOLLOW_KEEP_in_use_asn117770 = frozenset([197]) - FOLLOW_SPECIFIC_in_use_asn117772 = frozenset([95]) - FOLLOW_GEODE_in_use_asn117774 = frozenset([18]) - FOLLOW_ASNFILENAME_in_use_asn117776 = frozenset([207]) - FOLLOW_STRING_in_use_asn117778 = frozenset([250]) - FOLLOW_cif_end_in_use_asn117780 = frozenset([1]) - FOLLOW_STOP_in_stop_if17836 = frozenset([103]) - FOLLOW_IF_in_stop_if17838 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_stop_if17840 = frozenset([33, 190, 254]) - FOLLOW_end_in_stop_if17842 = frozenset([1, 204]) - FOLLOW_254_in_cif_decl18330 = frozenset([1]) - FOLLOW_250_in_cif_end18362 = frozenset([1]) - FOLLOW_cif_decl_in_cif_end_text18394 = frozenset([67]) - FOLLOW_ENDTEXT_in_cif_end_text18396 = frozenset([250]) - FOLLOW_cif_end_in_cif_end_text18398 = frozenset([1]) - FOLLOW_cif_decl_in_cif_end_label18449 = frozenset([53]) - FOLLOW_END_in_cif_end_label18451 = frozenset([123]) - FOLLOW_LABEL_in_cif_end_label18453 = frozenset([250]) - FOLLOW_cif_end_in_cif_end_label18455 = frozenset([1]) - FOLLOW_n7s_scl_statement_in_n7s_scl18489 = frozenset([1, 11, 73, 86, 140]) - FOLLOW_n7s_scl_never_in_n7s_scl_statement18545 = frozenset([1]) - FOLLOW_n7s_scl_always_in_n7s_scl_statement18549 = frozenset([1]) - FOLLOW_n7s_scl_eventually_in_n7s_scl_statement18553 = frozenset([1]) - FOLLOW_n7s_scl_filter_out_in_n7s_scl_statement18557 = frozenset([1]) - FOLLOW_NEVER_in_n7s_scl_never18590 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_n7s_scl_never18592 = frozenset([33, 190, 254]) - FOLLOW_end_in_n7s_scl_never18594 = frozenset([1]) - FOLLOW_ALWAYS_in_n7s_scl_always18648 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_n7s_scl_always18650 = frozenset([33, 190, 254]) - FOLLOW_end_in_n7s_scl_always18652 = frozenset([1]) - FOLLOW_EVENTUALLY_in_n7s_scl_eventually18706 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_n7s_scl_eventually18708 = frozenset([33, 190, 254]) - FOLLOW_end_in_n7s_scl_eventually18710 = frozenset([1]) - FOLLOW_FILTER_OUT_in_n7s_scl_filter_out18764 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_n7s_scl_filter_out18766 = frozenset([33, 190, 254]) - FOLLOW_end_in_n7s_scl_filter_out18768 = frozenset([1]) - FOLLOW_251_in_history_nextstate18960 = frozenset([1]) - FOLLOW_DASH_in_dash_nextstate18991 = frozenset([1]) - FOLLOW_ID_in_connector_name19005 = frozenset([1]) - FOLLOW_ID_in_signal_id19024 = frozenset([1]) - FOLLOW_ID_in_statename19043 = frozenset([1]) - FOLLOW_ID_in_state_exit_point_name19072 = frozenset([1]) - FOLLOW_ID_in_state_entry_point_name19101 = frozenset([1]) - FOLLOW_ID_in_variable_id19118 = frozenset([1]) - FOLLOW_ID_in_process_id19158 = frozenset([1]) - FOLLOW_ID_in_system_name19175 = frozenset([1]) - FOLLOW_ID_in_package_name19191 = frozenset([1]) - FOLLOW_ID_in_priority_signal_id19220 = frozenset([1]) - FOLLOW_ID_in_signal_list_id19234 = frozenset([1]) - FOLLOW_ID_in_timer_id19254 = frozenset([1]) - FOLLOW_ID_in_enumerant19295 = frozenset([1]) - FOLLOW_ID_in_signal_route_id19308 = frozenset([1]) - FOLLOW_ID_in_channel_id19326 = frozenset([1]) - FOLLOW_ID_in_route_id19346 = frozenset([1]) - FOLLOW_ID_in_block_id19366 = frozenset([1]) - FOLLOW_ID_in_source_id19385 = frozenset([1]) - FOLLOW_ID_in_dest_id19406 = frozenset([1]) - FOLLOW_ID_in_gate_id19427 = frozenset([1]) - FOLLOW_ID_in_procedure_id19443 = frozenset([1]) - FOLLOW_ID_in_remote_procedure_id19472 = frozenset([1]) - FOLLOW_ID_in_operator_id19489 = frozenset([1]) - FOLLOW_ID_in_synonym_id19507 = frozenset([1]) - FOLLOW_ID_in_external_synonym_id19536 = frozenset([1]) - FOLLOW_ID_in_remote_variable_id19565 = frozenset([1]) - FOLLOW_ID_in_view_id19586 = frozenset([1]) - FOLLOW_ID_in_sort_id19607 = frozenset([1]) - FOLLOW_ID_in_type_id19628 = frozenset([1]) - FOLLOW_ID_in_syntype_id19646 = frozenset([1]) - FOLLOW_ID_in_stimulus_id19663 = frozenset([1]) - FOLLOW_S_in_pid_expression20963 = frozenset([50]) - FOLLOW_E_in_pid_expression20965 = frozenset([122]) - FOLLOW_L_in_pid_expression20967 = frozenset([80]) - FOLLOW_F_in_pid_expression20969 = frozenset([1]) - FOLLOW_P_in_pid_expression20995 = frozenset([4]) - FOLLOW_A_in_pid_expression20997 = frozenset([173]) - FOLLOW_R_in_pid_expression20999 = frozenset([50]) - FOLLOW_E_in_pid_expression21001 = frozenset([136]) - FOLLOW_N_in_pid_expression21003 = frozenset([216]) - FOLLOW_T_in_pid_expression21005 = frozenset([1]) - FOLLOW_O_in_pid_expression21031 = frozenset([80]) - FOLLOW_F_in_pid_expression21033 = frozenset([80]) - FOLLOW_F_in_pid_expression21035 = frozenset([187]) - FOLLOW_S_in_pid_expression21037 = frozenset([154]) - FOLLOW_P_in_pid_expression21039 = frozenset([173]) - FOLLOW_R_in_pid_expression21041 = frozenset([101]) - FOLLOW_I_in_pid_expression21043 = frozenset([136]) - FOLLOW_N_in_pid_expression21045 = frozenset([93]) - FOLLOW_G_in_pid_expression21047 = frozenset([1]) - FOLLOW_S_in_pid_expression21073 = frozenset([50]) - FOLLOW_E_in_pid_expression21075 = frozenset([136]) - FOLLOW_N_in_pid_expression21077 = frozenset([42]) - FOLLOW_D_in_pid_expression21079 = frozenset([50]) - FOLLOW_E_in_pid_expression21081 = frozenset([173]) - FOLLOW_R_in_pid_expression21083 = frozenset([1]) - FOLLOW_N_in_now_expression21097 = frozenset([146]) - FOLLOW_O_in_now_expression21099 = frozenset([241]) - FOLLOW_W_in_now_expression21101 = frozenset([1]) - FOLLOW_DASH_in_signed24530 = frozenset([115]) - FOLLOW_INT_in_signed24533 = frozenset([1]) - FOLLOW_signal_declaration_in_synpred9_sdl921958 = frozenset([1]) - FOLLOW_text_area_in_synpred10_sdl921978 = frozenset([1]) - FOLLOW_procedure_in_synpred11_sdl921998 = frozenset([1]) - FOLLOW_text_area_in_synpred37_sdl922938 = frozenset([1]) - FOLLOW_procedure_in_synpred38_sdl922942 = frozenset([1]) - FOLLOW_composite_state_preamble_in_synpred39_sdl922947 = frozenset([1]) - FOLLOW_processBody_in_synpred40_sdl922971 = frozenset([1]) - FOLLOW_end_in_synpred46_sdl923201 = frozenset([1]) - FOLLOW_end_in_synpred54_sdl923429 = frozenset([1]) - FOLLOW_text_area_in_synpred57_sdl923493 = frozenset([1]) - FOLLOW_procedure_in_synpred58_sdl923497 = frozenset([1]) - FOLLOW_processBody_in_synpred59_sdl923519 = frozenset([1]) - FOLLOW_symbolid_in_synpred74_sdl924083 = frozenset([1]) - FOLLOW_content_in_synpred75_sdl924102 = frozenset([1]) - FOLLOW_end_in_synpred138_sdl926805 = frozenset([1]) - FOLLOW_end_in_synpred148_sdl927065 = frozenset([1]) - FOLLOW_text_area_in_synpred162_sdl927847 = frozenset([1]) - FOLLOW_text_area_in_synpred169_sdl928349 = frozenset([1]) - FOLLOW_procedure_in_synpred170_sdl928365 = frozenset([1]) - FOLLOW_composite_state_preamble_in_synpred171_sdl928382 = frozenset([1]) - FOLLOW_enabling_condition_in_synpred209_sdl929721 = frozenset([1]) - FOLLOW_label_in_synpred216_sdl9210022 = frozenset([1]) - FOLLOW_actual_parameters_in_synpred233_sdl9210634 = frozenset([1]) - FOLLOW_answer_part_in_synpred240_sdl9210822 = frozenset([1]) - FOLLOW_answer_part_in_synpred250_sdl9211205 = frozenset([1]) - FOLLOW_range_condition_in_synpred258_sdl9211516 = frozenset([1]) - FOLLOW_informal_text_in_synpred265_sdl9211737 = frozenset([1]) - FOLLOW_expression_in_synpred266_sdl9211757 = frozenset([1]) - FOLLOW_closed_range_in_synpred267_sdl9211850 = frozenset([1]) - FOLLOW_closed_range_in_synpred268_sdl9211878 = frozenset([1]) - FOLLOW_COMMA_in_synpred269_sdl9211874 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_closed_range_in_synpred269_sdl9211878 = frozenset([1]) - FOLLOW_open_range_in_synpred269_sdl9211880 = frozenset([1]) - FOLLOW_COMMA_in_synpred309_sdl9213621 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_ground_expression_in_synpred309_sdl9213625 = frozenset([1]) - FOLLOW_IMPLIES_in_synpred313_sdl9213887 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_0_in_synpred313_sdl9213890 = frozenset([1]) - FOLLOW_OR_in_synpred316_sdl9213919 = frozenset([27, 43, 51, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_ELSE_in_synpred316_sdl9213922 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_XOR_in_synpred316_sdl9213928 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_1_in_synpred316_sdl9213933 = frozenset([1]) - FOLLOW_AND_in_synpred318_sdl9213960 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 223, 228, 232]) - FOLLOW_THEN_in_synpred318_sdl9213963 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_2_in_synpred318_sdl9213966 = frozenset([1]) - FOLLOW_set_in_synpred325_sdl9213992 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_3_in_synpred325_sdl9214029 = frozenset([1]) - FOLLOW_set_in_synpred328_sdl9214055 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_binary_expression_4_in_synpred328_sdl9214072 = frozenset([1]) - FOLLOW_set_in_synpred332_sdl9214098 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_unary_expression_in_synpred332_sdl9214120 = frozenset([1]) - FOLLOW_postfix_expression_in_synpred333_sdl9214145 = frozenset([1]) - FOLLOW_primary_expression_in_synpred334_sdl9214163 = frozenset([1]) - FOLLOW_L_PAREN_in_synpred340_sdl9214370 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 186, 199, 207, 228, 232]) - FOLLOW_expression_list_in_synpred340_sdl9214374 = frozenset([186]) - FOLLOW_R_PAREN_in_synpred340_sdl9214377 = frozenset([1]) - FOLLOW_set_in_synpred342_sdl9214432 = frozenset([102, 199]) - FOLLOW_field_name_in_synpred342_sdl9214440 = frozenset([1]) - FOLLOW_ID_in_synpred362_sdl9215105 = frozenset([255]) - FOLLOW_255_in_synpred362_sdl9215107 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_synpred362_sdl9215109 = frozenset([1]) - FOLLOW_ID_in_synpred363_sdl9215147 = frozenset([1]) - FOLLOW_L_BRACKET_in_synpred364_sdl9215198 = frozenset([185]) - FOLLOW_R_BRACKET_in_synpred364_sdl9215200 = frozenset([1]) - FOLLOW_L_BRACKET_in_synpred365_sdl9215244 = frozenset([131]) - FOLLOW_MANTISSA_in_synpred365_sdl9215262 = frozenset([115]) - FOLLOW_INT_in_synpred365_sdl9215266 = frozenset([32]) - FOLLOW_COMMA_in_synpred365_sdl9215268 = frozenset([23]) - FOLLOW_BASE_in_synpred365_sdl9215286 = frozenset([115]) - FOLLOW_INT_in_synpred365_sdl9215290 = frozenset([32]) - FOLLOW_COMMA_in_synpred365_sdl9215292 = frozenset([74]) - FOLLOW_EXPONENT_in_synpred365_sdl9215310 = frozenset([115]) - FOLLOW_INT_in_synpred365_sdl9215314 = frozenset([185]) - FOLLOW_R_BRACKET_in_synpred365_sdl9215332 = frozenset([1]) - FOLLOW_L_BRACKET_in_synpred367_sdl9215389 = frozenset([102]) - FOLLOW_named_value_in_synpred367_sdl9215407 = frozenset([32, 185]) - FOLLOW_COMMA_in_synpred367_sdl9215410 = frozenset([102]) - FOLLOW_named_value_in_synpred367_sdl9215412 = frozenset([32, 185]) - FOLLOW_R_BRACKET_in_synpred367_sdl9215432 = frozenset([1]) - FOLLOW_L_BRACKET_in_synpred369_sdl9215483 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_synpred369_sdl9215501 = frozenset([32, 185]) - FOLLOW_COMMA_in_synpred369_sdl9215504 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) - FOLLOW_expression_in_synpred369_sdl9215506 = frozenset([32, 185]) - FOLLOW_R_BRACKET_in_synpred369_sdl9215526 = frozenset([1]) - FOLLOW_SEMI_in_synpred393_sdl9216922 = frozenset([1]) + FOLLOW_use_clause_in_pr_file1622 = frozenset([1, 169, 215, 233, 254]) + FOLLOW_system_definition_in_pr_file1642 = frozenset([1, 169, 215, 233, 254]) + FOLLOW_process_definition_in_pr_file1662 = frozenset([1, 169, 215, 233, 254]) + FOLLOW_SYSTEM_in_system_definition1696 = frozenset([102]) + FOLLOW_system_name_in_system_definition1698 = frozenset([33, 190, 254]) + FOLLOW_end_in_system_definition1700 = frozenset([25, 28, 66, 76, 166, 193, 254]) + FOLLOW_entity_in_system_in_system_definition1718 = frozenset([25, 28, 66, 76, 166, 193, 254]) + FOLLOW_ENDSYSTEM_in_system_definition1737 = frozenset([33, 102, 190, 254]) + FOLLOW_system_name_in_system_definition1739 = frozenset([33, 190, 254]) + FOLLOW_end_in_system_definition1742 = frozenset([1]) + FOLLOW_cif_in_use_clause1798 = frozenset([233, 254]) + FOLLOW_USE_in_use_clause1817 = frozenset([102]) + FOLLOW_package_name_in_use_clause1819 = frozenset([33, 48, 190, 254]) + FOLLOW_DIV_in_use_clause1838 = frozenset([102]) + FOLLOW_def_selection_list_in_use_clause1840 = frozenset([33, 190, 254]) + FOLLOW_end_in_use_clause1861 = frozenset([1]) + FOLLOW_ID_in_def_selection_list1925 = frozenset([1, 32]) + FOLLOW_COMMA_in_def_selection_list1928 = frozenset([102]) + FOLLOW_ID_in_def_selection_list1931 = frozenset([1, 32]) + FOLLOW_signal_declaration_in_entity_in_system1967 = frozenset([1]) + FOLLOW_text_area_in_entity_in_system1987 = frozenset([1]) + FOLLOW_procedure_in_entity_in_system2007 = frozenset([1]) + FOLLOW_channel_in_entity_in_system2027 = frozenset([1]) + FOLLOW_block_definition_in_entity_in_system2047 = frozenset([1]) + FOLLOW_cif_paramnames_in_signal_declaration2082 = frozenset([193]) + FOLLOW_SIGNAL_in_signal_declaration2101 = frozenset([102]) + FOLLOW_signal_id_in_signal_declaration2103 = frozenset([33, 129, 177, 190, 254]) + FOLLOW_input_params_in_signal_declaration2105 = frozenset([33, 177, 190, 254]) + FOLLOW_RENAMES_in_signal_declaration2125 = frozenset([111, 151, 232]) + FOLLOW_input_expression_in_signal_declaration2128 = frozenset([33, 190, 254]) + FOLLOW_output_expression_in_signal_declaration2132 = frozenset([33, 190, 254]) + FOLLOW_end_in_signal_declaration2154 = frozenset([1]) + FOLLOW_CHANNEL_in_channel2223 = frozenset([102]) + FOLLOW_channel_id_in_channel2225 = frozenset([92]) + FOLLOW_route_in_channel2243 = frozenset([56, 92]) + FOLLOW_ENDCHANNEL_in_channel2262 = frozenset([33, 190, 254]) + FOLLOW_end_in_channel2264 = frozenset([1]) + FOLLOW_FROM_in_route2320 = frozenset([102]) + FOLLOW_source_id_in_route2322 = frozenset([226]) + FOLLOW_TO_in_route2324 = frozenset([102]) + FOLLOW_dest_id_in_route2326 = frozenset([242]) + FOLLOW_WITH_in_route2328 = frozenset([102]) + FOLLOW_signal_id_in_route2330 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_route2333 = frozenset([102]) + FOLLOW_signal_id_in_route2335 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_route2339 = frozenset([1]) + FOLLOW_BLOCK_in_block_definition2397 = frozenset([102]) + FOLLOW_block_id_in_block_definition2399 = frozenset([33, 190, 254]) + FOLLOW_end_in_block_definition2401 = frozenset([25, 37, 55, 169, 193, 194, 254]) + FOLLOW_entity_in_block_in_block_definition2419 = frozenset([25, 37, 55, 169, 193, 194, 254]) + FOLLOW_ENDBLOCK_in_block_definition2438 = frozenset([33, 190, 254]) + FOLLOW_end_in_block_definition2440 = frozenset([1]) + FOLLOW_signal_declaration_in_entity_in_block2498 = frozenset([1]) + FOLLOW_signalroute_in_entity_in_block2518 = frozenset([1]) + FOLLOW_connection_in_entity_in_block2538 = frozenset([1]) + FOLLOW_block_definition_in_entity_in_block2558 = frozenset([1]) + FOLLOW_process_definition_in_entity_in_block2578 = frozenset([1]) + FOLLOW_SIGNALROUTE_in_signalroute2612 = frozenset([102]) + FOLLOW_route_id_in_signalroute2614 = frozenset([1, 33, 92, 190, 254]) + FOLLOW_end_in_signalroute2616 = frozenset([1, 92]) + FOLLOW_route_in_signalroute2635 = frozenset([1, 92]) + FOLLOW_CONNECT_in_connection2692 = frozenset([102]) + FOLLOW_channel_id_in_connection2694 = frozenset([12]) + FOLLOW_AND_in_connection2696 = frozenset([102]) + FOLLOW_route_id_in_connection2698 = frozenset([33, 190, 254]) + FOLLOW_end_in_connection2700 = frozenset([1]) + FOLLOW_cif_in_process_definition2757 = frozenset([169, 254]) + FOLLOW_PROCESS_in_process_definition2776 = frozenset([102, 229]) + FOLLOW_TYPE_in_process_definition2780 = frozenset([102]) + FOLLOW_process_id_in_process_definition2783 = frozenset([33, 129, 175, 190, 254, 255]) + FOLLOW_number_of_instances_in_process_definition2801 = frozenset([33, 175, 190, 254, 255]) + FOLLOW_255_in_process_definition2805 = frozenset([102]) + FOLLOW_type_inst_in_process_definition2807 = frozenset([33, 175, 190, 254]) + FOLLOW_REFERENCED_in_process_definition2811 = frozenset([33, 190, 254]) + FOLLOW_end_in_process_definition2816 = frozenset([33, 38, 62, 76, 91, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_pfpar_in_process_definition2834 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_text_area_in_process_definition2854 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_procedure_in_process_definition2858 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_composite_state_in_process_definition2867 = frozenset([33, 38, 62, 76, 102, 166, 190, 198, 199, 229, 254]) + FOLLOW_processBody_in_process_definition2887 = frozenset([1, 33, 62, 102, 190, 229, 254]) + FOLLOW_ENDPROCESS_in_process_definition2890 = frozenset([1, 33, 102, 190, 229, 254]) + FOLLOW_TYPE_in_process_definition2893 = frozenset([1, 33, 102, 190, 254]) + FOLLOW_process_id_in_process_definition2896 = frozenset([1, 33, 190, 254]) + FOLLOW_end_in_process_definition2915 = frozenset([1]) + FOLLOW_FPAR_in_pfpar3041 = frozenset([102]) + FOLLOW_parameters_of_sort_in_pfpar3043 = frozenset([1, 32, 33, 190, 254]) + FOLLOW_COMMA_in_pfpar3062 = frozenset([102]) + FOLLOW_parameters_of_sort_in_pfpar3064 = frozenset([1, 32, 33, 190, 254]) + FOLLOW_end_in_pfpar3084 = frozenset([1]) + FOLLOW_variable_id_in_parameters_of_sort3139 = frozenset([32, 102]) + FOLLOW_COMMA_in_parameters_of_sort3142 = frozenset([102]) + FOLLOW_variable_id_in_parameters_of_sort3144 = frozenset([32, 102]) + FOLLOW_sort_in_parameters_of_sort3148 = frozenset([1]) + FOLLOW_cif_in_procedure3207 = frozenset([76, 166, 254]) + FOLLOW_EXPORTED_in_procedure3226 = frozenset([166]) + FOLLOW_PROCEDURE_in_procedure3229 = frozenset([102]) + FOLLOW_procedure_id_in_procedure3231 = frozenset([33, 190, 254]) + FOLLOW_end_in_procedure3236 = frozenset([38, 61, 76, 78, 91, 166, 175, 181, 198, 199, 252, 254]) + FOLLOW_SEMI_in_procedure3240 = frozenset([38, 61, 76, 78, 91, 166, 175, 181, 198, 199, 252, 254]) + FOLLOW_fpar_in_procedure3259 = frozenset([38, 61, 76, 78, 166, 175, 181, 198, 199, 252, 254]) + FOLLOW_procedure_result_in_procedure3280 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) + FOLLOW_text_area_in_procedure3300 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) + FOLLOW_procedure_in_procedure3304 = frozenset([38, 61, 76, 78, 166, 175, 198, 199, 254]) + FOLLOW_processBody_in_procedure3326 = frozenset([61]) + FOLLOW_ENDPROCEDURE_in_procedure3329 = frozenset([33, 102, 190, 254]) + FOLLOW_procedure_id_in_procedure3331 = frozenset([33, 190, 254]) + FOLLOW_EXTERNAL_in_procedure3354 = frozenset([33, 190, 254]) + FOLLOW_REFERENCED_in_procedure3358 = frozenset([33, 190, 254]) + FOLLOW_end_in_procedure3379 = frozenset([1]) + FOLLOW_252_in_procedure_result3485 = frozenset([102]) + FOLLOW_RETURNS_in_procedure_result3489 = frozenset([102]) + FOLLOW_variable_id_in_procedure_result3508 = frozenset([102]) + FOLLOW_sort_in_procedure_result3527 = frozenset([1, 33, 190, 254]) + FOLLOW_end_in_procedure_result3529 = frozenset([1]) + FOLLOW_FPAR_in_fpar3586 = frozenset([102, 108, 110, 150]) + FOLLOW_formal_variable_param_in_fpar3588 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_fpar3607 = frozenset([102, 108, 110, 150]) + FOLLOW_formal_variable_param_in_fpar3609 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_fpar3629 = frozenset([1]) + FOLLOW_INOUT_in_formal_variable_param3684 = frozenset([102]) + FOLLOW_IN_in_formal_variable_param3688 = frozenset([102]) + FOLLOW_OUT_in_formal_variable_param3692 = frozenset([102]) + FOLLOW_variable_id_in_formal_variable_param3712 = frozenset([32, 102]) + FOLLOW_COMMA_in_formal_variable_param3715 = frozenset([102]) + FOLLOW_variable_id_in_formal_variable_param3717 = frozenset([32, 102]) + FOLLOW_sort_in_formal_variable_param3721 = frozenset([1]) + FOLLOW_cif_in_text_area3787 = frozenset([44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_content_in_text_area3806 = frozenset([254]) + FOLLOW_cif_end_text_in_text_area3825 = frozenset([1]) + FOLLOW_procedure_in_content3888 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_use_clause_in_content3909 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_signal_declaration_in_content3930 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_fpar_in_content3951 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_procedure_result_in_content3974 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_timer_declaration_in_content3995 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_syntype_definition_in_content4016 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_newtype_definition_in_content4037 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_variable_definition_in_content4058 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_monitor_definition_in_content4079 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_observer_special_states_declaration_in_content4100 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_synonym_definition_in_content4121 = frozenset([1, 44, 70, 76, 91, 105, 135, 141, 166, 181, 193, 210, 212, 214, 225, 233, 252, 254]) + FOLLOW_ERRORSTATES_in_observer_special_states_declaration4273 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4280 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_observer_special_states_declaration4283 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4285 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_observer_special_states_declaration4289 = frozenset([1]) + FOLLOW_IGNORESTATES_in_observer_special_states_declaration4331 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4335 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_observer_special_states_declaration4338 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4340 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_observer_special_states_declaration4344 = frozenset([1]) + FOLLOW_SUCCESSSTATES_in_observer_special_states_declaration4386 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4389 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_observer_special_states_declaration4392 = frozenset([102]) + FOLLOW_statename_in_observer_special_states_declaration4394 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_observer_special_states_declaration4398 = frozenset([1]) + FOLLOW_TIMER_in_timer_declaration4452 = frozenset([102]) + FOLLOW_timer_id_in_timer_declaration4454 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_timer_declaration4473 = frozenset([102]) + FOLLOW_timer_id_in_timer_declaration4475 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_timer_declaration4495 = frozenset([1]) + FOLLOW_SYNTYPE_in_syntype_definition4549 = frozenset([102]) + FOLLOW_syntype_name_in_syntype_definition4551 = frozenset([69]) + FOLLOW_EQ_in_syntype_definition4553 = frozenset([102]) + FOLLOW_parent_sort_in_syntype_definition4555 = frozenset([40, 65]) + FOLLOW_CONSTANTS_in_syntype_definition4574 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_range_condition_in_syntype_definition4577 = frozenset([32, 65]) + FOLLOW_COMMA_in_syntype_definition4580 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_range_condition_in_syntype_definition4582 = frozenset([32, 65]) + FOLLOW_ENDSYNTYPE_in_syntype_definition4606 = frozenset([33, 102, 190, 254]) + FOLLOW_syntype_name_in_syntype_definition4608 = frozenset([33, 190, 254]) + FOLLOW_end_in_syntype_definition4611 = frozenset([1]) + FOLLOW_sort_in_syntype_name4669 = frozenset([1]) + FOLLOW_sort_in_parent_sort4701 = frozenset([1]) + FOLLOW_NEWTYPE_in_newtype_definition4733 = frozenset([102]) + FOLLOW_type_name_in_newtype_definition4735 = frozenset([16, 60, 126, 208]) + FOLLOW_array_definition_in_newtype_definition4754 = frozenset([60]) + FOLLOW_structure_definition_in_newtype_definition4756 = frozenset([60]) + FOLLOW_enum_definition_in_newtype_definition4758 = frozenset([60]) + FOLLOW_ENDNEWTYPE_in_newtype_definition4778 = frozenset([33, 102, 190, 254]) + FOLLOW_type_name_in_newtype_definition4780 = frozenset([33, 190, 254]) + FOLLOW_end_in_newtype_definition4783 = frozenset([1]) + FOLLOW_sort_in_type_name4845 = frozenset([1]) + FOLLOW_ARRAY_in_array_definition4877 = frozenset([129]) + FOLLOW_L_PAREN_in_array_definition4879 = frozenset([102]) + FOLLOW_sort_in_array_definition4881 = frozenset([32]) + FOLLOW_COMMA_in_array_definition4883 = frozenset([102]) + FOLLOW_sort_in_array_definition4885 = frozenset([186]) + FOLLOW_R_PAREN_in_array_definition4887 = frozenset([1]) + FOLLOW_LITERALS_in_enum_definition4944 = frozenset([102]) + FOLLOW_enumerant_in_enum_definition4947 = frozenset([1, 32]) + FOLLOW_COMMA_in_enum_definition4950 = frozenset([102]) + FOLLOW_enumerant_in_enum_definition4952 = frozenset([1, 32]) + FOLLOW_STRUCT_in_structure_definition5010 = frozenset([102, 199]) + FOLLOW_field_list_in_structure_definition5012 = frozenset([33, 190, 254]) + FOLLOW_end_in_structure_definition5014 = frozenset([1]) + FOLLOW_field_definition_in_field_list5067 = frozenset([1, 33, 190, 254]) + FOLLOW_end_in_field_list5070 = frozenset([102, 199]) + FOLLOW_field_definition_in_field_list5072 = frozenset([1, 33, 190, 254]) + FOLLOW_field_name_in_field_definition5128 = frozenset([32, 102]) + FOLLOW_COMMA_in_field_definition5131 = frozenset([102, 199]) + FOLLOW_field_name_in_field_definition5133 = frozenset([32, 102]) + FOLLOW_sort_in_field_definition5137 = frozenset([1]) + FOLLOW_DCL_in_variable_definition5195 = frozenset([102]) + FOLLOW_variables_of_sort_in_variable_definition5197 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_variable_definition5216 = frozenset([102]) + FOLLOW_variables_of_sort_in_variable_definition5218 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_variable_definition5238 = frozenset([1]) + FOLLOW_MONITOR_in_monitor_definition5293 = frozenset([102]) + FOLLOW_variables_of_sort_in_monitor_definition5295 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_monitor_definition5314 = frozenset([102]) + FOLLOW_variables_of_sort_in_monitor_definition5316 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_monitor_definition5336 = frozenset([1]) + FOLLOW_internal_synonym_definition_in_synonym_definition5391 = frozenset([1]) + FOLLOW_SYNONYM_in_internal_synonym_definition5423 = frozenset([102]) + FOLLOW_synonym_definition_item_in_internal_synonym_definition5425 = frozenset([32, 33, 190, 254]) + FOLLOW_COMMA_in_internal_synonym_definition5428 = frozenset([102]) + FOLLOW_synonym_definition_item_in_internal_synonym_definition5430 = frozenset([32, 33, 190, 254]) + FOLLOW_end_in_internal_synonym_definition5450 = frozenset([1]) + FOLLOW_variable_id_in_synonym_definition_item5504 = frozenset([102]) + FOLLOW_sort_in_synonym_definition_item5506 = frozenset([69]) + FOLLOW_EQ_in_synonym_definition_item5508 = frozenset([27, 43, 78, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_synonym_definition_item5511 = frozenset([1]) + FOLLOW_EXTERNAL_in_synonym_definition_item5515 = frozenset([1]) + FOLLOW_variable_id_in_variables_of_sort5577 = frozenset([32, 102]) + FOLLOW_COMMA_in_variables_of_sort5580 = frozenset([102]) + FOLLOW_variable_id_in_variables_of_sort5582 = frozenset([32, 102]) + FOLLOW_sort_in_variables_of_sort5586 = frozenset([1, 20, 177]) + FOLLOW_ASSIG_OP_in_variables_of_sort5606 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_variables_of_sort5608 = frozenset([1]) + FOLLOW_RENAMES_in_variables_of_sort5614 = frozenset([102]) + FOLLOW_variable_in_variables_of_sort5616 = frozenset([1]) + FOLLOW_expression_in_ground_expression5703 = frozenset([1]) + FOLLOW_L_PAREN_in_number_of_instances5756 = frozenset([115]) + FOLLOW_INT_in_number_of_instances5760 = frozenset([32]) + FOLLOW_COMMA_in_number_of_instances5762 = frozenset([115]) + FOLLOW_INT_in_number_of_instances5766 = frozenset([186]) + FOLLOW_R_PAREN_in_number_of_instances5768 = frozenset([1]) + FOLLOW_start_in_processBody5825 = frozenset([1, 38, 199, 254]) + FOLLOW_state_in_processBody5829 = frozenset([1, 38, 199, 254]) + FOLLOW_floating_label_in_processBody5833 = frozenset([1, 38, 199, 254]) + FOLLOW_cif_in_start5867 = frozenset([198, 254]) + FOLLOW_START_in_start5886 = frozenset([33, 102, 190, 254]) + FOLLOW_state_entry_point_name_in_start5890 = frozenset([33, 190, 254]) + FOLLOW_end_in_start5893 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_start5911 = frozenset([1]) + FOLLOW_cif_in_floating_label5976 = frozenset([38, 254]) + FOLLOW_CONNECTION_in_floating_label5995 = frozenset([102]) + FOLLOW_connector_name_in_floating_label5997 = frozenset([255]) + FOLLOW_255_in_floating_label5999 = frozenset([10, 27, 41, 45, 57, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_floating_label6017 = frozenset([57, 254]) + FOLLOW_cif_end_label_in_floating_label6036 = frozenset([57]) + FOLLOW_ENDCONNECTION_in_floating_label6055 = frozenset([190]) + FOLLOW_SEMI_in_floating_label6057 = frozenset([1]) + FOLLOW_state_definition_in_state6110 = frozenset([1]) + FOLLOW_state_instance_in_state6124 = frozenset([1]) + FOLLOW_cif_in_state_definition6156 = frozenset([199, 254]) + FOLLOW_STATE_in_state_definition6175 = frozenset([21, 102]) + FOLLOW_statelist_in_state_definition6177 = frozenset([33, 190, 238, 254]) + FOLLOW_via_in_state_definition6179 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_definition6185 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_SEMI_in_state_definition6189 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_state_part_in_state_definition6209 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_ENDSTATE_in_state_definition6229 = frozenset([33, 102, 190, 254]) + FOLLOW_statename_in_state_definition6231 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_definition6236 = frozenset([1]) + FOLLOW_cif_in_state_instance6302 = frozenset([199, 254]) + FOLLOW_STATE_in_state_instance6321 = frozenset([102]) + FOLLOW_statename_in_state_instance6323 = frozenset([255]) + FOLLOW_255_in_state_instance6325 = frozenset([102]) + FOLLOW_type_inst_in_state_instance6327 = frozenset([33, 190, 238, 254]) + FOLLOW_via_in_state_instance6329 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_instance6335 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_SEMI_in_state_instance6339 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_state_part_in_state_instance6359 = frozenset([37, 63, 111, 170, 188, 254]) + FOLLOW_ENDSTATE_in_state_instance6379 = frozenset([33, 102, 190, 254]) + FOLLOW_statename_in_state_instance6381 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_instance6386 = frozenset([1]) + FOLLOW_statename_in_statelist6456 = frozenset([1, 32]) + FOLLOW_COMMA_in_statelist6459 = frozenset([102]) + FOLLOW_statename_in_statelist6461 = frozenset([1, 32]) + FOLLOW_ASTERISK_in_statelist6506 = frozenset([1, 129]) + FOLLOW_exception_state_in_statelist6508 = frozenset([1]) + FOLLOW_L_PAREN_in_exception_state6563 = frozenset([102]) + FOLLOW_statename_in_exception_state6565 = frozenset([32, 186]) + FOLLOW_COMMA_in_exception_state6568 = frozenset([102]) + FOLLOW_statename_in_exception_state6570 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_exception_state6574 = frozenset([1]) + FOLLOW_composite_state_graph_in_composite_state6625 = frozenset([1]) + FOLLOW_state_aggregation_in_composite_state6645 = frozenset([1]) + FOLLOW_STATE_in_composite_state_preamble6677 = frozenset([7, 102]) + FOLLOW_AGGREGATION_in_composite_state_preamble6679 = frozenset([102]) + FOLLOW_statename_in_composite_state_preamble6682 = frozenset([33, 190, 254]) + FOLLOW_end_in_composite_state_preamble6684 = frozenset([209]) + FOLLOW_SUBSTRUCTURE_in_composite_state_preamble6702 = frozenset([1]) + FOLLOW_STATE_in_composite_state_graph6733 = frozenset([102]) + FOLLOW_statename_in_composite_state_graph6735 = frozenset([33, 190, 254]) + FOLLOW_end_in_composite_state_graph6739 = frozenset([209]) + FOLLOW_SUBSTRUCTURE_in_composite_state_graph6757 = frozenset([38, 64, 76, 108, 150, 166, 198, 199, 254]) + FOLLOW_connection_points_in_composite_state_graph6775 = frozenset([38, 64, 76, 108, 150, 166, 198, 199, 254]) + FOLLOW_composite_state_body_in_composite_state_graph6796 = frozenset([64]) + FOLLOW_ENDSUBSTRUCTURE_in_composite_state_graph6814 = frozenset([33, 102, 190, 254]) + FOLLOW_statename_in_composite_state_graph6816 = frozenset([33, 190, 254]) + FOLLOW_end_in_composite_state_graph6821 = frozenset([1]) + FOLLOW_STATE_in_state_aggregation6885 = frozenset([7]) + FOLLOW_AGGREGATION_in_state_aggregation6887 = frozenset([102]) + FOLLOW_statename_in_state_aggregation6889 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_aggregation6893 = frozenset([209]) + FOLLOW_SUBSTRUCTURE_in_state_aggregation6911 = frozenset([37, 64, 76, 108, 150, 166, 199, 254]) + FOLLOW_connection_points_in_state_aggregation6929 = frozenset([37, 64, 76, 108, 150, 166, 199, 254]) + FOLLOW_entity_in_composite_state_in_state_aggregation6950 = frozenset([37, 64, 76, 166, 199, 254]) + FOLLOW_state_aggregation_body_in_state_aggregation6971 = frozenset([64]) + FOLLOW_ENDSUBSTRUCTURE_in_state_aggregation6989 = frozenset([33, 102, 190, 254]) + FOLLOW_statename_in_state_aggregation6991 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_aggregation6996 = frozenset([1]) + FOLLOW_text_area_in_entity_in_composite_state7101 = frozenset([1]) + FOLLOW_procedure_in_entity_in_composite_state7105 = frozenset([1]) + FOLLOW_state_partitioning_in_state_aggregation_body7140 = frozenset([1, 37, 199, 254]) + FOLLOW_state_partition_connection_in_state_aggregation_body7144 = frozenset([1, 37, 199, 254]) + FOLLOW_state_in_state_aggregation_body7164 = frozenset([1, 199, 254]) + FOLLOW_composite_state_in_state_partitioning7198 = frozenset([1]) + FOLLOW_CONNECT_in_state_partition_connection7231 = frozenset([102]) + FOLLOW_entry_point_in_state_partition_connection7235 = frozenset([12]) + FOLLOW_AND_in_state_partition_connection7237 = frozenset([102]) + FOLLOW_entry_point_in_state_partition_connection7241 = frozenset([33, 190, 254]) + FOLLOW_end_in_state_partition_connection7243 = frozenset([1]) + FOLLOW_ID_in_entry_point7306 = frozenset([238]) + FOLLOW_VIA_in_entry_point7308 = frozenset([46, 102]) + FOLLOW_point_in_entry_point7310 = frozenset([1]) + FOLLOW_ID_in_point7370 = frozenset([1]) + FOLLOW_DEFAULT_in_point7374 = frozenset([1]) + FOLLOW_IN_in_connection_points7434 = frozenset([129]) + FOLLOW_state_entry_exit_points_in_connection_points7436 = frozenset([33, 190, 254]) + FOLLOW_end_in_connection_points7438 = frozenset([1]) + FOLLOW_OUT_in_connection_points7482 = frozenset([129]) + FOLLOW_state_entry_exit_points_in_connection_points7484 = frozenset([33, 190, 254]) + FOLLOW_end_in_connection_points7486 = frozenset([1]) + FOLLOW_L_PAREN_in_state_entry_exit_points7543 = frozenset([102]) + FOLLOW_statename_in_state_entry_exit_points7545 = frozenset([32, 186]) + FOLLOW_COMMA_in_state_entry_exit_points7548 = frozenset([102]) + FOLLOW_statename_in_state_entry_exit_points7550 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_state_entry_exit_points7554 = frozenset([1]) + FOLLOW_text_area_in_composite_state_body7603 = frozenset([1, 38, 76, 166, 198, 199, 254]) + FOLLOW_procedure_in_composite_state_body7619 = frozenset([1, 38, 76, 166, 198, 199, 254]) + FOLLOW_composite_state_in_composite_state_body7640 = frozenset([1, 38, 76, 166, 198, 199, 254]) + FOLLOW_start_in_composite_state_body7655 = frozenset([1, 38, 198, 199, 254]) + FOLLOW_state_in_composite_state_body7659 = frozenset([1, 38, 199, 254]) + FOLLOW_floating_label_in_composite_state_body7663 = frozenset([1, 38, 199, 254]) + FOLLOW_EOF_in_composite_state_body7678 = frozenset([1]) + FOLLOW_input_part_in_state_part7711 = frozenset([1]) + FOLLOW_save_part_in_state_part7748 = frozenset([1]) + FOLLOW_spontaneous_transition_in_state_part7783 = frozenset([1]) + FOLLOW_continuous_signal_in_state_part7803 = frozenset([1]) + FOLLOW_connect_part_in_state_part7823 = frozenset([1]) + FOLLOW_cif_in_connect_part7856 = frozenset([37, 254]) + FOLLOW_CONNECT_in_connect_part7875 = frozenset([21, 33, 102, 190, 254]) + FOLLOW_connect_list_in_connect_part7877 = frozenset([33, 190, 254]) + FOLLOW_end_in_connect_part7880 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_connect_part7898 = frozenset([1]) + FOLLOW_state_exit_point_name_in_connect_list7962 = frozenset([1, 32]) + FOLLOW_COMMA_in_connect_list7965 = frozenset([102]) + FOLLOW_state_exit_point_name_in_connect_list7967 = frozenset([1, 32]) + FOLLOW_ASTERISK_in_connect_list8010 = frozenset([1]) + FOLLOW_cif_in_spontaneous_transition8042 = frozenset([111, 254]) + FOLLOW_INPUT_in_spontaneous_transition8061 = frozenset([143]) + FOLLOW_NONE_in_spontaneous_transition8063 = frozenset([33, 190, 254]) + FOLLOW_end_in_spontaneous_transition8065 = frozenset([10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 170, 180, 204, 207, 217, 254]) + FOLLOW_enabling_condition_in_spontaneous_transition8083 = frozenset([10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_spontaneous_transition8102 = frozenset([1]) + FOLLOW_PROVIDED_in_enabling_condition8158 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_enabling_condition8160 = frozenset([33, 190, 254]) + FOLLOW_end_in_enabling_condition8162 = frozenset([1]) + FOLLOW_cif_in_continuous_signal8215 = frozenset([170, 254]) + FOLLOW_PROVIDED_in_continuous_signal8234 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_continuous_signal8236 = frozenset([33, 190, 254]) + FOLLOW_end_in_continuous_signal8240 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 165, 180, 204, 207, 217, 254]) + FOLLOW_PRIORITY_in_continuous_signal8259 = frozenset([115]) + FOLLOW_INT_in_continuous_signal8263 = frozenset([33, 190, 254]) + FOLLOW_end_in_continuous_signal8265 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_continuous_signal8285 = frozenset([1]) + FOLLOW_SAVE_in_save_part8353 = frozenset([21, 102]) + FOLLOW_save_list_in_save_part8355 = frozenset([33, 190, 254]) + FOLLOW_end_in_save_part8373 = frozenset([1]) + FOLLOW_signal_list_in_save_list8426 = frozenset([1]) + FOLLOW_asterisk_save_list_in_save_list8446 = frozenset([1]) + FOLLOW_ASTERISK_in_asterisk_save_list8478 = frozenset([1]) + FOLLOW_signal_item_in_signal_list8501 = frozenset([1, 32]) + FOLLOW_COMMA_in_signal_list8504 = frozenset([102]) + FOLLOW_signal_item_in_signal_list8506 = frozenset([1, 32]) + FOLLOW_signal_id_in_signal_item8565 = frozenset([1]) + FOLLOW_cif_in_input_part8594 = frozenset([111, 254]) + FOLLOW_INPUT_in_input_part8613 = frozenset([21, 102]) + FOLLOW_inputlist_in_input_part8615 = frozenset([33, 190, 254]) + FOLLOW_end_in_input_part8617 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 170, 180, 204, 207, 217, 254]) + FOLLOW_enabling_condition_in_input_part8635 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_input_part8654 = frozenset([1]) + FOLLOW_ASTERISK_in_inputlist8738 = frozenset([1]) + FOLLOW_stimulus_in_inputlist8759 = frozenset([1, 32]) + FOLLOW_COMMA_in_inputlist8762 = frozenset([102]) + FOLLOW_stimulus_in_inputlist8764 = frozenset([1, 32]) + FOLLOW_stimulus_id_in_stimulus8821 = frozenset([1, 129]) + FOLLOW_input_params_in_stimulus8823 = frozenset([1]) + FOLLOW_L_PAREN_in_input_params8856 = frozenset([102]) + FOLLOW_variable_id_in_input_params8858 = frozenset([32, 186]) + FOLLOW_COMMA_in_input_params8861 = frozenset([102]) + FOLLOW_variable_id_in_input_params8863 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_input_params8867 = frozenset([1]) + FOLLOW_action_in_transition8921 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_label_in_transition8924 = frozenset([1, 102, 119, 142, 180, 204, 254]) + FOLLOW_terminator_statement_in_transition8927 = frozenset([1]) + FOLLOW_terminator_statement_in_transition8976 = frozenset([1]) + FOLLOW_label_in_action9029 = frozenset([10, 27, 41, 45, 75, 90, 102, 151, 207, 217, 254]) + FOLLOW_task_in_action9049 = frozenset([1]) + FOLLOW_task_body_in_action9069 = frozenset([1]) + FOLLOW_output_in_action9089 = frozenset([1]) + FOLLOW_create_request_in_action9109 = frozenset([1]) + FOLLOW_decision_in_action9129 = frozenset([1]) + FOLLOW_alternative_in_action9149 = frozenset([1]) + FOLLOW_export_in_action9203 = frozenset([1]) + FOLLOW_procedure_call_in_action9228 = frozenset([1]) + FOLLOW_EXPORT_in_export9261 = frozenset([129]) + FOLLOW_L_PAREN_in_export9279 = frozenset([102]) + FOLLOW_variable_id_in_export9281 = frozenset([32, 186]) + FOLLOW_COMMA_in_export9284 = frozenset([102]) + FOLLOW_variable_id_in_export9286 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_export9290 = frozenset([33, 190, 254]) + FOLLOW_end_in_export9308 = frozenset([1]) + FOLLOW_cif_in_procedure_call9364 = frozenset([27, 254]) + FOLLOW_CALL_in_procedure_call9383 = frozenset([102]) + FOLLOW_procedure_call_body_in_procedure_call9385 = frozenset([33, 190, 254]) + FOLLOW_end_in_procedure_call9387 = frozenset([1]) + FOLLOW_procedure_id_in_procedure_call_body9446 = frozenset([1, 129, 226]) + FOLLOW_actual_parameters_in_procedure_call_body9448 = frozenset([1, 226]) + FOLLOW_to_part_in_procedure_call_body9451 = frozenset([1]) + FOLLOW_cif_in_alternative9517 = frozenset([10, 254]) + FOLLOW_ALTERNATIVE_in_alternative9536 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_alternative_question_in_alternative9538 = frozenset([33, 190, 254]) + FOLLOW_end_in_alternative9542 = frozenset([51, 54, 129, 254]) + FOLLOW_answer_part_in_alternative9560 = frozenset([51, 54, 129, 254]) + FOLLOW_alternative_part_in_alternative9579 = frozenset([54]) + FOLLOW_ENDALTERNATIVE_in_alternative9598 = frozenset([33, 190, 254]) + FOLLOW_end_in_alternative9602 = frozenset([1]) + FOLLOW_answer_part_in_alternative_part9685 = frozenset([1, 51, 129, 254]) + FOLLOW_else_part_in_alternative_part9688 = frozenset([1]) + FOLLOW_else_part_in_alternative_part9731 = frozenset([1]) + FOLLOW_ground_expression_in_alternative_question9780 = frozenset([1]) + FOLLOW_cif_in_decision9812 = frozenset([45, 254]) + FOLLOW_DECISION_in_decision9831 = frozenset([14, 27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_question_in_decision9833 = frozenset([33, 190, 254]) + FOLLOW_end_in_decision9837 = frozenset([51, 58, 129, 254]) + FOLLOW_answer_part_in_decision9855 = frozenset([51, 58, 129, 254]) + FOLLOW_alternative_part_in_decision9874 = frozenset([58]) + FOLLOW_ENDDECISION_in_decision9893 = frozenset([33, 190, 254]) + FOLLOW_end_in_decision9897 = frozenset([1]) + FOLLOW_cif_in_answer_part9979 = frozenset([129, 254]) + FOLLOW_L_PAREN_in_answer_part9998 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_answer_in_answer_part10000 = frozenset([186]) + FOLLOW_R_PAREN_in_answer_part10002 = frozenset([255]) + FOLLOW_255_in_answer_part10004 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_answer_part10006 = frozenset([1]) + FOLLOW_range_condition_in_answer10066 = frozenset([1]) + FOLLOW_informal_text_in_answer10086 = frozenset([1]) + FOLLOW_cif_in_else_part10118 = frozenset([51, 254]) + FOLLOW_ELSE_in_else_part10137 = frozenset([255]) + FOLLOW_255_in_else_part10139 = frozenset([1, 10, 27, 41, 45, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_else_part10141 = frozenset([1]) + FOLLOW_informal_text_in_question10199 = frozenset([1]) + FOLLOW_expression_in_question10219 = frozenset([1]) + FOLLOW_ANY_in_question10260 = frozenset([1]) + FOLLOW_closed_range_in_range_condition10312 = frozenset([1, 32]) + FOLLOW_open_range_in_range_condition10316 = frozenset([1, 32]) + FOLLOW_COMMA_in_range_condition10336 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_closed_range_in_range_condition10340 = frozenset([1, 32]) + FOLLOW_open_range_in_range_condition10342 = frozenset([1, 32]) + FOLLOW_expression_in_closed_range10379 = frozenset([255]) + FOLLOW_255_in_closed_range10381 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_closed_range10385 = frozenset([1]) + FOLLOW_constant_in_open_range10442 = frozenset([1]) + FOLLOW_EQ_in_open_range10482 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_NEQ_in_open_range10484 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_GT_in_open_range10486 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_LT_in_open_range10488 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_LE_in_open_range10490 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_GE_in_open_range10492 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_constant_in_open_range10495 = frozenset([1]) + FOLLOW_expression_in_constant10567 = frozenset([1]) + FOLLOW_cif_in_create_request10621 = frozenset([41, 254]) + FOLLOW_CREATE_in_create_request10640 = frozenset([102, 224]) + FOLLOW_createbody_in_create_request10642 = frozenset([33, 129, 190, 254]) + FOLLOW_actual_parameters_in_create_request10660 = frozenset([33, 190, 254]) + FOLLOW_end_in_create_request10679 = frozenset([1]) + FOLLOW_process_id_in_createbody10741 = frozenset([1]) + FOLLOW_THIS_in_createbody10761 = frozenset([1]) + FOLLOW_cif_in_output10793 = frozenset([151, 254]) + FOLLOW_OUTPUT_in_output10812 = frozenset([102]) + FOLLOW_outputbody_in_output10814 = frozenset([33, 190, 254]) + FOLLOW_end_in_output10816 = frozenset([1]) + FOLLOW_outputstmt_in_outputbody10875 = frozenset([1, 32, 226]) + FOLLOW_COMMA_in_outputbody10878 = frozenset([102]) + FOLLOW_outputstmt_in_outputbody10880 = frozenset([1, 32, 226]) + FOLLOW_to_part_in_outputbody10884 = frozenset([1]) + FOLLOW_signal_id_in_outputstmt10946 = frozenset([1, 129]) + FOLLOW_actual_parameters_in_outputstmt10964 = frozenset([1]) + FOLLOW_TO_in_to_part10997 = frozenset([102, 146, 154, 187, 224]) + FOLLOW_destination_in_to_part10999 = frozenset([1]) + FOLLOW_VIA_in_via_part11052 = frozenset([8, 102]) + FOLLOW_viabody_in_via_part11054 = frozenset([1]) + FOLLOW_ALL_in_viabody11108 = frozenset([1]) + FOLLOW_via_path_in_viabody11147 = frozenset([1]) + FOLLOW_pid_expression_in_destination11200 = frozenset([1]) + FOLLOW_process_id_in_destination11220 = frozenset([1]) + FOLLOW_THIS_in_destination11240 = frozenset([1]) + FOLLOW_via_path_element_in_via_path11272 = frozenset([1, 32]) + FOLLOW_COMMA_in_via_path11275 = frozenset([102]) + FOLLOW_via_path_element_in_via_path11277 = frozenset([1, 32]) + FOLLOW_ID_in_via_path_element11329 = frozenset([1]) + FOLLOW_L_PAREN_in_actual_parameters11361 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_actual_parameters11363 = frozenset([32, 186]) + FOLLOW_COMMA_in_actual_parameters11366 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_actual_parameters11368 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_actual_parameters11372 = frozenset([1]) + FOLLOW_cif_in_task11425 = frozenset([217, 254]) + FOLLOW_TASK_in_task11444 = frozenset([33, 90, 102, 190, 207, 254]) + FOLLOW_task_body_in_task11446 = frozenset([33, 190, 254]) + FOLLOW_end_in_task11449 = frozenset([1]) + FOLLOW_assignment_statement_in_task_body11510 = frozenset([1, 32]) + FOLLOW_COMMA_in_task_body11513 = frozenset([102]) + FOLLOW_assignment_statement_in_task_body11515 = frozenset([1, 32]) + FOLLOW_informal_text_in_task_body11561 = frozenset([1, 32]) + FOLLOW_COMMA_in_task_body11564 = frozenset([207]) + FOLLOW_informal_text_in_task_body11566 = frozenset([1, 32]) + FOLLOW_forloop_in_task_body11612 = frozenset([1, 32]) + FOLLOW_COMMA_in_task_body11615 = frozenset([90]) + FOLLOW_forloop_in_task_body11617 = frozenset([1, 32]) + FOLLOW_FOR_in_forloop11675 = frozenset([102]) + FOLLOW_variable_id_in_forloop11677 = frozenset([108]) + FOLLOW_IN_in_forloop11679 = frozenset([102, 174]) + FOLLOW_range_in_forloop11682 = frozenset([255]) + FOLLOW_variable_in_forloop11686 = frozenset([255]) + FOLLOW_255_in_forloop11689 = frozenset([10, 27, 41, 45, 59, 75, 90, 102, 119, 142, 151, 180, 204, 207, 217, 254]) + FOLLOW_transition_in_forloop11707 = frozenset([59]) + FOLLOW_ENDFOR_in_forloop11726 = frozenset([1]) + FOLLOW_RANGE_in_range11778 = frozenset([129]) + FOLLOW_L_PAREN_in_range11796 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_range11800 = frozenset([32, 186]) + FOLLOW_COMMA_in_range11819 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_range11823 = frozenset([32, 186]) + FOLLOW_COMMA_in_range11828 = frozenset([115]) + FOLLOW_INT_in_range11832 = frozenset([186]) + FOLLOW_R_PAREN_in_range11852 = frozenset([1]) + FOLLOW_variable_in_assignment_statement11904 = frozenset([20]) + FOLLOW_ASSIG_OP_in_assignment_statement11906 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_assignment_statement11908 = frozenset([1]) + FOLLOW_postfix_expression_in_variable11955 = frozenset([1]) + FOLLOW_ID_in_variable11973 = frozenset([1]) + FOLLOW_set_in_field_selection12026 = frozenset([102, 199]) + FOLLOW_field_name_in_field_selection12034 = frozenset([1]) + FOLLOW_binary_expression_in_expression12058 = frozenset([1]) + FOLLOW_binary_expression_0_in_binary_expression12081 = frozenset([1, 106]) + FOLLOW_IMPLIES_in_binary_expression12085 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_0_in_binary_expression12088 = frozenset([1, 106]) + FOLLOW_binary_expression_1_in_binary_expression_012111 = frozenset([1, 149, 245]) + FOLLOW_OR_in_binary_expression_012117 = frozenset([27, 43, 51, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ELSE_in_binary_expression_012120 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_XOR_in_binary_expression_012126 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_1_in_binary_expression_012131 = frozenset([1, 149, 245]) + FOLLOW_binary_expression_2_in_binary_expression_112154 = frozenset([1, 12]) + FOLLOW_AND_in_binary_expression_112158 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 223, 228, 232]) + FOLLOW_THEN_in_binary_expression_112161 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_2_in_binary_expression_112164 = frozenset([1, 12]) + FOLLOW_binary_expression_3_in_binary_expression_212187 = frozenset([1, 69, 94, 97, 108, 124, 127, 139]) + FOLLOW_EQ_in_binary_expression_212192 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_NEQ_in_binary_expression_212197 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_GT_in_binary_expression_212202 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_GE_in_binary_expression_212207 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_LT_in_binary_expression_212212 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_LE_in_binary_expression_212217 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_IN_in_binary_expression_212222 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_3_in_binary_expression_212227 = frozenset([1, 69, 94, 97, 108, 124, 127, 139]) + FOLLOW_binary_expression_4_in_binary_expression_312250 = frozenset([1, 15, 43, 161]) + FOLLOW_PLUS_in_binary_expression_312255 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_DASH_in_binary_expression_312260 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_APPEND_in_binary_expression_312265 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_4_in_binary_expression_312270 = frozenset([1, 15, 43, 161]) + FOLLOW_unary_expression_in_binary_expression_412293 = frozenset([1, 21, 48, 134, 176]) + FOLLOW_ASTERISK_in_binary_expression_412298 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_DIV_in_binary_expression_412303 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_MOD_in_binary_expression_412308 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_REM_in_binary_expression_412313 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_unary_expression_in_binary_expression_412318 = frozenset([1, 21, 48, 134, 176]) + FOLLOW_postfix_expression_in_unary_expression12343 = frozenset([1]) + FOLLOW_primary_expression_in_unary_expression12361 = frozenset([1]) + FOLLOW_NOT_in_unary_expression12379 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_unary_expression_in_unary_expression12382 = frozenset([1]) + FOLLOW_DASH_in_unary_expression12400 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_unary_expression_in_unary_expression12402 = frozenset([1]) + FOLLOW_CALL_in_unary_expression12431 = frozenset([102]) + FOLLOW_procedure_call_body_in_unary_expression12433 = frozenset([1]) + FOLLOW_input_expression_in_unary_expression12459 = frozenset([1]) + FOLLOW_output_expression_in_unary_expression12489 = frozenset([1]) + FOLLOW_ID_in_postfix_expression12533 = frozenset([49, 129, 248]) + FOLLOW_L_PAREN_in_postfix_expression12568 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 186, 199, 207, 228, 232]) + FOLLOW_expression_list_in_postfix_expression12572 = frozenset([186]) + FOLLOW_R_PAREN_in_postfix_expression12575 = frozenset([1, 49, 129, 248]) + FOLLOW_248_in_postfix_expression12631 = frozenset([102, 199]) + FOLLOW_DOT_in_postfix_expression12635 = frozenset([102, 199]) + FOLLOW_field_name_in_postfix_expression12638 = frozenset([1, 49, 129, 248]) + FOLLOW_UNHANDLED_in_input_expression12720 = frozenset([111]) + FOLLOW_INPUT_in_input_expression12723 = frozenset([1]) + FOLLOW_UNHANDLED_in_input_expression12768 = frozenset([111]) + FOLLOW_INPUT_in_input_expression12771 = frozenset([92, 102, 226]) + FOLLOW_ID_in_input_expression12776 = frozenset([92, 129, 226]) + FOLLOW_L_PAREN_in_input_expression12779 = frozenset([102]) + FOLLOW_ID_in_input_expression12783 = frozenset([186]) + FOLLOW_R_PAREN_in_input_expression12785 = frozenset([92, 226]) + FOLLOW_FROM_in_input_expression12793 = frozenset([102]) + FOLLOW_ID_in_input_expression12797 = frozenset([226]) + FOLLOW_TO_in_input_expression12801 = frozenset([102]) + FOLLOW_ID_in_input_expression12805 = frozenset([1]) + FOLLOW_OUTPUT_in_output_expression12889 = frozenset([1]) + FOLLOW_OUTPUT_in_output_expression12931 = frozenset([92, 102]) + FOLLOW_ID_in_output_expression12936 = frozenset([92, 129]) + FOLLOW_L_PAREN_in_output_expression12939 = frozenset([102]) + FOLLOW_ID_in_output_expression12943 = frozenset([186]) + FOLLOW_R_PAREN_in_output_expression12945 = frozenset([92]) + FOLLOW_FROM_in_output_expression12953 = frozenset([102]) + FOLLOW_ID_in_output_expression12957 = frozenset([1, 226]) + FOLLOW_TO_in_output_expression12961 = frozenset([102]) + FOLLOW_ID_in_output_expression12965 = frozenset([1]) + FOLLOW_primary_in_primary_expression13047 = frozenset([1]) + FOLLOW_L_PAREN_in_primary_expression13095 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary_expression13097 = frozenset([186]) + FOLLOW_R_PAREN_in_primary_expression13099 = frozenset([1]) + FOLLOW_conditional_expression_in_primary_expression13136 = frozenset([1]) + FOLLOW_TRUE_in_primary13171 = frozenset([1]) + FOLLOW_FALSE_in_primary13190 = frozenset([1]) + FOLLOW_STRING_in_primary13209 = frozenset([1]) + FOLLOW_PLUS_INFINITY_in_primary13227 = frozenset([1]) + FOLLOW_MINUS_INFINITY_in_primary13246 = frozenset([1]) + FOLLOW_INT_in_primary13265 = frozenset([1]) + FOLLOW_FLOAT_in_primary13284 = frozenset([1]) + FOLLOW_ID_in_primary13303 = frozenset([255]) + FOLLOW_255_in_primary13305 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary13307 = frozenset([1]) + FOLLOW_ID_in_primary13345 = frozenset([1]) + FOLLOW_L_BRACKET_in_primary13396 = frozenset([185]) + FOLLOW_R_BRACKET_in_primary13398 = frozenset([1]) + FOLLOW_L_BRACKET_in_primary13442 = frozenset([131]) + FOLLOW_MANTISSA_in_primary13460 = frozenset([115]) + FOLLOW_INT_in_primary13464 = frozenset([32]) + FOLLOW_COMMA_in_primary13466 = frozenset([23]) + FOLLOW_BASE_in_primary13484 = frozenset([115]) + FOLLOW_INT_in_primary13488 = frozenset([32]) + FOLLOW_COMMA_in_primary13490 = frozenset([74]) + FOLLOW_EXPONENT_in_primary13508 = frozenset([115]) + FOLLOW_INT_in_primary13512 = frozenset([185]) + FOLLOW_R_BRACKET_in_primary13530 = frozenset([1]) + FOLLOW_L_BRACKET_in_primary13587 = frozenset([102]) + FOLLOW_named_value_in_primary13605 = frozenset([32, 185]) + FOLLOW_COMMA_in_primary13608 = frozenset([102]) + FOLLOW_named_value_in_primary13610 = frozenset([32, 185]) + FOLLOW_R_BRACKET_in_primary13630 = frozenset([1]) + FOLLOW_L_BRACKET_in_primary13681 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary13699 = frozenset([32, 185]) + FOLLOW_COMMA_in_primary13702 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary13704 = frozenset([32, 185]) + FOLLOW_R_BRACKET_in_primary13724 = frozenset([1]) + FOLLOW_MKSTRING_in_primary13775 = frozenset([129]) + FOLLOW_L_PAREN_in_primary13777 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary13779 = frozenset([32, 186]) + FOLLOW_COMMA_in_primary13782 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_primary13784 = frozenset([32, 186]) + FOLLOW_R_PAREN_in_primary13788 = frozenset([1]) + FOLLOW_STATE_in_primary13859 = frozenset([1]) + FOLLOW_STRING_in_informal_text13893 = frozenset([1]) + FOLLOW_ID_in_named_value13948 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_named_value13950 = frozenset([1]) + FOLLOW_primary_in_indexed_primary13988 = frozenset([129]) + FOLLOW_L_PAREN_in_indexed_primary13990 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_list_in_indexed_primary13992 = frozenset([186]) + FOLLOW_R_PAREN_in_indexed_primary13994 = frozenset([1]) + FOLLOW_primary_in_field_primary14026 = frozenset([49, 248]) + FOLLOW_field_selection_in_field_primary14028 = frozenset([1]) + FOLLOW_249_in_structure_primary14060 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_list_in_structure_primary14062 = frozenset([253]) + FOLLOW_253_in_structure_primary14064 = frozenset([1]) + FOLLOW_sort_id_in_sort14095 = frozenset([1]) + FOLLOW_type_id_in_type_inst14148 = frozenset([1]) + FOLLOW_syntype_id_in_syntype14193 = frozenset([1]) + FOLLOW_variable_id_in_variable_access14227 = frozenset([1]) + FOLLOW_external_synonym_id_in_external_synonym14263 = frozenset([1]) + FOLLOW_IF_in_conditional_expression14295 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_conditional_expression14299 = frozenset([223]) + FOLLOW_THEN_in_conditional_expression14317 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_conditional_expression14321 = frozenset([51]) + FOLLOW_ELSE_in_conditional_expression14339 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_conditional_expression14343 = frozenset([82]) + FOLLOW_FI_in_conditional_expression14345 = frozenset([1]) + FOLLOW_expression_in_expression_list14405 = frozenset([1, 32]) + FOLLOW_COMMA_in_expression_list14408 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_expression_list14410 = frozenset([1, 32]) + FOLLOW_label_in_terminator_statement14462 = frozenset([119, 142, 180, 204, 254]) + FOLLOW_cif_in_terminator_statement14481 = frozenset([119, 142, 180, 204, 254]) + FOLLOW_terminator_in_terminator_statement14500 = frozenset([33, 190, 254]) + FOLLOW_end_in_terminator_statement14518 = frozenset([1]) + FOLLOW_cif_in_label14579 = frozenset([102, 254]) + FOLLOW_connector_name_in_label14582 = frozenset([255]) + FOLLOW_255_in_label14584 = frozenset([1]) + FOLLOW_nextstate_in_terminator14640 = frozenset([1]) + FOLLOW_join_in_terminator14644 = frozenset([1]) + FOLLOW_stop_in_terminator14648 = frozenset([1]) + FOLLOW_return_stmt_in_terminator14652 = frozenset([1]) + FOLLOW_JOIN_in_join14685 = frozenset([102]) + FOLLOW_connector_name_in_join14687 = frozenset([1]) + FOLLOW_STOP_in_stop14736 = frozenset([1]) + FOLLOW_RETURN_in_return_stmt14768 = frozenset([1, 27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_return_stmt14770 = frozenset([1]) + FOLLOW_NEXTSTATE_in_nextstate14825 = frozenset([43, 102, 251]) + FOLLOW_nextstatebody_in_nextstate14827 = frozenset([1]) + FOLLOW_statename_in_nextstatebody14880 = frozenset([1, 238, 255]) + FOLLOW_255_in_nextstatebody14883 = frozenset([102]) + FOLLOW_type_inst_in_nextstatebody14886 = frozenset([1, 238]) + FOLLOW_via_in_nextstatebody14890 = frozenset([1]) + FOLLOW_dash_nextstate_in_nextstatebody14911 = frozenset([1]) + FOLLOW_history_nextstate_in_nextstatebody14931 = frozenset([1]) + FOLLOW_VIA_in_via14959 = frozenset([102]) + FOLLOW_state_entry_point_name_in_via14961 = frozenset([1]) + FOLLOW_cif_in_end15011 = frozenset([33, 254]) + FOLLOW_COMMENT_in_end15014 = frozenset([207]) + FOLLOW_STRING_in_end15016 = frozenset([190]) + FOLLOW_SEMI_in_end15020 = frozenset([1, 190]) + FOLLOW_cif_decl_in_cif15073 = frozenset([10, 13, 33, 37, 41, 45, 111, 119, 121, 123, 142, 151, 166, 167, 169, 170, 180, 198, 199, 204, 217, 220, 256]) + FOLLOW_cif_content_in_cif15076 = frozenset([250]) + FOLLOW_cif_end_in_cif15078 = frozenset([1]) + FOLLOW_KEEP_in_cif_content15110 = frozenset([197]) + FOLLOW_SPECIFIC_in_cif_content15113 = frozenset([95]) + FOLLOW_GEODE_in_cif_content15116 = frozenset([18, 100, 156, 159, 178, 179, 182, 183]) + FOLLOW_cif_specific_in_cif_content15119 = frozenset([1]) + FOLLOW_cif_coordinates_in_cif_content15137 = frozenset([1]) + FOLLOW_cif_symbol_id_in_cif_content15155 = frozenset([1]) + FOLLOW_symbolname_in_cif_coordinates15187 = frozenset([129]) + FOLLOW_L_PAREN_in_cif_coordinates15205 = frozenset([43, 115]) + FOLLOW_signed_in_cif_coordinates15209 = frozenset([32]) + FOLLOW_COMMA_in_cif_coordinates15211 = frozenset([43, 115]) + FOLLOW_signed_in_cif_coordinates15215 = frozenset([186]) + FOLLOW_R_PAREN_in_cif_coordinates15217 = frozenset([32]) + FOLLOW_COMMA_in_cif_coordinates15235 = frozenset([129]) + FOLLOW_L_PAREN_in_cif_coordinates15253 = frozenset([115]) + FOLLOW_INT_in_cif_coordinates15257 = frozenset([32]) + FOLLOW_COMMA_in_cif_coordinates15259 = frozenset([115]) + FOLLOW_INT_in_cif_coordinates15263 = frozenset([186]) + FOLLOW_R_PAREN_in_cif_coordinates15265 = frozenset([1]) + FOLLOW_256_in_cif_symbol_id15327 = frozenset([115]) + FOLLOW_INT_in_cif_symbol_id15331 = frozenset([1]) + FOLLOW_cif_decl_in_cif_paramnames15378 = frozenset([121]) + FOLLOW_KEEP_in_cif_paramnames15380 = frozenset([197]) + FOLLOW_SPECIFIC_in_cif_paramnames15382 = frozenset([95]) + FOLLOW_GEODE_in_cif_paramnames15384 = frozenset([156]) + FOLLOW_PARAMNAMES_in_cif_paramnames15396 = frozenset([102, 199]) + FOLLOW_field_name_in_cif_paramnames15398 = frozenset([102, 199, 250]) + FOLLOW_cif_end_in_cif_paramnames15411 = frozenset([1]) + FOLLOW_HYPERLINK_in_cif_specific15461 = frozenset([207]) + FOLLOW_STRING_in_cif_specific15463 = frozenset([1]) + FOLLOW_REQ_SERVER_in_cif_specific15496 = frozenset([207]) + FOLLOW_STRING_in_cif_specific15498 = frozenset([1]) + FOLLOW_RID_SERVER_in_cif_specific15530 = frozenset([207]) + FOLLOW_STRING_in_cif_specific15532 = frozenset([1]) + FOLLOW_REQ_ID_in_cif_specific15564 = frozenset([207]) + FOLLOW_STRING_in_cif_specific15566 = frozenset([1]) + FOLLOW_RID_ID_in_cif_specific15602 = frozenset([207]) + FOLLOW_STRING_in_cif_specific15604 = frozenset([1]) + FOLLOW_PARTITION_in_cif_specific15640 = frozenset([207]) + FOLLOW_STRING_in_cif_specific15642 = frozenset([1]) + FOLLOW_PARAMNAMES_in_cif_specific15675 = frozenset([102, 199]) + FOLLOW_field_name_in_cif_specific15677 = frozenset([1, 102, 199]) + FOLLOW_ASNFILENAME_in_cif_specific15706 = frozenset([207]) + FOLLOW_STRING_in_cif_specific15708 = frozenset([1]) + FOLLOW_STOP_in_stop_if15755 = frozenset([103]) + FOLLOW_IF_in_stop_if15757 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_stop_if15759 = frozenset([33, 190, 254]) + FOLLOW_end_in_stop_if15761 = frozenset([1, 204]) + FOLLOW_254_in_cif_decl16249 = frozenset([1]) + FOLLOW_250_in_cif_end16281 = frozenset([1]) + FOLLOW_cif_decl_in_cif_end_text16313 = frozenset([67]) + FOLLOW_ENDTEXT_in_cif_end_text16315 = frozenset([250]) + FOLLOW_cif_end_in_cif_end_text16317 = frozenset([1]) + FOLLOW_cif_decl_in_cif_end_label16368 = frozenset([53]) + FOLLOW_END_in_cif_end_label16370 = frozenset([123]) + FOLLOW_LABEL_in_cif_end_label16372 = frozenset([250]) + FOLLOW_cif_end_in_cif_end_label16374 = frozenset([1]) + FOLLOW_n7s_scl_statement_in_n7s_scl16408 = frozenset([1, 11, 73, 86, 140]) + FOLLOW_n7s_scl_never_in_n7s_scl_statement16464 = frozenset([1]) + FOLLOW_n7s_scl_always_in_n7s_scl_statement16468 = frozenset([1]) + FOLLOW_n7s_scl_eventually_in_n7s_scl_statement16472 = frozenset([1]) + FOLLOW_n7s_scl_filter_out_in_n7s_scl_statement16476 = frozenset([1]) + FOLLOW_NEVER_in_n7s_scl_never16509 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_n7s_scl_never16511 = frozenset([33, 190, 254]) + FOLLOW_end_in_n7s_scl_never16513 = frozenset([1]) + FOLLOW_ALWAYS_in_n7s_scl_always16567 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_n7s_scl_always16569 = frozenset([33, 190, 254]) + FOLLOW_end_in_n7s_scl_always16571 = frozenset([1]) + FOLLOW_EVENTUALLY_in_n7s_scl_eventually16625 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_n7s_scl_eventually16627 = frozenset([33, 190, 254]) + FOLLOW_end_in_n7s_scl_eventually16629 = frozenset([1]) + FOLLOW_FILTER_OUT_in_n7s_scl_filter_out16683 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_n7s_scl_filter_out16685 = frozenset([33, 190, 254]) + FOLLOW_end_in_n7s_scl_filter_out16687 = frozenset([1]) + FOLLOW_251_in_history_nextstate16879 = frozenset([1]) + FOLLOW_DASH_in_dash_nextstate16910 = frozenset([1]) + FOLLOW_ID_in_connector_name16924 = frozenset([1]) + FOLLOW_ID_in_signal_id16943 = frozenset([1]) + FOLLOW_ID_in_statename16962 = frozenset([1]) + FOLLOW_ID_in_state_exit_point_name16991 = frozenset([1]) + FOLLOW_ID_in_state_entry_point_name17020 = frozenset([1]) + FOLLOW_ID_in_variable_id17037 = frozenset([1]) + FOLLOW_ID_in_process_id17077 = frozenset([1]) + FOLLOW_ID_in_system_name17094 = frozenset([1]) + FOLLOW_ID_in_package_name17110 = frozenset([1]) + FOLLOW_ID_in_priority_signal_id17139 = frozenset([1]) + FOLLOW_ID_in_signal_list_id17153 = frozenset([1]) + FOLLOW_ID_in_timer_id17173 = frozenset([1]) + FOLLOW_ID_in_enumerant17214 = frozenset([1]) + FOLLOW_ID_in_signal_route_id17227 = frozenset([1]) + FOLLOW_ID_in_channel_id17245 = frozenset([1]) + FOLLOW_ID_in_route_id17265 = frozenset([1]) + FOLLOW_ID_in_block_id17285 = frozenset([1]) + FOLLOW_ID_in_source_id17304 = frozenset([1]) + FOLLOW_ID_in_dest_id17325 = frozenset([1]) + FOLLOW_ID_in_gate_id17346 = frozenset([1]) + FOLLOW_ID_in_procedure_id17362 = frozenset([1]) + FOLLOW_ID_in_remote_procedure_id17391 = frozenset([1]) + FOLLOW_ID_in_operator_id17408 = frozenset([1]) + FOLLOW_ID_in_synonym_id17426 = frozenset([1]) + FOLLOW_ID_in_external_synonym_id17455 = frozenset([1]) + FOLLOW_ID_in_remote_variable_id17484 = frozenset([1]) + FOLLOW_ID_in_view_id17505 = frozenset([1]) + FOLLOW_ID_in_sort_id17526 = frozenset([1]) + FOLLOW_ID_in_type_id17547 = frozenset([1]) + FOLLOW_ID_in_syntype_id17565 = frozenset([1]) + FOLLOW_ID_in_stimulus_id17582 = frozenset([1]) + FOLLOW_S_in_pid_expression18882 = frozenset([50]) + FOLLOW_E_in_pid_expression18884 = frozenset([122]) + FOLLOW_L_in_pid_expression18886 = frozenset([80]) + FOLLOW_F_in_pid_expression18888 = frozenset([1]) + FOLLOW_P_in_pid_expression18914 = frozenset([4]) + FOLLOW_A_in_pid_expression18916 = frozenset([173]) + FOLLOW_R_in_pid_expression18918 = frozenset([50]) + FOLLOW_E_in_pid_expression18920 = frozenset([136]) + FOLLOW_N_in_pid_expression18922 = frozenset([216]) + FOLLOW_T_in_pid_expression18924 = frozenset([1]) + FOLLOW_O_in_pid_expression18950 = frozenset([80]) + FOLLOW_F_in_pid_expression18952 = frozenset([80]) + FOLLOW_F_in_pid_expression18954 = frozenset([187]) + FOLLOW_S_in_pid_expression18956 = frozenset([154]) + FOLLOW_P_in_pid_expression18958 = frozenset([173]) + FOLLOW_R_in_pid_expression18960 = frozenset([101]) + FOLLOW_I_in_pid_expression18962 = frozenset([136]) + FOLLOW_N_in_pid_expression18964 = frozenset([93]) + FOLLOW_G_in_pid_expression18966 = frozenset([1]) + FOLLOW_S_in_pid_expression18992 = frozenset([50]) + FOLLOW_E_in_pid_expression18994 = frozenset([136]) + FOLLOW_N_in_pid_expression18996 = frozenset([42]) + FOLLOW_D_in_pid_expression18998 = frozenset([50]) + FOLLOW_E_in_pid_expression19000 = frozenset([173]) + FOLLOW_R_in_pid_expression19002 = frozenset([1]) + FOLLOW_N_in_now_expression19016 = frozenset([146]) + FOLLOW_O_in_now_expression19018 = frozenset([241]) + FOLLOW_W_in_now_expression19020 = frozenset([1]) + FOLLOW_DASH_in_signed22449 = frozenset([115]) + FOLLOW_INT_in_signed22452 = frozenset([1]) + FOLLOW_signal_declaration_in_synpred9_sdl921967 = frozenset([1]) + FOLLOW_text_area_in_synpred10_sdl921987 = frozenset([1]) + FOLLOW_procedure_in_synpred11_sdl922007 = frozenset([1]) + FOLLOW_text_area_in_synpred32_sdl922854 = frozenset([1]) + FOLLOW_procedure_in_synpred33_sdl922858 = frozenset([1]) + FOLLOW_composite_state_preamble_in_synpred34_sdl922863 = frozenset([1]) + FOLLOW_processBody_in_synpred35_sdl922887 = frozenset([1]) + FOLLOW_end_in_synpred41_sdl923084 = frozenset([1]) + FOLLOW_end_in_synpred45_sdl923236 = frozenset([1]) + FOLLOW_text_area_in_synpred48_sdl923300 = frozenset([1]) + FOLLOW_procedure_in_synpred49_sdl923304 = frozenset([1]) + FOLLOW_processBody_in_synpred50_sdl923326 = frozenset([1]) + FOLLOW_cif_in_synpred62_sdl923787 = frozenset([1]) + FOLLOW_content_in_synpred63_sdl923806 = frozenset([1]) + FOLLOW_end_in_synpred111_sdl926185 = frozenset([1]) + FOLLOW_end_in_synpred116_sdl926335 = frozenset([1]) + FOLLOW_text_area_in_synpred130_sdl927101 = frozenset([1]) + FOLLOW_text_area_in_synpred137_sdl927603 = frozenset([1]) + FOLLOW_procedure_in_synpred138_sdl927619 = frozenset([1]) + FOLLOW_composite_state_preamble_in_synpred139_sdl927636 = frozenset([1]) + FOLLOW_enabling_condition_in_synpred161_sdl928635 = frozenset([1]) + FOLLOW_label_in_synpred168_sdl928924 = frozenset([1]) + FOLLOW_actual_parameters_in_synpred181_sdl929448 = frozenset([1]) + FOLLOW_answer_part_in_synpred184_sdl929560 = frozenset([1]) + FOLLOW_answer_part_in_synpred190_sdl929855 = frozenset([1]) + FOLLOW_range_condition_in_synpred194_sdl9210066 = frozenset([1]) + FOLLOW_informal_text_in_synpred197_sdl9210199 = frozenset([1]) + FOLLOW_expression_in_synpred198_sdl9210219 = frozenset([1]) + FOLLOW_closed_range_in_synpred199_sdl9210312 = frozenset([1]) + FOLLOW_closed_range_in_synpred200_sdl9210340 = frozenset([1]) + FOLLOW_COMMA_in_synpred201_sdl9210336 = frozenset([27, 43, 69, 81, 87, 94, 97, 102, 103, 111, 115, 124, 127, 128, 129, 132, 133, 139, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_closed_range_in_synpred201_sdl9210340 = frozenset([1]) + FOLLOW_open_range_in_synpred201_sdl9210342 = frozenset([1]) + FOLLOW_COMMA_in_synpred229_sdl9211819 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ground_expression_in_synpred229_sdl9211823 = frozenset([1]) + FOLLOW_IMPLIES_in_synpred233_sdl9212085 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_0_in_synpred233_sdl9212088 = frozenset([1]) + FOLLOW_OR_in_synpred236_sdl9212117 = frozenset([27, 43, 51, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_ELSE_in_synpred236_sdl9212120 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_XOR_in_synpred236_sdl9212126 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_1_in_synpred236_sdl9212131 = frozenset([1]) + FOLLOW_AND_in_synpred238_sdl9212158 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 223, 228, 232]) + FOLLOW_THEN_in_synpred238_sdl9212161 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_2_in_synpred238_sdl9212164 = frozenset([1]) + FOLLOW_set_in_synpred245_sdl9212190 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_3_in_synpred245_sdl9212227 = frozenset([1]) + FOLLOW_set_in_synpred248_sdl9212253 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_binary_expression_4_in_synpred248_sdl9212270 = frozenset([1]) + FOLLOW_set_in_synpred252_sdl9212296 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_unary_expression_in_synpred252_sdl9212318 = frozenset([1]) + FOLLOW_postfix_expression_in_synpred253_sdl9212343 = frozenset([1]) + FOLLOW_primary_expression_in_synpred254_sdl9212361 = frozenset([1]) + FOLLOW_L_PAREN_in_synpred260_sdl9212568 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 186, 199, 207, 228, 232]) + FOLLOW_expression_list_in_synpred260_sdl9212572 = frozenset([186]) + FOLLOW_R_PAREN_in_synpred260_sdl9212575 = frozenset([1]) + FOLLOW_set_in_synpred262_sdl9212630 = frozenset([102, 199]) + FOLLOW_field_name_in_synpred262_sdl9212638 = frozenset([1]) + FOLLOW_ID_in_synpred282_sdl9213303 = frozenset([255]) + FOLLOW_255_in_synpred282_sdl9213305 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_synpred282_sdl9213307 = frozenset([1]) + FOLLOW_ID_in_synpred283_sdl9213345 = frozenset([1]) + FOLLOW_L_BRACKET_in_synpred284_sdl9213396 = frozenset([185]) + FOLLOW_R_BRACKET_in_synpred284_sdl9213398 = frozenset([1]) + FOLLOW_L_BRACKET_in_synpred285_sdl9213442 = frozenset([131]) + FOLLOW_MANTISSA_in_synpred285_sdl9213460 = frozenset([115]) + FOLLOW_INT_in_synpred285_sdl9213464 = frozenset([32]) + FOLLOW_COMMA_in_synpred285_sdl9213466 = frozenset([23]) + FOLLOW_BASE_in_synpred285_sdl9213484 = frozenset([115]) + FOLLOW_INT_in_synpred285_sdl9213488 = frozenset([32]) + FOLLOW_COMMA_in_synpred285_sdl9213490 = frozenset([74]) + FOLLOW_EXPONENT_in_synpred285_sdl9213508 = frozenset([115]) + FOLLOW_INT_in_synpred285_sdl9213512 = frozenset([185]) + FOLLOW_R_BRACKET_in_synpred285_sdl9213530 = frozenset([1]) + FOLLOW_L_BRACKET_in_synpred287_sdl9213587 = frozenset([102]) + FOLLOW_named_value_in_synpred287_sdl9213605 = frozenset([32, 185]) + FOLLOW_COMMA_in_synpred287_sdl9213608 = frozenset([102]) + FOLLOW_named_value_in_synpred287_sdl9213610 = frozenset([32, 185]) + FOLLOW_R_BRACKET_in_synpred287_sdl9213630 = frozenset([1]) + FOLLOW_L_BRACKET_in_synpred289_sdl9213681 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_synpred289_sdl9213699 = frozenset([32, 185]) + FOLLOW_COMMA_in_synpred289_sdl9213702 = frozenset([27, 43, 81, 87, 102, 103, 111, 115, 128, 129, 132, 133, 144, 151, 162, 199, 207, 228, 232]) + FOLLOW_expression_in_synpred289_sdl9213704 = frozenset([32, 185]) + FOLLOW_R_BRACKET_in_synpred289_sdl9213724 = frozenset([1]) + FOLLOW_SEMI_in_synpred306_sdl9215020 = frozenset([1]) diff --git a/sdl92.g b/sdl92.g index 3a52601e..ba26ef7b 100644 --- a/sdl92.g +++ b/sdl92.g @@ -16,6 +16,7 @@ options { output=AST; ASTLabelType=CommonTree; backtrack=true; + memoize=true; } tokens { @@ -181,11 +182,11 @@ system_definition use_clause - : use_asn1? + : cif* USE package_name ('/' def_selection_list )? end - -> ^(USE use_asn1? end? package_name def_selection_list?) + -> ^(USE cif* end? package_name def_selection_list?) ; @@ -212,11 +213,11 @@ entity_in_system e.g. SIGNAL open_door(typeA, typeB); */ signal_declaration - : paramnames? + : cif_paramnames? SIGNAL signal_id input_params? (RENAMES (input_expression | output_expression))? // for observers end - -> ^(SIGNAL paramnames? signal_id input_params? ^(INTERCEPT input_expression? output_expression?)) + -> ^(SIGNAL cif_paramnames? signal_id input_params? ^(INTERCEPT input_expression? output_expression?)) ; @@ -279,20 +280,14 @@ connection Etc. The grammar is tolerant, semantic checks are done in the code. */ process_definition - : cif? - symbolid? - req_server? - rid_server? - requirement* - rid* + : 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? symbolid? req_server? rid_server? requirement* - rid* process_id number_of_instances? type_inst? + -> ^(PROCESS cif* process_id number_of_instances? type_inst? $t? REFERENCED? $a? pfpar? text_area* procedure* composite_state* processBody?) ; @@ -317,11 +312,7 @@ parameters_of_sort // 2021-03 Added EXPORTED and REFERENCED keywords // needed to declare a synchronous provided interface at system level procedure - : cif? - symbolid? - requirement* - rid* - partition? + : cif* EXPORTED? PROCEDURE procedure_id (e1=end | SEMI) fpar? res=procedure_result? @@ -329,8 +320,7 @@ procedure ((processBody? ENDPROCEDURE procedure_id?) | EXTERNAL | REFERENCED) e2=end - -> ^(PROCEDURE cif? symbolid? partition? requirement* rid* - procedure_id $e1? $e2? fpar? $res? + -> ^(PROCEDURE cif* procedure_id $e1? $e2? fpar? $res? text_area* procedure* processBody? EXTERNAL? EXPORTED? REFERENCED?) ; @@ -360,14 +350,10 @@ formal_variable_param // text_area: TODO add operator description in content text_area - : requirement* - rid* - partition? - cif - symbolid? + : cif+ content? cif_end_text - -> ^(TEXTAREA cif symbolid? requirement* rid* partition? content? cif_end_text) + -> ^(TEXTAREA cif+ content? cif_end_text) ; @@ -542,30 +528,20 @@ processBody start - : cif? - symbolid? - hyperlink? - requirement* - rid* - partition? + : cif* START name=state_entry_point_name? end transition? - -> ^(START cif? symbolid? partition? hyperlink? requirement* $name? end? transition?) + -> ^(START cif* $name? end? transition?) ; floating_label - : cif? - symbolid? - hyperlink? - requirement* - rid* - partition? + : cif* CONNECTION connector_name ':' transition? cif_end_label? ENDCONNECTION SEMI - -> ^(FLOATING_LABEL cif? symbolid? partition? hyperlink? requirement* rid* connector_name transition?) + -> ^(FLOATING_LABEL cif* connector_name transition?) ; // state is either a full state definition, or a state instance @@ -576,30 +552,20 @@ state // the "via" part is needed to allow the graphical merge with a nextstate state_definition - : cif? - symbolid? - hyperlink? - requirement* - rid* - partition? + : cif* STATE statelist via? (e=end | SEMI) (state_part)* ENDSTATE statename? f=end - -> ^(STATE cif? symbolid? hyperlink? partition? requirement* rid* $e? statelist via? state_part*) + -> ^(STATE cif* $e? statelist via? state_part*) ; state_instance - : cif? - symbolid? - hyperlink? - requirement* - rid* - partition? + : cif* STATE statename ':' type_inst via? (e=end | SEMI) (state_part)* ENDSTATE statename? f=end - -> ^(STATE cif? symbolid? partition? hyperlink? requirement* rid* $e? statename via? type_inst state_part*) + -> ^(STATE cif* $e? statename via? type_inst state_part*) ; @@ -732,14 +698,10 @@ state_part // connect part is used to connect nested state exit points to a transition connect_part - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* CONNECT connect_list? end transition? - -> ^(CONNECT cif? symbolid? hyperlink? requirement* rid* connect_list? end? transition?) + -> ^(CONNECT cif* connect_list? end? transition?) ; @@ -751,15 +713,11 @@ connect_list spontaneous_transition - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* INPUT NONE end enabling_condition? transition - -> ^(INPUT_NONE cif? symbolid? hyperlink? requirement* rid* transition) + -> ^(INPUT_NONE cif* transition) ; @@ -770,15 +728,11 @@ enabling_condition continuous_signal - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* PROVIDED expression e=end (PRIORITY p=INT end)? transition? - -> ^(PROVIDED expression cif? symbolid? hyperlink? requirement* rid* $p? $e? transition?) + -> ^(PROVIDED expression cif* $p? $e? transition?) ; @@ -830,15 +784,11 @@ priority_stimulus // this is only the "basic input part" from SDL92 input_part - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* INPUT inputlist end enabling_condition? transition? - -> ^(INPUT cif? symbolid? hyperlink? requirement* rid* end? + -> ^(INPUT cif* end? inputlist enabling_condition? transition?) ; @@ -896,13 +846,9 @@ export /* Procedure call can be a local or remote call (including TO dest) */ procedure_call - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* CALL procedure_call_body end - -> ^(PROCEDURE_CALL cif? symbolid? hyperlink? requirement* rid* end? procedure_call_body) + -> ^(PROCEDURE_CALL cif* end? procedure_call_body) ; @@ -945,16 +891,12 @@ reset_statement /* Alternative (equivalent to #ifdef in C) */ alternative - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* ALTERNATIVE alternative_question e=end answer_part? alternative_part? ENDALTERNATIVE f=end - -> ^(ALTERNATIVE cif? symbolid? hyperlink? requirement* rid* $e? + -> ^(ALTERNATIVE cif* $e? alternative_question answer_part? alternative_part?) ; @@ -973,28 +915,20 @@ alternative_question decision - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* DECISION question e=end answer_part? alternative_part? ENDDECISION f=end - -> ^(DECISION cif? symbolid? hyperlink? requirement* rid* $e? question + -> ^(DECISION cif* $e? question answer_part? alternative_part?) ; answer_part - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* L_PAREN answer R_PAREN ':' transition? - -> ^(ANSWER cif? symbolid? hyperlink? requirement* rid* answer transition?) + -> ^(ANSWER cif* answer transition?) ; @@ -1005,13 +939,9 @@ answer else_part - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* ELSE ':' transition? - -> ^(ELSE cif? symbolid? hyperlink? requirement* rid* transition?) + -> ^(ELSE cif* transition?) ; @@ -1052,15 +982,11 @@ constant // Instance creation: opengeode does not support FPAR/actual_parameters yet create_request - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* CREATE createbody actual_parameters? end - -> ^(CREATE cif? symbolid? hyperlink? requirement* rid* end? createbody actual_parameters?) + -> ^(CREATE cif* end? createbody actual_parameters?) ; @@ -1071,13 +997,9 @@ createbody output - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* OUTPUT outputbody end - -> ^(OUTPUT cif? symbolid? hyperlink? requirement* rid* end? outputbody) + -> ^(OUTPUT cif* end? outputbody) ; @@ -1139,13 +1061,9 @@ actual_parameters task - : cif? - symbolid? - hyperlink? - requirement* - rid* + : cif* TASK task_body? end - -> ^(TASK cif? symbolid? hyperlink? requirement* rid* end? task_body?) + -> ^(TASK cif* end? task_body?) ; @@ -1433,19 +1351,15 @@ expression_list terminator_statement : label? - cif? - symbolid? - hyperlink? - requirement* - rid* + cif* terminator end - -> ^(TERMINATOR label? cif? symbolid? hyperlink? requirement* rid* end? terminator) + -> ^(TERMINATOR label? cif* end? terminator) ; label - : cif? symbolid? connector_name ':' - -> ^(LABEL cif? symbolid? connector_name) + : cif* connector_name ':' + -> ^(LABEL cif* connector_name) ; @@ -1489,97 +1403,65 @@ via : VIA state_entry_point_name end - : (cif? symbolid? hyperlink? COMMENT STRING)? SEMI+ - -> ^(COMMENT cif? symbolid? hyperlink? STRING)? + : (cif* COMMENT STRING)? SEMI+ + -> ^(COMMENT cif* STRING)? ; cif - : (cif_decl symbolname - L_PAREN x=signed COMMA y=signed R_PAREN - COMMA - L_PAREN width=INT COMMA height=INT R_PAREN - cif_end - -> ^(CIF $x $y $width $height)) - ; - - -hyperlink - : cif_decl KEEP SPECIFIC GEODE HYPERLINK STRING - cif_end - -> ^(HYPERLINK STRING) - ; - - -// Optional gitlab server to keep track of requirments -req_server - : cif_decl KEEP SPECIFIC GEODE REQ_SERVER STRING - cif_end - -> ^(REQ_SERVER STRING) - ; - - -// Optional gitlab server to keep track of model review items -rid_server - : cif_decl KEEP SPECIFIC GEODE RID_SERVER STRING - cif_end - -> ^(RID_SERVER STRING) + : cif_decl! cif_content cif_end! ; - -// It is possible to associate requirement IDs to any element of the model -// using this CIF extension -requirement - : cif_decl KEEP SPECIFIC GEODE REQ_ID STRING - cif_end - -> ^(REQ_ID STRING) +cif_content + : KEEP! SPECIFIC! GEODE! cif_specific + | cif_coordinates + | cif_symbol_id ; -// It is possible to associate review IDs to any element of the model -// using this CIF extension -rid - : cif_decl KEEP SPECIFIC GEODE RID_ID STRING - cif_end - -> ^(RID_ID STRING) +cif_coordinates + : symbolname + L_PAREN x=signed COMMA y=signed R_PAREN + COMMA + L_PAREN width=INT COMMA height=INT R_PAREN + -> ^(CIF $x $y $width $height) ; - -partition - : cif_decl KEEP SPECIFIC GEODE PARTITION STRING - cif_end - -> ^(PARTITION STRING) +cif_symbol_id + : '_id' ptr=INT + -> ^(SYMBOLID $ptr) ; - -symbolid - : cif_decl '_id' ptr=INT cif_end - -> ^(SYMBOLID $ptr) +cif_paramnames + : cif_decl KEEP SPECIFIC GEODE + PARAMNAMES field_name+ + cif_end + -> ^(PARAMNAMES field_name+) ; -/* OpenGEODE specific: SDL does not allow specifying the name +/* OpenGEODE CIF extensions: + paramnames: SDL does not allow specifying the name of signal parameters, but it is needed to generate function signatures when generating code (in particular in Ada, where the name in the body must comply with the one of the source Extension is using CIF comment so it is invisible to other SDL parsers (This is valid SDL code - see ITU-T Z106) -*/ -paramnames - : cif_decl KEEP SPECIFIC GEODE PARAMNAMES field_name+ cif_end - -> ^(PARAMNAMES field_name+) - ; - -/* OpenGEODE specific: Allow specifying the name of an ASN.1 file + asnfilename: Allow specifying the name of an ASN.1 file as a CIF extension linked to a USE clause. CIF Extensions are valid SDL constructs (ITU-T Z106) */ -use_asn1 - : cif_decl KEEP SPECIFIC GEODE ASNFILENAME STRING cif_end - -> ^(ASN1 STRING) +cif_specific + : HYPERLINK STRING -> ^(HYPERLINK STRING) + | REQ_SERVER STRING -> ^(REQ_SERVER STRING) + | RID_SERVER STRING -> ^(RID_SERVER STRING) + | REQ_ID STRING -> ^(REQ_ID STRING) + | RID_ID STRING -> ^(RID_ID STRING) + | PARTITION STRING -> ^(PARTITION STRING) + | PARAMNAMES field_name+ -> ^(PARAMNAMES field_name+) + | ASNFILENAME STRING -> ^(ASN1 STRING) ; - /* OpenGEODE specific: Boolean condition that can be used in simulators */ stop_if From 7907743ab8346dc88f1ac4601cc73ac7761ca826 Mon Sep 17 00:00:00 2001 From: Maxime Perrotin Date: Fri, 26 Apr 2024 23:24:32 +0200 Subject: [PATCH 3/3] Update version --- README.md | 3 +++ opengeode/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index be9894d3..fac9b100 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,9 @@ The background pattern was downloaded from www.subtlepatterns.com Changelog ========= +**4.3.1 (04/2024)** +- Major parsing speedup + **4.3.0 (04/2024)** - Introduce the requirements and review widgets - Fix help search engine diff --git a/opengeode/version.py b/opengeode/version.py index bc450988..cf5cec0d 100644 --- a/opengeode/version.py +++ b/opengeode/version.py @@ -7,4 +7,4 @@ # # later on we use: version['__version__'] # -__version__ = '4.3.0' +__version__ = '4.3.1'