1 # $ANTLR 3.0.1 C.g 2010-02-23 09:58:53
3 from __future__
import print_function
4 from __future__
import absolute_import
6 from antlr3
.compat
import set, frozenset
9 # The file defines the parser for C source files.
11 # THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
12 # This file is generated by running:
13 # java org.antlr.Tool C.g
15 # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
17 # SPDX-License-Identifier: BSD-2-Clause-Patent
21 from Ecc
import CodeFragment
22 from Ecc
import FileProfile
26 # for convenience in actions
27 HIDDEN
= BaseRecognizer
.HIDDEN
42 FLOATING_POINT_LITERAL
=10
55 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
56 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
57 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
58 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
59 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
60 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
61 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
62 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
63 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
64 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
65 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
66 "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
67 "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
68 "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
69 "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
70 "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
71 "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
72 "'goto'", "'continue'", "'break'", "'return'"
76 class function_definition_scope(object):
78 self
.ModifierText
= None
83 self
.DeclOffset
= None
84 class postfix_expression_scope(object):
86 self
.FuncCallText
= None
89 class CParser(Parser
):
90 grammarFileName
= "C.g"
91 tokenNames
= tokenNames
93 def __init__(self
, input):
94 Parser
.__init
__(self
, input)
97 self
.function_definition_stack
= []
98 self
.postfix_expression_stack
= []
100 def printTokenInfo(self
, line
, offset
, tokenText
):
101 print(str(line
)+ ',' + str(offset
) + ':' + str(tokenText
))
103 def StorePredicateExpression(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
104 PredExp
= CodeFragment
.PredicateExpression(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
105 FileProfile
.PredicateExpressionList
.append(PredExp
)
107 def StoreEnumerationDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
108 EnumDef
= CodeFragment
.EnumerationDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
109 FileProfile
.EnumerationDefinitionList
.append(EnumDef
)
111 def StoreStructUnionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
112 SUDef
= CodeFragment
.StructUnionDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
113 FileProfile
.StructUnionDefinitionList
.append(SUDef
)
115 def StoreTypedefDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FromText
, ToText
):
116 Tdef
= CodeFragment
.TypedefDefinition(FromText
, ToText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
117 FileProfile
.TypedefDefinitionList
.append(Tdef
)
119 def StoreFunctionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
, LeftBraceLine
, LeftBraceOffset
, DeclLine
, DeclOffset
):
120 FuncDef
= CodeFragment
.FunctionDefinition(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
), (LeftBraceLine
, LeftBraceOffset
), (DeclLine
, DeclOffset
))
121 FileProfile
.FunctionDefinitionList
.append(FuncDef
)
123 def StoreVariableDeclaration(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
):
124 VarDecl
= CodeFragment
.VariableDeclaration(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
125 FileProfile
.VariableDeclarationList
.append(VarDecl
)
127 def StoreFunctionCalling(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FuncName
, ParamList
):
128 FuncCall
= CodeFragment
.FunctionCalling(FuncName
, ParamList
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
129 FileProfile
.FunctionCallingList
.append(FuncCall
)
134 # $ANTLR start translation_unit
135 # C.g:102:1: translation_unit : ( external_declaration )* ;
136 def translation_unit(self
, ):
138 translation_unit_StartIndex
= self
.input.index()
141 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 1):
144 # C.g:103:2: ( ( external_declaration )* )
145 # C.g:103:4: ( external_declaration )*
146 # C.g:103:4: ( external_declaration )*
149 LA1_0
= self
.input.LA(1)
151 if (LA1_0
== IDENTIFIER
or LA1_0
== 26 or (29 <= LA1_0
<= 42) or (45 <= LA1_0
<= 46) or (48 <= LA1_0
<= 62) or LA1_0
== 66) :
156 # C.g:0:0: external_declaration
157 self
.following
.append(self
.FOLLOW_external_declaration_in_translation_unit74
)
158 self
.external_declaration()
172 except RecognitionException
as re
:
174 self
.recover(self
.input, re
)
176 if self
.backtracking
> 0:
177 self
.memoize(self
.input, 1, translation_unit_StartIndex
)
183 # $ANTLR end translation_unit
186 # $ANTLR start external_declaration
187 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
188 def external_declaration(self
, ):
190 external_declaration_StartIndex
= self
.input.index()
193 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 2):
196 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
198 LA3_0
= self
.input.LA(1)
200 if ((29 <= LA3_0
<= 33)) :
201 LA3_1
= self
.input.LA(2)
203 if (self
.synpred4()) :
205 elif (self
.synpred5()) :
208 if self
.backtracking
> 0:
212 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self
.input)
217 LA3_2
= self
.input.LA(2)
219 if (self
.synpred4()) :
221 elif (self
.synpred5()) :
224 if self
.backtracking
> 0:
228 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self
.input)
233 LA3_3
= self
.input.LA(2)
235 if (self
.synpred4()) :
237 elif (self
.synpred5()) :
240 if self
.backtracking
> 0:
244 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self
.input)
249 LA3_4
= self
.input.LA(2)
251 if (self
.synpred4()) :
253 elif (self
.synpred5()) :
256 if self
.backtracking
> 0:
260 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self
.input)
265 LA3_5
= self
.input.LA(2)
267 if (self
.synpred4()) :
269 elif (self
.synpred5()) :
272 if self
.backtracking
> 0:
276 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self
.input)
281 LA3_6
= self
.input.LA(2)
283 if (self
.synpred4()) :
285 elif (self
.synpred5()) :
288 if self
.backtracking
> 0:
292 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self
.input)
297 LA3_7
= self
.input.LA(2)
299 if (self
.synpred4()) :
301 elif (self
.synpred5()) :
304 if self
.backtracking
> 0:
308 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self
.input)
313 LA3_8
= self
.input.LA(2)
315 if (self
.synpred4()) :
317 elif (self
.synpred5()) :
320 if self
.backtracking
> 0:
324 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self
.input)
329 LA3_9
= self
.input.LA(2)
331 if (self
.synpred4()) :
333 elif (self
.synpred5()) :
336 if self
.backtracking
> 0:
340 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self
.input)
345 LA3_10
= self
.input.LA(2)
347 if (self
.synpred4()) :
349 elif (self
.synpred5()) :
352 if self
.backtracking
> 0:
356 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self
.input)
360 elif ((45 <= LA3_0
<= 46)) :
361 LA3_11
= self
.input.LA(2)
363 if (self
.synpred4()) :
365 elif (self
.synpred5()) :
368 if self
.backtracking
> 0:
372 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self
.input)
377 LA3_12
= self
.input.LA(2)
379 if (self
.synpred4()) :
381 elif (self
.synpred5()) :
384 if self
.backtracking
> 0:
388 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self
.input)
392 elif (LA3_0
== IDENTIFIER
) :
393 LA3_13
= self
.input.LA(2)
395 if (self
.synpred4()) :
397 elif (self
.synpred5()) :
402 if self
.backtracking
> 0:
406 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self
.input)
411 LA3_14
= self
.input.LA(2)
413 if (self
.synpred4()) :
415 elif (self
.synpred5()) :
418 if self
.backtracking
> 0:
422 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self
.input)
426 elif (LA3_0
== 66) and (self
.synpred4()):
429 LA3_16
= self
.input.LA(2)
431 if (self
.synpred4()) :
433 elif (self
.synpred5()) :
436 if self
.backtracking
> 0:
440 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self
.input)
445 LA3_17
= self
.input.LA(2)
447 if (self
.synpred4()) :
449 elif (self
.synpred5()) :
452 if self
.backtracking
> 0:
456 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self
.input)
460 elif ((49 <= LA3_0
<= 57) or LA3_0
== 61) :
461 LA3_18
= self
.input.LA(2)
463 if (self
.synpred4()) :
465 elif (self
.synpred5()) :
468 if self
.backtracking
> 0:
472 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self
.input)
476 elif (LA3_0
== 62) and (self
.synpred4()):
481 if self
.backtracking
> 0:
485 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self
.input)
490 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
491 self
.following
.append(self
.FOLLOW_function_definition_in_external_declaration113
)
492 self
.function_definition()
499 # C.g:120:4: declaration
500 self
.following
.append(self
.FOLLOW_declaration_in_external_declaration118
)
508 # C.g:121:4: macro_statement ( ';' )?
509 self
.following
.append(self
.FOLLOW_macro_statement_in_external_declaration123
)
510 self
.macro_statement()
514 # C.g:121:20: ( ';' )?
516 LA2_0
= self
.input.LA(1)
522 self
.match(self
.input, 25, self
.FOLLOW_25_in_external_declaration126
)
531 except RecognitionException
as re
:
533 self
.recover(self
.input, re
)
535 if self
.backtracking
> 0:
536 self
.memoize(self
.input, 2, external_declaration_StartIndex
)
542 # $ANTLR end external_declaration
544 class function_definition_return(object):
551 # $ANTLR start function_definition
552 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
553 def function_definition(self
, ):
554 self
.function_definition_stack
.append(function_definition_scope())
555 retval
= self
.function_definition_return()
556 retval
.start
= self
.input.LT(1)
557 function_definition_StartIndex
= self
.input.index()
568 self
.function_definition_stack
[-1].ModifierText
= ''
569 self
.function_definition_stack
[-1].DeclText
= ''
570 self
.function_definition_stack
[-1].LBLine
= 0
571 self
.function_definition_stack
[-1].LBOffset
= 0
572 self
.function_definition_stack
[-1].DeclLine
= 0
573 self
.function_definition_stack
[-1].DeclOffset
= 0
577 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 3):
580 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
581 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
582 # C.g:146:5: (d= declaration_specifiers )?
584 LA4
= self
.input.LA(1)
585 if LA4
== 29 or LA4
== 30 or LA4
== 31 or LA4
== 32 or LA4
== 33 or LA4
== 34 or LA4
== 35 or LA4
== 36 or LA4
== 37 or LA4
== 38 or LA4
== 39 or LA4
== 40 or LA4
== 41 or LA4
== 42 or LA4
== 45 or LA4
== 46 or LA4
== 48 or LA4
== 49 or LA4
== 50 or LA4
== 51 or LA4
== 52 or LA4
== 53 or LA4
== 54 or LA4
== 55 or LA4
== 56 or LA4
== 57 or LA4
== 61:
587 elif LA4
== IDENTIFIER
:
588 LA4
= self
.input.LA(2)
592 LA4_21
= self
.input.LA(3)
594 if (self
.synpred7()) :
597 LA4_22
= self
.input.LA(3)
599 if (self
.synpred7()) :
602 LA4_23
= self
.input.LA(3)
604 if (self
.synpred7()) :
606 elif LA4
== IDENTIFIER
:
607 LA4_24
= self
.input.LA(3)
609 if (self
.synpred7()) :
612 LA4_25
= self
.input.LA(3)
614 if (self
.synpred7()) :
616 elif LA4
== 29 or LA4
== 30 or LA4
== 31 or LA4
== 32 or LA4
== 33:
617 LA4_26
= self
.input.LA(3)
619 if (self
.synpred7()) :
622 LA4_27
= self
.input.LA(3)
624 if (self
.synpred7()) :
627 LA4_28
= self
.input.LA(3)
629 if (self
.synpred7()) :
632 LA4_29
= self
.input.LA(3)
634 if (self
.synpred7()) :
637 LA4_30
= self
.input.LA(3)
639 if (self
.synpred7()) :
642 LA4_31
= self
.input.LA(3)
644 if (self
.synpred7()) :
647 LA4_32
= self
.input.LA(3)
649 if (self
.synpred7()) :
652 LA4_33
= self
.input.LA(3)
654 if (self
.synpred7()) :
657 LA4_34
= self
.input.LA(3)
659 if (self
.synpred7()) :
662 LA4_35
= self
.input.LA(3)
664 if (self
.synpred7()) :
666 elif LA4
== 45 or LA4
== 46:
667 LA4_36
= self
.input.LA(3)
669 if (self
.synpred7()) :
672 LA4_37
= self
.input.LA(3)
674 if (self
.synpred7()) :
676 elif LA4
== 49 or LA4
== 50 or LA4
== 51 or LA4
== 52 or LA4
== 53 or LA4
== 54 or LA4
== 55 or LA4
== 56 or LA4
== 57 or LA4
== 61:
677 LA4_38
= self
.input.LA(3)
679 if (self
.synpred7()) :
682 LA4_14
= self
.input.LA(2)
684 if (self
.synpred7()) :
687 LA4_16
= self
.input.LA(2)
689 if (self
.synpred7()) :
692 LA4_17
= self
.input.LA(2)
694 if (self
.synpred7()) :
697 # C.g:0:0: d= declaration_specifiers
698 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_function_definition157
)
699 d
= self
.declaration_specifiers()
706 self
.following
.append(self
.FOLLOW_declarator_in_function_definition160
)
707 declarator1
= self
.declarator()
711 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
713 LA6_0
= self
.input.LA(1)
715 if (LA6_0
== IDENTIFIER
or LA6_0
== 26 or (29 <= LA6_0
<= 42) or (45 <= LA6_0
<= 46) or (48 <= LA6_0
<= 61)) :
720 if self
.backtracking
> 0:
724 nvae
= NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self
.input)
729 # C.g:147:5: ( declaration )+ a= compound_statement
730 # C.g:147:5: ( declaration )+
734 LA5_0
= self
.input.LA(1)
736 if (LA5_0
== IDENTIFIER
or LA5_0
== 26 or (29 <= LA5_0
<= 42) or (45 <= LA5_0
<= 46) or (48 <= LA5_0
<= 61)) :
741 # C.g:0:0: declaration
742 self
.following
.append(self
.FOLLOW_declaration_in_function_definition166
)
753 if self
.backtracking
> 0:
757 eee
= EarlyExitException(5, self
.input)
763 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition171
)
764 a
= self
.compound_statement()
771 # C.g:148:5: b= compound_statement
772 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition180
)
773 b
= self
.compound_statement()
780 if self
.backtracking
== 0:
783 self
.function_definition_stack
[-1].ModifierText
= self
.input.toString(d
.start
, d
.stop
)
785 self
.function_definition_stack
[-1].ModifierText
= ''
786 self
.function_definition_stack
[-1].DeclText
= self
.input.toString(declarator1
.start
, declarator1
.stop
)
787 self
.function_definition_stack
[-1].DeclLine
= declarator1
.start
.line
788 self
.function_definition_stack
[-1].DeclOffset
= declarator1
.start
.charPositionInLine
790 self
.function_definition_stack
[-1].LBLine
= a
.start
.line
791 self
.function_definition_stack
[-1].LBOffset
= a
.start
.charPositionInLine
793 self
.function_definition_stack
[-1].LBLine
= b
.start
.line
794 self
.function_definition_stack
[-1].LBOffset
= b
.start
.charPositionInLine
800 retval
.stop
= self
.input.LT(-1)
802 if self
.backtracking
== 0:
804 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
)
808 except RecognitionException
as re
:
810 self
.recover(self
.input, re
)
812 if self
.backtracking
> 0:
813 self
.memoize(self
.input, 3, function_definition_StartIndex
)
815 self
.function_definition_stack
.pop()
820 # $ANTLR end function_definition
823 # $ANTLR start declaration
824 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
825 def declaration(self
, ):
827 declaration_StartIndex
= self
.input.index()
842 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 4):
845 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
847 LA9_0
= self
.input.LA(1)
851 elif (LA9_0
== IDENTIFIER
or (29 <= LA9_0
<= 42) or (45 <= LA9_0
<= 46) or (48 <= LA9_0
<= 61)) :
854 if self
.backtracking
> 0:
858 nvae
= NoViableAltException("166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self
.input)
863 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
865 self
.match(self
.input, 26, self
.FOLLOW_26_in_declaration203
)
868 # C.g:167:17: (b= declaration_specifiers )?
870 LA7
= self
.input.LA(1)
871 if LA7
== 29 or LA7
== 30 or LA7
== 31 or LA7
== 32 or LA7
== 33 or LA7
== 34 or LA7
== 35 or LA7
== 36 or LA7
== 37 or LA7
== 38 or LA7
== 39 or LA7
== 40 or LA7
== 41 or LA7
== 42 or LA7
== 45 or LA7
== 46 or LA7
== 48 or LA7
== 49 or LA7
== 50 or LA7
== 51 or LA7
== 52 or LA7
== 53 or LA7
== 54 or LA7
== 55 or LA7
== 56 or LA7
== 57 or LA7
== 61:
873 elif LA7
== IDENTIFIER
:
874 LA7_13
= self
.input.LA(2)
877 LA7_21
= self
.input.LA(3)
879 if (self
.synpred10()) :
881 elif (LA7_13
== IDENTIFIER
or (29 <= LA7_13
<= 42) or (45 <= LA7_13
<= 46) or (48 <= LA7_13
<= 61) or LA7_13
== 66) :
884 LA7_14
= self
.input.LA(2)
886 if (self
.synpred10()) :
889 LA7_16
= self
.input.LA(2)
891 if (self
.synpred10()) :
894 LA7_17
= self
.input.LA(2)
896 if (self
.synpred10()) :
899 # C.g:0:0: b= declaration_specifiers
900 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration207
)
901 b
= self
.declaration_specifiers()
908 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration216
)
909 c
= self
.init_declarator_list()
914 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration220
)
917 if self
.backtracking
== 0:
920 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, self
.input.toString(b
.start
, b
.stop
), self
.input.toString(c
.start
, c
.stop
))
922 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, '', self
.input.toString(c
.start
, c
.stop
))
928 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
929 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration234
)
930 s
= self
.declaration_specifiers()
934 # C.g:175:30: (t= init_declarator_list )?
936 LA8_0
= self
.input.LA(1)
938 if (LA8_0
== IDENTIFIER
or (58 <= LA8_0
<= 60) or LA8_0
== 62 or LA8_0
== 66) :
941 # C.g:0:0: t= init_declarator_list
942 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration238
)
943 t
= self
.init_declarator_list()
951 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration243
)
954 if self
.backtracking
== 0:
957 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
))
963 except RecognitionException
as re
:
965 self
.recover(self
.input, re
)
967 if self
.backtracking
> 0:
968 self
.memoize(self
.input, 4, declaration_StartIndex
)
974 # $ANTLR end declaration
976 class declaration_specifiers_return(object):
983 # $ANTLR start declaration_specifiers
984 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
985 def declaration_specifiers(self
, ):
987 retval
= self
.declaration_specifiers_return()
988 retval
.start
= self
.input.LT(1)
989 declaration_specifiers_StartIndex
= self
.input.index()
992 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 5):
995 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
996 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
997 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1001 LA10
= self
.input.LA(1)
1003 LA10_2
= self
.input.LA(2)
1005 if (self
.synpred15()) :
1010 LA10_3
= self
.input.LA(2)
1012 if (self
.synpred15()) :
1017 LA10_4
= self
.input.LA(2)
1019 if (self
.synpred15()) :
1023 elif LA10
== IDENTIFIER
:
1024 LA10_5
= self
.input.LA(2)
1026 if (self
.synpred14()) :
1031 LA10_9
= self
.input.LA(2)
1033 if (self
.synpred15()) :
1037 elif LA10
== 29 or LA10
== 30 or LA10
== 31 or LA10
== 32 or LA10
== 33:
1039 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:
1041 elif LA10
== 49 or LA10
== 50 or LA10
== 51 or LA10
== 52 or LA10
== 54 or LA10
== 55 or LA10
== 56 or LA10
== 57 or LA10
== 61:
1045 # C.g:183:10: storage_class_specifier
1046 self
.following
.append(self
.FOLLOW_storage_class_specifier_in_declaration_specifiers264
)
1047 self
.storage_class_specifier()
1048 self
.following
.pop()
1054 # C.g:184:7: type_specifier
1055 self
.following
.append(self
.FOLLOW_type_specifier_in_declaration_specifiers272
)
1056 self
.type_specifier()
1057 self
.following
.pop()
1063 # C.g:185:13: type_qualifier
1064 self
.following
.append(self
.FOLLOW_type_qualifier_in_declaration_specifiers286
)
1065 self
.type_qualifier()
1066 self
.following
.pop()
1075 if self
.backtracking
> 0:
1079 eee
= EarlyExitException(10, self
.input)
1088 retval
.stop
= self
.input.LT(-1)
1091 except RecognitionException
as re
:
1092 self
.reportError(re
)
1093 self
.recover(self
.input, re
)
1095 if self
.backtracking
> 0:
1096 self
.memoize(self
.input, 5, declaration_specifiers_StartIndex
)
1102 # $ANTLR end declaration_specifiers
1104 class init_declarator_list_return(object):
1111 # $ANTLR start init_declarator_list
1112 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1113 def init_declarator_list(self
, ):
1115 retval
= self
.init_declarator_list_return()
1116 retval
.start
= self
.input.LT(1)
1117 init_declarator_list_StartIndex
= self
.input.index()
1120 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 6):
1123 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1124 # C.g:190:4: init_declarator ( ',' init_declarator )*
1125 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list308
)
1126 self
.init_declarator()
1127 self
.following
.pop()
1130 # C.g:190:20: ( ',' init_declarator )*
1133 LA11_0
= self
.input.LA(1)
1140 # C.g:190:21: ',' init_declarator
1141 self
.match(self
.input, 27, self
.FOLLOW_27_in_init_declarator_list311
)
1144 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list313
)
1145 self
.init_declarator()
1146 self
.following
.pop()
1158 retval
.stop
= self
.input.LT(-1)
1161 except RecognitionException
as re
:
1162 self
.reportError(re
)
1163 self
.recover(self
.input, re
)
1165 if self
.backtracking
> 0:
1166 self
.memoize(self
.input, 6, init_declarator_list_StartIndex
)
1172 # $ANTLR end init_declarator_list
1175 # $ANTLR start init_declarator
1176 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1177 def init_declarator(self
, ):
1179 init_declarator_StartIndex
= self
.input.index()
1182 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 7):
1185 # C.g:194:2: ( declarator ( '=' initializer )? )
1186 # C.g:194:4: declarator ( '=' initializer )?
1187 self
.following
.append(self
.FOLLOW_declarator_in_init_declarator326
)
1189 self
.following
.pop()
1192 # C.g:194:15: ( '=' initializer )?
1194 LA12_0
= self
.input.LA(1)
1199 # C.g:194:16: '=' initializer
1200 self
.match(self
.input, 28, self
.FOLLOW_28_in_init_declarator329
)
1203 self
.following
.append(self
.FOLLOW_initializer_in_init_declarator331
)
1205 self
.following
.pop()
1215 except RecognitionException
as re
:
1216 self
.reportError(re
)
1217 self
.recover(self
.input, re
)
1219 if self
.backtracking
> 0:
1220 self
.memoize(self
.input, 7, init_declarator_StartIndex
)
1226 # $ANTLR end init_declarator
1229 # $ANTLR start storage_class_specifier
1230 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1231 def storage_class_specifier(self
, ):
1233 storage_class_specifier_StartIndex
= self
.input.index()
1236 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 8):
1239 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1241 if (29 <= self
.input.LA(1) <= 33):
1242 self
.input.consume();
1243 self
.errorRecovery
= False
1247 if self
.backtracking
> 0:
1251 mse
= MismatchedSetException(None, self
.input)
1252 self
.recoverFromMismatchedSet(
1253 self
.input, mse
, self
.FOLLOW_set_in_storage_class_specifier0
1262 except RecognitionException
as re
:
1263 self
.reportError(re
)
1264 self
.recover(self
.input, re
)
1266 if self
.backtracking
> 0:
1267 self
.memoize(self
.input, 8, storage_class_specifier_StartIndex
)
1273 # $ANTLR end storage_class_specifier
1276 # $ANTLR start type_specifier
1277 # C.g:205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );
1278 def type_specifier(self
, ):
1280 type_specifier_StartIndex
= self
.input.index()
1288 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 9):
1291 # C.g:206:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
1293 LA13_0
= self
.input.LA(1)
1297 elif (LA13_0
== 35) :
1299 elif (LA13_0
== 36) :
1301 elif (LA13_0
== 37) :
1303 elif (LA13_0
== 38) :
1305 elif (LA13_0
== 39) :
1307 elif (LA13_0
== 40) :
1309 elif (LA13_0
== 41) :
1311 elif (LA13_0
== 42) :
1313 elif ((45 <= LA13_0
<= 46)) :
1315 elif (LA13_0
== 48) :
1317 elif (LA13_0
== IDENTIFIER
) and (self
.synpred34()):
1320 if self
.backtracking
> 0:
1324 nvae
= NoViableAltException("205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self
.input)
1330 self
.match(self
.input, 34, self
.FOLLOW_34_in_type_specifier376
)
1337 self
.match(self
.input, 35, self
.FOLLOW_35_in_type_specifier381
)
1343 # C.g:208:4: 'short'
1344 self
.match(self
.input, 36, self
.FOLLOW_36_in_type_specifier386
)
1351 self
.match(self
.input, 37, self
.FOLLOW_37_in_type_specifier391
)
1358 self
.match(self
.input, 38, self
.FOLLOW_38_in_type_specifier396
)
1364 # C.g:211:4: 'float'
1365 self
.match(self
.input, 39, self
.FOLLOW_39_in_type_specifier401
)
1371 # C.g:212:4: 'double'
1372 self
.match(self
.input, 40, self
.FOLLOW_40_in_type_specifier406
)
1378 # C.g:213:4: 'signed'
1379 self
.match(self
.input, 41, self
.FOLLOW_41_in_type_specifier411
)
1385 # C.g:214:4: 'unsigned'
1386 self
.match(self
.input, 42, self
.FOLLOW_42_in_type_specifier416
)
1392 # C.g:215:4: s= struct_or_union_specifier
1393 self
.following
.append(self
.FOLLOW_struct_or_union_specifier_in_type_specifier423
)
1394 s
= self
.struct_or_union_specifier()
1395 self
.following
.pop()
1398 if self
.backtracking
== 0:
1400 if s
.stop
is not None:
1401 self
.StoreStructUnionDefinition(s
.start
.line
, s
.start
.charPositionInLine
, s
.stop
.line
, s
.stop
.charPositionInLine
, self
.input.toString(s
.start
, s
.stop
))
1407 # C.g:220:4: e= enum_specifier
1408 self
.following
.append(self
.FOLLOW_enum_specifier_in_type_specifier433
)
1409 e
= self
.enum_specifier()
1410 self
.following
.pop()
1413 if self
.backtracking
== 0:
1415 if e
.stop
is not None:
1416 self
.StoreEnumerationDefinition(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
1422 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1423 self
.following
.append(self
.FOLLOW_type_id_in_type_specifier451
)
1425 self
.following
.pop()
1431 except RecognitionException
as re
:
1432 self
.reportError(re
)
1433 self
.recover(self
.input, re
)
1435 if self
.backtracking
> 0:
1436 self
.memoize(self
.input, 9, type_specifier_StartIndex
)
1442 # $ANTLR end type_specifier
1445 # $ANTLR start type_id
1446 # C.g:228:1: type_id : IDENTIFIER ;
1447 def type_id(self
, ):
1449 type_id_StartIndex
= self
.input.index()
1452 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 10):
1455 # C.g:229:5: ( IDENTIFIER )
1456 # C.g:229:9: IDENTIFIER
1457 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_type_id467
)
1464 except RecognitionException
as re
:
1465 self
.reportError(re
)
1466 self
.recover(self
.input, re
)
1468 if self
.backtracking
> 0:
1469 self
.memoize(self
.input, 10, type_id_StartIndex
)
1475 # $ANTLR end type_id
1477 class struct_or_union_specifier_return(object):
1484 # $ANTLR start struct_or_union_specifier
1485 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1486 def struct_or_union_specifier(self
, ):
1488 retval
= self
.struct_or_union_specifier_return()
1489 retval
.start
= self
.input.LT(1)
1490 struct_or_union_specifier_StartIndex
= self
.input.index()
1493 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 11):
1496 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1498 LA15_0
= self
.input.LA(1)
1500 if ((45 <= LA15_0
<= 46)) :
1501 LA15_1
= self
.input.LA(2)
1503 if (LA15_1
== IDENTIFIER
) :
1504 LA15_2
= self
.input.LA(3)
1508 elif (LA15_2
== EOF
or LA15_2
== IDENTIFIER
or LA15_2
== 25 or LA15_2
== 27 or (29 <= LA15_2
<= 42) or (45 <= LA15_2
<= 64) or LA15_2
== 66) :
1511 if self
.backtracking
> 0:
1515 nvae
= NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self
.input)
1519 elif (LA15_1
== 43) :
1522 if self
.backtracking
> 0:
1526 nvae
= NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self
.input)
1531 if self
.backtracking
> 0:
1535 nvae
= NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self
.input)
1540 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1541 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier494
)
1542 self
.struct_or_union()
1543 self
.following
.pop()
1546 # C.g:235:20: ( IDENTIFIER )?
1548 LA14_0
= self
.input.LA(1)
1550 if (LA14_0
== IDENTIFIER
) :
1553 # C.g:0:0: IDENTIFIER
1554 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496
)
1560 self
.match(self
.input, 43, self
.FOLLOW_43_in_struct_or_union_specifier499
)
1563 self
.following
.append(self
.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501
)
1564 self
.struct_declaration_list()
1565 self
.following
.pop()
1568 self
.match(self
.input, 44, self
.FOLLOW_44_in_struct_or_union_specifier503
)
1574 # C.g:236:4: struct_or_union IDENTIFIER
1575 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier508
)
1576 self
.struct_or_union()
1577 self
.following
.pop()
1580 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510
)
1585 retval
.stop
= self
.input.LT(-1)
1588 except RecognitionException
as re
:
1589 self
.reportError(re
)
1590 self
.recover(self
.input, re
)
1592 if self
.backtracking
> 0:
1593 self
.memoize(self
.input, 11, struct_or_union_specifier_StartIndex
)
1599 # $ANTLR end struct_or_union_specifier
1602 # $ANTLR start struct_or_union
1603 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1604 def struct_or_union(self
, ):
1606 struct_or_union_StartIndex
= self
.input.index()
1609 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 12):
1612 # C.g:240:2: ( 'struct' | 'union' )
1614 if (45 <= self
.input.LA(1) <= 46):
1615 self
.input.consume();
1616 self
.errorRecovery
= False
1620 if self
.backtracking
> 0:
1624 mse
= MismatchedSetException(None, self
.input)
1625 self
.recoverFromMismatchedSet(
1626 self
.input, mse
, self
.FOLLOW_set_in_struct_or_union0
1635 except RecognitionException
as re
:
1636 self
.reportError(re
)
1637 self
.recover(self
.input, re
)
1639 if self
.backtracking
> 0:
1640 self
.memoize(self
.input, 12, struct_or_union_StartIndex
)
1646 # $ANTLR end struct_or_union
1649 # $ANTLR start struct_declaration_list
1650 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1651 def struct_declaration_list(self
, ):
1653 struct_declaration_list_StartIndex
= self
.input.index()
1656 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 13):
1659 # C.g:245:2: ( ( struct_declaration )+ )
1660 # C.g:245:4: ( struct_declaration )+
1661 # C.g:245:4: ( struct_declaration )+
1665 LA16_0
= self
.input.LA(1)
1667 if (LA16_0
== IDENTIFIER
or (34 <= LA16_0
<= 42) or (45 <= LA16_0
<= 46) or (48 <= LA16_0
<= 61)) :
1672 # C.g:0:0: struct_declaration
1673 self
.following
.append(self
.FOLLOW_struct_declaration_in_struct_declaration_list537
)
1674 self
.struct_declaration()
1675 self
.following
.pop()
1684 if self
.backtracking
> 0:
1688 eee
= EarlyExitException(16, self
.input)
1698 except RecognitionException
as re
:
1699 self
.reportError(re
)
1700 self
.recover(self
.input, re
)
1702 if self
.backtracking
> 0:
1703 self
.memoize(self
.input, 13, struct_declaration_list_StartIndex
)
1709 # $ANTLR end struct_declaration_list
1712 # $ANTLR start struct_declaration
1713 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1714 def struct_declaration(self
, ):
1716 struct_declaration_StartIndex
= self
.input.index()
1719 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 14):
1722 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1723 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1724 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_struct_declaration549
)
1725 self
.specifier_qualifier_list()
1726 self
.following
.pop()
1729 self
.following
.append(self
.FOLLOW_struct_declarator_list_in_struct_declaration551
)
1730 self
.struct_declarator_list()
1731 self
.following
.pop()
1734 self
.match(self
.input, 25, self
.FOLLOW_25_in_struct_declaration553
)
1741 except RecognitionException
as re
:
1742 self
.reportError(re
)
1743 self
.recover(self
.input, re
)
1745 if self
.backtracking
> 0:
1746 self
.memoize(self
.input, 14, struct_declaration_StartIndex
)
1752 # $ANTLR end struct_declaration
1755 # $ANTLR start specifier_qualifier_list
1756 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1757 def specifier_qualifier_list(self
, ):
1759 specifier_qualifier_list_StartIndex
= self
.input.index()
1762 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 15):
1765 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1766 # C.g:253:4: ( type_qualifier | type_specifier )+
1767 # C.g:253:4: ( type_qualifier | type_specifier )+
1771 LA17
= self
.input.LA(1)
1773 LA17_2
= self
.input.LA(2)
1775 if (self
.synpred39()) :
1780 LA17_3
= self
.input.LA(2)
1782 if (self
.synpred39()) :
1787 LA17_4
= self
.input.LA(2)
1789 if (self
.synpred39()) :
1793 elif LA17
== IDENTIFIER
:
1794 LA17
= self
.input.LA(2)
1795 if LA17
== EOF
or LA17
== IDENTIFIER
or LA17
== 34 or LA17
== 35 or LA17
== 36 or LA17
== 37 or LA17
== 38 or LA17
== 39 or LA17
== 40 or LA17
== 41 or LA17
== 42 or LA17
== 45 or LA17
== 46 or LA17
== 48 or LA17
== 49 or LA17
== 50 or LA17
== 51 or LA17
== 52 or LA17
== 53 or LA17
== 54 or LA17
== 55 or LA17
== 56 or LA17
== 57 or LA17
== 58 or LA17
== 59 or LA17
== 60 or LA17
== 61 or LA17
== 63 or LA17
== 66:
1798 LA17_94
= self
.input.LA(3)
1800 if (self
.synpred40()) :
1805 LA17_95
= self
.input.LA(3)
1807 if (self
.synpred40()) :
1812 LA17_96
= self
.input.LA(3)
1814 if (self
.synpred40()) :
1819 elif LA17
== 49 or LA17
== 50 or LA17
== 51 or LA17
== 52 or LA17
== 53 or LA17
== 54 or LA17
== 55 or LA17
== 56 or LA17
== 57 or LA17
== 61:
1821 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:
1825 # C.g:253:6: type_qualifier
1826 self
.following
.append(self
.FOLLOW_type_qualifier_in_specifier_qualifier_list566
)
1827 self
.type_qualifier()
1828 self
.following
.pop()
1834 # C.g:253:23: type_specifier
1835 self
.following
.append(self
.FOLLOW_type_specifier_in_specifier_qualifier_list570
)
1836 self
.type_specifier()
1837 self
.following
.pop()
1846 if self
.backtracking
> 0:
1850 eee
= EarlyExitException(17, self
.input)
1860 except RecognitionException
as re
:
1861 self
.reportError(re
)
1862 self
.recover(self
.input, re
)
1864 if self
.backtracking
> 0:
1865 self
.memoize(self
.input, 15, specifier_qualifier_list_StartIndex
)
1871 # $ANTLR end specifier_qualifier_list
1874 # $ANTLR start struct_declarator_list
1875 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1876 def struct_declarator_list(self
, ):
1878 struct_declarator_list_StartIndex
= self
.input.index()
1881 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 16):
1884 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1885 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1886 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list584
)
1887 self
.struct_declarator()
1888 self
.following
.pop()
1891 # C.g:257:22: ( ',' struct_declarator )*
1894 LA18_0
= self
.input.LA(1)
1901 # C.g:257:23: ',' struct_declarator
1902 self
.match(self
.input, 27, self
.FOLLOW_27_in_struct_declarator_list587
)
1905 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list589
)
1906 self
.struct_declarator()
1907 self
.following
.pop()
1920 except RecognitionException
as re
:
1921 self
.reportError(re
)
1922 self
.recover(self
.input, re
)
1924 if self
.backtracking
> 0:
1925 self
.memoize(self
.input, 16, struct_declarator_list_StartIndex
)
1931 # $ANTLR end struct_declarator_list
1934 # $ANTLR start struct_declarator
1935 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1936 def struct_declarator(self
, ):
1938 struct_declarator_StartIndex
= self
.input.index()
1941 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 17):
1944 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1946 LA20_0
= self
.input.LA(1)
1948 if (LA20_0
== IDENTIFIER
or (58 <= LA20_0
<= 60) or LA20_0
== 62 or LA20_0
== 66) :
1950 elif (LA20_0
== 47) :
1953 if self
.backtracking
> 0:
1957 nvae
= NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self
.input)
1962 # C.g:261:4: declarator ( ':' constant_expression )?
1963 self
.following
.append(self
.FOLLOW_declarator_in_struct_declarator602
)
1965 self
.following
.pop()
1968 # C.g:261:15: ( ':' constant_expression )?
1970 LA19_0
= self
.input.LA(1)
1975 # C.g:261:16: ':' constant_expression
1976 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator605
)
1979 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator607
)
1980 self
.constant_expression()
1981 self
.following
.pop()
1990 # C.g:262:4: ':' constant_expression
1991 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator614
)
1994 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator616
)
1995 self
.constant_expression()
1996 self
.following
.pop()
2002 except RecognitionException
as re
:
2003 self
.reportError(re
)
2004 self
.recover(self
.input, re
)
2006 if self
.backtracking
> 0:
2007 self
.memoize(self
.input, 17, struct_declarator_StartIndex
)
2013 # $ANTLR end struct_declarator
2015 class enum_specifier_return(object):
2022 # $ANTLR start enum_specifier
2023 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2024 def enum_specifier(self
, ):
2026 retval
= self
.enum_specifier_return()
2027 retval
.start
= self
.input.LT(1)
2028 enum_specifier_StartIndex
= self
.input.index()
2031 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 18):
2034 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2036 LA23_0
= self
.input.LA(1)
2039 LA23_1
= self
.input.LA(2)
2041 if (LA23_1
== IDENTIFIER
) :
2042 LA23_2
= self
.input.LA(3)
2046 elif (LA23_2
== EOF
or LA23_2
== IDENTIFIER
or LA23_2
== 25 or LA23_2
== 27 or (29 <= LA23_2
<= 42) or (45 <= LA23_2
<= 64) or LA23_2
== 66) :
2049 if self
.backtracking
> 0:
2053 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self
.input)
2057 elif (LA23_1
== 43) :
2060 if self
.backtracking
> 0:
2064 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self
.input)
2069 if self
.backtracking
> 0:
2073 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self
.input)
2078 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2079 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier634
)
2082 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier636
)
2085 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier638
)
2086 self
.enumerator_list()
2087 self
.following
.pop()
2090 # C.g:267:31: ( ',' )?
2092 LA21_0
= self
.input.LA(1)
2098 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier640
)
2104 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier643
)
2110 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2111 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier648
)
2114 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier650
)
2117 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier652
)
2120 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier654
)
2121 self
.enumerator_list()
2122 self
.following
.pop()
2125 # C.g:268:42: ( ',' )?
2127 LA22_0
= self
.input.LA(1)
2133 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier656
)
2139 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier659
)
2145 # C.g:269:4: 'enum' IDENTIFIER
2146 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier664
)
2149 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier666
)
2154 retval
.stop
= self
.input.LT(-1)
2157 except RecognitionException
as re
:
2158 self
.reportError(re
)
2159 self
.recover(self
.input, re
)
2161 if self
.backtracking
> 0:
2162 self
.memoize(self
.input, 18, enum_specifier_StartIndex
)
2168 # $ANTLR end enum_specifier
2171 # $ANTLR start enumerator_list
2172 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2173 def enumerator_list(self
, ):
2175 enumerator_list_StartIndex
= self
.input.index()
2178 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 19):
2181 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2182 # C.g:273:4: enumerator ( ',' enumerator )*
2183 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list677
)
2185 self
.following
.pop()
2188 # C.g:273:15: ( ',' enumerator )*
2191 LA24_0
= self
.input.LA(1)
2194 LA24_1
= self
.input.LA(2)
2196 if (LA24_1
== IDENTIFIER
) :
2203 # C.g:273:16: ',' enumerator
2204 self
.match(self
.input, 27, self
.FOLLOW_27_in_enumerator_list680
)
2207 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list682
)
2209 self
.following
.pop()
2222 except RecognitionException
as re
:
2223 self
.reportError(re
)
2224 self
.recover(self
.input, re
)
2226 if self
.backtracking
> 0:
2227 self
.memoize(self
.input, 19, enumerator_list_StartIndex
)
2233 # $ANTLR end enumerator_list
2236 # $ANTLR start enumerator
2237 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2238 def enumerator(self
, ):
2240 enumerator_StartIndex
= self
.input.index()
2243 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 20):
2246 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2247 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2248 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enumerator695
)
2251 # C.g:277:15: ( '=' constant_expression )?
2253 LA25_0
= self
.input.LA(1)
2258 # C.g:277:16: '=' constant_expression
2259 self
.match(self
.input, 28, self
.FOLLOW_28_in_enumerator698
)
2262 self
.following
.append(self
.FOLLOW_constant_expression_in_enumerator700
)
2263 self
.constant_expression()
2264 self
.following
.pop()
2274 except RecognitionException
as re
:
2275 self
.reportError(re
)
2276 self
.recover(self
.input, re
)
2278 if self
.backtracking
> 0:
2279 self
.memoize(self
.input, 20, enumerator_StartIndex
)
2285 # $ANTLR end enumerator
2288 # $ANTLR start type_qualifier
2289 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2290 def type_qualifier(self
, ):
2292 type_qualifier_StartIndex
= self
.input.index()
2295 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 21):
2298 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2300 if (49 <= self
.input.LA(1) <= 61):
2301 self
.input.consume();
2302 self
.errorRecovery
= False
2306 if self
.backtracking
> 0:
2310 mse
= MismatchedSetException(None, self
.input)
2311 self
.recoverFromMismatchedSet(
2312 self
.input, mse
, self
.FOLLOW_set_in_type_qualifier0
2321 except RecognitionException
as re
:
2322 self
.reportError(re
)
2323 self
.recover(self
.input, re
)
2325 if self
.backtracking
> 0:
2326 self
.memoize(self
.input, 21, type_qualifier_StartIndex
)
2332 # $ANTLR end type_qualifier
2334 class declarator_return(object):
2341 # $ANTLR start declarator
2342 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2343 def declarator(self
, ):
2345 retval
= self
.declarator_return()
2346 retval
.start
= self
.input.LT(1)
2347 declarator_StartIndex
= self
.input.index()
2350 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 22):
2353 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2355 LA30_0
= self
.input.LA(1)
2358 LA30_1
= self
.input.LA(2)
2360 if (self
.synpred66()) :
2365 if self
.backtracking
> 0:
2369 nvae
= NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self
.input)
2373 elif (LA30_0
== IDENTIFIER
or (58 <= LA30_0
<= 60) or LA30_0
== 62) :
2376 if self
.backtracking
> 0:
2380 nvae
= NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self
.input)
2385 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2386 # C.g:297:4: ( pointer )?
2388 LA26_0
= self
.input.LA(1)
2394 self
.following
.append(self
.FOLLOW_pointer_in_declarator784
)
2396 self
.following
.pop()
2402 # C.g:297:13: ( 'EFIAPI' )?
2404 LA27_0
= self
.input.LA(1)
2409 # C.g:297:14: 'EFIAPI'
2410 self
.match(self
.input, 58, self
.FOLLOW_58_in_declarator788
)
2416 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2418 LA28_0
= self
.input.LA(1)
2423 # C.g:297:26: 'EFI_BOOTSERVICE'
2424 self
.match(self
.input, 59, self
.FOLLOW_59_in_declarator793
)
2430 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2432 LA29_0
= self
.input.LA(1)
2437 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2438 self
.match(self
.input, 60, self
.FOLLOW_60_in_declarator798
)
2444 self
.following
.append(self
.FOLLOW_direct_declarator_in_declarator802
)
2445 self
.direct_declarator()
2446 self
.following
.pop()
2452 # C.g:299:4: pointer
2453 self
.following
.append(self
.FOLLOW_pointer_in_declarator808
)
2455 self
.following
.pop()
2460 retval
.stop
= self
.input.LT(-1)
2463 except RecognitionException
as re
:
2464 self
.reportError(re
)
2465 self
.recover(self
.input, re
)
2467 if self
.backtracking
> 0:
2468 self
.memoize(self
.input, 22, declarator_StartIndex
)
2474 # $ANTLR end declarator
2477 # $ANTLR start direct_declarator
2478 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2479 def direct_declarator(self
, ):
2481 direct_declarator_StartIndex
= self
.input.index()
2484 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 23):
2487 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2489 LA34_0
= self
.input.LA(1)
2491 if (LA34_0
== IDENTIFIER
) :
2493 elif (LA34_0
== 62) :
2496 if self
.backtracking
> 0:
2500 nvae
= NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self
.input)
2505 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2506 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_direct_declarator819
)
2509 # C.g:303:15: ( declarator_suffix )*
2512 LA31_0
= self
.input.LA(1)
2515 LA31
= self
.input.LA(2)
2517 LA31_30
= self
.input.LA(3)
2519 if (self
.synpred67()) :
2524 LA31_31
= self
.input.LA(3)
2526 if (self
.synpred67()) :
2531 LA31_32
= self
.input.LA(3)
2533 if (self
.synpred67()) :
2538 LA31_33
= self
.input.LA(3)
2540 if (self
.synpred67()) :
2545 LA31_34
= self
.input.LA(3)
2547 if (self
.synpred67()) :
2551 elif LA31
== IDENTIFIER
:
2552 LA31_35
= self
.input.LA(3)
2554 if (self
.synpred67()) :
2558 elif LA31
== 29 or LA31
== 30 or LA31
== 31 or LA31
== 32 or LA31
== 33:
2559 LA31_37
= self
.input.LA(3)
2561 if (self
.synpred67()) :
2566 LA31_38
= self
.input.LA(3)
2568 if (self
.synpred67()) :
2573 LA31_39
= self
.input.LA(3)
2575 if (self
.synpred67()) :
2580 LA31_40
= self
.input.LA(3)
2582 if (self
.synpred67()) :
2587 LA31_41
= self
.input.LA(3)
2589 if (self
.synpred67()) :
2594 LA31_42
= self
.input.LA(3)
2596 if (self
.synpred67()) :
2601 LA31_43
= self
.input.LA(3)
2603 if (self
.synpred67()) :
2608 LA31_44
= self
.input.LA(3)
2610 if (self
.synpred67()) :
2615 LA31_45
= self
.input.LA(3)
2617 if (self
.synpred67()) :
2622 LA31_46
= self
.input.LA(3)
2624 if (self
.synpred67()) :
2628 elif LA31
== 45 or LA31
== 46:
2629 LA31_47
= self
.input.LA(3)
2631 if (self
.synpred67()) :
2636 LA31_48
= self
.input.LA(3)
2638 if (self
.synpred67()) :
2642 elif LA31
== 49 or LA31
== 50 or LA31
== 51 or LA31
== 52 or LA31
== 53 or LA31
== 54 or LA31
== 55 or LA31
== 56 or LA31
== 57 or LA31
== 61:
2643 LA31_49
= self
.input.LA(3)
2645 if (self
.synpred67()) :
2650 elif (LA31_0
== 64) :
2651 LA31
= self
.input.LA(2)
2653 LA31_51
= self
.input.LA(3)
2655 if (self
.synpred67()) :
2660 LA31_52
= self
.input.LA(3)
2662 if (self
.synpred67()) :
2666 elif LA31
== IDENTIFIER
:
2667 LA31_53
= self
.input.LA(3)
2669 if (self
.synpred67()) :
2673 elif LA31
== HEX_LITERAL
:
2674 LA31_54
= self
.input.LA(3)
2676 if (self
.synpred67()) :
2680 elif LA31
== OCTAL_LITERAL
:
2681 LA31_55
= self
.input.LA(3)
2683 if (self
.synpred67()) :
2687 elif LA31
== DECIMAL_LITERAL
:
2688 LA31_56
= self
.input.LA(3)
2690 if (self
.synpred67()) :
2694 elif LA31
== CHARACTER_LITERAL
:
2695 LA31_57
= self
.input.LA(3)
2697 if (self
.synpred67()) :
2701 elif LA31
== STRING_LITERAL
:
2702 LA31_58
= self
.input.LA(3)
2704 if (self
.synpred67()) :
2708 elif LA31
== FLOATING_POINT_LITERAL
:
2709 LA31_59
= self
.input.LA(3)
2711 if (self
.synpred67()) :
2716 LA31_60
= self
.input.LA(3)
2718 if (self
.synpred67()) :
2723 LA31_61
= self
.input.LA(3)
2725 if (self
.synpred67()) :
2729 elif LA31
== 66 or LA31
== 68 or LA31
== 69 or LA31
== 77 or LA31
== 78 or LA31
== 79:
2730 LA31_62
= self
.input.LA(3)
2732 if (self
.synpred67()) :
2737 LA31_63
= self
.input.LA(3)
2739 if (self
.synpred67()) :
2747 # C.g:0:0: declarator_suffix
2748 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator821
)
2749 self
.declarator_suffix()
2750 self
.following
.pop()
2762 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2763 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_declarator827
)
2766 # C.g:304:8: ( 'EFIAPI' )?
2768 LA32_0
= self
.input.LA(1)
2771 LA32_1
= self
.input.LA(2)
2773 if (self
.synpred69()) :
2776 # C.g:304:9: 'EFIAPI'
2777 self
.match(self
.input, 58, self
.FOLLOW_58_in_direct_declarator830
)
2783 self
.following
.append(self
.FOLLOW_declarator_in_direct_declarator834
)
2785 self
.following
.pop()
2788 self
.match(self
.input, 63, self
.FOLLOW_63_in_direct_declarator836
)
2791 # C.g:304:35: ( declarator_suffix )+
2795 LA33_0
= self
.input.LA(1)
2798 LA33
= self
.input.LA(2)
2800 LA33_30
= self
.input.LA(3)
2802 if (self
.synpred70()) :
2807 LA33_31
= self
.input.LA(3)
2809 if (self
.synpred70()) :
2814 LA33_32
= self
.input.LA(3)
2816 if (self
.synpred70()) :
2821 LA33_33
= self
.input.LA(3)
2823 if (self
.synpred70()) :
2828 LA33_34
= self
.input.LA(3)
2830 if (self
.synpred70()) :
2834 elif LA33
== IDENTIFIER
:
2835 LA33_35
= self
.input.LA(3)
2837 if (self
.synpred70()) :
2841 elif LA33
== 29 or LA33
== 30 or LA33
== 31 or LA33
== 32 or LA33
== 33:
2842 LA33_37
= self
.input.LA(3)
2844 if (self
.synpred70()) :
2849 LA33_38
= self
.input.LA(3)
2851 if (self
.synpred70()) :
2856 LA33_39
= self
.input.LA(3)
2858 if (self
.synpred70()) :
2863 LA33_40
= self
.input.LA(3)
2865 if (self
.synpred70()) :
2870 LA33_41
= self
.input.LA(3)
2872 if (self
.synpred70()) :
2877 LA33_42
= self
.input.LA(3)
2879 if (self
.synpred70()) :
2884 LA33_43
= self
.input.LA(3)
2886 if (self
.synpred70()) :
2891 LA33_44
= self
.input.LA(3)
2893 if (self
.synpred70()) :
2898 LA33_45
= self
.input.LA(3)
2900 if (self
.synpred70()) :
2905 LA33_46
= self
.input.LA(3)
2907 if (self
.synpred70()) :
2911 elif LA33
== 45 or LA33
== 46:
2912 LA33_47
= self
.input.LA(3)
2914 if (self
.synpred70()) :
2919 LA33_48
= self
.input.LA(3)
2921 if (self
.synpred70()) :
2925 elif LA33
== 49 or LA33
== 50 or LA33
== 51 or LA33
== 52 or LA33
== 53 or LA33
== 54 or LA33
== 55 or LA33
== 56 or LA33
== 57 or LA33
== 61:
2926 LA33_49
= self
.input.LA(3)
2928 if (self
.synpred70()) :
2933 elif (LA33_0
== 64) :
2934 LA33
= self
.input.LA(2)
2936 LA33_51
= self
.input.LA(3)
2938 if (self
.synpred70()) :
2943 LA33_52
= self
.input.LA(3)
2945 if (self
.synpred70()) :
2949 elif LA33
== IDENTIFIER
:
2950 LA33_53
= self
.input.LA(3)
2952 if (self
.synpred70()) :
2956 elif LA33
== HEX_LITERAL
:
2957 LA33_54
= self
.input.LA(3)
2959 if (self
.synpred70()) :
2963 elif LA33
== OCTAL_LITERAL
:
2964 LA33_55
= self
.input.LA(3)
2966 if (self
.synpred70()) :
2970 elif LA33
== DECIMAL_LITERAL
:
2971 LA33_56
= self
.input.LA(3)
2973 if (self
.synpred70()) :
2977 elif LA33
== CHARACTER_LITERAL
:
2978 LA33_57
= self
.input.LA(3)
2980 if (self
.synpred70()) :
2984 elif LA33
== STRING_LITERAL
:
2985 LA33_58
= self
.input.LA(3)
2987 if (self
.synpred70()) :
2991 elif LA33
== FLOATING_POINT_LITERAL
:
2992 LA33_59
= self
.input.LA(3)
2994 if (self
.synpred70()) :
2999 LA33_60
= self
.input.LA(3)
3001 if (self
.synpred70()) :
3006 LA33_61
= self
.input.LA(3)
3008 if (self
.synpred70()) :
3012 elif LA33
== 66 or LA33
== 68 or LA33
== 69 or LA33
== 77 or LA33
== 78 or LA33
== 79:
3013 LA33_62
= self
.input.LA(3)
3015 if (self
.synpred70()) :
3020 LA33_63
= self
.input.LA(3)
3022 if (self
.synpred70()) :
3030 # C.g:0:0: declarator_suffix
3031 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator838
)
3032 self
.declarator_suffix()
3033 self
.following
.pop()
3042 if self
.backtracking
> 0:
3046 eee
= EarlyExitException(33, self
.input)
3055 except RecognitionException
as re
:
3056 self
.reportError(re
)
3057 self
.recover(self
.input, re
)
3059 if self
.backtracking
> 0:
3060 self
.memoize(self
.input, 23, direct_declarator_StartIndex
)
3066 # $ANTLR end direct_declarator
3069 # $ANTLR start declarator_suffix
3070 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3071 def declarator_suffix(self
, ):
3073 declarator_suffix_StartIndex
= self
.input.index()
3076 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 24):
3079 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3081 LA35_0
= self
.input.LA(1)
3084 LA35_1
= self
.input.LA(2)
3088 elif ((IDENTIFIER
<= LA35_1
<= FLOATING_POINT_LITERAL
) or LA35_1
== 62 or LA35_1
== 66 or (68 <= LA35_1
<= 69) or (72 <= LA35_1
<= 74) or (77 <= LA35_1
<= 79)) :
3091 if self
.backtracking
> 0:
3095 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self
.input)
3099 elif (LA35_0
== 62) :
3100 LA35
= self
.input.LA(2)
3103 elif LA35
== 29 or LA35
== 30 or LA35
== 31 or LA35
== 32 or LA35
== 33 or LA35
== 34 or LA35
== 35 or LA35
== 36 or LA35
== 37 or LA35
== 38 or LA35
== 39 or LA35
== 40 or LA35
== 41 or LA35
== 42 or LA35
== 45 or LA35
== 46 or LA35
== 48 or LA35
== 49 or LA35
== 50 or LA35
== 51 or LA35
== 52 or LA35
== 53 or LA35
== 54 or LA35
== 55 or LA35
== 56 or LA35
== 57 or LA35
== 58 or LA35
== 59 or LA35
== 60 or LA35
== 61 or LA35
== 66:
3105 elif LA35
== IDENTIFIER
:
3106 LA35_29
= self
.input.LA(3)
3108 if (self
.synpred73()) :
3110 elif (self
.synpred74()) :
3113 if self
.backtracking
> 0:
3117 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self
.input)
3122 if self
.backtracking
> 0:
3126 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self
.input)
3131 if self
.backtracking
> 0:
3135 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self
.input)
3140 # C.g:308:6: '[' constant_expression ']'
3141 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix852
)
3144 self
.following
.append(self
.FOLLOW_constant_expression_in_declarator_suffix854
)
3145 self
.constant_expression()
3146 self
.following
.pop()
3149 self
.match(self
.input, 65, self
.FOLLOW_65_in_declarator_suffix856
)
3155 # C.g:309:9: '[' ']'
3156 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix866
)
3159 self
.match(self
.input, 65, self
.FOLLOW_65_in_declarator_suffix868
)
3165 # C.g:310:9: '(' parameter_type_list ')'
3166 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix878
)
3169 self
.following
.append(self
.FOLLOW_parameter_type_list_in_declarator_suffix880
)
3170 self
.parameter_type_list()
3171 self
.following
.pop()
3174 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix882
)
3180 # C.g:311:9: '(' identifier_list ')'
3181 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix892
)
3184 self
.following
.append(self
.FOLLOW_identifier_list_in_declarator_suffix894
)
3185 self
.identifier_list()
3186 self
.following
.pop()
3189 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix896
)
3195 # C.g:312:9: '(' ')'
3196 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix906
)
3199 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix908
)
3205 except RecognitionException
as re
:
3206 self
.reportError(re
)
3207 self
.recover(self
.input, re
)
3209 if self
.backtracking
> 0:
3210 self
.memoize(self
.input, 24, declarator_suffix_StartIndex
)
3216 # $ANTLR end declarator_suffix
3219 # $ANTLR start pointer
3220 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3221 def pointer(self
, ):
3223 pointer_StartIndex
= self
.input.index()
3226 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 25):
3229 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3231 LA38_0
= self
.input.LA(1)
3234 LA38
= self
.input.LA(2)
3236 LA38_2
= self
.input.LA(3)
3238 if (self
.synpred78()) :
3243 if self
.backtracking
> 0:
3247 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self
.input)
3252 LA38_3
= self
.input.LA(3)
3254 if (self
.synpred77()) :
3259 if self
.backtracking
> 0:
3263 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self
.input)
3268 LA38_4
= self
.input.LA(3)
3270 if (self
.synpred77()) :
3275 if self
.backtracking
> 0:
3279 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self
.input)
3284 LA38_5
= self
.input.LA(3)
3286 if (self
.synpred77()) :
3291 if self
.backtracking
> 0:
3295 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self
.input)
3299 elif LA38
== EOF
or LA38
== IDENTIFIER
or LA38
== 25 or LA38
== 26 or LA38
== 27 or LA38
== 28 or LA38
== 29 or LA38
== 30 or LA38
== 31 or LA38
== 32 or LA38
== 33 or LA38
== 34 or LA38
== 35 or LA38
== 36 or LA38
== 37 or LA38
== 38 or LA38
== 39 or LA38
== 40 or LA38
== 41 or LA38
== 42 or LA38
== 43 or LA38
== 45 or LA38
== 46 or LA38
== 47 or LA38
== 48 or LA38
== 62 or LA38
== 63 or LA38
== 64:
3302 LA38_21
= self
.input.LA(3)
3304 if (self
.synpred77()) :
3309 if self
.backtracking
> 0:
3313 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self
.input)
3317 elif LA38
== 49 or LA38
== 50 or LA38
== 51 or LA38
== 52 or LA38
== 54 or LA38
== 55 or LA38
== 56 or LA38
== 57 or LA38
== 61:
3318 LA38_29
= self
.input.LA(3)
3320 if (self
.synpred77()) :
3325 if self
.backtracking
> 0:
3329 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self
.input)
3334 if self
.backtracking
> 0:
3338 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self
.input)
3343 if self
.backtracking
> 0:
3347 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self
.input)
3352 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3353 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer919
)
3356 # C.g:316:8: ( type_qualifier )+
3360 LA36
= self
.input.LA(1)
3362 LA36_2
= self
.input.LA(2)
3364 if (self
.synpred75()) :
3369 LA36_3
= self
.input.LA(2)
3371 if (self
.synpred75()) :
3376 LA36_4
= self
.input.LA(2)
3378 if (self
.synpred75()) :
3383 LA36_20
= self
.input.LA(2)
3385 if (self
.synpred75()) :
3389 elif LA36
== 49 or LA36
== 50 or LA36
== 51 or LA36
== 52 or LA36
== 54 or LA36
== 55 or LA36
== 56 or LA36
== 57 or LA36
== 61:
3390 LA36_28
= self
.input.LA(2)
3392 if (self
.synpred75()) :
3398 # C.g:0:0: type_qualifier
3399 self
.following
.append(self
.FOLLOW_type_qualifier_in_pointer921
)
3400 self
.type_qualifier()
3401 self
.following
.pop()
3410 if self
.backtracking
> 0:
3414 eee
= EarlyExitException(36, self
.input)
3420 # C.g:316:24: ( pointer )?
3422 LA37_0
= self
.input.LA(1)
3425 LA37_1
= self
.input.LA(2)
3427 if (self
.synpred76()) :
3431 self
.following
.append(self
.FOLLOW_pointer_in_pointer924
)
3433 self
.following
.pop()
3442 # C.g:317:4: '*' pointer
3443 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer930
)
3446 self
.following
.append(self
.FOLLOW_pointer_in_pointer932
)
3448 self
.following
.pop()
3455 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer937
)
3461 except RecognitionException
as re
:
3462 self
.reportError(re
)
3463 self
.recover(self
.input, re
)
3465 if self
.backtracking
> 0:
3466 self
.memoize(self
.input, 25, pointer_StartIndex
)
3472 # $ANTLR end pointer
3475 # $ANTLR start parameter_type_list
3476 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3477 def parameter_type_list(self
, ):
3479 parameter_type_list_StartIndex
= self
.input.index()
3482 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 26):
3485 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3486 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3487 self
.following
.append(self
.FOLLOW_parameter_list_in_parameter_type_list948
)
3488 self
.parameter_list()
3489 self
.following
.pop()
3492 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3494 LA40_0
= self
.input.LA(1)
3499 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3500 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_type_list951
)
3503 # C.g:322:24: ( 'OPTIONAL' )?
3505 LA39_0
= self
.input.LA(1)
3510 # C.g:322:25: 'OPTIONAL'
3511 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_type_list954
)
3517 self
.match(self
.input, 67, self
.FOLLOW_67_in_parameter_type_list958
)
3527 except RecognitionException
as re
:
3528 self
.reportError(re
)
3529 self
.recover(self
.input, re
)
3531 if self
.backtracking
> 0:
3532 self
.memoize(self
.input, 26, parameter_type_list_StartIndex
)
3538 # $ANTLR end parameter_type_list
3541 # $ANTLR start parameter_list
3542 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3543 def parameter_list(self
, ):
3545 parameter_list_StartIndex
= self
.input.index()
3548 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 27):
3551 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3552 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3553 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list971
)
3554 self
.parameter_declaration()
3555 self
.following
.pop()
3558 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3561 LA42_0
= self
.input.LA(1)
3564 LA42_1
= self
.input.LA(2)
3567 LA42_3
= self
.input.LA(3)
3569 if (self
.synpred82()) :
3573 elif (LA42_1
== IDENTIFIER
or (29 <= LA42_1
<= 42) or (45 <= LA42_1
<= 46) or (48 <= LA42_1
<= 52) or (54 <= LA42_1
<= 61) or LA42_1
== 66) :
3580 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3581 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_list974
)
3584 # C.g:326:31: ( 'OPTIONAL' )?
3586 LA41_0
= self
.input.LA(1)
3589 LA41_1
= self
.input.LA(2)
3591 if (self
.synpred81()) :
3594 # C.g:326:32: 'OPTIONAL'
3595 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_list977
)
3601 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list981
)
3602 self
.parameter_declaration()
3603 self
.following
.pop()
3616 except RecognitionException
as re
:
3617 self
.reportError(re
)
3618 self
.recover(self
.input, re
)
3620 if self
.backtracking
> 0:
3621 self
.memoize(self
.input, 27, parameter_list_StartIndex
)
3627 # $ANTLR end parameter_list
3630 # $ANTLR start parameter_declaration
3631 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3632 def parameter_declaration(self
, ):
3634 parameter_declaration_StartIndex
= self
.input.index()
3637 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 28):
3640 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3642 LA46
= self
.input.LA(1)
3643 if LA46
== 29 or LA46
== 30 or LA46
== 31 or LA46
== 32 or LA46
== 33 or LA46
== 34 or LA46
== 35 or LA46
== 36 or LA46
== 37 or LA46
== 38 or LA46
== 39 or LA46
== 40 or LA46
== 41 or LA46
== 42 or LA46
== 45 or LA46
== 46 or LA46
== 48 or LA46
== 49 or LA46
== 50 or LA46
== 51 or LA46
== 52 or LA46
== 53 or LA46
== 54 or LA46
== 55 or LA46
== 56 or LA46
== 57 or LA46
== 58 or LA46
== 59 or LA46
== 60 or LA46
== 61:
3645 elif LA46
== IDENTIFIER
:
3646 LA46_13
= self
.input.LA(2)
3648 if (self
.synpred86()) :
3653 if self
.backtracking
> 0:
3657 nvae
= NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self
.input)
3664 if self
.backtracking
> 0:
3668 nvae
= NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self
.input)
3673 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3674 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_parameter_declaration994
)
3675 self
.declaration_specifiers()
3676 self
.following
.pop()
3679 # C.g:330:27: ( declarator | abstract_declarator )*
3682 LA43
= self
.input.LA(1)
3684 LA43_5
= self
.input.LA(2)
3686 if (self
.synpred83()) :
3688 elif (self
.synpred84()) :
3692 elif LA43
== IDENTIFIER
or LA43
== 58 or LA43
== 59 or LA43
== 60:
3695 LA43
= self
.input.LA(2)
3696 if LA43
== 29 or LA43
== 30 or LA43
== 31 or LA43
== 32 or LA43
== 33 or LA43
== 34 or LA43
== 35 or LA43
== 36 or LA43
== 37 or LA43
== 38 or LA43
== 39 or LA43
== 40 or LA43
== 41 or LA43
== 42 or LA43
== 45 or LA43
== 46 or LA43
== 48 or LA43
== 49 or LA43
== 50 or LA43
== 51 or LA43
== 52 or LA43
== 53 or LA43
== 54 or LA43
== 55 or LA43
== 56 or LA43
== 57 or LA43
== 61 or LA43
== 63 or LA43
== 64:
3698 elif LA43
== IDENTIFIER
:
3699 LA43_37
= self
.input.LA(3)
3701 if (self
.synpred83()) :
3703 elif (self
.synpred84()) :
3708 LA43_38
= self
.input.LA(3)
3710 if (self
.synpred83()) :
3712 elif (self
.synpred84()) :
3717 LA43_39
= self
.input.LA(3)
3719 if (self
.synpred83()) :
3721 elif (self
.synpred84()) :
3726 LA43_40
= self
.input.LA(3)
3728 if (self
.synpred83()) :
3730 elif (self
.synpred84()) :
3735 LA43_41
= self
.input.LA(3)
3737 if (self
.synpred83()) :
3739 elif (self
.synpred84()) :
3744 LA43_43
= self
.input.LA(3)
3746 if (self
.synpred83()) :
3748 elif (self
.synpred84()) :
3757 # C.g:330:28: declarator
3758 self
.following
.append(self
.FOLLOW_declarator_in_parameter_declaration997
)
3760 self
.following
.pop()
3766 # C.g:330:39: abstract_declarator
3767 self
.following
.append(self
.FOLLOW_abstract_declarator_in_parameter_declaration999
)
3768 self
.abstract_declarator()
3769 self
.following
.pop()
3778 # C.g:330:61: ( 'OPTIONAL' )?
3780 LA44_0
= self
.input.LA(1)
3785 # C.g:330:62: 'OPTIONAL'
3786 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_declaration1004
)
3795 # C.g:332:4: ( pointer )* IDENTIFIER
3796 # C.g:332:4: ( pointer )*
3799 LA45_0
= self
.input.LA(1)
3807 self
.following
.append(self
.FOLLOW_pointer_in_parameter_declaration1013
)
3809 self
.following
.pop()
3818 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_parameter_declaration1016
)
3824 except RecognitionException
as re
:
3825 self
.reportError(re
)
3826 self
.recover(self
.input, re
)
3828 if self
.backtracking
> 0:
3829 self
.memoize(self
.input, 28, parameter_declaration_StartIndex
)
3835 # $ANTLR end parameter_declaration
3838 # $ANTLR start identifier_list
3839 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3840 def identifier_list(self
, ):
3842 identifier_list_StartIndex
= self
.input.index()
3845 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 29):
3848 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3849 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3850 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1027
)
3853 # C.g:337:2: ( ',' IDENTIFIER )*
3856 LA47_0
= self
.input.LA(1)
3863 # C.g:337:3: ',' IDENTIFIER
3864 self
.match(self
.input, 27, self
.FOLLOW_27_in_identifier_list1031
)
3867 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1033
)
3880 except RecognitionException
as re
:
3881 self
.reportError(re
)
3882 self
.recover(self
.input, re
)
3884 if self
.backtracking
> 0:
3885 self
.memoize(self
.input, 29, identifier_list_StartIndex
)
3891 # $ANTLR end identifier_list
3894 # $ANTLR start type_name
3895 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3896 def type_name(self
, ):
3898 type_name_StartIndex
= self
.input.index()
3901 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 30):
3904 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3906 LA49_0
= self
.input.LA(1)
3908 if ((34 <= LA49_0
<= 42) or (45 <= LA49_0
<= 46) or (48 <= LA49_0
<= 61)) :
3910 elif (LA49_0
== IDENTIFIER
) :
3911 LA49_13
= self
.input.LA(2)
3913 if (self
.synpred90()) :
3918 if self
.backtracking
> 0:
3922 nvae
= NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self
.input)
3927 if self
.backtracking
> 0:
3931 nvae
= NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self
.input)
3936 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3937 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_type_name1046
)
3938 self
.specifier_qualifier_list()
3939 self
.following
.pop()
3942 # C.g:341:29: ( abstract_declarator )?
3944 LA48_0
= self
.input.LA(1)
3946 if (LA48_0
== 62 or LA48_0
== 64 or LA48_0
== 66) :
3949 # C.g:0:0: abstract_declarator
3950 self
.following
.append(self
.FOLLOW_abstract_declarator_in_type_name1048
)
3951 self
.abstract_declarator()
3952 self
.following
.pop()
3961 # C.g:342:4: type_id
3962 self
.following
.append(self
.FOLLOW_type_id_in_type_name1054
)
3964 self
.following
.pop()
3970 except RecognitionException
as re
:
3971 self
.reportError(re
)
3972 self
.recover(self
.input, re
)
3974 if self
.backtracking
> 0:
3975 self
.memoize(self
.input, 30, type_name_StartIndex
)
3981 # $ANTLR end type_name
3984 # $ANTLR start abstract_declarator
3985 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3986 def abstract_declarator(self
, ):
3988 abstract_declarator_StartIndex
= self
.input.index()
3991 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 31):
3994 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
3996 LA51_0
= self
.input.LA(1)
4000 elif (LA51_0
== 62 or LA51_0
== 64) :
4003 if self
.backtracking
> 0:
4007 nvae
= NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self
.input)
4012 # C.g:346:4: pointer ( direct_abstract_declarator )?
4013 self
.following
.append(self
.FOLLOW_pointer_in_abstract_declarator1065
)
4015 self
.following
.pop()
4018 # C.g:346:12: ( direct_abstract_declarator )?
4020 LA50_0
= self
.input.LA(1)
4023 LA50
= self
.input.LA(2)
4025 LA50_12
= self
.input.LA(3)
4027 if (self
.synpred91()) :
4030 LA50_13
= self
.input.LA(3)
4032 if (self
.synpred91()) :
4035 LA50_14
= self
.input.LA(3)
4037 if (self
.synpred91()) :
4040 LA50_15
= self
.input.LA(3)
4042 if (self
.synpred91()) :
4045 LA50_16
= self
.input.LA(3)
4047 if (self
.synpred91()) :
4049 elif LA50
== IDENTIFIER
:
4050 LA50_17
= self
.input.LA(3)
4052 if (self
.synpred91()) :
4055 LA50_18
= self
.input.LA(3)
4057 if (self
.synpred91()) :
4060 LA50_19
= self
.input.LA(3)
4062 if (self
.synpred91()) :
4064 elif LA50
== 29 or LA50
== 30 or LA50
== 31 or LA50
== 32 or LA50
== 33:
4065 LA50_20
= self
.input.LA(3)
4067 if (self
.synpred91()) :
4070 LA50_21
= self
.input.LA(3)
4072 if (self
.synpred91()) :
4075 LA50_22
= self
.input.LA(3)
4077 if (self
.synpred91()) :
4080 LA50_23
= self
.input.LA(3)
4082 if (self
.synpred91()) :
4085 LA50_24
= self
.input.LA(3)
4087 if (self
.synpred91()) :
4090 LA50_25
= self
.input.LA(3)
4092 if (self
.synpred91()) :
4095 LA50_26
= self
.input.LA(3)
4097 if (self
.synpred91()) :
4100 LA50_27
= self
.input.LA(3)
4102 if (self
.synpred91()) :
4105 LA50_28
= self
.input.LA(3)
4107 if (self
.synpred91()) :
4110 LA50_29
= self
.input.LA(3)
4112 if (self
.synpred91()) :
4114 elif LA50
== 45 or LA50
== 46:
4115 LA50_30
= self
.input.LA(3)
4117 if (self
.synpred91()) :
4120 LA50_31
= self
.input.LA(3)
4122 if (self
.synpred91()) :
4124 elif LA50
== 49 or LA50
== 50 or LA50
== 51 or LA50
== 52 or LA50
== 53 or LA50
== 54 or LA50
== 55 or LA50
== 56 or LA50
== 57 or LA50
== 61:
4125 LA50_32
= self
.input.LA(3)
4127 if (self
.synpred91()) :
4129 elif (LA50_0
== 64) :
4130 LA50
= self
.input.LA(2)
4132 LA50_33
= self
.input.LA(3)
4134 if (self
.synpred91()) :
4137 LA50_34
= self
.input.LA(3)
4139 if (self
.synpred91()) :
4141 elif LA50
== IDENTIFIER
:
4142 LA50_35
= self
.input.LA(3)
4144 if (self
.synpred91()) :
4146 elif LA50
== HEX_LITERAL
:
4147 LA50_36
= self
.input.LA(3)
4149 if (self
.synpred91()) :
4151 elif LA50
== OCTAL_LITERAL
:
4152 LA50_37
= self
.input.LA(3)
4154 if (self
.synpred91()) :
4156 elif LA50
== DECIMAL_LITERAL
:
4157 LA50_38
= self
.input.LA(3)
4159 if (self
.synpred91()) :
4161 elif LA50
== CHARACTER_LITERAL
:
4162 LA50_39
= self
.input.LA(3)
4164 if (self
.synpred91()) :
4166 elif LA50
== STRING_LITERAL
:
4167 LA50_40
= self
.input.LA(3)
4169 if (self
.synpred91()) :
4171 elif LA50
== FLOATING_POINT_LITERAL
:
4172 LA50_41
= self
.input.LA(3)
4174 if (self
.synpred91()) :
4177 LA50_42
= self
.input.LA(3)
4179 if (self
.synpred91()) :
4182 LA50_43
= self
.input.LA(3)
4184 if (self
.synpred91()) :
4186 elif LA50
== 66 or LA50
== 68 or LA50
== 69 or LA50
== 77 or LA50
== 78 or LA50
== 79:
4187 LA50_44
= self
.input.LA(3)
4189 if (self
.synpred91()) :
4192 LA50_45
= self
.input.LA(3)
4194 if (self
.synpred91()) :
4197 # C.g:0:0: direct_abstract_declarator
4198 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067
)
4199 self
.direct_abstract_declarator()
4200 self
.following
.pop()
4209 # C.g:347:4: direct_abstract_declarator
4210 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073
)
4211 self
.direct_abstract_declarator()
4212 self
.following
.pop()
4218 except RecognitionException
as re
:
4219 self
.reportError(re
)
4220 self
.recover(self
.input, re
)
4222 if self
.backtracking
> 0:
4223 self
.memoize(self
.input, 31, abstract_declarator_StartIndex
)
4229 # $ANTLR end abstract_declarator
4232 # $ANTLR start direct_abstract_declarator
4233 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4234 def direct_abstract_declarator(self
, ):
4236 direct_abstract_declarator_StartIndex
= self
.input.index()
4239 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 32):
4242 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4243 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4244 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4246 LA52_0
= self
.input.LA(1)
4249 LA52
= self
.input.LA(2)
4250 if LA52
== IDENTIFIER
or LA52
== 29 or LA52
== 30 or LA52
== 31 or LA52
== 32 or LA52
== 33 or LA52
== 34 or LA52
== 35 or LA52
== 36 or LA52
== 37 or LA52
== 38 or LA52
== 39 or LA52
== 40 or LA52
== 41 or LA52
== 42 or LA52
== 45 or LA52
== 46 or LA52
== 48 or LA52
== 49 or LA52
== 50 or LA52
== 51 or LA52
== 52 or LA52
== 53 or LA52
== 54 or LA52
== 55 or LA52
== 56 or LA52
== 57 or LA52
== 58 or LA52
== 59 or LA52
== 60 or LA52
== 61 or LA52
== 63:
4253 LA52_18
= self
.input.LA(3)
4255 if (self
.synpred93()) :
4260 if self
.backtracking
> 0:
4264 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self
.input)
4268 elif LA52
== 62 or LA52
== 64:
4271 if self
.backtracking
> 0:
4275 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self
.input)
4279 elif (LA52_0
== 64) :
4282 if self
.backtracking
> 0:
4286 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self
.input)
4291 # C.g:351:6: '(' abstract_declarator ')'
4292 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_abstract_declarator1086
)
4295 self
.following
.append(self
.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088
)
4296 self
.abstract_declarator()
4297 self
.following
.pop()
4300 self
.match(self
.input, 63, self
.FOLLOW_63_in_direct_abstract_declarator1090
)
4306 # C.g:351:36: abstract_declarator_suffix
4307 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094
)
4308 self
.abstract_declarator_suffix()
4309 self
.following
.pop()
4315 # C.g:351:65: ( abstract_declarator_suffix )*
4318 LA53_0
= self
.input.LA(1)
4321 LA53
= self
.input.LA(2)
4323 LA53_12
= self
.input.LA(3)
4325 if (self
.synpred94()) :
4330 LA53_13
= self
.input.LA(3)
4332 if (self
.synpred94()) :
4337 LA53_14
= self
.input.LA(3)
4339 if (self
.synpred94()) :
4344 LA53_15
= self
.input.LA(3)
4346 if (self
.synpred94()) :
4351 LA53_16
= self
.input.LA(3)
4353 if (self
.synpred94()) :
4357 elif LA53
== IDENTIFIER
:
4358 LA53_17
= self
.input.LA(3)
4360 if (self
.synpred94()) :
4364 elif LA53
== 29 or LA53
== 30 or LA53
== 31 or LA53
== 32 or LA53
== 33:
4365 LA53_19
= self
.input.LA(3)
4367 if (self
.synpred94()) :
4372 LA53_20
= self
.input.LA(3)
4374 if (self
.synpred94()) :
4379 LA53_21
= self
.input.LA(3)
4381 if (self
.synpred94()) :
4386 LA53_22
= self
.input.LA(3)
4388 if (self
.synpred94()) :
4393 LA53_23
= self
.input.LA(3)
4395 if (self
.synpred94()) :
4400 LA53_24
= self
.input.LA(3)
4402 if (self
.synpred94()) :
4407 LA53_25
= self
.input.LA(3)
4409 if (self
.synpred94()) :
4414 LA53_26
= self
.input.LA(3)
4416 if (self
.synpred94()) :
4421 LA53_27
= self
.input.LA(3)
4423 if (self
.synpred94()) :
4428 LA53_28
= self
.input.LA(3)
4430 if (self
.synpred94()) :
4434 elif LA53
== 45 or LA53
== 46:
4435 LA53_29
= self
.input.LA(3)
4437 if (self
.synpred94()) :
4442 LA53_30
= self
.input.LA(3)
4444 if (self
.synpred94()) :
4448 elif LA53
== 49 or LA53
== 50 or LA53
== 51 or LA53
== 52 or LA53
== 53 or LA53
== 54 or LA53
== 55 or LA53
== 56 or LA53
== 57 or LA53
== 61:
4449 LA53_31
= self
.input.LA(3)
4451 if (self
.synpred94()) :
4456 elif (LA53_0
== 64) :
4457 LA53
= self
.input.LA(2)
4459 LA53_33
= self
.input.LA(3)
4461 if (self
.synpred94()) :
4466 LA53_34
= self
.input.LA(3)
4468 if (self
.synpred94()) :
4472 elif LA53
== IDENTIFIER
:
4473 LA53_35
= self
.input.LA(3)
4475 if (self
.synpred94()) :
4479 elif LA53
== HEX_LITERAL
:
4480 LA53_36
= self
.input.LA(3)
4482 if (self
.synpred94()) :
4486 elif LA53
== OCTAL_LITERAL
:
4487 LA53_37
= self
.input.LA(3)
4489 if (self
.synpred94()) :
4493 elif LA53
== DECIMAL_LITERAL
:
4494 LA53_38
= self
.input.LA(3)
4496 if (self
.synpred94()) :
4500 elif LA53
== CHARACTER_LITERAL
:
4501 LA53_39
= self
.input.LA(3)
4503 if (self
.synpred94()) :
4507 elif LA53
== STRING_LITERAL
:
4508 LA53_40
= self
.input.LA(3)
4510 if (self
.synpred94()) :
4514 elif LA53
== FLOATING_POINT_LITERAL
:
4515 LA53_41
= self
.input.LA(3)
4517 if (self
.synpred94()) :
4522 LA53_42
= self
.input.LA(3)
4524 if (self
.synpred94()) :
4529 LA53_43
= self
.input.LA(3)
4531 if (self
.synpred94()) :
4535 elif LA53
== 66 or LA53
== 68 or LA53
== 69 or LA53
== 77 or LA53
== 78 or LA53
== 79:
4536 LA53_44
= self
.input.LA(3)
4538 if (self
.synpred94()) :
4543 LA53_45
= self
.input.LA(3)
4545 if (self
.synpred94()) :
4553 # C.g:0:0: abstract_declarator_suffix
4554 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098
)
4555 self
.abstract_declarator_suffix()
4556 self
.following
.pop()
4569 except RecognitionException
as re
:
4570 self
.reportError(re
)
4571 self
.recover(self
.input, re
)
4573 if self
.backtracking
> 0:
4574 self
.memoize(self
.input, 32, direct_abstract_declarator_StartIndex
)
4580 # $ANTLR end direct_abstract_declarator
4583 # $ANTLR start abstract_declarator_suffix
4584 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4585 def abstract_declarator_suffix(self
, ):
4587 abstract_declarator_suffix_StartIndex
= self
.input.index()
4590 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 33):
4593 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4595 LA54_0
= self
.input.LA(1)
4598 LA54_1
= self
.input.LA(2)
4602 elif ((IDENTIFIER
<= LA54_1
<= FLOATING_POINT_LITERAL
) or LA54_1
== 62 or LA54_1
== 66 or (68 <= LA54_1
<= 69) or (72 <= LA54_1
<= 74) or (77 <= LA54_1
<= 79)) :
4605 if self
.backtracking
> 0:
4609 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self
.input)
4613 elif (LA54_0
== 62) :
4614 LA54_2
= self
.input.LA(2)
4618 elif (LA54_2
== IDENTIFIER
or (29 <= LA54_2
<= 42) or (45 <= LA54_2
<= 46) or (48 <= LA54_2
<= 61) or LA54_2
== 66) :
4621 if self
.backtracking
> 0:
4625 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self
.input)
4630 if self
.backtracking
> 0:
4634 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self
.input)
4639 # C.g:355:4: '[' ']'
4640 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1110
)
4643 self
.match(self
.input, 65, self
.FOLLOW_65_in_abstract_declarator_suffix1112
)
4649 # C.g:356:4: '[' constant_expression ']'
4650 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1117
)
4653 self
.following
.append(self
.FOLLOW_constant_expression_in_abstract_declarator_suffix1119
)
4654 self
.constant_expression()
4655 self
.following
.pop()
4658 self
.match(self
.input, 65, self
.FOLLOW_65_in_abstract_declarator_suffix1121
)
4664 # C.g:357:4: '(' ')'
4665 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1126
)
4668 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1128
)
4674 # C.g:358:4: '(' parameter_type_list ')'
4675 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1133
)
4678 self
.following
.append(self
.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135
)
4679 self
.parameter_type_list()
4680 self
.following
.pop()
4683 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1137
)
4689 except RecognitionException
as re
:
4690 self
.reportError(re
)
4691 self
.recover(self
.input, re
)
4693 if self
.backtracking
> 0:
4694 self
.memoize(self
.input, 33, abstract_declarator_suffix_StartIndex
)
4700 # $ANTLR end abstract_declarator_suffix
4703 # $ANTLR start initializer
4704 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4705 def initializer(self
, ):
4707 initializer_StartIndex
= self
.input.index()
4710 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 34):
4713 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4715 LA56_0
= self
.input.LA(1)
4717 if ((IDENTIFIER
<= LA56_0
<= FLOATING_POINT_LITERAL
) or LA56_0
== 62 or LA56_0
== 66 or (68 <= LA56_0
<= 69) or (72 <= LA56_0
<= 74) or (77 <= LA56_0
<= 79)) :
4719 elif (LA56_0
== 43) :
4722 if self
.backtracking
> 0:
4726 nvae
= NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self
.input)
4731 # C.g:363:4: assignment_expression
4732 self
.following
.append(self
.FOLLOW_assignment_expression_in_initializer1150
)
4733 self
.assignment_expression()
4734 self
.following
.pop()
4740 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4741 self
.match(self
.input, 43, self
.FOLLOW_43_in_initializer1155
)
4744 self
.following
.append(self
.FOLLOW_initializer_list_in_initializer1157
)
4745 self
.initializer_list()
4746 self
.following
.pop()
4749 # C.g:364:25: ( ',' )?
4751 LA55_0
= self
.input.LA(1)
4757 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer1159
)
4763 self
.match(self
.input, 44, self
.FOLLOW_44_in_initializer1162
)
4769 except RecognitionException
as re
:
4770 self
.reportError(re
)
4771 self
.recover(self
.input, re
)
4773 if self
.backtracking
> 0:
4774 self
.memoize(self
.input, 34, initializer_StartIndex
)
4780 # $ANTLR end initializer
4783 # $ANTLR start initializer_list
4784 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4785 def initializer_list(self
, ):
4787 initializer_list_StartIndex
= self
.input.index()
4790 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 35):
4793 # C.g:368:2: ( initializer ( ',' initializer )* )
4794 # C.g:368:4: initializer ( ',' initializer )*
4795 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1173
)
4797 self
.following
.pop()
4800 # C.g:368:16: ( ',' initializer )*
4803 LA57_0
= self
.input.LA(1)
4806 LA57_1
= self
.input.LA(2)
4808 if ((IDENTIFIER
<= LA57_1
<= FLOATING_POINT_LITERAL
) or LA57_1
== 43 or LA57_1
== 62 or LA57_1
== 66 or (68 <= LA57_1
<= 69) or (72 <= LA57_1
<= 74) or (77 <= LA57_1
<= 79)) :
4815 # C.g:368:17: ',' initializer
4816 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer_list1176
)
4819 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1178
)
4821 self
.following
.pop()
4834 except RecognitionException
as re
:
4835 self
.reportError(re
)
4836 self
.recover(self
.input, re
)
4838 if self
.backtracking
> 0:
4839 self
.memoize(self
.input, 35, initializer_list_StartIndex
)
4845 # $ANTLR end initializer_list
4847 class argument_expression_list_return(object):
4854 # $ANTLR start argument_expression_list
4855 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4856 def argument_expression_list(self
, ):
4858 retval
= self
.argument_expression_list_return()
4859 retval
.start
= self
.input.LT(1)
4860 argument_expression_list_StartIndex
= self
.input.index()
4863 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 36):
4866 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4867 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4868 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1196
)
4869 self
.assignment_expression()
4870 self
.following
.pop()
4873 # C.g:374:28: ( 'OPTIONAL' )?
4875 LA58_0
= self
.input.LA(1)
4880 # C.g:374:29: 'OPTIONAL'
4881 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1199
)
4887 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4890 LA60_0
= self
.input.LA(1)
4897 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4898 self
.match(self
.input, 27, self
.FOLLOW_27_in_argument_expression_list1204
)
4901 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1206
)
4902 self
.assignment_expression()
4903 self
.following
.pop()
4906 # C.g:374:69: ( 'OPTIONAL' )?
4908 LA59_0
= self
.input.LA(1)
4913 # C.g:374:70: 'OPTIONAL'
4914 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1209
)
4929 retval
.stop
= self
.input.LT(-1)
4932 except RecognitionException
as re
:
4933 self
.reportError(re
)
4934 self
.recover(self
.input, re
)
4936 if self
.backtracking
> 0:
4937 self
.memoize(self
.input, 36, argument_expression_list_StartIndex
)
4943 # $ANTLR end argument_expression_list
4946 # $ANTLR start additive_expression
4947 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4948 def additive_expression(self
, ):
4950 additive_expression_StartIndex
= self
.input.index()
4953 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 37):
4956 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4957 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4958 # C.g:378:4: ( multiplicative_expression )
4959 # C.g:378:5: multiplicative_expression
4960 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1225
)
4961 self
.multiplicative_expression()
4962 self
.following
.pop()
4968 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4971 LA61_0
= self
.input.LA(1)
4975 elif (LA61_0
== 69) :
4980 # C.g:378:33: '+' multiplicative_expression
4981 self
.match(self
.input, 68, self
.FOLLOW_68_in_additive_expression1229
)
4984 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1231
)
4985 self
.multiplicative_expression()
4986 self
.following
.pop()
4992 # C.g:378:65: '-' multiplicative_expression
4993 self
.match(self
.input, 69, self
.FOLLOW_69_in_additive_expression1235
)
4996 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1237
)
4997 self
.multiplicative_expression()
4998 self
.following
.pop()
5011 except RecognitionException
as re
:
5012 self
.reportError(re
)
5013 self
.recover(self
.input, re
)
5015 if self
.backtracking
> 0:
5016 self
.memoize(self
.input, 37, additive_expression_StartIndex
)
5022 # $ANTLR end additive_expression
5025 # $ANTLR start multiplicative_expression
5026 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5027 def multiplicative_expression(self
, ):
5029 multiplicative_expression_StartIndex
= self
.input.index()
5032 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 38):
5035 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5036 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5037 # C.g:382:4: ( cast_expression )
5038 # C.g:382:5: cast_expression
5039 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1251
)
5040 self
.cast_expression()
5041 self
.following
.pop()
5047 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5050 LA62
= self
.input.LA(1)
5059 # C.g:382:23: '*' cast_expression
5060 self
.match(self
.input, 66, self
.FOLLOW_66_in_multiplicative_expression1255
)
5063 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1257
)
5064 self
.cast_expression()
5065 self
.following
.pop()
5071 # C.g:382:45: '/' cast_expression
5072 self
.match(self
.input, 70, self
.FOLLOW_70_in_multiplicative_expression1261
)
5075 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1263
)
5076 self
.cast_expression()
5077 self
.following
.pop()
5083 # C.g:382:67: '%' cast_expression
5084 self
.match(self
.input, 71, self
.FOLLOW_71_in_multiplicative_expression1267
)
5087 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1269
)
5088 self
.cast_expression()
5089 self
.following
.pop()
5102 except RecognitionException
as re
:
5103 self
.reportError(re
)
5104 self
.recover(self
.input, re
)
5106 if self
.backtracking
> 0:
5107 self
.memoize(self
.input, 38, multiplicative_expression_StartIndex
)
5113 # $ANTLR end multiplicative_expression
5116 # $ANTLR start cast_expression
5117 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5118 def cast_expression(self
, ):
5120 cast_expression_StartIndex
= self
.input.index()
5123 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 39):
5126 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5128 LA63_0
= self
.input.LA(1)
5131 LA63
= self
.input.LA(2)
5132 if LA63
== 34 or LA63
== 35 or LA63
== 36 or LA63
== 37 or LA63
== 38 or LA63
== 39 or LA63
== 40 or LA63
== 41 or LA63
== 42 or LA63
== 45 or LA63
== 46 or LA63
== 48 or LA63
== 49 or LA63
== 50 or LA63
== 51 or LA63
== 52 or LA63
== 53 or LA63
== 54 or LA63
== 55 or LA63
== 56 or LA63
== 57 or LA63
== 58 or LA63
== 59 or LA63
== 60 or LA63
== 61:
5134 elif LA63
== IDENTIFIER
:
5135 LA63_25
= self
.input.LA(3)
5137 if (self
.synpred109()) :
5142 if self
.backtracking
> 0:
5146 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self
.input)
5150 elif LA63
== HEX_LITERAL
or LA63
== OCTAL_LITERAL
or LA63
== DECIMAL_LITERAL
or LA63
== CHARACTER_LITERAL
or LA63
== STRING_LITERAL
or LA63
== FLOATING_POINT_LITERAL
or LA63
== 62 or LA63
== 66 or LA63
== 68 or LA63
== 69 or LA63
== 72 or LA63
== 73 or LA63
== 74 or LA63
== 77 or LA63
== 78 or LA63
== 79:
5153 if self
.backtracking
> 0:
5157 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self
.input)
5161 elif ((IDENTIFIER
<= LA63_0
<= FLOATING_POINT_LITERAL
) or LA63_0
== 66 or (68 <= LA63_0
<= 69) or (72 <= LA63_0
<= 74) or (77 <= LA63_0
<= 79)) :
5164 if self
.backtracking
> 0:
5168 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self
.input)
5173 # C.g:386:4: '(' type_name ')' cast_expression
5174 self
.match(self
.input, 62, self
.FOLLOW_62_in_cast_expression1282
)
5177 self
.following
.append(self
.FOLLOW_type_name_in_cast_expression1284
)
5179 self
.following
.pop()
5182 self
.match(self
.input, 63, self
.FOLLOW_63_in_cast_expression1286
)
5185 self
.following
.append(self
.FOLLOW_cast_expression_in_cast_expression1288
)
5186 self
.cast_expression()
5187 self
.following
.pop()
5193 # C.g:387:4: unary_expression
5194 self
.following
.append(self
.FOLLOW_unary_expression_in_cast_expression1293
)
5195 self
.unary_expression()
5196 self
.following
.pop()
5202 except RecognitionException
as re
:
5203 self
.reportError(re
)
5204 self
.recover(self
.input, re
)
5206 if self
.backtracking
> 0:
5207 self
.memoize(self
.input, 39, cast_expression_StartIndex
)
5213 # $ANTLR end cast_expression
5216 # $ANTLR start unary_expression
5217 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5218 def unary_expression(self
, ):
5220 unary_expression_StartIndex
= self
.input.index()
5223 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 40):
5226 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5228 LA64
= self
.input.LA(1)
5229 if LA64
== IDENTIFIER
or LA64
== HEX_LITERAL
or LA64
== OCTAL_LITERAL
or LA64
== DECIMAL_LITERAL
or LA64
== CHARACTER_LITERAL
or LA64
== STRING_LITERAL
or LA64
== FLOATING_POINT_LITERAL
or LA64
== 62:
5235 elif LA64
== 66 or LA64
== 68 or LA64
== 69 or LA64
== 77 or LA64
== 78 or LA64
== 79:
5238 LA64_12
= self
.input.LA(2)
5240 if (LA64_12
== 62) :
5241 LA64_13
= self
.input.LA(3)
5243 if (self
.synpred114()) :
5248 if self
.backtracking
> 0:
5252 nvae
= NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self
.input)
5256 elif ((IDENTIFIER
<= LA64_12
<= FLOATING_POINT_LITERAL
) or LA64_12
== 66 or (68 <= LA64_12
<= 69) or (72 <= LA64_12
<= 74) or (77 <= LA64_12
<= 79)) :
5259 if self
.backtracking
> 0:
5263 nvae
= NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self
.input)
5268 if self
.backtracking
> 0:
5272 nvae
= NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self
.input)
5277 # C.g:391:4: postfix_expression
5278 self
.following
.append(self
.FOLLOW_postfix_expression_in_unary_expression1304
)
5279 self
.postfix_expression()
5280 self
.following
.pop()
5286 # C.g:392:4: '++' unary_expression
5287 self
.match(self
.input, 72, self
.FOLLOW_72_in_unary_expression1309
)
5290 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1311
)
5291 self
.unary_expression()
5292 self
.following
.pop()
5298 # C.g:393:4: '--' unary_expression
5299 self
.match(self
.input, 73, self
.FOLLOW_73_in_unary_expression1316
)
5302 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1318
)
5303 self
.unary_expression()
5304 self
.following
.pop()
5310 # C.g:394:4: unary_operator cast_expression
5311 self
.following
.append(self
.FOLLOW_unary_operator_in_unary_expression1323
)
5312 self
.unary_operator()
5313 self
.following
.pop()
5316 self
.following
.append(self
.FOLLOW_cast_expression_in_unary_expression1325
)
5317 self
.cast_expression()
5318 self
.following
.pop()
5324 # C.g:395:4: 'sizeof' unary_expression
5325 self
.match(self
.input, 74, self
.FOLLOW_74_in_unary_expression1330
)
5328 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1332
)
5329 self
.unary_expression()
5330 self
.following
.pop()
5336 # C.g:396:4: 'sizeof' '(' type_name ')'
5337 self
.match(self
.input, 74, self
.FOLLOW_74_in_unary_expression1337
)
5340 self
.match(self
.input, 62, self
.FOLLOW_62_in_unary_expression1339
)
5343 self
.following
.append(self
.FOLLOW_type_name_in_unary_expression1341
)
5345 self
.following
.pop()
5348 self
.match(self
.input, 63, self
.FOLLOW_63_in_unary_expression1343
)
5354 except RecognitionException
as re
:
5355 self
.reportError(re
)
5356 self
.recover(self
.input, re
)
5358 if self
.backtracking
> 0:
5359 self
.memoize(self
.input, 40, unary_expression_StartIndex
)
5365 # $ANTLR end unary_expression
5368 # $ANTLR start postfix_expression
5369 # C.g:399:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
5370 def postfix_expression(self
, ):
5371 self
.postfix_expression_stack
.append(postfix_expression_scope())
5372 postfix_expression_StartIndex
= self
.input.index()
5384 self
.postfix_expression_stack
[-1].FuncCallText
= ''
5388 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 41):
5391 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5392 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5393 self
.following
.append(self
.FOLLOW_primary_expression_in_postfix_expression1367
)
5394 p
= self
.primary_expression()
5395 self
.following
.pop()
5398 if self
.backtracking
== 0:
5399 self
.postfix_expression_stack
[-1].FuncCallText
+= self
.input.toString(p
.start
, p
.stop
)
5401 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5404 LA65
= self
.input.LA(1)
5406 LA65_1
= self
.input.LA(2)
5408 if (LA65_1
== IDENTIFIER
) :
5409 LA65_30
= self
.input.LA(3)
5411 if (self
.synpred120()) :
5420 LA65
= self
.input.LA(2)
5423 elif LA65
== 29 or LA65
== 30 or LA65
== 31 or LA65
== 32 or LA65
== 33 or LA65
== 34 or LA65
== 35 or LA65
== 36 or LA65
== 37 or LA65
== 38 or LA65
== 39 or LA65
== 40 or LA65
== 41 or LA65
== 42 or LA65
== 45 or LA65
== 46 or LA65
== 48 or LA65
== 49 or LA65
== 50 or LA65
== 51 or LA65
== 52 or LA65
== 53 or LA65
== 54 or LA65
== 55 or LA65
== 56 or LA65
== 57 or LA65
== 58 or LA65
== 59 or LA65
== 60 or LA65
== 61:
5425 elif LA65
== IDENTIFIER
:
5426 LA65_55
= self
.input.LA(3)
5428 if (self
.synpred117()) :
5430 elif (self
.synpred118()) :
5435 LA65_57
= self
.input.LA(3)
5437 if (self
.synpred117()) :
5439 elif (self
.synpred118()) :
5443 elif LA65
== HEX_LITERAL
or LA65
== OCTAL_LITERAL
or LA65
== DECIMAL_LITERAL
or LA65
== CHARACTER_LITERAL
or LA65
== STRING_LITERAL
or LA65
== FLOATING_POINT_LITERAL
or LA65
== 62 or LA65
== 68 or LA65
== 69 or LA65
== 72 or LA65
== 73 or LA65
== 74 or LA65
== 77 or LA65
== 78 or LA65
== 79:
5456 # C.g:407:13: '[' expression ']'
5457 self
.match(self
.input, 64, self
.FOLLOW_64_in_postfix_expression1383
)
5460 self
.following
.append(self
.FOLLOW_expression_in_postfix_expression1385
)
5462 self
.following
.pop()
5465 self
.match(self
.input, 65, self
.FOLLOW_65_in_postfix_expression1387
)
5471 # C.g:408:13: '(' a= ')'
5472 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1401
)
5475 a
= self
.input.LT(1)
5476 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1405
)
5479 if self
.backtracking
== 0:
5480 self
.StoreFunctionCalling(p
.start
.line
, p
.start
.charPositionInLine
, a
.line
, a
.charPositionInLine
, self
.postfix_expression_stack
[-1].FuncCallText
, '')
5485 # C.g:409:13: '(' c= argument_expression_list b= ')'
5486 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1420
)
5489 self
.following
.append(self
.FOLLOW_argument_expression_list_in_postfix_expression1424
)
5490 c
= self
.argument_expression_list()
5491 self
.following
.pop()
5494 b
= self
.input.LT(1)
5495 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1428
)
5498 if self
.backtracking
== 0:
5499 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
))
5504 # C.g:410:13: '(' macro_parameter_list ')'
5505 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1444
)
5508 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_postfix_expression1446
)
5509 self
.macro_parameter_list()
5510 self
.following
.pop()
5513 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1448
)
5519 # C.g:411:13: '.' x= IDENTIFIER
5520 self
.match(self
.input, 75, self
.FOLLOW_75_in_postfix_expression1462
)
5523 x
= self
.input.LT(1)
5524 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1466
)
5527 if self
.backtracking
== 0:
5528 self
.postfix_expression_stack
[-1].FuncCallText
+= '.' + x
.text
5533 # C.g:412:13: '*' y= IDENTIFIER
5534 self
.match(self
.input, 66, self
.FOLLOW_66_in_postfix_expression1482
)
5537 y
= self
.input.LT(1)
5538 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1486
)
5541 if self
.backtracking
== 0:
5542 self
.postfix_expression_stack
[-1].FuncCallText
= y
.text
5547 # C.g:413:13: '->' z= IDENTIFIER
5548 self
.match(self
.input, 76, self
.FOLLOW_76_in_postfix_expression1502
)
5551 z
= self
.input.LT(1)
5552 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1506
)
5555 if self
.backtracking
== 0:
5556 self
.postfix_expression_stack
[-1].FuncCallText
+= '->' + z
.text
5562 self
.match(self
.input, 72, self
.FOLLOW_72_in_postfix_expression1522
)
5569 self
.match(self
.input, 73, self
.FOLLOW_73_in_postfix_expression1536
)
5582 except RecognitionException
as re
:
5583 self
.reportError(re
)
5584 self
.recover(self
.input, re
)
5586 if self
.backtracking
> 0:
5587 self
.memoize(self
.input, 41, postfix_expression_StartIndex
)
5589 self
.postfix_expression_stack
.pop()
5594 # $ANTLR end postfix_expression
5597 # $ANTLR start macro_parameter_list
5598 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5599 def macro_parameter_list(self
, ):
5601 macro_parameter_list_StartIndex
= self
.input.index()
5604 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 42):
5607 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5608 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5609 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1559
)
5610 self
.parameter_declaration()
5611 self
.following
.pop()
5614 # C.g:420:26: ( ',' parameter_declaration )*
5617 LA66_0
= self
.input.LA(1)
5624 # C.g:420:27: ',' parameter_declaration
5625 self
.match(self
.input, 27, self
.FOLLOW_27_in_macro_parameter_list1562
)
5628 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1564
)
5629 self
.parameter_declaration()
5630 self
.following
.pop()
5643 except RecognitionException
as re
:
5644 self
.reportError(re
)
5645 self
.recover(self
.input, re
)
5647 if self
.backtracking
> 0:
5648 self
.memoize(self
.input, 42, macro_parameter_list_StartIndex
)
5654 # $ANTLR end macro_parameter_list
5657 # $ANTLR start unary_operator
5658 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5659 def unary_operator(self
, ):
5661 unary_operator_StartIndex
= self
.input.index()
5664 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 43):
5667 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5669 if self
.input.LA(1) == 66 or (68 <= self
.input.LA(1) <= 69) or (77 <= self
.input.LA(1) <= 79):
5670 self
.input.consume();
5671 self
.errorRecovery
= False
5675 if self
.backtracking
> 0:
5679 mse
= MismatchedSetException(None, self
.input)
5680 self
.recoverFromMismatchedSet(
5681 self
.input, mse
, self
.FOLLOW_set_in_unary_operator0
5690 except RecognitionException
as re
:
5691 self
.reportError(re
)
5692 self
.recover(self
.input, re
)
5694 if self
.backtracking
> 0:
5695 self
.memoize(self
.input, 43, unary_operator_StartIndex
)
5701 # $ANTLR end unary_operator
5703 class primary_expression_return(object):
5710 # $ANTLR start primary_expression
5711 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5712 def primary_expression(self
, ):
5714 retval
= self
.primary_expression_return()
5715 retval
.start
= self
.input.LT(1)
5716 primary_expression_StartIndex
= self
.input.index()
5719 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 44):
5722 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5724 LA67
= self
.input.LA(1)
5725 if LA67
== IDENTIFIER
:
5726 LA67_1
= self
.input.LA(2)
5728 if (LA67_1
== EOF
or LA67_1
== 25 or (27 <= LA67_1
<= 28) or LA67_1
== 44 or LA67_1
== 47 or LA67_1
== 53 or (62 <= LA67_1
<= 66) or (68 <= LA67_1
<= 73) or (75 <= LA67_1
<= 77) or (80 <= LA67_1
<= 102)) :
5730 elif (LA67_1
== IDENTIFIER
or LA67_1
== STRING_LITERAL
) :
5733 if self
.backtracking
> 0:
5737 nvae
= NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self
.input)
5741 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
:
5746 if self
.backtracking
> 0:
5750 nvae
= NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self
.input)
5755 # C.g:433:4: IDENTIFIER
5756 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_primary_expression1613
)
5762 # C.g:434:4: constant
5763 self
.following
.append(self
.FOLLOW_constant_in_primary_expression1618
)
5765 self
.following
.pop()
5771 # C.g:435:4: '(' expression ')'
5772 self
.match(self
.input, 62, self
.FOLLOW_62_in_primary_expression1623
)
5775 self
.following
.append(self
.FOLLOW_expression_in_primary_expression1625
)
5777 self
.following
.pop()
5780 self
.match(self
.input, 63, self
.FOLLOW_63_in_primary_expression1627
)
5785 retval
.stop
= self
.input.LT(-1)
5788 except RecognitionException
as re
:
5789 self
.reportError(re
)
5790 self
.recover(self
.input, re
)
5792 if self
.backtracking
> 0:
5793 self
.memoize(self
.input, 44, primary_expression_StartIndex
)
5799 # $ANTLR end primary_expression
5802 # $ANTLR start constant
5803 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5804 def constant(self
, ):
5806 constant_StartIndex
= self
.input.index()
5809 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 45):
5812 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5814 LA72
= self
.input.LA(1)
5815 if LA72
== HEX_LITERAL
:
5817 elif LA72
== OCTAL_LITERAL
:
5819 elif LA72
== DECIMAL_LITERAL
:
5821 elif LA72
== CHARACTER_LITERAL
:
5823 elif LA72
== IDENTIFIER
or LA72
== STRING_LITERAL
:
5825 elif LA72
== FLOATING_POINT_LITERAL
:
5828 if self
.backtracking
> 0:
5832 nvae
= NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self
.input)
5837 # C.g:439:9: HEX_LITERAL
5838 self
.match(self
.input, HEX_LITERAL
, self
.FOLLOW_HEX_LITERAL_in_constant1643
)
5844 # C.g:440:9: OCTAL_LITERAL
5845 self
.match(self
.input, OCTAL_LITERAL
, self
.FOLLOW_OCTAL_LITERAL_in_constant1653
)
5851 # C.g:441:9: DECIMAL_LITERAL
5852 self
.match(self
.input, DECIMAL_LITERAL
, self
.FOLLOW_DECIMAL_LITERAL_in_constant1663
)
5858 # C.g:442:7: CHARACTER_LITERAL
5859 self
.match(self
.input, CHARACTER_LITERAL
, self
.FOLLOW_CHARACTER_LITERAL_in_constant1671
)
5865 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5866 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5870 LA70_0
= self
.input.LA(1)
5872 if (LA70_0
== IDENTIFIER
) :
5873 LA70_1
= self
.input.LA(2)
5875 if (LA70_1
== STRING_LITERAL
) :
5877 elif (LA70_1
== IDENTIFIER
) :
5878 LA70_33
= self
.input.LA(3)
5880 if (self
.synpred138()) :
5886 elif (LA70_0
== STRING_LITERAL
) :
5891 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5892 # C.g:443:8: ( IDENTIFIER )*
5895 LA68_0
= self
.input.LA(1)
5897 if (LA68_0
== IDENTIFIER
) :
5902 # C.g:0:0: IDENTIFIER
5903 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1680
)
5912 # C.g:443:20: ( STRING_LITERAL )+
5916 LA69_0
= self
.input.LA(1)
5918 if (LA69_0
== STRING_LITERAL
) :
5919 LA69_31
= self
.input.LA(2)
5921 if (self
.synpred137()) :
5928 # C.g:0:0: STRING_LITERAL
5929 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_constant1683
)
5938 if self
.backtracking
> 0:
5942 eee
= EarlyExitException(69, self
.input)
5954 if self
.backtracking
> 0:
5958 eee
= EarlyExitException(70, self
.input)
5964 # C.g:443:38: ( IDENTIFIER )*
5967 LA71_0
= self
.input.LA(1)
5969 if (LA71_0
== IDENTIFIER
) :
5974 # C.g:0:0: IDENTIFIER
5975 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1688
)
5987 # C.g:444:9: FLOATING_POINT_LITERAL
5988 self
.match(self
.input, FLOATING_POINT_LITERAL
, self
.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699
)
5994 except RecognitionException
as re
:
5995 self
.reportError(re
)
5996 self
.recover(self
.input, re
)
5998 if self
.backtracking
> 0:
5999 self
.memoize(self
.input, 45, constant_StartIndex
)
6005 # $ANTLR end constant
6007 class expression_return(object):
6014 # $ANTLR start expression
6015 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6016 def expression(self
, ):
6018 retval
= self
.expression_return()
6019 retval
.start
= self
.input.LT(1)
6020 expression_StartIndex
= self
.input.index()
6023 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 46):
6026 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6027 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6028 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1715
)
6029 self
.assignment_expression()
6030 self
.following
.pop()
6033 # C.g:450:26: ( ',' assignment_expression )*
6036 LA73_0
= self
.input.LA(1)
6043 # C.g:450:27: ',' assignment_expression
6044 self
.match(self
.input, 27, self
.FOLLOW_27_in_expression1718
)
6047 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1720
)
6048 self
.assignment_expression()
6049 self
.following
.pop()
6061 retval
.stop
= self
.input.LT(-1)
6064 except RecognitionException
as re
:
6065 self
.reportError(re
)
6066 self
.recover(self
.input, re
)
6068 if self
.backtracking
> 0:
6069 self
.memoize(self
.input, 46, expression_StartIndex
)
6075 # $ANTLR end expression
6078 # $ANTLR start constant_expression
6079 # C.g:453:1: constant_expression : conditional_expression ;
6080 def constant_expression(self
, ):
6082 constant_expression_StartIndex
= self
.input.index()
6085 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 47):
6088 # C.g:454:2: ( conditional_expression )
6089 # C.g:454:4: conditional_expression
6090 self
.following
.append(self
.FOLLOW_conditional_expression_in_constant_expression1733
)
6091 self
.conditional_expression()
6092 self
.following
.pop()
6099 except RecognitionException
as re
:
6100 self
.reportError(re
)
6101 self
.recover(self
.input, re
)
6103 if self
.backtracking
> 0:
6104 self
.memoize(self
.input, 47, constant_expression_StartIndex
)
6110 # $ANTLR end constant_expression
6113 # $ANTLR start assignment_expression
6114 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6115 def assignment_expression(self
, ):
6117 assignment_expression_StartIndex
= self
.input.index()
6120 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 48):
6123 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6125 LA74
= self
.input.LA(1)
6126 if LA74
== IDENTIFIER
:
6127 LA74
= self
.input.LA(2)
6129 LA74_13
= self
.input.LA(3)
6131 if (self
.synpred142()) :
6136 if self
.backtracking
> 0:
6140 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self
.input)
6145 LA74_14
= self
.input.LA(3)
6147 if (self
.synpred142()) :
6152 if self
.backtracking
> 0:
6156 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self
.input)
6161 LA74_15
= self
.input.LA(3)
6163 if (self
.synpred142()) :
6168 if self
.backtracking
> 0:
6172 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self
.input)
6177 LA74_16
= self
.input.LA(3)
6179 if (self
.synpred142()) :
6184 if self
.backtracking
> 0:
6188 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self
.input)
6193 LA74_17
= self
.input.LA(3)
6195 if (self
.synpred142()) :
6200 if self
.backtracking
> 0:
6204 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self
.input)
6209 LA74_18
= self
.input.LA(3)
6211 if (self
.synpred142()) :
6216 if self
.backtracking
> 0:
6220 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self
.input)
6225 LA74_19
= self
.input.LA(3)
6227 if (self
.synpred142()) :
6232 if self
.backtracking
> 0:
6236 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self
.input)
6240 elif LA74
== 28 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88 or LA74
== 89:
6242 elif LA74
== STRING_LITERAL
:
6243 LA74_21
= self
.input.LA(3)
6245 if (self
.synpred142()) :
6250 if self
.backtracking
> 0:
6254 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self
.input)
6258 elif LA74
== IDENTIFIER
:
6259 LA74_22
= self
.input.LA(3)
6261 if (self
.synpred142()) :
6266 if self
.backtracking
> 0:
6270 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self
.input)
6274 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 63 or LA74
== 65 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 71 or LA74
== 77 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101 or LA74
== 102:
6277 if self
.backtracking
> 0:
6281 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self
.input)
6285 elif LA74
== HEX_LITERAL
:
6286 LA74
= self
.input.LA(2)
6288 LA74_44
= self
.input.LA(3)
6290 if (self
.synpred142()) :
6295 if self
.backtracking
> 0:
6299 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self
.input)
6304 LA74_45
= self
.input.LA(3)
6306 if (self
.synpred142()) :
6311 if self
.backtracking
> 0:
6315 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self
.input)
6320 LA74_46
= self
.input.LA(3)
6322 if (self
.synpred142()) :
6327 if self
.backtracking
> 0:
6331 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self
.input)
6336 LA74_47
= self
.input.LA(3)
6338 if (self
.synpred142()) :
6343 if self
.backtracking
> 0:
6347 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self
.input)
6352 LA74_48
= self
.input.LA(3)
6354 if (self
.synpred142()) :
6359 if self
.backtracking
> 0:
6363 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self
.input)
6368 LA74_49
= self
.input.LA(3)
6370 if (self
.synpred142()) :
6375 if self
.backtracking
> 0:
6379 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self
.input)
6384 LA74_50
= self
.input.LA(3)
6386 if (self
.synpred142()) :
6391 if self
.backtracking
> 0:
6395 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self
.input)
6399 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 63 or LA74
== 65 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 71 or LA74
== 77 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101 or LA74
== 102:
6401 elif LA74
== 28 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88 or LA74
== 89:
6404 if self
.backtracking
> 0:
6408 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self
.input)
6412 elif LA74
== OCTAL_LITERAL
:
6413 LA74
= self
.input.LA(2)
6415 LA74_73
= self
.input.LA(3)
6417 if (self
.synpred142()) :
6422 if self
.backtracking
> 0:
6426 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self
.input)
6431 LA74_74
= self
.input.LA(3)
6433 if (self
.synpred142()) :
6438 if self
.backtracking
> 0:
6442 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self
.input)
6447 LA74_75
= self
.input.LA(3)
6449 if (self
.synpred142()) :
6454 if self
.backtracking
> 0:
6458 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self
.input)
6463 LA74_76
= self
.input.LA(3)
6465 if (self
.synpred142()) :
6470 if self
.backtracking
> 0:
6474 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self
.input)
6479 LA74_77
= self
.input.LA(3)
6481 if (self
.synpred142()) :
6486 if self
.backtracking
> 0:
6490 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self
.input)
6495 LA74_78
= self
.input.LA(3)
6497 if (self
.synpred142()) :
6502 if self
.backtracking
> 0:
6506 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self
.input)
6511 LA74_79
= self
.input.LA(3)
6513 if (self
.synpred142()) :
6518 if self
.backtracking
> 0:
6522 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self
.input)
6526 elif LA74
== 28 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88 or LA74
== 89:
6528 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 63 or LA74
== 65 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 71 or LA74
== 77 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101 or LA74
== 102:
6531 if self
.backtracking
> 0:
6535 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self
.input)
6539 elif LA74
== DECIMAL_LITERAL
:
6540 LA74
= self
.input.LA(2)
6542 LA74_102
= self
.input.LA(3)
6544 if (self
.synpred142()) :
6549 if self
.backtracking
> 0:
6553 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self
.input)
6558 LA74_103
= self
.input.LA(3)
6560 if (self
.synpred142()) :
6565 if self
.backtracking
> 0:
6569 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self
.input)
6574 LA74_104
= self
.input.LA(3)
6576 if (self
.synpred142()) :
6581 if self
.backtracking
> 0:
6585 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self
.input)
6590 LA74_105
= self
.input.LA(3)
6592 if (self
.synpred142()) :
6597 if self
.backtracking
> 0:
6601 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self
.input)
6606 LA74_106
= self
.input.LA(3)
6608 if (self
.synpred142()) :
6613 if self
.backtracking
> 0:
6617 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self
.input)
6622 LA74_107
= self
.input.LA(3)
6624 if (self
.synpred142()) :
6629 if self
.backtracking
> 0:
6633 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self
.input)
6638 LA74_108
= self
.input.LA(3)
6640 if (self
.synpred142()) :
6645 if self
.backtracking
> 0:
6649 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self
.input)
6653 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 63 or LA74
== 65 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 71 or LA74
== 77 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101 or LA74
== 102:
6655 elif LA74
== 28 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88 or LA74
== 89:
6658 if self
.backtracking
> 0:
6662 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self
.input)
6666 elif LA74
== CHARACTER_LITERAL
:
6667 LA74
= self
.input.LA(2)
6669 LA74_131
= self
.input.LA(3)
6671 if (self
.synpred142()) :
6676 if self
.backtracking
> 0:
6680 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self
.input)
6685 LA74_132
= self
.input.LA(3)
6687 if (self
.synpred142()) :
6692 if self
.backtracking
> 0:
6696 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self
.input)
6701 LA74_133
= self
.input.LA(3)
6703 if (self
.synpred142()) :
6708 if self
.backtracking
> 0:
6712 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self
.input)
6717 LA74_134
= self
.input.LA(3)
6719 if (self
.synpred142()) :
6724 if self
.backtracking
> 0:
6728 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self
.input)
6733 LA74_135
= self
.input.LA(3)
6735 if (self
.synpred142()) :
6740 if self
.backtracking
> 0:
6744 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self
.input)
6749 LA74_136
= self
.input.LA(3)
6751 if (self
.synpred142()) :
6756 if self
.backtracking
> 0:
6760 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self
.input)
6765 LA74_137
= self
.input.LA(3)
6767 if (self
.synpred142()) :
6772 if self
.backtracking
> 0:
6776 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self
.input)
6780 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 63 or LA74
== 65 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 71 or LA74
== 77 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101 or LA74
== 102:
6782 elif LA74
== 28 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88 or LA74
== 89:
6785 if self
.backtracking
> 0:
6789 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self
.input)
6793 elif LA74
== STRING_LITERAL
:
6794 LA74
= self
.input.LA(2)
6795 if LA74
== IDENTIFIER
:
6796 LA74_160
= self
.input.LA(3)
6798 if (self
.synpred142()) :
6803 if self
.backtracking
> 0:
6807 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self
.input)
6812 LA74_161
= self
.input.LA(3)
6814 if (self
.synpred142()) :
6819 if self
.backtracking
> 0:
6823 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self
.input)
6828 LA74_162
= self
.input.LA(3)
6830 if (self
.synpred142()) :
6835 if self
.backtracking
> 0:
6839 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self
.input)
6844 LA74_163
= self
.input.LA(3)
6846 if (self
.synpred142()) :
6851 if self
.backtracking
> 0:
6855 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self
.input)
6860 LA74_164
= self
.input.LA(3)
6862 if (self
.synpred142()) :
6867 if self
.backtracking
> 0:
6871 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self
.input)
6876 LA74_165
= self
.input.LA(3)
6878 if (self
.synpred142()) :
6883 if self
.backtracking
> 0:
6887 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self
.input)
6892 LA74_166
= self
.input.LA(3)
6894 if (self
.synpred142()) :
6899 if self
.backtracking
> 0:
6903 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self
.input)
6908 LA74_167
= self
.input.LA(3)
6910 if (self
.synpred142()) :
6915 if self
.backtracking
> 0:
6919 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self
.input)
6923 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 63 or LA74
== 65 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 71 or LA74
== 77 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101 or LA74
== 102:
6925 elif LA74
== STRING_LITERAL
:
6926 LA74_189
= self
.input.LA(3)
6928 if (self
.synpred142()) :
6933 if self
.backtracking
> 0:
6937 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self
.input)
6941 elif LA74
== 28 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88 or LA74
== 89:
6944 if self
.backtracking
> 0:
6948 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self
.input)
6952 elif LA74
== FLOATING_POINT_LITERAL
:
6953 LA74
= self
.input.LA(2)
6955 LA74_191
= self
.input.LA(3)
6957 if (self
.synpred142()) :
6962 if self
.backtracking
> 0:
6966 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self
.input)
6971 LA74_192
= self
.input.LA(3)
6973 if (self
.synpred142()) :
6978 if self
.backtracking
> 0:
6982 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self
.input)
6987 LA74_193
= self
.input.LA(3)
6989 if (self
.synpred142()) :
6994 if self
.backtracking
> 0:
6998 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self
.input)
7003 LA74_194
= self
.input.LA(3)
7005 if (self
.synpred142()) :
7010 if self
.backtracking
> 0:
7014 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self
.input)
7019 LA74_195
= self
.input.LA(3)
7021 if (self
.synpred142()) :
7026 if self
.backtracking
> 0:
7030 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self
.input)
7035 LA74_196
= self
.input.LA(3)
7037 if (self
.synpred142()) :
7042 if self
.backtracking
> 0:
7046 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self
.input)
7051 LA74_197
= self
.input.LA(3)
7053 if (self
.synpred142()) :
7058 if self
.backtracking
> 0:
7062 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self
.input)
7066 elif LA74
== EOF
or LA74
== 25 or LA74
== 27 or LA74
== 44 or LA74
== 47 or LA74
== 53 or LA74
== 63 or LA74
== 65 or LA74
== 68 or LA74
== 69 or LA74
== 70 or LA74
== 71 or LA74
== 77 or LA74
== 90 or LA74
== 91 or LA74
== 92 or LA74
== 93 or LA74
== 94 or LA74
== 95 or LA74
== 96 or LA74
== 97 or LA74
== 98 or LA74
== 99 or LA74
== 100 or LA74
== 101 or LA74
== 102:
7068 elif LA74
== 28 or LA74
== 80 or LA74
== 81 or LA74
== 82 or LA74
== 83 or LA74
== 84 or LA74
== 85 or LA74
== 86 or LA74
== 87 or LA74
== 88 or LA74
== 89:
7071 if self
.backtracking
> 0:
7075 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self
.input)
7080 LA74
= self
.input.LA(2)
7081 if LA74
== IDENTIFIER
:
7082 LA74_220
= self
.input.LA(3)
7084 if (self
.synpred142()) :
7089 if self
.backtracking
> 0:
7093 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self
.input)
7097 elif LA74
== HEX_LITERAL
:
7098 LA74_221
= self
.input.LA(3)
7100 if (self
.synpred142()) :
7105 if self
.backtracking
> 0:
7109 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self
.input)
7113 elif LA74
== OCTAL_LITERAL
:
7114 LA74_222
= self
.input.LA(3)
7116 if (self
.synpred142()) :
7121 if self
.backtracking
> 0:
7125 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self
.input)
7129 elif LA74
== DECIMAL_LITERAL
:
7130 LA74_223
= self
.input.LA(3)
7132 if (self
.synpred142()) :
7137 if self
.backtracking
> 0:
7141 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self
.input)
7145 elif LA74
== CHARACTER_LITERAL
:
7146 LA74_224
= self
.input.LA(3)
7148 if (self
.synpred142()) :
7153 if self
.backtracking
> 0:
7157 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self
.input)
7161 elif LA74
== STRING_LITERAL
:
7162 LA74_225
= self
.input.LA(3)
7164 if (self
.synpred142()) :
7169 if self
.backtracking
> 0:
7173 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self
.input)
7177 elif LA74
== FLOATING_POINT_LITERAL
:
7178 LA74_226
= self
.input.LA(3)
7180 if (self
.synpred142()) :
7185 if self
.backtracking
> 0:
7189 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self
.input)
7194 LA74_227
= self
.input.LA(3)
7196 if (self
.synpred142()) :
7201 if self
.backtracking
> 0:
7205 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self
.input)
7210 LA74_228
= self
.input.LA(3)
7212 if (self
.synpred142()) :
7217 if self
.backtracking
> 0:
7221 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self
.input)
7226 LA74_229
= self
.input.LA(3)
7228 if (self
.synpred142()) :
7233 if self
.backtracking
> 0:
7237 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self
.input)
7241 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7242 LA74_230
= self
.input.LA(3)
7244 if (self
.synpred142()) :
7249 if self
.backtracking
> 0:
7253 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self
.input)
7258 LA74_231
= self
.input.LA(3)
7260 if (self
.synpred142()) :
7265 if self
.backtracking
> 0:
7269 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self
.input)
7273 elif LA74
== 34 or LA74
== 35 or LA74
== 36 or LA74
== 37 or LA74
== 38 or LA74
== 39 or LA74
== 40 or LA74
== 41 or LA74
== 42 or LA74
== 45 or LA74
== 46 or LA74
== 48 or LA74
== 49 or LA74
== 50 or LA74
== 51 or LA74
== 52 or LA74
== 53 or LA74
== 54 or LA74
== 55 or LA74
== 56 or LA74
== 57 or LA74
== 58 or LA74
== 59 or LA74
== 60 or LA74
== 61:
7276 if self
.backtracking
> 0:
7280 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self
.input)
7285 LA74
= self
.input.LA(2)
7286 if LA74
== IDENTIFIER
:
7287 LA74_244
= self
.input.LA(3)
7289 if (self
.synpred142()) :
7294 if self
.backtracking
> 0:
7298 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self
.input)
7302 elif LA74
== HEX_LITERAL
:
7303 LA74_245
= self
.input.LA(3)
7305 if (self
.synpred142()) :
7310 if self
.backtracking
> 0:
7314 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self
.input)
7318 elif LA74
== OCTAL_LITERAL
:
7319 LA74_246
= self
.input.LA(3)
7321 if (self
.synpred142()) :
7326 if self
.backtracking
> 0:
7330 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self
.input)
7334 elif LA74
== DECIMAL_LITERAL
:
7335 LA74_247
= self
.input.LA(3)
7337 if (self
.synpred142()) :
7342 if self
.backtracking
> 0:
7346 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self
.input)
7350 elif LA74
== CHARACTER_LITERAL
:
7351 LA74_248
= self
.input.LA(3)
7353 if (self
.synpred142()) :
7358 if self
.backtracking
> 0:
7362 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self
.input)
7366 elif LA74
== STRING_LITERAL
:
7367 LA74_249
= self
.input.LA(3)
7369 if (self
.synpred142()) :
7374 if self
.backtracking
> 0:
7378 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self
.input)
7382 elif LA74
== FLOATING_POINT_LITERAL
:
7383 LA74_250
= self
.input.LA(3)
7385 if (self
.synpred142()) :
7390 if self
.backtracking
> 0:
7394 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self
.input)
7399 LA74_251
= self
.input.LA(3)
7401 if (self
.synpred142()) :
7406 if self
.backtracking
> 0:
7410 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self
.input)
7415 LA74_252
= self
.input.LA(3)
7417 if (self
.synpred142()) :
7422 if self
.backtracking
> 0:
7426 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self
.input)
7431 LA74_253
= self
.input.LA(3)
7433 if (self
.synpred142()) :
7438 if self
.backtracking
> 0:
7442 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self
.input)
7446 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7447 LA74_254
= self
.input.LA(3)
7449 if (self
.synpred142()) :
7454 if self
.backtracking
> 0:
7458 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self
.input)
7463 LA74_255
= self
.input.LA(3)
7465 if (self
.synpred142()) :
7470 if self
.backtracking
> 0:
7474 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self
.input)
7479 if self
.backtracking
> 0:
7483 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self
.input)
7488 LA74
= self
.input.LA(2)
7489 if LA74
== IDENTIFIER
:
7490 LA74_256
= self
.input.LA(3)
7492 if (self
.synpred142()) :
7497 if self
.backtracking
> 0:
7501 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self
.input)
7505 elif LA74
== HEX_LITERAL
:
7506 LA74_257
= self
.input.LA(3)
7508 if (self
.synpred142()) :
7513 if self
.backtracking
> 0:
7517 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self
.input)
7521 elif LA74
== OCTAL_LITERAL
:
7522 LA74_258
= self
.input.LA(3)
7524 if (self
.synpred142()) :
7529 if self
.backtracking
> 0:
7533 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self
.input)
7537 elif LA74
== DECIMAL_LITERAL
:
7538 LA74_259
= self
.input.LA(3)
7540 if (self
.synpred142()) :
7545 if self
.backtracking
> 0:
7549 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self
.input)
7553 elif LA74
== CHARACTER_LITERAL
:
7554 LA74_260
= self
.input.LA(3)
7556 if (self
.synpred142()) :
7561 if self
.backtracking
> 0:
7565 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self
.input)
7569 elif LA74
== STRING_LITERAL
:
7570 LA74_261
= self
.input.LA(3)
7572 if (self
.synpred142()) :
7577 if self
.backtracking
> 0:
7581 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self
.input)
7585 elif LA74
== FLOATING_POINT_LITERAL
:
7586 LA74_262
= self
.input.LA(3)
7588 if (self
.synpred142()) :
7593 if self
.backtracking
> 0:
7597 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self
.input)
7602 LA74_263
= self
.input.LA(3)
7604 if (self
.synpred142()) :
7609 if self
.backtracking
> 0:
7613 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self
.input)
7618 LA74_264
= self
.input.LA(3)
7620 if (self
.synpred142()) :
7625 if self
.backtracking
> 0:
7629 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self
.input)
7634 LA74_265
= self
.input.LA(3)
7636 if (self
.synpred142()) :
7641 if self
.backtracking
> 0:
7645 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self
.input)
7649 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7650 LA74_266
= self
.input.LA(3)
7652 if (self
.synpred142()) :
7657 if self
.backtracking
> 0:
7661 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self
.input)
7666 LA74_267
= self
.input.LA(3)
7668 if (self
.synpred142()) :
7673 if self
.backtracking
> 0:
7677 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self
.input)
7682 if self
.backtracking
> 0:
7686 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self
.input)
7690 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7691 LA74
= self
.input.LA(2)
7693 LA74_268
= self
.input.LA(3)
7695 if (self
.synpred142()) :
7700 if self
.backtracking
> 0:
7704 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self
.input)
7708 elif LA74
== IDENTIFIER
:
7709 LA74_269
= self
.input.LA(3)
7711 if (self
.synpred142()) :
7716 if self
.backtracking
> 0:
7720 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self
.input)
7724 elif LA74
== HEX_LITERAL
:
7725 LA74_270
= self
.input.LA(3)
7727 if (self
.synpred142()) :
7732 if self
.backtracking
> 0:
7736 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self
.input)
7740 elif LA74
== OCTAL_LITERAL
:
7741 LA74_271
= self
.input.LA(3)
7743 if (self
.synpred142()) :
7748 if self
.backtracking
> 0:
7752 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self
.input)
7756 elif LA74
== DECIMAL_LITERAL
:
7757 LA74_272
= self
.input.LA(3)
7759 if (self
.synpred142()) :
7764 if self
.backtracking
> 0:
7768 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self
.input)
7772 elif LA74
== CHARACTER_LITERAL
:
7773 LA74_273
= self
.input.LA(3)
7775 if (self
.synpred142()) :
7780 if self
.backtracking
> 0:
7784 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self
.input)
7788 elif LA74
== STRING_LITERAL
:
7789 LA74_274
= self
.input.LA(3)
7791 if (self
.synpred142()) :
7796 if self
.backtracking
> 0:
7800 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self
.input)
7804 elif LA74
== FLOATING_POINT_LITERAL
:
7805 LA74_275
= self
.input.LA(3)
7807 if (self
.synpred142()) :
7812 if self
.backtracking
> 0:
7816 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self
.input)
7821 LA74_276
= self
.input.LA(3)
7823 if (self
.synpred142()) :
7828 if self
.backtracking
> 0:
7832 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self
.input)
7837 LA74_277
= self
.input.LA(3)
7839 if (self
.synpred142()) :
7844 if self
.backtracking
> 0:
7848 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self
.input)
7852 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7853 LA74_278
= self
.input.LA(3)
7855 if (self
.synpred142()) :
7860 if self
.backtracking
> 0:
7864 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self
.input)
7869 LA74_279
= self
.input.LA(3)
7871 if (self
.synpred142()) :
7876 if self
.backtracking
> 0:
7880 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self
.input)
7885 if self
.backtracking
> 0:
7889 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self
.input)
7894 LA74
= self
.input.LA(2)
7896 LA74_280
= self
.input.LA(3)
7898 if (self
.synpred142()) :
7903 if self
.backtracking
> 0:
7907 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self
.input)
7911 elif LA74
== IDENTIFIER
:
7912 LA74_281
= self
.input.LA(3)
7914 if (self
.synpred142()) :
7919 if self
.backtracking
> 0:
7923 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self
.input)
7927 elif LA74
== HEX_LITERAL
:
7928 LA74_282
= self
.input.LA(3)
7930 if (self
.synpred142()) :
7935 if self
.backtracking
> 0:
7939 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self
.input)
7943 elif LA74
== OCTAL_LITERAL
:
7944 LA74_283
= self
.input.LA(3)
7946 if (self
.synpred142()) :
7951 if self
.backtracking
> 0:
7955 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self
.input)
7959 elif LA74
== DECIMAL_LITERAL
:
7960 LA74_284
= self
.input.LA(3)
7962 if (self
.synpred142()) :
7967 if self
.backtracking
> 0:
7971 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self
.input)
7975 elif LA74
== CHARACTER_LITERAL
:
7976 LA74_285
= self
.input.LA(3)
7978 if (self
.synpred142()) :
7983 if self
.backtracking
> 0:
7987 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self
.input)
7991 elif LA74
== STRING_LITERAL
:
7992 LA74_286
= self
.input.LA(3)
7994 if (self
.synpred142()) :
7999 if self
.backtracking
> 0:
8003 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self
.input)
8007 elif LA74
== FLOATING_POINT_LITERAL
:
8008 LA74_287
= self
.input.LA(3)
8010 if (self
.synpred142()) :
8015 if self
.backtracking
> 0:
8019 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self
.input)
8024 LA74_288
= self
.input.LA(3)
8026 if (self
.synpred142()) :
8031 if self
.backtracking
> 0:
8035 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self
.input)
8040 LA74_289
= self
.input.LA(3)
8042 if (self
.synpred142()) :
8047 if self
.backtracking
> 0:
8051 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self
.input)
8055 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
8056 LA74_290
= self
.input.LA(3)
8058 if (self
.synpred142()) :
8063 if self
.backtracking
> 0:
8067 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self
.input)
8072 LA74_291
= self
.input.LA(3)
8074 if (self
.synpred142()) :
8079 if self
.backtracking
> 0:
8083 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self
.input)
8088 if self
.backtracking
> 0:
8092 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self
.input)
8097 if self
.backtracking
> 0:
8101 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self
.input)
8106 # C.g:458:4: lvalue assignment_operator assignment_expression
8107 self
.following
.append(self
.FOLLOW_lvalue_in_assignment_expression1744
)
8109 self
.following
.pop()
8112 self
.following
.append(self
.FOLLOW_assignment_operator_in_assignment_expression1746
)
8113 self
.assignment_operator()
8114 self
.following
.pop()
8117 self
.following
.append(self
.FOLLOW_assignment_expression_in_assignment_expression1748
)
8118 self
.assignment_expression()
8119 self
.following
.pop()
8125 # C.g:459:4: conditional_expression
8126 self
.following
.append(self
.FOLLOW_conditional_expression_in_assignment_expression1753
)
8127 self
.conditional_expression()
8128 self
.following
.pop()
8134 except RecognitionException
as re
:
8135 self
.reportError(re
)
8136 self
.recover(self
.input, re
)
8138 if self
.backtracking
> 0:
8139 self
.memoize(self
.input, 48, assignment_expression_StartIndex
)
8145 # $ANTLR end assignment_expression
8148 # $ANTLR start lvalue
8149 # C.g:462:1: lvalue : unary_expression ;
8152 lvalue_StartIndex
= self
.input.index()
8155 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 49):
8158 # C.g:463:2: ( unary_expression )
8159 # C.g:463:4: unary_expression
8160 self
.following
.append(self
.FOLLOW_unary_expression_in_lvalue1765
)
8161 self
.unary_expression()
8162 self
.following
.pop()
8169 except RecognitionException
as re
:
8170 self
.reportError(re
)
8171 self
.recover(self
.input, re
)
8173 if self
.backtracking
> 0:
8174 self
.memoize(self
.input, 49, lvalue_StartIndex
)
8183 # $ANTLR start assignment_operator
8184 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8185 def assignment_operator(self
, ):
8187 assignment_operator_StartIndex
= self
.input.index()
8190 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 50):
8193 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8195 if self
.input.LA(1) == 28 or (80 <= self
.input.LA(1) <= 89):
8196 self
.input.consume();
8197 self
.errorRecovery
= False
8201 if self
.backtracking
> 0:
8205 mse
= MismatchedSetException(None, self
.input)
8206 self
.recoverFromMismatchedSet(
8207 self
.input, mse
, self
.FOLLOW_set_in_assignment_operator0
8216 except RecognitionException
as re
:
8217 self
.reportError(re
)
8218 self
.recover(self
.input, re
)
8220 if self
.backtracking
> 0:
8221 self
.memoize(self
.input, 50, assignment_operator_StartIndex
)
8227 # $ANTLR end assignment_operator
8230 # $ANTLR start conditional_expression
8231 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8232 def conditional_expression(self
, ):
8234 conditional_expression_StartIndex
= self
.input.index()
8240 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 51):
8243 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8244 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8245 self
.following
.append(self
.FOLLOW_logical_or_expression_in_conditional_expression1839
)
8246 e
= self
.logical_or_expression()
8247 self
.following
.pop()
8250 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8252 LA75_0
= self
.input.LA(1)
8257 # C.g:481:29: '?' expression ':' conditional_expression
8258 self
.match(self
.input, 90, self
.FOLLOW_90_in_conditional_expression1842
)
8261 self
.following
.append(self
.FOLLOW_expression_in_conditional_expression1844
)
8263 self
.following
.pop()
8266 self
.match(self
.input, 47, self
.FOLLOW_47_in_conditional_expression1846
)
8269 self
.following
.append(self
.FOLLOW_conditional_expression_in_conditional_expression1848
)
8270 self
.conditional_expression()
8271 self
.following
.pop()
8274 if self
.backtracking
== 0:
8275 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
8284 except RecognitionException
as re
:
8285 self
.reportError(re
)
8286 self
.recover(self
.input, re
)
8288 if self
.backtracking
> 0:
8289 self
.memoize(self
.input, 51, conditional_expression_StartIndex
)
8295 # $ANTLR end conditional_expression
8297 class logical_or_expression_return(object):
8304 # $ANTLR start logical_or_expression
8305 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8306 def logical_or_expression(self
, ):
8308 retval
= self
.logical_or_expression_return()
8309 retval
.start
= self
.input.LT(1)
8310 logical_or_expression_StartIndex
= self
.input.index()
8313 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 52):
8316 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8317 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8318 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1863
)
8319 self
.logical_and_expression()
8320 self
.following
.pop()
8323 # C.g:485:27: ( '||' logical_and_expression )*
8326 LA76_0
= self
.input.LA(1)
8333 # C.g:485:28: '||' logical_and_expression
8334 self
.match(self
.input, 91, self
.FOLLOW_91_in_logical_or_expression1866
)
8337 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1868
)
8338 self
.logical_and_expression()
8339 self
.following
.pop()
8351 retval
.stop
= self
.input.LT(-1)
8354 except RecognitionException
as re
:
8355 self
.reportError(re
)
8356 self
.recover(self
.input, re
)
8358 if self
.backtracking
> 0:
8359 self
.memoize(self
.input, 52, logical_or_expression_StartIndex
)
8365 # $ANTLR end logical_or_expression
8368 # $ANTLR start logical_and_expression
8369 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8370 def logical_and_expression(self
, ):
8372 logical_and_expression_StartIndex
= self
.input.index()
8375 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 53):
8378 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8379 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8380 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1881
)
8381 self
.inclusive_or_expression()
8382 self
.following
.pop()
8385 # C.g:489:28: ( '&&' inclusive_or_expression )*
8388 LA77_0
= self
.input.LA(1)
8395 # C.g:489:29: '&&' inclusive_or_expression
8396 self
.match(self
.input, 92, self
.FOLLOW_92_in_logical_and_expression1884
)
8399 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1886
)
8400 self
.inclusive_or_expression()
8401 self
.following
.pop()
8414 except RecognitionException
as re
:
8415 self
.reportError(re
)
8416 self
.recover(self
.input, re
)
8418 if self
.backtracking
> 0:
8419 self
.memoize(self
.input, 53, logical_and_expression_StartIndex
)
8425 # $ANTLR end logical_and_expression
8428 # $ANTLR start inclusive_or_expression
8429 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8430 def inclusive_or_expression(self
, ):
8432 inclusive_or_expression_StartIndex
= self
.input.index()
8435 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 54):
8438 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8439 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8440 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899
)
8441 self
.exclusive_or_expression()
8442 self
.following
.pop()
8445 # C.g:493:28: ( '|' exclusive_or_expression )*
8448 LA78_0
= self
.input.LA(1)
8455 # C.g:493:29: '|' exclusive_or_expression
8456 self
.match(self
.input, 93, self
.FOLLOW_93_in_inclusive_or_expression1902
)
8459 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904
)
8460 self
.exclusive_or_expression()
8461 self
.following
.pop()
8474 except RecognitionException
as re
:
8475 self
.reportError(re
)
8476 self
.recover(self
.input, re
)
8478 if self
.backtracking
> 0:
8479 self
.memoize(self
.input, 54, inclusive_or_expression_StartIndex
)
8485 # $ANTLR end inclusive_or_expression
8488 # $ANTLR start exclusive_or_expression
8489 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8490 def exclusive_or_expression(self
, ):
8492 exclusive_or_expression_StartIndex
= self
.input.index()
8495 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 55):
8498 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8499 # C.g:497:4: and_expression ( '^' and_expression )*
8500 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1917
)
8501 self
.and_expression()
8502 self
.following
.pop()
8505 # C.g:497:19: ( '^' and_expression )*
8508 LA79_0
= self
.input.LA(1)
8515 # C.g:497:20: '^' and_expression
8516 self
.match(self
.input, 94, self
.FOLLOW_94_in_exclusive_or_expression1920
)
8519 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1922
)
8520 self
.and_expression()
8521 self
.following
.pop()
8534 except RecognitionException
as re
:
8535 self
.reportError(re
)
8536 self
.recover(self
.input, re
)
8538 if self
.backtracking
> 0:
8539 self
.memoize(self
.input, 55, exclusive_or_expression_StartIndex
)
8545 # $ANTLR end exclusive_or_expression
8548 # $ANTLR start and_expression
8549 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8550 def and_expression(self
, ):
8552 and_expression_StartIndex
= self
.input.index()
8555 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 56):
8558 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8559 # C.g:501:4: equality_expression ( '&' equality_expression )*
8560 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1935
)
8561 self
.equality_expression()
8562 self
.following
.pop()
8565 # C.g:501:24: ( '&' equality_expression )*
8568 LA80_0
= self
.input.LA(1)
8575 # C.g:501:25: '&' equality_expression
8576 self
.match(self
.input, 77, self
.FOLLOW_77_in_and_expression1938
)
8579 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1940
)
8580 self
.equality_expression()
8581 self
.following
.pop()
8594 except RecognitionException
as re
:
8595 self
.reportError(re
)
8596 self
.recover(self
.input, re
)
8598 if self
.backtracking
> 0:
8599 self
.memoize(self
.input, 56, and_expression_StartIndex
)
8605 # $ANTLR end and_expression
8608 # $ANTLR start equality_expression
8609 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8610 def equality_expression(self
, ):
8612 equality_expression_StartIndex
= self
.input.index()
8615 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 57):
8618 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8619 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8620 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1952
)
8621 self
.relational_expression()
8622 self
.following
.pop()
8625 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8628 LA81_0
= self
.input.LA(1)
8630 if ((95 <= LA81_0
<= 96)) :
8635 # C.g:504:27: ( '==' | '!=' ) relational_expression
8636 if (95 <= self
.input.LA(1) <= 96):
8637 self
.input.consume();
8638 self
.errorRecovery
= False
8642 if self
.backtracking
> 0:
8646 mse
= MismatchedSetException(None, self
.input)
8647 self
.recoverFromMismatchedSet(
8648 self
.input, mse
, self
.FOLLOW_set_in_equality_expression1955
8653 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1961
)
8654 self
.relational_expression()
8655 self
.following
.pop()
8668 except RecognitionException
as re
:
8669 self
.reportError(re
)
8670 self
.recover(self
.input, re
)
8672 if self
.backtracking
> 0:
8673 self
.memoize(self
.input, 57, equality_expression_StartIndex
)
8679 # $ANTLR end equality_expression
8682 # $ANTLR start relational_expression
8683 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8684 def relational_expression(self
, ):
8686 relational_expression_StartIndex
= self
.input.index()
8689 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 58):
8692 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8693 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8694 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1975
)
8695 self
.shift_expression()
8696 self
.following
.pop()
8699 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8702 LA82_0
= self
.input.LA(1)
8704 if ((97 <= LA82_0
<= 100)) :
8709 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8710 if (97 <= self
.input.LA(1) <= 100):
8711 self
.input.consume();
8712 self
.errorRecovery
= False
8716 if self
.backtracking
> 0:
8720 mse
= MismatchedSetException(None, self
.input)
8721 self
.recoverFromMismatchedSet(
8722 self
.input, mse
, self
.FOLLOW_set_in_relational_expression1978
8727 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1988
)
8728 self
.shift_expression()
8729 self
.following
.pop()
8742 except RecognitionException
as re
:
8743 self
.reportError(re
)
8744 self
.recover(self
.input, re
)
8746 if self
.backtracking
> 0:
8747 self
.memoize(self
.input, 58, relational_expression_StartIndex
)
8753 # $ANTLR end relational_expression
8756 # $ANTLR start shift_expression
8757 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8758 def shift_expression(self
, ):
8760 shift_expression_StartIndex
= self
.input.index()
8763 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 59):
8766 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8767 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8768 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression2001
)
8769 self
.additive_expression()
8770 self
.following
.pop()
8773 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8776 LA83_0
= self
.input.LA(1)
8778 if ((101 <= LA83_0
<= 102)) :
8783 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8784 if (101 <= self
.input.LA(1) <= 102):
8785 self
.input.consume();
8786 self
.errorRecovery
= False
8790 if self
.backtracking
> 0:
8794 mse
= MismatchedSetException(None, self
.input)
8795 self
.recoverFromMismatchedSet(
8796 self
.input, mse
, self
.FOLLOW_set_in_shift_expression2004
8801 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression2010
)
8802 self
.additive_expression()
8803 self
.following
.pop()
8816 except RecognitionException
as re
:
8817 self
.reportError(re
)
8818 self
.recover(self
.input, re
)
8820 if self
.backtracking
> 0:
8821 self
.memoize(self
.input, 59, shift_expression_StartIndex
)
8827 # $ANTLR end shift_expression
8830 # $ANTLR start statement
8831 # C.g:517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
8832 def statement(self
, ):
8834 statement_StartIndex
= self
.input.index()
8837 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 60):
8840 # C.g:518:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
8842 LA84
= self
.input.LA(1)
8843 if LA84
== IDENTIFIER
:
8844 LA84
= self
.input.LA(2)
8846 LA84_43
= self
.input.LA(3)
8848 if (self
.synpred169()) :
8850 elif (self
.synpred173()) :
8852 elif (self
.synpred174()) :
8857 if self
.backtracking
> 0:
8861 nvae
= NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 43, self
.input)
8867 elif LA84
== STRING_LITERAL
or LA84
== 27 or LA84
== 28 or LA84
== 64 or LA84
== 68 or LA84
== 69 or LA84
== 70 or LA84
== 71 or LA84
== 72 or LA84
== 73 or LA84
== 75 or LA84
== 76 or LA84
== 77 or LA84
== 80 or LA84
== 81 or LA84
== 82 or LA84
== 83 or LA84
== 84 or LA84
== 85 or LA84
== 86 or LA84
== 87 or LA84
== 88 or LA84
== 89 or LA84
== 90 or LA84
== 91 or LA84
== 92 or LA84
== 93 or LA84
== 94 or LA84
== 95 or LA84
== 96 or LA84
== 97 or LA84
== 98 or LA84
== 99 or LA84
== 100 or LA84
== 101 or LA84
== 102:
8870 LA84_47
= self
.input.LA(3)
8872 if (self
.synpred169()) :
8877 if self
.backtracking
> 0:
8881 nvae
= NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self
.input)
8885 elif LA84
== IDENTIFIER
:
8886 LA84_53
= self
.input.LA(3)
8888 if (self
.synpred169()) :
8893 if self
.backtracking
> 0:
8897 nvae
= NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 53, self
.input)
8902 LA84_68
= self
.input.LA(3)
8904 if (self
.synpred169()) :
8909 if self
.backtracking
> 0:
8913 nvae
= NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 68, self
.input)
8917 elif LA84
== 29 or LA84
== 30 or LA84
== 31 or LA84
== 32 or LA84
== 33 or LA84
== 34 or LA84
== 35 or LA84
== 36 or LA84
== 37 or LA84
== 38 or LA84
== 39 or LA84
== 40 or LA84
== 41 or LA84
== 42 or LA84
== 45 or LA84
== 46 or LA84
== 48 or LA84
== 49 or LA84
== 50 or LA84
== 51 or LA84
== 52 or LA84
== 53 or LA84
== 54 or LA84
== 55 or LA84
== 56 or LA84
== 57 or LA84
== 58 or LA84
== 59 or LA84
== 60 or LA84
== 61:
8920 if self
.backtracking
> 0:
8924 nvae
= NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self
.input)
8928 elif LA84
== 106 or LA84
== 107:
8932 elif LA84
== HEX_LITERAL
or LA84
== OCTAL_LITERAL
or LA84
== DECIMAL_LITERAL
or LA84
== CHARACTER_LITERAL
or LA84
== STRING_LITERAL
or LA84
== FLOATING_POINT_LITERAL
or LA84
== 25 or LA84
== 62 or LA84
== 66 or LA84
== 68 or LA84
== 69 or LA84
== 72 or LA84
== 73 or LA84
== 74 or LA84
== 77 or LA84
== 78 or LA84
== 79:
8934 elif LA84
== 108 or LA84
== 110:
8936 elif LA84
== 111 or LA84
== 112 or LA84
== 113:
8938 elif LA84
== 114 or LA84
== 115 or LA84
== 116 or LA84
== 117:
8946 elif LA84
== 26 or LA84
== 29 or LA84
== 30 or LA84
== 31 or LA84
== 32 or LA84
== 33 or LA84
== 34 or LA84
== 35 or LA84
== 36 or LA84
== 37 or LA84
== 38 or LA84
== 39 or LA84
== 40 or LA84
== 41 or LA84
== 42 or LA84
== 45 or LA84
== 46 or LA84
== 48 or LA84
== 49 or LA84
== 50 or LA84
== 51 or LA84
== 52 or LA84
== 53 or LA84
== 54 or LA84
== 55 or LA84
== 56 or LA84
== 57 or LA84
== 58 or LA84
== 59 or LA84
== 60 or LA84
== 61:
8949 if self
.backtracking
> 0:
8953 nvae
= NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self
.input)
8958 # C.g:518:4: labeled_statement
8959 self
.following
.append(self
.FOLLOW_labeled_statement_in_statement2025
)
8960 self
.labeled_statement()
8961 self
.following
.pop()
8967 # C.g:519:4: compound_statement
8968 self
.following
.append(self
.FOLLOW_compound_statement_in_statement2030
)
8969 self
.compound_statement()
8970 self
.following
.pop()
8976 # C.g:520:4: expression_statement
8977 self
.following
.append(self
.FOLLOW_expression_statement_in_statement2035
)
8978 self
.expression_statement()
8979 self
.following
.pop()
8985 # C.g:521:4: selection_statement
8986 self
.following
.append(self
.FOLLOW_selection_statement_in_statement2040
)
8987 self
.selection_statement()
8988 self
.following
.pop()
8994 # C.g:522:4: iteration_statement
8995 self
.following
.append(self
.FOLLOW_iteration_statement_in_statement2045
)
8996 self
.iteration_statement()
8997 self
.following
.pop()
9003 # C.g:523:4: jump_statement
9004 self
.following
.append(self
.FOLLOW_jump_statement_in_statement2050
)
9005 self
.jump_statement()
9006 self
.following
.pop()
9012 # C.g:524:4: macro_statement
9013 self
.following
.append(self
.FOLLOW_macro_statement_in_statement2055
)
9014 self
.macro_statement()
9015 self
.following
.pop()
9021 # C.g:525:4: asm2_statement
9022 self
.following
.append(self
.FOLLOW_asm2_statement_in_statement2060
)
9023 self
.asm2_statement()
9024 self
.following
.pop()
9030 # C.g:526:4: asm1_statement
9031 self
.following
.append(self
.FOLLOW_asm1_statement_in_statement2065
)
9032 self
.asm1_statement()
9033 self
.following
.pop()
9039 # C.g:527:4: asm_statement
9040 self
.following
.append(self
.FOLLOW_asm_statement_in_statement2070
)
9041 self
.asm_statement()
9042 self
.following
.pop()
9048 # C.g:528:4: declaration
9049 self
.following
.append(self
.FOLLOW_declaration_in_statement2075
)
9051 self
.following
.pop()
9057 except RecognitionException
as re
:
9058 self
.reportError(re
)
9059 self
.recover(self
.input, re
)
9061 if self
.backtracking
> 0:
9062 self
.memoize(self
.input, 60, statement_StartIndex
)
9068 # $ANTLR end statement
9071 # $ANTLR start asm2_statement
9072 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9073 def asm2_statement(self
, ):
9075 asm2_statement_StartIndex
= self
.input.index()
9078 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 61):
9081 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9082 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9083 # C.g:532:4: ( '__asm__' )?
9085 LA85_0
= self
.input.LA(1)
9087 if (LA85_0
== 103) :
9090 # C.g:0:0: '__asm__'
9091 self
.match(self
.input, 103, self
.FOLLOW_103_in_asm2_statement2086
)
9097 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_asm2_statement2089
)
9100 self
.match(self
.input, 62, self
.FOLLOW_62_in_asm2_statement2091
)
9103 # C.g:532:30: (~ ( ';' ) )*
9106 LA86_0
= self
.input.LA(1)
9109 LA86_1
= self
.input.LA(2)
9111 if ((IDENTIFIER
<= LA86_1
<= LINE_COMMAND
) or (26 <= LA86_1
<= 117)) :
9115 elif ((IDENTIFIER
<= LA86_0
<= LINE_COMMAND
) or (26 <= LA86_0
<= 62) or (64 <= LA86_0
<= 117)) :
9120 # C.g:532:31: ~ ( ';' )
9121 if (IDENTIFIER
<= self
.input.LA(1) <= LINE_COMMAND
) or (26 <= self
.input.LA(1) <= 117):
9122 self
.input.consume();
9123 self
.errorRecovery
= False
9127 if self
.backtracking
> 0:
9131 mse
= MismatchedSetException(None, self
.input)
9132 self
.recoverFromMismatchedSet(
9133 self
.input, mse
, self
.FOLLOW_set_in_asm2_statement2094
9144 self
.match(self
.input, 63, self
.FOLLOW_63_in_asm2_statement2101
)
9147 self
.match(self
.input, 25, self
.FOLLOW_25_in_asm2_statement2103
)
9154 except RecognitionException
as re
:
9155 self
.reportError(re
)
9156 self
.recover(self
.input, re
)
9158 if self
.backtracking
> 0:
9159 self
.memoize(self
.input, 61, asm2_statement_StartIndex
)
9165 # $ANTLR end asm2_statement
9168 # $ANTLR start asm1_statement
9169 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9170 def asm1_statement(self
, ):
9172 asm1_statement_StartIndex
= self
.input.index()
9175 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 62):
9178 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9179 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9180 self
.match(self
.input, 104, self
.FOLLOW_104_in_asm1_statement2115
)
9183 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm1_statement2117
)
9186 # C.g:536:15: (~ ( '}' ) )*
9189 LA87_0
= self
.input.LA(1)
9191 if ((IDENTIFIER
<= LA87_0
<= 43) or (45 <= LA87_0
<= 117)) :
9196 # C.g:536:16: ~ ( '}' )
9197 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 117):
9198 self
.input.consume();
9199 self
.errorRecovery
= False
9203 if self
.backtracking
> 0:
9207 mse
= MismatchedSetException(None, self
.input)
9208 self
.recoverFromMismatchedSet(
9209 self
.input, mse
, self
.FOLLOW_set_in_asm1_statement2120
9220 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm1_statement2127
)
9227 except RecognitionException
as re
:
9228 self
.reportError(re
)
9229 self
.recover(self
.input, re
)
9231 if self
.backtracking
> 0:
9232 self
.memoize(self
.input, 62, asm1_statement_StartIndex
)
9238 # $ANTLR end asm1_statement
9241 # $ANTLR start asm_statement
9242 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9243 def asm_statement(self
, ):
9245 asm_statement_StartIndex
= self
.input.index()
9248 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 63):
9251 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9252 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9253 self
.match(self
.input, 105, self
.FOLLOW_105_in_asm_statement2138
)
9256 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm_statement2140
)
9259 # C.g:540:16: (~ ( '}' ) )*
9262 LA88_0
= self
.input.LA(1)
9264 if ((IDENTIFIER
<= LA88_0
<= 43) or (45 <= LA88_0
<= 117)) :
9269 # C.g:540:17: ~ ( '}' )
9270 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 117):
9271 self
.input.consume();
9272 self
.errorRecovery
= False
9276 if self
.backtracking
> 0:
9280 mse
= MismatchedSetException(None, self
.input)
9281 self
.recoverFromMismatchedSet(
9282 self
.input, mse
, self
.FOLLOW_set_in_asm_statement2143
9293 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm_statement2150
)
9300 except RecognitionException
as re
:
9301 self
.reportError(re
)
9302 self
.recover(self
.input, re
)
9304 if self
.backtracking
> 0:
9305 self
.memoize(self
.input, 63, asm_statement_StartIndex
)
9311 # $ANTLR end asm_statement
9314 # $ANTLR start macro_statement
9315 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9316 def macro_statement(self
, ):
9318 macro_statement_StartIndex
= self
.input.index()
9321 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 64):
9324 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9325 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9326 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_macro_statement2162
)
9329 self
.match(self
.input, 62, self
.FOLLOW_62_in_macro_statement2164
)
9332 # C.g:544:19: ( declaration )*
9335 LA89
= self
.input.LA(1)
9336 if LA89
== IDENTIFIER
:
9337 LA89
= self
.input.LA(2)
9339 LA89_45
= self
.input.LA(3)
9341 if (self
.synpred181()) :
9345 elif LA89
== IDENTIFIER
:
9346 LA89_47
= self
.input.LA(3)
9348 if (self
.synpred181()) :
9353 LA89_50
= self
.input.LA(3)
9355 if (self
.synpred181()) :
9360 LA89_68
= self
.input.LA(3)
9362 if (self
.synpred181()) :
9367 LA89_71
= self
.input.LA(3)
9369 if (self
.synpred181()) :
9374 LA89_72
= self
.input.LA(3)
9376 if (self
.synpred181()) :
9381 LA89_73
= self
.input.LA(3)
9383 if (self
.synpred181()) :
9387 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9388 LA89_74
= self
.input.LA(3)
9390 if (self
.synpred181()) :
9395 LA89_75
= self
.input.LA(3)
9397 if (self
.synpred181()) :
9402 LA89_76
= self
.input.LA(3)
9404 if (self
.synpred181()) :
9409 LA89_77
= self
.input.LA(3)
9411 if (self
.synpred181()) :
9416 LA89_78
= self
.input.LA(3)
9418 if (self
.synpred181()) :
9423 LA89_79
= self
.input.LA(3)
9425 if (self
.synpred181()) :
9430 LA89_80
= self
.input.LA(3)
9432 if (self
.synpred181()) :
9437 LA89_81
= self
.input.LA(3)
9439 if (self
.synpred181()) :
9444 LA89_82
= self
.input.LA(3)
9446 if (self
.synpred181()) :
9451 LA89_83
= self
.input.LA(3)
9453 if (self
.synpred181()) :
9457 elif LA89
== 45 or LA89
== 46:
9458 LA89_84
= self
.input.LA(3)
9460 if (self
.synpred181()) :
9465 LA89_85
= self
.input.LA(3)
9467 if (self
.synpred181()) :
9471 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
9472 LA89_86
= self
.input.LA(3)
9474 if (self
.synpred181()) :
9480 LA89
= self
.input.LA(2)
9481 if LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9482 LA89_87
= self
.input.LA(3)
9484 if (self
.synpred181()) :
9489 LA89_88
= self
.input.LA(3)
9491 if (self
.synpred181()) :
9496 LA89_89
= self
.input.LA(3)
9498 if (self
.synpred181()) :
9503 LA89_90
= self
.input.LA(3)
9505 if (self
.synpred181()) :
9510 LA89_91
= self
.input.LA(3)
9512 if (self
.synpred181()) :
9517 LA89_92
= self
.input.LA(3)
9519 if (self
.synpred181()) :
9524 LA89_93
= self
.input.LA(3)
9526 if (self
.synpred181()) :
9531 LA89_94
= self
.input.LA(3)
9533 if (self
.synpred181()) :
9538 LA89_95
= self
.input.LA(3)
9540 if (self
.synpred181()) :
9545 LA89_96
= self
.input.LA(3)
9547 if (self
.synpred181()) :
9551 elif LA89
== 45 or LA89
== 46:
9552 LA89_97
= self
.input.LA(3)
9554 if (self
.synpred181()) :
9559 LA89_98
= self
.input.LA(3)
9561 if (self
.synpred181()) :
9565 elif LA89
== IDENTIFIER
:
9566 LA89_99
= self
.input.LA(3)
9568 if (self
.synpred181()) :
9573 LA89_100
= self
.input.LA(3)
9575 if (self
.synpred181()) :
9580 LA89_101
= self
.input.LA(3)
9582 if (self
.synpred181()) :
9587 LA89_102
= self
.input.LA(3)
9589 if (self
.synpred181()) :
9594 LA89_103
= self
.input.LA(3)
9596 if (self
.synpred181()) :
9600 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
9601 LA89_104
= self
.input.LA(3)
9603 if (self
.synpred181()) :
9608 LA89_105
= self
.input.LA(3)
9610 if (self
.synpred181()) :
9615 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9616 LA89
= self
.input.LA(2)
9618 LA89_106
= self
.input.LA(3)
9620 if (self
.synpred181()) :
9625 LA89_107
= self
.input.LA(3)
9627 if (self
.synpred181()) :
9632 LA89_108
= self
.input.LA(3)
9634 if (self
.synpred181()) :
9639 LA89_109
= self
.input.LA(3)
9641 if (self
.synpred181()) :
9645 elif LA89
== IDENTIFIER
:
9646 LA89_110
= self
.input.LA(3)
9648 if (self
.synpred181()) :
9653 LA89_111
= self
.input.LA(3)
9655 if (self
.synpred181()) :
9660 LA89_112
= self
.input.LA(3)
9662 if (self
.synpred181()) :
9666 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9667 LA89_113
= self
.input.LA(3)
9669 if (self
.synpred181()) :
9674 LA89_114
= self
.input.LA(3)
9676 if (self
.synpred181()) :
9681 LA89_115
= self
.input.LA(3)
9683 if (self
.synpred181()) :
9688 LA89_116
= self
.input.LA(3)
9690 if (self
.synpred181()) :
9695 LA89_117
= self
.input.LA(3)
9697 if (self
.synpred181()) :
9702 LA89_118
= self
.input.LA(3)
9704 if (self
.synpred181()) :
9709 LA89_119
= self
.input.LA(3)
9711 if (self
.synpred181()) :
9716 LA89_120
= self
.input.LA(3)
9718 if (self
.synpred181()) :
9723 LA89_121
= self
.input.LA(3)
9725 if (self
.synpred181()) :
9730 LA89_122
= self
.input.LA(3)
9732 if (self
.synpred181()) :
9736 elif LA89
== 45 or LA89
== 46:
9737 LA89_123
= self
.input.LA(3)
9739 if (self
.synpred181()) :
9744 LA89_124
= self
.input.LA(3)
9746 if (self
.synpred181()) :
9750 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
9751 LA89_125
= self
.input.LA(3)
9753 if (self
.synpred181()) :
9759 LA89
= self
.input.LA(2)
9761 LA89_126
= self
.input.LA(3)
9763 if (self
.synpred181()) :
9768 LA89_127
= self
.input.LA(3)
9770 if (self
.synpred181()) :
9775 LA89_128
= self
.input.LA(3)
9777 if (self
.synpred181()) :
9782 LA89_129
= self
.input.LA(3)
9784 if (self
.synpred181()) :
9788 elif LA89
== IDENTIFIER
:
9789 LA89_130
= self
.input.LA(3)
9791 if (self
.synpred181()) :
9796 LA89_131
= self
.input.LA(3)
9798 if (self
.synpred181()) :
9803 LA89_132
= self
.input.LA(3)
9805 if (self
.synpred181()) :
9809 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9810 LA89_133
= self
.input.LA(3)
9812 if (self
.synpred181()) :
9817 LA89_134
= self
.input.LA(3)
9819 if (self
.synpred181()) :
9824 LA89_135
= self
.input.LA(3)
9826 if (self
.synpred181()) :
9831 LA89_136
= self
.input.LA(3)
9833 if (self
.synpred181()) :
9838 LA89_137
= self
.input.LA(3)
9840 if (self
.synpred181()) :
9845 LA89_138
= self
.input.LA(3)
9847 if (self
.synpred181()) :
9852 LA89_139
= self
.input.LA(3)
9854 if (self
.synpred181()) :
9859 LA89_140
= self
.input.LA(3)
9861 if (self
.synpred181()) :
9866 LA89_141
= self
.input.LA(3)
9868 if (self
.synpred181()) :
9873 LA89_142
= self
.input.LA(3)
9875 if (self
.synpred181()) :
9879 elif LA89
== 45 or LA89
== 46:
9880 LA89_143
= self
.input.LA(3)
9882 if (self
.synpred181()) :
9887 LA89_144
= self
.input.LA(3)
9889 if (self
.synpred181()) :
9893 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
9894 LA89_145
= self
.input.LA(3)
9896 if (self
.synpred181()) :
9902 LA89
= self
.input.LA(2)
9904 LA89_146
= self
.input.LA(3)
9906 if (self
.synpred181()) :
9911 LA89_147
= self
.input.LA(3)
9913 if (self
.synpred181()) :
9918 LA89_148
= self
.input.LA(3)
9920 if (self
.synpred181()) :
9925 LA89_149
= self
.input.LA(3)
9927 if (self
.synpred181()) :
9931 elif LA89
== IDENTIFIER
:
9932 LA89_150
= self
.input.LA(3)
9934 if (self
.synpred181()) :
9939 LA89_151
= self
.input.LA(3)
9941 if (self
.synpred181()) :
9946 LA89_152
= self
.input.LA(3)
9948 if (self
.synpred181()) :
9952 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9953 LA89_153
= self
.input.LA(3)
9955 if (self
.synpred181()) :
9960 LA89_154
= self
.input.LA(3)
9962 if (self
.synpred181()) :
9967 LA89_155
= self
.input.LA(3)
9969 if (self
.synpred181()) :
9974 LA89_156
= self
.input.LA(3)
9976 if (self
.synpred181()) :
9981 LA89_157
= self
.input.LA(3)
9983 if (self
.synpred181()) :
9988 LA89_158
= self
.input.LA(3)
9990 if (self
.synpred181()) :
9995 LA89_159
= self
.input.LA(3)
9997 if (self
.synpred181()) :
10002 LA89_160
= self
.input.LA(3)
10004 if (self
.synpred181()) :
10009 LA89_161
= self
.input.LA(3)
10011 if (self
.synpred181()) :
10016 LA89_162
= self
.input.LA(3)
10018 if (self
.synpred181()) :
10022 elif LA89
== 45 or LA89
== 46:
10023 LA89_163
= self
.input.LA(3)
10025 if (self
.synpred181()) :
10030 LA89_164
= self
.input.LA(3)
10032 if (self
.synpred181()) :
10036 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
10037 LA89_165
= self
.input.LA(3)
10039 if (self
.synpred181()) :
10045 LA89
= self
.input.LA(2)
10047 LA89_166
= self
.input.LA(3)
10049 if (self
.synpred181()) :
10054 LA89_167
= self
.input.LA(3)
10056 if (self
.synpred181()) :
10061 LA89_168
= self
.input.LA(3)
10063 if (self
.synpred181()) :
10068 LA89_169
= self
.input.LA(3)
10070 if (self
.synpred181()) :
10074 elif LA89
== IDENTIFIER
:
10075 LA89_170
= self
.input.LA(3)
10077 if (self
.synpred181()) :
10082 LA89_171
= self
.input.LA(3)
10084 if (self
.synpred181()) :
10089 LA89_172
= self
.input.LA(3)
10091 if (self
.synpred181()) :
10095 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10096 LA89_173
= self
.input.LA(3)
10098 if (self
.synpred181()) :
10103 LA89_174
= self
.input.LA(3)
10105 if (self
.synpred181()) :
10110 LA89_175
= self
.input.LA(3)
10112 if (self
.synpred181()) :
10117 LA89_176
= self
.input.LA(3)
10119 if (self
.synpred181()) :
10124 LA89_177
= self
.input.LA(3)
10126 if (self
.synpred181()) :
10131 LA89_178
= self
.input.LA(3)
10133 if (self
.synpred181()) :
10138 LA89_179
= self
.input.LA(3)
10140 if (self
.synpred181()) :
10145 LA89_180
= self
.input.LA(3)
10147 if (self
.synpred181()) :
10152 LA89_181
= self
.input.LA(3)
10154 if (self
.synpred181()) :
10159 LA89_182
= self
.input.LA(3)
10161 if (self
.synpred181()) :
10165 elif LA89
== 45 or LA89
== 46:
10166 LA89_183
= self
.input.LA(3)
10168 if (self
.synpred181()) :
10173 LA89_184
= self
.input.LA(3)
10175 if (self
.synpred181()) :
10179 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
10180 LA89_185
= self
.input.LA(3)
10182 if (self
.synpred181()) :
10188 LA89
= self
.input.LA(2)
10190 LA89_186
= self
.input.LA(3)
10192 if (self
.synpred181()) :
10197 LA89_187
= self
.input.LA(3)
10199 if (self
.synpred181()) :
10204 LA89_188
= self
.input.LA(3)
10206 if (self
.synpred181()) :
10211 LA89_189
= self
.input.LA(3)
10213 if (self
.synpred181()) :
10217 elif LA89
== IDENTIFIER
:
10218 LA89_190
= self
.input.LA(3)
10220 if (self
.synpred181()) :
10225 LA89_191
= self
.input.LA(3)
10227 if (self
.synpred181()) :
10232 LA89_192
= self
.input.LA(3)
10234 if (self
.synpred181()) :
10238 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10239 LA89_193
= self
.input.LA(3)
10241 if (self
.synpred181()) :
10246 LA89_194
= self
.input.LA(3)
10248 if (self
.synpred181()) :
10253 LA89_195
= self
.input.LA(3)
10255 if (self
.synpred181()) :
10260 LA89_196
= self
.input.LA(3)
10262 if (self
.synpred181()) :
10267 LA89_197
= self
.input.LA(3)
10269 if (self
.synpred181()) :
10274 LA89_198
= self
.input.LA(3)
10276 if (self
.synpred181()) :
10281 LA89_199
= self
.input.LA(3)
10283 if (self
.synpred181()) :
10288 LA89_200
= self
.input.LA(3)
10290 if (self
.synpred181()) :
10295 LA89_201
= self
.input.LA(3)
10297 if (self
.synpred181()) :
10302 LA89_202
= self
.input.LA(3)
10304 if (self
.synpred181()) :
10308 elif LA89
== 45 or LA89
== 46:
10309 LA89_203
= self
.input.LA(3)
10311 if (self
.synpred181()) :
10316 LA89_204
= self
.input.LA(3)
10318 if (self
.synpred181()) :
10322 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
10323 LA89_205
= self
.input.LA(3)
10325 if (self
.synpred181()) :
10331 LA89
= self
.input.LA(2)
10333 LA89_206
= self
.input.LA(3)
10335 if (self
.synpred181()) :
10340 LA89_207
= self
.input.LA(3)
10342 if (self
.synpred181()) :
10347 LA89_208
= self
.input.LA(3)
10349 if (self
.synpred181()) :
10354 LA89_209
= self
.input.LA(3)
10356 if (self
.synpred181()) :
10360 elif LA89
== IDENTIFIER
:
10361 LA89_210
= self
.input.LA(3)
10363 if (self
.synpred181()) :
10368 LA89_211
= self
.input.LA(3)
10370 if (self
.synpred181()) :
10375 LA89_212
= self
.input.LA(3)
10377 if (self
.synpred181()) :
10381 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10382 LA89_213
= self
.input.LA(3)
10384 if (self
.synpred181()) :
10389 LA89_214
= self
.input.LA(3)
10391 if (self
.synpred181()) :
10396 LA89_215
= self
.input.LA(3)
10398 if (self
.synpred181()) :
10403 LA89_216
= self
.input.LA(3)
10405 if (self
.synpred181()) :
10410 LA89_217
= self
.input.LA(3)
10412 if (self
.synpred181()) :
10417 LA89_218
= self
.input.LA(3)
10419 if (self
.synpred181()) :
10424 LA89_219
= self
.input.LA(3)
10426 if (self
.synpred181()) :
10431 LA89_220
= self
.input.LA(3)
10433 if (self
.synpred181()) :
10438 LA89_221
= self
.input.LA(3)
10440 if (self
.synpred181()) :
10445 LA89_222
= self
.input.LA(3)
10447 if (self
.synpred181()) :
10451 elif LA89
== 45 or LA89
== 46:
10452 LA89_223
= self
.input.LA(3)
10454 if (self
.synpred181()) :
10459 LA89_224
= self
.input.LA(3)
10461 if (self
.synpred181()) :
10465 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
10466 LA89_225
= self
.input.LA(3)
10468 if (self
.synpred181()) :
10474 LA89
= self
.input.LA(2)
10476 LA89_226
= self
.input.LA(3)
10478 if (self
.synpred181()) :
10483 LA89_227
= self
.input.LA(3)
10485 if (self
.synpred181()) :
10490 LA89_228
= self
.input.LA(3)
10492 if (self
.synpred181()) :
10497 LA89_229
= self
.input.LA(3)
10499 if (self
.synpred181()) :
10503 elif LA89
== IDENTIFIER
:
10504 LA89_230
= self
.input.LA(3)
10506 if (self
.synpred181()) :
10511 LA89_231
= self
.input.LA(3)
10513 if (self
.synpred181()) :
10518 LA89_232
= self
.input.LA(3)
10520 if (self
.synpred181()) :
10524 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10525 LA89_233
= self
.input.LA(3)
10527 if (self
.synpred181()) :
10532 LA89_234
= self
.input.LA(3)
10534 if (self
.synpred181()) :
10539 LA89_235
= self
.input.LA(3)
10541 if (self
.synpred181()) :
10546 LA89_236
= self
.input.LA(3)
10548 if (self
.synpred181()) :
10553 LA89_237
= self
.input.LA(3)
10555 if (self
.synpred181()) :
10560 LA89_238
= self
.input.LA(3)
10562 if (self
.synpred181()) :
10567 LA89_239
= self
.input.LA(3)
10569 if (self
.synpred181()) :
10574 LA89_240
= self
.input.LA(3)
10576 if (self
.synpred181()) :
10581 LA89_241
= self
.input.LA(3)
10583 if (self
.synpred181()) :
10588 LA89_242
= self
.input.LA(3)
10590 if (self
.synpred181()) :
10594 elif LA89
== 45 or LA89
== 46:
10595 LA89_243
= self
.input.LA(3)
10597 if (self
.synpred181()) :
10602 LA89_244
= self
.input.LA(3)
10604 if (self
.synpred181()) :
10608 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
10609 LA89_245
= self
.input.LA(3)
10611 if (self
.synpred181()) :
10617 LA89
= self
.input.LA(2)
10619 LA89_246
= self
.input.LA(3)
10621 if (self
.synpred181()) :
10626 LA89_247
= self
.input.LA(3)
10628 if (self
.synpred181()) :
10633 LA89_248
= self
.input.LA(3)
10635 if (self
.synpred181()) :
10640 LA89_249
= self
.input.LA(3)
10642 if (self
.synpred181()) :
10646 elif LA89
== IDENTIFIER
:
10647 LA89_250
= self
.input.LA(3)
10649 if (self
.synpred181()) :
10654 LA89_251
= self
.input.LA(3)
10656 if (self
.synpred181()) :
10661 LA89_252
= self
.input.LA(3)
10663 if (self
.synpred181()) :
10667 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10668 LA89_253
= self
.input.LA(3)
10670 if (self
.synpred181()) :
10675 LA89_254
= self
.input.LA(3)
10677 if (self
.synpred181()) :
10682 LA89_255
= self
.input.LA(3)
10684 if (self
.synpred181()) :
10689 LA89_256
= self
.input.LA(3)
10691 if (self
.synpred181()) :
10696 LA89_257
= self
.input.LA(3)
10698 if (self
.synpred181()) :
10703 LA89_258
= self
.input.LA(3)
10705 if (self
.synpred181()) :
10710 LA89_259
= self
.input.LA(3)
10712 if (self
.synpred181()) :
10717 LA89_260
= self
.input.LA(3)
10719 if (self
.synpred181()) :
10724 LA89_261
= self
.input.LA(3)
10726 if (self
.synpred181()) :
10731 LA89_262
= self
.input.LA(3)
10733 if (self
.synpred181()) :
10737 elif LA89
== 45 or LA89
== 46:
10738 LA89_263
= self
.input.LA(3)
10740 if (self
.synpred181()) :
10745 LA89_264
= self
.input.LA(3)
10747 if (self
.synpred181()) :
10751 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
10752 LA89_265
= self
.input.LA(3)
10754 if (self
.synpred181()) :
10760 LA89
= self
.input.LA(2)
10762 LA89_266
= self
.input.LA(3)
10764 if (self
.synpred181()) :
10769 LA89_267
= self
.input.LA(3)
10771 if (self
.synpred181()) :
10776 LA89_268
= self
.input.LA(3)
10778 if (self
.synpred181()) :
10783 LA89_269
= self
.input.LA(3)
10785 if (self
.synpred181()) :
10789 elif LA89
== IDENTIFIER
:
10790 LA89_270
= self
.input.LA(3)
10792 if (self
.synpred181()) :
10797 LA89_271
= self
.input.LA(3)
10799 if (self
.synpred181()) :
10804 LA89_272
= self
.input.LA(3)
10806 if (self
.synpred181()) :
10810 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10811 LA89_273
= self
.input.LA(3)
10813 if (self
.synpred181()) :
10818 LA89_274
= self
.input.LA(3)
10820 if (self
.synpred181()) :
10825 LA89_275
= self
.input.LA(3)
10827 if (self
.synpred181()) :
10832 LA89_276
= self
.input.LA(3)
10834 if (self
.synpred181()) :
10839 LA89_277
= self
.input.LA(3)
10841 if (self
.synpred181()) :
10846 LA89_278
= self
.input.LA(3)
10848 if (self
.synpred181()) :
10853 LA89_279
= self
.input.LA(3)
10855 if (self
.synpred181()) :
10860 LA89_280
= self
.input.LA(3)
10862 if (self
.synpred181()) :
10867 LA89_281
= self
.input.LA(3)
10869 if (self
.synpred181()) :
10874 LA89_282
= self
.input.LA(3)
10876 if (self
.synpred181()) :
10880 elif LA89
== 45 or LA89
== 46:
10881 LA89_283
= self
.input.LA(3)
10883 if (self
.synpred181()) :
10888 LA89_284
= self
.input.LA(3)
10890 if (self
.synpred181()) :
10894 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
10895 LA89_285
= self
.input.LA(3)
10897 if (self
.synpred181()) :
10903 LA89
= self
.input.LA(2)
10905 LA89_286
= self
.input.LA(3)
10907 if (self
.synpred181()) :
10912 LA89_287
= self
.input.LA(3)
10914 if (self
.synpred181()) :
10919 LA89_288
= self
.input.LA(3)
10921 if (self
.synpred181()) :
10926 LA89_289
= self
.input.LA(3)
10928 if (self
.synpred181()) :
10932 elif LA89
== IDENTIFIER
:
10933 LA89_290
= self
.input.LA(3)
10935 if (self
.synpred181()) :
10940 LA89_291
= self
.input.LA(3)
10942 if (self
.synpred181()) :
10947 LA89_292
= self
.input.LA(3)
10949 if (self
.synpred181()) :
10953 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10954 LA89_293
= self
.input.LA(3)
10956 if (self
.synpred181()) :
10961 LA89_294
= self
.input.LA(3)
10963 if (self
.synpred181()) :
10968 LA89_295
= self
.input.LA(3)
10970 if (self
.synpred181()) :
10975 LA89_296
= self
.input.LA(3)
10977 if (self
.synpred181()) :
10982 LA89_297
= self
.input.LA(3)
10984 if (self
.synpred181()) :
10989 LA89_298
= self
.input.LA(3)
10991 if (self
.synpred181()) :
10996 LA89_299
= self
.input.LA(3)
10998 if (self
.synpred181()) :
11003 LA89_300
= self
.input.LA(3)
11005 if (self
.synpred181()) :
11010 LA89_301
= self
.input.LA(3)
11012 if (self
.synpred181()) :
11017 LA89_302
= self
.input.LA(3)
11019 if (self
.synpred181()) :
11023 elif LA89
== 45 or LA89
== 46:
11024 LA89_303
= self
.input.LA(3)
11026 if (self
.synpred181()) :
11031 LA89_304
= self
.input.LA(3)
11033 if (self
.synpred181()) :
11037 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
11038 LA89_305
= self
.input.LA(3)
11040 if (self
.synpred181()) :
11045 elif LA89
== 45 or LA89
== 46:
11046 LA89_40
= self
.input.LA(2)
11048 if (LA89_40
== IDENTIFIER
) :
11049 LA89_306
= self
.input.LA(3)
11051 if (self
.synpred181()) :
11055 elif (LA89_40
== 43) :
11056 LA89_307
= self
.input.LA(3)
11058 if (self
.synpred181()) :
11065 LA89_41
= self
.input.LA(2)
11067 if (LA89_41
== 43) :
11068 LA89_308
= self
.input.LA(3)
11070 if (self
.synpred181()) :
11074 elif (LA89_41
== IDENTIFIER
) :
11075 LA89_309
= self
.input.LA(3)
11077 if (self
.synpred181()) :
11083 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 58 or LA89
== 59 or LA89
== 60 or LA89
== 61:
11084 LA89
= self
.input.LA(2)
11086 LA89_310
= self
.input.LA(3)
11088 if (self
.synpred181()) :
11093 LA89_311
= self
.input.LA(3)
11095 if (self
.synpred181()) :
11100 LA89_312
= self
.input.LA(3)
11102 if (self
.synpred181()) :
11107 LA89_313
= self
.input.LA(3)
11109 if (self
.synpred181()) :
11113 elif LA89
== IDENTIFIER
:
11114 LA89_314
= self
.input.LA(3)
11116 if (self
.synpred181()) :
11121 LA89_315
= self
.input.LA(3)
11123 if (self
.synpred181()) :
11128 LA89_316
= self
.input.LA(3)
11130 if (self
.synpred181()) :
11134 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
11135 LA89_317
= self
.input.LA(3)
11137 if (self
.synpred181()) :
11142 LA89_318
= self
.input.LA(3)
11144 if (self
.synpred181()) :
11149 LA89_319
= self
.input.LA(3)
11151 if (self
.synpred181()) :
11156 LA89_320
= self
.input.LA(3)
11158 if (self
.synpred181()) :
11163 LA89_321
= self
.input.LA(3)
11165 if (self
.synpred181()) :
11170 LA89_322
= self
.input.LA(3)
11172 if (self
.synpred181()) :
11177 LA89_323
= self
.input.LA(3)
11179 if (self
.synpred181()) :
11184 LA89_324
= self
.input.LA(3)
11186 if (self
.synpred181()) :
11191 LA89_325
= self
.input.LA(3)
11193 if (self
.synpred181()) :
11198 LA89_326
= self
.input.LA(3)
11200 if (self
.synpred181()) :
11204 elif LA89
== 45 or LA89
== 46:
11205 LA89_327
= self
.input.LA(3)
11207 if (self
.synpred181()) :
11212 LA89_328
= self
.input.LA(3)
11214 if (self
.synpred181()) :
11218 elif LA89
== 49 or LA89
== 50 or LA89
== 51 or LA89
== 52 or LA89
== 53 or LA89
== 54 or LA89
== 55 or LA89
== 56 or LA89
== 57 or LA89
== 61:
11219 LA89_329
= self
.input.LA(3)
11221 if (self
.synpred181()) :
11228 # C.g:0:0: declaration
11229 self
.following
.append(self
.FOLLOW_declaration_in_macro_statement2166
)
11231 self
.following
.pop()
11240 # C.g:544:33: ( statement_list )?
11242 LA90
= self
.input.LA(1)
11243 if LA90
== IDENTIFIER
:
11244 LA90
= self
.input.LA(2)
11245 if LA90
== 25 or LA90
== 29 or LA90
== 30 or LA90
== 31 or LA90
== 32 or LA90
== 33 or LA90
== 34 or LA90
== 35 or LA90
== 36 or LA90
== 37 or LA90
== 38 or LA90
== 39 or LA90
== 40 or LA90
== 41 or LA90
== 42 or LA90
== 45 or LA90
== 46 or LA90
== 47 or LA90
== 48 or LA90
== 49 or LA90
== 50 or LA90
== 51 or LA90
== 52 or LA90
== 53 or LA90
== 54 or LA90
== 55 or LA90
== 56 or LA90
== 57 or LA90
== 58 or LA90
== 59 or LA90
== 60 or LA90
== 61:
11248 LA90_45
= self
.input.LA(3)
11250 if (self
.synpred182()) :
11252 elif LA90
== STRING_LITERAL
:
11253 LA90_46
= self
.input.LA(3)
11255 if (self
.synpred182()) :
11257 elif LA90
== IDENTIFIER
:
11258 LA90_47
= self
.input.LA(3)
11260 if (self
.synpred182()) :
11263 LA90_48
= self
.input.LA(3)
11265 if (self
.synpred182()) :
11268 LA90_49
= self
.input.LA(3)
11270 if (self
.synpred182()) :
11273 LA90_50
= self
.input.LA(3)
11275 if (self
.synpred182()) :
11278 LA90_51
= self
.input.LA(3)
11280 if (self
.synpred182()) :
11283 LA90_52
= self
.input.LA(3)
11285 if (self
.synpred182()) :
11288 LA90_53
= self
.input.LA(3)
11290 if (self
.synpred182()) :
11293 LA90_54
= self
.input.LA(3)
11295 if (self
.synpred182()) :
11298 LA90_55
= self
.input.LA(3)
11300 if (self
.synpred182()) :
11303 LA90_56
= self
.input.LA(3)
11305 if (self
.synpred182()) :
11308 LA90_57
= self
.input.LA(3)
11310 if (self
.synpred182()) :
11312 elif LA90
== 101 or LA90
== 102:
11313 LA90_58
= self
.input.LA(3)
11315 if (self
.synpred182()) :
11317 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11318 LA90_59
= self
.input.LA(3)
11320 if (self
.synpred182()) :
11322 elif LA90
== 95 or LA90
== 96:
11323 LA90_60
= self
.input.LA(3)
11325 if (self
.synpred182()) :
11328 LA90_61
= self
.input.LA(3)
11330 if (self
.synpred182()) :
11333 LA90_62
= self
.input.LA(3)
11335 if (self
.synpred182()) :
11338 LA90_63
= self
.input.LA(3)
11340 if (self
.synpred182()) :
11343 LA90_64
= self
.input.LA(3)
11345 if (self
.synpred182()) :
11348 LA90_65
= self
.input.LA(3)
11350 if (self
.synpred182()) :
11353 LA90_66
= self
.input.LA(3)
11355 if (self
.synpred182()) :
11358 LA90_67
= self
.input.LA(3)
11360 if (self
.synpred182()) :
11362 elif LA90
== 28 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88 or LA90
== 89:
11363 LA90_70
= self
.input.LA(3)
11365 if (self
.synpred182()) :
11367 elif LA90
== 25 or LA90
== 26 or LA90
== 29 or LA90
== 30 or LA90
== 31 or LA90
== 32 or LA90
== 33 or LA90
== 34 or LA90
== 35 or LA90
== 36 or LA90
== 37 or LA90
== 38 or LA90
== 39 or LA90
== 40 or LA90
== 41 or LA90
== 42 or LA90
== 43 or LA90
== 45 or LA90
== 46 or LA90
== 48 or LA90
== 49 or LA90
== 50 or LA90
== 51 or LA90
== 52 or LA90
== 53 or LA90
== 54 or LA90
== 55 or LA90
== 56 or LA90
== 57 or LA90
== 58 or LA90
== 59 or LA90
== 60 or LA90
== 61 or LA90
== 103 or LA90
== 104 or LA90
== 105 or LA90
== 106 or LA90
== 107 or LA90
== 108 or LA90
== 110 or LA90
== 111 or LA90
== 112 or LA90
== 113 or LA90
== 114 or LA90
== 115 or LA90
== 116 or LA90
== 117:
11369 elif LA90
== HEX_LITERAL
:
11370 LA90
= self
.input.LA(2)
11372 LA90_87
= self
.input.LA(3)
11374 if (self
.synpred182()) :
11377 LA90_88
= self
.input.LA(3)
11379 if (self
.synpred182()) :
11382 LA90_89
= self
.input.LA(3)
11384 if (self
.synpred182()) :
11387 LA90_90
= self
.input.LA(3)
11389 if (self
.synpred182()) :
11392 LA90_91
= self
.input.LA(3)
11394 if (self
.synpred182()) :
11397 LA90_92
= self
.input.LA(3)
11399 if (self
.synpred182()) :
11402 LA90_93
= self
.input.LA(3)
11404 if (self
.synpred182()) :
11406 elif LA90
== 28 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88 or LA90
== 89:
11407 LA90_94
= self
.input.LA(3)
11409 if (self
.synpred182()) :
11412 LA90_95
= self
.input.LA(3)
11414 if (self
.synpred182()) :
11417 LA90_96
= self
.input.LA(3)
11419 if (self
.synpred182()) :
11422 LA90_97
= self
.input.LA(3)
11424 if (self
.synpred182()) :
11427 LA90_98
= self
.input.LA(3)
11429 if (self
.synpred182()) :
11431 elif LA90
== 101 or LA90
== 102:
11432 LA90_99
= self
.input.LA(3)
11434 if (self
.synpred182()) :
11436 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11437 LA90_100
= self
.input.LA(3)
11439 if (self
.synpred182()) :
11441 elif LA90
== 95 or LA90
== 96:
11442 LA90_101
= self
.input.LA(3)
11444 if (self
.synpred182()) :
11447 LA90_102
= self
.input.LA(3)
11449 if (self
.synpred182()) :
11452 LA90_103
= self
.input.LA(3)
11454 if (self
.synpred182()) :
11457 LA90_104
= self
.input.LA(3)
11459 if (self
.synpred182()) :
11462 LA90_105
= self
.input.LA(3)
11464 if (self
.synpred182()) :
11467 LA90_106
= self
.input.LA(3)
11469 if (self
.synpred182()) :
11472 LA90_107
= self
.input.LA(3)
11474 if (self
.synpred182()) :
11477 LA90_108
= self
.input.LA(3)
11479 if (self
.synpred182()) :
11483 elif LA90
== OCTAL_LITERAL
:
11484 LA90
= self
.input.LA(2)
11486 LA90_111
= self
.input.LA(3)
11488 if (self
.synpred182()) :
11491 LA90_112
= self
.input.LA(3)
11493 if (self
.synpred182()) :
11496 LA90_113
= self
.input.LA(3)
11498 if (self
.synpred182()) :
11501 LA90_114
= self
.input.LA(3)
11503 if (self
.synpred182()) :
11506 LA90_115
= self
.input.LA(3)
11508 if (self
.synpred182()) :
11511 LA90_116
= self
.input.LA(3)
11513 if (self
.synpred182()) :
11516 LA90_117
= self
.input.LA(3)
11518 if (self
.synpred182()) :
11521 LA90_118
= self
.input.LA(3)
11523 if (self
.synpred182()) :
11526 LA90_119
= self
.input.LA(3)
11528 if (self
.synpred182()) :
11531 LA90_120
= self
.input.LA(3)
11533 if (self
.synpred182()) :
11536 LA90_121
= self
.input.LA(3)
11538 if (self
.synpred182()) :
11540 elif LA90
== 101 or LA90
== 102:
11541 LA90_122
= self
.input.LA(3)
11543 if (self
.synpred182()) :
11545 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11546 LA90_123
= self
.input.LA(3)
11548 if (self
.synpred182()) :
11550 elif LA90
== 95 or LA90
== 96:
11551 LA90_124
= self
.input.LA(3)
11553 if (self
.synpred182()) :
11556 LA90_125
= self
.input.LA(3)
11558 if (self
.synpred182()) :
11561 LA90_126
= self
.input.LA(3)
11563 if (self
.synpred182()) :
11566 LA90_127
= self
.input.LA(3)
11568 if (self
.synpred182()) :
11571 LA90_128
= self
.input.LA(3)
11573 if (self
.synpred182()) :
11576 LA90_129
= self
.input.LA(3)
11578 if (self
.synpred182()) :
11581 LA90_130
= self
.input.LA(3)
11583 if (self
.synpred182()) :
11586 LA90_131
= self
.input.LA(3)
11588 if (self
.synpred182()) :
11592 elif LA90
== 28 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88 or LA90
== 89:
11593 LA90_134
= self
.input.LA(3)
11595 if (self
.synpred182()) :
11597 elif LA90
== DECIMAL_LITERAL
:
11598 LA90
= self
.input.LA(2)
11600 LA90_135
= self
.input.LA(3)
11602 if (self
.synpred182()) :
11605 LA90_136
= self
.input.LA(3)
11607 if (self
.synpred182()) :
11610 LA90_137
= self
.input.LA(3)
11612 if (self
.synpred182()) :
11615 LA90_138
= self
.input.LA(3)
11617 if (self
.synpred182()) :
11620 LA90_139
= self
.input.LA(3)
11622 if (self
.synpred182()) :
11625 LA90_140
= self
.input.LA(3)
11627 if (self
.synpred182()) :
11630 LA90_141
= self
.input.LA(3)
11632 if (self
.synpred182()) :
11634 elif LA90
== 28 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88 or LA90
== 89:
11635 LA90_142
= self
.input.LA(3)
11637 if (self
.synpred182()) :
11640 LA90_143
= self
.input.LA(3)
11642 if (self
.synpred182()) :
11645 LA90_144
= self
.input.LA(3)
11647 if (self
.synpred182()) :
11650 LA90_145
= self
.input.LA(3)
11652 if (self
.synpred182()) :
11655 LA90_146
= self
.input.LA(3)
11657 if (self
.synpred182()) :
11659 elif LA90
== 101 or LA90
== 102:
11660 LA90_147
= self
.input.LA(3)
11662 if (self
.synpred182()) :
11664 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11665 LA90_148
= self
.input.LA(3)
11667 if (self
.synpred182()) :
11669 elif LA90
== 95 or LA90
== 96:
11670 LA90_149
= self
.input.LA(3)
11672 if (self
.synpred182()) :
11675 LA90_150
= self
.input.LA(3)
11677 if (self
.synpred182()) :
11680 LA90_151
= self
.input.LA(3)
11682 if (self
.synpred182()) :
11685 LA90_152
= self
.input.LA(3)
11687 if (self
.synpred182()) :
11690 LA90_153
= self
.input.LA(3)
11692 if (self
.synpred182()) :
11695 LA90_154
= self
.input.LA(3)
11697 if (self
.synpred182()) :
11700 LA90_155
= self
.input.LA(3)
11702 if (self
.synpred182()) :
11705 LA90_156
= self
.input.LA(3)
11707 if (self
.synpred182()) :
11711 elif LA90
== CHARACTER_LITERAL
:
11712 LA90
= self
.input.LA(2)
11714 LA90_159
= self
.input.LA(3)
11716 if (self
.synpred182()) :
11719 LA90_160
= self
.input.LA(3)
11721 if (self
.synpred182()) :
11724 LA90_161
= self
.input.LA(3)
11726 if (self
.synpred182()) :
11729 LA90_162
= self
.input.LA(3)
11731 if (self
.synpred182()) :
11734 LA90_163
= self
.input.LA(3)
11736 if (self
.synpred182()) :
11739 LA90_164
= self
.input.LA(3)
11741 if (self
.synpred182()) :
11744 LA90_165
= self
.input.LA(3)
11746 if (self
.synpred182()) :
11749 LA90_166
= self
.input.LA(3)
11751 if (self
.synpred182()) :
11754 LA90_167
= self
.input.LA(3)
11756 if (self
.synpred182()) :
11759 LA90_168
= self
.input.LA(3)
11761 if (self
.synpred182()) :
11764 LA90_169
= self
.input.LA(3)
11766 if (self
.synpred182()) :
11768 elif LA90
== 101 or LA90
== 102:
11769 LA90_170
= self
.input.LA(3)
11771 if (self
.synpred182()) :
11773 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11774 LA90_171
= self
.input.LA(3)
11776 if (self
.synpred182()) :
11778 elif LA90
== 95 or LA90
== 96:
11779 LA90_172
= self
.input.LA(3)
11781 if (self
.synpred182()) :
11784 LA90_173
= self
.input.LA(3)
11786 if (self
.synpred182()) :
11789 LA90_174
= self
.input.LA(3)
11791 if (self
.synpred182()) :
11794 LA90_175
= self
.input.LA(3)
11796 if (self
.synpred182()) :
11799 LA90_176
= self
.input.LA(3)
11801 if (self
.synpred182()) :
11804 LA90_177
= self
.input.LA(3)
11806 if (self
.synpred182()) :
11809 LA90_178
= self
.input.LA(3)
11811 if (self
.synpred182()) :
11814 LA90_179
= self
.input.LA(3)
11816 if (self
.synpred182()) :
11820 elif LA90
== 28 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88 or LA90
== 89:
11821 LA90_181
= self
.input.LA(3)
11823 if (self
.synpred182()) :
11825 elif LA90
== STRING_LITERAL
:
11826 LA90
= self
.input.LA(2)
11827 if LA90
== IDENTIFIER
:
11828 LA90_183
= self
.input.LA(3)
11830 if (self
.synpred182()) :
11833 LA90_184
= self
.input.LA(3)
11835 if (self
.synpred182()) :
11838 LA90_185
= self
.input.LA(3)
11840 if (self
.synpred182()) :
11843 LA90_186
= self
.input.LA(3)
11845 if (self
.synpred182()) :
11848 LA90_187
= self
.input.LA(3)
11850 if (self
.synpred182()) :
11853 LA90_188
= self
.input.LA(3)
11855 if (self
.synpred182()) :
11858 LA90_189
= self
.input.LA(3)
11860 if (self
.synpred182()) :
11863 LA90_190
= self
.input.LA(3)
11865 if (self
.synpred182()) :
11867 elif LA90
== 28 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88 or LA90
== 89:
11868 LA90_191
= self
.input.LA(3)
11870 if (self
.synpred182()) :
11872 elif LA90
== STRING_LITERAL
:
11873 LA90_192
= self
.input.LA(3)
11875 if (self
.synpred182()) :
11878 LA90_193
= self
.input.LA(3)
11880 if (self
.synpred182()) :
11883 LA90_194
= self
.input.LA(3)
11885 if (self
.synpred182()) :
11888 LA90_195
= self
.input.LA(3)
11890 if (self
.synpred182()) :
11893 LA90_196
= self
.input.LA(3)
11895 if (self
.synpred182()) :
11897 elif LA90
== 101 or LA90
== 102:
11898 LA90_197
= self
.input.LA(3)
11900 if (self
.synpred182()) :
11902 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11903 LA90_198
= self
.input.LA(3)
11905 if (self
.synpred182()) :
11907 elif LA90
== 95 or LA90
== 96:
11908 LA90_199
= self
.input.LA(3)
11910 if (self
.synpred182()) :
11913 LA90_200
= self
.input.LA(3)
11915 if (self
.synpred182()) :
11918 LA90_201
= self
.input.LA(3)
11920 if (self
.synpred182()) :
11923 LA90_202
= self
.input.LA(3)
11925 if (self
.synpred182()) :
11928 LA90_203
= self
.input.LA(3)
11930 if (self
.synpred182()) :
11933 LA90_204
= self
.input.LA(3)
11935 if (self
.synpred182()) :
11938 LA90_205
= self
.input.LA(3)
11940 if (self
.synpred182()) :
11943 LA90_206
= self
.input.LA(3)
11945 if (self
.synpred182()) :
11949 elif LA90
== FLOATING_POINT_LITERAL
:
11950 LA90
= self
.input.LA(2)
11952 LA90_209
= self
.input.LA(3)
11954 if (self
.synpred182()) :
11957 LA90_210
= self
.input.LA(3)
11959 if (self
.synpred182()) :
11962 LA90_211
= self
.input.LA(3)
11964 if (self
.synpred182()) :
11967 LA90_212
= self
.input.LA(3)
11969 if (self
.synpred182()) :
11972 LA90_213
= self
.input.LA(3)
11974 if (self
.synpred182()) :
11977 LA90_214
= self
.input.LA(3)
11979 if (self
.synpred182()) :
11982 LA90_215
= self
.input.LA(3)
11984 if (self
.synpred182()) :
11986 elif LA90
== 28 or LA90
== 80 or LA90
== 81 or LA90
== 82 or LA90
== 83 or LA90
== 84 or LA90
== 85 or LA90
== 86 or LA90
== 87 or LA90
== 88 or LA90
== 89:
11987 LA90_216
= self
.input.LA(3)
11989 if (self
.synpred182()) :
11992 LA90_217
= self
.input.LA(3)
11994 if (self
.synpred182()) :
11997 LA90_218
= self
.input.LA(3)
11999 if (self
.synpred182()) :
12002 LA90_219
= self
.input.LA(3)
12004 if (self
.synpred182()) :
12007 LA90_220
= self
.input.LA(3)
12009 if (self
.synpred182()) :
12011 elif LA90
== 101 or LA90
== 102:
12012 LA90_221
= self
.input.LA(3)
12014 if (self
.synpred182()) :
12016 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
12017 LA90_222
= self
.input.LA(3)
12019 if (self
.synpred182()) :
12021 elif LA90
== 95 or LA90
== 96:
12022 LA90_223
= self
.input.LA(3)
12024 if (self
.synpred182()) :
12027 LA90_224
= self
.input.LA(3)
12029 if (self
.synpred182()) :
12032 LA90_225
= self
.input.LA(3)
12034 if (self
.synpred182()) :
12037 LA90_226
= self
.input.LA(3)
12039 if (self
.synpred182()) :
12042 LA90_227
= self
.input.LA(3)
12044 if (self
.synpred182()) :
12047 LA90_228
= self
.input.LA(3)
12049 if (self
.synpred182()) :
12052 LA90_229
= self
.input.LA(3)
12054 if (self
.synpred182()) :
12057 LA90_230
= self
.input.LA(3)
12059 if (self
.synpred182()) :
12064 LA90
= self
.input.LA(2)
12065 if LA90
== IDENTIFIER
:
12066 LA90_233
= self
.input.LA(3)
12068 if (self
.synpred182()) :
12070 elif LA90
== HEX_LITERAL
:
12071 LA90_234
= self
.input.LA(3)
12073 if (self
.synpred182()) :
12075 elif LA90
== OCTAL_LITERAL
:
12076 LA90_235
= self
.input.LA(3)
12078 if (self
.synpred182()) :
12080 elif LA90
== DECIMAL_LITERAL
:
12081 LA90_236
= self
.input.LA(3)
12083 if (self
.synpred182()) :
12085 elif LA90
== CHARACTER_LITERAL
:
12086 LA90_237
= self
.input.LA(3)
12088 if (self
.synpred182()) :
12090 elif LA90
== STRING_LITERAL
:
12091 LA90_238
= self
.input.LA(3)
12093 if (self
.synpred182()) :
12095 elif LA90
== FLOATING_POINT_LITERAL
:
12096 LA90_239
= self
.input.LA(3)
12098 if (self
.synpred182()) :
12101 LA90_240
= self
.input.LA(3)
12103 if (self
.synpred182()) :
12106 LA90_241
= self
.input.LA(3)
12108 if (self
.synpred182()) :
12111 LA90_242
= self
.input.LA(3)
12113 if (self
.synpred182()) :
12115 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12116 LA90_243
= self
.input.LA(3)
12118 if (self
.synpred182()) :
12121 LA90_244
= self
.input.LA(3)
12123 if (self
.synpred182()) :
12125 elif LA90
== 49 or LA90
== 50 or LA90
== 51 or LA90
== 52 or LA90
== 53 or LA90
== 54 or LA90
== 55 or LA90
== 56 or LA90
== 57 or LA90
== 58 or LA90
== 59 or LA90
== 60 or LA90
== 61:
12126 LA90_245
= self
.input.LA(3)
12128 if (self
.synpred182()) :
12131 LA90_246
= self
.input.LA(3)
12133 if (self
.synpred182()) :
12136 LA90_247
= self
.input.LA(3)
12138 if (self
.synpred182()) :
12141 LA90_248
= self
.input.LA(3)
12143 if (self
.synpred182()) :
12146 LA90_249
= self
.input.LA(3)
12148 if (self
.synpred182()) :
12151 LA90_250
= self
.input.LA(3)
12153 if (self
.synpred182()) :
12156 LA90_251
= self
.input.LA(3)
12158 if (self
.synpred182()) :
12161 LA90_252
= self
.input.LA(3)
12163 if (self
.synpred182()) :
12166 LA90_253
= self
.input.LA(3)
12168 if (self
.synpred182()) :
12171 LA90_254
= self
.input.LA(3)
12173 if (self
.synpred182()) :
12175 elif LA90
== 45 or LA90
== 46:
12176 LA90_255
= self
.input.LA(3)
12178 if (self
.synpred182()) :
12181 LA90_256
= self
.input.LA(3)
12183 if (self
.synpred182()) :
12186 LA90
= self
.input.LA(2)
12187 if LA90
== IDENTIFIER
:
12188 LA90_257
= self
.input.LA(3)
12190 if (self
.synpred182()) :
12192 elif LA90
== HEX_LITERAL
:
12193 LA90_258
= self
.input.LA(3)
12195 if (self
.synpred182()) :
12197 elif LA90
== OCTAL_LITERAL
:
12198 LA90_259
= self
.input.LA(3)
12200 if (self
.synpred182()) :
12202 elif LA90
== DECIMAL_LITERAL
:
12203 LA90_260
= self
.input.LA(3)
12205 if (self
.synpred182()) :
12207 elif LA90
== CHARACTER_LITERAL
:
12208 LA90_261
= self
.input.LA(3)
12210 if (self
.synpred182()) :
12212 elif LA90
== STRING_LITERAL
:
12213 LA90_262
= self
.input.LA(3)
12215 if (self
.synpred182()) :
12217 elif LA90
== FLOATING_POINT_LITERAL
:
12218 LA90_263
= self
.input.LA(3)
12220 if (self
.synpred182()) :
12223 LA90_264
= self
.input.LA(3)
12225 if (self
.synpred182()) :
12228 LA90_265
= self
.input.LA(3)
12230 if (self
.synpred182()) :
12233 LA90_266
= self
.input.LA(3)
12235 if (self
.synpred182()) :
12237 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12238 LA90_267
= self
.input.LA(3)
12240 if (self
.synpred182()) :
12243 LA90_268
= self
.input.LA(3)
12245 if (self
.synpred182()) :
12248 LA90
= self
.input.LA(2)
12249 if LA90
== IDENTIFIER
:
12250 LA90_269
= self
.input.LA(3)
12252 if (self
.synpred182()) :
12254 elif LA90
== HEX_LITERAL
:
12255 LA90_270
= self
.input.LA(3)
12257 if (self
.synpred182()) :
12259 elif LA90
== OCTAL_LITERAL
:
12260 LA90_271
= self
.input.LA(3)
12262 if (self
.synpred182()) :
12264 elif LA90
== DECIMAL_LITERAL
:
12265 LA90_272
= self
.input.LA(3)
12267 if (self
.synpred182()) :
12269 elif LA90
== CHARACTER_LITERAL
:
12270 LA90_273
= self
.input.LA(3)
12272 if (self
.synpred182()) :
12274 elif LA90
== STRING_LITERAL
:
12275 LA90_274
= self
.input.LA(3)
12277 if (self
.synpred182()) :
12279 elif LA90
== FLOATING_POINT_LITERAL
:
12280 LA90_275
= self
.input.LA(3)
12282 if (self
.synpred182()) :
12285 LA90_276
= self
.input.LA(3)
12287 if (self
.synpred182()) :
12290 LA90_277
= self
.input.LA(3)
12292 if (self
.synpred182()) :
12295 LA90_278
= self
.input.LA(3)
12297 if (self
.synpred182()) :
12299 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12300 LA90_279
= self
.input.LA(3)
12302 if (self
.synpred182()) :
12305 LA90_280
= self
.input.LA(3)
12307 if (self
.synpred182()) :
12309 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12310 LA90
= self
.input.LA(2)
12312 LA90_281
= self
.input.LA(3)
12314 if (self
.synpred182()) :
12316 elif LA90
== IDENTIFIER
:
12317 LA90_282
= self
.input.LA(3)
12319 if (self
.synpred182()) :
12321 elif LA90
== HEX_LITERAL
:
12322 LA90_283
= self
.input.LA(3)
12324 if (self
.synpred182()) :
12326 elif LA90
== OCTAL_LITERAL
:
12327 LA90_284
= self
.input.LA(3)
12329 if (self
.synpred182()) :
12331 elif LA90
== DECIMAL_LITERAL
:
12332 LA90_285
= self
.input.LA(3)
12334 if (self
.synpred182()) :
12336 elif LA90
== CHARACTER_LITERAL
:
12337 LA90_286
= self
.input.LA(3)
12339 if (self
.synpred182()) :
12341 elif LA90
== STRING_LITERAL
:
12342 LA90_287
= self
.input.LA(3)
12344 if (self
.synpred182()) :
12346 elif LA90
== FLOATING_POINT_LITERAL
:
12347 LA90_288
= self
.input.LA(3)
12349 if (self
.synpred182()) :
12352 LA90_289
= self
.input.LA(3)
12354 if (self
.synpred182()) :
12357 LA90_290
= self
.input.LA(3)
12359 if (self
.synpred182()) :
12361 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12362 LA90_291
= self
.input.LA(3)
12364 if (self
.synpred182()) :
12367 LA90_292
= self
.input.LA(3)
12369 if (self
.synpred182()) :
12372 LA90
= self
.input.LA(2)
12374 LA90_293
= self
.input.LA(3)
12376 if (self
.synpred182()) :
12378 elif LA90
== IDENTIFIER
:
12379 LA90_294
= self
.input.LA(3)
12381 if (self
.synpred182()) :
12383 elif LA90
== HEX_LITERAL
:
12384 LA90_295
= self
.input.LA(3)
12386 if (self
.synpred182()) :
12388 elif LA90
== OCTAL_LITERAL
:
12389 LA90_296
= self
.input.LA(3)
12391 if (self
.synpred182()) :
12393 elif LA90
== DECIMAL_LITERAL
:
12394 LA90_297
= self
.input.LA(3)
12396 if (self
.synpred182()) :
12398 elif LA90
== CHARACTER_LITERAL
:
12399 LA90_298
= self
.input.LA(3)
12401 if (self
.synpred182()) :
12403 elif LA90
== STRING_LITERAL
:
12404 LA90_299
= self
.input.LA(3)
12406 if (self
.synpred182()) :
12408 elif LA90
== FLOATING_POINT_LITERAL
:
12409 LA90_300
= self
.input.LA(3)
12411 if (self
.synpred182()) :
12414 LA90_301
= self
.input.LA(3)
12416 if (self
.synpred182()) :
12419 LA90_302
= self
.input.LA(3)
12421 if (self
.synpred182()) :
12423 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12424 LA90_303
= self
.input.LA(3)
12426 if (self
.synpred182()) :
12429 LA90_304
= self
.input.LA(3)
12431 if (self
.synpred182()) :
12434 # C.g:0:0: statement_list
12435 self
.following
.append(self
.FOLLOW_statement_list_in_macro_statement2170
)
12436 self
.statement_list()
12437 self
.following
.pop()
12443 # C.g:544:49: ( expression )?
12445 LA91_0
= self
.input.LA(1)
12447 if ((IDENTIFIER
<= LA91_0
<= FLOATING_POINT_LITERAL
) or LA91_0
== 62 or LA91_0
== 66 or (68 <= LA91_0
<= 69) or (72 <= LA91_0
<= 74) or (77 <= LA91_0
<= 79)) :
12450 # C.g:0:0: expression
12451 self
.following
.append(self
.FOLLOW_expression_in_macro_statement2173
)
12453 self
.following
.pop()
12459 self
.match(self
.input, 63, self
.FOLLOW_63_in_macro_statement2176
)
12466 except RecognitionException
as re
:
12467 self
.reportError(re
)
12468 self
.recover(self
.input, re
)
12470 if self
.backtracking
> 0:
12471 self
.memoize(self
.input, 64, macro_statement_StartIndex
)
12477 # $ANTLR end macro_statement
12480 # $ANTLR start labeled_statement
12481 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12482 def labeled_statement(self
, ):
12484 labeled_statement_StartIndex
= self
.input.index()
12487 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 65):
12490 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12492 LA92
= self
.input.LA(1)
12493 if LA92
== IDENTIFIER
:
12500 if self
.backtracking
> 0:
12504 nvae
= NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self
.input)
12509 # C.g:548:4: IDENTIFIER ':' statement
12510 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_labeled_statement2188
)
12513 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2190
)
12516 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2192
)
12518 self
.following
.pop()
12524 # C.g:549:4: 'case' constant_expression ':' statement
12525 self
.match(self
.input, 106, self
.FOLLOW_106_in_labeled_statement2197
)
12528 self
.following
.append(self
.FOLLOW_constant_expression_in_labeled_statement2199
)
12529 self
.constant_expression()
12530 self
.following
.pop()
12533 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2201
)
12536 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2203
)
12538 self
.following
.pop()
12544 # C.g:550:4: 'default' ':' statement
12545 self
.match(self
.input, 107, self
.FOLLOW_107_in_labeled_statement2208
)
12548 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2210
)
12551 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2212
)
12553 self
.following
.pop()
12559 except RecognitionException
as re
:
12560 self
.reportError(re
)
12561 self
.recover(self
.input, re
)
12563 if self
.backtracking
> 0:
12564 self
.memoize(self
.input, 65, labeled_statement_StartIndex
)
12570 # $ANTLR end labeled_statement
12572 class compound_statement_return(object):
12573 def __init__(self
):
12579 # $ANTLR start compound_statement
12580 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12581 def compound_statement(self
, ):
12583 retval
= self
.compound_statement_return()
12584 retval
.start
= self
.input.LT(1)
12585 compound_statement_StartIndex
= self
.input.index()
12588 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 66):
12591 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12592 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12593 self
.match(self
.input, 43, self
.FOLLOW_43_in_compound_statement2223
)
12596 # C.g:554:8: ( declaration )*
12597 while True: #loop93
12599 LA93
= self
.input.LA(1)
12600 if LA93
== IDENTIFIER
:
12601 LA93
= self
.input.LA(2)
12603 LA93_44
= self
.input.LA(3)
12605 if (self
.synpred186()) :
12609 elif LA93
== IDENTIFIER
:
12610 LA93_47
= self
.input.LA(3)
12612 if (self
.synpred186()) :
12617 LA93_48
= self
.input.LA(3)
12619 if (self
.synpred186()) :
12624 LA93_49
= self
.input.LA(3)
12626 if (self
.synpred186()) :
12631 LA93_50
= self
.input.LA(3)
12633 if (self
.synpred186()) :
12638 LA93_51
= self
.input.LA(3)
12640 if (self
.synpred186()) :
12645 LA93_52
= self
.input.LA(3)
12647 if (self
.synpred186()) :
12651 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12652 LA93_53
= self
.input.LA(3)
12654 if (self
.synpred186()) :
12659 LA93_54
= self
.input.LA(3)
12661 if (self
.synpred186()) :
12666 LA93_55
= self
.input.LA(3)
12668 if (self
.synpred186()) :
12673 LA93_56
= self
.input.LA(3)
12675 if (self
.synpred186()) :
12680 LA93_57
= self
.input.LA(3)
12682 if (self
.synpred186()) :
12687 LA93_58
= self
.input.LA(3)
12689 if (self
.synpred186()) :
12694 LA93_59
= self
.input.LA(3)
12696 if (self
.synpred186()) :
12701 LA93_60
= self
.input.LA(3)
12703 if (self
.synpred186()) :
12708 LA93_61
= self
.input.LA(3)
12710 if (self
.synpred186()) :
12715 LA93_62
= self
.input.LA(3)
12717 if (self
.synpred186()) :
12721 elif LA93
== 45 or LA93
== 46:
12722 LA93_63
= self
.input.LA(3)
12724 if (self
.synpred186()) :
12729 LA93_64
= self
.input.LA(3)
12731 if (self
.synpred186()) :
12735 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
12736 LA93_65
= self
.input.LA(3)
12738 if (self
.synpred186()) :
12744 LA93
= self
.input.LA(2)
12745 if LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12746 LA93_86
= self
.input.LA(3)
12748 if (self
.synpred186()) :
12753 LA93_87
= self
.input.LA(3)
12755 if (self
.synpred186()) :
12760 LA93_88
= self
.input.LA(3)
12762 if (self
.synpred186()) :
12767 LA93_89
= self
.input.LA(3)
12769 if (self
.synpred186()) :
12774 LA93_90
= self
.input.LA(3)
12776 if (self
.synpred186()) :
12781 LA93_91
= self
.input.LA(3)
12783 if (self
.synpred186()) :
12788 LA93_92
= self
.input.LA(3)
12790 if (self
.synpred186()) :
12795 LA93_93
= self
.input.LA(3)
12797 if (self
.synpred186()) :
12802 LA93_94
= self
.input.LA(3)
12804 if (self
.synpred186()) :
12809 LA93_95
= self
.input.LA(3)
12811 if (self
.synpred186()) :
12815 elif LA93
== 45 or LA93
== 46:
12816 LA93_96
= self
.input.LA(3)
12818 if (self
.synpred186()) :
12823 LA93_97
= self
.input.LA(3)
12825 if (self
.synpred186()) :
12829 elif LA93
== IDENTIFIER
:
12830 LA93_98
= self
.input.LA(3)
12832 if (self
.synpred186()) :
12837 LA93_99
= self
.input.LA(3)
12839 if (self
.synpred186()) :
12844 LA93_100
= self
.input.LA(3)
12846 if (self
.synpred186()) :
12851 LA93_101
= self
.input.LA(3)
12853 if (self
.synpred186()) :
12858 LA93_102
= self
.input.LA(3)
12860 if (self
.synpred186()) :
12864 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
12865 LA93_103
= self
.input.LA(3)
12867 if (self
.synpred186()) :
12872 LA93_104
= self
.input.LA(3)
12874 if (self
.synpred186()) :
12879 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12880 LA93
= self
.input.LA(2)
12882 LA93_105
= self
.input.LA(3)
12884 if (self
.synpred186()) :
12889 LA93_106
= self
.input.LA(3)
12891 if (self
.synpred186()) :
12896 LA93_107
= self
.input.LA(3)
12898 if (self
.synpred186()) :
12903 LA93_108
= self
.input.LA(3)
12905 if (self
.synpred186()) :
12909 elif LA93
== IDENTIFIER
:
12910 LA93_109
= self
.input.LA(3)
12912 if (self
.synpred186()) :
12917 LA93_110
= self
.input.LA(3)
12919 if (self
.synpred186()) :
12924 LA93_111
= self
.input.LA(3)
12926 if (self
.synpred186()) :
12930 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12931 LA93_112
= self
.input.LA(3)
12933 if (self
.synpred186()) :
12938 LA93_113
= self
.input.LA(3)
12940 if (self
.synpred186()) :
12945 LA93_114
= self
.input.LA(3)
12947 if (self
.synpred186()) :
12952 LA93_115
= self
.input.LA(3)
12954 if (self
.synpred186()) :
12959 LA93_116
= self
.input.LA(3)
12961 if (self
.synpred186()) :
12966 LA93_117
= self
.input.LA(3)
12968 if (self
.synpred186()) :
12973 LA93_118
= self
.input.LA(3)
12975 if (self
.synpred186()) :
12980 LA93_119
= self
.input.LA(3)
12982 if (self
.synpred186()) :
12987 LA93_120
= self
.input.LA(3)
12989 if (self
.synpred186()) :
12994 LA93_121
= self
.input.LA(3)
12996 if (self
.synpred186()) :
13000 elif LA93
== 45 or LA93
== 46:
13001 LA93_122
= self
.input.LA(3)
13003 if (self
.synpred186()) :
13008 LA93_123
= self
.input.LA(3)
13010 if (self
.synpred186()) :
13014 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
13015 LA93_124
= self
.input.LA(3)
13017 if (self
.synpred186()) :
13023 LA93
= self
.input.LA(2)
13025 LA93_125
= self
.input.LA(3)
13027 if (self
.synpred186()) :
13032 LA93_126
= self
.input.LA(3)
13034 if (self
.synpred186()) :
13039 LA93_127
= self
.input.LA(3)
13041 if (self
.synpred186()) :
13046 LA93_128
= self
.input.LA(3)
13048 if (self
.synpred186()) :
13052 elif LA93
== IDENTIFIER
:
13053 LA93_129
= self
.input.LA(3)
13055 if (self
.synpred186()) :
13060 LA93_130
= self
.input.LA(3)
13062 if (self
.synpred186()) :
13067 LA93_131
= self
.input.LA(3)
13069 if (self
.synpred186()) :
13073 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13074 LA93_132
= self
.input.LA(3)
13076 if (self
.synpred186()) :
13081 LA93_133
= self
.input.LA(3)
13083 if (self
.synpred186()) :
13088 LA93_134
= self
.input.LA(3)
13090 if (self
.synpred186()) :
13095 LA93_135
= self
.input.LA(3)
13097 if (self
.synpred186()) :
13102 LA93_136
= self
.input.LA(3)
13104 if (self
.synpred186()) :
13109 LA93_137
= self
.input.LA(3)
13111 if (self
.synpred186()) :
13116 LA93_138
= self
.input.LA(3)
13118 if (self
.synpred186()) :
13123 LA93_139
= self
.input.LA(3)
13125 if (self
.synpred186()) :
13130 LA93_140
= self
.input.LA(3)
13132 if (self
.synpred186()) :
13137 LA93_141
= self
.input.LA(3)
13139 if (self
.synpred186()) :
13143 elif LA93
== 45 or LA93
== 46:
13144 LA93_142
= self
.input.LA(3)
13146 if (self
.synpred186()) :
13151 LA93_143
= self
.input.LA(3)
13153 if (self
.synpred186()) :
13157 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
13158 LA93_144
= self
.input.LA(3)
13160 if (self
.synpred186()) :
13166 LA93
= self
.input.LA(2)
13168 LA93_145
= self
.input.LA(3)
13170 if (self
.synpred186()) :
13175 LA93_146
= self
.input.LA(3)
13177 if (self
.synpred186()) :
13182 LA93_147
= self
.input.LA(3)
13184 if (self
.synpred186()) :
13189 LA93_148
= self
.input.LA(3)
13191 if (self
.synpred186()) :
13195 elif LA93
== IDENTIFIER
:
13196 LA93_149
= self
.input.LA(3)
13198 if (self
.synpred186()) :
13203 LA93_150
= self
.input.LA(3)
13205 if (self
.synpred186()) :
13210 LA93_151
= self
.input.LA(3)
13212 if (self
.synpred186()) :
13216 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13217 LA93_152
= self
.input.LA(3)
13219 if (self
.synpred186()) :
13224 LA93_153
= self
.input.LA(3)
13226 if (self
.synpred186()) :
13231 LA93_154
= self
.input.LA(3)
13233 if (self
.synpred186()) :
13238 LA93_155
= self
.input.LA(3)
13240 if (self
.synpred186()) :
13245 LA93_156
= self
.input.LA(3)
13247 if (self
.synpred186()) :
13252 LA93_157
= self
.input.LA(3)
13254 if (self
.synpred186()) :
13259 LA93_158
= self
.input.LA(3)
13261 if (self
.synpred186()) :
13266 LA93_159
= self
.input.LA(3)
13268 if (self
.synpred186()) :
13273 LA93_160
= self
.input.LA(3)
13275 if (self
.synpred186()) :
13280 LA93_161
= self
.input.LA(3)
13282 if (self
.synpred186()) :
13286 elif LA93
== 45 or LA93
== 46:
13287 LA93_162
= self
.input.LA(3)
13289 if (self
.synpred186()) :
13294 LA93_163
= self
.input.LA(3)
13296 if (self
.synpred186()) :
13300 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
13301 LA93_164
= self
.input.LA(3)
13303 if (self
.synpred186()) :
13309 LA93
= self
.input.LA(2)
13311 LA93_165
= self
.input.LA(3)
13313 if (self
.synpred186()) :
13318 LA93_166
= self
.input.LA(3)
13320 if (self
.synpred186()) :
13325 LA93_167
= self
.input.LA(3)
13327 if (self
.synpred186()) :
13332 LA93_168
= self
.input.LA(3)
13334 if (self
.synpred186()) :
13338 elif LA93
== IDENTIFIER
:
13339 LA93_169
= self
.input.LA(3)
13341 if (self
.synpred186()) :
13346 LA93_170
= self
.input.LA(3)
13348 if (self
.synpred186()) :
13353 LA93_171
= self
.input.LA(3)
13355 if (self
.synpred186()) :
13359 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13360 LA93_172
= self
.input.LA(3)
13362 if (self
.synpred186()) :
13367 LA93_173
= self
.input.LA(3)
13369 if (self
.synpred186()) :
13374 LA93_174
= self
.input.LA(3)
13376 if (self
.synpred186()) :
13381 LA93_175
= self
.input.LA(3)
13383 if (self
.synpred186()) :
13388 LA93_176
= self
.input.LA(3)
13390 if (self
.synpred186()) :
13395 LA93_177
= self
.input.LA(3)
13397 if (self
.synpred186()) :
13402 LA93_178
= self
.input.LA(3)
13404 if (self
.synpred186()) :
13409 LA93_179
= self
.input.LA(3)
13411 if (self
.synpred186()) :
13416 LA93_180
= self
.input.LA(3)
13418 if (self
.synpred186()) :
13423 LA93_181
= self
.input.LA(3)
13425 if (self
.synpred186()) :
13429 elif LA93
== 45 or LA93
== 46:
13430 LA93_182
= self
.input.LA(3)
13432 if (self
.synpred186()) :
13437 LA93_183
= self
.input.LA(3)
13439 if (self
.synpred186()) :
13443 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
13444 LA93_184
= self
.input.LA(3)
13446 if (self
.synpred186()) :
13452 LA93
= self
.input.LA(2)
13454 LA93_185
= self
.input.LA(3)
13456 if (self
.synpred186()) :
13461 LA93_186
= self
.input.LA(3)
13463 if (self
.synpred186()) :
13468 LA93_187
= self
.input.LA(3)
13470 if (self
.synpred186()) :
13475 LA93_188
= self
.input.LA(3)
13477 if (self
.synpred186()) :
13481 elif LA93
== IDENTIFIER
:
13482 LA93_189
= self
.input.LA(3)
13484 if (self
.synpred186()) :
13489 LA93_190
= self
.input.LA(3)
13491 if (self
.synpred186()) :
13496 LA93_191
= self
.input.LA(3)
13498 if (self
.synpred186()) :
13502 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13503 LA93_192
= self
.input.LA(3)
13505 if (self
.synpred186()) :
13510 LA93_193
= self
.input.LA(3)
13512 if (self
.synpred186()) :
13517 LA93_194
= self
.input.LA(3)
13519 if (self
.synpred186()) :
13524 LA93_195
= self
.input.LA(3)
13526 if (self
.synpred186()) :
13531 LA93_196
= self
.input.LA(3)
13533 if (self
.synpred186()) :
13538 LA93_197
= self
.input.LA(3)
13540 if (self
.synpred186()) :
13545 LA93_198
= self
.input.LA(3)
13547 if (self
.synpred186()) :
13552 LA93_199
= self
.input.LA(3)
13554 if (self
.synpred186()) :
13559 LA93_200
= self
.input.LA(3)
13561 if (self
.synpred186()) :
13566 LA93_201
= self
.input.LA(3)
13568 if (self
.synpred186()) :
13572 elif LA93
== 45 or LA93
== 46:
13573 LA93_202
= self
.input.LA(3)
13575 if (self
.synpred186()) :
13580 LA93_203
= self
.input.LA(3)
13582 if (self
.synpred186()) :
13586 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
13587 LA93_204
= self
.input.LA(3)
13589 if (self
.synpred186()) :
13595 LA93
= self
.input.LA(2)
13597 LA93_205
= self
.input.LA(3)
13599 if (self
.synpred186()) :
13604 LA93_206
= self
.input.LA(3)
13606 if (self
.synpred186()) :
13611 LA93_207
= self
.input.LA(3)
13613 if (self
.synpred186()) :
13618 LA93_208
= self
.input.LA(3)
13620 if (self
.synpred186()) :
13624 elif LA93
== IDENTIFIER
:
13625 LA93_209
= self
.input.LA(3)
13627 if (self
.synpred186()) :
13632 LA93_210
= self
.input.LA(3)
13634 if (self
.synpred186()) :
13639 LA93_211
= self
.input.LA(3)
13641 if (self
.synpred186()) :
13645 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13646 LA93_212
= self
.input.LA(3)
13648 if (self
.synpred186()) :
13653 LA93_213
= self
.input.LA(3)
13655 if (self
.synpred186()) :
13660 LA93_214
= self
.input.LA(3)
13662 if (self
.synpred186()) :
13667 LA93_215
= self
.input.LA(3)
13669 if (self
.synpred186()) :
13674 LA93_216
= self
.input.LA(3)
13676 if (self
.synpred186()) :
13681 LA93_217
= self
.input.LA(3)
13683 if (self
.synpred186()) :
13688 LA93_218
= self
.input.LA(3)
13690 if (self
.synpred186()) :
13695 LA93_219
= self
.input.LA(3)
13697 if (self
.synpred186()) :
13702 LA93_220
= self
.input.LA(3)
13704 if (self
.synpred186()) :
13709 LA93_221
= self
.input.LA(3)
13711 if (self
.synpred186()) :
13715 elif LA93
== 45 or LA93
== 46:
13716 LA93_222
= self
.input.LA(3)
13718 if (self
.synpred186()) :
13723 LA93_223
= self
.input.LA(3)
13725 if (self
.synpred186()) :
13729 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
13730 LA93_224
= self
.input.LA(3)
13732 if (self
.synpred186()) :
13738 LA93
= self
.input.LA(2)
13740 LA93_225
= self
.input.LA(3)
13742 if (self
.synpred186()) :
13747 LA93_226
= self
.input.LA(3)
13749 if (self
.synpred186()) :
13754 LA93_227
= self
.input.LA(3)
13756 if (self
.synpred186()) :
13761 LA93_228
= self
.input.LA(3)
13763 if (self
.synpred186()) :
13767 elif LA93
== IDENTIFIER
:
13768 LA93_229
= self
.input.LA(3)
13770 if (self
.synpred186()) :
13775 LA93_230
= self
.input.LA(3)
13777 if (self
.synpred186()) :
13782 LA93_231
= self
.input.LA(3)
13784 if (self
.synpred186()) :
13788 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13789 LA93_232
= self
.input.LA(3)
13791 if (self
.synpred186()) :
13796 LA93_233
= self
.input.LA(3)
13798 if (self
.synpred186()) :
13803 LA93_234
= self
.input.LA(3)
13805 if (self
.synpred186()) :
13810 LA93_235
= self
.input.LA(3)
13812 if (self
.synpred186()) :
13817 LA93_236
= self
.input.LA(3)
13819 if (self
.synpred186()) :
13824 LA93_237
= self
.input.LA(3)
13826 if (self
.synpred186()) :
13831 LA93_238
= self
.input.LA(3)
13833 if (self
.synpred186()) :
13838 LA93_239
= self
.input.LA(3)
13840 if (self
.synpred186()) :
13845 LA93_240
= self
.input.LA(3)
13847 if (self
.synpred186()) :
13852 LA93_241
= self
.input.LA(3)
13854 if (self
.synpred186()) :
13858 elif LA93
== 45 or LA93
== 46:
13859 LA93_242
= self
.input.LA(3)
13861 if (self
.synpred186()) :
13866 LA93_243
= self
.input.LA(3)
13868 if (self
.synpred186()) :
13872 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
13873 LA93_244
= self
.input.LA(3)
13875 if (self
.synpred186()) :
13881 LA93
= self
.input.LA(2)
13883 LA93_245
= self
.input.LA(3)
13885 if (self
.synpred186()) :
13890 LA93_246
= self
.input.LA(3)
13892 if (self
.synpred186()) :
13897 LA93_247
= self
.input.LA(3)
13899 if (self
.synpred186()) :
13904 LA93_248
= self
.input.LA(3)
13906 if (self
.synpred186()) :
13910 elif LA93
== IDENTIFIER
:
13911 LA93_249
= self
.input.LA(3)
13913 if (self
.synpred186()) :
13918 LA93_250
= self
.input.LA(3)
13920 if (self
.synpred186()) :
13925 LA93_251
= self
.input.LA(3)
13927 if (self
.synpred186()) :
13931 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13932 LA93_252
= self
.input.LA(3)
13934 if (self
.synpred186()) :
13939 LA93_253
= self
.input.LA(3)
13941 if (self
.synpred186()) :
13946 LA93_254
= self
.input.LA(3)
13948 if (self
.synpred186()) :
13953 LA93_255
= self
.input.LA(3)
13955 if (self
.synpred186()) :
13960 LA93_256
= self
.input.LA(3)
13962 if (self
.synpred186()) :
13967 LA93_257
= self
.input.LA(3)
13969 if (self
.synpred186()) :
13974 LA93_258
= self
.input.LA(3)
13976 if (self
.synpred186()) :
13981 LA93_259
= self
.input.LA(3)
13983 if (self
.synpred186()) :
13988 LA93_260
= self
.input.LA(3)
13990 if (self
.synpred186()) :
13995 LA93_261
= self
.input.LA(3)
13997 if (self
.synpred186()) :
14001 elif LA93
== 45 or LA93
== 46:
14002 LA93_262
= self
.input.LA(3)
14004 if (self
.synpred186()) :
14009 LA93_263
= self
.input.LA(3)
14011 if (self
.synpred186()) :
14015 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
14016 LA93_264
= self
.input.LA(3)
14018 if (self
.synpred186()) :
14024 LA93
= self
.input.LA(2)
14026 LA93_265
= self
.input.LA(3)
14028 if (self
.synpred186()) :
14033 LA93_266
= self
.input.LA(3)
14035 if (self
.synpred186()) :
14040 LA93_267
= self
.input.LA(3)
14042 if (self
.synpred186()) :
14047 LA93_268
= self
.input.LA(3)
14049 if (self
.synpred186()) :
14053 elif LA93
== IDENTIFIER
:
14054 LA93_269
= self
.input.LA(3)
14056 if (self
.synpred186()) :
14061 LA93_270
= self
.input.LA(3)
14063 if (self
.synpred186()) :
14068 LA93_271
= self
.input.LA(3)
14070 if (self
.synpred186()) :
14074 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14075 LA93_272
= self
.input.LA(3)
14077 if (self
.synpred186()) :
14082 LA93_273
= self
.input.LA(3)
14084 if (self
.synpred186()) :
14089 LA93_274
= self
.input.LA(3)
14091 if (self
.synpred186()) :
14096 LA93_275
= self
.input.LA(3)
14098 if (self
.synpred186()) :
14103 LA93_276
= self
.input.LA(3)
14105 if (self
.synpred186()) :
14110 LA93_277
= self
.input.LA(3)
14112 if (self
.synpred186()) :
14117 LA93_278
= self
.input.LA(3)
14119 if (self
.synpred186()) :
14124 LA93_279
= self
.input.LA(3)
14126 if (self
.synpred186()) :
14131 LA93_280
= self
.input.LA(3)
14133 if (self
.synpred186()) :
14138 LA93_281
= self
.input.LA(3)
14140 if (self
.synpred186()) :
14144 elif LA93
== 45 or LA93
== 46:
14145 LA93_282
= self
.input.LA(3)
14147 if (self
.synpred186()) :
14152 LA93_283
= self
.input.LA(3)
14154 if (self
.synpred186()) :
14158 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
14159 LA93_284
= self
.input.LA(3)
14161 if (self
.synpred186()) :
14167 LA93
= self
.input.LA(2)
14169 LA93_285
= self
.input.LA(3)
14171 if (self
.synpred186()) :
14176 LA93_286
= self
.input.LA(3)
14178 if (self
.synpred186()) :
14183 LA93_287
= self
.input.LA(3)
14185 if (self
.synpred186()) :
14190 LA93_288
= self
.input.LA(3)
14192 if (self
.synpred186()) :
14196 elif LA93
== IDENTIFIER
:
14197 LA93_289
= self
.input.LA(3)
14199 if (self
.synpred186()) :
14204 LA93_290
= self
.input.LA(3)
14206 if (self
.synpred186()) :
14211 LA93_291
= self
.input.LA(3)
14213 if (self
.synpred186()) :
14217 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14218 LA93_292
= self
.input.LA(3)
14220 if (self
.synpred186()) :
14225 LA93_293
= self
.input.LA(3)
14227 if (self
.synpred186()) :
14232 LA93_294
= self
.input.LA(3)
14234 if (self
.synpred186()) :
14239 LA93_295
= self
.input.LA(3)
14241 if (self
.synpred186()) :
14246 LA93_296
= self
.input.LA(3)
14248 if (self
.synpred186()) :
14253 LA93_297
= self
.input.LA(3)
14255 if (self
.synpred186()) :
14260 LA93_298
= self
.input.LA(3)
14262 if (self
.synpred186()) :
14267 LA93_299
= self
.input.LA(3)
14269 if (self
.synpred186()) :
14274 LA93_300
= self
.input.LA(3)
14276 if (self
.synpred186()) :
14281 LA93_301
= self
.input.LA(3)
14283 if (self
.synpred186()) :
14287 elif LA93
== 45 or LA93
== 46:
14288 LA93_302
= self
.input.LA(3)
14290 if (self
.synpred186()) :
14295 LA93_303
= self
.input.LA(3)
14297 if (self
.synpred186()) :
14301 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
14302 LA93_304
= self
.input.LA(3)
14304 if (self
.synpred186()) :
14309 elif LA93
== 45 or LA93
== 46:
14310 LA93_40
= self
.input.LA(2)
14312 if (LA93_40
== IDENTIFIER
) :
14313 LA93_305
= self
.input.LA(3)
14315 if (self
.synpred186()) :
14319 elif (LA93_40
== 43) :
14320 LA93_306
= self
.input.LA(3)
14322 if (self
.synpred186()) :
14329 LA93_41
= self
.input.LA(2)
14331 if (LA93_41
== 43) :
14332 LA93_307
= self
.input.LA(3)
14334 if (self
.synpred186()) :
14338 elif (LA93_41
== IDENTIFIER
) :
14339 LA93_308
= self
.input.LA(3)
14341 if (self
.synpred186()) :
14347 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 58 or LA93
== 59 or LA93
== 60 or LA93
== 61:
14348 LA93
= self
.input.LA(2)
14350 LA93_309
= self
.input.LA(3)
14352 if (self
.synpred186()) :
14357 LA93_310
= self
.input.LA(3)
14359 if (self
.synpred186()) :
14364 LA93_311
= self
.input.LA(3)
14366 if (self
.synpred186()) :
14371 LA93_312
= self
.input.LA(3)
14373 if (self
.synpred186()) :
14377 elif LA93
== IDENTIFIER
:
14378 LA93_313
= self
.input.LA(3)
14380 if (self
.synpred186()) :
14385 LA93_314
= self
.input.LA(3)
14387 if (self
.synpred186()) :
14392 LA93_315
= self
.input.LA(3)
14394 if (self
.synpred186()) :
14398 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14399 LA93_316
= self
.input.LA(3)
14401 if (self
.synpred186()) :
14406 LA93_317
= self
.input.LA(3)
14408 if (self
.synpred186()) :
14413 LA93_318
= self
.input.LA(3)
14415 if (self
.synpred186()) :
14420 LA93_319
= self
.input.LA(3)
14422 if (self
.synpred186()) :
14427 LA93_320
= self
.input.LA(3)
14429 if (self
.synpred186()) :
14434 LA93_321
= self
.input.LA(3)
14436 if (self
.synpred186()) :
14441 LA93_322
= self
.input.LA(3)
14443 if (self
.synpred186()) :
14448 LA93_323
= self
.input.LA(3)
14450 if (self
.synpred186()) :
14455 LA93_324
= self
.input.LA(3)
14457 if (self
.synpred186()) :
14462 LA93_325
= self
.input.LA(3)
14464 if (self
.synpred186()) :
14468 elif LA93
== 45 or LA93
== 46:
14469 LA93_326
= self
.input.LA(3)
14471 if (self
.synpred186()) :
14476 LA93_327
= self
.input.LA(3)
14478 if (self
.synpred186()) :
14482 elif LA93
== 49 or LA93
== 50 or LA93
== 51 or LA93
== 52 or LA93
== 53 or LA93
== 54 or LA93
== 55 or LA93
== 56 or LA93
== 57 or LA93
== 61:
14483 LA93_328
= self
.input.LA(3)
14485 if (self
.synpred186()) :
14492 # C.g:0:0: declaration
14493 self
.following
.append(self
.FOLLOW_declaration_in_compound_statement2225
)
14495 self
.following
.pop()
14504 # C.g:554:21: ( statement_list )?
14506 LA94_0
= self
.input.LA(1)
14508 if ((IDENTIFIER
<= LA94_0
<= FLOATING_POINT_LITERAL
) or (25 <= LA94_0
<= 26) or (29 <= LA94_0
<= 43) or (45 <= LA94_0
<= 46) or (48 <= LA94_0
<= 62) or LA94_0
== 66 or (68 <= LA94_0
<= 69) or (72 <= LA94_0
<= 74) or (77 <= LA94_0
<= 79) or (103 <= LA94_0
<= 108) or (110 <= LA94_0
<= 117)) :
14511 # C.g:0:0: statement_list
14512 self
.following
.append(self
.FOLLOW_statement_list_in_compound_statement2228
)
14513 self
.statement_list()
14514 self
.following
.pop()
14520 self
.match(self
.input, 44, self
.FOLLOW_44_in_compound_statement2231
)
14526 retval
.stop
= self
.input.LT(-1)
14529 except RecognitionException
as re
:
14530 self
.reportError(re
)
14531 self
.recover(self
.input, re
)
14533 if self
.backtracking
> 0:
14534 self
.memoize(self
.input, 66, compound_statement_StartIndex
)
14540 # $ANTLR end compound_statement
14543 # $ANTLR start statement_list
14544 # C.g:557:1: statement_list : ( statement )+ ;
14545 def statement_list(self
, ):
14547 statement_list_StartIndex
= self
.input.index()
14550 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 67):
14553 # C.g:558:2: ( ( statement )+ )
14554 # C.g:558:4: ( statement )+
14555 # C.g:558:4: ( statement )+
14557 while True: #loop95
14559 LA95
= self
.input.LA(1)
14560 if LA95
== IDENTIFIER
:
14561 LA95
= self
.input.LA(2)
14563 LA95_46
= self
.input.LA(3)
14565 if (self
.synpred188()) :
14569 elif LA95
== 25 or LA95
== 29 or LA95
== 30 or LA95
== 31 or LA95
== 32 or LA95
== 33 or LA95
== 34 or LA95
== 35 or LA95
== 36 or LA95
== 37 or LA95
== 38 or LA95
== 39 or LA95
== 40 or LA95
== 41 or LA95
== 42 or LA95
== 45 or LA95
== 46 or LA95
== 47 or LA95
== 48 or LA95
== 49 or LA95
== 50 or LA95
== 51 or LA95
== 52 or LA95
== 53 or LA95
== 54 or LA95
== 55 or LA95
== 56 or LA95
== 57 or LA95
== 58 or LA95
== 59 or LA95
== 60 or LA95
== 61:
14571 elif LA95
== STRING_LITERAL
:
14572 LA95_48
= self
.input.LA(3)
14574 if (self
.synpred188()) :
14578 elif LA95
== IDENTIFIER
:
14579 LA95_49
= self
.input.LA(3)
14581 if (self
.synpred188()) :
14586 LA95_50
= self
.input.LA(3)
14588 if (self
.synpred188()) :
14593 LA95_51
= self
.input.LA(3)
14595 if (self
.synpred188()) :
14600 LA95_52
= self
.input.LA(3)
14602 if (self
.synpred188()) :
14607 LA95_53
= self
.input.LA(3)
14609 if (self
.synpred188()) :
14614 LA95_54
= self
.input.LA(3)
14616 if (self
.synpred188()) :
14621 LA95_55
= self
.input.LA(3)
14623 if (self
.synpred188()) :
14628 LA95_56
= self
.input.LA(3)
14630 if (self
.synpred188()) :
14635 LA95_57
= self
.input.LA(3)
14637 if (self
.synpred188()) :
14642 LA95_58
= self
.input.LA(3)
14644 if (self
.synpred188()) :
14649 LA95_59
= self
.input.LA(3)
14651 if (self
.synpred188()) :
14655 elif LA95
== 101 or LA95
== 102:
14656 LA95_60
= self
.input.LA(3)
14658 if (self
.synpred188()) :
14662 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14663 LA95_61
= self
.input.LA(3)
14665 if (self
.synpred188()) :
14669 elif LA95
== 95 or LA95
== 96:
14670 LA95_62
= self
.input.LA(3)
14672 if (self
.synpred188()) :
14677 LA95_63
= self
.input.LA(3)
14679 if (self
.synpred188()) :
14684 LA95_64
= self
.input.LA(3)
14686 if (self
.synpred188()) :
14691 LA95_65
= self
.input.LA(3)
14693 if (self
.synpred188()) :
14698 LA95_66
= self
.input.LA(3)
14700 if (self
.synpred188()) :
14705 LA95_67
= self
.input.LA(3)
14707 if (self
.synpred188()) :
14712 LA95_68
= self
.input.LA(3)
14714 if (self
.synpred188()) :
14719 LA95_69
= self
.input.LA(3)
14721 if (self
.synpred188()) :
14725 elif LA95
== 28 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88 or LA95
== 89:
14726 LA95_88
= self
.input.LA(3)
14728 if (self
.synpred188()) :
14733 elif LA95
== HEX_LITERAL
:
14734 LA95
= self
.input.LA(2)
14736 LA95_89
= self
.input.LA(3)
14738 if (self
.synpred188()) :
14743 LA95_90
= self
.input.LA(3)
14745 if (self
.synpred188()) :
14750 LA95_91
= self
.input.LA(3)
14752 if (self
.synpred188()) :
14757 LA95_92
= self
.input.LA(3)
14759 if (self
.synpred188()) :
14764 LA95_93
= self
.input.LA(3)
14766 if (self
.synpred188()) :
14771 LA95_94
= self
.input.LA(3)
14773 if (self
.synpred188()) :
14778 LA95_95
= self
.input.LA(3)
14780 if (self
.synpred188()) :
14784 elif LA95
== 28 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88 or LA95
== 89:
14785 LA95_96
= self
.input.LA(3)
14787 if (self
.synpred188()) :
14792 LA95_97
= self
.input.LA(3)
14794 if (self
.synpred188()) :
14799 LA95_98
= self
.input.LA(3)
14801 if (self
.synpred188()) :
14806 LA95_99
= self
.input.LA(3)
14808 if (self
.synpred188()) :
14813 LA95_100
= self
.input.LA(3)
14815 if (self
.synpred188()) :
14819 elif LA95
== 101 or LA95
== 102:
14820 LA95_101
= self
.input.LA(3)
14822 if (self
.synpred188()) :
14826 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14827 LA95_102
= self
.input.LA(3)
14829 if (self
.synpred188()) :
14833 elif LA95
== 95 or LA95
== 96:
14834 LA95_103
= self
.input.LA(3)
14836 if (self
.synpred188()) :
14841 LA95_104
= self
.input.LA(3)
14843 if (self
.synpred188()) :
14848 LA95_105
= self
.input.LA(3)
14850 if (self
.synpred188()) :
14855 LA95_106
= self
.input.LA(3)
14857 if (self
.synpred188()) :
14862 LA95_107
= self
.input.LA(3)
14864 if (self
.synpred188()) :
14869 LA95_108
= self
.input.LA(3)
14871 if (self
.synpred188()) :
14876 LA95_109
= self
.input.LA(3)
14878 if (self
.synpred188()) :
14883 LA95_110
= self
.input.LA(3)
14885 if (self
.synpred188()) :
14892 elif LA95
== OCTAL_LITERAL
:
14893 LA95
= self
.input.LA(2)
14895 LA95_113
= self
.input.LA(3)
14897 if (self
.synpred188()) :
14902 LA95_114
= self
.input.LA(3)
14904 if (self
.synpred188()) :
14909 LA95_115
= self
.input.LA(3)
14911 if (self
.synpred188()) :
14916 LA95_116
= self
.input.LA(3)
14918 if (self
.synpred188()) :
14923 LA95_117
= self
.input.LA(3)
14925 if (self
.synpred188()) :
14930 LA95_118
= self
.input.LA(3)
14932 if (self
.synpred188()) :
14937 LA95_119
= self
.input.LA(3)
14939 if (self
.synpred188()) :
14944 LA95_120
= self
.input.LA(3)
14946 if (self
.synpred188()) :
14951 LA95_121
= self
.input.LA(3)
14953 if (self
.synpred188()) :
14958 LA95_122
= self
.input.LA(3)
14960 if (self
.synpred188()) :
14965 LA95_123
= self
.input.LA(3)
14967 if (self
.synpred188()) :
14971 elif LA95
== 101 or LA95
== 102:
14972 LA95_124
= self
.input.LA(3)
14974 if (self
.synpred188()) :
14978 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14979 LA95_125
= self
.input.LA(3)
14981 if (self
.synpred188()) :
14985 elif LA95
== 95 or LA95
== 96:
14986 LA95_126
= self
.input.LA(3)
14988 if (self
.synpred188()) :
14993 LA95_127
= self
.input.LA(3)
14995 if (self
.synpred188()) :
15000 LA95_128
= self
.input.LA(3)
15002 if (self
.synpred188()) :
15007 LA95_129
= self
.input.LA(3)
15009 if (self
.synpred188()) :
15014 LA95_130
= self
.input.LA(3)
15016 if (self
.synpred188()) :
15021 LA95_131
= self
.input.LA(3)
15023 if (self
.synpred188()) :
15028 LA95_132
= self
.input.LA(3)
15030 if (self
.synpred188()) :
15035 LA95_133
= self
.input.LA(3)
15037 if (self
.synpred188()) :
15041 elif LA95
== 28 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88 or LA95
== 89:
15042 LA95_135
= self
.input.LA(3)
15044 if (self
.synpred188()) :
15051 elif LA95
== DECIMAL_LITERAL
:
15052 LA95
= self
.input.LA(2)
15054 LA95_137
= self
.input.LA(3)
15056 if (self
.synpred188()) :
15061 LA95_138
= self
.input.LA(3)
15063 if (self
.synpred188()) :
15068 LA95_139
= self
.input.LA(3)
15070 if (self
.synpred188()) :
15075 LA95_140
= self
.input.LA(3)
15077 if (self
.synpred188()) :
15082 LA95_141
= self
.input.LA(3)
15084 if (self
.synpred188()) :
15089 LA95_142
= self
.input.LA(3)
15091 if (self
.synpred188()) :
15096 LA95_143
= self
.input.LA(3)
15098 if (self
.synpred188()) :
15102 elif LA95
== 28 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88 or LA95
== 89:
15103 LA95_144
= self
.input.LA(3)
15105 if (self
.synpred188()) :
15110 LA95_145
= self
.input.LA(3)
15112 if (self
.synpred188()) :
15117 LA95_146
= self
.input.LA(3)
15119 if (self
.synpred188()) :
15124 LA95_147
= self
.input.LA(3)
15126 if (self
.synpred188()) :
15131 LA95_148
= self
.input.LA(3)
15133 if (self
.synpred188()) :
15137 elif LA95
== 101 or LA95
== 102:
15138 LA95_149
= self
.input.LA(3)
15140 if (self
.synpred188()) :
15144 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15145 LA95_150
= self
.input.LA(3)
15147 if (self
.synpred188()) :
15151 elif LA95
== 95 or LA95
== 96:
15152 LA95_151
= self
.input.LA(3)
15154 if (self
.synpred188()) :
15159 LA95_152
= self
.input.LA(3)
15161 if (self
.synpred188()) :
15166 LA95_153
= self
.input.LA(3)
15168 if (self
.synpred188()) :
15173 LA95_154
= self
.input.LA(3)
15175 if (self
.synpred188()) :
15180 LA95_155
= self
.input.LA(3)
15182 if (self
.synpred188()) :
15187 LA95_156
= self
.input.LA(3)
15189 if (self
.synpred188()) :
15194 LA95_157
= self
.input.LA(3)
15196 if (self
.synpred188()) :
15201 LA95_158
= self
.input.LA(3)
15203 if (self
.synpred188()) :
15210 elif LA95
== CHARACTER_LITERAL
:
15211 LA95
= self
.input.LA(2)
15213 LA95_161
= self
.input.LA(3)
15215 if (self
.synpred188()) :
15220 LA95_162
= self
.input.LA(3)
15222 if (self
.synpred188()) :
15227 LA95_163
= self
.input.LA(3)
15229 if (self
.synpred188()) :
15234 LA95_164
= self
.input.LA(3)
15236 if (self
.synpred188()) :
15241 LA95_165
= self
.input.LA(3)
15243 if (self
.synpred188()) :
15248 LA95_166
= self
.input.LA(3)
15250 if (self
.synpred188()) :
15255 LA95_167
= self
.input.LA(3)
15257 if (self
.synpred188()) :
15261 elif LA95
== 28 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88 or LA95
== 89:
15262 LA95_168
= self
.input.LA(3)
15264 if (self
.synpred188()) :
15269 LA95_169
= self
.input.LA(3)
15271 if (self
.synpred188()) :
15276 LA95_170
= self
.input.LA(3)
15278 if (self
.synpred188()) :
15283 LA95_171
= self
.input.LA(3)
15285 if (self
.synpred188()) :
15290 LA95_172
= self
.input.LA(3)
15292 if (self
.synpred188()) :
15296 elif LA95
== 101 or LA95
== 102:
15297 LA95_173
= self
.input.LA(3)
15299 if (self
.synpred188()) :
15303 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15304 LA95_174
= self
.input.LA(3)
15306 if (self
.synpred188()) :
15310 elif LA95
== 95 or LA95
== 96:
15311 LA95_175
= self
.input.LA(3)
15313 if (self
.synpred188()) :
15318 LA95_176
= self
.input.LA(3)
15320 if (self
.synpred188()) :
15325 LA95_177
= self
.input.LA(3)
15327 if (self
.synpred188()) :
15332 LA95_178
= self
.input.LA(3)
15334 if (self
.synpred188()) :
15339 LA95_179
= self
.input.LA(3)
15341 if (self
.synpred188()) :
15346 LA95_180
= self
.input.LA(3)
15348 if (self
.synpred188()) :
15353 LA95_181
= self
.input.LA(3)
15355 if (self
.synpred188()) :
15360 LA95_182
= self
.input.LA(3)
15362 if (self
.synpred188()) :
15369 elif LA95
== STRING_LITERAL
:
15370 LA95
= self
.input.LA(2)
15371 if LA95
== IDENTIFIER
:
15372 LA95_185
= self
.input.LA(3)
15374 if (self
.synpred188()) :
15379 LA95_186
= self
.input.LA(3)
15381 if (self
.synpred188()) :
15386 LA95_187
= self
.input.LA(3)
15388 if (self
.synpred188()) :
15393 LA95_188
= self
.input.LA(3)
15395 if (self
.synpred188()) :
15400 LA95_189
= self
.input.LA(3)
15402 if (self
.synpred188()) :
15407 LA95_190
= self
.input.LA(3)
15409 if (self
.synpred188()) :
15414 LA95_191
= self
.input.LA(3)
15416 if (self
.synpred188()) :
15421 LA95_192
= self
.input.LA(3)
15423 if (self
.synpred188()) :
15428 LA95_193
= self
.input.LA(3)
15430 if (self
.synpred188()) :
15435 LA95_194
= self
.input.LA(3)
15437 if (self
.synpred188()) :
15442 LA95_195
= self
.input.LA(3)
15444 if (self
.synpred188()) :
15449 LA95_196
= self
.input.LA(3)
15451 if (self
.synpred188()) :
15455 elif LA95
== 101 or LA95
== 102:
15456 LA95_197
= self
.input.LA(3)
15458 if (self
.synpred188()) :
15462 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15463 LA95_198
= self
.input.LA(3)
15465 if (self
.synpred188()) :
15469 elif LA95
== 95 or LA95
== 96:
15470 LA95_199
= self
.input.LA(3)
15472 if (self
.synpred188()) :
15477 LA95_200
= self
.input.LA(3)
15479 if (self
.synpred188()) :
15484 LA95_201
= self
.input.LA(3)
15486 if (self
.synpred188()) :
15491 LA95_202
= self
.input.LA(3)
15493 if (self
.synpred188()) :
15498 LA95_203
= self
.input.LA(3)
15500 if (self
.synpred188()) :
15505 LA95_204
= self
.input.LA(3)
15507 if (self
.synpred188()) :
15512 LA95_205
= self
.input.LA(3)
15514 if (self
.synpred188()) :
15519 LA95_206
= self
.input.LA(3)
15521 if (self
.synpred188()) :
15527 elif LA95
== STRING_LITERAL
:
15528 LA95_208
= self
.input.LA(3)
15530 if (self
.synpred188()) :
15534 elif LA95
== 28 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88 or LA95
== 89:
15535 LA95_209
= self
.input.LA(3)
15537 if (self
.synpred188()) :
15542 elif LA95
== FLOATING_POINT_LITERAL
:
15543 LA95
= self
.input.LA(2)
15545 LA95_211
= self
.input.LA(3)
15547 if (self
.synpred188()) :
15552 LA95_212
= self
.input.LA(3)
15554 if (self
.synpred188()) :
15559 LA95_213
= self
.input.LA(3)
15561 if (self
.synpred188()) :
15566 LA95_214
= self
.input.LA(3)
15568 if (self
.synpred188()) :
15573 LA95_215
= self
.input.LA(3)
15575 if (self
.synpred188()) :
15580 LA95_216
= self
.input.LA(3)
15582 if (self
.synpred188()) :
15587 LA95_217
= self
.input.LA(3)
15589 if (self
.synpred188()) :
15594 LA95_218
= self
.input.LA(3)
15596 if (self
.synpred188()) :
15601 LA95_219
= self
.input.LA(3)
15603 if (self
.synpred188()) :
15608 LA95_220
= self
.input.LA(3)
15610 if (self
.synpred188()) :
15615 LA95_221
= self
.input.LA(3)
15617 if (self
.synpred188()) :
15621 elif LA95
== 101 or LA95
== 102:
15622 LA95_222
= self
.input.LA(3)
15624 if (self
.synpred188()) :
15628 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15629 LA95_223
= self
.input.LA(3)
15631 if (self
.synpred188()) :
15635 elif LA95
== 95 or LA95
== 96:
15636 LA95_224
= self
.input.LA(3)
15638 if (self
.synpred188()) :
15643 LA95_225
= self
.input.LA(3)
15645 if (self
.synpred188()) :
15650 LA95_226
= self
.input.LA(3)
15652 if (self
.synpred188()) :
15657 LA95_227
= self
.input.LA(3)
15659 if (self
.synpred188()) :
15664 LA95_228
= self
.input.LA(3)
15666 if (self
.synpred188()) :
15671 LA95_229
= self
.input.LA(3)
15673 if (self
.synpred188()) :
15678 LA95_230
= self
.input.LA(3)
15680 if (self
.synpred188()) :
15685 LA95_231
= self
.input.LA(3)
15687 if (self
.synpred188()) :
15693 elif LA95
== 28 or LA95
== 80 or LA95
== 81 or LA95
== 82 or LA95
== 83 or LA95
== 84 or LA95
== 85 or LA95
== 86 or LA95
== 87 or LA95
== 88 or LA95
== 89:
15694 LA95_234
= self
.input.LA(3)
15696 if (self
.synpred188()) :
15702 LA95
= self
.input.LA(2)
15703 if LA95
== IDENTIFIER
:
15704 LA95_235
= self
.input.LA(3)
15706 if (self
.synpred188()) :
15710 elif LA95
== HEX_LITERAL
:
15711 LA95_236
= self
.input.LA(3)
15713 if (self
.synpred188()) :
15717 elif LA95
== OCTAL_LITERAL
:
15718 LA95_237
= self
.input.LA(3)
15720 if (self
.synpred188()) :
15724 elif LA95
== DECIMAL_LITERAL
:
15725 LA95_238
= self
.input.LA(3)
15727 if (self
.synpred188()) :
15731 elif LA95
== CHARACTER_LITERAL
:
15732 LA95_239
= self
.input.LA(3)
15734 if (self
.synpred188()) :
15738 elif LA95
== STRING_LITERAL
:
15739 LA95_240
= self
.input.LA(3)
15741 if (self
.synpred188()) :
15745 elif LA95
== FLOATING_POINT_LITERAL
:
15746 LA95_241
= self
.input.LA(3)
15748 if (self
.synpred188()) :
15753 LA95_242
= self
.input.LA(3)
15755 if (self
.synpred188()) :
15760 LA95_243
= self
.input.LA(3)
15762 if (self
.synpred188()) :
15767 LA95_244
= self
.input.LA(3)
15769 if (self
.synpred188()) :
15773 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
15774 LA95_245
= self
.input.LA(3)
15776 if (self
.synpred188()) :
15781 LA95_246
= self
.input.LA(3)
15783 if (self
.synpred188()) :
15787 elif LA95
== 49 or LA95
== 50 or LA95
== 51 or LA95
== 52 or LA95
== 53 or LA95
== 54 or LA95
== 55 or LA95
== 56 or LA95
== 57 or LA95
== 58 or LA95
== 59 or LA95
== 60 or LA95
== 61:
15788 LA95_247
= self
.input.LA(3)
15790 if (self
.synpred188()) :
15795 LA95_248
= self
.input.LA(3)
15797 if (self
.synpred188()) :
15802 LA95_249
= self
.input.LA(3)
15804 if (self
.synpred188()) :
15809 LA95_250
= self
.input.LA(3)
15811 if (self
.synpred188()) :
15816 LA95_251
= self
.input.LA(3)
15818 if (self
.synpred188()) :
15823 LA95_252
= self
.input.LA(3)
15825 if (self
.synpred188()) :
15830 LA95_253
= self
.input.LA(3)
15832 if (self
.synpred188()) :
15837 LA95_254
= self
.input.LA(3)
15839 if (self
.synpred188()) :
15844 LA95_255
= self
.input.LA(3)
15846 if (self
.synpred188()) :
15851 LA95_256
= self
.input.LA(3)
15853 if (self
.synpred188()) :
15857 elif LA95
== 45 or LA95
== 46:
15858 LA95_257
= self
.input.LA(3)
15860 if (self
.synpred188()) :
15865 LA95_258
= self
.input.LA(3)
15867 if (self
.synpred188()) :
15873 LA95
= self
.input.LA(2)
15874 if LA95
== IDENTIFIER
:
15875 LA95_259
= self
.input.LA(3)
15877 if (self
.synpred188()) :
15881 elif LA95
== HEX_LITERAL
:
15882 LA95_260
= self
.input.LA(3)
15884 if (self
.synpred188()) :
15888 elif LA95
== OCTAL_LITERAL
:
15889 LA95_261
= self
.input.LA(3)
15891 if (self
.synpred188()) :
15895 elif LA95
== DECIMAL_LITERAL
:
15896 LA95_262
= self
.input.LA(3)
15898 if (self
.synpred188()) :
15902 elif LA95
== CHARACTER_LITERAL
:
15903 LA95_263
= self
.input.LA(3)
15905 if (self
.synpred188()) :
15909 elif LA95
== STRING_LITERAL
:
15910 LA95_264
= self
.input.LA(3)
15912 if (self
.synpred188()) :
15916 elif LA95
== FLOATING_POINT_LITERAL
:
15917 LA95_265
= self
.input.LA(3)
15919 if (self
.synpred188()) :
15924 LA95_266
= self
.input.LA(3)
15926 if (self
.synpred188()) :
15931 LA95_267
= self
.input.LA(3)
15933 if (self
.synpred188()) :
15938 LA95_268
= self
.input.LA(3)
15940 if (self
.synpred188()) :
15944 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
15945 LA95_269
= self
.input.LA(3)
15947 if (self
.synpred188()) :
15952 LA95_270
= self
.input.LA(3)
15954 if (self
.synpred188()) :
15960 LA95
= self
.input.LA(2)
15961 if LA95
== IDENTIFIER
:
15962 LA95_271
= self
.input.LA(3)
15964 if (self
.synpred188()) :
15968 elif LA95
== HEX_LITERAL
:
15969 LA95_272
= self
.input.LA(3)
15971 if (self
.synpred188()) :
15975 elif LA95
== OCTAL_LITERAL
:
15976 LA95_273
= self
.input.LA(3)
15978 if (self
.synpred188()) :
15982 elif LA95
== DECIMAL_LITERAL
:
15983 LA95_274
= self
.input.LA(3)
15985 if (self
.synpred188()) :
15989 elif LA95
== CHARACTER_LITERAL
:
15990 LA95_275
= self
.input.LA(3)
15992 if (self
.synpred188()) :
15996 elif LA95
== STRING_LITERAL
:
15997 LA95_276
= self
.input.LA(3)
15999 if (self
.synpred188()) :
16003 elif LA95
== FLOATING_POINT_LITERAL
:
16004 LA95_277
= self
.input.LA(3)
16006 if (self
.synpred188()) :
16011 LA95_278
= self
.input.LA(3)
16013 if (self
.synpred188()) :
16018 LA95_279
= self
.input.LA(3)
16020 if (self
.synpred188()) :
16025 LA95_280
= self
.input.LA(3)
16027 if (self
.synpred188()) :
16031 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16032 LA95_281
= self
.input.LA(3)
16034 if (self
.synpred188()) :
16039 LA95_282
= self
.input.LA(3)
16041 if (self
.synpred188()) :
16046 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16047 LA95
= self
.input.LA(2)
16049 LA95_283
= self
.input.LA(3)
16051 if (self
.synpred188()) :
16055 elif LA95
== IDENTIFIER
:
16056 LA95_284
= self
.input.LA(3)
16058 if (self
.synpred188()) :
16062 elif LA95
== HEX_LITERAL
:
16063 LA95_285
= self
.input.LA(3)
16065 if (self
.synpred188()) :
16069 elif LA95
== OCTAL_LITERAL
:
16070 LA95_286
= self
.input.LA(3)
16072 if (self
.synpred188()) :
16076 elif LA95
== DECIMAL_LITERAL
:
16077 LA95_287
= self
.input.LA(3)
16079 if (self
.synpred188()) :
16083 elif LA95
== CHARACTER_LITERAL
:
16084 LA95_288
= self
.input.LA(3)
16086 if (self
.synpred188()) :
16090 elif LA95
== STRING_LITERAL
:
16091 LA95_289
= self
.input.LA(3)
16093 if (self
.synpred188()) :
16097 elif LA95
== FLOATING_POINT_LITERAL
:
16098 LA95_290
= self
.input.LA(3)
16100 if (self
.synpred188()) :
16105 LA95_291
= self
.input.LA(3)
16107 if (self
.synpred188()) :
16112 LA95_292
= self
.input.LA(3)
16114 if (self
.synpred188()) :
16118 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16119 LA95_293
= self
.input.LA(3)
16121 if (self
.synpred188()) :
16126 LA95_294
= self
.input.LA(3)
16128 if (self
.synpred188()) :
16134 LA95
= self
.input.LA(2)
16136 LA95_295
= self
.input.LA(3)
16138 if (self
.synpred188()) :
16142 elif LA95
== IDENTIFIER
:
16143 LA95_296
= self
.input.LA(3)
16145 if (self
.synpred188()) :
16149 elif LA95
== HEX_LITERAL
:
16150 LA95_297
= self
.input.LA(3)
16152 if (self
.synpred188()) :
16156 elif LA95
== OCTAL_LITERAL
:
16157 LA95_298
= self
.input.LA(3)
16159 if (self
.synpred188()) :
16163 elif LA95
== DECIMAL_LITERAL
:
16164 LA95_299
= self
.input.LA(3)
16166 if (self
.synpred188()) :
16170 elif LA95
== CHARACTER_LITERAL
:
16171 LA95_300
= self
.input.LA(3)
16173 if (self
.synpred188()) :
16177 elif LA95
== STRING_LITERAL
:
16178 LA95_301
= self
.input.LA(3)
16180 if (self
.synpred188()) :
16184 elif LA95
== FLOATING_POINT_LITERAL
:
16185 LA95_302
= self
.input.LA(3)
16187 if (self
.synpred188()) :
16192 LA95_303
= self
.input.LA(3)
16194 if (self
.synpred188()) :
16199 LA95_304
= self
.input.LA(3)
16201 if (self
.synpred188()) :
16205 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16206 LA95_305
= self
.input.LA(3)
16208 if (self
.synpred188()) :
16213 LA95_306
= self
.input.LA(3)
16215 if (self
.synpred188()) :
16220 elif LA95
== 25 or LA95
== 26 or LA95
== 29 or LA95
== 30 or LA95
== 31 or LA95
== 32 or LA95
== 33 or LA95
== 34 or LA95
== 35 or LA95
== 36 or LA95
== 37 or LA95
== 38 or LA95
== 39 or LA95
== 40 or LA95
== 41 or LA95
== 42 or LA95
== 43 or LA95
== 45 or LA95
== 46 or LA95
== 48 or LA95
== 49 or LA95
== 50 or LA95
== 51 or LA95
== 52 or LA95
== 53 or LA95
== 54 or LA95
== 55 or LA95
== 56 or LA95
== 57 or LA95
== 58 or LA95
== 59 or LA95
== 60 or LA95
== 61 or LA95
== 103 or LA95
== 104 or LA95
== 105 or LA95
== 106 or LA95
== 107 or LA95
== 108 or LA95
== 110 or LA95
== 111 or LA95
== 112 or LA95
== 113 or LA95
== 114 or LA95
== 115 or LA95
== 116 or LA95
== 117:
16224 # C.g:0:0: statement
16225 self
.following
.append(self
.FOLLOW_statement_in_statement_list2242
)
16227 self
.following
.pop()
16236 if self
.backtracking
> 0:
16240 eee
= EarlyExitException(95, self
.input)
16250 except RecognitionException
as re
:
16251 self
.reportError(re
)
16252 self
.recover(self
.input, re
)
16254 if self
.backtracking
> 0:
16255 self
.memoize(self
.input, 67, statement_list_StartIndex
)
16261 # $ANTLR end statement_list
16263 class expression_statement_return(object):
16264 def __init__(self
):
16270 # $ANTLR start expression_statement
16271 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16272 def expression_statement(self
, ):
16274 retval
= self
.expression_statement_return()
16275 retval
.start
= self
.input.LT(1)
16276 expression_statement_StartIndex
= self
.input.index()
16279 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 68):
16282 # C.g:562:2: ( ';' | expression ';' )
16284 LA96_0
= self
.input.LA(1)
16286 if (LA96_0
== 25) :
16288 elif ((IDENTIFIER
<= LA96_0
<= FLOATING_POINT_LITERAL
) or LA96_0
== 62 or LA96_0
== 66 or (68 <= LA96_0
<= 69) or (72 <= LA96_0
<= 74) or (77 <= LA96_0
<= 79)) :
16291 if self
.backtracking
> 0:
16295 nvae
= NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self
.input)
16301 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2254
)
16307 # C.g:563:4: expression ';'
16308 self
.following
.append(self
.FOLLOW_expression_in_expression_statement2259
)
16310 self
.following
.pop()
16313 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2261
)
16318 retval
.stop
= self
.input.LT(-1)
16321 except RecognitionException
as re
:
16322 self
.reportError(re
)
16323 self
.recover(self
.input, re
)
16325 if self
.backtracking
> 0:
16326 self
.memoize(self
.input, 68, expression_statement_StartIndex
)
16332 # $ANTLR end expression_statement
16335 # $ANTLR start selection_statement
16336 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16337 def selection_statement(self
, ):
16339 selection_statement_StartIndex
= self
.input.index()
16345 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 69):
16348 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16350 LA98_0
= self
.input.LA(1)
16352 if (LA98_0
== 108) :
16354 elif (LA98_0
== 110) :
16357 if self
.backtracking
> 0:
16361 nvae
= NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self
.input)
16366 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16367 self
.match(self
.input, 108, self
.FOLLOW_108_in_selection_statement2272
)
16370 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2274
)
16373 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2278
)
16374 e
= self
.expression()
16375 self
.following
.pop()
16378 self
.match(self
.input, 63, self
.FOLLOW_63_in_selection_statement2280
)
16381 if self
.backtracking
== 0:
16382 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16384 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2284
)
16386 self
.following
.pop()
16389 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16391 LA97_0
= self
.input.LA(1)
16393 if (LA97_0
== 109) :
16396 # C.g:567:200: 'else' statement
16397 self
.match(self
.input, 109, self
.FOLLOW_109_in_selection_statement2299
)
16400 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2301
)
16402 self
.following
.pop()
16411 # C.g:568:4: 'switch' '(' expression ')' statement
16412 self
.match(self
.input, 110, self
.FOLLOW_110_in_selection_statement2308
)
16415 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2310
)
16418 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2312
)
16420 self
.following
.pop()
16423 self
.match(self
.input, 63, self
.FOLLOW_63_in_selection_statement2314
)
16426 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2316
)
16428 self
.following
.pop()
16434 except RecognitionException
as re
:
16435 self
.reportError(re
)
16436 self
.recover(self
.input, re
)
16438 if self
.backtracking
> 0:
16439 self
.memoize(self
.input, 69, selection_statement_StartIndex
)
16445 # $ANTLR end selection_statement
16448 # $ANTLR start iteration_statement
16449 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16450 def iteration_statement(self
, ):
16452 iteration_statement_StartIndex
= self
.input.index()
16458 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 70):
16461 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16463 LA100
= self
.input.LA(1)
16471 if self
.backtracking
> 0:
16475 nvae
= NoViableAltException("571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self
.input)
16480 # C.g:572:4: 'while' '(' e= expression ')' statement
16481 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2327
)
16484 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2329
)
16487 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2333
)
16488 e
= self
.expression()
16489 self
.following
.pop()
16492 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2335
)
16495 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2337
)
16497 self
.following
.pop()
16500 if self
.backtracking
== 0:
16501 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16506 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16507 self
.match(self
.input, 112, self
.FOLLOW_112_in_iteration_statement2344
)
16510 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2346
)
16512 self
.following
.pop()
16515 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2348
)
16518 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2350
)
16521 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2354
)
16522 e
= self
.expression()
16523 self
.following
.pop()
16526 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2356
)
16529 self
.match(self
.input, 25, self
.FOLLOW_25_in_iteration_statement2358
)
16532 if self
.backtracking
== 0:
16533 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16538 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16539 self
.match(self
.input, 113, self
.FOLLOW_113_in_iteration_statement2365
)
16542 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2367
)
16545 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2369
)
16546 self
.expression_statement()
16547 self
.following
.pop()
16550 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2373
)
16551 e
= self
.expression_statement()
16552 self
.following
.pop()
16555 # C.g:574:58: ( expression )?
16557 LA99_0
= self
.input.LA(1)
16559 if ((IDENTIFIER
<= LA99_0
<= FLOATING_POINT_LITERAL
) or LA99_0
== 62 or LA99_0
== 66 or (68 <= LA99_0
<= 69) or (72 <= LA99_0
<= 74) or (77 <= LA99_0
<= 79)) :
16562 # C.g:0:0: expression
16563 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2375
)
16565 self
.following
.pop()
16571 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2378
)
16574 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2380
)
16576 self
.following
.pop()
16579 if self
.backtracking
== 0:
16580 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16585 except RecognitionException
as re
:
16586 self
.reportError(re
)
16587 self
.recover(self
.input, re
)
16589 if self
.backtracking
> 0:
16590 self
.memoize(self
.input, 70, iteration_statement_StartIndex
)
16596 # $ANTLR end iteration_statement
16599 # $ANTLR start jump_statement
16600 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16601 def jump_statement(self
, ):
16603 jump_statement_StartIndex
= self
.input.index()
16606 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 71):
16609 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16611 LA101
= self
.input.LA(1)
16619 LA101_4
= self
.input.LA(2)
16621 if (LA101_4
== 25) :
16623 elif ((IDENTIFIER
<= LA101_4
<= FLOATING_POINT_LITERAL
) or LA101_4
== 62 or LA101_4
== 66 or (68 <= LA101_4
<= 69) or (72 <= LA101_4
<= 74) or (77 <= LA101_4
<= 79)) :
16626 if self
.backtracking
> 0:
16630 nvae
= NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self
.input)
16635 if self
.backtracking
> 0:
16639 nvae
= NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self
.input)
16644 # C.g:578:4: 'goto' IDENTIFIER ';'
16645 self
.match(self
.input, 114, self
.FOLLOW_114_in_jump_statement2393
)
16648 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_jump_statement2395
)
16651 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2397
)
16657 # C.g:579:4: 'continue' ';'
16658 self
.match(self
.input, 115, self
.FOLLOW_115_in_jump_statement2402
)
16661 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2404
)
16667 # C.g:580:4: 'break' ';'
16668 self
.match(self
.input, 116, self
.FOLLOW_116_in_jump_statement2409
)
16671 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2411
)
16677 # C.g:581:4: 'return' ';'
16678 self
.match(self
.input, 117, self
.FOLLOW_117_in_jump_statement2416
)
16681 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2418
)
16687 # C.g:582:4: 'return' expression ';'
16688 self
.match(self
.input, 117, self
.FOLLOW_117_in_jump_statement2423
)
16691 self
.following
.append(self
.FOLLOW_expression_in_jump_statement2425
)
16693 self
.following
.pop()
16696 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2427
)
16702 except RecognitionException
as re
:
16703 self
.reportError(re
)
16704 self
.recover(self
.input, re
)
16706 if self
.backtracking
> 0:
16707 self
.memoize(self
.input, 71, jump_statement_StartIndex
)
16713 # $ANTLR end jump_statement
16715 # $ANTLR start synpred2
16716 def synpred2_fragment(self
, ):
16717 # C.g:119:6: ( declaration_specifiers )
16718 # C.g:119:6: declaration_specifiers
16719 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred2100
)
16720 self
.declaration_specifiers()
16721 self
.following
.pop()
16726 # $ANTLR end synpred2
16730 # $ANTLR start synpred4
16731 def synpred4_fragment(self
, ):
16732 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16733 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16734 # C.g:119:6: ( declaration_specifiers )?
16736 LA102
= self
.input.LA(1)
16737 if LA102
== 29 or LA102
== 30 or LA102
== 31 or LA102
== 32 or LA102
== 33 or LA102
== 34 or LA102
== 35 or LA102
== 36 or LA102
== 37 or LA102
== 38 or LA102
== 39 or LA102
== 40 or LA102
== 41 or LA102
== 42 or LA102
== 45 or LA102
== 46 or LA102
== 48 or LA102
== 49 or LA102
== 50 or LA102
== 51 or LA102
== 52 or LA102
== 53 or LA102
== 54 or LA102
== 55 or LA102
== 56 or LA102
== 57 or LA102
== 61:
16739 elif LA102
== IDENTIFIER
:
16740 LA102
= self
.input.LA(2)
16742 LA102_21
= self
.input.LA(3)
16744 if (self
.synpred2()) :
16746 elif LA102
== 29 or LA102
== 30 or LA102
== 31 or LA102
== 32 or LA102
== 33:
16747 LA102_23
= self
.input.LA(3)
16749 if (self
.synpred2()) :
16752 LA102_24
= self
.input.LA(3)
16754 if (self
.synpred2()) :
16757 LA102_25
= self
.input.LA(3)
16759 if (self
.synpred2()) :
16762 LA102_26
= self
.input.LA(3)
16764 if (self
.synpred2()) :
16767 LA102_27
= self
.input.LA(3)
16769 if (self
.synpred2()) :
16772 LA102_28
= self
.input.LA(3)
16774 if (self
.synpred2()) :
16777 LA102_29
= self
.input.LA(3)
16779 if (self
.synpred2()) :
16782 LA102_30
= self
.input.LA(3)
16784 if (self
.synpred2()) :
16787 LA102_31
= self
.input.LA(3)
16789 if (self
.synpred2()) :
16792 LA102_32
= self
.input.LA(3)
16794 if (self
.synpred2()) :
16796 elif LA102
== 45 or LA102
== 46:
16797 LA102_33
= self
.input.LA(3)
16799 if (self
.synpred2()) :
16802 LA102_34
= self
.input.LA(3)
16804 if (self
.synpred2()) :
16806 elif LA102
== IDENTIFIER
:
16807 LA102_35
= self
.input.LA(3)
16809 if (self
.synpred2()) :
16812 LA102_36
= self
.input.LA(3)
16814 if (self
.synpred2()) :
16819 LA102_39
= self
.input.LA(3)
16821 if (self
.synpred2()) :
16824 LA102_40
= self
.input.LA(3)
16826 if (self
.synpred2()) :
16828 elif LA102
== 49 or LA102
== 50 or LA102
== 51 or LA102
== 52 or LA102
== 53 or LA102
== 54 or LA102
== 55 or LA102
== 56 or LA102
== 57 or LA102
== 61:
16829 LA102_41
= self
.input.LA(3)
16831 if (self
.synpred2()) :
16834 LA102_14
= self
.input.LA(2)
16836 if (self
.synpred2()) :
16839 LA102_16
= self
.input.LA(2)
16841 if (self
.synpred2()) :
16844 LA102_17
= self
.input.LA(2)
16846 if (self
.synpred2()) :
16849 # C.g:0:0: declaration_specifiers
16850 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred4100
)
16851 self
.declaration_specifiers()
16852 self
.following
.pop()
16858 self
.following
.append(self
.FOLLOW_declarator_in_synpred4103
)
16860 self
.following
.pop()
16863 # C.g:119:41: ( declaration )*
16864 while True: #loop103
16866 LA103_0
= self
.input.LA(1)
16868 if (LA103_0
== IDENTIFIER
or LA103_0
== 26 or (29 <= LA103_0
<= 42) or (45 <= LA103_0
<= 46) or (48 <= LA103_0
<= 61)) :
16873 # C.g:0:0: declaration
16874 self
.following
.append(self
.FOLLOW_declaration_in_synpred4105
)
16876 self
.following
.pop()
16885 self
.match(self
.input, 43, self
.FOLLOW_43_in_synpred4108
)
16890 # $ANTLR end synpred4
16894 # $ANTLR start synpred5
16895 def synpred5_fragment(self
, ):
16896 # C.g:120:4: ( declaration )
16897 # C.g:120:4: declaration
16898 self
.following
.append(self
.FOLLOW_declaration_in_synpred5118
)
16900 self
.following
.pop()
16905 # $ANTLR end synpred5
16909 # $ANTLR start synpred7
16910 def synpred7_fragment(self
, ):
16911 # C.g:146:6: ( declaration_specifiers )
16912 # C.g:146:6: declaration_specifiers
16913 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred7157
)
16914 self
.declaration_specifiers()
16915 self
.following
.pop()
16920 # $ANTLR end synpred7
16924 # $ANTLR start synpred10
16925 def synpred10_fragment(self
, ):
16926 # C.g:167:18: ( declaration_specifiers )
16927 # C.g:167:18: declaration_specifiers
16928 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred10207
)
16929 self
.declaration_specifiers()
16930 self
.following
.pop()
16935 # $ANTLR end synpred10
16939 # $ANTLR start synpred14
16940 def synpred14_fragment(self
, ):
16941 # C.g:184:7: ( type_specifier )
16942 # C.g:184:7: type_specifier
16943 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred14272
)
16944 self
.type_specifier()
16945 self
.following
.pop()
16950 # $ANTLR end synpred14
16954 # $ANTLR start synpred15
16955 def synpred15_fragment(self
, ):
16956 # C.g:185:13: ( type_qualifier )
16957 # C.g:185:13: type_qualifier
16958 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred15286
)
16959 self
.type_qualifier()
16960 self
.following
.pop()
16965 # $ANTLR end synpred15
16969 # $ANTLR start synpred33
16970 def synpred33_fragment(self
, ):
16971 # C.g:225:16: ( type_qualifier )
16972 # C.g:225:16: type_qualifier
16973 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred33444
)
16974 self
.type_qualifier()
16975 self
.following
.pop()
16980 # $ANTLR end synpred33
16984 # $ANTLR start synpred34
16985 def synpred34_fragment(self
, ):
16986 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16987 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16988 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred34442
)
16991 # C.g:225:16: ( type_qualifier )*
16992 while True: #loop106
16994 LA106
= self
.input.LA(1)
16996 LA106_2
= self
.input.LA(2)
16998 if (self
.synpred33()) :
17003 LA106_3
= self
.input.LA(2)
17005 if (self
.synpred33()) :
17010 LA106_4
= self
.input.LA(2)
17012 if (self
.synpred33()) :
17016 elif LA106
== 49 or LA106
== 50 or LA106
== 51 or LA106
== 52 or LA106
== 53 or LA106
== 54 or LA106
== 55 or LA106
== 56 or LA106
== 57 or LA106
== 61:
17020 # C.g:0:0: type_qualifier
17021 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred34444
)
17022 self
.type_qualifier()
17023 self
.following
.pop()
17032 self
.following
.append(self
.FOLLOW_declarator_in_synpred34447
)
17034 self
.following
.pop()
17039 # $ANTLR end synpred34
17043 # $ANTLR start synpred39
17044 def synpred39_fragment(self
, ):
17045 # C.g:253:6: ( type_qualifier )
17046 # C.g:253:6: type_qualifier
17047 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred39566
)
17048 self
.type_qualifier()
17049 self
.following
.pop()
17054 # $ANTLR end synpred39
17058 # $ANTLR start synpred40
17059 def synpred40_fragment(self
, ):
17060 # C.g:253:23: ( type_specifier )
17061 # C.g:253:23: type_specifier
17062 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred40570
)
17063 self
.type_specifier()
17064 self
.following
.pop()
17069 # $ANTLR end synpred40
17073 # $ANTLR start synpred66
17074 def synpred66_fragment(self
, ):
17075 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17076 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17077 # C.g:297:4: ( pointer )?
17079 LA111_0
= self
.input.LA(1)
17081 if (LA111_0
== 66) :
17085 self
.following
.append(self
.FOLLOW_pointer_in_synpred66784
)
17087 self
.following
.pop()
17093 # C.g:297:13: ( 'EFIAPI' )?
17095 LA112_0
= self
.input.LA(1)
17097 if (LA112_0
== 58) :
17100 # C.g:297:14: 'EFIAPI'
17101 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred66788
)
17107 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17109 LA113_0
= self
.input.LA(1)
17111 if (LA113_0
== 59) :
17114 # C.g:297:26: 'EFI_BOOTSERVICE'
17115 self
.match(self
.input, 59, self
.FOLLOW_59_in_synpred66793
)
17121 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17123 LA114_0
= self
.input.LA(1)
17125 if (LA114_0
== 60) :
17128 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17129 self
.match(self
.input, 60, self
.FOLLOW_60_in_synpred66798
)
17135 self
.following
.append(self
.FOLLOW_direct_declarator_in_synpred66802
)
17136 self
.direct_declarator()
17137 self
.following
.pop()
17142 # $ANTLR end synpred66
17146 # $ANTLR start synpred67
17147 def synpred67_fragment(self
, ):
17148 # C.g:303:15: ( declarator_suffix )
17149 # C.g:303:15: declarator_suffix
17150 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred67821
)
17151 self
.declarator_suffix()
17152 self
.following
.pop()
17157 # $ANTLR end synpred67
17161 # $ANTLR start synpred69
17162 def synpred69_fragment(self
, ):
17163 # C.g:304:9: ( 'EFIAPI' )
17164 # C.g:304:9: 'EFIAPI'
17165 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred69830
)
17170 # $ANTLR end synpred69
17174 # $ANTLR start synpred70
17175 def synpred70_fragment(self
, ):
17176 # C.g:304:35: ( declarator_suffix )
17177 # C.g:304:35: declarator_suffix
17178 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred70838
)
17179 self
.declarator_suffix()
17180 self
.following
.pop()
17185 # $ANTLR end synpred70
17189 # $ANTLR start synpred73
17190 def synpred73_fragment(self
, ):
17191 # C.g:310:9: ( '(' parameter_type_list ')' )
17192 # C.g:310:9: '(' parameter_type_list ')'
17193 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred73878
)
17196 self
.following
.append(self
.FOLLOW_parameter_type_list_in_synpred73880
)
17197 self
.parameter_type_list()
17198 self
.following
.pop()
17201 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred73882
)
17206 # $ANTLR end synpred73
17210 # $ANTLR start synpred74
17211 def synpred74_fragment(self
, ):
17212 # C.g:311:9: ( '(' identifier_list ')' )
17213 # C.g:311:9: '(' identifier_list ')'
17214 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred74892
)
17217 self
.following
.append(self
.FOLLOW_identifier_list_in_synpred74894
)
17218 self
.identifier_list()
17219 self
.following
.pop()
17222 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred74896
)
17227 # $ANTLR end synpred74
17231 # $ANTLR start synpred75
17232 def synpred75_fragment(self
, ):
17233 # C.g:316:8: ( type_qualifier )
17234 # C.g:316:8: type_qualifier
17235 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred75921
)
17236 self
.type_qualifier()
17237 self
.following
.pop()
17242 # $ANTLR end synpred75
17246 # $ANTLR start synpred76
17247 def synpred76_fragment(self
, ):
17248 # C.g:316:24: ( pointer )
17249 # C.g:316:24: pointer
17250 self
.following
.append(self
.FOLLOW_pointer_in_synpred76924
)
17252 self
.following
.pop()
17257 # $ANTLR end synpred76
17261 # $ANTLR start synpred77
17262 def synpred77_fragment(self
, ):
17263 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17264 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17265 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred77919
)
17268 # C.g:316:8: ( type_qualifier )+
17270 while True: #loop116
17272 LA116_0
= self
.input.LA(1)
17274 if ((49 <= LA116_0
<= 61)) :
17279 # C.g:0:0: type_qualifier
17280 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred77921
)
17281 self
.type_qualifier()
17282 self
.following
.pop()
17291 if self
.backtracking
> 0:
17295 eee
= EarlyExitException(116, self
.input)
17301 # C.g:316:24: ( pointer )?
17303 LA117_0
= self
.input.LA(1)
17305 if (LA117_0
== 66) :
17309 self
.following
.append(self
.FOLLOW_pointer_in_synpred77924
)
17311 self
.following
.pop()
17319 # $ANTLR end synpred77
17323 # $ANTLR start synpred78
17324 def synpred78_fragment(self
, ):
17325 # C.g:317:4: ( '*' pointer )
17326 # C.g:317:4: '*' pointer
17327 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred78930
)
17330 self
.following
.append(self
.FOLLOW_pointer_in_synpred78932
)
17332 self
.following
.pop()
17337 # $ANTLR end synpred78
17341 # $ANTLR start synpred81
17342 def synpred81_fragment(self
, ):
17343 # C.g:326:32: ( 'OPTIONAL' )
17344 # C.g:326:32: 'OPTIONAL'
17345 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred81977
)
17350 # $ANTLR end synpred81
17354 # $ANTLR start synpred82
17355 def synpred82_fragment(self
, ):
17356 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17357 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17358 self
.match(self
.input, 27, self
.FOLLOW_27_in_synpred82974
)
17361 # C.g:326:31: ( 'OPTIONAL' )?
17363 LA119_0
= self
.input.LA(1)
17365 if (LA119_0
== 53) :
17366 LA119_1
= self
.input.LA(2)
17368 if (self
.synpred81()) :
17371 # C.g:326:32: 'OPTIONAL'
17372 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred82977
)
17378 self
.following
.append(self
.FOLLOW_parameter_declaration_in_synpred82981
)
17379 self
.parameter_declaration()
17380 self
.following
.pop()
17385 # $ANTLR end synpred82
17389 # $ANTLR start synpred83
17390 def synpred83_fragment(self
, ):
17391 # C.g:330:28: ( declarator )
17392 # C.g:330:28: declarator
17393 self
.following
.append(self
.FOLLOW_declarator_in_synpred83997
)
17395 self
.following
.pop()
17400 # $ANTLR end synpred83
17404 # $ANTLR start synpred84
17405 def synpred84_fragment(self
, ):
17406 # C.g:330:39: ( abstract_declarator )
17407 # C.g:330:39: abstract_declarator
17408 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred84999
)
17409 self
.abstract_declarator()
17410 self
.following
.pop()
17415 # $ANTLR end synpred84
17419 # $ANTLR start synpred86
17420 def synpred86_fragment(self
, ):
17421 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17422 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17423 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred86994
)
17424 self
.declaration_specifiers()
17425 self
.following
.pop()
17428 # C.g:330:27: ( declarator | abstract_declarator )*
17429 while True: #loop120
17431 LA120
= self
.input.LA(1)
17433 LA120_3
= self
.input.LA(2)
17435 if (self
.synpred83()) :
17437 elif (self
.synpred84()) :
17441 elif LA120
== IDENTIFIER
or LA120
== 58 or LA120
== 59 or LA120
== 60:
17444 LA120
= self
.input.LA(2)
17445 if LA120
== 29 or LA120
== 30 or LA120
== 31 or LA120
== 32 or LA120
== 33 or LA120
== 34 or LA120
== 35 or LA120
== 36 or LA120
== 37 or LA120
== 38 or LA120
== 39 or LA120
== 40 or LA120
== 41 or LA120
== 42 or LA120
== 45 or LA120
== 46 or LA120
== 48 or LA120
== 49 or LA120
== 50 or LA120
== 51 or LA120
== 52 or LA120
== 53 or LA120
== 54 or LA120
== 55 or LA120
== 56 or LA120
== 57 or LA120
== 61 or LA120
== 63 or LA120
== 64:
17448 LA120_21
= self
.input.LA(3)
17450 if (self
.synpred83()) :
17452 elif (self
.synpred84()) :
17457 LA120_22
= self
.input.LA(3)
17459 if (self
.synpred83()) :
17461 elif (self
.synpred84()) :
17466 LA120_23
= self
.input.LA(3)
17468 if (self
.synpred83()) :
17470 elif (self
.synpred84()) :
17475 LA120_24
= self
.input.LA(3)
17477 if (self
.synpred83()) :
17479 elif (self
.synpred84()) :
17483 elif LA120
== IDENTIFIER
:
17484 LA120_25
= self
.input.LA(3)
17486 if (self
.synpred83()) :
17488 elif (self
.synpred84()) :
17493 LA120_26
= self
.input.LA(3)
17495 if (self
.synpred83()) :
17497 elif (self
.synpred84()) :
17506 # C.g:330:28: declarator
17507 self
.following
.append(self
.FOLLOW_declarator_in_synpred86997
)
17509 self
.following
.pop()
17515 # C.g:330:39: abstract_declarator
17516 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred86999
)
17517 self
.abstract_declarator()
17518 self
.following
.pop()
17527 # C.g:330:61: ( 'OPTIONAL' )?
17529 LA121_0
= self
.input.LA(1)
17531 if (LA121_0
== 53) :
17534 # C.g:330:62: 'OPTIONAL'
17535 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred861004
)
17543 # $ANTLR end synpred86
17547 # $ANTLR start synpred90
17548 def synpred90_fragment(self
, ):
17549 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17550 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17551 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_synpred901046
)
17552 self
.specifier_qualifier_list()
17553 self
.following
.pop()
17556 # C.g:341:29: ( abstract_declarator )?
17558 LA122_0
= self
.input.LA(1)
17560 if (LA122_0
== 62 or LA122_0
== 64 or LA122_0
== 66) :
17563 # C.g:0:0: abstract_declarator
17564 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred901048
)
17565 self
.abstract_declarator()
17566 self
.following
.pop()
17574 # $ANTLR end synpred90
17578 # $ANTLR start synpred91
17579 def synpred91_fragment(self
, ):
17580 # C.g:346:12: ( direct_abstract_declarator )
17581 # C.g:346:12: direct_abstract_declarator
17582 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_synpred911067
)
17583 self
.direct_abstract_declarator()
17584 self
.following
.pop()
17589 # $ANTLR end synpred91
17593 # $ANTLR start synpred93
17594 def synpred93_fragment(self
, ):
17595 # C.g:351:6: ( '(' abstract_declarator ')' )
17596 # C.g:351:6: '(' abstract_declarator ')'
17597 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred931086
)
17600 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred931088
)
17601 self
.abstract_declarator()
17602 self
.following
.pop()
17605 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred931090
)
17610 # $ANTLR end synpred93
17614 # $ANTLR start synpred94
17615 def synpred94_fragment(self
, ):
17616 # C.g:351:65: ( abstract_declarator_suffix )
17617 # C.g:351:65: abstract_declarator_suffix
17618 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_synpred941098
)
17619 self
.abstract_declarator_suffix()
17620 self
.following
.pop()
17625 # $ANTLR end synpred94
17629 # $ANTLR start synpred109
17630 def synpred109_fragment(self
, ):
17631 # C.g:386:4: ( '(' type_name ')' cast_expression )
17632 # C.g:386:4: '(' type_name ')' cast_expression
17633 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1091282
)
17636 self
.following
.append(self
.FOLLOW_type_name_in_synpred1091284
)
17638 self
.following
.pop()
17641 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1091286
)
17644 self
.following
.append(self
.FOLLOW_cast_expression_in_synpred1091288
)
17645 self
.cast_expression()
17646 self
.following
.pop()
17651 # $ANTLR end synpred109
17655 # $ANTLR start synpred114
17656 def synpred114_fragment(self
, ):
17657 # C.g:395:4: ( 'sizeof' unary_expression )
17658 # C.g:395:4: 'sizeof' unary_expression
17659 self
.match(self
.input, 74, self
.FOLLOW_74_in_synpred1141330
)
17662 self
.following
.append(self
.FOLLOW_unary_expression_in_synpred1141332
)
17663 self
.unary_expression()
17664 self
.following
.pop()
17669 # $ANTLR end synpred114
17673 # $ANTLR start synpred117
17674 def synpred117_fragment(self
, ):
17675 # C.g:409:13: ( '(' argument_expression_list ')' )
17676 # C.g:409:13: '(' argument_expression_list ')'
17677 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1171420
)
17680 self
.following
.append(self
.FOLLOW_argument_expression_list_in_synpred1171424
)
17681 self
.argument_expression_list()
17682 self
.following
.pop()
17685 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1171428
)
17690 # $ANTLR end synpred117
17694 # $ANTLR start synpred118
17695 def synpred118_fragment(self
, ):
17696 # C.g:410:13: ( '(' macro_parameter_list ')' )
17697 # C.g:410:13: '(' macro_parameter_list ')'
17698 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1181444
)
17701 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_synpred1181446
)
17702 self
.macro_parameter_list()
17703 self
.following
.pop()
17706 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1181448
)
17711 # $ANTLR end synpred118
17715 # $ANTLR start synpred120
17716 def synpred120_fragment(self
, ):
17717 # C.g:412:13: ( '*' IDENTIFIER )
17718 # C.g:412:13: '*' IDENTIFIER
17719 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred1201482
)
17722 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1201486
)
17727 # $ANTLR end synpred120
17731 # $ANTLR start synpred137
17732 def synpred137_fragment(self
, ):
17733 # C.g:443:20: ( STRING_LITERAL )
17734 # C.g:443:20: STRING_LITERAL
17735 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1371683
)
17740 # $ANTLR end synpred137
17744 # $ANTLR start synpred138
17745 def synpred138_fragment(self
, ):
17746 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17747 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17748 # C.g:443:8: ( IDENTIFIER )*
17749 while True: #loop125
17751 LA125_0
= self
.input.LA(1)
17753 if (LA125_0
== IDENTIFIER
) :
17758 # C.g:0:0: IDENTIFIER
17759 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1381680
)
17768 # C.g:443:20: ( STRING_LITERAL )+
17770 while True: #loop126
17772 LA126_0
= self
.input.LA(1)
17774 if (LA126_0
== STRING_LITERAL
) :
17779 # C.g:0:0: STRING_LITERAL
17780 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1381683
)
17789 if self
.backtracking
> 0:
17793 eee
= EarlyExitException(126, self
.input)
17801 # $ANTLR end synpred138
17805 # $ANTLR start synpred142
17806 def synpred142_fragment(self
, ):
17807 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17808 # C.g:458:4: lvalue assignment_operator assignment_expression
17809 self
.following
.append(self
.FOLLOW_lvalue_in_synpred1421744
)
17811 self
.following
.pop()
17814 self
.following
.append(self
.FOLLOW_assignment_operator_in_synpred1421746
)
17815 self
.assignment_operator()
17816 self
.following
.pop()
17819 self
.following
.append(self
.FOLLOW_assignment_expression_in_synpred1421748
)
17820 self
.assignment_expression()
17821 self
.following
.pop()
17826 # $ANTLR end synpred142
17830 # $ANTLR start synpred169
17831 def synpred169_fragment(self
, ):
17832 # C.g:520:4: ( expression_statement )
17833 # C.g:520:4: expression_statement
17834 self
.following
.append(self
.FOLLOW_expression_statement_in_synpred1692035
)
17835 self
.expression_statement()
17836 self
.following
.pop()
17841 # $ANTLR end synpred169
17845 # $ANTLR start synpred173
17846 def synpred173_fragment(self
, ):
17847 # C.g:524:4: ( macro_statement )
17848 # C.g:524:4: macro_statement
17849 self
.following
.append(self
.FOLLOW_macro_statement_in_synpred1732055
)
17850 self
.macro_statement()
17851 self
.following
.pop()
17856 # $ANTLR end synpred173
17860 # $ANTLR start synpred174
17861 def synpred174_fragment(self
, ):
17862 # C.g:525:4: ( asm2_statement )
17863 # C.g:525:4: asm2_statement
17864 self
.following
.append(self
.FOLLOW_asm2_statement_in_synpred1742060
)
17865 self
.asm2_statement()
17866 self
.following
.pop()
17871 # $ANTLR end synpred174
17875 # $ANTLR start synpred181
17876 def synpred181_fragment(self
, ):
17877 # C.g:544:19: ( declaration )
17878 # C.g:544:19: declaration
17879 self
.following
.append(self
.FOLLOW_declaration_in_synpred1812166
)
17881 self
.following
.pop()
17886 # $ANTLR end synpred181
17890 # $ANTLR start synpred182
17891 def synpred182_fragment(self
, ):
17892 # C.g:544:33: ( statement_list )
17893 # C.g:544:33: statement_list
17894 self
.following
.append(self
.FOLLOW_statement_list_in_synpred1822170
)
17895 self
.statement_list()
17896 self
.following
.pop()
17901 # $ANTLR end synpred182
17905 # $ANTLR start synpred186
17906 def synpred186_fragment(self
, ):
17907 # C.g:554:8: ( declaration )
17908 # C.g:554:8: declaration
17909 self
.following
.append(self
.FOLLOW_declaration_in_synpred1862225
)
17911 self
.following
.pop()
17916 # $ANTLR end synpred186
17920 # $ANTLR start synpred188
17921 def synpred188_fragment(self
, ):
17922 # C.g:558:4: ( statement )
17923 # C.g:558:4: statement
17924 self
.following
.append(self
.FOLLOW_statement_in_synpred1882242
)
17926 self
.following
.pop()
17931 # $ANTLR end synpred188
17935 def synpred69(self
):
17936 self
.backtracking
+= 1
17937 start
= self
.input.mark()
17938 self
.synpred69_fragment()
17939 success
= not self
.failed
17940 self
.input.rewind(start
)
17941 self
.backtracking
-= 1
17942 self
.failed
= False
17945 def synpred81(self
):
17946 self
.backtracking
+= 1
17947 start
= self
.input.mark()
17948 self
.synpred81_fragment()
17949 success
= not self
.failed
17950 self
.input.rewind(start
)
17951 self
.backtracking
-= 1
17952 self
.failed
= False
17955 def synpred82(self
):
17956 self
.backtracking
+= 1
17957 start
= self
.input.mark()
17958 self
.synpred82_fragment()
17959 success
= not self
.failed
17960 self
.input.rewind(start
)
17961 self
.backtracking
-= 1
17962 self
.failed
= False
17965 def synpred66(self
):
17966 self
.backtracking
+= 1
17967 start
= self
.input.mark()
17968 self
.synpred66_fragment()
17969 success
= not self
.failed
17970 self
.input.rewind(start
)
17971 self
.backtracking
-= 1
17972 self
.failed
= False
17975 def synpred83(self
):
17976 self
.backtracking
+= 1
17977 start
= self
.input.mark()
17978 self
.synpred83_fragment()
17979 success
= not self
.failed
17980 self
.input.rewind(start
)
17981 self
.backtracking
-= 1
17982 self
.failed
= False
17985 def synpred84(self
):
17986 self
.backtracking
+= 1
17987 start
= self
.input.mark()
17988 self
.synpred84_fragment()
17989 success
= not self
.failed
17990 self
.input.rewind(start
)
17991 self
.backtracking
-= 1
17992 self
.failed
= False
17995 def synpred67(self
):
17996 self
.backtracking
+= 1
17997 start
= self
.input.mark()
17998 self
.synpred67_fragment()
17999 success
= not self
.failed
18000 self
.input.rewind(start
)
18001 self
.backtracking
-= 1
18002 self
.failed
= False
18005 def synpred86(self
):
18006 self
.backtracking
+= 1
18007 start
= self
.input.mark()
18008 self
.synpred86_fragment()
18009 success
= not self
.failed
18010 self
.input.rewind(start
)
18011 self
.backtracking
-= 1
18012 self
.failed
= False
18015 def synpred120(self
):
18016 self
.backtracking
+= 1
18017 start
= self
.input.mark()
18018 self
.synpred120_fragment()
18019 success
= not self
.failed
18020 self
.input.rewind(start
)
18021 self
.backtracking
-= 1
18022 self
.failed
= False
18025 def synpred40(self
):
18026 self
.backtracking
+= 1
18027 start
= self
.input.mark()
18028 self
.synpred40_fragment()
18029 success
= not self
.failed
18030 self
.input.rewind(start
)
18031 self
.backtracking
-= 1
18032 self
.failed
= False
18035 def synpred142(self
):
18036 self
.backtracking
+= 1
18037 start
= self
.input.mark()
18038 self
.synpred142_fragment()
18039 success
= not self
.failed
18040 self
.input.rewind(start
)
18041 self
.backtracking
-= 1
18042 self
.failed
= False
18045 def synpred182(self
):
18046 self
.backtracking
+= 1
18047 start
= self
.input.mark()
18048 self
.synpred182_fragment()
18049 success
= not self
.failed
18050 self
.input.rewind(start
)
18051 self
.backtracking
-= 1
18052 self
.failed
= False
18055 def synpred109(self
):
18056 self
.backtracking
+= 1
18057 start
= self
.input.mark()
18058 self
.synpred109_fragment()
18059 success
= not self
.failed
18060 self
.input.rewind(start
)
18061 self
.backtracking
-= 1
18062 self
.failed
= False
18065 def synpred181(self
):
18066 self
.backtracking
+= 1
18067 start
= self
.input.mark()
18068 self
.synpred181_fragment()
18069 success
= not self
.failed
18070 self
.input.rewind(start
)
18071 self
.backtracking
-= 1
18072 self
.failed
= False
18075 def synpred186(self
):
18076 self
.backtracking
+= 1
18077 start
= self
.input.mark()
18078 self
.synpred186_fragment()
18079 success
= not self
.failed
18080 self
.input.rewind(start
)
18081 self
.backtracking
-= 1
18082 self
.failed
= False
18085 def synpred188(self
):
18086 self
.backtracking
+= 1
18087 start
= self
.input.mark()
18088 self
.synpred188_fragment()
18089 success
= not self
.failed
18090 self
.input.rewind(start
)
18091 self
.backtracking
-= 1
18092 self
.failed
= False
18095 def synpred169(self
):
18096 self
.backtracking
+= 1
18097 start
= self
.input.mark()
18098 self
.synpred169_fragment()
18099 success
= not self
.failed
18100 self
.input.rewind(start
)
18101 self
.backtracking
-= 1
18102 self
.failed
= False
18105 def synpred117(self
):
18106 self
.backtracking
+= 1
18107 start
= self
.input.mark()
18108 self
.synpred117_fragment()
18109 success
= not self
.failed
18110 self
.input.rewind(start
)
18111 self
.backtracking
-= 1
18112 self
.failed
= False
18115 def synpred70(self
):
18116 self
.backtracking
+= 1
18117 start
= self
.input.mark()
18118 self
.synpred70_fragment()
18119 success
= not self
.failed
18120 self
.input.rewind(start
)
18121 self
.backtracking
-= 1
18122 self
.failed
= False
18125 def synpred118(self
):
18126 self
.backtracking
+= 1
18127 start
= self
.input.mark()
18128 self
.synpred118_fragment()
18129 success
= not self
.failed
18130 self
.input.rewind(start
)
18131 self
.backtracking
-= 1
18132 self
.failed
= False
18135 def synpred34(self
):
18136 self
.backtracking
+= 1
18137 start
= self
.input.mark()
18138 self
.synpred34_fragment()
18139 success
= not self
.failed
18140 self
.input.rewind(start
)
18141 self
.backtracking
-= 1
18142 self
.failed
= False
18145 def synpred33(self
):
18146 self
.backtracking
+= 1
18147 start
= self
.input.mark()
18148 self
.synpred33_fragment()
18149 success
= not self
.failed
18150 self
.input.rewind(start
)
18151 self
.backtracking
-= 1
18152 self
.failed
= False
18155 def synpred94(self
):
18156 self
.backtracking
+= 1
18157 start
= self
.input.mark()
18158 self
.synpred94_fragment()
18159 success
= not self
.failed
18160 self
.input.rewind(start
)
18161 self
.backtracking
-= 1
18162 self
.failed
= False
18165 def synpred39(self
):
18166 self
.backtracking
+= 1
18167 start
= self
.input.mark()
18168 self
.synpred39_fragment()
18169 success
= not self
.failed
18170 self
.input.rewind(start
)
18171 self
.backtracking
-= 1
18172 self
.failed
= False
18175 def synpred74(self
):
18176 self
.backtracking
+= 1
18177 start
= self
.input.mark()
18178 self
.synpred74_fragment()
18179 success
= not self
.failed
18180 self
.input.rewind(start
)
18181 self
.backtracking
-= 1
18182 self
.failed
= False
18185 def synpred114(self
):
18186 self
.backtracking
+= 1
18187 start
= self
.input.mark()
18188 self
.synpred114_fragment()
18189 success
= not self
.failed
18190 self
.input.rewind(start
)
18191 self
.backtracking
-= 1
18192 self
.failed
= False
18195 def synpred93(self
):
18196 self
.backtracking
+= 1
18197 start
= self
.input.mark()
18198 self
.synpred93_fragment()
18199 success
= not self
.failed
18200 self
.input.rewind(start
)
18201 self
.backtracking
-= 1
18202 self
.failed
= False
18205 def synpred75(self
):
18206 self
.backtracking
+= 1
18207 start
= self
.input.mark()
18208 self
.synpred75_fragment()
18209 success
= not self
.failed
18210 self
.input.rewind(start
)
18211 self
.backtracking
-= 1
18212 self
.failed
= False
18215 def synpred137(self
):
18216 self
.backtracking
+= 1
18217 start
= self
.input.mark()
18218 self
.synpred137_fragment()
18219 success
= not self
.failed
18220 self
.input.rewind(start
)
18221 self
.backtracking
-= 1
18222 self
.failed
= False
18225 def synpred90(self
):
18226 self
.backtracking
+= 1
18227 start
= self
.input.mark()
18228 self
.synpred90_fragment()
18229 success
= not self
.failed
18230 self
.input.rewind(start
)
18231 self
.backtracking
-= 1
18232 self
.failed
= False
18235 def synpred138(self
):
18236 self
.backtracking
+= 1
18237 start
= self
.input.mark()
18238 self
.synpred138_fragment()
18239 success
= not self
.failed
18240 self
.input.rewind(start
)
18241 self
.backtracking
-= 1
18242 self
.failed
= False
18245 def synpred91(self
):
18246 self
.backtracking
+= 1
18247 start
= self
.input.mark()
18248 self
.synpred91_fragment()
18249 success
= not self
.failed
18250 self
.input.rewind(start
)
18251 self
.backtracking
-= 1
18252 self
.failed
= False
18255 def synpred73(self
):
18256 self
.backtracking
+= 1
18257 start
= self
.input.mark()
18258 self
.synpred73_fragment()
18259 success
= not self
.failed
18260 self
.input.rewind(start
)
18261 self
.backtracking
-= 1
18262 self
.failed
= False
18265 def synpred5(self
):
18266 self
.backtracking
+= 1
18267 start
= self
.input.mark()
18268 self
.synpred5_fragment()
18269 success
= not self
.failed
18270 self
.input.rewind(start
)
18271 self
.backtracking
-= 1
18272 self
.failed
= False
18275 def synpred78(self
):
18276 self
.backtracking
+= 1
18277 start
= self
.input.mark()
18278 self
.synpred78_fragment()
18279 success
= not self
.failed
18280 self
.input.rewind(start
)
18281 self
.backtracking
-= 1
18282 self
.failed
= False
18285 def synpred7(self
):
18286 self
.backtracking
+= 1
18287 start
= self
.input.mark()
18288 self
.synpred7_fragment()
18289 success
= not self
.failed
18290 self
.input.rewind(start
)
18291 self
.backtracking
-= 1
18292 self
.failed
= False
18295 def synpred76(self
):
18296 self
.backtracking
+= 1
18297 start
= self
.input.mark()
18298 self
.synpred76_fragment()
18299 success
= not self
.failed
18300 self
.input.rewind(start
)
18301 self
.backtracking
-= 1
18302 self
.failed
= False
18305 def synpred77(self
):
18306 self
.backtracking
+= 1
18307 start
= self
.input.mark()
18308 self
.synpred77_fragment()
18309 success
= not self
.failed
18310 self
.input.rewind(start
)
18311 self
.backtracking
-= 1
18312 self
.failed
= False
18315 def synpred2(self
):
18316 self
.backtracking
+= 1
18317 start
= self
.input.mark()
18318 self
.synpred2_fragment()
18319 success
= not self
.failed
18320 self
.input.rewind(start
)
18321 self
.backtracking
-= 1
18322 self
.failed
= False
18325 def synpred4(self
):
18326 self
.backtracking
+= 1
18327 start
= self
.input.mark()
18328 self
.synpred4_fragment()
18329 success
= not self
.failed
18330 self
.input.rewind(start
)
18331 self
.backtracking
-= 1
18332 self
.failed
= False
18335 def synpred174(self
):
18336 self
.backtracking
+= 1
18337 start
= self
.input.mark()
18338 self
.synpred174_fragment()
18339 success
= not self
.failed
18340 self
.input.rewind(start
)
18341 self
.backtracking
-= 1
18342 self
.failed
= False
18345 def synpred173(self
):
18346 self
.backtracking
+= 1
18347 start
= self
.input.mark()
18348 self
.synpred173_fragment()
18349 success
= not self
.failed
18350 self
.input.rewind(start
)
18351 self
.backtracking
-= 1
18352 self
.failed
= False
18355 def synpred14(self
):
18356 self
.backtracking
+= 1
18357 start
= self
.input.mark()
18358 self
.synpred14_fragment()
18359 success
= not self
.failed
18360 self
.input.rewind(start
)
18361 self
.backtracking
-= 1
18362 self
.failed
= False
18365 def synpred15(self
):
18366 self
.backtracking
+= 1
18367 start
= self
.input.mark()
18368 self
.synpred15_fragment()
18369 success
= not self
.failed
18370 self
.input.rewind(start
)
18371 self
.backtracking
-= 1
18372 self
.failed
= False
18375 def synpred10(self
):
18376 self
.backtracking
+= 1
18377 start
= self
.input.mark()
18378 self
.synpred10_fragment()
18379 success
= not self
.failed
18380 self
.input.rewind(start
)
18381 self
.backtracking
-= 1
18382 self
.failed
= False
18389 FOLLOW_external_declaration_in_translation_unit74
= frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18390 FOLLOW_function_definition_in_external_declaration113
= frozenset([1])
18391 FOLLOW_declaration_in_external_declaration118
= frozenset([1])
18392 FOLLOW_macro_statement_in_external_declaration123
= frozenset([1, 25])
18393 FOLLOW_25_in_external_declaration126
= frozenset([1])
18394 FOLLOW_declaration_specifiers_in_function_definition157
= frozenset([4, 58, 59, 60, 62, 66])
18395 FOLLOW_declarator_in_function_definition160
= frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18396 FOLLOW_declaration_in_function_definition166
= frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18397 FOLLOW_compound_statement_in_function_definition171
= frozenset([1])
18398 FOLLOW_compound_statement_in_function_definition180
= frozenset([1])
18399 FOLLOW_26_in_declaration203
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18400 FOLLOW_declaration_specifiers_in_declaration207
= frozenset([4, 58, 59, 60, 62, 66])
18401 FOLLOW_init_declarator_list_in_declaration216
= frozenset([25])
18402 FOLLOW_25_in_declaration220
= frozenset([1])
18403 FOLLOW_declaration_specifiers_in_declaration234
= frozenset([4, 25, 58, 59, 60, 62, 66])
18404 FOLLOW_init_declarator_list_in_declaration238
= frozenset([25])
18405 FOLLOW_25_in_declaration243
= frozenset([1])
18406 FOLLOW_storage_class_specifier_in_declaration_specifiers264
= frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18407 FOLLOW_type_specifier_in_declaration_specifiers272
= frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18408 FOLLOW_type_qualifier_in_declaration_specifiers286
= frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18409 FOLLOW_init_declarator_in_init_declarator_list308
= frozenset([1, 27])
18410 FOLLOW_27_in_init_declarator_list311
= frozenset([4, 58, 59, 60, 62, 66])
18411 FOLLOW_init_declarator_in_init_declarator_list313
= frozenset([1, 27])
18412 FOLLOW_declarator_in_init_declarator326
= frozenset([1, 28])
18413 FOLLOW_28_in_init_declarator329
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18414 FOLLOW_initializer_in_init_declarator331
= frozenset([1])
18415 FOLLOW_set_in_storage_class_specifier0
= frozenset([1])
18416 FOLLOW_34_in_type_specifier376
= frozenset([1])
18417 FOLLOW_35_in_type_specifier381
= frozenset([1])
18418 FOLLOW_36_in_type_specifier386
= frozenset([1])
18419 FOLLOW_37_in_type_specifier391
= frozenset([1])
18420 FOLLOW_38_in_type_specifier396
= frozenset([1])
18421 FOLLOW_39_in_type_specifier401
= frozenset([1])
18422 FOLLOW_40_in_type_specifier406
= frozenset([1])
18423 FOLLOW_41_in_type_specifier411
= frozenset([1])
18424 FOLLOW_42_in_type_specifier416
= frozenset([1])
18425 FOLLOW_struct_or_union_specifier_in_type_specifier423
= frozenset([1])
18426 FOLLOW_enum_specifier_in_type_specifier433
= frozenset([1])
18427 FOLLOW_type_id_in_type_specifier451
= frozenset([1])
18428 FOLLOW_IDENTIFIER_in_type_id467
= frozenset([1])
18429 FOLLOW_struct_or_union_in_struct_or_union_specifier494
= frozenset([4, 43])
18430 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496
= frozenset([43])
18431 FOLLOW_43_in_struct_or_union_specifier499
= frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18432 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501
= frozenset([44])
18433 FOLLOW_44_in_struct_or_union_specifier503
= frozenset([1])
18434 FOLLOW_struct_or_union_in_struct_or_union_specifier508
= frozenset([4])
18435 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510
= frozenset([1])
18436 FOLLOW_set_in_struct_or_union0
= frozenset([1])
18437 FOLLOW_struct_declaration_in_struct_declaration_list537
= frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18438 FOLLOW_specifier_qualifier_list_in_struct_declaration549
= frozenset([4, 47, 58, 59, 60, 62, 66])
18439 FOLLOW_struct_declarator_list_in_struct_declaration551
= frozenset([25])
18440 FOLLOW_25_in_struct_declaration553
= frozenset([1])
18441 FOLLOW_type_qualifier_in_specifier_qualifier_list566
= frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18442 FOLLOW_type_specifier_in_specifier_qualifier_list570
= frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18443 FOLLOW_struct_declarator_in_struct_declarator_list584
= frozenset([1, 27])
18444 FOLLOW_27_in_struct_declarator_list587
= frozenset([4, 47, 58, 59, 60, 62, 66])
18445 FOLLOW_struct_declarator_in_struct_declarator_list589
= frozenset([1, 27])
18446 FOLLOW_declarator_in_struct_declarator602
= frozenset([1, 47])
18447 FOLLOW_47_in_struct_declarator605
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18448 FOLLOW_constant_expression_in_struct_declarator607
= frozenset([1])
18449 FOLLOW_47_in_struct_declarator614
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18450 FOLLOW_constant_expression_in_struct_declarator616
= frozenset([1])
18451 FOLLOW_48_in_enum_specifier634
= frozenset([43])
18452 FOLLOW_43_in_enum_specifier636
= frozenset([4])
18453 FOLLOW_enumerator_list_in_enum_specifier638
= frozenset([27, 44])
18454 FOLLOW_27_in_enum_specifier640
= frozenset([44])
18455 FOLLOW_44_in_enum_specifier643
= frozenset([1])
18456 FOLLOW_48_in_enum_specifier648
= frozenset([4])
18457 FOLLOW_IDENTIFIER_in_enum_specifier650
= frozenset([43])
18458 FOLLOW_43_in_enum_specifier652
= frozenset([4])
18459 FOLLOW_enumerator_list_in_enum_specifier654
= frozenset([27, 44])
18460 FOLLOW_27_in_enum_specifier656
= frozenset([44])
18461 FOLLOW_44_in_enum_specifier659
= frozenset([1])
18462 FOLLOW_48_in_enum_specifier664
= frozenset([4])
18463 FOLLOW_IDENTIFIER_in_enum_specifier666
= frozenset([1])
18464 FOLLOW_enumerator_in_enumerator_list677
= frozenset([1, 27])
18465 FOLLOW_27_in_enumerator_list680
= frozenset([4])
18466 FOLLOW_enumerator_in_enumerator_list682
= frozenset([1, 27])
18467 FOLLOW_IDENTIFIER_in_enumerator695
= frozenset([1, 28])
18468 FOLLOW_28_in_enumerator698
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18469 FOLLOW_constant_expression_in_enumerator700
= frozenset([1])
18470 FOLLOW_set_in_type_qualifier0
= frozenset([1])
18471 FOLLOW_pointer_in_declarator784
= frozenset([4, 58, 59, 60, 62])
18472 FOLLOW_58_in_declarator788
= frozenset([4, 59, 60, 62])
18473 FOLLOW_59_in_declarator793
= frozenset([4, 60, 62])
18474 FOLLOW_60_in_declarator798
= frozenset([4, 62])
18475 FOLLOW_direct_declarator_in_declarator802
= frozenset([1])
18476 FOLLOW_pointer_in_declarator808
= frozenset([1])
18477 FOLLOW_IDENTIFIER_in_direct_declarator819
= frozenset([1, 62, 64])
18478 FOLLOW_declarator_suffix_in_direct_declarator821
= frozenset([1, 62, 64])
18479 FOLLOW_62_in_direct_declarator827
= frozenset([4, 58, 59, 60, 62, 66])
18480 FOLLOW_58_in_direct_declarator830
= frozenset([4, 58, 59, 60, 62, 66])
18481 FOLLOW_declarator_in_direct_declarator834
= frozenset([63])
18482 FOLLOW_63_in_direct_declarator836
= frozenset([62, 64])
18483 FOLLOW_declarator_suffix_in_direct_declarator838
= frozenset([1, 62, 64])
18484 FOLLOW_64_in_declarator_suffix852
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18485 FOLLOW_constant_expression_in_declarator_suffix854
= frozenset([65])
18486 FOLLOW_65_in_declarator_suffix856
= frozenset([1])
18487 FOLLOW_64_in_declarator_suffix866
= frozenset([65])
18488 FOLLOW_65_in_declarator_suffix868
= frozenset([1])
18489 FOLLOW_62_in_declarator_suffix878
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18490 FOLLOW_parameter_type_list_in_declarator_suffix880
= frozenset([63])
18491 FOLLOW_63_in_declarator_suffix882
= frozenset([1])
18492 FOLLOW_62_in_declarator_suffix892
= frozenset([4])
18493 FOLLOW_identifier_list_in_declarator_suffix894
= frozenset([63])
18494 FOLLOW_63_in_declarator_suffix896
= frozenset([1])
18495 FOLLOW_62_in_declarator_suffix906
= frozenset([63])
18496 FOLLOW_63_in_declarator_suffix908
= frozenset([1])
18497 FOLLOW_66_in_pointer919
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18498 FOLLOW_type_qualifier_in_pointer921
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18499 FOLLOW_pointer_in_pointer924
= frozenset([1])
18500 FOLLOW_66_in_pointer930
= frozenset([66])
18501 FOLLOW_pointer_in_pointer932
= frozenset([1])
18502 FOLLOW_66_in_pointer937
= frozenset([1])
18503 FOLLOW_parameter_list_in_parameter_type_list948
= frozenset([1, 27])
18504 FOLLOW_27_in_parameter_type_list951
= frozenset([53, 67])
18505 FOLLOW_53_in_parameter_type_list954
= frozenset([67])
18506 FOLLOW_67_in_parameter_type_list958
= frozenset([1])
18507 FOLLOW_parameter_declaration_in_parameter_list971
= frozenset([1, 27])
18508 FOLLOW_27_in_parameter_list974
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18509 FOLLOW_53_in_parameter_list977
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18510 FOLLOW_parameter_declaration_in_parameter_list981
= frozenset([1, 27])
18511 FOLLOW_declaration_specifiers_in_parameter_declaration994
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18512 FOLLOW_declarator_in_parameter_declaration997
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18513 FOLLOW_abstract_declarator_in_parameter_declaration999
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18514 FOLLOW_53_in_parameter_declaration1004
= frozenset([1])
18515 FOLLOW_pointer_in_parameter_declaration1013
= frozenset([4, 66])
18516 FOLLOW_IDENTIFIER_in_parameter_declaration1016
= frozenset([1])
18517 FOLLOW_IDENTIFIER_in_identifier_list1027
= frozenset([1, 27])
18518 FOLLOW_27_in_identifier_list1031
= frozenset([4])
18519 FOLLOW_IDENTIFIER_in_identifier_list1033
= frozenset([1, 27])
18520 FOLLOW_specifier_qualifier_list_in_type_name1046
= frozenset([1, 62, 64, 66])
18521 FOLLOW_abstract_declarator_in_type_name1048
= frozenset([1])
18522 FOLLOW_type_id_in_type_name1054
= frozenset([1])
18523 FOLLOW_pointer_in_abstract_declarator1065
= frozenset([1, 62, 64])
18524 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067
= frozenset([1])
18525 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073
= frozenset([1])
18526 FOLLOW_62_in_direct_abstract_declarator1086
= frozenset([62, 64, 66])
18527 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088
= frozenset([63])
18528 FOLLOW_63_in_direct_abstract_declarator1090
= frozenset([1, 62, 64])
18529 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094
= frozenset([1, 62, 64])
18530 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098
= frozenset([1, 62, 64])
18531 FOLLOW_64_in_abstract_declarator_suffix1110
= frozenset([65])
18532 FOLLOW_65_in_abstract_declarator_suffix1112
= frozenset([1])
18533 FOLLOW_64_in_abstract_declarator_suffix1117
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18534 FOLLOW_constant_expression_in_abstract_declarator_suffix1119
= frozenset([65])
18535 FOLLOW_65_in_abstract_declarator_suffix1121
= frozenset([1])
18536 FOLLOW_62_in_abstract_declarator_suffix1126
= frozenset([63])
18537 FOLLOW_63_in_abstract_declarator_suffix1128
= frozenset([1])
18538 FOLLOW_62_in_abstract_declarator_suffix1133
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18539 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135
= frozenset([63])
18540 FOLLOW_63_in_abstract_declarator_suffix1137
= frozenset([1])
18541 FOLLOW_assignment_expression_in_initializer1150
= frozenset([1])
18542 FOLLOW_43_in_initializer1155
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18543 FOLLOW_initializer_list_in_initializer1157
= frozenset([27, 44])
18544 FOLLOW_27_in_initializer1159
= frozenset([44])
18545 FOLLOW_44_in_initializer1162
= frozenset([1])
18546 FOLLOW_initializer_in_initializer_list1173
= frozenset([1, 27])
18547 FOLLOW_27_in_initializer_list1176
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18548 FOLLOW_initializer_in_initializer_list1178
= frozenset([1, 27])
18549 FOLLOW_assignment_expression_in_argument_expression_list1196
= frozenset([1, 27, 53])
18550 FOLLOW_53_in_argument_expression_list1199
= frozenset([1, 27])
18551 FOLLOW_27_in_argument_expression_list1204
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18552 FOLLOW_assignment_expression_in_argument_expression_list1206
= frozenset([1, 27, 53])
18553 FOLLOW_53_in_argument_expression_list1209
= frozenset([1, 27])
18554 FOLLOW_multiplicative_expression_in_additive_expression1225
= frozenset([1, 68, 69])
18555 FOLLOW_68_in_additive_expression1229
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18556 FOLLOW_multiplicative_expression_in_additive_expression1231
= frozenset([1, 68, 69])
18557 FOLLOW_69_in_additive_expression1235
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18558 FOLLOW_multiplicative_expression_in_additive_expression1237
= frozenset([1, 68, 69])
18559 FOLLOW_cast_expression_in_multiplicative_expression1251
= frozenset([1, 66, 70, 71])
18560 FOLLOW_66_in_multiplicative_expression1255
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18561 FOLLOW_cast_expression_in_multiplicative_expression1257
= frozenset([1, 66, 70, 71])
18562 FOLLOW_70_in_multiplicative_expression1261
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18563 FOLLOW_cast_expression_in_multiplicative_expression1263
= frozenset([1, 66, 70, 71])
18564 FOLLOW_71_in_multiplicative_expression1267
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18565 FOLLOW_cast_expression_in_multiplicative_expression1269
= frozenset([1, 66, 70, 71])
18566 FOLLOW_62_in_cast_expression1282
= frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18567 FOLLOW_type_name_in_cast_expression1284
= frozenset([63])
18568 FOLLOW_63_in_cast_expression1286
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18569 FOLLOW_cast_expression_in_cast_expression1288
= frozenset([1])
18570 FOLLOW_unary_expression_in_cast_expression1293
= frozenset([1])
18571 FOLLOW_postfix_expression_in_unary_expression1304
= frozenset([1])
18572 FOLLOW_72_in_unary_expression1309
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18573 FOLLOW_unary_expression_in_unary_expression1311
= frozenset([1])
18574 FOLLOW_73_in_unary_expression1316
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18575 FOLLOW_unary_expression_in_unary_expression1318
= frozenset([1])
18576 FOLLOW_unary_operator_in_unary_expression1323
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18577 FOLLOW_cast_expression_in_unary_expression1325
= frozenset([1])
18578 FOLLOW_74_in_unary_expression1330
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18579 FOLLOW_unary_expression_in_unary_expression1332
= frozenset([1])
18580 FOLLOW_74_in_unary_expression1337
= frozenset([62])
18581 FOLLOW_62_in_unary_expression1339
= frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18582 FOLLOW_type_name_in_unary_expression1341
= frozenset([63])
18583 FOLLOW_63_in_unary_expression1343
= frozenset([1])
18584 FOLLOW_primary_expression_in_postfix_expression1367
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18585 FOLLOW_64_in_postfix_expression1383
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18586 FOLLOW_expression_in_postfix_expression1385
= frozenset([65])
18587 FOLLOW_65_in_postfix_expression1387
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18588 FOLLOW_62_in_postfix_expression1401
= frozenset([63])
18589 FOLLOW_63_in_postfix_expression1405
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18590 FOLLOW_62_in_postfix_expression1420
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18591 FOLLOW_argument_expression_list_in_postfix_expression1424
= frozenset([63])
18592 FOLLOW_63_in_postfix_expression1428
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18593 FOLLOW_62_in_postfix_expression1444
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18594 FOLLOW_macro_parameter_list_in_postfix_expression1446
= frozenset([63])
18595 FOLLOW_63_in_postfix_expression1448
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18596 FOLLOW_75_in_postfix_expression1462
= frozenset([4])
18597 FOLLOW_IDENTIFIER_in_postfix_expression1466
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18598 FOLLOW_66_in_postfix_expression1482
= frozenset([4])
18599 FOLLOW_IDENTIFIER_in_postfix_expression1486
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18600 FOLLOW_76_in_postfix_expression1502
= frozenset([4])
18601 FOLLOW_IDENTIFIER_in_postfix_expression1506
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18602 FOLLOW_72_in_postfix_expression1522
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18603 FOLLOW_73_in_postfix_expression1536
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18604 FOLLOW_parameter_declaration_in_macro_parameter_list1559
= frozenset([1, 27])
18605 FOLLOW_27_in_macro_parameter_list1562
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18606 FOLLOW_parameter_declaration_in_macro_parameter_list1564
= frozenset([1, 27])
18607 FOLLOW_set_in_unary_operator0
= frozenset([1])
18608 FOLLOW_IDENTIFIER_in_primary_expression1613
= frozenset([1])
18609 FOLLOW_constant_in_primary_expression1618
= frozenset([1])
18610 FOLLOW_62_in_primary_expression1623
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18611 FOLLOW_expression_in_primary_expression1625
= frozenset([63])
18612 FOLLOW_63_in_primary_expression1627
= frozenset([1])
18613 FOLLOW_HEX_LITERAL_in_constant1643
= frozenset([1])
18614 FOLLOW_OCTAL_LITERAL_in_constant1653
= frozenset([1])
18615 FOLLOW_DECIMAL_LITERAL_in_constant1663
= frozenset([1])
18616 FOLLOW_CHARACTER_LITERAL_in_constant1671
= frozenset([1])
18617 FOLLOW_IDENTIFIER_in_constant1680
= frozenset([4, 9])
18618 FOLLOW_STRING_LITERAL_in_constant1683
= frozenset([1, 4, 9])
18619 FOLLOW_IDENTIFIER_in_constant1688
= frozenset([1, 4])
18620 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699
= frozenset([1])
18621 FOLLOW_assignment_expression_in_expression1715
= frozenset([1, 27])
18622 FOLLOW_27_in_expression1718
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18623 FOLLOW_assignment_expression_in_expression1720
= frozenset([1, 27])
18624 FOLLOW_conditional_expression_in_constant_expression1733
= frozenset([1])
18625 FOLLOW_lvalue_in_assignment_expression1744
= frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18626 FOLLOW_assignment_operator_in_assignment_expression1746
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18627 FOLLOW_assignment_expression_in_assignment_expression1748
= frozenset([1])
18628 FOLLOW_conditional_expression_in_assignment_expression1753
= frozenset([1])
18629 FOLLOW_unary_expression_in_lvalue1765
= frozenset([1])
18630 FOLLOW_set_in_assignment_operator0
= frozenset([1])
18631 FOLLOW_logical_or_expression_in_conditional_expression1839
= frozenset([1, 90])
18632 FOLLOW_90_in_conditional_expression1842
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18633 FOLLOW_expression_in_conditional_expression1844
= frozenset([47])
18634 FOLLOW_47_in_conditional_expression1846
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18635 FOLLOW_conditional_expression_in_conditional_expression1848
= frozenset([1])
18636 FOLLOW_logical_and_expression_in_logical_or_expression1863
= frozenset([1, 91])
18637 FOLLOW_91_in_logical_or_expression1866
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18638 FOLLOW_logical_and_expression_in_logical_or_expression1868
= frozenset([1, 91])
18639 FOLLOW_inclusive_or_expression_in_logical_and_expression1881
= frozenset([1, 92])
18640 FOLLOW_92_in_logical_and_expression1884
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18641 FOLLOW_inclusive_or_expression_in_logical_and_expression1886
= frozenset([1, 92])
18642 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899
= frozenset([1, 93])
18643 FOLLOW_93_in_inclusive_or_expression1902
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18644 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904
= frozenset([1, 93])
18645 FOLLOW_and_expression_in_exclusive_or_expression1917
= frozenset([1, 94])
18646 FOLLOW_94_in_exclusive_or_expression1920
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18647 FOLLOW_and_expression_in_exclusive_or_expression1922
= frozenset([1, 94])
18648 FOLLOW_equality_expression_in_and_expression1935
= frozenset([1, 77])
18649 FOLLOW_77_in_and_expression1938
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18650 FOLLOW_equality_expression_in_and_expression1940
= frozenset([1, 77])
18651 FOLLOW_relational_expression_in_equality_expression1952
= frozenset([1, 95, 96])
18652 FOLLOW_set_in_equality_expression1955
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18653 FOLLOW_relational_expression_in_equality_expression1961
= frozenset([1, 95, 96])
18654 FOLLOW_shift_expression_in_relational_expression1975
= frozenset([1, 97, 98, 99, 100])
18655 FOLLOW_set_in_relational_expression1978
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18656 FOLLOW_shift_expression_in_relational_expression1988
= frozenset([1, 97, 98, 99, 100])
18657 FOLLOW_additive_expression_in_shift_expression2001
= frozenset([1, 101, 102])
18658 FOLLOW_set_in_shift_expression2004
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18659 FOLLOW_additive_expression_in_shift_expression2010
= frozenset([1, 101, 102])
18660 FOLLOW_labeled_statement_in_statement2025
= frozenset([1])
18661 FOLLOW_compound_statement_in_statement2030
= frozenset([1])
18662 FOLLOW_expression_statement_in_statement2035
= frozenset([1])
18663 FOLLOW_selection_statement_in_statement2040
= frozenset([1])
18664 FOLLOW_iteration_statement_in_statement2045
= frozenset([1])
18665 FOLLOW_jump_statement_in_statement2050
= frozenset([1])
18666 FOLLOW_macro_statement_in_statement2055
= frozenset([1])
18667 FOLLOW_asm2_statement_in_statement2060
= frozenset([1])
18668 FOLLOW_asm1_statement_in_statement2065
= frozenset([1])
18669 FOLLOW_asm_statement_in_statement2070
= frozenset([1])
18670 FOLLOW_declaration_in_statement2075
= frozenset([1])
18671 FOLLOW_103_in_asm2_statement2086
= frozenset([4])
18672 FOLLOW_IDENTIFIER_in_asm2_statement2089
= frozenset([62])
18673 FOLLOW_62_in_asm2_statement2091
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18674 FOLLOW_set_in_asm2_statement2094
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18675 FOLLOW_63_in_asm2_statement2101
= frozenset([25])
18676 FOLLOW_25_in_asm2_statement2103
= frozenset([1])
18677 FOLLOW_104_in_asm1_statement2115
= frozenset([43])
18678 FOLLOW_43_in_asm1_statement2117
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18679 FOLLOW_set_in_asm1_statement2120
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18680 FOLLOW_44_in_asm1_statement2127
= frozenset([1])
18681 FOLLOW_105_in_asm_statement2138
= frozenset([43])
18682 FOLLOW_43_in_asm_statement2140
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18683 FOLLOW_set_in_asm_statement2143
= frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18684 FOLLOW_44_in_asm_statement2150
= frozenset([1])
18685 FOLLOW_IDENTIFIER_in_macro_statement2162
= frozenset([62])
18686 FOLLOW_62_in_macro_statement2164
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18687 FOLLOW_declaration_in_macro_statement2166
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18688 FOLLOW_statement_list_in_macro_statement2170
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18689 FOLLOW_expression_in_macro_statement2173
= frozenset([63])
18690 FOLLOW_63_in_macro_statement2176
= frozenset([1])
18691 FOLLOW_IDENTIFIER_in_labeled_statement2188
= frozenset([47])
18692 FOLLOW_47_in_labeled_statement2190
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18693 FOLLOW_statement_in_labeled_statement2192
= frozenset([1])
18694 FOLLOW_106_in_labeled_statement2197
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18695 FOLLOW_constant_expression_in_labeled_statement2199
= frozenset([47])
18696 FOLLOW_47_in_labeled_statement2201
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18697 FOLLOW_statement_in_labeled_statement2203
= frozenset([1])
18698 FOLLOW_107_in_labeled_statement2208
= frozenset([47])
18699 FOLLOW_47_in_labeled_statement2210
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18700 FOLLOW_statement_in_labeled_statement2212
= frozenset([1])
18701 FOLLOW_43_in_compound_statement2223
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18702 FOLLOW_declaration_in_compound_statement2225
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18703 FOLLOW_statement_list_in_compound_statement2228
= frozenset([44])
18704 FOLLOW_44_in_compound_statement2231
= frozenset([1])
18705 FOLLOW_statement_in_statement_list2242
= frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18706 FOLLOW_25_in_expression_statement2254
= frozenset([1])
18707 FOLLOW_expression_in_expression_statement2259
= frozenset([25])
18708 FOLLOW_25_in_expression_statement2261
= frozenset([1])
18709 FOLLOW_108_in_selection_statement2272
= frozenset([62])
18710 FOLLOW_62_in_selection_statement2274
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18711 FOLLOW_expression_in_selection_statement2278
= frozenset([63])
18712 FOLLOW_63_in_selection_statement2280
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18713 FOLLOW_statement_in_selection_statement2284
= frozenset([1, 109])
18714 FOLLOW_109_in_selection_statement2299
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18715 FOLLOW_statement_in_selection_statement2301
= frozenset([1])
18716 FOLLOW_110_in_selection_statement2308
= frozenset([62])
18717 FOLLOW_62_in_selection_statement2310
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18718 FOLLOW_expression_in_selection_statement2312
= frozenset([63])
18719 FOLLOW_63_in_selection_statement2314
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18720 FOLLOW_statement_in_selection_statement2316
= frozenset([1])
18721 FOLLOW_111_in_iteration_statement2327
= frozenset([62])
18722 FOLLOW_62_in_iteration_statement2329
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18723 FOLLOW_expression_in_iteration_statement2333
= frozenset([63])
18724 FOLLOW_63_in_iteration_statement2335
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18725 FOLLOW_statement_in_iteration_statement2337
= frozenset([1])
18726 FOLLOW_112_in_iteration_statement2344
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18727 FOLLOW_statement_in_iteration_statement2346
= frozenset([111])
18728 FOLLOW_111_in_iteration_statement2348
= frozenset([62])
18729 FOLLOW_62_in_iteration_statement2350
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18730 FOLLOW_expression_in_iteration_statement2354
= frozenset([63])
18731 FOLLOW_63_in_iteration_statement2356
= frozenset([25])
18732 FOLLOW_25_in_iteration_statement2358
= frozenset([1])
18733 FOLLOW_113_in_iteration_statement2365
= frozenset([62])
18734 FOLLOW_62_in_iteration_statement2367
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18735 FOLLOW_expression_statement_in_iteration_statement2369
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18736 FOLLOW_expression_statement_in_iteration_statement2373
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18737 FOLLOW_expression_in_iteration_statement2375
= frozenset([63])
18738 FOLLOW_63_in_iteration_statement2378
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18739 FOLLOW_statement_in_iteration_statement2380
= frozenset([1])
18740 FOLLOW_114_in_jump_statement2393
= frozenset([4])
18741 FOLLOW_IDENTIFIER_in_jump_statement2395
= frozenset([25])
18742 FOLLOW_25_in_jump_statement2397
= frozenset([1])
18743 FOLLOW_115_in_jump_statement2402
= frozenset([25])
18744 FOLLOW_25_in_jump_statement2404
= frozenset([1])
18745 FOLLOW_116_in_jump_statement2409
= frozenset([25])
18746 FOLLOW_25_in_jump_statement2411
= frozenset([1])
18747 FOLLOW_117_in_jump_statement2416
= frozenset([25])
18748 FOLLOW_25_in_jump_statement2418
= frozenset([1])
18749 FOLLOW_117_in_jump_statement2423
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18750 FOLLOW_expression_in_jump_statement2425
= frozenset([25])
18751 FOLLOW_25_in_jump_statement2427
= frozenset([1])
18752 FOLLOW_declaration_specifiers_in_synpred2100
= frozenset([1])
18753 FOLLOW_declaration_specifiers_in_synpred4100
= frozenset([4, 58, 59, 60, 62, 66])
18754 FOLLOW_declarator_in_synpred4103
= frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18755 FOLLOW_declaration_in_synpred4105
= frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18756 FOLLOW_43_in_synpred4108
= frozenset([1])
18757 FOLLOW_declaration_in_synpred5118
= frozenset([1])
18758 FOLLOW_declaration_specifiers_in_synpred7157
= frozenset([1])
18759 FOLLOW_declaration_specifiers_in_synpred10207
= frozenset([1])
18760 FOLLOW_type_specifier_in_synpred14272
= frozenset([1])
18761 FOLLOW_type_qualifier_in_synpred15286
= frozenset([1])
18762 FOLLOW_type_qualifier_in_synpred33444
= frozenset([1])
18763 FOLLOW_IDENTIFIER_in_synpred34442
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18764 FOLLOW_type_qualifier_in_synpred34444
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18765 FOLLOW_declarator_in_synpred34447
= frozenset([1])
18766 FOLLOW_type_qualifier_in_synpred39566
= frozenset([1])
18767 FOLLOW_type_specifier_in_synpred40570
= frozenset([1])
18768 FOLLOW_pointer_in_synpred66784
= frozenset([4, 58, 59, 60, 62])
18769 FOLLOW_58_in_synpred66788
= frozenset([4, 59, 60, 62])
18770 FOLLOW_59_in_synpred66793
= frozenset([4, 60, 62])
18771 FOLLOW_60_in_synpred66798
= frozenset([4, 62])
18772 FOLLOW_direct_declarator_in_synpred66802
= frozenset([1])
18773 FOLLOW_declarator_suffix_in_synpred67821
= frozenset([1])
18774 FOLLOW_58_in_synpred69830
= frozenset([1])
18775 FOLLOW_declarator_suffix_in_synpred70838
= frozenset([1])
18776 FOLLOW_62_in_synpred73878
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18777 FOLLOW_parameter_type_list_in_synpred73880
= frozenset([63])
18778 FOLLOW_63_in_synpred73882
= frozenset([1])
18779 FOLLOW_62_in_synpred74892
= frozenset([4])
18780 FOLLOW_identifier_list_in_synpred74894
= frozenset([63])
18781 FOLLOW_63_in_synpred74896
= frozenset([1])
18782 FOLLOW_type_qualifier_in_synpred75921
= frozenset([1])
18783 FOLLOW_pointer_in_synpred76924
= frozenset([1])
18784 FOLLOW_66_in_synpred77919
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18785 FOLLOW_type_qualifier_in_synpred77921
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18786 FOLLOW_pointer_in_synpred77924
= frozenset([1])
18787 FOLLOW_66_in_synpred78930
= frozenset([66])
18788 FOLLOW_pointer_in_synpred78932
= frozenset([1])
18789 FOLLOW_53_in_synpred81977
= frozenset([1])
18790 FOLLOW_27_in_synpred82974
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18791 FOLLOW_53_in_synpred82977
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18792 FOLLOW_parameter_declaration_in_synpred82981
= frozenset([1])
18793 FOLLOW_declarator_in_synpred83997
= frozenset([1])
18794 FOLLOW_abstract_declarator_in_synpred84999
= frozenset([1])
18795 FOLLOW_declaration_specifiers_in_synpred86994
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18796 FOLLOW_declarator_in_synpred86997
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18797 FOLLOW_abstract_declarator_in_synpred86999
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18798 FOLLOW_53_in_synpred861004
= frozenset([1])
18799 FOLLOW_specifier_qualifier_list_in_synpred901046
= frozenset([1, 62, 64, 66])
18800 FOLLOW_abstract_declarator_in_synpred901048
= frozenset([1])
18801 FOLLOW_direct_abstract_declarator_in_synpred911067
= frozenset([1])
18802 FOLLOW_62_in_synpred931086
= frozenset([62, 64, 66])
18803 FOLLOW_abstract_declarator_in_synpred931088
= frozenset([63])
18804 FOLLOW_63_in_synpred931090
= frozenset([1])
18805 FOLLOW_abstract_declarator_suffix_in_synpred941098
= frozenset([1])
18806 FOLLOW_62_in_synpred1091282
= frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18807 FOLLOW_type_name_in_synpred1091284
= frozenset([63])
18808 FOLLOW_63_in_synpred1091286
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18809 FOLLOW_cast_expression_in_synpred1091288
= frozenset([1])
18810 FOLLOW_74_in_synpred1141330
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18811 FOLLOW_unary_expression_in_synpred1141332
= frozenset([1])
18812 FOLLOW_62_in_synpred1171420
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18813 FOLLOW_argument_expression_list_in_synpred1171424
= frozenset([63])
18814 FOLLOW_63_in_synpred1171428
= frozenset([1])
18815 FOLLOW_62_in_synpred1181444
= frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18816 FOLLOW_macro_parameter_list_in_synpred1181446
= frozenset([63])
18817 FOLLOW_63_in_synpred1181448
= frozenset([1])
18818 FOLLOW_66_in_synpred1201482
= frozenset([4])
18819 FOLLOW_IDENTIFIER_in_synpred1201486
= frozenset([1])
18820 FOLLOW_STRING_LITERAL_in_synpred1371683
= frozenset([1])
18821 FOLLOW_IDENTIFIER_in_synpred1381680
= frozenset([4, 9])
18822 FOLLOW_STRING_LITERAL_in_synpred1381683
= frozenset([1, 9])
18823 FOLLOW_lvalue_in_synpred1421744
= frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18824 FOLLOW_assignment_operator_in_synpred1421746
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18825 FOLLOW_assignment_expression_in_synpred1421748
= frozenset([1])
18826 FOLLOW_expression_statement_in_synpred1692035
= frozenset([1])
18827 FOLLOW_macro_statement_in_synpred1732055
= frozenset([1])
18828 FOLLOW_asm2_statement_in_synpred1742060
= frozenset([1])
18829 FOLLOW_declaration_in_synpred1812166
= frozenset([1])
18830 FOLLOW_statement_list_in_synpred1822170
= frozenset([1])
18831 FOLLOW_declaration_in_synpred1862225
= frozenset([1])
18832 FOLLOW_statement_in_synpred1882242
= frozenset([1])