Liming Gao 1ccc4d895d Revert BaseTools: PYTHON3 migration
This reverts commit 6693f359b3c213513c5096a06c6f67244a44dc52..
678f85131238622e576705117e299d81cff755c9.

Python3 migration is the fundamental change. It requires every developer
to install Python3. Before this migration, the well communication and wide
verification must be done. But now, most people is not aware of this change,
and not try it. So, Python3 migration is reverted and be moved to edk2-staging
Python3 branch for the edk2 user evaluation.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
2018-10-15 08:29:14 +08:00

18840 lines
682 KiB
Python

# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53
from __future__ import print_function
from __future__ import absolute_import
from antlr3 import *
from antlr3.compat import set, frozenset
## @file
# The file defines the parser for C source files.
#
# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
# This file is generated by running:
# java org.antlr.Tool C.g
#
# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials are licensed and made available
# under the terms and conditions of the BSD License which accompanies this
# distribution. The full text of the license may be found at:
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##
from Ecc import CodeFragment
from Ecc import FileProfile
# for convenience in actions
HIDDEN = BaseRecognizer.HIDDEN
# token types
BS=20
LINE_COMMENT=23
FloatTypeSuffix=16
IntegerTypeSuffix=14
LETTER=11
OCTAL_LITERAL=6
CHARACTER_LITERAL=8
Exponent=15
EOF=-1
HexDigit=13
STRING_LITERAL=9
WS=19
FLOATING_POINT_LITERAL=10
IDENTIFIER=4
UnicodeEscape=18
LINE_COMMAND=24
UnicodeVocabulary=21
HEX_LITERAL=5
COMMENT=22
DECIMAL_LITERAL=7
EscapeSequence=12
OctalEscape=17
# 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'", "'PACKED'",
"'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
"'++'", "'--'", "'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:102: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:103:2: ( ( external_declaration )* )
# C.g:103:4: ( external_declaration )*
# C.g:103: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 <= 62) or LA1_0 == 66) :
alt1 = 1
if alt1 == 1:
# C.g:0:0: external_declaration
self.following.append(self.FOLLOW_external_declaration_in_translation_unit74)
self.external_declaration()
self.following.pop()
if self.failed:
return
else:
break #loop1
except RecognitionException as 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:114: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:119: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("114: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("114: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("114: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("114: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("114: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("114: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("114: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("114: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("114: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("114: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("114: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("114: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("114: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("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
raise nvae
elif (LA3_0 == 66) 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("114: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("114: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) or LA3_0 == 61) :
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("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
raise nvae
elif (LA3_0 == 62) and (self.synpred4()):
alt3 = 1
elif (LA3_0 == 26) :
alt3 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("114: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:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
self.following.append(self.FOLLOW_function_definition_in_external_declaration113)
self.function_definition()
self.following.pop()
if self.failed:
return
elif alt3 == 2:
# C.g:120:4: declaration
self.following.append(self.FOLLOW_declaration_in_external_declaration118)
self.declaration()
self.following.pop()
if self.failed:
return
elif alt3 == 3:
# C.g:121:4: macro_statement ( ';' )?
self.following.append(self.FOLLOW_macro_statement_in_external_declaration123)
self.macro_statement()
self.following.pop()
if self.failed:
return
# C.g:121:20: ( ';' )?
alt2 = 2
LA2_0 = self.input.LA(1)
if (LA2_0 == 25) :
alt2 = 1
if alt2 == 1:
# C.g:121:21: ';'
self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126)
if self.failed:
return
except RecognitionException as 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:126: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:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
# C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
# C.g:146: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 or LA4 == 61:
alt4 = 1
elif LA4 == IDENTIFIER:
LA4 = self.input.LA(2)
if LA4 == 66:
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 == 62:
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 or LA4 == 61:
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_definition157)
d = self.declaration_specifiers()
self.following.pop()
if self.failed:
return retval
self.following.append(self.FOLLOW_declarator_in_function_definition160)
declarator1 = self.declarator()
self.following.pop()
if self.failed:
return retval
# C.g:147: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 <= 61)) :
alt6 = 1
elif (LA6_0 == 43) :
alt6 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
raise nvae
if alt6 == 1:
# C.g:147:5: ( declaration )+ a= compound_statement
# C.g:147: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 <= 61)) :
alt5 = 1
if alt5 == 1:
# C.g:0:0: declaration
self.following.append(self.FOLLOW_declaration_in_function_definition166)
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_definition171)
a = self.compound_statement()
self.following.pop()
if self.failed:
return retval
elif alt6 == 2:
# C.g:148:5: b= compound_statement
self.following.append(self.FOLLOW_compound_statement_in_function_definition180)
b = self.compound_statement()
self.following.pop()
if self.failed:
return retval
if self.backtracking == 0:
if d is not 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 is not 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 as 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:166: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:167: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 <= 61)) :
alt9 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("166: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:167: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_declaration203)
if self.failed:
return
# C.g:167: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 or LA7 == 61:
alt7 = 1
elif LA7 == IDENTIFIER:
LA7_13 = self.input.LA(2)
if (LA7_13 == 62) :
LA7_21 = self.input.LA(3)
if (self.synpred10()) :
alt7 = 1
elif (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 61) or LA7_13 == 66) :
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_declaration207)
b = self.declaration_specifiers()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_init_declarator_list_in_declaration216)
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_declaration220)
if self.failed:
return
if self.backtracking == 0:
if b is not 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:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
self.following.append(self.FOLLOW_declaration_specifiers_in_declaration234)
s = self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# C.g:175:30: (t= init_declarator_list )?
alt8 = 2
LA8_0 = self.input.LA(1)
if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 60) or LA8_0 == 62 or LA8_0 == 66) :
alt8 = 1
if alt8 == 1:
# C.g:0:0: t= init_declarator_list
self.following.append(self.FOLLOW_init_declarator_list_in_declaration238)
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_declaration243)
if self.failed:
return
if self.backtracking == 0:
if t is not 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 as 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:182: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:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
# C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
# C.g:183: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 or LA10 == 61:
alt10 = 3
if alt10 == 1:
# C.g:183:10: storage_class_specifier
self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers264)
self.storage_class_specifier()
self.following.pop()
if self.failed:
return retval
elif alt10 == 2:
# C.g:184:7: type_specifier
self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers272)
self.type_specifier()
self.following.pop()
if self.failed:
return retval
elif alt10 == 3:
# C.g:185:13: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers286)
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 as 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:189: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:190:2: ( init_declarator ( ',' init_declarator )* )
# C.g:190:4: init_declarator ( ',' init_declarator )*
self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list308)
self.init_declarator()
self.following.pop()
if self.failed:
return retval
# C.g:190: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:190:21: ',' init_declarator
self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list311)
if self.failed:
return retval
self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list313)
self.init_declarator()
self.following.pop()
if self.failed:
return retval
else:
break #loop11
retval.stop = self.input.LT(-1)
except RecognitionException as 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:193: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:194:2: ( declarator ( '=' initializer )? )
# C.g:194:4: declarator ( '=' initializer )?
self.following.append(self.FOLLOW_declarator_in_init_declarator326)
self.declarator()
self.following.pop()
if self.failed:
return
# C.g:194:15: ( '=' initializer )?
alt12 = 2
LA12_0 = self.input.LA(1)
if (LA12_0 == 28) :
alt12 = 1
if alt12 == 1:
# C.g:194:16: '=' initializer
self.match(self.input, 28, self.FOLLOW_28_in_init_declarator329)
if self.failed:
return
self.following.append(self.FOLLOW_initializer_in_init_declarator331)
self.initializer()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:197: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:198: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 as 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:205: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:206: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("205: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:206:4: 'void'
self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376)
if self.failed:
return
elif alt13 == 2:
# C.g:207:4: 'char'
self.match(self.input, 35, self.FOLLOW_35_in_type_specifier381)
if self.failed:
return
elif alt13 == 3:
# C.g:208:4: 'short'
self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386)
if self.failed:
return
elif alt13 == 4:
# C.g:209:4: 'int'
self.match(self.input, 37, self.FOLLOW_37_in_type_specifier391)
if self.failed:
return
elif alt13 == 5:
# C.g:210:4: 'long'
self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396)
if self.failed:
return
elif alt13 == 6:
# C.g:211:4: 'float'
self.match(self.input, 39, self.FOLLOW_39_in_type_specifier401)
if self.failed:
return
elif alt13 == 7:
# C.g:212:4: 'double'
self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406)
if self.failed:
return
elif alt13 == 8:
# C.g:213:4: 'signed'
self.match(self.input, 41, self.FOLLOW_41_in_type_specifier411)
if self.failed:
return
elif alt13 == 9:
# C.g:214:4: 'unsigned'
self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416)
if self.failed:
return
elif alt13 == 10:
# C.g:215:4: s= struct_or_union_specifier
self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier423)
s = self.struct_or_union_specifier()
self.following.pop()
if self.failed:
return
if self.backtracking == 0:
if s.stop is not 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:220:4: e= enum_specifier
self.following.append(self.FOLLOW_enum_specifier_in_type_specifier433)
e = self.enum_specifier()
self.following.pop()
if self.failed:
return
if self.backtracking == 0:
if e.stop is not 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:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
self.following.append(self.FOLLOW_type_id_in_type_specifier451)
self.type_id()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:228: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:229:5: ( IDENTIFIER )
# C.g:229:9: IDENTIFIER
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id467)
if self.failed:
return
except RecognitionException as 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:233: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:235: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 <= 64) or LA15_2 == 66) :
alt15 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("233: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("233: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("233: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:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier494)
self.struct_or_union()
self.following.pop()
if self.failed:
return retval
# C.g:235: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_specifier496)
if self.failed:
return retval
self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier499)
if self.failed:
return retval
self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501)
self.struct_declaration_list()
self.following.pop()
if self.failed:
return retval
self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier503)
if self.failed:
return retval
elif alt15 == 2:
# C.g:236:4: struct_or_union IDENTIFIER
self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier508)
self.struct_or_union()
self.following.pop()
if self.failed:
return retval
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException as 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:239: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:240: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 as 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:244: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:245:2: ( ( struct_declaration )+ )
# C.g:245:4: ( struct_declaration )+
# C.g:245: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 <= 61)) :
alt16 = 1
if alt16 == 1:
# C.g:0:0: struct_declaration
self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537)
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 as 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:248: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:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
# C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration549)
self.specifier_qualifier_list()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration551)
self.struct_declarator_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553)
if self.failed:
return
except RecognitionException as 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:252: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:253:2: ( ( type_qualifier | type_specifier )+ )
# C.g:253:4: ( type_qualifier | type_specifier )+
# C.g:253: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 == 61 or LA17 == 63 or LA17 == 66:
alt17 = 2
elif LA17 == 62:
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 == 64:
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 or LA17 == 61:
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:253:6: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566)
self.type_qualifier()
self.following.pop()
if self.failed:
return
elif alt17 == 2:
# C.g:253:23: type_specifier
self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list570)
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 as 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:256: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:257:2: ( struct_declarator ( ',' struct_declarator )* )
# C.g:257:4: struct_declarator ( ',' struct_declarator )*
self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list584)
self.struct_declarator()
self.following.pop()
if self.failed:
return
# C.g:257: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:257:23: ',' struct_declarator
self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list587)
if self.failed:
return
self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list589)
self.struct_declarator()
self.following.pop()
if self.failed:
return
else:
break #loop18
except RecognitionException as 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:260: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:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
alt20 = 2
LA20_0 = self.input.LA(1)
if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 60) or LA20_0 == 62 or LA20_0 == 66) :
alt20 = 1
elif (LA20_0 == 47) :
alt20 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
raise nvae
if alt20 == 1:
# C.g:261:4: declarator ( ':' constant_expression )?
self.following.append(self.FOLLOW_declarator_in_struct_declarator602)
self.declarator()
self.following.pop()
if self.failed:
return
# C.g:261:15: ( ':' constant_expression )?
alt19 = 2
LA19_0 = self.input.LA(1)
if (LA19_0 == 47) :
alt19 = 1
if alt19 == 1:
# C.g:261:16: ':' constant_expression
self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator605)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_struct_declarator607)
self.constant_expression()
self.following.pop()
if self.failed:
return
elif alt20 == 2:
# C.g:262:4: ':' constant_expression
self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator614)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_struct_declarator616)
self.constant_expression()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:265: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:267: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 <= 64) or LA23_2 == 66) :
alt23 = 3
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("265: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("265: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("265: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:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier634)
if self.failed:
return retval
self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier636)
if self.failed:
return retval
self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638)
self.enumerator_list()
self.following.pop()
if self.failed:
return retval
# C.g:267: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_specifier640)
if self.failed:
return retval
self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier643)
if self.failed:
return retval
elif alt23 == 2:
# C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier648)
if self.failed:
return retval
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier650)
if self.failed:
return retval
self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier652)
if self.failed:
return retval
self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier654)
self.enumerator_list()
self.following.pop()
if self.failed:
return retval
# C.g:268: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_specifier656)
if self.failed:
return retval
self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier659)
if self.failed:
return retval
elif alt23 == 3:
# C.g:269:4: 'enum' IDENTIFIER
self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier664)
if self.failed:
return retval
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier666)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException as 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:272: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:273:2: ( enumerator ( ',' enumerator )* )
# C.g:273:4: enumerator ( ',' enumerator )*
self.following.append(self.FOLLOW_enumerator_in_enumerator_list677)
self.enumerator()
self.following.pop()
if self.failed:
return
# C.g:273: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:273:16: ',' enumerator
self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list680)
if self.failed:
return
self.following.append(self.FOLLOW_enumerator_in_enumerator_list682)
self.enumerator()
self.following.pop()
if self.failed:
return
else:
break #loop24
except RecognitionException as 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:276: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:277:2: ( IDENTIFIER ( '=' constant_expression )? )
# C.g:277:4: IDENTIFIER ( '=' constant_expression )?
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator695)
if self.failed:
return
# C.g:277:15: ( '=' constant_expression )?
alt25 = 2
LA25_0 = self.input.LA(1)
if (LA25_0 == 28) :
alt25 = 1
if alt25 == 1:
# C.g:277:16: '=' constant_expression
self.match(self.input, 28, self.FOLLOW_28_in_enumerator698)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_enumerator700)
self.constant_expression()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
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:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
# C.g:
if (49 <= self.input.LA(1) <= 61):
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 as 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:296: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:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
alt30 = 2
LA30_0 = self.input.LA(1)
if (LA30_0 == 66) :
LA30_1 = self.input.LA(2)
if (self.synpred66()) :
alt30 = 1
elif (True) :
alt30 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("296: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 <= 60) or LA30_0 == 62) :
alt30 = 1
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
raise nvae
if alt30 == 1:
# C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
# C.g:297:4: ( pointer )?
alt26 = 2
LA26_0 = self.input.LA(1)
if (LA26_0 == 66) :
alt26 = 1
if alt26 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_declarator784)
self.pointer()
self.following.pop()
if self.failed:
return retval
# C.g:297:13: ( 'EFIAPI' )?
alt27 = 2
LA27_0 = self.input.LA(1)
if (LA27_0 == 58) :
alt27 = 1
if alt27 == 1:
# C.g:297:14: 'EFIAPI'
self.match(self.input, 58, self.FOLLOW_58_in_declarator788)
if self.failed:
return retval
# C.g:297:25: ( 'EFI_BOOTSERVICE' )?
alt28 = 2
LA28_0 = self.input.LA(1)
if (LA28_0 == 59) :
alt28 = 1
if alt28 == 1:
# C.g:297:26: 'EFI_BOOTSERVICE'
self.match(self.input, 59, self.FOLLOW_59_in_declarator793)
if self.failed:
return retval
# C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
alt29 = 2
LA29_0 = self.input.LA(1)
if (LA29_0 == 60) :
alt29 = 1
if alt29 == 1:
# C.g:297:47: 'EFI_RUNTIMESERVICE'
self.match(self.input, 60, self.FOLLOW_60_in_declarator798)
if self.failed:
return retval
self.following.append(self.FOLLOW_direct_declarator_in_declarator802)
self.direct_declarator()
self.following.pop()
if self.failed:
return retval
elif alt30 == 2:
# C.g:299:4: pointer
self.following.append(self.FOLLOW_pointer_in_declarator808)
self.pointer()
self.following.pop()
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException as 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:302: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:303: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 == 62) :
alt34 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
raise nvae
if alt34 == 1:
# C.g:303:4: IDENTIFIER ( declarator_suffix )*
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819)
if self.failed:
return
# C.g:303:15: ( declarator_suffix )*
while True: #loop31
alt31 = 2
LA31_0 = self.input.LA(1)
if (LA31_0 == 62) :
LA31 = self.input.LA(2)
if LA31 == 63:
LA31_30 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 58:
LA31_31 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 66:
LA31_32 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 59:
LA31_33 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 60:
LA31_34 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == IDENTIFIER:
LA31_35 = self.input.LA(3)
if (self.synpred67()) :
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.synpred67()) :
alt31 = 1
elif LA31 == 34:
LA31_38 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 35:
LA31_39 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 36:
LA31_40 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 37:
LA31_41 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 38:
LA31_42 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 39:
LA31_43 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 40:
LA31_44 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 41:
LA31_45 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 42:
LA31_46 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 45 or LA31 == 46:
LA31_47 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 48:
LA31_48 = self.input.LA(3)
if (self.synpred67()) :
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 or LA31 == 61:
LA31_49 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif (LA31_0 == 64) :
LA31 = self.input.LA(2)
if LA31 == 65:
LA31_51 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 62:
LA31_52 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == IDENTIFIER:
LA31_53 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == HEX_LITERAL:
LA31_54 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == OCTAL_LITERAL:
LA31_55 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == DECIMAL_LITERAL:
LA31_56 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == CHARACTER_LITERAL:
LA31_57 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == STRING_LITERAL:
LA31_58 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == FLOATING_POINT_LITERAL:
LA31_59 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 72:
LA31_60 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 73:
LA31_61 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 66 or LA31 == 68 or LA31 == 69 or LA31 == 77 or LA31 == 78 or LA31 == 79:
LA31_62 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
elif LA31 == 74:
LA31_63 = self.input.LA(3)
if (self.synpred67()) :
alt31 = 1
if alt31 == 1:
# C.g:0:0: declarator_suffix
self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821)
self.declarator_suffix()
self.following.pop()
if self.failed:
return
else:
break #loop31
elif alt34 == 2:
# C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator827)
if self.failed:
return
# C.g:304:8: ( 'EFIAPI' )?
alt32 = 2
LA32_0 = self.input.LA(1)
if (LA32_0 == 58) :
LA32_1 = self.input.LA(2)
if (self.synpred69()) :
alt32 = 1
if alt32 == 1:
# C.g:304:9: 'EFIAPI'
self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator830)
if self.failed:
return
self.following.append(self.FOLLOW_declarator_in_direct_declarator834)
self.declarator()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836)
if self.failed:
return
# C.g:304:35: ( declarator_suffix )+
cnt33 = 0
while True: #loop33
alt33 = 2
LA33_0 = self.input.LA(1)
if (LA33_0 == 62) :
LA33 = self.input.LA(2)
if LA33 == 63:
LA33_30 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 58:
LA33_31 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 66:
LA33_32 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 59:
LA33_33 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 60:
LA33_34 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == IDENTIFIER:
LA33_35 = self.input.LA(3)
if (self.synpred70()) :
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.synpred70()) :
alt33 = 1
elif LA33 == 34:
LA33_38 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 35:
LA33_39 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 36:
LA33_40 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 37:
LA33_41 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 38:
LA33_42 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 39:
LA33_43 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 40:
LA33_44 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 41:
LA33_45 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 42:
LA33_46 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 45 or LA33 == 46:
LA33_47 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 48:
LA33_48 = self.input.LA(3)
if (self.synpred70()) :
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 or LA33 == 61:
LA33_49 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif (LA33_0 == 64) :
LA33 = self.input.LA(2)
if LA33 == 65:
LA33_51 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 62:
LA33_52 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == IDENTIFIER:
LA33_53 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == HEX_LITERAL:
LA33_54 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == OCTAL_LITERAL:
LA33_55 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == DECIMAL_LITERAL:
LA33_56 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == CHARACTER_LITERAL:
LA33_57 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == STRING_LITERAL:
LA33_58 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == FLOATING_POINT_LITERAL:
LA33_59 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 72:
LA33_60 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 73:
LA33_61 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 66 or LA33 == 68 or LA33 == 69 or LA33 == 77 or LA33 == 78 or LA33 == 79:
LA33_62 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
elif LA33 == 74:
LA33_63 = self.input.LA(3)
if (self.synpred70()) :
alt33 = 1
if alt33 == 1:
# C.g:0:0: declarator_suffix
self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838)
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 as 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:307: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:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
alt35 = 5
LA35_0 = self.input.LA(1)
if (LA35_0 == 64) :
LA35_1 = self.input.LA(2)
if (LA35_1 == 65) :
alt35 = 2
elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 62 or LA35_1 == 66 or (68 <= LA35_1 <= 69) or (72 <= LA35_1 <= 74) or (77 <= LA35_1 <= 79)) :
alt35 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
raise nvae
elif (LA35_0 == 62) :
LA35 = self.input.LA(2)
if LA35 == 63:
alt35 = 5
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 == 61 or LA35 == 66:
alt35 = 3
elif LA35 == IDENTIFIER:
LA35_29 = self.input.LA(3)
if (self.synpred73()) :
alt35 = 3
elif (self.synpred74()) :
alt35 = 4
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("307: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("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
raise nvae
if alt35 == 1:
# C.g:308:6: '[' constant_expression ']'
self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix852)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix854)
self.constant_expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856)
if self.failed:
return
elif alt35 == 2:
# C.g:309:9: '[' ']'
self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866)
if self.failed:
return
self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868)
if self.failed:
return
elif alt35 == 3:
# C.g:310:9: '(' parameter_type_list ')'
self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix878)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix880)
self.parameter_type_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882)
if self.failed:
return
elif alt35 == 4:
# C.g:311:9: '(' identifier_list ')'
self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix892)
if self.failed:
return
self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix894)
self.identifier_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896)
if self.failed:
return
elif alt35 == 5:
# C.g:312:9: '(' ')'
self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906)
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908)
if self.failed:
return
except RecognitionException as 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:315: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:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
alt38 = 3
LA38_0 = self.input.LA(1)
if (LA38_0 == 66) :
LA38 = self.input.LA(2)
if LA38 == 66:
LA38_2 = self.input.LA(3)
if (self.synpred78()) :
alt38 = 2
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
raise nvae
elif LA38 == 58:
LA38_3 = self.input.LA(3)
if (self.synpred77()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
raise nvae
elif LA38 == 59:
LA38_4 = self.input.LA(3)
if (self.synpred77()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
raise nvae
elif LA38 == 60:
LA38_5 = self.input.LA(3)
if (self.synpred77()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, 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 == 62 or LA38 == 63 or LA38 == 64:
alt38 = 3
elif LA38 == 53:
LA38_21 = self.input.LA(3)
if (self.synpred77()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, 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 or LA38 == 61:
LA38_29 = self.input.LA(3)
if (self.synpred77()) :
alt38 = 1
elif (True) :
alt38 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
raise nvae
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
raise nvae
if alt38 == 1:
# C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
self.match(self.input, 66, self.FOLLOW_66_in_pointer919)
if self.failed:
return
# C.g:316: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.synpred75()) :
alt36 = 1
elif LA36 == 59:
LA36_3 = self.input.LA(2)
if (self.synpred75()) :
alt36 = 1
elif LA36 == 60:
LA36_4 = self.input.LA(2)
if (self.synpred75()) :
alt36 = 1
elif LA36 == 53:
LA36_20 = self.input.LA(2)
if (self.synpred75()) :
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 or LA36 == 61:
LA36_28 = self.input.LA(2)
if (self.synpred75()) :
alt36 = 1
if alt36 == 1:
# C.g:0:0: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_pointer921)
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:316:24: ( pointer )?
alt37 = 2
LA37_0 = self.input.LA(1)
if (LA37_0 == 66) :
LA37_1 = self.input.LA(2)
if (self.synpred76()) :
alt37 = 1
if alt37 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_pointer924)
self.pointer()
self.following.pop()
if self.failed:
return
elif alt38 == 2:
# C.g:317:4: '*' pointer
self.match(self.input, 66, self.FOLLOW_66_in_pointer930)
if self.failed:
return
self.following.append(self.FOLLOW_pointer_in_pointer932)
self.pointer()
self.following.pop()
if self.failed:
return
elif alt38 == 3:
# C.g:318:4: '*'
self.match(self.input, 66, self.FOLLOW_66_in_pointer937)
if self.failed:
return
except RecognitionException as 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:321: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:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
# C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list948)
self.parameter_list()
self.following.pop()
if self.failed:
return
# C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
alt40 = 2
LA40_0 = self.input.LA(1)
if (LA40_0 == 27) :
alt40 = 1
if alt40 == 1:
# C.g:322:20: ',' ( 'OPTIONAL' )? '...'
self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951)
if self.failed:
return
# C.g:322:24: ( 'OPTIONAL' )?
alt39 = 2
LA39_0 = self.input.LA(1)
if (LA39_0 == 53) :
alt39 = 1
if alt39 == 1:
# C.g:322:25: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list954)
if self.failed:
return
self.match(self.input, 67, self.FOLLOW_67_in_parameter_type_list958)
if self.failed:
return
except RecognitionException as 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:325: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:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
# C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list971)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
# C.g:326: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.synpred82()) :
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 <= 61) or LA42_1 == 66) :
alt42 = 1
if alt42 == 1:
# C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974)
if self.failed:
return
# C.g:326:31: ( 'OPTIONAL' )?
alt41 = 2
LA41_0 = self.input.LA(1)
if (LA41_0 == 53) :
LA41_1 = self.input.LA(2)
if (self.synpred81()) :
alt41 = 1
if alt41 == 1:
# C.g:326:32: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_parameter_list977)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list981)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
else:
break #loop42
except RecognitionException as 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:329: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:330: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 or LA46 == 61:
alt46 = 1
elif LA46 == IDENTIFIER:
LA46_13 = self.input.LA(2)
if (self.synpred86()) :
alt46 = 1
elif (True) :
alt46 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
raise nvae
elif LA46 == 66:
alt46 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
raise nvae
if alt46 == 1:
# C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration994)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# C.g:330:27: ( declarator | abstract_declarator )*
while True: #loop43
alt43 = 3
LA43 = self.input.LA(1)
if LA43 == 66:
LA43_5 = self.input.LA(2)
if (self.synpred83()) :
alt43 = 1
elif (self.synpred84()) :
alt43 = 2
elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
alt43 = 1
elif LA43 == 62:
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 == 61 or LA43 == 63 or LA43 == 64:
alt43 = 2
elif LA43 == IDENTIFIER:
LA43_37 = self.input.LA(3)
if (self.synpred83()) :
alt43 = 1
elif (self.synpred84()) :
alt43 = 2
elif LA43 == 58:
LA43_38 = self.input.LA(3)
if (self.synpred83()) :
alt43 = 1
elif (self.synpred84()) :
alt43 = 2
elif LA43 == 66:
LA43_39 = self.input.LA(3)
if (self.synpred83()) :
alt43 = 1
elif (self.synpred84()) :
alt43 = 2
elif LA43 == 59:
LA43_40 = self.input.LA(3)
if (self.synpred83()) :
alt43 = 1
elif (self.synpred84()) :
alt43 = 2
elif LA43 == 60:
LA43_41 = self.input.LA(3)
if (self.synpred83()) :
alt43 = 1
elif (self.synpred84()) :
alt43 = 2
elif LA43 == 62:
LA43_43 = self.input.LA(3)
if (self.synpred83()) :
alt43 = 1
elif (self.synpred84()) :
alt43 = 2
elif LA43 == 64:
alt43 = 2
if alt43 == 1:
# C.g:330:28: declarator
self.following.append(self.FOLLOW_declarator_in_parameter_declaration997)
self.declarator()
self.following.pop()
if self.failed:
return
elif alt43 == 2:
# C.g:330:39: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration999)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
else:
break #loop43
# C.g:330:61: ( 'OPTIONAL' )?
alt44 = 2
LA44_0 = self.input.LA(1)
if (LA44_0 == 53) :
alt44 = 1
if alt44 == 1:
# C.g:330:62: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004)
if self.failed:
return
elif alt46 == 2:
# C.g:332:4: ( pointer )* IDENTIFIER
# C.g:332:4: ( pointer )*
while True: #loop45
alt45 = 2
LA45_0 = self.input.LA(1)
if (LA45_0 == 66) :
alt45 = 1
if alt45 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013)
self.pointer()
self.following.pop()
if self.failed:
return
else:
break #loop45
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016)
if self.failed:
return
except RecognitionException as 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:335: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:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
# C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1027)
if self.failed:
return
# C.g:337:2: ( ',' IDENTIFIER )*
while True: #loop47
alt47 = 2
LA47_0 = self.input.LA(1)
if (LA47_0 == 27) :
alt47 = 1
if alt47 == 1:
# C.g:337:3: ',' IDENTIFIER
self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1031)
if self.failed:
return
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1033)
if self.failed:
return
else:
break #loop47
except RecognitionException as 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:340: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:341: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 <= 61)) :
alt49 = 1
elif (LA49_0 == IDENTIFIER) :
LA49_13 = self.input.LA(2)
if (self.synpred90()) :
alt49 = 1
elif (True) :
alt49 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("340: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("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
raise nvae
if alt49 == 1:
# C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1046)
self.specifier_qualifier_list()
self.following.pop()
if self.failed:
return
# C.g:341:29: ( abstract_declarator )?
alt48 = 2
LA48_0 = self.input.LA(1)
if (LA48_0 == 62 or LA48_0 == 64 or LA48_0 == 66) :
alt48 = 1
if alt48 == 1:
# C.g:0:0: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_type_name1048)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
elif alt49 == 2:
# C.g:342:4: type_id
self.following.append(self.FOLLOW_type_id_in_type_name1054)
self.type_id()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:345: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:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
alt51 = 2
LA51_0 = self.input.LA(1)
if (LA51_0 == 66) :
alt51 = 1
elif (LA51_0 == 62 or LA51_0 == 64) :
alt51 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
raise nvae
if alt51 == 1:
# C.g:346:4: pointer ( direct_abstract_declarator )?
self.following.append(self.FOLLOW_pointer_in_abstract_declarator1065)
self.pointer()
self.following.pop()
if self.failed:
return
# C.g:346:12: ( direct_abstract_declarator )?
alt50 = 2
LA50_0 = self.input.LA(1)
if (LA50_0 == 62) :
LA50 = self.input.LA(2)
if LA50 == 63:
LA50_12 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 58:
LA50_13 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 66:
LA50_14 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 59:
LA50_15 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 60:
LA50_16 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == IDENTIFIER:
LA50_17 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 62:
LA50_18 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 64:
LA50_19 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
LA50_20 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 34:
LA50_21 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 35:
LA50_22 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 36:
LA50_23 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 37:
LA50_24 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 38:
LA50_25 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 39:
LA50_26 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 40:
LA50_27 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 41:
LA50_28 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 42:
LA50_29 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 45 or LA50 == 46:
LA50_30 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 48:
LA50_31 = self.input.LA(3)
if (self.synpred91()) :
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 or LA50 == 61:
LA50_32 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif (LA50_0 == 64) :
LA50 = self.input.LA(2)
if LA50 == 65:
LA50_33 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 62:
LA50_34 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == IDENTIFIER:
LA50_35 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == HEX_LITERAL:
LA50_36 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == OCTAL_LITERAL:
LA50_37 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == DECIMAL_LITERAL:
LA50_38 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == CHARACTER_LITERAL:
LA50_39 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == STRING_LITERAL:
LA50_40 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == FLOATING_POINT_LITERAL:
LA50_41 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 72:
LA50_42 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 73:
LA50_43 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 66 or LA50 == 68 or LA50 == 69 or LA50 == 77 or LA50 == 78 or LA50 == 79:
LA50_44 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
elif LA50 == 74:
LA50_45 = self.input.LA(3)
if (self.synpred91()) :
alt50 = 1
if alt50 == 1:
# C.g:0:0: direct_abstract_declarator
self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067)
self.direct_abstract_declarator()
self.following.pop()
if self.failed:
return
elif alt51 == 2:
# C.g:347:4: direct_abstract_declarator
self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073)
self.direct_abstract_declarator()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:350: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:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
# C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
# C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
alt52 = 2
LA52_0 = self.input.LA(1)
if (LA52_0 == 62) :
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 == 61 or LA52 == 63:
alt52 = 2
elif LA52 == 66:
LA52_18 = self.input.LA(3)
if (self.synpred93()) :
alt52 = 1
elif (True) :
alt52 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
raise nvae
elif LA52 == 62 or LA52 == 64:
alt52 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
raise nvae
elif (LA52_0 == 64) :
alt52 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
raise nvae
if alt52 == 1:
# C.g:351:6: '(' abstract_declarator ')'
self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1086)
if self.failed:
return
self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090)
if self.failed:
return
elif alt52 == 2:
# C.g:351:36: abstract_declarator_suffix
self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094)
self.abstract_declarator_suffix()
self.following.pop()
if self.failed:
return
# C.g:351:65: ( abstract_declarator_suffix )*
while True: #loop53
alt53 = 2
LA53_0 = self.input.LA(1)
if (LA53_0 == 62) :
LA53 = self.input.LA(2)
if LA53 == 63:
LA53_12 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 58:
LA53_13 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 66:
LA53_14 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 59:
LA53_15 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 60:
LA53_16 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == IDENTIFIER:
LA53_17 = self.input.LA(3)
if (self.synpred94()) :
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.synpred94()) :
alt53 = 1
elif LA53 == 34:
LA53_20 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 35:
LA53_21 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 36:
LA53_22 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 37:
LA53_23 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 38:
LA53_24 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 39:
LA53_25 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 40:
LA53_26 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 41:
LA53_27 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 42:
LA53_28 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 45 or LA53 == 46:
LA53_29 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 48:
LA53_30 = self.input.LA(3)
if (self.synpred94()) :
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 or LA53 == 61:
LA53_31 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif (LA53_0 == 64) :
LA53 = self.input.LA(2)
if LA53 == 65:
LA53_33 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 62:
LA53_34 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == IDENTIFIER:
LA53_35 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == HEX_LITERAL:
LA53_36 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == OCTAL_LITERAL:
LA53_37 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == DECIMAL_LITERAL:
LA53_38 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == CHARACTER_LITERAL:
LA53_39 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == STRING_LITERAL:
LA53_40 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == FLOATING_POINT_LITERAL:
LA53_41 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 72:
LA53_42 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 73:
LA53_43 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 66 or LA53 == 68 or LA53 == 69 or LA53 == 77 or LA53 == 78 or LA53 == 79:
LA53_44 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
elif LA53 == 74:
LA53_45 = self.input.LA(3)
if (self.synpred94()) :
alt53 = 1
if alt53 == 1:
# C.g:0:0: abstract_declarator_suffix
self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098)
self.abstract_declarator_suffix()
self.following.pop()
if self.failed:
return
else:
break #loop53
except RecognitionException as 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:354: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:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
alt54 = 4
LA54_0 = self.input.LA(1)
if (LA54_0 == 64) :
LA54_1 = self.input.LA(2)
if (LA54_1 == 65) :
alt54 = 1
elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 62 or LA54_1 == 66 or (68 <= LA54_1 <= 69) or (72 <= LA54_1 <= 74) or (77 <= LA54_1 <= 79)) :
alt54 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
raise nvae
elif (LA54_0 == 62) :
LA54_2 = self.input.LA(2)
if (LA54_2 == 63) :
alt54 = 3
elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 61) or LA54_2 == 66) :
alt54 = 4
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("354: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("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
raise nvae
if alt54 == 1:
# C.g:355:4: '[' ']'
self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110)
if self.failed:
return
self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112)
if self.failed:
return
elif alt54 == 2:
# C.g:356:4: '[' constant_expression ']'
self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1117)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1119)
self.constant_expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121)
if self.failed:
return
elif alt54 == 3:
# C.g:357:4: '(' ')'
self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126)
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128)
if self.failed:
return
elif alt54 == 4:
# C.g:358:4: '(' parameter_type_list ')'
self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1133)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135)
self.parameter_type_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137)
if self.failed:
return
except RecognitionException as 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:361: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:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
alt56 = 2
LA56_0 = self.input.LA(1)
if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 62 or LA56_0 == 66 or (68 <= LA56_0 <= 69) or (72 <= LA56_0 <= 74) or (77 <= LA56_0 <= 79)) :
alt56 = 1
elif (LA56_0 == 43) :
alt56 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
raise nvae
if alt56 == 1:
# C.g:363:4: assignment_expression
self.following.append(self.FOLLOW_assignment_expression_in_initializer1150)
self.assignment_expression()
self.following.pop()
if self.failed:
return
elif alt56 == 2:
# C.g:364:4: '{' initializer_list ( ',' )? '}'
self.match(self.input, 43, self.FOLLOW_43_in_initializer1155)
if self.failed:
return
self.following.append(self.FOLLOW_initializer_list_in_initializer1157)
self.initializer_list()
self.following.pop()
if self.failed:
return
# C.g:364: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_initializer1159)
if self.failed:
return
self.match(self.input, 44, self.FOLLOW_44_in_initializer1162)
if self.failed:
return
except RecognitionException as 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:367: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:368:2: ( initializer ( ',' initializer )* )
# C.g:368:4: initializer ( ',' initializer )*
self.following.append(self.FOLLOW_initializer_in_initializer_list1173)
self.initializer()
self.following.pop()
if self.failed:
return
# C.g:368: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 == 62 or LA57_1 == 66 or (68 <= LA57_1 <= 69) or (72 <= LA57_1 <= 74) or (77 <= LA57_1 <= 79)) :
alt57 = 1
if alt57 == 1:
# C.g:368:17: ',' initializer
self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1176)
if self.failed:
return
self.following.append(self.FOLLOW_initializer_in_initializer_list1178)
self.initializer()
self.following.pop()
if self.failed:
return
else:
break #loop57
except RecognitionException as 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:373: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:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
# C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1196)
self.assignment_expression()
self.following.pop()
if self.failed:
return retval
# C.g:374:28: ( 'OPTIONAL' )?
alt58 = 2
LA58_0 = self.input.LA(1)
if (LA58_0 == 53) :
alt58 = 1
if alt58 == 1:
# C.g:374:29: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199)
if self.failed:
return retval
# C.g:374: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:374:43: ',' assignment_expression ( 'OPTIONAL' )?
self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1204)
if self.failed:
return retval
self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1206)
self.assignment_expression()
self.following.pop()
if self.failed:
return retval
# C.g:374:69: ( 'OPTIONAL' )?
alt59 = 2
LA59_0 = self.input.LA(1)
if (LA59_0 == 53) :
alt59 = 1
if alt59 == 1:
# C.g:374:70: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209)
if self.failed:
return retval
else:
break #loop60
retval.stop = self.input.LT(-1)
except RecognitionException as 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:377: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:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
# C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
# C.g:378:4: ( multiplicative_expression )
# C.g:378:5: multiplicative_expression
self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1225)
self.multiplicative_expression()
self.following.pop()
if self.failed:
return
# C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
while True: #loop61
alt61 = 3
LA61_0 = self.input.LA(1)
if (LA61_0 == 68) :
alt61 = 1
elif (LA61_0 == 69) :
alt61 = 2
if alt61 == 1:
# C.g:378:33: '+' multiplicative_expression
self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1229)
if self.failed:
return
self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1231)
self.multiplicative_expression()
self.following.pop()
if self.failed:
return
elif alt61 == 2:
# C.g:378:65: '-' multiplicative_expression
self.match(self.input, 69, self.FOLLOW_69_in_additive_expression1235)
if self.failed:
return
self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1237)
self.multiplicative_expression()
self.following.pop()
if self.failed:
return
else:
break #loop61
except RecognitionException as 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:381: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:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
# C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
# C.g:382:4: ( cast_expression )
# C.g:382:5: cast_expression
self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1251)
self.cast_expression()
self.following.pop()
if self.failed:
return
# C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
while True: #loop62
alt62 = 4
LA62 = self.input.LA(1)
if LA62 == 66:
alt62 = 1
elif LA62 == 70:
alt62 = 2
elif LA62 == 71:
alt62 = 3
if alt62 == 1:
# C.g:382:23: '*' cast_expression
self.match(self.input, 66, self.FOLLOW_66_in_multiplicative_expression1255)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1257)
self.cast_expression()
self.following.pop()
if self.failed:
return
elif alt62 == 2:
# C.g:382:45: '/' cast_expression
self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1261)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1263)
self.cast_expression()
self.following.pop()
if self.failed:
return
elif alt62 == 3:
# C.g:382:67: '%' cast_expression
self.match(self.input, 71, self.FOLLOW_71_in_multiplicative_expression1267)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1269)
self.cast_expression()
self.following.pop()
if self.failed:
return
else:
break #loop62
except RecognitionException as 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:385: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:386:2: ( '(' type_name ')' cast_expression | unary_expression )
alt63 = 2
LA63_0 = self.input.LA(1)
if (LA63_0 == 62) :
LA63 = self.input.LA(2)
if 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 or LA63 == 61:
alt63 = 1
elif LA63 == IDENTIFIER:
LA63_25 = self.input.LA(3)
if (self.synpred109()) :
alt63 = 1
elif (True) :
alt63 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, 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 == 62 or LA63 == 66 or LA63 == 68 or LA63 == 69 or LA63 == 72 or LA63 == 73 or LA63 == 74 or LA63 == 77 or LA63 == 78 or LA63 == 79:
alt63 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("385: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 == 66 or (68 <= LA63_0 <= 69) or (72 <= LA63_0 <= 74) or (77 <= LA63_0 <= 79)) :
alt63 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
raise nvae
if alt63 == 1:
# C.g:386:4: '(' type_name ')' cast_expression
self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1282)
if self.failed:
return
self.following.append(self.FOLLOW_type_name_in_cast_expression1284)
self.type_name()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288)
self.cast_expression()
self.following.pop()
if self.failed:
return
elif alt63 == 2:
# C.g:387:4: unary_expression
self.following.append(self.FOLLOW_unary_expression_in_cast_expression1293)
self.unary_expression()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:390: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:391: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 == 62:
alt64 = 1
elif LA64 == 72:
alt64 = 2
elif LA64 == 73:
alt64 = 3
elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79:
alt64 = 4
elif LA64 == 74:
LA64_12 = self.input.LA(2)
if (LA64_12 == 62) :
LA64_13 = self.input.LA(3)
if (self.synpred114()) :
alt64 = 5
elif (True) :
alt64 = 6
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("390: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 == 66 or (68 <= LA64_12 <= 69) or (72 <= LA64_12 <= 74) or (77 <= LA64_12 <= 79)) :
alt64 = 5
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("390: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("390: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:391:4: postfix_expression
self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304)
self.postfix_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 2:
# C.g:392:4: '++' unary_expression
self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1309)
if self.failed:
return
self.following.append(self.FOLLOW_unary_expression_in_unary_expression1311)
self.unary_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 3:
# C.g:393:4: '--' unary_expression
self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1316)
if self.failed:
return
self.following.append(self.FOLLOW_unary_expression_in_unary_expression1318)
self.unary_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 4:
# C.g:394:4: unary_operator cast_expression
self.following.append(self.FOLLOW_unary_operator_in_unary_expression1323)
self.unary_operator()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_unary_expression1325)
self.cast_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 5:
# C.g:395:4: 'sizeof' unary_expression
self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1330)
if self.failed:
return
self.following.append(self.FOLLOW_unary_expression_in_unary_expression1332)
self.unary_expression()
self.following.pop()
if self.failed:
return
elif alt64 == 6:
# C.g:396:4: 'sizeof' '(' type_name ')'
self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1337)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1339)
if self.failed:
return
self.following.append(self.FOLLOW_type_name_in_unary_expression1341)
self.type_name()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343)
if self.failed:
return
except RecognitionException as 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:399: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:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
# C.g:406: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_expression1367)
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:407: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 == 66:
LA65_1 = self.input.LA(2)
if (LA65_1 == IDENTIFIER) :
LA65_30 = self.input.LA(3)
if (self.synpred120()) :
alt65 = 6
elif LA65 == 64:
alt65 = 1
elif LA65 == 62:
LA65 = self.input.LA(2)
if LA65 == 63:
alt65 = 2
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 or LA65 == 61:
alt65 = 4
elif LA65 == IDENTIFIER:
LA65_55 = self.input.LA(3)
if (self.synpred117()) :
alt65 = 3
elif (self.synpred118()) :
alt65 = 4
elif LA65 == 66:
LA65_57 = self.input.LA(3)
if (self.synpred117()) :
alt65 = 3
elif (self.synpred118()) :
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 == 62 or LA65 == 68 or LA65 == 69 or LA65 == 72 or LA65 == 73 or LA65 == 74 or LA65 == 77 or LA65 == 78 or LA65 == 79:
alt65 = 3
elif LA65 == 75:
alt65 = 5
elif LA65 == 76:
alt65 = 7
elif LA65 == 72:
alt65 = 8
elif LA65 == 73:
alt65 = 9
if alt65 == 1:
# C.g:407:13: '[' expression ']'
self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1383)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_postfix_expression1385)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387)
if self.failed:
return
elif alt65 == 2:
# C.g:408:13: '(' a= ')'
self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1401)
if self.failed:
return
a = self.input.LT(1)
self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1405)
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:409:13: '(' c= argument_expression_list b= ')'
self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1420)
if self.failed:
return
self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1424)
c = self.argument_expression_list()
self.following.pop()
if self.failed:
return
b = self.input.LT(1)
self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428)
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:410:13: '(' macro_parameter_list ')'
self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1444)
if self.failed:
return
self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1446)
self.macro_parameter_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448)
if self.failed:
return
elif alt65 == 5:
# C.g:411:13: '.' x= IDENTIFIER
self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1462)
if self.failed:
return
x = self.input.LT(1)
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1466)
if self.failed:
return
if self.backtracking == 0:
self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
elif alt65 == 6:
# C.g:412:13: '*' y= IDENTIFIER
self.match(self.input, 66, self.FOLLOW_66_in_postfix_expression1482)
if self.failed:
return
y = self.input.LT(1)
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1486)
if self.failed:
return
if self.backtracking == 0:
self.postfix_expression_stack[-1].FuncCallText = y.text
elif alt65 == 7:
# C.g:413:13: '->' z= IDENTIFIER
self.match(self.input, 76, self.FOLLOW_76_in_postfix_expression1502)
if self.failed:
return
z = self.input.LT(1)
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1506)
if self.failed:
return
if self.backtracking == 0:
self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
elif alt65 == 8:
# C.g:414:13: '++'
self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522)
if self.failed:
return
elif alt65 == 9:
# C.g:415:13: '--'
self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536)
if self.failed:
return
else:
break #loop65
except RecognitionException as 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:419: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:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
# C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1559)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
# C.g:420: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:420:27: ',' parameter_declaration
self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1562)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1564)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
else:
break #loop66
except RecognitionException as 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:423: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:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
# C.g:
if self.input.LA(1) == 66 or (68 <= self.input.LA(1) <= 69) or (77 <= self.input.LA(1) <= 79):
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 as 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:432: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:433:2: ( IDENTIFIER | constant | '(' expression ')' )
alt67 = 3
LA67 = self.input.LA(1)
if LA67 == IDENTIFIER:
LA67_1 = self.input.LA(2)
if (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 (62 <= LA67_1 <= 66) or (68 <= LA67_1 <= 73) or (75 <= LA67_1 <= 77) or (80 <= LA67_1 <= 102)) :
alt67 = 1
elif (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
alt67 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("432: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 == 62:
alt67 = 3
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
raise nvae
if alt67 == 1:
# C.g:433:4: IDENTIFIER
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1613)
if self.failed:
return retval
elif alt67 == 2:
# C.g:434:4: constant
self.following.append(self.FOLLOW_constant_in_primary_expression1618)
self.constant()
self.following.pop()
if self.failed:
return retval
elif alt67 == 3:
# C.g:435:4: '(' expression ')'
self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1623)
if self.failed:
return retval
self.following.append(self.FOLLOW_expression_in_primary_expression1625)
self.expression()
self.following.pop()
if self.failed:
return retval
self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException as 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:438: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:439: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("438: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:439:9: HEX_LITERAL
self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1643)
if self.failed:
return
elif alt72 == 2:
# C.g:440:9: OCTAL_LITERAL
self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1653)
if self.failed:
return
elif alt72 == 3:
# C.g:441:9: DECIMAL_LITERAL
self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1663)
if self.failed:
return
elif alt72 == 4:
# C.g:442:7: CHARACTER_LITERAL
self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1671)
if self.failed:
return
elif alt72 == 5:
# C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
# C.g:443: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 == STRING_LITERAL) :
alt70 = 1
elif (LA70_1 == IDENTIFIER) :
LA70_33 = self.input.LA(3)
if (self.synpred138()) :
alt70 = 1
elif (LA70_0 == STRING_LITERAL) :
alt70 = 1
if alt70 == 1:
# C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
# C.g:443: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_constant1680)
if self.failed:
return
else:
break #loop68
# C.g:443: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.synpred137()) :
alt69 = 1
if alt69 == 1:
# C.g:0:0: STRING_LITERAL
self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683)
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:443: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_constant1688)
if self.failed:
return
else:
break #loop71
elif alt72 == 6:
# C.g:444:9: FLOATING_POINT_LITERAL
self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699)
if self.failed:
return
except RecognitionException as 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:449: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:450:2: ( assignment_expression ( ',' assignment_expression )* )
# C.g:450:4: assignment_expression ( ',' assignment_expression )*
self.following.append(self.FOLLOW_assignment_expression_in_expression1715)
self.assignment_expression()
self.following.pop()
if self.failed:
return retval
# C.g:450: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:450:27: ',' assignment_expression
self.match(self.input, 27, self.FOLLOW_27_in_expression1718)
if self.failed:
return retval
self.following.append(self.FOLLOW_assignment_expression_in_expression1720)
self.assignment_expression()
self.following.pop()
if self.failed:
return retval
else:
break #loop73
retval.stop = self.input.LT(-1)
except RecognitionException as 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:453: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:454:2: ( conditional_expression )
# C.g:454:4: conditional_expression
self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1733)
self.conditional_expression()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:457: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:458: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 == 64:
LA74_13 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
raise nvae
elif LA74 == 62:
LA74_14 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
raise nvae
elif LA74 == 75:
LA74_15 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
raise nvae
elif LA74 == 66:
LA74_16 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
raise nvae
elif LA74 == 76:
LA74_17 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
raise nvae
elif LA74 == 72:
LA74_18 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
raise nvae
elif LA74 == 73:
LA74_19 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
raise nvae
elif LA74 == 28 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 or LA74 == 89:
alt74 = 1
elif LA74 == STRING_LITERAL:
LA74_21 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
raise nvae
elif LA74 == IDENTIFIER:
LA74_22 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self.input)
raise nvae
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 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 or LA74 == 102:
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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 == 64:
LA74_44 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
raise nvae
elif LA74 == 62:
LA74_45 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
raise nvae
elif LA74 == 75:
LA74_46 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
raise nvae
elif LA74 == 66:
LA74_47 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
raise nvae
elif LA74 == 76:
LA74_48 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
raise nvae
elif LA74 == 72:
LA74_49 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
raise nvae
elif LA74 == 73:
LA74_50 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
raise nvae
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 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 or LA74 == 102:
alt74 = 2
elif LA74 == 28 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 or LA74 == 89:
alt74 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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 == 64:
LA74_73 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
raise nvae
elif LA74 == 62:
LA74_74 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
raise nvae
elif LA74 == 75:
LA74_75 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
raise nvae
elif LA74 == 66:
LA74_76 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
raise nvae
elif LA74 == 76:
LA74_77 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
raise nvae
elif LA74 == 72:
LA74_78 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
raise nvae
elif LA74 == 73:
LA74_79 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
raise nvae
elif LA74 == 28 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 or LA74 == 89:
alt74 = 1
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 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 or LA74 == 102:
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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 == 64:
LA74_102 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
raise nvae
elif LA74 == 62:
LA74_103 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
raise nvae
elif LA74 == 75:
LA74_104 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
raise nvae
elif LA74 == 66:
LA74_105 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
raise nvae
elif LA74 == 76:
LA74_106 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
raise nvae
elif LA74 == 72:
LA74_107 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
raise nvae
elif LA74 == 73:
LA74_108 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 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 or LA74 == 102:
alt74 = 2
elif LA74 == 28 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 or LA74 == 89:
alt74 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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 == 64:
LA74_131 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
raise nvae
elif LA74 == 62:
LA74_132 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
raise nvae
elif LA74 == 75:
LA74_133 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
raise nvae
elif LA74 == 66:
LA74_134 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
raise nvae
elif LA74 == 76:
LA74_135 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
raise nvae
elif LA74 == 72:
LA74_136 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
raise nvae
elif LA74 == 73:
LA74_137 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
raise nvae
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 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 or LA74 == 102:
alt74 = 2
elif LA74 == 28 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 or LA74 == 89:
alt74 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
raise nvae
elif LA74 == 64:
LA74_161 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
raise nvae
elif LA74 == 62:
LA74_162 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
raise nvae
elif LA74 == 75:
LA74_163 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
raise nvae
elif LA74 == 66:
LA74_164 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
raise nvae
elif LA74 == 76:
LA74_165 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
raise nvae
elif LA74 == 72:
LA74_166 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
raise nvae
elif LA74 == 73:
LA74_167 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
raise nvae
elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 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 or LA74 == 102:
alt74 = 2
elif LA74 == STRING_LITERAL:
LA74_189 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input)
raise nvae
elif LA74 == 28 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 or LA74 == 89:
alt74 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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 == 64:
LA74_191 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
raise nvae
elif LA74 == 62:
LA74_192 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
raise nvae
elif LA74 == 75:
LA74_193 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
raise nvae
elif LA74 == 66:
LA74_194 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
raise nvae
elif LA74 == 76:
LA74_195 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
raise nvae
elif LA74 == 72:
LA74_196 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
raise nvae
elif LA74 == 73:
LA74_197 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 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 or LA74 == 102:
alt74 = 2
elif LA74 == 28 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 or LA74 == 89:
alt74 = 1
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
raise nvae
elif LA74 == 62:
LA74 = self.input.LA(2)
if LA74 == IDENTIFIER:
LA74_220 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
raise nvae
elif LA74 == 62:
LA74_227 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
raise nvae
elif LA74 == 72:
LA74_228 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
raise nvae
elif LA74 == 73:
LA74_229 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
raise nvae
elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
LA74_230 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
raise nvae
elif LA74 == 74:
LA74_231 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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 or LA74 == 61:
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
raise nvae
elif LA74 == 72:
LA74 = self.input.LA(2)
if LA74 == IDENTIFIER:
LA74_244 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
raise nvae
elif LA74 == 62:
LA74_251 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
raise nvae
elif LA74 == 72:
LA74_252 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
raise nvae
elif LA74 == 73:
LA74_253 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
raise nvae
elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
LA74_254 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
raise nvae
elif LA74 == 74:
LA74_255 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
raise nvae
elif LA74 == 73:
LA74 = self.input.LA(2)
if LA74 == IDENTIFIER:
LA74_256 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
raise nvae
elif LA74 == 62:
LA74_263 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
raise nvae
elif LA74 == 72:
LA74_264 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
raise nvae
elif LA74 == 73:
LA74_265 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
raise nvae
elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
LA74_266 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
raise nvae
elif LA74 == 74:
LA74_267 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
raise nvae
elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
LA74 = self.input.LA(2)
if LA74 == 62:
LA74_268 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
raise nvae
elif LA74 == 72:
LA74_276 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
raise nvae
elif LA74 == 73:
LA74_277 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
raise nvae
elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
LA74_278 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
raise nvae
elif LA74 == 74:
LA74_279 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
raise nvae
elif LA74 == 74:
LA74 = self.input.LA(2)
if LA74 == 62:
LA74_280 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
raise nvae
elif LA74 == 72:
LA74_288 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
raise nvae
elif LA74 == 73:
LA74_289 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
raise nvae
elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
LA74_290 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
raise nvae
elif LA74 == 74:
LA74_291 = self.input.LA(3)
if (self.synpred142()) :
alt74 = 1
elif (True) :
alt74 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("457: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("457: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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
raise nvae
if alt74 == 1:
# C.g:458:4: lvalue assignment_operator assignment_expression
self.following.append(self.FOLLOW_lvalue_in_assignment_expression1744)
self.lvalue()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1746)
self.assignment_operator()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748)
self.assignment_expression()
self.following.pop()
if self.failed:
return
elif alt74 == 2:
# C.g:459:4: conditional_expression
self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1753)
self.conditional_expression()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:462: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:463:2: ( unary_expression )
# C.g:463:4: unary_expression
self.following.append(self.FOLLOW_unary_expression_in_lvalue1765)
self.unary_expression()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:466: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:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
# C.g:
if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89):
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 as 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:480: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:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
# C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1839)
e = self.logical_or_expression()
self.following.pop()
if self.failed:
return
# C.g:481:28: ( '?' expression ':' conditional_expression )?
alt75 = 2
LA75_0 = self.input.LA(1)
if (LA75_0 == 90) :
alt75 = 1
if alt75 == 1:
# C.g:481:29: '?' expression ':' conditional_expression
self.match(self.input, 90, self.FOLLOW_90_in_conditional_expression1842)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_conditional_expression1844)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846)
if self.failed:
return
self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848)
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 as 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:484: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:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
# C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1863)
self.logical_and_expression()
self.following.pop()
if self.failed:
return retval
# C.g:485:27: ( '||' logical_and_expression )*
while True: #loop76
alt76 = 2
LA76_0 = self.input.LA(1)
if (LA76_0 == 91) :
alt76 = 1
if alt76 == 1:
# C.g:485:28: '||' logical_and_expression
self.match(self.input, 91, self.FOLLOW_91_in_logical_or_expression1866)
if self.failed:
return retval
self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1868)
self.logical_and_expression()
self.following.pop()
if self.failed:
return retval
else:
break #loop76
retval.stop = self.input.LT(-1)
except RecognitionException as 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:488: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:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
# C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1881)
self.inclusive_or_expression()
self.following.pop()
if self.failed:
return
# C.g:489:28: ( '&&' inclusive_or_expression )*
while True: #loop77
alt77 = 2
LA77_0 = self.input.LA(1)
if (LA77_0 == 92) :
alt77 = 1
if alt77 == 1:
# C.g:489:29: '&&' inclusive_or_expression
self.match(self.input, 92, self.FOLLOW_92_in_logical_and_expression1884)
if self.failed:
return
self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1886)
self.inclusive_or_expression()
self.following.pop()
if self.failed:
return
else:
break #loop77
except RecognitionException as 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:492: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:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
# C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899)
self.exclusive_or_expression()
self.following.pop()
if self.failed:
return
# C.g:493:28: ( '|' exclusive_or_expression )*
while True: #loop78
alt78 = 2
LA78_0 = self.input.LA(1)
if (LA78_0 == 93) :
alt78 = 1
if alt78 == 1:
# C.g:493:29: '|' exclusive_or_expression
self.match(self.input, 93, self.FOLLOW_93_in_inclusive_or_expression1902)
if self.failed:
return
self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904)
self.exclusive_or_expression()
self.following.pop()
if self.failed:
return
else:
break #loop78
except RecognitionException as 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:496: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:497:2: ( and_expression ( '^' and_expression )* )
# C.g:497:4: and_expression ( '^' and_expression )*
self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1917)
self.and_expression()
self.following.pop()
if self.failed:
return
# C.g:497:19: ( '^' and_expression )*
while True: #loop79
alt79 = 2
LA79_0 = self.input.LA(1)
if (LA79_0 == 94) :
alt79 = 1
if alt79 == 1:
# C.g:497:20: '^' and_expression
self.match(self.input, 94, self.FOLLOW_94_in_exclusive_or_expression1920)
if self.failed:
return
self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1922)
self.and_expression()
self.following.pop()
if self.failed:
return
else:
break #loop79
except RecognitionException as 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:500: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:501:2: ( equality_expression ( '&' equality_expression )* )
# C.g:501:4: equality_expression ( '&' equality_expression )*
self.following.append(self.FOLLOW_equality_expression_in_and_expression1935)
self.equality_expression()
self.following.pop()
if self.failed:
return
# C.g:501:24: ( '&' equality_expression )*
while True: #loop80
alt80 = 2
LA80_0 = self.input.LA(1)
if (LA80_0 == 77) :
alt80 = 1
if alt80 == 1:
# C.g:501:25: '&' equality_expression
self.match(self.input, 77, self.FOLLOW_77_in_and_expression1938)
if self.failed:
return
self.following.append(self.FOLLOW_equality_expression_in_and_expression1940)
self.equality_expression()
self.following.pop()
if self.failed:
return
else:
break #loop80
except RecognitionException as 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:503: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:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
# C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
self.following.append(self.FOLLOW_relational_expression_in_equality_expression1952)
self.relational_expression()
self.following.pop()
if self.failed:
return
# C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
while True: #loop81
alt81 = 2
LA81_0 = self.input.LA(1)
if ((95 <= LA81_0 <= 96)) :
alt81 = 1
if alt81 == 1:
# C.g:504:27: ( '==' | '!=' ) relational_expression
if (95 <= self.input.LA(1) <= 96):
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_expression1955
)
raise mse
self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961)
self.relational_expression()
self.following.pop()
if self.failed:
return
else:
break #loop81
except RecognitionException as 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:507: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:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
# C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
self.following.append(self.FOLLOW_shift_expression_in_relational_expression1975)
self.shift_expression()
self.following.pop()
if self.failed:
return
# C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
while True: #loop82
alt82 = 2
LA82_0 = self.input.LA(1)
if ((97 <= LA82_0 <= 100)) :
alt82 = 1
if alt82 == 1:
# C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
if (97 <= self.input.LA(1) <= 100):
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_expression1978
)
raise mse
self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988)
self.shift_expression()
self.following.pop()
if self.failed:
return
else:
break #loop82
except RecognitionException as 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:511: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:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
# C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
self.following.append(self.FOLLOW_additive_expression_in_shift_expression2001)
self.additive_expression()
self.following.pop()
if self.failed:
return
# C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
while True: #loop83
alt83 = 2
LA83_0 = self.input.LA(1)
if ((101 <= LA83_0 <= 102)) :
alt83 = 1
if alt83 == 1:
# C.g:512:25: ( '<<' | '>>' ) additive_expression
if (101 <= self.input.LA(1) <= 102):
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_expression2004
)
raise mse
self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010)
self.additive_expression()
self.following.pop()
if self.failed:
return
else:
break #loop83
except RecognitionException as 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:517: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:518: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 == 62:
LA84_43 = self.input.LA(3)
if (self.synpred169()) :
alt84 = 3
elif (self.synpred173()) :
alt84 = 7
elif (self.synpred174()) :
alt84 = 8
elif (True) :
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 43, self.input)
raise nvae
elif LA84 == 47:
alt84 = 1
elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 64 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 75 or LA84 == 76 or LA84 == 77 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 or LA84 == 102:
alt84 = 3
elif LA84 == 66:
LA84_47 = self.input.LA(3)
if (self.synpred169()) :
alt84 = 3
elif (True) :
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("517: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 == IDENTIFIER:
LA84_53 = self.input.LA(3)
if (self.synpred169()) :
alt84 = 3
elif (True) :
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 53, self.input)
raise nvae
elif LA84 == 25:
LA84_68 = self.input.LA(3)
if (self.synpred169()) :
alt84 = 3
elif (True) :
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 68, 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 or LA84 == 61:
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("517: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 == 106 or LA84 == 107:
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 == 62 or LA84 == 66 or LA84 == 68 or LA84 == 69 or LA84 == 72 or LA84 == 73 or LA84 == 74 or LA84 == 77 or LA84 == 78 or LA84 == 79:
alt84 = 3
elif LA84 == 108 or LA84 == 110:
alt84 = 4
elif LA84 == 111 or LA84 == 112 or LA84 == 113:
alt84 = 5
elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117:
alt84 = 6
elif LA84 == 103:
alt84 = 8
elif LA84 == 104:
alt84 = 9
elif LA84 == 105:
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 or LA84 == 61:
alt84 = 11
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("517: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:518:4: labeled_statement
self.following.append(self.FOLLOW_labeled_statement_in_statement2025)
self.labeled_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 2:
# C.g:519:4: compound_statement
self.following.append(self.FOLLOW_compound_statement_in_statement2030)
self.compound_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 3:
# C.g:520:4: expression_statement
self.following.append(self.FOLLOW_expression_statement_in_statement2035)
self.expression_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 4:
# C.g:521:4: selection_statement
self.following.append(self.FOLLOW_selection_statement_in_statement2040)
self.selection_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 5:
# C.g:522:4: iteration_statement
self.following.append(self.FOLLOW_iteration_statement_in_statement2045)
self.iteration_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 6:
# C.g:523:4: jump_statement
self.following.append(self.FOLLOW_jump_statement_in_statement2050)
self.jump_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 7:
# C.g:524:4: macro_statement
self.following.append(self.FOLLOW_macro_statement_in_statement2055)
self.macro_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 8:
# C.g:525:4: asm2_statement
self.following.append(self.FOLLOW_asm2_statement_in_statement2060)
self.asm2_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 9:
# C.g:526:4: asm1_statement
self.following.append(self.FOLLOW_asm1_statement_in_statement2065)
self.asm1_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 10:
# C.g:527:4: asm_statement
self.following.append(self.FOLLOW_asm_statement_in_statement2070)
self.asm_statement()
self.following.pop()
if self.failed:
return
elif alt84 == 11:
# C.g:528:4: declaration
self.following.append(self.FOLLOW_declaration_in_statement2075)
self.declaration()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:531: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:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
# C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
# C.g:532:4: ( '__asm__' )?
alt85 = 2
LA85_0 = self.input.LA(1)
if (LA85_0 == 103) :
alt85 = 1
if alt85 == 1:
# C.g:0:0: '__asm__'
self.match(self.input, 103, self.FOLLOW_103_in_asm2_statement2086)
if self.failed:
return
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2089)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091)
if self.failed:
return
# C.g:532:30: (~ ( ';' ) )*
while True: #loop86
alt86 = 2
LA86_0 = self.input.LA(1)
if (LA86_0 == 63) :
LA86_1 = self.input.LA(2)
if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) :
alt86 = 1
elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) :
alt86 = 1
if alt86 == 1:
# C.g:532:31: ~ ( ';' )
if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 117):
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_statement2094
)
raise mse
else:
break #loop86
self.match(self.input, 63, self.FOLLOW_63_in_asm2_statement2101)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2103)
if self.failed:
return
except RecognitionException as 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:535: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:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
# C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
self.match(self.input, 104, self.FOLLOW_104_in_asm1_statement2115)
if self.failed:
return
self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2117)
if self.failed:
return
# C.g:536:15: (~ ( '}' ) )*
while True: #loop87
alt87 = 2
LA87_0 = self.input.LA(1)
if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) :
alt87 = 1
if alt87 == 1:
# C.g:536:16: ~ ( '}' )
if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
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_statement2120
)
raise mse
else:
break #loop87
self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127)
if self.failed:
return
except RecognitionException as 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:539: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:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
# C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
self.match(self.input, 105, self.FOLLOW_105_in_asm_statement2138)
if self.failed:
return
self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2140)
if self.failed:
return
# C.g:540:16: (~ ( '}' ) )*
while True: #loop88
alt88 = 2
LA88_0 = self.input.LA(1)
if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) :
alt88 = 1
if alt88 == 1:
# C.g:540:17: ~ ( '}' )
if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
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_statement2143
)
raise mse
else:
break #loop88
self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150)
if self.failed:
return
except RecognitionException as 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:543: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:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
# C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2162)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2164)
if self.failed:
return
# C.g:544:19: ( declaration )*
while True: #loop89
alt89 = 2
LA89 = self.input.LA(1)
if LA89 == IDENTIFIER:
LA89 = self.input.LA(2)
if LA89 == 62:
LA89_45 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_47 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 66:
LA89_50 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_68 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_71 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_72 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_73 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89_74 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_75 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_76 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_77 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_78 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_79 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_80 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_81 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_82 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_83 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_84 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_85 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_86 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_88 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_89 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_90 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_91 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_92 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_93 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_94 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_95 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_96 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_97 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_98 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_99 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_100 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 66:
LA89_101 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_102 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_103 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_104 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_105 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_106 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_107 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_108 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_109 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_110 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_111 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_112 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_114 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_115 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_116 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_117 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_118 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_119 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_120 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_121 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_122 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_123 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_124 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_125 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_126 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_127 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_128 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_129 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_130 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_131 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_132 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_134 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_135 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_136 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_137 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_138 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_139 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_140 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_141 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_142 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_143 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_144 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_145 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_146 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_147 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_148 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_149 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_150 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_151 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_152 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_154 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_155 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_156 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_157 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_158 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_159 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_160 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_161 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_162 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_163 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_164 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_165 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_166 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_167 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_168 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_169 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_170 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_171 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_172 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_174 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_175 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_176 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_177 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_178 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_179 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_180 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_181 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_182 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_183 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_184 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_185 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_186 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_187 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_188 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_189 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_190 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_191 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_192 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_194 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_195 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_196 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_197 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_198 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_199 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_200 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_201 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_202 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_203 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_204 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_205 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_206 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_207 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_208 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_209 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_210 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_211 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_212 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_214 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_215 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_216 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_217 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_218 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_219 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_220 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_221 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_222 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_223 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_224 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_225 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_226 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_227 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_228 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_229 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_230 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_231 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_232 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_234 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_235 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_236 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_237 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_238 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_239 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_240 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_241 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_242 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_243 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_244 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_245 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_246 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_247 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_248 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_249 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_250 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_251 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_252 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_254 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_255 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_256 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_257 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_258 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_259 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_260 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_261 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_262 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_263 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_264 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_265 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_266 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_267 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_268 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_269 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_270 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_271 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_272 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_274 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_275 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_276 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_277 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_278 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_279 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_280 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_281 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_282 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_283 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_284 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_285 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_286 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_287 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_288 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_289 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_290 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_291 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_292 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_294 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_295 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_296 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_297 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_298 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_299 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_300 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_301 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_302 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_303 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_304 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_305 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif (LA89_40 == 43) :
LA89_307 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_41 = self.input.LA(2)
if (LA89_41 == 43) :
LA89_308 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif (LA89_41 == IDENTIFIER) :
LA89_309 = self.input.LA(3)
if (self.synpred181()) :
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 or LA89 == 61:
LA89 = self.input.LA(2)
if LA89 == 66:
LA89_310 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 58:
LA89_311 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 59:
LA89_312 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 60:
LA89_313 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == IDENTIFIER:
LA89_314 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 62:
LA89_315 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 25:
LA89_316 = self.input.LA(3)
if (self.synpred181()) :
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.synpred181()) :
alt89 = 1
elif LA89 == 34:
LA89_318 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 35:
LA89_319 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 36:
LA89_320 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 37:
LA89_321 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 38:
LA89_322 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 39:
LA89_323 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 40:
LA89_324 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 41:
LA89_325 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 42:
LA89_326 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 45 or LA89 == 46:
LA89_327 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
elif LA89 == 48:
LA89_328 = self.input.LA(3)
if (self.synpred181()) :
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 == 61:
LA89_329 = self.input.LA(3)
if (self.synpred181()) :
alt89 = 1
if alt89 == 1:
# C.g:0:0: declaration
self.following.append(self.FOLLOW_declaration_in_macro_statement2166)
self.declaration()
self.following.pop()
if self.failed:
return
else:
break #loop89
# C.g:544:33: ( statement_list )?
alt90 = 2
LA90 = self.input.LA(1)
if LA90 == IDENTIFIER:
LA90 = self.input.LA(2)
if 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 or LA90 == 61:
alt90 = 1
elif LA90 == 62:
LA90_45 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_46 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == IDENTIFIER:
LA90_47 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 64:
LA90_48 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 75:
LA90_49 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66:
LA90_50 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 76:
LA90_51 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_52 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_53 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 70:
LA90_54 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 71:
LA90_55 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 68:
LA90_56 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 69:
LA90_57 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 101 or LA90 == 102:
LA90_58 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
LA90_59 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 95 or LA90 == 96:
LA90_60 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 77:
LA90_61 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 94:
LA90_62 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 93:
LA90_63 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 92:
LA90_64 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 91:
LA90_65 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 90:
LA90_66 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 27:
LA90_67 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 28 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 or LA90 == 89:
LA90_70 = self.input.LA(3)
if (self.synpred182()) :
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 == 61 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 108 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116 or LA90 == 117:
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 64:
LA90_87 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_88 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 75:
LA90_89 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66:
LA90_90 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 76:
LA90_91 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_92 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_93 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 28 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 or LA90 == 89:
LA90_94 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 70:
LA90_95 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 71:
LA90_96 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 68:
LA90_97 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 69:
LA90_98 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 101 or LA90 == 102:
LA90_99 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
LA90_100 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 95 or LA90 == 96:
LA90_101 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 77:
LA90_102 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 94:
LA90_103 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 93:
LA90_104 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 92:
LA90_105 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 91:
LA90_106 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 90:
LA90_107 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 27:
LA90_108 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 64:
LA90_111 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_112 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 75:
LA90_113 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66:
LA90_114 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 76:
LA90_115 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_116 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_117 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 70:
LA90_118 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 71:
LA90_119 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 68:
LA90_120 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 69:
LA90_121 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 101 or LA90 == 102:
LA90_122 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
LA90_123 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 95 or LA90 == 96:
LA90_124 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 77:
LA90_125 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 94:
LA90_126 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 93:
LA90_127 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 92:
LA90_128 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 91:
LA90_129 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 90:
LA90_130 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 27:
LA90_131 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == 28 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 or LA90 == 89:
LA90_134 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 64:
LA90_135 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_136 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 75:
LA90_137 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66:
LA90_138 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 76:
LA90_139 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_140 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_141 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 28 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 or LA90 == 89:
LA90_142 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 70:
LA90_143 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 71:
LA90_144 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 68:
LA90_145 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 69:
LA90_146 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 101 or LA90 == 102:
LA90_147 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
LA90_148 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 95 or LA90 == 96:
LA90_149 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 77:
LA90_150 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 94:
LA90_151 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 93:
LA90_152 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 92:
LA90_153 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 91:
LA90_154 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 90:
LA90_155 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 27:
LA90_156 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 64:
LA90_159 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_160 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 75:
LA90_161 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66:
LA90_162 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 76:
LA90_163 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_164 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_165 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 70:
LA90_166 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 71:
LA90_167 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 68:
LA90_168 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 69:
LA90_169 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 101 or LA90 == 102:
LA90_170 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
LA90_171 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 95 or LA90 == 96:
LA90_172 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 77:
LA90_173 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 94:
LA90_174 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 93:
LA90_175 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 92:
LA90_176 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 91:
LA90_177 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 90:
LA90_178 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 27:
LA90_179 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == 28 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 or LA90 == 89:
LA90_181 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90 = self.input.LA(2)
if LA90 == IDENTIFIER:
LA90_183 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 64:
LA90_184 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_185 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 75:
LA90_186 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66:
LA90_187 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 76:
LA90_188 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_189 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_190 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 28 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 or LA90 == 89:
LA90_191 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_192 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 70:
LA90_193 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 71:
LA90_194 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 68:
LA90_195 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 69:
LA90_196 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 101 or LA90 == 102:
LA90_197 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
LA90_198 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 95 or LA90 == 96:
LA90_199 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 77:
LA90_200 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 94:
LA90_201 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 93:
LA90_202 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 92:
LA90_203 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 91:
LA90_204 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 90:
LA90_205 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 27:
LA90_206 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90 = self.input.LA(2)
if LA90 == 64:
LA90_209 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_210 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 75:
LA90_211 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66:
LA90_212 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 76:
LA90_213 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_214 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_215 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 28 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 or LA90 == 89:
LA90_216 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 70:
LA90_217 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 71:
LA90_218 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 68:
LA90_219 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 69:
LA90_220 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 101 or LA90 == 102:
LA90_221 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
LA90_222 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 95 or LA90 == 96:
LA90_223 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 77:
LA90_224 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 94:
LA90_225 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 93:
LA90_226 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 92:
LA90_227 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 91:
LA90_228 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 90:
LA90_229 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 27:
LA90_230 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 25:
alt90 = 1
elif LA90 == 62:
LA90 = self.input.LA(2)
if LA90 == IDENTIFIER:
LA90_233 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_234 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_235 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_236 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_237 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_238 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_239 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_240 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_241 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_242 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
LA90_243 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 74:
LA90_244 = self.input.LA(3)
if (self.synpred182()) :
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 or LA90 == 61:
LA90_245 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 34:
LA90_246 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 35:
LA90_247 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 36:
LA90_248 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 37:
LA90_249 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 38:
LA90_250 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 39:
LA90_251 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 40:
LA90_252 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 41:
LA90_253 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 42:
LA90_254 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 45 or LA90 == 46:
LA90_255 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 48:
LA90_256 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90 = self.input.LA(2)
if LA90 == IDENTIFIER:
LA90_257 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_258 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_259 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_260 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_261 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_262 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_263 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_264 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_265 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_266 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
LA90_267 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 74:
LA90_268 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90 = self.input.LA(2)
if LA90 == IDENTIFIER:
LA90_269 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_270 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_271 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_272 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_273 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_274 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_275 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 62:
LA90_276 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_277 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_278 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
LA90_279 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 74:
LA90_280 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
LA90 = self.input.LA(2)
if LA90 == 62:
LA90_281 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == IDENTIFIER:
LA90_282 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_283 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_284 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_285 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_286 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_287 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_288 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_289 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_290 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
LA90_291 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 74:
LA90_292 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 74:
LA90 = self.input.LA(2)
if LA90 == 62:
LA90_293 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == IDENTIFIER:
LA90_294 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == HEX_LITERAL:
LA90_295 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == OCTAL_LITERAL:
LA90_296 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == DECIMAL_LITERAL:
LA90_297 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == CHARACTER_LITERAL:
LA90_298 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == STRING_LITERAL:
LA90_299 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == FLOATING_POINT_LITERAL:
LA90_300 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 72:
LA90_301 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 73:
LA90_302 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
LA90_303 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
elif LA90 == 74:
LA90_304 = self.input.LA(3)
if (self.synpred182()) :
alt90 = 1
if alt90 == 1:
# C.g:0:0: statement_list
self.following.append(self.FOLLOW_statement_list_in_macro_statement2170)
self.statement_list()
self.following.pop()
if self.failed:
return
# C.g:544:49: ( expression )?
alt91 = 2
LA91_0 = self.input.LA(1)
if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 62 or LA91_0 == 66 or (68 <= LA91_0 <= 69) or (72 <= LA91_0 <= 74) or (77 <= LA91_0 <= 79)) :
alt91 = 1
if alt91 == 1:
# C.g:0:0: expression
self.following.append(self.FOLLOW_expression_in_macro_statement2173)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176)
if self.failed:
return
except RecognitionException as 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:547: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:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
alt92 = 3
LA92 = self.input.LA(1)
if LA92 == IDENTIFIER:
alt92 = 1
elif LA92 == 106:
alt92 = 2
elif LA92 == 107:
alt92 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
raise nvae
if alt92 == 1:
# C.g:548:4: IDENTIFIER ':' statement
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2188)
if self.failed:
return
self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2190)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_labeled_statement2192)
self.statement()
self.following.pop()
if self.failed:
return
elif alt92 == 2:
# C.g:549:4: 'case' constant_expression ':' statement
self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2197)
if self.failed:
return
self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2199)
self.constant_expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_labeled_statement2203)
self.statement()
self.following.pop()
if self.failed:
return
elif alt92 == 3:
# C.g:550:4: 'default' ':' statement
self.match(self.input, 107, self.FOLLOW_107_in_labeled_statement2208)
if self.failed:
return
self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2210)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_labeled_statement2212)
self.statement()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:553: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:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
# C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223)
if self.failed:
return retval
# C.g:554:8: ( declaration )*
while True: #loop93
alt93 = 2
LA93 = self.input.LA(1)
if LA93 == IDENTIFIER:
LA93 = self.input.LA(2)
if LA93 == 62:
LA93_44 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_47 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 66:
LA93_48 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_49 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_50 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_51 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_52 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93_53 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_54 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_55 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_56 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_57 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_58 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_59 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_60 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_61 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_62 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_63 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_64 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_65 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_87 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_88 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_89 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_90 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_91 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_92 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_93 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_94 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_95 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_96 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_97 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_98 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_99 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 66:
LA93_100 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_101 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_102 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_103 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_104 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_105 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_106 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_107 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_108 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_109 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_110 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_111 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_113 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_114 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_115 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_116 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_117 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_118 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_119 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_120 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_121 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_122 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_123 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_124 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_125 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_126 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_127 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_128 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_129 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_130 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_131 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_133 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_134 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_135 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_136 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_137 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_138 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_139 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_140 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_141 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_142 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_143 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_144 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_145 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_146 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_147 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_148 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_149 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_150 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_151 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_153 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_154 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_155 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_156 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_157 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_158 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_159 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_160 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_161 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_162 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_163 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_164 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_165 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_166 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_167 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_168 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_169 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_170 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_171 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_173 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_174 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_175 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_176 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_177 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_178 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_179 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_180 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_181 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_182 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_183 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_184 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_185 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_186 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_187 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_188 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_189 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_190 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_191 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_193 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_194 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_195 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_196 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_197 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_198 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_199 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_200 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_201 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_202 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_203 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_204 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_205 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_206 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_207 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_208 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_209 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_210 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_211 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_213 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_214 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_215 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_216 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_217 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_218 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_219 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_220 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_221 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_222 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_223 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_224 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_225 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_226 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_227 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_228 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_229 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_230 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_231 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_233 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_234 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_235 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_236 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_237 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_238 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_239 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_240 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_241 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_242 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_243 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_244 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_245 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_246 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_247 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_248 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_249 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_250 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_251 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_253 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_254 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_255 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_256 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_257 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_258 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_259 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_260 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_261 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_262 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_263 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_264 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_265 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_266 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_267 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_268 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_269 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_270 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_271 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_273 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_274 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_275 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_276 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_277 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_278 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_279 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_280 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_281 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_282 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_283 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_284 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_285 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_286 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_287 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_288 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_289 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_290 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_291 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_293 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_294 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_295 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_296 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_297 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_298 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_299 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_300 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_301 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_302 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_303 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_304 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif (LA93_40 == 43) :
LA93_306 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_41 = self.input.LA(2)
if (LA93_41 == 43) :
LA93_307 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif (LA93_41 == IDENTIFIER) :
LA93_308 = self.input.LA(3)
if (self.synpred186()) :
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 or LA93 == 61:
LA93 = self.input.LA(2)
if LA93 == 66:
LA93_309 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 58:
LA93_310 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 59:
LA93_311 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 60:
LA93_312 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == IDENTIFIER:
LA93_313 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 62:
LA93_314 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 25:
LA93_315 = self.input.LA(3)
if (self.synpred186()) :
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.synpred186()) :
alt93 = 1
elif LA93 == 34:
LA93_317 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 35:
LA93_318 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 36:
LA93_319 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 37:
LA93_320 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 38:
LA93_321 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 39:
LA93_322 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 40:
LA93_323 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 41:
LA93_324 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 42:
LA93_325 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 45 or LA93 == 46:
LA93_326 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
elif LA93 == 48:
LA93_327 = self.input.LA(3)
if (self.synpred186()) :
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 == 61:
LA93_328 = self.input.LA(3)
if (self.synpred186()) :
alt93 = 1
if alt93 == 1:
# C.g:0:0: declaration
self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
self.declaration()
self.following.pop()
if self.failed:
return retval
else:
break #loop93
# C.g:554: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 <= 62) or LA94_0 == 66 or (68 <= LA94_0 <= 69) or (72 <= LA94_0 <= 74) or (77 <= LA94_0 <= 79) or (103 <= LA94_0 <= 108) or (110 <= LA94_0 <= 117)) :
alt94 = 1
if alt94 == 1:
# C.g:0:0: statement_list
self.following.append(self.FOLLOW_statement_list_in_compound_statement2228)
self.statement_list()
self.following.pop()
if self.failed:
return retval
self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException as 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:557: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:558:2: ( ( statement )+ )
# C.g:558:4: ( statement )+
# C.g:558:4: ( statement )+
cnt95 = 0
while True: #loop95
alt95 = 2
LA95 = self.input.LA(1)
if LA95 == IDENTIFIER:
LA95 = self.input.LA(2)
if LA95 == 62:
LA95_46 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif 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 or LA95 == 61:
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_48 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == IDENTIFIER:
LA95_49 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 64:
LA95_50 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 75:
LA95_51 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66:
LA95_52 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 76:
LA95_53 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_54 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_55 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 70:
LA95_56 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 71:
LA95_57 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 68:
LA95_58 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 69:
LA95_59 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 101 or LA95 == 102:
LA95_60 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
LA95_61 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 95 or LA95 == 96:
LA95_62 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 77:
LA95_63 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 94:
LA95_64 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 93:
LA95_65 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 92:
LA95_66 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 91:
LA95_67 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 90:
LA95_68 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 27:
LA95_69 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 28 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 or LA95 == 89:
LA95_88 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 64:
LA95_89 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_90 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 75:
LA95_91 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66:
LA95_92 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 76:
LA95_93 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_94 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_95 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 28 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 or LA95 == 89:
LA95_96 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 70:
LA95_97 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 71:
LA95_98 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 68:
LA95_99 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 69:
LA95_100 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 101 or LA95 == 102:
LA95_101 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
LA95_102 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 95 or LA95 == 96:
LA95_103 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 77:
LA95_104 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 94:
LA95_105 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 93:
LA95_106 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 92:
LA95_107 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 91:
LA95_108 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 90:
LA95_109 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 27:
LA95_110 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 64:
LA95_113 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_114 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 75:
LA95_115 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66:
LA95_116 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 76:
LA95_117 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_118 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_119 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 70:
LA95_120 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 71:
LA95_121 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 68:
LA95_122 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 69:
LA95_123 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 101 or LA95 == 102:
LA95_124 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
LA95_125 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 95 or LA95 == 96:
LA95_126 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 77:
LA95_127 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 94:
LA95_128 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 93:
LA95_129 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 92:
LA95_130 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 91:
LA95_131 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 90:
LA95_132 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 27:
LA95_133 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 28 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 or LA95 == 89:
LA95_135 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 64:
LA95_137 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_138 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 75:
LA95_139 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66:
LA95_140 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 76:
LA95_141 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_142 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_143 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 28 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 or LA95 == 89:
LA95_144 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 70:
LA95_145 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 71:
LA95_146 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 68:
LA95_147 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 69:
LA95_148 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 101 or LA95 == 102:
LA95_149 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
LA95_150 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 95 or LA95 == 96:
LA95_151 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 77:
LA95_152 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 94:
LA95_153 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 93:
LA95_154 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 92:
LA95_155 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 91:
LA95_156 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 90:
LA95_157 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 27:
LA95_158 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 64:
LA95_161 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_162 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 75:
LA95_163 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66:
LA95_164 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 76:
LA95_165 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_166 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_167 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 28 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 or LA95 == 89:
LA95_168 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 70:
LA95_169 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 71:
LA95_170 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 68:
LA95_171 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 69:
LA95_172 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 101 or LA95 == 102:
LA95_173 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
LA95_174 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 95 or LA95 == 96:
LA95_175 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 77:
LA95_176 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 94:
LA95_177 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 93:
LA95_178 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 92:
LA95_179 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 91:
LA95_180 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 90:
LA95_181 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 27:
LA95_182 = self.input.LA(3)
if (self.synpred188()) :
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.synpred188()) :
alt95 = 1
elif LA95 == 64:
LA95_186 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_187 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 75:
LA95_188 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66:
LA95_189 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 76:
LA95_190 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_191 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_192 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 70:
LA95_193 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 71:
LA95_194 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 68:
LA95_195 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 69:
LA95_196 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 101 or LA95 == 102:
LA95_197 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
LA95_198 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 95 or LA95 == 96:
LA95_199 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 77:
LA95_200 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 94:
LA95_201 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 93:
LA95_202 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 92:
LA95_203 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 91:
LA95_204 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 90:
LA95_205 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 27:
LA95_206 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_208 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 28 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 or LA95 == 89:
LA95_209 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95 = self.input.LA(2)
if LA95 == 64:
LA95_211 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_212 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 75:
LA95_213 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66:
LA95_214 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 76:
LA95_215 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_216 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_217 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 70:
LA95_218 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 71:
LA95_219 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 68:
LA95_220 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 69:
LA95_221 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 101 or LA95 == 102:
LA95_222 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
LA95_223 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 95 or LA95 == 96:
LA95_224 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 77:
LA95_225 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 94:
LA95_226 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 93:
LA95_227 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 92:
LA95_228 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 91:
LA95_229 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 90:
LA95_230 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 27:
LA95_231 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 25:
alt95 = 1
elif LA95 == 28 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 or LA95 == 89:
LA95_234 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95 = self.input.LA(2)
if LA95 == IDENTIFIER:
LA95_235 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_236 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_237 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_238 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_239 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_240 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_241 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_242 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_243 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_244 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
LA95_245 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 74:
LA95_246 = self.input.LA(3)
if (self.synpred188()) :
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 or LA95 == 61:
LA95_247 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 34:
LA95_248 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 35:
LA95_249 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 36:
LA95_250 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 37:
LA95_251 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 38:
LA95_252 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 39:
LA95_253 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 40:
LA95_254 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 41:
LA95_255 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 42:
LA95_256 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 45 or LA95 == 46:
LA95_257 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 48:
LA95_258 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95 = self.input.LA(2)
if LA95 == IDENTIFIER:
LA95_259 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_260 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_261 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_262 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_263 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_264 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_265 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_266 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_267 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_268 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
LA95_269 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 74:
LA95_270 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95 = self.input.LA(2)
if LA95 == IDENTIFIER:
LA95_271 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_272 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_273 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_274 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_275 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_276 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_277 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 62:
LA95_278 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_279 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_280 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
LA95_281 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 74:
LA95_282 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
LA95 = self.input.LA(2)
if LA95 == 62:
LA95_283 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == IDENTIFIER:
LA95_284 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_285 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_286 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_287 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_288 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_289 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_290 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_291 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_292 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
LA95_293 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 74:
LA95_294 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 74:
LA95 = self.input.LA(2)
if LA95 == 62:
LA95_295 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == IDENTIFIER:
LA95_296 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == HEX_LITERAL:
LA95_297 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == OCTAL_LITERAL:
LA95_298 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == DECIMAL_LITERAL:
LA95_299 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == CHARACTER_LITERAL:
LA95_300 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == STRING_LITERAL:
LA95_301 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == FLOATING_POINT_LITERAL:
LA95_302 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 72:
LA95_303 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 73:
LA95_304 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
LA95_305 = self.input.LA(3)
if (self.synpred188()) :
alt95 = 1
elif LA95 == 74:
LA95_306 = self.input.LA(3)
if (self.synpred188()) :
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 == 61 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 108 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116 or LA95 == 117:
alt95 = 1
if alt95 == 1:
# C.g:0:0: statement
self.following.append(self.FOLLOW_statement_in_statement_list2242)
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 as 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:561: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:562: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 == 62 or LA96_0 == 66 or (68 <= LA96_0 <= 69) or (72 <= LA96_0 <= 74) or (77 <= LA96_0 <= 79)) :
alt96 = 2
else:
if self.backtracking > 0:
self.failed = True
return retval
nvae = NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
raise nvae
if alt96 == 1:
# C.g:562:4: ';'
self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2254)
if self.failed:
return retval
elif alt96 == 2:
# C.g:563:4: expression ';'
self.following.append(self.FOLLOW_expression_in_expression_statement2259)
self.expression()
self.following.pop()
if self.failed:
return retval
self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2261)
if self.failed:
return retval
retval.stop = self.input.LT(-1)
except RecognitionException as 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:566: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:567: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 == 108) :
alt98 = 1
elif (LA98_0 == 110) :
alt98 = 2
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("566: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:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2272)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2274)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_selection_statement2278)
e = self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2280)
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_statement2284)
self.statement()
self.following.pop()
if self.failed:
return
# C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
alt97 = 2
LA97_0 = self.input.LA(1)
if (LA97_0 == 109) :
alt97 = 1
if alt97 == 1:
# C.g:567:200: 'else' statement
self.match(self.input, 109, self.FOLLOW_109_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
elif alt98 == 2:
# C.g:568:4: 'switch' '(' expression ')' statement
self.match(self.input, 110, self.FOLLOW_110_in_selection_statement2308)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2310)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_selection_statement2312)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_selection_statement2316)
self.statement()
self.following.pop()
if self.failed:
return
except RecognitionException as 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:571: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:572: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 == 111:
alt100 = 1
elif LA100 == 112:
alt100 = 2
elif LA100 == 113:
alt100 = 3
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("571: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:572:4: 'while' '(' e= expression ')' statement
self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2327)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2329)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_iteration_statement2333)
e = self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_iteration_statement2337)
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:573:4: 'do' statement 'while' '(' e= expression ')' ';'
self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2344)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_iteration_statement2346)
self.statement()
self.following.pop()
if self.failed:
return
self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_iteration_statement2354)
e = self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2356)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2358)
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:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
self.match(self.input, 113, self.FOLLOW_113_in_iteration_statement2365)
if self.failed:
return
self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2367)
if self.failed:
return
self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2369)
self.expression_statement()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2373)
e = self.expression_statement()
self.following.pop()
if self.failed:
return
# C.g:574:58: ( expression )?
alt99 = 2
LA99_0 = self.input.LA(1)
if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 62 or LA99_0 == 66 or (68 <= LA99_0 <= 69) or (72 <= LA99_0 <= 74) or (77 <= LA99_0 <= 79)) :
alt99 = 1
if alt99 == 1:
# C.g:0:0: expression
self.following.append(self.FOLLOW_expression_in_iteration_statement2375)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378)
if self.failed:
return
self.following.append(self.FOLLOW_statement_in_iteration_statement2380)
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 as 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:577: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:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
alt101 = 5
LA101 = self.input.LA(1)
if LA101 == 114:
alt101 = 1
elif LA101 == 115:
alt101 = 2
elif LA101 == 116:
alt101 = 3
elif LA101 == 117:
LA101_4 = self.input.LA(2)
if (LA101_4 == 25) :
alt101 = 4
elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 62 or LA101_4 == 66 or (68 <= LA101_4 <= 69) or (72 <= LA101_4 <= 74) or (77 <= LA101_4 <= 79)) :
alt101 = 5
else:
if self.backtracking > 0:
self.failed = True
return
nvae = NoViableAltException("577: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("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
raise nvae
if alt101 == 1:
# C.g:578:4: 'goto' IDENTIFIER ';'
self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2393)
if self.failed:
return
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2395)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397)
if self.failed:
return
elif alt101 == 2:
# C.g:579:4: 'continue' ';'
self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2402)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2404)
if self.failed:
return
elif alt101 == 3:
# C.g:580:4: 'break' ';'
self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2409)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2411)
if self.failed:
return
elif alt101 == 4:
# C.g:581:4: 'return' ';'
self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2416)
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2418)
if self.failed:
return
elif alt101 == 5:
# C.g:582:4: 'return' expression ';'
self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2423)
if self.failed:
return
self.following.append(self.FOLLOW_expression_in_jump_statement2425)
self.expression()
self.following.pop()
if self.failed:
return
self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427)
if self.failed:
return
except RecognitionException as 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:119:6: ( declaration_specifiers )
# C.g:119:6: declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred2100)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred2
# $ANTLR start synpred4
def synpred4_fragment(self, ):
# C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
# C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
# C.g:119: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 or LA102 == 61:
alt102 = 1
elif LA102 == IDENTIFIER:
LA102 = self.input.LA(2)
if LA102 == 62:
LA102_21 = 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_23 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 34:
LA102_24 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 35:
LA102_25 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 36:
LA102_26 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 37:
LA102_27 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 38:
LA102_28 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 39:
LA102_29 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 40:
LA102_30 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 41:
LA102_31 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 42:
LA102_32 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 45 or LA102 == 46:
LA102_33 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 48:
LA102_34 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == IDENTIFIER:
LA102_35 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 58:
LA102_36 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 66:
alt102 = 1
elif LA102 == 59:
LA102_39 = self.input.LA(3)
if (self.synpred2()) :
alt102 = 1
elif LA102 == 60:
LA102_40 = 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 or LA102 == 61:
LA102_41 = 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_synpred4100)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_declarator_in_synpred4103)
self.declarator()
self.following.pop()
if self.failed:
return
# C.g:119: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 <= 61)) :
alt103 = 1
if alt103 == 1:
# C.g:0:0: declaration
self.following.append(self.FOLLOW_declaration_in_synpred4105)
self.declaration()
self.following.pop()
if self.failed:
return
else:
break #loop103
self.match(self.input, 43, self.FOLLOW_43_in_synpred4108)
if self.failed:
return
# $ANTLR end synpred4
# $ANTLR start synpred5
def synpred5_fragment(self, ):
# C.g:120:4: ( declaration )
# C.g:120:4: declaration
self.following.append(self.FOLLOW_declaration_in_synpred5118)
self.declaration()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred5
# $ANTLR start synpred7
def synpred7_fragment(self, ):
# C.g:146:6: ( declaration_specifiers )
# C.g:146:6: declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7157)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred7
# $ANTLR start synpred10
def synpred10_fragment(self, ):
# C.g:167:18: ( declaration_specifiers )
# C.g:167:18: declaration_specifiers
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10207)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred10
# $ANTLR start synpred14
def synpred14_fragment(self, ):
# C.g:184:7: ( type_specifier )
# C.g:184:7: type_specifier
self.following.append(self.FOLLOW_type_specifier_in_synpred14272)
self.type_specifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred14
# $ANTLR start synpred15
def synpred15_fragment(self, ):
# C.g:185:13: ( type_qualifier )
# C.g:185:13: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred15286)
self.type_qualifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred15
# $ANTLR start synpred33
def synpred33_fragment(self, ):
# C.g:225:16: ( type_qualifier )
# C.g:225:16: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred33444)
self.type_qualifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred33
# $ANTLR start synpred34
def synpred34_fragment(self, ):
# C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
# C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34442)
if self.failed:
return
# C.g:225: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 or LA106 == 61:
alt106 = 1
if alt106 == 1:
# C.g:0:0: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred34444)
self.type_qualifier()
self.following.pop()
if self.failed:
return
else:
break #loop106
self.following.append(self.FOLLOW_declarator_in_synpred34447)
self.declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred34
# $ANTLR start synpred39
def synpred39_fragment(self, ):
# C.g:253:6: ( type_qualifier )
# C.g:253:6: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred39566)
self.type_qualifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred39
# $ANTLR start synpred40
def synpred40_fragment(self, ):
# C.g:253:23: ( type_specifier )
# C.g:253:23: type_specifier
self.following.append(self.FOLLOW_type_specifier_in_synpred40570)
self.type_specifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred40
# $ANTLR start synpred66
def synpred66_fragment(self, ):
# C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
# C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
# C.g:297:4: ( pointer )?
alt111 = 2
LA111_0 = self.input.LA(1)
if (LA111_0 == 66) :
alt111 = 1
if alt111 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_synpred66784)
self.pointer()
self.following.pop()
if self.failed:
return
# C.g:297:13: ( 'EFIAPI' )?
alt112 = 2
LA112_0 = self.input.LA(1)
if (LA112_0 == 58) :
alt112 = 1
if alt112 == 1:
# C.g:297:14: 'EFIAPI'
self.match(self.input, 58, self.FOLLOW_58_in_synpred66788)
if self.failed:
return
# C.g:297:25: ( 'EFI_BOOTSERVICE' )?
alt113 = 2
LA113_0 = self.input.LA(1)
if (LA113_0 == 59) :
alt113 = 1
if alt113 == 1:
# C.g:297:26: 'EFI_BOOTSERVICE'
self.match(self.input, 59, self.FOLLOW_59_in_synpred66793)
if self.failed:
return
# C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
alt114 = 2
LA114_0 = self.input.LA(1)
if (LA114_0 == 60) :
alt114 = 1
if alt114 == 1:
# C.g:297:47: 'EFI_RUNTIMESERVICE'
self.match(self.input, 60, self.FOLLOW_60_in_synpred66798)
if self.failed:
return
self.following.append(self.FOLLOW_direct_declarator_in_synpred66802)
self.direct_declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred66
# $ANTLR start synpred67
def synpred67_fragment(self, ):
# C.g:303:15: ( declarator_suffix )
# C.g:303:15: declarator_suffix
self.following.append(self.FOLLOW_declarator_suffix_in_synpred67821)
self.declarator_suffix()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred67
# $ANTLR start synpred69
def synpred69_fragment(self, ):
# C.g:304:9: ( 'EFIAPI' )
# C.g:304:9: 'EFIAPI'
self.match(self.input, 58, self.FOLLOW_58_in_synpred69830)
if self.failed:
return
# $ANTLR end synpred69
# $ANTLR start synpred70
def synpred70_fragment(self, ):
# C.g:304:35: ( declarator_suffix )
# C.g:304:35: declarator_suffix
self.following.append(self.FOLLOW_declarator_suffix_in_synpred70838)
self.declarator_suffix()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred70
# $ANTLR start synpred73
def synpred73_fragment(self, ):
# C.g:310:9: ( '(' parameter_type_list ')' )
# C.g:310:9: '(' parameter_type_list ')'
self.match(self.input, 62, self.FOLLOW_62_in_synpred73878)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_type_list_in_synpred73880)
self.parameter_type_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_synpred73882)
if self.failed:
return
# $ANTLR end synpred73
# $ANTLR start synpred74
def synpred74_fragment(self, ):
# C.g:311:9: ( '(' identifier_list ')' )
# C.g:311:9: '(' identifier_list ')'
self.match(self.input, 62, self.FOLLOW_62_in_synpred74892)
if self.failed:
return
self.following.append(self.FOLLOW_identifier_list_in_synpred74894)
self.identifier_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_synpred74896)
if self.failed:
return
# $ANTLR end synpred74
# $ANTLR start synpred75
def synpred75_fragment(self, ):
# C.g:316:8: ( type_qualifier )
# C.g:316:8: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred75921)
self.type_qualifier()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred75
# $ANTLR start synpred76
def synpred76_fragment(self, ):
# C.g:316:24: ( pointer )
# C.g:316:24: pointer
self.following.append(self.FOLLOW_pointer_in_synpred76924)
self.pointer()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred76
# $ANTLR start synpred77
def synpred77_fragment(self, ):
# C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
# C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
self.match(self.input, 66, self.FOLLOW_66_in_synpred77919)
if self.failed:
return
# C.g:316:8: ( type_qualifier )+
cnt116 = 0
while True: #loop116
alt116 = 2
LA116_0 = self.input.LA(1)
if ((49 <= LA116_0 <= 61)) :
alt116 = 1
if alt116 == 1:
# C.g:0:0: type_qualifier
self.following.append(self.FOLLOW_type_qualifier_in_synpred77921)
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:316:24: ( pointer )?
alt117 = 2
LA117_0 = self.input.LA(1)
if (LA117_0 == 66) :
alt117 = 1
if alt117 == 1:
# C.g:0:0: pointer
self.following.append(self.FOLLOW_pointer_in_synpred77924)
self.pointer()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred77
# $ANTLR start synpred78
def synpred78_fragment(self, ):
# C.g:317:4: ( '*' pointer )
# C.g:317:4: '*' pointer
self.match(self.input, 66, self.FOLLOW_66_in_synpred78930)
if self.failed:
return
self.following.append(self.FOLLOW_pointer_in_synpred78932)
self.pointer()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred78
# $ANTLR start synpred81
def synpred81_fragment(self, ):
# C.g:326:32: ( 'OPTIONAL' )
# C.g:326:32: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_synpred81977)
if self.failed:
return
# $ANTLR end synpred81
# $ANTLR start synpred82
def synpred82_fragment(self, ):
# C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
# C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
self.match(self.input, 27, self.FOLLOW_27_in_synpred82974)
if self.failed:
return
# C.g:326:31: ( 'OPTIONAL' )?
alt119 = 2
LA119_0 = self.input.LA(1)
if (LA119_0 == 53) :
LA119_1 = self.input.LA(2)
if (self.synpred81()) :
alt119 = 1
if alt119 == 1:
# C.g:326:32: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_synpred82977)
if self.failed:
return
self.following.append(self.FOLLOW_parameter_declaration_in_synpred82981)
self.parameter_declaration()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred82
# $ANTLR start synpred83
def synpred83_fragment(self, ):
# C.g:330:28: ( declarator )
# C.g:330:28: declarator
self.following.append(self.FOLLOW_declarator_in_synpred83997)
self.declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred83
# $ANTLR start synpred84
def synpred84_fragment(self, ):
# C.g:330:39: ( abstract_declarator )
# C.g:330:39: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_synpred84999)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred84
# $ANTLR start synpred86
def synpred86_fragment(self, ):
# C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
# C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
self.following.append(self.FOLLOW_declaration_specifiers_in_synpred86994)
self.declaration_specifiers()
self.following.pop()
if self.failed:
return
# C.g:330:27: ( declarator | abstract_declarator )*
while True: #loop120
alt120 = 3
LA120 = self.input.LA(1)
if LA120 == 66:
LA120_3 = self.input.LA(2)
if (self.synpred83()) :
alt120 = 1
elif (self.synpred84()) :
alt120 = 2
elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
alt120 = 1
elif LA120 == 62:
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 == 61 or LA120 == 63 or LA120 == 64:
alt120 = 2
elif LA120 == 58:
LA120_21 = self.input.LA(3)
if (self.synpred83()) :
alt120 = 1
elif (self.synpred84()) :
alt120 = 2
elif LA120 == 66:
LA120_22 = self.input.LA(3)
if (self.synpred83()) :
alt120 = 1
elif (self.synpred84()) :
alt120 = 2
elif LA120 == 59:
LA120_23 = self.input.LA(3)
if (self.synpred83()) :
alt120 = 1
elif (self.synpred84()) :
alt120 = 2
elif LA120 == 60:
LA120_24 = self.input.LA(3)
if (self.synpred83()) :
alt120 = 1
elif (self.synpred84()) :
alt120 = 2
elif LA120 == IDENTIFIER:
LA120_25 = self.input.LA(3)
if (self.synpred83()) :
alt120 = 1
elif (self.synpred84()) :
alt120 = 2
elif LA120 == 62:
LA120_26 = self.input.LA(3)
if (self.synpred83()) :
alt120 = 1
elif (self.synpred84()) :
alt120 = 2
elif LA120 == 64:
alt120 = 2
if alt120 == 1:
# C.g:330:28: declarator
self.following.append(self.FOLLOW_declarator_in_synpred86997)
self.declarator()
self.following.pop()
if self.failed:
return
elif alt120 == 2:
# C.g:330:39: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
else:
break #loop120
# C.g:330:61: ( 'OPTIONAL' )?
alt121 = 2
LA121_0 = self.input.LA(1)
if (LA121_0 == 53) :
alt121 = 1
if alt121 == 1:
# C.g:330:62: 'OPTIONAL'
self.match(self.input, 53, self.FOLLOW_53_in_synpred861004)
if self.failed:
return
# $ANTLR end synpred86
# $ANTLR start synpred90
def synpred90_fragment(self, ):
# C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
# C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred901046)
self.specifier_qualifier_list()
self.following.pop()
if self.failed:
return
# C.g:341:29: ( abstract_declarator )?
alt122 = 2
LA122_0 = self.input.LA(1)
if (LA122_0 == 62 or LA122_0 == 64 or LA122_0 == 66) :
alt122 = 1
if alt122 == 1:
# C.g:0:0: abstract_declarator
self.following.append(self.FOLLOW_abstract_declarator_in_synpred901048)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred90
# $ANTLR start synpred91
def synpred91_fragment(self, ):
# C.g:346:12: ( direct_abstract_declarator )
# C.g:346:12: direct_abstract_declarator
self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred911067)
self.direct_abstract_declarator()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred91
# $ANTLR start synpred93
def synpred93_fragment(self, ):
# C.g:351:6: ( '(' abstract_declarator ')' )
# C.g:351:6: '(' abstract_declarator ')'
self.match(self.input, 62, self.FOLLOW_62_in_synpred931086)
if self.failed:
return
self.following.append(self.FOLLOW_abstract_declarator_in_synpred931088)
self.abstract_declarator()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_synpred931090)
if self.failed:
return
# $ANTLR end synpred93
# $ANTLR start synpred94
def synpred94_fragment(self, ):
# C.g:351:65: ( abstract_declarator_suffix )
# C.g:351:65: abstract_declarator_suffix
self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred941098)
self.abstract_declarator_suffix()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred94
# $ANTLR start synpred109
def synpred109_fragment(self, ):
# C.g:386:4: ( '(' type_name ')' cast_expression )
# C.g:386:4: '(' type_name ')' cast_expression
self.match(self.input, 62, self.FOLLOW_62_in_synpred1091282)
if self.failed:
return
self.following.append(self.FOLLOW_type_name_in_synpred1091284)
self.type_name()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286)
if self.failed:
return
self.following.append(self.FOLLOW_cast_expression_in_synpred1091288)
self.cast_expression()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred109
# $ANTLR start synpred114
def synpred114_fragment(self, ):
# C.g:395:4: ( 'sizeof' unary_expression )
# C.g:395:4: 'sizeof' unary_expression
self.match(self.input, 74, self.FOLLOW_74_in_synpred1141330)
if self.failed:
return
self.following.append(self.FOLLOW_unary_expression_in_synpred1141332)
self.unary_expression()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred114
# $ANTLR start synpred117
def synpred117_fragment(self, ):
# C.g:409:13: ( '(' argument_expression_list ')' )
# C.g:409:13: '(' argument_expression_list ')'
self.match(self.input, 62, self.FOLLOW_62_in_synpred1171420)
if self.failed:
return
self.following.append(self.FOLLOW_argument_expression_list_in_synpred1171424)
self.argument_expression_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428)
if self.failed:
return
# $ANTLR end synpred117
# $ANTLR start synpred118
def synpred118_fragment(self, ):
# C.g:410:13: ( '(' macro_parameter_list ')' )
# C.g:410:13: '(' macro_parameter_list ')'
self.match(self.input, 62, self.FOLLOW_62_in_synpred1181444)
if self.failed:
return
self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1181446)
self.macro_parameter_list()
self.following.pop()
if self.failed:
return
self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448)
if self.failed:
return
# $ANTLR end synpred118
# $ANTLR start synpred120
def synpred120_fragment(self, ):
# C.g:412:13: ( '*' IDENTIFIER )
# C.g:412:13: '*' IDENTIFIER
self.match(self.input, 66, self.FOLLOW_66_in_synpred1201482)
if self.failed:
return
self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1201486)
if self.failed:
return
# $ANTLR end synpred120
# $ANTLR start synpred137
def synpred137_fragment(self, ):
# C.g:443:20: ( STRING_LITERAL )
# C.g:443:20: STRING_LITERAL
self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371683)
if self.failed:
return
# $ANTLR end synpred137
# $ANTLR start synpred138
def synpred138_fragment(self, ):
# C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
# C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
# C.g:443: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_synpred1381680)
if self.failed:
return
else:
break #loop125
# C.g:443: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_synpred1381683)
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 synpred138
# $ANTLR start synpred142
def synpred142_fragment(self, ):
# C.g:458:4: ( lvalue assignment_operator assignment_expression )
# C.g:458:4: lvalue assignment_operator assignment_expression
self.following.append(self.FOLLOW_lvalue_in_synpred1421744)
self.lvalue()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_assignment_operator_in_synpred1421746)
self.assignment_operator()
self.following.pop()
if self.failed:
return
self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748)
self.assignment_expression()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred142
# $ANTLR start synpred169
def synpred169_fragment(self, ):
# C.g:520:4: ( expression_statement )
# C.g:520:4: expression_statement
self.following.append(self.FOLLOW_expression_statement_in_synpred1692035)
self.expression_statement()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred169
# $ANTLR start synpred173
def synpred173_fragment(self, ):
# C.g:524:4: ( macro_statement )
# C.g:524:4: macro_statement
self.following.append(self.FOLLOW_macro_statement_in_synpred1732055)
self.macro_statement()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred173
# $ANTLR start synpred174
def synpred174_fragment(self, ):
# C.g:525:4: ( asm2_statement )
# C.g:525:4: asm2_statement
self.following.append(self.FOLLOW_asm2_statement_in_synpred1742060)
self.asm2_statement()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred174
# $ANTLR start synpred181
def synpred181_fragment(self, ):
# C.g:544:19: ( declaration )
# C.g:544:19: declaration
self.following.append(self.FOLLOW_declaration_in_synpred1812166)
self.declaration()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred181
# $ANTLR start synpred182
def synpred182_fragment(self, ):
# C.g:544:33: ( statement_list )
# C.g:544:33: statement_list
self.following.append(self.FOLLOW_statement_list_in_synpred1822170)
self.statement_list()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred182
# $ANTLR start synpred186
def synpred186_fragment(self, ):
# C.g:554:8: ( declaration )
# C.g:554:8: declaration
self.following.append(self.FOLLOW_declaration_in_synpred1862225)
self.declaration()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred186
# $ANTLR start synpred188
def synpred188_fragment(self, ):
# C.g:558:4: ( statement )
# C.g:558:4: statement
self.following.append(self.FOLLOW_statement_in_synpred1882242)
self.statement()
self.following.pop()
if self.failed:
return
# $ANTLR end synpred188
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 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 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 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
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 synpred84(self):
self.backtracking += 1
start = self.input.mark()
self.synpred84_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred67(self):
self.backtracking += 1
start = self.input.mark()
self.synpred67_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred86(self):
self.backtracking += 1
start = self.input.mark()
self.synpred86_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred120(self):
self.backtracking += 1
start = self.input.mark()
self.synpred120_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 synpred142(self):
self.backtracking += 1
start = self.input.mark()
self.synpred142_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred182(self):
self.backtracking += 1
start = self.input.mark()
self.synpred182_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred109(self):
self.backtracking += 1
start = self.input.mark()
self.synpred109_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 synpred186(self):
self.backtracking += 1
start = self.input.mark()
self.synpred186_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred188(self):
self.backtracking += 1
start = self.input.mark()
self.synpred188_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred169(self):
self.backtracking += 1
start = self.input.mark()
self.synpred169_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 synpred70(self):
self.backtracking += 1
start = self.input.mark()
self.synpred70_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred118(self):
self.backtracking += 1
start = self.input.mark()
self.synpred118_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 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 synpred94(self):
self.backtracking += 1
start = self.input.mark()
self.synpred94_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 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 synpred114(self):
self.backtracking += 1
start = self.input.mark()
self.synpred114_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 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 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 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 synpred138(self):
self.backtracking += 1
start = self.input.mark()
self.synpred138_fragment()
success = not self.failed
self.input.rewind(start)
self.backtracking -= 1
self.failed = False
return success
def synpred91(self):
self.backtracking += 1
start = self.input.mark()
self.synpred91_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 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 synpred78(self):
self.backtracking += 1
start = self.input.mark()
self.synpred78_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 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 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 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 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 synpred174(self):
self.backtracking += 1
start = self.input.mark()
self.synpred174_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 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 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 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
FOLLOW_external_declaration_in_translation_unit74 = 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, 62, 66])
FOLLOW_function_definition_in_external_declaration113 = frozenset([1])
FOLLOW_declaration_in_external_declaration118 = frozenset([1])
FOLLOW_macro_statement_in_external_declaration123 = frozenset([1, 25])
FOLLOW_25_in_external_declaration126 = frozenset([1])
FOLLOW_declaration_specifiers_in_function_definition157 = frozenset([4, 58, 59, 60, 62, 66])
FOLLOW_declarator_in_function_definition160 = 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, 61])
FOLLOW_declaration_in_function_definition166 = 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, 61])
FOLLOW_compound_statement_in_function_definition171 = frozenset([1])
FOLLOW_compound_statement_in_function_definition180 = frozenset([1])
FOLLOW_26_in_declaration203 = 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, 62, 66])
FOLLOW_declaration_specifiers_in_declaration207 = frozenset([4, 58, 59, 60, 62, 66])
FOLLOW_init_declarator_list_in_declaration216 = frozenset([25])
FOLLOW_25_in_declaration220 = frozenset([1])
FOLLOW_declaration_specifiers_in_declaration234 = frozenset([4, 25, 58, 59, 60, 62, 66])
FOLLOW_init_declarator_list_in_declaration238 = frozenset([25])
FOLLOW_25_in_declaration243 = frozenset([1])
FOLLOW_storage_class_specifier_in_declaration_specifiers264 = 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, 61])
FOLLOW_type_specifier_in_declaration_specifiers272 = 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, 61])
FOLLOW_type_qualifier_in_declaration_specifiers286 = 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, 61])
FOLLOW_init_declarator_in_init_declarator_list308 = frozenset([1, 27])
FOLLOW_27_in_init_declarator_list311 = frozenset([4, 58, 59, 60, 62, 66])
FOLLOW_init_declarator_in_init_declarator_list313 = frozenset([1, 27])
FOLLOW_declarator_in_init_declarator326 = frozenset([1, 28])
FOLLOW_28_in_init_declarator329 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_initializer_in_init_declarator331 = frozenset([1])
FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
FOLLOW_34_in_type_specifier376 = frozenset([1])
FOLLOW_35_in_type_specifier381 = frozenset([1])
FOLLOW_36_in_type_specifier386 = frozenset([1])
FOLLOW_37_in_type_specifier391 = frozenset([1])
FOLLOW_38_in_type_specifier396 = frozenset([1])
FOLLOW_39_in_type_specifier401 = frozenset([1])
FOLLOW_40_in_type_specifier406 = frozenset([1])
FOLLOW_41_in_type_specifier411 = frozenset([1])
FOLLOW_42_in_type_specifier416 = frozenset([1])
FOLLOW_struct_or_union_specifier_in_type_specifier423 = frozenset([1])
FOLLOW_enum_specifier_in_type_specifier433 = frozenset([1])
FOLLOW_type_id_in_type_specifier451 = frozenset([1])
FOLLOW_IDENTIFIER_in_type_id467 = frozenset([1])
FOLLOW_struct_or_union_in_struct_or_union_specifier494 = frozenset([4, 43])
FOLLOW_IDENTIFIER_in_struct_or_union_specifier496 = frozenset([43])
FOLLOW_43_in_struct_or_union_specifier499 = 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, 61])
FOLLOW_struct_declaration_list_in_struct_or_union_specifier501 = frozenset([44])
FOLLOW_44_in_struct_or_union_specifier503 = frozenset([1])
FOLLOW_struct_or_union_in_struct_or_union_specifier508 = frozenset([4])
FOLLOW_IDENTIFIER_in_struct_or_union_specifier510 = frozenset([1])
FOLLOW_set_in_struct_or_union0 = frozenset([1])
FOLLOW_struct_declaration_in_struct_declaration_list537 = 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, 61])
FOLLOW_specifier_qualifier_list_in_struct_declaration549 = frozenset([4, 47, 58, 59, 60, 62, 66])
FOLLOW_struct_declarator_list_in_struct_declaration551 = frozenset([25])
FOLLOW_25_in_struct_declaration553 = frozenset([1])
FOLLOW_type_qualifier_in_specifier_qualifier_list566 = 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, 61])
FOLLOW_type_specifier_in_specifier_qualifier_list570 = 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, 61])
FOLLOW_struct_declarator_in_struct_declarator_list584 = frozenset([1, 27])
FOLLOW_27_in_struct_declarator_list587 = frozenset([4, 47, 58, 59, 60, 62, 66])
FOLLOW_struct_declarator_in_struct_declarator_list589 = frozenset([1, 27])
FOLLOW_declarator_in_struct_declarator602 = frozenset([1, 47])
FOLLOW_47_in_struct_declarator605 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_constant_expression_in_struct_declarator607 = frozenset([1])
FOLLOW_47_in_struct_declarator614 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_constant_expression_in_struct_declarator616 = frozenset([1])
FOLLOW_48_in_enum_specifier634 = frozenset([43])
FOLLOW_43_in_enum_specifier636 = frozenset([4])
FOLLOW_enumerator_list_in_enum_specifier638 = frozenset([27, 44])
FOLLOW_27_in_enum_specifier640 = frozenset([44])
FOLLOW_44_in_enum_specifier643 = frozenset([1])
FOLLOW_48_in_enum_specifier648 = frozenset([4])
FOLLOW_IDENTIFIER_in_enum_specifier650 = frozenset([43])
FOLLOW_43_in_enum_specifier652 = frozenset([4])
FOLLOW_enumerator_list_in_enum_specifier654 = frozenset([27, 44])
FOLLOW_27_in_enum_specifier656 = frozenset([44])
FOLLOW_44_in_enum_specifier659 = frozenset([1])
FOLLOW_48_in_enum_specifier664 = frozenset([4])
FOLLOW_IDENTIFIER_in_enum_specifier666 = frozenset([1])
FOLLOW_enumerator_in_enumerator_list677 = frozenset([1, 27])
FOLLOW_27_in_enumerator_list680 = frozenset([4])
FOLLOW_enumerator_in_enumerator_list682 = frozenset([1, 27])
FOLLOW_IDENTIFIER_in_enumerator695 = frozenset([1, 28])
FOLLOW_28_in_enumerator698 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_constant_expression_in_enumerator700 = frozenset([1])
FOLLOW_set_in_type_qualifier0 = frozenset([1])
FOLLOW_pointer_in_declarator784 = frozenset([4, 58, 59, 60, 62])
FOLLOW_58_in_declarator788 = frozenset([4, 59, 60, 62])
FOLLOW_59_in_declarator793 = frozenset([4, 60, 62])
FOLLOW_60_in_declarator798 = frozenset([4, 62])
FOLLOW_direct_declarator_in_declarator802 = frozenset([1])
FOLLOW_pointer_in_declarator808 = frozenset([1])
FOLLOW_IDENTIFIER_in_direct_declarator819 = frozenset([1, 62, 64])
FOLLOW_declarator_suffix_in_direct_declarator821 = frozenset([1, 62, 64])
FOLLOW_62_in_direct_declarator827 = frozenset([4, 58, 59, 60, 62, 66])
FOLLOW_58_in_direct_declarator830 = frozenset([4, 58, 59, 60, 62, 66])
FOLLOW_declarator_in_direct_declarator834 = frozenset([63])
FOLLOW_63_in_direct_declarator836 = frozenset([62, 64])
FOLLOW_declarator_suffix_in_direct_declarator838 = frozenset([1, 62, 64])
FOLLOW_64_in_declarator_suffix852 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_constant_expression_in_declarator_suffix854 = frozenset([65])
FOLLOW_65_in_declarator_suffix856 = frozenset([1])
FOLLOW_64_in_declarator_suffix866 = frozenset([65])
FOLLOW_65_in_declarator_suffix868 = frozenset([1])
FOLLOW_62_in_declarator_suffix878 = 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, 66])
FOLLOW_parameter_type_list_in_declarator_suffix880 = frozenset([63])
FOLLOW_63_in_declarator_suffix882 = frozenset([1])
FOLLOW_62_in_declarator_suffix892 = frozenset([4])
FOLLOW_identifier_list_in_declarator_suffix894 = frozenset([63])
FOLLOW_63_in_declarator_suffix896 = frozenset([1])
FOLLOW_62_in_declarator_suffix906 = frozenset([63])
FOLLOW_63_in_declarator_suffix908 = frozenset([1])
FOLLOW_66_in_pointer919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
FOLLOW_type_qualifier_in_pointer921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
FOLLOW_pointer_in_pointer924 = frozenset([1])
FOLLOW_66_in_pointer930 = frozenset([66])
FOLLOW_pointer_in_pointer932 = frozenset([1])
FOLLOW_66_in_pointer937 = frozenset([1])
FOLLOW_parameter_list_in_parameter_type_list948 = frozenset([1, 27])
FOLLOW_27_in_parameter_type_list951 = frozenset([53, 67])
FOLLOW_53_in_parameter_type_list954 = frozenset([67])
FOLLOW_67_in_parameter_type_list958 = frozenset([1])
FOLLOW_parameter_declaration_in_parameter_list971 = frozenset([1, 27])
FOLLOW_27_in_parameter_list974 = 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, 66])
FOLLOW_53_in_parameter_list977 = 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, 66])
FOLLOW_parameter_declaration_in_parameter_list981 = frozenset([1, 27])
FOLLOW_declaration_specifiers_in_parameter_declaration994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
FOLLOW_declarator_in_parameter_declaration997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
FOLLOW_abstract_declarator_in_parameter_declaration999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
FOLLOW_53_in_parameter_declaration1004 = frozenset([1])
FOLLOW_pointer_in_parameter_declaration1013 = frozenset([4, 66])
FOLLOW_IDENTIFIER_in_parameter_declaration1016 = frozenset([1])
FOLLOW_IDENTIFIER_in_identifier_list1027 = frozenset([1, 27])
FOLLOW_27_in_identifier_list1031 = frozenset([4])
FOLLOW_IDENTIFIER_in_identifier_list1033 = frozenset([1, 27])
FOLLOW_specifier_qualifier_list_in_type_name1046 = frozenset([1, 62, 64, 66])
FOLLOW_abstract_declarator_in_type_name1048 = frozenset([1])
FOLLOW_type_id_in_type_name1054 = frozenset([1])
FOLLOW_pointer_in_abstract_declarator1065 = frozenset([1, 62, 64])
FOLLOW_direct_abstract_declarator_in_abstract_declarator1067 = frozenset([1])
FOLLOW_direct_abstract_declarator_in_abstract_declarator1073 = frozenset([1])
FOLLOW_62_in_direct_abstract_declarator1086 = frozenset([62, 64, 66])
FOLLOW_abstract_declarator_in_direct_abstract_declarator1088 = frozenset([63])
FOLLOW_63_in_direct_abstract_declarator1090 = frozenset([1, 62, 64])
FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094 = frozenset([1, 62, 64])
FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098 = frozenset([1, 62, 64])
FOLLOW_64_in_abstract_declarator_suffix1110 = frozenset([65])
FOLLOW_65_in_abstract_declarator_suffix1112 = frozenset([1])
FOLLOW_64_in_abstract_declarator_suffix1117 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_constant_expression_in_abstract_declarator_suffix1119 = frozenset([65])
FOLLOW_65_in_abstract_declarator_suffix1121 = frozenset([1])
FOLLOW_62_in_abstract_declarator_suffix1126 = frozenset([63])
FOLLOW_63_in_abstract_declarator_suffix1128 = frozenset([1])
FOLLOW_62_in_abstract_declarator_suffix1133 = 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, 66])
FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135 = frozenset([63])
FOLLOW_63_in_abstract_declarator_suffix1137 = frozenset([1])
FOLLOW_assignment_expression_in_initializer1150 = frozenset([1])
FOLLOW_43_in_initializer1155 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_initializer_list_in_initializer1157 = frozenset([27, 44])
FOLLOW_27_in_initializer1159 = frozenset([44])
FOLLOW_44_in_initializer1162 = frozenset([1])
FOLLOW_initializer_in_initializer_list1173 = frozenset([1, 27])
FOLLOW_27_in_initializer_list1176 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_initializer_in_initializer_list1178 = frozenset([1, 27])
FOLLOW_assignment_expression_in_argument_expression_list1196 = frozenset([1, 27, 53])
FOLLOW_53_in_argument_expression_list1199 = frozenset([1, 27])
FOLLOW_27_in_argument_expression_list1204 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_assignment_expression_in_argument_expression_list1206 = frozenset([1, 27, 53])
FOLLOW_53_in_argument_expression_list1209 = frozenset([1, 27])
FOLLOW_multiplicative_expression_in_additive_expression1225 = frozenset([1, 68, 69])
FOLLOW_68_in_additive_expression1229 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_multiplicative_expression_in_additive_expression1231 = frozenset([1, 68, 69])
FOLLOW_69_in_additive_expression1235 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_multiplicative_expression_in_additive_expression1237 = frozenset([1, 68, 69])
FOLLOW_cast_expression_in_multiplicative_expression1251 = frozenset([1, 66, 70, 71])
FOLLOW_66_in_multiplicative_expression1255 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_cast_expression_in_multiplicative_expression1257 = frozenset([1, 66, 70, 71])
FOLLOW_70_in_multiplicative_expression1261 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_cast_expression_in_multiplicative_expression1263 = frozenset([1, 66, 70, 71])
FOLLOW_71_in_multiplicative_expression1267 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_cast_expression_in_multiplicative_expression1269 = frozenset([1, 66, 70, 71])
FOLLOW_62_in_cast_expression1282 = 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, 61])
FOLLOW_type_name_in_cast_expression1284 = frozenset([63])
FOLLOW_63_in_cast_expression1286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_cast_expression_in_cast_expression1288 = frozenset([1])
FOLLOW_unary_expression_in_cast_expression1293 = frozenset([1])
FOLLOW_postfix_expression_in_unary_expression1304 = frozenset([1])
FOLLOW_72_in_unary_expression1309 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_unary_expression_in_unary_expression1311 = frozenset([1])
FOLLOW_73_in_unary_expression1316 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_unary_expression_in_unary_expression1318 = frozenset([1])
FOLLOW_unary_operator_in_unary_expression1323 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_cast_expression_in_unary_expression1325 = frozenset([1])
FOLLOW_74_in_unary_expression1330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_unary_expression_in_unary_expression1332 = frozenset([1])
FOLLOW_74_in_unary_expression1337 = frozenset([62])
FOLLOW_62_in_unary_expression1339 = 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, 61])
FOLLOW_type_name_in_unary_expression1341 = frozenset([63])
FOLLOW_63_in_unary_expression1343 = frozenset([1])
FOLLOW_primary_expression_in_postfix_expression1367 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_64_in_postfix_expression1383 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_postfix_expression1385 = frozenset([65])
FOLLOW_65_in_postfix_expression1387 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_62_in_postfix_expression1401 = frozenset([63])
FOLLOW_63_in_postfix_expression1405 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_62_in_postfix_expression1420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_argument_expression_list_in_postfix_expression1424 = frozenset([63])
FOLLOW_63_in_postfix_expression1428 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_62_in_postfix_expression1444 = 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, 66])
FOLLOW_macro_parameter_list_in_postfix_expression1446 = frozenset([63])
FOLLOW_63_in_postfix_expression1448 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_75_in_postfix_expression1462 = frozenset([4])
FOLLOW_IDENTIFIER_in_postfix_expression1466 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_66_in_postfix_expression1482 = frozenset([4])
FOLLOW_IDENTIFIER_in_postfix_expression1486 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_76_in_postfix_expression1502 = frozenset([4])
FOLLOW_IDENTIFIER_in_postfix_expression1506 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_72_in_postfix_expression1522 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_73_in_postfix_expression1536 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
FOLLOW_parameter_declaration_in_macro_parameter_list1559 = frozenset([1, 27])
FOLLOW_27_in_macro_parameter_list1562 = 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, 66])
FOLLOW_parameter_declaration_in_macro_parameter_list1564 = frozenset([1, 27])
FOLLOW_set_in_unary_operator0 = frozenset([1])
FOLLOW_IDENTIFIER_in_primary_expression1613 = frozenset([1])
FOLLOW_constant_in_primary_expression1618 = frozenset([1])
FOLLOW_62_in_primary_expression1623 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_primary_expression1625 = frozenset([63])
FOLLOW_63_in_primary_expression1627 = frozenset([1])
FOLLOW_HEX_LITERAL_in_constant1643 = frozenset([1])
FOLLOW_OCTAL_LITERAL_in_constant1653 = frozenset([1])
FOLLOW_DECIMAL_LITERAL_in_constant1663 = frozenset([1])
FOLLOW_CHARACTER_LITERAL_in_constant1671 = frozenset([1])
FOLLOW_IDENTIFIER_in_constant1680 = frozenset([4, 9])
FOLLOW_STRING_LITERAL_in_constant1683 = frozenset([1, 4, 9])
FOLLOW_IDENTIFIER_in_constant1688 = frozenset([1, 4])
FOLLOW_FLOATING_POINT_LITERAL_in_constant1699 = frozenset([1])
FOLLOW_assignment_expression_in_expression1715 = frozenset([1, 27])
FOLLOW_27_in_expression1718 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_assignment_expression_in_expression1720 = frozenset([1, 27])
FOLLOW_conditional_expression_in_constant_expression1733 = frozenset([1])
FOLLOW_lvalue_in_assignment_expression1744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
FOLLOW_assignment_operator_in_assignment_expression1746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_assignment_expression_in_assignment_expression1748 = frozenset([1])
FOLLOW_conditional_expression_in_assignment_expression1753 = frozenset([1])
FOLLOW_unary_expression_in_lvalue1765 = frozenset([1])
FOLLOW_set_in_assignment_operator0 = frozenset([1])
FOLLOW_logical_or_expression_in_conditional_expression1839 = frozenset([1, 90])
FOLLOW_90_in_conditional_expression1842 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_conditional_expression1844 = frozenset([47])
FOLLOW_47_in_conditional_expression1846 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_conditional_expression_in_conditional_expression1848 = frozenset([1])
FOLLOW_logical_and_expression_in_logical_or_expression1863 = frozenset([1, 91])
FOLLOW_91_in_logical_or_expression1866 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_logical_and_expression_in_logical_or_expression1868 = frozenset([1, 91])
FOLLOW_inclusive_or_expression_in_logical_and_expression1881 = frozenset([1, 92])
FOLLOW_92_in_logical_and_expression1884 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_inclusive_or_expression_in_logical_and_expression1886 = frozenset([1, 92])
FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899 = frozenset([1, 93])
FOLLOW_93_in_inclusive_or_expression1902 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904 = frozenset([1, 93])
FOLLOW_and_expression_in_exclusive_or_expression1917 = frozenset([1, 94])
FOLLOW_94_in_exclusive_or_expression1920 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_and_expression_in_exclusive_or_expression1922 = frozenset([1, 94])
FOLLOW_equality_expression_in_and_expression1935 = frozenset([1, 77])
FOLLOW_77_in_and_expression1938 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_equality_expression_in_and_expression1940 = frozenset([1, 77])
FOLLOW_relational_expression_in_equality_expression1952 = frozenset([1, 95, 96])
FOLLOW_set_in_equality_expression1955 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_relational_expression_in_equality_expression1961 = frozenset([1, 95, 96])
FOLLOW_shift_expression_in_relational_expression1975 = frozenset([1, 97, 98, 99, 100])
FOLLOW_set_in_relational_expression1978 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_shift_expression_in_relational_expression1988 = frozenset([1, 97, 98, 99, 100])
FOLLOW_additive_expression_in_shift_expression2001 = frozenset([1, 101, 102])
FOLLOW_set_in_shift_expression2004 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_additive_expression_in_shift_expression2010 = frozenset([1, 101, 102])
FOLLOW_labeled_statement_in_statement2025 = frozenset([1])
FOLLOW_compound_statement_in_statement2030 = frozenset([1])
FOLLOW_expression_statement_in_statement2035 = frozenset([1])
FOLLOW_selection_statement_in_statement2040 = frozenset([1])
FOLLOW_iteration_statement_in_statement2045 = frozenset([1])
FOLLOW_jump_statement_in_statement2050 = frozenset([1])
FOLLOW_macro_statement_in_statement2055 = frozenset([1])
FOLLOW_asm2_statement_in_statement2060 = frozenset([1])
FOLLOW_asm1_statement_in_statement2065 = frozenset([1])
FOLLOW_asm_statement_in_statement2070 = frozenset([1])
FOLLOW_declaration_in_statement2075 = frozenset([1])
FOLLOW_103_in_asm2_statement2086 = frozenset([4])
FOLLOW_IDENTIFIER_in_asm2_statement2089 = frozenset([62])
FOLLOW_62_in_asm2_statement2091 = 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, 117])
FOLLOW_set_in_asm2_statement2094 = 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, 117])
FOLLOW_63_in_asm2_statement2101 = frozenset([25])
FOLLOW_25_in_asm2_statement2103 = frozenset([1])
FOLLOW_104_in_asm1_statement2115 = frozenset([43])
FOLLOW_43_in_asm1_statement2117 = 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, 117])
FOLLOW_set_in_asm1_statement2120 = 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, 117])
FOLLOW_44_in_asm1_statement2127 = frozenset([1])
FOLLOW_105_in_asm_statement2138 = frozenset([43])
FOLLOW_43_in_asm_statement2140 = 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, 117])
FOLLOW_set_in_asm_statement2143 = 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, 117])
FOLLOW_44_in_asm_statement2150 = frozenset([1])
FOLLOW_IDENTIFIER_in_macro_statement2162 = frozenset([62])
FOLLOW_62_in_macro_statement2164 = 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, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_declaration_in_macro_statement2166 = 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, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_list_in_macro_statement2170 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_macro_statement2173 = frozenset([63])
FOLLOW_63_in_macro_statement2176 = frozenset([1])
FOLLOW_IDENTIFIER_in_labeled_statement2188 = frozenset([47])
FOLLOW_47_in_labeled_statement2190 = 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, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_labeled_statement2192 = frozenset([1])
FOLLOW_106_in_labeled_statement2197 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_constant_expression_in_labeled_statement2199 = frozenset([47])
FOLLOW_47_in_labeled_statement2201 = 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, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_labeled_statement2203 = frozenset([1])
FOLLOW_107_in_labeled_statement2208 = frozenset([47])
FOLLOW_47_in_labeled_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, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_labeled_statement2212 = frozenset([1])
FOLLOW_43_in_compound_statement2223 = 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, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_declaration_in_compound_statement2225 = 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, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_list_in_compound_statement2228 = frozenset([44])
FOLLOW_44_in_compound_statement2231 = frozenset([1])
FOLLOW_statement_in_statement_list2242 = 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, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_25_in_expression_statement2254 = frozenset([1])
FOLLOW_expression_in_expression_statement2259 = frozenset([25])
FOLLOW_25_in_expression_statement2261 = frozenset([1])
FOLLOW_108_in_selection_statement2272 = frozenset([62])
FOLLOW_62_in_selection_statement2274 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_selection_statement2278 = frozenset([63])
FOLLOW_63_in_selection_statement2280 = 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, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_selection_statement2284 = frozenset([1, 109])
FOLLOW_109_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, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_selection_statement2301 = frozenset([1])
FOLLOW_110_in_selection_statement2308 = frozenset([62])
FOLLOW_62_in_selection_statement2310 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_selection_statement2312 = frozenset([63])
FOLLOW_63_in_selection_statement2314 = 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, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_selection_statement2316 = frozenset([1])
FOLLOW_111_in_iteration_statement2327 = frozenset([62])
FOLLOW_62_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_iteration_statement2333 = frozenset([63])
FOLLOW_63_in_iteration_statement2335 = 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, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_iteration_statement2337 = frozenset([1])
FOLLOW_112_in_iteration_statement2344 = 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, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_iteration_statement2346 = frozenset([111])
FOLLOW_111_in_iteration_statement2348 = frozenset([62])
FOLLOW_62_in_iteration_statement2350 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_iteration_statement2354 = frozenset([63])
FOLLOW_63_in_iteration_statement2356 = frozenset([25])
FOLLOW_25_in_iteration_statement2358 = frozenset([1])
FOLLOW_113_in_iteration_statement2365 = frozenset([62])
FOLLOW_62_in_iteration_statement2367 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_statement_in_iteration_statement2369 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_statement_in_iteration_statement2373 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_iteration_statement2375 = frozenset([63])
FOLLOW_63_in_iteration_statement2378 = 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, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
FOLLOW_statement_in_iteration_statement2380 = frozenset([1])
FOLLOW_114_in_jump_statement2393 = frozenset([4])
FOLLOW_IDENTIFIER_in_jump_statement2395 = frozenset([25])
FOLLOW_25_in_jump_statement2397 = frozenset([1])
FOLLOW_115_in_jump_statement2402 = frozenset([25])
FOLLOW_25_in_jump_statement2404 = frozenset([1])
FOLLOW_116_in_jump_statement2409 = frozenset([25])
FOLLOW_25_in_jump_statement2411 = frozenset([1])
FOLLOW_117_in_jump_statement2416 = frozenset([25])
FOLLOW_25_in_jump_statement2418 = frozenset([1])
FOLLOW_117_in_jump_statement2423 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_expression_in_jump_statement2425 = frozenset([25])
FOLLOW_25_in_jump_statement2427 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred2100 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred4100 = frozenset([4, 58, 59, 60, 62, 66])
FOLLOW_declarator_in_synpred4103 = 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, 61])
FOLLOW_declaration_in_synpred4105 = 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, 61])
FOLLOW_43_in_synpred4108 = frozenset([1])
FOLLOW_declaration_in_synpred5118 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred7157 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred10207 = frozenset([1])
FOLLOW_type_specifier_in_synpred14272 = frozenset([1])
FOLLOW_type_qualifier_in_synpred15286 = frozenset([1])
FOLLOW_type_qualifier_in_synpred33444 = frozenset([1])
FOLLOW_IDENTIFIER_in_synpred34442 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
FOLLOW_type_qualifier_in_synpred34444 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
FOLLOW_declarator_in_synpred34447 = frozenset([1])
FOLLOW_type_qualifier_in_synpred39566 = frozenset([1])
FOLLOW_type_specifier_in_synpred40570 = frozenset([1])
FOLLOW_pointer_in_synpred66784 = frozenset([4, 58, 59, 60, 62])
FOLLOW_58_in_synpred66788 = frozenset([4, 59, 60, 62])
FOLLOW_59_in_synpred66793 = frozenset([4, 60, 62])
FOLLOW_60_in_synpred66798 = frozenset([4, 62])
FOLLOW_direct_declarator_in_synpred66802 = frozenset([1])
FOLLOW_declarator_suffix_in_synpred67821 = frozenset([1])
FOLLOW_58_in_synpred69830 = frozenset([1])
FOLLOW_declarator_suffix_in_synpred70838 = frozenset([1])
FOLLOW_62_in_synpred73878 = 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, 66])
FOLLOW_parameter_type_list_in_synpred73880 = frozenset([63])
FOLLOW_63_in_synpred73882 = frozenset([1])
FOLLOW_62_in_synpred74892 = frozenset([4])
FOLLOW_identifier_list_in_synpred74894 = frozenset([63])
FOLLOW_63_in_synpred74896 = frozenset([1])
FOLLOW_type_qualifier_in_synpred75921 = frozenset([1])
FOLLOW_pointer_in_synpred76924 = frozenset([1])
FOLLOW_66_in_synpred77919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
FOLLOW_type_qualifier_in_synpred77921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
FOLLOW_pointer_in_synpred77924 = frozenset([1])
FOLLOW_66_in_synpred78930 = frozenset([66])
FOLLOW_pointer_in_synpred78932 = frozenset([1])
FOLLOW_53_in_synpred81977 = frozenset([1])
FOLLOW_27_in_synpred82974 = 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, 66])
FOLLOW_53_in_synpred82977 = 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, 66])
FOLLOW_parameter_declaration_in_synpred82981 = frozenset([1])
FOLLOW_declarator_in_synpred83997 = frozenset([1])
FOLLOW_abstract_declarator_in_synpred84999 = frozenset([1])
FOLLOW_declaration_specifiers_in_synpred86994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
FOLLOW_declarator_in_synpred86997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
FOLLOW_abstract_declarator_in_synpred86999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
FOLLOW_53_in_synpred861004 = frozenset([1])
FOLLOW_specifier_qualifier_list_in_synpred901046 = frozenset([1, 62, 64, 66])
FOLLOW_abstract_declarator_in_synpred901048 = frozenset([1])
FOLLOW_direct_abstract_declarator_in_synpred911067 = frozenset([1])
FOLLOW_62_in_synpred931086 = frozenset([62, 64, 66])
FOLLOW_abstract_declarator_in_synpred931088 = frozenset([63])
FOLLOW_63_in_synpred931090 = frozenset([1])
FOLLOW_abstract_declarator_suffix_in_synpred941098 = frozenset([1])
FOLLOW_62_in_synpred1091282 = 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, 61])
FOLLOW_type_name_in_synpred1091284 = frozenset([63])
FOLLOW_63_in_synpred1091286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_cast_expression_in_synpred1091288 = frozenset([1])
FOLLOW_74_in_synpred1141330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_unary_expression_in_synpred1141332 = frozenset([1])
FOLLOW_62_in_synpred1171420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_argument_expression_list_in_synpred1171424 = frozenset([63])
FOLLOW_63_in_synpred1171428 = frozenset([1])
FOLLOW_62_in_synpred1181444 = 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, 66])
FOLLOW_macro_parameter_list_in_synpred1181446 = frozenset([63])
FOLLOW_63_in_synpred1181448 = frozenset([1])
FOLLOW_66_in_synpred1201482 = frozenset([4])
FOLLOW_IDENTIFIER_in_synpred1201486 = frozenset([1])
FOLLOW_STRING_LITERAL_in_synpred1371683 = frozenset([1])
FOLLOW_IDENTIFIER_in_synpred1381680 = frozenset([4, 9])
FOLLOW_STRING_LITERAL_in_synpred1381683 = frozenset([1, 9])
FOLLOW_lvalue_in_synpred1421744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
FOLLOW_assignment_operator_in_synpred1421746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
FOLLOW_assignment_expression_in_synpred1421748 = frozenset([1])
FOLLOW_expression_statement_in_synpred1692035 = frozenset([1])
FOLLOW_macro_statement_in_synpred1732055 = frozenset([1])
FOLLOW_asm2_statement_in_synpred1742060 = frozenset([1])
FOLLOW_declaration_in_synpred1812166 = frozenset([1])
FOLLOW_statement_list_in_synpred1822170 = frozenset([1])
FOLLOW_declaration_in_synpred1862225 = frozenset([1])
FOLLOW_statement_in_synpred1882242 = frozenset([1])