1 # $ANTLR 3.0.1 C.g 2009-02-16 16:02:50
4 from antlr3
.compat
import set, frozenset
11 # for convenience in actions
12 HIDDEN
= BaseRecognizer
.HIDDEN
29 FLOATING_POINT_LITERAL
=10
40 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
41 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
42 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
43 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
44 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
45 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
46 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
47 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
48 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
49 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
50 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'('", "')'",
51 "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'", "'++'", "'--'",
52 "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='", "'/='", "'%='",
53 "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='", "'?'", "'||'",
54 "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='", "'>='",
55 "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'", "'default'",
56 "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'", "'goto'",
57 "'continue'", "'break'", "'return'"
61 class function_definition_scope(object):
63 self
.ModifierText
= None
68 self
.DeclOffset
= None
69 class postfix_expression_scope(object):
71 self
.FuncCallText
= None
74 class CParser(Parser
):
75 grammarFileName
= "C.g"
76 tokenNames
= tokenNames
78 def __init__(self
, input):
79 Parser
.__init
__(self
, input)
82 self
.function_definition_stack
= []
83 self
.postfix_expression_stack
= []
92 def printTokenInfo(self
, line
, offset
, tokenText
):
93 print str(line
)+ ',' + str(offset
) + ':' + str(tokenText
)
95 def StorePredicateExpression(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
96 PredExp
= CodeFragment
.PredicateExpression(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
97 FileProfile
.PredicateExpressionList
.append(PredExp
)
99 def StoreEnumerationDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
100 EnumDef
= CodeFragment
.EnumerationDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
101 FileProfile
.EnumerationDefinitionList
.append(EnumDef
)
103 def StoreStructUnionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
104 SUDef
= CodeFragment
.StructUnionDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
105 FileProfile
.StructUnionDefinitionList
.append(SUDef
)
107 def StoreTypedefDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FromText
, ToText
):
108 Tdef
= CodeFragment
.TypedefDefinition(FromText
, ToText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
109 FileProfile
.TypedefDefinitionList
.append(Tdef
)
111 def StoreFunctionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
, LeftBraceLine
, LeftBraceOffset
, DeclLine
, DeclOffset
):
112 FuncDef
= CodeFragment
.FunctionDefinition(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
), (LeftBraceLine
, LeftBraceOffset
), (DeclLine
, DeclOffset
))
113 FileProfile
.FunctionDefinitionList
.append(FuncDef
)
115 def StoreVariableDeclaration(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
):
116 VarDecl
= CodeFragment
.VariableDeclaration(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
117 FileProfile
.VariableDeclarationList
.append(VarDecl
)
119 def StoreFunctionCalling(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FuncName
, ParamList
):
120 FuncCall
= CodeFragment
.FunctionCalling(FuncName
, ParamList
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
121 FileProfile
.FunctionCallingList
.append(FuncCall
)
126 # $ANTLR start translation_unit
127 # C.g:50:1: translation_unit : ( external_declaration )* ;
128 def translation_unit(self
, ):
130 translation_unit_StartIndex
= self
.input.index()
133 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 1):
136 # C.g:51:2: ( ( external_declaration )* )
137 # C.g:51:4: ( external_declaration )*
138 # C.g:51:4: ( external_declaration )*
141 LA1_0
= self
.input.LA(1)
143 if (LA1_0
== IDENTIFIER
or LA1_0
== 26 or (29 <= LA1_0
<= 42) or (45 <= LA1_0
<= 46) or (48 <= LA1_0
<= 61) or LA1_0
== 65) :
148 # C.g:0:0: external_declaration
149 self
.following
.append(self
.FOLLOW_external_declaration_in_translation_unit64
)
150 self
.external_declaration()
164 except RecognitionException
, re
:
166 self
.recover(self
.input, re
)
168 if self
.backtracking
> 0:
169 self
.memoize(self
.input, 1, translation_unit_StartIndex
)
175 # $ANTLR end translation_unit
178 # $ANTLR start external_declaration
179 # C.g:62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
180 def external_declaration(self
, ):
182 external_declaration_StartIndex
= self
.input.index()
185 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 2):
188 # C.g:67:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
190 LA3_0
= self
.input.LA(1)
192 if ((29 <= LA3_0
<= 33)) :
193 LA3_1
= self
.input.LA(2)
195 if (self
.synpred4()) :
197 elif (self
.synpred5()) :
200 if self
.backtracking
> 0:
204 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self
.input)
209 LA3_2
= self
.input.LA(2)
211 if (self
.synpred4()) :
213 elif (self
.synpred5()) :
216 if self
.backtracking
> 0:
220 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self
.input)
225 LA3_3
= self
.input.LA(2)
227 if (self
.synpred4()) :
229 elif (self
.synpred5()) :
232 if self
.backtracking
> 0:
236 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self
.input)
241 LA3_4
= self
.input.LA(2)
243 if (self
.synpred4()) :
245 elif (self
.synpred5()) :
248 if self
.backtracking
> 0:
252 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self
.input)
257 LA3_5
= self
.input.LA(2)
259 if (self
.synpred4()) :
261 elif (self
.synpred5()) :
264 if self
.backtracking
> 0:
268 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self
.input)
273 LA3_6
= self
.input.LA(2)
275 if (self
.synpred4()) :
277 elif (self
.synpred5()) :
280 if self
.backtracking
> 0:
284 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self
.input)
289 LA3_7
= self
.input.LA(2)
291 if (self
.synpred4()) :
293 elif (self
.synpred5()) :
296 if self
.backtracking
> 0:
300 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self
.input)
305 LA3_8
= self
.input.LA(2)
307 if (self
.synpred4()) :
309 elif (self
.synpred5()) :
312 if self
.backtracking
> 0:
316 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self
.input)
321 LA3_9
= self
.input.LA(2)
323 if (self
.synpred4()) :
325 elif (self
.synpred5()) :
328 if self
.backtracking
> 0:
332 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self
.input)
337 LA3_10
= self
.input.LA(2)
339 if (self
.synpred4()) :
341 elif (self
.synpred5()) :
344 if self
.backtracking
> 0:
348 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self
.input)
352 elif ((45 <= LA3_0
<= 46)) :
353 LA3_11
= self
.input.LA(2)
355 if (self
.synpred4()) :
357 elif (self
.synpred5()) :
360 if self
.backtracking
> 0:
364 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self
.input)
369 LA3_12
= self
.input.LA(2)
371 if (self
.synpred4()) :
373 elif (self
.synpred5()) :
376 if self
.backtracking
> 0:
380 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self
.input)
384 elif (LA3_0
== IDENTIFIER
) :
385 LA3_13
= self
.input.LA(2)
387 if (self
.synpred4()) :
389 elif (self
.synpred5()) :
394 if self
.backtracking
> 0:
398 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self
.input)
403 LA3_14
= self
.input.LA(2)
405 if (self
.synpred4()) :
407 elif (self
.synpred5()) :
410 if self
.backtracking
> 0:
414 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self
.input)
418 elif (LA3_0
== 65) and (self
.synpred4()):
421 LA3_16
= self
.input.LA(2)
423 if (self
.synpred4()) :
425 elif (self
.synpred5()) :
428 if self
.backtracking
> 0:
432 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self
.input)
437 LA3_17
= self
.input.LA(2)
439 if (self
.synpred4()) :
441 elif (self
.synpred5()) :
444 if self
.backtracking
> 0:
448 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self
.input)
452 elif ((49 <= LA3_0
<= 57)) :
453 LA3_18
= self
.input.LA(2)
455 if (self
.synpred4()) :
457 elif (self
.synpred5()) :
460 if self
.backtracking
> 0:
464 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self
.input)
468 elif (LA3_0
== 61) and (self
.synpred4()):
473 if self
.backtracking
> 0:
477 nvae
= NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self
.input)
482 # C.g:67:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
483 self
.following
.append(self
.FOLLOW_function_definition_in_external_declaration103
)
484 self
.function_definition()
491 # C.g:68:4: declaration
492 self
.following
.append(self
.FOLLOW_declaration_in_external_declaration108
)
500 # C.g:69:4: macro_statement ( ';' )?
501 self
.following
.append(self
.FOLLOW_macro_statement_in_external_declaration113
)
502 self
.macro_statement()
506 # C.g:69:20: ( ';' )?
508 LA2_0
= self
.input.LA(1)
514 self
.match(self
.input, 25, self
.FOLLOW_25_in_external_declaration116
)
523 except RecognitionException
, re
:
525 self
.recover(self
.input, re
)
527 if self
.backtracking
> 0:
528 self
.memoize(self
.input, 2, external_declaration_StartIndex
)
534 # $ANTLR end external_declaration
536 class function_definition_return(object):
543 # $ANTLR start function_definition
544 # C.g:74:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
545 def function_definition(self
, ):
546 self
.function_definition_stack
.append(function_definition_scope())
547 retval
= self
.function_definition_return()
548 retval
.start
= self
.input.LT(1)
549 function_definition_StartIndex
= self
.input.index()
560 self
.function_definition_stack
[-1].ModifierText
= ''
561 self
.function_definition_stack
[-1].DeclText
= ''
562 self
.function_definition_stack
[-1].LBLine
= 0
563 self
.function_definition_stack
[-1].LBOffset
= 0
564 self
.function_definition_stack
[-1].DeclLine
= 0
565 self
.function_definition_stack
[-1].DeclOffset
= 0
569 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 3):
572 # C.g:94:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
573 # C.g:94:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
574 # C.g:94:5: (d= declaration_specifiers )?
576 LA4
= self
.input.LA(1)
577 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:
579 elif LA4
== IDENTIFIER
:
580 LA4
= self
.input.LA(2)
584 LA4_21
= self
.input.LA(3)
586 if (self
.synpred7()) :
589 LA4_22
= self
.input.LA(3)
591 if (self
.synpred7()) :
594 LA4_23
= self
.input.LA(3)
596 if (self
.synpred7()) :
598 elif LA4
== IDENTIFIER
:
599 LA4_24
= self
.input.LA(3)
601 if (self
.synpred7()) :
604 LA4_25
= self
.input.LA(3)
606 if (self
.synpred7()) :
608 elif LA4
== 29 or LA4
== 30 or LA4
== 31 or LA4
== 32 or LA4
== 33:
609 LA4_26
= self
.input.LA(3)
611 if (self
.synpred7()) :
614 LA4_27
= self
.input.LA(3)
616 if (self
.synpred7()) :
619 LA4_28
= self
.input.LA(3)
621 if (self
.synpred7()) :
624 LA4_29
= self
.input.LA(3)
626 if (self
.synpred7()) :
629 LA4_30
= self
.input.LA(3)
631 if (self
.synpred7()) :
634 LA4_31
= self
.input.LA(3)
636 if (self
.synpred7()) :
639 LA4_32
= self
.input.LA(3)
641 if (self
.synpred7()) :
644 LA4_33
= self
.input.LA(3)
646 if (self
.synpred7()) :
649 LA4_34
= self
.input.LA(3)
651 if (self
.synpred7()) :
654 LA4_35
= self
.input.LA(3)
656 if (self
.synpred7()) :
658 elif LA4
== 45 or LA4
== 46:
659 LA4_36
= self
.input.LA(3)
661 if (self
.synpred7()) :
664 LA4_37
= self
.input.LA(3)
666 if (self
.synpred7()) :
668 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:
669 LA4_38
= self
.input.LA(3)
671 if (self
.synpred7()) :
674 LA4_14
= self
.input.LA(2)
676 if (self
.synpred7()) :
679 LA4_16
= self
.input.LA(2)
681 if (self
.synpred7()) :
684 LA4_17
= self
.input.LA(2)
686 if (self
.synpred7()) :
689 # C.g:0:0: d= declaration_specifiers
690 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_function_definition147
)
691 d
= self
.declaration_specifiers()
698 self
.following
.append(self
.FOLLOW_declarator_in_function_definition150
)
699 declarator1
= self
.declarator()
703 # C.g:95:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
705 LA6_0
= self
.input.LA(1)
707 if (LA6_0
== IDENTIFIER
or LA6_0
== 26 or (29 <= LA6_0
<= 42) or (45 <= LA6_0
<= 46) or (48 <= LA6_0
<= 60)) :
712 if self
.backtracking
> 0:
716 nvae
= NoViableAltException("95:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self
.input)
721 # C.g:95:5: ( declaration )+ a= compound_statement
722 # C.g:95:5: ( declaration )+
726 LA5_0
= self
.input.LA(1)
728 if (LA5_0
== IDENTIFIER
or LA5_0
== 26 or (29 <= LA5_0
<= 42) or (45 <= LA5_0
<= 46) or (48 <= LA5_0
<= 60)) :
733 # C.g:0:0: declaration
734 self
.following
.append(self
.FOLLOW_declaration_in_function_definition156
)
745 if self
.backtracking
> 0:
749 eee
= EarlyExitException(5, self
.input)
755 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition161
)
756 a
= self
.compound_statement()
763 # C.g:96:5: b= compound_statement
764 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition170
)
765 b
= self
.compound_statement()
772 if self
.backtracking
== 0:
775 self
.function_definition_stack
[-1].ModifierText
= self
.input.toString(d
.start
,d
.stop
)
777 self
.function_definition_stack
[-1].ModifierText
= ''
778 self
.function_definition_stack
[-1].DeclText
= self
.input.toString(declarator1
.start
,declarator1
.stop
)
779 self
.function_definition_stack
[-1].DeclLine
= declarator1
.start
.line
780 self
.function_definition_stack
[-1].DeclOffset
= declarator1
.start
.charPositionInLine
782 self
.function_definition_stack
[-1].LBLine
= a
.start
.line
783 self
.function_definition_stack
[-1].LBOffset
= a
.start
.charPositionInLine
785 self
.function_definition_stack
[-1].LBLine
= b
.start
.line
786 self
.function_definition_stack
[-1].LBOffset
= b
.start
.charPositionInLine
792 retval
.stop
= self
.input.LT(-1)
794 if self
.backtracking
== 0:
796 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
)
800 except RecognitionException
, re
:
802 self
.recover(self
.input, re
)
804 if self
.backtracking
> 0:
805 self
.memoize(self
.input, 3, function_definition_StartIndex
)
807 self
.function_definition_stack
.pop()
812 # $ANTLR end function_definition
815 # $ANTLR start declaration
816 # C.g:114:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
817 def declaration(self
, ):
819 declaration_StartIndex
= self
.input.index()
834 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 4):
837 # C.g:115:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
839 LA9_0
= self
.input.LA(1)
843 elif (LA9_0
== IDENTIFIER
or (29 <= LA9_0
<= 42) or (45 <= LA9_0
<= 46) or (48 <= LA9_0
<= 60)) :
846 if self
.backtracking
> 0:
850 nvae
= NoViableAltException("114:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self
.input)
855 # C.g:115:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
857 self
.match(self
.input, 26, self
.FOLLOW_26_in_declaration193
)
860 # C.g:115:17: (b= declaration_specifiers )?
862 LA7
= self
.input.LA(1)
863 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:
865 elif LA7
== IDENTIFIER
:
866 LA7_13
= self
.input.LA(2)
868 if (LA7_13
== IDENTIFIER
or (29 <= LA7_13
<= 42) or (45 <= LA7_13
<= 46) or (48 <= LA7_13
<= 60) or LA7_13
== 65) :
870 elif (LA7_13
== 61) :
871 LA7_25
= self
.input.LA(3)
873 if (self
.synpred10()) :
876 LA7_14
= self
.input.LA(2)
878 if (self
.synpred10()) :
881 LA7_16
= self
.input.LA(2)
883 if (self
.synpred10()) :
886 LA7_17
= self
.input.LA(2)
888 if (self
.synpred10()) :
891 # C.g:0:0: b= declaration_specifiers
892 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration197
)
893 b
= self
.declaration_specifiers()
900 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration206
)
901 c
= self
.init_declarator_list()
906 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration210
)
909 if self
.backtracking
== 0:
912 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, self
.input.toString(b
.start
,b
.stop
), self
.input.toString(c
.start
,c
.stop
))
914 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, '', self
.input.toString(c
.start
,c
.stop
))
920 # C.g:123:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
921 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration224
)
922 s
= self
.declaration_specifiers()
926 # C.g:123:30: (t= init_declarator_list )?
928 LA8_0
= self
.input.LA(1)
930 if (LA8_0
== IDENTIFIER
or (58 <= LA8_0
<= 61) or LA8_0
== 65) :
933 # C.g:0:0: t= init_declarator_list
934 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration228
)
935 t
= self
.init_declarator_list()
943 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration233
)
946 if self
.backtracking
== 0:
949 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
))
955 except RecognitionException
, re
:
957 self
.recover(self
.input, re
)
959 if self
.backtracking
> 0:
960 self
.memoize(self
.input, 4, declaration_StartIndex
)
966 # $ANTLR end declaration
968 class declaration_specifiers_return(object):
975 # $ANTLR start declaration_specifiers
976 # C.g:130:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
977 def declaration_specifiers(self
, ):
979 retval
= self
.declaration_specifiers_return()
980 retval
.start
= self
.input.LT(1)
981 declaration_specifiers_StartIndex
= self
.input.index()
984 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 5):
987 # C.g:131:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
988 # C.g:131:6: ( storage_class_specifier | type_specifier | type_qualifier )+
989 # C.g:131:6: ( storage_class_specifier | type_specifier | type_qualifier )+
993 LA10
= self
.input.LA(1)
995 LA10_2
= self
.input.LA(2)
997 if (self
.synpred15()) :
1002 LA10_3
= self
.input.LA(2)
1004 if (self
.synpred15()) :
1009 LA10_4
= self
.input.LA(2)
1011 if (self
.synpred15()) :
1015 elif LA10
== IDENTIFIER
:
1016 LA10_5
= self
.input.LA(2)
1018 if (self
.synpred14()) :
1023 LA10_9
= self
.input.LA(2)
1025 if (self
.synpred15()) :
1029 elif LA10
== 29 or LA10
== 30 or LA10
== 31 or LA10
== 32 or LA10
== 33:
1031 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:
1033 elif LA10
== 49 or LA10
== 50 or LA10
== 51 or LA10
== 52 or LA10
== 54 or LA10
== 55 or LA10
== 56 or LA10
== 57:
1037 # C.g:131:10: storage_class_specifier
1038 self
.following
.append(self
.FOLLOW_storage_class_specifier_in_declaration_specifiers254
)
1039 self
.storage_class_specifier()
1040 self
.following
.pop()
1046 # C.g:132:7: type_specifier
1047 self
.following
.append(self
.FOLLOW_type_specifier_in_declaration_specifiers262
)
1048 self
.type_specifier()
1049 self
.following
.pop()
1055 # C.g:133:13: type_qualifier
1056 self
.following
.append(self
.FOLLOW_type_qualifier_in_declaration_specifiers276
)
1057 self
.type_qualifier()
1058 self
.following
.pop()
1067 if self
.backtracking
> 0:
1071 eee
= EarlyExitException(10, self
.input)
1080 retval
.stop
= self
.input.LT(-1)
1083 except RecognitionException
, re
:
1084 self
.reportError(re
)
1085 self
.recover(self
.input, re
)
1087 if self
.backtracking
> 0:
1088 self
.memoize(self
.input, 5, declaration_specifiers_StartIndex
)
1094 # $ANTLR end declaration_specifiers
1096 class init_declarator_list_return(object):
1103 # $ANTLR start init_declarator_list
1104 # C.g:137:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1105 def init_declarator_list(self
, ):
1107 retval
= self
.init_declarator_list_return()
1108 retval
.start
= self
.input.LT(1)
1109 init_declarator_list_StartIndex
= self
.input.index()
1112 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 6):
1115 # C.g:138:2: ( init_declarator ( ',' init_declarator )* )
1116 # C.g:138:4: init_declarator ( ',' init_declarator )*
1117 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list298
)
1118 self
.init_declarator()
1119 self
.following
.pop()
1122 # C.g:138:20: ( ',' init_declarator )*
1125 LA11_0
= self
.input.LA(1)
1132 # C.g:138:21: ',' init_declarator
1133 self
.match(self
.input, 27, self
.FOLLOW_27_in_init_declarator_list301
)
1136 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list303
)
1137 self
.init_declarator()
1138 self
.following
.pop()
1150 retval
.stop
= self
.input.LT(-1)
1153 except RecognitionException
, re
:
1154 self
.reportError(re
)
1155 self
.recover(self
.input, re
)
1157 if self
.backtracking
> 0:
1158 self
.memoize(self
.input, 6, init_declarator_list_StartIndex
)
1164 # $ANTLR end init_declarator_list
1167 # $ANTLR start init_declarator
1168 # C.g:141:1: init_declarator : declarator ( '=' initializer )? ;
1169 def init_declarator(self
, ):
1171 init_declarator_StartIndex
= self
.input.index()
1174 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 7):
1177 # C.g:142:2: ( declarator ( '=' initializer )? )
1178 # C.g:142:4: declarator ( '=' initializer )?
1179 self
.following
.append(self
.FOLLOW_declarator_in_init_declarator316
)
1181 self
.following
.pop()
1184 # C.g:142:15: ( '=' initializer )?
1186 LA12_0
= self
.input.LA(1)
1191 # C.g:142:16: '=' initializer
1192 self
.match(self
.input, 28, self
.FOLLOW_28_in_init_declarator319
)
1195 self
.following
.append(self
.FOLLOW_initializer_in_init_declarator321
)
1197 self
.following
.pop()
1207 except RecognitionException
, re
:
1208 self
.reportError(re
)
1209 self
.recover(self
.input, re
)
1211 if self
.backtracking
> 0:
1212 self
.memoize(self
.input, 7, init_declarator_StartIndex
)
1218 # $ANTLR end init_declarator
1221 # $ANTLR start storage_class_specifier
1222 # C.g:145:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1223 def storage_class_specifier(self
, ):
1225 storage_class_specifier_StartIndex
= self
.input.index()
1228 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 8):
1231 # C.g:146:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1233 if (29 <= self
.input.LA(1) <= 33):
1234 self
.input.consume();
1235 self
.errorRecovery
= False
1239 if self
.backtracking
> 0:
1243 mse
= MismatchedSetException(None, self
.input)
1244 self
.recoverFromMismatchedSet(
1245 self
.input, mse
, self
.FOLLOW_set_in_storage_class_specifier0
1254 except RecognitionException
, re
:
1255 self
.reportError(re
)
1256 self
.recover(self
.input, re
)
1258 if self
.backtracking
> 0:
1259 self
.memoize(self
.input, 8, storage_class_specifier_StartIndex
)
1265 # $ANTLR end storage_class_specifier
1268 # $ANTLR start type_specifier
1269 # C.g:153:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );
1270 def type_specifier(self
, ):
1272 type_specifier_StartIndex
= self
.input.index()
1280 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 9):
1283 # C.g:154:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
1285 LA13_0
= self
.input.LA(1)
1289 elif (LA13_0
== 35) :
1291 elif (LA13_0
== 36) :
1293 elif (LA13_0
== 37) :
1295 elif (LA13_0
== 38) :
1297 elif (LA13_0
== 39) :
1299 elif (LA13_0
== 40) :
1301 elif (LA13_0
== 41) :
1303 elif (LA13_0
== 42) :
1305 elif ((45 <= LA13_0
<= 46)) :
1307 elif (LA13_0
== 48) :
1309 elif (LA13_0
== IDENTIFIER
) and (self
.synpred34()):
1312 if self
.backtracking
> 0:
1316 nvae
= NoViableAltException("153:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self
.input)
1322 self
.match(self
.input, 34, self
.FOLLOW_34_in_type_specifier366
)
1329 self
.match(self
.input, 35, self
.FOLLOW_35_in_type_specifier371
)
1335 # C.g:156:4: 'short'
1336 self
.match(self
.input, 36, self
.FOLLOW_36_in_type_specifier376
)
1343 self
.match(self
.input, 37, self
.FOLLOW_37_in_type_specifier381
)
1350 self
.match(self
.input, 38, self
.FOLLOW_38_in_type_specifier386
)
1356 # C.g:159:4: 'float'
1357 self
.match(self
.input, 39, self
.FOLLOW_39_in_type_specifier391
)
1363 # C.g:160:4: 'double'
1364 self
.match(self
.input, 40, self
.FOLLOW_40_in_type_specifier396
)
1370 # C.g:161:4: 'signed'
1371 self
.match(self
.input, 41, self
.FOLLOW_41_in_type_specifier401
)
1377 # C.g:162:4: 'unsigned'
1378 self
.match(self
.input, 42, self
.FOLLOW_42_in_type_specifier406
)
1384 # C.g:163:4: s= struct_or_union_specifier
1385 self
.following
.append(self
.FOLLOW_struct_or_union_specifier_in_type_specifier413
)
1386 s
= self
.struct_or_union_specifier()
1387 self
.following
.pop()
1390 if self
.backtracking
== 0:
1393 self
.StoreStructUnionDefinition(s
.start
.line
, s
.start
.charPositionInLine
, s
.stop
.line
, s
.stop
.charPositionInLine
, self
.input.toString(s
.start
,s
.stop
))
1399 # C.g:168:4: e= enum_specifier
1400 self
.following
.append(self
.FOLLOW_enum_specifier_in_type_specifier423
)
1401 e
= self
.enum_specifier()
1402 self
.following
.pop()
1405 if self
.backtracking
== 0:
1408 self
.StoreEnumerationDefinition(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
1414 # C.g:173:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1415 self
.following
.append(self
.FOLLOW_type_id_in_type_specifier441
)
1417 self
.following
.pop()
1423 except RecognitionException
, re
:
1424 self
.reportError(re
)
1425 self
.recover(self
.input, re
)
1427 if self
.backtracking
> 0:
1428 self
.memoize(self
.input, 9, type_specifier_StartIndex
)
1434 # $ANTLR end type_specifier
1437 # $ANTLR start type_id
1438 # C.g:176:1: type_id : IDENTIFIER ;
1439 def type_id(self
, ):
1441 type_id_StartIndex
= self
.input.index()
1444 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 10):
1447 # C.g:177:5: ( IDENTIFIER )
1448 # C.g:177:9: IDENTIFIER
1449 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_type_id457
)
1456 except RecognitionException
, re
:
1457 self
.reportError(re
)
1458 self
.recover(self
.input, re
)
1460 if self
.backtracking
> 0:
1461 self
.memoize(self
.input, 10, type_id_StartIndex
)
1467 # $ANTLR end type_id
1469 class struct_or_union_specifier_return(object):
1476 # $ANTLR start struct_or_union_specifier
1477 # C.g:181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1478 def struct_or_union_specifier(self
, ):
1480 retval
= self
.struct_or_union_specifier_return()
1481 retval
.start
= self
.input.LT(1)
1482 struct_or_union_specifier_StartIndex
= self
.input.index()
1485 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 11):
1488 # C.g:183:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1490 LA15_0
= self
.input.LA(1)
1492 if ((45 <= LA15_0
<= 46)) :
1493 LA15_1
= self
.input.LA(2)
1495 if (LA15_1
== IDENTIFIER
) :
1496 LA15_2
= self
.input.LA(3)
1500 elif (LA15_2
== EOF
or LA15_2
== IDENTIFIER
or LA15_2
== 25 or LA15_2
== 27 or (29 <= LA15_2
<= 42) or (45 <= LA15_2
<= 63) or LA15_2
== 65) :
1503 if self
.backtracking
> 0:
1507 nvae
= NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self
.input)
1511 elif (LA15_1
== 43) :
1514 if self
.backtracking
> 0:
1518 nvae
= NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self
.input)
1523 if self
.backtracking
> 0:
1527 nvae
= NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self
.input)
1532 # C.g:183:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1533 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier484
)
1534 self
.struct_or_union()
1535 self
.following
.pop()
1538 # C.g:183:20: ( IDENTIFIER )?
1540 LA14_0
= self
.input.LA(1)
1542 if (LA14_0
== IDENTIFIER
) :
1545 # C.g:0:0: IDENTIFIER
1546 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier486
)
1552 self
.match(self
.input, 43, self
.FOLLOW_43_in_struct_or_union_specifier489
)
1555 self
.following
.append(self
.FOLLOW_struct_declaration_list_in_struct_or_union_specifier491
)
1556 self
.struct_declaration_list()
1557 self
.following
.pop()
1560 self
.match(self
.input, 44, self
.FOLLOW_44_in_struct_or_union_specifier493
)
1566 # C.g:184:4: struct_or_union IDENTIFIER
1567 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier498
)
1568 self
.struct_or_union()
1569 self
.following
.pop()
1572 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier500
)
1577 retval
.stop
= self
.input.LT(-1)
1580 except RecognitionException
, re
:
1581 self
.reportError(re
)
1582 self
.recover(self
.input, re
)
1584 if self
.backtracking
> 0:
1585 self
.memoize(self
.input, 11, struct_or_union_specifier_StartIndex
)
1591 # $ANTLR end struct_or_union_specifier
1594 # $ANTLR start struct_or_union
1595 # C.g:187:1: struct_or_union : ( 'struct' | 'union' );
1596 def struct_or_union(self
, ):
1598 struct_or_union_StartIndex
= self
.input.index()
1601 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 12):
1604 # C.g:188:2: ( 'struct' | 'union' )
1606 if (45 <= self
.input.LA(1) <= 46):
1607 self
.input.consume();
1608 self
.errorRecovery
= False
1612 if self
.backtracking
> 0:
1616 mse
= MismatchedSetException(None, self
.input)
1617 self
.recoverFromMismatchedSet(
1618 self
.input, mse
, self
.FOLLOW_set_in_struct_or_union0
1627 except RecognitionException
, re
:
1628 self
.reportError(re
)
1629 self
.recover(self
.input, re
)
1631 if self
.backtracking
> 0:
1632 self
.memoize(self
.input, 12, struct_or_union_StartIndex
)
1638 # $ANTLR end struct_or_union
1641 # $ANTLR start struct_declaration_list
1642 # C.g:192:1: struct_declaration_list : ( struct_declaration )+ ;
1643 def struct_declaration_list(self
, ):
1645 struct_declaration_list_StartIndex
= self
.input.index()
1648 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 13):
1651 # C.g:193:2: ( ( struct_declaration )+ )
1652 # C.g:193:4: ( struct_declaration )+
1653 # C.g:193:4: ( struct_declaration )+
1657 LA16_0
= self
.input.LA(1)
1659 if (LA16_0
== IDENTIFIER
or (34 <= LA16_0
<= 42) or (45 <= LA16_0
<= 46) or (48 <= LA16_0
<= 60)) :
1664 # C.g:0:0: struct_declaration
1665 self
.following
.append(self
.FOLLOW_struct_declaration_in_struct_declaration_list527
)
1666 self
.struct_declaration()
1667 self
.following
.pop()
1676 if self
.backtracking
> 0:
1680 eee
= EarlyExitException(16, self
.input)
1690 except RecognitionException
, re
:
1691 self
.reportError(re
)
1692 self
.recover(self
.input, re
)
1694 if self
.backtracking
> 0:
1695 self
.memoize(self
.input, 13, struct_declaration_list_StartIndex
)
1701 # $ANTLR end struct_declaration_list
1704 # $ANTLR start struct_declaration
1705 # C.g:196:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1706 def struct_declaration(self
, ):
1708 struct_declaration_StartIndex
= self
.input.index()
1711 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 14):
1714 # C.g:197:2: ( specifier_qualifier_list struct_declarator_list ';' )
1715 # C.g:197:4: specifier_qualifier_list struct_declarator_list ';'
1716 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_struct_declaration539
)
1717 self
.specifier_qualifier_list()
1718 self
.following
.pop()
1721 self
.following
.append(self
.FOLLOW_struct_declarator_list_in_struct_declaration541
)
1722 self
.struct_declarator_list()
1723 self
.following
.pop()
1726 self
.match(self
.input, 25, self
.FOLLOW_25_in_struct_declaration543
)
1733 except RecognitionException
, re
:
1734 self
.reportError(re
)
1735 self
.recover(self
.input, re
)
1737 if self
.backtracking
> 0:
1738 self
.memoize(self
.input, 14, struct_declaration_StartIndex
)
1744 # $ANTLR end struct_declaration
1747 # $ANTLR start specifier_qualifier_list
1748 # C.g:200:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1749 def specifier_qualifier_list(self
, ):
1751 specifier_qualifier_list_StartIndex
= self
.input.index()
1754 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 15):
1757 # C.g:201:2: ( ( type_qualifier | type_specifier )+ )
1758 # C.g:201:4: ( type_qualifier | type_specifier )+
1759 # C.g:201:4: ( type_qualifier | type_specifier )+
1763 LA17
= self
.input.LA(1)
1765 LA17_2
= self
.input.LA(2)
1767 if (self
.synpred39()) :
1772 LA17_3
= self
.input.LA(2)
1774 if (self
.synpred39()) :
1779 LA17_4
= self
.input.LA(2)
1781 if (self
.synpred39()) :
1785 elif LA17
== IDENTIFIER
:
1786 LA17
= self
.input.LA(2)
1787 if LA17
== EOF
or LA17
== IDENTIFIER
or LA17
== 34 or LA17
== 35 or LA17
== 36 or LA17
== 37 or LA17
== 38 or LA17
== 39 or LA17
== 40 or LA17
== 41 or LA17
== 42 or LA17
== 45 or LA17
== 46 or LA17
== 48 or LA17
== 49 or LA17
== 50 or LA17
== 51 or LA17
== 52 or LA17
== 53 or LA17
== 54 or LA17
== 55 or LA17
== 56 or LA17
== 57 or LA17
== 58 or LA17
== 59 or LA17
== 60 or LA17
== 62 or LA17
== 65:
1790 LA17_94
= self
.input.LA(3)
1792 if (self
.synpred40()) :
1797 LA17_95
= self
.input.LA(3)
1799 if (self
.synpred40()) :
1804 LA17_96
= self
.input.LA(3)
1806 if (self
.synpred40()) :
1811 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:
1813 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:
1817 # C.g:201:6: type_qualifier
1818 self
.following
.append(self
.FOLLOW_type_qualifier_in_specifier_qualifier_list556
)
1819 self
.type_qualifier()
1820 self
.following
.pop()
1826 # C.g:201:23: type_specifier
1827 self
.following
.append(self
.FOLLOW_type_specifier_in_specifier_qualifier_list560
)
1828 self
.type_specifier()
1829 self
.following
.pop()
1838 if self
.backtracking
> 0:
1842 eee
= EarlyExitException(17, self
.input)
1852 except RecognitionException
, re
:
1853 self
.reportError(re
)
1854 self
.recover(self
.input, re
)
1856 if self
.backtracking
> 0:
1857 self
.memoize(self
.input, 15, specifier_qualifier_list_StartIndex
)
1863 # $ANTLR end specifier_qualifier_list
1866 # $ANTLR start struct_declarator_list
1867 # C.g:204:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1868 def struct_declarator_list(self
, ):
1870 struct_declarator_list_StartIndex
= self
.input.index()
1873 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 16):
1876 # C.g:205:2: ( struct_declarator ( ',' struct_declarator )* )
1877 # C.g:205:4: struct_declarator ( ',' struct_declarator )*
1878 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list574
)
1879 self
.struct_declarator()
1880 self
.following
.pop()
1883 # C.g:205:22: ( ',' struct_declarator )*
1886 LA18_0
= self
.input.LA(1)
1893 # C.g:205:23: ',' struct_declarator
1894 self
.match(self
.input, 27, self
.FOLLOW_27_in_struct_declarator_list577
)
1897 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list579
)
1898 self
.struct_declarator()
1899 self
.following
.pop()
1912 except RecognitionException
, re
:
1913 self
.reportError(re
)
1914 self
.recover(self
.input, re
)
1916 if self
.backtracking
> 0:
1917 self
.memoize(self
.input, 16, struct_declarator_list_StartIndex
)
1923 # $ANTLR end struct_declarator_list
1926 # $ANTLR start struct_declarator
1927 # C.g:208:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1928 def struct_declarator(self
, ):
1930 struct_declarator_StartIndex
= self
.input.index()
1933 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 17):
1936 # C.g:209:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1938 LA20_0
= self
.input.LA(1)
1940 if (LA20_0
== IDENTIFIER
or (58 <= LA20_0
<= 61) or LA20_0
== 65) :
1942 elif (LA20_0
== 47) :
1945 if self
.backtracking
> 0:
1949 nvae
= NoViableAltException("208:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self
.input)
1954 # C.g:209:4: declarator ( ':' constant_expression )?
1955 self
.following
.append(self
.FOLLOW_declarator_in_struct_declarator592
)
1957 self
.following
.pop()
1960 # C.g:209:15: ( ':' constant_expression )?
1962 LA19_0
= self
.input.LA(1)
1967 # C.g:209:16: ':' constant_expression
1968 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator595
)
1971 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator597
)
1972 self
.constant_expression()
1973 self
.following
.pop()
1982 # C.g:210:4: ':' constant_expression
1983 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator604
)
1986 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator606
)
1987 self
.constant_expression()
1988 self
.following
.pop()
1994 except RecognitionException
, re
:
1995 self
.reportError(re
)
1996 self
.recover(self
.input, re
)
1998 if self
.backtracking
> 0:
1999 self
.memoize(self
.input, 17, struct_declarator_StartIndex
)
2005 # $ANTLR end struct_declarator
2007 class enum_specifier_return(object):
2014 # $ANTLR start enum_specifier
2015 # C.g:213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2016 def enum_specifier(self
, ):
2018 retval
= self
.enum_specifier_return()
2019 retval
.start
= self
.input.LT(1)
2020 enum_specifier_StartIndex
= self
.input.index()
2023 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 18):
2026 # C.g:215:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2028 LA23_0
= self
.input.LA(1)
2031 LA23_1
= self
.input.LA(2)
2033 if (LA23_1
== IDENTIFIER
) :
2034 LA23_2
= self
.input.LA(3)
2038 elif (LA23_2
== EOF
or LA23_2
== IDENTIFIER
or LA23_2
== 25 or LA23_2
== 27 or (29 <= LA23_2
<= 42) or (45 <= LA23_2
<= 63) or LA23_2
== 65) :
2041 if self
.backtracking
> 0:
2045 nvae
= NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self
.input)
2049 elif (LA23_1
== 43) :
2052 if self
.backtracking
> 0:
2056 nvae
= NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self
.input)
2061 if self
.backtracking
> 0:
2065 nvae
= NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self
.input)
2070 # C.g:215:4: 'enum' '{' enumerator_list ( ',' )? '}'
2071 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier624
)
2074 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier626
)
2077 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier628
)
2078 self
.enumerator_list()
2079 self
.following
.pop()
2082 # C.g:215:31: ( ',' )?
2084 LA21_0
= self
.input.LA(1)
2090 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier630
)
2096 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier633
)
2102 # C.g:216:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2103 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier638
)
2106 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier640
)
2109 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier642
)
2112 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier644
)
2113 self
.enumerator_list()
2114 self
.following
.pop()
2117 # C.g:216:42: ( ',' )?
2119 LA22_0
= self
.input.LA(1)
2125 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier646
)
2131 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier649
)
2137 # C.g:217:4: 'enum' IDENTIFIER
2138 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier654
)
2141 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier656
)
2146 retval
.stop
= self
.input.LT(-1)
2149 except RecognitionException
, re
:
2150 self
.reportError(re
)
2151 self
.recover(self
.input, re
)
2153 if self
.backtracking
> 0:
2154 self
.memoize(self
.input, 18, enum_specifier_StartIndex
)
2160 # $ANTLR end enum_specifier
2163 # $ANTLR start enumerator_list
2164 # C.g:220:1: enumerator_list : enumerator ( ',' enumerator )* ;
2165 def enumerator_list(self
, ):
2167 enumerator_list_StartIndex
= self
.input.index()
2170 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 19):
2173 # C.g:221:2: ( enumerator ( ',' enumerator )* )
2174 # C.g:221:4: enumerator ( ',' enumerator )*
2175 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list667
)
2177 self
.following
.pop()
2180 # C.g:221:15: ( ',' enumerator )*
2183 LA24_0
= self
.input.LA(1)
2186 LA24_1
= self
.input.LA(2)
2188 if (LA24_1
== IDENTIFIER
) :
2195 # C.g:221:16: ',' enumerator
2196 self
.match(self
.input, 27, self
.FOLLOW_27_in_enumerator_list670
)
2199 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list672
)
2201 self
.following
.pop()
2214 except RecognitionException
, re
:
2215 self
.reportError(re
)
2216 self
.recover(self
.input, re
)
2218 if self
.backtracking
> 0:
2219 self
.memoize(self
.input, 19, enumerator_list_StartIndex
)
2225 # $ANTLR end enumerator_list
2228 # $ANTLR start enumerator
2229 # C.g:224:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2230 def enumerator(self
, ):
2232 enumerator_StartIndex
= self
.input.index()
2235 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 20):
2238 # C.g:225:2: ( IDENTIFIER ( '=' constant_expression )? )
2239 # C.g:225:4: IDENTIFIER ( '=' constant_expression )?
2240 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enumerator685
)
2243 # C.g:225:15: ( '=' constant_expression )?
2245 LA25_0
= self
.input.LA(1)
2250 # C.g:225:16: '=' constant_expression
2251 self
.match(self
.input, 28, self
.FOLLOW_28_in_enumerator688
)
2254 self
.following
.append(self
.FOLLOW_constant_expression_in_enumerator690
)
2255 self
.constant_expression()
2256 self
.following
.pop()
2266 except RecognitionException
, re
:
2267 self
.reportError(re
)
2268 self
.recover(self
.input, re
)
2270 if self
.backtracking
> 0:
2271 self
.memoize(self
.input, 20, enumerator_StartIndex
)
2277 # $ANTLR end enumerator
2280 # $ANTLR start type_qualifier
2281 # C.g:228:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' );
2282 def type_qualifier(self
, ):
2284 type_qualifier_StartIndex
= self
.input.index()
2287 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 21):
2290 # C.g:229:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' )
2292 if (49 <= self
.input.LA(1) <= 60):
2293 self
.input.consume();
2294 self
.errorRecovery
= False
2298 if self
.backtracking
> 0:
2302 mse
= MismatchedSetException(None, self
.input)
2303 self
.recoverFromMismatchedSet(
2304 self
.input, mse
, self
.FOLLOW_set_in_type_qualifier0
2313 except RecognitionException
, re
:
2314 self
.reportError(re
)
2315 self
.recover(self
.input, re
)
2317 if self
.backtracking
> 0:
2318 self
.memoize(self
.input, 21, type_qualifier_StartIndex
)
2324 # $ANTLR end type_qualifier
2326 class declarator_return(object):
2333 # $ANTLR start declarator
2334 # C.g:243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2335 def declarator(self
, ):
2337 retval
= self
.declarator_return()
2338 retval
.start
= self
.input.LT(1)
2339 declarator_StartIndex
= self
.input.index()
2342 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 22):
2345 # C.g:244:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2347 LA30_0
= self
.input.LA(1)
2350 LA30_1
= self
.input.LA(2)
2352 if (self
.synpred65()) :
2357 if self
.backtracking
> 0:
2361 nvae
= NoViableAltException("243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self
.input)
2365 elif (LA30_0
== IDENTIFIER
or (58 <= LA30_0
<= 61)) :
2368 if self
.backtracking
> 0:
2372 nvae
= NoViableAltException("243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self
.input)
2377 # C.g:244:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2378 # C.g:244:4: ( pointer )?
2380 LA26_0
= self
.input.LA(1)
2386 self
.following
.append(self
.FOLLOW_pointer_in_declarator769
)
2388 self
.following
.pop()
2394 # C.g:244:13: ( 'EFIAPI' )?
2396 LA27_0
= self
.input.LA(1)
2401 # C.g:244:14: 'EFIAPI'
2402 self
.match(self
.input, 58, self
.FOLLOW_58_in_declarator773
)
2408 # C.g:244:25: ( 'EFI_BOOTSERVICE' )?
2410 LA28_0
= self
.input.LA(1)
2415 # C.g:244:26: 'EFI_BOOTSERVICE'
2416 self
.match(self
.input, 59, self
.FOLLOW_59_in_declarator778
)
2422 # C.g:244:46: ( 'EFI_RUNTIMESERVICE' )?
2424 LA29_0
= self
.input.LA(1)
2429 # C.g:244:47: 'EFI_RUNTIMESERVICE'
2430 self
.match(self
.input, 60, self
.FOLLOW_60_in_declarator783
)
2436 self
.following
.append(self
.FOLLOW_direct_declarator_in_declarator787
)
2437 self
.direct_declarator()
2438 self
.following
.pop()
2444 # C.g:246:4: pointer
2445 self
.following
.append(self
.FOLLOW_pointer_in_declarator793
)
2447 self
.following
.pop()
2452 retval
.stop
= self
.input.LT(-1)
2455 except RecognitionException
, re
:
2456 self
.reportError(re
)
2457 self
.recover(self
.input, re
)
2459 if self
.backtracking
> 0:
2460 self
.memoize(self
.input, 22, declarator_StartIndex
)
2466 # $ANTLR end declarator
2469 # $ANTLR start direct_declarator
2470 # C.g:249:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2471 def direct_declarator(self
, ):
2473 direct_declarator_StartIndex
= self
.input.index()
2476 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 23):
2479 # C.g:250:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2481 LA34_0
= self
.input.LA(1)
2483 if (LA34_0
== IDENTIFIER
) :
2485 elif (LA34_0
== 61) :
2488 if self
.backtracking
> 0:
2492 nvae
= NoViableAltException("249:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self
.input)
2497 # C.g:250:4: IDENTIFIER ( declarator_suffix )*
2498 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_direct_declarator804
)
2501 # C.g:250:15: ( declarator_suffix )*
2504 LA31_0
= self
.input.LA(1)
2507 LA31
= self
.input.LA(2)
2509 LA31_30
= self
.input.LA(3)
2511 if (self
.synpred66()) :
2516 LA31_31
= self
.input.LA(3)
2518 if (self
.synpred66()) :
2523 LA31_32
= self
.input.LA(3)
2525 if (self
.synpred66()) :
2530 LA31_33
= self
.input.LA(3)
2532 if (self
.synpred66()) :
2537 LA31_34
= self
.input.LA(3)
2539 if (self
.synpred66()) :
2543 elif LA31
== IDENTIFIER
:
2544 LA31_35
= self
.input.LA(3)
2546 if (self
.synpred66()) :
2550 elif LA31
== 29 or LA31
== 30 or LA31
== 31 or LA31
== 32 or LA31
== 33:
2551 LA31_37
= self
.input.LA(3)
2553 if (self
.synpred66()) :
2558 LA31_38
= self
.input.LA(3)
2560 if (self
.synpred66()) :
2565 LA31_39
= self
.input.LA(3)
2567 if (self
.synpred66()) :
2572 LA31_40
= self
.input.LA(3)
2574 if (self
.synpred66()) :
2579 LA31_41
= self
.input.LA(3)
2581 if (self
.synpred66()) :
2586 LA31_42
= self
.input.LA(3)
2588 if (self
.synpred66()) :
2593 LA31_43
= self
.input.LA(3)
2595 if (self
.synpred66()) :
2600 LA31_44
= self
.input.LA(3)
2602 if (self
.synpred66()) :
2607 LA31_45
= self
.input.LA(3)
2609 if (self
.synpred66()) :
2614 LA31_46
= self
.input.LA(3)
2616 if (self
.synpred66()) :
2620 elif LA31
== 45 or LA31
== 46:
2621 LA31_47
= self
.input.LA(3)
2623 if (self
.synpred66()) :
2628 LA31_48
= self
.input.LA(3)
2630 if (self
.synpred66()) :
2634 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:
2635 LA31_49
= self
.input.LA(3)
2637 if (self
.synpred66()) :
2642 elif (LA31_0
== 63) :
2643 LA31
= self
.input.LA(2)
2645 LA31_51
= self
.input.LA(3)
2647 if (self
.synpred66()) :
2652 LA31_52
= self
.input.LA(3)
2654 if (self
.synpred66()) :
2658 elif LA31
== IDENTIFIER
:
2659 LA31_53
= self
.input.LA(3)
2661 if (self
.synpred66()) :
2665 elif LA31
== HEX_LITERAL
:
2666 LA31_54
= self
.input.LA(3)
2668 if (self
.synpred66()) :
2672 elif LA31
== OCTAL_LITERAL
:
2673 LA31_55
= self
.input.LA(3)
2675 if (self
.synpred66()) :
2679 elif LA31
== DECIMAL_LITERAL
:
2680 LA31_56
= self
.input.LA(3)
2682 if (self
.synpred66()) :
2686 elif LA31
== CHARACTER_LITERAL
:
2687 LA31_57
= self
.input.LA(3)
2689 if (self
.synpred66()) :
2693 elif LA31
== STRING_LITERAL
:
2694 LA31_58
= self
.input.LA(3)
2696 if (self
.synpred66()) :
2700 elif LA31
== FLOATING_POINT_LITERAL
:
2701 LA31_59
= self
.input.LA(3)
2703 if (self
.synpred66()) :
2708 LA31_60
= self
.input.LA(3)
2710 if (self
.synpred66()) :
2715 LA31_61
= self
.input.LA(3)
2717 if (self
.synpred66()) :
2721 elif LA31
== 65 or LA31
== 67 or LA31
== 68 or LA31
== 76 or LA31
== 77 or LA31
== 78:
2722 LA31_62
= self
.input.LA(3)
2724 if (self
.synpred66()) :
2729 LA31_63
= self
.input.LA(3)
2731 if (self
.synpred66()) :
2739 # C.g:0:0: declarator_suffix
2740 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator806
)
2741 self
.declarator_suffix()
2742 self
.following
.pop()
2754 # C.g:251:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2755 self
.match(self
.input, 61, self
.FOLLOW_61_in_direct_declarator812
)
2758 # C.g:251:8: ( 'EFIAPI' )?
2760 LA32_0
= self
.input.LA(1)
2763 LA32_1
= self
.input.LA(2)
2765 if (self
.synpred68()) :
2768 # C.g:251:9: 'EFIAPI'
2769 self
.match(self
.input, 58, self
.FOLLOW_58_in_direct_declarator815
)
2775 self
.following
.append(self
.FOLLOW_declarator_in_direct_declarator819
)
2777 self
.following
.pop()
2780 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_declarator821
)
2783 # C.g:251:35: ( declarator_suffix )+
2787 LA33_0
= self
.input.LA(1)
2790 LA33
= self
.input.LA(2)
2792 LA33_30
= self
.input.LA(3)
2794 if (self
.synpred69()) :
2799 LA33_31
= self
.input.LA(3)
2801 if (self
.synpred69()) :
2806 LA33_32
= self
.input.LA(3)
2808 if (self
.synpred69()) :
2813 LA33_33
= self
.input.LA(3)
2815 if (self
.synpred69()) :
2820 LA33_34
= self
.input.LA(3)
2822 if (self
.synpred69()) :
2826 elif LA33
== IDENTIFIER
:
2827 LA33_35
= self
.input.LA(3)
2829 if (self
.synpred69()) :
2833 elif LA33
== 29 or LA33
== 30 or LA33
== 31 or LA33
== 32 or LA33
== 33:
2834 LA33_37
= self
.input.LA(3)
2836 if (self
.synpred69()) :
2841 LA33_38
= self
.input.LA(3)
2843 if (self
.synpred69()) :
2848 LA33_39
= self
.input.LA(3)
2850 if (self
.synpred69()) :
2855 LA33_40
= self
.input.LA(3)
2857 if (self
.synpred69()) :
2862 LA33_41
= self
.input.LA(3)
2864 if (self
.synpred69()) :
2869 LA33_42
= self
.input.LA(3)
2871 if (self
.synpred69()) :
2876 LA33_43
= self
.input.LA(3)
2878 if (self
.synpred69()) :
2883 LA33_44
= self
.input.LA(3)
2885 if (self
.synpred69()) :
2890 LA33_45
= self
.input.LA(3)
2892 if (self
.synpred69()) :
2897 LA33_46
= self
.input.LA(3)
2899 if (self
.synpred69()) :
2903 elif LA33
== 45 or LA33
== 46:
2904 LA33_47
= self
.input.LA(3)
2906 if (self
.synpred69()) :
2911 LA33_48
= self
.input.LA(3)
2913 if (self
.synpred69()) :
2917 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:
2918 LA33_49
= self
.input.LA(3)
2920 if (self
.synpred69()) :
2925 elif (LA33_0
== 63) :
2926 LA33
= self
.input.LA(2)
2928 LA33_51
= self
.input.LA(3)
2930 if (self
.synpred69()) :
2935 LA33_52
= self
.input.LA(3)
2937 if (self
.synpred69()) :
2941 elif LA33
== IDENTIFIER
:
2942 LA33_53
= self
.input.LA(3)
2944 if (self
.synpred69()) :
2948 elif LA33
== HEX_LITERAL
:
2949 LA33_54
= self
.input.LA(3)
2951 if (self
.synpred69()) :
2955 elif LA33
== OCTAL_LITERAL
:
2956 LA33_55
= self
.input.LA(3)
2958 if (self
.synpred69()) :
2962 elif LA33
== DECIMAL_LITERAL
:
2963 LA33_56
= self
.input.LA(3)
2965 if (self
.synpred69()) :
2969 elif LA33
== CHARACTER_LITERAL
:
2970 LA33_57
= self
.input.LA(3)
2972 if (self
.synpred69()) :
2976 elif LA33
== STRING_LITERAL
:
2977 LA33_58
= self
.input.LA(3)
2979 if (self
.synpred69()) :
2983 elif LA33
== FLOATING_POINT_LITERAL
:
2984 LA33_59
= self
.input.LA(3)
2986 if (self
.synpred69()) :
2991 LA33_60
= self
.input.LA(3)
2993 if (self
.synpred69()) :
2998 LA33_61
= self
.input.LA(3)
3000 if (self
.synpred69()) :
3004 elif LA33
== 65 or LA33
== 67 or LA33
== 68 or LA33
== 76 or LA33
== 77 or LA33
== 78:
3005 LA33_62
= self
.input.LA(3)
3007 if (self
.synpred69()) :
3012 LA33_63
= self
.input.LA(3)
3014 if (self
.synpred69()) :
3022 # C.g:0:0: declarator_suffix
3023 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator823
)
3024 self
.declarator_suffix()
3025 self
.following
.pop()
3034 if self
.backtracking
> 0:
3038 eee
= EarlyExitException(33, self
.input)
3047 except RecognitionException
, re
:
3048 self
.reportError(re
)
3049 self
.recover(self
.input, re
)
3051 if self
.backtracking
> 0:
3052 self
.memoize(self
.input, 23, direct_declarator_StartIndex
)
3058 # $ANTLR end direct_declarator
3061 # $ANTLR start declarator_suffix
3062 # C.g:254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3063 def declarator_suffix(self
, ):
3065 declarator_suffix_StartIndex
= self
.input.index()
3068 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 24):
3071 # C.g:255:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3073 LA35_0
= self
.input.LA(1)
3076 LA35_1
= self
.input.LA(2)
3080 elif ((IDENTIFIER
<= LA35_1
<= FLOATING_POINT_LITERAL
) or LA35_1
== 61 or LA35_1
== 65 or (67 <= LA35_1
<= 68) or (71 <= LA35_1
<= 73) or (76 <= LA35_1
<= 78)) :
3083 if self
.backtracking
> 0:
3087 nvae
= NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self
.input)
3091 elif (LA35_0
== 61) :
3092 LA35
= self
.input.LA(2)
3095 elif LA35
== IDENTIFIER
:
3096 LA35_17
= self
.input.LA(3)
3098 if (self
.synpred72()) :
3100 elif (self
.synpred73()) :
3103 if self
.backtracking
> 0:
3107 nvae
= NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 17, self
.input)
3111 elif LA35
== 29 or LA35
== 30 or LA35
== 31 or LA35
== 32 or LA35
== 33 or LA35
== 34 or LA35
== 35 or LA35
== 36 or LA35
== 37 or LA35
== 38 or LA35
== 39 or LA35
== 40 or LA35
== 41 or LA35
== 42 or LA35
== 45 or LA35
== 46 or LA35
== 48 or LA35
== 49 or LA35
== 50 or LA35
== 51 or LA35
== 52 or LA35
== 53 or LA35
== 54 or LA35
== 55 or LA35
== 56 or LA35
== 57 or LA35
== 58 or LA35
== 59 or LA35
== 60 or LA35
== 65:
3114 if self
.backtracking
> 0:
3118 nvae
= NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self
.input)
3123 if self
.backtracking
> 0:
3127 nvae
= NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self
.input)
3132 # C.g:255:6: '[' constant_expression ']'
3133 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix837
)
3136 self
.following
.append(self
.FOLLOW_constant_expression_in_declarator_suffix839
)
3137 self
.constant_expression()
3138 self
.following
.pop()
3141 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix841
)
3147 # C.g:256:9: '[' ']'
3148 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix851
)
3151 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix853
)
3157 # C.g:257:9: '(' parameter_type_list ')'
3158 self
.match(self
.input, 61, self
.FOLLOW_61_in_declarator_suffix863
)
3161 self
.following
.append(self
.FOLLOW_parameter_type_list_in_declarator_suffix865
)
3162 self
.parameter_type_list()
3163 self
.following
.pop()
3166 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix867
)
3172 # C.g:258:9: '(' identifier_list ')'
3173 self
.match(self
.input, 61, self
.FOLLOW_61_in_declarator_suffix877
)
3176 self
.following
.append(self
.FOLLOW_identifier_list_in_declarator_suffix879
)
3177 self
.identifier_list()
3178 self
.following
.pop()
3181 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix881
)
3187 # C.g:259:9: '(' ')'
3188 self
.match(self
.input, 61, self
.FOLLOW_61_in_declarator_suffix891
)
3191 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix893
)
3197 except RecognitionException
, re
:
3198 self
.reportError(re
)
3199 self
.recover(self
.input, re
)
3201 if self
.backtracking
> 0:
3202 self
.memoize(self
.input, 24, declarator_suffix_StartIndex
)
3208 # $ANTLR end declarator_suffix
3211 # $ANTLR start pointer
3212 # C.g:262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3213 def pointer(self
, ):
3215 pointer_StartIndex
= self
.input.index()
3218 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 25):
3221 # C.g:263:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3223 LA38_0
= self
.input.LA(1)
3226 LA38
= self
.input.LA(2)
3228 LA38_2
= self
.input.LA(3)
3230 if (self
.synpred76()) :
3235 if self
.backtracking
> 0:
3239 nvae
= NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self
.input)
3244 LA38_3
= self
.input.LA(3)
3246 if (self
.synpred76()) :
3251 if self
.backtracking
> 0:
3255 nvae
= NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self
.input)
3260 LA38_4
= self
.input.LA(3)
3262 if (self
.synpred76()) :
3267 if self
.backtracking
> 0:
3271 nvae
= NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self
.input)
3275 elif LA38
== EOF
or LA38
== IDENTIFIER
or LA38
== 25 or LA38
== 26 or LA38
== 27 or LA38
== 28 or LA38
== 29 or LA38
== 30 or LA38
== 31 or LA38
== 32 or LA38
== 33 or LA38
== 34 or LA38
== 35 or LA38
== 36 or LA38
== 37 or LA38
== 38 or LA38
== 39 or LA38
== 40 or LA38
== 41 or LA38
== 42 or LA38
== 43 or LA38
== 45 or LA38
== 46 or LA38
== 47 or LA38
== 48 or LA38
== 61 or LA38
== 62 or LA38
== 63:
3278 LA38_20
= self
.input.LA(3)
3280 if (self
.synpred76()) :
3285 if self
.backtracking
> 0:
3289 nvae
= NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 20, self
.input)
3293 elif LA38
== 49 or LA38
== 50 or LA38
== 51 or LA38
== 52 or LA38
== 54 or LA38
== 55 or LA38
== 56 or LA38
== 57:
3294 LA38_28
= self
.input.LA(3)
3296 if (self
.synpred76()) :
3301 if self
.backtracking
> 0:
3305 nvae
= NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 28, self
.input)
3310 LA38_29
= self
.input.LA(3)
3312 if (self
.synpred77()) :
3317 if self
.backtracking
> 0:
3321 nvae
= NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self
.input)
3326 if self
.backtracking
> 0:
3330 nvae
= NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self
.input)
3335 if self
.backtracking
> 0:
3339 nvae
= NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self
.input)
3344 # C.g:263:4: '*' ( type_qualifier )+ ( pointer )?
3345 self
.match(self
.input, 65, self
.FOLLOW_65_in_pointer904
)
3348 # C.g:263:8: ( type_qualifier )+
3352 LA36
= self
.input.LA(1)
3354 LA36_2
= self
.input.LA(2)
3356 if (self
.synpred74()) :
3361 LA36_3
= self
.input.LA(2)
3363 if (self
.synpred74()) :
3368 LA36_4
= self
.input.LA(2)
3370 if (self
.synpred74()) :
3375 LA36_20
= self
.input.LA(2)
3377 if (self
.synpred74()) :
3381 elif LA36
== 49 or LA36
== 50 or LA36
== 51 or LA36
== 52 or LA36
== 54 or LA36
== 55 or LA36
== 56 or LA36
== 57:
3382 LA36_28
= self
.input.LA(2)
3384 if (self
.synpred74()) :
3390 # C.g:0:0: type_qualifier
3391 self
.following
.append(self
.FOLLOW_type_qualifier_in_pointer906
)
3392 self
.type_qualifier()
3393 self
.following
.pop()
3402 if self
.backtracking
> 0:
3406 eee
= EarlyExitException(36, self
.input)
3412 # C.g:263:24: ( pointer )?
3414 LA37_0
= self
.input.LA(1)
3417 LA37_1
= self
.input.LA(2)
3419 if (self
.synpred75()) :
3423 self
.following
.append(self
.FOLLOW_pointer_in_pointer909
)
3425 self
.following
.pop()
3434 # C.g:264:4: '*' pointer
3435 self
.match(self
.input, 65, self
.FOLLOW_65_in_pointer915
)
3438 self
.following
.append(self
.FOLLOW_pointer_in_pointer917
)
3440 self
.following
.pop()
3447 self
.match(self
.input, 65, self
.FOLLOW_65_in_pointer922
)
3453 except RecognitionException
, re
:
3454 self
.reportError(re
)
3455 self
.recover(self
.input, re
)
3457 if self
.backtracking
> 0:
3458 self
.memoize(self
.input, 25, pointer_StartIndex
)
3464 # $ANTLR end pointer
3467 # $ANTLR start parameter_type_list
3468 # C.g:268:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3469 def parameter_type_list(self
, ):
3471 parameter_type_list_StartIndex
= self
.input.index()
3474 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 26):
3477 # C.g:269:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3478 # C.g:269:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3479 self
.following
.append(self
.FOLLOW_parameter_list_in_parameter_type_list933
)
3480 self
.parameter_list()
3481 self
.following
.pop()
3484 # C.g:269:19: ( ',' ( 'OPTIONAL' )? '...' )?
3486 LA40_0
= self
.input.LA(1)
3491 # C.g:269:20: ',' ( 'OPTIONAL' )? '...'
3492 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_type_list936
)
3495 # C.g:269:24: ( 'OPTIONAL' )?
3497 LA39_0
= self
.input.LA(1)
3502 # C.g:269:25: 'OPTIONAL'
3503 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_type_list939
)
3509 self
.match(self
.input, 66, self
.FOLLOW_66_in_parameter_type_list943
)
3519 except RecognitionException
, re
:
3520 self
.reportError(re
)
3521 self
.recover(self
.input, re
)
3523 if self
.backtracking
> 0:
3524 self
.memoize(self
.input, 26, parameter_type_list_StartIndex
)
3530 # $ANTLR end parameter_type_list
3533 # $ANTLR start parameter_list
3534 # C.g:272:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3535 def parameter_list(self
, ):
3537 parameter_list_StartIndex
= self
.input.index()
3540 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 27):
3543 # C.g:273:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3544 # C.g:273:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3545 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list956
)
3546 self
.parameter_declaration()
3547 self
.following
.pop()
3550 # C.g:273:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3553 LA42_0
= self
.input.LA(1)
3556 LA42_1
= self
.input.LA(2)
3559 LA42_3
= self
.input.LA(3)
3561 if (self
.synpred81()) :
3565 elif (LA42_1
== IDENTIFIER
or (29 <= LA42_1
<= 42) or (45 <= LA42_1
<= 46) or (48 <= LA42_1
<= 52) or (54 <= LA42_1
<= 60) or LA42_1
== 65) :
3572 # C.g:273:27: ',' ( 'OPTIONAL' )? parameter_declaration
3573 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_list959
)
3576 # C.g:273:31: ( 'OPTIONAL' )?
3578 LA41_0
= self
.input.LA(1)
3581 LA41_1
= self
.input.LA(2)
3583 if (self
.synpred80()) :
3586 # C.g:273:32: 'OPTIONAL'
3587 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_list962
)
3593 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list966
)
3594 self
.parameter_declaration()
3595 self
.following
.pop()
3608 except RecognitionException
, re
:
3609 self
.reportError(re
)
3610 self
.recover(self
.input, re
)
3612 if self
.backtracking
> 0:
3613 self
.memoize(self
.input, 27, parameter_list_StartIndex
)
3619 # $ANTLR end parameter_list
3622 # $ANTLR start parameter_declaration
3623 # C.g:276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3624 def parameter_declaration(self
, ):
3626 parameter_declaration_StartIndex
= self
.input.index()
3629 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 28):
3632 # C.g:277:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3634 LA46
= self
.input.LA(1)
3635 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:
3637 elif LA46
== IDENTIFIER
:
3638 LA46_13
= self
.input.LA(2)
3640 if (self
.synpred85()) :
3645 if self
.backtracking
> 0:
3649 nvae
= NoViableAltException("276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self
.input)
3656 if self
.backtracking
> 0:
3660 nvae
= NoViableAltException("276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self
.input)
3665 # C.g:277:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3666 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_parameter_declaration979
)
3667 self
.declaration_specifiers()
3668 self
.following
.pop()
3671 # C.g:277:27: ( declarator | abstract_declarator )*
3674 LA43
= self
.input.LA(1)
3676 LA43_5
= self
.input.LA(2)
3678 if (self
.synpred82()) :
3680 elif (self
.synpred83()) :
3684 elif LA43
== IDENTIFIER
or LA43
== 58 or LA43
== 59 or LA43
== 60:
3687 LA43
= self
.input.LA(2)
3688 if LA43
== 29 or LA43
== 30 or LA43
== 31 or LA43
== 32 or LA43
== 33 or LA43
== 34 or LA43
== 35 or LA43
== 36 or LA43
== 37 or LA43
== 38 or LA43
== 39 or LA43
== 40 or LA43
== 41 or LA43
== 42 or LA43
== 45 or LA43
== 46 or LA43
== 48 or LA43
== 49 or LA43
== 50 or LA43
== 51 or LA43
== 52 or LA43
== 53 or LA43
== 54 or LA43
== 55 or LA43
== 56 or LA43
== 57 or LA43
== 62 or LA43
== 63:
3690 elif LA43
== IDENTIFIER
:
3691 LA43_37
= self
.input.LA(3)
3693 if (self
.synpred82()) :
3695 elif (self
.synpred83()) :
3700 LA43_38
= self
.input.LA(3)
3702 if (self
.synpred82()) :
3704 elif (self
.synpred83()) :
3709 LA43_39
= self
.input.LA(3)
3711 if (self
.synpred82()) :
3713 elif (self
.synpred83()) :
3718 LA43_40
= self
.input.LA(3)
3720 if (self
.synpred82()) :
3722 elif (self
.synpred83()) :
3727 LA43_41
= self
.input.LA(3)
3729 if (self
.synpred82()) :
3731 elif (self
.synpred83()) :
3736 LA43_43
= self
.input.LA(3)
3738 if (self
.synpred82()) :
3740 elif (self
.synpred83()) :
3749 # C.g:277:28: declarator
3750 self
.following
.append(self
.FOLLOW_declarator_in_parameter_declaration982
)
3752 self
.following
.pop()
3758 # C.g:277:39: abstract_declarator
3759 self
.following
.append(self
.FOLLOW_abstract_declarator_in_parameter_declaration984
)
3760 self
.abstract_declarator()
3761 self
.following
.pop()
3770 # C.g:277:61: ( 'OPTIONAL' )?
3772 LA44_0
= self
.input.LA(1)
3777 # C.g:277:62: 'OPTIONAL'
3778 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_declaration989
)
3787 # C.g:279:4: ( pointer )* IDENTIFIER
3788 # C.g:279:4: ( pointer )*
3791 LA45_0
= self
.input.LA(1)
3799 self
.following
.append(self
.FOLLOW_pointer_in_parameter_declaration998
)
3801 self
.following
.pop()
3810 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_parameter_declaration1001
)
3816 except RecognitionException
, re
:
3817 self
.reportError(re
)
3818 self
.recover(self
.input, re
)
3820 if self
.backtracking
> 0:
3821 self
.memoize(self
.input, 28, parameter_declaration_StartIndex
)
3827 # $ANTLR end parameter_declaration
3830 # $ANTLR start identifier_list
3831 # C.g:282:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3832 def identifier_list(self
, ):
3834 identifier_list_StartIndex
= self
.input.index()
3837 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 29):
3840 # C.g:283:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3841 # C.g:283:4: IDENTIFIER ( ',' IDENTIFIER )*
3842 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1012
)
3845 # C.g:284:2: ( ',' IDENTIFIER )*
3848 LA47_0
= self
.input.LA(1)
3855 # C.g:284:3: ',' IDENTIFIER
3856 self
.match(self
.input, 27, self
.FOLLOW_27_in_identifier_list1016
)
3859 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1018
)
3872 except RecognitionException
, re
:
3873 self
.reportError(re
)
3874 self
.recover(self
.input, re
)
3876 if self
.backtracking
> 0:
3877 self
.memoize(self
.input, 29, identifier_list_StartIndex
)
3883 # $ANTLR end identifier_list
3886 # $ANTLR start type_name
3887 # C.g:287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3888 def type_name(self
, ):
3890 type_name_StartIndex
= self
.input.index()
3893 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 30):
3896 # C.g:288:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3898 LA49_0
= self
.input.LA(1)
3900 if ((34 <= LA49_0
<= 42) or (45 <= LA49_0
<= 46) or (48 <= LA49_0
<= 60)) :
3902 elif (LA49_0
== IDENTIFIER
) :
3903 LA49_13
= self
.input.LA(2)
3905 if (self
.synpred89()) :
3910 if self
.backtracking
> 0:
3914 nvae
= NoViableAltException("287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self
.input)
3919 if self
.backtracking
> 0:
3923 nvae
= NoViableAltException("287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self
.input)
3928 # C.g:288:4: specifier_qualifier_list ( abstract_declarator )?
3929 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_type_name1031
)
3930 self
.specifier_qualifier_list()
3931 self
.following
.pop()
3934 # C.g:288:29: ( abstract_declarator )?
3936 LA48_0
= self
.input.LA(1)
3938 if (LA48_0
== 61 or LA48_0
== 63 or LA48_0
== 65) :
3941 # C.g:0:0: abstract_declarator
3942 self
.following
.append(self
.FOLLOW_abstract_declarator_in_type_name1033
)
3943 self
.abstract_declarator()
3944 self
.following
.pop()
3953 # C.g:289:4: type_id
3954 self
.following
.append(self
.FOLLOW_type_id_in_type_name1039
)
3956 self
.following
.pop()
3962 except RecognitionException
, re
:
3963 self
.reportError(re
)
3964 self
.recover(self
.input, re
)
3966 if self
.backtracking
> 0:
3967 self
.memoize(self
.input, 30, type_name_StartIndex
)
3973 # $ANTLR end type_name
3976 # $ANTLR start abstract_declarator
3977 # C.g:292:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3978 def abstract_declarator(self
, ):
3980 abstract_declarator_StartIndex
= self
.input.index()
3983 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 31):
3986 # C.g:293:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
3988 LA51_0
= self
.input.LA(1)
3992 elif (LA51_0
== 61 or LA51_0
== 63) :
3995 if self
.backtracking
> 0:
3999 nvae
= NoViableAltException("292:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self
.input)
4004 # C.g:293:4: pointer ( direct_abstract_declarator )?
4005 self
.following
.append(self
.FOLLOW_pointer_in_abstract_declarator1050
)
4007 self
.following
.pop()
4010 # C.g:293:12: ( direct_abstract_declarator )?
4012 LA50_0
= self
.input.LA(1)
4015 LA50
= self
.input.LA(2)
4017 LA50_12
= self
.input.LA(3)
4019 if (self
.synpred90()) :
4022 LA50_13
= self
.input.LA(3)
4024 if (self
.synpred90()) :
4027 LA50_14
= self
.input.LA(3)
4029 if (self
.synpred90()) :
4032 LA50_15
= self
.input.LA(3)
4034 if (self
.synpred90()) :
4037 LA50_16
= self
.input.LA(3)
4039 if (self
.synpred90()) :
4041 elif LA50
== IDENTIFIER
:
4042 LA50_17
= self
.input.LA(3)
4044 if (self
.synpred90()) :
4047 LA50_18
= self
.input.LA(3)
4049 if (self
.synpred90()) :
4051 elif LA50
== 29 or LA50
== 30 or LA50
== 31 or LA50
== 32 or LA50
== 33:
4052 LA50_19
= self
.input.LA(3)
4054 if (self
.synpred90()) :
4057 LA50_20
= self
.input.LA(3)
4059 if (self
.synpred90()) :
4062 LA50_21
= self
.input.LA(3)
4064 if (self
.synpred90()) :
4067 LA50_22
= self
.input.LA(3)
4069 if (self
.synpred90()) :
4072 LA50_23
= self
.input.LA(3)
4074 if (self
.synpred90()) :
4077 LA50_24
= self
.input.LA(3)
4079 if (self
.synpred90()) :
4082 LA50_25
= self
.input.LA(3)
4084 if (self
.synpred90()) :
4087 LA50_26
= self
.input.LA(3)
4089 if (self
.synpred90()) :
4092 LA50_27
= self
.input.LA(3)
4094 if (self
.synpred90()) :
4097 LA50_28
= self
.input.LA(3)
4099 if (self
.synpred90()) :
4101 elif LA50
== 45 or LA50
== 46:
4102 LA50_29
= self
.input.LA(3)
4104 if (self
.synpred90()) :
4107 LA50_30
= self
.input.LA(3)
4109 if (self
.synpred90()) :
4111 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:
4112 LA50_31
= self
.input.LA(3)
4114 if (self
.synpred90()) :
4117 LA50_32
= self
.input.LA(3)
4119 if (self
.synpred90()) :
4121 elif (LA50_0
== 63) :
4122 LA50
= self
.input.LA(2)
4124 LA50_33
= self
.input.LA(3)
4126 if (self
.synpred90()) :
4129 LA50_34
= self
.input.LA(3)
4131 if (self
.synpred90()) :
4133 elif LA50
== IDENTIFIER
:
4134 LA50_35
= self
.input.LA(3)
4136 if (self
.synpred90()) :
4138 elif LA50
== HEX_LITERAL
:
4139 LA50_36
= self
.input.LA(3)
4141 if (self
.synpred90()) :
4143 elif LA50
== OCTAL_LITERAL
:
4144 LA50_37
= self
.input.LA(3)
4146 if (self
.synpred90()) :
4148 elif LA50
== DECIMAL_LITERAL
:
4149 LA50_38
= self
.input.LA(3)
4151 if (self
.synpred90()) :
4153 elif LA50
== CHARACTER_LITERAL
:
4154 LA50_39
= self
.input.LA(3)
4156 if (self
.synpred90()) :
4158 elif LA50
== STRING_LITERAL
:
4159 LA50_40
= self
.input.LA(3)
4161 if (self
.synpred90()) :
4163 elif LA50
== FLOATING_POINT_LITERAL
:
4164 LA50_41
= self
.input.LA(3)
4166 if (self
.synpred90()) :
4169 LA50_42
= self
.input.LA(3)
4171 if (self
.synpred90()) :
4174 LA50_43
= self
.input.LA(3)
4176 if (self
.synpred90()) :
4178 elif LA50
== 65 or LA50
== 67 or LA50
== 68 or LA50
== 76 or LA50
== 77 or LA50
== 78:
4179 LA50_44
= self
.input.LA(3)
4181 if (self
.synpred90()) :
4184 LA50_45
= self
.input.LA(3)
4186 if (self
.synpred90()) :
4189 # C.g:0:0: direct_abstract_declarator
4190 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1052
)
4191 self
.direct_abstract_declarator()
4192 self
.following
.pop()
4201 # C.g:294:4: direct_abstract_declarator
4202 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1058
)
4203 self
.direct_abstract_declarator()
4204 self
.following
.pop()
4210 except RecognitionException
, re
:
4211 self
.reportError(re
)
4212 self
.recover(self
.input, re
)
4214 if self
.backtracking
> 0:
4215 self
.memoize(self
.input, 31, abstract_declarator_StartIndex
)
4221 # $ANTLR end abstract_declarator
4224 # $ANTLR start direct_abstract_declarator
4225 # C.g:297:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4226 def direct_abstract_declarator(self
, ):
4228 direct_abstract_declarator_StartIndex
= self
.input.index()
4231 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 32):
4234 # C.g:298:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4235 # C.g:298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4236 # C.g:298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4238 LA52_0
= self
.input.LA(1)
4241 LA52
= self
.input.LA(2)
4242 if LA52
== IDENTIFIER
or LA52
== 29 or LA52
== 30 or LA52
== 31 or LA52
== 32 or LA52
== 33 or LA52
== 34 or LA52
== 35 or LA52
== 36 or LA52
== 37 or LA52
== 38 or LA52
== 39 or LA52
== 40 or LA52
== 41 or LA52
== 42 or LA52
== 45 or LA52
== 46 or LA52
== 48 or LA52
== 49 or LA52
== 50 or LA52
== 51 or LA52
== 52 or LA52
== 53 or LA52
== 54 or LA52
== 55 or LA52
== 56 or LA52
== 57 or LA52
== 58 or LA52
== 59 or LA52
== 60 or LA52
== 62:
4245 LA52_18
= self
.input.LA(3)
4247 if (self
.synpred92()) :
4252 if self
.backtracking
> 0:
4256 nvae
= NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self
.input)
4260 elif LA52
== 61 or LA52
== 63:
4263 if self
.backtracking
> 0:
4267 nvae
= NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self
.input)
4271 elif (LA52_0
== 63) :
4274 if self
.backtracking
> 0:
4278 nvae
= NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self
.input)
4283 # C.g:298:6: '(' abstract_declarator ')'
4284 self
.match(self
.input, 61, self
.FOLLOW_61_in_direct_abstract_declarator1071
)
4287 self
.following
.append(self
.FOLLOW_abstract_declarator_in_direct_abstract_declarator1073
)
4288 self
.abstract_declarator()
4289 self
.following
.pop()
4292 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_abstract_declarator1075
)
4298 # C.g:298:36: abstract_declarator_suffix
4299 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1079
)
4300 self
.abstract_declarator_suffix()
4301 self
.following
.pop()
4307 # C.g:298:65: ( abstract_declarator_suffix )*
4310 LA53_0
= self
.input.LA(1)
4313 LA53
= self
.input.LA(2)
4315 LA53_12
= self
.input.LA(3)
4317 if (self
.synpred93()) :
4322 LA53_13
= self
.input.LA(3)
4324 if (self
.synpred93()) :
4329 LA53_14
= self
.input.LA(3)
4331 if (self
.synpred93()) :
4336 LA53_15
= self
.input.LA(3)
4338 if (self
.synpred93()) :
4343 LA53_16
= self
.input.LA(3)
4345 if (self
.synpred93()) :
4349 elif LA53
== IDENTIFIER
:
4350 LA53_17
= self
.input.LA(3)
4352 if (self
.synpred93()) :
4356 elif LA53
== 29 or LA53
== 30 or LA53
== 31 or LA53
== 32 or LA53
== 33:
4357 LA53_19
= self
.input.LA(3)
4359 if (self
.synpred93()) :
4364 LA53_20
= self
.input.LA(3)
4366 if (self
.synpred93()) :
4371 LA53_21
= self
.input.LA(3)
4373 if (self
.synpred93()) :
4378 LA53_22
= self
.input.LA(3)
4380 if (self
.synpred93()) :
4385 LA53_23
= self
.input.LA(3)
4387 if (self
.synpred93()) :
4392 LA53_24
= self
.input.LA(3)
4394 if (self
.synpred93()) :
4399 LA53_25
= self
.input.LA(3)
4401 if (self
.synpred93()) :
4406 LA53_26
= self
.input.LA(3)
4408 if (self
.synpred93()) :
4413 LA53_27
= self
.input.LA(3)
4415 if (self
.synpred93()) :
4420 LA53_28
= self
.input.LA(3)
4422 if (self
.synpred93()) :
4426 elif LA53
== 45 or LA53
== 46:
4427 LA53_29
= self
.input.LA(3)
4429 if (self
.synpred93()) :
4434 LA53_30
= self
.input.LA(3)
4436 if (self
.synpred93()) :
4440 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:
4441 LA53_31
= self
.input.LA(3)
4443 if (self
.synpred93()) :
4448 elif (LA53_0
== 63) :
4449 LA53
= self
.input.LA(2)
4451 LA53_33
= self
.input.LA(3)
4453 if (self
.synpred93()) :
4458 LA53_34
= self
.input.LA(3)
4460 if (self
.synpred93()) :
4464 elif LA53
== IDENTIFIER
:
4465 LA53_35
= self
.input.LA(3)
4467 if (self
.synpred93()) :
4471 elif LA53
== HEX_LITERAL
:
4472 LA53_36
= self
.input.LA(3)
4474 if (self
.synpred93()) :
4478 elif LA53
== OCTAL_LITERAL
:
4479 LA53_37
= self
.input.LA(3)
4481 if (self
.synpred93()) :
4485 elif LA53
== DECIMAL_LITERAL
:
4486 LA53_38
= self
.input.LA(3)
4488 if (self
.synpred93()) :
4492 elif LA53
== CHARACTER_LITERAL
:
4493 LA53_39
= self
.input.LA(3)
4495 if (self
.synpred93()) :
4499 elif LA53
== STRING_LITERAL
:
4500 LA53_40
= self
.input.LA(3)
4502 if (self
.synpred93()) :
4506 elif LA53
== FLOATING_POINT_LITERAL
:
4507 LA53_41
= self
.input.LA(3)
4509 if (self
.synpred93()) :
4514 LA53_42
= self
.input.LA(3)
4516 if (self
.synpred93()) :
4521 LA53_43
= self
.input.LA(3)
4523 if (self
.synpred93()) :
4527 elif LA53
== 65 or LA53
== 67 or LA53
== 68 or LA53
== 76 or LA53
== 77 or LA53
== 78:
4528 LA53_44
= self
.input.LA(3)
4530 if (self
.synpred93()) :
4535 LA53_45
= self
.input.LA(3)
4537 if (self
.synpred93()) :
4545 # C.g:0:0: abstract_declarator_suffix
4546 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1083
)
4547 self
.abstract_declarator_suffix()
4548 self
.following
.pop()
4561 except RecognitionException
, re
:
4562 self
.reportError(re
)
4563 self
.recover(self
.input, re
)
4565 if self
.backtracking
> 0:
4566 self
.memoize(self
.input, 32, direct_abstract_declarator_StartIndex
)
4572 # $ANTLR end direct_abstract_declarator
4575 # $ANTLR start abstract_declarator_suffix
4576 # C.g:301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4577 def abstract_declarator_suffix(self
, ):
4579 abstract_declarator_suffix_StartIndex
= self
.input.index()
4582 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 33):
4585 # C.g:302:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4587 LA54_0
= self
.input.LA(1)
4590 LA54_1
= self
.input.LA(2)
4594 elif ((IDENTIFIER
<= LA54_1
<= FLOATING_POINT_LITERAL
) or LA54_1
== 61 or LA54_1
== 65 or (67 <= LA54_1
<= 68) or (71 <= LA54_1
<= 73) or (76 <= LA54_1
<= 78)) :
4597 if self
.backtracking
> 0:
4601 nvae
= NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self
.input)
4605 elif (LA54_0
== 61) :
4606 LA54_2
= self
.input.LA(2)
4610 elif (LA54_2
== IDENTIFIER
or (29 <= LA54_2
<= 42) or (45 <= LA54_2
<= 46) or (48 <= LA54_2
<= 60) or LA54_2
== 65) :
4613 if self
.backtracking
> 0:
4617 nvae
= NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self
.input)
4622 if self
.backtracking
> 0:
4626 nvae
= NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self
.input)
4631 # C.g:302:4: '[' ']'
4632 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1095
)
4635 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1097
)
4641 # C.g:303:4: '[' constant_expression ']'
4642 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1102
)
4645 self
.following
.append(self
.FOLLOW_constant_expression_in_abstract_declarator_suffix1104
)
4646 self
.constant_expression()
4647 self
.following
.pop()
4650 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1106
)
4656 # C.g:304:4: '(' ')'
4657 self
.match(self
.input, 61, self
.FOLLOW_61_in_abstract_declarator_suffix1111
)
4660 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1113
)
4666 # C.g:305:4: '(' parameter_type_list ')'
4667 self
.match(self
.input, 61, self
.FOLLOW_61_in_abstract_declarator_suffix1118
)
4670 self
.following
.append(self
.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1120
)
4671 self
.parameter_type_list()
4672 self
.following
.pop()
4675 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1122
)
4681 except RecognitionException
, re
:
4682 self
.reportError(re
)
4683 self
.recover(self
.input, re
)
4685 if self
.backtracking
> 0:
4686 self
.memoize(self
.input, 33, abstract_declarator_suffix_StartIndex
)
4692 # $ANTLR end abstract_declarator_suffix
4695 # $ANTLR start initializer
4696 # C.g:308:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4697 def initializer(self
, ):
4699 initializer_StartIndex
= self
.input.index()
4702 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 34):
4705 # C.g:310:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4707 LA56_0
= self
.input.LA(1)
4709 if ((IDENTIFIER
<= LA56_0
<= FLOATING_POINT_LITERAL
) or LA56_0
== 61 or LA56_0
== 65 or (67 <= LA56_0
<= 68) or (71 <= LA56_0
<= 73) or (76 <= LA56_0
<= 78)) :
4711 elif (LA56_0
== 43) :
4714 if self
.backtracking
> 0:
4718 nvae
= NoViableAltException("308:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self
.input)
4723 # C.g:310:4: assignment_expression
4724 self
.following
.append(self
.FOLLOW_assignment_expression_in_initializer1135
)
4725 self
.assignment_expression()
4726 self
.following
.pop()
4732 # C.g:311:4: '{' initializer_list ( ',' )? '}'
4733 self
.match(self
.input, 43, self
.FOLLOW_43_in_initializer1140
)
4736 self
.following
.append(self
.FOLLOW_initializer_list_in_initializer1142
)
4737 self
.initializer_list()
4738 self
.following
.pop()
4741 # C.g:311:25: ( ',' )?
4743 LA55_0
= self
.input.LA(1)
4749 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer1144
)
4755 self
.match(self
.input, 44, self
.FOLLOW_44_in_initializer1147
)
4761 except RecognitionException
, re
:
4762 self
.reportError(re
)
4763 self
.recover(self
.input, re
)
4765 if self
.backtracking
> 0:
4766 self
.memoize(self
.input, 34, initializer_StartIndex
)
4772 # $ANTLR end initializer
4775 # $ANTLR start initializer_list
4776 # C.g:314:1: initializer_list : initializer ( ',' initializer )* ;
4777 def initializer_list(self
, ):
4779 initializer_list_StartIndex
= self
.input.index()
4782 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 35):
4785 # C.g:315:2: ( initializer ( ',' initializer )* )
4786 # C.g:315:4: initializer ( ',' initializer )*
4787 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1158
)
4789 self
.following
.pop()
4792 # C.g:315:16: ( ',' initializer )*
4795 LA57_0
= self
.input.LA(1)
4798 LA57_1
= self
.input.LA(2)
4800 if ((IDENTIFIER
<= LA57_1
<= FLOATING_POINT_LITERAL
) or LA57_1
== 43 or LA57_1
== 61 or LA57_1
== 65 or (67 <= LA57_1
<= 68) or (71 <= LA57_1
<= 73) or (76 <= LA57_1
<= 78)) :
4807 # C.g:315:17: ',' initializer
4808 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer_list1161
)
4811 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1163
)
4813 self
.following
.pop()
4826 except RecognitionException
, re
:
4827 self
.reportError(re
)
4828 self
.recover(self
.input, re
)
4830 if self
.backtracking
> 0:
4831 self
.memoize(self
.input, 35, initializer_list_StartIndex
)
4837 # $ANTLR end initializer_list
4839 class argument_expression_list_return(object):
4846 # $ANTLR start argument_expression_list
4847 # C.g:320:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4848 def argument_expression_list(self
, ):
4850 retval
= self
.argument_expression_list_return()
4851 retval
.start
= self
.input.LT(1)
4852 argument_expression_list_StartIndex
= self
.input.index()
4855 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 36):
4858 # C.g:321:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4859 # C.g:321:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4860 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1181
)
4861 self
.assignment_expression()
4862 self
.following
.pop()
4865 # C.g:321:28: ( 'OPTIONAL' )?
4867 LA58_0
= self
.input.LA(1)
4872 # C.g:321:29: 'OPTIONAL'
4873 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1184
)
4879 # C.g:321:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4882 LA60_0
= self
.input.LA(1)
4889 # C.g:321:43: ',' assignment_expression ( 'OPTIONAL' )?
4890 self
.match(self
.input, 27, self
.FOLLOW_27_in_argument_expression_list1189
)
4893 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1191
)
4894 self
.assignment_expression()
4895 self
.following
.pop()
4898 # C.g:321:69: ( 'OPTIONAL' )?
4900 LA59_0
= self
.input.LA(1)
4905 # C.g:321:70: 'OPTIONAL'
4906 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1194
)
4921 retval
.stop
= self
.input.LT(-1)
4924 except RecognitionException
, re
:
4925 self
.reportError(re
)
4926 self
.recover(self
.input, re
)
4928 if self
.backtracking
> 0:
4929 self
.memoize(self
.input, 36, argument_expression_list_StartIndex
)
4935 # $ANTLR end argument_expression_list
4938 # $ANTLR start additive_expression
4939 # C.g:324:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4940 def additive_expression(self
, ):
4942 additive_expression_StartIndex
= self
.input.index()
4945 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 37):
4948 # C.g:325:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4949 # C.g:325:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4950 # C.g:325:4: ( multiplicative_expression )
4951 # C.g:325:5: multiplicative_expression
4952 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1210
)
4953 self
.multiplicative_expression()
4954 self
.following
.pop()
4960 # C.g:325:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4963 LA61_0
= self
.input.LA(1)
4967 elif (LA61_0
== 68) :
4972 # C.g:325:33: '+' multiplicative_expression
4973 self
.match(self
.input, 67, self
.FOLLOW_67_in_additive_expression1214
)
4976 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1216
)
4977 self
.multiplicative_expression()
4978 self
.following
.pop()
4984 # C.g:325:65: '-' multiplicative_expression
4985 self
.match(self
.input, 68, self
.FOLLOW_68_in_additive_expression1220
)
4988 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1222
)
4989 self
.multiplicative_expression()
4990 self
.following
.pop()
5003 except RecognitionException
, re
:
5004 self
.reportError(re
)
5005 self
.recover(self
.input, re
)
5007 if self
.backtracking
> 0:
5008 self
.memoize(self
.input, 37, additive_expression_StartIndex
)
5014 # $ANTLR end additive_expression
5017 # $ANTLR start multiplicative_expression
5018 # C.g:328:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5019 def multiplicative_expression(self
, ):
5021 multiplicative_expression_StartIndex
= self
.input.index()
5024 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 38):
5027 # C.g:329:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5028 # C.g:329:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5029 # C.g:329:4: ( cast_expression )
5030 # C.g:329:5: cast_expression
5031 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1236
)
5032 self
.cast_expression()
5033 self
.following
.pop()
5039 # C.g:329:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5042 LA62
= self
.input.LA(1)
5051 # C.g:329:23: '*' cast_expression
5052 self
.match(self
.input, 65, self
.FOLLOW_65_in_multiplicative_expression1240
)
5055 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1242
)
5056 self
.cast_expression()
5057 self
.following
.pop()
5063 # C.g:329:45: '/' cast_expression
5064 self
.match(self
.input, 69, self
.FOLLOW_69_in_multiplicative_expression1246
)
5067 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1248
)
5068 self
.cast_expression()
5069 self
.following
.pop()
5075 # C.g:329:67: '%' cast_expression
5076 self
.match(self
.input, 70, self
.FOLLOW_70_in_multiplicative_expression1252
)
5079 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1254
)
5080 self
.cast_expression()
5081 self
.following
.pop()
5094 except RecognitionException
, re
:
5095 self
.reportError(re
)
5096 self
.recover(self
.input, re
)
5098 if self
.backtracking
> 0:
5099 self
.memoize(self
.input, 38, multiplicative_expression_StartIndex
)
5105 # $ANTLR end multiplicative_expression
5108 # $ANTLR start cast_expression
5109 # C.g:332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5110 def cast_expression(self
, ):
5112 cast_expression_StartIndex
= self
.input.index()
5115 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 39):
5118 # C.g:333:2: ( '(' type_name ')' cast_expression | unary_expression )
5120 LA63_0
= self
.input.LA(1)
5123 LA63
= self
.input.LA(2)
5124 if LA63
== IDENTIFIER
:
5125 LA63_13
= self
.input.LA(3)
5127 if (self
.synpred108()) :
5132 if self
.backtracking
> 0:
5136 nvae
= NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 13, self
.input)
5140 elif LA63
== HEX_LITERAL
or LA63
== OCTAL_LITERAL
or LA63
== DECIMAL_LITERAL
or LA63
== CHARACTER_LITERAL
or LA63
== STRING_LITERAL
or LA63
== FLOATING_POINT_LITERAL
or LA63
== 61 or LA63
== 65 or LA63
== 67 or LA63
== 68 or LA63
== 71 or LA63
== 72 or LA63
== 73 or LA63
== 76 or LA63
== 77 or LA63
== 78:
5142 elif LA63
== 34 or LA63
== 35 or LA63
== 36 or LA63
== 37 or LA63
== 38 or LA63
== 39 or LA63
== 40 or LA63
== 41 or LA63
== 42 or LA63
== 45 or LA63
== 46 or LA63
== 48 or LA63
== 49 or LA63
== 50 or LA63
== 51 or LA63
== 52 or LA63
== 53 or LA63
== 54 or LA63
== 55 or LA63
== 56 or LA63
== 57 or LA63
== 58 or LA63
== 59 or LA63
== 60:
5145 if self
.backtracking
> 0:
5149 nvae
= NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self
.input)
5153 elif ((IDENTIFIER
<= LA63_0
<= FLOATING_POINT_LITERAL
) or LA63_0
== 65 or (67 <= LA63_0
<= 68) or (71 <= LA63_0
<= 73) or (76 <= LA63_0
<= 78)) :
5156 if self
.backtracking
> 0:
5160 nvae
= NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self
.input)
5165 # C.g:333:4: '(' type_name ')' cast_expression
5166 self
.match(self
.input, 61, self
.FOLLOW_61_in_cast_expression1267
)
5169 self
.following
.append(self
.FOLLOW_type_name_in_cast_expression1269
)
5171 self
.following
.pop()
5174 self
.match(self
.input, 62, self
.FOLLOW_62_in_cast_expression1271
)
5177 self
.following
.append(self
.FOLLOW_cast_expression_in_cast_expression1273
)
5178 self
.cast_expression()
5179 self
.following
.pop()
5185 # C.g:334:4: unary_expression
5186 self
.following
.append(self
.FOLLOW_unary_expression_in_cast_expression1278
)
5187 self
.unary_expression()
5188 self
.following
.pop()
5194 except RecognitionException
, re
:
5195 self
.reportError(re
)
5196 self
.recover(self
.input, re
)
5198 if self
.backtracking
> 0:
5199 self
.memoize(self
.input, 39, cast_expression_StartIndex
)
5205 # $ANTLR end cast_expression
5208 # $ANTLR start unary_expression
5209 # C.g:337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5210 def unary_expression(self
, ):
5212 unary_expression_StartIndex
= self
.input.index()
5215 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 40):
5218 # C.g:338:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5220 LA64
= self
.input.LA(1)
5221 if LA64
== IDENTIFIER
or LA64
== HEX_LITERAL
or LA64
== OCTAL_LITERAL
or LA64
== DECIMAL_LITERAL
or LA64
== CHARACTER_LITERAL
or LA64
== STRING_LITERAL
or LA64
== FLOATING_POINT_LITERAL
or LA64
== 61:
5227 elif LA64
== 65 or LA64
== 67 or LA64
== 68 or LA64
== 76 or LA64
== 77 or LA64
== 78:
5230 LA64_12
= self
.input.LA(2)
5232 if (LA64_12
== 61) :
5233 LA64_13
= self
.input.LA(3)
5235 if (self
.synpred113()) :
5240 if self
.backtracking
> 0:
5244 nvae
= NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self
.input)
5248 elif ((IDENTIFIER
<= LA64_12
<= FLOATING_POINT_LITERAL
) or LA64_12
== 65 or (67 <= LA64_12
<= 68) or (71 <= LA64_12
<= 73) or (76 <= LA64_12
<= 78)) :
5251 if self
.backtracking
> 0:
5255 nvae
= NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self
.input)
5260 if self
.backtracking
> 0:
5264 nvae
= NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self
.input)
5269 # C.g:338:4: postfix_expression
5270 self
.following
.append(self
.FOLLOW_postfix_expression_in_unary_expression1289
)
5271 self
.postfix_expression()
5272 self
.following
.pop()
5278 # C.g:339:4: '++' unary_expression
5279 self
.match(self
.input, 71, self
.FOLLOW_71_in_unary_expression1294
)
5282 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1296
)
5283 self
.unary_expression()
5284 self
.following
.pop()
5290 # C.g:340:4: '--' unary_expression
5291 self
.match(self
.input, 72, self
.FOLLOW_72_in_unary_expression1301
)
5294 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1303
)
5295 self
.unary_expression()
5296 self
.following
.pop()
5302 # C.g:341:4: unary_operator cast_expression
5303 self
.following
.append(self
.FOLLOW_unary_operator_in_unary_expression1308
)
5304 self
.unary_operator()
5305 self
.following
.pop()
5308 self
.following
.append(self
.FOLLOW_cast_expression_in_unary_expression1310
)
5309 self
.cast_expression()
5310 self
.following
.pop()
5316 # C.g:342:4: 'sizeof' unary_expression
5317 self
.match(self
.input, 73, self
.FOLLOW_73_in_unary_expression1315
)
5320 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1317
)
5321 self
.unary_expression()
5322 self
.following
.pop()
5328 # C.g:343:4: 'sizeof' '(' type_name ')'
5329 self
.match(self
.input, 73, self
.FOLLOW_73_in_unary_expression1322
)
5332 self
.match(self
.input, 61, self
.FOLLOW_61_in_unary_expression1324
)
5335 self
.following
.append(self
.FOLLOW_type_name_in_unary_expression1326
)
5337 self
.following
.pop()
5340 self
.match(self
.input, 62, self
.FOLLOW_62_in_unary_expression1328
)
5346 except RecognitionException
, re
:
5347 self
.reportError(re
)
5348 self
.recover(self
.input, re
)
5350 if self
.backtracking
> 0:
5351 self
.memoize(self
.input, 40, unary_expression_StartIndex
)
5357 # $ANTLR end unary_expression
5360 # $ANTLR start postfix_expression
5361 # C.g:346:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
5362 def postfix_expression(self
, ):
5363 self
.postfix_expression_stack
.append(postfix_expression_scope())
5364 postfix_expression_StartIndex
= self
.input.index()
5376 self
.postfix_expression_stack
[-1].FuncCallText
= ''
5380 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 41):
5383 # C.g:353:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5384 # C.g:353:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5385 self
.following
.append(self
.FOLLOW_primary_expression_in_postfix_expression1352
)
5386 p
= self
.primary_expression()
5387 self
.following
.pop()
5390 if self
.backtracking
== 0:
5391 self
.postfix_expression_stack
[-1].FuncCallText
+= self
.input.toString(p
.start
,p
.stop
)
5393 # C.g:354:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5396 LA65
= self
.input.LA(1)
5398 LA65_1
= self
.input.LA(2)
5400 if (LA65_1
== IDENTIFIER
) :
5401 LA65_30
= self
.input.LA(3)
5403 if (self
.synpred119()) :
5412 LA65
= self
.input.LA(2)
5415 elif LA65
== IDENTIFIER
:
5416 LA65_43
= self
.input.LA(3)
5418 if (self
.synpred116()) :
5420 elif (self
.synpred117()) :
5424 elif LA65
== HEX_LITERAL
or LA65
== OCTAL_LITERAL
or LA65
== DECIMAL_LITERAL
or LA65
== CHARACTER_LITERAL
or LA65
== STRING_LITERAL
or LA65
== FLOATING_POINT_LITERAL
or LA65
== 61 or LA65
== 67 or LA65
== 68 or LA65
== 71 or LA65
== 72 or LA65
== 73 or LA65
== 76 or LA65
== 77 or LA65
== 78:
5427 LA65_53
= self
.input.LA(3)
5429 if (self
.synpred116()) :
5431 elif (self
.synpred117()) :
5435 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:
5448 # C.g:354:13: '[' expression ']'
5449 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1368
)
5452 self
.following
.append(self
.FOLLOW_expression_in_postfix_expression1370
)
5454 self
.following
.pop()
5457 self
.match(self
.input, 64, self
.FOLLOW_64_in_postfix_expression1372
)
5463 # C.g:355:13: '(' a= ')'
5464 self
.match(self
.input, 61, self
.FOLLOW_61_in_postfix_expression1386
)
5467 a
= self
.input.LT(1)
5468 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1390
)
5471 if self
.backtracking
== 0:
5472 self
.StoreFunctionCalling(p
.start
.line
, p
.start
.charPositionInLine
, a
.line
, a
.charPositionInLine
, self
.postfix_expression_stack
[-1].FuncCallText
, '')
5477 # C.g:356:13: '(' c= argument_expression_list b= ')'
5478 self
.match(self
.input, 61, self
.FOLLOW_61_in_postfix_expression1405
)
5481 self
.following
.append(self
.FOLLOW_argument_expression_list_in_postfix_expression1409
)
5482 c
= self
.argument_expression_list()
5483 self
.following
.pop()
5486 b
= self
.input.LT(1)
5487 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1413
)
5490 if self
.backtracking
== 0:
5491 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
))
5496 # C.g:357:13: '(' macro_parameter_list ')'
5497 self
.match(self
.input, 61, self
.FOLLOW_61_in_postfix_expression1429
)
5500 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_postfix_expression1431
)
5501 self
.macro_parameter_list()
5502 self
.following
.pop()
5505 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1433
)
5511 # C.g:358:13: '.' x= IDENTIFIER
5512 self
.match(self
.input, 74, self
.FOLLOW_74_in_postfix_expression1447
)
5515 x
= self
.input.LT(1)
5516 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1451
)
5519 if self
.backtracking
== 0:
5520 self
.postfix_expression_stack
[-1].FuncCallText
+= '.' + x
.text
5525 # C.g:359:13: '*' y= IDENTIFIER
5526 self
.match(self
.input, 65, self
.FOLLOW_65_in_postfix_expression1467
)
5529 y
= self
.input.LT(1)
5530 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1471
)
5533 if self
.backtracking
== 0:
5534 self
.postfix_expression_stack
[-1].FuncCallText
= y
.text
5539 # C.g:360:13: '->' z= IDENTIFIER
5540 self
.match(self
.input, 75, self
.FOLLOW_75_in_postfix_expression1487
)
5543 z
= self
.input.LT(1)
5544 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1491
)
5547 if self
.backtracking
== 0:
5548 self
.postfix_expression_stack
[-1].FuncCallText
+= '->' + z
.text
5554 self
.match(self
.input, 71, self
.FOLLOW_71_in_postfix_expression1507
)
5561 self
.match(self
.input, 72, self
.FOLLOW_72_in_postfix_expression1521
)
5574 except RecognitionException
, re
:
5575 self
.reportError(re
)
5576 self
.recover(self
.input, re
)
5578 if self
.backtracking
> 0:
5579 self
.memoize(self
.input, 41, postfix_expression_StartIndex
)
5581 self
.postfix_expression_stack
.pop()
5586 # $ANTLR end postfix_expression
5589 # $ANTLR start macro_parameter_list
5590 # C.g:366:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5591 def macro_parameter_list(self
, ):
5593 macro_parameter_list_StartIndex
= self
.input.index()
5596 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 42):
5599 # C.g:367:2: ( parameter_declaration ( ',' parameter_declaration )* )
5600 # C.g:367:4: parameter_declaration ( ',' parameter_declaration )*
5601 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1544
)
5602 self
.parameter_declaration()
5603 self
.following
.pop()
5606 # C.g:367:26: ( ',' parameter_declaration )*
5609 LA66_0
= self
.input.LA(1)
5616 # C.g:367:27: ',' parameter_declaration
5617 self
.match(self
.input, 27, self
.FOLLOW_27_in_macro_parameter_list1547
)
5620 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1549
)
5621 self
.parameter_declaration()
5622 self
.following
.pop()
5635 except RecognitionException
, re
:
5636 self
.reportError(re
)
5637 self
.recover(self
.input, re
)
5639 if self
.backtracking
> 0:
5640 self
.memoize(self
.input, 42, macro_parameter_list_StartIndex
)
5646 # $ANTLR end macro_parameter_list
5649 # $ANTLR start unary_operator
5650 # C.g:370:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5651 def unary_operator(self
, ):
5653 unary_operator_StartIndex
= self
.input.index()
5656 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 43):
5659 # C.g:371:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5661 if self
.input.LA(1) == 65 or (67 <= self
.input.LA(1) <= 68) or (76 <= self
.input.LA(1) <= 78):
5662 self
.input.consume();
5663 self
.errorRecovery
= False
5667 if self
.backtracking
> 0:
5671 mse
= MismatchedSetException(None, self
.input)
5672 self
.recoverFromMismatchedSet(
5673 self
.input, mse
, self
.FOLLOW_set_in_unary_operator0
5682 except RecognitionException
, re
:
5683 self
.reportError(re
)
5684 self
.recover(self
.input, re
)
5686 if self
.backtracking
> 0:
5687 self
.memoize(self
.input, 43, unary_operator_StartIndex
)
5693 # $ANTLR end unary_operator
5695 class primary_expression_return(object):
5702 # $ANTLR start primary_expression
5703 # C.g:379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5704 def primary_expression(self
, ):
5706 retval
= self
.primary_expression_return()
5707 retval
.start
= self
.input.LT(1)
5708 primary_expression_StartIndex
= self
.input.index()
5711 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 44):
5714 # C.g:380:2: ( IDENTIFIER | constant | '(' expression ')' )
5716 LA67
= self
.input.LA(1)
5717 if LA67
== IDENTIFIER
:
5718 LA67_1
= self
.input.LA(2)
5720 if (LA67_1
== IDENTIFIER
or LA67_1
== STRING_LITERAL
) :
5722 elif (LA67_1
== EOF
or LA67_1
== 25 or (27 <= LA67_1
<= 28) or LA67_1
== 44 or LA67_1
== 47 or LA67_1
== 53 or (61 <= LA67_1
<= 65) or (67 <= LA67_1
<= 72) or (74 <= LA67_1
<= 76) or (79 <= LA67_1
<= 101)) :
5725 if self
.backtracking
> 0:
5729 nvae
= NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self
.input)
5733 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
:
5738 if self
.backtracking
> 0:
5742 nvae
= NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self
.input)
5747 # C.g:380:4: IDENTIFIER
5748 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_primary_expression1598
)
5754 # C.g:381:4: constant
5755 self
.following
.append(self
.FOLLOW_constant_in_primary_expression1603
)
5757 self
.following
.pop()
5763 # C.g:382:4: '(' expression ')'
5764 self
.match(self
.input, 61, self
.FOLLOW_61_in_primary_expression1608
)
5767 self
.following
.append(self
.FOLLOW_expression_in_primary_expression1610
)
5769 self
.following
.pop()
5772 self
.match(self
.input, 62, self
.FOLLOW_62_in_primary_expression1612
)
5777 retval
.stop
= self
.input.LT(-1)
5780 except RecognitionException
, re
:
5781 self
.reportError(re
)
5782 self
.recover(self
.input, re
)
5784 if self
.backtracking
> 0:
5785 self
.memoize(self
.input, 44, primary_expression_StartIndex
)
5791 # $ANTLR end primary_expression
5794 # $ANTLR start constant
5795 # C.g:385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5796 def constant(self
, ):
5798 constant_StartIndex
= self
.input.index()
5801 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 45):
5804 # C.g:386:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5806 LA72
= self
.input.LA(1)
5807 if LA72
== HEX_LITERAL
:
5809 elif LA72
== OCTAL_LITERAL
:
5811 elif LA72
== DECIMAL_LITERAL
:
5813 elif LA72
== CHARACTER_LITERAL
:
5815 elif LA72
== IDENTIFIER
or LA72
== STRING_LITERAL
:
5817 elif LA72
== FLOATING_POINT_LITERAL
:
5820 if self
.backtracking
> 0:
5824 nvae
= NoViableAltException("385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self
.input)
5829 # C.g:386:9: HEX_LITERAL
5830 self
.match(self
.input, HEX_LITERAL
, self
.FOLLOW_HEX_LITERAL_in_constant1628
)
5836 # C.g:387:9: OCTAL_LITERAL
5837 self
.match(self
.input, OCTAL_LITERAL
, self
.FOLLOW_OCTAL_LITERAL_in_constant1638
)
5843 # C.g:388:9: DECIMAL_LITERAL
5844 self
.match(self
.input, DECIMAL_LITERAL
, self
.FOLLOW_DECIMAL_LITERAL_in_constant1648
)
5850 # C.g:389:7: CHARACTER_LITERAL
5851 self
.match(self
.input, CHARACTER_LITERAL
, self
.FOLLOW_CHARACTER_LITERAL_in_constant1656
)
5857 # C.g:390:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5858 # C.g:390:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5862 LA70_0
= self
.input.LA(1)
5864 if (LA70_0
== IDENTIFIER
) :
5865 LA70_1
= self
.input.LA(2)
5867 if (LA70_1
== IDENTIFIER
) :
5868 LA70_61
= self
.input.LA(3)
5870 if (self
.synpred137()) :
5874 elif (LA70_1
== STRING_LITERAL
) :
5878 elif (LA70_0
== STRING_LITERAL
) :
5883 # C.g:390:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5884 # C.g:390:8: ( IDENTIFIER )*
5887 LA68_0
= self
.input.LA(1)
5889 if (LA68_0
== IDENTIFIER
) :
5894 # C.g:0:0: IDENTIFIER
5895 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1665
)
5904 # C.g:390:20: ( STRING_LITERAL )+
5908 LA69_0
= self
.input.LA(1)
5910 if (LA69_0
== STRING_LITERAL
) :
5911 LA69_31
= self
.input.LA(2)
5913 if (self
.synpred136()) :
5920 # C.g:0:0: STRING_LITERAL
5921 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_constant1668
)
5930 if self
.backtracking
> 0:
5934 eee
= EarlyExitException(69, self
.input)
5946 if self
.backtracking
> 0:
5950 eee
= EarlyExitException(70, self
.input)
5956 # C.g:390:38: ( IDENTIFIER )*
5959 LA71_0
= self
.input.LA(1)
5961 if (LA71_0
== IDENTIFIER
) :
5966 # C.g:0:0: IDENTIFIER
5967 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1673
)
5979 # C.g:391:9: FLOATING_POINT_LITERAL
5980 self
.match(self
.input, FLOATING_POINT_LITERAL
, self
.FOLLOW_FLOATING_POINT_LITERAL_in_constant1684
)
5986 except RecognitionException
, re
:
5987 self
.reportError(re
)
5988 self
.recover(self
.input, re
)
5990 if self
.backtracking
> 0:
5991 self
.memoize(self
.input, 45, constant_StartIndex
)
5997 # $ANTLR end constant
5999 class expression_return(object):
6006 # $ANTLR start expression
6007 # C.g:396:1: expression : assignment_expression ( ',' assignment_expression )* ;
6008 def expression(self
, ):
6010 retval
= self
.expression_return()
6011 retval
.start
= self
.input.LT(1)
6012 expression_StartIndex
= self
.input.index()
6015 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 46):
6018 # C.g:397:2: ( assignment_expression ( ',' assignment_expression )* )
6019 # C.g:397:4: assignment_expression ( ',' assignment_expression )*
6020 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1700
)
6021 self
.assignment_expression()
6022 self
.following
.pop()
6025 # C.g:397:26: ( ',' assignment_expression )*
6028 LA73_0
= self
.input.LA(1)
6035 # C.g:397:27: ',' assignment_expression
6036 self
.match(self
.input, 27, self
.FOLLOW_27_in_expression1703
)
6039 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1705
)
6040 self
.assignment_expression()
6041 self
.following
.pop()
6053 retval
.stop
= self
.input.LT(-1)
6056 except RecognitionException
, re
:
6057 self
.reportError(re
)
6058 self
.recover(self
.input, re
)
6060 if self
.backtracking
> 0:
6061 self
.memoize(self
.input, 46, expression_StartIndex
)
6067 # $ANTLR end expression
6070 # $ANTLR start constant_expression
6071 # C.g:400:1: constant_expression : conditional_expression ;
6072 def constant_expression(self
, ):
6074 constant_expression_StartIndex
= self
.input.index()
6077 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 47):
6080 # C.g:401:2: ( conditional_expression )
6081 # C.g:401:4: conditional_expression
6082 self
.following
.append(self
.FOLLOW_conditional_expression_in_constant_expression1718
)
6083 self
.conditional_expression()
6084 self
.following
.pop()
6091 except RecognitionException
, re
:
6092 self
.reportError(re
)
6093 self
.recover(self
.input, re
)
6095 if self
.backtracking
> 0:
6096 self
.memoize(self
.input, 47, constant_expression_StartIndex
)
6102 # $ANTLR end constant_expression
6105 # $ANTLR start assignment_expression
6106 # C.g:404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6107 def assignment_expression(self
, ):
6109 assignment_expression_StartIndex
= self
.input.index()
6112 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 48):
6115 # C.g:405:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6117 LA74
= self
.input.LA(1)
6118 if LA74
== IDENTIFIER
:
6119 LA74
= self
.input.LA(2)
6120 if LA74
== STRING_LITERAL
:
6121 LA74_13
= self
.input.LA(3)
6123 if (self
.synpred141()) :
6128 if self
.backtracking
> 0:
6132 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self
.input)
6136 elif LA74
== IDENTIFIER
:
6137 LA74_14
= self
.input.LA(3)
6139 if (self
.synpred141()) :
6144 if self
.backtracking
> 0:
6148 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self
.input)
6153 LA74_15
= self
.input.LA(3)
6155 if (self
.synpred141()) :
6160 if self
.backtracking
> 0:
6164 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self
.input)
6169 LA74_16
= self
.input.LA(3)
6171 if (self
.synpred141()) :
6176 if self
.backtracking
> 0:
6180 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self
.input)
6185 LA74_17
= self
.input.LA(3)
6187 if (self
.synpred141()) :
6192 if self
.backtracking
> 0:
6196 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self
.input)
6201 LA74_18
= self
.input.LA(3)
6203 if (self
.synpred141()) :
6208 if self
.backtracking
> 0:
6212 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self
.input)
6217 LA74_19
= self
.input.LA(3)
6219 if (self
.synpred141()) :
6224 if self
.backtracking
> 0:
6228 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self
.input)
6233 LA74_20
= self
.input.LA(3)
6235 if (self
.synpred141()) :
6240 if self
.backtracking
> 0:
6244 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 20, self
.input)
6249 LA74_21
= self
.input.LA(3)
6251 if (self
.synpred141()) :
6256 if self
.backtracking
> 0:
6260 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self
.input)
6264 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 62 or LA74
== 64 or LA74
== 67 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 76 or LA74
== 89 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101:
6266 elif LA74
== 28 or LA74
== 79 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88:
6269 if self
.backtracking
> 0:
6273 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self
.input)
6277 elif LA74
== HEX_LITERAL
:
6278 LA74
= self
.input.LA(2)
6280 LA74_44
= self
.input.LA(3)
6282 if (self
.synpred141()) :
6287 if self
.backtracking
> 0:
6291 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self
.input)
6296 LA74_45
= self
.input.LA(3)
6298 if (self
.synpred141()) :
6303 if self
.backtracking
> 0:
6307 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self
.input)
6312 LA74_46
= self
.input.LA(3)
6314 if (self
.synpred141()) :
6319 if self
.backtracking
> 0:
6323 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self
.input)
6328 LA74_47
= self
.input.LA(3)
6330 if (self
.synpred141()) :
6335 if self
.backtracking
> 0:
6339 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self
.input)
6344 LA74_48
= self
.input.LA(3)
6346 if (self
.synpred141()) :
6351 if self
.backtracking
> 0:
6355 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self
.input)
6360 LA74_49
= self
.input.LA(3)
6362 if (self
.synpred141()) :
6367 if self
.backtracking
> 0:
6371 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self
.input)
6376 LA74_50
= self
.input.LA(3)
6378 if (self
.synpred141()) :
6383 if self
.backtracking
> 0:
6387 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self
.input)
6391 elif LA74
== 28 or LA74
== 79 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88:
6393 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 62 or LA74
== 64 or LA74
== 67 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 76 or LA74
== 89 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101:
6396 if self
.backtracking
> 0:
6400 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self
.input)
6404 elif LA74
== OCTAL_LITERAL
:
6405 LA74
= self
.input.LA(2)
6407 LA74_73
= self
.input.LA(3)
6409 if (self
.synpred141()) :
6414 if self
.backtracking
> 0:
6418 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self
.input)
6423 LA74_74
= self
.input.LA(3)
6425 if (self
.synpred141()) :
6430 if self
.backtracking
> 0:
6434 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self
.input)
6439 LA74_75
= self
.input.LA(3)
6441 if (self
.synpred141()) :
6446 if self
.backtracking
> 0:
6450 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self
.input)
6455 LA74_76
= self
.input.LA(3)
6457 if (self
.synpred141()) :
6462 if self
.backtracking
> 0:
6466 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self
.input)
6471 LA74_77
= self
.input.LA(3)
6473 if (self
.synpred141()) :
6478 if self
.backtracking
> 0:
6482 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self
.input)
6487 LA74_78
= self
.input.LA(3)
6489 if (self
.synpred141()) :
6494 if self
.backtracking
> 0:
6498 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self
.input)
6503 LA74_79
= self
.input.LA(3)
6505 if (self
.synpred141()) :
6510 if self
.backtracking
> 0:
6514 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self
.input)
6518 elif LA74
== 28 or LA74
== 79 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88:
6520 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 62 or LA74
== 64 or LA74
== 67 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 76 or LA74
== 89 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101:
6523 if self
.backtracking
> 0:
6527 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self
.input)
6531 elif LA74
== DECIMAL_LITERAL
:
6532 LA74
= self
.input.LA(2)
6534 LA74_102
= self
.input.LA(3)
6536 if (self
.synpred141()) :
6541 if self
.backtracking
> 0:
6545 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self
.input)
6550 LA74_103
= self
.input.LA(3)
6552 if (self
.synpred141()) :
6557 if self
.backtracking
> 0:
6561 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self
.input)
6566 LA74_104
= self
.input.LA(3)
6568 if (self
.synpred141()) :
6573 if self
.backtracking
> 0:
6577 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self
.input)
6582 LA74_105
= self
.input.LA(3)
6584 if (self
.synpred141()) :
6589 if self
.backtracking
> 0:
6593 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self
.input)
6598 LA74_106
= self
.input.LA(3)
6600 if (self
.synpred141()) :
6605 if self
.backtracking
> 0:
6609 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self
.input)
6614 LA74_107
= self
.input.LA(3)
6616 if (self
.synpred141()) :
6621 if self
.backtracking
> 0:
6625 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self
.input)
6630 LA74_108
= self
.input.LA(3)
6632 if (self
.synpred141()) :
6637 if self
.backtracking
> 0:
6641 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self
.input)
6645 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 62 or LA74
== 64 or LA74
== 67 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 76 or LA74
== 89 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101:
6647 elif LA74
== 28 or LA74
== 79 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88:
6650 if self
.backtracking
> 0:
6654 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self
.input)
6658 elif LA74
== CHARACTER_LITERAL
:
6659 LA74
= self
.input.LA(2)
6661 LA74_131
= self
.input.LA(3)
6663 if (self
.synpred141()) :
6668 if self
.backtracking
> 0:
6672 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self
.input)
6677 LA74_132
= self
.input.LA(3)
6679 if (self
.synpred141()) :
6684 if self
.backtracking
> 0:
6688 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self
.input)
6693 LA74_133
= self
.input.LA(3)
6695 if (self
.synpred141()) :
6700 if self
.backtracking
> 0:
6704 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self
.input)
6709 LA74_134
= self
.input.LA(3)
6711 if (self
.synpred141()) :
6716 if self
.backtracking
> 0:
6720 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self
.input)
6725 LA74_135
= self
.input.LA(3)
6727 if (self
.synpred141()) :
6732 if self
.backtracking
> 0:
6736 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self
.input)
6741 LA74_136
= self
.input.LA(3)
6743 if (self
.synpred141()) :
6748 if self
.backtracking
> 0:
6752 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self
.input)
6757 LA74_137
= self
.input.LA(3)
6759 if (self
.synpred141()) :
6764 if self
.backtracking
> 0:
6768 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self
.input)
6772 elif LA74
== 28 or LA74
== 79 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88:
6774 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 62 or LA74
== 64 or LA74
== 67 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 76 or LA74
== 89 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101:
6777 if self
.backtracking
> 0:
6781 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self
.input)
6785 elif LA74
== STRING_LITERAL
:
6786 LA74
= self
.input.LA(2)
6787 if LA74
== IDENTIFIER
:
6788 LA74_160
= self
.input.LA(3)
6790 if (self
.synpred141()) :
6795 if self
.backtracking
> 0:
6799 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self
.input)
6804 LA74_161
= self
.input.LA(3)
6806 if (self
.synpred141()) :
6811 if self
.backtracking
> 0:
6815 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self
.input)
6820 LA74_162
= self
.input.LA(3)
6822 if (self
.synpred141()) :
6827 if self
.backtracking
> 0:
6831 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self
.input)
6836 LA74_163
= self
.input.LA(3)
6838 if (self
.synpred141()) :
6843 if self
.backtracking
> 0:
6847 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self
.input)
6852 LA74_164
= self
.input.LA(3)
6854 if (self
.synpred141()) :
6859 if self
.backtracking
> 0:
6863 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self
.input)
6868 LA74_165
= self
.input.LA(3)
6870 if (self
.synpred141()) :
6875 if self
.backtracking
> 0:
6879 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self
.input)
6884 LA74_166
= self
.input.LA(3)
6886 if (self
.synpred141()) :
6891 if self
.backtracking
> 0:
6895 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self
.input)
6900 LA74_167
= self
.input.LA(3)
6902 if (self
.synpred141()) :
6907 if self
.backtracking
> 0:
6911 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self
.input)
6915 elif LA74
== 28 or LA74
== 79 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88:
6917 elif LA74
== STRING_LITERAL
:
6918 LA74_169
= self
.input.LA(3)
6920 if (self
.synpred141()) :
6925 if self
.backtracking
> 0:
6929 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 169, self
.input)
6933 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 62 or LA74
== 64 or LA74
== 67 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 76 or LA74
== 89 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101:
6936 if self
.backtracking
> 0:
6940 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self
.input)
6944 elif LA74
== FLOATING_POINT_LITERAL
:
6945 LA74
= self
.input.LA(2)
6947 LA74_191
= self
.input.LA(3)
6949 if (self
.synpred141()) :
6954 if self
.backtracking
> 0:
6958 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self
.input)
6963 LA74_192
= self
.input.LA(3)
6965 if (self
.synpred141()) :
6970 if self
.backtracking
> 0:
6974 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self
.input)
6979 LA74_193
= self
.input.LA(3)
6981 if (self
.synpred141()) :
6986 if self
.backtracking
> 0:
6990 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self
.input)
6995 LA74_194
= self
.input.LA(3)
6997 if (self
.synpred141()) :
7002 if self
.backtracking
> 0:
7006 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self
.input)
7011 LA74_195
= self
.input.LA(3)
7013 if (self
.synpred141()) :
7018 if self
.backtracking
> 0:
7022 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self
.input)
7027 LA74_196
= self
.input.LA(3)
7029 if (self
.synpred141()) :
7034 if self
.backtracking
> 0:
7038 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self
.input)
7043 LA74_197
= self
.input.LA(3)
7045 if (self
.synpred141()) :
7050 if self
.backtracking
> 0:
7054 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self
.input)
7058 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 62 or LA74
== 64 or LA74
== 67 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 76 or LA74
== 89 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101:
7060 elif LA74
== 28 or LA74
== 79 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88:
7063 if self
.backtracking
> 0:
7067 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self
.input)
7072 LA74
= self
.input.LA(2)
7073 if LA74
== IDENTIFIER
:
7074 LA74_220
= self
.input.LA(3)
7076 if (self
.synpred141()) :
7081 if self
.backtracking
> 0:
7085 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self
.input)
7089 elif LA74
== HEX_LITERAL
:
7090 LA74_221
= self
.input.LA(3)
7092 if (self
.synpred141()) :
7097 if self
.backtracking
> 0:
7101 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self
.input)
7105 elif LA74
== OCTAL_LITERAL
:
7106 LA74_222
= self
.input.LA(3)
7108 if (self
.synpred141()) :
7113 if self
.backtracking
> 0:
7117 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self
.input)
7121 elif LA74
== DECIMAL_LITERAL
:
7122 LA74_223
= self
.input.LA(3)
7124 if (self
.synpred141()) :
7129 if self
.backtracking
> 0:
7133 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self
.input)
7137 elif LA74
== CHARACTER_LITERAL
:
7138 LA74_224
= self
.input.LA(3)
7140 if (self
.synpred141()) :
7145 if self
.backtracking
> 0:
7149 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self
.input)
7153 elif LA74
== STRING_LITERAL
:
7154 LA74_225
= self
.input.LA(3)
7156 if (self
.synpred141()) :
7161 if self
.backtracking
> 0:
7165 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self
.input)
7169 elif LA74
== FLOATING_POINT_LITERAL
:
7170 LA74_226
= self
.input.LA(3)
7172 if (self
.synpred141()) :
7177 if self
.backtracking
> 0:
7181 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self
.input)
7186 LA74_227
= self
.input.LA(3)
7188 if (self
.synpred141()) :
7193 if self
.backtracking
> 0:
7197 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self
.input)
7202 LA74_228
= self
.input.LA(3)
7204 if (self
.synpred141()) :
7209 if self
.backtracking
> 0:
7213 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self
.input)
7218 LA74_229
= self
.input.LA(3)
7220 if (self
.synpred141()) :
7225 if self
.backtracking
> 0:
7229 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self
.input)
7233 elif LA74
== 65 or LA74
== 67 or LA74
== 68 or LA74
== 76 or LA74
== 77 or LA74
== 78:
7234 LA74_230
= self
.input.LA(3)
7236 if (self
.synpred141()) :
7241 if self
.backtracking
> 0:
7245 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self
.input)
7250 LA74_231
= self
.input.LA(3)
7252 if (self
.synpred141()) :
7257 if self
.backtracking
> 0:
7261 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self
.input)
7265 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:
7268 if self
.backtracking
> 0:
7272 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self
.input)
7277 LA74
= self
.input.LA(2)
7278 if LA74
== IDENTIFIER
:
7279 LA74_244
= self
.input.LA(3)
7281 if (self
.synpred141()) :
7286 if self
.backtracking
> 0:
7290 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self
.input)
7294 elif LA74
== HEX_LITERAL
:
7295 LA74_245
= self
.input.LA(3)
7297 if (self
.synpred141()) :
7302 if self
.backtracking
> 0:
7306 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self
.input)
7310 elif LA74
== OCTAL_LITERAL
:
7311 LA74_246
= self
.input.LA(3)
7313 if (self
.synpred141()) :
7318 if self
.backtracking
> 0:
7322 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self
.input)
7326 elif LA74
== DECIMAL_LITERAL
:
7327 LA74_247
= self
.input.LA(3)
7329 if (self
.synpred141()) :
7334 if self
.backtracking
> 0:
7338 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self
.input)
7342 elif LA74
== CHARACTER_LITERAL
:
7343 LA74_248
= self
.input.LA(3)
7345 if (self
.synpred141()) :
7350 if self
.backtracking
> 0:
7354 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self
.input)
7358 elif LA74
== STRING_LITERAL
:
7359 LA74_249
= self
.input.LA(3)
7361 if (self
.synpred141()) :
7366 if self
.backtracking
> 0:
7370 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self
.input)
7374 elif LA74
== FLOATING_POINT_LITERAL
:
7375 LA74_250
= self
.input.LA(3)
7377 if (self
.synpred141()) :
7382 if self
.backtracking
> 0:
7386 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self
.input)
7391 LA74_251
= self
.input.LA(3)
7393 if (self
.synpred141()) :
7398 if self
.backtracking
> 0:
7402 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self
.input)
7407 LA74_252
= self
.input.LA(3)
7409 if (self
.synpred141()) :
7414 if self
.backtracking
> 0:
7418 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self
.input)
7423 LA74_253
= self
.input.LA(3)
7425 if (self
.synpred141()) :
7430 if self
.backtracking
> 0:
7434 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self
.input)
7438 elif LA74
== 65 or LA74
== 67 or LA74
== 68 or LA74
== 76 or LA74
== 77 or LA74
== 78:
7439 LA74_254
= self
.input.LA(3)
7441 if (self
.synpred141()) :
7446 if self
.backtracking
> 0:
7450 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self
.input)
7455 LA74_255
= self
.input.LA(3)
7457 if (self
.synpred141()) :
7462 if self
.backtracking
> 0:
7466 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self
.input)
7471 if self
.backtracking
> 0:
7475 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self
.input)
7480 LA74
= self
.input.LA(2)
7481 if LA74
== IDENTIFIER
:
7482 LA74_256
= self
.input.LA(3)
7484 if (self
.synpred141()) :
7489 if self
.backtracking
> 0:
7493 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self
.input)
7497 elif LA74
== HEX_LITERAL
:
7498 LA74_257
= self
.input.LA(3)
7500 if (self
.synpred141()) :
7505 if self
.backtracking
> 0:
7509 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self
.input)
7513 elif LA74
== OCTAL_LITERAL
:
7514 LA74_258
= self
.input.LA(3)
7516 if (self
.synpred141()) :
7521 if self
.backtracking
> 0:
7525 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self
.input)
7529 elif LA74
== DECIMAL_LITERAL
:
7530 LA74_259
= self
.input.LA(3)
7532 if (self
.synpred141()) :
7537 if self
.backtracking
> 0:
7541 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self
.input)
7545 elif LA74
== CHARACTER_LITERAL
:
7546 LA74_260
= self
.input.LA(3)
7548 if (self
.synpred141()) :
7553 if self
.backtracking
> 0:
7557 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self
.input)
7561 elif LA74
== STRING_LITERAL
:
7562 LA74_261
= self
.input.LA(3)
7564 if (self
.synpred141()) :
7569 if self
.backtracking
> 0:
7573 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self
.input)
7577 elif LA74
== FLOATING_POINT_LITERAL
:
7578 LA74_262
= self
.input.LA(3)
7580 if (self
.synpred141()) :
7585 if self
.backtracking
> 0:
7589 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self
.input)
7594 LA74_263
= self
.input.LA(3)
7596 if (self
.synpred141()) :
7601 if self
.backtracking
> 0:
7605 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self
.input)
7610 LA74_264
= self
.input.LA(3)
7612 if (self
.synpred141()) :
7617 if self
.backtracking
> 0:
7621 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self
.input)
7626 LA74_265
= self
.input.LA(3)
7628 if (self
.synpred141()) :
7633 if self
.backtracking
> 0:
7637 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self
.input)
7641 elif LA74
== 65 or LA74
== 67 or LA74
== 68 or LA74
== 76 or LA74
== 77 or LA74
== 78:
7642 LA74_266
= self
.input.LA(3)
7644 if (self
.synpred141()) :
7649 if self
.backtracking
> 0:
7653 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self
.input)
7658 LA74_267
= self
.input.LA(3)
7660 if (self
.synpred141()) :
7665 if self
.backtracking
> 0:
7669 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self
.input)
7674 if self
.backtracking
> 0:
7678 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self
.input)
7682 elif LA74
== 65 or LA74
== 67 or LA74
== 68 or LA74
== 76 or LA74
== 77 or LA74
== 78:
7683 LA74
= self
.input.LA(2)
7685 LA74_268
= self
.input.LA(3)
7687 if (self
.synpred141()) :
7692 if self
.backtracking
> 0:
7696 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self
.input)
7700 elif LA74
== IDENTIFIER
:
7701 LA74_269
= self
.input.LA(3)
7703 if (self
.synpred141()) :
7708 if self
.backtracking
> 0:
7712 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self
.input)
7716 elif LA74
== HEX_LITERAL
:
7717 LA74_270
= self
.input.LA(3)
7719 if (self
.synpred141()) :
7724 if self
.backtracking
> 0:
7728 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self
.input)
7732 elif LA74
== OCTAL_LITERAL
:
7733 LA74_271
= self
.input.LA(3)
7735 if (self
.synpred141()) :
7740 if self
.backtracking
> 0:
7744 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self
.input)
7748 elif LA74
== DECIMAL_LITERAL
:
7749 LA74_272
= self
.input.LA(3)
7751 if (self
.synpred141()) :
7756 if self
.backtracking
> 0:
7760 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self
.input)
7764 elif LA74
== CHARACTER_LITERAL
:
7765 LA74_273
= self
.input.LA(3)
7767 if (self
.synpred141()) :
7772 if self
.backtracking
> 0:
7776 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self
.input)
7780 elif LA74
== STRING_LITERAL
:
7781 LA74_274
= self
.input.LA(3)
7783 if (self
.synpred141()) :
7788 if self
.backtracking
> 0:
7792 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self
.input)
7796 elif LA74
== FLOATING_POINT_LITERAL
:
7797 LA74_275
= self
.input.LA(3)
7799 if (self
.synpred141()) :
7804 if self
.backtracking
> 0:
7808 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self
.input)
7813 LA74_276
= self
.input.LA(3)
7815 if (self
.synpred141()) :
7820 if self
.backtracking
> 0:
7824 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self
.input)
7829 LA74_277
= self
.input.LA(3)
7831 if (self
.synpred141()) :
7836 if self
.backtracking
> 0:
7840 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self
.input)
7844 elif LA74
== 65 or LA74
== 67 or LA74
== 68 or LA74
== 76 or LA74
== 77 or LA74
== 78:
7845 LA74_278
= self
.input.LA(3)
7847 if (self
.synpred141()) :
7852 if self
.backtracking
> 0:
7856 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self
.input)
7861 LA74_279
= self
.input.LA(3)
7863 if (self
.synpred141()) :
7868 if self
.backtracking
> 0:
7872 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self
.input)
7877 if self
.backtracking
> 0:
7881 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self
.input)
7886 LA74
= self
.input.LA(2)
7888 LA74_280
= self
.input.LA(3)
7890 if (self
.synpred141()) :
7895 if self
.backtracking
> 0:
7899 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self
.input)
7903 elif LA74
== IDENTIFIER
:
7904 LA74_281
= self
.input.LA(3)
7906 if (self
.synpred141()) :
7911 if self
.backtracking
> 0:
7915 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self
.input)
7919 elif LA74
== HEX_LITERAL
:
7920 LA74_282
= self
.input.LA(3)
7922 if (self
.synpred141()) :
7927 if self
.backtracking
> 0:
7931 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self
.input)
7935 elif LA74
== OCTAL_LITERAL
:
7936 LA74_283
= self
.input.LA(3)
7938 if (self
.synpred141()) :
7943 if self
.backtracking
> 0:
7947 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self
.input)
7951 elif LA74
== DECIMAL_LITERAL
:
7952 LA74_284
= self
.input.LA(3)
7954 if (self
.synpred141()) :
7959 if self
.backtracking
> 0:
7963 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self
.input)
7967 elif LA74
== CHARACTER_LITERAL
:
7968 LA74_285
= self
.input.LA(3)
7970 if (self
.synpred141()) :
7975 if self
.backtracking
> 0:
7979 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self
.input)
7983 elif LA74
== STRING_LITERAL
:
7984 LA74_286
= self
.input.LA(3)
7986 if (self
.synpred141()) :
7991 if self
.backtracking
> 0:
7995 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self
.input)
7999 elif LA74
== FLOATING_POINT_LITERAL
:
8000 LA74_287
= self
.input.LA(3)
8002 if (self
.synpred141()) :
8007 if self
.backtracking
> 0:
8011 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self
.input)
8016 LA74_288
= self
.input.LA(3)
8018 if (self
.synpred141()) :
8023 if self
.backtracking
> 0:
8027 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self
.input)
8032 LA74_289
= self
.input.LA(3)
8034 if (self
.synpred141()) :
8039 if self
.backtracking
> 0:
8043 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self
.input)
8047 elif LA74
== 65 or LA74
== 67 or LA74
== 68 or LA74
== 76 or LA74
== 77 or LA74
== 78:
8048 LA74_290
= self
.input.LA(3)
8050 if (self
.synpred141()) :
8055 if self
.backtracking
> 0:
8059 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self
.input)
8064 LA74_291
= self
.input.LA(3)
8066 if (self
.synpred141()) :
8071 if self
.backtracking
> 0:
8075 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self
.input)
8080 if self
.backtracking
> 0:
8084 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self
.input)
8089 if self
.backtracking
> 0:
8093 nvae
= NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self
.input)
8098 # C.g:405:4: lvalue assignment_operator assignment_expression
8099 self
.following
.append(self
.FOLLOW_lvalue_in_assignment_expression1729
)
8101 self
.following
.pop()
8104 self
.following
.append(self
.FOLLOW_assignment_operator_in_assignment_expression1731
)
8105 self
.assignment_operator()
8106 self
.following
.pop()
8109 self
.following
.append(self
.FOLLOW_assignment_expression_in_assignment_expression1733
)
8110 self
.assignment_expression()
8111 self
.following
.pop()
8117 # C.g:406:4: conditional_expression
8118 self
.following
.append(self
.FOLLOW_conditional_expression_in_assignment_expression1738
)
8119 self
.conditional_expression()
8120 self
.following
.pop()
8126 except RecognitionException
, re
:
8127 self
.reportError(re
)
8128 self
.recover(self
.input, re
)
8130 if self
.backtracking
> 0:
8131 self
.memoize(self
.input, 48, assignment_expression_StartIndex
)
8137 # $ANTLR end assignment_expression
8140 # $ANTLR start lvalue
8141 # C.g:409:1: lvalue : unary_expression ;
8144 lvalue_StartIndex
= self
.input.index()
8147 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 49):
8150 # C.g:410:2: ( unary_expression )
8151 # C.g:410:4: unary_expression
8152 self
.following
.append(self
.FOLLOW_unary_expression_in_lvalue1750
)
8153 self
.unary_expression()
8154 self
.following
.pop()
8161 except RecognitionException
, re
:
8162 self
.reportError(re
)
8163 self
.recover(self
.input, re
)
8165 if self
.backtracking
> 0:
8166 self
.memoize(self
.input, 49, lvalue_StartIndex
)
8175 # $ANTLR start assignment_operator
8176 # C.g:413:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8177 def assignment_operator(self
, ):
8179 assignment_operator_StartIndex
= self
.input.index()
8182 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 50):
8185 # C.g:414:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8187 if self
.input.LA(1) == 28 or (79 <= self
.input.LA(1) <= 88):
8188 self
.input.consume();
8189 self
.errorRecovery
= False
8193 if self
.backtracking
> 0:
8197 mse
= MismatchedSetException(None, self
.input)
8198 self
.recoverFromMismatchedSet(
8199 self
.input, mse
, self
.FOLLOW_set_in_assignment_operator0
8208 except RecognitionException
, re
:
8209 self
.reportError(re
)
8210 self
.recover(self
.input, re
)
8212 if self
.backtracking
> 0:
8213 self
.memoize(self
.input, 50, assignment_operator_StartIndex
)
8219 # $ANTLR end assignment_operator
8222 # $ANTLR start conditional_expression
8223 # C.g:427:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8224 def conditional_expression(self
, ):
8226 conditional_expression_StartIndex
= self
.input.index()
8232 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 51):
8235 # C.g:428:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8236 # C.g:428:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8237 self
.following
.append(self
.FOLLOW_logical_or_expression_in_conditional_expression1824
)
8238 e
= self
.logical_or_expression()
8239 self
.following
.pop()
8242 # C.g:428:28: ( '?' expression ':' conditional_expression )?
8244 LA75_0
= self
.input.LA(1)
8249 # C.g:428:29: '?' expression ':' conditional_expression
8250 self
.match(self
.input, 89, self
.FOLLOW_89_in_conditional_expression1827
)
8253 self
.following
.append(self
.FOLLOW_expression_in_conditional_expression1829
)
8255 self
.following
.pop()
8258 self
.match(self
.input, 47, self
.FOLLOW_47_in_conditional_expression1831
)
8261 self
.following
.append(self
.FOLLOW_conditional_expression_in_conditional_expression1833
)
8262 self
.conditional_expression()
8263 self
.following
.pop()
8266 if self
.backtracking
== 0:
8267 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
8276 except RecognitionException
, re
:
8277 self
.reportError(re
)
8278 self
.recover(self
.input, re
)
8280 if self
.backtracking
> 0:
8281 self
.memoize(self
.input, 51, conditional_expression_StartIndex
)
8287 # $ANTLR end conditional_expression
8289 class logical_or_expression_return(object):
8296 # $ANTLR start logical_or_expression
8297 # C.g:431:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8298 def logical_or_expression(self
, ):
8300 retval
= self
.logical_or_expression_return()
8301 retval
.start
= self
.input.LT(1)
8302 logical_or_expression_StartIndex
= self
.input.index()
8305 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 52):
8308 # C.g:432:2: ( logical_and_expression ( '||' logical_and_expression )* )
8309 # C.g:432:4: logical_and_expression ( '||' logical_and_expression )*
8310 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1848
)
8311 self
.logical_and_expression()
8312 self
.following
.pop()
8315 # C.g:432:27: ( '||' logical_and_expression )*
8318 LA76_0
= self
.input.LA(1)
8325 # C.g:432:28: '||' logical_and_expression
8326 self
.match(self
.input, 90, self
.FOLLOW_90_in_logical_or_expression1851
)
8329 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1853
)
8330 self
.logical_and_expression()
8331 self
.following
.pop()
8343 retval
.stop
= self
.input.LT(-1)
8346 except RecognitionException
, re
:
8347 self
.reportError(re
)
8348 self
.recover(self
.input, re
)
8350 if self
.backtracking
> 0:
8351 self
.memoize(self
.input, 52, logical_or_expression_StartIndex
)
8357 # $ANTLR end logical_or_expression
8360 # $ANTLR start logical_and_expression
8361 # C.g:435:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8362 def logical_and_expression(self
, ):
8364 logical_and_expression_StartIndex
= self
.input.index()
8367 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 53):
8370 # C.g:436:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8371 # C.g:436:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8372 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1866
)
8373 self
.inclusive_or_expression()
8374 self
.following
.pop()
8377 # C.g:436:28: ( '&&' inclusive_or_expression )*
8380 LA77_0
= self
.input.LA(1)
8387 # C.g:436:29: '&&' inclusive_or_expression
8388 self
.match(self
.input, 91, self
.FOLLOW_91_in_logical_and_expression1869
)
8391 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1871
)
8392 self
.inclusive_or_expression()
8393 self
.following
.pop()
8406 except RecognitionException
, re
:
8407 self
.reportError(re
)
8408 self
.recover(self
.input, re
)
8410 if self
.backtracking
> 0:
8411 self
.memoize(self
.input, 53, logical_and_expression_StartIndex
)
8417 # $ANTLR end logical_and_expression
8420 # $ANTLR start inclusive_or_expression
8421 # C.g:439:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8422 def inclusive_or_expression(self
, ):
8424 inclusive_or_expression_StartIndex
= self
.input.index()
8427 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 54):
8430 # C.g:440:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8431 # C.g:440:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8432 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1884
)
8433 self
.exclusive_or_expression()
8434 self
.following
.pop()
8437 # C.g:440:28: ( '|' exclusive_or_expression )*
8440 LA78_0
= self
.input.LA(1)
8447 # C.g:440:29: '|' exclusive_or_expression
8448 self
.match(self
.input, 92, self
.FOLLOW_92_in_inclusive_or_expression1887
)
8451 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1889
)
8452 self
.exclusive_or_expression()
8453 self
.following
.pop()
8466 except RecognitionException
, re
:
8467 self
.reportError(re
)
8468 self
.recover(self
.input, re
)
8470 if self
.backtracking
> 0:
8471 self
.memoize(self
.input, 54, inclusive_or_expression_StartIndex
)
8477 # $ANTLR end inclusive_or_expression
8480 # $ANTLR start exclusive_or_expression
8481 # C.g:443:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8482 def exclusive_or_expression(self
, ):
8484 exclusive_or_expression_StartIndex
= self
.input.index()
8487 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 55):
8490 # C.g:444:2: ( and_expression ( '^' and_expression )* )
8491 # C.g:444:4: and_expression ( '^' and_expression )*
8492 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1902
)
8493 self
.and_expression()
8494 self
.following
.pop()
8497 # C.g:444:19: ( '^' and_expression )*
8500 LA79_0
= self
.input.LA(1)
8507 # C.g:444:20: '^' and_expression
8508 self
.match(self
.input, 93, self
.FOLLOW_93_in_exclusive_or_expression1905
)
8511 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1907
)
8512 self
.and_expression()
8513 self
.following
.pop()
8526 except RecognitionException
, re
:
8527 self
.reportError(re
)
8528 self
.recover(self
.input, re
)
8530 if self
.backtracking
> 0:
8531 self
.memoize(self
.input, 55, exclusive_or_expression_StartIndex
)
8537 # $ANTLR end exclusive_or_expression
8540 # $ANTLR start and_expression
8541 # C.g:447:1: and_expression : equality_expression ( '&' equality_expression )* ;
8542 def and_expression(self
, ):
8544 and_expression_StartIndex
= self
.input.index()
8547 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 56):
8550 # C.g:448:2: ( equality_expression ( '&' equality_expression )* )
8551 # C.g:448:4: equality_expression ( '&' equality_expression )*
8552 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1920
)
8553 self
.equality_expression()
8554 self
.following
.pop()
8557 # C.g:448:24: ( '&' equality_expression )*
8560 LA80_0
= self
.input.LA(1)
8567 # C.g:448:25: '&' equality_expression
8568 self
.match(self
.input, 76, self
.FOLLOW_76_in_and_expression1923
)
8571 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1925
)
8572 self
.equality_expression()
8573 self
.following
.pop()
8586 except RecognitionException
, re
:
8587 self
.reportError(re
)
8588 self
.recover(self
.input, re
)
8590 if self
.backtracking
> 0:
8591 self
.memoize(self
.input, 56, and_expression_StartIndex
)
8597 # $ANTLR end and_expression
8600 # $ANTLR start equality_expression
8601 # C.g:450:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8602 def equality_expression(self
, ):
8604 equality_expression_StartIndex
= self
.input.index()
8607 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 57):
8610 # C.g:451:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8611 # C.g:451:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8612 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1937
)
8613 self
.relational_expression()
8614 self
.following
.pop()
8617 # C.g:451:26: ( ( '==' | '!=' ) relational_expression )*
8620 LA81_0
= self
.input.LA(1)
8622 if ((94 <= LA81_0
<= 95)) :
8627 # C.g:451:27: ( '==' | '!=' ) relational_expression
8628 if (94 <= self
.input.LA(1) <= 95):
8629 self
.input.consume();
8630 self
.errorRecovery
= False
8634 if self
.backtracking
> 0:
8638 mse
= MismatchedSetException(None, self
.input)
8639 self
.recoverFromMismatchedSet(
8640 self
.input, mse
, self
.FOLLOW_set_in_equality_expression1940
8645 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1946
)
8646 self
.relational_expression()
8647 self
.following
.pop()
8660 except RecognitionException
, re
:
8661 self
.reportError(re
)
8662 self
.recover(self
.input, re
)
8664 if self
.backtracking
> 0:
8665 self
.memoize(self
.input, 57, equality_expression_StartIndex
)
8671 # $ANTLR end equality_expression
8674 # $ANTLR start relational_expression
8675 # C.g:454:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8676 def relational_expression(self
, ):
8678 relational_expression_StartIndex
= self
.input.index()
8681 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 58):
8684 # C.g:455:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8685 # C.g:455:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8686 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1960
)
8687 self
.shift_expression()
8688 self
.following
.pop()
8691 # C.g:455:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8694 LA82_0
= self
.input.LA(1)
8696 if ((96 <= LA82_0
<= 99)) :
8701 # C.g:455:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8702 if (96 <= self
.input.LA(1) <= 99):
8703 self
.input.consume();
8704 self
.errorRecovery
= False
8708 if self
.backtracking
> 0:
8712 mse
= MismatchedSetException(None, self
.input)
8713 self
.recoverFromMismatchedSet(
8714 self
.input, mse
, self
.FOLLOW_set_in_relational_expression1963
8719 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1973
)
8720 self
.shift_expression()
8721 self
.following
.pop()
8734 except RecognitionException
, re
:
8735 self
.reportError(re
)
8736 self
.recover(self
.input, re
)
8738 if self
.backtracking
> 0:
8739 self
.memoize(self
.input, 58, relational_expression_StartIndex
)
8745 # $ANTLR end relational_expression
8748 # $ANTLR start shift_expression
8749 # C.g:458:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8750 def shift_expression(self
, ):
8752 shift_expression_StartIndex
= self
.input.index()
8755 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 59):
8758 # C.g:459:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8759 # C.g:459:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8760 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression1986
)
8761 self
.additive_expression()
8762 self
.following
.pop()
8765 # C.g:459:24: ( ( '<<' | '>>' ) additive_expression )*
8768 LA83_0
= self
.input.LA(1)
8770 if ((100 <= LA83_0
<= 101)) :
8775 # C.g:459:25: ( '<<' | '>>' ) additive_expression
8776 if (100 <= self
.input.LA(1) <= 101):
8777 self
.input.consume();
8778 self
.errorRecovery
= False
8782 if self
.backtracking
> 0:
8786 mse
= MismatchedSetException(None, self
.input)
8787 self
.recoverFromMismatchedSet(
8788 self
.input, mse
, self
.FOLLOW_set_in_shift_expression1989
8793 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression1995
)
8794 self
.additive_expression()
8795 self
.following
.pop()
8808 except RecognitionException
, re
:
8809 self
.reportError(re
)
8810 self
.recover(self
.input, re
)
8812 if self
.backtracking
> 0:
8813 self
.memoize(self
.input, 59, shift_expression_StartIndex
)
8819 # $ANTLR end shift_expression
8822 # $ANTLR start statement
8823 # C.g:464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
8824 def statement(self
, ):
8826 statement_StartIndex
= self
.input.index()
8829 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 60):
8832 # C.g:465:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
8834 LA84
= self
.input.LA(1)
8835 if LA84
== IDENTIFIER
:
8836 LA84
= self
.input.LA(2)
8840 LA84_44
= self
.input.LA(3)
8842 if (self
.synpred168()) :
8844 elif (self
.synpred172()) :
8846 elif (self
.synpred173()) :
8851 if self
.backtracking
> 0:
8855 nvae
= NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 44, self
.input)
8859 elif LA84
== STRING_LITERAL
or LA84
== 27 or LA84
== 28 or LA84
== 63 or LA84
== 67 or LA84
== 68 or LA84
== 69 or LA84
== 70 or LA84
== 71 or LA84
== 72 or LA84
== 74 or LA84
== 75 or LA84
== 76 or LA84
== 79 or LA84
== 80 or LA84
== 81 or LA84
== 82 or LA84
== 83 or LA84
== 84 or LA84
== 85 or LA84
== 86 or LA84
== 87 or LA84
== 88 or LA84
== 89 or LA84
== 90 or LA84
== 91 or LA84
== 92 or LA84
== 93 or LA84
== 94 or LA84
== 95 or LA84
== 96 or LA84
== 97 or LA84
== 98 or LA84
== 99 or LA84
== 100 or LA84
== 101:
8862 LA84_47
= self
.input.LA(3)
8864 if (self
.synpred168()) :
8869 if self
.backtracking
> 0:
8873 nvae
= NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self
.input)
8878 LA84_65
= self
.input.LA(3)
8880 if (self
.synpred168()) :
8885 if self
.backtracking
> 0:
8889 nvae
= NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 65, self
.input)
8893 elif LA84
== IDENTIFIER
:
8894 LA84_67
= self
.input.LA(3)
8896 if (self
.synpred168()) :
8901 if self
.backtracking
> 0:
8905 nvae
= NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 67, self
.input)
8909 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:
8912 if self
.backtracking
> 0:
8916 nvae
= NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self
.input)
8920 elif LA84
== 105 or LA84
== 106:
8924 elif LA84
== HEX_LITERAL
or LA84
== OCTAL_LITERAL
or LA84
== DECIMAL_LITERAL
or LA84
== CHARACTER_LITERAL
or LA84
== STRING_LITERAL
or LA84
== FLOATING_POINT_LITERAL
or LA84
== 25 or LA84
== 61 or LA84
== 65 or LA84
== 67 or LA84
== 68 or LA84
== 71 or LA84
== 72 or LA84
== 73 or LA84
== 76 or LA84
== 77 or LA84
== 78:
8926 elif LA84
== 107 or LA84
== 109:
8928 elif LA84
== 110 or LA84
== 111 or LA84
== 112:
8930 elif LA84
== 113 or LA84
== 114 or LA84
== 115 or LA84
== 116:
8938 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:
8941 if self
.backtracking
> 0:
8945 nvae
= NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self
.input)
8950 # C.g:465:4: labeled_statement
8951 self
.following
.append(self
.FOLLOW_labeled_statement_in_statement2010
)
8952 self
.labeled_statement()
8953 self
.following
.pop()
8959 # C.g:466:4: compound_statement
8960 self
.following
.append(self
.FOLLOW_compound_statement_in_statement2015
)
8961 self
.compound_statement()
8962 self
.following
.pop()
8968 # C.g:467:4: expression_statement
8969 self
.following
.append(self
.FOLLOW_expression_statement_in_statement2020
)
8970 self
.expression_statement()
8971 self
.following
.pop()
8977 # C.g:468:4: selection_statement
8978 self
.following
.append(self
.FOLLOW_selection_statement_in_statement2025
)
8979 self
.selection_statement()
8980 self
.following
.pop()
8986 # C.g:469:4: iteration_statement
8987 self
.following
.append(self
.FOLLOW_iteration_statement_in_statement2030
)
8988 self
.iteration_statement()
8989 self
.following
.pop()
8995 # C.g:470:4: jump_statement
8996 self
.following
.append(self
.FOLLOW_jump_statement_in_statement2035
)
8997 self
.jump_statement()
8998 self
.following
.pop()
9004 # C.g:471:4: macro_statement
9005 self
.following
.append(self
.FOLLOW_macro_statement_in_statement2040
)
9006 self
.macro_statement()
9007 self
.following
.pop()
9013 # C.g:472:4: asm2_statement
9014 self
.following
.append(self
.FOLLOW_asm2_statement_in_statement2045
)
9015 self
.asm2_statement()
9016 self
.following
.pop()
9022 # C.g:473:4: asm1_statement
9023 self
.following
.append(self
.FOLLOW_asm1_statement_in_statement2050
)
9024 self
.asm1_statement()
9025 self
.following
.pop()
9031 # C.g:474:4: asm_statement
9032 self
.following
.append(self
.FOLLOW_asm_statement_in_statement2055
)
9033 self
.asm_statement()
9034 self
.following
.pop()
9040 # C.g:475:4: declaration
9041 self
.following
.append(self
.FOLLOW_declaration_in_statement2060
)
9043 self
.following
.pop()
9049 except RecognitionException
, re
:
9050 self
.reportError(re
)
9051 self
.recover(self
.input, re
)
9053 if self
.backtracking
> 0:
9054 self
.memoize(self
.input, 60, statement_StartIndex
)
9060 # $ANTLR end statement
9063 # $ANTLR start asm2_statement
9064 # C.g:478:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9065 def asm2_statement(self
, ):
9067 asm2_statement_StartIndex
= self
.input.index()
9070 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 61):
9073 # C.g:479:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9074 # C.g:479:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9075 # C.g:479:4: ( '__asm__' )?
9077 LA85_0
= self
.input.LA(1)
9079 if (LA85_0
== 102) :
9082 # C.g:0:0: '__asm__'
9083 self
.match(self
.input, 102, self
.FOLLOW_102_in_asm2_statement2071
)
9089 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_asm2_statement2074
)
9092 self
.match(self
.input, 61, self
.FOLLOW_61_in_asm2_statement2076
)
9095 # C.g:479:30: (~ ( ';' ) )*
9098 LA86_0
= self
.input.LA(1)
9101 LA86_1
= self
.input.LA(2)
9103 if ((IDENTIFIER
<= LA86_1
<= LINE_COMMAND
) or (26 <= LA86_1
<= 116)) :
9107 elif ((IDENTIFIER
<= LA86_0
<= LINE_COMMAND
) or (26 <= LA86_0
<= 61) or (63 <= LA86_0
<= 116)) :
9112 # C.g:479:31: ~ ( ';' )
9113 if (IDENTIFIER
<= self
.input.LA(1) <= LINE_COMMAND
) or (26 <= self
.input.LA(1) <= 116):
9114 self
.input.consume();
9115 self
.errorRecovery
= False
9119 if self
.backtracking
> 0:
9123 mse
= MismatchedSetException(None, self
.input)
9124 self
.recoverFromMismatchedSet(
9125 self
.input, mse
, self
.FOLLOW_set_in_asm2_statement2079
9136 self
.match(self
.input, 62, self
.FOLLOW_62_in_asm2_statement2086
)
9139 self
.match(self
.input, 25, self
.FOLLOW_25_in_asm2_statement2088
)
9146 except RecognitionException
, re
:
9147 self
.reportError(re
)
9148 self
.recover(self
.input, re
)
9150 if self
.backtracking
> 0:
9151 self
.memoize(self
.input, 61, asm2_statement_StartIndex
)
9157 # $ANTLR end asm2_statement
9160 # $ANTLR start asm1_statement
9161 # C.g:482:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9162 def asm1_statement(self
, ):
9164 asm1_statement_StartIndex
= self
.input.index()
9167 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 62):
9170 # C.g:483:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9171 # C.g:483:4: '_asm' '{' (~ ( '}' ) )* '}'
9172 self
.match(self
.input, 103, self
.FOLLOW_103_in_asm1_statement2100
)
9175 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm1_statement2102
)
9178 # C.g:483:15: (~ ( '}' ) )*
9181 LA87_0
= self
.input.LA(1)
9183 if ((IDENTIFIER
<= LA87_0
<= 43) or (45 <= LA87_0
<= 116)) :
9188 # C.g:483:16: ~ ( '}' )
9189 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 116):
9190 self
.input.consume();
9191 self
.errorRecovery
= False
9195 if self
.backtracking
> 0:
9199 mse
= MismatchedSetException(None, self
.input)
9200 self
.recoverFromMismatchedSet(
9201 self
.input, mse
, self
.FOLLOW_set_in_asm1_statement2105
9212 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm1_statement2112
)
9219 except RecognitionException
, re
:
9220 self
.reportError(re
)
9221 self
.recover(self
.input, re
)
9223 if self
.backtracking
> 0:
9224 self
.memoize(self
.input, 62, asm1_statement_StartIndex
)
9230 # $ANTLR end asm1_statement
9233 # $ANTLR start asm_statement
9234 # C.g:486:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9235 def asm_statement(self
, ):
9237 asm_statement_StartIndex
= self
.input.index()
9240 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 63):
9243 # C.g:487:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9244 # C.g:487:4: '__asm' '{' (~ ( '}' ) )* '}'
9245 self
.match(self
.input, 104, self
.FOLLOW_104_in_asm_statement2123
)
9248 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm_statement2125
)
9251 # C.g:487:16: (~ ( '}' ) )*
9254 LA88_0
= self
.input.LA(1)
9256 if ((IDENTIFIER
<= LA88_0
<= 43) or (45 <= LA88_0
<= 116)) :
9261 # C.g:487:17: ~ ( '}' )
9262 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 116):
9263 self
.input.consume();
9264 self
.errorRecovery
= False
9268 if self
.backtracking
> 0:
9272 mse
= MismatchedSetException(None, self
.input)
9273 self
.recoverFromMismatchedSet(
9274 self
.input, mse
, self
.FOLLOW_set_in_asm_statement2128
9285 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm_statement2135
)
9292 except RecognitionException
, re
:
9293 self
.reportError(re
)
9294 self
.recover(self
.input, re
)
9296 if self
.backtracking
> 0:
9297 self
.memoize(self
.input, 63, asm_statement_StartIndex
)
9303 # $ANTLR end asm_statement
9306 # $ANTLR start macro_statement
9307 # C.g:490:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9308 def macro_statement(self
, ):
9310 macro_statement_StartIndex
= self
.input.index()
9313 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 64):
9316 # C.g:491:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9317 # C.g:491:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9318 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_macro_statement2147
)
9321 self
.match(self
.input, 61, self
.FOLLOW_61_in_macro_statement2149
)
9324 # C.g:491:19: ( declaration )*
9327 LA89
= self
.input.LA(1)
9328 if LA89
== IDENTIFIER
:
9329 LA89
= self
.input.LA(2)
9331 LA89_45
= self
.input.LA(3)
9333 if (self
.synpred180()) :
9338 LA89_48
= self
.input.LA(3)
9340 if (self
.synpred180()) :
9345 LA89_66
= self
.input.LA(3)
9347 if (self
.synpred180()) :
9351 elif LA89
== IDENTIFIER
:
9352 LA89_69
= self
.input.LA(3)
9354 if (self
.synpred180()) :
9359 LA89_70
= self
.input.LA(3)
9361 if (self
.synpred180()) :
9366 LA89_71
= self
.input.LA(3)
9368 if (self
.synpred180()) :
9373 LA89_72
= self
.input.LA(3)
9375 if (self
.synpred180()) :
9379 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9380 LA89_73
= self
.input.LA(3)
9382 if (self
.synpred180()) :
9387 LA89_74
= self
.input.LA(3)
9389 if (self
.synpred180()) :
9394 LA89_75
= self
.input.LA(3)
9396 if (self
.synpred180()) :
9401 LA89_76
= self
.input.LA(3)
9403 if (self
.synpred180()) :
9408 LA89_77
= self
.input.LA(3)
9410 if (self
.synpred180()) :
9415 LA89_78
= self
.input.LA(3)
9417 if (self
.synpred180()) :
9422 LA89_79
= self
.input.LA(3)
9424 if (self
.synpred180()) :
9429 LA89_80
= self
.input.LA(3)
9431 if (self
.synpred180()) :
9436 LA89_81
= self
.input.LA(3)
9438 if (self
.synpred180()) :
9443 LA89_82
= self
.input.LA(3)
9445 if (self
.synpred180()) :
9449 elif LA89
== 45 or LA89
== 46:
9450 LA89_83
= self
.input.LA(3)
9452 if (self
.synpred180()) :
9457 LA89_84
= self
.input.LA(3)
9459 if (self
.synpred180()) :
9463 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:
9464 LA89_85
= self
.input.LA(3)
9466 if (self
.synpred180()) :
9472 LA89
= self
.input.LA(2)
9473 if LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9474 LA89_87
= self
.input.LA(3)
9476 if (self
.synpred180()) :
9481 LA89_88
= self
.input.LA(3)
9483 if (self
.synpred180()) :
9488 LA89_89
= self
.input.LA(3)
9490 if (self
.synpred180()) :
9495 LA89_90
= self
.input.LA(3)
9497 if (self
.synpred180()) :
9502 LA89_91
= self
.input.LA(3)
9504 if (self
.synpred180()) :
9509 LA89_92
= self
.input.LA(3)
9511 if (self
.synpred180()) :
9516 LA89_93
= self
.input.LA(3)
9518 if (self
.synpred180()) :
9523 LA89_94
= self
.input.LA(3)
9525 if (self
.synpred180()) :
9530 LA89_95
= self
.input.LA(3)
9532 if (self
.synpred180()) :
9537 LA89_96
= self
.input.LA(3)
9539 if (self
.synpred180()) :
9543 elif LA89
== 45 or LA89
== 46:
9544 LA89_97
= self
.input.LA(3)
9546 if (self
.synpred180()) :
9551 LA89_98
= self
.input.LA(3)
9553 if (self
.synpred180()) :
9557 elif LA89
== IDENTIFIER
:
9558 LA89_99
= self
.input.LA(3)
9560 if (self
.synpred180()) :
9565 LA89_100
= self
.input.LA(3)
9567 if (self
.synpred180()) :
9572 LA89_101
= self
.input.LA(3)
9574 if (self
.synpred180()) :
9579 LA89_102
= self
.input.LA(3)
9581 if (self
.synpred180()) :
9586 LA89_103
= self
.input.LA(3)
9588 if (self
.synpred180()) :
9592 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:
9593 LA89_104
= self
.input.LA(3)
9595 if (self
.synpred180()) :
9600 LA89_105
= self
.input.LA(3)
9602 if (self
.synpred180()) :
9607 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9608 LA89
= self
.input.LA(2)
9610 LA89_106
= self
.input.LA(3)
9612 if (self
.synpred180()) :
9617 LA89_107
= self
.input.LA(3)
9619 if (self
.synpred180()) :
9624 LA89_108
= self
.input.LA(3)
9626 if (self
.synpred180()) :
9631 LA89_109
= self
.input.LA(3)
9633 if (self
.synpred180()) :
9637 elif LA89
== IDENTIFIER
:
9638 LA89_110
= self
.input.LA(3)
9640 if (self
.synpred180()) :
9645 LA89_111
= self
.input.LA(3)
9647 if (self
.synpred180()) :
9652 LA89_112
= self
.input.LA(3)
9654 if (self
.synpred180()) :
9658 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9659 LA89_113
= self
.input.LA(3)
9661 if (self
.synpred180()) :
9666 LA89_114
= self
.input.LA(3)
9668 if (self
.synpred180()) :
9673 LA89_115
= self
.input.LA(3)
9675 if (self
.synpred180()) :
9680 LA89_116
= self
.input.LA(3)
9682 if (self
.synpred180()) :
9687 LA89_117
= self
.input.LA(3)
9689 if (self
.synpred180()) :
9694 LA89_118
= self
.input.LA(3)
9696 if (self
.synpred180()) :
9701 LA89_119
= self
.input.LA(3)
9703 if (self
.synpred180()) :
9708 LA89_120
= self
.input.LA(3)
9710 if (self
.synpred180()) :
9715 LA89_121
= self
.input.LA(3)
9717 if (self
.synpred180()) :
9722 LA89_122
= self
.input.LA(3)
9724 if (self
.synpred180()) :
9728 elif LA89
== 45 or LA89
== 46:
9729 LA89_123
= self
.input.LA(3)
9731 if (self
.synpred180()) :
9736 LA89_124
= self
.input.LA(3)
9738 if (self
.synpred180()) :
9742 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:
9743 LA89_125
= self
.input.LA(3)
9745 if (self
.synpred180()) :
9751 LA89
= self
.input.LA(2)
9753 LA89_126
= self
.input.LA(3)
9755 if (self
.synpred180()) :
9760 LA89_127
= self
.input.LA(3)
9762 if (self
.synpred180()) :
9767 LA89_128
= self
.input.LA(3)
9769 if (self
.synpred180()) :
9774 LA89_129
= self
.input.LA(3)
9776 if (self
.synpred180()) :
9780 elif LA89
== IDENTIFIER
:
9781 LA89_130
= self
.input.LA(3)
9783 if (self
.synpred180()) :
9788 LA89_131
= self
.input.LA(3)
9790 if (self
.synpred180()) :
9795 LA89_132
= self
.input.LA(3)
9797 if (self
.synpred180()) :
9801 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9802 LA89_133
= self
.input.LA(3)
9804 if (self
.synpred180()) :
9809 LA89_134
= self
.input.LA(3)
9811 if (self
.synpred180()) :
9816 LA89_135
= self
.input.LA(3)
9818 if (self
.synpred180()) :
9823 LA89_136
= self
.input.LA(3)
9825 if (self
.synpred180()) :
9830 LA89_137
= self
.input.LA(3)
9832 if (self
.synpred180()) :
9837 LA89_138
= self
.input.LA(3)
9839 if (self
.synpred180()) :
9844 LA89_139
= self
.input.LA(3)
9846 if (self
.synpred180()) :
9851 LA89_140
= self
.input.LA(3)
9853 if (self
.synpred180()) :
9858 LA89_141
= self
.input.LA(3)
9860 if (self
.synpred180()) :
9865 LA89_142
= self
.input.LA(3)
9867 if (self
.synpred180()) :
9871 elif LA89
== 45 or LA89
== 46:
9872 LA89_143
= self
.input.LA(3)
9874 if (self
.synpred180()) :
9879 LA89_144
= self
.input.LA(3)
9881 if (self
.synpred180()) :
9885 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:
9886 LA89_145
= self
.input.LA(3)
9888 if (self
.synpred180()) :
9894 LA89
= self
.input.LA(2)
9896 LA89_146
= self
.input.LA(3)
9898 if (self
.synpred180()) :
9903 LA89_147
= self
.input.LA(3)
9905 if (self
.synpred180()) :
9910 LA89_148
= self
.input.LA(3)
9912 if (self
.synpred180()) :
9917 LA89_149
= self
.input.LA(3)
9919 if (self
.synpred180()) :
9923 elif LA89
== IDENTIFIER
:
9924 LA89_150
= self
.input.LA(3)
9926 if (self
.synpred180()) :
9931 LA89_151
= self
.input.LA(3)
9933 if (self
.synpred180()) :
9938 LA89_152
= self
.input.LA(3)
9940 if (self
.synpred180()) :
9944 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9945 LA89_153
= self
.input.LA(3)
9947 if (self
.synpred180()) :
9952 LA89_154
= self
.input.LA(3)
9954 if (self
.synpred180()) :
9959 LA89_155
= self
.input.LA(3)
9961 if (self
.synpred180()) :
9966 LA89_156
= self
.input.LA(3)
9968 if (self
.synpred180()) :
9973 LA89_157
= self
.input.LA(3)
9975 if (self
.synpred180()) :
9980 LA89_158
= self
.input.LA(3)
9982 if (self
.synpred180()) :
9987 LA89_159
= self
.input.LA(3)
9989 if (self
.synpred180()) :
9994 LA89_160
= self
.input.LA(3)
9996 if (self
.synpred180()) :
10001 LA89_161
= self
.input.LA(3)
10003 if (self
.synpred180()) :
10008 LA89_162
= self
.input.LA(3)
10010 if (self
.synpred180()) :
10014 elif LA89
== 45 or LA89
== 46:
10015 LA89_163
= self
.input.LA(3)
10017 if (self
.synpred180()) :
10022 LA89_164
= self
.input.LA(3)
10024 if (self
.synpred180()) :
10028 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:
10029 LA89_165
= self
.input.LA(3)
10031 if (self
.synpred180()) :
10037 LA89
= self
.input.LA(2)
10039 LA89_166
= self
.input.LA(3)
10041 if (self
.synpred180()) :
10046 LA89_167
= self
.input.LA(3)
10048 if (self
.synpred180()) :
10053 LA89_168
= self
.input.LA(3)
10055 if (self
.synpred180()) :
10060 LA89_169
= self
.input.LA(3)
10062 if (self
.synpred180()) :
10066 elif LA89
== IDENTIFIER
:
10067 LA89_170
= self
.input.LA(3)
10069 if (self
.synpred180()) :
10074 LA89_171
= self
.input.LA(3)
10076 if (self
.synpred180()) :
10081 LA89_172
= self
.input.LA(3)
10083 if (self
.synpred180()) :
10087 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10088 LA89_173
= self
.input.LA(3)
10090 if (self
.synpred180()) :
10095 LA89_174
= self
.input.LA(3)
10097 if (self
.synpred180()) :
10102 LA89_175
= self
.input.LA(3)
10104 if (self
.synpred180()) :
10109 LA89_176
= self
.input.LA(3)
10111 if (self
.synpred180()) :
10116 LA89_177
= self
.input.LA(3)
10118 if (self
.synpred180()) :
10123 LA89_178
= self
.input.LA(3)
10125 if (self
.synpred180()) :
10130 LA89_179
= self
.input.LA(3)
10132 if (self
.synpred180()) :
10137 LA89_180
= self
.input.LA(3)
10139 if (self
.synpred180()) :
10144 LA89_181
= self
.input.LA(3)
10146 if (self
.synpred180()) :
10151 LA89_182
= self
.input.LA(3)
10153 if (self
.synpred180()) :
10157 elif LA89
== 45 or LA89
== 46:
10158 LA89_183
= self
.input.LA(3)
10160 if (self
.synpred180()) :
10165 LA89_184
= self
.input.LA(3)
10167 if (self
.synpred180()) :
10171 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:
10172 LA89_185
= self
.input.LA(3)
10174 if (self
.synpred180()) :
10180 LA89
= self
.input.LA(2)
10182 LA89_186
= self
.input.LA(3)
10184 if (self
.synpred180()) :
10189 LA89_187
= self
.input.LA(3)
10191 if (self
.synpred180()) :
10196 LA89_188
= self
.input.LA(3)
10198 if (self
.synpred180()) :
10203 LA89_189
= self
.input.LA(3)
10205 if (self
.synpred180()) :
10209 elif LA89
== IDENTIFIER
:
10210 LA89_190
= self
.input.LA(3)
10212 if (self
.synpred180()) :
10217 LA89_191
= self
.input.LA(3)
10219 if (self
.synpred180()) :
10224 LA89_192
= self
.input.LA(3)
10226 if (self
.synpred180()) :
10230 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10231 LA89_193
= self
.input.LA(3)
10233 if (self
.synpred180()) :
10238 LA89_194
= self
.input.LA(3)
10240 if (self
.synpred180()) :
10245 LA89_195
= self
.input.LA(3)
10247 if (self
.synpred180()) :
10252 LA89_196
= self
.input.LA(3)
10254 if (self
.synpred180()) :
10259 LA89_197
= self
.input.LA(3)
10261 if (self
.synpred180()) :
10266 LA89_198
= self
.input.LA(3)
10268 if (self
.synpred180()) :
10273 LA89_199
= self
.input.LA(3)
10275 if (self
.synpred180()) :
10280 LA89_200
= self
.input.LA(3)
10282 if (self
.synpred180()) :
10287 LA89_201
= self
.input.LA(3)
10289 if (self
.synpred180()) :
10294 LA89_202
= self
.input.LA(3)
10296 if (self
.synpred180()) :
10300 elif LA89
== 45 or LA89
== 46:
10301 LA89_203
= self
.input.LA(3)
10303 if (self
.synpred180()) :
10308 LA89_204
= self
.input.LA(3)
10310 if (self
.synpred180()) :
10314 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:
10315 LA89_205
= self
.input.LA(3)
10317 if (self
.synpred180()) :
10323 LA89
= self
.input.LA(2)
10325 LA89_206
= self
.input.LA(3)
10327 if (self
.synpred180()) :
10332 LA89_207
= self
.input.LA(3)
10334 if (self
.synpred180()) :
10339 LA89_208
= self
.input.LA(3)
10341 if (self
.synpred180()) :
10346 LA89_209
= self
.input.LA(3)
10348 if (self
.synpred180()) :
10352 elif LA89
== IDENTIFIER
:
10353 LA89_210
= self
.input.LA(3)
10355 if (self
.synpred180()) :
10360 LA89_211
= self
.input.LA(3)
10362 if (self
.synpred180()) :
10367 LA89_212
= self
.input.LA(3)
10369 if (self
.synpred180()) :
10373 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10374 LA89_213
= self
.input.LA(3)
10376 if (self
.synpred180()) :
10381 LA89_214
= self
.input.LA(3)
10383 if (self
.synpred180()) :
10388 LA89_215
= self
.input.LA(3)
10390 if (self
.synpred180()) :
10395 LA89_216
= self
.input.LA(3)
10397 if (self
.synpred180()) :
10402 LA89_217
= self
.input.LA(3)
10404 if (self
.synpred180()) :
10409 LA89_218
= self
.input.LA(3)
10411 if (self
.synpred180()) :
10416 LA89_219
= self
.input.LA(3)
10418 if (self
.synpred180()) :
10423 LA89_220
= self
.input.LA(3)
10425 if (self
.synpred180()) :
10430 LA89_221
= self
.input.LA(3)
10432 if (self
.synpred180()) :
10437 LA89_222
= self
.input.LA(3)
10439 if (self
.synpred180()) :
10443 elif LA89
== 45 or LA89
== 46:
10444 LA89_223
= self
.input.LA(3)
10446 if (self
.synpred180()) :
10451 LA89_224
= self
.input.LA(3)
10453 if (self
.synpred180()) :
10457 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:
10458 LA89_225
= self
.input.LA(3)
10460 if (self
.synpred180()) :
10466 LA89
= self
.input.LA(2)
10468 LA89_226
= self
.input.LA(3)
10470 if (self
.synpred180()) :
10475 LA89_227
= self
.input.LA(3)
10477 if (self
.synpred180()) :
10482 LA89_228
= self
.input.LA(3)
10484 if (self
.synpred180()) :
10489 LA89_229
= self
.input.LA(3)
10491 if (self
.synpred180()) :
10495 elif LA89
== IDENTIFIER
:
10496 LA89_230
= self
.input.LA(3)
10498 if (self
.synpred180()) :
10503 LA89_231
= self
.input.LA(3)
10505 if (self
.synpred180()) :
10510 LA89_232
= self
.input.LA(3)
10512 if (self
.synpred180()) :
10516 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10517 LA89_233
= self
.input.LA(3)
10519 if (self
.synpred180()) :
10524 LA89_234
= self
.input.LA(3)
10526 if (self
.synpred180()) :
10531 LA89_235
= self
.input.LA(3)
10533 if (self
.synpred180()) :
10538 LA89_236
= self
.input.LA(3)
10540 if (self
.synpred180()) :
10545 LA89_237
= self
.input.LA(3)
10547 if (self
.synpred180()) :
10552 LA89_238
= self
.input.LA(3)
10554 if (self
.synpred180()) :
10559 LA89_239
= self
.input.LA(3)
10561 if (self
.synpred180()) :
10566 LA89_240
= self
.input.LA(3)
10568 if (self
.synpred180()) :
10573 LA89_241
= self
.input.LA(3)
10575 if (self
.synpred180()) :
10580 LA89_242
= self
.input.LA(3)
10582 if (self
.synpred180()) :
10586 elif LA89
== 45 or LA89
== 46:
10587 LA89_243
= self
.input.LA(3)
10589 if (self
.synpred180()) :
10594 LA89_244
= self
.input.LA(3)
10596 if (self
.synpred180()) :
10600 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:
10601 LA89_245
= self
.input.LA(3)
10603 if (self
.synpred180()) :
10609 LA89
= self
.input.LA(2)
10611 LA89_246
= self
.input.LA(3)
10613 if (self
.synpred180()) :
10618 LA89_247
= self
.input.LA(3)
10620 if (self
.synpred180()) :
10625 LA89_248
= self
.input.LA(3)
10627 if (self
.synpred180()) :
10632 LA89_249
= self
.input.LA(3)
10634 if (self
.synpred180()) :
10638 elif LA89
== IDENTIFIER
:
10639 LA89_250
= self
.input.LA(3)
10641 if (self
.synpred180()) :
10646 LA89_251
= self
.input.LA(3)
10648 if (self
.synpred180()) :
10653 LA89_252
= self
.input.LA(3)
10655 if (self
.synpred180()) :
10659 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10660 LA89_253
= self
.input.LA(3)
10662 if (self
.synpred180()) :
10667 LA89_254
= self
.input.LA(3)
10669 if (self
.synpred180()) :
10674 LA89_255
= self
.input.LA(3)
10676 if (self
.synpred180()) :
10681 LA89_256
= self
.input.LA(3)
10683 if (self
.synpred180()) :
10688 LA89_257
= self
.input.LA(3)
10690 if (self
.synpred180()) :
10695 LA89_258
= self
.input.LA(3)
10697 if (self
.synpred180()) :
10702 LA89_259
= self
.input.LA(3)
10704 if (self
.synpred180()) :
10709 LA89_260
= self
.input.LA(3)
10711 if (self
.synpred180()) :
10716 LA89_261
= self
.input.LA(3)
10718 if (self
.synpred180()) :
10723 LA89_262
= self
.input.LA(3)
10725 if (self
.synpred180()) :
10729 elif LA89
== 45 or LA89
== 46:
10730 LA89_263
= self
.input.LA(3)
10732 if (self
.synpred180()) :
10737 LA89_264
= self
.input.LA(3)
10739 if (self
.synpred180()) :
10743 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:
10744 LA89_265
= self
.input.LA(3)
10746 if (self
.synpred180()) :
10752 LA89
= self
.input.LA(2)
10754 LA89_266
= self
.input.LA(3)
10756 if (self
.synpred180()) :
10761 LA89_267
= self
.input.LA(3)
10763 if (self
.synpred180()) :
10768 LA89_268
= self
.input.LA(3)
10770 if (self
.synpred180()) :
10775 LA89_269
= self
.input.LA(3)
10777 if (self
.synpred180()) :
10781 elif LA89
== IDENTIFIER
:
10782 LA89_270
= self
.input.LA(3)
10784 if (self
.synpred180()) :
10789 LA89_271
= self
.input.LA(3)
10791 if (self
.synpred180()) :
10796 LA89_272
= self
.input.LA(3)
10798 if (self
.synpred180()) :
10802 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10803 LA89_273
= self
.input.LA(3)
10805 if (self
.synpred180()) :
10810 LA89_274
= self
.input.LA(3)
10812 if (self
.synpred180()) :
10817 LA89_275
= self
.input.LA(3)
10819 if (self
.synpred180()) :
10824 LA89_276
= self
.input.LA(3)
10826 if (self
.synpred180()) :
10831 LA89_277
= self
.input.LA(3)
10833 if (self
.synpred180()) :
10838 LA89_278
= self
.input.LA(3)
10840 if (self
.synpred180()) :
10845 LA89_279
= self
.input.LA(3)
10847 if (self
.synpred180()) :
10852 LA89_280
= self
.input.LA(3)
10854 if (self
.synpred180()) :
10859 LA89_281
= self
.input.LA(3)
10861 if (self
.synpred180()) :
10866 LA89_282
= self
.input.LA(3)
10868 if (self
.synpred180()) :
10872 elif LA89
== 45 or LA89
== 46:
10873 LA89_283
= self
.input.LA(3)
10875 if (self
.synpred180()) :
10880 LA89_284
= self
.input.LA(3)
10882 if (self
.synpred180()) :
10886 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:
10887 LA89_285
= self
.input.LA(3)
10889 if (self
.synpred180()) :
10895 LA89
= self
.input.LA(2)
10897 LA89_286
= self
.input.LA(3)
10899 if (self
.synpred180()) :
10904 LA89_287
= self
.input.LA(3)
10906 if (self
.synpred180()) :
10911 LA89_288
= self
.input.LA(3)
10913 if (self
.synpred180()) :
10918 LA89_289
= self
.input.LA(3)
10920 if (self
.synpred180()) :
10924 elif LA89
== IDENTIFIER
:
10925 LA89_290
= self
.input.LA(3)
10927 if (self
.synpred180()) :
10932 LA89_291
= self
.input.LA(3)
10934 if (self
.synpred180()) :
10939 LA89_292
= self
.input.LA(3)
10941 if (self
.synpred180()) :
10945 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10946 LA89_293
= self
.input.LA(3)
10948 if (self
.synpred180()) :
10953 LA89_294
= self
.input.LA(3)
10955 if (self
.synpred180()) :
10960 LA89_295
= self
.input.LA(3)
10962 if (self
.synpred180()) :
10967 LA89_296
= self
.input.LA(3)
10969 if (self
.synpred180()) :
10974 LA89_297
= self
.input.LA(3)
10976 if (self
.synpred180()) :
10981 LA89_298
= self
.input.LA(3)
10983 if (self
.synpred180()) :
10988 LA89_299
= self
.input.LA(3)
10990 if (self
.synpred180()) :
10995 LA89_300
= self
.input.LA(3)
10997 if (self
.synpred180()) :
11002 LA89_301
= self
.input.LA(3)
11004 if (self
.synpred180()) :
11009 LA89_302
= self
.input.LA(3)
11011 if (self
.synpred180()) :
11015 elif LA89
== 45 or LA89
== 46:
11016 LA89_303
= self
.input.LA(3)
11018 if (self
.synpred180()) :
11023 LA89_304
= self
.input.LA(3)
11025 if (self
.synpred180()) :
11029 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:
11030 LA89_305
= self
.input.LA(3)
11032 if (self
.synpred180()) :
11037 elif LA89
== 45 or LA89
== 46:
11038 LA89_40
= self
.input.LA(2)
11040 if (LA89_40
== IDENTIFIER
) :
11041 LA89_306
= self
.input.LA(3)
11043 if (self
.synpred180()) :
11047 elif (LA89_40
== 43) :
11048 LA89_307
= self
.input.LA(3)
11050 if (self
.synpred180()) :
11057 LA89_41
= self
.input.LA(2)
11059 if (LA89_41
== IDENTIFIER
) :
11060 LA89_308
= self
.input.LA(3)
11062 if (self
.synpred180()) :
11066 elif (LA89_41
== 43) :
11067 LA89_309
= self
.input.LA(3)
11069 if (self
.synpred180()) :
11075 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:
11076 LA89
= self
.input.LA(2)
11078 LA89_310
= self
.input.LA(3)
11080 if (self
.synpred180()) :
11085 LA89_311
= self
.input.LA(3)
11087 if (self
.synpred180()) :
11092 LA89_312
= self
.input.LA(3)
11094 if (self
.synpred180()) :
11099 LA89_313
= self
.input.LA(3)
11101 if (self
.synpred180()) :
11105 elif LA89
== IDENTIFIER
:
11106 LA89_314
= self
.input.LA(3)
11108 if (self
.synpred180()) :
11113 LA89_315
= self
.input.LA(3)
11115 if (self
.synpred180()) :
11120 LA89_316
= self
.input.LA(3)
11122 if (self
.synpred180()) :
11126 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
11127 LA89_317
= self
.input.LA(3)
11129 if (self
.synpred180()) :
11134 LA89_318
= self
.input.LA(3)
11136 if (self
.synpred180()) :
11141 LA89_319
= self
.input.LA(3)
11143 if (self
.synpred180()) :
11148 LA89_320
= self
.input.LA(3)
11150 if (self
.synpred180()) :
11155 LA89_321
= self
.input.LA(3)
11157 if (self
.synpred180()) :
11162 LA89_322
= self
.input.LA(3)
11164 if (self
.synpred180()) :
11169 LA89_323
= self
.input.LA(3)
11171 if (self
.synpred180()) :
11176 LA89_324
= self
.input.LA(3)
11178 if (self
.synpred180()) :
11183 LA89_325
= self
.input.LA(3)
11185 if (self
.synpred180()) :
11190 LA89_326
= self
.input.LA(3)
11192 if (self
.synpred180()) :
11196 elif LA89
== 45 or LA89
== 46:
11197 LA89_327
= self
.input.LA(3)
11199 if (self
.synpred180()) :
11204 LA89_328
= self
.input.LA(3)
11206 if (self
.synpred180()) :
11210 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:
11211 LA89_329
= self
.input.LA(3)
11213 if (self
.synpred180()) :
11220 # C.g:0:0: declaration
11221 self
.following
.append(self
.FOLLOW_declaration_in_macro_statement2151
)
11223 self
.following
.pop()
11232 # C.g:491:33: ( statement_list )?
11234 LA90
= self
.input.LA(1)
11235 if LA90
== IDENTIFIER
:
11236 LA90
= self
.input.LA(2)
11238 LA90_44
= self
.input.LA(3)
11240 if (self
.synpred181()) :
11242 elif LA90
== 25 or LA90
== 29 or LA90
== 30 or LA90
== 31 or LA90
== 32 or LA90
== 33 or LA90
== 34 or LA90
== 35 or LA90
== 36 or LA90
== 37 or LA90
== 38 or LA90
== 39 or LA90
== 40 or LA90
== 41 or LA90
== 42 or LA90
== 45 or LA90
== 46 or LA90
== 47 or LA90
== 48 or LA90
== 49 or LA90
== 50 or LA90
== 51 or LA90
== 52 or LA90
== 53 or LA90
== 54 or LA90
== 55 or LA90
== 56 or LA90
== 57 or LA90
== 58 or LA90
== 59 or LA90
== 60:
11244 elif LA90
== STRING_LITERAL
:
11245 LA90_46
= self
.input.LA(3)
11247 if (self
.synpred181()) :
11249 elif LA90
== IDENTIFIER
:
11250 LA90_47
= self
.input.LA(3)
11252 if (self
.synpred181()) :
11255 LA90_48
= self
.input.LA(3)
11257 if (self
.synpred181()) :
11260 LA90_49
= self
.input.LA(3)
11262 if (self
.synpred181()) :
11265 LA90_50
= self
.input.LA(3)
11267 if (self
.synpred181()) :
11270 LA90_51
= self
.input.LA(3)
11272 if (self
.synpred181()) :
11275 LA90_52
= self
.input.LA(3)
11277 if (self
.synpred181()) :
11280 LA90_53
= self
.input.LA(3)
11282 if (self
.synpred181()) :
11284 elif LA90
== 28 or LA90
== 79 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88:
11285 LA90_54
= self
.input.LA(3)
11287 if (self
.synpred181()) :
11290 LA90_72
= self
.input.LA(3)
11292 if (self
.synpred181()) :
11295 LA90_73
= self
.input.LA(3)
11297 if (self
.synpred181()) :
11300 LA90_74
= self
.input.LA(3)
11302 if (self
.synpred181()) :
11305 LA90_75
= self
.input.LA(3)
11307 if (self
.synpred181()) :
11309 elif LA90
== 100 or LA90
== 101:
11310 LA90_76
= self
.input.LA(3)
11312 if (self
.synpred181()) :
11314 elif LA90
== 96 or LA90
== 97 or LA90
== 98 or LA90
== 99:
11315 LA90_77
= self
.input.LA(3)
11317 if (self
.synpred181()) :
11319 elif LA90
== 94 or LA90
== 95:
11320 LA90_78
= self
.input.LA(3)
11322 if (self
.synpred181()) :
11325 LA90_79
= self
.input.LA(3)
11327 if (self
.synpred181()) :
11330 LA90_80
= self
.input.LA(3)
11332 if (self
.synpred181()) :
11335 LA90_81
= self
.input.LA(3)
11337 if (self
.synpred181()) :
11340 LA90_82
= self
.input.LA(3)
11342 if (self
.synpred181()) :
11345 LA90_83
= self
.input.LA(3)
11347 if (self
.synpred181()) :
11350 LA90_84
= self
.input.LA(3)
11352 if (self
.synpred181()) :
11355 LA90_85
= self
.input.LA(3)
11357 if (self
.synpred181()) :
11359 elif LA90
== 25 or LA90
== 26 or LA90
== 29 or LA90
== 30 or LA90
== 31 or LA90
== 32 or LA90
== 33 or LA90
== 34 or LA90
== 35 or LA90
== 36 or LA90
== 37 or LA90
== 38 or LA90
== 39 or LA90
== 40 or LA90
== 41 or LA90
== 42 or LA90
== 43 or LA90
== 45 or LA90
== 46 or LA90
== 48 or LA90
== 49 or LA90
== 50 or LA90
== 51 or LA90
== 52 or LA90
== 53 or LA90
== 54 or LA90
== 55 or LA90
== 56 or LA90
== 57 or LA90
== 58 or LA90
== 59 or LA90
== 60 or LA90
== 102 or LA90
== 103 or LA90
== 104 or LA90
== 105 or LA90
== 106 or LA90
== 107 or LA90
== 109 or LA90
== 110 or LA90
== 111 or LA90
== 112 or LA90
== 113 or LA90
== 114 or LA90
== 115 or LA90
== 116:
11361 elif LA90
== HEX_LITERAL
:
11362 LA90
= self
.input.LA(2)
11364 LA90_87
= self
.input.LA(3)
11366 if (self
.synpred181()) :
11369 LA90_88
= self
.input.LA(3)
11371 if (self
.synpred181()) :
11374 LA90_89
= self
.input.LA(3)
11376 if (self
.synpred181()) :
11379 LA90_90
= self
.input.LA(3)
11381 if (self
.synpred181()) :
11384 LA90_91
= self
.input.LA(3)
11386 if (self
.synpred181()) :
11389 LA90_92
= self
.input.LA(3)
11391 if (self
.synpred181()) :
11394 LA90_93
= self
.input.LA(3)
11396 if (self
.synpred181()) :
11399 LA90_94
= self
.input.LA(3)
11401 if (self
.synpred181()) :
11404 LA90_95
= self
.input.LA(3)
11406 if (self
.synpred181()) :
11409 LA90_96
= self
.input.LA(3)
11411 if (self
.synpred181()) :
11414 LA90_97
= self
.input.LA(3)
11416 if (self
.synpred181()) :
11418 elif LA90
== 100 or LA90
== 101:
11419 LA90_98
= self
.input.LA(3)
11421 if (self
.synpred181()) :
11423 elif LA90
== 96 or LA90
== 97 or LA90
== 98 or LA90
== 99:
11424 LA90_99
= self
.input.LA(3)
11426 if (self
.synpred181()) :
11428 elif LA90
== 94 or LA90
== 95:
11429 LA90_100
= self
.input.LA(3)
11431 if (self
.synpred181()) :
11434 LA90_101
= self
.input.LA(3)
11436 if (self
.synpred181()) :
11439 LA90_102
= self
.input.LA(3)
11441 if (self
.synpred181()) :
11444 LA90_103
= self
.input.LA(3)
11446 if (self
.synpred181()) :
11449 LA90_104
= self
.input.LA(3)
11451 if (self
.synpred181()) :
11454 LA90_105
= self
.input.LA(3)
11456 if (self
.synpred181()) :
11459 LA90_106
= self
.input.LA(3)
11461 if (self
.synpred181()) :
11464 LA90_107
= self
.input.LA(3)
11466 if (self
.synpred181()) :
11470 elif LA90
== 28 or LA90
== 79 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88:
11471 LA90_110
= self
.input.LA(3)
11473 if (self
.synpred181()) :
11475 elif LA90
== OCTAL_LITERAL
:
11476 LA90
= self
.input.LA(2)
11478 LA90_111
= self
.input.LA(3)
11480 if (self
.synpred181()) :
11483 LA90_112
= self
.input.LA(3)
11485 if (self
.synpred181()) :
11488 LA90_113
= self
.input.LA(3)
11490 if (self
.synpred181()) :
11493 LA90_114
= self
.input.LA(3)
11495 if (self
.synpred181()) :
11498 LA90_115
= self
.input.LA(3)
11500 if (self
.synpred181()) :
11503 LA90_116
= self
.input.LA(3)
11505 if (self
.synpred181()) :
11508 LA90_117
= self
.input.LA(3)
11510 if (self
.synpred181()) :
11512 elif LA90
== 28 or LA90
== 79 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88:
11513 LA90_118
= self
.input.LA(3)
11515 if (self
.synpred181()) :
11518 LA90_119
= self
.input.LA(3)
11520 if (self
.synpred181()) :
11523 LA90_120
= self
.input.LA(3)
11525 if (self
.synpred181()) :
11528 LA90_121
= self
.input.LA(3)
11530 if (self
.synpred181()) :
11533 LA90_122
= self
.input.LA(3)
11535 if (self
.synpred181()) :
11537 elif LA90
== 100 or LA90
== 101:
11538 LA90_123
= self
.input.LA(3)
11540 if (self
.synpred181()) :
11542 elif LA90
== 96 or LA90
== 97 or LA90
== 98 or LA90
== 99:
11543 LA90_124
= self
.input.LA(3)
11545 if (self
.synpred181()) :
11547 elif LA90
== 94 or LA90
== 95:
11548 LA90_125
= self
.input.LA(3)
11550 if (self
.synpred181()) :
11553 LA90_126
= self
.input.LA(3)
11555 if (self
.synpred181()) :
11558 LA90_127
= self
.input.LA(3)
11560 if (self
.synpred181()) :
11563 LA90_128
= self
.input.LA(3)
11565 if (self
.synpred181()) :
11568 LA90_129
= self
.input.LA(3)
11570 if (self
.synpred181()) :
11573 LA90_130
= self
.input.LA(3)
11575 if (self
.synpred181()) :
11578 LA90_131
= self
.input.LA(3)
11580 if (self
.synpred181()) :
11583 LA90_132
= self
.input.LA(3)
11585 if (self
.synpred181()) :
11589 elif LA90
== DECIMAL_LITERAL
:
11590 LA90
= self
.input.LA(2)
11592 LA90_135
= self
.input.LA(3)
11594 if (self
.synpred181()) :
11597 LA90_136
= self
.input.LA(3)
11599 if (self
.synpred181()) :
11602 LA90_137
= self
.input.LA(3)
11604 if (self
.synpred181()) :
11607 LA90_138
= self
.input.LA(3)
11609 if (self
.synpred181()) :
11612 LA90_139
= self
.input.LA(3)
11614 if (self
.synpred181()) :
11617 LA90_140
= self
.input.LA(3)
11619 if (self
.synpred181()) :
11622 LA90_141
= self
.input.LA(3)
11624 if (self
.synpred181()) :
11626 elif LA90
== 28 or LA90
== 79 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88:
11627 LA90_142
= self
.input.LA(3)
11629 if (self
.synpred181()) :
11632 LA90_143
= self
.input.LA(3)
11634 if (self
.synpred181()) :
11637 LA90_144
= self
.input.LA(3)
11639 if (self
.synpred181()) :
11642 LA90_145
= self
.input.LA(3)
11644 if (self
.synpred181()) :
11647 LA90_146
= self
.input.LA(3)
11649 if (self
.synpred181()) :
11651 elif LA90
== 100 or LA90
== 101:
11652 LA90_147
= self
.input.LA(3)
11654 if (self
.synpred181()) :
11656 elif LA90
== 96 or LA90
== 97 or LA90
== 98 or LA90
== 99:
11657 LA90_148
= self
.input.LA(3)
11659 if (self
.synpred181()) :
11661 elif LA90
== 94 or LA90
== 95:
11662 LA90_149
= self
.input.LA(3)
11664 if (self
.synpred181()) :
11667 LA90_150
= self
.input.LA(3)
11669 if (self
.synpred181()) :
11672 LA90_151
= self
.input.LA(3)
11674 if (self
.synpred181()) :
11677 LA90_152
= self
.input.LA(3)
11679 if (self
.synpred181()) :
11682 LA90_153
= self
.input.LA(3)
11684 if (self
.synpred181()) :
11687 LA90_154
= self
.input.LA(3)
11689 if (self
.synpred181()) :
11692 LA90_155
= self
.input.LA(3)
11694 if (self
.synpred181()) :
11697 LA90_156
= self
.input.LA(3)
11699 if (self
.synpred181()) :
11703 elif LA90
== CHARACTER_LITERAL
:
11704 LA90
= self
.input.LA(2)
11706 LA90_159
= self
.input.LA(3)
11708 if (self
.synpred181()) :
11711 LA90_160
= self
.input.LA(3)
11713 if (self
.synpred181()) :
11716 LA90_161
= self
.input.LA(3)
11718 if (self
.synpred181()) :
11721 LA90_162
= self
.input.LA(3)
11723 if (self
.synpred181()) :
11726 LA90_163
= self
.input.LA(3)
11728 if (self
.synpred181()) :
11731 LA90_164
= self
.input.LA(3)
11733 if (self
.synpred181()) :
11736 LA90_165
= self
.input.LA(3)
11738 if (self
.synpred181()) :
11740 elif LA90
== 28 or LA90
== 79 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88:
11741 LA90_166
= self
.input.LA(3)
11743 if (self
.synpred181()) :
11746 LA90_167
= self
.input.LA(3)
11748 if (self
.synpred181()) :
11751 LA90_168
= self
.input.LA(3)
11753 if (self
.synpred181()) :
11756 LA90_169
= self
.input.LA(3)
11758 if (self
.synpred181()) :
11761 LA90_170
= self
.input.LA(3)
11763 if (self
.synpred181()) :
11765 elif LA90
== 100 or LA90
== 101:
11766 LA90_171
= self
.input.LA(3)
11768 if (self
.synpred181()) :
11770 elif LA90
== 96 or LA90
== 97 or LA90
== 98 or LA90
== 99:
11771 LA90_172
= self
.input.LA(3)
11773 if (self
.synpred181()) :
11775 elif LA90
== 94 or LA90
== 95:
11776 LA90_173
= self
.input.LA(3)
11778 if (self
.synpred181()) :
11781 LA90_174
= self
.input.LA(3)
11783 if (self
.synpred181()) :
11786 LA90_175
= self
.input.LA(3)
11788 if (self
.synpred181()) :
11791 LA90_176
= self
.input.LA(3)
11793 if (self
.synpred181()) :
11796 LA90_177
= self
.input.LA(3)
11798 if (self
.synpred181()) :
11801 LA90_178
= self
.input.LA(3)
11803 if (self
.synpred181()) :
11806 LA90_179
= self
.input.LA(3)
11808 if (self
.synpred181()) :
11811 LA90_180
= self
.input.LA(3)
11813 if (self
.synpred181()) :
11817 elif LA90
== STRING_LITERAL
:
11818 LA90
= self
.input.LA(2)
11819 if LA90
== IDENTIFIER
:
11820 LA90_183
= self
.input.LA(3)
11822 if (self
.synpred181()) :
11825 LA90_184
= self
.input.LA(3)
11827 if (self
.synpred181()) :
11830 LA90_185
= self
.input.LA(3)
11832 if (self
.synpred181()) :
11835 LA90_186
= self
.input.LA(3)
11837 if (self
.synpred181()) :
11840 LA90_187
= self
.input.LA(3)
11842 if (self
.synpred181()) :
11845 LA90_188
= self
.input.LA(3)
11847 if (self
.synpred181()) :
11850 LA90_189
= self
.input.LA(3)
11852 if (self
.synpred181()) :
11855 LA90_190
= self
.input.LA(3)
11857 if (self
.synpred181()) :
11860 LA90_191
= self
.input.LA(3)
11862 if (self
.synpred181()) :
11865 LA90_192
= self
.input.LA(3)
11867 if (self
.synpred181()) :
11870 LA90_193
= self
.input.LA(3)
11872 if (self
.synpred181()) :
11875 LA90_194
= self
.input.LA(3)
11877 if (self
.synpred181()) :
11879 elif LA90
== 100 or LA90
== 101:
11880 LA90_195
= self
.input.LA(3)
11882 if (self
.synpred181()) :
11884 elif LA90
== 96 or LA90
== 97 or LA90
== 98 or LA90
== 99:
11885 LA90_196
= self
.input.LA(3)
11887 if (self
.synpred181()) :
11889 elif LA90
== 94 or LA90
== 95:
11890 LA90_197
= self
.input.LA(3)
11892 if (self
.synpred181()) :
11895 LA90_198
= self
.input.LA(3)
11897 if (self
.synpred181()) :
11900 LA90_199
= self
.input.LA(3)
11902 if (self
.synpred181()) :
11905 LA90_200
= self
.input.LA(3)
11907 if (self
.synpred181()) :
11910 LA90_201
= self
.input.LA(3)
11912 if (self
.synpred181()) :
11915 LA90_202
= self
.input.LA(3)
11917 if (self
.synpred181()) :
11920 LA90_203
= self
.input.LA(3)
11922 if (self
.synpred181()) :
11925 LA90_204
= self
.input.LA(3)
11927 if (self
.synpred181()) :
11931 elif LA90
== STRING_LITERAL
:
11932 LA90_206
= self
.input.LA(3)
11934 if (self
.synpred181()) :
11936 elif LA90
== 28 or LA90
== 79 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88:
11937 LA90_207
= self
.input.LA(3)
11939 if (self
.synpred181()) :
11941 elif LA90
== FLOATING_POINT_LITERAL
:
11942 LA90
= self
.input.LA(2)
11944 LA90_209
= self
.input.LA(3)
11946 if (self
.synpred181()) :
11949 LA90_210
= self
.input.LA(3)
11951 if (self
.synpred181()) :
11954 LA90_211
= self
.input.LA(3)
11956 if (self
.synpred181()) :
11959 LA90_212
= self
.input.LA(3)
11961 if (self
.synpred181()) :
11964 LA90_213
= self
.input.LA(3)
11966 if (self
.synpred181()) :
11969 LA90_214
= self
.input.LA(3)
11971 if (self
.synpred181()) :
11974 LA90_215
= self
.input.LA(3)
11976 if (self
.synpred181()) :
11979 LA90_216
= self
.input.LA(3)
11981 if (self
.synpred181()) :
11984 LA90_217
= self
.input.LA(3)
11986 if (self
.synpred181()) :
11989 LA90_218
= self
.input.LA(3)
11991 if (self
.synpred181()) :
11994 LA90_219
= self
.input.LA(3)
11996 if (self
.synpred181()) :
11998 elif LA90
== 100 or LA90
== 101:
11999 LA90_220
= self
.input.LA(3)
12001 if (self
.synpred181()) :
12003 elif LA90
== 96 or LA90
== 97 or LA90
== 98 or LA90
== 99:
12004 LA90_221
= self
.input.LA(3)
12006 if (self
.synpred181()) :
12008 elif LA90
== 94 or LA90
== 95:
12009 LA90_222
= self
.input.LA(3)
12011 if (self
.synpred181()) :
12014 LA90_223
= self
.input.LA(3)
12016 if (self
.synpred181()) :
12019 LA90_224
= self
.input.LA(3)
12021 if (self
.synpred181()) :
12024 LA90_225
= self
.input.LA(3)
12026 if (self
.synpred181()) :
12029 LA90_226
= self
.input.LA(3)
12031 if (self
.synpred181()) :
12034 LA90_227
= self
.input.LA(3)
12036 if (self
.synpred181()) :
12039 LA90_228
= self
.input.LA(3)
12041 if (self
.synpred181()) :
12044 LA90_229
= self
.input.LA(3)
12046 if (self
.synpred181()) :
12050 elif LA90
== 28 or LA90
== 79 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88:
12051 LA90_231
= self
.input.LA(3)
12053 if (self
.synpred181()) :
12056 LA90
= self
.input.LA(2)
12057 if LA90
== IDENTIFIER
:
12058 LA90_233
= self
.input.LA(3)
12060 if (self
.synpred181()) :
12062 elif LA90
== HEX_LITERAL
:
12063 LA90_234
= self
.input.LA(3)
12065 if (self
.synpred181()) :
12067 elif LA90
== OCTAL_LITERAL
:
12068 LA90_235
= self
.input.LA(3)
12070 if (self
.synpred181()) :
12072 elif LA90
== DECIMAL_LITERAL
:
12073 LA90_236
= self
.input.LA(3)
12075 if (self
.synpred181()) :
12077 elif LA90
== CHARACTER_LITERAL
:
12078 LA90_237
= self
.input.LA(3)
12080 if (self
.synpred181()) :
12082 elif LA90
== STRING_LITERAL
:
12083 LA90_238
= self
.input.LA(3)
12085 if (self
.synpred181()) :
12087 elif LA90
== FLOATING_POINT_LITERAL
:
12088 LA90_239
= self
.input.LA(3)
12090 if (self
.synpred181()) :
12093 LA90_240
= self
.input.LA(3)
12095 if (self
.synpred181()) :
12098 LA90_241
= self
.input.LA(3)
12100 if (self
.synpred181()) :
12103 LA90_242
= self
.input.LA(3)
12105 if (self
.synpred181()) :
12107 elif LA90
== 65 or LA90
== 67 or LA90
== 68 or LA90
== 76 or LA90
== 77 or LA90
== 78:
12108 LA90_243
= self
.input.LA(3)
12110 if (self
.synpred181()) :
12113 LA90_244
= self
.input.LA(3)
12115 if (self
.synpred181()) :
12117 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:
12118 LA90_245
= self
.input.LA(3)
12120 if (self
.synpred181()) :
12123 LA90_246
= self
.input.LA(3)
12125 if (self
.synpred181()) :
12128 LA90_247
= self
.input.LA(3)
12130 if (self
.synpred181()) :
12133 LA90_248
= self
.input.LA(3)
12135 if (self
.synpred181()) :
12138 LA90_249
= self
.input.LA(3)
12140 if (self
.synpred181()) :
12143 LA90_250
= self
.input.LA(3)
12145 if (self
.synpred181()) :
12148 LA90_251
= self
.input.LA(3)
12150 if (self
.synpred181()) :
12153 LA90_252
= self
.input.LA(3)
12155 if (self
.synpred181()) :
12158 LA90_253
= self
.input.LA(3)
12160 if (self
.synpred181()) :
12163 LA90_254
= self
.input.LA(3)
12165 if (self
.synpred181()) :
12167 elif LA90
== 45 or LA90
== 46:
12168 LA90_255
= self
.input.LA(3)
12170 if (self
.synpred181()) :
12173 LA90_256
= self
.input.LA(3)
12175 if (self
.synpred181()) :
12178 LA90
= self
.input.LA(2)
12179 if LA90
== IDENTIFIER
:
12180 LA90_257
= self
.input.LA(3)
12182 if (self
.synpred181()) :
12184 elif LA90
== HEX_LITERAL
:
12185 LA90_258
= self
.input.LA(3)
12187 if (self
.synpred181()) :
12189 elif LA90
== OCTAL_LITERAL
:
12190 LA90_259
= self
.input.LA(3)
12192 if (self
.synpred181()) :
12194 elif LA90
== DECIMAL_LITERAL
:
12195 LA90_260
= self
.input.LA(3)
12197 if (self
.synpred181()) :
12199 elif LA90
== CHARACTER_LITERAL
:
12200 LA90_261
= self
.input.LA(3)
12202 if (self
.synpred181()) :
12204 elif LA90
== STRING_LITERAL
:
12205 LA90_262
= self
.input.LA(3)
12207 if (self
.synpred181()) :
12209 elif LA90
== FLOATING_POINT_LITERAL
:
12210 LA90_263
= self
.input.LA(3)
12212 if (self
.synpred181()) :
12215 LA90_264
= self
.input.LA(3)
12217 if (self
.synpred181()) :
12220 LA90_265
= self
.input.LA(3)
12222 if (self
.synpred181()) :
12225 LA90_266
= self
.input.LA(3)
12227 if (self
.synpred181()) :
12229 elif LA90
== 65 or LA90
== 67 or LA90
== 68 or LA90
== 76 or LA90
== 77 or LA90
== 78:
12230 LA90_267
= self
.input.LA(3)
12232 if (self
.synpred181()) :
12235 LA90_268
= self
.input.LA(3)
12237 if (self
.synpred181()) :
12240 LA90
= self
.input.LA(2)
12241 if LA90
== IDENTIFIER
:
12242 LA90_269
= self
.input.LA(3)
12244 if (self
.synpred181()) :
12246 elif LA90
== HEX_LITERAL
:
12247 LA90_270
= self
.input.LA(3)
12249 if (self
.synpred181()) :
12251 elif LA90
== OCTAL_LITERAL
:
12252 LA90_271
= self
.input.LA(3)
12254 if (self
.synpred181()) :
12256 elif LA90
== DECIMAL_LITERAL
:
12257 LA90_272
= self
.input.LA(3)
12259 if (self
.synpred181()) :
12261 elif LA90
== CHARACTER_LITERAL
:
12262 LA90_273
= self
.input.LA(3)
12264 if (self
.synpred181()) :
12266 elif LA90
== STRING_LITERAL
:
12267 LA90_274
= self
.input.LA(3)
12269 if (self
.synpred181()) :
12271 elif LA90
== FLOATING_POINT_LITERAL
:
12272 LA90_275
= self
.input.LA(3)
12274 if (self
.synpred181()) :
12277 LA90_276
= self
.input.LA(3)
12279 if (self
.synpred181()) :
12282 LA90_277
= self
.input.LA(3)
12284 if (self
.synpred181()) :
12287 LA90_278
= self
.input.LA(3)
12289 if (self
.synpred181()) :
12291 elif LA90
== 65 or LA90
== 67 or LA90
== 68 or LA90
== 76 or LA90
== 77 or LA90
== 78:
12292 LA90_279
= self
.input.LA(3)
12294 if (self
.synpred181()) :
12297 LA90_280
= self
.input.LA(3)
12299 if (self
.synpred181()) :
12301 elif LA90
== 65 or LA90
== 67 or LA90
== 68 or LA90
== 76 or LA90
== 77 or LA90
== 78:
12302 LA90
= self
.input.LA(2)
12304 LA90_281
= self
.input.LA(3)
12306 if (self
.synpred181()) :
12308 elif LA90
== IDENTIFIER
:
12309 LA90_282
= self
.input.LA(3)
12311 if (self
.synpred181()) :
12313 elif LA90
== HEX_LITERAL
:
12314 LA90_283
= self
.input.LA(3)
12316 if (self
.synpred181()) :
12318 elif LA90
== OCTAL_LITERAL
:
12319 LA90_284
= self
.input.LA(3)
12321 if (self
.synpred181()) :
12323 elif LA90
== DECIMAL_LITERAL
:
12324 LA90_285
= self
.input.LA(3)
12326 if (self
.synpred181()) :
12328 elif LA90
== CHARACTER_LITERAL
:
12329 LA90_286
= self
.input.LA(3)
12331 if (self
.synpred181()) :
12333 elif LA90
== STRING_LITERAL
:
12334 LA90_287
= self
.input.LA(3)
12336 if (self
.synpred181()) :
12338 elif LA90
== FLOATING_POINT_LITERAL
:
12339 LA90_288
= self
.input.LA(3)
12341 if (self
.synpred181()) :
12344 LA90_289
= self
.input.LA(3)
12346 if (self
.synpred181()) :
12349 LA90_290
= self
.input.LA(3)
12351 if (self
.synpred181()) :
12353 elif LA90
== 65 or LA90
== 67 or LA90
== 68 or LA90
== 76 or LA90
== 77 or LA90
== 78:
12354 LA90_291
= self
.input.LA(3)
12356 if (self
.synpred181()) :
12359 LA90_292
= self
.input.LA(3)
12361 if (self
.synpred181()) :
12364 LA90
= self
.input.LA(2)
12366 LA90_293
= self
.input.LA(3)
12368 if (self
.synpred181()) :
12370 elif LA90
== IDENTIFIER
:
12371 LA90_294
= self
.input.LA(3)
12373 if (self
.synpred181()) :
12375 elif LA90
== HEX_LITERAL
:
12376 LA90_295
= self
.input.LA(3)
12378 if (self
.synpred181()) :
12380 elif LA90
== OCTAL_LITERAL
:
12381 LA90_296
= self
.input.LA(3)
12383 if (self
.synpred181()) :
12385 elif LA90
== DECIMAL_LITERAL
:
12386 LA90_297
= self
.input.LA(3)
12388 if (self
.synpred181()) :
12390 elif LA90
== CHARACTER_LITERAL
:
12391 LA90_298
= self
.input.LA(3)
12393 if (self
.synpred181()) :
12395 elif LA90
== STRING_LITERAL
:
12396 LA90_299
= self
.input.LA(3)
12398 if (self
.synpred181()) :
12400 elif LA90
== FLOATING_POINT_LITERAL
:
12401 LA90_300
= self
.input.LA(3)
12403 if (self
.synpred181()) :
12406 LA90_301
= self
.input.LA(3)
12408 if (self
.synpred181()) :
12411 LA90_302
= self
.input.LA(3)
12413 if (self
.synpred181()) :
12415 elif LA90
== 65 or LA90
== 67 or LA90
== 68 or LA90
== 76 or LA90
== 77 or LA90
== 78:
12416 LA90_303
= self
.input.LA(3)
12418 if (self
.synpred181()) :
12421 LA90_304
= self
.input.LA(3)
12423 if (self
.synpred181()) :
12426 # C.g:0:0: statement_list
12427 self
.following
.append(self
.FOLLOW_statement_list_in_macro_statement2155
)
12428 self
.statement_list()
12429 self
.following
.pop()
12435 # C.g:491:49: ( expression )?
12437 LA91_0
= self
.input.LA(1)
12439 if ((IDENTIFIER
<= LA91_0
<= FLOATING_POINT_LITERAL
) or LA91_0
== 61 or LA91_0
== 65 or (67 <= LA91_0
<= 68) or (71 <= LA91_0
<= 73) or (76 <= LA91_0
<= 78)) :
12442 # C.g:0:0: expression
12443 self
.following
.append(self
.FOLLOW_expression_in_macro_statement2158
)
12445 self
.following
.pop()
12451 self
.match(self
.input, 62, self
.FOLLOW_62_in_macro_statement2161
)
12458 except RecognitionException
, re
:
12459 self
.reportError(re
)
12460 self
.recover(self
.input, re
)
12462 if self
.backtracking
> 0:
12463 self
.memoize(self
.input, 64, macro_statement_StartIndex
)
12469 # $ANTLR end macro_statement
12472 # $ANTLR start labeled_statement
12473 # C.g:494:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12474 def labeled_statement(self
, ):
12476 labeled_statement_StartIndex
= self
.input.index()
12479 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 65):
12482 # C.g:495:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12484 LA92
= self
.input.LA(1)
12485 if LA92
== IDENTIFIER
:
12492 if self
.backtracking
> 0:
12496 nvae
= NoViableAltException("494:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self
.input)
12501 # C.g:495:4: IDENTIFIER ':' statement
12502 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_labeled_statement2173
)
12505 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2175
)
12508 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2177
)
12510 self
.following
.pop()
12516 # C.g:496:4: 'case' constant_expression ':' statement
12517 self
.match(self
.input, 105, self
.FOLLOW_105_in_labeled_statement2182
)
12520 self
.following
.append(self
.FOLLOW_constant_expression_in_labeled_statement2184
)
12521 self
.constant_expression()
12522 self
.following
.pop()
12525 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2186
)
12528 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2188
)
12530 self
.following
.pop()
12536 # C.g:497:4: 'default' ':' statement
12537 self
.match(self
.input, 106, self
.FOLLOW_106_in_labeled_statement2193
)
12540 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2195
)
12543 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2197
)
12545 self
.following
.pop()
12551 except RecognitionException
, re
:
12552 self
.reportError(re
)
12553 self
.recover(self
.input, re
)
12555 if self
.backtracking
> 0:
12556 self
.memoize(self
.input, 65, labeled_statement_StartIndex
)
12562 # $ANTLR end labeled_statement
12564 class compound_statement_return(object):
12565 def __init__(self
):
12571 # $ANTLR start compound_statement
12572 # C.g:500:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12573 def compound_statement(self
, ):
12575 retval
= self
.compound_statement_return()
12576 retval
.start
= self
.input.LT(1)
12577 compound_statement_StartIndex
= self
.input.index()
12580 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 66):
12583 # C.g:501:2: ( '{' ( declaration )* ( statement_list )? '}' )
12584 # C.g:501:4: '{' ( declaration )* ( statement_list )? '}'
12585 self
.match(self
.input, 43, self
.FOLLOW_43_in_compound_statement2208
)
12588 # C.g:501:8: ( declaration )*
12589 while True: #loop93
12591 LA93
= self
.input.LA(1)
12592 if LA93
== IDENTIFIER
:
12593 LA93
= self
.input.LA(2)
12595 LA93_44
= self
.input.LA(3)
12597 if (self
.synpred185()) :
12602 LA93_48
= self
.input.LA(3)
12604 if (self
.synpred185()) :
12609 LA93_67
= self
.input.LA(3)
12611 if (self
.synpred185()) :
12615 elif LA93
== IDENTIFIER
:
12616 LA93_69
= self
.input.LA(3)
12618 if (self
.synpred185()) :
12623 LA93_70
= self
.input.LA(3)
12625 if (self
.synpred185()) :
12630 LA93_71
= self
.input.LA(3)
12632 if (self
.synpred185()) :
12637 LA93_72
= self
.input.LA(3)
12639 if (self
.synpred185()) :
12643 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12644 LA93_73
= self
.input.LA(3)
12646 if (self
.synpred185()) :
12651 LA93_74
= self
.input.LA(3)
12653 if (self
.synpred185()) :
12658 LA93_75
= self
.input.LA(3)
12660 if (self
.synpred185()) :
12665 LA93_76
= self
.input.LA(3)
12667 if (self
.synpred185()) :
12672 LA93_77
= self
.input.LA(3)
12674 if (self
.synpred185()) :
12679 LA93_78
= self
.input.LA(3)
12681 if (self
.synpred185()) :
12686 LA93_79
= self
.input.LA(3)
12688 if (self
.synpred185()) :
12693 LA93_80
= self
.input.LA(3)
12695 if (self
.synpred185()) :
12700 LA93_81
= self
.input.LA(3)
12702 if (self
.synpred185()) :
12707 LA93_82
= self
.input.LA(3)
12709 if (self
.synpred185()) :
12713 elif LA93
== 45 or LA93
== 46:
12714 LA93_83
= self
.input.LA(3)
12716 if (self
.synpred185()) :
12721 LA93_84
= self
.input.LA(3)
12723 if (self
.synpred185()) :
12727 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:
12728 LA93_85
= self
.input.LA(3)
12730 if (self
.synpred185()) :
12736 LA93
= self
.input.LA(2)
12737 if LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12738 LA93_86
= self
.input.LA(3)
12740 if (self
.synpred185()) :
12745 LA93_87
= self
.input.LA(3)
12747 if (self
.synpred185()) :
12752 LA93_88
= self
.input.LA(3)
12754 if (self
.synpred185()) :
12759 LA93_89
= self
.input.LA(3)
12761 if (self
.synpred185()) :
12766 LA93_90
= self
.input.LA(3)
12768 if (self
.synpred185()) :
12773 LA93_91
= self
.input.LA(3)
12775 if (self
.synpred185()) :
12780 LA93_92
= self
.input.LA(3)
12782 if (self
.synpred185()) :
12787 LA93_93
= self
.input.LA(3)
12789 if (self
.synpred185()) :
12794 LA93_94
= self
.input.LA(3)
12796 if (self
.synpred185()) :
12801 LA93_95
= self
.input.LA(3)
12803 if (self
.synpred185()) :
12807 elif LA93
== 45 or LA93
== 46:
12808 LA93_96
= self
.input.LA(3)
12810 if (self
.synpred185()) :
12815 LA93_97
= self
.input.LA(3)
12817 if (self
.synpred185()) :
12821 elif LA93
== IDENTIFIER
:
12822 LA93_98
= self
.input.LA(3)
12824 if (self
.synpred185()) :
12829 LA93_99
= self
.input.LA(3)
12831 if (self
.synpred185()) :
12836 LA93_100
= self
.input.LA(3)
12838 if (self
.synpred185()) :
12843 LA93_101
= self
.input.LA(3)
12845 if (self
.synpred185()) :
12850 LA93_102
= self
.input.LA(3)
12852 if (self
.synpred185()) :
12856 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:
12857 LA93_103
= self
.input.LA(3)
12859 if (self
.synpred185()) :
12864 LA93_104
= self
.input.LA(3)
12866 if (self
.synpred185()) :
12871 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12872 LA93
= self
.input.LA(2)
12874 LA93_105
= self
.input.LA(3)
12876 if (self
.synpred185()) :
12881 LA93_106
= self
.input.LA(3)
12883 if (self
.synpred185()) :
12888 LA93_107
= self
.input.LA(3)
12890 if (self
.synpred185()) :
12895 LA93_108
= self
.input.LA(3)
12897 if (self
.synpred185()) :
12901 elif LA93
== IDENTIFIER
:
12902 LA93_109
= self
.input.LA(3)
12904 if (self
.synpred185()) :
12909 LA93_110
= self
.input.LA(3)
12911 if (self
.synpred185()) :
12916 LA93_111
= self
.input.LA(3)
12918 if (self
.synpred185()) :
12922 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12923 LA93_112
= self
.input.LA(3)
12925 if (self
.synpred185()) :
12930 LA93_113
= self
.input.LA(3)
12932 if (self
.synpred185()) :
12937 LA93_114
= self
.input.LA(3)
12939 if (self
.synpred185()) :
12944 LA93_115
= self
.input.LA(3)
12946 if (self
.synpred185()) :
12951 LA93_116
= self
.input.LA(3)
12953 if (self
.synpred185()) :
12958 LA93_117
= self
.input.LA(3)
12960 if (self
.synpred185()) :
12965 LA93_118
= self
.input.LA(3)
12967 if (self
.synpred185()) :
12972 LA93_119
= self
.input.LA(3)
12974 if (self
.synpred185()) :
12979 LA93_120
= self
.input.LA(3)
12981 if (self
.synpred185()) :
12986 LA93_121
= self
.input.LA(3)
12988 if (self
.synpred185()) :
12992 elif LA93
== 45 or LA93
== 46:
12993 LA93_122
= self
.input.LA(3)
12995 if (self
.synpred185()) :
13000 LA93_123
= self
.input.LA(3)
13002 if (self
.synpred185()) :
13006 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:
13007 LA93_124
= self
.input.LA(3)
13009 if (self
.synpred185()) :
13015 LA93
= self
.input.LA(2)
13017 LA93_125
= self
.input.LA(3)
13019 if (self
.synpred185()) :
13024 LA93_126
= self
.input.LA(3)
13026 if (self
.synpred185()) :
13031 LA93_127
= self
.input.LA(3)
13033 if (self
.synpred185()) :
13038 LA93_128
= self
.input.LA(3)
13040 if (self
.synpred185()) :
13044 elif LA93
== IDENTIFIER
:
13045 LA93_129
= self
.input.LA(3)
13047 if (self
.synpred185()) :
13052 LA93_130
= self
.input.LA(3)
13054 if (self
.synpred185()) :
13059 LA93_131
= self
.input.LA(3)
13061 if (self
.synpred185()) :
13065 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13066 LA93_132
= self
.input.LA(3)
13068 if (self
.synpred185()) :
13073 LA93_133
= self
.input.LA(3)
13075 if (self
.synpred185()) :
13080 LA93_134
= self
.input.LA(3)
13082 if (self
.synpred185()) :
13087 LA93_135
= self
.input.LA(3)
13089 if (self
.synpred185()) :
13094 LA93_136
= self
.input.LA(3)
13096 if (self
.synpred185()) :
13101 LA93_137
= self
.input.LA(3)
13103 if (self
.synpred185()) :
13108 LA93_138
= self
.input.LA(3)
13110 if (self
.synpred185()) :
13115 LA93_139
= self
.input.LA(3)
13117 if (self
.synpred185()) :
13122 LA93_140
= self
.input.LA(3)
13124 if (self
.synpred185()) :
13129 LA93_141
= self
.input.LA(3)
13131 if (self
.synpred185()) :
13135 elif LA93
== 45 or LA93
== 46:
13136 LA93_142
= self
.input.LA(3)
13138 if (self
.synpred185()) :
13143 LA93_143
= self
.input.LA(3)
13145 if (self
.synpred185()) :
13149 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:
13150 LA93_144
= self
.input.LA(3)
13152 if (self
.synpred185()) :
13158 LA93
= self
.input.LA(2)
13160 LA93_145
= self
.input.LA(3)
13162 if (self
.synpred185()) :
13167 LA93_146
= self
.input.LA(3)
13169 if (self
.synpred185()) :
13174 LA93_147
= self
.input.LA(3)
13176 if (self
.synpred185()) :
13181 LA93_148
= self
.input.LA(3)
13183 if (self
.synpred185()) :
13187 elif LA93
== IDENTIFIER
:
13188 LA93_149
= self
.input.LA(3)
13190 if (self
.synpred185()) :
13195 LA93_150
= self
.input.LA(3)
13197 if (self
.synpred185()) :
13202 LA93_151
= self
.input.LA(3)
13204 if (self
.synpred185()) :
13208 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13209 LA93_152
= self
.input.LA(3)
13211 if (self
.synpred185()) :
13216 LA93_153
= self
.input.LA(3)
13218 if (self
.synpred185()) :
13223 LA93_154
= self
.input.LA(3)
13225 if (self
.synpred185()) :
13230 LA93_155
= self
.input.LA(3)
13232 if (self
.synpred185()) :
13237 LA93_156
= self
.input.LA(3)
13239 if (self
.synpred185()) :
13244 LA93_157
= self
.input.LA(3)
13246 if (self
.synpred185()) :
13251 LA93_158
= self
.input.LA(3)
13253 if (self
.synpred185()) :
13258 LA93_159
= self
.input.LA(3)
13260 if (self
.synpred185()) :
13265 LA93_160
= self
.input.LA(3)
13267 if (self
.synpred185()) :
13272 LA93_161
= self
.input.LA(3)
13274 if (self
.synpred185()) :
13278 elif LA93
== 45 or LA93
== 46:
13279 LA93_162
= self
.input.LA(3)
13281 if (self
.synpred185()) :
13286 LA93_163
= self
.input.LA(3)
13288 if (self
.synpred185()) :
13292 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:
13293 LA93_164
= self
.input.LA(3)
13295 if (self
.synpred185()) :
13301 LA93
= self
.input.LA(2)
13303 LA93_165
= self
.input.LA(3)
13305 if (self
.synpred185()) :
13310 LA93_166
= self
.input.LA(3)
13312 if (self
.synpred185()) :
13317 LA93_167
= self
.input.LA(3)
13319 if (self
.synpred185()) :
13324 LA93_168
= self
.input.LA(3)
13326 if (self
.synpred185()) :
13330 elif LA93
== IDENTIFIER
:
13331 LA93_169
= self
.input.LA(3)
13333 if (self
.synpred185()) :
13338 LA93_170
= self
.input.LA(3)
13340 if (self
.synpred185()) :
13345 LA93_171
= self
.input.LA(3)
13347 if (self
.synpred185()) :
13351 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13352 LA93_172
= self
.input.LA(3)
13354 if (self
.synpred185()) :
13359 LA93_173
= self
.input.LA(3)
13361 if (self
.synpred185()) :
13366 LA93_174
= self
.input.LA(3)
13368 if (self
.synpred185()) :
13373 LA93_175
= self
.input.LA(3)
13375 if (self
.synpred185()) :
13380 LA93_176
= self
.input.LA(3)
13382 if (self
.synpred185()) :
13387 LA93_177
= self
.input.LA(3)
13389 if (self
.synpred185()) :
13394 LA93_178
= self
.input.LA(3)
13396 if (self
.synpred185()) :
13401 LA93_179
= self
.input.LA(3)
13403 if (self
.synpred185()) :
13408 LA93_180
= self
.input.LA(3)
13410 if (self
.synpred185()) :
13415 LA93_181
= self
.input.LA(3)
13417 if (self
.synpred185()) :
13421 elif LA93
== 45 or LA93
== 46:
13422 LA93_182
= self
.input.LA(3)
13424 if (self
.synpred185()) :
13429 LA93_183
= self
.input.LA(3)
13431 if (self
.synpred185()) :
13435 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:
13436 LA93_184
= self
.input.LA(3)
13438 if (self
.synpred185()) :
13444 LA93
= self
.input.LA(2)
13446 LA93_185
= self
.input.LA(3)
13448 if (self
.synpred185()) :
13453 LA93_186
= self
.input.LA(3)
13455 if (self
.synpred185()) :
13460 LA93_187
= self
.input.LA(3)
13462 if (self
.synpred185()) :
13467 LA93_188
= self
.input.LA(3)
13469 if (self
.synpred185()) :
13473 elif LA93
== IDENTIFIER
:
13474 LA93_189
= self
.input.LA(3)
13476 if (self
.synpred185()) :
13481 LA93_190
= self
.input.LA(3)
13483 if (self
.synpred185()) :
13488 LA93_191
= self
.input.LA(3)
13490 if (self
.synpred185()) :
13494 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13495 LA93_192
= self
.input.LA(3)
13497 if (self
.synpred185()) :
13502 LA93_193
= self
.input.LA(3)
13504 if (self
.synpred185()) :
13509 LA93_194
= self
.input.LA(3)
13511 if (self
.synpred185()) :
13516 LA93_195
= self
.input.LA(3)
13518 if (self
.synpred185()) :
13523 LA93_196
= self
.input.LA(3)
13525 if (self
.synpred185()) :
13530 LA93_197
= self
.input.LA(3)
13532 if (self
.synpred185()) :
13537 LA93_198
= self
.input.LA(3)
13539 if (self
.synpred185()) :
13544 LA93_199
= self
.input.LA(3)
13546 if (self
.synpred185()) :
13551 LA93_200
= self
.input.LA(3)
13553 if (self
.synpred185()) :
13558 LA93_201
= self
.input.LA(3)
13560 if (self
.synpred185()) :
13564 elif LA93
== 45 or LA93
== 46:
13565 LA93_202
= self
.input.LA(3)
13567 if (self
.synpred185()) :
13572 LA93_203
= self
.input.LA(3)
13574 if (self
.synpred185()) :
13578 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:
13579 LA93_204
= self
.input.LA(3)
13581 if (self
.synpred185()) :
13587 LA93
= self
.input.LA(2)
13589 LA93_205
= self
.input.LA(3)
13591 if (self
.synpred185()) :
13596 LA93_206
= self
.input.LA(3)
13598 if (self
.synpred185()) :
13603 LA93_207
= self
.input.LA(3)
13605 if (self
.synpred185()) :
13610 LA93_208
= self
.input.LA(3)
13612 if (self
.synpred185()) :
13616 elif LA93
== IDENTIFIER
:
13617 LA93_209
= self
.input.LA(3)
13619 if (self
.synpred185()) :
13624 LA93_210
= self
.input.LA(3)
13626 if (self
.synpred185()) :
13631 LA93_211
= self
.input.LA(3)
13633 if (self
.synpred185()) :
13637 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13638 LA93_212
= self
.input.LA(3)
13640 if (self
.synpred185()) :
13645 LA93_213
= self
.input.LA(3)
13647 if (self
.synpred185()) :
13652 LA93_214
= self
.input.LA(3)
13654 if (self
.synpred185()) :
13659 LA93_215
= self
.input.LA(3)
13661 if (self
.synpred185()) :
13666 LA93_216
= self
.input.LA(3)
13668 if (self
.synpred185()) :
13673 LA93_217
= self
.input.LA(3)
13675 if (self
.synpred185()) :
13680 LA93_218
= self
.input.LA(3)
13682 if (self
.synpred185()) :
13687 LA93_219
= self
.input.LA(3)
13689 if (self
.synpred185()) :
13694 LA93_220
= self
.input.LA(3)
13696 if (self
.synpred185()) :
13701 LA93_221
= self
.input.LA(3)
13703 if (self
.synpred185()) :
13707 elif LA93
== 45 or LA93
== 46:
13708 LA93_222
= self
.input.LA(3)
13710 if (self
.synpred185()) :
13715 LA93_223
= self
.input.LA(3)
13717 if (self
.synpred185()) :
13721 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:
13722 LA93_224
= self
.input.LA(3)
13724 if (self
.synpred185()) :
13730 LA93
= self
.input.LA(2)
13732 LA93_225
= self
.input.LA(3)
13734 if (self
.synpred185()) :
13739 LA93_226
= self
.input.LA(3)
13741 if (self
.synpred185()) :
13746 LA93_227
= self
.input.LA(3)
13748 if (self
.synpred185()) :
13753 LA93_228
= self
.input.LA(3)
13755 if (self
.synpred185()) :
13759 elif LA93
== IDENTIFIER
:
13760 LA93_229
= self
.input.LA(3)
13762 if (self
.synpred185()) :
13767 LA93_230
= self
.input.LA(3)
13769 if (self
.synpred185()) :
13774 LA93_231
= self
.input.LA(3)
13776 if (self
.synpred185()) :
13780 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13781 LA93_232
= self
.input.LA(3)
13783 if (self
.synpred185()) :
13788 LA93_233
= self
.input.LA(3)
13790 if (self
.synpred185()) :
13795 LA93_234
= self
.input.LA(3)
13797 if (self
.synpred185()) :
13802 LA93_235
= self
.input.LA(3)
13804 if (self
.synpred185()) :
13809 LA93_236
= self
.input.LA(3)
13811 if (self
.synpred185()) :
13816 LA93_237
= self
.input.LA(3)
13818 if (self
.synpred185()) :
13823 LA93_238
= self
.input.LA(3)
13825 if (self
.synpred185()) :
13830 LA93_239
= self
.input.LA(3)
13832 if (self
.synpred185()) :
13837 LA93_240
= self
.input.LA(3)
13839 if (self
.synpred185()) :
13844 LA93_241
= self
.input.LA(3)
13846 if (self
.synpred185()) :
13850 elif LA93
== 45 or LA93
== 46:
13851 LA93_242
= self
.input.LA(3)
13853 if (self
.synpred185()) :
13858 LA93_243
= self
.input.LA(3)
13860 if (self
.synpred185()) :
13864 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:
13865 LA93_244
= self
.input.LA(3)
13867 if (self
.synpred185()) :
13873 LA93
= self
.input.LA(2)
13875 LA93_245
= self
.input.LA(3)
13877 if (self
.synpred185()) :
13882 LA93_246
= self
.input.LA(3)
13884 if (self
.synpred185()) :
13889 LA93_247
= self
.input.LA(3)
13891 if (self
.synpred185()) :
13896 LA93_248
= self
.input.LA(3)
13898 if (self
.synpred185()) :
13902 elif LA93
== IDENTIFIER
:
13903 LA93_249
= self
.input.LA(3)
13905 if (self
.synpred185()) :
13910 LA93_250
= self
.input.LA(3)
13912 if (self
.synpred185()) :
13917 LA93_251
= self
.input.LA(3)
13919 if (self
.synpred185()) :
13923 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13924 LA93_252
= self
.input.LA(3)
13926 if (self
.synpred185()) :
13931 LA93_253
= self
.input.LA(3)
13933 if (self
.synpred185()) :
13938 LA93_254
= self
.input.LA(3)
13940 if (self
.synpred185()) :
13945 LA93_255
= self
.input.LA(3)
13947 if (self
.synpred185()) :
13952 LA93_256
= self
.input.LA(3)
13954 if (self
.synpred185()) :
13959 LA93_257
= self
.input.LA(3)
13961 if (self
.synpred185()) :
13966 LA93_258
= self
.input.LA(3)
13968 if (self
.synpred185()) :
13973 LA93_259
= self
.input.LA(3)
13975 if (self
.synpred185()) :
13980 LA93_260
= self
.input.LA(3)
13982 if (self
.synpred185()) :
13987 LA93_261
= self
.input.LA(3)
13989 if (self
.synpred185()) :
13993 elif LA93
== 45 or LA93
== 46:
13994 LA93_262
= self
.input.LA(3)
13996 if (self
.synpred185()) :
14001 LA93_263
= self
.input.LA(3)
14003 if (self
.synpred185()) :
14007 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:
14008 LA93_264
= self
.input.LA(3)
14010 if (self
.synpred185()) :
14016 LA93
= self
.input.LA(2)
14018 LA93_265
= self
.input.LA(3)
14020 if (self
.synpred185()) :
14025 LA93_266
= self
.input.LA(3)
14027 if (self
.synpred185()) :
14032 LA93_267
= self
.input.LA(3)
14034 if (self
.synpred185()) :
14039 LA93_268
= self
.input.LA(3)
14041 if (self
.synpred185()) :
14045 elif LA93
== IDENTIFIER
:
14046 LA93_269
= self
.input.LA(3)
14048 if (self
.synpred185()) :
14053 LA93_270
= self
.input.LA(3)
14055 if (self
.synpred185()) :
14060 LA93_271
= self
.input.LA(3)
14062 if (self
.synpred185()) :
14066 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14067 LA93_272
= self
.input.LA(3)
14069 if (self
.synpred185()) :
14074 LA93_273
= self
.input.LA(3)
14076 if (self
.synpred185()) :
14081 LA93_274
= self
.input.LA(3)
14083 if (self
.synpred185()) :
14088 LA93_275
= self
.input.LA(3)
14090 if (self
.synpred185()) :
14095 LA93_276
= self
.input.LA(3)
14097 if (self
.synpred185()) :
14102 LA93_277
= self
.input.LA(3)
14104 if (self
.synpred185()) :
14109 LA93_278
= self
.input.LA(3)
14111 if (self
.synpred185()) :
14116 LA93_279
= self
.input.LA(3)
14118 if (self
.synpred185()) :
14123 LA93_280
= self
.input.LA(3)
14125 if (self
.synpred185()) :
14130 LA93_281
= self
.input.LA(3)
14132 if (self
.synpred185()) :
14136 elif LA93
== 45 or LA93
== 46:
14137 LA93_282
= self
.input.LA(3)
14139 if (self
.synpred185()) :
14144 LA93_283
= self
.input.LA(3)
14146 if (self
.synpred185()) :
14150 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:
14151 LA93_284
= self
.input.LA(3)
14153 if (self
.synpred185()) :
14159 LA93
= self
.input.LA(2)
14161 LA93_285
= self
.input.LA(3)
14163 if (self
.synpred185()) :
14168 LA93_286
= self
.input.LA(3)
14170 if (self
.synpred185()) :
14175 LA93_287
= self
.input.LA(3)
14177 if (self
.synpred185()) :
14182 LA93_288
= self
.input.LA(3)
14184 if (self
.synpred185()) :
14188 elif LA93
== IDENTIFIER
:
14189 LA93_289
= self
.input.LA(3)
14191 if (self
.synpred185()) :
14196 LA93_290
= self
.input.LA(3)
14198 if (self
.synpred185()) :
14203 LA93_291
= self
.input.LA(3)
14205 if (self
.synpred185()) :
14209 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14210 LA93_292
= self
.input.LA(3)
14212 if (self
.synpred185()) :
14217 LA93_293
= self
.input.LA(3)
14219 if (self
.synpred185()) :
14224 LA93_294
= self
.input.LA(3)
14226 if (self
.synpred185()) :
14231 LA93_295
= self
.input.LA(3)
14233 if (self
.synpred185()) :
14238 LA93_296
= self
.input.LA(3)
14240 if (self
.synpred185()) :
14245 LA93_297
= self
.input.LA(3)
14247 if (self
.synpred185()) :
14252 LA93_298
= self
.input.LA(3)
14254 if (self
.synpred185()) :
14259 LA93_299
= self
.input.LA(3)
14261 if (self
.synpred185()) :
14266 LA93_300
= self
.input.LA(3)
14268 if (self
.synpred185()) :
14273 LA93_301
= self
.input.LA(3)
14275 if (self
.synpred185()) :
14279 elif LA93
== 45 or LA93
== 46:
14280 LA93_302
= self
.input.LA(3)
14282 if (self
.synpred185()) :
14287 LA93_303
= self
.input.LA(3)
14289 if (self
.synpred185()) :
14293 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:
14294 LA93_304
= self
.input.LA(3)
14296 if (self
.synpred185()) :
14301 elif LA93
== 45 or LA93
== 46:
14302 LA93_40
= self
.input.LA(2)
14304 if (LA93_40
== IDENTIFIER
) :
14305 LA93_305
= self
.input.LA(3)
14307 if (self
.synpred185()) :
14311 elif (LA93_40
== 43) :
14312 LA93_306
= self
.input.LA(3)
14314 if (self
.synpred185()) :
14321 LA93_41
= self
.input.LA(2)
14323 if (LA93_41
== IDENTIFIER
) :
14324 LA93_307
= self
.input.LA(3)
14326 if (self
.synpred185()) :
14330 elif (LA93_41
== 43) :
14331 LA93_308
= self
.input.LA(3)
14333 if (self
.synpred185()) :
14339 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:
14340 LA93
= self
.input.LA(2)
14342 LA93_309
= self
.input.LA(3)
14344 if (self
.synpred185()) :
14349 LA93_310
= self
.input.LA(3)
14351 if (self
.synpred185()) :
14356 LA93_311
= self
.input.LA(3)
14358 if (self
.synpred185()) :
14363 LA93_312
= self
.input.LA(3)
14365 if (self
.synpred185()) :
14369 elif LA93
== IDENTIFIER
:
14370 LA93_313
= self
.input.LA(3)
14372 if (self
.synpred185()) :
14377 LA93_314
= self
.input.LA(3)
14379 if (self
.synpred185()) :
14384 LA93_315
= self
.input.LA(3)
14386 if (self
.synpred185()) :
14390 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14391 LA93_316
= self
.input.LA(3)
14393 if (self
.synpred185()) :
14398 LA93_317
= self
.input.LA(3)
14400 if (self
.synpred185()) :
14405 LA93_318
= self
.input.LA(3)
14407 if (self
.synpred185()) :
14412 LA93_319
= self
.input.LA(3)
14414 if (self
.synpred185()) :
14419 LA93_320
= self
.input.LA(3)
14421 if (self
.synpred185()) :
14426 LA93_321
= self
.input.LA(3)
14428 if (self
.synpred185()) :
14433 LA93_322
= self
.input.LA(3)
14435 if (self
.synpred185()) :
14440 LA93_323
= self
.input.LA(3)
14442 if (self
.synpred185()) :
14447 LA93_324
= self
.input.LA(3)
14449 if (self
.synpred185()) :
14454 LA93_325
= self
.input.LA(3)
14456 if (self
.synpred185()) :
14460 elif LA93
== 45 or LA93
== 46:
14461 LA93_326
= self
.input.LA(3)
14463 if (self
.synpred185()) :
14468 LA93_327
= self
.input.LA(3)
14470 if (self
.synpred185()) :
14474 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:
14475 LA93_328
= self
.input.LA(3)
14477 if (self
.synpred185()) :
14484 # C.g:0:0: declaration
14485 self
.following
.append(self
.FOLLOW_declaration_in_compound_statement2210
)
14487 self
.following
.pop()
14496 # C.g:501:21: ( statement_list )?
14498 LA94_0
= self
.input.LA(1)
14500 if ((IDENTIFIER
<= LA94_0
<= FLOATING_POINT_LITERAL
) or (25 <= LA94_0
<= 26) or (29 <= LA94_0
<= 43) or (45 <= LA94_0
<= 46) or (48 <= LA94_0
<= 61) or LA94_0
== 65 or (67 <= LA94_0
<= 68) or (71 <= LA94_0
<= 73) or (76 <= LA94_0
<= 78) or (102 <= LA94_0
<= 107) or (109 <= LA94_0
<= 116)) :
14503 # C.g:0:0: statement_list
14504 self
.following
.append(self
.FOLLOW_statement_list_in_compound_statement2213
)
14505 self
.statement_list()
14506 self
.following
.pop()
14512 self
.match(self
.input, 44, self
.FOLLOW_44_in_compound_statement2216
)
14518 retval
.stop
= self
.input.LT(-1)
14521 except RecognitionException
, re
:
14522 self
.reportError(re
)
14523 self
.recover(self
.input, re
)
14525 if self
.backtracking
> 0:
14526 self
.memoize(self
.input, 66, compound_statement_StartIndex
)
14532 # $ANTLR end compound_statement
14535 # $ANTLR start statement_list
14536 # C.g:504:1: statement_list : ( statement )+ ;
14537 def statement_list(self
, ):
14539 statement_list_StartIndex
= self
.input.index()
14542 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 67):
14545 # C.g:505:2: ( ( statement )+ )
14546 # C.g:505:4: ( statement )+
14547 # C.g:505:4: ( statement )+
14549 while True: #loop95
14551 LA95
= self
.input.LA(1)
14552 if LA95
== IDENTIFIER
:
14553 LA95
= self
.input.LA(2)
14554 if LA95
== 25 or LA95
== 29 or LA95
== 30 or LA95
== 31 or LA95
== 32 or LA95
== 33 or LA95
== 34 or LA95
== 35 or LA95
== 36 or LA95
== 37 or LA95
== 38 or LA95
== 39 or LA95
== 40 or LA95
== 41 or LA95
== 42 or LA95
== 45 or LA95
== 46 or LA95
== 47 or LA95
== 48 or LA95
== 49 or LA95
== 50 or LA95
== 51 or LA95
== 52 or LA95
== 53 or LA95
== 54 or LA95
== 55 or LA95
== 56 or LA95
== 57 or LA95
== 58 or LA95
== 59 or LA95
== 60:
14557 LA95_47
= self
.input.LA(3)
14559 if (self
.synpred187()) :
14564 LA95_48
= self
.input.LA(3)
14566 if (self
.synpred187()) :
14571 LA95_49
= self
.input.LA(3)
14573 if (self
.synpred187()) :
14578 LA95_50
= self
.input.LA(3)
14580 if (self
.synpred187()) :
14585 LA95_51
= self
.input.LA(3)
14587 if (self
.synpred187()) :
14592 LA95_52
= self
.input.LA(3)
14594 if (self
.synpred187()) :
14599 LA95_53
= self
.input.LA(3)
14601 if (self
.synpred187()) :
14605 elif LA95
== 28 or LA95
== 79 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88:
14606 LA95_54
= self
.input.LA(3)
14608 if (self
.synpred187()) :
14612 elif LA95
== STRING_LITERAL
:
14613 LA95_55
= self
.input.LA(3)
14615 if (self
.synpred187()) :
14619 elif LA95
== IDENTIFIER
:
14620 LA95_56
= self
.input.LA(3)
14622 if (self
.synpred187()) :
14627 LA95_57
= self
.input.LA(3)
14629 if (self
.synpred187()) :
14634 LA95_58
= self
.input.LA(3)
14636 if (self
.synpred187()) :
14641 LA95_59
= self
.input.LA(3)
14643 if (self
.synpred187()) :
14648 LA95_60
= self
.input.LA(3)
14650 if (self
.synpred187()) :
14654 elif LA95
== 100 or LA95
== 101:
14655 LA95_61
= self
.input.LA(3)
14657 if (self
.synpred187()) :
14661 elif LA95
== 96 or LA95
== 97 or LA95
== 98 or LA95
== 99:
14662 LA95_62
= self
.input.LA(3)
14664 if (self
.synpred187()) :
14668 elif LA95
== 94 or LA95
== 95:
14669 LA95_63
= self
.input.LA(3)
14671 if (self
.synpred187()) :
14676 LA95_64
= self
.input.LA(3)
14678 if (self
.synpred187()) :
14683 LA95_65
= self
.input.LA(3)
14685 if (self
.synpred187()) :
14690 LA95_66
= self
.input.LA(3)
14692 if (self
.synpred187()) :
14697 LA95_67
= self
.input.LA(3)
14699 if (self
.synpred187()) :
14704 LA95_68
= self
.input.LA(3)
14706 if (self
.synpred187()) :
14711 LA95_69
= self
.input.LA(3)
14713 if (self
.synpred187()) :
14718 LA95_70
= self
.input.LA(3)
14720 if (self
.synpred187()) :
14725 elif LA95
== HEX_LITERAL
:
14726 LA95
= self
.input.LA(2)
14728 LA95_89
= self
.input.LA(3)
14730 if (self
.synpred187()) :
14735 LA95_90
= self
.input.LA(3)
14737 if (self
.synpred187()) :
14742 LA95_91
= self
.input.LA(3)
14744 if (self
.synpred187()) :
14749 LA95_92
= self
.input.LA(3)
14751 if (self
.synpred187()) :
14756 LA95_93
= self
.input.LA(3)
14758 if (self
.synpred187()) :
14763 LA95_94
= self
.input.LA(3)
14765 if (self
.synpred187()) :
14770 LA95_95
= self
.input.LA(3)
14772 if (self
.synpred187()) :
14777 LA95_96
= self
.input.LA(3)
14779 if (self
.synpred187()) :
14784 LA95_97
= self
.input.LA(3)
14786 if (self
.synpred187()) :
14791 LA95_98
= self
.input.LA(3)
14793 if (self
.synpred187()) :
14798 LA95_99
= self
.input.LA(3)
14800 if (self
.synpred187()) :
14804 elif LA95
== 100 or LA95
== 101:
14805 LA95_100
= self
.input.LA(3)
14807 if (self
.synpred187()) :
14811 elif LA95
== 96 or LA95
== 97 or LA95
== 98 or LA95
== 99:
14812 LA95_101
= self
.input.LA(3)
14814 if (self
.synpred187()) :
14818 elif LA95
== 94 or LA95
== 95:
14819 LA95_102
= self
.input.LA(3)
14821 if (self
.synpred187()) :
14826 LA95_103
= self
.input.LA(3)
14828 if (self
.synpred187()) :
14833 LA95_104
= self
.input.LA(3)
14835 if (self
.synpred187()) :
14840 LA95_105
= self
.input.LA(3)
14842 if (self
.synpred187()) :
14847 LA95_106
= self
.input.LA(3)
14849 if (self
.synpred187()) :
14854 LA95_107
= self
.input.LA(3)
14856 if (self
.synpred187()) :
14861 LA95_108
= self
.input.LA(3)
14863 if (self
.synpred187()) :
14868 LA95_109
= self
.input.LA(3)
14870 if (self
.synpred187()) :
14876 elif LA95
== 28 or LA95
== 79 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88:
14877 LA95_112
= self
.input.LA(3)
14879 if (self
.synpred187()) :
14884 elif LA95
== OCTAL_LITERAL
:
14885 LA95
= self
.input.LA(2)
14887 LA95_113
= self
.input.LA(3)
14889 if (self
.synpred187()) :
14894 LA95_114
= self
.input.LA(3)
14896 if (self
.synpred187()) :
14901 LA95_115
= self
.input.LA(3)
14903 if (self
.synpred187()) :
14908 LA95_116
= self
.input.LA(3)
14910 if (self
.synpred187()) :
14915 LA95_117
= self
.input.LA(3)
14917 if (self
.synpred187()) :
14922 LA95_118
= self
.input.LA(3)
14924 if (self
.synpred187()) :
14929 LA95_119
= self
.input.LA(3)
14931 if (self
.synpred187()) :
14935 elif LA95
== 28 or LA95
== 79 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88:
14936 LA95_120
= self
.input.LA(3)
14938 if (self
.synpred187()) :
14943 LA95_121
= self
.input.LA(3)
14945 if (self
.synpred187()) :
14950 LA95_122
= self
.input.LA(3)
14952 if (self
.synpred187()) :
14957 LA95_123
= self
.input.LA(3)
14959 if (self
.synpred187()) :
14964 LA95_124
= self
.input.LA(3)
14966 if (self
.synpred187()) :
14970 elif LA95
== 100 or LA95
== 101:
14971 LA95_125
= self
.input.LA(3)
14973 if (self
.synpred187()) :
14977 elif LA95
== 96 or LA95
== 97 or LA95
== 98 or LA95
== 99:
14978 LA95_126
= self
.input.LA(3)
14980 if (self
.synpred187()) :
14984 elif LA95
== 94 or LA95
== 95:
14985 LA95_127
= self
.input.LA(3)
14987 if (self
.synpred187()) :
14992 LA95_128
= self
.input.LA(3)
14994 if (self
.synpred187()) :
14999 LA95_129
= self
.input.LA(3)
15001 if (self
.synpred187()) :
15006 LA95_130
= self
.input.LA(3)
15008 if (self
.synpred187()) :
15013 LA95_131
= self
.input.LA(3)
15015 if (self
.synpred187()) :
15020 LA95_132
= self
.input.LA(3)
15022 if (self
.synpred187()) :
15027 LA95_133
= self
.input.LA(3)
15029 if (self
.synpred187()) :
15034 LA95_134
= self
.input.LA(3)
15036 if (self
.synpred187()) :
15043 elif LA95
== DECIMAL_LITERAL
:
15044 LA95
= self
.input.LA(2)
15046 LA95_137
= self
.input.LA(3)
15048 if (self
.synpred187()) :
15053 LA95_138
= self
.input.LA(3)
15055 if (self
.synpred187()) :
15060 LA95_139
= self
.input.LA(3)
15062 if (self
.synpred187()) :
15067 LA95_140
= self
.input.LA(3)
15069 if (self
.synpred187()) :
15074 LA95_141
= self
.input.LA(3)
15076 if (self
.synpred187()) :
15081 LA95_142
= self
.input.LA(3)
15083 if (self
.synpred187()) :
15088 LA95_143
= self
.input.LA(3)
15090 if (self
.synpred187()) :
15094 elif LA95
== 28 or LA95
== 79 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88:
15095 LA95_144
= self
.input.LA(3)
15097 if (self
.synpred187()) :
15102 LA95_145
= self
.input.LA(3)
15104 if (self
.synpred187()) :
15109 LA95_146
= self
.input.LA(3)
15111 if (self
.synpred187()) :
15116 LA95_147
= self
.input.LA(3)
15118 if (self
.synpred187()) :
15123 LA95_148
= self
.input.LA(3)
15125 if (self
.synpred187()) :
15129 elif LA95
== 100 or LA95
== 101:
15130 LA95_149
= self
.input.LA(3)
15132 if (self
.synpred187()) :
15136 elif LA95
== 96 or LA95
== 97 or LA95
== 98 or LA95
== 99:
15137 LA95_150
= self
.input.LA(3)
15139 if (self
.synpred187()) :
15143 elif LA95
== 94 or LA95
== 95:
15144 LA95_151
= self
.input.LA(3)
15146 if (self
.synpred187()) :
15151 LA95_152
= self
.input.LA(3)
15153 if (self
.synpred187()) :
15158 LA95_153
= self
.input.LA(3)
15160 if (self
.synpred187()) :
15165 LA95_154
= self
.input.LA(3)
15167 if (self
.synpred187()) :
15172 LA95_155
= self
.input.LA(3)
15174 if (self
.synpred187()) :
15179 LA95_156
= self
.input.LA(3)
15181 if (self
.synpred187()) :
15186 LA95_157
= self
.input.LA(3)
15188 if (self
.synpred187()) :
15193 LA95_158
= self
.input.LA(3)
15195 if (self
.synpred187()) :
15202 elif LA95
== CHARACTER_LITERAL
:
15203 LA95
= self
.input.LA(2)
15205 LA95_161
= self
.input.LA(3)
15207 if (self
.synpred187()) :
15212 LA95_162
= self
.input.LA(3)
15214 if (self
.synpred187()) :
15219 LA95_163
= self
.input.LA(3)
15221 if (self
.synpred187()) :
15226 LA95_164
= self
.input.LA(3)
15228 if (self
.synpred187()) :
15233 LA95_165
= self
.input.LA(3)
15235 if (self
.synpred187()) :
15240 LA95_166
= self
.input.LA(3)
15242 if (self
.synpred187()) :
15247 LA95_167
= self
.input.LA(3)
15249 if (self
.synpred187()) :
15253 elif LA95
== 28 or LA95
== 79 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88:
15254 LA95_168
= self
.input.LA(3)
15256 if (self
.synpred187()) :
15261 LA95_169
= self
.input.LA(3)
15263 if (self
.synpred187()) :
15268 LA95_170
= self
.input.LA(3)
15270 if (self
.synpred187()) :
15275 LA95_171
= self
.input.LA(3)
15277 if (self
.synpred187()) :
15282 LA95_172
= self
.input.LA(3)
15284 if (self
.synpred187()) :
15288 elif LA95
== 100 or LA95
== 101:
15289 LA95_173
= self
.input.LA(3)
15291 if (self
.synpred187()) :
15295 elif LA95
== 96 or LA95
== 97 or LA95
== 98 or LA95
== 99:
15296 LA95_174
= self
.input.LA(3)
15298 if (self
.synpred187()) :
15302 elif LA95
== 94 or LA95
== 95:
15303 LA95_175
= self
.input.LA(3)
15305 if (self
.synpred187()) :
15310 LA95_176
= self
.input.LA(3)
15312 if (self
.synpred187()) :
15317 LA95_177
= self
.input.LA(3)
15319 if (self
.synpred187()) :
15324 LA95_178
= self
.input.LA(3)
15326 if (self
.synpred187()) :
15331 LA95_179
= self
.input.LA(3)
15333 if (self
.synpred187()) :
15338 LA95_180
= self
.input.LA(3)
15340 if (self
.synpred187()) :
15345 LA95_181
= self
.input.LA(3)
15347 if (self
.synpred187()) :
15352 LA95_182
= self
.input.LA(3)
15354 if (self
.synpred187()) :
15361 elif LA95
== STRING_LITERAL
:
15362 LA95
= self
.input.LA(2)
15363 if LA95
== IDENTIFIER
:
15364 LA95_185
= self
.input.LA(3)
15366 if (self
.synpred187()) :
15371 LA95_186
= self
.input.LA(3)
15373 if (self
.synpred187()) :
15378 LA95_187
= self
.input.LA(3)
15380 if (self
.synpred187()) :
15385 LA95_188
= self
.input.LA(3)
15387 if (self
.synpred187()) :
15392 LA95_189
= self
.input.LA(3)
15394 if (self
.synpred187()) :
15399 LA95_190
= self
.input.LA(3)
15401 if (self
.synpred187()) :
15406 LA95_191
= self
.input.LA(3)
15408 if (self
.synpred187()) :
15413 LA95_192
= self
.input.LA(3)
15415 if (self
.synpred187()) :
15420 LA95_193
= self
.input.LA(3)
15422 if (self
.synpred187()) :
15427 LA95_194
= self
.input.LA(3)
15429 if (self
.synpred187()) :
15434 LA95_195
= self
.input.LA(3)
15436 if (self
.synpred187()) :
15441 LA95_196
= self
.input.LA(3)
15443 if (self
.synpred187()) :
15447 elif LA95
== 100 or LA95
== 101:
15448 LA95_197
= self
.input.LA(3)
15450 if (self
.synpred187()) :
15454 elif LA95
== 96 or LA95
== 97 or LA95
== 98 or LA95
== 99:
15455 LA95_198
= self
.input.LA(3)
15457 if (self
.synpred187()) :
15461 elif LA95
== 94 or LA95
== 95:
15462 LA95_199
= self
.input.LA(3)
15464 if (self
.synpred187()) :
15469 LA95_200
= self
.input.LA(3)
15471 if (self
.synpred187()) :
15476 LA95_201
= self
.input.LA(3)
15478 if (self
.synpred187()) :
15483 LA95_202
= self
.input.LA(3)
15485 if (self
.synpred187()) :
15490 LA95_203
= self
.input.LA(3)
15492 if (self
.synpred187()) :
15497 LA95_204
= self
.input.LA(3)
15499 if (self
.synpred187()) :
15504 LA95_205
= self
.input.LA(3)
15506 if (self
.synpred187()) :
15511 LA95_206
= self
.input.LA(3)
15513 if (self
.synpred187()) :
15519 elif LA95
== STRING_LITERAL
:
15520 LA95_208
= self
.input.LA(3)
15522 if (self
.synpred187()) :
15526 elif LA95
== 28 or LA95
== 79 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88:
15527 LA95_210
= self
.input.LA(3)
15529 if (self
.synpred187()) :
15534 elif LA95
== FLOATING_POINT_LITERAL
:
15535 LA95
= self
.input.LA(2)
15537 LA95_211
= self
.input.LA(3)
15539 if (self
.synpred187()) :
15544 LA95_212
= self
.input.LA(3)
15546 if (self
.synpred187()) :
15551 LA95_213
= self
.input.LA(3)
15553 if (self
.synpred187()) :
15558 LA95_214
= self
.input.LA(3)
15560 if (self
.synpred187()) :
15565 LA95_215
= self
.input.LA(3)
15567 if (self
.synpred187()) :
15572 LA95_216
= self
.input.LA(3)
15574 if (self
.synpred187()) :
15579 LA95_217
= self
.input.LA(3)
15581 if (self
.synpred187()) :
15586 LA95_218
= self
.input.LA(3)
15588 if (self
.synpred187()) :
15593 LA95_219
= self
.input.LA(3)
15595 if (self
.synpred187()) :
15600 LA95_220
= self
.input.LA(3)
15602 if (self
.synpred187()) :
15607 LA95_221
= self
.input.LA(3)
15609 if (self
.synpred187()) :
15613 elif LA95
== 100 or LA95
== 101:
15614 LA95_222
= self
.input.LA(3)
15616 if (self
.synpred187()) :
15620 elif LA95
== 96 or LA95
== 97 or LA95
== 98 or LA95
== 99:
15621 LA95_223
= self
.input.LA(3)
15623 if (self
.synpred187()) :
15627 elif LA95
== 94 or LA95
== 95:
15628 LA95_224
= self
.input.LA(3)
15630 if (self
.synpred187()) :
15635 LA95_225
= self
.input.LA(3)
15637 if (self
.synpred187()) :
15642 LA95_226
= self
.input.LA(3)
15644 if (self
.synpred187()) :
15649 LA95_227
= self
.input.LA(3)
15651 if (self
.synpred187()) :
15656 LA95_228
= self
.input.LA(3)
15658 if (self
.synpred187()) :
15663 LA95_229
= self
.input.LA(3)
15665 if (self
.synpred187()) :
15670 LA95_230
= self
.input.LA(3)
15672 if (self
.synpred187()) :
15677 LA95_231
= self
.input.LA(3)
15679 if (self
.synpred187()) :
15683 elif LA95
== 28 or LA95
== 79 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88:
15684 LA95_233
= self
.input.LA(3)
15686 if (self
.synpred187()) :
15694 LA95
= self
.input.LA(2)
15695 if LA95
== IDENTIFIER
:
15696 LA95_235
= self
.input.LA(3)
15698 if (self
.synpred187()) :
15702 elif LA95
== HEX_LITERAL
:
15703 LA95_236
= self
.input.LA(3)
15705 if (self
.synpred187()) :
15709 elif LA95
== OCTAL_LITERAL
:
15710 LA95_237
= self
.input.LA(3)
15712 if (self
.synpred187()) :
15716 elif LA95
== DECIMAL_LITERAL
:
15717 LA95_238
= self
.input.LA(3)
15719 if (self
.synpred187()) :
15723 elif LA95
== CHARACTER_LITERAL
:
15724 LA95_239
= self
.input.LA(3)
15726 if (self
.synpred187()) :
15730 elif LA95
== STRING_LITERAL
:
15731 LA95_240
= self
.input.LA(3)
15733 if (self
.synpred187()) :
15737 elif LA95
== FLOATING_POINT_LITERAL
:
15738 LA95_241
= self
.input.LA(3)
15740 if (self
.synpred187()) :
15745 LA95_242
= self
.input.LA(3)
15747 if (self
.synpred187()) :
15752 LA95_243
= self
.input.LA(3)
15754 if (self
.synpred187()) :
15759 LA95_244
= self
.input.LA(3)
15761 if (self
.synpred187()) :
15765 elif LA95
== 65 or LA95
== 67 or LA95
== 68 or LA95
== 76 or LA95
== 77 or LA95
== 78:
15766 LA95_245
= self
.input.LA(3)
15768 if (self
.synpred187()) :
15773 LA95_246
= self
.input.LA(3)
15775 if (self
.synpred187()) :
15779 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:
15780 LA95_247
= self
.input.LA(3)
15782 if (self
.synpred187()) :
15787 LA95_248
= self
.input.LA(3)
15789 if (self
.synpred187()) :
15794 LA95_249
= self
.input.LA(3)
15796 if (self
.synpred187()) :
15801 LA95_250
= self
.input.LA(3)
15803 if (self
.synpred187()) :
15808 LA95_251
= self
.input.LA(3)
15810 if (self
.synpred187()) :
15815 LA95_252
= self
.input.LA(3)
15817 if (self
.synpred187()) :
15822 LA95_253
= self
.input.LA(3)
15824 if (self
.synpred187()) :
15829 LA95_254
= self
.input.LA(3)
15831 if (self
.synpred187()) :
15836 LA95_255
= self
.input.LA(3)
15838 if (self
.synpred187()) :
15843 LA95_256
= self
.input.LA(3)
15845 if (self
.synpred187()) :
15849 elif LA95
== 45 or LA95
== 46:
15850 LA95_257
= self
.input.LA(3)
15852 if (self
.synpred187()) :
15857 LA95_258
= self
.input.LA(3)
15859 if (self
.synpred187()) :
15865 LA95
= self
.input.LA(2)
15866 if LA95
== IDENTIFIER
:
15867 LA95_259
= self
.input.LA(3)
15869 if (self
.synpred187()) :
15873 elif LA95
== HEX_LITERAL
:
15874 LA95_260
= self
.input.LA(3)
15876 if (self
.synpred187()) :
15880 elif LA95
== OCTAL_LITERAL
:
15881 LA95_261
= self
.input.LA(3)
15883 if (self
.synpred187()) :
15887 elif LA95
== DECIMAL_LITERAL
:
15888 LA95_262
= self
.input.LA(3)
15890 if (self
.synpred187()) :
15894 elif LA95
== CHARACTER_LITERAL
:
15895 LA95_263
= self
.input.LA(3)
15897 if (self
.synpred187()) :
15901 elif LA95
== STRING_LITERAL
:
15902 LA95_264
= self
.input.LA(3)
15904 if (self
.synpred187()) :
15908 elif LA95
== FLOATING_POINT_LITERAL
:
15909 LA95_265
= self
.input.LA(3)
15911 if (self
.synpred187()) :
15916 LA95_266
= self
.input.LA(3)
15918 if (self
.synpred187()) :
15923 LA95_267
= self
.input.LA(3)
15925 if (self
.synpred187()) :
15930 LA95_268
= self
.input.LA(3)
15932 if (self
.synpred187()) :
15936 elif LA95
== 65 or LA95
== 67 or LA95
== 68 or LA95
== 76 or LA95
== 77 or LA95
== 78:
15937 LA95_269
= self
.input.LA(3)
15939 if (self
.synpred187()) :
15944 LA95_270
= self
.input.LA(3)
15946 if (self
.synpred187()) :
15952 LA95
= self
.input.LA(2)
15953 if LA95
== IDENTIFIER
:
15954 LA95_271
= self
.input.LA(3)
15956 if (self
.synpred187()) :
15960 elif LA95
== HEX_LITERAL
:
15961 LA95_272
= self
.input.LA(3)
15963 if (self
.synpred187()) :
15967 elif LA95
== OCTAL_LITERAL
:
15968 LA95_273
= self
.input.LA(3)
15970 if (self
.synpred187()) :
15974 elif LA95
== DECIMAL_LITERAL
:
15975 LA95_274
= self
.input.LA(3)
15977 if (self
.synpred187()) :
15981 elif LA95
== CHARACTER_LITERAL
:
15982 LA95_275
= self
.input.LA(3)
15984 if (self
.synpred187()) :
15988 elif LA95
== STRING_LITERAL
:
15989 LA95_276
= self
.input.LA(3)
15991 if (self
.synpred187()) :
15995 elif LA95
== FLOATING_POINT_LITERAL
:
15996 LA95_277
= self
.input.LA(3)
15998 if (self
.synpred187()) :
16003 LA95_278
= self
.input.LA(3)
16005 if (self
.synpred187()) :
16010 LA95_279
= self
.input.LA(3)
16012 if (self
.synpred187()) :
16017 LA95_280
= self
.input.LA(3)
16019 if (self
.synpred187()) :
16023 elif LA95
== 65 or LA95
== 67 or LA95
== 68 or LA95
== 76 or LA95
== 77 or LA95
== 78:
16024 LA95_281
= self
.input.LA(3)
16026 if (self
.synpred187()) :
16031 LA95_282
= self
.input.LA(3)
16033 if (self
.synpred187()) :
16038 elif LA95
== 65 or LA95
== 67 or LA95
== 68 or LA95
== 76 or LA95
== 77 or LA95
== 78:
16039 LA95
= self
.input.LA(2)
16041 LA95_283
= self
.input.LA(3)
16043 if (self
.synpred187()) :
16047 elif LA95
== IDENTIFIER
:
16048 LA95_284
= self
.input.LA(3)
16050 if (self
.synpred187()) :
16054 elif LA95
== HEX_LITERAL
:
16055 LA95_285
= self
.input.LA(3)
16057 if (self
.synpred187()) :
16061 elif LA95
== OCTAL_LITERAL
:
16062 LA95_286
= self
.input.LA(3)
16064 if (self
.synpred187()) :
16068 elif LA95
== DECIMAL_LITERAL
:
16069 LA95_287
= self
.input.LA(3)
16071 if (self
.synpred187()) :
16075 elif LA95
== CHARACTER_LITERAL
:
16076 LA95_288
= self
.input.LA(3)
16078 if (self
.synpred187()) :
16082 elif LA95
== STRING_LITERAL
:
16083 LA95_289
= self
.input.LA(3)
16085 if (self
.synpred187()) :
16089 elif LA95
== FLOATING_POINT_LITERAL
:
16090 LA95_290
= self
.input.LA(3)
16092 if (self
.synpred187()) :
16097 LA95_291
= self
.input.LA(3)
16099 if (self
.synpred187()) :
16104 LA95_292
= self
.input.LA(3)
16106 if (self
.synpred187()) :
16110 elif LA95
== 65 or LA95
== 67 or LA95
== 68 or LA95
== 76 or LA95
== 77 or LA95
== 78:
16111 LA95_293
= self
.input.LA(3)
16113 if (self
.synpred187()) :
16118 LA95_294
= self
.input.LA(3)
16120 if (self
.synpred187()) :
16126 LA95
= self
.input.LA(2)
16128 LA95_295
= self
.input.LA(3)
16130 if (self
.synpred187()) :
16134 elif LA95
== IDENTIFIER
:
16135 LA95_296
= self
.input.LA(3)
16137 if (self
.synpred187()) :
16141 elif LA95
== HEX_LITERAL
:
16142 LA95_297
= self
.input.LA(3)
16144 if (self
.synpred187()) :
16148 elif LA95
== OCTAL_LITERAL
:
16149 LA95_298
= self
.input.LA(3)
16151 if (self
.synpred187()) :
16155 elif LA95
== DECIMAL_LITERAL
:
16156 LA95_299
= self
.input.LA(3)
16158 if (self
.synpred187()) :
16162 elif LA95
== CHARACTER_LITERAL
:
16163 LA95_300
= self
.input.LA(3)
16165 if (self
.synpred187()) :
16169 elif LA95
== STRING_LITERAL
:
16170 LA95_301
= self
.input.LA(3)
16172 if (self
.synpred187()) :
16176 elif LA95
== FLOATING_POINT_LITERAL
:
16177 LA95_302
= self
.input.LA(3)
16179 if (self
.synpred187()) :
16184 LA95_303
= self
.input.LA(3)
16186 if (self
.synpred187()) :
16191 LA95_304
= self
.input.LA(3)
16193 if (self
.synpred187()) :
16197 elif LA95
== 65 or LA95
== 67 or LA95
== 68 or LA95
== 76 or LA95
== 77 or LA95
== 78:
16198 LA95_305
= self
.input.LA(3)
16200 if (self
.synpred187()) :
16205 LA95_306
= self
.input.LA(3)
16207 if (self
.synpred187()) :
16212 elif LA95
== 25 or LA95
== 26 or LA95
== 29 or LA95
== 30 or LA95
== 31 or LA95
== 32 or LA95
== 33 or LA95
== 34 or LA95
== 35 or LA95
== 36 or LA95
== 37 or LA95
== 38 or LA95
== 39 or LA95
== 40 or LA95
== 41 or LA95
== 42 or LA95
== 43 or LA95
== 45 or LA95
== 46 or LA95
== 48 or LA95
== 49 or LA95
== 50 or LA95
== 51 or LA95
== 52 or LA95
== 53 or LA95
== 54 or LA95
== 55 or LA95
== 56 or LA95
== 57 or LA95
== 58 or LA95
== 59 or LA95
== 60 or LA95
== 102 or LA95
== 103 or LA95
== 104 or LA95
== 105 or LA95
== 106 or LA95
== 107 or LA95
== 109 or LA95
== 110 or LA95
== 111 or LA95
== 112 or LA95
== 113 or LA95
== 114 or LA95
== 115 or LA95
== 116:
16216 # C.g:0:0: statement
16217 self
.following
.append(self
.FOLLOW_statement_in_statement_list2227
)
16219 self
.following
.pop()
16228 if self
.backtracking
> 0:
16232 eee
= EarlyExitException(95, self
.input)
16242 except RecognitionException
, re
:
16243 self
.reportError(re
)
16244 self
.recover(self
.input, re
)
16246 if self
.backtracking
> 0:
16247 self
.memoize(self
.input, 67, statement_list_StartIndex
)
16253 # $ANTLR end statement_list
16255 class expression_statement_return(object):
16256 def __init__(self
):
16262 # $ANTLR start expression_statement
16263 # C.g:508:1: expression_statement : ( ';' | expression ';' );
16264 def expression_statement(self
, ):
16266 retval
= self
.expression_statement_return()
16267 retval
.start
= self
.input.LT(1)
16268 expression_statement_StartIndex
= self
.input.index()
16271 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 68):
16274 # C.g:509:2: ( ';' | expression ';' )
16276 LA96_0
= self
.input.LA(1)
16278 if (LA96_0
== 25) :
16280 elif ((IDENTIFIER
<= LA96_0
<= FLOATING_POINT_LITERAL
) or LA96_0
== 61 or LA96_0
== 65 or (67 <= LA96_0
<= 68) or (71 <= LA96_0
<= 73) or (76 <= LA96_0
<= 78)) :
16283 if self
.backtracking
> 0:
16287 nvae
= NoViableAltException("508:1: expression_statement : ( ';' | expression ';' );", 96, 0, self
.input)
16293 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2239
)
16299 # C.g:510:4: expression ';'
16300 self
.following
.append(self
.FOLLOW_expression_in_expression_statement2244
)
16302 self
.following
.pop()
16305 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2246
)
16310 retval
.stop
= self
.input.LT(-1)
16313 except RecognitionException
, re
:
16314 self
.reportError(re
)
16315 self
.recover(self
.input, re
)
16317 if self
.backtracking
> 0:
16318 self
.memoize(self
.input, 68, expression_statement_StartIndex
)
16324 # $ANTLR end expression_statement
16327 # $ANTLR start selection_statement
16328 # C.g:513:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16329 def selection_statement(self
, ):
16331 selection_statement_StartIndex
= self
.input.index()
16337 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 69):
16340 # C.g:514:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16342 LA98_0
= self
.input.LA(1)
16344 if (LA98_0
== 107) :
16346 elif (LA98_0
== 109) :
16349 if self
.backtracking
> 0:
16353 nvae
= NoViableAltException("513:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self
.input)
16358 # C.g:514:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16359 self
.match(self
.input, 107, self
.FOLLOW_107_in_selection_statement2257
)
16362 self
.match(self
.input, 61, self
.FOLLOW_61_in_selection_statement2259
)
16365 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2263
)
16366 e
= self
.expression()
16367 self
.following
.pop()
16370 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2265
)
16373 if self
.backtracking
== 0:
16374 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
16376 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2269
)
16378 self
.following
.pop()
16381 # C.g:514:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16383 LA97_0
= self
.input.LA(1)
16385 if (LA97_0
== 108) :
16388 # C.g:514:200: 'else' statement
16389 self
.match(self
.input, 108, self
.FOLLOW_108_in_selection_statement2284
)
16392 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2286
)
16394 self
.following
.pop()
16403 # C.g:515:4: 'switch' '(' expression ')' statement
16404 self
.match(self
.input, 109, self
.FOLLOW_109_in_selection_statement2293
)
16407 self
.match(self
.input, 61, self
.FOLLOW_61_in_selection_statement2295
)
16410 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2297
)
16412 self
.following
.pop()
16415 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2299
)
16418 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2301
)
16420 self
.following
.pop()
16426 except RecognitionException
, re
:
16427 self
.reportError(re
)
16428 self
.recover(self
.input, re
)
16430 if self
.backtracking
> 0:
16431 self
.memoize(self
.input, 69, selection_statement_StartIndex
)
16437 # $ANTLR end selection_statement
16440 # $ANTLR start iteration_statement
16441 # C.g:518:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16442 def iteration_statement(self
, ):
16444 iteration_statement_StartIndex
= self
.input.index()
16450 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 70):
16453 # C.g:519:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16455 LA100
= self
.input.LA(1)
16463 if self
.backtracking
> 0:
16467 nvae
= NoViableAltException("518:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self
.input)
16472 # C.g:519:4: 'while' '(' e= expression ')' statement
16473 self
.match(self
.input, 110, self
.FOLLOW_110_in_iteration_statement2312
)
16476 self
.match(self
.input, 61, self
.FOLLOW_61_in_iteration_statement2314
)
16479 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2318
)
16480 e
= self
.expression()
16481 self
.following
.pop()
16484 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2320
)
16487 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2322
)
16489 self
.following
.pop()
16492 if self
.backtracking
== 0:
16493 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
16498 # C.g:520:4: 'do' statement 'while' '(' e= expression ')' ';'
16499 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2329
)
16502 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2331
)
16504 self
.following
.pop()
16507 self
.match(self
.input, 110, self
.FOLLOW_110_in_iteration_statement2333
)
16510 self
.match(self
.input, 61, self
.FOLLOW_61_in_iteration_statement2335
)
16513 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2339
)
16514 e
= self
.expression()
16515 self
.following
.pop()
16518 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2341
)
16521 self
.match(self
.input, 25, self
.FOLLOW_25_in_iteration_statement2343
)
16524 if self
.backtracking
== 0:
16525 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
16530 # C.g:521:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16531 self
.match(self
.input, 112, self
.FOLLOW_112_in_iteration_statement2350
)
16534 self
.match(self
.input, 61, self
.FOLLOW_61_in_iteration_statement2352
)
16537 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2354
)
16538 self
.expression_statement()
16539 self
.following
.pop()
16542 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2358
)
16543 e
= self
.expression_statement()
16544 self
.following
.pop()
16547 # C.g:521:58: ( expression )?
16549 LA99_0
= self
.input.LA(1)
16551 if ((IDENTIFIER
<= LA99_0
<= FLOATING_POINT_LITERAL
) or LA99_0
== 61 or LA99_0
== 65 or (67 <= LA99_0
<= 68) or (71 <= LA99_0
<= 73) or (76 <= LA99_0
<= 78)) :
16554 # C.g:0:0: expression
16555 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2360
)
16557 self
.following
.pop()
16563 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2363
)
16566 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2365
)
16568 self
.following
.pop()
16571 if self
.backtracking
== 0:
16572 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
16577 except RecognitionException
, re
:
16578 self
.reportError(re
)
16579 self
.recover(self
.input, re
)
16581 if self
.backtracking
> 0:
16582 self
.memoize(self
.input, 70, iteration_statement_StartIndex
)
16588 # $ANTLR end iteration_statement
16591 # $ANTLR start jump_statement
16592 # C.g:524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16593 def jump_statement(self
, ):
16595 jump_statement_StartIndex
= self
.input.index()
16598 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 71):
16601 # C.g:525:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16603 LA101
= self
.input.LA(1)
16611 LA101_4
= self
.input.LA(2)
16613 if (LA101_4
== 25) :
16615 elif ((IDENTIFIER
<= LA101_4
<= FLOATING_POINT_LITERAL
) or LA101_4
== 61 or LA101_4
== 65 or (67 <= LA101_4
<= 68) or (71 <= LA101_4
<= 73) or (76 <= LA101_4
<= 78)) :
16618 if self
.backtracking
> 0:
16622 nvae
= NoViableAltException("524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self
.input)
16627 if self
.backtracking
> 0:
16631 nvae
= NoViableAltException("524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self
.input)
16636 # C.g:525:4: 'goto' IDENTIFIER ';'
16637 self
.match(self
.input, 113, self
.FOLLOW_113_in_jump_statement2378
)
16640 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_jump_statement2380
)
16643 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2382
)
16649 # C.g:526:4: 'continue' ';'
16650 self
.match(self
.input, 114, self
.FOLLOW_114_in_jump_statement2387
)
16653 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2389
)
16659 # C.g:527:4: 'break' ';'
16660 self
.match(self
.input, 115, self
.FOLLOW_115_in_jump_statement2394
)
16663 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2396
)
16669 # C.g:528:4: 'return' ';'
16670 self
.match(self
.input, 116, self
.FOLLOW_116_in_jump_statement2401
)
16673 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2403
)
16679 # C.g:529:4: 'return' expression ';'
16680 self
.match(self
.input, 116, self
.FOLLOW_116_in_jump_statement2408
)
16683 self
.following
.append(self
.FOLLOW_expression_in_jump_statement2410
)
16685 self
.following
.pop()
16688 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2412
)
16694 except RecognitionException
, re
:
16695 self
.reportError(re
)
16696 self
.recover(self
.input, re
)
16698 if self
.backtracking
> 0:
16699 self
.memoize(self
.input, 71, jump_statement_StartIndex
)
16705 # $ANTLR end jump_statement
16707 # $ANTLR start synpred2
16708 def synpred2_fragment(self
, ):
16709 # C.g:67:6: ( declaration_specifiers )
16710 # C.g:67:6: declaration_specifiers
16711 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred290
)
16712 self
.declaration_specifiers()
16713 self
.following
.pop()
16718 # $ANTLR end synpred2
16722 # $ANTLR start synpred4
16723 def synpred4_fragment(self
, ):
16724 # C.g:67:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16725 # C.g:67:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16726 # C.g:67:6: ( declaration_specifiers )?
16728 LA102
= self
.input.LA(1)
16729 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:
16731 elif LA102
== IDENTIFIER
:
16732 LA102
= self
.input.LA(2)
16736 LA102_21
= self
.input.LA(3)
16738 if (self
.synpred2()) :
16741 LA102_22
= self
.input.LA(3)
16743 if (self
.synpred2()) :
16746 LA102_23
= self
.input.LA(3)
16748 if (self
.synpred2()) :
16750 elif LA102
== IDENTIFIER
:
16751 LA102_24
= self
.input.LA(3)
16753 if (self
.synpred2()) :
16756 LA102_25
= self
.input.LA(3)
16758 if (self
.synpred2()) :
16760 elif LA102
== 29 or LA102
== 30 or LA102
== 31 or LA102
== 32 or LA102
== 33:
16761 LA102_26
= self
.input.LA(3)
16763 if (self
.synpred2()) :
16766 LA102_27
= self
.input.LA(3)
16768 if (self
.synpred2()) :
16771 LA102_28
= self
.input.LA(3)
16773 if (self
.synpred2()) :
16776 LA102_29
= self
.input.LA(3)
16778 if (self
.synpred2()) :
16781 LA102_30
= self
.input.LA(3)
16783 if (self
.synpred2()) :
16786 LA102_31
= self
.input.LA(3)
16788 if (self
.synpred2()) :
16791 LA102_32
= self
.input.LA(3)
16793 if (self
.synpred2()) :
16796 LA102_33
= self
.input.LA(3)
16798 if (self
.synpred2()) :
16801 LA102_34
= self
.input.LA(3)
16803 if (self
.synpred2()) :
16806 LA102_35
= self
.input.LA(3)
16808 if (self
.synpred2()) :
16810 elif LA102
== 45 or LA102
== 46:
16811 LA102_36
= self
.input.LA(3)
16813 if (self
.synpred2()) :
16816 LA102_37
= self
.input.LA(3)
16818 if (self
.synpred2()) :
16820 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:
16821 LA102_38
= self
.input.LA(3)
16823 if (self
.synpred2()) :
16826 LA102_14
= self
.input.LA(2)
16828 if (self
.synpred2()) :
16831 LA102_16
= self
.input.LA(2)
16833 if (self
.synpred2()) :
16836 LA102_17
= self
.input.LA(2)
16838 if (self
.synpred2()) :
16841 # C.g:0:0: declaration_specifiers
16842 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred490
)
16843 self
.declaration_specifiers()
16844 self
.following
.pop()
16850 self
.following
.append(self
.FOLLOW_declarator_in_synpred493
)
16852 self
.following
.pop()
16855 # C.g:67:41: ( declaration )*
16856 while True: #loop103
16858 LA103_0
= self
.input.LA(1)
16860 if (LA103_0
== IDENTIFIER
or LA103_0
== 26 or (29 <= LA103_0
<= 42) or (45 <= LA103_0
<= 46) or (48 <= LA103_0
<= 60)) :
16865 # C.g:0:0: declaration
16866 self
.following
.append(self
.FOLLOW_declaration_in_synpred495
)
16868 self
.following
.pop()
16877 self
.match(self
.input, 43, self
.FOLLOW_43_in_synpred498
)
16882 # $ANTLR end synpred4
16886 # $ANTLR start synpred5
16887 def synpred5_fragment(self
, ):
16888 # C.g:68:4: ( declaration )
16889 # C.g:68:4: declaration
16890 self
.following
.append(self
.FOLLOW_declaration_in_synpred5108
)
16892 self
.following
.pop()
16897 # $ANTLR end synpred5
16901 # $ANTLR start synpred7
16902 def synpred7_fragment(self
, ):
16903 # C.g:94:6: ( declaration_specifiers )
16904 # C.g:94:6: declaration_specifiers
16905 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred7147
)
16906 self
.declaration_specifiers()
16907 self
.following
.pop()
16912 # $ANTLR end synpred7
16916 # $ANTLR start synpred10
16917 def synpred10_fragment(self
, ):
16918 # C.g:115:18: ( declaration_specifiers )
16919 # C.g:115:18: declaration_specifiers
16920 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred10197
)
16921 self
.declaration_specifiers()
16922 self
.following
.pop()
16927 # $ANTLR end synpred10
16931 # $ANTLR start synpred14
16932 def synpred14_fragment(self
, ):
16933 # C.g:132:7: ( type_specifier )
16934 # C.g:132:7: type_specifier
16935 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred14262
)
16936 self
.type_specifier()
16937 self
.following
.pop()
16942 # $ANTLR end synpred14
16946 # $ANTLR start synpred15
16947 def synpred15_fragment(self
, ):
16948 # C.g:133:13: ( type_qualifier )
16949 # C.g:133:13: type_qualifier
16950 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred15276
)
16951 self
.type_qualifier()
16952 self
.following
.pop()
16957 # $ANTLR end synpred15
16961 # $ANTLR start synpred33
16962 def synpred33_fragment(self
, ):
16963 # C.g:173:16: ( type_qualifier )
16964 # C.g:173:16: type_qualifier
16965 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred33434
)
16966 self
.type_qualifier()
16967 self
.following
.pop()
16972 # $ANTLR end synpred33
16976 # $ANTLR start synpred34
16977 def synpred34_fragment(self
, ):
16978 # C.g:173:4: ( IDENTIFIER ( type_qualifier )* declarator )
16979 # C.g:173:5: IDENTIFIER ( type_qualifier )* declarator
16980 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred34432
)
16983 # C.g:173:16: ( type_qualifier )*
16984 while True: #loop106
16986 LA106
= self
.input.LA(1)
16988 LA106_2
= self
.input.LA(2)
16990 if (self
.synpred33()) :
16995 LA106_3
= self
.input.LA(2)
16997 if (self
.synpred33()) :
17002 LA106_4
= self
.input.LA(2)
17004 if (self
.synpred33()) :
17008 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:
17012 # C.g:0:0: type_qualifier
17013 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred34434
)
17014 self
.type_qualifier()
17015 self
.following
.pop()
17024 self
.following
.append(self
.FOLLOW_declarator_in_synpred34437
)
17026 self
.following
.pop()
17031 # $ANTLR end synpred34
17035 # $ANTLR start synpred39
17036 def synpred39_fragment(self
, ):
17037 # C.g:201:6: ( type_qualifier )
17038 # C.g:201:6: type_qualifier
17039 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred39556
)
17040 self
.type_qualifier()
17041 self
.following
.pop()
17046 # $ANTLR end synpred39
17050 # $ANTLR start synpred40
17051 def synpred40_fragment(self
, ):
17052 # C.g:201:23: ( type_specifier )
17053 # C.g:201:23: type_specifier
17054 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred40560
)
17055 self
.type_specifier()
17056 self
.following
.pop()
17061 # $ANTLR end synpred40
17065 # $ANTLR start synpred65
17066 def synpred65_fragment(self
, ):
17067 # C.g:244:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17068 # C.g:244:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17069 # C.g:244:4: ( pointer )?
17071 LA111_0
= self
.input.LA(1)
17073 if (LA111_0
== 65) :
17077 self
.following
.append(self
.FOLLOW_pointer_in_synpred65769
)
17079 self
.following
.pop()
17085 # C.g:244:13: ( 'EFIAPI' )?
17087 LA112_0
= self
.input.LA(1)
17089 if (LA112_0
== 58) :
17092 # C.g:244:14: 'EFIAPI'
17093 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred65773
)
17099 # C.g:244:25: ( 'EFI_BOOTSERVICE' )?
17101 LA113_0
= self
.input.LA(1)
17103 if (LA113_0
== 59) :
17106 # C.g:244:26: 'EFI_BOOTSERVICE'
17107 self
.match(self
.input, 59, self
.FOLLOW_59_in_synpred65778
)
17113 # C.g:244:46: ( 'EFI_RUNTIMESERVICE' )?
17115 LA114_0
= self
.input.LA(1)
17117 if (LA114_0
== 60) :
17120 # C.g:244:47: 'EFI_RUNTIMESERVICE'
17121 self
.match(self
.input, 60, self
.FOLLOW_60_in_synpred65783
)
17127 self
.following
.append(self
.FOLLOW_direct_declarator_in_synpred65787
)
17128 self
.direct_declarator()
17129 self
.following
.pop()
17134 # $ANTLR end synpred65
17138 # $ANTLR start synpred66
17139 def synpred66_fragment(self
, ):
17140 # C.g:250:15: ( declarator_suffix )
17141 # C.g:250:15: declarator_suffix
17142 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred66806
)
17143 self
.declarator_suffix()
17144 self
.following
.pop()
17149 # $ANTLR end synpred66
17153 # $ANTLR start synpred68
17154 def synpred68_fragment(self
, ):
17155 # C.g:251:9: ( 'EFIAPI' )
17156 # C.g:251:9: 'EFIAPI'
17157 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred68815
)
17162 # $ANTLR end synpred68
17166 # $ANTLR start synpred69
17167 def synpred69_fragment(self
, ):
17168 # C.g:251:35: ( declarator_suffix )
17169 # C.g:251:35: declarator_suffix
17170 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred69823
)
17171 self
.declarator_suffix()
17172 self
.following
.pop()
17177 # $ANTLR end synpred69
17181 # $ANTLR start synpred72
17182 def synpred72_fragment(self
, ):
17183 # C.g:257:9: ( '(' parameter_type_list ')' )
17184 # C.g:257:9: '(' parameter_type_list ')'
17185 self
.match(self
.input, 61, self
.FOLLOW_61_in_synpred72863
)
17188 self
.following
.append(self
.FOLLOW_parameter_type_list_in_synpred72865
)
17189 self
.parameter_type_list()
17190 self
.following
.pop()
17193 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred72867
)
17198 # $ANTLR end synpred72
17202 # $ANTLR start synpred73
17203 def synpred73_fragment(self
, ):
17204 # C.g:258:9: ( '(' identifier_list ')' )
17205 # C.g:258:9: '(' identifier_list ')'
17206 self
.match(self
.input, 61, self
.FOLLOW_61_in_synpred73877
)
17209 self
.following
.append(self
.FOLLOW_identifier_list_in_synpred73879
)
17210 self
.identifier_list()
17211 self
.following
.pop()
17214 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred73881
)
17219 # $ANTLR end synpred73
17223 # $ANTLR start synpred74
17224 def synpred74_fragment(self
, ):
17225 # C.g:263:8: ( type_qualifier )
17226 # C.g:263:8: type_qualifier
17227 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred74906
)
17228 self
.type_qualifier()
17229 self
.following
.pop()
17234 # $ANTLR end synpred74
17238 # $ANTLR start synpred75
17239 def synpred75_fragment(self
, ):
17240 # C.g:263:24: ( pointer )
17241 # C.g:263:24: pointer
17242 self
.following
.append(self
.FOLLOW_pointer_in_synpred75909
)
17244 self
.following
.pop()
17249 # $ANTLR end synpred75
17253 # $ANTLR start synpred76
17254 def synpred76_fragment(self
, ):
17255 # C.g:263:4: ( '*' ( type_qualifier )+ ( pointer )? )
17256 # C.g:263:4: '*' ( type_qualifier )+ ( pointer )?
17257 self
.match(self
.input, 65, self
.FOLLOW_65_in_synpred76904
)
17260 # C.g:263:8: ( type_qualifier )+
17262 while True: #loop116
17264 LA116_0
= self
.input.LA(1)
17266 if ((49 <= LA116_0
<= 60)) :
17271 # C.g:0:0: type_qualifier
17272 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred76906
)
17273 self
.type_qualifier()
17274 self
.following
.pop()
17283 if self
.backtracking
> 0:
17287 eee
= EarlyExitException(116, self
.input)
17293 # C.g:263:24: ( pointer )?
17295 LA117_0
= self
.input.LA(1)
17297 if (LA117_0
== 65) :
17301 self
.following
.append(self
.FOLLOW_pointer_in_synpred76909
)
17303 self
.following
.pop()
17311 # $ANTLR end synpred76
17315 # $ANTLR start synpred77
17316 def synpred77_fragment(self
, ):
17317 # C.g:264:4: ( '*' pointer )
17318 # C.g:264:4: '*' pointer
17319 self
.match(self
.input, 65, self
.FOLLOW_65_in_synpred77915
)
17322 self
.following
.append(self
.FOLLOW_pointer_in_synpred77917
)
17324 self
.following
.pop()
17329 # $ANTLR end synpred77
17333 # $ANTLR start synpred80
17334 def synpred80_fragment(self
, ):
17335 # C.g:273:32: ( 'OPTIONAL' )
17336 # C.g:273:32: 'OPTIONAL'
17337 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred80962
)
17342 # $ANTLR end synpred80
17346 # $ANTLR start synpred81
17347 def synpred81_fragment(self
, ):
17348 # C.g:273:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17349 # C.g:273:27: ',' ( 'OPTIONAL' )? parameter_declaration
17350 self
.match(self
.input, 27, self
.FOLLOW_27_in_synpred81959
)
17353 # C.g:273:31: ( 'OPTIONAL' )?
17355 LA119_0
= self
.input.LA(1)
17357 if (LA119_0
== 53) :
17358 LA119_1
= self
.input.LA(2)
17360 if (self
.synpred80()) :
17363 # C.g:273:32: 'OPTIONAL'
17364 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred81962
)
17370 self
.following
.append(self
.FOLLOW_parameter_declaration_in_synpred81966
)
17371 self
.parameter_declaration()
17372 self
.following
.pop()
17377 # $ANTLR end synpred81
17381 # $ANTLR start synpred82
17382 def synpred82_fragment(self
, ):
17383 # C.g:277:28: ( declarator )
17384 # C.g:277:28: declarator
17385 self
.following
.append(self
.FOLLOW_declarator_in_synpred82982
)
17387 self
.following
.pop()
17392 # $ANTLR end synpred82
17396 # $ANTLR start synpred83
17397 def synpred83_fragment(self
, ):
17398 # C.g:277:39: ( abstract_declarator )
17399 # C.g:277:39: abstract_declarator
17400 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred83984
)
17401 self
.abstract_declarator()
17402 self
.following
.pop()
17407 # $ANTLR end synpred83
17411 # $ANTLR start synpred85
17412 def synpred85_fragment(self
, ):
17413 # C.g:277:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17414 # C.g:277:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17415 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred85979
)
17416 self
.declaration_specifiers()
17417 self
.following
.pop()
17420 # C.g:277:27: ( declarator | abstract_declarator )*
17421 while True: #loop120
17423 LA120
= self
.input.LA(1)
17425 LA120_3
= self
.input.LA(2)
17427 if (self
.synpred82()) :
17429 elif (self
.synpred83()) :
17433 elif LA120
== IDENTIFIER
or LA120
== 58 or LA120
== 59 or LA120
== 60:
17436 LA120
= self
.input.LA(2)
17437 if LA120
== 29 or LA120
== 30 or LA120
== 31 or LA120
== 32 or LA120
== 33 or LA120
== 34 or LA120
== 35 or LA120
== 36 or LA120
== 37 or LA120
== 38 or LA120
== 39 or LA120
== 40 or LA120
== 41 or LA120
== 42 or LA120
== 45 or LA120
== 46 or LA120
== 48 or LA120
== 49 or LA120
== 50 or LA120
== 51 or LA120
== 52 or LA120
== 53 or LA120
== 54 or LA120
== 55 or LA120
== 56 or LA120
== 57 or LA120
== 62 or LA120
== 63:
17440 LA120_21
= self
.input.LA(3)
17442 if (self
.synpred82()) :
17444 elif (self
.synpred83()) :
17449 LA120_22
= self
.input.LA(3)
17451 if (self
.synpred82()) :
17453 elif (self
.synpred83()) :
17458 LA120_23
= self
.input.LA(3)
17460 if (self
.synpred82()) :
17462 elif (self
.synpred83()) :
17467 LA120_24
= self
.input.LA(3)
17469 if (self
.synpred82()) :
17471 elif (self
.synpred83()) :
17475 elif LA120
== IDENTIFIER
:
17476 LA120_25
= self
.input.LA(3)
17478 if (self
.synpred82()) :
17480 elif (self
.synpred83()) :
17485 LA120_26
= self
.input.LA(3)
17487 if (self
.synpred82()) :
17489 elif (self
.synpred83()) :
17498 # C.g:277:28: declarator
17499 self
.following
.append(self
.FOLLOW_declarator_in_synpred85982
)
17501 self
.following
.pop()
17507 # C.g:277:39: abstract_declarator
17508 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred85984
)
17509 self
.abstract_declarator()
17510 self
.following
.pop()
17519 # C.g:277:61: ( 'OPTIONAL' )?
17521 LA121_0
= self
.input.LA(1)
17523 if (LA121_0
== 53) :
17526 # C.g:277:62: 'OPTIONAL'
17527 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred85989
)
17535 # $ANTLR end synpred85
17539 # $ANTLR start synpred89
17540 def synpred89_fragment(self
, ):
17541 # C.g:288:4: ( specifier_qualifier_list ( abstract_declarator )? )
17542 # C.g:288:4: specifier_qualifier_list ( abstract_declarator )?
17543 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_synpred891031
)
17544 self
.specifier_qualifier_list()
17545 self
.following
.pop()
17548 # C.g:288:29: ( abstract_declarator )?
17550 LA122_0
= self
.input.LA(1)
17552 if (LA122_0
== 61 or LA122_0
== 63 or LA122_0
== 65) :
17555 # C.g:0:0: abstract_declarator
17556 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred891033
)
17557 self
.abstract_declarator()
17558 self
.following
.pop()
17566 # $ANTLR end synpred89
17570 # $ANTLR start synpred90
17571 def synpred90_fragment(self
, ):
17572 # C.g:293:12: ( direct_abstract_declarator )
17573 # C.g:293:12: direct_abstract_declarator
17574 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_synpred901052
)
17575 self
.direct_abstract_declarator()
17576 self
.following
.pop()
17581 # $ANTLR end synpred90
17585 # $ANTLR start synpred92
17586 def synpred92_fragment(self
, ):
17587 # C.g:298:6: ( '(' abstract_declarator ')' )
17588 # C.g:298:6: '(' abstract_declarator ')'
17589 self
.match(self
.input, 61, self
.FOLLOW_61_in_synpred921071
)
17592 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred921073
)
17593 self
.abstract_declarator()
17594 self
.following
.pop()
17597 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred921075
)
17602 # $ANTLR end synpred92
17606 # $ANTLR start synpred93
17607 def synpred93_fragment(self
, ):
17608 # C.g:298:65: ( abstract_declarator_suffix )
17609 # C.g:298:65: abstract_declarator_suffix
17610 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_synpred931083
)
17611 self
.abstract_declarator_suffix()
17612 self
.following
.pop()
17617 # $ANTLR end synpred93
17621 # $ANTLR start synpred108
17622 def synpred108_fragment(self
, ):
17623 # C.g:333:4: ( '(' type_name ')' cast_expression )
17624 # C.g:333:4: '(' type_name ')' cast_expression
17625 self
.match(self
.input, 61, self
.FOLLOW_61_in_synpred1081267
)
17628 self
.following
.append(self
.FOLLOW_type_name_in_synpred1081269
)
17630 self
.following
.pop()
17633 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1081271
)
17636 self
.following
.append(self
.FOLLOW_cast_expression_in_synpred1081273
)
17637 self
.cast_expression()
17638 self
.following
.pop()
17643 # $ANTLR end synpred108
17647 # $ANTLR start synpred113
17648 def synpred113_fragment(self
, ):
17649 # C.g:342:4: ( 'sizeof' unary_expression )
17650 # C.g:342:4: 'sizeof' unary_expression
17651 self
.match(self
.input, 73, self
.FOLLOW_73_in_synpred1131315
)
17654 self
.following
.append(self
.FOLLOW_unary_expression_in_synpred1131317
)
17655 self
.unary_expression()
17656 self
.following
.pop()
17661 # $ANTLR end synpred113
17665 # $ANTLR start synpred116
17666 def synpred116_fragment(self
, ):
17667 # C.g:356:13: ( '(' argument_expression_list ')' )
17668 # C.g:356:13: '(' argument_expression_list ')'
17669 self
.match(self
.input, 61, self
.FOLLOW_61_in_synpred1161405
)
17672 self
.following
.append(self
.FOLLOW_argument_expression_list_in_synpred1161409
)
17673 self
.argument_expression_list()
17674 self
.following
.pop()
17677 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1161413
)
17682 # $ANTLR end synpred116
17686 # $ANTLR start synpred117
17687 def synpred117_fragment(self
, ):
17688 # C.g:357:13: ( '(' macro_parameter_list ')' )
17689 # C.g:357:13: '(' macro_parameter_list ')'
17690 self
.match(self
.input, 61, self
.FOLLOW_61_in_synpred1171429
)
17693 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_synpred1171431
)
17694 self
.macro_parameter_list()
17695 self
.following
.pop()
17698 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1171433
)
17703 # $ANTLR end synpred117
17707 # $ANTLR start synpred119
17708 def synpred119_fragment(self
, ):
17709 # C.g:359:13: ( '*' IDENTIFIER )
17710 # C.g:359:13: '*' IDENTIFIER
17711 self
.match(self
.input, 65, self
.FOLLOW_65_in_synpred1191467
)
17714 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1191471
)
17719 # $ANTLR end synpred119
17723 # $ANTLR start synpred136
17724 def synpred136_fragment(self
, ):
17725 # C.g:390:20: ( STRING_LITERAL )
17726 # C.g:390:20: STRING_LITERAL
17727 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1361668
)
17732 # $ANTLR end synpred136
17736 # $ANTLR start synpred137
17737 def synpred137_fragment(self
, ):
17738 # C.g:390:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17739 # C.g:390:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17740 # C.g:390:8: ( IDENTIFIER )*
17741 while True: #loop125
17743 LA125_0
= self
.input.LA(1)
17745 if (LA125_0
== IDENTIFIER
) :
17750 # C.g:0:0: IDENTIFIER
17751 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1371665
)
17760 # C.g:390:20: ( STRING_LITERAL )+
17762 while True: #loop126
17764 LA126_0
= self
.input.LA(1)
17766 if (LA126_0
== STRING_LITERAL
) :
17771 # C.g:0:0: STRING_LITERAL
17772 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1371668
)
17781 if self
.backtracking
> 0:
17785 eee
= EarlyExitException(126, self
.input)
17793 # $ANTLR end synpred137
17797 # $ANTLR start synpred141
17798 def synpred141_fragment(self
, ):
17799 # C.g:405:4: ( lvalue assignment_operator assignment_expression )
17800 # C.g:405:4: lvalue assignment_operator assignment_expression
17801 self
.following
.append(self
.FOLLOW_lvalue_in_synpred1411729
)
17803 self
.following
.pop()
17806 self
.following
.append(self
.FOLLOW_assignment_operator_in_synpred1411731
)
17807 self
.assignment_operator()
17808 self
.following
.pop()
17811 self
.following
.append(self
.FOLLOW_assignment_expression_in_synpred1411733
)
17812 self
.assignment_expression()
17813 self
.following
.pop()
17818 # $ANTLR end synpred141
17822 # $ANTLR start synpred168
17823 def synpred168_fragment(self
, ):
17824 # C.g:467:4: ( expression_statement )
17825 # C.g:467:4: expression_statement
17826 self
.following
.append(self
.FOLLOW_expression_statement_in_synpred1682020
)
17827 self
.expression_statement()
17828 self
.following
.pop()
17833 # $ANTLR end synpred168
17837 # $ANTLR start synpred172
17838 def synpred172_fragment(self
, ):
17839 # C.g:471:4: ( macro_statement )
17840 # C.g:471:4: macro_statement
17841 self
.following
.append(self
.FOLLOW_macro_statement_in_synpred1722040
)
17842 self
.macro_statement()
17843 self
.following
.pop()
17848 # $ANTLR end synpred172
17852 # $ANTLR start synpred173
17853 def synpred173_fragment(self
, ):
17854 # C.g:472:4: ( asm2_statement )
17855 # C.g:472:4: asm2_statement
17856 self
.following
.append(self
.FOLLOW_asm2_statement_in_synpred1732045
)
17857 self
.asm2_statement()
17858 self
.following
.pop()
17863 # $ANTLR end synpred173
17867 # $ANTLR start synpred180
17868 def synpred180_fragment(self
, ):
17869 # C.g:491:19: ( declaration )
17870 # C.g:491:19: declaration
17871 self
.following
.append(self
.FOLLOW_declaration_in_synpred1802151
)
17873 self
.following
.pop()
17878 # $ANTLR end synpred180
17882 # $ANTLR start synpred181
17883 def synpred181_fragment(self
, ):
17884 # C.g:491:33: ( statement_list )
17885 # C.g:491:33: statement_list
17886 self
.following
.append(self
.FOLLOW_statement_list_in_synpred1812155
)
17887 self
.statement_list()
17888 self
.following
.pop()
17893 # $ANTLR end synpred181
17897 # $ANTLR start synpred185
17898 def synpred185_fragment(self
, ):
17899 # C.g:501:8: ( declaration )
17900 # C.g:501:8: declaration
17901 self
.following
.append(self
.FOLLOW_declaration_in_synpred1852210
)
17903 self
.following
.pop()
17908 # $ANTLR end synpred185
17912 # $ANTLR start synpred187
17913 def synpred187_fragment(self
, ):
17914 # C.g:505:4: ( statement )
17915 # C.g:505:4: statement
17916 self
.following
.append(self
.FOLLOW_statement_in_synpred1872227
)
17918 self
.following
.pop()
17923 # $ANTLR end synpred187
17927 def synpred185(self
):
17928 self
.backtracking
+= 1
17929 start
= self
.input.mark()
17930 self
.synpred185_fragment()
17931 success
= not self
.failed
17932 self
.input.rewind(start
)
17933 self
.backtracking
-= 1
17934 self
.failed
= False
17937 def synpred7(self
):
17938 self
.backtracking
+= 1
17939 start
= self
.input.mark()
17940 self
.synpred7_fragment()
17941 success
= not self
.failed
17942 self
.input.rewind(start
)
17943 self
.backtracking
-= 1
17944 self
.failed
= False
17947 def synpred14(self
):
17948 self
.backtracking
+= 1
17949 start
= self
.input.mark()
17950 self
.synpred14_fragment()
17951 success
= not self
.failed
17952 self
.input.rewind(start
)
17953 self
.backtracking
-= 1
17954 self
.failed
= False
17957 def synpred65(self
):
17958 self
.backtracking
+= 1
17959 start
= self
.input.mark()
17960 self
.synpred65_fragment()
17961 success
= not self
.failed
17962 self
.input.rewind(start
)
17963 self
.backtracking
-= 1
17964 self
.failed
= False
17967 def synpred15(self
):
17968 self
.backtracking
+= 1
17969 start
= self
.input.mark()
17970 self
.synpred15_fragment()
17971 success
= not self
.failed
17972 self
.input.rewind(start
)
17973 self
.backtracking
-= 1
17974 self
.failed
= False
17977 def synpred117(self
):
17978 self
.backtracking
+= 1
17979 start
= self
.input.mark()
17980 self
.synpred117_fragment()
17981 success
= not self
.failed
17982 self
.input.rewind(start
)
17983 self
.backtracking
-= 1
17984 self
.failed
= False
17987 def synpred173(self
):
17988 self
.backtracking
+= 1
17989 start
= self
.input.mark()
17990 self
.synpred173_fragment()
17991 success
= not self
.failed
17992 self
.input.rewind(start
)
17993 self
.backtracking
-= 1
17994 self
.failed
= False
17997 def synpred68(self
):
17998 self
.backtracking
+= 1
17999 start
= self
.input.mark()
18000 self
.synpred68_fragment()
18001 success
= not self
.failed
18002 self
.input.rewind(start
)
18003 self
.backtracking
-= 1
18004 self
.failed
= False
18007 def synpred40(self
):
18008 self
.backtracking
+= 1
18009 start
= self
.input.mark()
18010 self
.synpred40_fragment()
18011 success
= not self
.failed
18012 self
.input.rewind(start
)
18013 self
.backtracking
-= 1
18014 self
.failed
= False
18017 def synpred141(self
):
18018 self
.backtracking
+= 1
18019 start
= self
.input.mark()
18020 self
.synpred141_fragment()
18021 success
= not self
.failed
18022 self
.input.rewind(start
)
18023 self
.backtracking
-= 1
18024 self
.failed
= False
18027 def synpred75(self
):
18028 self
.backtracking
+= 1
18029 start
= self
.input.mark()
18030 self
.synpred75_fragment()
18031 success
= not self
.failed
18032 self
.input.rewind(start
)
18033 self
.backtracking
-= 1
18034 self
.failed
= False
18037 def synpred92(self
):
18038 self
.backtracking
+= 1
18039 start
= self
.input.mark()
18040 self
.synpred92_fragment()
18041 success
= not self
.failed
18042 self
.input.rewind(start
)
18043 self
.backtracking
-= 1
18044 self
.failed
= False
18047 def synpred4(self
):
18048 self
.backtracking
+= 1
18049 start
= self
.input.mark()
18050 self
.synpred4_fragment()
18051 success
= not self
.failed
18052 self
.input.rewind(start
)
18053 self
.backtracking
-= 1
18054 self
.failed
= False
18057 def synpred85(self
):
18058 self
.backtracking
+= 1
18059 start
= self
.input.mark()
18060 self
.synpred85_fragment()
18061 success
= not self
.failed
18062 self
.input.rewind(start
)
18063 self
.backtracking
-= 1
18064 self
.failed
= False
18067 def synpred39(self
):
18068 self
.backtracking
+= 1
18069 start
= self
.input.mark()
18070 self
.synpred39_fragment()
18071 success
= not self
.failed
18072 self
.input.rewind(start
)
18073 self
.backtracking
-= 1
18074 self
.failed
= False
18077 def synpred76(self
):
18078 self
.backtracking
+= 1
18079 start
= self
.input.mark()
18080 self
.synpred76_fragment()
18081 success
= not self
.failed
18082 self
.input.rewind(start
)
18083 self
.backtracking
-= 1
18084 self
.failed
= False
18087 def synpred119(self
):
18088 self
.backtracking
+= 1
18089 start
= self
.input.mark()
18090 self
.synpred119_fragment()
18091 success
= not self
.failed
18092 self
.input.rewind(start
)
18093 self
.backtracking
-= 1
18094 self
.failed
= False
18097 def synpred90(self
):
18098 self
.backtracking
+= 1
18099 start
= self
.input.mark()
18100 self
.synpred90_fragment()
18101 success
= not self
.failed
18102 self
.input.rewind(start
)
18103 self
.backtracking
-= 1
18104 self
.failed
= False
18107 def synpred187(self
):
18108 self
.backtracking
+= 1
18109 start
= self
.input.mark()
18110 self
.synpred187_fragment()
18111 success
= not self
.failed
18112 self
.input.rewind(start
)
18113 self
.backtracking
-= 1
18114 self
.failed
= False
18117 def synpred33(self
):
18118 self
.backtracking
+= 1
18119 start
= self
.input.mark()
18120 self
.synpred33_fragment()
18121 success
= not self
.failed
18122 self
.input.rewind(start
)
18123 self
.backtracking
-= 1
18124 self
.failed
= False
18127 def synpred2(self
):
18128 self
.backtracking
+= 1
18129 start
= self
.input.mark()
18130 self
.synpred2_fragment()
18131 success
= not self
.failed
18132 self
.input.rewind(start
)
18133 self
.backtracking
-= 1
18134 self
.failed
= False
18137 def synpred83(self
):
18138 self
.backtracking
+= 1
18139 start
= self
.input.mark()
18140 self
.synpred83_fragment()
18141 success
= not self
.failed
18142 self
.input.rewind(start
)
18143 self
.backtracking
-= 1
18144 self
.failed
= False
18147 def synpred69(self
):
18148 self
.backtracking
+= 1
18149 start
= self
.input.mark()
18150 self
.synpred69_fragment()
18151 success
= not self
.failed
18152 self
.input.rewind(start
)
18153 self
.backtracking
-= 1
18154 self
.failed
= False
18157 def synpred72(self
):
18158 self
.backtracking
+= 1
18159 start
= self
.input.mark()
18160 self
.synpred72_fragment()
18161 success
= not self
.failed
18162 self
.input.rewind(start
)
18163 self
.backtracking
-= 1
18164 self
.failed
= False
18167 def synpred168(self
):
18168 self
.backtracking
+= 1
18169 start
= self
.input.mark()
18170 self
.synpred168_fragment()
18171 success
= not self
.failed
18172 self
.input.rewind(start
)
18173 self
.backtracking
-= 1
18174 self
.failed
= False
18177 def synpred34(self
):
18178 self
.backtracking
+= 1
18179 start
= self
.input.mark()
18180 self
.synpred34_fragment()
18181 success
= not self
.failed
18182 self
.input.rewind(start
)
18183 self
.backtracking
-= 1
18184 self
.failed
= False
18187 def synpred181(self
):
18188 self
.backtracking
+= 1
18189 start
= self
.input.mark()
18190 self
.synpred181_fragment()
18191 success
= not self
.failed
18192 self
.input.rewind(start
)
18193 self
.backtracking
-= 1
18194 self
.failed
= False
18197 def synpred116(self
):
18198 self
.backtracking
+= 1
18199 start
= self
.input.mark()
18200 self
.synpred116_fragment()
18201 success
= not self
.failed
18202 self
.input.rewind(start
)
18203 self
.backtracking
-= 1
18204 self
.failed
= False
18207 def synpred113(self
):
18208 self
.backtracking
+= 1
18209 start
= self
.input.mark()
18210 self
.synpred113_fragment()
18211 success
= not self
.failed
18212 self
.input.rewind(start
)
18213 self
.backtracking
-= 1
18214 self
.failed
= False
18217 def synpred80(self
):
18218 self
.backtracking
+= 1
18219 start
= self
.input.mark()
18220 self
.synpred80_fragment()
18221 success
= not self
.failed
18222 self
.input.rewind(start
)
18223 self
.backtracking
-= 1
18224 self
.failed
= False
18227 def synpred73(self
):
18228 self
.backtracking
+= 1
18229 start
= self
.input.mark()
18230 self
.synpred73_fragment()
18231 success
= not self
.failed
18232 self
.input.rewind(start
)
18233 self
.backtracking
-= 1
18234 self
.failed
= False
18237 def synpred89(self
):
18238 self
.backtracking
+= 1
18239 start
= self
.input.mark()
18240 self
.synpred89_fragment()
18241 success
= not self
.failed
18242 self
.input.rewind(start
)
18243 self
.backtracking
-= 1
18244 self
.failed
= False
18247 def synpred10(self
):
18248 self
.backtracking
+= 1
18249 start
= self
.input.mark()
18250 self
.synpred10_fragment()
18251 success
= not self
.failed
18252 self
.input.rewind(start
)
18253 self
.backtracking
-= 1
18254 self
.failed
= False
18257 def synpred81(self
):
18258 self
.backtracking
+= 1
18259 start
= self
.input.mark()
18260 self
.synpred81_fragment()
18261 success
= not self
.failed
18262 self
.input.rewind(start
)
18263 self
.backtracking
-= 1
18264 self
.failed
= False
18267 def synpred180(self
):
18268 self
.backtracking
+= 1
18269 start
= self
.input.mark()
18270 self
.synpred180_fragment()
18271 success
= not self
.failed
18272 self
.input.rewind(start
)
18273 self
.backtracking
-= 1
18274 self
.failed
= False
18277 def synpred136(self
):
18278 self
.backtracking
+= 1
18279 start
= self
.input.mark()
18280 self
.synpred136_fragment()
18281 success
= not self
.failed
18282 self
.input.rewind(start
)
18283 self
.backtracking
-= 1
18284 self
.failed
= False
18287 def synpred77(self
):
18288 self
.backtracking
+= 1
18289 start
= self
.input.mark()
18290 self
.synpred77_fragment()
18291 success
= not self
.failed
18292 self
.input.rewind(start
)
18293 self
.backtracking
-= 1
18294 self
.failed
= False
18297 def synpred172(self
):
18298 self
.backtracking
+= 1
18299 start
= self
.input.mark()
18300 self
.synpred172_fragment()
18301 success
= not self
.failed
18302 self
.input.rewind(start
)
18303 self
.backtracking
-= 1
18304 self
.failed
= False
18307 def synpred137(self
):
18308 self
.backtracking
+= 1
18309 start
= self
.input.mark()
18310 self
.synpred137_fragment()
18311 success
= not self
.failed
18312 self
.input.rewind(start
)
18313 self
.backtracking
-= 1
18314 self
.failed
= False
18317 def synpred74(self
):
18318 self
.backtracking
+= 1
18319 start
= self
.input.mark()
18320 self
.synpred74_fragment()
18321 success
= not self
.failed
18322 self
.input.rewind(start
)
18323 self
.backtracking
-= 1
18324 self
.failed
= False
18327 def synpred5(self
):
18328 self
.backtracking
+= 1
18329 start
= self
.input.mark()
18330 self
.synpred5_fragment()
18331 success
= not self
.failed
18332 self
.input.rewind(start
)
18333 self
.backtracking
-= 1
18334 self
.failed
= False
18337 def synpred108(self
):
18338 self
.backtracking
+= 1
18339 start
= self
.input.mark()
18340 self
.synpred108_fragment()
18341 success
= not self
.failed
18342 self
.input.rewind(start
)
18343 self
.backtracking
-= 1
18344 self
.failed
= False
18347 def synpred82(self
):
18348 self
.backtracking
+= 1
18349 start
= self
.input.mark()
18350 self
.synpred82_fragment()
18351 success
= not self
.failed
18352 self
.input.rewind(start
)
18353 self
.backtracking
-= 1
18354 self
.failed
= False
18357 def synpred93(self
):
18358 self
.backtracking
+= 1
18359 start
= self
.input.mark()
18360 self
.synpred93_fragment()
18361 success
= not self
.failed
18362 self
.input.rewind(start
)
18363 self
.backtracking
-= 1
18364 self
.failed
= False
18367 def synpred66(self
):
18368 self
.backtracking
+= 1
18369 start
= self
.input.mark()
18370 self
.synpred66_fragment()
18371 success
= not self
.failed
18372 self
.input.rewind(start
)
18373 self
.backtracking
-= 1
18374 self
.failed
= False
18381 FOLLOW_external_declaration_in_translation_unit64
= frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
18382 FOLLOW_function_definition_in_external_declaration103
= frozenset([1])
18383 FOLLOW_declaration_in_external_declaration108
= frozenset([1])
18384 FOLLOW_macro_statement_in_external_declaration113
= frozenset([1, 25])
18385 FOLLOW_25_in_external_declaration116
= frozenset([1])
18386 FOLLOW_declaration_specifiers_in_function_definition147
= frozenset([4, 58, 59, 60, 61, 65])
18387 FOLLOW_declarator_in_function_definition150
= frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18388 FOLLOW_declaration_in_function_definition156
= frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18389 FOLLOW_compound_statement_in_function_definition161
= frozenset([1])
18390 FOLLOW_compound_statement_in_function_definition170
= frozenset([1])
18391 FOLLOW_26_in_declaration193
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
18392 FOLLOW_declaration_specifiers_in_declaration197
= frozenset([4, 58, 59, 60, 61, 65])
18393 FOLLOW_init_declarator_list_in_declaration206
= frozenset([25])
18394 FOLLOW_25_in_declaration210
= frozenset([1])
18395 FOLLOW_declaration_specifiers_in_declaration224
= frozenset([4, 25, 58, 59, 60, 61, 65])
18396 FOLLOW_init_declarator_list_in_declaration228
= frozenset([25])
18397 FOLLOW_25_in_declaration233
= frozenset([1])
18398 FOLLOW_storage_class_specifier_in_declaration_specifiers254
= frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18399 FOLLOW_type_specifier_in_declaration_specifiers262
= frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18400 FOLLOW_type_qualifier_in_declaration_specifiers276
= frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18401 FOLLOW_init_declarator_in_init_declarator_list298
= frozenset([1, 27])
18402 FOLLOW_27_in_init_declarator_list301
= frozenset([4, 58, 59, 60, 61, 65])
18403 FOLLOW_init_declarator_in_init_declarator_list303
= frozenset([1, 27])
18404 FOLLOW_declarator_in_init_declarator316
= frozenset([1, 28])
18405 FOLLOW_28_in_init_declarator319
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18406 FOLLOW_initializer_in_init_declarator321
= frozenset([1])
18407 FOLLOW_set_in_storage_class_specifier0
= frozenset([1])
18408 FOLLOW_34_in_type_specifier366
= frozenset([1])
18409 FOLLOW_35_in_type_specifier371
= frozenset([1])
18410 FOLLOW_36_in_type_specifier376
= frozenset([1])
18411 FOLLOW_37_in_type_specifier381
= frozenset([1])
18412 FOLLOW_38_in_type_specifier386
= frozenset([1])
18413 FOLLOW_39_in_type_specifier391
= frozenset([1])
18414 FOLLOW_40_in_type_specifier396
= frozenset([1])
18415 FOLLOW_41_in_type_specifier401
= frozenset([1])
18416 FOLLOW_42_in_type_specifier406
= frozenset([1])
18417 FOLLOW_struct_or_union_specifier_in_type_specifier413
= frozenset([1])
18418 FOLLOW_enum_specifier_in_type_specifier423
= frozenset([1])
18419 FOLLOW_type_id_in_type_specifier441
= frozenset([1])
18420 FOLLOW_IDENTIFIER_in_type_id457
= frozenset([1])
18421 FOLLOW_struct_or_union_in_struct_or_union_specifier484
= frozenset([4, 43])
18422 FOLLOW_IDENTIFIER_in_struct_or_union_specifier486
= frozenset([43])
18423 FOLLOW_43_in_struct_or_union_specifier489
= frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18424 FOLLOW_struct_declaration_list_in_struct_or_union_specifier491
= frozenset([44])
18425 FOLLOW_44_in_struct_or_union_specifier493
= frozenset([1])
18426 FOLLOW_struct_or_union_in_struct_or_union_specifier498
= frozenset([4])
18427 FOLLOW_IDENTIFIER_in_struct_or_union_specifier500
= frozenset([1])
18428 FOLLOW_set_in_struct_or_union0
= frozenset([1])
18429 FOLLOW_struct_declaration_in_struct_declaration_list527
= frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18430 FOLLOW_specifier_qualifier_list_in_struct_declaration539
= frozenset([4, 47, 58, 59, 60, 61, 65])
18431 FOLLOW_struct_declarator_list_in_struct_declaration541
= frozenset([25])
18432 FOLLOW_25_in_struct_declaration543
= frozenset([1])
18433 FOLLOW_type_qualifier_in_specifier_qualifier_list556
= frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18434 FOLLOW_type_specifier_in_specifier_qualifier_list560
= frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18435 FOLLOW_struct_declarator_in_struct_declarator_list574
= frozenset([1, 27])
18436 FOLLOW_27_in_struct_declarator_list577
= frozenset([4, 47, 58, 59, 60, 61, 65])
18437 FOLLOW_struct_declarator_in_struct_declarator_list579
= frozenset([1, 27])
18438 FOLLOW_declarator_in_struct_declarator592
= frozenset([1, 47])
18439 FOLLOW_47_in_struct_declarator595
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18440 FOLLOW_constant_expression_in_struct_declarator597
= frozenset([1])
18441 FOLLOW_47_in_struct_declarator604
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18442 FOLLOW_constant_expression_in_struct_declarator606
= frozenset([1])
18443 FOLLOW_48_in_enum_specifier624
= frozenset([43])
18444 FOLLOW_43_in_enum_specifier626
= frozenset([4])
18445 FOLLOW_enumerator_list_in_enum_specifier628
= frozenset([27, 44])
18446 FOLLOW_27_in_enum_specifier630
= frozenset([44])
18447 FOLLOW_44_in_enum_specifier633
= frozenset([1])
18448 FOLLOW_48_in_enum_specifier638
= frozenset([4])
18449 FOLLOW_IDENTIFIER_in_enum_specifier640
= frozenset([43])
18450 FOLLOW_43_in_enum_specifier642
= frozenset([4])
18451 FOLLOW_enumerator_list_in_enum_specifier644
= frozenset([27, 44])
18452 FOLLOW_27_in_enum_specifier646
= frozenset([44])
18453 FOLLOW_44_in_enum_specifier649
= frozenset([1])
18454 FOLLOW_48_in_enum_specifier654
= frozenset([4])
18455 FOLLOW_IDENTIFIER_in_enum_specifier656
= frozenset([1])
18456 FOLLOW_enumerator_in_enumerator_list667
= frozenset([1, 27])
18457 FOLLOW_27_in_enumerator_list670
= frozenset([4])
18458 FOLLOW_enumerator_in_enumerator_list672
= frozenset([1, 27])
18459 FOLLOW_IDENTIFIER_in_enumerator685
= frozenset([1, 28])
18460 FOLLOW_28_in_enumerator688
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18461 FOLLOW_constant_expression_in_enumerator690
= frozenset([1])
18462 FOLLOW_set_in_type_qualifier0
= frozenset([1])
18463 FOLLOW_pointer_in_declarator769
= frozenset([4, 58, 59, 60, 61])
18464 FOLLOW_58_in_declarator773
= frozenset([4, 59, 60, 61])
18465 FOLLOW_59_in_declarator778
= frozenset([4, 60, 61])
18466 FOLLOW_60_in_declarator783
= frozenset([4, 61])
18467 FOLLOW_direct_declarator_in_declarator787
= frozenset([1])
18468 FOLLOW_pointer_in_declarator793
= frozenset([1])
18469 FOLLOW_IDENTIFIER_in_direct_declarator804
= frozenset([1, 61, 63])
18470 FOLLOW_declarator_suffix_in_direct_declarator806
= frozenset([1, 61, 63])
18471 FOLLOW_61_in_direct_declarator812
= frozenset([4, 58, 59, 60, 61, 65])
18472 FOLLOW_58_in_direct_declarator815
= frozenset([4, 58, 59, 60, 61, 65])
18473 FOLLOW_declarator_in_direct_declarator819
= frozenset([62])
18474 FOLLOW_62_in_direct_declarator821
= frozenset([61, 63])
18475 FOLLOW_declarator_suffix_in_direct_declarator823
= frozenset([1, 61, 63])
18476 FOLLOW_63_in_declarator_suffix837
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18477 FOLLOW_constant_expression_in_declarator_suffix839
= frozenset([64])
18478 FOLLOW_64_in_declarator_suffix841
= frozenset([1])
18479 FOLLOW_63_in_declarator_suffix851
= frozenset([64])
18480 FOLLOW_64_in_declarator_suffix853
= frozenset([1])
18481 FOLLOW_61_in_declarator_suffix863
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18482 FOLLOW_parameter_type_list_in_declarator_suffix865
= frozenset([62])
18483 FOLLOW_62_in_declarator_suffix867
= frozenset([1])
18484 FOLLOW_61_in_declarator_suffix877
= frozenset([4])
18485 FOLLOW_identifier_list_in_declarator_suffix879
= frozenset([62])
18486 FOLLOW_62_in_declarator_suffix881
= frozenset([1])
18487 FOLLOW_61_in_declarator_suffix891
= frozenset([62])
18488 FOLLOW_62_in_declarator_suffix893
= frozenset([1])
18489 FOLLOW_65_in_pointer904
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18490 FOLLOW_type_qualifier_in_pointer906
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18491 FOLLOW_pointer_in_pointer909
= frozenset([1])
18492 FOLLOW_65_in_pointer915
= frozenset([65])
18493 FOLLOW_pointer_in_pointer917
= frozenset([1])
18494 FOLLOW_65_in_pointer922
= frozenset([1])
18495 FOLLOW_parameter_list_in_parameter_type_list933
= frozenset([1, 27])
18496 FOLLOW_27_in_parameter_type_list936
= frozenset([53, 66])
18497 FOLLOW_53_in_parameter_type_list939
= frozenset([66])
18498 FOLLOW_66_in_parameter_type_list943
= frozenset([1])
18499 FOLLOW_parameter_declaration_in_parameter_list956
= frozenset([1, 27])
18500 FOLLOW_27_in_parameter_list959
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18501 FOLLOW_53_in_parameter_list962
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18502 FOLLOW_parameter_declaration_in_parameter_list966
= frozenset([1, 27])
18503 FOLLOW_declaration_specifiers_in_parameter_declaration979
= frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18504 FOLLOW_declarator_in_parameter_declaration982
= frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18505 FOLLOW_abstract_declarator_in_parameter_declaration984
= frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18506 FOLLOW_53_in_parameter_declaration989
= frozenset([1])
18507 FOLLOW_pointer_in_parameter_declaration998
= frozenset([4, 65])
18508 FOLLOW_IDENTIFIER_in_parameter_declaration1001
= frozenset([1])
18509 FOLLOW_IDENTIFIER_in_identifier_list1012
= frozenset([1, 27])
18510 FOLLOW_27_in_identifier_list1016
= frozenset([4])
18511 FOLLOW_IDENTIFIER_in_identifier_list1018
= frozenset([1, 27])
18512 FOLLOW_specifier_qualifier_list_in_type_name1031
= frozenset([1, 61, 63, 65])
18513 FOLLOW_abstract_declarator_in_type_name1033
= frozenset([1])
18514 FOLLOW_type_id_in_type_name1039
= frozenset([1])
18515 FOLLOW_pointer_in_abstract_declarator1050
= frozenset([1, 61, 63])
18516 FOLLOW_direct_abstract_declarator_in_abstract_declarator1052
= frozenset([1])
18517 FOLLOW_direct_abstract_declarator_in_abstract_declarator1058
= frozenset([1])
18518 FOLLOW_61_in_direct_abstract_declarator1071
= frozenset([61, 63, 65])
18519 FOLLOW_abstract_declarator_in_direct_abstract_declarator1073
= frozenset([62])
18520 FOLLOW_62_in_direct_abstract_declarator1075
= frozenset([1, 61, 63])
18521 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1079
= frozenset([1, 61, 63])
18522 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1083
= frozenset([1, 61, 63])
18523 FOLLOW_63_in_abstract_declarator_suffix1095
= frozenset([64])
18524 FOLLOW_64_in_abstract_declarator_suffix1097
= frozenset([1])
18525 FOLLOW_63_in_abstract_declarator_suffix1102
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18526 FOLLOW_constant_expression_in_abstract_declarator_suffix1104
= frozenset([64])
18527 FOLLOW_64_in_abstract_declarator_suffix1106
= frozenset([1])
18528 FOLLOW_61_in_abstract_declarator_suffix1111
= frozenset([62])
18529 FOLLOW_62_in_abstract_declarator_suffix1113
= frozenset([1])
18530 FOLLOW_61_in_abstract_declarator_suffix1118
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18531 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1120
= frozenset([62])
18532 FOLLOW_62_in_abstract_declarator_suffix1122
= frozenset([1])
18533 FOLLOW_assignment_expression_in_initializer1135
= frozenset([1])
18534 FOLLOW_43_in_initializer1140
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18535 FOLLOW_initializer_list_in_initializer1142
= frozenset([27, 44])
18536 FOLLOW_27_in_initializer1144
= frozenset([44])
18537 FOLLOW_44_in_initializer1147
= frozenset([1])
18538 FOLLOW_initializer_in_initializer_list1158
= frozenset([1, 27])
18539 FOLLOW_27_in_initializer_list1161
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18540 FOLLOW_initializer_in_initializer_list1163
= frozenset([1, 27])
18541 FOLLOW_assignment_expression_in_argument_expression_list1181
= frozenset([1, 27, 53])
18542 FOLLOW_53_in_argument_expression_list1184
= frozenset([1, 27])
18543 FOLLOW_27_in_argument_expression_list1189
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18544 FOLLOW_assignment_expression_in_argument_expression_list1191
= frozenset([1, 27, 53])
18545 FOLLOW_53_in_argument_expression_list1194
= frozenset([1, 27])
18546 FOLLOW_multiplicative_expression_in_additive_expression1210
= frozenset([1, 67, 68])
18547 FOLLOW_67_in_additive_expression1214
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18548 FOLLOW_multiplicative_expression_in_additive_expression1216
= frozenset([1, 67, 68])
18549 FOLLOW_68_in_additive_expression1220
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18550 FOLLOW_multiplicative_expression_in_additive_expression1222
= frozenset([1, 67, 68])
18551 FOLLOW_cast_expression_in_multiplicative_expression1236
= frozenset([1, 65, 69, 70])
18552 FOLLOW_65_in_multiplicative_expression1240
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18553 FOLLOW_cast_expression_in_multiplicative_expression1242
= frozenset([1, 65, 69, 70])
18554 FOLLOW_69_in_multiplicative_expression1246
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18555 FOLLOW_cast_expression_in_multiplicative_expression1248
= frozenset([1, 65, 69, 70])
18556 FOLLOW_70_in_multiplicative_expression1252
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18557 FOLLOW_cast_expression_in_multiplicative_expression1254
= frozenset([1, 65, 69, 70])
18558 FOLLOW_61_in_cast_expression1267
= frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18559 FOLLOW_type_name_in_cast_expression1269
= frozenset([62])
18560 FOLLOW_62_in_cast_expression1271
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18561 FOLLOW_cast_expression_in_cast_expression1273
= frozenset([1])
18562 FOLLOW_unary_expression_in_cast_expression1278
= frozenset([1])
18563 FOLLOW_postfix_expression_in_unary_expression1289
= frozenset([1])
18564 FOLLOW_71_in_unary_expression1294
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18565 FOLLOW_unary_expression_in_unary_expression1296
= frozenset([1])
18566 FOLLOW_72_in_unary_expression1301
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18567 FOLLOW_unary_expression_in_unary_expression1303
= frozenset([1])
18568 FOLLOW_unary_operator_in_unary_expression1308
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18569 FOLLOW_cast_expression_in_unary_expression1310
= frozenset([1])
18570 FOLLOW_73_in_unary_expression1315
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18571 FOLLOW_unary_expression_in_unary_expression1317
= frozenset([1])
18572 FOLLOW_73_in_unary_expression1322
= frozenset([61])
18573 FOLLOW_61_in_unary_expression1324
= frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18574 FOLLOW_type_name_in_unary_expression1326
= frozenset([62])
18575 FOLLOW_62_in_unary_expression1328
= frozenset([1])
18576 FOLLOW_primary_expression_in_postfix_expression1352
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18577 FOLLOW_63_in_postfix_expression1368
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18578 FOLLOW_expression_in_postfix_expression1370
= frozenset([64])
18579 FOLLOW_64_in_postfix_expression1372
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18580 FOLLOW_61_in_postfix_expression1386
= frozenset([62])
18581 FOLLOW_62_in_postfix_expression1390
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18582 FOLLOW_61_in_postfix_expression1405
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18583 FOLLOW_argument_expression_list_in_postfix_expression1409
= frozenset([62])
18584 FOLLOW_62_in_postfix_expression1413
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18585 FOLLOW_61_in_postfix_expression1429
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18586 FOLLOW_macro_parameter_list_in_postfix_expression1431
= frozenset([62])
18587 FOLLOW_62_in_postfix_expression1433
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18588 FOLLOW_74_in_postfix_expression1447
= frozenset([4])
18589 FOLLOW_IDENTIFIER_in_postfix_expression1451
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18590 FOLLOW_65_in_postfix_expression1467
= frozenset([4])
18591 FOLLOW_IDENTIFIER_in_postfix_expression1471
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18592 FOLLOW_75_in_postfix_expression1487
= frozenset([4])
18593 FOLLOW_IDENTIFIER_in_postfix_expression1491
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18594 FOLLOW_71_in_postfix_expression1507
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18595 FOLLOW_72_in_postfix_expression1521
= frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18596 FOLLOW_parameter_declaration_in_macro_parameter_list1544
= frozenset([1, 27])
18597 FOLLOW_27_in_macro_parameter_list1547
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18598 FOLLOW_parameter_declaration_in_macro_parameter_list1549
= frozenset([1, 27])
18599 FOLLOW_set_in_unary_operator0
= frozenset([1])
18600 FOLLOW_IDENTIFIER_in_primary_expression1598
= frozenset([1])
18601 FOLLOW_constant_in_primary_expression1603
= frozenset([1])
18602 FOLLOW_61_in_primary_expression1608
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18603 FOLLOW_expression_in_primary_expression1610
= frozenset([62])
18604 FOLLOW_62_in_primary_expression1612
= frozenset([1])
18605 FOLLOW_HEX_LITERAL_in_constant1628
= frozenset([1])
18606 FOLLOW_OCTAL_LITERAL_in_constant1638
= frozenset([1])
18607 FOLLOW_DECIMAL_LITERAL_in_constant1648
= frozenset([1])
18608 FOLLOW_CHARACTER_LITERAL_in_constant1656
= frozenset([1])
18609 FOLLOW_IDENTIFIER_in_constant1665
= frozenset([4, 9])
18610 FOLLOW_STRING_LITERAL_in_constant1668
= frozenset([1, 4, 9])
18611 FOLLOW_IDENTIFIER_in_constant1673
= frozenset([1, 4])
18612 FOLLOW_FLOATING_POINT_LITERAL_in_constant1684
= frozenset([1])
18613 FOLLOW_assignment_expression_in_expression1700
= frozenset([1, 27])
18614 FOLLOW_27_in_expression1703
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18615 FOLLOW_assignment_expression_in_expression1705
= frozenset([1, 27])
18616 FOLLOW_conditional_expression_in_constant_expression1718
= frozenset([1])
18617 FOLLOW_lvalue_in_assignment_expression1729
= frozenset([28, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88])
18618 FOLLOW_assignment_operator_in_assignment_expression1731
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18619 FOLLOW_assignment_expression_in_assignment_expression1733
= frozenset([1])
18620 FOLLOW_conditional_expression_in_assignment_expression1738
= frozenset([1])
18621 FOLLOW_unary_expression_in_lvalue1750
= frozenset([1])
18622 FOLLOW_set_in_assignment_operator0
= frozenset([1])
18623 FOLLOW_logical_or_expression_in_conditional_expression1824
= frozenset([1, 89])
18624 FOLLOW_89_in_conditional_expression1827
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18625 FOLLOW_expression_in_conditional_expression1829
= frozenset([47])
18626 FOLLOW_47_in_conditional_expression1831
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18627 FOLLOW_conditional_expression_in_conditional_expression1833
= frozenset([1])
18628 FOLLOW_logical_and_expression_in_logical_or_expression1848
= frozenset([1, 90])
18629 FOLLOW_90_in_logical_or_expression1851
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18630 FOLLOW_logical_and_expression_in_logical_or_expression1853
= frozenset([1, 90])
18631 FOLLOW_inclusive_or_expression_in_logical_and_expression1866
= frozenset([1, 91])
18632 FOLLOW_91_in_logical_and_expression1869
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18633 FOLLOW_inclusive_or_expression_in_logical_and_expression1871
= frozenset([1, 91])
18634 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1884
= frozenset([1, 92])
18635 FOLLOW_92_in_inclusive_or_expression1887
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18636 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1889
= frozenset([1, 92])
18637 FOLLOW_and_expression_in_exclusive_or_expression1902
= frozenset([1, 93])
18638 FOLLOW_93_in_exclusive_or_expression1905
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18639 FOLLOW_and_expression_in_exclusive_or_expression1907
= frozenset([1, 93])
18640 FOLLOW_equality_expression_in_and_expression1920
= frozenset([1, 76])
18641 FOLLOW_76_in_and_expression1923
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18642 FOLLOW_equality_expression_in_and_expression1925
= frozenset([1, 76])
18643 FOLLOW_relational_expression_in_equality_expression1937
= frozenset([1, 94, 95])
18644 FOLLOW_set_in_equality_expression1940
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18645 FOLLOW_relational_expression_in_equality_expression1946
= frozenset([1, 94, 95])
18646 FOLLOW_shift_expression_in_relational_expression1960
= frozenset([1, 96, 97, 98, 99])
18647 FOLLOW_set_in_relational_expression1963
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18648 FOLLOW_shift_expression_in_relational_expression1973
= frozenset([1, 96, 97, 98, 99])
18649 FOLLOW_additive_expression_in_shift_expression1986
= frozenset([1, 100, 101])
18650 FOLLOW_set_in_shift_expression1989
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18651 FOLLOW_additive_expression_in_shift_expression1995
= frozenset([1, 100, 101])
18652 FOLLOW_labeled_statement_in_statement2010
= frozenset([1])
18653 FOLLOW_compound_statement_in_statement2015
= frozenset([1])
18654 FOLLOW_expression_statement_in_statement2020
= frozenset([1])
18655 FOLLOW_selection_statement_in_statement2025
= frozenset([1])
18656 FOLLOW_iteration_statement_in_statement2030
= frozenset([1])
18657 FOLLOW_jump_statement_in_statement2035
= frozenset([1])
18658 FOLLOW_macro_statement_in_statement2040
= frozenset([1])
18659 FOLLOW_asm2_statement_in_statement2045
= frozenset([1])
18660 FOLLOW_asm1_statement_in_statement2050
= frozenset([1])
18661 FOLLOW_asm_statement_in_statement2055
= frozenset([1])
18662 FOLLOW_declaration_in_statement2060
= frozenset([1])
18663 FOLLOW_102_in_asm2_statement2071
= frozenset([4])
18664 FOLLOW_IDENTIFIER_in_asm2_statement2074
= frozenset([61])
18665 FOLLOW_61_in_asm2_statement2076
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
18666 FOLLOW_set_in_asm2_statement2079
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
18667 FOLLOW_62_in_asm2_statement2086
= frozenset([25])
18668 FOLLOW_25_in_asm2_statement2088
= frozenset([1])
18669 FOLLOW_103_in_asm1_statement2100
= frozenset([43])
18670 FOLLOW_43_in_asm1_statement2102
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
18671 FOLLOW_set_in_asm1_statement2105
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
18672 FOLLOW_44_in_asm1_statement2112
= frozenset([1])
18673 FOLLOW_104_in_asm_statement2123
= frozenset([43])
18674 FOLLOW_43_in_asm_statement2125
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
18675 FOLLOW_set_in_asm_statement2128
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116])
18676 FOLLOW_44_in_asm_statement2135
= frozenset([1])
18677 FOLLOW_IDENTIFIER_in_macro_statement2147
= frozenset([61])
18678 FOLLOW_61_in_macro_statement2149
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18679 FOLLOW_declaration_in_macro_statement2151
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18680 FOLLOW_statement_list_in_macro_statement2155
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18681 FOLLOW_expression_in_macro_statement2158
= frozenset([62])
18682 FOLLOW_62_in_macro_statement2161
= frozenset([1])
18683 FOLLOW_IDENTIFIER_in_labeled_statement2173
= frozenset([47])
18684 FOLLOW_47_in_labeled_statement2175
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18685 FOLLOW_statement_in_labeled_statement2177
= frozenset([1])
18686 FOLLOW_105_in_labeled_statement2182
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18687 FOLLOW_constant_expression_in_labeled_statement2184
= frozenset([47])
18688 FOLLOW_47_in_labeled_statement2186
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18689 FOLLOW_statement_in_labeled_statement2188
= frozenset([1])
18690 FOLLOW_106_in_labeled_statement2193
= frozenset([47])
18691 FOLLOW_47_in_labeled_statement2195
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18692 FOLLOW_statement_in_labeled_statement2197
= frozenset([1])
18693 FOLLOW_43_in_compound_statement2208
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18694 FOLLOW_declaration_in_compound_statement2210
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18695 FOLLOW_statement_list_in_compound_statement2213
= frozenset([44])
18696 FOLLOW_44_in_compound_statement2216
= frozenset([1])
18697 FOLLOW_statement_in_statement_list2227
= frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18698 FOLLOW_25_in_expression_statement2239
= frozenset([1])
18699 FOLLOW_expression_in_expression_statement2244
= frozenset([25])
18700 FOLLOW_25_in_expression_statement2246
= frozenset([1])
18701 FOLLOW_107_in_selection_statement2257
= frozenset([61])
18702 FOLLOW_61_in_selection_statement2259
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18703 FOLLOW_expression_in_selection_statement2263
= frozenset([62])
18704 FOLLOW_62_in_selection_statement2265
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18705 FOLLOW_statement_in_selection_statement2269
= frozenset([1, 108])
18706 FOLLOW_108_in_selection_statement2284
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18707 FOLLOW_statement_in_selection_statement2286
= frozenset([1])
18708 FOLLOW_109_in_selection_statement2293
= frozenset([61])
18709 FOLLOW_61_in_selection_statement2295
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18710 FOLLOW_expression_in_selection_statement2297
= frozenset([62])
18711 FOLLOW_62_in_selection_statement2299
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18712 FOLLOW_statement_in_selection_statement2301
= frozenset([1])
18713 FOLLOW_110_in_iteration_statement2312
= frozenset([61])
18714 FOLLOW_61_in_iteration_statement2314
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18715 FOLLOW_expression_in_iteration_statement2318
= frozenset([62])
18716 FOLLOW_62_in_iteration_statement2320
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18717 FOLLOW_statement_in_iteration_statement2322
= frozenset([1])
18718 FOLLOW_111_in_iteration_statement2329
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18719 FOLLOW_statement_in_iteration_statement2331
= frozenset([110])
18720 FOLLOW_110_in_iteration_statement2333
= frozenset([61])
18721 FOLLOW_61_in_iteration_statement2335
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18722 FOLLOW_expression_in_iteration_statement2339
= frozenset([62])
18723 FOLLOW_62_in_iteration_statement2341
= frozenset([25])
18724 FOLLOW_25_in_iteration_statement2343
= frozenset([1])
18725 FOLLOW_112_in_iteration_statement2350
= frozenset([61])
18726 FOLLOW_61_in_iteration_statement2352
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18727 FOLLOW_expression_statement_in_iteration_statement2354
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18728 FOLLOW_expression_statement_in_iteration_statement2358
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18729 FOLLOW_expression_in_iteration_statement2360
= frozenset([62])
18730 FOLLOW_62_in_iteration_statement2363
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18731 FOLLOW_statement_in_iteration_statement2365
= frozenset([1])
18732 FOLLOW_113_in_jump_statement2378
= frozenset([4])
18733 FOLLOW_IDENTIFIER_in_jump_statement2380
= frozenset([25])
18734 FOLLOW_25_in_jump_statement2382
= frozenset([1])
18735 FOLLOW_114_in_jump_statement2387
= frozenset([25])
18736 FOLLOW_25_in_jump_statement2389
= frozenset([1])
18737 FOLLOW_115_in_jump_statement2394
= frozenset([25])
18738 FOLLOW_25_in_jump_statement2396
= frozenset([1])
18739 FOLLOW_116_in_jump_statement2401
= frozenset([25])
18740 FOLLOW_25_in_jump_statement2403
= frozenset([1])
18741 FOLLOW_116_in_jump_statement2408
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18742 FOLLOW_expression_in_jump_statement2410
= frozenset([25])
18743 FOLLOW_25_in_jump_statement2412
= frozenset([1])
18744 FOLLOW_declaration_specifiers_in_synpred290
= frozenset([1])
18745 FOLLOW_declaration_specifiers_in_synpred490
= frozenset([4, 58, 59, 60, 61, 65])
18746 FOLLOW_declarator_in_synpred493
= frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18747 FOLLOW_declaration_in_synpred495
= frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18748 FOLLOW_43_in_synpred498
= frozenset([1])
18749 FOLLOW_declaration_in_synpred5108
= frozenset([1])
18750 FOLLOW_declaration_specifiers_in_synpred7147
= frozenset([1])
18751 FOLLOW_declaration_specifiers_in_synpred10197
= frozenset([1])
18752 FOLLOW_type_specifier_in_synpred14262
= frozenset([1])
18753 FOLLOW_type_qualifier_in_synpred15276
= frozenset([1])
18754 FOLLOW_type_qualifier_in_synpred33434
= frozenset([1])
18755 FOLLOW_IDENTIFIER_in_synpred34432
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
18756 FOLLOW_type_qualifier_in_synpred34434
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
18757 FOLLOW_declarator_in_synpred34437
= frozenset([1])
18758 FOLLOW_type_qualifier_in_synpred39556
= frozenset([1])
18759 FOLLOW_type_specifier_in_synpred40560
= frozenset([1])
18760 FOLLOW_pointer_in_synpred65769
= frozenset([4, 58, 59, 60, 61])
18761 FOLLOW_58_in_synpred65773
= frozenset([4, 59, 60, 61])
18762 FOLLOW_59_in_synpred65778
= frozenset([4, 60, 61])
18763 FOLLOW_60_in_synpred65783
= frozenset([4, 61])
18764 FOLLOW_direct_declarator_in_synpred65787
= frozenset([1])
18765 FOLLOW_declarator_suffix_in_synpred66806
= frozenset([1])
18766 FOLLOW_58_in_synpred68815
= frozenset([1])
18767 FOLLOW_declarator_suffix_in_synpred69823
= frozenset([1])
18768 FOLLOW_61_in_synpred72863
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18769 FOLLOW_parameter_type_list_in_synpred72865
= frozenset([62])
18770 FOLLOW_62_in_synpred72867
= frozenset([1])
18771 FOLLOW_61_in_synpred73877
= frozenset([4])
18772 FOLLOW_identifier_list_in_synpred73879
= frozenset([62])
18773 FOLLOW_62_in_synpred73881
= frozenset([1])
18774 FOLLOW_type_qualifier_in_synpred74906
= frozenset([1])
18775 FOLLOW_pointer_in_synpred75909
= frozenset([1])
18776 FOLLOW_65_in_synpred76904
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18777 FOLLOW_type_qualifier_in_synpred76906
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18778 FOLLOW_pointer_in_synpred76909
= frozenset([1])
18779 FOLLOW_65_in_synpred77915
= frozenset([65])
18780 FOLLOW_pointer_in_synpred77917
= frozenset([1])
18781 FOLLOW_53_in_synpred80962
= frozenset([1])
18782 FOLLOW_27_in_synpred81959
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18783 FOLLOW_53_in_synpred81962
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18784 FOLLOW_parameter_declaration_in_synpred81966
= frozenset([1])
18785 FOLLOW_declarator_in_synpred82982
= frozenset([1])
18786 FOLLOW_abstract_declarator_in_synpred83984
= frozenset([1])
18787 FOLLOW_declaration_specifiers_in_synpred85979
= frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18788 FOLLOW_declarator_in_synpred85982
= frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18789 FOLLOW_abstract_declarator_in_synpred85984
= frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18790 FOLLOW_53_in_synpred85989
= frozenset([1])
18791 FOLLOW_specifier_qualifier_list_in_synpred891031
= frozenset([1, 61, 63, 65])
18792 FOLLOW_abstract_declarator_in_synpred891033
= frozenset([1])
18793 FOLLOW_direct_abstract_declarator_in_synpred901052
= frozenset([1])
18794 FOLLOW_61_in_synpred921071
= frozenset([61, 63, 65])
18795 FOLLOW_abstract_declarator_in_synpred921073
= frozenset([62])
18796 FOLLOW_62_in_synpred921075
= frozenset([1])
18797 FOLLOW_abstract_declarator_suffix_in_synpred931083
= frozenset([1])
18798 FOLLOW_61_in_synpred1081267
= frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18799 FOLLOW_type_name_in_synpred1081269
= frozenset([62])
18800 FOLLOW_62_in_synpred1081271
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18801 FOLLOW_cast_expression_in_synpred1081273
= frozenset([1])
18802 FOLLOW_73_in_synpred1131315
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18803 FOLLOW_unary_expression_in_synpred1131317
= frozenset([1])
18804 FOLLOW_61_in_synpred1161405
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18805 FOLLOW_argument_expression_list_in_synpred1161409
= frozenset([62])
18806 FOLLOW_62_in_synpred1161413
= frozenset([1])
18807 FOLLOW_61_in_synpred1171429
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18808 FOLLOW_macro_parameter_list_in_synpred1171431
= frozenset([62])
18809 FOLLOW_62_in_synpred1171433
= frozenset([1])
18810 FOLLOW_65_in_synpred1191467
= frozenset([4])
18811 FOLLOW_IDENTIFIER_in_synpred1191471
= frozenset([1])
18812 FOLLOW_STRING_LITERAL_in_synpred1361668
= frozenset([1])
18813 FOLLOW_IDENTIFIER_in_synpred1371665
= frozenset([4, 9])
18814 FOLLOW_STRING_LITERAL_in_synpred1371668
= frozenset([1, 9])
18815 FOLLOW_lvalue_in_synpred1411729
= frozenset([28, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88])
18816 FOLLOW_assignment_operator_in_synpred1411731
= frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18817 FOLLOW_assignment_expression_in_synpred1411733
= frozenset([1])
18818 FOLLOW_expression_statement_in_synpred1682020
= frozenset([1])
18819 FOLLOW_macro_statement_in_synpred1722040
= frozenset([1])
18820 FOLLOW_asm2_statement_in_synpred1732045
= frozenset([1])
18821 FOLLOW_declaration_in_synpred1802151
= frozenset([1])
18822 FOLLOW_statement_list_in_synpred1812155
= frozenset([1])
18823 FOLLOW_declaration_in_synpred1852210
= frozenset([1])
18824 FOLLOW_statement_in_synpred1872227
= frozenset([1])