audk/BaseTools/Source/Python/Ecc/CParser.py

18826 lines
663 KiB
Python

# $ANTLR 3.0.1 C.g 2009-02-16 16:02:50
from antlr3 import *
from antlr3.compat import set, frozenset
import CodeFragment
import FileProfile
# for convenience in actions
HIDDEN = BaseRecognizer.HIDDEN
# token types
CHARACTER_LITERAL=8
LETTER=11
Exponent=15
DECIMAL_LITERAL=7
IntegerTypeSuffix=14
UnicodeVocabulary=21
HexDigit=13
BS=20
WS=19
LINE_COMMAND=24
COMMENT=22
LINE_COMMENT=23
OCTAL_LITERAL=6
HEX_LITERAL=5
FLOATING_POINT_LITERAL=10
UnicodeEscape=18
EscapeSequence=12
EOF=-1
STRING_LITERAL=9
OctalEscape=17
IDENTIFIER=4
FloatTypeSuffix=16
# token names
tokenNames = [
"<invalid>", "<EOR>", "<DOWN>", "<UP>",
"IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
"STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
"HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
"UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
"LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
"'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
"'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
"'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
"'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
"'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'('", "')'",
"'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'", "'++'", "'--'",
"'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='", "'/='", "'%='",
"'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='", "'?'", "'||'",
"'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='", "'>='",
"'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'", "'default'",
"'if'", "'else'", "'switch'", "'while'", "'do'", "'for'", "'goto'",
"'continue'", "'break'", "'return'"
]
class function_definition_scope(object):
def __init__(self):
self.ModifierText = None
self.DeclText = None
self.LBLine = None
self.LBOffset = None
self.DeclLine = None
self.DeclOffset = None
class postfix_expression_scope(object):
def __init__(self):
self.FuncCallText = None
class CParser(Parser):
grammarFileName = "C.g"
tokenNames = tokenNames
def __init__(self, input):
Parser.__init__(self, input)
self.ruleMemo = {}
self.function_definition_stack = []
self.postfix_expression_stack = []
def printTokenInfo(self, line, offset, tokenText):
print str(line)+ ',' + str(offset) + ':' + str(tokenText)
def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text):
PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset))
FileProfile.PredicateExpressionList.append(PredExp)
def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
FileProfile.EnumerationDefinitionList.append(EnumDef)
def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
FileProfile.StructUnionDefinitionList.append(SUDef)
def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText):
Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset))
FileProfile.TypedefDefinitionList.append(Tdef)
def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset):
FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset))
FileProfile.FunctionDefinitionList.append(FuncDef)
def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText):
VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset))
FileProfile.VariableDeclarationList.append(VarDecl)
def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList):
FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))
FileProfile.FunctionCallingList.append(FuncCall)
# $ANTLR start translation_unit
# C.g:50:1: translation_unit : ( external_declaration )* ;
def translation_unit(self, ):
translation_unit_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1):
return
# C.g:51:2: ( ( external_declaration )* )
# C.g:51:4: ( external_declaration )*
# C.g:51:4: ( external_declaration )*
while True: #loop1
alt1 = 2
LA1_0 = self.input.LA(1)
if (LA1_0 == IDENTIFIER or LA1_0 == 26 or (29 <= LA1_0 <= 42) or (45 <= LA1_0 <= 46) or (48 <= LA1_0 <= 61) or LA1_0 == 65) :
alt1 = 1
if alt1 == 1:
# C.g:0:0: external_declaration
self.following.append(self.FOLLOW_external_declaration_in_translation_unit64)
self.external_declaration()
self.following.pop()
if self.failed:
return
else:
break #loop1
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 1, translation_unit_StartIndex)
pass
return
# $ANTLR end translation_unit
# $ANTLR start external_declaration
# C.g:62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
def external_declaration(self, ):
external_declaration_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
return
# C.g:67:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
alt3 = 3
LA3_0 = self.input.LA(1)
if ((29 <= LA3_0 <= 33)) :
LA3_1 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
raise nvae
elif (LA3_0 == 34) :
LA3_2 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
raise nvae
elif (LA3_0 == 35) :
LA3_3 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
raise nvae
elif (LA3_0 == 36) :
LA3_4 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
raise nvae
elif (LA3_0 == 37) :
LA3_5 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
raise nvae
elif (LA3_0 == 38) :
LA3_6 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
raise nvae
elif (LA3_0 == 39) :
LA3_7 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
raise nvae
elif (LA3_0 == 40) :
LA3_8 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
raise nvae
elif (LA3_0 == 41) :
LA3_9 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
raise nvae
elif (LA3_0 == 42) :
LA3_10 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
raise nvae
elif ((45 <= LA3_0 <= 46)) :
LA3_11 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
raise nvae
elif (LA3_0 == 48) :
LA3_12 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
raise nvae
elif (LA3_0 == IDENTIFIER) :
LA3_13 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
elif (True) :
alt3 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
raise nvae
elif (LA3_0 == 58) :
LA3_14 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
raise nvae
elif (LA3_0 == 65) and (self.synpred4()):
alt3 = 1
elif (LA3_0 == 59) :
LA3_16 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
raise nvae
elif (LA3_0 == 60) :
LA3_17 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input)
raise nvae
elif ((49 <= LA3_0 <= 57)) :
LA3_18 = self.input.LA(2)
if (self.synpred4()) :
alt3 = 1
elif (self.synpred5()) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
raise nvae
elif (LA3_0 == 61) and (self.synpred4()):
alt3 = 1
elif (LA3_0 == 26) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input)
raise nvae
if alt3 == 1:
# C.g:67:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
self.following.append(self.FOLLOW_function_definition_in_external_declaration103)
self.function_definition()
self.following.pop()
if self.failed:
return
elif alt3 == 2:
# C.g:68:4: declaration
self.following.append(self.FOLLOW_declaration_in_external_declaration108)
self.declaration()
self.following.pop()
if self.failed:
return
elif alt3 == 3:
# C.g:69:4: macro_statement ( ';' )?
self.following.append(self.FOLLOW_macro_statement_in_external_declaration113)
self.macro_statement()
self.following.pop()
if self.failed:
return
# C.g:69:20: ( ';' )?
alt2 = 2
LA2_0 = self.input.LA(1)
if (LA2_0 == 25) :
alt2 = 1
if alt2 == 1:
# C.g:69:21: ';'
self.match(self.input, 25, self.FOLLOW_25_in_external_declaration116)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 2, external_declaration_StartIndex)
pass
return
# $ANTLR end external_declaration
class function_definition_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start function_definition
# C.g:74:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
def function_definition(self, ):
self.function_definition_stack.append(function_definition_scope())
retval = self.function_definition_return()
retval.start = self.input.LT(1)
function_definition_StartIndex = self.input.index()
d = None
a = None
b = None
declarator1 = None
self.function_definition_stack[-1].ModifierText = ''
self.function_definition_stack[-1].DeclText = ''
self.function_definition_stack[-1].LBLine = 0
self.function_definition_stack[-1].LBOffset = 0
self.function_definition_stack[-1].DeclLine = 0
self.function_definition_stack[-1].DeclOffset = 0
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3):
return retval
# C.g:94:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
# C.g:94:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
# C.g:94:5: (d= declaration_specifiers )?
alt4 = 2
LA4 = self.input.LA(1)
if LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33 or LA4 == 34 or LA4 == 35 or LA4 == 36 or LA4 == 37 or LA4 == 38 or LA4 == 39 or LA4 == 40 or LA4 == 41 or LA4 == 42 or LA4 == 45 or LA4 == 46 or LA4 == 48 or LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57:
alt4 = 1
elif LA4 == IDENTIFIER:
LA4 = self.input.LA(2)
if LA4 == 65:
alt4 = 1
elif LA4 == 58:
LA4_21 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 59:
LA4_22 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 60:
LA4_23 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == IDENTIFIER:
LA4_24 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 61:
LA4_25 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33:
LA4_26 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 34:
LA4_27 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 35:
LA4_28 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 36:
LA4_29 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 37:
LA4_30 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 38:
LA4_31 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 39:
LA4_32 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 40:
LA4_33 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 41:
LA4_34 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 42:
LA4_35 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 45 or LA4 == 46:
LA4_36 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 48:
LA4_37 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57:
LA4_38 = self.input.LA(3)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 58:
LA4_14 = self.input.LA(2)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 59:
LA4_16 = self.input.LA(2)
if (self.synpred7()) :
alt4 = 1
elif LA4 == 60:
LA4_17 = self.input.LA(2)
if (self.synpred7()) :
alt4 = 1
if alt4 == 1:
# C.g:0:0: d= declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition147)
d = self.declaration_specifiers()
self.following.pop()
if self.failed:
return retval
self.following.append(self.FOLLOW_declarator_in_function_definition150)
declarator1 = self.declarator()
self.following.pop()
if self.failed:
return retval
# C.g:95:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
alt6 = 2
LA6_0 = self.input.LA(1)
if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 60)) :
alt6 = 1
elif (LA6_0 == 43) :
alt6 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("95:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
raise nvae
if alt6 == 1:
# C.g:95:5: ( declaration )+ a= compound_statement
# C.g:95:5: ( declaration )+
cnt5 = 0
while True: #loop5
alt5 = 2
LA5_0 = self.input.LA(1)
if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 60)) :
alt5 = 1
if alt5 == 1:
# C.g:0:0: declaration
self.following.append(self.FOLLOW_declaration_in_function_definition156)
self.declaration()
self.following.pop()
if self.failed:
return retval
else:
if cnt5 >= 1:
break #loop5
if self.backtracking > 0:
self.failed = True
return retval
eee = EarlyExitException(5, self.input)
raise eee
cnt5 += 1
self.following.append(self.FOLLOW_compound_statement_in_function_definition161)
a = self.compound_statement()
self.following.pop()
if self.failed:
return retval
elif alt6 == 2:
# C.g:96:5: b= compound_statement
self.following.append(self.FOLLOW_compound_statement_in_function_definition170)
b = self.compound_statement()
self.following.pop()
if self.failed:
return retval
if self.backtracking == 0:
if d != None:
self.function_definition_stack[-1].ModifierText = self.input.toString(d.start,d.stop)
else:
self.function_definition_stack[-1].ModifierText = ''
self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start,declarator1.stop)
self.function_definition_stack[-1].DeclLine = declarator1.start.line
self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine
if a != None:
self.function_definition_stack[-1].LBLine = a.start.line
self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine
else:
self.function_definition_stack[-1].LBLine = b.start.line
self.function_definition_stack[-1].LBOffset = b.start.charPositionInLine
retval.stop = self.input.LT(-1)
if self.backtracking == 0:
self.StoreFunctionDefinition(retval.start.line, retval.start.charPositionInLine, retval.stop.line, retval.stop.charPositionInLine, self.function_definition_stack[-1].ModifierText, self.function_definition_stack[-1].DeclText, self.function_definition_stack[-1].LBLine, self.function_definition_stack[-1].LBOffset, self.function_definition_stack[-1].DeclLine, self.function_definition_stack[-1].DeclOffset)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 3, function_definition_StartIndex)
self.function_definition_stack.pop()
pass
return retval
# $ANTLR end function_definition
# $ANTLR start declaration
# C.g:114:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
def declaration(self, ):
declaration_StartIndex = self.input.index()
a = None
d = None
e = None
b = None
c = None
s = None
t = None
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
return
# C.g:115:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
alt9 = 2
LA9_0 = self.input.LA(1)
if (LA9_0 == 26) :
alt9 = 1
elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 60)) :
alt9 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("114:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input)
raise nvae
if alt9 == 1:
# C.g:115:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
a = self.input.LT(1)
self.match(self.input, 26, self.FOLLOW_26_in_declaration193)
if self.failed:
return
# C.g:115:17: (b= declaration_specifiers )?
alt7 = 2
LA7 = self.input.LA(1)
if LA7 == 29 or LA7 == 30 or LA7 == 31 or LA7 == 32 or LA7 == 33 or LA7 == 34 or LA7 == 35 or LA7 == 36 or LA7 == 37 or LA7 == 38 or LA7 == 39 or LA7 == 40 or LA7 == 41 or LA7 == 42 or LA7 == 45 or LA7 == 46 or LA7 == 48 or LA7 == 49 or LA7 == 50 or LA7 == 51 or LA7 == 52 or LA7 == 53 or LA7 == 54 or LA7 == 55 or LA7 == 56 or LA7 == 57:
alt7 = 1
elif LA7 == IDENTIFIER:
LA7_13 = self.input.LA(2)
if (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 60) or LA7_13 == 65) :
alt7 = 1
elif (LA7_13 == 61) :
LA7_25 = self.input.LA(3)
if (self.synpred10()) :
alt7 = 1
elif LA7 == 58:
LA7_14 = self.input.LA(2)
if (self.synpred10()) :
alt7 = 1
elif LA7 == 59:
LA7_16 = self.input.LA(2)
if (self.synpred10()) :
alt7 = 1
elif LA7 == 60:
LA7_17 = self.input.LA(2)
if (self.synpred10()) :
alt7 = 1
if alt7 == 1:
# C.g:0:0: b= declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_declaration197)
b = self.declaration_specifiers()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_init_declarator_list_in_declaration206)
c = self.init_declarator_list()
self.following.pop()
if self.failed:
return
d = self.input.LT(1)
self.match(self.input, 25, self.FOLLOW_25_in_declaration210)
if self.failed:
return
if self.backtracking == 0:
if b != None:
self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start,b.stop), self.input.toString(c.start,c.stop))
else:
self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start,c.stop))
elif alt9 == 2:
# C.g:123:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
self.following.append(self.FOLLOW_declaration_specifiers_in_declaration224)
s = self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# C.g:123:30: (t= init_declarator_list )?
alt8 = 2
LA8_0 = self.input.LA(1)
if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 61) or LA8_0 == 65) :
alt8 = 1
if alt8 == 1:
# C.g:0:0: t= init_declarator_list
self.following.append(self.FOLLOW_init_declarator_list_in_declaration228)
t = self.init_declarator_list()
self.following.pop()
if self.failed:
return
e = self.input.LT(1)
self.match(self.input, 25, self.FOLLOW_25_in_declaration233)
if self.failed:
return
if self.backtracking == 0:
if t != None:
self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start,s.stop), self.input.toString(t.start,t.stop))
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 4, declaration_StartIndex)
pass
return
# $ANTLR end declaration
class declaration_specifiers_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start declaration_specifiers
# C.g:130:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
def declaration_specifiers(self, ):
retval = self.declaration_specifiers_return()
retval.start = self.input.LT(1)
declaration_specifiers_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
return retval
# C.g:131:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
# C.g:131:6: ( storage_class_specifier | type_specifier | type_qualifier )+
# C.g:131:6: ( storage_class_specifier | type_specifier | type_qualifier )+
cnt10 = 0
while True: #loop10
alt10 = 4
LA10 = self.input.LA(1)
if LA10 == 58:
LA10_2 = self.input.LA(2)
if (self.synpred15()) :
alt10 = 3
elif LA10 == 59:
LA10_3 = self.input.LA(2)
if (self.synpred15()) :
alt10 = 3
elif LA10 == 60:
LA10_4 = self.input.LA(2)
if (self.synpred15()) :
alt10 = 3
elif LA10 == IDENTIFIER:
LA10_5 = self.input.LA(2)
if (self.synpred14()) :
alt10 = 2
elif LA10 == 53:
LA10_9 = self.input.LA(2)
if (self.synpred15()) :
alt10 = 3
elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
alt10 = 1
elif LA10 == 34 or LA10 == 35 or LA10 == 36 or LA10 == 37 or LA10 == 38 or LA10 == 39 or LA10 == 40 or LA10 == 41 or LA10 == 42 or LA10 == 45 or LA10 == 46 or LA10 == 48:
alt10 = 2
elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57:
alt10 = 3
if alt10 == 1:
# C.g:131:10: storage_class_specifier
self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers254)
self.storage_class_specifier()
self.following.pop()
if self.failed:
return retval
elif alt10 == 2:
# C.g:132:7: type_specifier
self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers262)
self.type_specifier()
self.following.pop()
if self.failed:
return retval
elif alt10 == 3:
# C.g:133:13: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers276)
self.type_qualifier()
self.following.pop()
if self.failed:
return retval
else:
if cnt10 >= 1:
break #loop10
if self.backtracking > 0:
self.failed = True
return retval
eee = EarlyExitException(10, self.input)
raise eee
cnt10 += 1
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 5, declaration_specifiers_StartIndex)
pass
return retval
# $ANTLR end declaration_specifiers
class init_declarator_list_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start init_declarator_list
# C.g:137:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
def init_declarator_list(self, ):
retval = self.init_declarator_list_return()
retval.start = self.input.LT(1)
init_declarator_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
return retval
# C.g:138:2: ( init_declarator ( ',' init_declarator )* )
# C.g:138:4: init_declarator ( ',' init_declarator )*
self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list298)
self.init_declarator()
self.following.pop()
if self.failed:
return retval
# C.g:138:20: ( ',' init_declarator )*
while True: #loop11
alt11 = 2
LA11_0 = self.input.LA(1)
if (LA11_0 == 27) :
alt11 = 1
if alt11 == 1:
# C.g:138:21: ',' init_declarator
self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list301)
if self.failed:
return retval
self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list303)
self.init_declarator()
self.following.pop()
if self.failed:
return retval
else:
break #loop11
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 6, init_declarator_list_StartIndex)
pass
return retval
# $ANTLR end init_declarator_list
# $ANTLR start init_declarator
# C.g:141:1: init_declarator : declarator ( '=' initializer )? ;
def init_declarator(self, ):
init_declarator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
return
# C.g:142:2: ( declarator ( '=' initializer )? )
# C.g:142:4: declarator ( '=' initializer )?
self.following.append(self.FOLLOW_declarator_in_init_declarator316)
self.declarator()
self.following.pop()
if self.failed:
return
# C.g:142:15: ( '=' initializer )?
alt12 = 2
LA12_0 = self.input.LA(1)
if (LA12_0 == 28) :
alt12 = 1
if alt12 == 1:
# C.g:142:16: '=' initializer
self.match(self.input, 28, self.FOLLOW_28_in_init_declarator319)
if self.failed:
return
self.following.append(self.FOLLOW_initializer_in_init_declarator321)
self.initializer()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 7, init_declarator_StartIndex)
pass
return
# $ANTLR end init_declarator
# $ANTLR start storage_class_specifier
# C.g:145:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
def storage_class_specifier(self, ):
storage_class_specifier_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
return
# C.g:146:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
# C.g:
if (29 <= self.input.LA(1) <= 33):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
)
raise mse
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 8, storage_class_specifier_StartIndex)
pass
return
# $ANTLR end storage_class_specifier
# $ANTLR start type_specifier
# C.g:153:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );
def type_specifier(self, ):
type_specifier_StartIndex = self.input.index()
s = None
e = None
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
return
# C.g:154:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
alt13 = 12
LA13_0 = self.input.LA(1)
if (LA13_0 == 34) :
alt13 = 1
elif (LA13_0 == 35) :
alt13 = 2
elif (LA13_0 == 36) :
alt13 = 3
elif (LA13_0 == 37) :
alt13 = 4
elif (LA13_0 == 38) :
alt13 = 5
elif (LA13_0 == 39) :
alt13 = 6
elif (LA13_0 == 40) :
alt13 = 7
elif (LA13_0 == 41) :
alt13 = 8
elif (LA13_0 == 42) :
alt13 = 9
elif ((45 <= LA13_0 <= 46)) :
alt13 = 10
elif (LA13_0 == 48) :
alt13 = 11
elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
alt13 = 12
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("153:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self.input)
raise nvae
if alt13 == 1:
# C.g:154:4: 'void'
self.match(self.input, 34, self.FOLLOW_34_in_type_specifier366)
if self.failed:
return
elif alt13 == 2:
# C.g:155:4: 'char'
self.match(self.input, 35, self.FOLLOW_35_in_type_specifier371)
if self.failed:
return
elif alt13 == 3:
# C.g:156:4: 'short'
self.match(self.input, 36, self.FOLLOW_36_in_type_specifier376)
if self.failed:
return
elif alt13 == 4:
# C.g:157:4: 'int'
self.match(self.input, 37, self.FOLLOW_37_in_type_specifier381)
if self.failed:
return
elif alt13 == 5:
# C.g:158:4: 'long'
self.match(self.input, 38, self.FOLLOW_38_in_type_specifier386)
if self.failed:
return
elif alt13 == 6:
# C.g:159:4: 'float'
self.match(self.input, 39, self.FOLLOW_39_in_type_specifier391)
if self.failed:
return
elif alt13 == 7:
# C.g:160:4: 'double'
self.match(self.input, 40, self.FOLLOW_40_in_type_specifier396)
if self.failed:
return
elif alt13 == 8:
# C.g:161:4: 'signed'
self.match(self.input, 41, self.FOLLOW_41_in_type_specifier401)
if self.failed:
return
elif alt13 == 9:
# C.g:162:4: 'unsigned'
self.match(self.input, 42, self.FOLLOW_42_in_type_specifier406)
if self.failed:
return
elif alt13 == 10:
# C.g:163:4: s= struct_or_union_specifier
self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier413)
s = self.struct_or_union_specifier()
self.following.pop()
if self.failed:
return
if self.backtracking == 0:
if s.stop != None:
self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start,s.stop))
elif alt13 == 11:
# C.g:168:4: e= enum_specifier
self.following.append(self.FOLLOW_enum_specifier_in_type_specifier423)
e = self.enum_specifier()
self.following.pop()
if self.failed:
return
if self.backtracking == 0:
if e.stop != None:
self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
elif alt13 == 12:
# C.g:173:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
self.following.append(self.FOLLOW_type_id_in_type_specifier441)
self.type_id()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 9, type_specifier_StartIndex)
pass
return
# $ANTLR end type_specifier
# $ANTLR start type_id
# C.g:176:1: type_id : IDENTIFIER ;
def type_id(self, ):
type_id_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
return
# C.g:177:5: ( IDENTIFIER )
# C.g:177:9: IDENTIFIER
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id457)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 10, type_id_StartIndex)
pass
return
# $ANTLR end type_id
class struct_or_union_specifier_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start struct_or_union_specifier
# C.g:181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
def struct_or_union_specifier(self, ):
retval = self.struct_or_union_specifier_return()
retval.start = self.input.LT(1)
struct_or_union_specifier_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
return retval
# C.g:183:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
alt15 = 2
LA15_0 = self.input.LA(1)
if ((45 <= LA15_0 <= 46)) :
LA15_1 = self.input.LA(2)
if (LA15_1 == IDENTIFIER) :
LA15_2 = self.input.LA(3)
if (LA15_2 == 43) :
alt15 = 1
elif (LA15_2 == EOF or LA15_2 == IDENTIFIER or LA15_2 == 25 or LA15_2 == 27 or (29 <= LA15_2 <= 42) or (45 <= LA15_2 <= 63) or LA15_2 == 65) :
alt15 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input)
raise nvae
elif (LA15_1 == 43) :
alt15 = 1
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input)
raise nvae
if alt15 == 1:
# C.g:183:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier484)
self.struct_or_union()
self.following.pop()
if self.failed:
return retval
# C.g:183:20: ( IDENTIFIER )?
alt14 = 2
LA14_0 = self.input.LA(1)
if (LA14_0 == IDENTIFIER) :
alt14 = 1
if alt14 == 1:
# C.g:0:0: IDENTIFIER
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier486)
if self.failed:
return retval
self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier489)
if self.failed:
return retval
self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier491)
self.struct_declaration_list()
self.following.pop()
if self.failed:
return retval
self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier493)
if self.failed:
return retval
elif alt15 == 2:
# C.g:184:4: struct_or_union IDENTIFIER
self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier498)
self.struct_or_union()
self.following.pop()
if self.failed:
return retval
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier500)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
pass
return retval
# $ANTLR end struct_or_union_specifier
# $ANTLR start struct_or_union
# C.g:187:1: struct_or_union : ( 'struct' | 'union' );
def struct_or_union(self, ):
struct_or_union_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
return
# C.g:188:2: ( 'struct' | 'union' )
# C.g:
if (45 <= self.input.LA(1) <= 46):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_struct_or_union0
)
raise mse
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 12, struct_or_union_StartIndex)
pass
return
# $ANTLR end struct_or_union
# $ANTLR start struct_declaration_list
# C.g:192:1: struct_declaration_list : ( struct_declaration )+ ;
def struct_declaration_list(self, ):
struct_declaration_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
return
# C.g:193:2: ( ( struct_declaration )+ )
# C.g:193:4: ( struct_declaration )+
# C.g:193:4: ( struct_declaration )+
cnt16 = 0
while True: #loop16
alt16 = 2
LA16_0 = self.input.LA(1)
if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 60)) :
alt16 = 1
if alt16 == 1:
# C.g:0:0: struct_declaration
self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list527)
self.struct_declaration()
self.following.pop()
if self.failed:
return
else:
if cnt16 >= 1:
break #loop16
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(16, self.input)
raise eee
cnt16 += 1
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 13, struct_declaration_list_StartIndex)
pass
return
# $ANTLR end struct_declaration_list
# $ANTLR start struct_declaration
# C.g:196:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
def struct_declaration(self, ):
struct_declaration_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
return
# C.g:197:2: ( specifier_qualifier_list struct_declarator_list ';' )
# C.g:197:4: specifier_qualifier_list struct_declarator_list ';'
self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration539)
self.specifier_qualifier_list()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration541)
self.struct_declarator_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration543)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 14, struct_declaration_StartIndex)
pass
return
# $ANTLR end struct_declaration
# $ANTLR start specifier_qualifier_list
# C.g:200:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
def specifier_qualifier_list(self, ):
specifier_qualifier_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
return
# C.g:201:2: ( ( type_qualifier | type_specifier )+ )
# C.g:201:4: ( type_qualifier | type_specifier )+
# C.g:201:4: ( type_qualifier | type_specifier )+
cnt17 = 0
while True: #loop17
alt17 = 3
LA17 = self.input.LA(1)
if LA17 == 58:
LA17_2 = self.input.LA(2)
if (self.synpred39()) :
alt17 = 1
elif LA17 == 59:
LA17_3 = self.input.LA(2)
if (self.synpred39()) :
alt17 = 1
elif LA17 == 60:
LA17_4 = self.input.LA(2)
if (self.synpred39()) :
alt17 = 1
elif LA17 == IDENTIFIER:
LA17 = self.input.LA(2)
if LA17 == EOF or LA17 == IDENTIFIER or LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48 or LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 58 or LA17 == 59 or LA17 == 60 or LA17 == 62 or LA17 == 65:
alt17 = 2
elif LA17 == 61:
LA17_94 = self.input.LA(3)
if (self.synpred40()) :
alt17 = 2
elif LA17 == 47:
LA17_95 = self.input.LA(3)
if (self.synpred40()) :
alt17 = 2
elif LA17 == 63:
LA17_96 = self.input.LA(3)
if (self.synpred40()) :
alt17 = 2
elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57:
alt17 = 1
elif LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48:
alt17 = 2
if alt17 == 1:
# C.g:201:6: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list556)
self.type_qualifier()
self.following.pop()
if self.failed:
return
elif alt17 == 2:
# C.g:201:23: type_specifier
self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list560)
self.type_specifier()
self.following.pop()
if self.failed:
return
else:
if cnt17 >= 1:
break #loop17
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(17, self.input)
raise eee
cnt17 += 1
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
pass
return
# $ANTLR end specifier_qualifier_list
# $ANTLR start struct_declarator_list
# C.g:204:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
def struct_declarator_list(self, ):
struct_declarator_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
return
# C.g:205:2: ( struct_declarator ( ',' struct_declarator )* )
# C.g:205:4: struct_declarator ( ',' struct_declarator )*
self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list574)
self.struct_declarator()
self.following.pop()
if self.failed:
return
# C.g:205:22: ( ',' struct_declarator )*
while True: #loop18
alt18 = 2
LA18_0 = self.input.LA(1)
if (LA18_0 == 27) :
alt18 = 1
if alt18 == 1:
# C.g:205:23: ',' struct_declarator
self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list577)
if self.failed:
return
self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list579)
self.struct_declarator()
self.following.pop()
if self.failed:
return
else:
break #loop18
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 16, struct_declarator_list_StartIndex)
pass
return
# $ANTLR end struct_declarator_list
# $ANTLR start struct_declarator
# C.g:208:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
def struct_declarator(self, ):
struct_declarator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
return
# C.g:209:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
alt20 = 2
LA20_0 = self.input.LA(1)
if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 61) or LA20_0 == 65) :
alt20 = 1
elif (LA20_0 == 47) :
alt20 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("208:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
raise nvae
if alt20 == 1:
# C.g:209:4: declarator ( ':' constant_expression )?
self.following.append(self.FOLLOW_declarator_in_struct_declarator592)
self.declarator()
self.following.pop()
if self.failed:
return
# C.g:209:15: ( ':' constant_expression )?
alt19 = 2
LA19_0 = self.input.LA(1)
if (LA19_0 == 47) :
alt19 = 1
if alt19 == 1:
# C.g:209:16: ':' constant_expression
self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator595)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_struct_declarator597)
self.constant_expression()
self.following.pop()
if self.failed:
return
elif alt20 == 2:
# C.g:210:4: ':' constant_expression
self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator604)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_struct_declarator606)
self.constant_expression()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 17, struct_declarator_StartIndex)
pass
return
# $ANTLR end struct_declarator
class enum_specifier_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start enum_specifier
# C.g:213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
def enum_specifier(self, ):
retval = self.enum_specifier_return()
retval.start = self.input.LT(1)
enum_specifier_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
return retval
# C.g:215:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
alt23 = 3
LA23_0 = self.input.LA(1)
if (LA23_0 == 48) :
LA23_1 = self.input.LA(2)
if (LA23_1 == IDENTIFIER) :
LA23_2 = self.input.LA(3)
if (LA23_2 == 43) :
alt23 = 2
elif (LA23_2 == EOF or LA23_2 == IDENTIFIER or LA23_2 == 25 or LA23_2 == 27 or (29 <= LA23_2 <= 42) or (45 <= LA23_2 <= 63) or LA23_2 == 65) :
alt23 = 3
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
raise nvae
elif (LA23_1 == 43) :
alt23 = 1
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input)
raise nvae
if alt23 == 1:
# C.g:215:4: 'enum' '{' enumerator_list ( ',' )? '}'
self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier624)
if self.failed:
return retval
self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier626)
if self.failed:
return retval
self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier628)
self.enumerator_list()
self.following.pop()
if self.failed:
return retval
# C.g:215:31: ( ',' )?
alt21 = 2
LA21_0 = self.input.LA(1)
if (LA21_0 == 27) :
alt21 = 1
if alt21 == 1:
# C.g:0:0: ','
self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier630)
if self.failed:
return retval
self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier633)
if self.failed:
return retval
elif alt23 == 2:
# C.g:216:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier638)
if self.failed:
return retval
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier640)
if self.failed:
return retval
self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier642)
if self.failed:
return retval
self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier644)
self.enumerator_list()
self.following.pop()
if self.failed:
return retval
# C.g:216:42: ( ',' )?
alt22 = 2
LA22_0 = self.input.LA(1)
if (LA22_0 == 27) :
alt22 = 1
if alt22 == 1:
# C.g:0:0: ','
self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier646)
if self.failed:
return retval
self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier649)
if self.failed:
return retval
elif alt23 == 3:
# C.g:217:4: 'enum' IDENTIFIER
self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier654)
if self.failed:
return retval
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier656)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 18, enum_specifier_StartIndex)
pass
return retval
# $ANTLR end enum_specifier
# $ANTLR start enumerator_list
# C.g:220:1: enumerator_list : enumerator ( ',' enumerator )* ;
def enumerator_list(self, ):
enumerator_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
return
# C.g:221:2: ( enumerator ( ',' enumerator )* )
# C.g:221:4: enumerator ( ',' enumerator )*
self.following.append(self.FOLLOW_enumerator_in_enumerator_list667)
self.enumerator()
self.following.pop()
if self.failed:
return
# C.g:221:15: ( ',' enumerator )*
while True: #loop24
alt24 = 2
LA24_0 = self.input.LA(1)
if (LA24_0 == 27) :
LA24_1 = self.input.LA(2)
if (LA24_1 == IDENTIFIER) :
alt24 = 1
if alt24 == 1:
# C.g:221:16: ',' enumerator
self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list670)
if self.failed:
return
self.following.append(self.FOLLOW_enumerator_in_enumerator_list672)
self.enumerator()
self.following.pop()
if self.failed:
return
else:
break #loop24
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 19, enumerator_list_StartIndex)
pass
return
# $ANTLR end enumerator_list
# $ANTLR start enumerator
# C.g:224:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
def enumerator(self, ):
enumerator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
return
# C.g:225:2: ( IDENTIFIER ( '=' constant_expression )? )
# C.g:225:4: IDENTIFIER ( '=' constant_expression )?
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator685)
if self.failed:
return
# C.g:225:15: ( '=' constant_expression )?
alt25 = 2
LA25_0 = self.input.LA(1)
if (LA25_0 == 28) :
alt25 = 1
if alt25 == 1:
# C.g:225:16: '=' constant_expression
self.match(self.input, 28, self.FOLLOW_28_in_enumerator688)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_enumerator690)
self.constant_expression()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 20, enumerator_StartIndex)
pass
return
# $ANTLR end enumerator
# $ANTLR start type_qualifier
# C.g:228:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' );
def type_qualifier(self, ):
type_qualifier_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
return
# C.g:229:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' )
# C.g:
if (49 <= self.input.LA(1) <= 60):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_type_qualifier0
)
raise mse
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 21, type_qualifier_StartIndex)
pass
return
# $ANTLR end type_qualifier
class declarator_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start declarator
# C.g:243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
def declarator(self, ):
retval = self.declarator_return()
retval.start = self.input.LT(1)
declarator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
return retval
# C.g:244:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
alt30 = 2
LA30_0 = self.input.LA(1)
if (LA30_0 == 65) :
LA30_1 = self.input.LA(2)
if (self.synpred65()) :
alt30 = 1
elif (True) :
alt30 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input)
raise nvae
elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 61)) :
alt30 = 1
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
raise nvae
if alt30 == 1:
# C.g:244:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
# C.g:244:4: ( pointer )?
alt26 = 2
LA26_0 = self.input.LA(1)
if (LA26_0 == 65) :
alt26 = 1
if alt26 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_declarator769)
self.pointer()
self.following.pop()
if self.failed:
return retval
# C.g:244:13: ( 'EFIAPI' )?
alt27 = 2
LA27_0 = self.input.LA(1)
if (LA27_0 == 58) :
alt27 = 1
if alt27 == 1:
# C.g:244:14: 'EFIAPI'
self.match(self.input, 58, self.FOLLOW_58_in_declarator773)
if self.failed:
return retval
# C.g:244:25: ( 'EFI_BOOTSERVICE' )?
alt28 = 2
LA28_0 = self.input.LA(1)
if (LA28_0 == 59) :
alt28 = 1
if alt28 == 1:
# C.g:244:26: 'EFI_BOOTSERVICE'
self.match(self.input, 59, self.FOLLOW_59_in_declarator778)
if self.failed:
return retval
# C.g:244:46: ( 'EFI_RUNTIMESERVICE' )?
alt29 = 2
LA29_0 = self.input.LA(1)
if (LA29_0 == 60) :
alt29 = 1
if alt29 == 1:
# C.g:244:47: 'EFI_RUNTIMESERVICE'
self.match(self.input, 60, self.FOLLOW_60_in_declarator783)
if self.failed:
return retval
self.following.append(self.FOLLOW_direct_declarator_in_declarator787)
self.direct_declarator()
self.following.pop()
if self.failed:
return retval
elif alt30 == 2:
# C.g:246:4: pointer
self.following.append(self.FOLLOW_pointer_in_declarator793)
self.pointer()
self.following.pop()
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 22, declarator_StartIndex)
pass
return retval
# $ANTLR end declarator
# $ANTLR start direct_declarator
# C.g:249:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
def direct_declarator(self, ):
direct_declarator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
return
# C.g:250:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
alt34 = 2
LA34_0 = self.input.LA(1)
if (LA34_0 == IDENTIFIER) :
alt34 = 1
elif (LA34_0 == 61) :
alt34 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("249:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
raise nvae
if alt34 == 1:
# C.g:250:4: IDENTIFIER ( declarator_suffix )*
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator804)
if self.failed:
return
# C.g:250:15: ( declarator_suffix )*
while True: #loop31
alt31 = 2
LA31_0 = self.input.LA(1)
if (LA31_0 == 61) :
LA31 = self.input.LA(2)
if LA31 == 62:
LA31_30 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 58:
LA31_31 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 65:
LA31_32 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 59:
LA31_33 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 60:
LA31_34 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == IDENTIFIER:
LA31_35 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33:
LA31_37 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 34:
LA31_38 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 35:
LA31_39 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 36:
LA31_40 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 37:
LA31_41 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 38:
LA31_42 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 39:
LA31_43 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 40:
LA31_44 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 41:
LA31_45 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 42:
LA31_46 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 45 or LA31 == 46:
LA31_47 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 48:
LA31_48 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 49 or LA31 == 50 or LA31 == 51 or LA31 == 52 or LA31 == 53 or LA31 == 54 or LA31 == 55 or LA31 == 56 or LA31 == 57:
LA31_49 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif (LA31_0 == 63) :
LA31 = self.input.LA(2)
if LA31 == 64:
LA31_51 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 61:
LA31_52 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == IDENTIFIER:
LA31_53 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == HEX_LITERAL:
LA31_54 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == OCTAL_LITERAL:
LA31_55 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == DECIMAL_LITERAL:
LA31_56 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == CHARACTER_LITERAL:
LA31_57 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == STRING_LITERAL:
LA31_58 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == FLOATING_POINT_LITERAL:
LA31_59 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 71:
LA31_60 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 72:
LA31_61 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 65 or LA31 == 67 or LA31 == 68 or LA31 == 76 or LA31 == 77 or LA31 == 78:
LA31_62 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
elif LA31 == 73:
LA31_63 = self.input.LA(3)
if (self.synpred66()) :
alt31 = 1
if alt31 == 1:
# C.g:0:0: declarator_suffix
self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator806)
self.declarator_suffix()
self.following.pop()
if self.failed:
return
else:
break #loop31
elif alt34 == 2:
# C.g:251:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
self.match(self.input, 61, self.FOLLOW_61_in_direct_declarator812)
if self.failed:
return
# C.g:251:8: ( 'EFIAPI' )?
alt32 = 2
LA32_0 = self.input.LA(1)
if (LA32_0 == 58) :
LA32_1 = self.input.LA(2)
if (self.synpred68()) :
alt32 = 1
if alt32 == 1:
# C.g:251:9: 'EFIAPI'
self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator815)
if self.failed:
return
self.following.append(self.FOLLOW_declarator_in_direct_declarator819)
self.declarator()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator821)
if self.failed:
return
# C.g:251:35: ( declarator_suffix )+
cnt33 = 0
while True: #loop33
alt33 = 2
LA33_0 = self.input.LA(1)
if (LA33_0 == 61) :
LA33 = self.input.LA(2)
if LA33 == 62:
LA33_30 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 58:
LA33_31 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 65:
LA33_32 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 59:
LA33_33 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 60:
LA33_34 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == IDENTIFIER:
LA33_35 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33:
LA33_37 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 34:
LA33_38 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 35:
LA33_39 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 36:
LA33_40 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 37:
LA33_41 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 38:
LA33_42 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 39:
LA33_43 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 40:
LA33_44 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 41:
LA33_45 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 42:
LA33_46 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 45 or LA33 == 46:
LA33_47 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 48:
LA33_48 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 49 or LA33 == 50 or LA33 == 51 or LA33 == 52 or LA33 == 53 or LA33 == 54 or LA33 == 55 or LA33 == 56 or LA33 == 57:
LA33_49 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif (LA33_0 == 63) :
LA33 = self.input.LA(2)
if LA33 == 64:
LA33_51 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 61:
LA33_52 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == IDENTIFIER:
LA33_53 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == HEX_LITERAL:
LA33_54 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == OCTAL_LITERAL:
LA33_55 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == DECIMAL_LITERAL:
LA33_56 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == CHARACTER_LITERAL:
LA33_57 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == STRING_LITERAL:
LA33_58 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == FLOATING_POINT_LITERAL:
LA33_59 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 71:
LA33_60 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 72:
LA33_61 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 65 or LA33 == 67 or LA33 == 68 or LA33 == 76 or LA33 == 77 or LA33 == 78:
LA33_62 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
elif LA33 == 73:
LA33_63 = self.input.LA(3)
if (self.synpred69()) :
alt33 = 1
if alt33 == 1:
# C.g:0:0: declarator_suffix
self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator823)
self.declarator_suffix()
self.following.pop()
if self.failed:
return
else:
if cnt33 >= 1:
break #loop33
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(33, self.input)
raise eee
cnt33 += 1
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 23, direct_declarator_StartIndex)
pass
return
# $ANTLR end direct_declarator
# $ANTLR start declarator_suffix
# C.g:254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
def declarator_suffix(self, ):
declarator_suffix_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
return
# C.g:255:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
alt35 = 5
LA35_0 = self.input.LA(1)
if (LA35_0 == 63) :
LA35_1 = self.input.LA(2)
if (LA35_1 == 64) :
alt35 = 2
elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 61 or LA35_1 == 65 or (67 <= LA35_1 <= 68) or (71 <= LA35_1 <= 73) or (76 <= LA35_1 <= 78)) :
alt35 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
raise nvae
elif (LA35_0 == 61) :
LA35 = self.input.LA(2)
if LA35 == 62:
alt35 = 5
elif LA35 == IDENTIFIER:
LA35_17 = self.input.LA(3)
if (self.synpred72()) :
alt35 = 3
elif (self.synpred73()) :
alt35 = 4
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 17, self.input)
raise nvae
elif LA35 == 29 or LA35 == 30 or LA35 == 31 or LA35 == 32 or LA35 == 33 or LA35 == 34 or LA35 == 35 or LA35 == 36 or LA35 == 37 or LA35 == 38 or LA35 == 39 or LA35 == 40 or LA35 == 41 or LA35 == 42 or LA35 == 45 or LA35 == 46 or LA35 == 48 or LA35 == 49 or LA35 == 50 or LA35 == 51 or LA35 == 52 or LA35 == 53 or LA35 == 54 or LA35 == 55 or LA35 == 56 or LA35 == 57 or LA35 == 58 or LA35 == 59 or LA35 == 60 or LA35 == 65:
alt35 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
raise nvae
if alt35 == 1:
# C.g:255:6: '[' constant_expression ']'
self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix837)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix839)
self.constant_expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix841)
if self.failed:
return
elif alt35 == 2:
# C.g:256:9: '[' ']'
self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix851)
if self.failed:
return
self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix853)
if self.failed:
return
elif alt35 == 3:
# C.g:257:9: '(' parameter_type_list ')'
self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix863)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix865)
self.parameter_type_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix867)
if self.failed:
return
elif alt35 == 4:
# C.g:258:9: '(' identifier_list ')'
self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix877)
if self.failed:
return
self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix879)
self.identifier_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix881)
if self.failed:
return
elif alt35 == 5:
# C.g:259:9: '(' ')'
self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix891)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix893)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 24, declarator_suffix_StartIndex)
pass
return
# $ANTLR end declarator_suffix
# $ANTLR start pointer
# C.g:262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
def pointer(self, ):
pointer_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
return
# C.g:263:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
alt38 = 3
LA38_0 = self.input.LA(1)
if (LA38_0 == 65) :
LA38 = self.input.LA(2)
if LA38 == 58:
LA38_2 = self.input.LA(3)
if (self.synpred76()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
raise nvae
elif LA38 == 59:
LA38_3 = self.input.LA(3)
if (self.synpred76()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
raise nvae
elif LA38 == 60:
LA38_4 = self.input.LA(3)
if (self.synpred76()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
raise nvae
elif LA38 == EOF or LA38 == IDENTIFIER or LA38 == 25 or LA38 == 26 or LA38 == 27 or LA38 == 28 or LA38 == 29 or LA38 == 30 or LA38 == 31 or LA38 == 32 or LA38 == 33 or LA38 == 34 or LA38 == 35 or LA38 == 36 or LA38 == 37 or LA38 == 38 or LA38 == 39 or LA38 == 40 or LA38 == 41 or LA38 == 42 or LA38 == 43 or LA38 == 45 or LA38 == 46 or LA38 == 47 or LA38 == 48 or LA38 == 61 or LA38 == 62 or LA38 == 63:
alt38 = 3
elif LA38 == 53:
LA38_20 = self.input.LA(3)
if (self.synpred76()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 20, self.input)
raise nvae
elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57:
LA38_28 = self.input.LA(3)
if (self.synpred76()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 28, self.input)
raise nvae
elif LA38 == 65:
LA38_29 = self.input.LA(3)
if (self.synpred77()) :
alt38 = 2
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
raise nvae
if alt38 == 1:
# C.g:263:4: '*' ( type_qualifier )+ ( pointer )?
self.match(self.input, 65, self.FOLLOW_65_in_pointer904)
if self.failed:
return
# C.g:263:8: ( type_qualifier )+
cnt36 = 0
while True: #loop36
alt36 = 2
LA36 = self.input.LA(1)
if LA36 == 58:
LA36_2 = self.input.LA(2)
if (self.synpred74()) :
alt36 = 1
elif LA36 == 59:
LA36_3 = self.input.LA(2)
if (self.synpred74()) :
alt36 = 1
elif LA36 == 60:
LA36_4 = self.input.LA(2)
if (self.synpred74()) :
alt36 = 1
elif LA36 == 53:
LA36_20 = self.input.LA(2)
if (self.synpred74()) :
alt36 = 1
elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57:
LA36_28 = self.input.LA(2)
if (self.synpred74()) :
alt36 = 1
if alt36 == 1:
# C.g:0:0: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_pointer906)
self.type_qualifier()
self.following.pop()
if self.failed:
return
else:
if cnt36 >= 1:
break #loop36
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(36, self.input)
raise eee
cnt36 += 1
# C.g:263:24: ( pointer )?
alt37 = 2
LA37_0 = self.input.LA(1)
if (LA37_0 == 65) :
LA37_1 = self.input.LA(2)
if (self.synpred75()) :
alt37 = 1
if alt37 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_pointer909)
self.pointer()
self.following.pop()
if self.failed:
return
elif alt38 == 2:
# C.g:264:4: '*' pointer
self.match(self.input, 65, self.FOLLOW_65_in_pointer915)
if self.failed:
return
self.following.append(self.FOLLOW_pointer_in_pointer917)
self.pointer()
self.following.pop()
if self.failed:
return
elif alt38 == 3:
# C.g:265:4: '*'
self.match(self.input, 65, self.FOLLOW_65_in_pointer922)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 25, pointer_StartIndex)
pass
return
# $ANTLR end pointer
# $ANTLR start parameter_type_list
# C.g:268:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
def parameter_type_list(self, ):
parameter_type_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
return
# C.g:269:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
# C.g:269:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list933)
self.parameter_list()
self.following.pop()
if self.failed:
return
# C.g:269:19: ( ',' ( 'OPTIONAL' )? '...' )?
alt40 = 2
LA40_0 = self.input.LA(1)
if (LA40_0 == 27) :
alt40 = 1
if alt40 == 1:
# C.g:269:20: ',' ( 'OPTIONAL' )? '...'
self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list936)
if self.failed:
return
# C.g:269:24: ( 'OPTIONAL' )?
alt39 = 2
LA39_0 = self.input.LA(1)
if (LA39_0 == 53) :
alt39 = 1
if alt39 == 1:
# C.g:269:25: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list939)
if self.failed:
return
self.match(self.input, 66, self.FOLLOW_66_in_parameter_type_list943)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 26, parameter_type_list_StartIndex)
pass
return
# $ANTLR end parameter_type_list
# $ANTLR start parameter_list
# C.g:272:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
def parameter_list(self, ):
parameter_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
return
# C.g:273:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
# C.g:273:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list956)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
# C.g:273:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
while True: #loop42
alt42 = 2
LA42_0 = self.input.LA(1)
if (LA42_0 == 27) :
LA42_1 = self.input.LA(2)
if (LA42_1 == 53) :
LA42_3 = self.input.LA(3)
if (self.synpred81()) :
alt42 = 1
elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 60) or LA42_1 == 65) :
alt42 = 1
if alt42 == 1:
# C.g:273:27: ',' ( 'OPTIONAL' )? parameter_declaration
self.match(self.input, 27, self.FOLLOW_27_in_parameter_list959)
if self.failed:
return
# C.g:273:31: ( 'OPTIONAL' )?
alt41 = 2
LA41_0 = self.input.LA(1)
if (LA41_0 == 53) :
LA41_1 = self.input.LA(2)
if (self.synpred80()) :
alt41 = 1
if alt41 == 1:
# C.g:273:32: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_parameter_list962)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list966)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
else:
break #loop42
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 27, parameter_list_StartIndex)
pass
return
# $ANTLR end parameter_list
# $ANTLR start parameter_declaration
# C.g:276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
def parameter_declaration(self, ):
parameter_declaration_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
return
# C.g:277:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
alt46 = 2
LA46 = self.input.LA(1)
if LA46 == 29 or LA46 == 30 or LA46 == 31 or LA46 == 32 or LA46 == 33 or LA46 == 34 or LA46 == 35 or LA46 == 36 or LA46 == 37 or LA46 == 38 or LA46 == 39 or LA46 == 40 or LA46 == 41 or LA46 == 42 or LA46 == 45 or LA46 == 46 or LA46 == 48 or LA46 == 49 or LA46 == 50 or LA46 == 51 or LA46 == 52 or LA46 == 53 or LA46 == 54 or LA46 == 55 or LA46 == 56 or LA46 == 57 or LA46 == 58 or LA46 == 59 or LA46 == 60:
alt46 = 1
elif LA46 == IDENTIFIER:
LA46_13 = self.input.LA(2)
if (self.synpred85()) :
alt46 = 1
elif (True) :
alt46 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
raise nvae
elif LA46 == 65:
alt46 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
raise nvae
if alt46 == 1:
# C.g:277:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration979)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# C.g:277:27: ( declarator | abstract_declarator )*
while True: #loop43
alt43 = 3
LA43 = self.input.LA(1)
if LA43 == 65:
LA43_5 = self.input.LA(2)
if (self.synpred82()) :
alt43 = 1
elif (self.synpred83()) :
alt43 = 2
elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
alt43 = 1
elif LA43 == 61:
LA43 = self.input.LA(2)
if LA43 == 29 or LA43 == 30 or LA43 == 31 or LA43 == 32 or LA43 == 33 or LA43 == 34 or LA43 == 35 or LA43 == 36 or LA43 == 37 or LA43 == 38 or LA43 == 39 or LA43 == 40 or LA43 == 41 or LA43 == 42 or LA43 == 45 or LA43 == 46 or LA43 == 48 or LA43 == 49 or LA43 == 50 or LA43 == 51 or LA43 == 52 or LA43 == 53 or LA43 == 54 or LA43 == 55 or LA43 == 56 or LA43 == 57 or LA43 == 62 or LA43 == 63:
alt43 = 2
elif LA43 == IDENTIFIER:
LA43_37 = self.input.LA(3)
if (self.synpred82()) :
alt43 = 1
elif (self.synpred83()) :
alt43 = 2
elif LA43 == 58:
LA43_38 = self.input.LA(3)
if (self.synpred82()) :
alt43 = 1
elif (self.synpred83()) :
alt43 = 2
elif LA43 == 65:
LA43_39 = self.input.LA(3)
if (self.synpred82()) :
alt43 = 1
elif (self.synpred83()) :
alt43 = 2
elif LA43 == 59:
LA43_40 = self.input.LA(3)
if (self.synpred82()) :
alt43 = 1
elif (self.synpred83()) :
alt43 = 2
elif LA43 == 60:
LA43_41 = self.input.LA(3)
if (self.synpred82()) :
alt43 = 1
elif (self.synpred83()) :
alt43 = 2
elif LA43 == 61:
LA43_43 = self.input.LA(3)
if (self.synpred82()) :
alt43 = 1
elif (self.synpred83()) :
alt43 = 2
elif LA43 == 63:
alt43 = 2
if alt43 == 1:
# C.g:277:28: declarator
self.following.append(self.FOLLOW_declarator_in_parameter_declaration982)
self.declarator()
self.following.pop()
if self.failed:
return
elif alt43 == 2:
# C.g:277:39: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration984)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
else:
break #loop43
# C.g:277:61: ( 'OPTIONAL' )?
alt44 = 2
LA44_0 = self.input.LA(1)
if (LA44_0 == 53) :
alt44 = 1
if alt44 == 1:
# C.g:277:62: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration989)
if self.failed:
return
elif alt46 == 2:
# C.g:279:4: ( pointer )* IDENTIFIER
# C.g:279:4: ( pointer )*
while True: #loop45
alt45 = 2
LA45_0 = self.input.LA(1)
if (LA45_0 == 65) :
alt45 = 1
if alt45 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_parameter_declaration998)
self.pointer()
self.following.pop()
if self.failed:
return
else:
break #loop45
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1001)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 28, parameter_declaration_StartIndex)
pass
return
# $ANTLR end parameter_declaration
# $ANTLR start identifier_list
# C.g:282:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
def identifier_list(self, ):
identifier_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
return
# C.g:283:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
# C.g:283:4: IDENTIFIER ( ',' IDENTIFIER )*
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1012)
if self.failed:
return
# C.g:284:2: ( ',' IDENTIFIER )*
while True: #loop47
alt47 = 2
LA47_0 = self.input.LA(1)
if (LA47_0 == 27) :
alt47 = 1
if alt47 == 1:
# C.g:284:3: ',' IDENTIFIER
self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1016)
if self.failed:
return
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1018)
if self.failed:
return
else:
break #loop47
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 29, identifier_list_StartIndex)
pass
return
# $ANTLR end identifier_list
# $ANTLR start type_name
# C.g:287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
def type_name(self, ):
type_name_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
return
# C.g:288:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
alt49 = 2
LA49_0 = self.input.LA(1)
if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 60)) :
alt49 = 1
elif (LA49_0 == IDENTIFIER) :
LA49_13 = self.input.LA(2)
if (self.synpred89()) :
alt49 = 1
elif (True) :
alt49 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
raise nvae
if alt49 == 1:
# C.g:288:4: specifier_qualifier_list ( abstract_declarator )?
self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1031)
self.specifier_qualifier_list()
self.following.pop()
if self.failed:
return
# C.g:288:29: ( abstract_declarator )?
alt48 = 2
LA48_0 = self.input.LA(1)
if (LA48_0 == 61 or LA48_0 == 63 or LA48_0 == 65) :
alt48 = 1
if alt48 == 1:
# C.g:0:0: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_type_name1033)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
elif alt49 == 2:
# C.g:289:4: type_id
self.following.append(self.FOLLOW_type_id_in_type_name1039)
self.type_id()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 30, type_name_StartIndex)
pass
return
# $ANTLR end type_name
# $ANTLR start abstract_declarator
# C.g:292:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
def abstract_declarator(self, ):
abstract_declarator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
return
# C.g:293:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
alt51 = 2
LA51_0 = self.input.LA(1)
if (LA51_0 == 65) :
alt51 = 1
elif (LA51_0 == 61 or LA51_0 == 63) :
alt51 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("292:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
raise nvae
if alt51 == 1:
# C.g:293:4: pointer ( direct_abstract_declarator )?
self.following.append(self.FOLLOW_pointer_in_abstract_declarator1050)
self.pointer()
self.following.pop()
if self.failed:
return
# C.g:293:12: ( direct_abstract_declarator )?
alt50 = 2
LA50_0 = self.input.LA(1)
if (LA50_0 == 61) :
LA50 = self.input.LA(2)
if LA50 == 62:
LA50_12 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 58:
LA50_13 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 65:
LA50_14 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 59:
LA50_15 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 60:
LA50_16 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == IDENTIFIER:
LA50_17 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 61:
LA50_18 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
LA50_19 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 34:
LA50_20 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 35:
LA50_21 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 36:
LA50_22 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 37:
LA50_23 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 38:
LA50_24 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 39:
LA50_25 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 40:
LA50_26 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 41:
LA50_27 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 42:
LA50_28 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 45 or LA50 == 46:
LA50_29 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 48:
LA50_30 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 49 or LA50 == 50 or LA50 == 51 or LA50 == 52 or LA50 == 53 or LA50 == 54 or LA50 == 55 or LA50 == 56 or LA50 == 57:
LA50_31 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 63:
LA50_32 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif (LA50_0 == 63) :
LA50 = self.input.LA(2)
if LA50 == 64:
LA50_33 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 61:
LA50_34 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == IDENTIFIER:
LA50_35 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == HEX_LITERAL:
LA50_36 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == OCTAL_LITERAL:
LA50_37 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == DECIMAL_LITERAL:
LA50_38 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == CHARACTER_LITERAL:
LA50_39 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == STRING_LITERAL:
LA50_40 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == FLOATING_POINT_LITERAL:
LA50_41 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 71:
LA50_42 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 72:
LA50_43 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 65 or LA50 == 67 or LA50 == 68 or LA50 == 76 or LA50 == 77 or LA50 == 78:
LA50_44 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
elif LA50 == 73:
LA50_45 = self.input.LA(3)
if (self.synpred90()) :
alt50 = 1
if alt50 == 1:
# C.g:0:0: direct_abstract_declarator
self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1052)
self.direct_abstract_declarator()
self.following.pop()
if self.failed:
return
elif alt51 == 2:
# C.g:294:4: direct_abstract_declarator
self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1058)
self.direct_abstract_declarator()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 31, abstract_declarator_StartIndex)
pass
return
# $ANTLR end abstract_declarator
# $ANTLR start direct_abstract_declarator
# C.g:297:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
def direct_abstract_declarator(self, ):
direct_abstract_declarator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
return
# C.g:298:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
# C.g:298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
# C.g:298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
alt52 = 2
LA52_0 = self.input.LA(1)
if (LA52_0 == 61) :
LA52 = self.input.LA(2)
if LA52 == IDENTIFIER or LA52 == 29 or LA52 == 30 or LA52 == 31 or LA52 == 32 or LA52 == 33 or LA52 == 34 or LA52 == 35 or LA52 == 36 or LA52 == 37 or LA52 == 38 or LA52 == 39 or LA52 == 40 or LA52 == 41 or LA52 == 42 or LA52 == 45 or LA52 == 46 or LA52 == 48 or LA52 == 49 or LA52 == 50 or LA52 == 51 or LA52 == 52 or LA52 == 53 or LA52 == 54 or LA52 == 55 or LA52 == 56 or LA52 == 57 or LA52 == 58 or LA52 == 59 or LA52 == 60 or LA52 == 62:
alt52 = 2
elif LA52 == 65:
LA52_18 = self.input.LA(3)
if (self.synpred92()) :
alt52 = 1
elif (True) :
alt52 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
raise nvae
elif LA52 == 61 or LA52 == 63:
alt52 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
raise nvae
elif (LA52_0 == 63) :
alt52 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
raise nvae
if alt52 == 1:
# C.g:298:6: '(' abstract_declarator ')'
self.match(self.input, 61, self.FOLLOW_61_in_direct_abstract_declarator1071)
if self.failed:
return
self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1073)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1075)
if self.failed:
return
elif alt52 == 2:
# C.g:298:36: abstract_declarator_suffix
self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1079)
self.abstract_declarator_suffix()
self.following.pop()
if self.failed:
return
# C.g:298:65: ( abstract_declarator_suffix )*
while True: #loop53
alt53 = 2
LA53_0 = self.input.LA(1)
if (LA53_0 == 61) :
LA53 = self.input.LA(2)
if LA53 == 62:
LA53_12 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 58:
LA53_13 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 65:
LA53_14 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 59:
LA53_15 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 60:
LA53_16 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == IDENTIFIER:
LA53_17 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33:
LA53_19 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 34:
LA53_20 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 35:
LA53_21 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 36:
LA53_22 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 37:
LA53_23 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 38:
LA53_24 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 39:
LA53_25 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 40:
LA53_26 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 41:
LA53_27 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 42:
LA53_28 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 45 or LA53 == 46:
LA53_29 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 48:
LA53_30 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 49 or LA53 == 50 or LA53 == 51 or LA53 == 52 or LA53 == 53 or LA53 == 54 or LA53 == 55 or LA53 == 56 or LA53 == 57:
LA53_31 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif (LA53_0 == 63) :
LA53 = self.input.LA(2)
if LA53 == 64:
LA53_33 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 61:
LA53_34 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == IDENTIFIER:
LA53_35 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == HEX_LITERAL:
LA53_36 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == OCTAL_LITERAL:
LA53_37 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == DECIMAL_LITERAL:
LA53_38 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == CHARACTER_LITERAL:
LA53_39 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == STRING_LITERAL:
LA53_40 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == FLOATING_POINT_LITERAL:
LA53_41 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 71:
LA53_42 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 72:
LA53_43 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 65 or LA53 == 67 or LA53 == 68 or LA53 == 76 or LA53 == 77 or LA53 == 78:
LA53_44 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
elif LA53 == 73:
LA53_45 = self.input.LA(3)
if (self.synpred93()) :
alt53 = 1
if alt53 == 1:
# C.g:0:0: abstract_declarator_suffix
self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1083)
self.abstract_declarator_suffix()
self.following.pop()
if self.failed:
return
else:
break #loop53
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
pass
return
# $ANTLR end direct_abstract_declarator
# $ANTLR start abstract_declarator_suffix
# C.g:301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
def abstract_declarator_suffix(self, ):
abstract_declarator_suffix_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
return
# C.g:302:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
alt54 = 4
LA54_0 = self.input.LA(1)
if (LA54_0 == 63) :
LA54_1 = self.input.LA(2)
if (LA54_1 == 64) :
alt54 = 1
elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 61 or LA54_1 == 65 or (67 <= LA54_1 <= 68) or (71 <= LA54_1 <= 73) or (76 <= LA54_1 <= 78)) :
alt54 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
raise nvae
elif (LA54_0 == 61) :
LA54_2 = self.input.LA(2)
if (LA54_2 == 62) :
alt54 = 3
elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 60) or LA54_2 == 65) :
alt54 = 4
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
raise nvae
if alt54 == 1:
# C.g:302:4: '[' ']'
self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1095)
if self.failed:
return
self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1097)
if self.failed:
return
elif alt54 == 2:
# C.g:303:4: '[' constant_expression ']'
self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1102)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1104)
self.constant_expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1106)
if self.failed:
return
elif alt54 == 3:
# C.g:304:4: '(' ')'
self.match(self.input, 61, self.FOLLOW_61_in_abstract_declarator_suffix1111)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1113)
if self.failed:
return
elif alt54 == 4:
# C.g:305:4: '(' parameter_type_list ')'
self.match(self.input, 61, self.FOLLOW_61_in_abstract_declarator_suffix1118)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1120)
self.parameter_type_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1122)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
pass
return
# $ANTLR end abstract_declarator_suffix
# $ANTLR start initializer
# C.g:308:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
def initializer(self, ):
initializer_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
return
# C.g:310:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
alt56 = 2
LA56_0 = self.input.LA(1)
if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 61 or LA56_0 == 65 or (67 <= LA56_0 <= 68) or (71 <= LA56_0 <= 73) or (76 <= LA56_0 <= 78)) :
alt56 = 1
elif (LA56_0 == 43) :
alt56 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("308:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
raise nvae
if alt56 == 1:
# C.g:310:4: assignment_expression
self.following.append(self.FOLLOW_assignment_expression_in_initializer1135)
self.assignment_expression()
self.following.pop()
if self.failed:
return
elif alt56 == 2:
# C.g:311:4: '{' initializer_list ( ',' )? '}'
self.match(self.input, 43, self.FOLLOW_43_in_initializer1140)
if self.failed:
return
self.following.append(self.FOLLOW_initializer_list_in_initializer1142)
self.initializer_list()
self.following.pop()
if self.failed:
return
# C.g:311:25: ( ',' )?
alt55 = 2
LA55_0 = self.input.LA(1)
if (LA55_0 == 27) :
alt55 = 1
if alt55 == 1:
# C.g:0:0: ','
self.match(self.input, 27, self.FOLLOW_27_in_initializer1144)
if self.failed:
return
self.match(self.input, 44, self.FOLLOW_44_in_initializer1147)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 34, initializer_StartIndex)
pass
return
# $ANTLR end initializer
# $ANTLR start initializer_list
# C.g:314:1: initializer_list : initializer ( ',' initializer )* ;
def initializer_list(self, ):
initializer_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
return
# C.g:315:2: ( initializer ( ',' initializer )* )
# C.g:315:4: initializer ( ',' initializer )*
self.following.append(self.FOLLOW_initializer_in_initializer_list1158)
self.initializer()
self.following.pop()
if self.failed:
return
# C.g:315:16: ( ',' initializer )*
while True: #loop57
alt57 = 2
LA57_0 = self.input.LA(1)
if (LA57_0 == 27) :
LA57_1 = self.input.LA(2)
if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 61 or LA57_1 == 65 or (67 <= LA57_1 <= 68) or (71 <= LA57_1 <= 73) or (76 <= LA57_1 <= 78)) :
alt57 = 1
if alt57 == 1:
# C.g:315:17: ',' initializer
self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1161)
if self.failed:
return
self.following.append(self.FOLLOW_initializer_in_initializer_list1163)
self.initializer()
self.following.pop()
if self.failed:
return
else:
break #loop57
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 35, initializer_list_StartIndex)
pass
return
# $ANTLR end initializer_list
class argument_expression_list_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start argument_expression_list
# C.g:320:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
def argument_expression_list(self, ):
retval = self.argument_expression_list_return()
retval.start = self.input.LT(1)
argument_expression_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
return retval
# C.g:321:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
# C.g:321:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1181)
self.assignment_expression()
self.following.pop()
if self.failed:
return retval
# C.g:321:28: ( 'OPTIONAL' )?
alt58 = 2
LA58_0 = self.input.LA(1)
if (LA58_0 == 53) :
alt58 = 1
if alt58 == 1:
# C.g:321:29: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1184)
if self.failed:
return retval
# C.g:321:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
while True: #loop60
alt60 = 2
LA60_0 = self.input.LA(1)
if (LA60_0 == 27) :
alt60 = 1
if alt60 == 1:
# C.g:321:43: ',' assignment_expression ( 'OPTIONAL' )?
self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1189)
if self.failed:
return retval
self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1191)
self.assignment_expression()
self.following.pop()
if self.failed:
return retval
# C.g:321:69: ( 'OPTIONAL' )?
alt59 = 2
LA59_0 = self.input.LA(1)
if (LA59_0 == 53) :
alt59 = 1
if alt59 == 1:
# C.g:321:70: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1194)
if self.failed:
return retval
else:
break #loop60
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 36, argument_expression_list_StartIndex)
pass
return retval
# $ANTLR end argument_expression_list
# $ANTLR start additive_expression
# C.g:324:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
def additive_expression(self, ):
additive_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
return
# C.g:325:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
# C.g:325:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
# C.g:325:4: ( multiplicative_expression )
# C.g:325:5: multiplicative_expression
self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1210)
self.multiplicative_expression()
self.following.pop()
if self.failed:
return
# C.g:325:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
while True: #loop61
alt61 = 3
LA61_0 = self.input.LA(1)
if (LA61_0 == 67) :
alt61 = 1
elif (LA61_0 == 68) :
alt61 = 2
if alt61 == 1:
# C.g:325:33: '+' multiplicative_expression
self.match(self.input, 67, self.FOLLOW_67_in_additive_expression1214)
if self.failed:
return
self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1216)
self.multiplicative_expression()
self.following.pop()
if self.failed:
return
elif alt61 == 2:
# C.g:325:65: '-' multiplicative_expression
self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1220)
if self.failed:
return
self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1222)
self.multiplicative_expression()
self.following.pop()
if self.failed:
return
else:
break #loop61
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 37, additive_expression_StartIndex)
pass
return
# $ANTLR end additive_expression
# $ANTLR start multiplicative_expression
# C.g:328:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
def multiplicative_expression(self, ):
multiplicative_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
return
# C.g:329:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
# C.g:329:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
# C.g:329:4: ( cast_expression )
# C.g:329:5: cast_expression
self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1236)
self.cast_expression()
self.following.pop()
if self.failed:
return
# C.g:329:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
while True: #loop62
alt62 = 4
LA62 = self.input.LA(1)
if LA62 == 65:
alt62 = 1
elif LA62 == 69:
alt62 = 2
elif LA62 == 70:
alt62 = 3
if alt62 == 1:
# C.g:329:23: '*' cast_expression
self.match(self.input, 65, self.FOLLOW_65_in_multiplicative_expression1240)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1242)
self.cast_expression()
self.following.pop()
if self.failed:
return
elif alt62 == 2:
# C.g:329:45: '/' cast_expression
self.match(self.input, 69, self.FOLLOW_69_in_multiplicative_expression1246)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1248)
self.cast_expression()
self.following.pop()
if self.failed:
return
elif alt62 == 3:
# C.g:329:67: '%' cast_expression
self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1252)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1254)
self.cast_expression()
self.following.pop()
if self.failed:
return
else:
break #loop62
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 38, multiplicative_expression_StartIndex)
pass
return
# $ANTLR end multiplicative_expression
# $ANTLR start cast_expression
# C.g:332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
def cast_expression(self, ):
cast_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
return
# C.g:333:2: ( '(' type_name ')' cast_expression | unary_expression )
alt63 = 2
LA63_0 = self.input.LA(1)
if (LA63_0 == 61) :
LA63 = self.input.LA(2)
if LA63 == IDENTIFIER:
LA63_13 = self.input.LA(3)
if (self.synpred108()) :
alt63 = 1
elif (True) :
alt63 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 13, self.input)
raise nvae
elif LA63 == HEX_LITERAL or LA63 == OCTAL_LITERAL or LA63 == DECIMAL_LITERAL or LA63 == CHARACTER_LITERAL or LA63 == STRING_LITERAL or LA63 == FLOATING_POINT_LITERAL or LA63 == 61 or LA63 == 65 or LA63 == 67 or LA63 == 68 or LA63 == 71 or LA63 == 72 or LA63 == 73 or LA63 == 76 or LA63 == 77 or LA63 == 78:
alt63 = 2
elif LA63 == 34 or LA63 == 35 or LA63 == 36 or LA63 == 37 or LA63 == 38 or LA63 == 39 or LA63 == 40 or LA63 == 41 or LA63 == 42 or LA63 == 45 or LA63 == 46 or LA63 == 48 or LA63 == 49 or LA63 == 50 or LA63 == 51 or LA63 == 52 or LA63 == 53 or LA63 == 54 or LA63 == 55 or LA63 == 56 or LA63 == 57 or LA63 == 58 or LA63 == 59 or LA63 == 60:
alt63 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
raise nvae
elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 65 or (67 <= LA63_0 <= 68) or (71 <= LA63_0 <= 73) or (76 <= LA63_0 <= 78)) :
alt63 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
raise nvae
if alt63 == 1:
# C.g:333:4: '(' type_name ')' cast_expression
self.match(self.input, 61, self.FOLLOW_61_in_cast_expression1267)
if self.failed:
return
self.following.append(self.FOLLOW_type_name_in_cast_expression1269)
self.type_name()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1271)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_cast_expression1273)
self.cast_expression()
self.following.pop()
if self.failed:
return
elif alt63 == 2:
# C.g:334:4: unary_expression
self.following.append(self.FOLLOW_unary_expression_in_cast_expression1278)
self.unary_expression()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 39, cast_expression_StartIndex)
pass
return
# $ANTLR end cast_expression
# $ANTLR start unary_expression
# C.g:337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
def unary_expression(self, ):
unary_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
return
# C.g:338:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
alt64 = 6
LA64 = self.input.LA(1)
if LA64 == IDENTIFIER or LA64 == HEX_LITERAL or LA64 == OCTAL_LITERAL or LA64 == DECIMAL_LITERAL or LA64 == CHARACTER_LITERAL or LA64 == STRING_LITERAL or LA64 == FLOATING_POINT_LITERAL or LA64 == 61:
alt64 = 1
elif LA64 == 71:
alt64 = 2
elif LA64 == 72:
alt64 = 3
elif LA64 == 65 or LA64 == 67 or LA64 == 68 or LA64 == 76 or LA64 == 77 or LA64 == 78:
alt64 = 4
elif LA64 == 73:
LA64_12 = self.input.LA(2)
if (LA64_12 == 61) :
LA64_13 = self.input.LA(3)
if (self.synpred113()) :
alt64 = 5
elif (True) :
alt64 = 6
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self.input)
raise nvae
elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 65 or (67 <= LA64_12 <= 68) or (71 <= LA64_12 <= 73) or (76 <= LA64_12 <= 78)) :
alt64 = 5
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self.input)
raise nvae
if alt64 == 1:
# C.g:338:4: postfix_expression
self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1289)
self.postfix_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 2:
# C.g:339:4: '++' unary_expression
self.match(self.input, 71, self.FOLLOW_71_in_unary_expression1294)
if self.failed:
return
self.following.append(self.FOLLOW_unary_expression_in_unary_expression1296)
self.unary_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 3:
# C.g:340:4: '--' unary_expression
self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1301)
if self.failed:
return
self.following.append(self.FOLLOW_unary_expression_in_unary_expression1303)
self.unary_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 4:
# C.g:341:4: unary_operator cast_expression
self.following.append(self.FOLLOW_unary_operator_in_unary_expression1308)
self.unary_operator()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_unary_expression1310)
self.cast_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 5:
# C.g:342:4: 'sizeof' unary_expression
self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1315)
if self.failed:
return
self.following.append(self.FOLLOW_unary_expression_in_unary_expression1317)
self.unary_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 6:
# C.g:343:4: 'sizeof' '(' type_name ')'
self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1322)
if self.failed:
return
self.match(self.input, 61, self.FOLLOW_61_in_unary_expression1324)
if self.failed:
return
self.following.append(self.FOLLOW_type_name_in_unary_expression1326)
self.type_name()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1328)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 40, unary_expression_StartIndex)
pass
return
# $ANTLR end unary_expression
# $ANTLR start postfix_expression
# C.g:346:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
def postfix_expression(self, ):
self.postfix_expression_stack.append(postfix_expression_scope())
postfix_expression_StartIndex = self.input.index()
a = None
b = None
x = None
y = None
z = None
p = None
c = None
self.postfix_expression_stack[-1].FuncCallText = ''
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
return
# C.g:353:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
# C.g:353:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1352)
p = self.primary_expression()
self.following.pop()
if self.failed:
return
if self.backtracking == 0:
self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)
# C.g:354:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
while True: #loop65
alt65 = 10
LA65 = self.input.LA(1)
if LA65 == 65:
LA65_1 = self.input.LA(2)
if (LA65_1 == IDENTIFIER) :
LA65_30 = self.input.LA(3)
if (self.synpred119()) :
alt65 = 6
elif LA65 == 63:
alt65 = 1
elif LA65 == 61:
LA65 = self.input.LA(2)
if LA65 == 62:
alt65 = 2
elif LA65 == IDENTIFIER:
LA65_43 = self.input.LA(3)
if (self.synpred116()) :
alt65 = 3
elif (self.synpred117()) :
alt65 = 4
elif LA65 == HEX_LITERAL or LA65 == OCTAL_LITERAL or LA65 == DECIMAL_LITERAL or LA65 == CHARACTER_LITERAL or LA65 == STRING_LITERAL or LA65 == FLOATING_POINT_LITERAL or LA65 == 61 or LA65 == 67 or LA65 == 68 or LA65 == 71 or LA65 == 72 or LA65 == 73 or LA65 == 76 or LA65 == 77 or LA65 == 78:
alt65 = 3
elif LA65 == 65:
LA65_53 = self.input.LA(3)
if (self.synpred116()) :
alt65 = 3
elif (self.synpred117()) :
alt65 = 4
elif LA65 == 29 or LA65 == 30 or LA65 == 31 or LA65 == 32 or LA65 == 33 or LA65 == 34 or LA65 == 35 or LA65 == 36 or LA65 == 37 or LA65 == 38 or LA65 == 39 or LA65 == 40 or LA65 == 41 or LA65 == 42 or LA65 == 45 or LA65 == 46 or LA65 == 48 or LA65 == 49 or LA65 == 50 or LA65 == 51 or LA65 == 52 or LA65 == 53 or LA65 == 54 or LA65 == 55 or LA65 == 56 or LA65 == 57 or LA65 == 58 or LA65 == 59 or LA65 == 60:
alt65 = 4
elif LA65 == 74:
alt65 = 5
elif LA65 == 75:
alt65 = 7
elif LA65 == 71:
alt65 = 8
elif LA65 == 72:
alt65 = 9
if alt65 == 1:
# C.g:354:13: '[' expression ']'
self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1368)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_postfix_expression1370)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1372)
if self.failed:
return
elif alt65 == 2:
# C.g:355:13: '(' a= ')'
self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1386)
if self.failed:
return
a = self.input.LT(1)
self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1390)
if self.failed:
return
if self.backtracking == 0:
self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
elif alt65 == 3:
# C.g:356:13: '(' c= argument_expression_list b= ')'
self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1405)
if self.failed:
return
self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1409)
c = self.argument_expression_list()
self.following.pop()
if self.failed:
return
b = self.input.LT(1)
self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1413)
if self.failed:
return
if self.backtracking == 0:
self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start,c.stop))
elif alt65 == 4:
# C.g:357:13: '(' macro_parameter_list ')'
self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1429)
if self.failed:
return
self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1431)
self.macro_parameter_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1433)
if self.failed:
return
elif alt65 == 5:
# C.g:358:13: '.' x= IDENTIFIER
self.match(self.input, 74, self.FOLLOW_74_in_postfix_expression1447)
if self.failed:
return
x = self.input.LT(1)
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1451)
if self.failed:
return
if self.backtracking == 0:
self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
elif alt65 == 6:
# C.g:359:13: '*' y= IDENTIFIER
self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1467)
if self.failed:
return
y = self.input.LT(1)
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1471)
if self.failed:
return
if self.backtracking == 0:
self.postfix_expression_stack[-1].FuncCallText = y.text
elif alt65 == 7:
# C.g:360:13: '->' z= IDENTIFIER
self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1487)
if self.failed:
return
z = self.input.LT(1)
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1491)
if self.failed:
return
if self.backtracking == 0:
self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
elif alt65 == 8:
# C.g:361:13: '++'
self.match(self.input, 71, self.FOLLOW_71_in_postfix_expression1507)
if self.failed:
return
elif alt65 == 9:
# C.g:362:13: '--'
self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1521)
if self.failed:
return
else:
break #loop65
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 41, postfix_expression_StartIndex)
self.postfix_expression_stack.pop()
pass
return
# $ANTLR end postfix_expression
# $ANTLR start macro_parameter_list
# C.g:366:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
def macro_parameter_list(self, ):
macro_parameter_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
return
# C.g:367:2: ( parameter_declaration ( ',' parameter_declaration )* )
# C.g:367:4: parameter_declaration ( ',' parameter_declaration )*
self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1544)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
# C.g:367:26: ( ',' parameter_declaration )*
while True: #loop66
alt66 = 2
LA66_0 = self.input.LA(1)
if (LA66_0 == 27) :
alt66 = 1
if alt66 == 1:
# C.g:367:27: ',' parameter_declaration
self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1547)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1549)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
else:
break #loop66
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 42, macro_parameter_list_StartIndex)
pass
return
# $ANTLR end macro_parameter_list
# $ANTLR start unary_operator
# C.g:370:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
def unary_operator(self, ):
unary_operator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
return
# C.g:371:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
# C.g:
if self.input.LA(1) == 65 or (67 <= self.input.LA(1) <= 68) or (76 <= self.input.LA(1) <= 78):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_unary_operator0
)
raise mse
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 43, unary_operator_StartIndex)
pass
return
# $ANTLR end unary_operator
class primary_expression_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start primary_expression
# C.g:379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
def primary_expression(self, ):
retval = self.primary_expression_return()
retval.start = self.input.LT(1)
primary_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
return retval
# C.g:380:2: ( IDENTIFIER | constant | '(' expression ')' )
alt67 = 3
LA67 = self.input.LA(1)
if LA67 == IDENTIFIER:
LA67_1 = self.input.LA(2)
if (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
alt67 = 2
elif (LA67_1 == EOF or LA67_1 == 25 or (27 <= LA67_1 <= 28) or LA67_1 == 44 or LA67_1 == 47 or LA67_1 == 53 or (61 <= LA67_1 <= 65) or (67 <= LA67_1 <= 72) or (74 <= LA67_1 <= 76) or (79 <= LA67_1 <= 101)) :
alt67 = 1
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input)
raise nvae
elif LA67 == HEX_LITERAL or LA67 == OCTAL_LITERAL or LA67 == DECIMAL_LITERAL or LA67 == CHARACTER_LITERAL or LA67 == STRING_LITERAL or LA67 == FLOATING_POINT_LITERAL:
alt67 = 2
elif LA67 == 61:
alt67 = 3
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
raise nvae
if alt67 == 1:
# C.g:380:4: IDENTIFIER
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1598)
if self.failed:
return retval
elif alt67 == 2:
# C.g:381:4: constant
self.following.append(self.FOLLOW_constant_in_primary_expression1603)
self.constant()
self.following.pop()
if self.failed:
return retval
elif alt67 == 3:
# C.g:382:4: '(' expression ')'
self.match(self.input, 61, self.FOLLOW_61_in_primary_expression1608)
if self.failed:
return retval
self.following.append(self.FOLLOW_expression_in_primary_expression1610)
self.expression()
self.following.pop()
if self.failed:
return retval
self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1612)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 44, primary_expression_StartIndex)
pass
return retval
# $ANTLR end primary_expression
# $ANTLR start constant
# C.g:385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
def constant(self, ):
constant_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
return
# C.g:386:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
alt72 = 6
LA72 = self.input.LA(1)
if LA72 == HEX_LITERAL:
alt72 = 1
elif LA72 == OCTAL_LITERAL:
alt72 = 2
elif LA72 == DECIMAL_LITERAL:
alt72 = 3
elif LA72 == CHARACTER_LITERAL:
alt72 = 4
elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
alt72 = 5
elif LA72 == FLOATING_POINT_LITERAL:
alt72 = 6
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input)
raise nvae
if alt72 == 1:
# C.g:386:9: HEX_LITERAL
self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1628)
if self.failed:
return
elif alt72 == 2:
# C.g:387:9: OCTAL_LITERAL
self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1638)
if self.failed:
return
elif alt72 == 3:
# C.g:388:9: DECIMAL_LITERAL
self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1648)
if self.failed:
return
elif alt72 == 4:
# C.g:389:7: CHARACTER_LITERAL
self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1656)
if self.failed:
return
elif alt72 == 5:
# C.g:390:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
# C.g:390:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
cnt70 = 0
while True: #loop70
alt70 = 2
LA70_0 = self.input.LA(1)
if (LA70_0 == IDENTIFIER) :
LA70_1 = self.input.LA(2)
if (LA70_1 == IDENTIFIER) :
LA70_61 = self.input.LA(3)
if (self.synpred137()) :
alt70 = 1
elif (LA70_1 == STRING_LITERAL) :
alt70 = 1
elif (LA70_0 == STRING_LITERAL) :
alt70 = 1
if alt70 == 1:
# C.g:390:8: ( IDENTIFIER )* ( STRING_LITERAL )+
# C.g:390:8: ( IDENTIFIER )*
while True: #loop68
alt68 = 2
LA68_0 = self.input.LA(1)
if (LA68_0 == IDENTIFIER) :
alt68 = 1
if alt68 == 1:
# C.g:0:0: IDENTIFIER
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1665)
if self.failed:
return
else:
break #loop68
# C.g:390:20: ( STRING_LITERAL )+
cnt69 = 0
while True: #loop69
alt69 = 2
LA69_0 = self.input.LA(1)
if (LA69_0 == STRING_LITERAL) :
LA69_31 = self.input.LA(2)
if (self.synpred136()) :
alt69 = 1
if alt69 == 1:
# C.g:0:0: STRING_LITERAL
self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1668)
if self.failed:
return
else:
if cnt69 >= 1:
break #loop69
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(69, self.input)
raise eee
cnt69 += 1
else:
if cnt70 >= 1:
break #loop70
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(70, self.input)
raise eee
cnt70 += 1
# C.g:390:38: ( IDENTIFIER )*
while True: #loop71
alt71 = 2
LA71_0 = self.input.LA(1)
if (LA71_0 == IDENTIFIER) :
alt71 = 1
if alt71 == 1:
# C.g:0:0: IDENTIFIER
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1673)
if self.failed:
return
else:
break #loop71
elif alt72 == 6:
# C.g:391:9: FLOATING_POINT_LITERAL
self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1684)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 45, constant_StartIndex)
pass
return
# $ANTLR end constant
class expression_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start expression
# C.g:396:1: expression : assignment_expression ( ',' assignment_expression )* ;
def expression(self, ):
retval = self.expression_return()
retval.start = self.input.LT(1)
expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
return retval
# C.g:397:2: ( assignment_expression ( ',' assignment_expression )* )
# C.g:397:4: assignment_expression ( ',' assignment_expression )*
self.following.append(self.FOLLOW_assignment_expression_in_expression1700)
self.assignment_expression()
self.following.pop()
if self.failed:
return retval
# C.g:397:26: ( ',' assignment_expression )*
while True: #loop73
alt73 = 2
LA73_0 = self.input.LA(1)
if (LA73_0 == 27) :
alt73 = 1
if alt73 == 1:
# C.g:397:27: ',' assignment_expression
self.match(self.input, 27, self.FOLLOW_27_in_expression1703)
if self.failed:
return retval
self.following.append(self.FOLLOW_assignment_expression_in_expression1705)
self.assignment_expression()
self.following.pop()
if self.failed:
return retval
else:
break #loop73
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 46, expression_StartIndex)
pass
return retval
# $ANTLR end expression
# $ANTLR start constant_expression
# C.g:400:1: constant_expression : conditional_expression ;
def constant_expression(self, ):
constant_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
return
# C.g:401:2: ( conditional_expression )
# C.g:401:4: conditional_expression
self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1718)
self.conditional_expression()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 47, constant_expression_StartIndex)
pass
return
# $ANTLR end constant_expression
# $ANTLR start assignment_expression
# C.g:404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
def assignment_expression(self, ):
assignment_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
return
# C.g:405:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
alt74 = 2
LA74 = self.input.LA(1)
if LA74 == IDENTIFIER:
LA74 = self.input.LA(2)
if LA74 == STRING_LITERAL:
LA74_13 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
raise nvae
elif LA74 == IDENTIFIER:
LA74_14 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
raise nvae
elif LA74 == 63:
LA74_15 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
raise nvae
elif LA74 == 61:
LA74_16 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
raise nvae
elif LA74 == 74:
LA74_17 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
raise nvae
elif LA74 == 65:
LA74_18 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
raise nvae
elif LA74 == 75:
LA74_19 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
raise nvae
elif LA74 == 71:
LA74_20 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 20, self.input)
raise nvae
elif LA74 == 72:
LA74_21 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
raise nvae
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101:
alt74 = 2
elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88:
alt74 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input)
raise nvae
elif LA74 == HEX_LITERAL:
LA74 = self.input.LA(2)
if LA74 == 63:
LA74_44 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
raise nvae
elif LA74 == 61:
LA74_45 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
raise nvae
elif LA74 == 74:
LA74_46 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
raise nvae
elif LA74 == 65:
LA74_47 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
raise nvae
elif LA74 == 75:
LA74_48 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
raise nvae
elif LA74 == 71:
LA74_49 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
raise nvae
elif LA74 == 72:
LA74_50 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
raise nvae
elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88:
alt74 = 1
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101:
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input)
raise nvae
elif LA74 == OCTAL_LITERAL:
LA74 = self.input.LA(2)
if LA74 == 63:
LA74_73 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
raise nvae
elif LA74 == 61:
LA74_74 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
raise nvae
elif LA74 == 74:
LA74_75 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
raise nvae
elif LA74 == 65:
LA74_76 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
raise nvae
elif LA74 == 75:
LA74_77 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
raise nvae
elif LA74 == 71:
LA74_78 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
raise nvae
elif LA74 == 72:
LA74_79 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
raise nvae
elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88:
alt74 = 1
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101:
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input)
raise nvae
elif LA74 == DECIMAL_LITERAL:
LA74 = self.input.LA(2)
if LA74 == 63:
LA74_102 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
raise nvae
elif LA74 == 61:
LA74_103 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
raise nvae
elif LA74 == 74:
LA74_104 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
raise nvae
elif LA74 == 65:
LA74_105 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
raise nvae
elif LA74 == 75:
LA74_106 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
raise nvae
elif LA74 == 71:
LA74_107 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
raise nvae
elif LA74 == 72:
LA74_108 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input)
raise nvae
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101:
alt74 = 2
elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88:
alt74 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input)
raise nvae
elif LA74 == CHARACTER_LITERAL:
LA74 = self.input.LA(2)
if LA74 == 63:
LA74_131 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
raise nvae
elif LA74 == 61:
LA74_132 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
raise nvae
elif LA74 == 74:
LA74_133 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
raise nvae
elif LA74 == 65:
LA74_134 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
raise nvae
elif LA74 == 75:
LA74_135 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
raise nvae
elif LA74 == 71:
LA74_136 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
raise nvae
elif LA74 == 72:
LA74_137 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
raise nvae
elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88:
alt74 = 1
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101:
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
raise nvae
elif LA74 == STRING_LITERAL:
LA74 = self.input.LA(2)
if LA74 == IDENTIFIER:
LA74_160 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
raise nvae
elif LA74 == 63:
LA74_161 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
raise nvae
elif LA74 == 61:
LA74_162 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
raise nvae
elif LA74 == 74:
LA74_163 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
raise nvae
elif LA74 == 65:
LA74_164 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
raise nvae
elif LA74 == 75:
LA74_165 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
raise nvae
elif LA74 == 71:
LA74_166 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
raise nvae
elif LA74 == 72:
LA74_167 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
raise nvae
elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88:
alt74 = 1
elif LA74 == STRING_LITERAL:
LA74_169 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 169, self.input)
raise nvae
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101:
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input)
raise nvae
elif LA74 == FLOATING_POINT_LITERAL:
LA74 = self.input.LA(2)
if LA74 == 63:
LA74_191 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
raise nvae
elif LA74 == 61:
LA74_192 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
raise nvae
elif LA74 == 74:
LA74_193 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
raise nvae
elif LA74 == 65:
LA74_194 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
raise nvae
elif LA74 == 75:
LA74_195 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
raise nvae
elif LA74 == 71:
LA74_196 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
raise nvae
elif LA74 == 72:
LA74_197 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input)
raise nvae
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101:
alt74 = 2
elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88:
alt74 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
raise nvae
elif LA74 == 61:
LA74 = self.input.LA(2)
if LA74 == IDENTIFIER:
LA74_220 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input)
raise nvae
elif LA74 == HEX_LITERAL:
LA74_221 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input)
raise nvae
elif LA74 == OCTAL_LITERAL:
LA74_222 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input)
raise nvae
elif LA74 == DECIMAL_LITERAL:
LA74_223 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input)
raise nvae
elif LA74 == CHARACTER_LITERAL:
LA74_224 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input)
raise nvae
elif LA74 == STRING_LITERAL:
LA74_225 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input)
raise nvae
elif LA74 == FLOATING_POINT_LITERAL:
LA74_226 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
raise nvae
elif LA74 == 61:
LA74_227 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
raise nvae
elif LA74 == 71:
LA74_228 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
raise nvae
elif LA74 == 72:
LA74_229 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
raise nvae
elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
LA74_230 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
raise nvae
elif LA74 == 73:
LA74_231 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input)
raise nvae
elif LA74 == 34 or LA74 == 35 or LA74 == 36 or LA74 == 37 or LA74 == 38 or LA74 == 39 or LA74 == 40 or LA74 == 41 or LA74 == 42 or LA74 == 45 or LA74 == 46 or LA74 == 48 or LA74 == 49 or LA74 == 50 or LA74 == 51 or LA74 == 52 or LA74 == 53 or LA74 == 54 or LA74 == 55 or LA74 == 56 or LA74 == 57 or LA74 == 58 or LA74 == 59 or LA74 == 60:
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
raise nvae
elif LA74 == 71:
LA74 = self.input.LA(2)
if LA74 == IDENTIFIER:
LA74_244 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input)
raise nvae
elif LA74 == HEX_LITERAL:
LA74_245 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input)
raise nvae
elif LA74 == OCTAL_LITERAL:
LA74_246 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input)
raise nvae
elif LA74 == DECIMAL_LITERAL:
LA74_247 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input)
raise nvae
elif LA74 == CHARACTER_LITERAL:
LA74_248 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input)
raise nvae
elif LA74 == STRING_LITERAL:
LA74_249 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input)
raise nvae
elif LA74 == FLOATING_POINT_LITERAL:
LA74_250 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
raise nvae
elif LA74 == 61:
LA74_251 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
raise nvae
elif LA74 == 71:
LA74_252 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
raise nvae
elif LA74 == 72:
LA74_253 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
raise nvae
elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
LA74_254 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
raise nvae
elif LA74 == 73:
LA74_255 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
raise nvae
elif LA74 == 72:
LA74 = self.input.LA(2)
if LA74 == IDENTIFIER:
LA74_256 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input)
raise nvae
elif LA74 == HEX_LITERAL:
LA74_257 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input)
raise nvae
elif LA74 == OCTAL_LITERAL:
LA74_258 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input)
raise nvae
elif LA74 == DECIMAL_LITERAL:
LA74_259 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input)
raise nvae
elif LA74 == CHARACTER_LITERAL:
LA74_260 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input)
raise nvae
elif LA74 == STRING_LITERAL:
LA74_261 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input)
raise nvae
elif LA74 == FLOATING_POINT_LITERAL:
LA74_262 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
raise nvae
elif LA74 == 61:
LA74_263 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
raise nvae
elif LA74 == 71:
LA74_264 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
raise nvae
elif LA74 == 72:
LA74_265 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
raise nvae
elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
LA74_266 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
raise nvae
elif LA74 == 73:
LA74_267 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
raise nvae
elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
LA74 = self.input.LA(2)
if LA74 == 61:
LA74_268 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input)
raise nvae
elif LA74 == IDENTIFIER:
LA74_269 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input)
raise nvae
elif LA74 == HEX_LITERAL:
LA74_270 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input)
raise nvae
elif LA74 == OCTAL_LITERAL:
LA74_271 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input)
raise nvae
elif LA74 == DECIMAL_LITERAL:
LA74_272 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input)
raise nvae
elif LA74 == CHARACTER_LITERAL:
LA74_273 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input)
raise nvae
elif LA74 == STRING_LITERAL:
LA74_274 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input)
raise nvae
elif LA74 == FLOATING_POINT_LITERAL:
LA74_275 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
raise nvae
elif LA74 == 71:
LA74_276 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
raise nvae
elif LA74 == 72:
LA74_277 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
raise nvae
elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
LA74_278 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
raise nvae
elif LA74 == 73:
LA74_279 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
raise nvae
elif LA74 == 73:
LA74 = self.input.LA(2)
if LA74 == 61:
LA74_280 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input)
raise nvae
elif LA74 == IDENTIFIER:
LA74_281 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input)
raise nvae
elif LA74 == HEX_LITERAL:
LA74_282 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input)
raise nvae
elif LA74 == OCTAL_LITERAL:
LA74_283 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input)
raise nvae
elif LA74 == DECIMAL_LITERAL:
LA74_284 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input)
raise nvae
elif LA74 == CHARACTER_LITERAL:
LA74_285 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input)
raise nvae
elif LA74 == STRING_LITERAL:
LA74_286 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input)
raise nvae
elif LA74 == FLOATING_POINT_LITERAL:
LA74_287 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
raise nvae
elif LA74 == 71:
LA74_288 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
raise nvae
elif LA74 == 72:
LA74_289 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
raise nvae
elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
LA74_290 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
raise nvae
elif LA74 == 73:
LA74_291 = self.input.LA(3)
if (self.synpred141()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
raise nvae
if alt74 == 1:
# C.g:405:4: lvalue assignment_operator assignment_expression
self.following.append(self.FOLLOW_lvalue_in_assignment_expression1729)
self.lvalue()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1731)
self.assignment_operator()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1733)
self.assignment_expression()
self.following.pop()
if self.failed:
return
elif alt74 == 2:
# C.g:406:4: conditional_expression
self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1738)
self.conditional_expression()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 48, assignment_expression_StartIndex)
pass
return
# $ANTLR end assignment_expression
# $ANTLR start lvalue
# C.g:409:1: lvalue : unary_expression ;
def lvalue(self, ):
lvalue_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
return
# C.g:410:2: ( unary_expression )
# C.g:410:4: unary_expression
self.following.append(self.FOLLOW_unary_expression_in_lvalue1750)
self.unary_expression()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 49, lvalue_StartIndex)
pass
return
# $ANTLR end lvalue
# $ANTLR start assignment_operator
# C.g:413:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
def assignment_operator(self, ):
assignment_operator_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
return
# C.g:414:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
# C.g:
if self.input.LA(1) == 28 or (79 <= self.input.LA(1) <= 88):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_assignment_operator0
)
raise mse
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 50, assignment_operator_StartIndex)
pass
return
# $ANTLR end assignment_operator
# $ANTLR start conditional_expression
# C.g:427:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
def conditional_expression(self, ):
conditional_expression_StartIndex = self.input.index()
e = None
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
return
# C.g:428:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
# C.g:428:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1824)
e = self.logical_or_expression()
self.following.pop()
if self.failed:
return
# C.g:428:28: ( '?' expression ':' conditional_expression )?
alt75 = 2
LA75_0 = self.input.LA(1)
if (LA75_0 == 89) :
alt75 = 1
if alt75 == 1:
# C.g:428:29: '?' expression ':' conditional_expression
self.match(self.input, 89, self.FOLLOW_89_in_conditional_expression1827)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_conditional_expression1829)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1831)
if self.failed:
return
self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1833)
self.conditional_expression()
self.following.pop()
if self.failed:
return
if self.backtracking == 0:
self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 51, conditional_expression_StartIndex)
pass
return
# $ANTLR end conditional_expression
class logical_or_expression_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start logical_or_expression
# C.g:431:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
def logical_or_expression(self, ):
retval = self.logical_or_expression_return()
retval.start = self.input.LT(1)
logical_or_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
return retval
# C.g:432:2: ( logical_and_expression ( '||' logical_and_expression )* )
# C.g:432:4: logical_and_expression ( '||' logical_and_expression )*
self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1848)
self.logical_and_expression()
self.following.pop()
if self.failed:
return retval
# C.g:432:27: ( '||' logical_and_expression )*
while True: #loop76
alt76 = 2
LA76_0 = self.input.LA(1)
if (LA76_0 == 90) :
alt76 = 1
if alt76 == 1:
# C.g:432:28: '||' logical_and_expression
self.match(self.input, 90, self.FOLLOW_90_in_logical_or_expression1851)
if self.failed:
return retval
self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1853)
self.logical_and_expression()
self.following.pop()
if self.failed:
return retval
else:
break #loop76
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 52, logical_or_expression_StartIndex)
pass
return retval
# $ANTLR end logical_or_expression
# $ANTLR start logical_and_expression
# C.g:435:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
def logical_and_expression(self, ):
logical_and_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
return
# C.g:436:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
# C.g:436:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1866)
self.inclusive_or_expression()
self.following.pop()
if self.failed:
return
# C.g:436:28: ( '&&' inclusive_or_expression )*
while True: #loop77
alt77 = 2
LA77_0 = self.input.LA(1)
if (LA77_0 == 91) :
alt77 = 1
if alt77 == 1:
# C.g:436:29: '&&' inclusive_or_expression
self.match(self.input, 91, self.FOLLOW_91_in_logical_and_expression1869)
if self.failed:
return
self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1871)
self.inclusive_or_expression()
self.following.pop()
if self.failed:
return
else:
break #loop77
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 53, logical_and_expression_StartIndex)
pass
return
# $ANTLR end logical_and_expression
# $ANTLR start inclusive_or_expression
# C.g:439:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
def inclusive_or_expression(self, ):
inclusive_or_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
return
# C.g:440:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
# C.g:440:4: exclusive_or_expression ( '|' exclusive_or_expression )*
self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1884)
self.exclusive_or_expression()
self.following.pop()
if self.failed:
return
# C.g:440:28: ( '|' exclusive_or_expression )*
while True: #loop78
alt78 = 2
LA78_0 = self.input.LA(1)
if (LA78_0 == 92) :
alt78 = 1
if alt78 == 1:
# C.g:440:29: '|' exclusive_or_expression
self.match(self.input, 92, self.FOLLOW_92_in_inclusive_or_expression1887)
if self.failed:
return
self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1889)
self.exclusive_or_expression()
self.following.pop()
if self.failed:
return
else:
break #loop78
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
pass
return
# $ANTLR end inclusive_or_expression
# $ANTLR start exclusive_or_expression
# C.g:443:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
def exclusive_or_expression(self, ):
exclusive_or_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
return
# C.g:444:2: ( and_expression ( '^' and_expression )* )
# C.g:444:4: and_expression ( '^' and_expression )*
self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1902)
self.and_expression()
self.following.pop()
if self.failed:
return
# C.g:444:19: ( '^' and_expression )*
while True: #loop79
alt79 = 2
LA79_0 = self.input.LA(1)
if (LA79_0 == 93) :
alt79 = 1
if alt79 == 1:
# C.g:444:20: '^' and_expression
self.match(self.input, 93, self.FOLLOW_93_in_exclusive_or_expression1905)
if self.failed:
return
self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1907)
self.and_expression()
self.following.pop()
if self.failed:
return
else:
break #loop79
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
pass
return
# $ANTLR end exclusive_or_expression
# $ANTLR start and_expression
# C.g:447:1: and_expression : equality_expression ( '&' equality_expression )* ;
def and_expression(self, ):
and_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
return
# C.g:448:2: ( equality_expression ( '&' equality_expression )* )
# C.g:448:4: equality_expression ( '&' equality_expression )*
self.following.append(self.FOLLOW_equality_expression_in_and_expression1920)
self.equality_expression()
self.following.pop()
if self.failed:
return
# C.g:448:24: ( '&' equality_expression )*
while True: #loop80
alt80 = 2
LA80_0 = self.input.LA(1)
if (LA80_0 == 76) :
alt80 = 1
if alt80 == 1:
# C.g:448:25: '&' equality_expression
self.match(self.input, 76, self.FOLLOW_76_in_and_expression1923)
if self.failed:
return
self.following.append(self.FOLLOW_equality_expression_in_and_expression1925)
self.equality_expression()
self.following.pop()
if self.failed:
return
else:
break #loop80
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 56, and_expression_StartIndex)
pass
return
# $ANTLR end and_expression
# $ANTLR start equality_expression
# C.g:450:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
def equality_expression(self, ):
equality_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
return
# C.g:451:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
# C.g:451:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
self.following.append(self.FOLLOW_relational_expression_in_equality_expression1937)
self.relational_expression()
self.following.pop()
if self.failed:
return
# C.g:451:26: ( ( '==' | '!=' ) relational_expression )*
while True: #loop81
alt81 = 2
LA81_0 = self.input.LA(1)
if ((94 <= LA81_0 <= 95)) :
alt81 = 1
if alt81 == 1:
# C.g:451:27: ( '==' | '!=' ) relational_expression
if (94 <= self.input.LA(1) <= 95):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_equality_expression1940
)
raise mse
self.following.append(self.FOLLOW_relational_expression_in_equality_expression1946)
self.relational_expression()
self.following.pop()
if self.failed:
return
else:
break #loop81
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 57, equality_expression_StartIndex)
pass
return
# $ANTLR end equality_expression
# $ANTLR start relational_expression
# C.g:454:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
def relational_expression(self, ):
relational_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
return
# C.g:455:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
# C.g:455:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
self.following.append(self.FOLLOW_shift_expression_in_relational_expression1960)
self.shift_expression()
self.following.pop()
if self.failed:
return
# C.g:455:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
while True: #loop82
alt82 = 2
LA82_0 = self.input.LA(1)
if ((96 <= LA82_0 <= 99)) :
alt82 = 1
if alt82 == 1:
# C.g:455:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
if (96 <= self.input.LA(1) <= 99):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_relational_expression1963
)
raise mse
self.following.append(self.FOLLOW_shift_expression_in_relational_expression1973)
self.shift_expression()
self.following.pop()
if self.failed:
return
else:
break #loop82
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 58, relational_expression_StartIndex)
pass
return
# $ANTLR end relational_expression
# $ANTLR start shift_expression
# C.g:458:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
def shift_expression(self, ):
shift_expression_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
return
# C.g:459:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
# C.g:459:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
self.following.append(self.FOLLOW_additive_expression_in_shift_expression1986)
self.additive_expression()
self.following.pop()
if self.failed:
return
# C.g:459:24: ( ( '<<' | '>>' ) additive_expression )*
while True: #loop83
alt83 = 2
LA83_0 = self.input.LA(1)
if ((100 <= LA83_0 <= 101)) :
alt83 = 1
if alt83 == 1:
# C.g:459:25: ( '<<' | '>>' ) additive_expression
if (100 <= self.input.LA(1) <= 101):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_shift_expression1989
)
raise mse
self.following.append(self.FOLLOW_additive_expression_in_shift_expression1995)
self.additive_expression()
self.following.pop()
if self.failed:
return
else:
break #loop83
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 59, shift_expression_StartIndex)
pass
return
# $ANTLR end shift_expression
# $ANTLR start statement
# C.g:464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
def statement(self, ):
statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
return
# C.g:465:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
alt84 = 11
LA84 = self.input.LA(1)
if LA84 == IDENTIFIER:
LA84 = self.input.LA(2)
if LA84 == 47:
alt84 = 1
elif LA84 == 61:
LA84_44 = self.input.LA(3)
if (self.synpred168()) :
alt84 = 3
elif (self.synpred172()) :
alt84 = 7
elif (self.synpred173()) :
alt84 = 8
elif (True) :
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 44, self.input)
raise nvae
elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 63 or LA84 == 67 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 74 or LA84 == 75 or LA84 == 76 or LA84 == 79 or LA84 == 80 or LA84 == 81 or LA84 == 82 or LA84 == 83 or LA84 == 84 or LA84 == 85 or LA84 == 86 or LA84 == 87 or LA84 == 88 or LA84 == 89 or LA84 == 90 or LA84 == 91 or LA84 == 92 or LA84 == 93 or LA84 == 94 or LA84 == 95 or LA84 == 96 or LA84 == 97 or LA84 == 98 or LA84 == 99 or LA84 == 100 or LA84 == 101:
alt84 = 3
elif LA84 == 65:
LA84_47 = self.input.LA(3)
if (self.synpred168()) :
alt84 = 3
elif (True) :
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self.input)
raise nvae
elif LA84 == 25:
LA84_65 = self.input.LA(3)
if (self.synpred168()) :
alt84 = 3
elif (True) :
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 65, self.input)
raise nvae
elif LA84 == IDENTIFIER:
LA84_67 = self.input.LA(3)
if (self.synpred168()) :
alt84 = 3
elif (True) :
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 67, self.input)
raise nvae
elif LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60:
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self.input)
raise nvae
elif LA84 == 105 or LA84 == 106:
alt84 = 1
elif LA84 == 43:
alt84 = 2
elif LA84 == HEX_LITERAL or LA84 == OCTAL_LITERAL or LA84 == DECIMAL_LITERAL or LA84 == CHARACTER_LITERAL or LA84 == STRING_LITERAL or LA84 == FLOATING_POINT_LITERAL or LA84 == 25 or LA84 == 61 or LA84 == 65 or LA84 == 67 or LA84 == 68 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 76 or LA84 == 77 or LA84 == 78:
alt84 = 3
elif LA84 == 107 or LA84 == 109:
alt84 = 4
elif LA84 == 110 or LA84 == 111 or LA84 == 112:
alt84 = 5
elif LA84 == 113 or LA84 == 114 or LA84 == 115 or LA84 == 116:
alt84 = 6
elif LA84 == 102:
alt84 = 8
elif LA84 == 103:
alt84 = 9
elif LA84 == 104:
alt84 = 10
elif LA84 == 26 or LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60:
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self.input)
raise nvae
if alt84 == 1:
# C.g:465:4: labeled_statement
self.following.append(self.FOLLOW_labeled_statement_in_statement2010)
self.labeled_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 2:
# C.g:466:4: compound_statement
self.following.append(self.FOLLOW_compound_statement_in_statement2015)
self.compound_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 3:
# C.g:467:4: expression_statement
self.following.append(self.FOLLOW_expression_statement_in_statement2020)
self.expression_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 4:
# C.g:468:4: selection_statement
self.following.append(self.FOLLOW_selection_statement_in_statement2025)
self.selection_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 5:
# C.g:469:4: iteration_statement
self.following.append(self.FOLLOW_iteration_statement_in_statement2030)
self.iteration_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 6:
# C.g:470:4: jump_statement
self.following.append(self.FOLLOW_jump_statement_in_statement2035)
self.jump_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 7:
# C.g:471:4: macro_statement
self.following.append(self.FOLLOW_macro_statement_in_statement2040)
self.macro_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 8:
# C.g:472:4: asm2_statement
self.following.append(self.FOLLOW_asm2_statement_in_statement2045)
self.asm2_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 9:
# C.g:473:4: asm1_statement
self.following.append(self.FOLLOW_asm1_statement_in_statement2050)
self.asm1_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 10:
# C.g:474:4: asm_statement
self.following.append(self.FOLLOW_asm_statement_in_statement2055)
self.asm_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 11:
# C.g:475:4: declaration
self.following.append(self.FOLLOW_declaration_in_statement2060)
self.declaration()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 60, statement_StartIndex)
pass
return
# $ANTLR end statement
# $ANTLR start asm2_statement
# C.g:478:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
def asm2_statement(self, ):
asm2_statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
return
# C.g:479:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
# C.g:479:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
# C.g:479:4: ( '__asm__' )?
alt85 = 2
LA85_0 = self.input.LA(1)
if (LA85_0 == 102) :
alt85 = 1
if alt85 == 1:
# C.g:0:0: '__asm__'
self.match(self.input, 102, self.FOLLOW_102_in_asm2_statement2071)
if self.failed:
return
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2074)
if self.failed:
return
self.match(self.input, 61, self.FOLLOW_61_in_asm2_statement2076)
if self.failed:
return
# C.g:479:30: (~ ( ';' ) )*
while True: #loop86
alt86 = 2
LA86_0 = self.input.LA(1)
if (LA86_0 == 62) :
LA86_1 = self.input.LA(2)
if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 116)) :
alt86 = 1
elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 61) or (63 <= LA86_0 <= 116)) :
alt86 = 1
if alt86 == 1:
# C.g:479:31: ~ ( ';' )
if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 116):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_asm2_statement2079
)
raise mse
else:
break #loop86
self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2086)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2088)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 61, asm2_statement_StartIndex)
pass
return
# $ANTLR end asm2_statement
# $ANTLR start asm1_statement
# C.g:482:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
def asm1_statement(self, ):
asm1_statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
return
# C.g:483:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
# C.g:483:4: '_asm' '{' (~ ( '}' ) )* '}'
self.match(self.input, 103, self.FOLLOW_103_in_asm1_statement2100)
if self.failed:
return
self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2102)
if self.failed:
return
# C.g:483:15: (~ ( '}' ) )*
while True: #loop87
alt87 = 2
LA87_0 = self.input.LA(1)
if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 116)) :
alt87 = 1
if alt87 == 1:
# C.g:483:16: ~ ( '}' )
if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 116):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_asm1_statement2105
)
raise mse
else:
break #loop87
self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2112)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 62, asm1_statement_StartIndex)
pass
return
# $ANTLR end asm1_statement
# $ANTLR start asm_statement
# C.g:486:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
def asm_statement(self, ):
asm_statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
return
# C.g:487:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
# C.g:487:4: '__asm' '{' (~ ( '}' ) )* '}'
self.match(self.input, 104, self.FOLLOW_104_in_asm_statement2123)
if self.failed:
return
self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2125)
if self.failed:
return
# C.g:487:16: (~ ( '}' ) )*
while True: #loop88
alt88 = 2
LA88_0 = self.input.LA(1)
if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 116)) :
alt88 = 1
if alt88 == 1:
# C.g:487:17: ~ ( '}' )
if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 116):
self.input.consume();
self.errorRecovery = False
self.failed = False
else:
if self.backtracking > 0:
self.failed = True
return
mse = MismatchedSetException(None, self.input)
self.recoverFromMismatchedSet(
self.input, mse, self.FOLLOW_set_in_asm_statement2128
)
raise mse
else:
break #loop88
self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2135)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 63, asm_statement_StartIndex)
pass
return
# $ANTLR end asm_statement
# $ANTLR start macro_statement
# C.g:490:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
def macro_statement(self, ):
macro_statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
return
# C.g:491:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
# C.g:491:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2147)
if self.failed:
return
self.match(self.input, 61, self.FOLLOW_61_in_macro_statement2149)
if self.failed:
return
# C.g:491:19: ( declaration )*
while True: #loop89
alt89 = 2
LA89 = self.input.LA(1)
if LA89 == IDENTIFIER:
LA89 = self.input.LA(2)
if LA89 == 61:
LA89_45 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 65:
LA89_48 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_66 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_69 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_70 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_71 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_72 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_73 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_74 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_75 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_76 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_77 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_78 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_79 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_80 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_81 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_82 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_83 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_84 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_85 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 26:
LA89 = self.input.LA(2)
if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_87 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_88 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_89 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_90 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_91 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_92 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_93 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_94 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_95 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_96 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_97 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_98 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_99 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_100 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 65:
LA89_101 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_102 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_103 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_104 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_105 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_106 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_107 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_108 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_109 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_110 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_111 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_112 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_113 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_114 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_115 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_116 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_117 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_118 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_119 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_120 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_121 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_122 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_123 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_124 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_125 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_126 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_127 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_128 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_129 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_130 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_131 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_132 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_133 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_134 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_135 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_136 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_137 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_138 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_139 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_140 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_141 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_142 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_143 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_144 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_145 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_146 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_147 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_148 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_149 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_150 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_151 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_152 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_153 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_154 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_155 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_156 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_157 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_158 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_159 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_160 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_161 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_162 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_163 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_164 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_165 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_166 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_167 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_168 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_169 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_170 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_171 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_172 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_173 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_174 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_175 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_176 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_177 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_178 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_179 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_180 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_181 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_182 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_183 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_184 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_185 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_186 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_187 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_188 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_189 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_190 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_191 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_192 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_193 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_194 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_195 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_196 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_197 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_198 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_199 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_200 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_201 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_202 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_203 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_204 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_205 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_206 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_207 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_208 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_209 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_210 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_211 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_212 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_213 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_214 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_215 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_216 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_217 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_218 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_219 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_220 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_221 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_222 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_223 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_224 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_225 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_226 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_227 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_228 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_229 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_230 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_231 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_232 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_233 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_234 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_235 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_236 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_237 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_238 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_239 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_240 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_241 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_242 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_243 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_244 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_245 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_246 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_247 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_248 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_249 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_250 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_251 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_252 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_253 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_254 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_255 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_256 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_257 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_258 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_259 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_260 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_261 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_262 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_263 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_264 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_265 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_266 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_267 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_268 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_269 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_270 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_271 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_272 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_273 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_274 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_275 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_276 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_277 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_278 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_279 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_280 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_281 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_282 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_283 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_284 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_285 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_286 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_287 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_288 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_289 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_290 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_291 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_292 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_293 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_294 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_295 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_296 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_297 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_298 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_299 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_300 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_301 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_302 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_303 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_304 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_305 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_40 = self.input.LA(2)
if (LA89_40 == IDENTIFIER) :
LA89_306 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif (LA89_40 == 43) :
LA89_307 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_41 = self.input.LA(2)
if (LA89_41 == IDENTIFIER) :
LA89_308 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif (LA89_41 == 43) :
LA89_309 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 58 or LA89 == 59 or LA89 == 60:
LA89 = self.input.LA(2)
if LA89 == 65:
LA89_310 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 58:
LA89_311 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 59:
LA89_312 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 60:
LA89_313 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_314 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 61:
LA89_315 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 25:
LA89_316 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_317 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 34:
LA89_318 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 35:
LA89_319 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 36:
LA89_320 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 37:
LA89_321 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 38:
LA89_322 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 39:
LA89_323 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 40:
LA89_324 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 41:
LA89_325 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 42:
LA89_326 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_327 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 48:
LA89_328 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57:
LA89_329 = self.input.LA(3)
if (self.synpred180()) :
alt89 = 1
if alt89 == 1:
# C.g:0:0: declaration
self.following.append(self.FOLLOW_declaration_in_macro_statement2151)
self.declaration()
self.following.pop()
if self.failed:
return
else:
break #loop89
# C.g:491:33: ( statement_list )?
alt90 = 2
LA90 = self.input.LA(1)
if LA90 == IDENTIFIER:
LA90 = self.input.LA(2)
if LA90 == 61:
LA90_44 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 25 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 45 or LA90 == 46 or LA90 == 47 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60:
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_46 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == IDENTIFIER:
LA90_47 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 63:
LA90_48 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 74:
LA90_49 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65:
LA90_50 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 75:
LA90_51 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_52 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_53 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88:
LA90_54 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 69:
LA90_72 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 70:
LA90_73 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 67:
LA90_74 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 68:
LA90_75 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 100 or LA90 == 101:
LA90_76 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
LA90_77 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 94 or LA90 == 95:
LA90_78 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 76:
LA90_79 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 93:
LA90_80 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 92:
LA90_81 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 91:
LA90_82 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 90:
LA90_83 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 89:
LA90_84 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 27:
LA90_85 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 25 or LA90 == 26 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 43 or LA90 == 45 or LA90 == 46 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 102 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 109 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116:
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 63:
LA90_87 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_88 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 74:
LA90_89 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65:
LA90_90 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 75:
LA90_91 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_92 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_93 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 69:
LA90_94 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 70:
LA90_95 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 67:
LA90_96 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 68:
LA90_97 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 100 or LA90 == 101:
LA90_98 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
LA90_99 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 94 or LA90 == 95:
LA90_100 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 76:
LA90_101 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 93:
LA90_102 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 92:
LA90_103 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 91:
LA90_104 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 90:
LA90_105 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 89:
LA90_106 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 27:
LA90_107 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88:
LA90_110 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 63:
LA90_111 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_112 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 74:
LA90_113 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65:
LA90_114 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 75:
LA90_115 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_116 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_117 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88:
LA90_118 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 69:
LA90_119 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 70:
LA90_120 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 67:
LA90_121 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 68:
LA90_122 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 100 or LA90 == 101:
LA90_123 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
LA90_124 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 94 or LA90 == 95:
LA90_125 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 76:
LA90_126 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 93:
LA90_127 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 92:
LA90_128 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 91:
LA90_129 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 90:
LA90_130 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 89:
LA90_131 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 27:
LA90_132 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 63:
LA90_135 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_136 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 74:
LA90_137 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65:
LA90_138 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 75:
LA90_139 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_140 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_141 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88:
LA90_142 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 69:
LA90_143 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 70:
LA90_144 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 67:
LA90_145 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 68:
LA90_146 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 100 or LA90 == 101:
LA90_147 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
LA90_148 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 94 or LA90 == 95:
LA90_149 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 76:
LA90_150 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 93:
LA90_151 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 92:
LA90_152 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 91:
LA90_153 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 90:
LA90_154 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 89:
LA90_155 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 27:
LA90_156 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 63:
LA90_159 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_160 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 74:
LA90_161 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65:
LA90_162 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 75:
LA90_163 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_164 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_165 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88:
LA90_166 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 69:
LA90_167 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 70:
LA90_168 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 67:
LA90_169 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 68:
LA90_170 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 100 or LA90 == 101:
LA90_171 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
LA90_172 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 94 or LA90 == 95:
LA90_173 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 76:
LA90_174 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 93:
LA90_175 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 92:
LA90_176 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 91:
LA90_177 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 90:
LA90_178 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 89:
LA90_179 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 27:
LA90_180 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90 = self.input.LA(2)
if LA90 == IDENTIFIER:
LA90_183 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 63:
LA90_184 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_185 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 74:
LA90_186 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65:
LA90_187 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 75:
LA90_188 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_189 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_190 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 69:
LA90_191 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 70:
LA90_192 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 67:
LA90_193 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 68:
LA90_194 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 100 or LA90 == 101:
LA90_195 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
LA90_196 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 94 or LA90 == 95:
LA90_197 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 76:
LA90_198 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 93:
LA90_199 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 92:
LA90_200 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 91:
LA90_201 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 90:
LA90_202 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 89:
LA90_203 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 27:
LA90_204 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_206 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88:
LA90_207 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 63:
LA90_209 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_210 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 74:
LA90_211 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65:
LA90_212 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 75:
LA90_213 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_214 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_215 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 69:
LA90_216 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 70:
LA90_217 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 67:
LA90_218 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 68:
LA90_219 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 100 or LA90 == 101:
LA90_220 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
LA90_221 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 94 or LA90 == 95:
LA90_222 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 76:
LA90_223 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 93:
LA90_224 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 92:
LA90_225 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 91:
LA90_226 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 90:
LA90_227 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 89:
LA90_228 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 27:
LA90_229 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88:
LA90_231 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90 = self.input.LA(2)
if LA90 == IDENTIFIER:
LA90_233 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_234 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_235 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_236 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_237 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_238 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_239 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_240 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_241 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_242 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
LA90_243 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 73:
LA90_244 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60:
LA90_245 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 34:
LA90_246 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 35:
LA90_247 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 36:
LA90_248 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 37:
LA90_249 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 38:
LA90_250 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 39:
LA90_251 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 40:
LA90_252 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 41:
LA90_253 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 42:
LA90_254 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 45 or LA90 == 46:
LA90_255 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 48:
LA90_256 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90 = self.input.LA(2)
if LA90 == IDENTIFIER:
LA90_257 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_258 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_259 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_260 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_261 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_262 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_263 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_264 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_265 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_266 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
LA90_267 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 73:
LA90_268 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90 = self.input.LA(2)
if LA90 == IDENTIFIER:
LA90_269 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_270 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_271 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_272 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_273 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_274 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_275 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 61:
LA90_276 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_277 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_278 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
LA90_279 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 73:
LA90_280 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
LA90 = self.input.LA(2)
if LA90 == 61:
LA90_281 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == IDENTIFIER:
LA90_282 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_283 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_284 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_285 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_286 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_287 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_288 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_289 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_290 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
LA90_291 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 73:
LA90_292 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 73:
LA90 = self.input.LA(2)
if LA90 == 61:
LA90_293 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == IDENTIFIER:
LA90_294 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_295 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_296 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_297 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_298 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_299 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_300 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 71:
LA90_301 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 72:
LA90_302 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
LA90_303 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
elif LA90 == 73:
LA90_304 = self.input.LA(3)
if (self.synpred181()) :
alt90 = 1
if alt90 == 1:
# C.g:0:0: statement_list
self.following.append(self.FOLLOW_statement_list_in_macro_statement2155)
self.statement_list()
self.following.pop()
if self.failed:
return
# C.g:491:49: ( expression )?
alt91 = 2
LA91_0 = self.input.LA(1)
if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 61 or LA91_0 == 65 or (67 <= LA91_0 <= 68) or (71 <= LA91_0 <= 73) or (76 <= LA91_0 <= 78)) :
alt91 = 1
if alt91 == 1:
# C.g:0:0: expression
self.following.append(self.FOLLOW_expression_in_macro_statement2158)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2161)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 64, macro_statement_StartIndex)
pass
return
# $ANTLR end macro_statement
# $ANTLR start labeled_statement
# C.g:494:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
def labeled_statement(self, ):
labeled_statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
return
# C.g:495:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
alt92 = 3
LA92 = self.input.LA(1)
if LA92 == IDENTIFIER:
alt92 = 1
elif LA92 == 105:
alt92 = 2
elif LA92 == 106:
alt92 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("494:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
raise nvae
if alt92 == 1:
# C.g:495:4: IDENTIFIER ':' statement
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2173)
if self.failed:
return
self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2175)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_labeled_statement2177)
self.statement()
self.following.pop()
if self.failed:
return
elif alt92 == 2:
# C.g:496:4: 'case' constant_expression ':' statement
self.match(self.input, 105, self.FOLLOW_105_in_labeled_statement2182)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2184)
self.constant_expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2186)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_labeled_statement2188)
self.statement()
self.following.pop()
if self.failed:
return
elif alt92 == 3:
# C.g:497:4: 'default' ':' statement
self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2193)
if self.failed:
return
self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2195)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_labeled_statement2197)
self.statement()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 65, labeled_statement_StartIndex)
pass
return
# $ANTLR end labeled_statement
class compound_statement_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start compound_statement
# C.g:500:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
def compound_statement(self, ):
retval = self.compound_statement_return()
retval.start = self.input.LT(1)
compound_statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
return retval
# C.g:501:2: ( '{' ( declaration )* ( statement_list )? '}' )
# C.g:501:4: '{' ( declaration )* ( statement_list )? '}'
self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2208)
if self.failed:
return retval
# C.g:501:8: ( declaration )*
while True: #loop93
alt93 = 2
LA93 = self.input.LA(1)
if LA93 == IDENTIFIER:
LA93 = self.input.LA(2)
if LA93 == 61:
LA93_44 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 65:
LA93_48 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_67 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_69 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_70 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_71 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_72 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_73 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_74 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_75 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_76 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_77 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_78 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_79 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_80 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_81 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_82 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_83 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_84 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_85 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 26:
LA93 = self.input.LA(2)
if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_86 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_87 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_88 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_89 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_90 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_91 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_92 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_93 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_94 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_95 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_96 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_97 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_98 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_99 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 65:
LA93_100 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_101 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_102 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_103 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_104 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_105 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_106 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_107 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_108 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_109 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_110 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_111 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_112 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_113 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_114 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_115 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_116 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_117 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_118 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_119 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_120 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_121 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_122 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_123 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_124 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_125 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_126 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_127 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_128 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_129 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_130 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_131 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_132 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_133 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_134 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_135 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_136 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_137 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_138 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_139 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_140 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_141 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_142 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_143 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_144 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_145 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_146 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_147 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_148 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_149 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_150 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_151 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_152 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_153 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_154 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_155 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_156 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_157 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_158 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_159 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_160 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_161 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_162 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_163 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_164 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_165 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_166 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_167 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_168 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_169 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_170 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_171 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_172 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_173 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_174 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_175 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_176 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_177 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_178 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_179 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_180 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_181 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_182 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_183 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_184 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_185 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_186 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_187 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_188 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_189 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_190 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_191 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_192 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_193 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_194 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_195 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_196 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_197 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_198 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_199 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_200 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_201 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_202 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_203 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_204 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_205 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_206 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_207 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_208 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_209 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_210 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_211 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_212 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_213 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_214 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_215 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_216 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_217 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_218 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_219 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_220 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_221 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_222 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_223 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_224 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_225 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_226 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_227 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_228 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_229 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_230 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_231 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_232 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_233 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_234 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_235 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_236 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_237 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_238 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_239 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_240 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_241 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_242 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_243 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_244 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_245 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_246 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_247 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_248 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_249 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_250 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_251 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_252 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_253 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_254 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_255 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_256 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_257 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_258 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_259 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_260 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_261 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_262 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_263 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_264 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_265 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_266 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_267 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_268 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_269 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_270 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_271 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_272 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_273 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_274 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_275 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_276 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_277 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_278 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_279 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_280 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_281 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_282 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_283 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_284 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_285 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_286 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_287 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_288 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_289 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_290 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_291 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_292 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_293 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_294 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_295 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_296 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_297 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_298 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_299 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_300 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_301 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_302 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_303 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_304 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_40 = self.input.LA(2)
if (LA93_40 == IDENTIFIER) :
LA93_305 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif (LA93_40 == 43) :
LA93_306 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_41 = self.input.LA(2)
if (LA93_41 == IDENTIFIER) :
LA93_307 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif (LA93_41 == 43) :
LA93_308 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60:
LA93 = self.input.LA(2)
if LA93 == 65:
LA93_309 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 58:
LA93_310 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 59:
LA93_311 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 60:
LA93_312 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_313 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 61:
LA93_314 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 25:
LA93_315 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_316 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 34:
LA93_317 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 35:
LA93_318 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 36:
LA93_319 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 37:
LA93_320 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 38:
LA93_321 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 39:
LA93_322 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 40:
LA93_323 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 41:
LA93_324 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 42:
LA93_325 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_326 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 48:
LA93_327 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57:
LA93_328 = self.input.LA(3)
if (self.synpred185()) :
alt93 = 1
if alt93 == 1:
# C.g:0:0: declaration
self.following.append(self.FOLLOW_declaration_in_compound_statement2210)
self.declaration()
self.following.pop()
if self.failed:
return retval
else:
break #loop93
# C.g:501:21: ( statement_list )?
alt94 = 2
LA94_0 = self.input.LA(1)
if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 61) or LA94_0 == 65 or (67 <= LA94_0 <= 68) or (71 <= LA94_0 <= 73) or (76 <= LA94_0 <= 78) or (102 <= LA94_0 <= 107) or (109 <= LA94_0 <= 116)) :
alt94 = 1
if alt94 == 1:
# C.g:0:0: statement_list
self.following.append(self.FOLLOW_statement_list_in_compound_statement2213)
self.statement_list()
self.following.pop()
if self.failed:
return retval
self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2216)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 66, compound_statement_StartIndex)
pass
return retval
# $ANTLR end compound_statement
# $ANTLR start statement_list
# C.g:504:1: statement_list : ( statement )+ ;
def statement_list(self, ):
statement_list_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
return
# C.g:505:2: ( ( statement )+ )
# C.g:505:4: ( statement )+
# C.g:505:4: ( statement )+
cnt95 = 0
while True: #loop95
alt95 = 2
LA95 = self.input.LA(1)
if LA95 == IDENTIFIER:
LA95 = self.input.LA(2)
if LA95 == 25 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 45 or LA95 == 46 or LA95 == 47 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60:
alt95 = 1
elif LA95 == 61:
LA95_47 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 63:
LA95_48 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 74:
LA95_49 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65:
LA95_50 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 75:
LA95_51 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_52 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_53 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88:
LA95_54 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_55 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == IDENTIFIER:
LA95_56 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 69:
LA95_57 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 70:
LA95_58 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 67:
LA95_59 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 68:
LA95_60 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 100 or LA95 == 101:
LA95_61 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
LA95_62 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 94 or LA95 == 95:
LA95_63 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 76:
LA95_64 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 93:
LA95_65 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 92:
LA95_66 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 91:
LA95_67 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 90:
LA95_68 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 89:
LA95_69 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 27:
LA95_70 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 63:
LA95_89 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_90 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 74:
LA95_91 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65:
LA95_92 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 75:
LA95_93 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_94 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_95 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 69:
LA95_96 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 70:
LA95_97 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 67:
LA95_98 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 68:
LA95_99 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 100 or LA95 == 101:
LA95_100 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
LA95_101 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 94 or LA95 == 95:
LA95_102 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 76:
LA95_103 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 93:
LA95_104 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 92:
LA95_105 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 91:
LA95_106 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 90:
LA95_107 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 89:
LA95_108 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 27:
LA95_109 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88:
LA95_112 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 63:
LA95_113 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_114 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 74:
LA95_115 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65:
LA95_116 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 75:
LA95_117 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_118 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_119 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88:
LA95_120 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 69:
LA95_121 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 70:
LA95_122 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 67:
LA95_123 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 68:
LA95_124 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 100 or LA95 == 101:
LA95_125 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
LA95_126 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 94 or LA95 == 95:
LA95_127 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 76:
LA95_128 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 93:
LA95_129 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 92:
LA95_130 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 91:
LA95_131 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 90:
LA95_132 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 89:
LA95_133 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 27:
LA95_134 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 63:
LA95_137 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_138 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 74:
LA95_139 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65:
LA95_140 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 75:
LA95_141 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_142 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_143 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88:
LA95_144 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 69:
LA95_145 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 70:
LA95_146 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 67:
LA95_147 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 68:
LA95_148 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 100 or LA95 == 101:
LA95_149 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
LA95_150 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 94 or LA95 == 95:
LA95_151 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 76:
LA95_152 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 93:
LA95_153 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 92:
LA95_154 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 91:
LA95_155 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 90:
LA95_156 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 89:
LA95_157 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 27:
LA95_158 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 63:
LA95_161 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_162 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 74:
LA95_163 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65:
LA95_164 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 75:
LA95_165 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_166 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_167 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88:
LA95_168 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 69:
LA95_169 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 70:
LA95_170 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 67:
LA95_171 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 68:
LA95_172 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 100 or LA95 == 101:
LA95_173 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
LA95_174 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 94 or LA95 == 95:
LA95_175 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 76:
LA95_176 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 93:
LA95_177 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 92:
LA95_178 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 91:
LA95_179 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 90:
LA95_180 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 89:
LA95_181 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 27:
LA95_182 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95 = self.input.LA(2)
if LA95 == IDENTIFIER:
LA95_185 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 63:
LA95_186 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_187 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 74:
LA95_188 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65:
LA95_189 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 75:
LA95_190 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_191 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_192 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 69:
LA95_193 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 70:
LA95_194 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 67:
LA95_195 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 68:
LA95_196 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 100 or LA95 == 101:
LA95_197 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
LA95_198 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 94 or LA95 == 95:
LA95_199 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 76:
LA95_200 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 93:
LA95_201 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 92:
LA95_202 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 91:
LA95_203 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 90:
LA95_204 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 89:
LA95_205 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 27:
LA95_206 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_208 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88:
LA95_210 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 63:
LA95_211 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_212 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 74:
LA95_213 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65:
LA95_214 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 75:
LA95_215 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_216 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_217 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 69:
LA95_218 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 70:
LA95_219 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 67:
LA95_220 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 68:
LA95_221 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 100 or LA95 == 101:
LA95_222 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
LA95_223 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 94 or LA95 == 95:
LA95_224 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 76:
LA95_225 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 93:
LA95_226 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 92:
LA95_227 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 91:
LA95_228 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 90:
LA95_229 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 89:
LA95_230 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 27:
LA95_231 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88:
LA95_233 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == 61:
LA95 = self.input.LA(2)
if LA95 == IDENTIFIER:
LA95_235 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_236 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_237 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_238 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_239 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_240 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_241 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_242 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_243 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_244 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
LA95_245 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 73:
LA95_246 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60:
LA95_247 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 34:
LA95_248 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 35:
LA95_249 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 36:
LA95_250 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 37:
LA95_251 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 38:
LA95_252 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 39:
LA95_253 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 40:
LA95_254 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 41:
LA95_255 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 42:
LA95_256 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 45 or LA95 == 46:
LA95_257 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 48:
LA95_258 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95 = self.input.LA(2)
if LA95 == IDENTIFIER:
LA95_259 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_260 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_261 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_262 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_263 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_264 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_265 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_266 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_267 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_268 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
LA95_269 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 73:
LA95_270 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95 = self.input.LA(2)
if LA95 == IDENTIFIER:
LA95_271 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_272 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_273 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_274 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_275 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_276 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_277 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 61:
LA95_278 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_279 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_280 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
LA95_281 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 73:
LA95_282 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
LA95 = self.input.LA(2)
if LA95 == 61:
LA95_283 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == IDENTIFIER:
LA95_284 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_285 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_286 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_287 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_288 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_289 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_290 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_291 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_292 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
LA95_293 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 73:
LA95_294 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 73:
LA95 = self.input.LA(2)
if LA95 == 61:
LA95_295 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == IDENTIFIER:
LA95_296 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_297 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_298 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_299 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_300 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_301 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_302 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 71:
LA95_303 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 72:
LA95_304 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
LA95_305 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 73:
LA95_306 = self.input.LA(3)
if (self.synpred187()) :
alt95 = 1
elif LA95 == 25 or LA95 == 26 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 43 or LA95 == 45 or LA95 == 46 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 102 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 109 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116:
alt95 = 1
if alt95 == 1:
# C.g:0:0: statement
self.following.append(self.FOLLOW_statement_in_statement_list2227)
self.statement()
self.following.pop()
if self.failed:
return
else:
if cnt95 >= 1:
break #loop95
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(95, self.input)
raise eee
cnt95 += 1
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 67, statement_list_StartIndex)
pass
return
# $ANTLR end statement_list
class expression_statement_return(object):
def __init__(self):
self.start = None
self.stop = None
# $ANTLR start expression_statement
# C.g:508:1: expression_statement : ( ';' | expression ';' );
def expression_statement(self, ):
retval = self.expression_statement_return()
retval.start = self.input.LT(1)
expression_statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
return retval
# C.g:509:2: ( ';' | expression ';' )
alt96 = 2
LA96_0 = self.input.LA(1)
if (LA96_0 == 25) :
alt96 = 1
elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 61 or LA96_0 == 65 or (67 <= LA96_0 <= 68) or (71 <= LA96_0 <= 73) or (76 <= LA96_0 <= 78)) :
alt96 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("508:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
raise nvae
if alt96 == 1:
# C.g:509:4: ';'
self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2239)
if self.failed:
return retval
elif alt96 == 2:
# C.g:510:4: expression ';'
self.following.append(self.FOLLOW_expression_in_expression_statement2244)
self.expression()
self.following.pop()
if self.failed:
return retval
self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2246)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 68, expression_statement_StartIndex)
pass
return retval
# $ANTLR end expression_statement
# $ANTLR start selection_statement
# C.g:513:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
def selection_statement(self, ):
selection_statement_StartIndex = self.input.index()
e = None
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
return
# C.g:514:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
alt98 = 2
LA98_0 = self.input.LA(1)
if (LA98_0 == 107) :
alt98 = 1
elif (LA98_0 == 109) :
alt98 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("513:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input)
raise nvae
if alt98 == 1:
# C.g:514:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
self.match(self.input, 107, self.FOLLOW_107_in_selection_statement2257)
if self.failed:
return
self.match(self.input, 61, self.FOLLOW_61_in_selection_statement2259)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_selection_statement2263)
e = self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2265)
if self.failed:
return
if self.backtracking == 0:
self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
self.following.append(self.FOLLOW_statement_in_selection_statement2269)
self.statement()
self.following.pop()
if self.failed:
return
# C.g:514:167: ( options {k=1; backtrack=false; } : 'else' statement )?
alt97 = 2
LA97_0 = self.input.LA(1)
if (LA97_0 == 108) :
alt97 = 1
if alt97 == 1:
# C.g:514:200: 'else' statement
self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2284)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_selection_statement2286)
self.statement()
self.following.pop()
if self.failed:
return
elif alt98 == 2:
# C.g:515:4: 'switch' '(' expression ')' statement
self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2293)
if self.failed:
return
self.match(self.input, 61, self.FOLLOW_61_in_selection_statement2295)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_selection_statement2297)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2299)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_selection_statement2301)
self.statement()
self.following.pop()
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 69, selection_statement_StartIndex)
pass
return
# $ANTLR end selection_statement
# $ANTLR start iteration_statement
# C.g:518:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
def iteration_statement(self, ):
iteration_statement_StartIndex = self.input.index()
e = None
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
return
# C.g:519:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
alt100 = 3
LA100 = self.input.LA(1)
if LA100 == 110:
alt100 = 1
elif LA100 == 111:
alt100 = 2
elif LA100 == 112:
alt100 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("518:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input)
raise nvae
if alt100 == 1:
# C.g:519:4: 'while' '(' e= expression ')' statement
self.match(self.input, 110, self.FOLLOW_110_in_iteration_statement2312)
if self.failed:
return
self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2314)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_iteration_statement2318)
e = self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2320)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_iteration_statement2322)
self.statement()
self.following.pop()
if self.failed:
return
if self.backtracking == 0:
self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
elif alt100 == 2:
# C.g:520:4: 'do' statement 'while' '(' e= expression ')' ';'
self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2329)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_iteration_statement2331)
self.statement()
self.following.pop()
if self.failed:
return
self.match(self.input, 110, self.FOLLOW_110_in_iteration_statement2333)
if self.failed:
return
self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2335)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_iteration_statement2339)
e = self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2341)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2343)
if self.failed:
return
if self.backtracking == 0:
self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
elif alt100 == 3:
# C.g:521:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2350)
if self.failed:
return
self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2352)
if self.failed:
return
self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2354)
self.expression_statement()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2358)
e = self.expression_statement()
self.following.pop()
if self.failed:
return
# C.g:521:58: ( expression )?
alt99 = 2
LA99_0 = self.input.LA(1)
if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 61 or LA99_0 == 65 or (67 <= LA99_0 <= 68) or (71 <= LA99_0 <= 73) or (76 <= LA99_0 <= 78)) :
alt99 = 1
if alt99 == 1:
# C.g:0:0: expression
self.following.append(self.FOLLOW_expression_in_iteration_statement2360)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2363)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_iteration_statement2365)
self.statement()
self.following.pop()
if self.failed:
return
if self.backtracking == 0:
self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 70, iteration_statement_StartIndex)
pass
return
# $ANTLR end iteration_statement
# $ANTLR start jump_statement
# C.g:524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
def jump_statement(self, ):
jump_statement_StartIndex = self.input.index()
try:
try:
if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
return
# C.g:525:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
alt101 = 5
LA101 = self.input.LA(1)
if LA101 == 113:
alt101 = 1
elif LA101 == 114:
alt101 = 2
elif LA101 == 115:
alt101 = 3
elif LA101 == 116:
LA101_4 = self.input.LA(2)
if (LA101_4 == 25) :
alt101 = 4
elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 61 or LA101_4 == 65 or (67 <= LA101_4 <= 68) or (71 <= LA101_4 <= 73) or (76 <= LA101_4 <= 78)) :
alt101 = 5
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
raise nvae
if alt101 == 1:
# C.g:525:4: 'goto' IDENTIFIER ';'
self.match(self.input, 113, self.FOLLOW_113_in_jump_statement2378)
if self.failed:
return
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2380)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2382)
if self.failed:
return
elif alt101 == 2:
# C.g:526:4: 'continue' ';'
self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2387)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2389)
if self.failed:
return
elif alt101 == 3:
# C.g:527:4: 'break' ';'
self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2394)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2396)
if self.failed:
return
elif alt101 == 4:
# C.g:528:4: 'return' ';'
self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2401)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2403)
if self.failed:
return
elif alt101 == 5:
# C.g:529:4: 'return' expression ';'
self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2408)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_jump_statement2410)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2412)
if self.failed:
return
except RecognitionException, re:
self.reportError(re)
self.recover(self.input, re)
finally:
if self.backtracking > 0:
self.memoize(self.input, 71, jump_statement_StartIndex)
pass
return
# $ANTLR end jump_statement
# $ANTLR start synpred2
def synpred2_fragment(self, ):
# C.g:67:6: ( declaration_specifiers )
# C.g:67:6: declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred290)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred2
# $ANTLR start synpred4
def synpred4_fragment(self, ):
# C.g:67:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
# C.g:67:6: ( declaration_specifiers )? declarator ( declaration )* '{'
# C.g:67:6: ( declaration_specifiers )?
alt102 = 2
LA102 = self.input.LA(1)
if LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33 or LA102 == 34 or LA102 == 35 or LA102 == 36 or LA102 == 37 or LA102 == 38 or LA102 == 39 or LA102 == 40 or LA102 == 41 or LA102 == 42 or LA102 == 45 or LA102 == 46 or LA102 == 48 or LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57:
alt102 = 1
elif LA102 == IDENTIFIER:
LA102 = self.input.LA(2)
if LA102 == 65:
alt102 = 1
elif LA102 == 58:
LA102_21 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 59:
LA102_22 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 60:
LA102_23 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == IDENTIFIER:
LA102_24 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 61:
LA102_25 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33:
LA102_26 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 34:
LA102_27 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 35:
LA102_28 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 36:
LA102_29 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 37:
LA102_30 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 38:
LA102_31 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 39:
LA102_32 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 40:
LA102_33 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 41:
LA102_34 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 42:
LA102_35 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 45 or LA102 == 46:
LA102_36 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 48:
LA102_37 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57:
LA102_38 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 58:
LA102_14 = self.input.LA(2)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 59:
LA102_16 = self.input.LA(2)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 60:
LA102_17 = self.input.LA(2)
if (self.synpred2()) :
alt102 = 1
if alt102 == 1:
# C.g:0:0: declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred490)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_declarator_in_synpred493)
self.declarator()
self.following.pop()
if self.failed:
return
# C.g:67:41: ( declaration )*
while True: #loop103
alt103 = 2
LA103_0 = self.input.LA(1)
if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 60)) :
alt103 = 1
if alt103 == 1:
# C.g:0:0: declaration
self.following.append(self.FOLLOW_declaration_in_synpred495)
self.declaration()
self.following.pop()
if self.failed:
return
else:
break #loop103
self.match(self.input, 43, self.FOLLOW_43_in_synpred498)
if self.failed:
return
# $ANTLR end synpred4
# $ANTLR start synpred5
def synpred5_fragment(self, ):
# C.g:68:4: ( declaration )
# C.g:68:4: declaration
self.following.append(self.FOLLOW_declaration_in_synpred5108)
self.declaration()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred5
# $ANTLR start synpred7
def synpred7_fragment(self, ):
# C.g:94:6: ( declaration_specifiers )
# C.g:94:6: declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7147)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred7
# $ANTLR start synpred10
def synpred10_fragment(self, ):
# C.g:115:18: ( declaration_specifiers )
# C.g:115:18: declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10197)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred10
# $ANTLR start synpred14
def synpred14_fragment(self, ):
# C.g:132:7: ( type_specifier )
# C.g:132:7: type_specifier
self.following.append(self.FOLLOW_type_specifier_in_synpred14262)
self.type_specifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred14
# $ANTLR start synpred15
def synpred15_fragment(self, ):
# C.g:133:13: ( type_qualifier )
# C.g:133:13: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred15276)
self.type_qualifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred15
# $ANTLR start synpred33
def synpred33_fragment(self, ):
# C.g:173:16: ( type_qualifier )
# C.g:173:16: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred33434)
self.type_qualifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred33
# $ANTLR start synpred34
def synpred34_fragment(self, ):
# C.g:173:4: ( IDENTIFIER ( type_qualifier )* declarator )
# C.g:173:5: IDENTIFIER ( type_qualifier )* declarator
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34432)
if self.failed:
return
# C.g:173:16: ( type_qualifier )*
while True: #loop106
alt106 = 2
LA106 = self.input.LA(1)
if LA106 == 58:
LA106_2 = self.input.LA(2)
if (self.synpred33()) :
alt106 = 1
elif LA106 == 59:
LA106_3 = self.input.LA(2)
if (self.synpred33()) :
alt106 = 1
elif LA106 == 60:
LA106_4 = self.input.LA(2)
if (self.synpred33()) :
alt106 = 1
elif LA106 == 49 or LA106 == 50 or LA106 == 51 or LA106 == 52 or LA106 == 53 or LA106 == 54 or LA106 == 55 or LA106 == 56 or LA106 == 57:
alt106 = 1
if alt106 == 1:
# C.g:0:0: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred34434)
self.type_qualifier()
self.following.pop()
if self.failed:
return
else:
break #loop106
self.following.append(self.FOLLOW_declarator_in_synpred34437)
self.declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred34
# $ANTLR start synpred39
def synpred39_fragment(self, ):
# C.g:201:6: ( type_qualifier )
# C.g:201:6: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred39556)
self.type_qualifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred39
# $ANTLR start synpred40
def synpred40_fragment(self, ):
# C.g:201:23: ( type_specifier )
# C.g:201:23: type_specifier
self.following.append(self.FOLLOW_type_specifier_in_synpred40560)
self.type_specifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred40
# $ANTLR start synpred65
def synpred65_fragment(self, ):
# C.g:244:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
# C.g:244:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
# C.g:244:4: ( pointer )?
alt111 = 2
LA111_0 = self.input.LA(1)
if (LA111_0 == 65) :
alt111 = 1
if alt111 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_synpred65769)
self.pointer()
self.following.pop()
if self.failed:
return
# C.g:244:13: ( 'EFIAPI' )?
alt112 = 2
LA112_0 = self.input.LA(1)
if (LA112_0 == 58) :
alt112 = 1
if alt112 == 1:
# C.g:244:14: 'EFIAPI'
self.match(self.input, 58, self.FOLLOW_58_in_synpred65773)
if self.failed:
return
# C.g:244:25: ( 'EFI_BOOTSERVICE' )?
alt113 = 2
LA113_0 = self.input.LA(1)
if (LA113_0 == 59) :
alt113 = 1
if alt113 == 1:
# C.g:244:26: 'EFI_BOOTSERVICE'
self.match(self.input, 59, self.FOLLOW_59_in_synpred65778)
if self.failed:
return
# C.g:244:46: ( 'EFI_RUNTIMESERVICE' )?
alt114 = 2
LA114_0 = self.input.LA(1)
if (LA114_0 == 60) :
alt114 = 1
if alt114 == 1:
# C.g:244:47: 'EFI_RUNTIMESERVICE'
self.match(self.input, 60, self.FOLLOW_60_in_synpred65783)
if self.failed:
return
self.following.append(self.FOLLOW_direct_declarator_in_synpred65787)
self.direct_declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred65
# $ANTLR start synpred66
def synpred66_fragment(self, ):
# C.g:250:15: ( declarator_suffix )
# C.g:250:15: declarator_suffix
self.following.append(self.FOLLOW_declarator_suffix_in_synpred66806)
self.declarator_suffix()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred66
# $ANTLR start synpred68
def synpred68_fragment(self, ):
# C.g:251:9: ( 'EFIAPI' )
# C.g:251:9: 'EFIAPI'
self.match(self.input, 58, self.FOLLOW_58_in_synpred68815)
if self.failed:
return
# $ANTLR end synpred68
# $ANTLR start synpred69
def synpred69_fragment(self, ):
# C.g:251:35: ( declarator_suffix )
# C.g:251:35: declarator_suffix
self.following.append(self.FOLLOW_declarator_suffix_in_synpred69823)
self.declarator_suffix()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred69
# $ANTLR start synpred72
def synpred72_fragment(self, ):
# C.g:257:9: ( '(' parameter_type_list ')' )
# C.g:257:9: '(' parameter_type_list ')'
self.match(self.input, 61, self.FOLLOW_61_in_synpred72863)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_type_list_in_synpred72865)
self.parameter_type_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_synpred72867)
if self.failed:
return
# $ANTLR end synpred72
# $ANTLR start synpred73
def synpred73_fragment(self, ):
# C.g:258:9: ( '(' identifier_list ')' )
# C.g:258:9: '(' identifier_list ')'
self.match(self.input, 61, self.FOLLOW_61_in_synpred73877)
if self.failed:
return
self.following.append(self.FOLLOW_identifier_list_in_synpred73879)
self.identifier_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_synpred73881)
if self.failed:
return
# $ANTLR end synpred73
# $ANTLR start synpred74
def synpred74_fragment(self, ):
# C.g:263:8: ( type_qualifier )
# C.g:263:8: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred74906)
self.type_qualifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred74
# $ANTLR start synpred75
def synpred75_fragment(self, ):
# C.g:263:24: ( pointer )
# C.g:263:24: pointer
self.following.append(self.FOLLOW_pointer_in_synpred75909)
self.pointer()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred75
# $ANTLR start synpred76
def synpred76_fragment(self, ):
# C.g:263:4: ( '*' ( type_qualifier )+ ( pointer )? )
# C.g:263:4: '*' ( type_qualifier )+ ( pointer )?
self.match(self.input, 65, self.FOLLOW_65_in_synpred76904)
if self.failed:
return
# C.g:263:8: ( type_qualifier )+
cnt116 = 0
while True: #loop116
alt116 = 2
LA116_0 = self.input.LA(1)
if ((49 <= LA116_0 <= 60)) :
alt116 = 1
if alt116 == 1:
# C.g:0:0: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred76906)
self.type_qualifier()
self.following.pop()
if self.failed:
return
else:
if cnt116 >= 1:
break #loop116
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(116, self.input)
raise eee
cnt116 += 1
# C.g:263:24: ( pointer )?
alt117 = 2
LA117_0 = self.input.LA(1)
if (LA117_0 == 65) :
alt117 = 1
if alt117 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_synpred76909)
self.pointer()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred76
# $ANTLR start synpred77
def synpred77_fragment(self, ):
# C.g:264:4: ( '*' pointer )
# C.g:264:4: '*' pointer
self.match(self.input, 65, self.FOLLOW_65_in_synpred77915)
if self.failed:
return
self.following.append(self.FOLLOW_pointer_in_synpred77917)
self.pointer()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred77
# $ANTLR start synpred80
def synpred80_fragment(self, ):
# C.g:273:32: ( 'OPTIONAL' )
# C.g:273:32: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_synpred80962)
if self.failed:
return
# $ANTLR end synpred80
# $ANTLR start synpred81
def synpred81_fragment(self, ):
# C.g:273:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
# C.g:273:27: ',' ( 'OPTIONAL' )? parameter_declaration
self.match(self.input, 27, self.FOLLOW_27_in_synpred81959)
if self.failed:
return
# C.g:273:31: ( 'OPTIONAL' )?
alt119 = 2
LA119_0 = self.input.LA(1)
if (LA119_0 == 53) :
LA119_1 = self.input.LA(2)
if (self.synpred80()) :
alt119 = 1
if alt119 == 1:
# C.g:273:32: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_synpred81962)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_declaration_in_synpred81966)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred81
# $ANTLR start synpred82
def synpred82_fragment(self, ):
# C.g:277:28: ( declarator )
# C.g:277:28: declarator
self.following.append(self.FOLLOW_declarator_in_synpred82982)
self.declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred82
# $ANTLR start synpred83
def synpred83_fragment(self, ):
# C.g:277:39: ( abstract_declarator )
# C.g:277:39: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_synpred83984)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred83
# $ANTLR start synpred85
def synpred85_fragment(self, ):
# C.g:277:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
# C.g:277:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred85979)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# C.g:277:27: ( declarator | abstract_declarator )*
while True: #loop120
alt120 = 3
LA120 = self.input.LA(1)
if LA120 == 65:
LA120_3 = self.input.LA(2)
if (self.synpred82()) :
alt120 = 1
elif (self.synpred83()) :
alt120 = 2
elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
alt120 = 1
elif LA120 == 61:
LA120 = self.input.LA(2)
if LA120 == 29 or LA120 == 30 or LA120 == 31 or LA120 == 32 or LA120 == 33 or LA120 == 34 or LA120 == 35 or LA120 == 36 or LA120 == 37 or LA120 == 38 or LA120 == 39 or LA120 == 40 or LA120 == 41 or LA120 == 42 or LA120 == 45 or LA120 == 46 or LA120 == 48 or LA120 == 49 or LA120 == 50 or LA120 == 51 or LA120 == 52 or LA120 == 53 or LA120 == 54 or LA120 == 55 or LA120 == 56 or LA120 == 57 or LA120 == 62 or LA120 == 63:
alt120 = 2
elif LA120 == 58:
LA120_21 = self.input.LA(3)
if (self.synpred82()) :
alt120 = 1
elif (self.synpred83()) :
alt120 = 2
elif LA120 == 65:
LA120_22 = self.input.LA(3)
if (self.synpred82()) :
alt120 = 1
elif (self.synpred83()) :
alt120 = 2
elif LA120 == 59:
LA120_23 = self.input.LA(3)
if (self.synpred82()) :
alt120 = 1
elif (self.synpred83()) :
alt120 = 2
elif LA120 == 60:
LA120_24 = self.input.LA(3)
if (self.synpred82()) :
alt120 = 1
elif (self.synpred83()) :
alt120 = 2
elif LA120 == IDENTIFIER:
LA120_25 = self.input.LA(3)
if (self.synpred82()) :
alt120 = 1
elif (self.synpred83()) :
alt120 = 2
elif LA120 == 61:
LA120_26 = self.input.LA(3)
if (self.synpred82()) :
alt120 = 1
elif (self.synpred83()) :
alt120 = 2
elif LA120 == 63:
alt120 = 2
if alt120 == 1:
# C.g:277:28: declarator
self.following.append(self.FOLLOW_declarator_in_synpred85982)
self.declarator()
self.following.pop()
if self.failed:
return
elif alt120 == 2:
# C.g:277:39: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_synpred85984)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
else:
break #loop120
# C.g:277:61: ( 'OPTIONAL' )?
alt121 = 2
LA121_0 = self.input.LA(1)
if (LA121_0 == 53) :
alt121 = 1
if alt121 == 1:
# C.g:277:62: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_synpred85989)
if self.failed:
return
# $ANTLR end synpred85
# $ANTLR start synpred89
def synpred89_fragment(self, ):
# C.g:288:4: ( specifier_qualifier_list ( abstract_declarator )? )
# C.g:288:4: specifier_qualifier_list ( abstract_declarator )?
self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred891031)
self.specifier_qualifier_list()
self.following.pop()
if self.failed:
return
# C.g:288:29: ( abstract_declarator )?
alt122 = 2
LA122_0 = self.input.LA(1)
if (LA122_0 == 61 or LA122_0 == 63 or LA122_0 == 65) :
alt122 = 1
if alt122 == 1:
# C.g:0:0: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_synpred891033)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred89
# $ANTLR start synpred90
def synpred90_fragment(self, ):
# C.g:293:12: ( direct_abstract_declarator )
# C.g:293:12: direct_abstract_declarator
self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred901052)
self.direct_abstract_declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred90
# $ANTLR start synpred92
def synpred92_fragment(self, ):
# C.g:298:6: ( '(' abstract_declarator ')' )
# C.g:298:6: '(' abstract_declarator ')'
self.match(self.input, 61, self.FOLLOW_61_in_synpred921071)
if self.failed:
return
self.following.append(self.FOLLOW_abstract_declarator_in_synpred921073)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_synpred921075)
if self.failed:
return
# $ANTLR end synpred92
# $ANTLR start synpred93
def synpred93_fragment(self, ):
# C.g:298:65: ( abstract_declarator_suffix )
# C.g:298:65: abstract_declarator_suffix
self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred931083)
self.abstract_declarator_suffix()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred93
# $ANTLR start synpred108
def synpred108_fragment(self, ):
# C.g:333:4: ( '(' type_name ')' cast_expression )
# C.g:333:4: '(' type_name ')' cast_expression
self.match(self.input, 61, self.FOLLOW_61_in_synpred1081267)
if self.failed:
return
self.following.append(self.FOLLOW_type_name_in_synpred1081269)
self.type_name()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_synpred1081271)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_synpred1081273)
self.cast_expression()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred108
# $ANTLR start synpred113
def synpred113_fragment(self, ):
# C.g:342:4: ( 'sizeof' unary_expression )
# C.g:342:4: 'sizeof' unary_expression
self.match(self.input, 73, self.FOLLOW_73_in_synpred1131315)
if self.failed:
return
self.following.append(self.FOLLOW_unary_expression_in_synpred1131317)
self.unary_expression()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred113
# $ANTLR start synpred116
def synpred116_fragment(self, ):
# C.g:356:13: ( '(' argument_expression_list ')' )
# C.g:356:13: '(' argument_expression_list ')'
self.match(self.input, 61, self.FOLLOW_61_in_synpred1161405)
if self.failed:
return
self.following.append(self.FOLLOW_argument_expression_list_in_synpred1161409)
self.argument_expression_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_synpred1161413)
if self.failed:
return
# $ANTLR end synpred116
# $ANTLR start synpred117
def synpred117_fragment(self, ):
# C.g:357:13: ( '(' macro_parameter_list ')' )
# C.g:357:13: '(' macro_parameter_list ')'
self.match(self.input, 61, self.FOLLOW_61_in_synpred1171429)
if self.failed:
return
self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1171431)
self.macro_parameter_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_synpred1171433)
if self.failed:
return
# $ANTLR end synpred117
# $ANTLR start synpred119
def synpred119_fragment(self, ):
# C.g:359:13: ( '*' IDENTIFIER )
# C.g:359:13: '*' IDENTIFIER
self.match(self.input, 65, self.FOLLOW_65_in_synpred1191467)
if self.failed:
return
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1191471)
if self.failed:
return
# $ANTLR end synpred119
# $ANTLR start synpred136
def synpred136_fragment(self, ):
# C.g:390:20: ( STRING_LITERAL )
# C.g:390:20: STRING_LITERAL
self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1361668)
if self.failed:
return
# $ANTLR end synpred136
# $ANTLR start synpred137
def synpred137_fragment(self, ):
# C.g:390:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
# C.g:390:8: ( IDENTIFIER )* ( STRING_LITERAL )+
# C.g:390:8: ( IDENTIFIER )*
while True: #loop125
alt125 = 2
LA125_0 = self.input.LA(1)
if (LA125_0 == IDENTIFIER) :
alt125 = 1
if alt125 == 1:
# C.g:0:0: IDENTIFIER
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1371665)
if self.failed:
return
else:
break #loop125
# C.g:390:20: ( STRING_LITERAL )+
cnt126 = 0
while True: #loop126
alt126 = 2
LA126_0 = self.input.LA(1)
if (LA126_0 == STRING_LITERAL) :
alt126 = 1
if alt126 == 1:
# C.g:0:0: STRING_LITERAL
self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371668)
if self.failed:
return
else:
if cnt126 >= 1:
break #loop126
if self.backtracking > 0:
self.failed = True
return
eee = EarlyExitException(126, self.input)
raise eee
cnt126 += 1
# $ANTLR end synpred137
# $ANTLR start synpred141
def synpred141_fragment(self, ):
# C.g:405:4: ( lvalue assignment_operator assignment_expression )
# C.g:405:4: lvalue assignment_operator assignment_expression
self.following.append(self.FOLLOW_lvalue_in_synpred1411729)
self.lvalue()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_assignment_operator_in_synpred1411731)
self.assignment_operator()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_assignment_expression_in_synpred1411733)
self.assignment_expression()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred141
# $ANTLR start synpred168
def synpred168_fragment(self, ):
# C.g:467:4: ( expression_statement )
# C.g:467:4: expression_statement
self.following.append(self.FOLLOW_expression_statement_in_synpred1682020)
self.expression_statement()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred168
# $ANTLR start synpred172
def synpred172_fragment(self, ):
# C.g:471:4: ( macro_statement )
# C.g:471:4: macro_statement
self.following.append(self.FOLLOW_macro_statement_in_synpred1722040)
self.macro_statement()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred172
# $ANTLR start synpred173
def synpred173_fragment(self, ):
# C.g:472:4: ( asm2_statement )
# C.g:472:4: asm2_statement
self.following.append(self.FOLLOW_asm2_statement_in_synpred1732045)
self.asm2_statement()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred173
# $ANTLR start synpred180
def synpred180_fragment(self, ):
# C.g:491:19: ( declaration )
# C.g:491:19: declaration
self.following.append(self.FOLLOW_declaration_in_synpred1802151)
self.declaration()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred180
# $ANTLR start synpred181
def synpred181_fragment(self, ):
# C.g:491:33: ( statement_list )
# C.g:491:33: statement_list
self.following.append(self.FOLLOW_statement_list_in_synpred1812155)
self.statement_list()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred181
# $ANTLR start synpred185
def synpred185_fragment(self, ):
# C.g:501:8: ( declaration )
# C.g:501:8: declaration
self.following.append(self.FOLLOW_declaration_in_synpred1852210)
self.declaration()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred185
# $ANTLR start synpred187
def synpred187_fragment(self, ):
# C.g:505:4: ( statement )
# C.g:505:4: statement
self.following.append(self.FOLLOW_statement_in_synpred1872227)
self.statement()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred187
def synpred185(self):
self.backtracking += 1
start = self.input.mark()
self.synpred185_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred7(self):
self.backtracking += 1
start = self.input.mark()
self.synpred7_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred14(self):
self.backtracking += 1
start = self.input.mark()
self.synpred14_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred65(self):
self.backtracking += 1
start = self.input.mark()
self.synpred65_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred15(self):
self.backtracking += 1
start = self.input.mark()
self.synpred15_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred117(self):
self.backtracking += 1
start = self.input.mark()
self.synpred117_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred173(self):
self.backtracking += 1
start = self.input.mark()
self.synpred173_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred68(self):
self.backtracking += 1
start = self.input.mark()
self.synpred68_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred40(self):
self.backtracking += 1
start = self.input.mark()
self.synpred40_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred141(self):
self.backtracking += 1
start = self.input.mark()
self.synpred141_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred75(self):
self.backtracking += 1
start = self.input.mark()
self.synpred75_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred92(self):
self.backtracking += 1
start = self.input.mark()
self.synpred92_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred4(self):
self.backtracking += 1
start = self.input.mark()
self.synpred4_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred85(self):
self.backtracking += 1
start = self.input.mark()
self.synpred85_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred39(self):
self.backtracking += 1
start = self.input.mark()
self.synpred39_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred76(self):
self.backtracking += 1
start = self.input.mark()
self.synpred76_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred119(self):
self.backtracking += 1
start = self.input.mark()
self.synpred119_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred90(self):
self.backtracking += 1
start = self.input.mark()
self.synpred90_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred187(self):
self.backtracking += 1
start = self.input.mark()
self.synpred187_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred33(self):
self.backtracking += 1
start = self.input.mark()
self.synpred33_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred2(self):
self.backtracking += 1
start = self.input.mark()
self.synpred2_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred83(self):
self.backtracking += 1
start = self.input.mark()
self.synpred83_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred69(self):
self.backtracking += 1
start = self.input.mark()
self.synpred69_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred72(self):
self.backtracking += 1
start = self.input.mark()
self.synpred72_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred168(self):
self.backtracking += 1
start = self.input.mark()
self.synpred168_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred34(self):
self.backtracking += 1
start = self.input.mark()
self.synpred34_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred181(self):
self.backtracking += 1
start = self.input.mark()
self.synpred181_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred116(self):
self.backtracking += 1
start = self.input.mark()
self.synpred116_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred113(self):
self.backtracking += 1
start = self.input.mark()
self.synpred113_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred80(self):
self.backtracking += 1
start = self.input.mark()
self.synpred80_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred73(self):
self.backtracking += 1
start = self.input.mark()
self.synpred73_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred89(self):
self.backtracking += 1
start = self.input.mark()
self.synpred89_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred10(self):
self.backtracking += 1
start = self.input.mark()
self.synpred10_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred81(self):
self.backtracking += 1
start = self.input.mark()
self.synpred81_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred180(self):
self.backtracking += 1
start = self.input.mark()
self.synpred180_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred136(self):
self.backtracking += 1
start = self.input.mark()
self.synpred136_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred77(self):
self.backtracking += 1
start = self.input.mark()
self.synpred77_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred172(self):
self.backtracking += 1
start = self.input.mark()
self.synpred172_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred137(self):
self.backtracking += 1
start = self.input.mark()
self.synpred137_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred74(self):
self.backtracking += 1
start = self.input.mark()
self.synpred74_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred5(self):
self.backtracking += 1
start = self.input.mark()
self.synpred5_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred108(self):
self.backtracking += 1
start = self.input.mark()
self.synpred108_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred82(self):
self.backtracking += 1
start = self.input.mark()
self.synpred82_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred93(self):
self.backtracking += 1
start = self.input.mark()
self.synpred93_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred66(self):
self.backtracking += 1
start = self.input.mark()
self.synpred66_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
FOLLOW_external_declaration_in_translation_unit64 = frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
FOLLOW_function_definition_in_external_declaration103 = frozenset([1])
FOLLOW_declaration_in_external_declaration108 = frozenset([1])
FOLLOW_macro_statement_in_external_declaration113 = frozenset([1, 25])
FOLLOW_25_in_external_declaration116 = frozenset([1])
FOLLOW_declaration_specifiers_in_function_definition147 = frozenset([4, 58, 59, 60, 61, 65])
FOLLOW_declarator_in_function_definition150 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_declaration_in_function_definition156 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_compound_statement_in_function_definition161 = frozenset([1])
FOLLOW_compound_statement_in_function_definition170 = frozenset([1])
FOLLOW_26_in_declaration193 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
FOLLOW_declaration_specifiers_in_declaration197 = frozenset([4, 58, 59, 60, 61, 65])
FOLLOW_init_declarator_list_in_declaration206 = frozenset([25])
FOLLOW_25_in_declaration210 = frozenset([1])
FOLLOW_declaration_specifiers_in_declaration224 = frozenset([4, 25, 58, 59, 60, 61, 65])
FOLLOW_init_declarator_list_in_declaration228 = frozenset([25])
FOLLOW_25_in_declaration233 = frozenset([1])
FOLLOW_storage_class_specifier_in_declaration_specifiers254 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_type_specifier_in_declaration_specifiers262 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_type_qualifier_in_declaration_specifiers276 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_init_declarator_in_init_declarator_list298 = frozenset([1, 27])
FOLLOW_27_in_init_declarator_list301 = frozenset([4, 58, 59, 60, 61, 65])
FOLLOW_init_declarator_in_init_declarator_list303 = frozenset([1, 27])
FOLLOW_declarator_in_init_declarator316 = frozenset([1, 28])
FOLLOW_28_in_init_declarator319 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_initializer_in_init_declarator321 = frozenset([1])
FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
FOLLOW_34_in_type_specifier366 = frozenset([1])
FOLLOW_35_in_type_specifier371 = frozenset([1])
FOLLOW_36_in_type_specifier376 = frozenset([1])
FOLLOW_37_in_type_specifier381 = frozenset([1])
FOLLOW_38_in_type_specifier386 = frozenset([1])
FOLLOW_39_in_type_specifier391 = frozenset([1])
FOLLOW_40_in_type_specifier396 = frozenset([1])
FOLLOW_41_in_type_specifier401 = frozenset([1])
FOLLOW_42_in_type_specifier406 = frozenset([1])
FOLLOW_struct_or_union_specifier_in_type_specifier413 = frozenset([1])
FOLLOW_enum_specifier_in_type_specifier423 = frozenset([1])
FOLLOW_type_id_in_type_specifier441 = frozenset([1])
FOLLOW_IDENTIFIER_in_type_id457 = frozenset([1])
FOLLOW_struct_or_union_in_struct_or_union_specifier484 = frozenset([4, 43])
FOLLOW_IDENTIFIER_in_struct_or_union_specifier486 = frozenset([43])
FOLLOW_43_in_struct_or_union_specifier489 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_struct_declaration_list_in_struct_or_union_specifier491 = frozenset([44])
FOLLOW_44_in_struct_or_union_specifier493 = frozenset([1])
FOLLOW_struct_or_union_in_struct_or_union_specifier498 = frozenset([4])
FOLLOW_IDENTIFIER_in_struct_or_union_specifier500 = frozenset([1])
FOLLOW_set_in_struct_or_union0 = frozenset([1])
FOLLOW_struct_declaration_in_struct_declaration_list527 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_specifier_qualifier_list_in_struct_declaration539 = frozenset([4, 47, 58, 59, 60, 61, 65])
FOLLOW_struct_declarator_list_in_struct_declaration541 = frozenset([25])
FOLLOW_25_in_struct_declaration543 = frozenset([1])
FOLLOW_type_qualifier_in_specifier_qualifier_list556 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_type_specifier_in_specifier_qualifier_list560 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_struct_declarator_in_struct_declarator_list574 = frozenset([1, 27])
FOLLOW_27_in_struct_declarator_list577 = frozenset([4, 47, 58, 59, 60, 61, 65])
FOLLOW_struct_declarator_in_struct_declarator_list579 = frozenset([1, 27])
FOLLOW_declarator_in_struct_declarator592 = frozenset([1, 47])
FOLLOW_47_in_struct_declarator595 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_constant_expression_in_struct_declarator597 = frozenset([1])
FOLLOW_47_in_struct_declarator604 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_constant_expression_in_struct_declarator606 = frozenset([1])
FOLLOW_48_in_enum_specifier624 = frozenset([43])
FOLLOW_43_in_enum_specifier626 = frozenset([4])
FOLLOW_enumerator_list_in_enum_specifier628 = frozenset([27, 44])
FOLLOW_27_in_enum_specifier630 = frozenset([44])
FOLLOW_44_in_enum_specifier633 = frozenset([1])
FOLLOW_48_in_enum_specifier638 = frozenset([4])
FOLLOW_IDENTIFIER_in_enum_specifier640 = frozenset([43])
FOLLOW_43_in_enum_specifier642 = frozenset([4])
FOLLOW_enumerator_list_in_enum_specifier644 = frozenset([27, 44])
FOLLOW_27_in_enum_specifier646 = frozenset([44])
FOLLOW_44_in_enum_specifier649 = frozenset([1])
FOLLOW_48_in_enum_specifier654 = frozenset([4])
FOLLOW_IDENTIFIER_in_enum_specifier656 = frozenset([1])
FOLLOW_enumerator_in_enumerator_list667 = frozenset([1, 27])
FOLLOW_27_in_enumerator_list670 = frozenset([4])
FOLLOW_enumerator_in_enumerator_list672 = frozenset([1, 27])
FOLLOW_IDENTIFIER_in_enumerator685 = frozenset([1, 28])
FOLLOW_28_in_enumerator688 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_constant_expression_in_enumerator690 = frozenset([1])
FOLLOW_set_in_type_qualifier0 = frozenset([1])
FOLLOW_pointer_in_declarator769 = frozenset([4, 58, 59, 60, 61])
FOLLOW_58_in_declarator773 = frozenset([4, 59, 60, 61])
FOLLOW_59_in_declarator778 = frozenset([4, 60, 61])
FOLLOW_60_in_declarator783 = frozenset([4, 61])
FOLLOW_direct_declarator_in_declarator787 = frozenset([1])
FOLLOW_pointer_in_declarator793 = frozenset([1])
FOLLOW_IDENTIFIER_in_direct_declarator804 = frozenset([1, 61, 63])
FOLLOW_declarator_suffix_in_direct_declarator806 = frozenset([1, 61, 63])
FOLLOW_61_in_direct_declarator812 = frozenset([4, 58, 59, 60, 61, 65])
FOLLOW_58_in_direct_declarator815 = frozenset([4, 58, 59, 60, 61, 65])
FOLLOW_declarator_in_direct_declarator819 = frozenset([62])
FOLLOW_62_in_direct_declarator821 = frozenset([61, 63])
FOLLOW_declarator_suffix_in_direct_declarator823 = frozenset([1, 61, 63])
FOLLOW_63_in_declarator_suffix837 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_constant_expression_in_declarator_suffix839 = frozenset([64])
FOLLOW_64_in_declarator_suffix841 = frozenset([1])
FOLLOW_63_in_declarator_suffix851 = frozenset([64])
FOLLOW_64_in_declarator_suffix853 = frozenset([1])
FOLLOW_61_in_declarator_suffix863 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_parameter_type_list_in_declarator_suffix865 = frozenset([62])
FOLLOW_62_in_declarator_suffix867 = frozenset([1])
FOLLOW_61_in_declarator_suffix877 = frozenset([4])
FOLLOW_identifier_list_in_declarator_suffix879 = frozenset([62])
FOLLOW_62_in_declarator_suffix881 = frozenset([1])
FOLLOW_61_in_declarator_suffix891 = frozenset([62])
FOLLOW_62_in_declarator_suffix893 = frozenset([1])
FOLLOW_65_in_pointer904 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_type_qualifier_in_pointer906 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_pointer_in_pointer909 = frozenset([1])
FOLLOW_65_in_pointer915 = frozenset([65])
FOLLOW_pointer_in_pointer917 = frozenset([1])
FOLLOW_65_in_pointer922 = frozenset([1])
FOLLOW_parameter_list_in_parameter_type_list933 = frozenset([1, 27])
FOLLOW_27_in_parameter_type_list936 = frozenset([53, 66])
FOLLOW_53_in_parameter_type_list939 = frozenset([66])
FOLLOW_66_in_parameter_type_list943 = frozenset([1])
FOLLOW_parameter_declaration_in_parameter_list956 = frozenset([1, 27])
FOLLOW_27_in_parameter_list959 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_53_in_parameter_list962 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_parameter_declaration_in_parameter_list966 = frozenset([1, 27])
FOLLOW_declaration_specifiers_in_parameter_declaration979 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
FOLLOW_declarator_in_parameter_declaration982 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
FOLLOW_abstract_declarator_in_parameter_declaration984 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
FOLLOW_53_in_parameter_declaration989 = frozenset([1])
FOLLOW_pointer_in_parameter_declaration998 = frozenset([4, 65])
FOLLOW_IDENTIFIER_in_parameter_declaration1001 = frozenset([1])
FOLLOW_IDENTIFIER_in_identifier_list1012 = frozenset([1, 27])
FOLLOW_27_in_identifier_list1016 = frozenset([4])
FOLLOW_IDENTIFIER_in_identifier_list1018 = frozenset([1, 27])
FOLLOW_specifier_qualifier_list_in_type_name1031 = frozenset([1, 61, 63, 65])
FOLLOW_abstract_declarator_in_type_name1033 = frozenset([1])
FOLLOW_type_id_in_type_name1039 = frozenset([1])
FOLLOW_pointer_in_abstract_declarator1050 = frozenset([1, 61, 63])
FOLLOW_direct_abstract_declarator_in_abstract_declarator1052 = frozenset([1])
FOLLOW_direct_abstract_declarator_in_abstract_declarator1058 = frozenset([1])
FOLLOW_61_in_direct_abstract_declarator1071 = frozenset([61, 63, 65])
FOLLOW_abstract_declarator_in_direct_abstract_declarator1073 = frozenset([62])
FOLLOW_62_in_direct_abstract_declarator1075 = frozenset([1, 61, 63])
FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1079 = frozenset([1, 61, 63])
FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1083 = frozenset([1, 61, 63])
FOLLOW_63_in_abstract_declarator_suffix1095 = frozenset([64])
FOLLOW_64_in_abstract_declarator_suffix1097 = frozenset([1])
FOLLOW_63_in_abstract_declarator_suffix1102 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_constant_expression_in_abstract_declarator_suffix1104 = frozenset([64])
FOLLOW_64_in_abstract_declarator_suffix1106 = frozenset([1])
FOLLOW_61_in_abstract_declarator_suffix1111 = frozenset([62])
FOLLOW_62_in_abstract_declarator_suffix1113 = frozenset([1])
FOLLOW_61_in_abstract_declarator_suffix1118 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_parameter_type_list_in_abstract_declarator_suffix1120 = frozenset([62])
FOLLOW_62_in_abstract_declarator_suffix1122 = frozenset([1])
FOLLOW_assignment_expression_in_initializer1135 = frozenset([1])
FOLLOW_43_in_initializer1140 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_initializer_list_in_initializer1142 = frozenset([27, 44])
FOLLOW_27_in_initializer1144 = frozenset([44])
FOLLOW_44_in_initializer1147 = frozenset([1])
FOLLOW_initializer_in_initializer_list1158 = frozenset([1, 27])
FOLLOW_27_in_initializer_list1161 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_initializer_in_initializer_list1163 = frozenset([1, 27])
FOLLOW_assignment_expression_in_argument_expression_list1181 = frozenset([1, 27, 53])
FOLLOW_53_in_argument_expression_list1184 = frozenset([1, 27])
FOLLOW_27_in_argument_expression_list1189 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_assignment_expression_in_argument_expression_list1191 = frozenset([1, 27, 53])
FOLLOW_53_in_argument_expression_list1194 = frozenset([1, 27])
FOLLOW_multiplicative_expression_in_additive_expression1210 = frozenset([1, 67, 68])
FOLLOW_67_in_additive_expression1214 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_multiplicative_expression_in_additive_expression1216 = frozenset([1, 67, 68])
FOLLOW_68_in_additive_expression1220 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_multiplicative_expression_in_additive_expression1222 = frozenset([1, 67, 68])
FOLLOW_cast_expression_in_multiplicative_expression1236 = frozenset([1, 65, 69, 70])
FOLLOW_65_in_multiplicative_expression1240 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_cast_expression_in_multiplicative_expression1242 = frozenset([1, 65, 69, 70])
FOLLOW_69_in_multiplicative_expression1246 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_cast_expression_in_multiplicative_expression1248 = frozenset([1, 65, 69, 70])
FOLLOW_70_in_multiplicative_expression1252 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_cast_expression_in_multiplicative_expression1254 = frozenset([1, 65, 69, 70])
FOLLOW_61_in_cast_expression1267 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_type_name_in_cast_expression1269 = frozenset([62])
FOLLOW_62_in_cast_expression1271 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_cast_expression_in_cast_expression1273 = frozenset([1])
FOLLOW_unary_expression_in_cast_expression1278 = frozenset([1])
FOLLOW_postfix_expression_in_unary_expression1289 = frozenset([1])
FOLLOW_71_in_unary_expression1294 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_unary_expression_in_unary_expression1296 = frozenset([1])
FOLLOW_72_in_unary_expression1301 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_unary_expression_in_unary_expression1303 = frozenset([1])
FOLLOW_unary_operator_in_unary_expression1308 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_cast_expression_in_unary_expression1310 = frozenset([1])
FOLLOW_73_in_unary_expression1315 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_unary_expression_in_unary_expression1317 = frozenset([1])
FOLLOW_73_in_unary_expression1322 = frozenset([61])
FOLLOW_61_in_unary_expression1324 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_type_name_in_unary_expression1326 = frozenset([62])
FOLLOW_62_in_unary_expression1328 = frozenset([1])
FOLLOW_primary_expression_in_postfix_expression1352 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_63_in_postfix_expression1368 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_postfix_expression1370 = frozenset([64])
FOLLOW_64_in_postfix_expression1372 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_61_in_postfix_expression1386 = frozenset([62])
FOLLOW_62_in_postfix_expression1390 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_61_in_postfix_expression1405 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_argument_expression_list_in_postfix_expression1409 = frozenset([62])
FOLLOW_62_in_postfix_expression1413 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_61_in_postfix_expression1429 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_macro_parameter_list_in_postfix_expression1431 = frozenset([62])
FOLLOW_62_in_postfix_expression1433 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_74_in_postfix_expression1447 = frozenset([4])
FOLLOW_IDENTIFIER_in_postfix_expression1451 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_65_in_postfix_expression1467 = frozenset([4])
FOLLOW_IDENTIFIER_in_postfix_expression1471 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_75_in_postfix_expression1487 = frozenset([4])
FOLLOW_IDENTIFIER_in_postfix_expression1491 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_71_in_postfix_expression1507 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_72_in_postfix_expression1521 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
FOLLOW_parameter_declaration_in_macro_parameter_list1544 = frozenset([1, 27])
FOLLOW_27_in_macro_parameter_list1547 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_parameter_declaration_in_macro_parameter_list1549 = frozenset([1, 27])
FOLLOW_set_in_unary_operator0 = frozenset([1])
FOLLOW_IDENTIFIER_in_primary_expression1598 = frozenset([1])
FOLLOW_constant_in_primary_expression1603 = frozenset([1])
FOLLOW_61_in_primary_expression1608 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_primary_expression1610 = frozenset([62])
FOLLOW_62_in_primary_expression1612 = frozenset([1])
FOLLOW_HEX_LITERAL_in_constant1628 = frozenset([1])
FOLLOW_OCTAL_LITERAL_in_constant1638 = frozenset([1])
FOLLOW_DECIMAL_LITERAL_in_constant1648 = frozenset([1])
FOLLOW_CHARACTER_LITERAL_in_constant1656 = frozenset([1])
FOLLOW_IDENTIFIER_in_constant1665 = frozenset([4, 9])
FOLLOW_STRING_LITERAL_in_constant1668 = frozenset([1, 4, 9])
FOLLOW_IDENTIFIER_in_constant1673 = frozenset([1, 4])
FOLLOW_FLOATING_POINT_LITERAL_in_constant1684 = frozenset([1])
FOLLOW_assignment_expression_in_expression1700 = frozenset([1, 27])
FOLLOW_27_in_expression1703 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_assignment_expression_in_expression1705 = frozenset([1, 27])
FOLLOW_conditional_expression_in_constant_expression1718 = frozenset([1])
FOLLOW_lvalue_in_assignment_expression1729 = frozenset([28, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88])
FOLLOW_assignment_operator_in_assignment_expression1731 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_assignment_expression_in_assignment_expression1733 = frozenset([1])
FOLLOW_conditional_expression_in_assignment_expression1738 = frozenset([1])
FOLLOW_unary_expression_in_lvalue1750 = frozenset([1])
FOLLOW_set_in_assignment_operator0 = frozenset([1])
FOLLOW_logical_or_expression_in_conditional_expression1824 = frozenset([1, 89])
FOLLOW_89_in_conditional_expression1827 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_conditional_expression1829 = frozenset([47])
FOLLOW_47_in_conditional_expression1831 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_conditional_expression_in_conditional_expression1833 = frozenset([1])
FOLLOW_logical_and_expression_in_logical_or_expression1848 = frozenset([1, 90])
FOLLOW_90_in_logical_or_expression1851 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_logical_and_expression_in_logical_or_expression1853 = frozenset([1, 90])
FOLLOW_inclusive_or_expression_in_logical_and_expression1866 = frozenset([1, 91])
FOLLOW_91_in_logical_and_expression1869 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_inclusive_or_expression_in_logical_and_expression1871 = frozenset([1, 91])
FOLLOW_exclusive_or_expression_in_inclusive_or_expression1884 = frozenset([1, 92])
FOLLOW_92_in_inclusive_or_expression1887 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_exclusive_or_expression_in_inclusive_or_expression1889 = frozenset([1, 92])
FOLLOW_and_expression_in_exclusive_or_expression1902 = frozenset([1, 93])
FOLLOW_93_in_exclusive_or_expression1905 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_and_expression_in_exclusive_or_expression1907 = frozenset([1, 93])
FOLLOW_equality_expression_in_and_expression1920 = frozenset([1, 76])
FOLLOW_76_in_and_expression1923 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_equality_expression_in_and_expression1925 = frozenset([1, 76])
FOLLOW_relational_expression_in_equality_expression1937 = frozenset([1, 94, 95])
FOLLOW_set_in_equality_expression1940 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_relational_expression_in_equality_expression1946 = frozenset([1, 94, 95])
FOLLOW_shift_expression_in_relational_expression1960 = frozenset([1, 96, 97, 98, 99])
FOLLOW_set_in_relational_expression1963 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_shift_expression_in_relational_expression1973 = frozenset([1, 96, 97, 98, 99])
FOLLOW_additive_expression_in_shift_expression1986 = frozenset([1, 100, 101])
FOLLOW_set_in_shift_expression1989 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_additive_expression_in_shift_expression1995 = frozenset([1, 100, 101])
FOLLOW_labeled_statement_in_statement2010 = frozenset([1])
FOLLOW_compound_statement_in_statement2015 = frozenset([1])
FOLLOW_expression_statement_in_statement2020 = frozenset([1])
FOLLOW_selection_statement_in_statement2025 = frozenset([1])
FOLLOW_iteration_statement_in_statement2030 = frozenset([1])
FOLLOW_jump_statement_in_statement2035 = frozenset([1])
FOLLOW_macro_statement_in_statement2040 = frozenset([1])
FOLLOW_asm2_statement_in_statement2045 = frozenset([1])
FOLLOW_asm1_statement_in_statement2050 = frozenset([1])
FOLLOW_asm_statement_in_statement2055 = frozenset([1])
FOLLOW_declaration_in_statement2060 = frozenset([1])
FOLLOW_102_in_asm2_statement2071 = frozenset([4])
FOLLOW_IDENTIFIER_in_asm2_statement2074 = frozenset([61])
FOLLOW_61_in_asm2_statement2076 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_set_in_asm2_statement2079 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_62_in_asm2_statement2086 = frozenset([25])
FOLLOW_25_in_asm2_statement2088 = frozenset([1])
FOLLOW_103_in_asm1_statement2100 = frozenset([43])
FOLLOW_43_in_asm1_statement2102 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_set_in_asm1_statement2105 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_44_in_asm1_statement2112 = frozenset([1])
FOLLOW_104_in_asm_statement2123 = frozenset([43])
FOLLOW_43_in_asm_statement2125 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_set_in_asm_statement2128 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_44_in_asm_statement2135 = frozenset([1])
FOLLOW_IDENTIFIER_in_macro_statement2147 = frozenset([61])
FOLLOW_61_in_macro_statement2149 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_declaration_in_macro_statement2151 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_list_in_macro_statement2155 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_macro_statement2158 = frozenset([62])
FOLLOW_62_in_macro_statement2161 = frozenset([1])
FOLLOW_IDENTIFIER_in_labeled_statement2173 = frozenset([47])
FOLLOW_47_in_labeled_statement2175 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_labeled_statement2177 = frozenset([1])
FOLLOW_105_in_labeled_statement2182 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_constant_expression_in_labeled_statement2184 = frozenset([47])
FOLLOW_47_in_labeled_statement2186 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_labeled_statement2188 = frozenset([1])
FOLLOW_106_in_labeled_statement2193 = frozenset([47])
FOLLOW_47_in_labeled_statement2195 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_labeled_statement2197 = frozenset([1])
FOLLOW_43_in_compound_statement2208 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_declaration_in_compound_statement2210 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_list_in_compound_statement2213 = frozenset([44])
FOLLOW_44_in_compound_statement2216 = frozenset([1])
FOLLOW_statement_in_statement_list2227 = frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_25_in_expression_statement2239 = frozenset([1])
FOLLOW_expression_in_expression_statement2244 = frozenset([25])
FOLLOW_25_in_expression_statement2246 = frozenset([1])
FOLLOW_107_in_selection_statement2257 = frozenset([61])
FOLLOW_61_in_selection_statement2259 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_selection_statement2263 = frozenset([62])
FOLLOW_62_in_selection_statement2265 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_selection_statement2269 = frozenset([1, 108])
FOLLOW_108_in_selection_statement2284 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_selection_statement2286 = frozenset([1])
FOLLOW_109_in_selection_statement2293 = frozenset([61])
FOLLOW_61_in_selection_statement2295 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_selection_statement2297 = frozenset([62])
FOLLOW_62_in_selection_statement2299 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_selection_statement2301 = frozenset([1])
FOLLOW_110_in_iteration_statement2312 = frozenset([61])
FOLLOW_61_in_iteration_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_iteration_statement2318 = frozenset([62])
FOLLOW_62_in_iteration_statement2320 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_iteration_statement2322 = frozenset([1])
FOLLOW_111_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_iteration_statement2331 = frozenset([110])
FOLLOW_110_in_iteration_statement2333 = frozenset([61])
FOLLOW_61_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_iteration_statement2339 = frozenset([62])
FOLLOW_62_in_iteration_statement2341 = frozenset([25])
FOLLOW_25_in_iteration_statement2343 = frozenset([1])
FOLLOW_112_in_iteration_statement2350 = frozenset([61])
FOLLOW_61_in_iteration_statement2352 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_statement_in_iteration_statement2354 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_statement_in_iteration_statement2358 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_iteration_statement2360 = frozenset([62])
FOLLOW_62_in_iteration_statement2363 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
FOLLOW_statement_in_iteration_statement2365 = frozenset([1])
FOLLOW_113_in_jump_statement2378 = frozenset([4])
FOLLOW_IDENTIFIER_in_jump_statement2380 = frozenset([25])
FOLLOW_25_in_jump_statement2382 = frozenset([1])
FOLLOW_114_in_jump_statement2387 = frozenset([25])
FOLLOW_25_in_jump_statement2389 = frozenset([1])
FOLLOW_115_in_jump_statement2394 = frozenset([25])
FOLLOW_25_in_jump_statement2396 = frozenset([1])
FOLLOW_116_in_jump_statement2401 = frozenset([25])
FOLLOW_25_in_jump_statement2403 = frozenset([1])
FOLLOW_116_in_jump_statement2408 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_expression_in_jump_statement2410 = frozenset([25])
FOLLOW_25_in_jump_statement2412 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred290 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred490 = frozenset([4, 58, 59, 60, 61, 65])
FOLLOW_declarator_in_synpred493 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_declaration_in_synpred495 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_43_in_synpred498 = frozenset([1])
FOLLOW_declaration_in_synpred5108 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred7147 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred10197 = frozenset([1])
FOLLOW_type_specifier_in_synpred14262 = frozenset([1])
FOLLOW_type_qualifier_in_synpred15276 = frozenset([1])
FOLLOW_type_qualifier_in_synpred33434 = frozenset([1])
FOLLOW_IDENTIFIER_in_synpred34432 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
FOLLOW_type_qualifier_in_synpred34434 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
FOLLOW_declarator_in_synpred34437 = frozenset([1])
FOLLOW_type_qualifier_in_synpred39556 = frozenset([1])
FOLLOW_type_specifier_in_synpred40560 = frozenset([1])
FOLLOW_pointer_in_synpred65769 = frozenset([4, 58, 59, 60, 61])
FOLLOW_58_in_synpred65773 = frozenset([4, 59, 60, 61])
FOLLOW_59_in_synpred65778 = frozenset([4, 60, 61])
FOLLOW_60_in_synpred65783 = frozenset([4, 61])
FOLLOW_direct_declarator_in_synpred65787 = frozenset([1])
FOLLOW_declarator_suffix_in_synpred66806 = frozenset([1])
FOLLOW_58_in_synpred68815 = frozenset([1])
FOLLOW_declarator_suffix_in_synpred69823 = frozenset([1])
FOLLOW_61_in_synpred72863 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_parameter_type_list_in_synpred72865 = frozenset([62])
FOLLOW_62_in_synpred72867 = frozenset([1])
FOLLOW_61_in_synpred73877 = frozenset([4])
FOLLOW_identifier_list_in_synpred73879 = frozenset([62])
FOLLOW_62_in_synpred73881 = frozenset([1])
FOLLOW_type_qualifier_in_synpred74906 = frozenset([1])
FOLLOW_pointer_in_synpred75909 = frozenset([1])
FOLLOW_65_in_synpred76904 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_type_qualifier_in_synpred76906 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_pointer_in_synpred76909 = frozenset([1])
FOLLOW_65_in_synpred77915 = frozenset([65])
FOLLOW_pointer_in_synpred77917 = frozenset([1])
FOLLOW_53_in_synpred80962 = frozenset([1])
FOLLOW_27_in_synpred81959 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_53_in_synpred81962 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_parameter_declaration_in_synpred81966 = frozenset([1])
FOLLOW_declarator_in_synpred82982 = frozenset([1])
FOLLOW_abstract_declarator_in_synpred83984 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred85979 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
FOLLOW_declarator_in_synpred85982 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
FOLLOW_abstract_declarator_in_synpred85984 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
FOLLOW_53_in_synpred85989 = frozenset([1])
FOLLOW_specifier_qualifier_list_in_synpred891031 = frozenset([1, 61, 63, 65])
FOLLOW_abstract_declarator_in_synpred891033 = frozenset([1])
FOLLOW_direct_abstract_declarator_in_synpred901052 = frozenset([1])
FOLLOW_61_in_synpred921071 = frozenset([61, 63, 65])
FOLLOW_abstract_declarator_in_synpred921073 = frozenset([62])
FOLLOW_62_in_synpred921075 = frozenset([1])
FOLLOW_abstract_declarator_suffix_in_synpred931083 = frozenset([1])
FOLLOW_61_in_synpred1081267 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
FOLLOW_type_name_in_synpred1081269 = frozenset([62])
FOLLOW_62_in_synpred1081271 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_cast_expression_in_synpred1081273 = frozenset([1])
FOLLOW_73_in_synpred1131315 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_unary_expression_in_synpred1131317 = frozenset([1])
FOLLOW_61_in_synpred1161405 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_argument_expression_list_in_synpred1161409 = frozenset([62])
FOLLOW_62_in_synpred1161413 = frozenset([1])
FOLLOW_61_in_synpred1171429 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
FOLLOW_macro_parameter_list_in_synpred1171431 = frozenset([62])
FOLLOW_62_in_synpred1171433 = frozenset([1])
FOLLOW_65_in_synpred1191467 = frozenset([4])
FOLLOW_IDENTIFIER_in_synpred1191471 = frozenset([1])
FOLLOW_STRING_LITERAL_in_synpred1361668 = frozenset([1])
FOLLOW_IDENTIFIER_in_synpred1371665 = frozenset([4, 9])
FOLLOW_STRING_LITERAL_in_synpred1371668 = frozenset([1, 9])
FOLLOW_lvalue_in_synpred1411729 = frozenset([28, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88])
FOLLOW_assignment_operator_in_synpred1411731 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
FOLLOW_assignment_expression_in_synpred1411733 = frozenset([1])
FOLLOW_expression_statement_in_synpred1682020 = frozenset([1])
FOLLOW_macro_statement_in_synpred1722040 = frozenset([1])
FOLLOW_asm2_statement_in_synpred1732045 = frozenset([1])
FOLLOW_declaration_in_synpred1802151 = frozenset([1])
FOLLOW_statement_list_in_synpred1812155 = frozenset([1])
FOLLOW_declaration_in_synpred1852210 = frozenset([1])
FOLLOW_statement_in_synpred1872227 = frozenset([1])