1 # $ANTLR 3.0.1 C.g 2010-02-23 09:58:53
4 from antlr3
.compat
import set, frozenset
7 # The file defines the parser for C source files.
9 # THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
10 # This file is generated by running:
11 # java org.antlr.Tool C.g
13 # Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
15 # This program and the accompanying materials are licensed and made available
16 # under the terms and conditions of the BSD License which accompanies this
17 # distribution. The full text of the license may be found at:
18 # http://opensource.org/licenses/bsd-license.php
20 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
30 # for convenience in actions
31 HIDDEN
= BaseRecognizer
.HIDDEN
46 FLOATING_POINT_LITERAL
=10
59 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
60 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
61 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
62 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
63 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
64 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
65 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
66 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
67 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
68 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
69 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
70 "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
71 "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
72 "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
73 "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
74 "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
75 "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
76 "'goto'", "'continue'", "'break'", "'return'"
80 class function_definition_scope(object):
82 self
.ModifierText
= None
87 self
.DeclOffset
= None
88 class postfix_expression_scope(object):
90 self
.FuncCallText
= None
93 class CParser(Parser
):
94 grammarFileName
= "C.g"
95 tokenNames
= tokenNames
97 def __init__(self
, input):
98 Parser
.__init
__(self
, input)
101 self
.function_definition_stack
= []
102 self
.postfix_expression_stack
= []
111 def printTokenInfo(self
, line
, offset
, tokenText
):
112 print str(line
)+ ',' + str(offset
) + ':' + str(tokenText
)
114 def StorePredicateExpression(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
115 PredExp
= CodeFragment
.PredicateExpression(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
116 FileProfile
.PredicateExpressionList
.append(PredExp
)
118 def StoreEnumerationDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
119 EnumDef
= CodeFragment
.EnumerationDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
120 FileProfile
.EnumerationDefinitionList
.append(EnumDef
)
122 def StoreStructUnionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
123 SUDef
= CodeFragment
.StructUnionDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
124 FileProfile
.StructUnionDefinitionList
.append(SUDef
)
126 def StoreTypedefDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FromText
, ToText
):
127 Tdef
= CodeFragment
.TypedefDefinition(FromText
, ToText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
128 FileProfile
.TypedefDefinitionList
.append(Tdef
)
130 def StoreFunctionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
, LeftBraceLine
, LeftBraceOffset
, DeclLine
, DeclOffset
):
131 FuncDef
= CodeFragment
.FunctionDefinition(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
), (LeftBraceLine
, LeftBraceOffset
), (DeclLine
, DeclOffset
))
132 FileProfile
.FunctionDefinitionList
.append(FuncDef
)
134 def StoreVariableDeclaration(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
):
135 VarDecl
= CodeFragment
.VariableDeclaration(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
136 FileProfile
.VariableDeclarationList
.append(VarDecl
)
138 def StoreFunctionCalling(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FuncName
, ParamList
):
139 FuncCall
= CodeFragment
.FunctionCalling(FuncName
, ParamList
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
140 FileProfile
.FunctionCallingList
.append(FuncCall
)
145 # $ANTLR start translation_unit
146 # C.g:102:1: translation_unit : ( external_declaration )* ;
147 def translation_unit(self
, ):
149 translation_unit_StartIndex
= self
.input.index()
152 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 1):
155 # C.g:103:2: ( ( external_declaration )* )
156 # C.g:103:4: ( external_declaration )*
157 # C.g:103:4: ( external_declaration )*
160 LA1_0
= self
.input.LA(1)
162 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) :
167 # C.g:0:0: external_declaration
168 self
.following
.append(self
.FOLLOW_external_declaration_in_translation_unit74
)
169 self
.external_declaration()
183 except RecognitionException
, re
:
185 self
.recover(self
.input, re
)
187 if self
.backtracking
> 0:
188 self
.memoize(self
.input, 1, translation_unit_StartIndex
)
194 # $ANTLR end translation_unit
197 # $ANTLR start external_declaration
198 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
199 def external_declaration(self
, ):
201 external_declaration_StartIndex
= self
.input.index()
204 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 2):
207 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
209 LA3_0
= self
.input.LA(1)
211 if ((29 <= LA3_0
<= 33)) :
212 LA3_1
= self
.input.LA(2)
214 if (self
.synpred4()) :
216 elif (self
.synpred5()) :
219 if self
.backtracking
> 0:
223 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self
.input)
228 LA3_2
= self
.input.LA(2)
230 if (self
.synpred4()) :
232 elif (self
.synpred5()) :
235 if self
.backtracking
> 0:
239 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self
.input)
244 LA3_3
= self
.input.LA(2)
246 if (self
.synpred4()) :
248 elif (self
.synpred5()) :
251 if self
.backtracking
> 0:
255 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self
.input)
260 LA3_4
= self
.input.LA(2)
262 if (self
.synpred4()) :
264 elif (self
.synpred5()) :
267 if self
.backtracking
> 0:
271 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self
.input)
276 LA3_5
= self
.input.LA(2)
278 if (self
.synpred4()) :
280 elif (self
.synpred5()) :
283 if self
.backtracking
> 0:
287 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self
.input)
292 LA3_6
= self
.input.LA(2)
294 if (self
.synpred4()) :
296 elif (self
.synpred5()) :
299 if self
.backtracking
> 0:
303 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self
.input)
308 LA3_7
= self
.input.LA(2)
310 if (self
.synpred4()) :
312 elif (self
.synpred5()) :
315 if self
.backtracking
> 0:
319 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self
.input)
324 LA3_8
= self
.input.LA(2)
326 if (self
.synpred4()) :
328 elif (self
.synpred5()) :
331 if self
.backtracking
> 0:
335 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self
.input)
340 LA3_9
= self
.input.LA(2)
342 if (self
.synpred4()) :
344 elif (self
.synpred5()) :
347 if self
.backtracking
> 0:
351 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self
.input)
356 LA3_10
= self
.input.LA(2)
358 if (self
.synpred4()) :
360 elif (self
.synpred5()) :
363 if self
.backtracking
> 0:
367 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self
.input)
371 elif ((45 <= LA3_0
<= 46)) :
372 LA3_11
= self
.input.LA(2)
374 if (self
.synpred4()) :
376 elif (self
.synpred5()) :
379 if self
.backtracking
> 0:
383 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self
.input)
388 LA3_12
= self
.input.LA(2)
390 if (self
.synpred4()) :
392 elif (self
.synpred5()) :
395 if self
.backtracking
> 0:
399 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self
.input)
403 elif (LA3_0
== IDENTIFIER
) :
404 LA3_13
= self
.input.LA(2)
406 if (self
.synpred4()) :
408 elif (self
.synpred5()) :
413 if self
.backtracking
> 0:
417 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self
.input)
422 LA3_14
= self
.input.LA(2)
424 if (self
.synpred4()) :
426 elif (self
.synpred5()) :
429 if self
.backtracking
> 0:
433 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self
.input)
437 elif (LA3_0
== 66) and (self
.synpred4()):
440 LA3_16
= self
.input.LA(2)
442 if (self
.synpred4()) :
444 elif (self
.synpred5()) :
447 if self
.backtracking
> 0:
451 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self
.input)
456 LA3_17
= self
.input.LA(2)
458 if (self
.synpred4()) :
460 elif (self
.synpred5()) :
463 if self
.backtracking
> 0:
467 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self
.input)
471 elif ((49 <= LA3_0
<= 57) or LA3_0
== 61) :
472 LA3_18
= self
.input.LA(2)
474 if (self
.synpred4()) :
476 elif (self
.synpred5()) :
479 if self
.backtracking
> 0:
483 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self
.input)
487 elif (LA3_0
== 62) and (self
.synpred4()):
492 if self
.backtracking
> 0:
496 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self
.input)
501 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
502 self
.following
.append(self
.FOLLOW_function_definition_in_external_declaration113
)
503 self
.function_definition()
510 # C.g:120:4: declaration
511 self
.following
.append(self
.FOLLOW_declaration_in_external_declaration118
)
519 # C.g:121:4: macro_statement ( ';' )?
520 self
.following
.append(self
.FOLLOW_macro_statement_in_external_declaration123
)
521 self
.macro_statement()
525 # C.g:121:20: ( ';' )?
527 LA2_0
= self
.input.LA(1)
533 self
.match(self
.input, 25, self
.FOLLOW_25_in_external_declaration126
)
542 except RecognitionException
, re
:
544 self
.recover(self
.input, re
)
546 if self
.backtracking
> 0:
547 self
.memoize(self
.input, 2, external_declaration_StartIndex
)
553 # $ANTLR end external_declaration
555 class function_definition_return(object):
562 # $ANTLR start function_definition
563 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
564 def function_definition(self
, ):
565 self
.function_definition_stack
.append(function_definition_scope())
566 retval
= self
.function_definition_return()
567 retval
.start
= self
.input.LT(1)
568 function_definition_StartIndex
= self
.input.index()
579 self
.function_definition_stack
[-1].ModifierText
= ''
580 self
.function_definition_stack
[-1].DeclText
= ''
581 self
.function_definition_stack
[-1].LBLine
= 0
582 self
.function_definition_stack
[-1].LBOffset
= 0
583 self
.function_definition_stack
[-1].DeclLine
= 0
584 self
.function_definition_stack
[-1].DeclOffset
= 0
588 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 3):
591 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
592 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
593 # C.g:146:5: (d= declaration_specifiers )?
595 LA4
= self
.input.LA(1)
596 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:
598 elif LA4
== IDENTIFIER
:
599 LA4
= self
.input.LA(2)
603 LA4_21
= self
.input.LA(3)
605 if (self
.synpred7()) :
608 LA4_22
= self
.input.LA(3)
610 if (self
.synpred7()) :
613 LA4_23
= self
.input.LA(3)
615 if (self
.synpred7()) :
617 elif LA4
== IDENTIFIER
:
618 LA4_24
= self
.input.LA(3)
620 if (self
.synpred7()) :
623 LA4_25
= self
.input.LA(3)
625 if (self
.synpred7()) :
627 elif LA4
== 29 or LA4
== 30 or LA4
== 31 or LA4
== 32 or LA4
== 33:
628 LA4_26
= self
.input.LA(3)
630 if (self
.synpred7()) :
633 LA4_27
= self
.input.LA(3)
635 if (self
.synpred7()) :
638 LA4_28
= self
.input.LA(3)
640 if (self
.synpred7()) :
643 LA4_29
= self
.input.LA(3)
645 if (self
.synpred7()) :
648 LA4_30
= self
.input.LA(3)
650 if (self
.synpred7()) :
653 LA4_31
= self
.input.LA(3)
655 if (self
.synpred7()) :
658 LA4_32
= self
.input.LA(3)
660 if (self
.synpred7()) :
663 LA4_33
= self
.input.LA(3)
665 if (self
.synpred7()) :
668 LA4_34
= self
.input.LA(3)
670 if (self
.synpred7()) :
673 LA4_35
= self
.input.LA(3)
675 if (self
.synpred7()) :
677 elif LA4
== 45 or LA4
== 46:
678 LA4_36
= self
.input.LA(3)
680 if (self
.synpred7()) :
683 LA4_37
= self
.input.LA(3)
685 if (self
.synpred7()) :
687 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:
688 LA4_38
= self
.input.LA(3)
690 if (self
.synpred7()) :
693 LA4_14
= self
.input.LA(2)
695 if (self
.synpred7()) :
698 LA4_16
= self
.input.LA(2)
700 if (self
.synpred7()) :
703 LA4_17
= self
.input.LA(2)
705 if (self
.synpred7()) :
708 # C.g:0:0: d= declaration_specifiers
709 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_function_definition157
)
710 d
= self
.declaration_specifiers()
717 self
.following
.append(self
.FOLLOW_declarator_in_function_definition160
)
718 declarator1
= self
.declarator()
722 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
724 LA6_0
= self
.input.LA(1)
726 if (LA6_0
== IDENTIFIER
or LA6_0
== 26 or (29 <= LA6_0
<= 42) or (45 <= LA6_0
<= 46) or (48 <= LA6_0
<= 61)) :
731 if self
.backtracking
> 0:
735 nvae
= NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self
.input)
740 # C.g:147:5: ( declaration )+ a= compound_statement
741 # C.g:147:5: ( declaration )+
745 LA5_0
= self
.input.LA(1)
747 if (LA5_0
== IDENTIFIER
or LA5_0
== 26 or (29 <= LA5_0
<= 42) or (45 <= LA5_0
<= 46) or (48 <= LA5_0
<= 61)) :
752 # C.g:0:0: declaration
753 self
.following
.append(self
.FOLLOW_declaration_in_function_definition166
)
764 if self
.backtracking
> 0:
768 eee
= EarlyExitException(5, self
.input)
774 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition171
)
775 a
= self
.compound_statement()
782 # C.g:148:5: b= compound_statement
783 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition180
)
784 b
= self
.compound_statement()
791 if self
.backtracking
== 0:
794 self
.function_definition_stack
[-1].ModifierText
= self
.input.toString(d
.start
,d
.stop
)
796 self
.function_definition_stack
[-1].ModifierText
= ''
797 self
.function_definition_stack
[-1].DeclText
= self
.input.toString(declarator1
.start
,declarator1
.stop
)
798 self
.function_definition_stack
[-1].DeclLine
= declarator1
.start
.line
799 self
.function_definition_stack
[-1].DeclOffset
= declarator1
.start
.charPositionInLine
801 self
.function_definition_stack
[-1].LBLine
= a
.start
.line
802 self
.function_definition_stack
[-1].LBOffset
= a
.start
.charPositionInLine
804 self
.function_definition_stack
[-1].LBLine
= b
.start
.line
805 self
.function_definition_stack
[-1].LBOffset
= b
.start
.charPositionInLine
811 retval
.stop
= self
.input.LT(-1)
813 if self
.backtracking
== 0:
815 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
)
819 except RecognitionException
, re
:
821 self
.recover(self
.input, re
)
823 if self
.backtracking
> 0:
824 self
.memoize(self
.input, 3, function_definition_StartIndex
)
826 self
.function_definition_stack
.pop()
831 # $ANTLR end function_definition
834 # $ANTLR start declaration
835 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
836 def declaration(self
, ):
838 declaration_StartIndex
= self
.input.index()
853 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 4):
856 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
858 LA9_0
= self
.input.LA(1)
862 elif (LA9_0
== IDENTIFIER
or (29 <= LA9_0
<= 42) or (45 <= LA9_0
<= 46) or (48 <= LA9_0
<= 61)) :
865 if self
.backtracking
> 0:
869 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)
874 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
876 self
.match(self
.input, 26, self
.FOLLOW_26_in_declaration203
)
879 # C.g:167:17: (b= declaration_specifiers )?
881 LA7
= self
.input.LA(1)
882 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:
884 elif LA7
== IDENTIFIER
:
885 LA7_13
= self
.input.LA(2)
888 LA7_21
= self
.input.LA(3)
890 if (self
.synpred10()) :
892 elif (LA7_13
== IDENTIFIER
or (29 <= LA7_13
<= 42) or (45 <= LA7_13
<= 46) or (48 <= LA7_13
<= 61) or LA7_13
== 66) :
895 LA7_14
= self
.input.LA(2)
897 if (self
.synpred10()) :
900 LA7_16
= self
.input.LA(2)
902 if (self
.synpred10()) :
905 LA7_17
= self
.input.LA(2)
907 if (self
.synpred10()) :
910 # C.g:0:0: b= declaration_specifiers
911 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration207
)
912 b
= self
.declaration_specifiers()
919 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration216
)
920 c
= self
.init_declarator_list()
925 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration220
)
928 if self
.backtracking
== 0:
931 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, self
.input.toString(b
.start
,b
.stop
), self
.input.toString(c
.start
,c
.stop
))
933 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, '', self
.input.toString(c
.start
,c
.stop
))
939 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
940 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration234
)
941 s
= self
.declaration_specifiers()
945 # C.g:175:30: (t= init_declarator_list )?
947 LA8_0
= self
.input.LA(1)
949 if (LA8_0
== IDENTIFIER
or (58 <= LA8_0
<= 60) or LA8_0
== 62 or LA8_0
== 66) :
952 # C.g:0:0: t= init_declarator_list
953 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration238
)
954 t
= self
.init_declarator_list()
962 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration243
)
965 if self
.backtracking
== 0:
968 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
))
974 except RecognitionException
, re
:
976 self
.recover(self
.input, re
)
978 if self
.backtracking
> 0:
979 self
.memoize(self
.input, 4, declaration_StartIndex
)
985 # $ANTLR end declaration
987 class declaration_specifiers_return(object):
994 # $ANTLR start declaration_specifiers
995 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
996 def declaration_specifiers(self
, ):
998 retval
= self
.declaration_specifiers_return()
999 retval
.start
= self
.input.LT(1)
1000 declaration_specifiers_StartIndex
= self
.input.index()
1003 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 5):
1006 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
1007 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1008 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1012 LA10
= self
.input.LA(1)
1014 LA10_2
= self
.input.LA(2)
1016 if (self
.synpred15()) :
1021 LA10_3
= self
.input.LA(2)
1023 if (self
.synpred15()) :
1028 LA10_4
= self
.input.LA(2)
1030 if (self
.synpred15()) :
1034 elif LA10
== IDENTIFIER
:
1035 LA10_5
= self
.input.LA(2)
1037 if (self
.synpred14()) :
1042 LA10_9
= self
.input.LA(2)
1044 if (self
.synpred15()) :
1048 elif LA10
== 29 or LA10
== 30 or LA10
== 31 or LA10
== 32 or LA10
== 33:
1050 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:
1052 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:
1056 # C.g:183:10: storage_class_specifier
1057 self
.following
.append(self
.FOLLOW_storage_class_specifier_in_declaration_specifiers264
)
1058 self
.storage_class_specifier()
1059 self
.following
.pop()
1065 # C.g:184:7: type_specifier
1066 self
.following
.append(self
.FOLLOW_type_specifier_in_declaration_specifiers272
)
1067 self
.type_specifier()
1068 self
.following
.pop()
1074 # C.g:185:13: type_qualifier
1075 self
.following
.append(self
.FOLLOW_type_qualifier_in_declaration_specifiers286
)
1076 self
.type_qualifier()
1077 self
.following
.pop()
1086 if self
.backtracking
> 0:
1090 eee
= EarlyExitException(10, self
.input)
1099 retval
.stop
= self
.input.LT(-1)
1102 except RecognitionException
, re
:
1103 self
.reportError(re
)
1104 self
.recover(self
.input, re
)
1106 if self
.backtracking
> 0:
1107 self
.memoize(self
.input, 5, declaration_specifiers_StartIndex
)
1113 # $ANTLR end declaration_specifiers
1115 class init_declarator_list_return(object):
1122 # $ANTLR start init_declarator_list
1123 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1124 def init_declarator_list(self
, ):
1126 retval
= self
.init_declarator_list_return()
1127 retval
.start
= self
.input.LT(1)
1128 init_declarator_list_StartIndex
= self
.input.index()
1131 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 6):
1134 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1135 # C.g:190:4: init_declarator ( ',' init_declarator )*
1136 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list308
)
1137 self
.init_declarator()
1138 self
.following
.pop()
1141 # C.g:190:20: ( ',' init_declarator )*
1144 LA11_0
= self
.input.LA(1)
1151 # C.g:190:21: ',' init_declarator
1152 self
.match(self
.input, 27, self
.FOLLOW_27_in_init_declarator_list311
)
1155 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list313
)
1156 self
.init_declarator()
1157 self
.following
.pop()
1169 retval
.stop
= self
.input.LT(-1)
1172 except RecognitionException
, re
:
1173 self
.reportError(re
)
1174 self
.recover(self
.input, re
)
1176 if self
.backtracking
> 0:
1177 self
.memoize(self
.input, 6, init_declarator_list_StartIndex
)
1183 # $ANTLR end init_declarator_list
1186 # $ANTLR start init_declarator
1187 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1188 def init_declarator(self
, ):
1190 init_declarator_StartIndex
= self
.input.index()
1193 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 7):
1196 # C.g:194:2: ( declarator ( '=' initializer )? )
1197 # C.g:194:4: declarator ( '=' initializer )?
1198 self
.following
.append(self
.FOLLOW_declarator_in_init_declarator326
)
1200 self
.following
.pop()
1203 # C.g:194:15: ( '=' initializer )?
1205 LA12_0
= self
.input.LA(1)
1210 # C.g:194:16: '=' initializer
1211 self
.match(self
.input, 28, self
.FOLLOW_28_in_init_declarator329
)
1214 self
.following
.append(self
.FOLLOW_initializer_in_init_declarator331
)
1216 self
.following
.pop()
1226 except RecognitionException
, re
:
1227 self
.reportError(re
)
1228 self
.recover(self
.input, re
)
1230 if self
.backtracking
> 0:
1231 self
.memoize(self
.input, 7, init_declarator_StartIndex
)
1237 # $ANTLR end init_declarator
1240 # $ANTLR start storage_class_specifier
1241 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1242 def storage_class_specifier(self
, ):
1244 storage_class_specifier_StartIndex
= self
.input.index()
1247 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 8):
1250 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1252 if (29 <= self
.input.LA(1) <= 33):
1253 self
.input.consume();
1254 self
.errorRecovery
= False
1258 if self
.backtracking
> 0:
1262 mse
= MismatchedSetException(None, self
.input)
1263 self
.recoverFromMismatchedSet(
1264 self
.input, mse
, self
.FOLLOW_set_in_storage_class_specifier0
1273 except RecognitionException
, re
:
1274 self
.reportError(re
)
1275 self
.recover(self
.input, re
)
1277 if self
.backtracking
> 0:
1278 self
.memoize(self
.input, 8, storage_class_specifier_StartIndex
)
1284 # $ANTLR end storage_class_specifier
1287 # $ANTLR start type_specifier
1288 # 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 );
1289 def type_specifier(self
, ):
1291 type_specifier_StartIndex
= self
.input.index()
1299 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 9):
1302 # 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 )
1304 LA13_0
= self
.input.LA(1)
1308 elif (LA13_0
== 35) :
1310 elif (LA13_0
== 36) :
1312 elif (LA13_0
== 37) :
1314 elif (LA13_0
== 38) :
1316 elif (LA13_0
== 39) :
1318 elif (LA13_0
== 40) :
1320 elif (LA13_0
== 41) :
1322 elif (LA13_0
== 42) :
1324 elif ((45 <= LA13_0
<= 46)) :
1326 elif (LA13_0
== 48) :
1328 elif (LA13_0
== IDENTIFIER
) and (self
.synpred34()):
1331 if self
.backtracking
> 0:
1335 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)
1341 self
.match(self
.input, 34, self
.FOLLOW_34_in_type_specifier376
)
1348 self
.match(self
.input, 35, self
.FOLLOW_35_in_type_specifier381
)
1354 # C.g:208:4: 'short'
1355 self
.match(self
.input, 36, self
.FOLLOW_36_in_type_specifier386
)
1362 self
.match(self
.input, 37, self
.FOLLOW_37_in_type_specifier391
)
1369 self
.match(self
.input, 38, self
.FOLLOW_38_in_type_specifier396
)
1375 # C.g:211:4: 'float'
1376 self
.match(self
.input, 39, self
.FOLLOW_39_in_type_specifier401
)
1382 # C.g:212:4: 'double'
1383 self
.match(self
.input, 40, self
.FOLLOW_40_in_type_specifier406
)
1389 # C.g:213:4: 'signed'
1390 self
.match(self
.input, 41, self
.FOLLOW_41_in_type_specifier411
)
1396 # C.g:214:4: 'unsigned'
1397 self
.match(self
.input, 42, self
.FOLLOW_42_in_type_specifier416
)
1403 # C.g:215:4: s= struct_or_union_specifier
1404 self
.following
.append(self
.FOLLOW_struct_or_union_specifier_in_type_specifier423
)
1405 s
= self
.struct_or_union_specifier()
1406 self
.following
.pop()
1409 if self
.backtracking
== 0:
1412 self
.StoreStructUnionDefinition(s
.start
.line
, s
.start
.charPositionInLine
, s
.stop
.line
, s
.stop
.charPositionInLine
, self
.input.toString(s
.start
,s
.stop
))
1418 # C.g:220:4: e= enum_specifier
1419 self
.following
.append(self
.FOLLOW_enum_specifier_in_type_specifier433
)
1420 e
= self
.enum_specifier()
1421 self
.following
.pop()
1424 if self
.backtracking
== 0:
1427 self
.StoreEnumerationDefinition(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
1433 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1434 self
.following
.append(self
.FOLLOW_type_id_in_type_specifier451
)
1436 self
.following
.pop()
1442 except RecognitionException
, re
:
1443 self
.reportError(re
)
1444 self
.recover(self
.input, re
)
1446 if self
.backtracking
> 0:
1447 self
.memoize(self
.input, 9, type_specifier_StartIndex
)
1453 # $ANTLR end type_specifier
1456 # $ANTLR start type_id
1457 # C.g:228:1: type_id : IDENTIFIER ;
1458 def type_id(self
, ):
1460 type_id_StartIndex
= self
.input.index()
1463 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 10):
1466 # C.g:229:5: ( IDENTIFIER )
1467 # C.g:229:9: IDENTIFIER
1468 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_type_id467
)
1475 except RecognitionException
, re
:
1476 self
.reportError(re
)
1477 self
.recover(self
.input, re
)
1479 if self
.backtracking
> 0:
1480 self
.memoize(self
.input, 10, type_id_StartIndex
)
1486 # $ANTLR end type_id
1488 class struct_or_union_specifier_return(object):
1495 # $ANTLR start struct_or_union_specifier
1496 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1497 def struct_or_union_specifier(self
, ):
1499 retval
= self
.struct_or_union_specifier_return()
1500 retval
.start
= self
.input.LT(1)
1501 struct_or_union_specifier_StartIndex
= self
.input.index()
1504 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 11):
1507 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1509 LA15_0
= self
.input.LA(1)
1511 if ((45 <= LA15_0
<= 46)) :
1512 LA15_1
= self
.input.LA(2)
1514 if (LA15_1
== IDENTIFIER
) :
1515 LA15_2
= self
.input.LA(3)
1519 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) :
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, 2, self
.input)
1530 elif (LA15_1
== 43) :
1533 if self
.backtracking
> 0:
1537 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)
1542 if self
.backtracking
> 0:
1546 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)
1551 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1552 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier494
)
1553 self
.struct_or_union()
1554 self
.following
.pop()
1557 # C.g:235:20: ( IDENTIFIER )?
1559 LA14_0
= self
.input.LA(1)
1561 if (LA14_0
== IDENTIFIER
) :
1564 # C.g:0:0: IDENTIFIER
1565 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496
)
1571 self
.match(self
.input, 43, self
.FOLLOW_43_in_struct_or_union_specifier499
)
1574 self
.following
.append(self
.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501
)
1575 self
.struct_declaration_list()
1576 self
.following
.pop()
1579 self
.match(self
.input, 44, self
.FOLLOW_44_in_struct_or_union_specifier503
)
1585 # C.g:236:4: struct_or_union IDENTIFIER
1586 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier508
)
1587 self
.struct_or_union()
1588 self
.following
.pop()
1591 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510
)
1596 retval
.stop
= self
.input.LT(-1)
1599 except RecognitionException
, re
:
1600 self
.reportError(re
)
1601 self
.recover(self
.input, re
)
1603 if self
.backtracking
> 0:
1604 self
.memoize(self
.input, 11, struct_or_union_specifier_StartIndex
)
1610 # $ANTLR end struct_or_union_specifier
1613 # $ANTLR start struct_or_union
1614 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1615 def struct_or_union(self
, ):
1617 struct_or_union_StartIndex
= self
.input.index()
1620 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 12):
1623 # C.g:240:2: ( 'struct' | 'union' )
1625 if (45 <= self
.input.LA(1) <= 46):
1626 self
.input.consume();
1627 self
.errorRecovery
= False
1631 if self
.backtracking
> 0:
1635 mse
= MismatchedSetException(None, self
.input)
1636 self
.recoverFromMismatchedSet(
1637 self
.input, mse
, self
.FOLLOW_set_in_struct_or_union0
1646 except RecognitionException
, re
:
1647 self
.reportError(re
)
1648 self
.recover(self
.input, re
)
1650 if self
.backtracking
> 0:
1651 self
.memoize(self
.input, 12, struct_or_union_StartIndex
)
1657 # $ANTLR end struct_or_union
1660 # $ANTLR start struct_declaration_list
1661 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1662 def struct_declaration_list(self
, ):
1664 struct_declaration_list_StartIndex
= self
.input.index()
1667 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 13):
1670 # C.g:245:2: ( ( struct_declaration )+ )
1671 # C.g:245:4: ( struct_declaration )+
1672 # C.g:245:4: ( struct_declaration )+
1676 LA16_0
= self
.input.LA(1)
1678 if (LA16_0
== IDENTIFIER
or (34 <= LA16_0
<= 42) or (45 <= LA16_0
<= 46) or (48 <= LA16_0
<= 61)) :
1683 # C.g:0:0: struct_declaration
1684 self
.following
.append(self
.FOLLOW_struct_declaration_in_struct_declaration_list537
)
1685 self
.struct_declaration()
1686 self
.following
.pop()
1695 if self
.backtracking
> 0:
1699 eee
= EarlyExitException(16, self
.input)
1709 except RecognitionException
, re
:
1710 self
.reportError(re
)
1711 self
.recover(self
.input, re
)
1713 if self
.backtracking
> 0:
1714 self
.memoize(self
.input, 13, struct_declaration_list_StartIndex
)
1720 # $ANTLR end struct_declaration_list
1723 # $ANTLR start struct_declaration
1724 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1725 def struct_declaration(self
, ):
1727 struct_declaration_StartIndex
= self
.input.index()
1730 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 14):
1733 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1734 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1735 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_struct_declaration549
)
1736 self
.specifier_qualifier_list()
1737 self
.following
.pop()
1740 self
.following
.append(self
.FOLLOW_struct_declarator_list_in_struct_declaration551
)
1741 self
.struct_declarator_list()
1742 self
.following
.pop()
1745 self
.match(self
.input, 25, self
.FOLLOW_25_in_struct_declaration553
)
1752 except RecognitionException
, re
:
1753 self
.reportError(re
)
1754 self
.recover(self
.input, re
)
1756 if self
.backtracking
> 0:
1757 self
.memoize(self
.input, 14, struct_declaration_StartIndex
)
1763 # $ANTLR end struct_declaration
1766 # $ANTLR start specifier_qualifier_list
1767 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1768 def specifier_qualifier_list(self
, ):
1770 specifier_qualifier_list_StartIndex
= self
.input.index()
1773 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 15):
1776 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1777 # C.g:253:4: ( type_qualifier | type_specifier )+
1778 # C.g:253:4: ( type_qualifier | type_specifier )+
1782 LA17
= self
.input.LA(1)
1784 LA17_2
= self
.input.LA(2)
1786 if (self
.synpred39()) :
1791 LA17_3
= self
.input.LA(2)
1793 if (self
.synpred39()) :
1798 LA17_4
= self
.input.LA(2)
1800 if (self
.synpred39()) :
1804 elif LA17
== IDENTIFIER
:
1805 LA17
= self
.input.LA(2)
1806 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:
1809 LA17_94
= self
.input.LA(3)
1811 if (self
.synpred40()) :
1816 LA17_95
= self
.input.LA(3)
1818 if (self
.synpred40()) :
1823 LA17_96
= self
.input.LA(3)
1825 if (self
.synpred40()) :
1830 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:
1832 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:
1836 # C.g:253:6: type_qualifier
1837 self
.following
.append(self
.FOLLOW_type_qualifier_in_specifier_qualifier_list566
)
1838 self
.type_qualifier()
1839 self
.following
.pop()
1845 # C.g:253:23: type_specifier
1846 self
.following
.append(self
.FOLLOW_type_specifier_in_specifier_qualifier_list570
)
1847 self
.type_specifier()
1848 self
.following
.pop()
1857 if self
.backtracking
> 0:
1861 eee
= EarlyExitException(17, self
.input)
1871 except RecognitionException
, re
:
1872 self
.reportError(re
)
1873 self
.recover(self
.input, re
)
1875 if self
.backtracking
> 0:
1876 self
.memoize(self
.input, 15, specifier_qualifier_list_StartIndex
)
1882 # $ANTLR end specifier_qualifier_list
1885 # $ANTLR start struct_declarator_list
1886 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1887 def struct_declarator_list(self
, ):
1889 struct_declarator_list_StartIndex
= self
.input.index()
1892 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 16):
1895 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1896 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1897 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list584
)
1898 self
.struct_declarator()
1899 self
.following
.pop()
1902 # C.g:257:22: ( ',' struct_declarator )*
1905 LA18_0
= self
.input.LA(1)
1912 # C.g:257:23: ',' struct_declarator
1913 self
.match(self
.input, 27, self
.FOLLOW_27_in_struct_declarator_list587
)
1916 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list589
)
1917 self
.struct_declarator()
1918 self
.following
.pop()
1931 except RecognitionException
, re
:
1932 self
.reportError(re
)
1933 self
.recover(self
.input, re
)
1935 if self
.backtracking
> 0:
1936 self
.memoize(self
.input, 16, struct_declarator_list_StartIndex
)
1942 # $ANTLR end struct_declarator_list
1945 # $ANTLR start struct_declarator
1946 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1947 def struct_declarator(self
, ):
1949 struct_declarator_StartIndex
= self
.input.index()
1952 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 17):
1955 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1957 LA20_0
= self
.input.LA(1)
1959 if (LA20_0
== IDENTIFIER
or (58 <= LA20_0
<= 60) or LA20_0
== 62 or LA20_0
== 66) :
1961 elif (LA20_0
== 47) :
1964 if self
.backtracking
> 0:
1968 nvae
= NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self
.input)
1973 # C.g:261:4: declarator ( ':' constant_expression )?
1974 self
.following
.append(self
.FOLLOW_declarator_in_struct_declarator602
)
1976 self
.following
.pop()
1979 # C.g:261:15: ( ':' constant_expression )?
1981 LA19_0
= self
.input.LA(1)
1986 # C.g:261:16: ':' constant_expression
1987 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator605
)
1990 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator607
)
1991 self
.constant_expression()
1992 self
.following
.pop()
2001 # C.g:262:4: ':' constant_expression
2002 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator614
)
2005 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator616
)
2006 self
.constant_expression()
2007 self
.following
.pop()
2013 except RecognitionException
, re
:
2014 self
.reportError(re
)
2015 self
.recover(self
.input, re
)
2017 if self
.backtracking
> 0:
2018 self
.memoize(self
.input, 17, struct_declarator_StartIndex
)
2024 # $ANTLR end struct_declarator
2026 class enum_specifier_return(object):
2033 # $ANTLR start enum_specifier
2034 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2035 def enum_specifier(self
, ):
2037 retval
= self
.enum_specifier_return()
2038 retval
.start
= self
.input.LT(1)
2039 enum_specifier_StartIndex
= self
.input.index()
2042 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 18):
2045 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2047 LA23_0
= self
.input.LA(1)
2050 LA23_1
= self
.input.LA(2)
2052 if (LA23_1
== IDENTIFIER
) :
2053 LA23_2
= self
.input.LA(3)
2057 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) :
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, 2, self
.input)
2068 elif (LA23_1
== 43) :
2071 if self
.backtracking
> 0:
2075 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self
.input)
2080 if self
.backtracking
> 0:
2084 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self
.input)
2089 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2090 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier634
)
2093 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier636
)
2096 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier638
)
2097 self
.enumerator_list()
2098 self
.following
.pop()
2101 # C.g:267:31: ( ',' )?
2103 LA21_0
= self
.input.LA(1)
2109 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier640
)
2115 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier643
)
2121 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2122 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier648
)
2125 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier650
)
2128 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier652
)
2131 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier654
)
2132 self
.enumerator_list()
2133 self
.following
.pop()
2136 # C.g:268:42: ( ',' )?
2138 LA22_0
= self
.input.LA(1)
2144 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier656
)
2150 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier659
)
2156 # C.g:269:4: 'enum' IDENTIFIER
2157 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier664
)
2160 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier666
)
2165 retval
.stop
= self
.input.LT(-1)
2168 except RecognitionException
, re
:
2169 self
.reportError(re
)
2170 self
.recover(self
.input, re
)
2172 if self
.backtracking
> 0:
2173 self
.memoize(self
.input, 18, enum_specifier_StartIndex
)
2179 # $ANTLR end enum_specifier
2182 # $ANTLR start enumerator_list
2183 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2184 def enumerator_list(self
, ):
2186 enumerator_list_StartIndex
= self
.input.index()
2189 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 19):
2192 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2193 # C.g:273:4: enumerator ( ',' enumerator )*
2194 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list677
)
2196 self
.following
.pop()
2199 # C.g:273:15: ( ',' enumerator )*
2202 LA24_0
= self
.input.LA(1)
2205 LA24_1
= self
.input.LA(2)
2207 if (LA24_1
== IDENTIFIER
) :
2214 # C.g:273:16: ',' enumerator
2215 self
.match(self
.input, 27, self
.FOLLOW_27_in_enumerator_list680
)
2218 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list682
)
2220 self
.following
.pop()
2233 except RecognitionException
, re
:
2234 self
.reportError(re
)
2235 self
.recover(self
.input, re
)
2237 if self
.backtracking
> 0:
2238 self
.memoize(self
.input, 19, enumerator_list_StartIndex
)
2244 # $ANTLR end enumerator_list
2247 # $ANTLR start enumerator
2248 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2249 def enumerator(self
, ):
2251 enumerator_StartIndex
= self
.input.index()
2254 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 20):
2257 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2258 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2259 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enumerator695
)
2262 # C.g:277:15: ( '=' constant_expression )?
2264 LA25_0
= self
.input.LA(1)
2269 # C.g:277:16: '=' constant_expression
2270 self
.match(self
.input, 28, self
.FOLLOW_28_in_enumerator698
)
2273 self
.following
.append(self
.FOLLOW_constant_expression_in_enumerator700
)
2274 self
.constant_expression()
2275 self
.following
.pop()
2285 except RecognitionException
, re
:
2286 self
.reportError(re
)
2287 self
.recover(self
.input, re
)
2289 if self
.backtracking
> 0:
2290 self
.memoize(self
.input, 20, enumerator_StartIndex
)
2296 # $ANTLR end enumerator
2299 # $ANTLR start type_qualifier
2300 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2301 def type_qualifier(self
, ):
2303 type_qualifier_StartIndex
= self
.input.index()
2306 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 21):
2309 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2311 if (49 <= self
.input.LA(1) <= 61):
2312 self
.input.consume();
2313 self
.errorRecovery
= False
2317 if self
.backtracking
> 0:
2321 mse
= MismatchedSetException(None, self
.input)
2322 self
.recoverFromMismatchedSet(
2323 self
.input, mse
, self
.FOLLOW_set_in_type_qualifier0
2332 except RecognitionException
, re
:
2333 self
.reportError(re
)
2334 self
.recover(self
.input, re
)
2336 if self
.backtracking
> 0:
2337 self
.memoize(self
.input, 21, type_qualifier_StartIndex
)
2343 # $ANTLR end type_qualifier
2345 class declarator_return(object):
2352 # $ANTLR start declarator
2353 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2354 def declarator(self
, ):
2356 retval
= self
.declarator_return()
2357 retval
.start
= self
.input.LT(1)
2358 declarator_StartIndex
= self
.input.index()
2361 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 22):
2364 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2366 LA30_0
= self
.input.LA(1)
2369 LA30_1
= self
.input.LA(2)
2371 if (self
.synpred66()) :
2376 if self
.backtracking
> 0:
2380 nvae
= NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self
.input)
2384 elif (LA30_0
== IDENTIFIER
or (58 <= LA30_0
<= 60) or LA30_0
== 62) :
2387 if self
.backtracking
> 0:
2391 nvae
= NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self
.input)
2396 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2397 # C.g:297:4: ( pointer )?
2399 LA26_0
= self
.input.LA(1)
2405 self
.following
.append(self
.FOLLOW_pointer_in_declarator784
)
2407 self
.following
.pop()
2413 # C.g:297:13: ( 'EFIAPI' )?
2415 LA27_0
= self
.input.LA(1)
2420 # C.g:297:14: 'EFIAPI'
2421 self
.match(self
.input, 58, self
.FOLLOW_58_in_declarator788
)
2427 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2429 LA28_0
= self
.input.LA(1)
2434 # C.g:297:26: 'EFI_BOOTSERVICE'
2435 self
.match(self
.input, 59, self
.FOLLOW_59_in_declarator793
)
2441 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2443 LA29_0
= self
.input.LA(1)
2448 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2449 self
.match(self
.input, 60, self
.FOLLOW_60_in_declarator798
)
2455 self
.following
.append(self
.FOLLOW_direct_declarator_in_declarator802
)
2456 self
.direct_declarator()
2457 self
.following
.pop()
2463 # C.g:299:4: pointer
2464 self
.following
.append(self
.FOLLOW_pointer_in_declarator808
)
2466 self
.following
.pop()
2471 retval
.stop
= self
.input.LT(-1)
2474 except RecognitionException
, re
:
2475 self
.reportError(re
)
2476 self
.recover(self
.input, re
)
2478 if self
.backtracking
> 0:
2479 self
.memoize(self
.input, 22, declarator_StartIndex
)
2485 # $ANTLR end declarator
2488 # $ANTLR start direct_declarator
2489 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2490 def direct_declarator(self
, ):
2492 direct_declarator_StartIndex
= self
.input.index()
2495 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 23):
2498 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2500 LA34_0
= self
.input.LA(1)
2502 if (LA34_0
== IDENTIFIER
) :
2504 elif (LA34_0
== 62) :
2507 if self
.backtracking
> 0:
2511 nvae
= NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self
.input)
2516 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2517 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_direct_declarator819
)
2520 # C.g:303:15: ( declarator_suffix )*
2523 LA31_0
= self
.input.LA(1)
2526 LA31
= self
.input.LA(2)
2528 LA31_30
= self
.input.LA(3)
2530 if (self
.synpred67()) :
2535 LA31_31
= self
.input.LA(3)
2537 if (self
.synpred67()) :
2542 LA31_32
= self
.input.LA(3)
2544 if (self
.synpred67()) :
2549 LA31_33
= self
.input.LA(3)
2551 if (self
.synpred67()) :
2556 LA31_34
= self
.input.LA(3)
2558 if (self
.synpred67()) :
2562 elif LA31
== IDENTIFIER
:
2563 LA31_35
= self
.input.LA(3)
2565 if (self
.synpred67()) :
2569 elif LA31
== 29 or LA31
== 30 or LA31
== 31 or LA31
== 32 or LA31
== 33:
2570 LA31_37
= self
.input.LA(3)
2572 if (self
.synpred67()) :
2577 LA31_38
= self
.input.LA(3)
2579 if (self
.synpred67()) :
2584 LA31_39
= self
.input.LA(3)
2586 if (self
.synpred67()) :
2591 LA31_40
= self
.input.LA(3)
2593 if (self
.synpred67()) :
2598 LA31_41
= self
.input.LA(3)
2600 if (self
.synpred67()) :
2605 LA31_42
= self
.input.LA(3)
2607 if (self
.synpred67()) :
2612 LA31_43
= self
.input.LA(3)
2614 if (self
.synpred67()) :
2619 LA31_44
= self
.input.LA(3)
2621 if (self
.synpred67()) :
2626 LA31_45
= self
.input.LA(3)
2628 if (self
.synpred67()) :
2633 LA31_46
= self
.input.LA(3)
2635 if (self
.synpred67()) :
2639 elif LA31
== 45 or LA31
== 46:
2640 LA31_47
= self
.input.LA(3)
2642 if (self
.synpred67()) :
2647 LA31_48
= self
.input.LA(3)
2649 if (self
.synpred67()) :
2653 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:
2654 LA31_49
= self
.input.LA(3)
2656 if (self
.synpred67()) :
2661 elif (LA31_0
== 64) :
2662 LA31
= self
.input.LA(2)
2664 LA31_51
= self
.input.LA(3)
2666 if (self
.synpred67()) :
2671 LA31_52
= self
.input.LA(3)
2673 if (self
.synpred67()) :
2677 elif LA31
== IDENTIFIER
:
2678 LA31_53
= self
.input.LA(3)
2680 if (self
.synpred67()) :
2684 elif LA31
== HEX_LITERAL
:
2685 LA31_54
= self
.input.LA(3)
2687 if (self
.synpred67()) :
2691 elif LA31
== OCTAL_LITERAL
:
2692 LA31_55
= self
.input.LA(3)
2694 if (self
.synpred67()) :
2698 elif LA31
== DECIMAL_LITERAL
:
2699 LA31_56
= self
.input.LA(3)
2701 if (self
.synpred67()) :
2705 elif LA31
== CHARACTER_LITERAL
:
2706 LA31_57
= self
.input.LA(3)
2708 if (self
.synpred67()) :
2712 elif LA31
== STRING_LITERAL
:
2713 LA31_58
= self
.input.LA(3)
2715 if (self
.synpred67()) :
2719 elif LA31
== FLOATING_POINT_LITERAL
:
2720 LA31_59
= self
.input.LA(3)
2722 if (self
.synpred67()) :
2727 LA31_60
= self
.input.LA(3)
2729 if (self
.synpred67()) :
2734 LA31_61
= self
.input.LA(3)
2736 if (self
.synpred67()) :
2740 elif LA31
== 66 or LA31
== 68 or LA31
== 69 or LA31
== 77 or LA31
== 78 or LA31
== 79:
2741 LA31_62
= self
.input.LA(3)
2743 if (self
.synpred67()) :
2748 LA31_63
= self
.input.LA(3)
2750 if (self
.synpred67()) :
2758 # C.g:0:0: declarator_suffix
2759 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator821
)
2760 self
.declarator_suffix()
2761 self
.following
.pop()
2773 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2774 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_declarator827
)
2777 # C.g:304:8: ( 'EFIAPI' )?
2779 LA32_0
= self
.input.LA(1)
2782 LA32_1
= self
.input.LA(2)
2784 if (self
.synpred69()) :
2787 # C.g:304:9: 'EFIAPI'
2788 self
.match(self
.input, 58, self
.FOLLOW_58_in_direct_declarator830
)
2794 self
.following
.append(self
.FOLLOW_declarator_in_direct_declarator834
)
2796 self
.following
.pop()
2799 self
.match(self
.input, 63, self
.FOLLOW_63_in_direct_declarator836
)
2802 # C.g:304:35: ( declarator_suffix )+
2806 LA33_0
= self
.input.LA(1)
2809 LA33
= self
.input.LA(2)
2811 LA33_30
= self
.input.LA(3)
2813 if (self
.synpred70()) :
2818 LA33_31
= self
.input.LA(3)
2820 if (self
.synpred70()) :
2825 LA33_32
= self
.input.LA(3)
2827 if (self
.synpred70()) :
2832 LA33_33
= self
.input.LA(3)
2834 if (self
.synpred70()) :
2839 LA33_34
= self
.input.LA(3)
2841 if (self
.synpred70()) :
2845 elif LA33
== IDENTIFIER
:
2846 LA33_35
= self
.input.LA(3)
2848 if (self
.synpred70()) :
2852 elif LA33
== 29 or LA33
== 30 or LA33
== 31 or LA33
== 32 or LA33
== 33:
2853 LA33_37
= self
.input.LA(3)
2855 if (self
.synpred70()) :
2860 LA33_38
= self
.input.LA(3)
2862 if (self
.synpred70()) :
2867 LA33_39
= self
.input.LA(3)
2869 if (self
.synpred70()) :
2874 LA33_40
= self
.input.LA(3)
2876 if (self
.synpred70()) :
2881 LA33_41
= self
.input.LA(3)
2883 if (self
.synpred70()) :
2888 LA33_42
= self
.input.LA(3)
2890 if (self
.synpred70()) :
2895 LA33_43
= self
.input.LA(3)
2897 if (self
.synpred70()) :
2902 LA33_44
= self
.input.LA(3)
2904 if (self
.synpred70()) :
2909 LA33_45
= self
.input.LA(3)
2911 if (self
.synpred70()) :
2916 LA33_46
= self
.input.LA(3)
2918 if (self
.synpred70()) :
2922 elif LA33
== 45 or LA33
== 46:
2923 LA33_47
= self
.input.LA(3)
2925 if (self
.synpred70()) :
2930 LA33_48
= self
.input.LA(3)
2932 if (self
.synpred70()) :
2936 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:
2937 LA33_49
= self
.input.LA(3)
2939 if (self
.synpred70()) :
2944 elif (LA33_0
== 64) :
2945 LA33
= self
.input.LA(2)
2947 LA33_51
= self
.input.LA(3)
2949 if (self
.synpred70()) :
2954 LA33_52
= self
.input.LA(3)
2956 if (self
.synpred70()) :
2960 elif LA33
== IDENTIFIER
:
2961 LA33_53
= self
.input.LA(3)
2963 if (self
.synpred70()) :
2967 elif LA33
== HEX_LITERAL
:
2968 LA33_54
= self
.input.LA(3)
2970 if (self
.synpred70()) :
2974 elif LA33
== OCTAL_LITERAL
:
2975 LA33_55
= self
.input.LA(3)
2977 if (self
.synpred70()) :
2981 elif LA33
== DECIMAL_LITERAL
:
2982 LA33_56
= self
.input.LA(3)
2984 if (self
.synpred70()) :
2988 elif LA33
== CHARACTER_LITERAL
:
2989 LA33_57
= self
.input.LA(3)
2991 if (self
.synpred70()) :
2995 elif LA33
== STRING_LITERAL
:
2996 LA33_58
= self
.input.LA(3)
2998 if (self
.synpred70()) :
3002 elif LA33
== FLOATING_POINT_LITERAL
:
3003 LA33_59
= self
.input.LA(3)
3005 if (self
.synpred70()) :
3010 LA33_60
= self
.input.LA(3)
3012 if (self
.synpred70()) :
3017 LA33_61
= self
.input.LA(3)
3019 if (self
.synpred70()) :
3023 elif LA33
== 66 or LA33
== 68 or LA33
== 69 or LA33
== 77 or LA33
== 78 or LA33
== 79:
3024 LA33_62
= self
.input.LA(3)
3026 if (self
.synpred70()) :
3031 LA33_63
= self
.input.LA(3)
3033 if (self
.synpred70()) :
3041 # C.g:0:0: declarator_suffix
3042 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator838
)
3043 self
.declarator_suffix()
3044 self
.following
.pop()
3053 if self
.backtracking
> 0:
3057 eee
= EarlyExitException(33, self
.input)
3066 except RecognitionException
, re
:
3067 self
.reportError(re
)
3068 self
.recover(self
.input, re
)
3070 if self
.backtracking
> 0:
3071 self
.memoize(self
.input, 23, direct_declarator_StartIndex
)
3077 # $ANTLR end direct_declarator
3080 # $ANTLR start declarator_suffix
3081 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3082 def declarator_suffix(self
, ):
3084 declarator_suffix_StartIndex
= self
.input.index()
3087 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 24):
3090 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3092 LA35_0
= self
.input.LA(1)
3095 LA35_1
= self
.input.LA(2)
3099 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)) :
3102 if self
.backtracking
> 0:
3106 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self
.input)
3110 elif (LA35_0
== 62) :
3111 LA35
= self
.input.LA(2)
3114 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:
3116 elif LA35
== IDENTIFIER
:
3117 LA35_29
= self
.input.LA(3)
3119 if (self
.synpred73()) :
3121 elif (self
.synpred74()) :
3124 if self
.backtracking
> 0:
3128 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self
.input)
3133 if self
.backtracking
> 0:
3137 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self
.input)
3142 if self
.backtracking
> 0:
3146 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self
.input)
3151 # C.g:308:6: '[' constant_expression ']'
3152 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix852
)
3155 self
.following
.append(self
.FOLLOW_constant_expression_in_declarator_suffix854
)
3156 self
.constant_expression()
3157 self
.following
.pop()
3160 self
.match(self
.input, 65, self
.FOLLOW_65_in_declarator_suffix856
)
3166 # C.g:309:9: '[' ']'
3167 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix866
)
3170 self
.match(self
.input, 65, self
.FOLLOW_65_in_declarator_suffix868
)
3176 # C.g:310:9: '(' parameter_type_list ')'
3177 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix878
)
3180 self
.following
.append(self
.FOLLOW_parameter_type_list_in_declarator_suffix880
)
3181 self
.parameter_type_list()
3182 self
.following
.pop()
3185 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix882
)
3191 # C.g:311:9: '(' identifier_list ')'
3192 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix892
)
3195 self
.following
.append(self
.FOLLOW_identifier_list_in_declarator_suffix894
)
3196 self
.identifier_list()
3197 self
.following
.pop()
3200 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix896
)
3206 # C.g:312:9: '(' ')'
3207 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix906
)
3210 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix908
)
3216 except RecognitionException
, re
:
3217 self
.reportError(re
)
3218 self
.recover(self
.input, re
)
3220 if self
.backtracking
> 0:
3221 self
.memoize(self
.input, 24, declarator_suffix_StartIndex
)
3227 # $ANTLR end declarator_suffix
3230 # $ANTLR start pointer
3231 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3232 def pointer(self
, ):
3234 pointer_StartIndex
= self
.input.index()
3237 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 25):
3240 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3242 LA38_0
= self
.input.LA(1)
3245 LA38
= self
.input.LA(2)
3247 LA38_2
= self
.input.LA(3)
3249 if (self
.synpred78()) :
3254 if self
.backtracking
> 0:
3258 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self
.input)
3263 LA38_3
= self
.input.LA(3)
3265 if (self
.synpred77()) :
3270 if self
.backtracking
> 0:
3274 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self
.input)
3279 LA38_4
= self
.input.LA(3)
3281 if (self
.synpred77()) :
3286 if self
.backtracking
> 0:
3290 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self
.input)
3295 LA38_5
= self
.input.LA(3)
3297 if (self
.synpred77()) :
3302 if self
.backtracking
> 0:
3306 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self
.input)
3310 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:
3313 LA38_21
= self
.input.LA(3)
3315 if (self
.synpred77()) :
3320 if self
.backtracking
> 0:
3324 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self
.input)
3328 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:
3329 LA38_29
= self
.input.LA(3)
3331 if (self
.synpred77()) :
3336 if self
.backtracking
> 0:
3340 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self
.input)
3345 if self
.backtracking
> 0:
3349 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self
.input)
3354 if self
.backtracking
> 0:
3358 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self
.input)
3363 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3364 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer919
)
3367 # C.g:316:8: ( type_qualifier )+
3371 LA36
= self
.input.LA(1)
3373 LA36_2
= self
.input.LA(2)
3375 if (self
.synpred75()) :
3380 LA36_3
= self
.input.LA(2)
3382 if (self
.synpred75()) :
3387 LA36_4
= self
.input.LA(2)
3389 if (self
.synpred75()) :
3394 LA36_20
= self
.input.LA(2)
3396 if (self
.synpred75()) :
3400 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:
3401 LA36_28
= self
.input.LA(2)
3403 if (self
.synpred75()) :
3409 # C.g:0:0: type_qualifier
3410 self
.following
.append(self
.FOLLOW_type_qualifier_in_pointer921
)
3411 self
.type_qualifier()
3412 self
.following
.pop()
3421 if self
.backtracking
> 0:
3425 eee
= EarlyExitException(36, self
.input)
3431 # C.g:316:24: ( pointer )?
3433 LA37_0
= self
.input.LA(1)
3436 LA37_1
= self
.input.LA(2)
3438 if (self
.synpred76()) :
3442 self
.following
.append(self
.FOLLOW_pointer_in_pointer924
)
3444 self
.following
.pop()
3453 # C.g:317:4: '*' pointer
3454 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer930
)
3457 self
.following
.append(self
.FOLLOW_pointer_in_pointer932
)
3459 self
.following
.pop()
3466 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer937
)
3472 except RecognitionException
, re
:
3473 self
.reportError(re
)
3474 self
.recover(self
.input, re
)
3476 if self
.backtracking
> 0:
3477 self
.memoize(self
.input, 25, pointer_StartIndex
)
3483 # $ANTLR end pointer
3486 # $ANTLR start parameter_type_list
3487 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3488 def parameter_type_list(self
, ):
3490 parameter_type_list_StartIndex
= self
.input.index()
3493 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 26):
3496 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3497 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3498 self
.following
.append(self
.FOLLOW_parameter_list_in_parameter_type_list948
)
3499 self
.parameter_list()
3500 self
.following
.pop()
3503 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3505 LA40_0
= self
.input.LA(1)
3510 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3511 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_type_list951
)
3514 # C.g:322:24: ( 'OPTIONAL' )?
3516 LA39_0
= self
.input.LA(1)
3521 # C.g:322:25: 'OPTIONAL'
3522 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_type_list954
)
3528 self
.match(self
.input, 67, self
.FOLLOW_67_in_parameter_type_list958
)
3538 except RecognitionException
, re
:
3539 self
.reportError(re
)
3540 self
.recover(self
.input, re
)
3542 if self
.backtracking
> 0:
3543 self
.memoize(self
.input, 26, parameter_type_list_StartIndex
)
3549 # $ANTLR end parameter_type_list
3552 # $ANTLR start parameter_list
3553 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3554 def parameter_list(self
, ):
3556 parameter_list_StartIndex
= self
.input.index()
3559 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 27):
3562 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3563 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3564 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list971
)
3565 self
.parameter_declaration()
3566 self
.following
.pop()
3569 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3572 LA42_0
= self
.input.LA(1)
3575 LA42_1
= self
.input.LA(2)
3578 LA42_3
= self
.input.LA(3)
3580 if (self
.synpred82()) :
3584 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) :
3591 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3592 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_list974
)
3595 # C.g:326:31: ( 'OPTIONAL' )?
3597 LA41_0
= self
.input.LA(1)
3600 LA41_1
= self
.input.LA(2)
3602 if (self
.synpred81()) :
3605 # C.g:326:32: 'OPTIONAL'
3606 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_list977
)
3612 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list981
)
3613 self
.parameter_declaration()
3614 self
.following
.pop()
3627 except RecognitionException
, re
:
3628 self
.reportError(re
)
3629 self
.recover(self
.input, re
)
3631 if self
.backtracking
> 0:
3632 self
.memoize(self
.input, 27, parameter_list_StartIndex
)
3638 # $ANTLR end parameter_list
3641 # $ANTLR start parameter_declaration
3642 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3643 def parameter_declaration(self
, ):
3645 parameter_declaration_StartIndex
= self
.input.index()
3648 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 28):
3651 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3653 LA46
= self
.input.LA(1)
3654 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:
3656 elif LA46
== IDENTIFIER
:
3657 LA46_13
= self
.input.LA(2)
3659 if (self
.synpred86()) :
3664 if self
.backtracking
> 0:
3668 nvae
= NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self
.input)
3675 if self
.backtracking
> 0:
3679 nvae
= NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self
.input)
3684 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3685 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_parameter_declaration994
)
3686 self
.declaration_specifiers()
3687 self
.following
.pop()
3690 # C.g:330:27: ( declarator | abstract_declarator )*
3693 LA43
= self
.input.LA(1)
3695 LA43_5
= self
.input.LA(2)
3697 if (self
.synpred83()) :
3699 elif (self
.synpred84()) :
3703 elif LA43
== IDENTIFIER
or LA43
== 58 or LA43
== 59 or LA43
== 60:
3706 LA43
= self
.input.LA(2)
3707 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:
3709 elif LA43
== IDENTIFIER
:
3710 LA43_37
= self
.input.LA(3)
3712 if (self
.synpred83()) :
3714 elif (self
.synpred84()) :
3719 LA43_38
= self
.input.LA(3)
3721 if (self
.synpred83()) :
3723 elif (self
.synpred84()) :
3728 LA43_39
= self
.input.LA(3)
3730 if (self
.synpred83()) :
3732 elif (self
.synpred84()) :
3737 LA43_40
= self
.input.LA(3)
3739 if (self
.synpred83()) :
3741 elif (self
.synpred84()) :
3746 LA43_41
= self
.input.LA(3)
3748 if (self
.synpred83()) :
3750 elif (self
.synpred84()) :
3755 LA43_43
= self
.input.LA(3)
3757 if (self
.synpred83()) :
3759 elif (self
.synpred84()) :
3768 # C.g:330:28: declarator
3769 self
.following
.append(self
.FOLLOW_declarator_in_parameter_declaration997
)
3771 self
.following
.pop()
3777 # C.g:330:39: abstract_declarator
3778 self
.following
.append(self
.FOLLOW_abstract_declarator_in_parameter_declaration999
)
3779 self
.abstract_declarator()
3780 self
.following
.pop()
3789 # C.g:330:61: ( 'OPTIONAL' )?
3791 LA44_0
= self
.input.LA(1)
3796 # C.g:330:62: 'OPTIONAL'
3797 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_declaration1004
)
3806 # C.g:332:4: ( pointer )* IDENTIFIER
3807 # C.g:332:4: ( pointer )*
3810 LA45_0
= self
.input.LA(1)
3818 self
.following
.append(self
.FOLLOW_pointer_in_parameter_declaration1013
)
3820 self
.following
.pop()
3829 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_parameter_declaration1016
)
3835 except RecognitionException
, re
:
3836 self
.reportError(re
)
3837 self
.recover(self
.input, re
)
3839 if self
.backtracking
> 0:
3840 self
.memoize(self
.input, 28, parameter_declaration_StartIndex
)
3846 # $ANTLR end parameter_declaration
3849 # $ANTLR start identifier_list
3850 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3851 def identifier_list(self
, ):
3853 identifier_list_StartIndex
= self
.input.index()
3856 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 29):
3859 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3860 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3861 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1027
)
3864 # C.g:337:2: ( ',' IDENTIFIER )*
3867 LA47_0
= self
.input.LA(1)
3874 # C.g:337:3: ',' IDENTIFIER
3875 self
.match(self
.input, 27, self
.FOLLOW_27_in_identifier_list1031
)
3878 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1033
)
3891 except RecognitionException
, re
:
3892 self
.reportError(re
)
3893 self
.recover(self
.input, re
)
3895 if self
.backtracking
> 0:
3896 self
.memoize(self
.input, 29, identifier_list_StartIndex
)
3902 # $ANTLR end identifier_list
3905 # $ANTLR start type_name
3906 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3907 def type_name(self
, ):
3909 type_name_StartIndex
= self
.input.index()
3912 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 30):
3915 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3917 LA49_0
= self
.input.LA(1)
3919 if ((34 <= LA49_0
<= 42) or (45 <= LA49_0
<= 46) or (48 <= LA49_0
<= 61)) :
3921 elif (LA49_0
== IDENTIFIER
) :
3922 LA49_13
= self
.input.LA(2)
3924 if (self
.synpred90()) :
3929 if self
.backtracking
> 0:
3933 nvae
= NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self
.input)
3938 if self
.backtracking
> 0:
3942 nvae
= NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self
.input)
3947 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3948 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_type_name1046
)
3949 self
.specifier_qualifier_list()
3950 self
.following
.pop()
3953 # C.g:341:29: ( abstract_declarator )?
3955 LA48_0
= self
.input.LA(1)
3957 if (LA48_0
== 62 or LA48_0
== 64 or LA48_0
== 66) :
3960 # C.g:0:0: abstract_declarator
3961 self
.following
.append(self
.FOLLOW_abstract_declarator_in_type_name1048
)
3962 self
.abstract_declarator()
3963 self
.following
.pop()
3972 # C.g:342:4: type_id
3973 self
.following
.append(self
.FOLLOW_type_id_in_type_name1054
)
3975 self
.following
.pop()
3981 except RecognitionException
, re
:
3982 self
.reportError(re
)
3983 self
.recover(self
.input, re
)
3985 if self
.backtracking
> 0:
3986 self
.memoize(self
.input, 30, type_name_StartIndex
)
3992 # $ANTLR end type_name
3995 # $ANTLR start abstract_declarator
3996 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3997 def abstract_declarator(self
, ):
3999 abstract_declarator_StartIndex
= self
.input.index()
4002 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 31):
4005 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
4007 LA51_0
= self
.input.LA(1)
4011 elif (LA51_0
== 62 or LA51_0
== 64) :
4014 if self
.backtracking
> 0:
4018 nvae
= NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self
.input)
4023 # C.g:346:4: pointer ( direct_abstract_declarator )?
4024 self
.following
.append(self
.FOLLOW_pointer_in_abstract_declarator1065
)
4026 self
.following
.pop()
4029 # C.g:346:12: ( direct_abstract_declarator )?
4031 LA50_0
= self
.input.LA(1)
4034 LA50
= self
.input.LA(2)
4036 LA50_12
= self
.input.LA(3)
4038 if (self
.synpred91()) :
4041 LA50_13
= self
.input.LA(3)
4043 if (self
.synpred91()) :
4046 LA50_14
= self
.input.LA(3)
4048 if (self
.synpred91()) :
4051 LA50_15
= self
.input.LA(3)
4053 if (self
.synpred91()) :
4056 LA50_16
= self
.input.LA(3)
4058 if (self
.synpred91()) :
4060 elif LA50
== IDENTIFIER
:
4061 LA50_17
= self
.input.LA(3)
4063 if (self
.synpred91()) :
4066 LA50_18
= self
.input.LA(3)
4068 if (self
.synpred91()) :
4071 LA50_19
= self
.input.LA(3)
4073 if (self
.synpred91()) :
4075 elif LA50
== 29 or LA50
== 30 or LA50
== 31 or LA50
== 32 or LA50
== 33:
4076 LA50_20
= self
.input.LA(3)
4078 if (self
.synpred91()) :
4081 LA50_21
= self
.input.LA(3)
4083 if (self
.synpred91()) :
4086 LA50_22
= self
.input.LA(3)
4088 if (self
.synpred91()) :
4091 LA50_23
= self
.input.LA(3)
4093 if (self
.synpred91()) :
4096 LA50_24
= self
.input.LA(3)
4098 if (self
.synpred91()) :
4101 LA50_25
= self
.input.LA(3)
4103 if (self
.synpred91()) :
4106 LA50_26
= self
.input.LA(3)
4108 if (self
.synpred91()) :
4111 LA50_27
= self
.input.LA(3)
4113 if (self
.synpred91()) :
4116 LA50_28
= self
.input.LA(3)
4118 if (self
.synpred91()) :
4121 LA50_29
= self
.input.LA(3)
4123 if (self
.synpred91()) :
4125 elif LA50
== 45 or LA50
== 46:
4126 LA50_30
= self
.input.LA(3)
4128 if (self
.synpred91()) :
4131 LA50_31
= self
.input.LA(3)
4133 if (self
.synpred91()) :
4135 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:
4136 LA50_32
= self
.input.LA(3)
4138 if (self
.synpred91()) :
4140 elif (LA50_0
== 64) :
4141 LA50
= self
.input.LA(2)
4143 LA50_33
= self
.input.LA(3)
4145 if (self
.synpred91()) :
4148 LA50_34
= self
.input.LA(3)
4150 if (self
.synpred91()) :
4152 elif LA50
== IDENTIFIER
:
4153 LA50_35
= self
.input.LA(3)
4155 if (self
.synpred91()) :
4157 elif LA50
== HEX_LITERAL
:
4158 LA50_36
= self
.input.LA(3)
4160 if (self
.synpred91()) :
4162 elif LA50
== OCTAL_LITERAL
:
4163 LA50_37
= self
.input.LA(3)
4165 if (self
.synpred91()) :
4167 elif LA50
== DECIMAL_LITERAL
:
4168 LA50_38
= self
.input.LA(3)
4170 if (self
.synpred91()) :
4172 elif LA50
== CHARACTER_LITERAL
:
4173 LA50_39
= self
.input.LA(3)
4175 if (self
.synpred91()) :
4177 elif LA50
== STRING_LITERAL
:
4178 LA50_40
= self
.input.LA(3)
4180 if (self
.synpred91()) :
4182 elif LA50
== FLOATING_POINT_LITERAL
:
4183 LA50_41
= self
.input.LA(3)
4185 if (self
.synpred91()) :
4188 LA50_42
= self
.input.LA(3)
4190 if (self
.synpred91()) :
4193 LA50_43
= self
.input.LA(3)
4195 if (self
.synpred91()) :
4197 elif LA50
== 66 or LA50
== 68 or LA50
== 69 or LA50
== 77 or LA50
== 78 or LA50
== 79:
4198 LA50_44
= self
.input.LA(3)
4200 if (self
.synpred91()) :
4203 LA50_45
= self
.input.LA(3)
4205 if (self
.synpred91()) :
4208 # C.g:0:0: direct_abstract_declarator
4209 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067
)
4210 self
.direct_abstract_declarator()
4211 self
.following
.pop()
4220 # C.g:347:4: direct_abstract_declarator
4221 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073
)
4222 self
.direct_abstract_declarator()
4223 self
.following
.pop()
4229 except RecognitionException
, re
:
4230 self
.reportError(re
)
4231 self
.recover(self
.input, re
)
4233 if self
.backtracking
> 0:
4234 self
.memoize(self
.input, 31, abstract_declarator_StartIndex
)
4240 # $ANTLR end abstract_declarator
4243 # $ANTLR start direct_abstract_declarator
4244 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4245 def direct_abstract_declarator(self
, ):
4247 direct_abstract_declarator_StartIndex
= self
.input.index()
4250 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 32):
4253 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4254 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4255 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4257 LA52_0
= self
.input.LA(1)
4260 LA52
= self
.input.LA(2)
4261 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:
4264 LA52_18
= self
.input.LA(3)
4266 if (self
.synpred93()) :
4271 if self
.backtracking
> 0:
4275 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self
.input)
4279 elif LA52
== 62 or LA52
== 64:
4282 if self
.backtracking
> 0:
4286 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self
.input)
4290 elif (LA52_0
== 64) :
4293 if self
.backtracking
> 0:
4297 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self
.input)
4302 # C.g:351:6: '(' abstract_declarator ')'
4303 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_abstract_declarator1086
)
4306 self
.following
.append(self
.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088
)
4307 self
.abstract_declarator()
4308 self
.following
.pop()
4311 self
.match(self
.input, 63, self
.FOLLOW_63_in_direct_abstract_declarator1090
)
4317 # C.g:351:36: abstract_declarator_suffix
4318 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094
)
4319 self
.abstract_declarator_suffix()
4320 self
.following
.pop()
4326 # C.g:351:65: ( abstract_declarator_suffix )*
4329 LA53_0
= self
.input.LA(1)
4332 LA53
= self
.input.LA(2)
4334 LA53_12
= self
.input.LA(3)
4336 if (self
.synpred94()) :
4341 LA53_13
= self
.input.LA(3)
4343 if (self
.synpred94()) :
4348 LA53_14
= self
.input.LA(3)
4350 if (self
.synpred94()) :
4355 LA53_15
= self
.input.LA(3)
4357 if (self
.synpred94()) :
4362 LA53_16
= self
.input.LA(3)
4364 if (self
.synpred94()) :
4368 elif LA53
== IDENTIFIER
:
4369 LA53_17
= self
.input.LA(3)
4371 if (self
.synpred94()) :
4375 elif LA53
== 29 or LA53
== 30 or LA53
== 31 or LA53
== 32 or LA53
== 33:
4376 LA53_19
= self
.input.LA(3)
4378 if (self
.synpred94()) :
4383 LA53_20
= self
.input.LA(3)
4385 if (self
.synpred94()) :
4390 LA53_21
= self
.input.LA(3)
4392 if (self
.synpred94()) :
4397 LA53_22
= self
.input.LA(3)
4399 if (self
.synpred94()) :
4404 LA53_23
= self
.input.LA(3)
4406 if (self
.synpred94()) :
4411 LA53_24
= self
.input.LA(3)
4413 if (self
.synpred94()) :
4418 LA53_25
= self
.input.LA(3)
4420 if (self
.synpred94()) :
4425 LA53_26
= self
.input.LA(3)
4427 if (self
.synpred94()) :
4432 LA53_27
= self
.input.LA(3)
4434 if (self
.synpred94()) :
4439 LA53_28
= self
.input.LA(3)
4441 if (self
.synpred94()) :
4445 elif LA53
== 45 or LA53
== 46:
4446 LA53_29
= self
.input.LA(3)
4448 if (self
.synpred94()) :
4453 LA53_30
= self
.input.LA(3)
4455 if (self
.synpred94()) :
4459 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:
4460 LA53_31
= self
.input.LA(3)
4462 if (self
.synpred94()) :
4467 elif (LA53_0
== 64) :
4468 LA53
= self
.input.LA(2)
4470 LA53_33
= self
.input.LA(3)
4472 if (self
.synpred94()) :
4477 LA53_34
= self
.input.LA(3)
4479 if (self
.synpred94()) :
4483 elif LA53
== IDENTIFIER
:
4484 LA53_35
= self
.input.LA(3)
4486 if (self
.synpred94()) :
4490 elif LA53
== HEX_LITERAL
:
4491 LA53_36
= self
.input.LA(3)
4493 if (self
.synpred94()) :
4497 elif LA53
== OCTAL_LITERAL
:
4498 LA53_37
= self
.input.LA(3)
4500 if (self
.synpred94()) :
4504 elif LA53
== DECIMAL_LITERAL
:
4505 LA53_38
= self
.input.LA(3)
4507 if (self
.synpred94()) :
4511 elif LA53
== CHARACTER_LITERAL
:
4512 LA53_39
= self
.input.LA(3)
4514 if (self
.synpred94()) :
4518 elif LA53
== STRING_LITERAL
:
4519 LA53_40
= self
.input.LA(3)
4521 if (self
.synpred94()) :
4525 elif LA53
== FLOATING_POINT_LITERAL
:
4526 LA53_41
= self
.input.LA(3)
4528 if (self
.synpred94()) :
4533 LA53_42
= self
.input.LA(3)
4535 if (self
.synpred94()) :
4540 LA53_43
= self
.input.LA(3)
4542 if (self
.synpred94()) :
4546 elif LA53
== 66 or LA53
== 68 or LA53
== 69 or LA53
== 77 or LA53
== 78 or LA53
== 79:
4547 LA53_44
= self
.input.LA(3)
4549 if (self
.synpred94()) :
4554 LA53_45
= self
.input.LA(3)
4556 if (self
.synpred94()) :
4564 # C.g:0:0: abstract_declarator_suffix
4565 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098
)
4566 self
.abstract_declarator_suffix()
4567 self
.following
.pop()
4580 except RecognitionException
, re
:
4581 self
.reportError(re
)
4582 self
.recover(self
.input, re
)
4584 if self
.backtracking
> 0:
4585 self
.memoize(self
.input, 32, direct_abstract_declarator_StartIndex
)
4591 # $ANTLR end direct_abstract_declarator
4594 # $ANTLR start abstract_declarator_suffix
4595 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4596 def abstract_declarator_suffix(self
, ):
4598 abstract_declarator_suffix_StartIndex
= self
.input.index()
4601 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 33):
4604 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4606 LA54_0
= self
.input.LA(1)
4609 LA54_1
= self
.input.LA(2)
4613 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)) :
4616 if self
.backtracking
> 0:
4620 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self
.input)
4624 elif (LA54_0
== 62) :
4625 LA54_2
= self
.input.LA(2)
4629 elif (LA54_2
== IDENTIFIER
or (29 <= LA54_2
<= 42) or (45 <= LA54_2
<= 46) or (48 <= LA54_2
<= 61) or LA54_2
== 66) :
4632 if self
.backtracking
> 0:
4636 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self
.input)
4641 if self
.backtracking
> 0:
4645 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self
.input)
4650 # C.g:355:4: '[' ']'
4651 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1110
)
4654 self
.match(self
.input, 65, self
.FOLLOW_65_in_abstract_declarator_suffix1112
)
4660 # C.g:356:4: '[' constant_expression ']'
4661 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1117
)
4664 self
.following
.append(self
.FOLLOW_constant_expression_in_abstract_declarator_suffix1119
)
4665 self
.constant_expression()
4666 self
.following
.pop()
4669 self
.match(self
.input, 65, self
.FOLLOW_65_in_abstract_declarator_suffix1121
)
4675 # C.g:357:4: '(' ')'
4676 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1126
)
4679 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1128
)
4685 # C.g:358:4: '(' parameter_type_list ')'
4686 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1133
)
4689 self
.following
.append(self
.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135
)
4690 self
.parameter_type_list()
4691 self
.following
.pop()
4694 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1137
)
4700 except RecognitionException
, re
:
4701 self
.reportError(re
)
4702 self
.recover(self
.input, re
)
4704 if self
.backtracking
> 0:
4705 self
.memoize(self
.input, 33, abstract_declarator_suffix_StartIndex
)
4711 # $ANTLR end abstract_declarator_suffix
4714 # $ANTLR start initializer
4715 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4716 def initializer(self
, ):
4718 initializer_StartIndex
= self
.input.index()
4721 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 34):
4724 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4726 LA56_0
= self
.input.LA(1)
4728 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)) :
4730 elif (LA56_0
== 43) :
4733 if self
.backtracking
> 0:
4737 nvae
= NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self
.input)
4742 # C.g:363:4: assignment_expression
4743 self
.following
.append(self
.FOLLOW_assignment_expression_in_initializer1150
)
4744 self
.assignment_expression()
4745 self
.following
.pop()
4751 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4752 self
.match(self
.input, 43, self
.FOLLOW_43_in_initializer1155
)
4755 self
.following
.append(self
.FOLLOW_initializer_list_in_initializer1157
)
4756 self
.initializer_list()
4757 self
.following
.pop()
4760 # C.g:364:25: ( ',' )?
4762 LA55_0
= self
.input.LA(1)
4768 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer1159
)
4774 self
.match(self
.input, 44, self
.FOLLOW_44_in_initializer1162
)
4780 except RecognitionException
, re
:
4781 self
.reportError(re
)
4782 self
.recover(self
.input, re
)
4784 if self
.backtracking
> 0:
4785 self
.memoize(self
.input, 34, initializer_StartIndex
)
4791 # $ANTLR end initializer
4794 # $ANTLR start initializer_list
4795 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4796 def initializer_list(self
, ):
4798 initializer_list_StartIndex
= self
.input.index()
4801 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 35):
4804 # C.g:368:2: ( initializer ( ',' initializer )* )
4805 # C.g:368:4: initializer ( ',' initializer )*
4806 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1173
)
4808 self
.following
.pop()
4811 # C.g:368:16: ( ',' initializer )*
4814 LA57_0
= self
.input.LA(1)
4817 LA57_1
= self
.input.LA(2)
4819 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)) :
4826 # C.g:368:17: ',' initializer
4827 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer_list1176
)
4830 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1178
)
4832 self
.following
.pop()
4845 except RecognitionException
, re
:
4846 self
.reportError(re
)
4847 self
.recover(self
.input, re
)
4849 if self
.backtracking
> 0:
4850 self
.memoize(self
.input, 35, initializer_list_StartIndex
)
4856 # $ANTLR end initializer_list
4858 class argument_expression_list_return(object):
4865 # $ANTLR start argument_expression_list
4866 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4867 def argument_expression_list(self
, ):
4869 retval
= self
.argument_expression_list_return()
4870 retval
.start
= self
.input.LT(1)
4871 argument_expression_list_StartIndex
= self
.input.index()
4874 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 36):
4877 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4878 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4879 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1196
)
4880 self
.assignment_expression()
4881 self
.following
.pop()
4884 # C.g:374:28: ( 'OPTIONAL' )?
4886 LA58_0
= self
.input.LA(1)
4891 # C.g:374:29: 'OPTIONAL'
4892 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1199
)
4898 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4901 LA60_0
= self
.input.LA(1)
4908 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4909 self
.match(self
.input, 27, self
.FOLLOW_27_in_argument_expression_list1204
)
4912 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1206
)
4913 self
.assignment_expression()
4914 self
.following
.pop()
4917 # C.g:374:69: ( 'OPTIONAL' )?
4919 LA59_0
= self
.input.LA(1)
4924 # C.g:374:70: 'OPTIONAL'
4925 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1209
)
4940 retval
.stop
= self
.input.LT(-1)
4943 except RecognitionException
, re
:
4944 self
.reportError(re
)
4945 self
.recover(self
.input, re
)
4947 if self
.backtracking
> 0:
4948 self
.memoize(self
.input, 36, argument_expression_list_StartIndex
)
4954 # $ANTLR end argument_expression_list
4957 # $ANTLR start additive_expression
4958 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4959 def additive_expression(self
, ):
4961 additive_expression_StartIndex
= self
.input.index()
4964 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 37):
4967 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4968 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4969 # C.g:378:4: ( multiplicative_expression )
4970 # C.g:378:5: multiplicative_expression
4971 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1225
)
4972 self
.multiplicative_expression()
4973 self
.following
.pop()
4979 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4982 LA61_0
= self
.input.LA(1)
4986 elif (LA61_0
== 69) :
4991 # C.g:378:33: '+' multiplicative_expression
4992 self
.match(self
.input, 68, self
.FOLLOW_68_in_additive_expression1229
)
4995 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1231
)
4996 self
.multiplicative_expression()
4997 self
.following
.pop()
5003 # C.g:378:65: '-' multiplicative_expression
5004 self
.match(self
.input, 69, self
.FOLLOW_69_in_additive_expression1235
)
5007 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1237
)
5008 self
.multiplicative_expression()
5009 self
.following
.pop()
5022 except RecognitionException
, re
:
5023 self
.reportError(re
)
5024 self
.recover(self
.input, re
)
5026 if self
.backtracking
> 0:
5027 self
.memoize(self
.input, 37, additive_expression_StartIndex
)
5033 # $ANTLR end additive_expression
5036 # $ANTLR start multiplicative_expression
5037 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5038 def multiplicative_expression(self
, ):
5040 multiplicative_expression_StartIndex
= self
.input.index()
5043 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 38):
5046 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5047 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5048 # C.g:382:4: ( cast_expression )
5049 # C.g:382:5: cast_expression
5050 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1251
)
5051 self
.cast_expression()
5052 self
.following
.pop()
5058 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5061 LA62
= self
.input.LA(1)
5070 # C.g:382:23: '*' cast_expression
5071 self
.match(self
.input, 66, self
.FOLLOW_66_in_multiplicative_expression1255
)
5074 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1257
)
5075 self
.cast_expression()
5076 self
.following
.pop()
5082 # C.g:382:45: '/' cast_expression
5083 self
.match(self
.input, 70, self
.FOLLOW_70_in_multiplicative_expression1261
)
5086 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1263
)
5087 self
.cast_expression()
5088 self
.following
.pop()
5094 # C.g:382:67: '%' cast_expression
5095 self
.match(self
.input, 71, self
.FOLLOW_71_in_multiplicative_expression1267
)
5098 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1269
)
5099 self
.cast_expression()
5100 self
.following
.pop()
5113 except RecognitionException
, re
:
5114 self
.reportError(re
)
5115 self
.recover(self
.input, re
)
5117 if self
.backtracking
> 0:
5118 self
.memoize(self
.input, 38, multiplicative_expression_StartIndex
)
5124 # $ANTLR end multiplicative_expression
5127 # $ANTLR start cast_expression
5128 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5129 def cast_expression(self
, ):
5131 cast_expression_StartIndex
= self
.input.index()
5134 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 39):
5137 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5139 LA63_0
= self
.input.LA(1)
5142 LA63
= self
.input.LA(2)
5143 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:
5145 elif LA63
== IDENTIFIER
:
5146 LA63_25
= self
.input.LA(3)
5148 if (self
.synpred109()) :
5153 if self
.backtracking
> 0:
5157 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self
.input)
5161 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:
5164 if self
.backtracking
> 0:
5168 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self
.input)
5172 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)) :
5175 if self
.backtracking
> 0:
5179 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self
.input)
5184 # C.g:386:4: '(' type_name ')' cast_expression
5185 self
.match(self
.input, 62, self
.FOLLOW_62_in_cast_expression1282
)
5188 self
.following
.append(self
.FOLLOW_type_name_in_cast_expression1284
)
5190 self
.following
.pop()
5193 self
.match(self
.input, 63, self
.FOLLOW_63_in_cast_expression1286
)
5196 self
.following
.append(self
.FOLLOW_cast_expression_in_cast_expression1288
)
5197 self
.cast_expression()
5198 self
.following
.pop()
5204 # C.g:387:4: unary_expression
5205 self
.following
.append(self
.FOLLOW_unary_expression_in_cast_expression1293
)
5206 self
.unary_expression()
5207 self
.following
.pop()
5213 except RecognitionException
, re
:
5214 self
.reportError(re
)
5215 self
.recover(self
.input, re
)
5217 if self
.backtracking
> 0:
5218 self
.memoize(self
.input, 39, cast_expression_StartIndex
)
5224 # $ANTLR end cast_expression
5227 # $ANTLR start unary_expression
5228 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5229 def unary_expression(self
, ):
5231 unary_expression_StartIndex
= self
.input.index()
5234 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 40):
5237 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5239 LA64
= self
.input.LA(1)
5240 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:
5246 elif LA64
== 66 or LA64
== 68 or LA64
== 69 or LA64
== 77 or LA64
== 78 or LA64
== 79:
5249 LA64_12
= self
.input.LA(2)
5251 if (LA64_12
== 62) :
5252 LA64_13
= self
.input.LA(3)
5254 if (self
.synpred114()) :
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, 13, self
.input)
5267 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)) :
5270 if self
.backtracking
> 0:
5274 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)
5279 if self
.backtracking
> 0:
5283 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)
5288 # C.g:391:4: postfix_expression
5289 self
.following
.append(self
.FOLLOW_postfix_expression_in_unary_expression1304
)
5290 self
.postfix_expression()
5291 self
.following
.pop()
5297 # C.g:392:4: '++' unary_expression
5298 self
.match(self
.input, 72, self
.FOLLOW_72_in_unary_expression1309
)
5301 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1311
)
5302 self
.unary_expression()
5303 self
.following
.pop()
5309 # C.g:393:4: '--' unary_expression
5310 self
.match(self
.input, 73, self
.FOLLOW_73_in_unary_expression1316
)
5313 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1318
)
5314 self
.unary_expression()
5315 self
.following
.pop()
5321 # C.g:394:4: unary_operator cast_expression
5322 self
.following
.append(self
.FOLLOW_unary_operator_in_unary_expression1323
)
5323 self
.unary_operator()
5324 self
.following
.pop()
5327 self
.following
.append(self
.FOLLOW_cast_expression_in_unary_expression1325
)
5328 self
.cast_expression()
5329 self
.following
.pop()
5335 # C.g:395:4: 'sizeof' unary_expression
5336 self
.match(self
.input, 74, self
.FOLLOW_74_in_unary_expression1330
)
5339 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1332
)
5340 self
.unary_expression()
5341 self
.following
.pop()
5347 # C.g:396:4: 'sizeof' '(' type_name ')'
5348 self
.match(self
.input, 74, self
.FOLLOW_74_in_unary_expression1337
)
5351 self
.match(self
.input, 62, self
.FOLLOW_62_in_unary_expression1339
)
5354 self
.following
.append(self
.FOLLOW_type_name_in_unary_expression1341
)
5356 self
.following
.pop()
5359 self
.match(self
.input, 63, self
.FOLLOW_63_in_unary_expression1343
)
5365 except RecognitionException
, re
:
5366 self
.reportError(re
)
5367 self
.recover(self
.input, re
)
5369 if self
.backtracking
> 0:
5370 self
.memoize(self
.input, 40, unary_expression_StartIndex
)
5376 # $ANTLR end unary_expression
5379 # $ANTLR start postfix_expression
5380 # 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 | '++' | '--' )* ;
5381 def postfix_expression(self
, ):
5382 self
.postfix_expression_stack
.append(postfix_expression_scope())
5383 postfix_expression_StartIndex
= self
.input.index()
5395 self
.postfix_expression_stack
[-1].FuncCallText
= ''
5399 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 41):
5402 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5403 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5404 self
.following
.append(self
.FOLLOW_primary_expression_in_postfix_expression1367
)
5405 p
= self
.primary_expression()
5406 self
.following
.pop()
5409 if self
.backtracking
== 0:
5410 self
.postfix_expression_stack
[-1].FuncCallText
+= self
.input.toString(p
.start
,p
.stop
)
5412 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5415 LA65
= self
.input.LA(1)
5417 LA65_1
= self
.input.LA(2)
5419 if (LA65_1
== IDENTIFIER
) :
5420 LA65_30
= self
.input.LA(3)
5422 if (self
.synpred120()) :
5431 LA65
= self
.input.LA(2)
5434 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:
5436 elif LA65
== IDENTIFIER
:
5437 LA65_55
= self
.input.LA(3)
5439 if (self
.synpred117()) :
5441 elif (self
.synpred118()) :
5446 LA65_57
= self
.input.LA(3)
5448 if (self
.synpred117()) :
5450 elif (self
.synpred118()) :
5454 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:
5467 # C.g:407:13: '[' expression ']'
5468 self
.match(self
.input, 64, self
.FOLLOW_64_in_postfix_expression1383
)
5471 self
.following
.append(self
.FOLLOW_expression_in_postfix_expression1385
)
5473 self
.following
.pop()
5476 self
.match(self
.input, 65, self
.FOLLOW_65_in_postfix_expression1387
)
5482 # C.g:408:13: '(' a= ')'
5483 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1401
)
5486 a
= self
.input.LT(1)
5487 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1405
)
5490 if self
.backtracking
== 0:
5491 self
.StoreFunctionCalling(p
.start
.line
, p
.start
.charPositionInLine
, a
.line
, a
.charPositionInLine
, self
.postfix_expression_stack
[-1].FuncCallText
, '')
5496 # C.g:409:13: '(' c= argument_expression_list b= ')'
5497 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1420
)
5500 self
.following
.append(self
.FOLLOW_argument_expression_list_in_postfix_expression1424
)
5501 c
= self
.argument_expression_list()
5502 self
.following
.pop()
5505 b
= self
.input.LT(1)
5506 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1428
)
5509 if self
.backtracking
== 0:
5510 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
))
5515 # C.g:410:13: '(' macro_parameter_list ')'
5516 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1444
)
5519 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_postfix_expression1446
)
5520 self
.macro_parameter_list()
5521 self
.following
.pop()
5524 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1448
)
5530 # C.g:411:13: '.' x= IDENTIFIER
5531 self
.match(self
.input, 75, self
.FOLLOW_75_in_postfix_expression1462
)
5534 x
= self
.input.LT(1)
5535 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1466
)
5538 if self
.backtracking
== 0:
5539 self
.postfix_expression_stack
[-1].FuncCallText
+= '.' + x
.text
5544 # C.g:412:13: '*' y= IDENTIFIER
5545 self
.match(self
.input, 66, self
.FOLLOW_66_in_postfix_expression1482
)
5548 y
= self
.input.LT(1)
5549 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1486
)
5552 if self
.backtracking
== 0:
5553 self
.postfix_expression_stack
[-1].FuncCallText
= y
.text
5558 # C.g:413:13: '->' z= IDENTIFIER
5559 self
.match(self
.input, 76, self
.FOLLOW_76_in_postfix_expression1502
)
5562 z
= self
.input.LT(1)
5563 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1506
)
5566 if self
.backtracking
== 0:
5567 self
.postfix_expression_stack
[-1].FuncCallText
+= '->' + z
.text
5573 self
.match(self
.input, 72, self
.FOLLOW_72_in_postfix_expression1522
)
5580 self
.match(self
.input, 73, self
.FOLLOW_73_in_postfix_expression1536
)
5593 except RecognitionException
, re
:
5594 self
.reportError(re
)
5595 self
.recover(self
.input, re
)
5597 if self
.backtracking
> 0:
5598 self
.memoize(self
.input, 41, postfix_expression_StartIndex
)
5600 self
.postfix_expression_stack
.pop()
5605 # $ANTLR end postfix_expression
5608 # $ANTLR start macro_parameter_list
5609 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5610 def macro_parameter_list(self
, ):
5612 macro_parameter_list_StartIndex
= self
.input.index()
5615 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 42):
5618 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5619 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5620 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1559
)
5621 self
.parameter_declaration()
5622 self
.following
.pop()
5625 # C.g:420:26: ( ',' parameter_declaration )*
5628 LA66_0
= self
.input.LA(1)
5635 # C.g:420:27: ',' parameter_declaration
5636 self
.match(self
.input, 27, self
.FOLLOW_27_in_macro_parameter_list1562
)
5639 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1564
)
5640 self
.parameter_declaration()
5641 self
.following
.pop()
5654 except RecognitionException
, re
:
5655 self
.reportError(re
)
5656 self
.recover(self
.input, re
)
5658 if self
.backtracking
> 0:
5659 self
.memoize(self
.input, 42, macro_parameter_list_StartIndex
)
5665 # $ANTLR end macro_parameter_list
5668 # $ANTLR start unary_operator
5669 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5670 def unary_operator(self
, ):
5672 unary_operator_StartIndex
= self
.input.index()
5675 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 43):
5678 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5680 if self
.input.LA(1) == 66 or (68 <= self
.input.LA(1) <= 69) or (77 <= self
.input.LA(1) <= 79):
5681 self
.input.consume();
5682 self
.errorRecovery
= False
5686 if self
.backtracking
> 0:
5690 mse
= MismatchedSetException(None, self
.input)
5691 self
.recoverFromMismatchedSet(
5692 self
.input, mse
, self
.FOLLOW_set_in_unary_operator0
5701 except RecognitionException
, re
:
5702 self
.reportError(re
)
5703 self
.recover(self
.input, re
)
5705 if self
.backtracking
> 0:
5706 self
.memoize(self
.input, 43, unary_operator_StartIndex
)
5712 # $ANTLR end unary_operator
5714 class primary_expression_return(object):
5721 # $ANTLR start primary_expression
5722 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5723 def primary_expression(self
, ):
5725 retval
= self
.primary_expression_return()
5726 retval
.start
= self
.input.LT(1)
5727 primary_expression_StartIndex
= self
.input.index()
5730 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 44):
5733 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5735 LA67
= self
.input.LA(1)
5736 if LA67
== IDENTIFIER
:
5737 LA67_1
= self
.input.LA(2)
5739 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)) :
5741 elif (LA67_1
== IDENTIFIER
or LA67_1
== STRING_LITERAL
) :
5744 if self
.backtracking
> 0:
5748 nvae
= NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self
.input)
5752 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
:
5757 if self
.backtracking
> 0:
5761 nvae
= NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self
.input)
5766 # C.g:433:4: IDENTIFIER
5767 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_primary_expression1613
)
5773 # C.g:434:4: constant
5774 self
.following
.append(self
.FOLLOW_constant_in_primary_expression1618
)
5776 self
.following
.pop()
5782 # C.g:435:4: '(' expression ')'
5783 self
.match(self
.input, 62, self
.FOLLOW_62_in_primary_expression1623
)
5786 self
.following
.append(self
.FOLLOW_expression_in_primary_expression1625
)
5788 self
.following
.pop()
5791 self
.match(self
.input, 63, self
.FOLLOW_63_in_primary_expression1627
)
5796 retval
.stop
= self
.input.LT(-1)
5799 except RecognitionException
, re
:
5800 self
.reportError(re
)
5801 self
.recover(self
.input, re
)
5803 if self
.backtracking
> 0:
5804 self
.memoize(self
.input, 44, primary_expression_StartIndex
)
5810 # $ANTLR end primary_expression
5813 # $ANTLR start constant
5814 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5815 def constant(self
, ):
5817 constant_StartIndex
= self
.input.index()
5820 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 45):
5823 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5825 LA72
= self
.input.LA(1)
5826 if LA72
== HEX_LITERAL
:
5828 elif LA72
== OCTAL_LITERAL
:
5830 elif LA72
== DECIMAL_LITERAL
:
5832 elif LA72
== CHARACTER_LITERAL
:
5834 elif LA72
== IDENTIFIER
or LA72
== STRING_LITERAL
:
5836 elif LA72
== FLOATING_POINT_LITERAL
:
5839 if self
.backtracking
> 0:
5843 nvae
= NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self
.input)
5848 # C.g:439:9: HEX_LITERAL
5849 self
.match(self
.input, HEX_LITERAL
, self
.FOLLOW_HEX_LITERAL_in_constant1643
)
5855 # C.g:440:9: OCTAL_LITERAL
5856 self
.match(self
.input, OCTAL_LITERAL
, self
.FOLLOW_OCTAL_LITERAL_in_constant1653
)
5862 # C.g:441:9: DECIMAL_LITERAL
5863 self
.match(self
.input, DECIMAL_LITERAL
, self
.FOLLOW_DECIMAL_LITERAL_in_constant1663
)
5869 # C.g:442:7: CHARACTER_LITERAL
5870 self
.match(self
.input, CHARACTER_LITERAL
, self
.FOLLOW_CHARACTER_LITERAL_in_constant1671
)
5876 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5877 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5881 LA70_0
= self
.input.LA(1)
5883 if (LA70_0
== IDENTIFIER
) :
5884 LA70_1
= self
.input.LA(2)
5886 if (LA70_1
== STRING_LITERAL
) :
5888 elif (LA70_1
== IDENTIFIER
) :
5889 LA70_33
= self
.input.LA(3)
5891 if (self
.synpred138()) :
5897 elif (LA70_0
== STRING_LITERAL
) :
5902 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5903 # C.g:443:8: ( IDENTIFIER )*
5906 LA68_0
= self
.input.LA(1)
5908 if (LA68_0
== IDENTIFIER
) :
5913 # C.g:0:0: IDENTIFIER
5914 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1680
)
5923 # C.g:443:20: ( STRING_LITERAL )+
5927 LA69_0
= self
.input.LA(1)
5929 if (LA69_0
== STRING_LITERAL
) :
5930 LA69_31
= self
.input.LA(2)
5932 if (self
.synpred137()) :
5939 # C.g:0:0: STRING_LITERAL
5940 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_constant1683
)
5949 if self
.backtracking
> 0:
5953 eee
= EarlyExitException(69, self
.input)
5965 if self
.backtracking
> 0:
5969 eee
= EarlyExitException(70, self
.input)
5975 # C.g:443:38: ( IDENTIFIER )*
5978 LA71_0
= self
.input.LA(1)
5980 if (LA71_0
== IDENTIFIER
) :
5985 # C.g:0:0: IDENTIFIER
5986 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1688
)
5998 # C.g:444:9: FLOATING_POINT_LITERAL
5999 self
.match(self
.input, FLOATING_POINT_LITERAL
, self
.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699
)
6005 except RecognitionException
, re
:
6006 self
.reportError(re
)
6007 self
.recover(self
.input, re
)
6009 if self
.backtracking
> 0:
6010 self
.memoize(self
.input, 45, constant_StartIndex
)
6016 # $ANTLR end constant
6018 class expression_return(object):
6025 # $ANTLR start expression
6026 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6027 def expression(self
, ):
6029 retval
= self
.expression_return()
6030 retval
.start
= self
.input.LT(1)
6031 expression_StartIndex
= self
.input.index()
6034 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 46):
6037 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6038 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6039 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1715
)
6040 self
.assignment_expression()
6041 self
.following
.pop()
6044 # C.g:450:26: ( ',' assignment_expression )*
6047 LA73_0
= self
.input.LA(1)
6054 # C.g:450:27: ',' assignment_expression
6055 self
.match(self
.input, 27, self
.FOLLOW_27_in_expression1718
)
6058 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1720
)
6059 self
.assignment_expression()
6060 self
.following
.pop()
6072 retval
.stop
= self
.input.LT(-1)
6075 except RecognitionException
, re
:
6076 self
.reportError(re
)
6077 self
.recover(self
.input, re
)
6079 if self
.backtracking
> 0:
6080 self
.memoize(self
.input, 46, expression_StartIndex
)
6086 # $ANTLR end expression
6089 # $ANTLR start constant_expression
6090 # C.g:453:1: constant_expression : conditional_expression ;
6091 def constant_expression(self
, ):
6093 constant_expression_StartIndex
= self
.input.index()
6096 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 47):
6099 # C.g:454:2: ( conditional_expression )
6100 # C.g:454:4: conditional_expression
6101 self
.following
.append(self
.FOLLOW_conditional_expression_in_constant_expression1733
)
6102 self
.conditional_expression()
6103 self
.following
.pop()
6110 except RecognitionException
, re
:
6111 self
.reportError(re
)
6112 self
.recover(self
.input, re
)
6114 if self
.backtracking
> 0:
6115 self
.memoize(self
.input, 47, constant_expression_StartIndex
)
6121 # $ANTLR end constant_expression
6124 # $ANTLR start assignment_expression
6125 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6126 def assignment_expression(self
, ):
6128 assignment_expression_StartIndex
= self
.input.index()
6131 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 48):
6134 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6136 LA74
= self
.input.LA(1)
6137 if LA74
== IDENTIFIER
:
6138 LA74
= self
.input.LA(2)
6140 LA74_13
= self
.input.LA(3)
6142 if (self
.synpred142()) :
6147 if self
.backtracking
> 0:
6151 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self
.input)
6156 LA74_14
= self
.input.LA(3)
6158 if (self
.synpred142()) :
6163 if self
.backtracking
> 0:
6167 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self
.input)
6172 LA74_15
= self
.input.LA(3)
6174 if (self
.synpred142()) :
6179 if self
.backtracking
> 0:
6183 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self
.input)
6188 LA74_16
= self
.input.LA(3)
6190 if (self
.synpred142()) :
6195 if self
.backtracking
> 0:
6199 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self
.input)
6204 LA74_17
= self
.input.LA(3)
6206 if (self
.synpred142()) :
6211 if self
.backtracking
> 0:
6215 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self
.input)
6220 LA74_18
= self
.input.LA(3)
6222 if (self
.synpred142()) :
6227 if self
.backtracking
> 0:
6231 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self
.input)
6236 LA74_19
= self
.input.LA(3)
6238 if (self
.synpred142()) :
6243 if self
.backtracking
> 0:
6247 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self
.input)
6251 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:
6253 elif LA74
== STRING_LITERAL
:
6254 LA74_21
= self
.input.LA(3)
6256 if (self
.synpred142()) :
6261 if self
.backtracking
> 0:
6265 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self
.input)
6269 elif LA74
== IDENTIFIER
:
6270 LA74_22
= self
.input.LA(3)
6272 if (self
.synpred142()) :
6277 if self
.backtracking
> 0:
6281 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self
.input)
6285 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:
6288 if self
.backtracking
> 0:
6292 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self
.input)
6296 elif LA74
== HEX_LITERAL
:
6297 LA74
= self
.input.LA(2)
6299 LA74_44
= self
.input.LA(3)
6301 if (self
.synpred142()) :
6306 if self
.backtracking
> 0:
6310 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self
.input)
6315 LA74_45
= self
.input.LA(3)
6317 if (self
.synpred142()) :
6322 if self
.backtracking
> 0:
6326 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self
.input)
6331 LA74_46
= self
.input.LA(3)
6333 if (self
.synpred142()) :
6338 if self
.backtracking
> 0:
6342 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self
.input)
6347 LA74_47
= self
.input.LA(3)
6349 if (self
.synpred142()) :
6354 if self
.backtracking
> 0:
6358 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self
.input)
6363 LA74_48
= self
.input.LA(3)
6365 if (self
.synpred142()) :
6370 if self
.backtracking
> 0:
6374 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self
.input)
6379 LA74_49
= self
.input.LA(3)
6381 if (self
.synpred142()) :
6386 if self
.backtracking
> 0:
6390 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self
.input)
6395 LA74_50
= self
.input.LA(3)
6397 if (self
.synpred142()) :
6402 if self
.backtracking
> 0:
6406 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self
.input)
6410 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:
6412 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:
6415 if self
.backtracking
> 0:
6419 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self
.input)
6423 elif LA74
== OCTAL_LITERAL
:
6424 LA74
= self
.input.LA(2)
6426 LA74_73
= self
.input.LA(3)
6428 if (self
.synpred142()) :
6433 if self
.backtracking
> 0:
6437 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self
.input)
6442 LA74_74
= self
.input.LA(3)
6444 if (self
.synpred142()) :
6449 if self
.backtracking
> 0:
6453 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self
.input)
6458 LA74_75
= self
.input.LA(3)
6460 if (self
.synpred142()) :
6465 if self
.backtracking
> 0:
6469 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self
.input)
6474 LA74_76
= self
.input.LA(3)
6476 if (self
.synpred142()) :
6481 if self
.backtracking
> 0:
6485 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self
.input)
6490 LA74_77
= self
.input.LA(3)
6492 if (self
.synpred142()) :
6497 if self
.backtracking
> 0:
6501 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self
.input)
6506 LA74_78
= self
.input.LA(3)
6508 if (self
.synpred142()) :
6513 if self
.backtracking
> 0:
6517 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self
.input)
6522 LA74_79
= self
.input.LA(3)
6524 if (self
.synpred142()) :
6529 if self
.backtracking
> 0:
6533 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self
.input)
6537 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:
6539 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:
6542 if self
.backtracking
> 0:
6546 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self
.input)
6550 elif LA74
== DECIMAL_LITERAL
:
6551 LA74
= self
.input.LA(2)
6553 LA74_102
= self
.input.LA(3)
6555 if (self
.synpred142()) :
6560 if self
.backtracking
> 0:
6564 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self
.input)
6569 LA74_103
= self
.input.LA(3)
6571 if (self
.synpred142()) :
6576 if self
.backtracking
> 0:
6580 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self
.input)
6585 LA74_104
= self
.input.LA(3)
6587 if (self
.synpred142()) :
6592 if self
.backtracking
> 0:
6596 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self
.input)
6601 LA74_105
= self
.input.LA(3)
6603 if (self
.synpred142()) :
6608 if self
.backtracking
> 0:
6612 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self
.input)
6617 LA74_106
= self
.input.LA(3)
6619 if (self
.synpred142()) :
6624 if self
.backtracking
> 0:
6628 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self
.input)
6633 LA74_107
= self
.input.LA(3)
6635 if (self
.synpred142()) :
6640 if self
.backtracking
> 0:
6644 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self
.input)
6649 LA74_108
= self
.input.LA(3)
6651 if (self
.synpred142()) :
6656 if self
.backtracking
> 0:
6660 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self
.input)
6664 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:
6666 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:
6669 if self
.backtracking
> 0:
6673 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self
.input)
6677 elif LA74
== CHARACTER_LITERAL
:
6678 LA74
= self
.input.LA(2)
6680 LA74_131
= self
.input.LA(3)
6682 if (self
.synpred142()) :
6687 if self
.backtracking
> 0:
6691 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self
.input)
6696 LA74_132
= self
.input.LA(3)
6698 if (self
.synpred142()) :
6703 if self
.backtracking
> 0:
6707 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self
.input)
6712 LA74_133
= self
.input.LA(3)
6714 if (self
.synpred142()) :
6719 if self
.backtracking
> 0:
6723 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self
.input)
6728 LA74_134
= self
.input.LA(3)
6730 if (self
.synpred142()) :
6735 if self
.backtracking
> 0:
6739 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self
.input)
6744 LA74_135
= self
.input.LA(3)
6746 if (self
.synpred142()) :
6751 if self
.backtracking
> 0:
6755 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self
.input)
6760 LA74_136
= self
.input.LA(3)
6762 if (self
.synpred142()) :
6767 if self
.backtracking
> 0:
6771 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self
.input)
6776 LA74_137
= self
.input.LA(3)
6778 if (self
.synpred142()) :
6783 if self
.backtracking
> 0:
6787 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self
.input)
6791 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:
6793 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:
6796 if self
.backtracking
> 0:
6800 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self
.input)
6804 elif LA74
== STRING_LITERAL
:
6805 LA74
= self
.input.LA(2)
6806 if LA74
== IDENTIFIER
:
6807 LA74_160
= self
.input.LA(3)
6809 if (self
.synpred142()) :
6814 if self
.backtracking
> 0:
6818 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self
.input)
6823 LA74_161
= self
.input.LA(3)
6825 if (self
.synpred142()) :
6830 if self
.backtracking
> 0:
6834 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self
.input)
6839 LA74_162
= self
.input.LA(3)
6841 if (self
.synpred142()) :
6846 if self
.backtracking
> 0:
6850 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self
.input)
6855 LA74_163
= self
.input.LA(3)
6857 if (self
.synpred142()) :
6862 if self
.backtracking
> 0:
6866 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self
.input)
6871 LA74_164
= self
.input.LA(3)
6873 if (self
.synpred142()) :
6878 if self
.backtracking
> 0:
6882 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self
.input)
6887 LA74_165
= self
.input.LA(3)
6889 if (self
.synpred142()) :
6894 if self
.backtracking
> 0:
6898 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self
.input)
6903 LA74_166
= self
.input.LA(3)
6905 if (self
.synpred142()) :
6910 if self
.backtracking
> 0:
6914 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self
.input)
6919 LA74_167
= self
.input.LA(3)
6921 if (self
.synpred142()) :
6926 if self
.backtracking
> 0:
6930 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self
.input)
6934 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:
6936 elif LA74
== STRING_LITERAL
:
6937 LA74_189
= self
.input.LA(3)
6939 if (self
.synpred142()) :
6944 if self
.backtracking
> 0:
6948 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self
.input)
6952 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:
6955 if self
.backtracking
> 0:
6959 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self
.input)
6963 elif LA74
== FLOATING_POINT_LITERAL
:
6964 LA74
= self
.input.LA(2)
6966 LA74_191
= self
.input.LA(3)
6968 if (self
.synpred142()) :
6973 if self
.backtracking
> 0:
6977 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self
.input)
6982 LA74_192
= self
.input.LA(3)
6984 if (self
.synpred142()) :
6989 if self
.backtracking
> 0:
6993 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self
.input)
6998 LA74_193
= self
.input.LA(3)
7000 if (self
.synpred142()) :
7005 if self
.backtracking
> 0:
7009 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self
.input)
7014 LA74_194
= self
.input.LA(3)
7016 if (self
.synpred142()) :
7021 if self
.backtracking
> 0:
7025 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self
.input)
7030 LA74_195
= self
.input.LA(3)
7032 if (self
.synpred142()) :
7037 if self
.backtracking
> 0:
7041 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self
.input)
7046 LA74_196
= self
.input.LA(3)
7048 if (self
.synpred142()) :
7053 if self
.backtracking
> 0:
7057 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self
.input)
7062 LA74_197
= self
.input.LA(3)
7064 if (self
.synpred142()) :
7069 if self
.backtracking
> 0:
7073 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self
.input)
7077 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:
7079 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:
7082 if self
.backtracking
> 0:
7086 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self
.input)
7091 LA74
= self
.input.LA(2)
7092 if LA74
== IDENTIFIER
:
7093 LA74_220
= self
.input.LA(3)
7095 if (self
.synpred142()) :
7100 if self
.backtracking
> 0:
7104 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self
.input)
7108 elif LA74
== HEX_LITERAL
:
7109 LA74_221
= self
.input.LA(3)
7111 if (self
.synpred142()) :
7116 if self
.backtracking
> 0:
7120 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self
.input)
7124 elif LA74
== OCTAL_LITERAL
:
7125 LA74_222
= self
.input.LA(3)
7127 if (self
.synpred142()) :
7132 if self
.backtracking
> 0:
7136 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self
.input)
7140 elif LA74
== DECIMAL_LITERAL
:
7141 LA74_223
= self
.input.LA(3)
7143 if (self
.synpred142()) :
7148 if self
.backtracking
> 0:
7152 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self
.input)
7156 elif LA74
== CHARACTER_LITERAL
:
7157 LA74_224
= self
.input.LA(3)
7159 if (self
.synpred142()) :
7164 if self
.backtracking
> 0:
7168 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self
.input)
7172 elif LA74
== STRING_LITERAL
:
7173 LA74_225
= self
.input.LA(3)
7175 if (self
.synpred142()) :
7180 if self
.backtracking
> 0:
7184 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self
.input)
7188 elif LA74
== FLOATING_POINT_LITERAL
:
7189 LA74_226
= self
.input.LA(3)
7191 if (self
.synpred142()) :
7196 if self
.backtracking
> 0:
7200 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self
.input)
7205 LA74_227
= self
.input.LA(3)
7207 if (self
.synpred142()) :
7212 if self
.backtracking
> 0:
7216 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self
.input)
7221 LA74_228
= self
.input.LA(3)
7223 if (self
.synpred142()) :
7228 if self
.backtracking
> 0:
7232 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self
.input)
7237 LA74_229
= self
.input.LA(3)
7239 if (self
.synpred142()) :
7244 if self
.backtracking
> 0:
7248 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self
.input)
7252 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7253 LA74_230
= self
.input.LA(3)
7255 if (self
.synpred142()) :
7260 if self
.backtracking
> 0:
7264 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self
.input)
7269 LA74_231
= self
.input.LA(3)
7271 if (self
.synpred142()) :
7276 if self
.backtracking
> 0:
7280 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self
.input)
7284 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:
7287 if self
.backtracking
> 0:
7291 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self
.input)
7296 LA74
= self
.input.LA(2)
7297 if LA74
== IDENTIFIER
:
7298 LA74_244
= self
.input.LA(3)
7300 if (self
.synpred142()) :
7305 if self
.backtracking
> 0:
7309 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self
.input)
7313 elif LA74
== HEX_LITERAL
:
7314 LA74_245
= self
.input.LA(3)
7316 if (self
.synpred142()) :
7321 if self
.backtracking
> 0:
7325 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self
.input)
7329 elif LA74
== OCTAL_LITERAL
:
7330 LA74_246
= self
.input.LA(3)
7332 if (self
.synpred142()) :
7337 if self
.backtracking
> 0:
7341 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self
.input)
7345 elif LA74
== DECIMAL_LITERAL
:
7346 LA74_247
= self
.input.LA(3)
7348 if (self
.synpred142()) :
7353 if self
.backtracking
> 0:
7357 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self
.input)
7361 elif LA74
== CHARACTER_LITERAL
:
7362 LA74_248
= self
.input.LA(3)
7364 if (self
.synpred142()) :
7369 if self
.backtracking
> 0:
7373 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self
.input)
7377 elif LA74
== STRING_LITERAL
:
7378 LA74_249
= self
.input.LA(3)
7380 if (self
.synpred142()) :
7385 if self
.backtracking
> 0:
7389 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self
.input)
7393 elif LA74
== FLOATING_POINT_LITERAL
:
7394 LA74_250
= self
.input.LA(3)
7396 if (self
.synpred142()) :
7401 if self
.backtracking
> 0:
7405 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self
.input)
7410 LA74_251
= self
.input.LA(3)
7412 if (self
.synpred142()) :
7417 if self
.backtracking
> 0:
7421 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self
.input)
7426 LA74_252
= self
.input.LA(3)
7428 if (self
.synpred142()) :
7433 if self
.backtracking
> 0:
7437 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self
.input)
7442 LA74_253
= self
.input.LA(3)
7444 if (self
.synpred142()) :
7449 if self
.backtracking
> 0:
7453 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self
.input)
7457 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7458 LA74_254
= self
.input.LA(3)
7460 if (self
.synpred142()) :
7465 if self
.backtracking
> 0:
7469 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self
.input)
7474 LA74_255
= self
.input.LA(3)
7476 if (self
.synpred142()) :
7481 if self
.backtracking
> 0:
7485 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self
.input)
7490 if self
.backtracking
> 0:
7494 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self
.input)
7499 LA74
= self
.input.LA(2)
7500 if LA74
== IDENTIFIER
:
7501 LA74_256
= self
.input.LA(3)
7503 if (self
.synpred142()) :
7508 if self
.backtracking
> 0:
7512 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self
.input)
7516 elif LA74
== HEX_LITERAL
:
7517 LA74_257
= self
.input.LA(3)
7519 if (self
.synpred142()) :
7524 if self
.backtracking
> 0:
7528 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self
.input)
7532 elif LA74
== OCTAL_LITERAL
:
7533 LA74_258
= self
.input.LA(3)
7535 if (self
.synpred142()) :
7540 if self
.backtracking
> 0:
7544 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self
.input)
7548 elif LA74
== DECIMAL_LITERAL
:
7549 LA74_259
= self
.input.LA(3)
7551 if (self
.synpred142()) :
7556 if self
.backtracking
> 0:
7560 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self
.input)
7564 elif LA74
== CHARACTER_LITERAL
:
7565 LA74_260
= self
.input.LA(3)
7567 if (self
.synpred142()) :
7572 if self
.backtracking
> 0:
7576 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self
.input)
7580 elif LA74
== STRING_LITERAL
:
7581 LA74_261
= self
.input.LA(3)
7583 if (self
.synpred142()) :
7588 if self
.backtracking
> 0:
7592 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self
.input)
7596 elif LA74
== FLOATING_POINT_LITERAL
:
7597 LA74_262
= self
.input.LA(3)
7599 if (self
.synpred142()) :
7604 if self
.backtracking
> 0:
7608 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self
.input)
7613 LA74_263
= self
.input.LA(3)
7615 if (self
.synpred142()) :
7620 if self
.backtracking
> 0:
7624 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self
.input)
7629 LA74_264
= self
.input.LA(3)
7631 if (self
.synpred142()) :
7636 if self
.backtracking
> 0:
7640 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self
.input)
7645 LA74_265
= self
.input.LA(3)
7647 if (self
.synpred142()) :
7652 if self
.backtracking
> 0:
7656 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self
.input)
7660 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7661 LA74_266
= self
.input.LA(3)
7663 if (self
.synpred142()) :
7668 if self
.backtracking
> 0:
7672 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self
.input)
7677 LA74_267
= self
.input.LA(3)
7679 if (self
.synpred142()) :
7684 if self
.backtracking
> 0:
7688 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self
.input)
7693 if self
.backtracking
> 0:
7697 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self
.input)
7701 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7702 LA74
= self
.input.LA(2)
7704 LA74_268
= self
.input.LA(3)
7706 if (self
.synpred142()) :
7711 if self
.backtracking
> 0:
7715 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self
.input)
7719 elif LA74
== IDENTIFIER
:
7720 LA74_269
= self
.input.LA(3)
7722 if (self
.synpred142()) :
7727 if self
.backtracking
> 0:
7731 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self
.input)
7735 elif LA74
== HEX_LITERAL
:
7736 LA74_270
= self
.input.LA(3)
7738 if (self
.synpred142()) :
7743 if self
.backtracking
> 0:
7747 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self
.input)
7751 elif LA74
== OCTAL_LITERAL
:
7752 LA74_271
= self
.input.LA(3)
7754 if (self
.synpred142()) :
7759 if self
.backtracking
> 0:
7763 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self
.input)
7767 elif LA74
== DECIMAL_LITERAL
:
7768 LA74_272
= self
.input.LA(3)
7770 if (self
.synpred142()) :
7775 if self
.backtracking
> 0:
7779 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self
.input)
7783 elif LA74
== CHARACTER_LITERAL
:
7784 LA74_273
= self
.input.LA(3)
7786 if (self
.synpred142()) :
7791 if self
.backtracking
> 0:
7795 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self
.input)
7799 elif LA74
== STRING_LITERAL
:
7800 LA74_274
= self
.input.LA(3)
7802 if (self
.synpred142()) :
7807 if self
.backtracking
> 0:
7811 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self
.input)
7815 elif LA74
== FLOATING_POINT_LITERAL
:
7816 LA74_275
= self
.input.LA(3)
7818 if (self
.synpred142()) :
7823 if self
.backtracking
> 0:
7827 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self
.input)
7832 LA74_276
= self
.input.LA(3)
7834 if (self
.synpred142()) :
7839 if self
.backtracking
> 0:
7843 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self
.input)
7848 LA74_277
= self
.input.LA(3)
7850 if (self
.synpred142()) :
7855 if self
.backtracking
> 0:
7859 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self
.input)
7863 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7864 LA74_278
= self
.input.LA(3)
7866 if (self
.synpred142()) :
7871 if self
.backtracking
> 0:
7875 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self
.input)
7880 LA74_279
= self
.input.LA(3)
7882 if (self
.synpred142()) :
7887 if self
.backtracking
> 0:
7891 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self
.input)
7896 if self
.backtracking
> 0:
7900 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self
.input)
7905 LA74
= self
.input.LA(2)
7907 LA74_280
= self
.input.LA(3)
7909 if (self
.synpred142()) :
7914 if self
.backtracking
> 0:
7918 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self
.input)
7922 elif LA74
== IDENTIFIER
:
7923 LA74_281
= self
.input.LA(3)
7925 if (self
.synpred142()) :
7930 if self
.backtracking
> 0:
7934 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self
.input)
7938 elif LA74
== HEX_LITERAL
:
7939 LA74_282
= self
.input.LA(3)
7941 if (self
.synpred142()) :
7946 if self
.backtracking
> 0:
7950 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self
.input)
7954 elif LA74
== OCTAL_LITERAL
:
7955 LA74_283
= self
.input.LA(3)
7957 if (self
.synpred142()) :
7962 if self
.backtracking
> 0:
7966 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self
.input)
7970 elif LA74
== DECIMAL_LITERAL
:
7971 LA74_284
= self
.input.LA(3)
7973 if (self
.synpred142()) :
7978 if self
.backtracking
> 0:
7982 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self
.input)
7986 elif LA74
== CHARACTER_LITERAL
:
7987 LA74_285
= self
.input.LA(3)
7989 if (self
.synpred142()) :
7994 if self
.backtracking
> 0:
7998 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self
.input)
8002 elif LA74
== STRING_LITERAL
:
8003 LA74_286
= self
.input.LA(3)
8005 if (self
.synpred142()) :
8010 if self
.backtracking
> 0:
8014 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self
.input)
8018 elif LA74
== FLOATING_POINT_LITERAL
:
8019 LA74_287
= self
.input.LA(3)
8021 if (self
.synpred142()) :
8026 if self
.backtracking
> 0:
8030 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self
.input)
8035 LA74_288
= self
.input.LA(3)
8037 if (self
.synpred142()) :
8042 if self
.backtracking
> 0:
8046 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self
.input)
8051 LA74_289
= self
.input.LA(3)
8053 if (self
.synpred142()) :
8058 if self
.backtracking
> 0:
8062 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self
.input)
8066 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
8067 LA74_290
= self
.input.LA(3)
8069 if (self
.synpred142()) :
8074 if self
.backtracking
> 0:
8078 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self
.input)
8083 LA74_291
= self
.input.LA(3)
8085 if (self
.synpred142()) :
8090 if self
.backtracking
> 0:
8094 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self
.input)
8099 if self
.backtracking
> 0:
8103 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self
.input)
8108 if self
.backtracking
> 0:
8112 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self
.input)
8117 # C.g:458:4: lvalue assignment_operator assignment_expression
8118 self
.following
.append(self
.FOLLOW_lvalue_in_assignment_expression1744
)
8120 self
.following
.pop()
8123 self
.following
.append(self
.FOLLOW_assignment_operator_in_assignment_expression1746
)
8124 self
.assignment_operator()
8125 self
.following
.pop()
8128 self
.following
.append(self
.FOLLOW_assignment_expression_in_assignment_expression1748
)
8129 self
.assignment_expression()
8130 self
.following
.pop()
8136 # C.g:459:4: conditional_expression
8137 self
.following
.append(self
.FOLLOW_conditional_expression_in_assignment_expression1753
)
8138 self
.conditional_expression()
8139 self
.following
.pop()
8145 except RecognitionException
, re
:
8146 self
.reportError(re
)
8147 self
.recover(self
.input, re
)
8149 if self
.backtracking
> 0:
8150 self
.memoize(self
.input, 48, assignment_expression_StartIndex
)
8156 # $ANTLR end assignment_expression
8159 # $ANTLR start lvalue
8160 # C.g:462:1: lvalue : unary_expression ;
8163 lvalue_StartIndex
= self
.input.index()
8166 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 49):
8169 # C.g:463:2: ( unary_expression )
8170 # C.g:463:4: unary_expression
8171 self
.following
.append(self
.FOLLOW_unary_expression_in_lvalue1765
)
8172 self
.unary_expression()
8173 self
.following
.pop()
8180 except RecognitionException
, re
:
8181 self
.reportError(re
)
8182 self
.recover(self
.input, re
)
8184 if self
.backtracking
> 0:
8185 self
.memoize(self
.input, 49, lvalue_StartIndex
)
8194 # $ANTLR start assignment_operator
8195 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8196 def assignment_operator(self
, ):
8198 assignment_operator_StartIndex
= self
.input.index()
8201 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 50):
8204 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8206 if self
.input.LA(1) == 28 or (80 <= self
.input.LA(1) <= 89):
8207 self
.input.consume();
8208 self
.errorRecovery
= False
8212 if self
.backtracking
> 0:
8216 mse
= MismatchedSetException(None, self
.input)
8217 self
.recoverFromMismatchedSet(
8218 self
.input, mse
, self
.FOLLOW_set_in_assignment_operator0
8227 except RecognitionException
, re
:
8228 self
.reportError(re
)
8229 self
.recover(self
.input, re
)
8231 if self
.backtracking
> 0:
8232 self
.memoize(self
.input, 50, assignment_operator_StartIndex
)
8238 # $ANTLR end assignment_operator
8241 # $ANTLR start conditional_expression
8242 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8243 def conditional_expression(self
, ):
8245 conditional_expression_StartIndex
= self
.input.index()
8251 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 51):
8254 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8255 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8256 self
.following
.append(self
.FOLLOW_logical_or_expression_in_conditional_expression1839
)
8257 e
= self
.logical_or_expression()
8258 self
.following
.pop()
8261 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8263 LA75_0
= self
.input.LA(1)
8268 # C.g:481:29: '?' expression ':' conditional_expression
8269 self
.match(self
.input, 90, self
.FOLLOW_90_in_conditional_expression1842
)
8272 self
.following
.append(self
.FOLLOW_expression_in_conditional_expression1844
)
8274 self
.following
.pop()
8277 self
.match(self
.input, 47, self
.FOLLOW_47_in_conditional_expression1846
)
8280 self
.following
.append(self
.FOLLOW_conditional_expression_in_conditional_expression1848
)
8281 self
.conditional_expression()
8282 self
.following
.pop()
8285 if self
.backtracking
== 0:
8286 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
8295 except RecognitionException
, re
:
8296 self
.reportError(re
)
8297 self
.recover(self
.input, re
)
8299 if self
.backtracking
> 0:
8300 self
.memoize(self
.input, 51, conditional_expression_StartIndex
)
8306 # $ANTLR end conditional_expression
8308 class logical_or_expression_return(object):
8315 # $ANTLR start logical_or_expression
8316 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8317 def logical_or_expression(self
, ):
8319 retval
= self
.logical_or_expression_return()
8320 retval
.start
= self
.input.LT(1)
8321 logical_or_expression_StartIndex
= self
.input.index()
8324 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 52):
8327 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8328 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8329 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1863
)
8330 self
.logical_and_expression()
8331 self
.following
.pop()
8334 # C.g:485:27: ( '||' logical_and_expression )*
8337 LA76_0
= self
.input.LA(1)
8344 # C.g:485:28: '||' logical_and_expression
8345 self
.match(self
.input, 91, self
.FOLLOW_91_in_logical_or_expression1866
)
8348 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1868
)
8349 self
.logical_and_expression()
8350 self
.following
.pop()
8362 retval
.stop
= self
.input.LT(-1)
8365 except RecognitionException
, re
:
8366 self
.reportError(re
)
8367 self
.recover(self
.input, re
)
8369 if self
.backtracking
> 0:
8370 self
.memoize(self
.input, 52, logical_or_expression_StartIndex
)
8376 # $ANTLR end logical_or_expression
8379 # $ANTLR start logical_and_expression
8380 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8381 def logical_and_expression(self
, ):
8383 logical_and_expression_StartIndex
= self
.input.index()
8386 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 53):
8389 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8390 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8391 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1881
)
8392 self
.inclusive_or_expression()
8393 self
.following
.pop()
8396 # C.g:489:28: ( '&&' inclusive_or_expression )*
8399 LA77_0
= self
.input.LA(1)
8406 # C.g:489:29: '&&' inclusive_or_expression
8407 self
.match(self
.input, 92, self
.FOLLOW_92_in_logical_and_expression1884
)
8410 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1886
)
8411 self
.inclusive_or_expression()
8412 self
.following
.pop()
8425 except RecognitionException
, re
:
8426 self
.reportError(re
)
8427 self
.recover(self
.input, re
)
8429 if self
.backtracking
> 0:
8430 self
.memoize(self
.input, 53, logical_and_expression_StartIndex
)
8436 # $ANTLR end logical_and_expression
8439 # $ANTLR start inclusive_or_expression
8440 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8441 def inclusive_or_expression(self
, ):
8443 inclusive_or_expression_StartIndex
= self
.input.index()
8446 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 54):
8449 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8450 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8451 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899
)
8452 self
.exclusive_or_expression()
8453 self
.following
.pop()
8456 # C.g:493:28: ( '|' exclusive_or_expression )*
8459 LA78_0
= self
.input.LA(1)
8466 # C.g:493:29: '|' exclusive_or_expression
8467 self
.match(self
.input, 93, self
.FOLLOW_93_in_inclusive_or_expression1902
)
8470 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904
)
8471 self
.exclusive_or_expression()
8472 self
.following
.pop()
8485 except RecognitionException
, re
:
8486 self
.reportError(re
)
8487 self
.recover(self
.input, re
)
8489 if self
.backtracking
> 0:
8490 self
.memoize(self
.input, 54, inclusive_or_expression_StartIndex
)
8496 # $ANTLR end inclusive_or_expression
8499 # $ANTLR start exclusive_or_expression
8500 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8501 def exclusive_or_expression(self
, ):
8503 exclusive_or_expression_StartIndex
= self
.input.index()
8506 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 55):
8509 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8510 # C.g:497:4: and_expression ( '^' and_expression )*
8511 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1917
)
8512 self
.and_expression()
8513 self
.following
.pop()
8516 # C.g:497:19: ( '^' and_expression )*
8519 LA79_0
= self
.input.LA(1)
8526 # C.g:497:20: '^' and_expression
8527 self
.match(self
.input, 94, self
.FOLLOW_94_in_exclusive_or_expression1920
)
8530 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1922
)
8531 self
.and_expression()
8532 self
.following
.pop()
8545 except RecognitionException
, re
:
8546 self
.reportError(re
)
8547 self
.recover(self
.input, re
)
8549 if self
.backtracking
> 0:
8550 self
.memoize(self
.input, 55, exclusive_or_expression_StartIndex
)
8556 # $ANTLR end exclusive_or_expression
8559 # $ANTLR start and_expression
8560 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8561 def and_expression(self
, ):
8563 and_expression_StartIndex
= self
.input.index()
8566 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 56):
8569 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8570 # C.g:501:4: equality_expression ( '&' equality_expression )*
8571 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1935
)
8572 self
.equality_expression()
8573 self
.following
.pop()
8576 # C.g:501:24: ( '&' equality_expression )*
8579 LA80_0
= self
.input.LA(1)
8586 # C.g:501:25: '&' equality_expression
8587 self
.match(self
.input, 77, self
.FOLLOW_77_in_and_expression1938
)
8590 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1940
)
8591 self
.equality_expression()
8592 self
.following
.pop()
8605 except RecognitionException
, re
:
8606 self
.reportError(re
)
8607 self
.recover(self
.input, re
)
8609 if self
.backtracking
> 0:
8610 self
.memoize(self
.input, 56, and_expression_StartIndex
)
8616 # $ANTLR end and_expression
8619 # $ANTLR start equality_expression
8620 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8621 def equality_expression(self
, ):
8623 equality_expression_StartIndex
= self
.input.index()
8626 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 57):
8629 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8630 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8631 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1952
)
8632 self
.relational_expression()
8633 self
.following
.pop()
8636 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8639 LA81_0
= self
.input.LA(1)
8641 if ((95 <= LA81_0
<= 96)) :
8646 # C.g:504:27: ( '==' | '!=' ) relational_expression
8647 if (95 <= self
.input.LA(1) <= 96):
8648 self
.input.consume();
8649 self
.errorRecovery
= False
8653 if self
.backtracking
> 0:
8657 mse
= MismatchedSetException(None, self
.input)
8658 self
.recoverFromMismatchedSet(
8659 self
.input, mse
, self
.FOLLOW_set_in_equality_expression1955
8664 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1961
)
8665 self
.relational_expression()
8666 self
.following
.pop()
8679 except RecognitionException
, re
:
8680 self
.reportError(re
)
8681 self
.recover(self
.input, re
)
8683 if self
.backtracking
> 0:
8684 self
.memoize(self
.input, 57, equality_expression_StartIndex
)
8690 # $ANTLR end equality_expression
8693 # $ANTLR start relational_expression
8694 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8695 def relational_expression(self
, ):
8697 relational_expression_StartIndex
= self
.input.index()
8700 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 58):
8703 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8704 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8705 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1975
)
8706 self
.shift_expression()
8707 self
.following
.pop()
8710 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8713 LA82_0
= self
.input.LA(1)
8715 if ((97 <= LA82_0
<= 100)) :
8720 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8721 if (97 <= self
.input.LA(1) <= 100):
8722 self
.input.consume();
8723 self
.errorRecovery
= False
8727 if self
.backtracking
> 0:
8731 mse
= MismatchedSetException(None, self
.input)
8732 self
.recoverFromMismatchedSet(
8733 self
.input, mse
, self
.FOLLOW_set_in_relational_expression1978
8738 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1988
)
8739 self
.shift_expression()
8740 self
.following
.pop()
8753 except RecognitionException
, re
:
8754 self
.reportError(re
)
8755 self
.recover(self
.input, re
)
8757 if self
.backtracking
> 0:
8758 self
.memoize(self
.input, 58, relational_expression_StartIndex
)
8764 # $ANTLR end relational_expression
8767 # $ANTLR start shift_expression
8768 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8769 def shift_expression(self
, ):
8771 shift_expression_StartIndex
= self
.input.index()
8774 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 59):
8777 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8778 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8779 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression2001
)
8780 self
.additive_expression()
8781 self
.following
.pop()
8784 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8787 LA83_0
= self
.input.LA(1)
8789 if ((101 <= LA83_0
<= 102)) :
8794 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8795 if (101 <= self
.input.LA(1) <= 102):
8796 self
.input.consume();
8797 self
.errorRecovery
= False
8801 if self
.backtracking
> 0:
8805 mse
= MismatchedSetException(None, self
.input)
8806 self
.recoverFromMismatchedSet(
8807 self
.input, mse
, self
.FOLLOW_set_in_shift_expression2004
8812 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression2010
)
8813 self
.additive_expression()
8814 self
.following
.pop()
8827 except RecognitionException
, re
:
8828 self
.reportError(re
)
8829 self
.recover(self
.input, re
)
8831 if self
.backtracking
> 0:
8832 self
.memoize(self
.input, 59, shift_expression_StartIndex
)
8838 # $ANTLR end shift_expression
8841 # $ANTLR start statement
8842 # 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 );
8843 def statement(self
, ):
8845 statement_StartIndex
= self
.input.index()
8848 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 60):
8851 # 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 )
8853 LA84
= self
.input.LA(1)
8854 if LA84
== IDENTIFIER
:
8855 LA84
= self
.input.LA(2)
8857 LA84_43
= self
.input.LA(3)
8859 if (self
.synpred169()) :
8861 elif (self
.synpred173()) :
8863 elif (self
.synpred174()) :
8868 if self
.backtracking
> 0:
8872 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)
8878 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:
8881 LA84_47
= self
.input.LA(3)
8883 if (self
.synpred169()) :
8888 if self
.backtracking
> 0:
8892 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)
8896 elif LA84
== IDENTIFIER
:
8897 LA84_53
= self
.input.LA(3)
8899 if (self
.synpred169()) :
8904 if self
.backtracking
> 0:
8908 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)
8913 LA84_68
= self
.input.LA(3)
8915 if (self
.synpred169()) :
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, 68, self
.input)
8928 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:
8931 if self
.backtracking
> 0:
8935 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)
8939 elif LA84
== 106 or LA84
== 107:
8943 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:
8945 elif LA84
== 108 or LA84
== 110:
8947 elif LA84
== 111 or LA84
== 112 or LA84
== 113:
8949 elif LA84
== 114 or LA84
== 115 or LA84
== 116 or LA84
== 117:
8957 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:
8960 if self
.backtracking
> 0:
8964 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)
8969 # C.g:518:4: labeled_statement
8970 self
.following
.append(self
.FOLLOW_labeled_statement_in_statement2025
)
8971 self
.labeled_statement()
8972 self
.following
.pop()
8978 # C.g:519:4: compound_statement
8979 self
.following
.append(self
.FOLLOW_compound_statement_in_statement2030
)
8980 self
.compound_statement()
8981 self
.following
.pop()
8987 # C.g:520:4: expression_statement
8988 self
.following
.append(self
.FOLLOW_expression_statement_in_statement2035
)
8989 self
.expression_statement()
8990 self
.following
.pop()
8996 # C.g:521:4: selection_statement
8997 self
.following
.append(self
.FOLLOW_selection_statement_in_statement2040
)
8998 self
.selection_statement()
8999 self
.following
.pop()
9005 # C.g:522:4: iteration_statement
9006 self
.following
.append(self
.FOLLOW_iteration_statement_in_statement2045
)
9007 self
.iteration_statement()
9008 self
.following
.pop()
9014 # C.g:523:4: jump_statement
9015 self
.following
.append(self
.FOLLOW_jump_statement_in_statement2050
)
9016 self
.jump_statement()
9017 self
.following
.pop()
9023 # C.g:524:4: macro_statement
9024 self
.following
.append(self
.FOLLOW_macro_statement_in_statement2055
)
9025 self
.macro_statement()
9026 self
.following
.pop()
9032 # C.g:525:4: asm2_statement
9033 self
.following
.append(self
.FOLLOW_asm2_statement_in_statement2060
)
9034 self
.asm2_statement()
9035 self
.following
.pop()
9041 # C.g:526:4: asm1_statement
9042 self
.following
.append(self
.FOLLOW_asm1_statement_in_statement2065
)
9043 self
.asm1_statement()
9044 self
.following
.pop()
9050 # C.g:527:4: asm_statement
9051 self
.following
.append(self
.FOLLOW_asm_statement_in_statement2070
)
9052 self
.asm_statement()
9053 self
.following
.pop()
9059 # C.g:528:4: declaration
9060 self
.following
.append(self
.FOLLOW_declaration_in_statement2075
)
9062 self
.following
.pop()
9068 except RecognitionException
, re
:
9069 self
.reportError(re
)
9070 self
.recover(self
.input, re
)
9072 if self
.backtracking
> 0:
9073 self
.memoize(self
.input, 60, statement_StartIndex
)
9079 # $ANTLR end statement
9082 # $ANTLR start asm2_statement
9083 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9084 def asm2_statement(self
, ):
9086 asm2_statement_StartIndex
= self
.input.index()
9089 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 61):
9092 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9093 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9094 # C.g:532:4: ( '__asm__' )?
9096 LA85_0
= self
.input.LA(1)
9098 if (LA85_0
== 103) :
9101 # C.g:0:0: '__asm__'
9102 self
.match(self
.input, 103, self
.FOLLOW_103_in_asm2_statement2086
)
9108 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_asm2_statement2089
)
9111 self
.match(self
.input, 62, self
.FOLLOW_62_in_asm2_statement2091
)
9114 # C.g:532:30: (~ ( ';' ) )*
9117 LA86_0
= self
.input.LA(1)
9120 LA86_1
= self
.input.LA(2)
9122 if ((IDENTIFIER
<= LA86_1
<= LINE_COMMAND
) or (26 <= LA86_1
<= 117)) :
9126 elif ((IDENTIFIER
<= LA86_0
<= LINE_COMMAND
) or (26 <= LA86_0
<= 62) or (64 <= LA86_0
<= 117)) :
9131 # C.g:532:31: ~ ( ';' )
9132 if (IDENTIFIER
<= self
.input.LA(1) <= LINE_COMMAND
) or (26 <= self
.input.LA(1) <= 117):
9133 self
.input.consume();
9134 self
.errorRecovery
= False
9138 if self
.backtracking
> 0:
9142 mse
= MismatchedSetException(None, self
.input)
9143 self
.recoverFromMismatchedSet(
9144 self
.input, mse
, self
.FOLLOW_set_in_asm2_statement2094
9155 self
.match(self
.input, 63, self
.FOLLOW_63_in_asm2_statement2101
)
9158 self
.match(self
.input, 25, self
.FOLLOW_25_in_asm2_statement2103
)
9165 except RecognitionException
, re
:
9166 self
.reportError(re
)
9167 self
.recover(self
.input, re
)
9169 if self
.backtracking
> 0:
9170 self
.memoize(self
.input, 61, asm2_statement_StartIndex
)
9176 # $ANTLR end asm2_statement
9179 # $ANTLR start asm1_statement
9180 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9181 def asm1_statement(self
, ):
9183 asm1_statement_StartIndex
= self
.input.index()
9186 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 62):
9189 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9190 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9191 self
.match(self
.input, 104, self
.FOLLOW_104_in_asm1_statement2115
)
9194 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm1_statement2117
)
9197 # C.g:536:15: (~ ( '}' ) )*
9200 LA87_0
= self
.input.LA(1)
9202 if ((IDENTIFIER
<= LA87_0
<= 43) or (45 <= LA87_0
<= 117)) :
9207 # C.g:536:16: ~ ( '}' )
9208 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 117):
9209 self
.input.consume();
9210 self
.errorRecovery
= False
9214 if self
.backtracking
> 0:
9218 mse
= MismatchedSetException(None, self
.input)
9219 self
.recoverFromMismatchedSet(
9220 self
.input, mse
, self
.FOLLOW_set_in_asm1_statement2120
9231 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm1_statement2127
)
9238 except RecognitionException
, re
:
9239 self
.reportError(re
)
9240 self
.recover(self
.input, re
)
9242 if self
.backtracking
> 0:
9243 self
.memoize(self
.input, 62, asm1_statement_StartIndex
)
9249 # $ANTLR end asm1_statement
9252 # $ANTLR start asm_statement
9253 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9254 def asm_statement(self
, ):
9256 asm_statement_StartIndex
= self
.input.index()
9259 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 63):
9262 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9263 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9264 self
.match(self
.input, 105, self
.FOLLOW_105_in_asm_statement2138
)
9267 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm_statement2140
)
9270 # C.g:540:16: (~ ( '}' ) )*
9273 LA88_0
= self
.input.LA(1)
9275 if ((IDENTIFIER
<= LA88_0
<= 43) or (45 <= LA88_0
<= 117)) :
9280 # C.g:540:17: ~ ( '}' )
9281 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 117):
9282 self
.input.consume();
9283 self
.errorRecovery
= False
9287 if self
.backtracking
> 0:
9291 mse
= MismatchedSetException(None, self
.input)
9292 self
.recoverFromMismatchedSet(
9293 self
.input, mse
, self
.FOLLOW_set_in_asm_statement2143
9304 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm_statement2150
)
9311 except RecognitionException
, re
:
9312 self
.reportError(re
)
9313 self
.recover(self
.input, re
)
9315 if self
.backtracking
> 0:
9316 self
.memoize(self
.input, 63, asm_statement_StartIndex
)
9322 # $ANTLR end asm_statement
9325 # $ANTLR start macro_statement
9326 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9327 def macro_statement(self
, ):
9329 macro_statement_StartIndex
= self
.input.index()
9332 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 64):
9335 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9336 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9337 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_macro_statement2162
)
9340 self
.match(self
.input, 62, self
.FOLLOW_62_in_macro_statement2164
)
9343 # C.g:544:19: ( declaration )*
9346 LA89
= self
.input.LA(1)
9347 if LA89
== IDENTIFIER
:
9348 LA89
= self
.input.LA(2)
9350 LA89_45
= self
.input.LA(3)
9352 if (self
.synpred181()) :
9356 elif LA89
== IDENTIFIER
:
9357 LA89_47
= self
.input.LA(3)
9359 if (self
.synpred181()) :
9364 LA89_50
= self
.input.LA(3)
9366 if (self
.synpred181()) :
9371 LA89_68
= self
.input.LA(3)
9373 if (self
.synpred181()) :
9378 LA89_71
= self
.input.LA(3)
9380 if (self
.synpred181()) :
9385 LA89_72
= self
.input.LA(3)
9387 if (self
.synpred181()) :
9392 LA89_73
= self
.input.LA(3)
9394 if (self
.synpred181()) :
9398 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9399 LA89_74
= self
.input.LA(3)
9401 if (self
.synpred181()) :
9406 LA89_75
= self
.input.LA(3)
9408 if (self
.synpred181()) :
9413 LA89_76
= self
.input.LA(3)
9415 if (self
.synpred181()) :
9420 LA89_77
= self
.input.LA(3)
9422 if (self
.synpred181()) :
9427 LA89_78
= self
.input.LA(3)
9429 if (self
.synpred181()) :
9434 LA89_79
= self
.input.LA(3)
9436 if (self
.synpred181()) :
9441 LA89_80
= self
.input.LA(3)
9443 if (self
.synpred181()) :
9448 LA89_81
= self
.input.LA(3)
9450 if (self
.synpred181()) :
9455 LA89_82
= self
.input.LA(3)
9457 if (self
.synpred181()) :
9462 LA89_83
= self
.input.LA(3)
9464 if (self
.synpred181()) :
9468 elif LA89
== 45 or LA89
== 46:
9469 LA89_84
= self
.input.LA(3)
9471 if (self
.synpred181()) :
9476 LA89_85
= self
.input.LA(3)
9478 if (self
.synpred181()) :
9482 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:
9483 LA89_86
= self
.input.LA(3)
9485 if (self
.synpred181()) :
9491 LA89
= self
.input.LA(2)
9492 if LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9493 LA89_87
= self
.input.LA(3)
9495 if (self
.synpred181()) :
9500 LA89_88
= self
.input.LA(3)
9502 if (self
.synpred181()) :
9507 LA89_89
= self
.input.LA(3)
9509 if (self
.synpred181()) :
9514 LA89_90
= self
.input.LA(3)
9516 if (self
.synpred181()) :
9521 LA89_91
= self
.input.LA(3)
9523 if (self
.synpred181()) :
9528 LA89_92
= self
.input.LA(3)
9530 if (self
.synpred181()) :
9535 LA89_93
= self
.input.LA(3)
9537 if (self
.synpred181()) :
9542 LA89_94
= self
.input.LA(3)
9544 if (self
.synpred181()) :
9549 LA89_95
= self
.input.LA(3)
9551 if (self
.synpred181()) :
9556 LA89_96
= self
.input.LA(3)
9558 if (self
.synpred181()) :
9562 elif LA89
== 45 or LA89
== 46:
9563 LA89_97
= self
.input.LA(3)
9565 if (self
.synpred181()) :
9570 LA89_98
= self
.input.LA(3)
9572 if (self
.synpred181()) :
9576 elif LA89
== IDENTIFIER
:
9577 LA89_99
= self
.input.LA(3)
9579 if (self
.synpred181()) :
9584 LA89_100
= self
.input.LA(3)
9586 if (self
.synpred181()) :
9591 LA89_101
= self
.input.LA(3)
9593 if (self
.synpred181()) :
9598 LA89_102
= self
.input.LA(3)
9600 if (self
.synpred181()) :
9605 LA89_103
= self
.input.LA(3)
9607 if (self
.synpred181()) :
9611 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:
9612 LA89_104
= self
.input.LA(3)
9614 if (self
.synpred181()) :
9619 LA89_105
= self
.input.LA(3)
9621 if (self
.synpred181()) :
9626 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9627 LA89
= self
.input.LA(2)
9629 LA89_106
= self
.input.LA(3)
9631 if (self
.synpred181()) :
9636 LA89_107
= self
.input.LA(3)
9638 if (self
.synpred181()) :
9643 LA89_108
= self
.input.LA(3)
9645 if (self
.synpred181()) :
9650 LA89_109
= self
.input.LA(3)
9652 if (self
.synpred181()) :
9656 elif LA89
== IDENTIFIER
:
9657 LA89_110
= self
.input.LA(3)
9659 if (self
.synpred181()) :
9664 LA89_111
= self
.input.LA(3)
9666 if (self
.synpred181()) :
9671 LA89_112
= self
.input.LA(3)
9673 if (self
.synpred181()) :
9677 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9678 LA89_113
= self
.input.LA(3)
9680 if (self
.synpred181()) :
9685 LA89_114
= self
.input.LA(3)
9687 if (self
.synpred181()) :
9692 LA89_115
= self
.input.LA(3)
9694 if (self
.synpred181()) :
9699 LA89_116
= self
.input.LA(3)
9701 if (self
.synpred181()) :
9706 LA89_117
= self
.input.LA(3)
9708 if (self
.synpred181()) :
9713 LA89_118
= self
.input.LA(3)
9715 if (self
.synpred181()) :
9720 LA89_119
= self
.input.LA(3)
9722 if (self
.synpred181()) :
9727 LA89_120
= self
.input.LA(3)
9729 if (self
.synpred181()) :
9734 LA89_121
= self
.input.LA(3)
9736 if (self
.synpred181()) :
9741 LA89_122
= self
.input.LA(3)
9743 if (self
.synpred181()) :
9747 elif LA89
== 45 or LA89
== 46:
9748 LA89_123
= self
.input.LA(3)
9750 if (self
.synpred181()) :
9755 LA89_124
= self
.input.LA(3)
9757 if (self
.synpred181()) :
9761 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:
9762 LA89_125
= self
.input.LA(3)
9764 if (self
.synpred181()) :
9770 LA89
= self
.input.LA(2)
9772 LA89_126
= self
.input.LA(3)
9774 if (self
.synpred181()) :
9779 LA89_127
= self
.input.LA(3)
9781 if (self
.synpred181()) :
9786 LA89_128
= self
.input.LA(3)
9788 if (self
.synpred181()) :
9793 LA89_129
= self
.input.LA(3)
9795 if (self
.synpred181()) :
9799 elif LA89
== IDENTIFIER
:
9800 LA89_130
= self
.input.LA(3)
9802 if (self
.synpred181()) :
9807 LA89_131
= self
.input.LA(3)
9809 if (self
.synpred181()) :
9814 LA89_132
= self
.input.LA(3)
9816 if (self
.synpred181()) :
9820 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9821 LA89_133
= self
.input.LA(3)
9823 if (self
.synpred181()) :
9828 LA89_134
= self
.input.LA(3)
9830 if (self
.synpred181()) :
9835 LA89_135
= self
.input.LA(3)
9837 if (self
.synpred181()) :
9842 LA89_136
= self
.input.LA(3)
9844 if (self
.synpred181()) :
9849 LA89_137
= self
.input.LA(3)
9851 if (self
.synpred181()) :
9856 LA89_138
= self
.input.LA(3)
9858 if (self
.synpred181()) :
9863 LA89_139
= self
.input.LA(3)
9865 if (self
.synpred181()) :
9870 LA89_140
= self
.input.LA(3)
9872 if (self
.synpred181()) :
9877 LA89_141
= self
.input.LA(3)
9879 if (self
.synpred181()) :
9884 LA89_142
= self
.input.LA(3)
9886 if (self
.synpred181()) :
9890 elif LA89
== 45 or LA89
== 46:
9891 LA89_143
= self
.input.LA(3)
9893 if (self
.synpred181()) :
9898 LA89_144
= self
.input.LA(3)
9900 if (self
.synpred181()) :
9904 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:
9905 LA89_145
= self
.input.LA(3)
9907 if (self
.synpred181()) :
9913 LA89
= self
.input.LA(2)
9915 LA89_146
= self
.input.LA(3)
9917 if (self
.synpred181()) :
9922 LA89_147
= self
.input.LA(3)
9924 if (self
.synpred181()) :
9929 LA89_148
= self
.input.LA(3)
9931 if (self
.synpred181()) :
9936 LA89_149
= self
.input.LA(3)
9938 if (self
.synpred181()) :
9942 elif LA89
== IDENTIFIER
:
9943 LA89_150
= self
.input.LA(3)
9945 if (self
.synpred181()) :
9950 LA89_151
= self
.input.LA(3)
9952 if (self
.synpred181()) :
9957 LA89_152
= self
.input.LA(3)
9959 if (self
.synpred181()) :
9963 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9964 LA89_153
= self
.input.LA(3)
9966 if (self
.synpred181()) :
9971 LA89_154
= self
.input.LA(3)
9973 if (self
.synpred181()) :
9978 LA89_155
= self
.input.LA(3)
9980 if (self
.synpred181()) :
9985 LA89_156
= self
.input.LA(3)
9987 if (self
.synpred181()) :
9992 LA89_157
= self
.input.LA(3)
9994 if (self
.synpred181()) :
9999 LA89_158
= self
.input.LA(3)
10001 if (self
.synpred181()) :
10006 LA89_159
= self
.input.LA(3)
10008 if (self
.synpred181()) :
10013 LA89_160
= self
.input.LA(3)
10015 if (self
.synpred181()) :
10020 LA89_161
= self
.input.LA(3)
10022 if (self
.synpred181()) :
10027 LA89_162
= self
.input.LA(3)
10029 if (self
.synpred181()) :
10033 elif LA89
== 45 or LA89
== 46:
10034 LA89_163
= self
.input.LA(3)
10036 if (self
.synpred181()) :
10041 LA89_164
= self
.input.LA(3)
10043 if (self
.synpred181()) :
10047 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:
10048 LA89_165
= self
.input.LA(3)
10050 if (self
.synpred181()) :
10056 LA89
= self
.input.LA(2)
10058 LA89_166
= self
.input.LA(3)
10060 if (self
.synpred181()) :
10065 LA89_167
= self
.input.LA(3)
10067 if (self
.synpred181()) :
10072 LA89_168
= self
.input.LA(3)
10074 if (self
.synpred181()) :
10079 LA89_169
= self
.input.LA(3)
10081 if (self
.synpred181()) :
10085 elif LA89
== IDENTIFIER
:
10086 LA89_170
= self
.input.LA(3)
10088 if (self
.synpred181()) :
10093 LA89_171
= self
.input.LA(3)
10095 if (self
.synpred181()) :
10100 LA89_172
= self
.input.LA(3)
10102 if (self
.synpred181()) :
10106 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10107 LA89_173
= self
.input.LA(3)
10109 if (self
.synpred181()) :
10114 LA89_174
= self
.input.LA(3)
10116 if (self
.synpred181()) :
10121 LA89_175
= self
.input.LA(3)
10123 if (self
.synpred181()) :
10128 LA89_176
= self
.input.LA(3)
10130 if (self
.synpred181()) :
10135 LA89_177
= self
.input.LA(3)
10137 if (self
.synpred181()) :
10142 LA89_178
= self
.input.LA(3)
10144 if (self
.synpred181()) :
10149 LA89_179
= self
.input.LA(3)
10151 if (self
.synpred181()) :
10156 LA89_180
= self
.input.LA(3)
10158 if (self
.synpred181()) :
10163 LA89_181
= self
.input.LA(3)
10165 if (self
.synpred181()) :
10170 LA89_182
= self
.input.LA(3)
10172 if (self
.synpred181()) :
10176 elif LA89
== 45 or LA89
== 46:
10177 LA89_183
= self
.input.LA(3)
10179 if (self
.synpred181()) :
10184 LA89_184
= self
.input.LA(3)
10186 if (self
.synpred181()) :
10190 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:
10191 LA89_185
= self
.input.LA(3)
10193 if (self
.synpred181()) :
10199 LA89
= self
.input.LA(2)
10201 LA89_186
= self
.input.LA(3)
10203 if (self
.synpred181()) :
10208 LA89_187
= self
.input.LA(3)
10210 if (self
.synpred181()) :
10215 LA89_188
= self
.input.LA(3)
10217 if (self
.synpred181()) :
10222 LA89_189
= self
.input.LA(3)
10224 if (self
.synpred181()) :
10228 elif LA89
== IDENTIFIER
:
10229 LA89_190
= self
.input.LA(3)
10231 if (self
.synpred181()) :
10236 LA89_191
= self
.input.LA(3)
10238 if (self
.synpred181()) :
10243 LA89_192
= self
.input.LA(3)
10245 if (self
.synpred181()) :
10249 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10250 LA89_193
= self
.input.LA(3)
10252 if (self
.synpred181()) :
10257 LA89_194
= self
.input.LA(3)
10259 if (self
.synpred181()) :
10264 LA89_195
= self
.input.LA(3)
10266 if (self
.synpred181()) :
10271 LA89_196
= self
.input.LA(3)
10273 if (self
.synpred181()) :
10278 LA89_197
= self
.input.LA(3)
10280 if (self
.synpred181()) :
10285 LA89_198
= self
.input.LA(3)
10287 if (self
.synpred181()) :
10292 LA89_199
= self
.input.LA(3)
10294 if (self
.synpred181()) :
10299 LA89_200
= self
.input.LA(3)
10301 if (self
.synpred181()) :
10306 LA89_201
= self
.input.LA(3)
10308 if (self
.synpred181()) :
10313 LA89_202
= self
.input.LA(3)
10315 if (self
.synpred181()) :
10319 elif LA89
== 45 or LA89
== 46:
10320 LA89_203
= self
.input.LA(3)
10322 if (self
.synpred181()) :
10327 LA89_204
= self
.input.LA(3)
10329 if (self
.synpred181()) :
10333 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:
10334 LA89_205
= self
.input.LA(3)
10336 if (self
.synpred181()) :
10342 LA89
= self
.input.LA(2)
10344 LA89_206
= self
.input.LA(3)
10346 if (self
.synpred181()) :
10351 LA89_207
= self
.input.LA(3)
10353 if (self
.synpred181()) :
10358 LA89_208
= self
.input.LA(3)
10360 if (self
.synpred181()) :
10365 LA89_209
= self
.input.LA(3)
10367 if (self
.synpred181()) :
10371 elif LA89
== IDENTIFIER
:
10372 LA89_210
= self
.input.LA(3)
10374 if (self
.synpred181()) :
10379 LA89_211
= self
.input.LA(3)
10381 if (self
.synpred181()) :
10386 LA89_212
= self
.input.LA(3)
10388 if (self
.synpred181()) :
10392 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10393 LA89_213
= self
.input.LA(3)
10395 if (self
.synpred181()) :
10400 LA89_214
= self
.input.LA(3)
10402 if (self
.synpred181()) :
10407 LA89_215
= self
.input.LA(3)
10409 if (self
.synpred181()) :
10414 LA89_216
= self
.input.LA(3)
10416 if (self
.synpred181()) :
10421 LA89_217
= self
.input.LA(3)
10423 if (self
.synpred181()) :
10428 LA89_218
= self
.input.LA(3)
10430 if (self
.synpred181()) :
10435 LA89_219
= self
.input.LA(3)
10437 if (self
.synpred181()) :
10442 LA89_220
= self
.input.LA(3)
10444 if (self
.synpred181()) :
10449 LA89_221
= self
.input.LA(3)
10451 if (self
.synpred181()) :
10456 LA89_222
= self
.input.LA(3)
10458 if (self
.synpred181()) :
10462 elif LA89
== 45 or LA89
== 46:
10463 LA89_223
= self
.input.LA(3)
10465 if (self
.synpred181()) :
10470 LA89_224
= self
.input.LA(3)
10472 if (self
.synpred181()) :
10476 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:
10477 LA89_225
= self
.input.LA(3)
10479 if (self
.synpred181()) :
10485 LA89
= self
.input.LA(2)
10487 LA89_226
= self
.input.LA(3)
10489 if (self
.synpred181()) :
10494 LA89_227
= self
.input.LA(3)
10496 if (self
.synpred181()) :
10501 LA89_228
= self
.input.LA(3)
10503 if (self
.synpred181()) :
10508 LA89_229
= self
.input.LA(3)
10510 if (self
.synpred181()) :
10514 elif LA89
== IDENTIFIER
:
10515 LA89_230
= self
.input.LA(3)
10517 if (self
.synpred181()) :
10522 LA89_231
= self
.input.LA(3)
10524 if (self
.synpred181()) :
10529 LA89_232
= self
.input.LA(3)
10531 if (self
.synpred181()) :
10535 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10536 LA89_233
= self
.input.LA(3)
10538 if (self
.synpred181()) :
10543 LA89_234
= self
.input.LA(3)
10545 if (self
.synpred181()) :
10550 LA89_235
= self
.input.LA(3)
10552 if (self
.synpred181()) :
10557 LA89_236
= self
.input.LA(3)
10559 if (self
.synpred181()) :
10564 LA89_237
= self
.input.LA(3)
10566 if (self
.synpred181()) :
10571 LA89_238
= self
.input.LA(3)
10573 if (self
.synpred181()) :
10578 LA89_239
= self
.input.LA(3)
10580 if (self
.synpred181()) :
10585 LA89_240
= self
.input.LA(3)
10587 if (self
.synpred181()) :
10592 LA89_241
= self
.input.LA(3)
10594 if (self
.synpred181()) :
10599 LA89_242
= self
.input.LA(3)
10601 if (self
.synpred181()) :
10605 elif LA89
== 45 or LA89
== 46:
10606 LA89_243
= self
.input.LA(3)
10608 if (self
.synpred181()) :
10613 LA89_244
= self
.input.LA(3)
10615 if (self
.synpred181()) :
10619 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:
10620 LA89_245
= self
.input.LA(3)
10622 if (self
.synpred181()) :
10628 LA89
= self
.input.LA(2)
10630 LA89_246
= self
.input.LA(3)
10632 if (self
.synpred181()) :
10637 LA89_247
= self
.input.LA(3)
10639 if (self
.synpred181()) :
10644 LA89_248
= self
.input.LA(3)
10646 if (self
.synpred181()) :
10651 LA89_249
= self
.input.LA(3)
10653 if (self
.synpred181()) :
10657 elif LA89
== IDENTIFIER
:
10658 LA89_250
= self
.input.LA(3)
10660 if (self
.synpred181()) :
10665 LA89_251
= self
.input.LA(3)
10667 if (self
.synpred181()) :
10672 LA89_252
= self
.input.LA(3)
10674 if (self
.synpred181()) :
10678 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10679 LA89_253
= self
.input.LA(3)
10681 if (self
.synpred181()) :
10686 LA89_254
= self
.input.LA(3)
10688 if (self
.synpred181()) :
10693 LA89_255
= self
.input.LA(3)
10695 if (self
.synpred181()) :
10700 LA89_256
= self
.input.LA(3)
10702 if (self
.synpred181()) :
10707 LA89_257
= self
.input.LA(3)
10709 if (self
.synpred181()) :
10714 LA89_258
= self
.input.LA(3)
10716 if (self
.synpred181()) :
10721 LA89_259
= self
.input.LA(3)
10723 if (self
.synpred181()) :
10728 LA89_260
= self
.input.LA(3)
10730 if (self
.synpred181()) :
10735 LA89_261
= self
.input.LA(3)
10737 if (self
.synpred181()) :
10742 LA89_262
= self
.input.LA(3)
10744 if (self
.synpred181()) :
10748 elif LA89
== 45 or LA89
== 46:
10749 LA89_263
= self
.input.LA(3)
10751 if (self
.synpred181()) :
10756 LA89_264
= self
.input.LA(3)
10758 if (self
.synpred181()) :
10762 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:
10763 LA89_265
= self
.input.LA(3)
10765 if (self
.synpred181()) :
10771 LA89
= self
.input.LA(2)
10773 LA89_266
= self
.input.LA(3)
10775 if (self
.synpred181()) :
10780 LA89_267
= self
.input.LA(3)
10782 if (self
.synpred181()) :
10787 LA89_268
= self
.input.LA(3)
10789 if (self
.synpred181()) :
10794 LA89_269
= self
.input.LA(3)
10796 if (self
.synpred181()) :
10800 elif LA89
== IDENTIFIER
:
10801 LA89_270
= self
.input.LA(3)
10803 if (self
.synpred181()) :
10808 LA89_271
= self
.input.LA(3)
10810 if (self
.synpred181()) :
10815 LA89_272
= self
.input.LA(3)
10817 if (self
.synpred181()) :
10821 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10822 LA89_273
= self
.input.LA(3)
10824 if (self
.synpred181()) :
10829 LA89_274
= self
.input.LA(3)
10831 if (self
.synpred181()) :
10836 LA89_275
= self
.input.LA(3)
10838 if (self
.synpred181()) :
10843 LA89_276
= self
.input.LA(3)
10845 if (self
.synpred181()) :
10850 LA89_277
= self
.input.LA(3)
10852 if (self
.synpred181()) :
10857 LA89_278
= self
.input.LA(3)
10859 if (self
.synpred181()) :
10864 LA89_279
= self
.input.LA(3)
10866 if (self
.synpred181()) :
10871 LA89_280
= self
.input.LA(3)
10873 if (self
.synpred181()) :
10878 LA89_281
= self
.input.LA(3)
10880 if (self
.synpred181()) :
10885 LA89_282
= self
.input.LA(3)
10887 if (self
.synpred181()) :
10891 elif LA89
== 45 or LA89
== 46:
10892 LA89_283
= self
.input.LA(3)
10894 if (self
.synpred181()) :
10899 LA89_284
= self
.input.LA(3)
10901 if (self
.synpred181()) :
10905 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:
10906 LA89_285
= self
.input.LA(3)
10908 if (self
.synpred181()) :
10914 LA89
= self
.input.LA(2)
10916 LA89_286
= self
.input.LA(3)
10918 if (self
.synpred181()) :
10923 LA89_287
= self
.input.LA(3)
10925 if (self
.synpred181()) :
10930 LA89_288
= self
.input.LA(3)
10932 if (self
.synpred181()) :
10937 LA89_289
= self
.input.LA(3)
10939 if (self
.synpred181()) :
10943 elif LA89
== IDENTIFIER
:
10944 LA89_290
= self
.input.LA(3)
10946 if (self
.synpred181()) :
10951 LA89_291
= self
.input.LA(3)
10953 if (self
.synpred181()) :
10958 LA89_292
= self
.input.LA(3)
10960 if (self
.synpred181()) :
10964 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10965 LA89_293
= self
.input.LA(3)
10967 if (self
.synpred181()) :
10972 LA89_294
= self
.input.LA(3)
10974 if (self
.synpred181()) :
10979 LA89_295
= self
.input.LA(3)
10981 if (self
.synpred181()) :
10986 LA89_296
= self
.input.LA(3)
10988 if (self
.synpred181()) :
10993 LA89_297
= self
.input.LA(3)
10995 if (self
.synpred181()) :
11000 LA89_298
= self
.input.LA(3)
11002 if (self
.synpred181()) :
11007 LA89_299
= self
.input.LA(3)
11009 if (self
.synpred181()) :
11014 LA89_300
= self
.input.LA(3)
11016 if (self
.synpred181()) :
11021 LA89_301
= self
.input.LA(3)
11023 if (self
.synpred181()) :
11028 LA89_302
= self
.input.LA(3)
11030 if (self
.synpred181()) :
11034 elif LA89
== 45 or LA89
== 46:
11035 LA89_303
= self
.input.LA(3)
11037 if (self
.synpred181()) :
11042 LA89_304
= self
.input.LA(3)
11044 if (self
.synpred181()) :
11048 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:
11049 LA89_305
= self
.input.LA(3)
11051 if (self
.synpred181()) :
11056 elif LA89
== 45 or LA89
== 46:
11057 LA89_40
= self
.input.LA(2)
11059 if (LA89_40
== IDENTIFIER
) :
11060 LA89_306
= self
.input.LA(3)
11062 if (self
.synpred181()) :
11066 elif (LA89_40
== 43) :
11067 LA89_307
= self
.input.LA(3)
11069 if (self
.synpred181()) :
11076 LA89_41
= self
.input.LA(2)
11078 if (LA89_41
== 43) :
11079 LA89_308
= self
.input.LA(3)
11081 if (self
.synpred181()) :
11085 elif (LA89_41
== IDENTIFIER
) :
11086 LA89_309
= self
.input.LA(3)
11088 if (self
.synpred181()) :
11094 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:
11095 LA89
= self
.input.LA(2)
11097 LA89_310
= self
.input.LA(3)
11099 if (self
.synpred181()) :
11104 LA89_311
= self
.input.LA(3)
11106 if (self
.synpred181()) :
11111 LA89_312
= self
.input.LA(3)
11113 if (self
.synpred181()) :
11118 LA89_313
= self
.input.LA(3)
11120 if (self
.synpred181()) :
11124 elif LA89
== IDENTIFIER
:
11125 LA89_314
= self
.input.LA(3)
11127 if (self
.synpred181()) :
11132 LA89_315
= self
.input.LA(3)
11134 if (self
.synpred181()) :
11139 LA89_316
= self
.input.LA(3)
11141 if (self
.synpred181()) :
11145 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
11146 LA89_317
= self
.input.LA(3)
11148 if (self
.synpred181()) :
11153 LA89_318
= self
.input.LA(3)
11155 if (self
.synpred181()) :
11160 LA89_319
= self
.input.LA(3)
11162 if (self
.synpred181()) :
11167 LA89_320
= self
.input.LA(3)
11169 if (self
.synpred181()) :
11174 LA89_321
= self
.input.LA(3)
11176 if (self
.synpred181()) :
11181 LA89_322
= self
.input.LA(3)
11183 if (self
.synpred181()) :
11188 LA89_323
= self
.input.LA(3)
11190 if (self
.synpred181()) :
11195 LA89_324
= self
.input.LA(3)
11197 if (self
.synpred181()) :
11202 LA89_325
= self
.input.LA(3)
11204 if (self
.synpred181()) :
11209 LA89_326
= self
.input.LA(3)
11211 if (self
.synpred181()) :
11215 elif LA89
== 45 or LA89
== 46:
11216 LA89_327
= self
.input.LA(3)
11218 if (self
.synpred181()) :
11223 LA89_328
= self
.input.LA(3)
11225 if (self
.synpred181()) :
11229 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:
11230 LA89_329
= self
.input.LA(3)
11232 if (self
.synpred181()) :
11239 # C.g:0:0: declaration
11240 self
.following
.append(self
.FOLLOW_declaration_in_macro_statement2166
)
11242 self
.following
.pop()
11251 # C.g:544:33: ( statement_list )?
11253 LA90
= self
.input.LA(1)
11254 if LA90
== IDENTIFIER
:
11255 LA90
= self
.input.LA(2)
11256 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:
11259 LA90_45
= self
.input.LA(3)
11261 if (self
.synpred182()) :
11263 elif LA90
== STRING_LITERAL
:
11264 LA90_46
= self
.input.LA(3)
11266 if (self
.synpred182()) :
11268 elif LA90
== IDENTIFIER
:
11269 LA90_47
= self
.input.LA(3)
11271 if (self
.synpred182()) :
11274 LA90_48
= self
.input.LA(3)
11276 if (self
.synpred182()) :
11279 LA90_49
= self
.input.LA(3)
11281 if (self
.synpred182()) :
11284 LA90_50
= self
.input.LA(3)
11286 if (self
.synpred182()) :
11289 LA90_51
= self
.input.LA(3)
11291 if (self
.synpred182()) :
11294 LA90_52
= self
.input.LA(3)
11296 if (self
.synpred182()) :
11299 LA90_53
= self
.input.LA(3)
11301 if (self
.synpred182()) :
11304 LA90_54
= self
.input.LA(3)
11306 if (self
.synpred182()) :
11309 LA90_55
= self
.input.LA(3)
11311 if (self
.synpred182()) :
11314 LA90_56
= self
.input.LA(3)
11316 if (self
.synpred182()) :
11319 LA90_57
= self
.input.LA(3)
11321 if (self
.synpred182()) :
11323 elif LA90
== 101 or LA90
== 102:
11324 LA90_58
= self
.input.LA(3)
11326 if (self
.synpred182()) :
11328 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11329 LA90_59
= self
.input.LA(3)
11331 if (self
.synpred182()) :
11333 elif LA90
== 95 or LA90
== 96:
11334 LA90_60
= self
.input.LA(3)
11336 if (self
.synpred182()) :
11339 LA90_61
= self
.input.LA(3)
11341 if (self
.synpred182()) :
11344 LA90_62
= self
.input.LA(3)
11346 if (self
.synpred182()) :
11349 LA90_63
= self
.input.LA(3)
11351 if (self
.synpred182()) :
11354 LA90_64
= self
.input.LA(3)
11356 if (self
.synpred182()) :
11359 LA90_65
= self
.input.LA(3)
11361 if (self
.synpred182()) :
11364 LA90_66
= self
.input.LA(3)
11366 if (self
.synpred182()) :
11369 LA90_67
= self
.input.LA(3)
11371 if (self
.synpred182()) :
11373 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:
11374 LA90_70
= self
.input.LA(3)
11376 if (self
.synpred182()) :
11378 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:
11380 elif LA90
== HEX_LITERAL
:
11381 LA90
= self
.input.LA(2)
11383 LA90_87
= self
.input.LA(3)
11385 if (self
.synpred182()) :
11388 LA90_88
= self
.input.LA(3)
11390 if (self
.synpred182()) :
11393 LA90_89
= self
.input.LA(3)
11395 if (self
.synpred182()) :
11398 LA90_90
= self
.input.LA(3)
11400 if (self
.synpred182()) :
11403 LA90_91
= self
.input.LA(3)
11405 if (self
.synpred182()) :
11408 LA90_92
= self
.input.LA(3)
11410 if (self
.synpred182()) :
11413 LA90_93
= self
.input.LA(3)
11415 if (self
.synpred182()) :
11417 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:
11418 LA90_94
= self
.input.LA(3)
11420 if (self
.synpred182()) :
11423 LA90_95
= self
.input.LA(3)
11425 if (self
.synpred182()) :
11428 LA90_96
= self
.input.LA(3)
11430 if (self
.synpred182()) :
11433 LA90_97
= self
.input.LA(3)
11435 if (self
.synpred182()) :
11438 LA90_98
= self
.input.LA(3)
11440 if (self
.synpred182()) :
11442 elif LA90
== 101 or LA90
== 102:
11443 LA90_99
= self
.input.LA(3)
11445 if (self
.synpred182()) :
11447 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11448 LA90_100
= self
.input.LA(3)
11450 if (self
.synpred182()) :
11452 elif LA90
== 95 or LA90
== 96:
11453 LA90_101
= self
.input.LA(3)
11455 if (self
.synpred182()) :
11458 LA90_102
= self
.input.LA(3)
11460 if (self
.synpred182()) :
11463 LA90_103
= self
.input.LA(3)
11465 if (self
.synpred182()) :
11468 LA90_104
= self
.input.LA(3)
11470 if (self
.synpred182()) :
11473 LA90_105
= self
.input.LA(3)
11475 if (self
.synpred182()) :
11478 LA90_106
= self
.input.LA(3)
11480 if (self
.synpred182()) :
11483 LA90_107
= self
.input.LA(3)
11485 if (self
.synpred182()) :
11488 LA90_108
= self
.input.LA(3)
11490 if (self
.synpred182()) :
11494 elif LA90
== OCTAL_LITERAL
:
11495 LA90
= self
.input.LA(2)
11497 LA90_111
= self
.input.LA(3)
11499 if (self
.synpred182()) :
11502 LA90_112
= self
.input.LA(3)
11504 if (self
.synpred182()) :
11507 LA90_113
= self
.input.LA(3)
11509 if (self
.synpred182()) :
11512 LA90_114
= self
.input.LA(3)
11514 if (self
.synpred182()) :
11517 LA90_115
= self
.input.LA(3)
11519 if (self
.synpred182()) :
11522 LA90_116
= self
.input.LA(3)
11524 if (self
.synpred182()) :
11527 LA90_117
= self
.input.LA(3)
11529 if (self
.synpred182()) :
11532 LA90_118
= self
.input.LA(3)
11534 if (self
.synpred182()) :
11537 LA90_119
= self
.input.LA(3)
11539 if (self
.synpred182()) :
11542 LA90_120
= self
.input.LA(3)
11544 if (self
.synpred182()) :
11547 LA90_121
= self
.input.LA(3)
11549 if (self
.synpred182()) :
11551 elif LA90
== 101 or LA90
== 102:
11552 LA90_122
= self
.input.LA(3)
11554 if (self
.synpred182()) :
11556 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11557 LA90_123
= self
.input.LA(3)
11559 if (self
.synpred182()) :
11561 elif LA90
== 95 or LA90
== 96:
11562 LA90_124
= self
.input.LA(3)
11564 if (self
.synpred182()) :
11567 LA90_125
= self
.input.LA(3)
11569 if (self
.synpred182()) :
11572 LA90_126
= self
.input.LA(3)
11574 if (self
.synpred182()) :
11577 LA90_127
= self
.input.LA(3)
11579 if (self
.synpred182()) :
11582 LA90_128
= self
.input.LA(3)
11584 if (self
.synpred182()) :
11587 LA90_129
= self
.input.LA(3)
11589 if (self
.synpred182()) :
11592 LA90_130
= self
.input.LA(3)
11594 if (self
.synpred182()) :
11597 LA90_131
= self
.input.LA(3)
11599 if (self
.synpred182()) :
11603 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:
11604 LA90_134
= self
.input.LA(3)
11606 if (self
.synpred182()) :
11608 elif LA90
== DECIMAL_LITERAL
:
11609 LA90
= self
.input.LA(2)
11611 LA90_135
= self
.input.LA(3)
11613 if (self
.synpred182()) :
11616 LA90_136
= self
.input.LA(3)
11618 if (self
.synpred182()) :
11621 LA90_137
= self
.input.LA(3)
11623 if (self
.synpred182()) :
11626 LA90_138
= self
.input.LA(3)
11628 if (self
.synpred182()) :
11631 LA90_139
= self
.input.LA(3)
11633 if (self
.synpred182()) :
11636 LA90_140
= self
.input.LA(3)
11638 if (self
.synpred182()) :
11641 LA90_141
= self
.input.LA(3)
11643 if (self
.synpred182()) :
11645 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:
11646 LA90_142
= self
.input.LA(3)
11648 if (self
.synpred182()) :
11651 LA90_143
= self
.input.LA(3)
11653 if (self
.synpred182()) :
11656 LA90_144
= self
.input.LA(3)
11658 if (self
.synpred182()) :
11661 LA90_145
= self
.input.LA(3)
11663 if (self
.synpred182()) :
11666 LA90_146
= self
.input.LA(3)
11668 if (self
.synpred182()) :
11670 elif LA90
== 101 or LA90
== 102:
11671 LA90_147
= self
.input.LA(3)
11673 if (self
.synpred182()) :
11675 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11676 LA90_148
= self
.input.LA(3)
11678 if (self
.synpred182()) :
11680 elif LA90
== 95 or LA90
== 96:
11681 LA90_149
= self
.input.LA(3)
11683 if (self
.synpred182()) :
11686 LA90_150
= self
.input.LA(3)
11688 if (self
.synpred182()) :
11691 LA90_151
= self
.input.LA(3)
11693 if (self
.synpred182()) :
11696 LA90_152
= self
.input.LA(3)
11698 if (self
.synpred182()) :
11701 LA90_153
= self
.input.LA(3)
11703 if (self
.synpred182()) :
11706 LA90_154
= self
.input.LA(3)
11708 if (self
.synpred182()) :
11711 LA90_155
= self
.input.LA(3)
11713 if (self
.synpred182()) :
11716 LA90_156
= self
.input.LA(3)
11718 if (self
.synpred182()) :
11722 elif LA90
== CHARACTER_LITERAL
:
11723 LA90
= self
.input.LA(2)
11725 LA90_159
= self
.input.LA(3)
11727 if (self
.synpred182()) :
11730 LA90_160
= self
.input.LA(3)
11732 if (self
.synpred182()) :
11735 LA90_161
= self
.input.LA(3)
11737 if (self
.synpred182()) :
11740 LA90_162
= self
.input.LA(3)
11742 if (self
.synpred182()) :
11745 LA90_163
= self
.input.LA(3)
11747 if (self
.synpred182()) :
11750 LA90_164
= self
.input.LA(3)
11752 if (self
.synpred182()) :
11755 LA90_165
= self
.input.LA(3)
11757 if (self
.synpred182()) :
11760 LA90_166
= self
.input.LA(3)
11762 if (self
.synpred182()) :
11765 LA90_167
= self
.input.LA(3)
11767 if (self
.synpred182()) :
11770 LA90_168
= self
.input.LA(3)
11772 if (self
.synpred182()) :
11775 LA90_169
= self
.input.LA(3)
11777 if (self
.synpred182()) :
11779 elif LA90
== 101 or LA90
== 102:
11780 LA90_170
= self
.input.LA(3)
11782 if (self
.synpred182()) :
11784 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11785 LA90_171
= self
.input.LA(3)
11787 if (self
.synpred182()) :
11789 elif LA90
== 95 or LA90
== 96:
11790 LA90_172
= self
.input.LA(3)
11792 if (self
.synpred182()) :
11795 LA90_173
= self
.input.LA(3)
11797 if (self
.synpred182()) :
11800 LA90_174
= self
.input.LA(3)
11802 if (self
.synpred182()) :
11805 LA90_175
= self
.input.LA(3)
11807 if (self
.synpred182()) :
11810 LA90_176
= self
.input.LA(3)
11812 if (self
.synpred182()) :
11815 LA90_177
= self
.input.LA(3)
11817 if (self
.synpred182()) :
11820 LA90_178
= self
.input.LA(3)
11822 if (self
.synpred182()) :
11825 LA90_179
= self
.input.LA(3)
11827 if (self
.synpred182()) :
11831 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:
11832 LA90_181
= self
.input.LA(3)
11834 if (self
.synpred182()) :
11836 elif LA90
== STRING_LITERAL
:
11837 LA90
= self
.input.LA(2)
11838 if LA90
== IDENTIFIER
:
11839 LA90_183
= self
.input.LA(3)
11841 if (self
.synpred182()) :
11844 LA90_184
= self
.input.LA(3)
11846 if (self
.synpred182()) :
11849 LA90_185
= self
.input.LA(3)
11851 if (self
.synpred182()) :
11854 LA90_186
= self
.input.LA(3)
11856 if (self
.synpred182()) :
11859 LA90_187
= self
.input.LA(3)
11861 if (self
.synpred182()) :
11864 LA90_188
= self
.input.LA(3)
11866 if (self
.synpred182()) :
11869 LA90_189
= self
.input.LA(3)
11871 if (self
.synpred182()) :
11874 LA90_190
= self
.input.LA(3)
11876 if (self
.synpred182()) :
11878 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:
11879 LA90_191
= self
.input.LA(3)
11881 if (self
.synpred182()) :
11883 elif LA90
== STRING_LITERAL
:
11884 LA90_192
= self
.input.LA(3)
11886 if (self
.synpred182()) :
11889 LA90_193
= self
.input.LA(3)
11891 if (self
.synpred182()) :
11894 LA90_194
= self
.input.LA(3)
11896 if (self
.synpred182()) :
11899 LA90_195
= self
.input.LA(3)
11901 if (self
.synpred182()) :
11904 LA90_196
= self
.input.LA(3)
11906 if (self
.synpred182()) :
11908 elif LA90
== 101 or LA90
== 102:
11909 LA90_197
= self
.input.LA(3)
11911 if (self
.synpred182()) :
11913 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11914 LA90_198
= self
.input.LA(3)
11916 if (self
.synpred182()) :
11918 elif LA90
== 95 or LA90
== 96:
11919 LA90_199
= self
.input.LA(3)
11921 if (self
.synpred182()) :
11924 LA90_200
= self
.input.LA(3)
11926 if (self
.synpred182()) :
11929 LA90_201
= self
.input.LA(3)
11931 if (self
.synpred182()) :
11934 LA90_202
= self
.input.LA(3)
11936 if (self
.synpred182()) :
11939 LA90_203
= self
.input.LA(3)
11941 if (self
.synpred182()) :
11944 LA90_204
= self
.input.LA(3)
11946 if (self
.synpred182()) :
11949 LA90_205
= self
.input.LA(3)
11951 if (self
.synpred182()) :
11954 LA90_206
= self
.input.LA(3)
11956 if (self
.synpred182()) :
11960 elif LA90
== FLOATING_POINT_LITERAL
:
11961 LA90
= self
.input.LA(2)
11963 LA90_209
= self
.input.LA(3)
11965 if (self
.synpred182()) :
11968 LA90_210
= self
.input.LA(3)
11970 if (self
.synpred182()) :
11973 LA90_211
= self
.input.LA(3)
11975 if (self
.synpred182()) :
11978 LA90_212
= self
.input.LA(3)
11980 if (self
.synpred182()) :
11983 LA90_213
= self
.input.LA(3)
11985 if (self
.synpred182()) :
11988 LA90_214
= self
.input.LA(3)
11990 if (self
.synpred182()) :
11993 LA90_215
= self
.input.LA(3)
11995 if (self
.synpred182()) :
11997 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:
11998 LA90_216
= self
.input.LA(3)
12000 if (self
.synpred182()) :
12003 LA90_217
= self
.input.LA(3)
12005 if (self
.synpred182()) :
12008 LA90_218
= self
.input.LA(3)
12010 if (self
.synpred182()) :
12013 LA90_219
= self
.input.LA(3)
12015 if (self
.synpred182()) :
12018 LA90_220
= self
.input.LA(3)
12020 if (self
.synpred182()) :
12022 elif LA90
== 101 or LA90
== 102:
12023 LA90_221
= self
.input.LA(3)
12025 if (self
.synpred182()) :
12027 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
12028 LA90_222
= self
.input.LA(3)
12030 if (self
.synpred182()) :
12032 elif LA90
== 95 or LA90
== 96:
12033 LA90_223
= self
.input.LA(3)
12035 if (self
.synpred182()) :
12038 LA90_224
= self
.input.LA(3)
12040 if (self
.synpred182()) :
12043 LA90_225
= self
.input.LA(3)
12045 if (self
.synpred182()) :
12048 LA90_226
= self
.input.LA(3)
12050 if (self
.synpred182()) :
12053 LA90_227
= self
.input.LA(3)
12055 if (self
.synpred182()) :
12058 LA90_228
= self
.input.LA(3)
12060 if (self
.synpred182()) :
12063 LA90_229
= self
.input.LA(3)
12065 if (self
.synpred182()) :
12068 LA90_230
= self
.input.LA(3)
12070 if (self
.synpred182()) :
12075 LA90
= self
.input.LA(2)
12076 if LA90
== IDENTIFIER
:
12077 LA90_233
= self
.input.LA(3)
12079 if (self
.synpred182()) :
12081 elif LA90
== HEX_LITERAL
:
12082 LA90_234
= self
.input.LA(3)
12084 if (self
.synpred182()) :
12086 elif LA90
== OCTAL_LITERAL
:
12087 LA90_235
= self
.input.LA(3)
12089 if (self
.synpred182()) :
12091 elif LA90
== DECIMAL_LITERAL
:
12092 LA90_236
= self
.input.LA(3)
12094 if (self
.synpred182()) :
12096 elif LA90
== CHARACTER_LITERAL
:
12097 LA90_237
= self
.input.LA(3)
12099 if (self
.synpred182()) :
12101 elif LA90
== STRING_LITERAL
:
12102 LA90_238
= self
.input.LA(3)
12104 if (self
.synpred182()) :
12106 elif LA90
== FLOATING_POINT_LITERAL
:
12107 LA90_239
= self
.input.LA(3)
12109 if (self
.synpred182()) :
12112 LA90_240
= self
.input.LA(3)
12114 if (self
.synpred182()) :
12117 LA90_241
= self
.input.LA(3)
12119 if (self
.synpred182()) :
12122 LA90_242
= self
.input.LA(3)
12124 if (self
.synpred182()) :
12126 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12127 LA90_243
= self
.input.LA(3)
12129 if (self
.synpred182()) :
12132 LA90_244
= self
.input.LA(3)
12134 if (self
.synpred182()) :
12136 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:
12137 LA90_245
= self
.input.LA(3)
12139 if (self
.synpred182()) :
12142 LA90_246
= self
.input.LA(3)
12144 if (self
.synpred182()) :
12147 LA90_247
= self
.input.LA(3)
12149 if (self
.synpred182()) :
12152 LA90_248
= self
.input.LA(3)
12154 if (self
.synpred182()) :
12157 LA90_249
= self
.input.LA(3)
12159 if (self
.synpred182()) :
12162 LA90_250
= self
.input.LA(3)
12164 if (self
.synpred182()) :
12167 LA90_251
= self
.input.LA(3)
12169 if (self
.synpred182()) :
12172 LA90_252
= self
.input.LA(3)
12174 if (self
.synpred182()) :
12177 LA90_253
= self
.input.LA(3)
12179 if (self
.synpred182()) :
12182 LA90_254
= self
.input.LA(3)
12184 if (self
.synpred182()) :
12186 elif LA90
== 45 or LA90
== 46:
12187 LA90_255
= self
.input.LA(3)
12189 if (self
.synpred182()) :
12192 LA90_256
= self
.input.LA(3)
12194 if (self
.synpred182()) :
12197 LA90
= self
.input.LA(2)
12198 if LA90
== IDENTIFIER
:
12199 LA90_257
= self
.input.LA(3)
12201 if (self
.synpred182()) :
12203 elif LA90
== HEX_LITERAL
:
12204 LA90_258
= self
.input.LA(3)
12206 if (self
.synpred182()) :
12208 elif LA90
== OCTAL_LITERAL
:
12209 LA90_259
= self
.input.LA(3)
12211 if (self
.synpred182()) :
12213 elif LA90
== DECIMAL_LITERAL
:
12214 LA90_260
= self
.input.LA(3)
12216 if (self
.synpred182()) :
12218 elif LA90
== CHARACTER_LITERAL
:
12219 LA90_261
= self
.input.LA(3)
12221 if (self
.synpred182()) :
12223 elif LA90
== STRING_LITERAL
:
12224 LA90_262
= self
.input.LA(3)
12226 if (self
.synpred182()) :
12228 elif LA90
== FLOATING_POINT_LITERAL
:
12229 LA90_263
= self
.input.LA(3)
12231 if (self
.synpred182()) :
12234 LA90_264
= self
.input.LA(3)
12236 if (self
.synpred182()) :
12239 LA90_265
= self
.input.LA(3)
12241 if (self
.synpred182()) :
12244 LA90_266
= self
.input.LA(3)
12246 if (self
.synpred182()) :
12248 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12249 LA90_267
= self
.input.LA(3)
12251 if (self
.synpred182()) :
12254 LA90_268
= self
.input.LA(3)
12256 if (self
.synpred182()) :
12259 LA90
= self
.input.LA(2)
12260 if LA90
== IDENTIFIER
:
12261 LA90_269
= self
.input.LA(3)
12263 if (self
.synpred182()) :
12265 elif LA90
== HEX_LITERAL
:
12266 LA90_270
= self
.input.LA(3)
12268 if (self
.synpred182()) :
12270 elif LA90
== OCTAL_LITERAL
:
12271 LA90_271
= self
.input.LA(3)
12273 if (self
.synpred182()) :
12275 elif LA90
== DECIMAL_LITERAL
:
12276 LA90_272
= self
.input.LA(3)
12278 if (self
.synpred182()) :
12280 elif LA90
== CHARACTER_LITERAL
:
12281 LA90_273
= self
.input.LA(3)
12283 if (self
.synpred182()) :
12285 elif LA90
== STRING_LITERAL
:
12286 LA90_274
= self
.input.LA(3)
12288 if (self
.synpred182()) :
12290 elif LA90
== FLOATING_POINT_LITERAL
:
12291 LA90_275
= self
.input.LA(3)
12293 if (self
.synpred182()) :
12296 LA90_276
= self
.input.LA(3)
12298 if (self
.synpred182()) :
12301 LA90_277
= self
.input.LA(3)
12303 if (self
.synpred182()) :
12306 LA90_278
= self
.input.LA(3)
12308 if (self
.synpred182()) :
12310 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12311 LA90_279
= self
.input.LA(3)
12313 if (self
.synpred182()) :
12316 LA90_280
= self
.input.LA(3)
12318 if (self
.synpred182()) :
12320 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12321 LA90
= self
.input.LA(2)
12323 LA90_281
= self
.input.LA(3)
12325 if (self
.synpred182()) :
12327 elif LA90
== IDENTIFIER
:
12328 LA90_282
= self
.input.LA(3)
12330 if (self
.synpred182()) :
12332 elif LA90
== HEX_LITERAL
:
12333 LA90_283
= self
.input.LA(3)
12335 if (self
.synpred182()) :
12337 elif LA90
== OCTAL_LITERAL
:
12338 LA90_284
= self
.input.LA(3)
12340 if (self
.synpred182()) :
12342 elif LA90
== DECIMAL_LITERAL
:
12343 LA90_285
= self
.input.LA(3)
12345 if (self
.synpred182()) :
12347 elif LA90
== CHARACTER_LITERAL
:
12348 LA90_286
= self
.input.LA(3)
12350 if (self
.synpred182()) :
12352 elif LA90
== STRING_LITERAL
:
12353 LA90_287
= self
.input.LA(3)
12355 if (self
.synpred182()) :
12357 elif LA90
== FLOATING_POINT_LITERAL
:
12358 LA90_288
= self
.input.LA(3)
12360 if (self
.synpred182()) :
12363 LA90_289
= self
.input.LA(3)
12365 if (self
.synpred182()) :
12368 LA90_290
= self
.input.LA(3)
12370 if (self
.synpred182()) :
12372 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12373 LA90_291
= self
.input.LA(3)
12375 if (self
.synpred182()) :
12378 LA90_292
= self
.input.LA(3)
12380 if (self
.synpred182()) :
12383 LA90
= self
.input.LA(2)
12385 LA90_293
= self
.input.LA(3)
12387 if (self
.synpred182()) :
12389 elif LA90
== IDENTIFIER
:
12390 LA90_294
= self
.input.LA(3)
12392 if (self
.synpred182()) :
12394 elif LA90
== HEX_LITERAL
:
12395 LA90_295
= self
.input.LA(3)
12397 if (self
.synpred182()) :
12399 elif LA90
== OCTAL_LITERAL
:
12400 LA90_296
= self
.input.LA(3)
12402 if (self
.synpred182()) :
12404 elif LA90
== DECIMAL_LITERAL
:
12405 LA90_297
= self
.input.LA(3)
12407 if (self
.synpred182()) :
12409 elif LA90
== CHARACTER_LITERAL
:
12410 LA90_298
= self
.input.LA(3)
12412 if (self
.synpred182()) :
12414 elif LA90
== STRING_LITERAL
:
12415 LA90_299
= self
.input.LA(3)
12417 if (self
.synpred182()) :
12419 elif LA90
== FLOATING_POINT_LITERAL
:
12420 LA90_300
= self
.input.LA(3)
12422 if (self
.synpred182()) :
12425 LA90_301
= self
.input.LA(3)
12427 if (self
.synpred182()) :
12430 LA90_302
= self
.input.LA(3)
12432 if (self
.synpred182()) :
12434 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12435 LA90_303
= self
.input.LA(3)
12437 if (self
.synpred182()) :
12440 LA90_304
= self
.input.LA(3)
12442 if (self
.synpred182()) :
12445 # C.g:0:0: statement_list
12446 self
.following
.append(self
.FOLLOW_statement_list_in_macro_statement2170
)
12447 self
.statement_list()
12448 self
.following
.pop()
12454 # C.g:544:49: ( expression )?
12456 LA91_0
= self
.input.LA(1)
12458 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)) :
12461 # C.g:0:0: expression
12462 self
.following
.append(self
.FOLLOW_expression_in_macro_statement2173
)
12464 self
.following
.pop()
12470 self
.match(self
.input, 63, self
.FOLLOW_63_in_macro_statement2176
)
12477 except RecognitionException
, re
:
12478 self
.reportError(re
)
12479 self
.recover(self
.input, re
)
12481 if self
.backtracking
> 0:
12482 self
.memoize(self
.input, 64, macro_statement_StartIndex
)
12488 # $ANTLR end macro_statement
12491 # $ANTLR start labeled_statement
12492 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12493 def labeled_statement(self
, ):
12495 labeled_statement_StartIndex
= self
.input.index()
12498 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 65):
12501 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12503 LA92
= self
.input.LA(1)
12504 if LA92
== IDENTIFIER
:
12511 if self
.backtracking
> 0:
12515 nvae
= NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self
.input)
12520 # C.g:548:4: IDENTIFIER ':' statement
12521 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_labeled_statement2188
)
12524 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2190
)
12527 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2192
)
12529 self
.following
.pop()
12535 # C.g:549:4: 'case' constant_expression ':' statement
12536 self
.match(self
.input, 106, self
.FOLLOW_106_in_labeled_statement2197
)
12539 self
.following
.append(self
.FOLLOW_constant_expression_in_labeled_statement2199
)
12540 self
.constant_expression()
12541 self
.following
.pop()
12544 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2201
)
12547 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2203
)
12549 self
.following
.pop()
12555 # C.g:550:4: 'default' ':' statement
12556 self
.match(self
.input, 107, self
.FOLLOW_107_in_labeled_statement2208
)
12559 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2210
)
12562 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2212
)
12564 self
.following
.pop()
12570 except RecognitionException
, re
:
12571 self
.reportError(re
)
12572 self
.recover(self
.input, re
)
12574 if self
.backtracking
> 0:
12575 self
.memoize(self
.input, 65, labeled_statement_StartIndex
)
12581 # $ANTLR end labeled_statement
12583 class compound_statement_return(object):
12584 def __init__(self
):
12590 # $ANTLR start compound_statement
12591 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12592 def compound_statement(self
, ):
12594 retval
= self
.compound_statement_return()
12595 retval
.start
= self
.input.LT(1)
12596 compound_statement_StartIndex
= self
.input.index()
12599 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 66):
12602 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12603 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12604 self
.match(self
.input, 43, self
.FOLLOW_43_in_compound_statement2223
)
12607 # C.g:554:8: ( declaration )*
12608 while True: #loop93
12610 LA93
= self
.input.LA(1)
12611 if LA93
== IDENTIFIER
:
12612 LA93
= self
.input.LA(2)
12614 LA93_44
= self
.input.LA(3)
12616 if (self
.synpred186()) :
12620 elif LA93
== IDENTIFIER
:
12621 LA93_47
= self
.input.LA(3)
12623 if (self
.synpred186()) :
12628 LA93_48
= self
.input.LA(3)
12630 if (self
.synpred186()) :
12635 LA93_49
= self
.input.LA(3)
12637 if (self
.synpred186()) :
12642 LA93_50
= self
.input.LA(3)
12644 if (self
.synpred186()) :
12649 LA93_51
= self
.input.LA(3)
12651 if (self
.synpred186()) :
12656 LA93_52
= self
.input.LA(3)
12658 if (self
.synpred186()) :
12662 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12663 LA93_53
= self
.input.LA(3)
12665 if (self
.synpred186()) :
12670 LA93_54
= self
.input.LA(3)
12672 if (self
.synpred186()) :
12677 LA93_55
= self
.input.LA(3)
12679 if (self
.synpred186()) :
12684 LA93_56
= self
.input.LA(3)
12686 if (self
.synpred186()) :
12691 LA93_57
= self
.input.LA(3)
12693 if (self
.synpred186()) :
12698 LA93_58
= self
.input.LA(3)
12700 if (self
.synpred186()) :
12705 LA93_59
= self
.input.LA(3)
12707 if (self
.synpred186()) :
12712 LA93_60
= self
.input.LA(3)
12714 if (self
.synpred186()) :
12719 LA93_61
= self
.input.LA(3)
12721 if (self
.synpred186()) :
12726 LA93_62
= self
.input.LA(3)
12728 if (self
.synpred186()) :
12732 elif LA93
== 45 or LA93
== 46:
12733 LA93_63
= self
.input.LA(3)
12735 if (self
.synpred186()) :
12740 LA93_64
= self
.input.LA(3)
12742 if (self
.synpred186()) :
12746 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:
12747 LA93_65
= self
.input.LA(3)
12749 if (self
.synpred186()) :
12755 LA93
= self
.input.LA(2)
12756 if LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12757 LA93_86
= self
.input.LA(3)
12759 if (self
.synpred186()) :
12764 LA93_87
= self
.input.LA(3)
12766 if (self
.synpred186()) :
12771 LA93_88
= self
.input.LA(3)
12773 if (self
.synpred186()) :
12778 LA93_89
= self
.input.LA(3)
12780 if (self
.synpred186()) :
12785 LA93_90
= self
.input.LA(3)
12787 if (self
.synpred186()) :
12792 LA93_91
= self
.input.LA(3)
12794 if (self
.synpred186()) :
12799 LA93_92
= self
.input.LA(3)
12801 if (self
.synpred186()) :
12806 LA93_93
= self
.input.LA(3)
12808 if (self
.synpred186()) :
12813 LA93_94
= self
.input.LA(3)
12815 if (self
.synpred186()) :
12820 LA93_95
= self
.input.LA(3)
12822 if (self
.synpred186()) :
12826 elif LA93
== 45 or LA93
== 46:
12827 LA93_96
= self
.input.LA(3)
12829 if (self
.synpred186()) :
12834 LA93_97
= self
.input.LA(3)
12836 if (self
.synpred186()) :
12840 elif LA93
== IDENTIFIER
:
12841 LA93_98
= self
.input.LA(3)
12843 if (self
.synpred186()) :
12848 LA93_99
= self
.input.LA(3)
12850 if (self
.synpred186()) :
12855 LA93_100
= self
.input.LA(3)
12857 if (self
.synpred186()) :
12862 LA93_101
= self
.input.LA(3)
12864 if (self
.synpred186()) :
12869 LA93_102
= self
.input.LA(3)
12871 if (self
.synpred186()) :
12875 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:
12876 LA93_103
= self
.input.LA(3)
12878 if (self
.synpred186()) :
12883 LA93_104
= self
.input.LA(3)
12885 if (self
.synpred186()) :
12890 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12891 LA93
= self
.input.LA(2)
12893 LA93_105
= self
.input.LA(3)
12895 if (self
.synpred186()) :
12900 LA93_106
= self
.input.LA(3)
12902 if (self
.synpred186()) :
12907 LA93_107
= self
.input.LA(3)
12909 if (self
.synpred186()) :
12914 LA93_108
= self
.input.LA(3)
12916 if (self
.synpred186()) :
12920 elif LA93
== IDENTIFIER
:
12921 LA93_109
= self
.input.LA(3)
12923 if (self
.synpred186()) :
12928 LA93_110
= self
.input.LA(3)
12930 if (self
.synpred186()) :
12935 LA93_111
= self
.input.LA(3)
12937 if (self
.synpred186()) :
12941 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12942 LA93_112
= self
.input.LA(3)
12944 if (self
.synpred186()) :
12949 LA93_113
= self
.input.LA(3)
12951 if (self
.synpred186()) :
12956 LA93_114
= self
.input.LA(3)
12958 if (self
.synpred186()) :
12963 LA93_115
= self
.input.LA(3)
12965 if (self
.synpred186()) :
12970 LA93_116
= self
.input.LA(3)
12972 if (self
.synpred186()) :
12977 LA93_117
= self
.input.LA(3)
12979 if (self
.synpred186()) :
12984 LA93_118
= self
.input.LA(3)
12986 if (self
.synpred186()) :
12991 LA93_119
= self
.input.LA(3)
12993 if (self
.synpred186()) :
12998 LA93_120
= self
.input.LA(3)
13000 if (self
.synpred186()) :
13005 LA93_121
= self
.input.LA(3)
13007 if (self
.synpred186()) :
13011 elif LA93
== 45 or LA93
== 46:
13012 LA93_122
= self
.input.LA(3)
13014 if (self
.synpred186()) :
13019 LA93_123
= self
.input.LA(3)
13021 if (self
.synpred186()) :
13025 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:
13026 LA93_124
= self
.input.LA(3)
13028 if (self
.synpred186()) :
13034 LA93
= self
.input.LA(2)
13036 LA93_125
= self
.input.LA(3)
13038 if (self
.synpred186()) :
13043 LA93_126
= self
.input.LA(3)
13045 if (self
.synpred186()) :
13050 LA93_127
= self
.input.LA(3)
13052 if (self
.synpred186()) :
13057 LA93_128
= self
.input.LA(3)
13059 if (self
.synpred186()) :
13063 elif LA93
== IDENTIFIER
:
13064 LA93_129
= self
.input.LA(3)
13066 if (self
.synpred186()) :
13071 LA93_130
= self
.input.LA(3)
13073 if (self
.synpred186()) :
13078 LA93_131
= self
.input.LA(3)
13080 if (self
.synpred186()) :
13084 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13085 LA93_132
= self
.input.LA(3)
13087 if (self
.synpred186()) :
13092 LA93_133
= self
.input.LA(3)
13094 if (self
.synpred186()) :
13099 LA93_134
= self
.input.LA(3)
13101 if (self
.synpred186()) :
13106 LA93_135
= self
.input.LA(3)
13108 if (self
.synpred186()) :
13113 LA93_136
= self
.input.LA(3)
13115 if (self
.synpred186()) :
13120 LA93_137
= self
.input.LA(3)
13122 if (self
.synpred186()) :
13127 LA93_138
= self
.input.LA(3)
13129 if (self
.synpred186()) :
13134 LA93_139
= self
.input.LA(3)
13136 if (self
.synpred186()) :
13141 LA93_140
= self
.input.LA(3)
13143 if (self
.synpred186()) :
13148 LA93_141
= self
.input.LA(3)
13150 if (self
.synpred186()) :
13154 elif LA93
== 45 or LA93
== 46:
13155 LA93_142
= self
.input.LA(3)
13157 if (self
.synpred186()) :
13162 LA93_143
= self
.input.LA(3)
13164 if (self
.synpred186()) :
13168 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:
13169 LA93_144
= self
.input.LA(3)
13171 if (self
.synpred186()) :
13177 LA93
= self
.input.LA(2)
13179 LA93_145
= self
.input.LA(3)
13181 if (self
.synpred186()) :
13186 LA93_146
= self
.input.LA(3)
13188 if (self
.synpred186()) :
13193 LA93_147
= self
.input.LA(3)
13195 if (self
.synpred186()) :
13200 LA93_148
= self
.input.LA(3)
13202 if (self
.synpred186()) :
13206 elif LA93
== IDENTIFIER
:
13207 LA93_149
= self
.input.LA(3)
13209 if (self
.synpred186()) :
13214 LA93_150
= self
.input.LA(3)
13216 if (self
.synpred186()) :
13221 LA93_151
= self
.input.LA(3)
13223 if (self
.synpred186()) :
13227 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13228 LA93_152
= self
.input.LA(3)
13230 if (self
.synpred186()) :
13235 LA93_153
= self
.input.LA(3)
13237 if (self
.synpred186()) :
13242 LA93_154
= self
.input.LA(3)
13244 if (self
.synpred186()) :
13249 LA93_155
= self
.input.LA(3)
13251 if (self
.synpred186()) :
13256 LA93_156
= self
.input.LA(3)
13258 if (self
.synpred186()) :
13263 LA93_157
= self
.input.LA(3)
13265 if (self
.synpred186()) :
13270 LA93_158
= self
.input.LA(3)
13272 if (self
.synpred186()) :
13277 LA93_159
= self
.input.LA(3)
13279 if (self
.synpred186()) :
13284 LA93_160
= self
.input.LA(3)
13286 if (self
.synpred186()) :
13291 LA93_161
= self
.input.LA(3)
13293 if (self
.synpred186()) :
13297 elif LA93
== 45 or LA93
== 46:
13298 LA93_162
= self
.input.LA(3)
13300 if (self
.synpred186()) :
13305 LA93_163
= self
.input.LA(3)
13307 if (self
.synpred186()) :
13311 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:
13312 LA93_164
= self
.input.LA(3)
13314 if (self
.synpred186()) :
13320 LA93
= self
.input.LA(2)
13322 LA93_165
= self
.input.LA(3)
13324 if (self
.synpred186()) :
13329 LA93_166
= self
.input.LA(3)
13331 if (self
.synpred186()) :
13336 LA93_167
= self
.input.LA(3)
13338 if (self
.synpred186()) :
13343 LA93_168
= self
.input.LA(3)
13345 if (self
.synpred186()) :
13349 elif LA93
== IDENTIFIER
:
13350 LA93_169
= self
.input.LA(3)
13352 if (self
.synpred186()) :
13357 LA93_170
= self
.input.LA(3)
13359 if (self
.synpred186()) :
13364 LA93_171
= self
.input.LA(3)
13366 if (self
.synpred186()) :
13370 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13371 LA93_172
= self
.input.LA(3)
13373 if (self
.synpred186()) :
13378 LA93_173
= self
.input.LA(3)
13380 if (self
.synpred186()) :
13385 LA93_174
= self
.input.LA(3)
13387 if (self
.synpred186()) :
13392 LA93_175
= self
.input.LA(3)
13394 if (self
.synpred186()) :
13399 LA93_176
= self
.input.LA(3)
13401 if (self
.synpred186()) :
13406 LA93_177
= self
.input.LA(3)
13408 if (self
.synpred186()) :
13413 LA93_178
= self
.input.LA(3)
13415 if (self
.synpred186()) :
13420 LA93_179
= self
.input.LA(3)
13422 if (self
.synpred186()) :
13427 LA93_180
= self
.input.LA(3)
13429 if (self
.synpred186()) :
13434 LA93_181
= self
.input.LA(3)
13436 if (self
.synpred186()) :
13440 elif LA93
== 45 or LA93
== 46:
13441 LA93_182
= self
.input.LA(3)
13443 if (self
.synpred186()) :
13448 LA93_183
= self
.input.LA(3)
13450 if (self
.synpred186()) :
13454 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:
13455 LA93_184
= self
.input.LA(3)
13457 if (self
.synpred186()) :
13463 LA93
= self
.input.LA(2)
13465 LA93_185
= self
.input.LA(3)
13467 if (self
.synpred186()) :
13472 LA93_186
= self
.input.LA(3)
13474 if (self
.synpred186()) :
13479 LA93_187
= self
.input.LA(3)
13481 if (self
.synpred186()) :
13486 LA93_188
= self
.input.LA(3)
13488 if (self
.synpred186()) :
13492 elif LA93
== IDENTIFIER
:
13493 LA93_189
= self
.input.LA(3)
13495 if (self
.synpred186()) :
13500 LA93_190
= self
.input.LA(3)
13502 if (self
.synpred186()) :
13507 LA93_191
= self
.input.LA(3)
13509 if (self
.synpred186()) :
13513 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13514 LA93_192
= self
.input.LA(3)
13516 if (self
.synpred186()) :
13521 LA93_193
= self
.input.LA(3)
13523 if (self
.synpred186()) :
13528 LA93_194
= self
.input.LA(3)
13530 if (self
.synpred186()) :
13535 LA93_195
= self
.input.LA(3)
13537 if (self
.synpred186()) :
13542 LA93_196
= self
.input.LA(3)
13544 if (self
.synpred186()) :
13549 LA93_197
= self
.input.LA(3)
13551 if (self
.synpred186()) :
13556 LA93_198
= self
.input.LA(3)
13558 if (self
.synpred186()) :
13563 LA93_199
= self
.input.LA(3)
13565 if (self
.synpred186()) :
13570 LA93_200
= self
.input.LA(3)
13572 if (self
.synpred186()) :
13577 LA93_201
= self
.input.LA(3)
13579 if (self
.synpred186()) :
13583 elif LA93
== 45 or LA93
== 46:
13584 LA93_202
= self
.input.LA(3)
13586 if (self
.synpred186()) :
13591 LA93_203
= self
.input.LA(3)
13593 if (self
.synpred186()) :
13597 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:
13598 LA93_204
= self
.input.LA(3)
13600 if (self
.synpred186()) :
13606 LA93
= self
.input.LA(2)
13608 LA93_205
= self
.input.LA(3)
13610 if (self
.synpred186()) :
13615 LA93_206
= self
.input.LA(3)
13617 if (self
.synpred186()) :
13622 LA93_207
= self
.input.LA(3)
13624 if (self
.synpred186()) :
13629 LA93_208
= self
.input.LA(3)
13631 if (self
.synpred186()) :
13635 elif LA93
== IDENTIFIER
:
13636 LA93_209
= self
.input.LA(3)
13638 if (self
.synpred186()) :
13643 LA93_210
= self
.input.LA(3)
13645 if (self
.synpred186()) :
13650 LA93_211
= self
.input.LA(3)
13652 if (self
.synpred186()) :
13656 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13657 LA93_212
= self
.input.LA(3)
13659 if (self
.synpred186()) :
13664 LA93_213
= self
.input.LA(3)
13666 if (self
.synpred186()) :
13671 LA93_214
= self
.input.LA(3)
13673 if (self
.synpred186()) :
13678 LA93_215
= self
.input.LA(3)
13680 if (self
.synpred186()) :
13685 LA93_216
= self
.input.LA(3)
13687 if (self
.synpred186()) :
13692 LA93_217
= self
.input.LA(3)
13694 if (self
.synpred186()) :
13699 LA93_218
= self
.input.LA(3)
13701 if (self
.synpred186()) :
13706 LA93_219
= self
.input.LA(3)
13708 if (self
.synpred186()) :
13713 LA93_220
= self
.input.LA(3)
13715 if (self
.synpred186()) :
13720 LA93_221
= self
.input.LA(3)
13722 if (self
.synpred186()) :
13726 elif LA93
== 45 or LA93
== 46:
13727 LA93_222
= self
.input.LA(3)
13729 if (self
.synpred186()) :
13734 LA93_223
= self
.input.LA(3)
13736 if (self
.synpred186()) :
13740 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:
13741 LA93_224
= self
.input.LA(3)
13743 if (self
.synpred186()) :
13749 LA93
= self
.input.LA(2)
13751 LA93_225
= self
.input.LA(3)
13753 if (self
.synpred186()) :
13758 LA93_226
= self
.input.LA(3)
13760 if (self
.synpred186()) :
13765 LA93_227
= self
.input.LA(3)
13767 if (self
.synpred186()) :
13772 LA93_228
= self
.input.LA(3)
13774 if (self
.synpred186()) :
13778 elif LA93
== IDENTIFIER
:
13779 LA93_229
= self
.input.LA(3)
13781 if (self
.synpred186()) :
13786 LA93_230
= self
.input.LA(3)
13788 if (self
.synpred186()) :
13793 LA93_231
= self
.input.LA(3)
13795 if (self
.synpred186()) :
13799 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13800 LA93_232
= self
.input.LA(3)
13802 if (self
.synpred186()) :
13807 LA93_233
= self
.input.LA(3)
13809 if (self
.synpred186()) :
13814 LA93_234
= self
.input.LA(3)
13816 if (self
.synpred186()) :
13821 LA93_235
= self
.input.LA(3)
13823 if (self
.synpred186()) :
13828 LA93_236
= self
.input.LA(3)
13830 if (self
.synpred186()) :
13835 LA93_237
= self
.input.LA(3)
13837 if (self
.synpred186()) :
13842 LA93_238
= self
.input.LA(3)
13844 if (self
.synpred186()) :
13849 LA93_239
= self
.input.LA(3)
13851 if (self
.synpred186()) :
13856 LA93_240
= self
.input.LA(3)
13858 if (self
.synpred186()) :
13863 LA93_241
= self
.input.LA(3)
13865 if (self
.synpred186()) :
13869 elif LA93
== 45 or LA93
== 46:
13870 LA93_242
= self
.input.LA(3)
13872 if (self
.synpred186()) :
13877 LA93_243
= self
.input.LA(3)
13879 if (self
.synpred186()) :
13883 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:
13884 LA93_244
= self
.input.LA(3)
13886 if (self
.synpred186()) :
13892 LA93
= self
.input.LA(2)
13894 LA93_245
= self
.input.LA(3)
13896 if (self
.synpred186()) :
13901 LA93_246
= self
.input.LA(3)
13903 if (self
.synpred186()) :
13908 LA93_247
= self
.input.LA(3)
13910 if (self
.synpred186()) :
13915 LA93_248
= self
.input.LA(3)
13917 if (self
.synpred186()) :
13921 elif LA93
== IDENTIFIER
:
13922 LA93_249
= self
.input.LA(3)
13924 if (self
.synpred186()) :
13929 LA93_250
= self
.input.LA(3)
13931 if (self
.synpred186()) :
13936 LA93_251
= self
.input.LA(3)
13938 if (self
.synpred186()) :
13942 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13943 LA93_252
= self
.input.LA(3)
13945 if (self
.synpred186()) :
13950 LA93_253
= self
.input.LA(3)
13952 if (self
.synpred186()) :
13957 LA93_254
= self
.input.LA(3)
13959 if (self
.synpred186()) :
13964 LA93_255
= self
.input.LA(3)
13966 if (self
.synpred186()) :
13971 LA93_256
= self
.input.LA(3)
13973 if (self
.synpred186()) :
13978 LA93_257
= self
.input.LA(3)
13980 if (self
.synpred186()) :
13985 LA93_258
= self
.input.LA(3)
13987 if (self
.synpred186()) :
13992 LA93_259
= self
.input.LA(3)
13994 if (self
.synpred186()) :
13999 LA93_260
= self
.input.LA(3)
14001 if (self
.synpred186()) :
14006 LA93_261
= self
.input.LA(3)
14008 if (self
.synpred186()) :
14012 elif LA93
== 45 or LA93
== 46:
14013 LA93_262
= self
.input.LA(3)
14015 if (self
.synpred186()) :
14020 LA93_263
= self
.input.LA(3)
14022 if (self
.synpred186()) :
14026 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:
14027 LA93_264
= self
.input.LA(3)
14029 if (self
.synpred186()) :
14035 LA93
= self
.input.LA(2)
14037 LA93_265
= self
.input.LA(3)
14039 if (self
.synpred186()) :
14044 LA93_266
= self
.input.LA(3)
14046 if (self
.synpred186()) :
14051 LA93_267
= self
.input.LA(3)
14053 if (self
.synpred186()) :
14058 LA93_268
= self
.input.LA(3)
14060 if (self
.synpred186()) :
14064 elif LA93
== IDENTIFIER
:
14065 LA93_269
= self
.input.LA(3)
14067 if (self
.synpred186()) :
14072 LA93_270
= self
.input.LA(3)
14074 if (self
.synpred186()) :
14079 LA93_271
= self
.input.LA(3)
14081 if (self
.synpred186()) :
14085 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14086 LA93_272
= self
.input.LA(3)
14088 if (self
.synpred186()) :
14093 LA93_273
= self
.input.LA(3)
14095 if (self
.synpred186()) :
14100 LA93_274
= self
.input.LA(3)
14102 if (self
.synpred186()) :
14107 LA93_275
= self
.input.LA(3)
14109 if (self
.synpred186()) :
14114 LA93_276
= self
.input.LA(3)
14116 if (self
.synpred186()) :
14121 LA93_277
= self
.input.LA(3)
14123 if (self
.synpred186()) :
14128 LA93_278
= self
.input.LA(3)
14130 if (self
.synpred186()) :
14135 LA93_279
= self
.input.LA(3)
14137 if (self
.synpred186()) :
14142 LA93_280
= self
.input.LA(3)
14144 if (self
.synpred186()) :
14149 LA93_281
= self
.input.LA(3)
14151 if (self
.synpred186()) :
14155 elif LA93
== 45 or LA93
== 46:
14156 LA93_282
= self
.input.LA(3)
14158 if (self
.synpred186()) :
14163 LA93_283
= self
.input.LA(3)
14165 if (self
.synpred186()) :
14169 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:
14170 LA93_284
= self
.input.LA(3)
14172 if (self
.synpred186()) :
14178 LA93
= self
.input.LA(2)
14180 LA93_285
= self
.input.LA(3)
14182 if (self
.synpred186()) :
14187 LA93_286
= self
.input.LA(3)
14189 if (self
.synpred186()) :
14194 LA93_287
= self
.input.LA(3)
14196 if (self
.synpred186()) :
14201 LA93_288
= self
.input.LA(3)
14203 if (self
.synpred186()) :
14207 elif LA93
== IDENTIFIER
:
14208 LA93_289
= self
.input.LA(3)
14210 if (self
.synpred186()) :
14215 LA93_290
= self
.input.LA(3)
14217 if (self
.synpred186()) :
14222 LA93_291
= self
.input.LA(3)
14224 if (self
.synpred186()) :
14228 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14229 LA93_292
= self
.input.LA(3)
14231 if (self
.synpred186()) :
14236 LA93_293
= self
.input.LA(3)
14238 if (self
.synpred186()) :
14243 LA93_294
= self
.input.LA(3)
14245 if (self
.synpred186()) :
14250 LA93_295
= self
.input.LA(3)
14252 if (self
.synpred186()) :
14257 LA93_296
= self
.input.LA(3)
14259 if (self
.synpred186()) :
14264 LA93_297
= self
.input.LA(3)
14266 if (self
.synpred186()) :
14271 LA93_298
= self
.input.LA(3)
14273 if (self
.synpred186()) :
14278 LA93_299
= self
.input.LA(3)
14280 if (self
.synpred186()) :
14285 LA93_300
= self
.input.LA(3)
14287 if (self
.synpred186()) :
14292 LA93_301
= self
.input.LA(3)
14294 if (self
.synpred186()) :
14298 elif LA93
== 45 or LA93
== 46:
14299 LA93_302
= self
.input.LA(3)
14301 if (self
.synpred186()) :
14306 LA93_303
= self
.input.LA(3)
14308 if (self
.synpred186()) :
14312 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:
14313 LA93_304
= self
.input.LA(3)
14315 if (self
.synpred186()) :
14320 elif LA93
== 45 or LA93
== 46:
14321 LA93_40
= self
.input.LA(2)
14323 if (LA93_40
== IDENTIFIER
) :
14324 LA93_305
= self
.input.LA(3)
14326 if (self
.synpred186()) :
14330 elif (LA93_40
== 43) :
14331 LA93_306
= self
.input.LA(3)
14333 if (self
.synpred186()) :
14340 LA93_41
= self
.input.LA(2)
14342 if (LA93_41
== 43) :
14343 LA93_307
= self
.input.LA(3)
14345 if (self
.synpred186()) :
14349 elif (LA93_41
== IDENTIFIER
) :
14350 LA93_308
= self
.input.LA(3)
14352 if (self
.synpred186()) :
14358 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:
14359 LA93
= self
.input.LA(2)
14361 LA93_309
= self
.input.LA(3)
14363 if (self
.synpred186()) :
14368 LA93_310
= self
.input.LA(3)
14370 if (self
.synpred186()) :
14375 LA93_311
= self
.input.LA(3)
14377 if (self
.synpred186()) :
14382 LA93_312
= self
.input.LA(3)
14384 if (self
.synpred186()) :
14388 elif LA93
== IDENTIFIER
:
14389 LA93_313
= self
.input.LA(3)
14391 if (self
.synpred186()) :
14396 LA93_314
= self
.input.LA(3)
14398 if (self
.synpred186()) :
14403 LA93_315
= self
.input.LA(3)
14405 if (self
.synpred186()) :
14409 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14410 LA93_316
= self
.input.LA(3)
14412 if (self
.synpred186()) :
14417 LA93_317
= self
.input.LA(3)
14419 if (self
.synpred186()) :
14424 LA93_318
= self
.input.LA(3)
14426 if (self
.synpred186()) :
14431 LA93_319
= self
.input.LA(3)
14433 if (self
.synpred186()) :
14438 LA93_320
= self
.input.LA(3)
14440 if (self
.synpred186()) :
14445 LA93_321
= self
.input.LA(3)
14447 if (self
.synpred186()) :
14452 LA93_322
= self
.input.LA(3)
14454 if (self
.synpred186()) :
14459 LA93_323
= self
.input.LA(3)
14461 if (self
.synpred186()) :
14466 LA93_324
= self
.input.LA(3)
14468 if (self
.synpred186()) :
14473 LA93_325
= self
.input.LA(3)
14475 if (self
.synpred186()) :
14479 elif LA93
== 45 or LA93
== 46:
14480 LA93_326
= self
.input.LA(3)
14482 if (self
.synpred186()) :
14487 LA93_327
= self
.input.LA(3)
14489 if (self
.synpred186()) :
14493 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:
14494 LA93_328
= self
.input.LA(3)
14496 if (self
.synpred186()) :
14503 # C.g:0:0: declaration
14504 self
.following
.append(self
.FOLLOW_declaration_in_compound_statement2225
)
14506 self
.following
.pop()
14515 # C.g:554:21: ( statement_list )?
14517 LA94_0
= self
.input.LA(1)
14519 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)) :
14522 # C.g:0:0: statement_list
14523 self
.following
.append(self
.FOLLOW_statement_list_in_compound_statement2228
)
14524 self
.statement_list()
14525 self
.following
.pop()
14531 self
.match(self
.input, 44, self
.FOLLOW_44_in_compound_statement2231
)
14537 retval
.stop
= self
.input.LT(-1)
14540 except RecognitionException
, re
:
14541 self
.reportError(re
)
14542 self
.recover(self
.input, re
)
14544 if self
.backtracking
> 0:
14545 self
.memoize(self
.input, 66, compound_statement_StartIndex
)
14551 # $ANTLR end compound_statement
14554 # $ANTLR start statement_list
14555 # C.g:557:1: statement_list : ( statement )+ ;
14556 def statement_list(self
, ):
14558 statement_list_StartIndex
= self
.input.index()
14561 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 67):
14564 # C.g:558:2: ( ( statement )+ )
14565 # C.g:558:4: ( statement )+
14566 # C.g:558:4: ( statement )+
14568 while True: #loop95
14570 LA95
= self
.input.LA(1)
14571 if LA95
== IDENTIFIER
:
14572 LA95
= self
.input.LA(2)
14574 LA95_46
= self
.input.LA(3)
14576 if (self
.synpred188()) :
14580 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:
14582 elif LA95
== STRING_LITERAL
:
14583 LA95_48
= self
.input.LA(3)
14585 if (self
.synpred188()) :
14589 elif LA95
== IDENTIFIER
:
14590 LA95_49
= self
.input.LA(3)
14592 if (self
.synpred188()) :
14597 LA95_50
= self
.input.LA(3)
14599 if (self
.synpred188()) :
14604 LA95_51
= self
.input.LA(3)
14606 if (self
.synpred188()) :
14611 LA95_52
= self
.input.LA(3)
14613 if (self
.synpred188()) :
14618 LA95_53
= self
.input.LA(3)
14620 if (self
.synpred188()) :
14625 LA95_54
= self
.input.LA(3)
14627 if (self
.synpred188()) :
14632 LA95_55
= self
.input.LA(3)
14634 if (self
.synpred188()) :
14639 LA95_56
= self
.input.LA(3)
14641 if (self
.synpred188()) :
14646 LA95_57
= self
.input.LA(3)
14648 if (self
.synpred188()) :
14653 LA95_58
= self
.input.LA(3)
14655 if (self
.synpred188()) :
14660 LA95_59
= self
.input.LA(3)
14662 if (self
.synpred188()) :
14666 elif LA95
== 101 or LA95
== 102:
14667 LA95_60
= self
.input.LA(3)
14669 if (self
.synpred188()) :
14673 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14674 LA95_61
= self
.input.LA(3)
14676 if (self
.synpred188()) :
14680 elif LA95
== 95 or LA95
== 96:
14681 LA95_62
= self
.input.LA(3)
14683 if (self
.synpred188()) :
14688 LA95_63
= self
.input.LA(3)
14690 if (self
.synpred188()) :
14695 LA95_64
= self
.input.LA(3)
14697 if (self
.synpred188()) :
14702 LA95_65
= self
.input.LA(3)
14704 if (self
.synpred188()) :
14709 LA95_66
= self
.input.LA(3)
14711 if (self
.synpred188()) :
14716 LA95_67
= self
.input.LA(3)
14718 if (self
.synpred188()) :
14723 LA95_68
= self
.input.LA(3)
14725 if (self
.synpred188()) :
14730 LA95_69
= self
.input.LA(3)
14732 if (self
.synpred188()) :
14736 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:
14737 LA95_88
= self
.input.LA(3)
14739 if (self
.synpred188()) :
14744 elif LA95
== HEX_LITERAL
:
14745 LA95
= self
.input.LA(2)
14747 LA95_89
= self
.input.LA(3)
14749 if (self
.synpred188()) :
14754 LA95_90
= self
.input.LA(3)
14756 if (self
.synpred188()) :
14761 LA95_91
= self
.input.LA(3)
14763 if (self
.synpred188()) :
14768 LA95_92
= self
.input.LA(3)
14770 if (self
.synpred188()) :
14775 LA95_93
= self
.input.LA(3)
14777 if (self
.synpred188()) :
14782 LA95_94
= self
.input.LA(3)
14784 if (self
.synpred188()) :
14789 LA95_95
= self
.input.LA(3)
14791 if (self
.synpred188()) :
14795 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:
14796 LA95_96
= self
.input.LA(3)
14798 if (self
.synpred188()) :
14803 LA95_97
= self
.input.LA(3)
14805 if (self
.synpred188()) :
14810 LA95_98
= self
.input.LA(3)
14812 if (self
.synpred188()) :
14817 LA95_99
= self
.input.LA(3)
14819 if (self
.synpred188()) :
14824 LA95_100
= self
.input.LA(3)
14826 if (self
.synpred188()) :
14830 elif LA95
== 101 or LA95
== 102:
14831 LA95_101
= self
.input.LA(3)
14833 if (self
.synpred188()) :
14837 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14838 LA95_102
= self
.input.LA(3)
14840 if (self
.synpred188()) :
14844 elif LA95
== 95 or LA95
== 96:
14845 LA95_103
= self
.input.LA(3)
14847 if (self
.synpred188()) :
14852 LA95_104
= self
.input.LA(3)
14854 if (self
.synpred188()) :
14859 LA95_105
= self
.input.LA(3)
14861 if (self
.synpred188()) :
14866 LA95_106
= self
.input.LA(3)
14868 if (self
.synpred188()) :
14873 LA95_107
= self
.input.LA(3)
14875 if (self
.synpred188()) :
14880 LA95_108
= self
.input.LA(3)
14882 if (self
.synpred188()) :
14887 LA95_109
= self
.input.LA(3)
14889 if (self
.synpred188()) :
14894 LA95_110
= self
.input.LA(3)
14896 if (self
.synpred188()) :
14903 elif LA95
== OCTAL_LITERAL
:
14904 LA95
= self
.input.LA(2)
14906 LA95_113
= self
.input.LA(3)
14908 if (self
.synpred188()) :
14913 LA95_114
= self
.input.LA(3)
14915 if (self
.synpred188()) :
14920 LA95_115
= self
.input.LA(3)
14922 if (self
.synpred188()) :
14927 LA95_116
= self
.input.LA(3)
14929 if (self
.synpred188()) :
14934 LA95_117
= self
.input.LA(3)
14936 if (self
.synpred188()) :
14941 LA95_118
= self
.input.LA(3)
14943 if (self
.synpred188()) :
14948 LA95_119
= self
.input.LA(3)
14950 if (self
.synpred188()) :
14955 LA95_120
= self
.input.LA(3)
14957 if (self
.synpred188()) :
14962 LA95_121
= self
.input.LA(3)
14964 if (self
.synpred188()) :
14969 LA95_122
= self
.input.LA(3)
14971 if (self
.synpred188()) :
14976 LA95_123
= self
.input.LA(3)
14978 if (self
.synpred188()) :
14982 elif LA95
== 101 or LA95
== 102:
14983 LA95_124
= self
.input.LA(3)
14985 if (self
.synpred188()) :
14989 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14990 LA95_125
= self
.input.LA(3)
14992 if (self
.synpred188()) :
14996 elif LA95
== 95 or LA95
== 96:
14997 LA95_126
= self
.input.LA(3)
14999 if (self
.synpred188()) :
15004 LA95_127
= self
.input.LA(3)
15006 if (self
.synpred188()) :
15011 LA95_128
= self
.input.LA(3)
15013 if (self
.synpred188()) :
15018 LA95_129
= self
.input.LA(3)
15020 if (self
.synpred188()) :
15025 LA95_130
= self
.input.LA(3)
15027 if (self
.synpred188()) :
15032 LA95_131
= self
.input.LA(3)
15034 if (self
.synpred188()) :
15039 LA95_132
= self
.input.LA(3)
15041 if (self
.synpred188()) :
15046 LA95_133
= self
.input.LA(3)
15048 if (self
.synpred188()) :
15052 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:
15053 LA95_135
= self
.input.LA(3)
15055 if (self
.synpred188()) :
15062 elif LA95
== DECIMAL_LITERAL
:
15063 LA95
= self
.input.LA(2)
15065 LA95_137
= self
.input.LA(3)
15067 if (self
.synpred188()) :
15072 LA95_138
= self
.input.LA(3)
15074 if (self
.synpred188()) :
15079 LA95_139
= self
.input.LA(3)
15081 if (self
.synpred188()) :
15086 LA95_140
= self
.input.LA(3)
15088 if (self
.synpred188()) :
15093 LA95_141
= self
.input.LA(3)
15095 if (self
.synpred188()) :
15100 LA95_142
= self
.input.LA(3)
15102 if (self
.synpred188()) :
15107 LA95_143
= self
.input.LA(3)
15109 if (self
.synpred188()) :
15113 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:
15114 LA95_144
= self
.input.LA(3)
15116 if (self
.synpred188()) :
15121 LA95_145
= self
.input.LA(3)
15123 if (self
.synpred188()) :
15128 LA95_146
= self
.input.LA(3)
15130 if (self
.synpred188()) :
15135 LA95_147
= self
.input.LA(3)
15137 if (self
.synpred188()) :
15142 LA95_148
= self
.input.LA(3)
15144 if (self
.synpred188()) :
15148 elif LA95
== 101 or LA95
== 102:
15149 LA95_149
= self
.input.LA(3)
15151 if (self
.synpred188()) :
15155 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15156 LA95_150
= self
.input.LA(3)
15158 if (self
.synpred188()) :
15162 elif LA95
== 95 or LA95
== 96:
15163 LA95_151
= self
.input.LA(3)
15165 if (self
.synpred188()) :
15170 LA95_152
= self
.input.LA(3)
15172 if (self
.synpred188()) :
15177 LA95_153
= self
.input.LA(3)
15179 if (self
.synpred188()) :
15184 LA95_154
= self
.input.LA(3)
15186 if (self
.synpred188()) :
15191 LA95_155
= self
.input.LA(3)
15193 if (self
.synpred188()) :
15198 LA95_156
= self
.input.LA(3)
15200 if (self
.synpred188()) :
15205 LA95_157
= self
.input.LA(3)
15207 if (self
.synpred188()) :
15212 LA95_158
= self
.input.LA(3)
15214 if (self
.synpred188()) :
15221 elif LA95
== CHARACTER_LITERAL
:
15222 LA95
= self
.input.LA(2)
15224 LA95_161
= self
.input.LA(3)
15226 if (self
.synpred188()) :
15231 LA95_162
= self
.input.LA(3)
15233 if (self
.synpred188()) :
15238 LA95_163
= self
.input.LA(3)
15240 if (self
.synpred188()) :
15245 LA95_164
= self
.input.LA(3)
15247 if (self
.synpred188()) :
15252 LA95_165
= self
.input.LA(3)
15254 if (self
.synpred188()) :
15259 LA95_166
= self
.input.LA(3)
15261 if (self
.synpred188()) :
15266 LA95_167
= self
.input.LA(3)
15268 if (self
.synpred188()) :
15272 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:
15273 LA95_168
= self
.input.LA(3)
15275 if (self
.synpred188()) :
15280 LA95_169
= self
.input.LA(3)
15282 if (self
.synpred188()) :
15287 LA95_170
= self
.input.LA(3)
15289 if (self
.synpred188()) :
15294 LA95_171
= self
.input.LA(3)
15296 if (self
.synpred188()) :
15301 LA95_172
= self
.input.LA(3)
15303 if (self
.synpred188()) :
15307 elif LA95
== 101 or LA95
== 102:
15308 LA95_173
= self
.input.LA(3)
15310 if (self
.synpred188()) :
15314 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15315 LA95_174
= self
.input.LA(3)
15317 if (self
.synpred188()) :
15321 elif LA95
== 95 or LA95
== 96:
15322 LA95_175
= self
.input.LA(3)
15324 if (self
.synpred188()) :
15329 LA95_176
= self
.input.LA(3)
15331 if (self
.synpred188()) :
15336 LA95_177
= self
.input.LA(3)
15338 if (self
.synpred188()) :
15343 LA95_178
= self
.input.LA(3)
15345 if (self
.synpred188()) :
15350 LA95_179
= self
.input.LA(3)
15352 if (self
.synpred188()) :
15357 LA95_180
= self
.input.LA(3)
15359 if (self
.synpred188()) :
15364 LA95_181
= self
.input.LA(3)
15366 if (self
.synpred188()) :
15371 LA95_182
= self
.input.LA(3)
15373 if (self
.synpred188()) :
15380 elif LA95
== STRING_LITERAL
:
15381 LA95
= self
.input.LA(2)
15382 if LA95
== IDENTIFIER
:
15383 LA95_185
= self
.input.LA(3)
15385 if (self
.synpred188()) :
15390 LA95_186
= self
.input.LA(3)
15392 if (self
.synpred188()) :
15397 LA95_187
= self
.input.LA(3)
15399 if (self
.synpred188()) :
15404 LA95_188
= self
.input.LA(3)
15406 if (self
.synpred188()) :
15411 LA95_189
= self
.input.LA(3)
15413 if (self
.synpred188()) :
15418 LA95_190
= self
.input.LA(3)
15420 if (self
.synpred188()) :
15425 LA95_191
= self
.input.LA(3)
15427 if (self
.synpred188()) :
15432 LA95_192
= self
.input.LA(3)
15434 if (self
.synpred188()) :
15439 LA95_193
= self
.input.LA(3)
15441 if (self
.synpred188()) :
15446 LA95_194
= self
.input.LA(3)
15448 if (self
.synpred188()) :
15453 LA95_195
= self
.input.LA(3)
15455 if (self
.synpred188()) :
15460 LA95_196
= self
.input.LA(3)
15462 if (self
.synpred188()) :
15466 elif LA95
== 101 or LA95
== 102:
15467 LA95_197
= self
.input.LA(3)
15469 if (self
.synpred188()) :
15473 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15474 LA95_198
= self
.input.LA(3)
15476 if (self
.synpred188()) :
15480 elif LA95
== 95 or LA95
== 96:
15481 LA95_199
= self
.input.LA(3)
15483 if (self
.synpred188()) :
15488 LA95_200
= self
.input.LA(3)
15490 if (self
.synpred188()) :
15495 LA95_201
= self
.input.LA(3)
15497 if (self
.synpred188()) :
15502 LA95_202
= self
.input.LA(3)
15504 if (self
.synpred188()) :
15509 LA95_203
= self
.input.LA(3)
15511 if (self
.synpred188()) :
15516 LA95_204
= self
.input.LA(3)
15518 if (self
.synpred188()) :
15523 LA95_205
= self
.input.LA(3)
15525 if (self
.synpred188()) :
15530 LA95_206
= self
.input.LA(3)
15532 if (self
.synpred188()) :
15538 elif LA95
== STRING_LITERAL
:
15539 LA95_208
= self
.input.LA(3)
15541 if (self
.synpred188()) :
15545 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:
15546 LA95_209
= self
.input.LA(3)
15548 if (self
.synpred188()) :
15553 elif LA95
== FLOATING_POINT_LITERAL
:
15554 LA95
= self
.input.LA(2)
15556 LA95_211
= self
.input.LA(3)
15558 if (self
.synpred188()) :
15563 LA95_212
= self
.input.LA(3)
15565 if (self
.synpred188()) :
15570 LA95_213
= self
.input.LA(3)
15572 if (self
.synpred188()) :
15577 LA95_214
= self
.input.LA(3)
15579 if (self
.synpred188()) :
15584 LA95_215
= self
.input.LA(3)
15586 if (self
.synpred188()) :
15591 LA95_216
= self
.input.LA(3)
15593 if (self
.synpred188()) :
15598 LA95_217
= self
.input.LA(3)
15600 if (self
.synpred188()) :
15605 LA95_218
= self
.input.LA(3)
15607 if (self
.synpred188()) :
15612 LA95_219
= self
.input.LA(3)
15614 if (self
.synpred188()) :
15619 LA95_220
= self
.input.LA(3)
15621 if (self
.synpred188()) :
15626 LA95_221
= self
.input.LA(3)
15628 if (self
.synpred188()) :
15632 elif LA95
== 101 or LA95
== 102:
15633 LA95_222
= self
.input.LA(3)
15635 if (self
.synpred188()) :
15639 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15640 LA95_223
= self
.input.LA(3)
15642 if (self
.synpred188()) :
15646 elif LA95
== 95 or LA95
== 96:
15647 LA95_224
= self
.input.LA(3)
15649 if (self
.synpred188()) :
15654 LA95_225
= self
.input.LA(3)
15656 if (self
.synpred188()) :
15661 LA95_226
= self
.input.LA(3)
15663 if (self
.synpred188()) :
15668 LA95_227
= self
.input.LA(3)
15670 if (self
.synpred188()) :
15675 LA95_228
= self
.input.LA(3)
15677 if (self
.synpred188()) :
15682 LA95_229
= self
.input.LA(3)
15684 if (self
.synpred188()) :
15689 LA95_230
= self
.input.LA(3)
15691 if (self
.synpred188()) :
15696 LA95_231
= self
.input.LA(3)
15698 if (self
.synpred188()) :
15704 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:
15705 LA95_234
= self
.input.LA(3)
15707 if (self
.synpred188()) :
15713 LA95
= self
.input.LA(2)
15714 if LA95
== IDENTIFIER
:
15715 LA95_235
= self
.input.LA(3)
15717 if (self
.synpred188()) :
15721 elif LA95
== HEX_LITERAL
:
15722 LA95_236
= self
.input.LA(3)
15724 if (self
.synpred188()) :
15728 elif LA95
== OCTAL_LITERAL
:
15729 LA95_237
= self
.input.LA(3)
15731 if (self
.synpred188()) :
15735 elif LA95
== DECIMAL_LITERAL
:
15736 LA95_238
= self
.input.LA(3)
15738 if (self
.synpred188()) :
15742 elif LA95
== CHARACTER_LITERAL
:
15743 LA95_239
= self
.input.LA(3)
15745 if (self
.synpred188()) :
15749 elif LA95
== STRING_LITERAL
:
15750 LA95_240
= self
.input.LA(3)
15752 if (self
.synpred188()) :
15756 elif LA95
== FLOATING_POINT_LITERAL
:
15757 LA95_241
= self
.input.LA(3)
15759 if (self
.synpred188()) :
15764 LA95_242
= self
.input.LA(3)
15766 if (self
.synpred188()) :
15771 LA95_243
= self
.input.LA(3)
15773 if (self
.synpred188()) :
15778 LA95_244
= self
.input.LA(3)
15780 if (self
.synpred188()) :
15784 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
15785 LA95_245
= self
.input.LA(3)
15787 if (self
.synpred188()) :
15792 LA95_246
= self
.input.LA(3)
15794 if (self
.synpred188()) :
15798 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:
15799 LA95_247
= self
.input.LA(3)
15801 if (self
.synpred188()) :
15806 LA95_248
= self
.input.LA(3)
15808 if (self
.synpred188()) :
15813 LA95_249
= self
.input.LA(3)
15815 if (self
.synpred188()) :
15820 LA95_250
= self
.input.LA(3)
15822 if (self
.synpred188()) :
15827 LA95_251
= self
.input.LA(3)
15829 if (self
.synpred188()) :
15834 LA95_252
= self
.input.LA(3)
15836 if (self
.synpred188()) :
15841 LA95_253
= self
.input.LA(3)
15843 if (self
.synpred188()) :
15848 LA95_254
= self
.input.LA(3)
15850 if (self
.synpred188()) :
15855 LA95_255
= self
.input.LA(3)
15857 if (self
.synpred188()) :
15862 LA95_256
= self
.input.LA(3)
15864 if (self
.synpred188()) :
15868 elif LA95
== 45 or LA95
== 46:
15869 LA95_257
= self
.input.LA(3)
15871 if (self
.synpred188()) :
15876 LA95_258
= self
.input.LA(3)
15878 if (self
.synpred188()) :
15884 LA95
= self
.input.LA(2)
15885 if LA95
== IDENTIFIER
:
15886 LA95_259
= self
.input.LA(3)
15888 if (self
.synpred188()) :
15892 elif LA95
== HEX_LITERAL
:
15893 LA95_260
= self
.input.LA(3)
15895 if (self
.synpred188()) :
15899 elif LA95
== OCTAL_LITERAL
:
15900 LA95_261
= self
.input.LA(3)
15902 if (self
.synpred188()) :
15906 elif LA95
== DECIMAL_LITERAL
:
15907 LA95_262
= self
.input.LA(3)
15909 if (self
.synpred188()) :
15913 elif LA95
== CHARACTER_LITERAL
:
15914 LA95_263
= self
.input.LA(3)
15916 if (self
.synpred188()) :
15920 elif LA95
== STRING_LITERAL
:
15921 LA95_264
= self
.input.LA(3)
15923 if (self
.synpred188()) :
15927 elif LA95
== FLOATING_POINT_LITERAL
:
15928 LA95_265
= self
.input.LA(3)
15930 if (self
.synpred188()) :
15935 LA95_266
= self
.input.LA(3)
15937 if (self
.synpred188()) :
15942 LA95_267
= self
.input.LA(3)
15944 if (self
.synpred188()) :
15949 LA95_268
= self
.input.LA(3)
15951 if (self
.synpred188()) :
15955 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
15956 LA95_269
= self
.input.LA(3)
15958 if (self
.synpred188()) :
15963 LA95_270
= self
.input.LA(3)
15965 if (self
.synpred188()) :
15971 LA95
= self
.input.LA(2)
15972 if LA95
== IDENTIFIER
:
15973 LA95_271
= self
.input.LA(3)
15975 if (self
.synpred188()) :
15979 elif LA95
== HEX_LITERAL
:
15980 LA95_272
= self
.input.LA(3)
15982 if (self
.synpred188()) :
15986 elif LA95
== OCTAL_LITERAL
:
15987 LA95_273
= self
.input.LA(3)
15989 if (self
.synpred188()) :
15993 elif LA95
== DECIMAL_LITERAL
:
15994 LA95_274
= self
.input.LA(3)
15996 if (self
.synpred188()) :
16000 elif LA95
== CHARACTER_LITERAL
:
16001 LA95_275
= self
.input.LA(3)
16003 if (self
.synpred188()) :
16007 elif LA95
== STRING_LITERAL
:
16008 LA95_276
= self
.input.LA(3)
16010 if (self
.synpred188()) :
16014 elif LA95
== FLOATING_POINT_LITERAL
:
16015 LA95_277
= self
.input.LA(3)
16017 if (self
.synpred188()) :
16022 LA95_278
= self
.input.LA(3)
16024 if (self
.synpred188()) :
16029 LA95_279
= self
.input.LA(3)
16031 if (self
.synpred188()) :
16036 LA95_280
= self
.input.LA(3)
16038 if (self
.synpred188()) :
16042 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16043 LA95_281
= self
.input.LA(3)
16045 if (self
.synpred188()) :
16050 LA95_282
= self
.input.LA(3)
16052 if (self
.synpred188()) :
16057 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16058 LA95
= self
.input.LA(2)
16060 LA95_283
= self
.input.LA(3)
16062 if (self
.synpred188()) :
16066 elif LA95
== IDENTIFIER
:
16067 LA95_284
= self
.input.LA(3)
16069 if (self
.synpred188()) :
16073 elif LA95
== HEX_LITERAL
:
16074 LA95_285
= self
.input.LA(3)
16076 if (self
.synpred188()) :
16080 elif LA95
== OCTAL_LITERAL
:
16081 LA95_286
= self
.input.LA(3)
16083 if (self
.synpred188()) :
16087 elif LA95
== DECIMAL_LITERAL
:
16088 LA95_287
= self
.input.LA(3)
16090 if (self
.synpred188()) :
16094 elif LA95
== CHARACTER_LITERAL
:
16095 LA95_288
= self
.input.LA(3)
16097 if (self
.synpred188()) :
16101 elif LA95
== STRING_LITERAL
:
16102 LA95_289
= self
.input.LA(3)
16104 if (self
.synpred188()) :
16108 elif LA95
== FLOATING_POINT_LITERAL
:
16109 LA95_290
= self
.input.LA(3)
16111 if (self
.synpred188()) :
16116 LA95_291
= self
.input.LA(3)
16118 if (self
.synpred188()) :
16123 LA95_292
= self
.input.LA(3)
16125 if (self
.synpred188()) :
16129 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16130 LA95_293
= self
.input.LA(3)
16132 if (self
.synpred188()) :
16137 LA95_294
= self
.input.LA(3)
16139 if (self
.synpred188()) :
16145 LA95
= self
.input.LA(2)
16147 LA95_295
= self
.input.LA(3)
16149 if (self
.synpred188()) :
16153 elif LA95
== IDENTIFIER
:
16154 LA95_296
= self
.input.LA(3)
16156 if (self
.synpred188()) :
16160 elif LA95
== HEX_LITERAL
:
16161 LA95_297
= self
.input.LA(3)
16163 if (self
.synpred188()) :
16167 elif LA95
== OCTAL_LITERAL
:
16168 LA95_298
= self
.input.LA(3)
16170 if (self
.synpred188()) :
16174 elif LA95
== DECIMAL_LITERAL
:
16175 LA95_299
= self
.input.LA(3)
16177 if (self
.synpred188()) :
16181 elif LA95
== CHARACTER_LITERAL
:
16182 LA95_300
= self
.input.LA(3)
16184 if (self
.synpred188()) :
16188 elif LA95
== STRING_LITERAL
:
16189 LA95_301
= self
.input.LA(3)
16191 if (self
.synpred188()) :
16195 elif LA95
== FLOATING_POINT_LITERAL
:
16196 LA95_302
= self
.input.LA(3)
16198 if (self
.synpred188()) :
16203 LA95_303
= self
.input.LA(3)
16205 if (self
.synpred188()) :
16210 LA95_304
= self
.input.LA(3)
16212 if (self
.synpred188()) :
16216 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16217 LA95_305
= self
.input.LA(3)
16219 if (self
.synpred188()) :
16224 LA95_306
= self
.input.LA(3)
16226 if (self
.synpred188()) :
16231 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:
16235 # C.g:0:0: statement
16236 self
.following
.append(self
.FOLLOW_statement_in_statement_list2242
)
16238 self
.following
.pop()
16247 if self
.backtracking
> 0:
16251 eee
= EarlyExitException(95, self
.input)
16261 except RecognitionException
, re
:
16262 self
.reportError(re
)
16263 self
.recover(self
.input, re
)
16265 if self
.backtracking
> 0:
16266 self
.memoize(self
.input, 67, statement_list_StartIndex
)
16272 # $ANTLR end statement_list
16274 class expression_statement_return(object):
16275 def __init__(self
):
16281 # $ANTLR start expression_statement
16282 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16283 def expression_statement(self
, ):
16285 retval
= self
.expression_statement_return()
16286 retval
.start
= self
.input.LT(1)
16287 expression_statement_StartIndex
= self
.input.index()
16290 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 68):
16293 # C.g:562:2: ( ';' | expression ';' )
16295 LA96_0
= self
.input.LA(1)
16297 if (LA96_0
== 25) :
16299 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)) :
16302 if self
.backtracking
> 0:
16306 nvae
= NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self
.input)
16312 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2254
)
16318 # C.g:563:4: expression ';'
16319 self
.following
.append(self
.FOLLOW_expression_in_expression_statement2259
)
16321 self
.following
.pop()
16324 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2261
)
16329 retval
.stop
= self
.input.LT(-1)
16332 except RecognitionException
, re
:
16333 self
.reportError(re
)
16334 self
.recover(self
.input, re
)
16336 if self
.backtracking
> 0:
16337 self
.memoize(self
.input, 68, expression_statement_StartIndex
)
16343 # $ANTLR end expression_statement
16346 # $ANTLR start selection_statement
16347 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16348 def selection_statement(self
, ):
16350 selection_statement_StartIndex
= self
.input.index()
16356 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 69):
16359 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16361 LA98_0
= self
.input.LA(1)
16363 if (LA98_0
== 108) :
16365 elif (LA98_0
== 110) :
16368 if self
.backtracking
> 0:
16372 nvae
= NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self
.input)
16377 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16378 self
.match(self
.input, 108, self
.FOLLOW_108_in_selection_statement2272
)
16381 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2274
)
16384 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2278
)
16385 e
= self
.expression()
16386 self
.following
.pop()
16389 self
.match(self
.input, 63, self
.FOLLOW_63_in_selection_statement2280
)
16392 if self
.backtracking
== 0:
16393 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
16395 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2284
)
16397 self
.following
.pop()
16400 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16402 LA97_0
= self
.input.LA(1)
16404 if (LA97_0
== 109) :
16407 # C.g:567:200: 'else' statement
16408 self
.match(self
.input, 109, self
.FOLLOW_109_in_selection_statement2299
)
16411 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2301
)
16413 self
.following
.pop()
16422 # C.g:568:4: 'switch' '(' expression ')' statement
16423 self
.match(self
.input, 110, self
.FOLLOW_110_in_selection_statement2308
)
16426 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2310
)
16429 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2312
)
16431 self
.following
.pop()
16434 self
.match(self
.input, 63, self
.FOLLOW_63_in_selection_statement2314
)
16437 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2316
)
16439 self
.following
.pop()
16445 except RecognitionException
, re
:
16446 self
.reportError(re
)
16447 self
.recover(self
.input, re
)
16449 if self
.backtracking
> 0:
16450 self
.memoize(self
.input, 69, selection_statement_StartIndex
)
16456 # $ANTLR end selection_statement
16459 # $ANTLR start iteration_statement
16460 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16461 def iteration_statement(self
, ):
16463 iteration_statement_StartIndex
= self
.input.index()
16469 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 70):
16472 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16474 LA100
= self
.input.LA(1)
16482 if self
.backtracking
> 0:
16486 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)
16491 # C.g:572:4: 'while' '(' e= expression ')' statement
16492 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2327
)
16495 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2329
)
16498 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2333
)
16499 e
= self
.expression()
16500 self
.following
.pop()
16503 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2335
)
16506 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2337
)
16508 self
.following
.pop()
16511 if self
.backtracking
== 0:
16512 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
16517 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16518 self
.match(self
.input, 112, self
.FOLLOW_112_in_iteration_statement2344
)
16521 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2346
)
16523 self
.following
.pop()
16526 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2348
)
16529 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2350
)
16532 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2354
)
16533 e
= self
.expression()
16534 self
.following
.pop()
16537 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2356
)
16540 self
.match(self
.input, 25, self
.FOLLOW_25_in_iteration_statement2358
)
16543 if self
.backtracking
== 0:
16544 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
16549 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16550 self
.match(self
.input, 113, self
.FOLLOW_113_in_iteration_statement2365
)
16553 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2367
)
16556 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2369
)
16557 self
.expression_statement()
16558 self
.following
.pop()
16561 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2373
)
16562 e
= self
.expression_statement()
16563 self
.following
.pop()
16566 # C.g:574:58: ( expression )?
16568 LA99_0
= self
.input.LA(1)
16570 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)) :
16573 # C.g:0:0: expression
16574 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2375
)
16576 self
.following
.pop()
16582 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2378
)
16585 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2380
)
16587 self
.following
.pop()
16590 if self
.backtracking
== 0:
16591 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
,e
.stop
))
16596 except RecognitionException
, re
:
16597 self
.reportError(re
)
16598 self
.recover(self
.input, re
)
16600 if self
.backtracking
> 0:
16601 self
.memoize(self
.input, 70, iteration_statement_StartIndex
)
16607 # $ANTLR end iteration_statement
16610 # $ANTLR start jump_statement
16611 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16612 def jump_statement(self
, ):
16614 jump_statement_StartIndex
= self
.input.index()
16617 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 71):
16620 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16622 LA101
= self
.input.LA(1)
16630 LA101_4
= self
.input.LA(2)
16632 if (LA101_4
== 25) :
16634 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)) :
16637 if self
.backtracking
> 0:
16641 nvae
= NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self
.input)
16646 if self
.backtracking
> 0:
16650 nvae
= NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self
.input)
16655 # C.g:578:4: 'goto' IDENTIFIER ';'
16656 self
.match(self
.input, 114, self
.FOLLOW_114_in_jump_statement2393
)
16659 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_jump_statement2395
)
16662 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2397
)
16668 # C.g:579:4: 'continue' ';'
16669 self
.match(self
.input, 115, self
.FOLLOW_115_in_jump_statement2402
)
16672 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2404
)
16678 # C.g:580:4: 'break' ';'
16679 self
.match(self
.input, 116, self
.FOLLOW_116_in_jump_statement2409
)
16682 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2411
)
16688 # C.g:581:4: 'return' ';'
16689 self
.match(self
.input, 117, self
.FOLLOW_117_in_jump_statement2416
)
16692 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2418
)
16698 # C.g:582:4: 'return' expression ';'
16699 self
.match(self
.input, 117, self
.FOLLOW_117_in_jump_statement2423
)
16702 self
.following
.append(self
.FOLLOW_expression_in_jump_statement2425
)
16704 self
.following
.pop()
16707 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2427
)
16713 except RecognitionException
, re
:
16714 self
.reportError(re
)
16715 self
.recover(self
.input, re
)
16717 if self
.backtracking
> 0:
16718 self
.memoize(self
.input, 71, jump_statement_StartIndex
)
16724 # $ANTLR end jump_statement
16726 # $ANTLR start synpred2
16727 def synpred2_fragment(self
, ):
16728 # C.g:119:6: ( declaration_specifiers )
16729 # C.g:119:6: declaration_specifiers
16730 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred2100
)
16731 self
.declaration_specifiers()
16732 self
.following
.pop()
16737 # $ANTLR end synpred2
16741 # $ANTLR start synpred4
16742 def synpred4_fragment(self
, ):
16743 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16744 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16745 # C.g:119:6: ( declaration_specifiers )?
16747 LA102
= self
.input.LA(1)
16748 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:
16750 elif LA102
== IDENTIFIER
:
16751 LA102
= self
.input.LA(2)
16753 LA102_21
= self
.input.LA(3)
16755 if (self
.synpred2()) :
16757 elif LA102
== 29 or LA102
== 30 or LA102
== 31 or LA102
== 32 or LA102
== 33:
16758 LA102_23
= self
.input.LA(3)
16760 if (self
.synpred2()) :
16763 LA102_24
= self
.input.LA(3)
16765 if (self
.synpred2()) :
16768 LA102_25
= self
.input.LA(3)
16770 if (self
.synpred2()) :
16773 LA102_26
= self
.input.LA(3)
16775 if (self
.synpred2()) :
16778 LA102_27
= self
.input.LA(3)
16780 if (self
.synpred2()) :
16783 LA102_28
= self
.input.LA(3)
16785 if (self
.synpred2()) :
16788 LA102_29
= self
.input.LA(3)
16790 if (self
.synpred2()) :
16793 LA102_30
= self
.input.LA(3)
16795 if (self
.synpred2()) :
16798 LA102_31
= self
.input.LA(3)
16800 if (self
.synpred2()) :
16803 LA102_32
= self
.input.LA(3)
16805 if (self
.synpred2()) :
16807 elif LA102
== 45 or LA102
== 46:
16808 LA102_33
= self
.input.LA(3)
16810 if (self
.synpred2()) :
16813 LA102_34
= self
.input.LA(3)
16815 if (self
.synpred2()) :
16817 elif LA102
== IDENTIFIER
:
16818 LA102_35
= self
.input.LA(3)
16820 if (self
.synpred2()) :
16823 LA102_36
= self
.input.LA(3)
16825 if (self
.synpred2()) :
16830 LA102_39
= self
.input.LA(3)
16832 if (self
.synpred2()) :
16835 LA102_40
= self
.input.LA(3)
16837 if (self
.synpred2()) :
16839 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:
16840 LA102_41
= self
.input.LA(3)
16842 if (self
.synpred2()) :
16845 LA102_14
= self
.input.LA(2)
16847 if (self
.synpred2()) :
16850 LA102_16
= self
.input.LA(2)
16852 if (self
.synpred2()) :
16855 LA102_17
= self
.input.LA(2)
16857 if (self
.synpred2()) :
16860 # C.g:0:0: declaration_specifiers
16861 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred4100
)
16862 self
.declaration_specifiers()
16863 self
.following
.pop()
16869 self
.following
.append(self
.FOLLOW_declarator_in_synpred4103
)
16871 self
.following
.pop()
16874 # C.g:119:41: ( declaration )*
16875 while True: #loop103
16877 LA103_0
= self
.input.LA(1)
16879 if (LA103_0
== IDENTIFIER
or LA103_0
== 26 or (29 <= LA103_0
<= 42) or (45 <= LA103_0
<= 46) or (48 <= LA103_0
<= 61)) :
16884 # C.g:0:0: declaration
16885 self
.following
.append(self
.FOLLOW_declaration_in_synpred4105
)
16887 self
.following
.pop()
16896 self
.match(self
.input, 43, self
.FOLLOW_43_in_synpred4108
)
16901 # $ANTLR end synpred4
16905 # $ANTLR start synpred5
16906 def synpred5_fragment(self
, ):
16907 # C.g:120:4: ( declaration )
16908 # C.g:120:4: declaration
16909 self
.following
.append(self
.FOLLOW_declaration_in_synpred5118
)
16911 self
.following
.pop()
16916 # $ANTLR end synpred5
16920 # $ANTLR start synpred7
16921 def synpred7_fragment(self
, ):
16922 # C.g:146:6: ( declaration_specifiers )
16923 # C.g:146:6: declaration_specifiers
16924 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred7157
)
16925 self
.declaration_specifiers()
16926 self
.following
.pop()
16931 # $ANTLR end synpred7
16935 # $ANTLR start synpred10
16936 def synpred10_fragment(self
, ):
16937 # C.g:167:18: ( declaration_specifiers )
16938 # C.g:167:18: declaration_specifiers
16939 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred10207
)
16940 self
.declaration_specifiers()
16941 self
.following
.pop()
16946 # $ANTLR end synpred10
16950 # $ANTLR start synpred14
16951 def synpred14_fragment(self
, ):
16952 # C.g:184:7: ( type_specifier )
16953 # C.g:184:7: type_specifier
16954 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred14272
)
16955 self
.type_specifier()
16956 self
.following
.pop()
16961 # $ANTLR end synpred14
16965 # $ANTLR start synpred15
16966 def synpred15_fragment(self
, ):
16967 # C.g:185:13: ( type_qualifier )
16968 # C.g:185:13: type_qualifier
16969 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred15286
)
16970 self
.type_qualifier()
16971 self
.following
.pop()
16976 # $ANTLR end synpred15
16980 # $ANTLR start synpred33
16981 def synpred33_fragment(self
, ):
16982 # C.g:225:16: ( type_qualifier )
16983 # C.g:225:16: type_qualifier
16984 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred33444
)
16985 self
.type_qualifier()
16986 self
.following
.pop()
16991 # $ANTLR end synpred33
16995 # $ANTLR start synpred34
16996 def synpred34_fragment(self
, ):
16997 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16998 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16999 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred34442
)
17002 # C.g:225:16: ( type_qualifier )*
17003 while True: #loop106
17005 LA106
= self
.input.LA(1)
17007 LA106_2
= self
.input.LA(2)
17009 if (self
.synpred33()) :
17014 LA106_3
= self
.input.LA(2)
17016 if (self
.synpred33()) :
17021 LA106_4
= self
.input.LA(2)
17023 if (self
.synpred33()) :
17027 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:
17031 # C.g:0:0: type_qualifier
17032 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred34444
)
17033 self
.type_qualifier()
17034 self
.following
.pop()
17043 self
.following
.append(self
.FOLLOW_declarator_in_synpred34447
)
17045 self
.following
.pop()
17050 # $ANTLR end synpred34
17054 # $ANTLR start synpred39
17055 def synpred39_fragment(self
, ):
17056 # C.g:253:6: ( type_qualifier )
17057 # C.g:253:6: type_qualifier
17058 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred39566
)
17059 self
.type_qualifier()
17060 self
.following
.pop()
17065 # $ANTLR end synpred39
17069 # $ANTLR start synpred40
17070 def synpred40_fragment(self
, ):
17071 # C.g:253:23: ( type_specifier )
17072 # C.g:253:23: type_specifier
17073 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred40570
)
17074 self
.type_specifier()
17075 self
.following
.pop()
17080 # $ANTLR end synpred40
17084 # $ANTLR start synpred66
17085 def synpred66_fragment(self
, ):
17086 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17087 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17088 # C.g:297:4: ( pointer )?
17090 LA111_0
= self
.input.LA(1)
17092 if (LA111_0
== 66) :
17096 self
.following
.append(self
.FOLLOW_pointer_in_synpred66784
)
17098 self
.following
.pop()
17104 # C.g:297:13: ( 'EFIAPI' )?
17106 LA112_0
= self
.input.LA(1)
17108 if (LA112_0
== 58) :
17111 # C.g:297:14: 'EFIAPI'
17112 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred66788
)
17118 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17120 LA113_0
= self
.input.LA(1)
17122 if (LA113_0
== 59) :
17125 # C.g:297:26: 'EFI_BOOTSERVICE'
17126 self
.match(self
.input, 59, self
.FOLLOW_59_in_synpred66793
)
17132 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17134 LA114_0
= self
.input.LA(1)
17136 if (LA114_0
== 60) :
17139 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17140 self
.match(self
.input, 60, self
.FOLLOW_60_in_synpred66798
)
17146 self
.following
.append(self
.FOLLOW_direct_declarator_in_synpred66802
)
17147 self
.direct_declarator()
17148 self
.following
.pop()
17153 # $ANTLR end synpred66
17157 # $ANTLR start synpred67
17158 def synpred67_fragment(self
, ):
17159 # C.g:303:15: ( declarator_suffix )
17160 # C.g:303:15: declarator_suffix
17161 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred67821
)
17162 self
.declarator_suffix()
17163 self
.following
.pop()
17168 # $ANTLR end synpred67
17172 # $ANTLR start synpred69
17173 def synpred69_fragment(self
, ):
17174 # C.g:304:9: ( 'EFIAPI' )
17175 # C.g:304:9: 'EFIAPI'
17176 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred69830
)
17181 # $ANTLR end synpred69
17185 # $ANTLR start synpred70
17186 def synpred70_fragment(self
, ):
17187 # C.g:304:35: ( declarator_suffix )
17188 # C.g:304:35: declarator_suffix
17189 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred70838
)
17190 self
.declarator_suffix()
17191 self
.following
.pop()
17196 # $ANTLR end synpred70
17200 # $ANTLR start synpred73
17201 def synpred73_fragment(self
, ):
17202 # C.g:310:9: ( '(' parameter_type_list ')' )
17203 # C.g:310:9: '(' parameter_type_list ')'
17204 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred73878
)
17207 self
.following
.append(self
.FOLLOW_parameter_type_list_in_synpred73880
)
17208 self
.parameter_type_list()
17209 self
.following
.pop()
17212 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred73882
)
17217 # $ANTLR end synpred73
17221 # $ANTLR start synpred74
17222 def synpred74_fragment(self
, ):
17223 # C.g:311:9: ( '(' identifier_list ')' )
17224 # C.g:311:9: '(' identifier_list ')'
17225 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred74892
)
17228 self
.following
.append(self
.FOLLOW_identifier_list_in_synpred74894
)
17229 self
.identifier_list()
17230 self
.following
.pop()
17233 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred74896
)
17238 # $ANTLR end synpred74
17242 # $ANTLR start synpred75
17243 def synpred75_fragment(self
, ):
17244 # C.g:316:8: ( type_qualifier )
17245 # C.g:316:8: type_qualifier
17246 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred75921
)
17247 self
.type_qualifier()
17248 self
.following
.pop()
17253 # $ANTLR end synpred75
17257 # $ANTLR start synpred76
17258 def synpred76_fragment(self
, ):
17259 # C.g:316:24: ( pointer )
17260 # C.g:316:24: pointer
17261 self
.following
.append(self
.FOLLOW_pointer_in_synpred76924
)
17263 self
.following
.pop()
17268 # $ANTLR end synpred76
17272 # $ANTLR start synpred77
17273 def synpred77_fragment(self
, ):
17274 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17275 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17276 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred77919
)
17279 # C.g:316:8: ( type_qualifier )+
17281 while True: #loop116
17283 LA116_0
= self
.input.LA(1)
17285 if ((49 <= LA116_0
<= 61)) :
17290 # C.g:0:0: type_qualifier
17291 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred77921
)
17292 self
.type_qualifier()
17293 self
.following
.pop()
17302 if self
.backtracking
> 0:
17306 eee
= EarlyExitException(116, self
.input)
17312 # C.g:316:24: ( pointer )?
17314 LA117_0
= self
.input.LA(1)
17316 if (LA117_0
== 66) :
17320 self
.following
.append(self
.FOLLOW_pointer_in_synpred77924
)
17322 self
.following
.pop()
17330 # $ANTLR end synpred77
17334 # $ANTLR start synpred78
17335 def synpred78_fragment(self
, ):
17336 # C.g:317:4: ( '*' pointer )
17337 # C.g:317:4: '*' pointer
17338 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred78930
)
17341 self
.following
.append(self
.FOLLOW_pointer_in_synpred78932
)
17343 self
.following
.pop()
17348 # $ANTLR end synpred78
17352 # $ANTLR start synpred81
17353 def synpred81_fragment(self
, ):
17354 # C.g:326:32: ( 'OPTIONAL' )
17355 # C.g:326:32: 'OPTIONAL'
17356 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred81977
)
17361 # $ANTLR end synpred81
17365 # $ANTLR start synpred82
17366 def synpred82_fragment(self
, ):
17367 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17368 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17369 self
.match(self
.input, 27, self
.FOLLOW_27_in_synpred82974
)
17372 # C.g:326:31: ( 'OPTIONAL' )?
17374 LA119_0
= self
.input.LA(1)
17376 if (LA119_0
== 53) :
17377 LA119_1
= self
.input.LA(2)
17379 if (self
.synpred81()) :
17382 # C.g:326:32: 'OPTIONAL'
17383 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred82977
)
17389 self
.following
.append(self
.FOLLOW_parameter_declaration_in_synpred82981
)
17390 self
.parameter_declaration()
17391 self
.following
.pop()
17396 # $ANTLR end synpred82
17400 # $ANTLR start synpred83
17401 def synpred83_fragment(self
, ):
17402 # C.g:330:28: ( declarator )
17403 # C.g:330:28: declarator
17404 self
.following
.append(self
.FOLLOW_declarator_in_synpred83997
)
17406 self
.following
.pop()
17411 # $ANTLR end synpred83
17415 # $ANTLR start synpred84
17416 def synpred84_fragment(self
, ):
17417 # C.g:330:39: ( abstract_declarator )
17418 # C.g:330:39: abstract_declarator
17419 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred84999
)
17420 self
.abstract_declarator()
17421 self
.following
.pop()
17426 # $ANTLR end synpred84
17430 # $ANTLR start synpred86
17431 def synpred86_fragment(self
, ):
17432 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17433 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17434 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred86994
)
17435 self
.declaration_specifiers()
17436 self
.following
.pop()
17439 # C.g:330:27: ( declarator | abstract_declarator )*
17440 while True: #loop120
17442 LA120
= self
.input.LA(1)
17444 LA120_3
= self
.input.LA(2)
17446 if (self
.synpred83()) :
17448 elif (self
.synpred84()) :
17452 elif LA120
== IDENTIFIER
or LA120
== 58 or LA120
== 59 or LA120
== 60:
17455 LA120
= self
.input.LA(2)
17456 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:
17459 LA120_21
= self
.input.LA(3)
17461 if (self
.synpred83()) :
17463 elif (self
.synpred84()) :
17468 LA120_22
= self
.input.LA(3)
17470 if (self
.synpred83()) :
17472 elif (self
.synpred84()) :
17477 LA120_23
= self
.input.LA(3)
17479 if (self
.synpred83()) :
17481 elif (self
.synpred84()) :
17486 LA120_24
= self
.input.LA(3)
17488 if (self
.synpred83()) :
17490 elif (self
.synpred84()) :
17494 elif LA120
== IDENTIFIER
:
17495 LA120_25
= self
.input.LA(3)
17497 if (self
.synpred83()) :
17499 elif (self
.synpred84()) :
17504 LA120_26
= self
.input.LA(3)
17506 if (self
.synpred83()) :
17508 elif (self
.synpred84()) :
17517 # C.g:330:28: declarator
17518 self
.following
.append(self
.FOLLOW_declarator_in_synpred86997
)
17520 self
.following
.pop()
17526 # C.g:330:39: abstract_declarator
17527 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred86999
)
17528 self
.abstract_declarator()
17529 self
.following
.pop()
17538 # C.g:330:61: ( 'OPTIONAL' )?
17540 LA121_0
= self
.input.LA(1)
17542 if (LA121_0
== 53) :
17545 # C.g:330:62: 'OPTIONAL'
17546 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred861004
)
17554 # $ANTLR end synpred86
17558 # $ANTLR start synpred90
17559 def synpred90_fragment(self
, ):
17560 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17561 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17562 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_synpred901046
)
17563 self
.specifier_qualifier_list()
17564 self
.following
.pop()
17567 # C.g:341:29: ( abstract_declarator )?
17569 LA122_0
= self
.input.LA(1)
17571 if (LA122_0
== 62 or LA122_0
== 64 or LA122_0
== 66) :
17574 # C.g:0:0: abstract_declarator
17575 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred901048
)
17576 self
.abstract_declarator()
17577 self
.following
.pop()
17585 # $ANTLR end synpred90
17589 # $ANTLR start synpred91
17590 def synpred91_fragment(self
, ):
17591 # C.g:346:12: ( direct_abstract_declarator )
17592 # C.g:346:12: direct_abstract_declarator
17593 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_synpred911067
)
17594 self
.direct_abstract_declarator()
17595 self
.following
.pop()
17600 # $ANTLR end synpred91
17604 # $ANTLR start synpred93
17605 def synpred93_fragment(self
, ):
17606 # C.g:351:6: ( '(' abstract_declarator ')' )
17607 # C.g:351:6: '(' abstract_declarator ')'
17608 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred931086
)
17611 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred931088
)
17612 self
.abstract_declarator()
17613 self
.following
.pop()
17616 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred931090
)
17621 # $ANTLR end synpred93
17625 # $ANTLR start synpred94
17626 def synpred94_fragment(self
, ):
17627 # C.g:351:65: ( abstract_declarator_suffix )
17628 # C.g:351:65: abstract_declarator_suffix
17629 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_synpred941098
)
17630 self
.abstract_declarator_suffix()
17631 self
.following
.pop()
17636 # $ANTLR end synpred94
17640 # $ANTLR start synpred109
17641 def synpred109_fragment(self
, ):
17642 # C.g:386:4: ( '(' type_name ')' cast_expression )
17643 # C.g:386:4: '(' type_name ')' cast_expression
17644 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1091282
)
17647 self
.following
.append(self
.FOLLOW_type_name_in_synpred1091284
)
17649 self
.following
.pop()
17652 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1091286
)
17655 self
.following
.append(self
.FOLLOW_cast_expression_in_synpred1091288
)
17656 self
.cast_expression()
17657 self
.following
.pop()
17662 # $ANTLR end synpred109
17666 # $ANTLR start synpred114
17667 def synpred114_fragment(self
, ):
17668 # C.g:395:4: ( 'sizeof' unary_expression )
17669 # C.g:395:4: 'sizeof' unary_expression
17670 self
.match(self
.input, 74, self
.FOLLOW_74_in_synpred1141330
)
17673 self
.following
.append(self
.FOLLOW_unary_expression_in_synpred1141332
)
17674 self
.unary_expression()
17675 self
.following
.pop()
17680 # $ANTLR end synpred114
17684 # $ANTLR start synpred117
17685 def synpred117_fragment(self
, ):
17686 # C.g:409:13: ( '(' argument_expression_list ')' )
17687 # C.g:409:13: '(' argument_expression_list ')'
17688 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1171420
)
17691 self
.following
.append(self
.FOLLOW_argument_expression_list_in_synpred1171424
)
17692 self
.argument_expression_list()
17693 self
.following
.pop()
17696 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1171428
)
17701 # $ANTLR end synpred117
17705 # $ANTLR start synpred118
17706 def synpred118_fragment(self
, ):
17707 # C.g:410:13: ( '(' macro_parameter_list ')' )
17708 # C.g:410:13: '(' macro_parameter_list ')'
17709 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1181444
)
17712 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_synpred1181446
)
17713 self
.macro_parameter_list()
17714 self
.following
.pop()
17717 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1181448
)
17722 # $ANTLR end synpred118
17726 # $ANTLR start synpred120
17727 def synpred120_fragment(self
, ):
17728 # C.g:412:13: ( '*' IDENTIFIER )
17729 # C.g:412:13: '*' IDENTIFIER
17730 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred1201482
)
17733 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1201486
)
17738 # $ANTLR end synpred120
17742 # $ANTLR start synpred137
17743 def synpred137_fragment(self
, ):
17744 # C.g:443:20: ( STRING_LITERAL )
17745 # C.g:443:20: STRING_LITERAL
17746 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1371683
)
17751 # $ANTLR end synpred137
17755 # $ANTLR start synpred138
17756 def synpred138_fragment(self
, ):
17757 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17758 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17759 # C.g:443:8: ( IDENTIFIER )*
17760 while True: #loop125
17762 LA125_0
= self
.input.LA(1)
17764 if (LA125_0
== IDENTIFIER
) :
17769 # C.g:0:0: IDENTIFIER
17770 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1381680
)
17779 # C.g:443:20: ( STRING_LITERAL )+
17781 while True: #loop126
17783 LA126_0
= self
.input.LA(1)
17785 if (LA126_0
== STRING_LITERAL
) :
17790 # C.g:0:0: STRING_LITERAL
17791 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1381683
)
17800 if self
.backtracking
> 0:
17804 eee
= EarlyExitException(126, self
.input)
17812 # $ANTLR end synpred138
17816 # $ANTLR start synpred142
17817 def synpred142_fragment(self
, ):
17818 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17819 # C.g:458:4: lvalue assignment_operator assignment_expression
17820 self
.following
.append(self
.FOLLOW_lvalue_in_synpred1421744
)
17822 self
.following
.pop()
17825 self
.following
.append(self
.FOLLOW_assignment_operator_in_synpred1421746
)
17826 self
.assignment_operator()
17827 self
.following
.pop()
17830 self
.following
.append(self
.FOLLOW_assignment_expression_in_synpred1421748
)
17831 self
.assignment_expression()
17832 self
.following
.pop()
17837 # $ANTLR end synpred142
17841 # $ANTLR start synpred169
17842 def synpred169_fragment(self
, ):
17843 # C.g:520:4: ( expression_statement )
17844 # C.g:520:4: expression_statement
17845 self
.following
.append(self
.FOLLOW_expression_statement_in_synpred1692035
)
17846 self
.expression_statement()
17847 self
.following
.pop()
17852 # $ANTLR end synpred169
17856 # $ANTLR start synpred173
17857 def synpred173_fragment(self
, ):
17858 # C.g:524:4: ( macro_statement )
17859 # C.g:524:4: macro_statement
17860 self
.following
.append(self
.FOLLOW_macro_statement_in_synpred1732055
)
17861 self
.macro_statement()
17862 self
.following
.pop()
17867 # $ANTLR end synpred173
17871 # $ANTLR start synpred174
17872 def synpred174_fragment(self
, ):
17873 # C.g:525:4: ( asm2_statement )
17874 # C.g:525:4: asm2_statement
17875 self
.following
.append(self
.FOLLOW_asm2_statement_in_synpred1742060
)
17876 self
.asm2_statement()
17877 self
.following
.pop()
17882 # $ANTLR end synpred174
17886 # $ANTLR start synpred181
17887 def synpred181_fragment(self
, ):
17888 # C.g:544:19: ( declaration )
17889 # C.g:544:19: declaration
17890 self
.following
.append(self
.FOLLOW_declaration_in_synpred1812166
)
17892 self
.following
.pop()
17897 # $ANTLR end synpred181
17901 # $ANTLR start synpred182
17902 def synpred182_fragment(self
, ):
17903 # C.g:544:33: ( statement_list )
17904 # C.g:544:33: statement_list
17905 self
.following
.append(self
.FOLLOW_statement_list_in_synpred1822170
)
17906 self
.statement_list()
17907 self
.following
.pop()
17912 # $ANTLR end synpred182
17916 # $ANTLR start synpred186
17917 def synpred186_fragment(self
, ):
17918 # C.g:554:8: ( declaration )
17919 # C.g:554:8: declaration
17920 self
.following
.append(self
.FOLLOW_declaration_in_synpred1862225
)
17922 self
.following
.pop()
17927 # $ANTLR end synpred186
17931 # $ANTLR start synpred188
17932 def synpred188_fragment(self
, ):
17933 # C.g:558:4: ( statement )
17934 # C.g:558:4: statement
17935 self
.following
.append(self
.FOLLOW_statement_in_synpred1882242
)
17937 self
.following
.pop()
17942 # $ANTLR end synpred188
17946 def synpred69(self
):
17947 self
.backtracking
+= 1
17948 start
= self
.input.mark()
17949 self
.synpred69_fragment()
17950 success
= not self
.failed
17951 self
.input.rewind(start
)
17952 self
.backtracking
-= 1
17953 self
.failed
= False
17956 def synpred81(self
):
17957 self
.backtracking
+= 1
17958 start
= self
.input.mark()
17959 self
.synpred81_fragment()
17960 success
= not self
.failed
17961 self
.input.rewind(start
)
17962 self
.backtracking
-= 1
17963 self
.failed
= False
17966 def synpred82(self
):
17967 self
.backtracking
+= 1
17968 start
= self
.input.mark()
17969 self
.synpred82_fragment()
17970 success
= not self
.failed
17971 self
.input.rewind(start
)
17972 self
.backtracking
-= 1
17973 self
.failed
= False
17976 def synpred66(self
):
17977 self
.backtracking
+= 1
17978 start
= self
.input.mark()
17979 self
.synpred66_fragment()
17980 success
= not self
.failed
17981 self
.input.rewind(start
)
17982 self
.backtracking
-= 1
17983 self
.failed
= False
17986 def synpred83(self
):
17987 self
.backtracking
+= 1
17988 start
= self
.input.mark()
17989 self
.synpred83_fragment()
17990 success
= not self
.failed
17991 self
.input.rewind(start
)
17992 self
.backtracking
-= 1
17993 self
.failed
= False
17996 def synpred84(self
):
17997 self
.backtracking
+= 1
17998 start
= self
.input.mark()
17999 self
.synpred84_fragment()
18000 success
= not self
.failed
18001 self
.input.rewind(start
)
18002 self
.backtracking
-= 1
18003 self
.failed
= False
18006 def synpred67(self
):
18007 self
.backtracking
+= 1
18008 start
= self
.input.mark()
18009 self
.synpred67_fragment()
18010 success
= not self
.failed
18011 self
.input.rewind(start
)
18012 self
.backtracking
-= 1
18013 self
.failed
= False
18016 def synpred86(self
):
18017 self
.backtracking
+= 1
18018 start
= self
.input.mark()
18019 self
.synpred86_fragment()
18020 success
= not self
.failed
18021 self
.input.rewind(start
)
18022 self
.backtracking
-= 1
18023 self
.failed
= False
18026 def synpred120(self
):
18027 self
.backtracking
+= 1
18028 start
= self
.input.mark()
18029 self
.synpred120_fragment()
18030 success
= not self
.failed
18031 self
.input.rewind(start
)
18032 self
.backtracking
-= 1
18033 self
.failed
= False
18036 def synpred40(self
):
18037 self
.backtracking
+= 1
18038 start
= self
.input.mark()
18039 self
.synpred40_fragment()
18040 success
= not self
.failed
18041 self
.input.rewind(start
)
18042 self
.backtracking
-= 1
18043 self
.failed
= False
18046 def synpred142(self
):
18047 self
.backtracking
+= 1
18048 start
= self
.input.mark()
18049 self
.synpred142_fragment()
18050 success
= not self
.failed
18051 self
.input.rewind(start
)
18052 self
.backtracking
-= 1
18053 self
.failed
= False
18056 def synpred182(self
):
18057 self
.backtracking
+= 1
18058 start
= self
.input.mark()
18059 self
.synpred182_fragment()
18060 success
= not self
.failed
18061 self
.input.rewind(start
)
18062 self
.backtracking
-= 1
18063 self
.failed
= False
18066 def synpred109(self
):
18067 self
.backtracking
+= 1
18068 start
= self
.input.mark()
18069 self
.synpred109_fragment()
18070 success
= not self
.failed
18071 self
.input.rewind(start
)
18072 self
.backtracking
-= 1
18073 self
.failed
= False
18076 def synpred181(self
):
18077 self
.backtracking
+= 1
18078 start
= self
.input.mark()
18079 self
.synpred181_fragment()
18080 success
= not self
.failed
18081 self
.input.rewind(start
)
18082 self
.backtracking
-= 1
18083 self
.failed
= False
18086 def synpred186(self
):
18087 self
.backtracking
+= 1
18088 start
= self
.input.mark()
18089 self
.synpred186_fragment()
18090 success
= not self
.failed
18091 self
.input.rewind(start
)
18092 self
.backtracking
-= 1
18093 self
.failed
= False
18096 def synpred188(self
):
18097 self
.backtracking
+= 1
18098 start
= self
.input.mark()
18099 self
.synpred188_fragment()
18100 success
= not self
.failed
18101 self
.input.rewind(start
)
18102 self
.backtracking
-= 1
18103 self
.failed
= False
18106 def synpred169(self
):
18107 self
.backtracking
+= 1
18108 start
= self
.input.mark()
18109 self
.synpred169_fragment()
18110 success
= not self
.failed
18111 self
.input.rewind(start
)
18112 self
.backtracking
-= 1
18113 self
.failed
= False
18116 def synpred117(self
):
18117 self
.backtracking
+= 1
18118 start
= self
.input.mark()
18119 self
.synpred117_fragment()
18120 success
= not self
.failed
18121 self
.input.rewind(start
)
18122 self
.backtracking
-= 1
18123 self
.failed
= False
18126 def synpred70(self
):
18127 self
.backtracking
+= 1
18128 start
= self
.input.mark()
18129 self
.synpred70_fragment()
18130 success
= not self
.failed
18131 self
.input.rewind(start
)
18132 self
.backtracking
-= 1
18133 self
.failed
= False
18136 def synpred118(self
):
18137 self
.backtracking
+= 1
18138 start
= self
.input.mark()
18139 self
.synpred118_fragment()
18140 success
= not self
.failed
18141 self
.input.rewind(start
)
18142 self
.backtracking
-= 1
18143 self
.failed
= False
18146 def synpred34(self
):
18147 self
.backtracking
+= 1
18148 start
= self
.input.mark()
18149 self
.synpred34_fragment()
18150 success
= not self
.failed
18151 self
.input.rewind(start
)
18152 self
.backtracking
-= 1
18153 self
.failed
= False
18156 def synpred33(self
):
18157 self
.backtracking
+= 1
18158 start
= self
.input.mark()
18159 self
.synpred33_fragment()
18160 success
= not self
.failed
18161 self
.input.rewind(start
)
18162 self
.backtracking
-= 1
18163 self
.failed
= False
18166 def synpred94(self
):
18167 self
.backtracking
+= 1
18168 start
= self
.input.mark()
18169 self
.synpred94_fragment()
18170 success
= not self
.failed
18171 self
.input.rewind(start
)
18172 self
.backtracking
-= 1
18173 self
.failed
= False
18176 def synpred39(self
):
18177 self
.backtracking
+= 1
18178 start
= self
.input.mark()
18179 self
.synpred39_fragment()
18180 success
= not self
.failed
18181 self
.input.rewind(start
)
18182 self
.backtracking
-= 1
18183 self
.failed
= False
18186 def synpred74(self
):
18187 self
.backtracking
+= 1
18188 start
= self
.input.mark()
18189 self
.synpred74_fragment()
18190 success
= not self
.failed
18191 self
.input.rewind(start
)
18192 self
.backtracking
-= 1
18193 self
.failed
= False
18196 def synpred114(self
):
18197 self
.backtracking
+= 1
18198 start
= self
.input.mark()
18199 self
.synpred114_fragment()
18200 success
= not self
.failed
18201 self
.input.rewind(start
)
18202 self
.backtracking
-= 1
18203 self
.failed
= False
18206 def synpred93(self
):
18207 self
.backtracking
+= 1
18208 start
= self
.input.mark()
18209 self
.synpred93_fragment()
18210 success
= not self
.failed
18211 self
.input.rewind(start
)
18212 self
.backtracking
-= 1
18213 self
.failed
= False
18216 def synpred75(self
):
18217 self
.backtracking
+= 1
18218 start
= self
.input.mark()
18219 self
.synpred75_fragment()
18220 success
= not self
.failed
18221 self
.input.rewind(start
)
18222 self
.backtracking
-= 1
18223 self
.failed
= False
18226 def synpred137(self
):
18227 self
.backtracking
+= 1
18228 start
= self
.input.mark()
18229 self
.synpred137_fragment()
18230 success
= not self
.failed
18231 self
.input.rewind(start
)
18232 self
.backtracking
-= 1
18233 self
.failed
= False
18236 def synpred90(self
):
18237 self
.backtracking
+= 1
18238 start
= self
.input.mark()
18239 self
.synpred90_fragment()
18240 success
= not self
.failed
18241 self
.input.rewind(start
)
18242 self
.backtracking
-= 1
18243 self
.failed
= False
18246 def synpred138(self
):
18247 self
.backtracking
+= 1
18248 start
= self
.input.mark()
18249 self
.synpred138_fragment()
18250 success
= not self
.failed
18251 self
.input.rewind(start
)
18252 self
.backtracking
-= 1
18253 self
.failed
= False
18256 def synpred91(self
):
18257 self
.backtracking
+= 1
18258 start
= self
.input.mark()
18259 self
.synpred91_fragment()
18260 success
= not self
.failed
18261 self
.input.rewind(start
)
18262 self
.backtracking
-= 1
18263 self
.failed
= False
18266 def synpred73(self
):
18267 self
.backtracking
+= 1
18268 start
= self
.input.mark()
18269 self
.synpred73_fragment()
18270 success
= not self
.failed
18271 self
.input.rewind(start
)
18272 self
.backtracking
-= 1
18273 self
.failed
= False
18276 def synpred5(self
):
18277 self
.backtracking
+= 1
18278 start
= self
.input.mark()
18279 self
.synpred5_fragment()
18280 success
= not self
.failed
18281 self
.input.rewind(start
)
18282 self
.backtracking
-= 1
18283 self
.failed
= False
18286 def synpred78(self
):
18287 self
.backtracking
+= 1
18288 start
= self
.input.mark()
18289 self
.synpred78_fragment()
18290 success
= not self
.failed
18291 self
.input.rewind(start
)
18292 self
.backtracking
-= 1
18293 self
.failed
= False
18296 def synpred7(self
):
18297 self
.backtracking
+= 1
18298 start
= self
.input.mark()
18299 self
.synpred7_fragment()
18300 success
= not self
.failed
18301 self
.input.rewind(start
)
18302 self
.backtracking
-= 1
18303 self
.failed
= False
18306 def synpred76(self
):
18307 self
.backtracking
+= 1
18308 start
= self
.input.mark()
18309 self
.synpred76_fragment()
18310 success
= not self
.failed
18311 self
.input.rewind(start
)
18312 self
.backtracking
-= 1
18313 self
.failed
= False
18316 def synpred77(self
):
18317 self
.backtracking
+= 1
18318 start
= self
.input.mark()
18319 self
.synpred77_fragment()
18320 success
= not self
.failed
18321 self
.input.rewind(start
)
18322 self
.backtracking
-= 1
18323 self
.failed
= False
18326 def synpred2(self
):
18327 self
.backtracking
+= 1
18328 start
= self
.input.mark()
18329 self
.synpred2_fragment()
18330 success
= not self
.failed
18331 self
.input.rewind(start
)
18332 self
.backtracking
-= 1
18333 self
.failed
= False
18336 def synpred4(self
):
18337 self
.backtracking
+= 1
18338 start
= self
.input.mark()
18339 self
.synpred4_fragment()
18340 success
= not self
.failed
18341 self
.input.rewind(start
)
18342 self
.backtracking
-= 1
18343 self
.failed
= False
18346 def synpred174(self
):
18347 self
.backtracking
+= 1
18348 start
= self
.input.mark()
18349 self
.synpred174_fragment()
18350 success
= not self
.failed
18351 self
.input.rewind(start
)
18352 self
.backtracking
-= 1
18353 self
.failed
= False
18356 def synpred173(self
):
18357 self
.backtracking
+= 1
18358 start
= self
.input.mark()
18359 self
.synpred173_fragment()
18360 success
= not self
.failed
18361 self
.input.rewind(start
)
18362 self
.backtracking
-= 1
18363 self
.failed
= False
18366 def synpred14(self
):
18367 self
.backtracking
+= 1
18368 start
= self
.input.mark()
18369 self
.synpred14_fragment()
18370 success
= not self
.failed
18371 self
.input.rewind(start
)
18372 self
.backtracking
-= 1
18373 self
.failed
= False
18376 def synpred15(self
):
18377 self
.backtracking
+= 1
18378 start
= self
.input.mark()
18379 self
.synpred15_fragment()
18380 success
= not self
.failed
18381 self
.input.rewind(start
)
18382 self
.backtracking
-= 1
18383 self
.failed
= False
18386 def synpred10(self
):
18387 self
.backtracking
+= 1
18388 start
= self
.input.mark()
18389 self
.synpred10_fragment()
18390 success
= not self
.failed
18391 self
.input.rewind(start
)
18392 self
.backtracking
-= 1
18393 self
.failed
= False
18400 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])
18401 FOLLOW_function_definition_in_external_declaration113
= frozenset([1])
18402 FOLLOW_declaration_in_external_declaration118
= frozenset([1])
18403 FOLLOW_macro_statement_in_external_declaration123
= frozenset([1, 25])
18404 FOLLOW_25_in_external_declaration126
= frozenset([1])
18405 FOLLOW_declaration_specifiers_in_function_definition157
= frozenset([4, 58, 59, 60, 62, 66])
18406 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])
18407 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])
18408 FOLLOW_compound_statement_in_function_definition171
= frozenset([1])
18409 FOLLOW_compound_statement_in_function_definition180
= frozenset([1])
18410 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])
18411 FOLLOW_declaration_specifiers_in_declaration207
= frozenset([4, 58, 59, 60, 62, 66])
18412 FOLLOW_init_declarator_list_in_declaration216
= frozenset([25])
18413 FOLLOW_25_in_declaration220
= frozenset([1])
18414 FOLLOW_declaration_specifiers_in_declaration234
= frozenset([4, 25, 58, 59, 60, 62, 66])
18415 FOLLOW_init_declarator_list_in_declaration238
= frozenset([25])
18416 FOLLOW_25_in_declaration243
= frozenset([1])
18417 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])
18418 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])
18419 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])
18420 FOLLOW_init_declarator_in_init_declarator_list308
= frozenset([1, 27])
18421 FOLLOW_27_in_init_declarator_list311
= frozenset([4, 58, 59, 60, 62, 66])
18422 FOLLOW_init_declarator_in_init_declarator_list313
= frozenset([1, 27])
18423 FOLLOW_declarator_in_init_declarator326
= frozenset([1, 28])
18424 FOLLOW_28_in_init_declarator329
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18425 FOLLOW_initializer_in_init_declarator331
= frozenset([1])
18426 FOLLOW_set_in_storage_class_specifier0
= frozenset([1])
18427 FOLLOW_34_in_type_specifier376
= frozenset([1])
18428 FOLLOW_35_in_type_specifier381
= frozenset([1])
18429 FOLLOW_36_in_type_specifier386
= frozenset([1])
18430 FOLLOW_37_in_type_specifier391
= frozenset([1])
18431 FOLLOW_38_in_type_specifier396
= frozenset([1])
18432 FOLLOW_39_in_type_specifier401
= frozenset([1])
18433 FOLLOW_40_in_type_specifier406
= frozenset([1])
18434 FOLLOW_41_in_type_specifier411
= frozenset([1])
18435 FOLLOW_42_in_type_specifier416
= frozenset([1])
18436 FOLLOW_struct_or_union_specifier_in_type_specifier423
= frozenset([1])
18437 FOLLOW_enum_specifier_in_type_specifier433
= frozenset([1])
18438 FOLLOW_type_id_in_type_specifier451
= frozenset([1])
18439 FOLLOW_IDENTIFIER_in_type_id467
= frozenset([1])
18440 FOLLOW_struct_or_union_in_struct_or_union_specifier494
= frozenset([4, 43])
18441 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496
= frozenset([43])
18442 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])
18443 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501
= frozenset([44])
18444 FOLLOW_44_in_struct_or_union_specifier503
= frozenset([1])
18445 FOLLOW_struct_or_union_in_struct_or_union_specifier508
= frozenset([4])
18446 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510
= frozenset([1])
18447 FOLLOW_set_in_struct_or_union0
= frozenset([1])
18448 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])
18449 FOLLOW_specifier_qualifier_list_in_struct_declaration549
= frozenset([4, 47, 58, 59, 60, 62, 66])
18450 FOLLOW_struct_declarator_list_in_struct_declaration551
= frozenset([25])
18451 FOLLOW_25_in_struct_declaration553
= frozenset([1])
18452 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])
18453 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])
18454 FOLLOW_struct_declarator_in_struct_declarator_list584
= frozenset([1, 27])
18455 FOLLOW_27_in_struct_declarator_list587
= frozenset([4, 47, 58, 59, 60, 62, 66])
18456 FOLLOW_struct_declarator_in_struct_declarator_list589
= frozenset([1, 27])
18457 FOLLOW_declarator_in_struct_declarator602
= frozenset([1, 47])
18458 FOLLOW_47_in_struct_declarator605
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18459 FOLLOW_constant_expression_in_struct_declarator607
= frozenset([1])
18460 FOLLOW_47_in_struct_declarator614
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18461 FOLLOW_constant_expression_in_struct_declarator616
= frozenset([1])
18462 FOLLOW_48_in_enum_specifier634
= frozenset([43])
18463 FOLLOW_43_in_enum_specifier636
= frozenset([4])
18464 FOLLOW_enumerator_list_in_enum_specifier638
= frozenset([27, 44])
18465 FOLLOW_27_in_enum_specifier640
= frozenset([44])
18466 FOLLOW_44_in_enum_specifier643
= frozenset([1])
18467 FOLLOW_48_in_enum_specifier648
= frozenset([4])
18468 FOLLOW_IDENTIFIER_in_enum_specifier650
= frozenset([43])
18469 FOLLOW_43_in_enum_specifier652
= frozenset([4])
18470 FOLLOW_enumerator_list_in_enum_specifier654
= frozenset([27, 44])
18471 FOLLOW_27_in_enum_specifier656
= frozenset([44])
18472 FOLLOW_44_in_enum_specifier659
= frozenset([1])
18473 FOLLOW_48_in_enum_specifier664
= frozenset([4])
18474 FOLLOW_IDENTIFIER_in_enum_specifier666
= frozenset([1])
18475 FOLLOW_enumerator_in_enumerator_list677
= frozenset([1, 27])
18476 FOLLOW_27_in_enumerator_list680
= frozenset([4])
18477 FOLLOW_enumerator_in_enumerator_list682
= frozenset([1, 27])
18478 FOLLOW_IDENTIFIER_in_enumerator695
= frozenset([1, 28])
18479 FOLLOW_28_in_enumerator698
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18480 FOLLOW_constant_expression_in_enumerator700
= frozenset([1])
18481 FOLLOW_set_in_type_qualifier0
= frozenset([1])
18482 FOLLOW_pointer_in_declarator784
= frozenset([4, 58, 59, 60, 62])
18483 FOLLOW_58_in_declarator788
= frozenset([4, 59, 60, 62])
18484 FOLLOW_59_in_declarator793
= frozenset([4, 60, 62])
18485 FOLLOW_60_in_declarator798
= frozenset([4, 62])
18486 FOLLOW_direct_declarator_in_declarator802
= frozenset([1])
18487 FOLLOW_pointer_in_declarator808
= frozenset([1])
18488 FOLLOW_IDENTIFIER_in_direct_declarator819
= frozenset([1, 62, 64])
18489 FOLLOW_declarator_suffix_in_direct_declarator821
= frozenset([1, 62, 64])
18490 FOLLOW_62_in_direct_declarator827
= frozenset([4, 58, 59, 60, 62, 66])
18491 FOLLOW_58_in_direct_declarator830
= frozenset([4, 58, 59, 60, 62, 66])
18492 FOLLOW_declarator_in_direct_declarator834
= frozenset([63])
18493 FOLLOW_63_in_direct_declarator836
= frozenset([62, 64])
18494 FOLLOW_declarator_suffix_in_direct_declarator838
= frozenset([1, 62, 64])
18495 FOLLOW_64_in_declarator_suffix852
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18496 FOLLOW_constant_expression_in_declarator_suffix854
= frozenset([65])
18497 FOLLOW_65_in_declarator_suffix856
= frozenset([1])
18498 FOLLOW_64_in_declarator_suffix866
= frozenset([65])
18499 FOLLOW_65_in_declarator_suffix868
= frozenset([1])
18500 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])
18501 FOLLOW_parameter_type_list_in_declarator_suffix880
= frozenset([63])
18502 FOLLOW_63_in_declarator_suffix882
= frozenset([1])
18503 FOLLOW_62_in_declarator_suffix892
= frozenset([4])
18504 FOLLOW_identifier_list_in_declarator_suffix894
= frozenset([63])
18505 FOLLOW_63_in_declarator_suffix896
= frozenset([1])
18506 FOLLOW_62_in_declarator_suffix906
= frozenset([63])
18507 FOLLOW_63_in_declarator_suffix908
= frozenset([1])
18508 FOLLOW_66_in_pointer919
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18509 FOLLOW_type_qualifier_in_pointer921
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18510 FOLLOW_pointer_in_pointer924
= frozenset([1])
18511 FOLLOW_66_in_pointer930
= frozenset([66])
18512 FOLLOW_pointer_in_pointer932
= frozenset([1])
18513 FOLLOW_66_in_pointer937
= frozenset([1])
18514 FOLLOW_parameter_list_in_parameter_type_list948
= frozenset([1, 27])
18515 FOLLOW_27_in_parameter_type_list951
= frozenset([53, 67])
18516 FOLLOW_53_in_parameter_type_list954
= frozenset([67])
18517 FOLLOW_67_in_parameter_type_list958
= frozenset([1])
18518 FOLLOW_parameter_declaration_in_parameter_list971
= frozenset([1, 27])
18519 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])
18520 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])
18521 FOLLOW_parameter_declaration_in_parameter_list981
= frozenset([1, 27])
18522 FOLLOW_declaration_specifiers_in_parameter_declaration994
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18523 FOLLOW_declarator_in_parameter_declaration997
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18524 FOLLOW_abstract_declarator_in_parameter_declaration999
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18525 FOLLOW_53_in_parameter_declaration1004
= frozenset([1])
18526 FOLLOW_pointer_in_parameter_declaration1013
= frozenset([4, 66])
18527 FOLLOW_IDENTIFIER_in_parameter_declaration1016
= frozenset([1])
18528 FOLLOW_IDENTIFIER_in_identifier_list1027
= frozenset([1, 27])
18529 FOLLOW_27_in_identifier_list1031
= frozenset([4])
18530 FOLLOW_IDENTIFIER_in_identifier_list1033
= frozenset([1, 27])
18531 FOLLOW_specifier_qualifier_list_in_type_name1046
= frozenset([1, 62, 64, 66])
18532 FOLLOW_abstract_declarator_in_type_name1048
= frozenset([1])
18533 FOLLOW_type_id_in_type_name1054
= frozenset([1])
18534 FOLLOW_pointer_in_abstract_declarator1065
= frozenset([1, 62, 64])
18535 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067
= frozenset([1])
18536 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073
= frozenset([1])
18537 FOLLOW_62_in_direct_abstract_declarator1086
= frozenset([62, 64, 66])
18538 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088
= frozenset([63])
18539 FOLLOW_63_in_direct_abstract_declarator1090
= frozenset([1, 62, 64])
18540 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094
= frozenset([1, 62, 64])
18541 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098
= frozenset([1, 62, 64])
18542 FOLLOW_64_in_abstract_declarator_suffix1110
= frozenset([65])
18543 FOLLOW_65_in_abstract_declarator_suffix1112
= frozenset([1])
18544 FOLLOW_64_in_abstract_declarator_suffix1117
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18545 FOLLOW_constant_expression_in_abstract_declarator_suffix1119
= frozenset([65])
18546 FOLLOW_65_in_abstract_declarator_suffix1121
= frozenset([1])
18547 FOLLOW_62_in_abstract_declarator_suffix1126
= frozenset([63])
18548 FOLLOW_63_in_abstract_declarator_suffix1128
= frozenset([1])
18549 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])
18550 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135
= frozenset([63])
18551 FOLLOW_63_in_abstract_declarator_suffix1137
= frozenset([1])
18552 FOLLOW_assignment_expression_in_initializer1150
= frozenset([1])
18553 FOLLOW_43_in_initializer1155
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18554 FOLLOW_initializer_list_in_initializer1157
= frozenset([27, 44])
18555 FOLLOW_27_in_initializer1159
= frozenset([44])
18556 FOLLOW_44_in_initializer1162
= frozenset([1])
18557 FOLLOW_initializer_in_initializer_list1173
= frozenset([1, 27])
18558 FOLLOW_27_in_initializer_list1176
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18559 FOLLOW_initializer_in_initializer_list1178
= frozenset([1, 27])
18560 FOLLOW_assignment_expression_in_argument_expression_list1196
= frozenset([1, 27, 53])
18561 FOLLOW_53_in_argument_expression_list1199
= frozenset([1, 27])
18562 FOLLOW_27_in_argument_expression_list1204
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18563 FOLLOW_assignment_expression_in_argument_expression_list1206
= frozenset([1, 27, 53])
18564 FOLLOW_53_in_argument_expression_list1209
= frozenset([1, 27])
18565 FOLLOW_multiplicative_expression_in_additive_expression1225
= frozenset([1, 68, 69])
18566 FOLLOW_68_in_additive_expression1229
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18567 FOLLOW_multiplicative_expression_in_additive_expression1231
= frozenset([1, 68, 69])
18568 FOLLOW_69_in_additive_expression1235
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18569 FOLLOW_multiplicative_expression_in_additive_expression1237
= frozenset([1, 68, 69])
18570 FOLLOW_cast_expression_in_multiplicative_expression1251
= frozenset([1, 66, 70, 71])
18571 FOLLOW_66_in_multiplicative_expression1255
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18572 FOLLOW_cast_expression_in_multiplicative_expression1257
= frozenset([1, 66, 70, 71])
18573 FOLLOW_70_in_multiplicative_expression1261
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18574 FOLLOW_cast_expression_in_multiplicative_expression1263
= frozenset([1, 66, 70, 71])
18575 FOLLOW_71_in_multiplicative_expression1267
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18576 FOLLOW_cast_expression_in_multiplicative_expression1269
= frozenset([1, 66, 70, 71])
18577 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])
18578 FOLLOW_type_name_in_cast_expression1284
= frozenset([63])
18579 FOLLOW_63_in_cast_expression1286
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18580 FOLLOW_cast_expression_in_cast_expression1288
= frozenset([1])
18581 FOLLOW_unary_expression_in_cast_expression1293
= frozenset([1])
18582 FOLLOW_postfix_expression_in_unary_expression1304
= frozenset([1])
18583 FOLLOW_72_in_unary_expression1309
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18584 FOLLOW_unary_expression_in_unary_expression1311
= frozenset([1])
18585 FOLLOW_73_in_unary_expression1316
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18586 FOLLOW_unary_expression_in_unary_expression1318
= frozenset([1])
18587 FOLLOW_unary_operator_in_unary_expression1323
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18588 FOLLOW_cast_expression_in_unary_expression1325
= frozenset([1])
18589 FOLLOW_74_in_unary_expression1330
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18590 FOLLOW_unary_expression_in_unary_expression1332
= frozenset([1])
18591 FOLLOW_74_in_unary_expression1337
= frozenset([62])
18592 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])
18593 FOLLOW_type_name_in_unary_expression1341
= frozenset([63])
18594 FOLLOW_63_in_unary_expression1343
= frozenset([1])
18595 FOLLOW_primary_expression_in_postfix_expression1367
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18596 FOLLOW_64_in_postfix_expression1383
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18597 FOLLOW_expression_in_postfix_expression1385
= frozenset([65])
18598 FOLLOW_65_in_postfix_expression1387
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18599 FOLLOW_62_in_postfix_expression1401
= frozenset([63])
18600 FOLLOW_63_in_postfix_expression1405
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18601 FOLLOW_62_in_postfix_expression1420
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18602 FOLLOW_argument_expression_list_in_postfix_expression1424
= frozenset([63])
18603 FOLLOW_63_in_postfix_expression1428
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18604 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])
18605 FOLLOW_macro_parameter_list_in_postfix_expression1446
= frozenset([63])
18606 FOLLOW_63_in_postfix_expression1448
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18607 FOLLOW_75_in_postfix_expression1462
= frozenset([4])
18608 FOLLOW_IDENTIFIER_in_postfix_expression1466
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18609 FOLLOW_66_in_postfix_expression1482
= frozenset([4])
18610 FOLLOW_IDENTIFIER_in_postfix_expression1486
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18611 FOLLOW_76_in_postfix_expression1502
= frozenset([4])
18612 FOLLOW_IDENTIFIER_in_postfix_expression1506
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18613 FOLLOW_72_in_postfix_expression1522
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18614 FOLLOW_73_in_postfix_expression1536
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18615 FOLLOW_parameter_declaration_in_macro_parameter_list1559
= frozenset([1, 27])
18616 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])
18617 FOLLOW_parameter_declaration_in_macro_parameter_list1564
= frozenset([1, 27])
18618 FOLLOW_set_in_unary_operator0
= frozenset([1])
18619 FOLLOW_IDENTIFIER_in_primary_expression1613
= frozenset([1])
18620 FOLLOW_constant_in_primary_expression1618
= frozenset([1])
18621 FOLLOW_62_in_primary_expression1623
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18622 FOLLOW_expression_in_primary_expression1625
= frozenset([63])
18623 FOLLOW_63_in_primary_expression1627
= frozenset([1])
18624 FOLLOW_HEX_LITERAL_in_constant1643
= frozenset([1])
18625 FOLLOW_OCTAL_LITERAL_in_constant1653
= frozenset([1])
18626 FOLLOW_DECIMAL_LITERAL_in_constant1663
= frozenset([1])
18627 FOLLOW_CHARACTER_LITERAL_in_constant1671
= frozenset([1])
18628 FOLLOW_IDENTIFIER_in_constant1680
= frozenset([4, 9])
18629 FOLLOW_STRING_LITERAL_in_constant1683
= frozenset([1, 4, 9])
18630 FOLLOW_IDENTIFIER_in_constant1688
= frozenset([1, 4])
18631 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699
= frozenset([1])
18632 FOLLOW_assignment_expression_in_expression1715
= frozenset([1, 27])
18633 FOLLOW_27_in_expression1718
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18634 FOLLOW_assignment_expression_in_expression1720
= frozenset([1, 27])
18635 FOLLOW_conditional_expression_in_constant_expression1733
= frozenset([1])
18636 FOLLOW_lvalue_in_assignment_expression1744
= frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18637 FOLLOW_assignment_operator_in_assignment_expression1746
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18638 FOLLOW_assignment_expression_in_assignment_expression1748
= frozenset([1])
18639 FOLLOW_conditional_expression_in_assignment_expression1753
= frozenset([1])
18640 FOLLOW_unary_expression_in_lvalue1765
= frozenset([1])
18641 FOLLOW_set_in_assignment_operator0
= frozenset([1])
18642 FOLLOW_logical_or_expression_in_conditional_expression1839
= frozenset([1, 90])
18643 FOLLOW_90_in_conditional_expression1842
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18644 FOLLOW_expression_in_conditional_expression1844
= frozenset([47])
18645 FOLLOW_47_in_conditional_expression1846
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18646 FOLLOW_conditional_expression_in_conditional_expression1848
= frozenset([1])
18647 FOLLOW_logical_and_expression_in_logical_or_expression1863
= frozenset([1, 91])
18648 FOLLOW_91_in_logical_or_expression1866
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18649 FOLLOW_logical_and_expression_in_logical_or_expression1868
= frozenset([1, 91])
18650 FOLLOW_inclusive_or_expression_in_logical_and_expression1881
= frozenset([1, 92])
18651 FOLLOW_92_in_logical_and_expression1884
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18652 FOLLOW_inclusive_or_expression_in_logical_and_expression1886
= frozenset([1, 92])
18653 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899
= frozenset([1, 93])
18654 FOLLOW_93_in_inclusive_or_expression1902
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18655 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904
= frozenset([1, 93])
18656 FOLLOW_and_expression_in_exclusive_or_expression1917
= frozenset([1, 94])
18657 FOLLOW_94_in_exclusive_or_expression1920
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18658 FOLLOW_and_expression_in_exclusive_or_expression1922
= frozenset([1, 94])
18659 FOLLOW_equality_expression_in_and_expression1935
= frozenset([1, 77])
18660 FOLLOW_77_in_and_expression1938
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18661 FOLLOW_equality_expression_in_and_expression1940
= frozenset([1, 77])
18662 FOLLOW_relational_expression_in_equality_expression1952
= frozenset([1, 95, 96])
18663 FOLLOW_set_in_equality_expression1955
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18664 FOLLOW_relational_expression_in_equality_expression1961
= frozenset([1, 95, 96])
18665 FOLLOW_shift_expression_in_relational_expression1975
= frozenset([1, 97, 98, 99, 100])
18666 FOLLOW_set_in_relational_expression1978
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18667 FOLLOW_shift_expression_in_relational_expression1988
= frozenset([1, 97, 98, 99, 100])
18668 FOLLOW_additive_expression_in_shift_expression2001
= frozenset([1, 101, 102])
18669 FOLLOW_set_in_shift_expression2004
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18670 FOLLOW_additive_expression_in_shift_expression2010
= frozenset([1, 101, 102])
18671 FOLLOW_labeled_statement_in_statement2025
= frozenset([1])
18672 FOLLOW_compound_statement_in_statement2030
= frozenset([1])
18673 FOLLOW_expression_statement_in_statement2035
= frozenset([1])
18674 FOLLOW_selection_statement_in_statement2040
= frozenset([1])
18675 FOLLOW_iteration_statement_in_statement2045
= frozenset([1])
18676 FOLLOW_jump_statement_in_statement2050
= frozenset([1])
18677 FOLLOW_macro_statement_in_statement2055
= frozenset([1])
18678 FOLLOW_asm2_statement_in_statement2060
= frozenset([1])
18679 FOLLOW_asm1_statement_in_statement2065
= frozenset([1])
18680 FOLLOW_asm_statement_in_statement2070
= frozenset([1])
18681 FOLLOW_declaration_in_statement2075
= frozenset([1])
18682 FOLLOW_103_in_asm2_statement2086
= frozenset([4])
18683 FOLLOW_IDENTIFIER_in_asm2_statement2089
= frozenset([62])
18684 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])
18685 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])
18686 FOLLOW_63_in_asm2_statement2101
= frozenset([25])
18687 FOLLOW_25_in_asm2_statement2103
= frozenset([1])
18688 FOLLOW_104_in_asm1_statement2115
= frozenset([43])
18689 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])
18690 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])
18691 FOLLOW_44_in_asm1_statement2127
= frozenset([1])
18692 FOLLOW_105_in_asm_statement2138
= frozenset([43])
18693 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])
18694 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])
18695 FOLLOW_44_in_asm_statement2150
= frozenset([1])
18696 FOLLOW_IDENTIFIER_in_macro_statement2162
= frozenset([62])
18697 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])
18698 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])
18699 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])
18700 FOLLOW_expression_in_macro_statement2173
= frozenset([63])
18701 FOLLOW_63_in_macro_statement2176
= frozenset([1])
18702 FOLLOW_IDENTIFIER_in_labeled_statement2188
= frozenset([47])
18703 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])
18704 FOLLOW_statement_in_labeled_statement2192
= frozenset([1])
18705 FOLLOW_106_in_labeled_statement2197
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18706 FOLLOW_constant_expression_in_labeled_statement2199
= frozenset([47])
18707 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])
18708 FOLLOW_statement_in_labeled_statement2203
= frozenset([1])
18709 FOLLOW_107_in_labeled_statement2208
= frozenset([47])
18710 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])
18711 FOLLOW_statement_in_labeled_statement2212
= frozenset([1])
18712 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])
18713 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])
18714 FOLLOW_statement_list_in_compound_statement2228
= frozenset([44])
18715 FOLLOW_44_in_compound_statement2231
= frozenset([1])
18716 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])
18717 FOLLOW_25_in_expression_statement2254
= frozenset([1])
18718 FOLLOW_expression_in_expression_statement2259
= frozenset([25])
18719 FOLLOW_25_in_expression_statement2261
= frozenset([1])
18720 FOLLOW_108_in_selection_statement2272
= frozenset([62])
18721 FOLLOW_62_in_selection_statement2274
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18722 FOLLOW_expression_in_selection_statement2278
= frozenset([63])
18723 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])
18724 FOLLOW_statement_in_selection_statement2284
= frozenset([1, 109])
18725 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])
18726 FOLLOW_statement_in_selection_statement2301
= frozenset([1])
18727 FOLLOW_110_in_selection_statement2308
= frozenset([62])
18728 FOLLOW_62_in_selection_statement2310
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18729 FOLLOW_expression_in_selection_statement2312
= frozenset([63])
18730 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])
18731 FOLLOW_statement_in_selection_statement2316
= frozenset([1])
18732 FOLLOW_111_in_iteration_statement2327
= frozenset([62])
18733 FOLLOW_62_in_iteration_statement2329
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18734 FOLLOW_expression_in_iteration_statement2333
= frozenset([63])
18735 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])
18736 FOLLOW_statement_in_iteration_statement2337
= frozenset([1])
18737 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])
18738 FOLLOW_statement_in_iteration_statement2346
= frozenset([111])
18739 FOLLOW_111_in_iteration_statement2348
= frozenset([62])
18740 FOLLOW_62_in_iteration_statement2350
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18741 FOLLOW_expression_in_iteration_statement2354
= frozenset([63])
18742 FOLLOW_63_in_iteration_statement2356
= frozenset([25])
18743 FOLLOW_25_in_iteration_statement2358
= frozenset([1])
18744 FOLLOW_113_in_iteration_statement2365
= frozenset([62])
18745 FOLLOW_62_in_iteration_statement2367
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18746 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])
18747 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])
18748 FOLLOW_expression_in_iteration_statement2375
= frozenset([63])
18749 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])
18750 FOLLOW_statement_in_iteration_statement2380
= frozenset([1])
18751 FOLLOW_114_in_jump_statement2393
= frozenset([4])
18752 FOLLOW_IDENTIFIER_in_jump_statement2395
= frozenset([25])
18753 FOLLOW_25_in_jump_statement2397
= frozenset([1])
18754 FOLLOW_115_in_jump_statement2402
= frozenset([25])
18755 FOLLOW_25_in_jump_statement2404
= frozenset([1])
18756 FOLLOW_116_in_jump_statement2409
= frozenset([25])
18757 FOLLOW_25_in_jump_statement2411
= frozenset([1])
18758 FOLLOW_117_in_jump_statement2416
= frozenset([25])
18759 FOLLOW_25_in_jump_statement2418
= frozenset([1])
18760 FOLLOW_117_in_jump_statement2423
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18761 FOLLOW_expression_in_jump_statement2425
= frozenset([25])
18762 FOLLOW_25_in_jump_statement2427
= frozenset([1])
18763 FOLLOW_declaration_specifiers_in_synpred2100
= frozenset([1])
18764 FOLLOW_declaration_specifiers_in_synpred4100
= frozenset([4, 58, 59, 60, 62, 66])
18765 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])
18766 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])
18767 FOLLOW_43_in_synpred4108
= frozenset([1])
18768 FOLLOW_declaration_in_synpred5118
= frozenset([1])
18769 FOLLOW_declaration_specifiers_in_synpred7157
= frozenset([1])
18770 FOLLOW_declaration_specifiers_in_synpred10207
= frozenset([1])
18771 FOLLOW_type_specifier_in_synpred14272
= frozenset([1])
18772 FOLLOW_type_qualifier_in_synpred15286
= frozenset([1])
18773 FOLLOW_type_qualifier_in_synpred33444
= frozenset([1])
18774 FOLLOW_IDENTIFIER_in_synpred34442
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18775 FOLLOW_type_qualifier_in_synpred34444
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18776 FOLLOW_declarator_in_synpred34447
= frozenset([1])
18777 FOLLOW_type_qualifier_in_synpred39566
= frozenset([1])
18778 FOLLOW_type_specifier_in_synpred40570
= frozenset([1])
18779 FOLLOW_pointer_in_synpred66784
= frozenset([4, 58, 59, 60, 62])
18780 FOLLOW_58_in_synpred66788
= frozenset([4, 59, 60, 62])
18781 FOLLOW_59_in_synpred66793
= frozenset([4, 60, 62])
18782 FOLLOW_60_in_synpred66798
= frozenset([4, 62])
18783 FOLLOW_direct_declarator_in_synpred66802
= frozenset([1])
18784 FOLLOW_declarator_suffix_in_synpred67821
= frozenset([1])
18785 FOLLOW_58_in_synpred69830
= frozenset([1])
18786 FOLLOW_declarator_suffix_in_synpred70838
= frozenset([1])
18787 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])
18788 FOLLOW_parameter_type_list_in_synpred73880
= frozenset([63])
18789 FOLLOW_63_in_synpred73882
= frozenset([1])
18790 FOLLOW_62_in_synpred74892
= frozenset([4])
18791 FOLLOW_identifier_list_in_synpred74894
= frozenset([63])
18792 FOLLOW_63_in_synpred74896
= frozenset([1])
18793 FOLLOW_type_qualifier_in_synpred75921
= frozenset([1])
18794 FOLLOW_pointer_in_synpred76924
= frozenset([1])
18795 FOLLOW_66_in_synpred77919
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18796 FOLLOW_type_qualifier_in_synpred77921
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18797 FOLLOW_pointer_in_synpred77924
= frozenset([1])
18798 FOLLOW_66_in_synpred78930
= frozenset([66])
18799 FOLLOW_pointer_in_synpred78932
= frozenset([1])
18800 FOLLOW_53_in_synpred81977
= frozenset([1])
18801 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])
18802 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])
18803 FOLLOW_parameter_declaration_in_synpred82981
= frozenset([1])
18804 FOLLOW_declarator_in_synpred83997
= frozenset([1])
18805 FOLLOW_abstract_declarator_in_synpred84999
= frozenset([1])
18806 FOLLOW_declaration_specifiers_in_synpred86994
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18807 FOLLOW_declarator_in_synpred86997
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18808 FOLLOW_abstract_declarator_in_synpred86999
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18809 FOLLOW_53_in_synpred861004
= frozenset([1])
18810 FOLLOW_specifier_qualifier_list_in_synpred901046
= frozenset([1, 62, 64, 66])
18811 FOLLOW_abstract_declarator_in_synpred901048
= frozenset([1])
18812 FOLLOW_direct_abstract_declarator_in_synpred911067
= frozenset([1])
18813 FOLLOW_62_in_synpred931086
= frozenset([62, 64, 66])
18814 FOLLOW_abstract_declarator_in_synpred931088
= frozenset([63])
18815 FOLLOW_63_in_synpred931090
= frozenset([1])
18816 FOLLOW_abstract_declarator_suffix_in_synpred941098
= frozenset([1])
18817 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])
18818 FOLLOW_type_name_in_synpred1091284
= frozenset([63])
18819 FOLLOW_63_in_synpred1091286
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18820 FOLLOW_cast_expression_in_synpred1091288
= frozenset([1])
18821 FOLLOW_74_in_synpred1141330
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18822 FOLLOW_unary_expression_in_synpred1141332
= frozenset([1])
18823 FOLLOW_62_in_synpred1171420
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18824 FOLLOW_argument_expression_list_in_synpred1171424
= frozenset([63])
18825 FOLLOW_63_in_synpred1171428
= frozenset([1])
18826 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])
18827 FOLLOW_macro_parameter_list_in_synpred1181446
= frozenset([63])
18828 FOLLOW_63_in_synpred1181448
= frozenset([1])
18829 FOLLOW_66_in_synpred1201482
= frozenset([4])
18830 FOLLOW_IDENTIFIER_in_synpred1201486
= frozenset([1])
18831 FOLLOW_STRING_LITERAL_in_synpred1371683
= frozenset([1])
18832 FOLLOW_IDENTIFIER_in_synpred1381680
= frozenset([4, 9])
18833 FOLLOW_STRING_LITERAL_in_synpred1381683
= frozenset([1, 9])
18834 FOLLOW_lvalue_in_synpred1421744
= frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18835 FOLLOW_assignment_operator_in_synpred1421746
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18836 FOLLOW_assignment_expression_in_synpred1421748
= frozenset([1])
18837 FOLLOW_expression_statement_in_synpred1692035
= frozenset([1])
18838 FOLLOW_macro_statement_in_synpred1732055
= frozenset([1])
18839 FOLLOW_asm2_statement_in_synpred1742060
= frozenset([1])
18840 FOLLOW_declaration_in_synpred1812166
= frozenset([1])
18841 FOLLOW_statement_list_in_synpred1822170
= frozenset([1])
18842 FOLLOW_declaration_in_synpred1862225
= frozenset([1])
18843 FOLLOW_statement_in_synpred1882242
= frozenset([1])