1 # $ANTLR 3.0.1 C.g 2010-02-23 09:58:53
3 from __future__
import print_function
4 from __future__
import absolute_import
6 from antlr3
.compat
import set, frozenset
9 # The file defines the parser for C source files.
11 # THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
12 # This file is generated by running:
13 # java org.antlr.Tool C.g
15 # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
17 # This program and the accompanying materials are licensed and made available
18 # under the terms and conditions of the BSD License which accompanies this
19 # distribution. The full text of the license may be found at:
20 # http://opensource.org/licenses/bsd-license.php
22 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
23 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
27 from Ecc
import CodeFragment
28 from Ecc
import FileProfile
32 # for convenience in actions
33 HIDDEN
= BaseRecognizer
.HIDDEN
48 FLOATING_POINT_LITERAL
=10
61 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
62 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
63 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
64 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
65 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
66 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
67 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
68 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
69 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
70 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
71 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
72 "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
73 "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
74 "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
75 "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
76 "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
77 "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
78 "'goto'", "'continue'", "'break'", "'return'"
82 class function_definition_scope(object):
84 self
.ModifierText
= None
89 self
.DeclOffset
= None
90 class postfix_expression_scope(object):
92 self
.FuncCallText
= None
95 class CParser(Parser
):
96 grammarFileName
= "C.g"
97 tokenNames
= tokenNames
99 def __init__(self
, input):
100 Parser
.__init
__(self
, input)
103 self
.function_definition_stack
= []
104 self
.postfix_expression_stack
= []
106 def printTokenInfo(self
, line
, offset
, tokenText
):
107 print(str(line
)+ ',' + str(offset
) + ':' + str(tokenText
))
109 def StorePredicateExpression(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
110 PredExp
= CodeFragment
.PredicateExpression(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
111 FileProfile
.PredicateExpressionList
.append(PredExp
)
113 def StoreEnumerationDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
114 EnumDef
= CodeFragment
.EnumerationDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
115 FileProfile
.EnumerationDefinitionList
.append(EnumDef
)
117 def StoreStructUnionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
118 SUDef
= CodeFragment
.StructUnionDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
119 FileProfile
.StructUnionDefinitionList
.append(SUDef
)
121 def StoreTypedefDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FromText
, ToText
):
122 Tdef
= CodeFragment
.TypedefDefinition(FromText
, ToText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
123 FileProfile
.TypedefDefinitionList
.append(Tdef
)
125 def StoreFunctionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
, LeftBraceLine
, LeftBraceOffset
, DeclLine
, DeclOffset
):
126 FuncDef
= CodeFragment
.FunctionDefinition(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
), (LeftBraceLine
, LeftBraceOffset
), (DeclLine
, DeclOffset
))
127 FileProfile
.FunctionDefinitionList
.append(FuncDef
)
129 def StoreVariableDeclaration(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
):
130 VarDecl
= CodeFragment
.VariableDeclaration(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
131 FileProfile
.VariableDeclarationList
.append(VarDecl
)
133 def StoreFunctionCalling(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FuncName
, ParamList
):
134 FuncCall
= CodeFragment
.FunctionCalling(FuncName
, ParamList
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
135 FileProfile
.FunctionCallingList
.append(FuncCall
)
140 # $ANTLR start translation_unit
141 # C.g:102:1: translation_unit : ( external_declaration )* ;
142 def translation_unit(self
, ):
144 translation_unit_StartIndex
= self
.input.index()
147 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 1):
150 # C.g:103:2: ( ( external_declaration )* )
151 # C.g:103:4: ( external_declaration )*
152 # C.g:103:4: ( external_declaration )*
155 LA1_0
= self
.input.LA(1)
157 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) :
162 # C.g:0:0: external_declaration
163 self
.following
.append(self
.FOLLOW_external_declaration_in_translation_unit74
)
164 self
.external_declaration()
178 except RecognitionException
as re
:
180 self
.recover(self
.input, re
)
182 if self
.backtracking
> 0:
183 self
.memoize(self
.input, 1, translation_unit_StartIndex
)
189 # $ANTLR end translation_unit
192 # $ANTLR start external_declaration
193 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
194 def external_declaration(self
, ):
196 external_declaration_StartIndex
= self
.input.index()
199 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 2):
202 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
204 LA3_0
= self
.input.LA(1)
206 if ((29 <= LA3_0
<= 33)) :
207 LA3_1
= self
.input.LA(2)
209 if (self
.synpred4()) :
211 elif (self
.synpred5()) :
214 if self
.backtracking
> 0:
218 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self
.input)
223 LA3_2
= self
.input.LA(2)
225 if (self
.synpred4()) :
227 elif (self
.synpred5()) :
230 if self
.backtracking
> 0:
234 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self
.input)
239 LA3_3
= self
.input.LA(2)
241 if (self
.synpred4()) :
243 elif (self
.synpred5()) :
246 if self
.backtracking
> 0:
250 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self
.input)
255 LA3_4
= self
.input.LA(2)
257 if (self
.synpred4()) :
259 elif (self
.synpred5()) :
262 if self
.backtracking
> 0:
266 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self
.input)
271 LA3_5
= self
.input.LA(2)
273 if (self
.synpred4()) :
275 elif (self
.synpred5()) :
278 if self
.backtracking
> 0:
282 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self
.input)
287 LA3_6
= self
.input.LA(2)
289 if (self
.synpred4()) :
291 elif (self
.synpred5()) :
294 if self
.backtracking
> 0:
298 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self
.input)
303 LA3_7
= self
.input.LA(2)
305 if (self
.synpred4()) :
307 elif (self
.synpred5()) :
310 if self
.backtracking
> 0:
314 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self
.input)
319 LA3_8
= self
.input.LA(2)
321 if (self
.synpred4()) :
323 elif (self
.synpred5()) :
326 if self
.backtracking
> 0:
330 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self
.input)
335 LA3_9
= self
.input.LA(2)
337 if (self
.synpred4()) :
339 elif (self
.synpred5()) :
342 if self
.backtracking
> 0:
346 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self
.input)
351 LA3_10
= self
.input.LA(2)
353 if (self
.synpred4()) :
355 elif (self
.synpred5()) :
358 if self
.backtracking
> 0:
362 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self
.input)
366 elif ((45 <= LA3_0
<= 46)) :
367 LA3_11
= self
.input.LA(2)
369 if (self
.synpred4()) :
371 elif (self
.synpred5()) :
374 if self
.backtracking
> 0:
378 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self
.input)
383 LA3_12
= self
.input.LA(2)
385 if (self
.synpred4()) :
387 elif (self
.synpred5()) :
390 if self
.backtracking
> 0:
394 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self
.input)
398 elif (LA3_0
== IDENTIFIER
) :
399 LA3_13
= self
.input.LA(2)
401 if (self
.synpred4()) :
403 elif (self
.synpred5()) :
408 if self
.backtracking
> 0:
412 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self
.input)
417 LA3_14
= self
.input.LA(2)
419 if (self
.synpred4()) :
421 elif (self
.synpred5()) :
424 if self
.backtracking
> 0:
428 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self
.input)
432 elif (LA3_0
== 66) and (self
.synpred4()):
435 LA3_16
= self
.input.LA(2)
437 if (self
.synpred4()) :
439 elif (self
.synpred5()) :
442 if self
.backtracking
> 0:
446 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self
.input)
451 LA3_17
= self
.input.LA(2)
453 if (self
.synpred4()) :
455 elif (self
.synpred5()) :
458 if self
.backtracking
> 0:
462 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self
.input)
466 elif ((49 <= LA3_0
<= 57) or LA3_0
== 61) :
467 LA3_18
= self
.input.LA(2)
469 if (self
.synpred4()) :
471 elif (self
.synpred5()) :
474 if self
.backtracking
> 0:
478 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self
.input)
482 elif (LA3_0
== 62) and (self
.synpred4()):
487 if self
.backtracking
> 0:
491 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self
.input)
496 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
497 self
.following
.append(self
.FOLLOW_function_definition_in_external_declaration113
)
498 self
.function_definition()
505 # C.g:120:4: declaration
506 self
.following
.append(self
.FOLLOW_declaration_in_external_declaration118
)
514 # C.g:121:4: macro_statement ( ';' )?
515 self
.following
.append(self
.FOLLOW_macro_statement_in_external_declaration123
)
516 self
.macro_statement()
520 # C.g:121:20: ( ';' )?
522 LA2_0
= self
.input.LA(1)
528 self
.match(self
.input, 25, self
.FOLLOW_25_in_external_declaration126
)
537 except RecognitionException
as re
:
539 self
.recover(self
.input, re
)
541 if self
.backtracking
> 0:
542 self
.memoize(self
.input, 2, external_declaration_StartIndex
)
548 # $ANTLR end external_declaration
550 class function_definition_return(object):
557 # $ANTLR start function_definition
558 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
559 def function_definition(self
, ):
560 self
.function_definition_stack
.append(function_definition_scope())
561 retval
= self
.function_definition_return()
562 retval
.start
= self
.input.LT(1)
563 function_definition_StartIndex
= self
.input.index()
574 self
.function_definition_stack
[-1].ModifierText
= ''
575 self
.function_definition_stack
[-1].DeclText
= ''
576 self
.function_definition_stack
[-1].LBLine
= 0
577 self
.function_definition_stack
[-1].LBOffset
= 0
578 self
.function_definition_stack
[-1].DeclLine
= 0
579 self
.function_definition_stack
[-1].DeclOffset
= 0
583 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 3):
586 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
587 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
588 # C.g:146:5: (d= declaration_specifiers )?
590 LA4
= self
.input.LA(1)
591 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:
593 elif LA4
== IDENTIFIER
:
594 LA4
= self
.input.LA(2)
598 LA4_21
= self
.input.LA(3)
600 if (self
.synpred7()) :
603 LA4_22
= self
.input.LA(3)
605 if (self
.synpred7()) :
608 LA4_23
= self
.input.LA(3)
610 if (self
.synpred7()) :
612 elif LA4
== IDENTIFIER
:
613 LA4_24
= self
.input.LA(3)
615 if (self
.synpred7()) :
618 LA4_25
= self
.input.LA(3)
620 if (self
.synpred7()) :
622 elif LA4
== 29 or LA4
== 30 or LA4
== 31 or LA4
== 32 or LA4
== 33:
623 LA4_26
= self
.input.LA(3)
625 if (self
.synpred7()) :
628 LA4_27
= self
.input.LA(3)
630 if (self
.synpred7()) :
633 LA4_28
= self
.input.LA(3)
635 if (self
.synpred7()) :
638 LA4_29
= self
.input.LA(3)
640 if (self
.synpred7()) :
643 LA4_30
= self
.input.LA(3)
645 if (self
.synpred7()) :
648 LA4_31
= self
.input.LA(3)
650 if (self
.synpred7()) :
653 LA4_32
= self
.input.LA(3)
655 if (self
.synpred7()) :
658 LA4_33
= self
.input.LA(3)
660 if (self
.synpred7()) :
663 LA4_34
= self
.input.LA(3)
665 if (self
.synpred7()) :
668 LA4_35
= self
.input.LA(3)
670 if (self
.synpred7()) :
672 elif LA4
== 45 or LA4
== 46:
673 LA4_36
= self
.input.LA(3)
675 if (self
.synpred7()) :
678 LA4_37
= self
.input.LA(3)
680 if (self
.synpred7()) :
682 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:
683 LA4_38
= self
.input.LA(3)
685 if (self
.synpred7()) :
688 LA4_14
= self
.input.LA(2)
690 if (self
.synpred7()) :
693 LA4_16
= self
.input.LA(2)
695 if (self
.synpred7()) :
698 LA4_17
= self
.input.LA(2)
700 if (self
.synpred7()) :
703 # C.g:0:0: d= declaration_specifiers
704 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_function_definition157
)
705 d
= self
.declaration_specifiers()
712 self
.following
.append(self
.FOLLOW_declarator_in_function_definition160
)
713 declarator1
= self
.declarator()
717 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
719 LA6_0
= self
.input.LA(1)
721 if (LA6_0
== IDENTIFIER
or LA6_0
== 26 or (29 <= LA6_0
<= 42) or (45 <= LA6_0
<= 46) or (48 <= LA6_0
<= 61)) :
726 if self
.backtracking
> 0:
730 nvae
= NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self
.input)
735 # C.g:147:5: ( declaration )+ a= compound_statement
736 # C.g:147:5: ( declaration )+
740 LA5_0
= self
.input.LA(1)
742 if (LA5_0
== IDENTIFIER
or LA5_0
== 26 or (29 <= LA5_0
<= 42) or (45 <= LA5_0
<= 46) or (48 <= LA5_0
<= 61)) :
747 # C.g:0:0: declaration
748 self
.following
.append(self
.FOLLOW_declaration_in_function_definition166
)
759 if self
.backtracking
> 0:
763 eee
= EarlyExitException(5, self
.input)
769 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition171
)
770 a
= self
.compound_statement()
777 # C.g:148:5: b= compound_statement
778 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition180
)
779 b
= self
.compound_statement()
786 if self
.backtracking
== 0:
789 self
.function_definition_stack
[-1].ModifierText
= self
.input.toString(d
.start
, d
.stop
)
791 self
.function_definition_stack
[-1].ModifierText
= ''
792 self
.function_definition_stack
[-1].DeclText
= self
.input.toString(declarator1
.start
, declarator1
.stop
)
793 self
.function_definition_stack
[-1].DeclLine
= declarator1
.start
.line
794 self
.function_definition_stack
[-1].DeclOffset
= declarator1
.start
.charPositionInLine
796 self
.function_definition_stack
[-1].LBLine
= a
.start
.line
797 self
.function_definition_stack
[-1].LBOffset
= a
.start
.charPositionInLine
799 self
.function_definition_stack
[-1].LBLine
= b
.start
.line
800 self
.function_definition_stack
[-1].LBOffset
= b
.start
.charPositionInLine
806 retval
.stop
= self
.input.LT(-1)
808 if self
.backtracking
== 0:
810 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
)
814 except RecognitionException
as re
:
816 self
.recover(self
.input, re
)
818 if self
.backtracking
> 0:
819 self
.memoize(self
.input, 3, function_definition_StartIndex
)
821 self
.function_definition_stack
.pop()
826 # $ANTLR end function_definition
829 # $ANTLR start declaration
830 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
831 def declaration(self
, ):
833 declaration_StartIndex
= self
.input.index()
848 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 4):
851 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
853 LA9_0
= self
.input.LA(1)
857 elif (LA9_0
== IDENTIFIER
or (29 <= LA9_0
<= 42) or (45 <= LA9_0
<= 46) or (48 <= LA9_0
<= 61)) :
860 if self
.backtracking
> 0:
864 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)
869 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
871 self
.match(self
.input, 26, self
.FOLLOW_26_in_declaration203
)
874 # C.g:167:17: (b= declaration_specifiers )?
876 LA7
= self
.input.LA(1)
877 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:
879 elif LA7
== IDENTIFIER
:
880 LA7_13
= self
.input.LA(2)
883 LA7_21
= self
.input.LA(3)
885 if (self
.synpred10()) :
887 elif (LA7_13
== IDENTIFIER
or (29 <= LA7_13
<= 42) or (45 <= LA7_13
<= 46) or (48 <= LA7_13
<= 61) or LA7_13
== 66) :
890 LA7_14
= self
.input.LA(2)
892 if (self
.synpred10()) :
895 LA7_16
= self
.input.LA(2)
897 if (self
.synpred10()) :
900 LA7_17
= self
.input.LA(2)
902 if (self
.synpred10()) :
905 # C.g:0:0: b= declaration_specifiers
906 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration207
)
907 b
= self
.declaration_specifiers()
914 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration216
)
915 c
= self
.init_declarator_list()
920 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration220
)
923 if self
.backtracking
== 0:
926 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, self
.input.toString(b
.start
, b
.stop
), self
.input.toString(c
.start
, c
.stop
))
928 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, '', self
.input.toString(c
.start
, c
.stop
))
934 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
935 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration234
)
936 s
= self
.declaration_specifiers()
940 # C.g:175:30: (t= init_declarator_list )?
942 LA8_0
= self
.input.LA(1)
944 if (LA8_0
== IDENTIFIER
or (58 <= LA8_0
<= 60) or LA8_0
== 62 or LA8_0
== 66) :
947 # C.g:0:0: t= init_declarator_list
948 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration238
)
949 t
= self
.init_declarator_list()
957 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration243
)
960 if self
.backtracking
== 0:
963 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
))
969 except RecognitionException
as re
:
971 self
.recover(self
.input, re
)
973 if self
.backtracking
> 0:
974 self
.memoize(self
.input, 4, declaration_StartIndex
)
980 # $ANTLR end declaration
982 class declaration_specifiers_return(object):
989 # $ANTLR start declaration_specifiers
990 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
991 def declaration_specifiers(self
, ):
993 retval
= self
.declaration_specifiers_return()
994 retval
.start
= self
.input.LT(1)
995 declaration_specifiers_StartIndex
= self
.input.index()
998 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 5):
1001 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
1002 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1003 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1007 LA10
= self
.input.LA(1)
1009 LA10_2
= self
.input.LA(2)
1011 if (self
.synpred15()) :
1016 LA10_3
= self
.input.LA(2)
1018 if (self
.synpred15()) :
1023 LA10_4
= self
.input.LA(2)
1025 if (self
.synpred15()) :
1029 elif LA10
== IDENTIFIER
:
1030 LA10_5
= self
.input.LA(2)
1032 if (self
.synpred14()) :
1037 LA10_9
= self
.input.LA(2)
1039 if (self
.synpred15()) :
1043 elif LA10
== 29 or LA10
== 30 or LA10
== 31 or LA10
== 32 or LA10
== 33:
1045 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:
1047 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:
1051 # C.g:183:10: storage_class_specifier
1052 self
.following
.append(self
.FOLLOW_storage_class_specifier_in_declaration_specifiers264
)
1053 self
.storage_class_specifier()
1054 self
.following
.pop()
1060 # C.g:184:7: type_specifier
1061 self
.following
.append(self
.FOLLOW_type_specifier_in_declaration_specifiers272
)
1062 self
.type_specifier()
1063 self
.following
.pop()
1069 # C.g:185:13: type_qualifier
1070 self
.following
.append(self
.FOLLOW_type_qualifier_in_declaration_specifiers286
)
1071 self
.type_qualifier()
1072 self
.following
.pop()
1081 if self
.backtracking
> 0:
1085 eee
= EarlyExitException(10, self
.input)
1094 retval
.stop
= self
.input.LT(-1)
1097 except RecognitionException
as re
:
1098 self
.reportError(re
)
1099 self
.recover(self
.input, re
)
1101 if self
.backtracking
> 0:
1102 self
.memoize(self
.input, 5, declaration_specifiers_StartIndex
)
1108 # $ANTLR end declaration_specifiers
1110 class init_declarator_list_return(object):
1117 # $ANTLR start init_declarator_list
1118 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1119 def init_declarator_list(self
, ):
1121 retval
= self
.init_declarator_list_return()
1122 retval
.start
= self
.input.LT(1)
1123 init_declarator_list_StartIndex
= self
.input.index()
1126 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 6):
1129 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1130 # C.g:190:4: init_declarator ( ',' init_declarator )*
1131 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list308
)
1132 self
.init_declarator()
1133 self
.following
.pop()
1136 # C.g:190:20: ( ',' init_declarator )*
1139 LA11_0
= self
.input.LA(1)
1146 # C.g:190:21: ',' init_declarator
1147 self
.match(self
.input, 27, self
.FOLLOW_27_in_init_declarator_list311
)
1150 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list313
)
1151 self
.init_declarator()
1152 self
.following
.pop()
1164 retval
.stop
= self
.input.LT(-1)
1167 except RecognitionException
as re
:
1168 self
.reportError(re
)
1169 self
.recover(self
.input, re
)
1171 if self
.backtracking
> 0:
1172 self
.memoize(self
.input, 6, init_declarator_list_StartIndex
)
1178 # $ANTLR end init_declarator_list
1181 # $ANTLR start init_declarator
1182 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1183 def init_declarator(self
, ):
1185 init_declarator_StartIndex
= self
.input.index()
1188 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 7):
1191 # C.g:194:2: ( declarator ( '=' initializer )? )
1192 # C.g:194:4: declarator ( '=' initializer )?
1193 self
.following
.append(self
.FOLLOW_declarator_in_init_declarator326
)
1195 self
.following
.pop()
1198 # C.g:194:15: ( '=' initializer )?
1200 LA12_0
= self
.input.LA(1)
1205 # C.g:194:16: '=' initializer
1206 self
.match(self
.input, 28, self
.FOLLOW_28_in_init_declarator329
)
1209 self
.following
.append(self
.FOLLOW_initializer_in_init_declarator331
)
1211 self
.following
.pop()
1221 except RecognitionException
as re
:
1222 self
.reportError(re
)
1223 self
.recover(self
.input, re
)
1225 if self
.backtracking
> 0:
1226 self
.memoize(self
.input, 7, init_declarator_StartIndex
)
1232 # $ANTLR end init_declarator
1235 # $ANTLR start storage_class_specifier
1236 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1237 def storage_class_specifier(self
, ):
1239 storage_class_specifier_StartIndex
= self
.input.index()
1242 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 8):
1245 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1247 if (29 <= self
.input.LA(1) <= 33):
1248 self
.input.consume();
1249 self
.errorRecovery
= False
1253 if self
.backtracking
> 0:
1257 mse
= MismatchedSetException(None, self
.input)
1258 self
.recoverFromMismatchedSet(
1259 self
.input, mse
, self
.FOLLOW_set_in_storage_class_specifier0
1268 except RecognitionException
as re
:
1269 self
.reportError(re
)
1270 self
.recover(self
.input, re
)
1272 if self
.backtracking
> 0:
1273 self
.memoize(self
.input, 8, storage_class_specifier_StartIndex
)
1279 # $ANTLR end storage_class_specifier
1282 # $ANTLR start type_specifier
1283 # 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 );
1284 def type_specifier(self
, ):
1286 type_specifier_StartIndex
= self
.input.index()
1294 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 9):
1297 # 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 )
1299 LA13_0
= self
.input.LA(1)
1303 elif (LA13_0
== 35) :
1305 elif (LA13_0
== 36) :
1307 elif (LA13_0
== 37) :
1309 elif (LA13_0
== 38) :
1311 elif (LA13_0
== 39) :
1313 elif (LA13_0
== 40) :
1315 elif (LA13_0
== 41) :
1317 elif (LA13_0
== 42) :
1319 elif ((45 <= LA13_0
<= 46)) :
1321 elif (LA13_0
== 48) :
1323 elif (LA13_0
== IDENTIFIER
) and (self
.synpred34()):
1326 if self
.backtracking
> 0:
1330 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)
1336 self
.match(self
.input, 34, self
.FOLLOW_34_in_type_specifier376
)
1343 self
.match(self
.input, 35, self
.FOLLOW_35_in_type_specifier381
)
1349 # C.g:208:4: 'short'
1350 self
.match(self
.input, 36, self
.FOLLOW_36_in_type_specifier386
)
1357 self
.match(self
.input, 37, self
.FOLLOW_37_in_type_specifier391
)
1364 self
.match(self
.input, 38, self
.FOLLOW_38_in_type_specifier396
)
1370 # C.g:211:4: 'float'
1371 self
.match(self
.input, 39, self
.FOLLOW_39_in_type_specifier401
)
1377 # C.g:212:4: 'double'
1378 self
.match(self
.input, 40, self
.FOLLOW_40_in_type_specifier406
)
1384 # C.g:213:4: 'signed'
1385 self
.match(self
.input, 41, self
.FOLLOW_41_in_type_specifier411
)
1391 # C.g:214:4: 'unsigned'
1392 self
.match(self
.input, 42, self
.FOLLOW_42_in_type_specifier416
)
1398 # C.g:215:4: s= struct_or_union_specifier
1399 self
.following
.append(self
.FOLLOW_struct_or_union_specifier_in_type_specifier423
)
1400 s
= self
.struct_or_union_specifier()
1401 self
.following
.pop()
1404 if self
.backtracking
== 0:
1406 if s
.stop
is not None:
1407 self
.StoreStructUnionDefinition(s
.start
.line
, s
.start
.charPositionInLine
, s
.stop
.line
, s
.stop
.charPositionInLine
, self
.input.toString(s
.start
, s
.stop
))
1413 # C.g:220:4: e= enum_specifier
1414 self
.following
.append(self
.FOLLOW_enum_specifier_in_type_specifier433
)
1415 e
= self
.enum_specifier()
1416 self
.following
.pop()
1419 if self
.backtracking
== 0:
1421 if e
.stop
is not None:
1422 self
.StoreEnumerationDefinition(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
1428 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1429 self
.following
.append(self
.FOLLOW_type_id_in_type_specifier451
)
1431 self
.following
.pop()
1437 except RecognitionException
as re
:
1438 self
.reportError(re
)
1439 self
.recover(self
.input, re
)
1441 if self
.backtracking
> 0:
1442 self
.memoize(self
.input, 9, type_specifier_StartIndex
)
1448 # $ANTLR end type_specifier
1451 # $ANTLR start type_id
1452 # C.g:228:1: type_id : IDENTIFIER ;
1453 def type_id(self
, ):
1455 type_id_StartIndex
= self
.input.index()
1458 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 10):
1461 # C.g:229:5: ( IDENTIFIER )
1462 # C.g:229:9: IDENTIFIER
1463 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_type_id467
)
1470 except RecognitionException
as re
:
1471 self
.reportError(re
)
1472 self
.recover(self
.input, re
)
1474 if self
.backtracking
> 0:
1475 self
.memoize(self
.input, 10, type_id_StartIndex
)
1481 # $ANTLR end type_id
1483 class struct_or_union_specifier_return(object):
1490 # $ANTLR start struct_or_union_specifier
1491 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1492 def struct_or_union_specifier(self
, ):
1494 retval
= self
.struct_or_union_specifier_return()
1495 retval
.start
= self
.input.LT(1)
1496 struct_or_union_specifier_StartIndex
= self
.input.index()
1499 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 11):
1502 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1504 LA15_0
= self
.input.LA(1)
1506 if ((45 <= LA15_0
<= 46)) :
1507 LA15_1
= self
.input.LA(2)
1509 if (LA15_1
== IDENTIFIER
) :
1510 LA15_2
= self
.input.LA(3)
1514 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) :
1517 if self
.backtracking
> 0:
1521 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)
1525 elif (LA15_1
== 43) :
1528 if self
.backtracking
> 0:
1532 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)
1537 if self
.backtracking
> 0:
1541 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)
1546 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1547 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier494
)
1548 self
.struct_or_union()
1549 self
.following
.pop()
1552 # C.g:235:20: ( IDENTIFIER )?
1554 LA14_0
= self
.input.LA(1)
1556 if (LA14_0
== IDENTIFIER
) :
1559 # C.g:0:0: IDENTIFIER
1560 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496
)
1566 self
.match(self
.input, 43, self
.FOLLOW_43_in_struct_or_union_specifier499
)
1569 self
.following
.append(self
.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501
)
1570 self
.struct_declaration_list()
1571 self
.following
.pop()
1574 self
.match(self
.input, 44, self
.FOLLOW_44_in_struct_or_union_specifier503
)
1580 # C.g:236:4: struct_or_union IDENTIFIER
1581 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier508
)
1582 self
.struct_or_union()
1583 self
.following
.pop()
1586 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510
)
1591 retval
.stop
= self
.input.LT(-1)
1594 except RecognitionException
as re
:
1595 self
.reportError(re
)
1596 self
.recover(self
.input, re
)
1598 if self
.backtracking
> 0:
1599 self
.memoize(self
.input, 11, struct_or_union_specifier_StartIndex
)
1605 # $ANTLR end struct_or_union_specifier
1608 # $ANTLR start struct_or_union
1609 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1610 def struct_or_union(self
, ):
1612 struct_or_union_StartIndex
= self
.input.index()
1615 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 12):
1618 # C.g:240:2: ( 'struct' | 'union' )
1620 if (45 <= self
.input.LA(1) <= 46):
1621 self
.input.consume();
1622 self
.errorRecovery
= False
1626 if self
.backtracking
> 0:
1630 mse
= MismatchedSetException(None, self
.input)
1631 self
.recoverFromMismatchedSet(
1632 self
.input, mse
, self
.FOLLOW_set_in_struct_or_union0
1641 except RecognitionException
as re
:
1642 self
.reportError(re
)
1643 self
.recover(self
.input, re
)
1645 if self
.backtracking
> 0:
1646 self
.memoize(self
.input, 12, struct_or_union_StartIndex
)
1652 # $ANTLR end struct_or_union
1655 # $ANTLR start struct_declaration_list
1656 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1657 def struct_declaration_list(self
, ):
1659 struct_declaration_list_StartIndex
= self
.input.index()
1662 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 13):
1665 # C.g:245:2: ( ( struct_declaration )+ )
1666 # C.g:245:4: ( struct_declaration )+
1667 # C.g:245:4: ( struct_declaration )+
1671 LA16_0
= self
.input.LA(1)
1673 if (LA16_0
== IDENTIFIER
or (34 <= LA16_0
<= 42) or (45 <= LA16_0
<= 46) or (48 <= LA16_0
<= 61)) :
1678 # C.g:0:0: struct_declaration
1679 self
.following
.append(self
.FOLLOW_struct_declaration_in_struct_declaration_list537
)
1680 self
.struct_declaration()
1681 self
.following
.pop()
1690 if self
.backtracking
> 0:
1694 eee
= EarlyExitException(16, self
.input)
1704 except RecognitionException
as re
:
1705 self
.reportError(re
)
1706 self
.recover(self
.input, re
)
1708 if self
.backtracking
> 0:
1709 self
.memoize(self
.input, 13, struct_declaration_list_StartIndex
)
1715 # $ANTLR end struct_declaration_list
1718 # $ANTLR start struct_declaration
1719 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1720 def struct_declaration(self
, ):
1722 struct_declaration_StartIndex
= self
.input.index()
1725 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 14):
1728 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1729 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1730 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_struct_declaration549
)
1731 self
.specifier_qualifier_list()
1732 self
.following
.pop()
1735 self
.following
.append(self
.FOLLOW_struct_declarator_list_in_struct_declaration551
)
1736 self
.struct_declarator_list()
1737 self
.following
.pop()
1740 self
.match(self
.input, 25, self
.FOLLOW_25_in_struct_declaration553
)
1747 except RecognitionException
as re
:
1748 self
.reportError(re
)
1749 self
.recover(self
.input, re
)
1751 if self
.backtracking
> 0:
1752 self
.memoize(self
.input, 14, struct_declaration_StartIndex
)
1758 # $ANTLR end struct_declaration
1761 # $ANTLR start specifier_qualifier_list
1762 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1763 def specifier_qualifier_list(self
, ):
1765 specifier_qualifier_list_StartIndex
= self
.input.index()
1768 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 15):
1771 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1772 # C.g:253:4: ( type_qualifier | type_specifier )+
1773 # C.g:253:4: ( type_qualifier | type_specifier )+
1777 LA17
= self
.input.LA(1)
1779 LA17_2
= self
.input.LA(2)
1781 if (self
.synpred39()) :
1786 LA17_3
= self
.input.LA(2)
1788 if (self
.synpred39()) :
1793 LA17_4
= self
.input.LA(2)
1795 if (self
.synpred39()) :
1799 elif LA17
== IDENTIFIER
:
1800 LA17
= self
.input.LA(2)
1801 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:
1804 LA17_94
= self
.input.LA(3)
1806 if (self
.synpred40()) :
1811 LA17_95
= self
.input.LA(3)
1813 if (self
.synpred40()) :
1818 LA17_96
= self
.input.LA(3)
1820 if (self
.synpred40()) :
1825 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:
1827 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:
1831 # C.g:253:6: type_qualifier
1832 self
.following
.append(self
.FOLLOW_type_qualifier_in_specifier_qualifier_list566
)
1833 self
.type_qualifier()
1834 self
.following
.pop()
1840 # C.g:253:23: type_specifier
1841 self
.following
.append(self
.FOLLOW_type_specifier_in_specifier_qualifier_list570
)
1842 self
.type_specifier()
1843 self
.following
.pop()
1852 if self
.backtracking
> 0:
1856 eee
= EarlyExitException(17, self
.input)
1866 except RecognitionException
as re
:
1867 self
.reportError(re
)
1868 self
.recover(self
.input, re
)
1870 if self
.backtracking
> 0:
1871 self
.memoize(self
.input, 15, specifier_qualifier_list_StartIndex
)
1877 # $ANTLR end specifier_qualifier_list
1880 # $ANTLR start struct_declarator_list
1881 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1882 def struct_declarator_list(self
, ):
1884 struct_declarator_list_StartIndex
= self
.input.index()
1887 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 16):
1890 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1891 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1892 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list584
)
1893 self
.struct_declarator()
1894 self
.following
.pop()
1897 # C.g:257:22: ( ',' struct_declarator )*
1900 LA18_0
= self
.input.LA(1)
1907 # C.g:257:23: ',' struct_declarator
1908 self
.match(self
.input, 27, self
.FOLLOW_27_in_struct_declarator_list587
)
1911 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list589
)
1912 self
.struct_declarator()
1913 self
.following
.pop()
1926 except RecognitionException
as re
:
1927 self
.reportError(re
)
1928 self
.recover(self
.input, re
)
1930 if self
.backtracking
> 0:
1931 self
.memoize(self
.input, 16, struct_declarator_list_StartIndex
)
1937 # $ANTLR end struct_declarator_list
1940 # $ANTLR start struct_declarator
1941 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1942 def struct_declarator(self
, ):
1944 struct_declarator_StartIndex
= self
.input.index()
1947 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 17):
1950 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1952 LA20_0
= self
.input.LA(1)
1954 if (LA20_0
== IDENTIFIER
or (58 <= LA20_0
<= 60) or LA20_0
== 62 or LA20_0
== 66) :
1956 elif (LA20_0
== 47) :
1959 if self
.backtracking
> 0:
1963 nvae
= NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self
.input)
1968 # C.g:261:4: declarator ( ':' constant_expression )?
1969 self
.following
.append(self
.FOLLOW_declarator_in_struct_declarator602
)
1971 self
.following
.pop()
1974 # C.g:261:15: ( ':' constant_expression )?
1976 LA19_0
= self
.input.LA(1)
1981 # C.g:261:16: ':' constant_expression
1982 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator605
)
1985 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator607
)
1986 self
.constant_expression()
1987 self
.following
.pop()
1996 # C.g:262:4: ':' constant_expression
1997 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator614
)
2000 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator616
)
2001 self
.constant_expression()
2002 self
.following
.pop()
2008 except RecognitionException
as re
:
2009 self
.reportError(re
)
2010 self
.recover(self
.input, re
)
2012 if self
.backtracking
> 0:
2013 self
.memoize(self
.input, 17, struct_declarator_StartIndex
)
2019 # $ANTLR end struct_declarator
2021 class enum_specifier_return(object):
2028 # $ANTLR start enum_specifier
2029 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2030 def enum_specifier(self
, ):
2032 retval
= self
.enum_specifier_return()
2033 retval
.start
= self
.input.LT(1)
2034 enum_specifier_StartIndex
= self
.input.index()
2037 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 18):
2040 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2042 LA23_0
= self
.input.LA(1)
2045 LA23_1
= self
.input.LA(2)
2047 if (LA23_1
== IDENTIFIER
) :
2048 LA23_2
= self
.input.LA(3)
2052 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) :
2055 if self
.backtracking
> 0:
2059 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self
.input)
2063 elif (LA23_1
== 43) :
2066 if self
.backtracking
> 0:
2070 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self
.input)
2075 if self
.backtracking
> 0:
2079 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self
.input)
2084 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2085 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier634
)
2088 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier636
)
2091 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier638
)
2092 self
.enumerator_list()
2093 self
.following
.pop()
2096 # C.g:267:31: ( ',' )?
2098 LA21_0
= self
.input.LA(1)
2104 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier640
)
2110 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier643
)
2116 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2117 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier648
)
2120 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier650
)
2123 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier652
)
2126 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier654
)
2127 self
.enumerator_list()
2128 self
.following
.pop()
2131 # C.g:268:42: ( ',' )?
2133 LA22_0
= self
.input.LA(1)
2139 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier656
)
2145 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier659
)
2151 # C.g:269:4: 'enum' IDENTIFIER
2152 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier664
)
2155 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier666
)
2160 retval
.stop
= self
.input.LT(-1)
2163 except RecognitionException
as re
:
2164 self
.reportError(re
)
2165 self
.recover(self
.input, re
)
2167 if self
.backtracking
> 0:
2168 self
.memoize(self
.input, 18, enum_specifier_StartIndex
)
2174 # $ANTLR end enum_specifier
2177 # $ANTLR start enumerator_list
2178 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2179 def enumerator_list(self
, ):
2181 enumerator_list_StartIndex
= self
.input.index()
2184 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 19):
2187 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2188 # C.g:273:4: enumerator ( ',' enumerator )*
2189 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list677
)
2191 self
.following
.pop()
2194 # C.g:273:15: ( ',' enumerator )*
2197 LA24_0
= self
.input.LA(1)
2200 LA24_1
= self
.input.LA(2)
2202 if (LA24_1
== IDENTIFIER
) :
2209 # C.g:273:16: ',' enumerator
2210 self
.match(self
.input, 27, self
.FOLLOW_27_in_enumerator_list680
)
2213 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list682
)
2215 self
.following
.pop()
2228 except RecognitionException
as re
:
2229 self
.reportError(re
)
2230 self
.recover(self
.input, re
)
2232 if self
.backtracking
> 0:
2233 self
.memoize(self
.input, 19, enumerator_list_StartIndex
)
2239 # $ANTLR end enumerator_list
2242 # $ANTLR start enumerator
2243 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2244 def enumerator(self
, ):
2246 enumerator_StartIndex
= self
.input.index()
2249 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 20):
2252 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2253 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2254 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enumerator695
)
2257 # C.g:277:15: ( '=' constant_expression )?
2259 LA25_0
= self
.input.LA(1)
2264 # C.g:277:16: '=' constant_expression
2265 self
.match(self
.input, 28, self
.FOLLOW_28_in_enumerator698
)
2268 self
.following
.append(self
.FOLLOW_constant_expression_in_enumerator700
)
2269 self
.constant_expression()
2270 self
.following
.pop()
2280 except RecognitionException
as re
:
2281 self
.reportError(re
)
2282 self
.recover(self
.input, re
)
2284 if self
.backtracking
> 0:
2285 self
.memoize(self
.input, 20, enumerator_StartIndex
)
2291 # $ANTLR end enumerator
2294 # $ANTLR start type_qualifier
2295 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2296 def type_qualifier(self
, ):
2298 type_qualifier_StartIndex
= self
.input.index()
2301 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 21):
2304 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2306 if (49 <= self
.input.LA(1) <= 61):
2307 self
.input.consume();
2308 self
.errorRecovery
= False
2312 if self
.backtracking
> 0:
2316 mse
= MismatchedSetException(None, self
.input)
2317 self
.recoverFromMismatchedSet(
2318 self
.input, mse
, self
.FOLLOW_set_in_type_qualifier0
2327 except RecognitionException
as re
:
2328 self
.reportError(re
)
2329 self
.recover(self
.input, re
)
2331 if self
.backtracking
> 0:
2332 self
.memoize(self
.input, 21, type_qualifier_StartIndex
)
2338 # $ANTLR end type_qualifier
2340 class declarator_return(object):
2347 # $ANTLR start declarator
2348 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2349 def declarator(self
, ):
2351 retval
= self
.declarator_return()
2352 retval
.start
= self
.input.LT(1)
2353 declarator_StartIndex
= self
.input.index()
2356 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 22):
2359 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2361 LA30_0
= self
.input.LA(1)
2364 LA30_1
= self
.input.LA(2)
2366 if (self
.synpred66()) :
2371 if self
.backtracking
> 0:
2375 nvae
= NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self
.input)
2379 elif (LA30_0
== IDENTIFIER
or (58 <= LA30_0
<= 60) or LA30_0
== 62) :
2382 if self
.backtracking
> 0:
2386 nvae
= NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self
.input)
2391 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2392 # C.g:297:4: ( pointer )?
2394 LA26_0
= self
.input.LA(1)
2400 self
.following
.append(self
.FOLLOW_pointer_in_declarator784
)
2402 self
.following
.pop()
2408 # C.g:297:13: ( 'EFIAPI' )?
2410 LA27_0
= self
.input.LA(1)
2415 # C.g:297:14: 'EFIAPI'
2416 self
.match(self
.input, 58, self
.FOLLOW_58_in_declarator788
)
2422 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2424 LA28_0
= self
.input.LA(1)
2429 # C.g:297:26: 'EFI_BOOTSERVICE'
2430 self
.match(self
.input, 59, self
.FOLLOW_59_in_declarator793
)
2436 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2438 LA29_0
= self
.input.LA(1)
2443 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2444 self
.match(self
.input, 60, self
.FOLLOW_60_in_declarator798
)
2450 self
.following
.append(self
.FOLLOW_direct_declarator_in_declarator802
)
2451 self
.direct_declarator()
2452 self
.following
.pop()
2458 # C.g:299:4: pointer
2459 self
.following
.append(self
.FOLLOW_pointer_in_declarator808
)
2461 self
.following
.pop()
2466 retval
.stop
= self
.input.LT(-1)
2469 except RecognitionException
as re
:
2470 self
.reportError(re
)
2471 self
.recover(self
.input, re
)
2473 if self
.backtracking
> 0:
2474 self
.memoize(self
.input, 22, declarator_StartIndex
)
2480 # $ANTLR end declarator
2483 # $ANTLR start direct_declarator
2484 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2485 def direct_declarator(self
, ):
2487 direct_declarator_StartIndex
= self
.input.index()
2490 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 23):
2493 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2495 LA34_0
= self
.input.LA(1)
2497 if (LA34_0
== IDENTIFIER
) :
2499 elif (LA34_0
== 62) :
2502 if self
.backtracking
> 0:
2506 nvae
= NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self
.input)
2511 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2512 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_direct_declarator819
)
2515 # C.g:303:15: ( declarator_suffix )*
2518 LA31_0
= self
.input.LA(1)
2521 LA31
= self
.input.LA(2)
2523 LA31_30
= self
.input.LA(3)
2525 if (self
.synpred67()) :
2530 LA31_31
= self
.input.LA(3)
2532 if (self
.synpred67()) :
2537 LA31_32
= self
.input.LA(3)
2539 if (self
.synpred67()) :
2544 LA31_33
= self
.input.LA(3)
2546 if (self
.synpred67()) :
2551 LA31_34
= self
.input.LA(3)
2553 if (self
.synpred67()) :
2557 elif LA31
== IDENTIFIER
:
2558 LA31_35
= self
.input.LA(3)
2560 if (self
.synpred67()) :
2564 elif LA31
== 29 or LA31
== 30 or LA31
== 31 or LA31
== 32 or LA31
== 33:
2565 LA31_37
= self
.input.LA(3)
2567 if (self
.synpred67()) :
2572 LA31_38
= self
.input.LA(3)
2574 if (self
.synpred67()) :
2579 LA31_39
= self
.input.LA(3)
2581 if (self
.synpred67()) :
2586 LA31_40
= self
.input.LA(3)
2588 if (self
.synpred67()) :
2593 LA31_41
= self
.input.LA(3)
2595 if (self
.synpred67()) :
2600 LA31_42
= self
.input.LA(3)
2602 if (self
.synpred67()) :
2607 LA31_43
= self
.input.LA(3)
2609 if (self
.synpred67()) :
2614 LA31_44
= self
.input.LA(3)
2616 if (self
.synpred67()) :
2621 LA31_45
= self
.input.LA(3)
2623 if (self
.synpred67()) :
2628 LA31_46
= self
.input.LA(3)
2630 if (self
.synpred67()) :
2634 elif LA31
== 45 or LA31
== 46:
2635 LA31_47
= self
.input.LA(3)
2637 if (self
.synpred67()) :
2642 LA31_48
= self
.input.LA(3)
2644 if (self
.synpred67()) :
2648 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:
2649 LA31_49
= self
.input.LA(3)
2651 if (self
.synpred67()) :
2656 elif (LA31_0
== 64) :
2657 LA31
= self
.input.LA(2)
2659 LA31_51
= self
.input.LA(3)
2661 if (self
.synpred67()) :
2666 LA31_52
= self
.input.LA(3)
2668 if (self
.synpred67()) :
2672 elif LA31
== IDENTIFIER
:
2673 LA31_53
= self
.input.LA(3)
2675 if (self
.synpred67()) :
2679 elif LA31
== HEX_LITERAL
:
2680 LA31_54
= self
.input.LA(3)
2682 if (self
.synpred67()) :
2686 elif LA31
== OCTAL_LITERAL
:
2687 LA31_55
= self
.input.LA(3)
2689 if (self
.synpred67()) :
2693 elif LA31
== DECIMAL_LITERAL
:
2694 LA31_56
= self
.input.LA(3)
2696 if (self
.synpred67()) :
2700 elif LA31
== CHARACTER_LITERAL
:
2701 LA31_57
= self
.input.LA(3)
2703 if (self
.synpred67()) :
2707 elif LA31
== STRING_LITERAL
:
2708 LA31_58
= self
.input.LA(3)
2710 if (self
.synpred67()) :
2714 elif LA31
== FLOATING_POINT_LITERAL
:
2715 LA31_59
= self
.input.LA(3)
2717 if (self
.synpred67()) :
2722 LA31_60
= self
.input.LA(3)
2724 if (self
.synpred67()) :
2729 LA31_61
= self
.input.LA(3)
2731 if (self
.synpred67()) :
2735 elif LA31
== 66 or LA31
== 68 or LA31
== 69 or LA31
== 77 or LA31
== 78 or LA31
== 79:
2736 LA31_62
= self
.input.LA(3)
2738 if (self
.synpred67()) :
2743 LA31_63
= self
.input.LA(3)
2745 if (self
.synpred67()) :
2753 # C.g:0:0: declarator_suffix
2754 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator821
)
2755 self
.declarator_suffix()
2756 self
.following
.pop()
2768 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2769 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_declarator827
)
2772 # C.g:304:8: ( 'EFIAPI' )?
2774 LA32_0
= self
.input.LA(1)
2777 LA32_1
= self
.input.LA(2)
2779 if (self
.synpred69()) :
2782 # C.g:304:9: 'EFIAPI'
2783 self
.match(self
.input, 58, self
.FOLLOW_58_in_direct_declarator830
)
2789 self
.following
.append(self
.FOLLOW_declarator_in_direct_declarator834
)
2791 self
.following
.pop()
2794 self
.match(self
.input, 63, self
.FOLLOW_63_in_direct_declarator836
)
2797 # C.g:304:35: ( declarator_suffix )+
2801 LA33_0
= self
.input.LA(1)
2804 LA33
= self
.input.LA(2)
2806 LA33_30
= self
.input.LA(3)
2808 if (self
.synpred70()) :
2813 LA33_31
= self
.input.LA(3)
2815 if (self
.synpred70()) :
2820 LA33_32
= self
.input.LA(3)
2822 if (self
.synpred70()) :
2827 LA33_33
= self
.input.LA(3)
2829 if (self
.synpred70()) :
2834 LA33_34
= self
.input.LA(3)
2836 if (self
.synpred70()) :
2840 elif LA33
== IDENTIFIER
:
2841 LA33_35
= self
.input.LA(3)
2843 if (self
.synpred70()) :
2847 elif LA33
== 29 or LA33
== 30 or LA33
== 31 or LA33
== 32 or LA33
== 33:
2848 LA33_37
= self
.input.LA(3)
2850 if (self
.synpred70()) :
2855 LA33_38
= self
.input.LA(3)
2857 if (self
.synpred70()) :
2862 LA33_39
= self
.input.LA(3)
2864 if (self
.synpred70()) :
2869 LA33_40
= self
.input.LA(3)
2871 if (self
.synpred70()) :
2876 LA33_41
= self
.input.LA(3)
2878 if (self
.synpred70()) :
2883 LA33_42
= self
.input.LA(3)
2885 if (self
.synpred70()) :
2890 LA33_43
= self
.input.LA(3)
2892 if (self
.synpred70()) :
2897 LA33_44
= self
.input.LA(3)
2899 if (self
.synpred70()) :
2904 LA33_45
= self
.input.LA(3)
2906 if (self
.synpred70()) :
2911 LA33_46
= self
.input.LA(3)
2913 if (self
.synpred70()) :
2917 elif LA33
== 45 or LA33
== 46:
2918 LA33_47
= self
.input.LA(3)
2920 if (self
.synpred70()) :
2925 LA33_48
= self
.input.LA(3)
2927 if (self
.synpred70()) :
2931 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:
2932 LA33_49
= self
.input.LA(3)
2934 if (self
.synpred70()) :
2939 elif (LA33_0
== 64) :
2940 LA33
= self
.input.LA(2)
2942 LA33_51
= self
.input.LA(3)
2944 if (self
.synpred70()) :
2949 LA33_52
= self
.input.LA(3)
2951 if (self
.synpred70()) :
2955 elif LA33
== IDENTIFIER
:
2956 LA33_53
= self
.input.LA(3)
2958 if (self
.synpred70()) :
2962 elif LA33
== HEX_LITERAL
:
2963 LA33_54
= self
.input.LA(3)
2965 if (self
.synpred70()) :
2969 elif LA33
== OCTAL_LITERAL
:
2970 LA33_55
= self
.input.LA(3)
2972 if (self
.synpred70()) :
2976 elif LA33
== DECIMAL_LITERAL
:
2977 LA33_56
= self
.input.LA(3)
2979 if (self
.synpred70()) :
2983 elif LA33
== CHARACTER_LITERAL
:
2984 LA33_57
= self
.input.LA(3)
2986 if (self
.synpred70()) :
2990 elif LA33
== STRING_LITERAL
:
2991 LA33_58
= self
.input.LA(3)
2993 if (self
.synpred70()) :
2997 elif LA33
== FLOATING_POINT_LITERAL
:
2998 LA33_59
= self
.input.LA(3)
3000 if (self
.synpred70()) :
3005 LA33_60
= self
.input.LA(3)
3007 if (self
.synpred70()) :
3012 LA33_61
= self
.input.LA(3)
3014 if (self
.synpred70()) :
3018 elif LA33
== 66 or LA33
== 68 or LA33
== 69 or LA33
== 77 or LA33
== 78 or LA33
== 79:
3019 LA33_62
= self
.input.LA(3)
3021 if (self
.synpred70()) :
3026 LA33_63
= self
.input.LA(3)
3028 if (self
.synpred70()) :
3036 # C.g:0:0: declarator_suffix
3037 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator838
)
3038 self
.declarator_suffix()
3039 self
.following
.pop()
3048 if self
.backtracking
> 0:
3052 eee
= EarlyExitException(33, self
.input)
3061 except RecognitionException
as re
:
3062 self
.reportError(re
)
3063 self
.recover(self
.input, re
)
3065 if self
.backtracking
> 0:
3066 self
.memoize(self
.input, 23, direct_declarator_StartIndex
)
3072 # $ANTLR end direct_declarator
3075 # $ANTLR start declarator_suffix
3076 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3077 def declarator_suffix(self
, ):
3079 declarator_suffix_StartIndex
= self
.input.index()
3082 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 24):
3085 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3087 LA35_0
= self
.input.LA(1)
3090 LA35_1
= self
.input.LA(2)
3094 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)) :
3097 if self
.backtracking
> 0:
3101 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self
.input)
3105 elif (LA35_0
== 62) :
3106 LA35
= self
.input.LA(2)
3109 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:
3111 elif LA35
== IDENTIFIER
:
3112 LA35_29
= self
.input.LA(3)
3114 if (self
.synpred73()) :
3116 elif (self
.synpred74()) :
3119 if self
.backtracking
> 0:
3123 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self
.input)
3128 if self
.backtracking
> 0:
3132 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self
.input)
3137 if self
.backtracking
> 0:
3141 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self
.input)
3146 # C.g:308:6: '[' constant_expression ']'
3147 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix852
)
3150 self
.following
.append(self
.FOLLOW_constant_expression_in_declarator_suffix854
)
3151 self
.constant_expression()
3152 self
.following
.pop()
3155 self
.match(self
.input, 65, self
.FOLLOW_65_in_declarator_suffix856
)
3161 # C.g:309:9: '[' ']'
3162 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix866
)
3165 self
.match(self
.input, 65, self
.FOLLOW_65_in_declarator_suffix868
)
3171 # C.g:310:9: '(' parameter_type_list ')'
3172 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix878
)
3175 self
.following
.append(self
.FOLLOW_parameter_type_list_in_declarator_suffix880
)
3176 self
.parameter_type_list()
3177 self
.following
.pop()
3180 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix882
)
3186 # C.g:311:9: '(' identifier_list ')'
3187 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix892
)
3190 self
.following
.append(self
.FOLLOW_identifier_list_in_declarator_suffix894
)
3191 self
.identifier_list()
3192 self
.following
.pop()
3195 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix896
)
3201 # C.g:312:9: '(' ')'
3202 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix906
)
3205 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix908
)
3211 except RecognitionException
as re
:
3212 self
.reportError(re
)
3213 self
.recover(self
.input, re
)
3215 if self
.backtracking
> 0:
3216 self
.memoize(self
.input, 24, declarator_suffix_StartIndex
)
3222 # $ANTLR end declarator_suffix
3225 # $ANTLR start pointer
3226 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3227 def pointer(self
, ):
3229 pointer_StartIndex
= self
.input.index()
3232 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 25):
3235 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3237 LA38_0
= self
.input.LA(1)
3240 LA38
= self
.input.LA(2)
3242 LA38_2
= self
.input.LA(3)
3244 if (self
.synpred78()) :
3249 if self
.backtracking
> 0:
3253 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self
.input)
3258 LA38_3
= self
.input.LA(3)
3260 if (self
.synpred77()) :
3265 if self
.backtracking
> 0:
3269 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self
.input)
3274 LA38_4
= self
.input.LA(3)
3276 if (self
.synpred77()) :
3281 if self
.backtracking
> 0:
3285 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self
.input)
3290 LA38_5
= self
.input.LA(3)
3292 if (self
.synpred77()) :
3297 if self
.backtracking
> 0:
3301 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self
.input)
3305 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:
3308 LA38_21
= self
.input.LA(3)
3310 if (self
.synpred77()) :
3315 if self
.backtracking
> 0:
3319 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self
.input)
3323 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:
3324 LA38_29
= self
.input.LA(3)
3326 if (self
.synpred77()) :
3331 if self
.backtracking
> 0:
3335 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self
.input)
3340 if self
.backtracking
> 0:
3344 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self
.input)
3349 if self
.backtracking
> 0:
3353 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self
.input)
3358 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3359 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer919
)
3362 # C.g:316:8: ( type_qualifier )+
3366 LA36
= self
.input.LA(1)
3368 LA36_2
= self
.input.LA(2)
3370 if (self
.synpred75()) :
3375 LA36_3
= self
.input.LA(2)
3377 if (self
.synpred75()) :
3382 LA36_4
= self
.input.LA(2)
3384 if (self
.synpred75()) :
3389 LA36_20
= self
.input.LA(2)
3391 if (self
.synpred75()) :
3395 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:
3396 LA36_28
= self
.input.LA(2)
3398 if (self
.synpred75()) :
3404 # C.g:0:0: type_qualifier
3405 self
.following
.append(self
.FOLLOW_type_qualifier_in_pointer921
)
3406 self
.type_qualifier()
3407 self
.following
.pop()
3416 if self
.backtracking
> 0:
3420 eee
= EarlyExitException(36, self
.input)
3426 # C.g:316:24: ( pointer )?
3428 LA37_0
= self
.input.LA(1)
3431 LA37_1
= self
.input.LA(2)
3433 if (self
.synpred76()) :
3437 self
.following
.append(self
.FOLLOW_pointer_in_pointer924
)
3439 self
.following
.pop()
3448 # C.g:317:4: '*' pointer
3449 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer930
)
3452 self
.following
.append(self
.FOLLOW_pointer_in_pointer932
)
3454 self
.following
.pop()
3461 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer937
)
3467 except RecognitionException
as re
:
3468 self
.reportError(re
)
3469 self
.recover(self
.input, re
)
3471 if self
.backtracking
> 0:
3472 self
.memoize(self
.input, 25, pointer_StartIndex
)
3478 # $ANTLR end pointer
3481 # $ANTLR start parameter_type_list
3482 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3483 def parameter_type_list(self
, ):
3485 parameter_type_list_StartIndex
= self
.input.index()
3488 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 26):
3491 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3492 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3493 self
.following
.append(self
.FOLLOW_parameter_list_in_parameter_type_list948
)
3494 self
.parameter_list()
3495 self
.following
.pop()
3498 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3500 LA40_0
= self
.input.LA(1)
3505 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3506 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_type_list951
)
3509 # C.g:322:24: ( 'OPTIONAL' )?
3511 LA39_0
= self
.input.LA(1)
3516 # C.g:322:25: 'OPTIONAL'
3517 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_type_list954
)
3523 self
.match(self
.input, 67, self
.FOLLOW_67_in_parameter_type_list958
)
3533 except RecognitionException
as re
:
3534 self
.reportError(re
)
3535 self
.recover(self
.input, re
)
3537 if self
.backtracking
> 0:
3538 self
.memoize(self
.input, 26, parameter_type_list_StartIndex
)
3544 # $ANTLR end parameter_type_list
3547 # $ANTLR start parameter_list
3548 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3549 def parameter_list(self
, ):
3551 parameter_list_StartIndex
= self
.input.index()
3554 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 27):
3557 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3558 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3559 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list971
)
3560 self
.parameter_declaration()
3561 self
.following
.pop()
3564 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3567 LA42_0
= self
.input.LA(1)
3570 LA42_1
= self
.input.LA(2)
3573 LA42_3
= self
.input.LA(3)
3575 if (self
.synpred82()) :
3579 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) :
3586 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3587 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_list974
)
3590 # C.g:326:31: ( 'OPTIONAL' )?
3592 LA41_0
= self
.input.LA(1)
3595 LA41_1
= self
.input.LA(2)
3597 if (self
.synpred81()) :
3600 # C.g:326:32: 'OPTIONAL'
3601 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_list977
)
3607 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list981
)
3608 self
.parameter_declaration()
3609 self
.following
.pop()
3622 except RecognitionException
as re
:
3623 self
.reportError(re
)
3624 self
.recover(self
.input, re
)
3626 if self
.backtracking
> 0:
3627 self
.memoize(self
.input, 27, parameter_list_StartIndex
)
3633 # $ANTLR end parameter_list
3636 # $ANTLR start parameter_declaration
3637 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3638 def parameter_declaration(self
, ):
3640 parameter_declaration_StartIndex
= self
.input.index()
3643 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 28):
3646 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3648 LA46
= self
.input.LA(1)
3649 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:
3651 elif LA46
== IDENTIFIER
:
3652 LA46_13
= self
.input.LA(2)
3654 if (self
.synpred86()) :
3659 if self
.backtracking
> 0:
3663 nvae
= NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self
.input)
3670 if self
.backtracking
> 0:
3674 nvae
= NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self
.input)
3679 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3680 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_parameter_declaration994
)
3681 self
.declaration_specifiers()
3682 self
.following
.pop()
3685 # C.g:330:27: ( declarator | abstract_declarator )*
3688 LA43
= self
.input.LA(1)
3690 LA43_5
= self
.input.LA(2)
3692 if (self
.synpred83()) :
3694 elif (self
.synpred84()) :
3698 elif LA43
== IDENTIFIER
or LA43
== 58 or LA43
== 59 or LA43
== 60:
3701 LA43
= self
.input.LA(2)
3702 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:
3704 elif LA43
== IDENTIFIER
:
3705 LA43_37
= self
.input.LA(3)
3707 if (self
.synpred83()) :
3709 elif (self
.synpred84()) :
3714 LA43_38
= self
.input.LA(3)
3716 if (self
.synpred83()) :
3718 elif (self
.synpred84()) :
3723 LA43_39
= self
.input.LA(3)
3725 if (self
.synpred83()) :
3727 elif (self
.synpred84()) :
3732 LA43_40
= self
.input.LA(3)
3734 if (self
.synpred83()) :
3736 elif (self
.synpred84()) :
3741 LA43_41
= self
.input.LA(3)
3743 if (self
.synpred83()) :
3745 elif (self
.synpred84()) :
3750 LA43_43
= self
.input.LA(3)
3752 if (self
.synpred83()) :
3754 elif (self
.synpred84()) :
3763 # C.g:330:28: declarator
3764 self
.following
.append(self
.FOLLOW_declarator_in_parameter_declaration997
)
3766 self
.following
.pop()
3772 # C.g:330:39: abstract_declarator
3773 self
.following
.append(self
.FOLLOW_abstract_declarator_in_parameter_declaration999
)
3774 self
.abstract_declarator()
3775 self
.following
.pop()
3784 # C.g:330:61: ( 'OPTIONAL' )?
3786 LA44_0
= self
.input.LA(1)
3791 # C.g:330:62: 'OPTIONAL'
3792 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_declaration1004
)
3801 # C.g:332:4: ( pointer )* IDENTIFIER
3802 # C.g:332:4: ( pointer )*
3805 LA45_0
= self
.input.LA(1)
3813 self
.following
.append(self
.FOLLOW_pointer_in_parameter_declaration1013
)
3815 self
.following
.pop()
3824 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_parameter_declaration1016
)
3830 except RecognitionException
as re
:
3831 self
.reportError(re
)
3832 self
.recover(self
.input, re
)
3834 if self
.backtracking
> 0:
3835 self
.memoize(self
.input, 28, parameter_declaration_StartIndex
)
3841 # $ANTLR end parameter_declaration
3844 # $ANTLR start identifier_list
3845 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3846 def identifier_list(self
, ):
3848 identifier_list_StartIndex
= self
.input.index()
3851 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 29):
3854 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3855 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3856 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1027
)
3859 # C.g:337:2: ( ',' IDENTIFIER )*
3862 LA47_0
= self
.input.LA(1)
3869 # C.g:337:3: ',' IDENTIFIER
3870 self
.match(self
.input, 27, self
.FOLLOW_27_in_identifier_list1031
)
3873 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1033
)
3886 except RecognitionException
as re
:
3887 self
.reportError(re
)
3888 self
.recover(self
.input, re
)
3890 if self
.backtracking
> 0:
3891 self
.memoize(self
.input, 29, identifier_list_StartIndex
)
3897 # $ANTLR end identifier_list
3900 # $ANTLR start type_name
3901 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3902 def type_name(self
, ):
3904 type_name_StartIndex
= self
.input.index()
3907 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 30):
3910 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3912 LA49_0
= self
.input.LA(1)
3914 if ((34 <= LA49_0
<= 42) or (45 <= LA49_0
<= 46) or (48 <= LA49_0
<= 61)) :
3916 elif (LA49_0
== IDENTIFIER
) :
3917 LA49_13
= self
.input.LA(2)
3919 if (self
.synpred90()) :
3924 if self
.backtracking
> 0:
3928 nvae
= NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self
.input)
3933 if self
.backtracking
> 0:
3937 nvae
= NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self
.input)
3942 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3943 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_type_name1046
)
3944 self
.specifier_qualifier_list()
3945 self
.following
.pop()
3948 # C.g:341:29: ( abstract_declarator )?
3950 LA48_0
= self
.input.LA(1)
3952 if (LA48_0
== 62 or LA48_0
== 64 or LA48_0
== 66) :
3955 # C.g:0:0: abstract_declarator
3956 self
.following
.append(self
.FOLLOW_abstract_declarator_in_type_name1048
)
3957 self
.abstract_declarator()
3958 self
.following
.pop()
3967 # C.g:342:4: type_id
3968 self
.following
.append(self
.FOLLOW_type_id_in_type_name1054
)
3970 self
.following
.pop()
3976 except RecognitionException
as re
:
3977 self
.reportError(re
)
3978 self
.recover(self
.input, re
)
3980 if self
.backtracking
> 0:
3981 self
.memoize(self
.input, 30, type_name_StartIndex
)
3987 # $ANTLR end type_name
3990 # $ANTLR start abstract_declarator
3991 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3992 def abstract_declarator(self
, ):
3994 abstract_declarator_StartIndex
= self
.input.index()
3997 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 31):
4000 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
4002 LA51_0
= self
.input.LA(1)
4006 elif (LA51_0
== 62 or LA51_0
== 64) :
4009 if self
.backtracking
> 0:
4013 nvae
= NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self
.input)
4018 # C.g:346:4: pointer ( direct_abstract_declarator )?
4019 self
.following
.append(self
.FOLLOW_pointer_in_abstract_declarator1065
)
4021 self
.following
.pop()
4024 # C.g:346:12: ( direct_abstract_declarator )?
4026 LA50_0
= self
.input.LA(1)
4029 LA50
= self
.input.LA(2)
4031 LA50_12
= self
.input.LA(3)
4033 if (self
.synpred91()) :
4036 LA50_13
= self
.input.LA(3)
4038 if (self
.synpred91()) :
4041 LA50_14
= self
.input.LA(3)
4043 if (self
.synpred91()) :
4046 LA50_15
= self
.input.LA(3)
4048 if (self
.synpred91()) :
4051 LA50_16
= self
.input.LA(3)
4053 if (self
.synpred91()) :
4055 elif LA50
== IDENTIFIER
:
4056 LA50_17
= self
.input.LA(3)
4058 if (self
.synpred91()) :
4061 LA50_18
= self
.input.LA(3)
4063 if (self
.synpred91()) :
4066 LA50_19
= self
.input.LA(3)
4068 if (self
.synpred91()) :
4070 elif LA50
== 29 or LA50
== 30 or LA50
== 31 or LA50
== 32 or LA50
== 33:
4071 LA50_20
= self
.input.LA(3)
4073 if (self
.synpred91()) :
4076 LA50_21
= self
.input.LA(3)
4078 if (self
.synpred91()) :
4081 LA50_22
= self
.input.LA(3)
4083 if (self
.synpred91()) :
4086 LA50_23
= self
.input.LA(3)
4088 if (self
.synpred91()) :
4091 LA50_24
= self
.input.LA(3)
4093 if (self
.synpred91()) :
4096 LA50_25
= self
.input.LA(3)
4098 if (self
.synpred91()) :
4101 LA50_26
= self
.input.LA(3)
4103 if (self
.synpred91()) :
4106 LA50_27
= self
.input.LA(3)
4108 if (self
.synpred91()) :
4111 LA50_28
= self
.input.LA(3)
4113 if (self
.synpred91()) :
4116 LA50_29
= self
.input.LA(3)
4118 if (self
.synpred91()) :
4120 elif LA50
== 45 or LA50
== 46:
4121 LA50_30
= self
.input.LA(3)
4123 if (self
.synpred91()) :
4126 LA50_31
= self
.input.LA(3)
4128 if (self
.synpred91()) :
4130 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:
4131 LA50_32
= self
.input.LA(3)
4133 if (self
.synpred91()) :
4135 elif (LA50_0
== 64) :
4136 LA50
= self
.input.LA(2)
4138 LA50_33
= self
.input.LA(3)
4140 if (self
.synpred91()) :
4143 LA50_34
= self
.input.LA(3)
4145 if (self
.synpred91()) :
4147 elif LA50
== IDENTIFIER
:
4148 LA50_35
= self
.input.LA(3)
4150 if (self
.synpred91()) :
4152 elif LA50
== HEX_LITERAL
:
4153 LA50_36
= self
.input.LA(3)
4155 if (self
.synpred91()) :
4157 elif LA50
== OCTAL_LITERAL
:
4158 LA50_37
= self
.input.LA(3)
4160 if (self
.synpred91()) :
4162 elif LA50
== DECIMAL_LITERAL
:
4163 LA50_38
= self
.input.LA(3)
4165 if (self
.synpred91()) :
4167 elif LA50
== CHARACTER_LITERAL
:
4168 LA50_39
= self
.input.LA(3)
4170 if (self
.synpred91()) :
4172 elif LA50
== STRING_LITERAL
:
4173 LA50_40
= self
.input.LA(3)
4175 if (self
.synpred91()) :
4177 elif LA50
== FLOATING_POINT_LITERAL
:
4178 LA50_41
= self
.input.LA(3)
4180 if (self
.synpred91()) :
4183 LA50_42
= self
.input.LA(3)
4185 if (self
.synpred91()) :
4188 LA50_43
= self
.input.LA(3)
4190 if (self
.synpred91()) :
4192 elif LA50
== 66 or LA50
== 68 or LA50
== 69 or LA50
== 77 or LA50
== 78 or LA50
== 79:
4193 LA50_44
= self
.input.LA(3)
4195 if (self
.synpred91()) :
4198 LA50_45
= self
.input.LA(3)
4200 if (self
.synpred91()) :
4203 # C.g:0:0: direct_abstract_declarator
4204 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067
)
4205 self
.direct_abstract_declarator()
4206 self
.following
.pop()
4215 # C.g:347:4: direct_abstract_declarator
4216 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073
)
4217 self
.direct_abstract_declarator()
4218 self
.following
.pop()
4224 except RecognitionException
as re
:
4225 self
.reportError(re
)
4226 self
.recover(self
.input, re
)
4228 if self
.backtracking
> 0:
4229 self
.memoize(self
.input, 31, abstract_declarator_StartIndex
)
4235 # $ANTLR end abstract_declarator
4238 # $ANTLR start direct_abstract_declarator
4239 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4240 def direct_abstract_declarator(self
, ):
4242 direct_abstract_declarator_StartIndex
= self
.input.index()
4245 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 32):
4248 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4249 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4250 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4252 LA52_0
= self
.input.LA(1)
4255 LA52
= self
.input.LA(2)
4256 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:
4259 LA52_18
= self
.input.LA(3)
4261 if (self
.synpred93()) :
4266 if self
.backtracking
> 0:
4270 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self
.input)
4274 elif LA52
== 62 or LA52
== 64:
4277 if self
.backtracking
> 0:
4281 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self
.input)
4285 elif (LA52_0
== 64) :
4288 if self
.backtracking
> 0:
4292 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self
.input)
4297 # C.g:351:6: '(' abstract_declarator ')'
4298 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_abstract_declarator1086
)
4301 self
.following
.append(self
.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088
)
4302 self
.abstract_declarator()
4303 self
.following
.pop()
4306 self
.match(self
.input, 63, self
.FOLLOW_63_in_direct_abstract_declarator1090
)
4312 # C.g:351:36: abstract_declarator_suffix
4313 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094
)
4314 self
.abstract_declarator_suffix()
4315 self
.following
.pop()
4321 # C.g:351:65: ( abstract_declarator_suffix )*
4324 LA53_0
= self
.input.LA(1)
4327 LA53
= self
.input.LA(2)
4329 LA53_12
= self
.input.LA(3)
4331 if (self
.synpred94()) :
4336 LA53_13
= self
.input.LA(3)
4338 if (self
.synpred94()) :
4343 LA53_14
= self
.input.LA(3)
4345 if (self
.synpred94()) :
4350 LA53_15
= self
.input.LA(3)
4352 if (self
.synpred94()) :
4357 LA53_16
= self
.input.LA(3)
4359 if (self
.synpred94()) :
4363 elif LA53
== IDENTIFIER
:
4364 LA53_17
= self
.input.LA(3)
4366 if (self
.synpred94()) :
4370 elif LA53
== 29 or LA53
== 30 or LA53
== 31 or LA53
== 32 or LA53
== 33:
4371 LA53_19
= self
.input.LA(3)
4373 if (self
.synpred94()) :
4378 LA53_20
= self
.input.LA(3)
4380 if (self
.synpred94()) :
4385 LA53_21
= self
.input.LA(3)
4387 if (self
.synpred94()) :
4392 LA53_22
= self
.input.LA(3)
4394 if (self
.synpred94()) :
4399 LA53_23
= self
.input.LA(3)
4401 if (self
.synpred94()) :
4406 LA53_24
= self
.input.LA(3)
4408 if (self
.synpred94()) :
4413 LA53_25
= self
.input.LA(3)
4415 if (self
.synpred94()) :
4420 LA53_26
= self
.input.LA(3)
4422 if (self
.synpred94()) :
4427 LA53_27
= self
.input.LA(3)
4429 if (self
.synpred94()) :
4434 LA53_28
= self
.input.LA(3)
4436 if (self
.synpred94()) :
4440 elif LA53
== 45 or LA53
== 46:
4441 LA53_29
= self
.input.LA(3)
4443 if (self
.synpred94()) :
4448 LA53_30
= self
.input.LA(3)
4450 if (self
.synpred94()) :
4454 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:
4455 LA53_31
= self
.input.LA(3)
4457 if (self
.synpred94()) :
4462 elif (LA53_0
== 64) :
4463 LA53
= self
.input.LA(2)
4465 LA53_33
= self
.input.LA(3)
4467 if (self
.synpred94()) :
4472 LA53_34
= self
.input.LA(3)
4474 if (self
.synpred94()) :
4478 elif LA53
== IDENTIFIER
:
4479 LA53_35
= self
.input.LA(3)
4481 if (self
.synpred94()) :
4485 elif LA53
== HEX_LITERAL
:
4486 LA53_36
= self
.input.LA(3)
4488 if (self
.synpred94()) :
4492 elif LA53
== OCTAL_LITERAL
:
4493 LA53_37
= self
.input.LA(3)
4495 if (self
.synpred94()) :
4499 elif LA53
== DECIMAL_LITERAL
:
4500 LA53_38
= self
.input.LA(3)
4502 if (self
.synpred94()) :
4506 elif LA53
== CHARACTER_LITERAL
:
4507 LA53_39
= self
.input.LA(3)
4509 if (self
.synpred94()) :
4513 elif LA53
== STRING_LITERAL
:
4514 LA53_40
= self
.input.LA(3)
4516 if (self
.synpred94()) :
4520 elif LA53
== FLOATING_POINT_LITERAL
:
4521 LA53_41
= self
.input.LA(3)
4523 if (self
.synpred94()) :
4528 LA53_42
= self
.input.LA(3)
4530 if (self
.synpred94()) :
4535 LA53_43
= self
.input.LA(3)
4537 if (self
.synpred94()) :
4541 elif LA53
== 66 or LA53
== 68 or LA53
== 69 or LA53
== 77 or LA53
== 78 or LA53
== 79:
4542 LA53_44
= self
.input.LA(3)
4544 if (self
.synpred94()) :
4549 LA53_45
= self
.input.LA(3)
4551 if (self
.synpred94()) :
4559 # C.g:0:0: abstract_declarator_suffix
4560 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098
)
4561 self
.abstract_declarator_suffix()
4562 self
.following
.pop()
4575 except RecognitionException
as re
:
4576 self
.reportError(re
)
4577 self
.recover(self
.input, re
)
4579 if self
.backtracking
> 0:
4580 self
.memoize(self
.input, 32, direct_abstract_declarator_StartIndex
)
4586 # $ANTLR end direct_abstract_declarator
4589 # $ANTLR start abstract_declarator_suffix
4590 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4591 def abstract_declarator_suffix(self
, ):
4593 abstract_declarator_suffix_StartIndex
= self
.input.index()
4596 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 33):
4599 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4601 LA54_0
= self
.input.LA(1)
4604 LA54_1
= self
.input.LA(2)
4608 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)) :
4611 if self
.backtracking
> 0:
4615 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self
.input)
4619 elif (LA54_0
== 62) :
4620 LA54_2
= self
.input.LA(2)
4624 elif (LA54_2
== IDENTIFIER
or (29 <= LA54_2
<= 42) or (45 <= LA54_2
<= 46) or (48 <= LA54_2
<= 61) or LA54_2
== 66) :
4627 if self
.backtracking
> 0:
4631 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self
.input)
4636 if self
.backtracking
> 0:
4640 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self
.input)
4645 # C.g:355:4: '[' ']'
4646 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1110
)
4649 self
.match(self
.input, 65, self
.FOLLOW_65_in_abstract_declarator_suffix1112
)
4655 # C.g:356:4: '[' constant_expression ']'
4656 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1117
)
4659 self
.following
.append(self
.FOLLOW_constant_expression_in_abstract_declarator_suffix1119
)
4660 self
.constant_expression()
4661 self
.following
.pop()
4664 self
.match(self
.input, 65, self
.FOLLOW_65_in_abstract_declarator_suffix1121
)
4670 # C.g:357:4: '(' ')'
4671 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1126
)
4674 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1128
)
4680 # C.g:358:4: '(' parameter_type_list ')'
4681 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1133
)
4684 self
.following
.append(self
.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135
)
4685 self
.parameter_type_list()
4686 self
.following
.pop()
4689 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1137
)
4695 except RecognitionException
as re
:
4696 self
.reportError(re
)
4697 self
.recover(self
.input, re
)
4699 if self
.backtracking
> 0:
4700 self
.memoize(self
.input, 33, abstract_declarator_suffix_StartIndex
)
4706 # $ANTLR end abstract_declarator_suffix
4709 # $ANTLR start initializer
4710 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4711 def initializer(self
, ):
4713 initializer_StartIndex
= self
.input.index()
4716 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 34):
4719 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4721 LA56_0
= self
.input.LA(1)
4723 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)) :
4725 elif (LA56_0
== 43) :
4728 if self
.backtracking
> 0:
4732 nvae
= NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self
.input)
4737 # C.g:363:4: assignment_expression
4738 self
.following
.append(self
.FOLLOW_assignment_expression_in_initializer1150
)
4739 self
.assignment_expression()
4740 self
.following
.pop()
4746 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4747 self
.match(self
.input, 43, self
.FOLLOW_43_in_initializer1155
)
4750 self
.following
.append(self
.FOLLOW_initializer_list_in_initializer1157
)
4751 self
.initializer_list()
4752 self
.following
.pop()
4755 # C.g:364:25: ( ',' )?
4757 LA55_0
= self
.input.LA(1)
4763 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer1159
)
4769 self
.match(self
.input, 44, self
.FOLLOW_44_in_initializer1162
)
4775 except RecognitionException
as re
:
4776 self
.reportError(re
)
4777 self
.recover(self
.input, re
)
4779 if self
.backtracking
> 0:
4780 self
.memoize(self
.input, 34, initializer_StartIndex
)
4786 # $ANTLR end initializer
4789 # $ANTLR start initializer_list
4790 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4791 def initializer_list(self
, ):
4793 initializer_list_StartIndex
= self
.input.index()
4796 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 35):
4799 # C.g:368:2: ( initializer ( ',' initializer )* )
4800 # C.g:368:4: initializer ( ',' initializer )*
4801 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1173
)
4803 self
.following
.pop()
4806 # C.g:368:16: ( ',' initializer )*
4809 LA57_0
= self
.input.LA(1)
4812 LA57_1
= self
.input.LA(2)
4814 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)) :
4821 # C.g:368:17: ',' initializer
4822 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer_list1176
)
4825 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1178
)
4827 self
.following
.pop()
4840 except RecognitionException
as re
:
4841 self
.reportError(re
)
4842 self
.recover(self
.input, re
)
4844 if self
.backtracking
> 0:
4845 self
.memoize(self
.input, 35, initializer_list_StartIndex
)
4851 # $ANTLR end initializer_list
4853 class argument_expression_list_return(object):
4860 # $ANTLR start argument_expression_list
4861 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4862 def argument_expression_list(self
, ):
4864 retval
= self
.argument_expression_list_return()
4865 retval
.start
= self
.input.LT(1)
4866 argument_expression_list_StartIndex
= self
.input.index()
4869 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 36):
4872 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4873 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4874 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1196
)
4875 self
.assignment_expression()
4876 self
.following
.pop()
4879 # C.g:374:28: ( 'OPTIONAL' )?
4881 LA58_0
= self
.input.LA(1)
4886 # C.g:374:29: 'OPTIONAL'
4887 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1199
)
4893 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4896 LA60_0
= self
.input.LA(1)
4903 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4904 self
.match(self
.input, 27, self
.FOLLOW_27_in_argument_expression_list1204
)
4907 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1206
)
4908 self
.assignment_expression()
4909 self
.following
.pop()
4912 # C.g:374:69: ( 'OPTIONAL' )?
4914 LA59_0
= self
.input.LA(1)
4919 # C.g:374:70: 'OPTIONAL'
4920 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1209
)
4935 retval
.stop
= self
.input.LT(-1)
4938 except RecognitionException
as re
:
4939 self
.reportError(re
)
4940 self
.recover(self
.input, re
)
4942 if self
.backtracking
> 0:
4943 self
.memoize(self
.input, 36, argument_expression_list_StartIndex
)
4949 # $ANTLR end argument_expression_list
4952 # $ANTLR start additive_expression
4953 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4954 def additive_expression(self
, ):
4956 additive_expression_StartIndex
= self
.input.index()
4959 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 37):
4962 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4963 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4964 # C.g:378:4: ( multiplicative_expression )
4965 # C.g:378:5: multiplicative_expression
4966 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1225
)
4967 self
.multiplicative_expression()
4968 self
.following
.pop()
4974 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4977 LA61_0
= self
.input.LA(1)
4981 elif (LA61_0
== 69) :
4986 # C.g:378:33: '+' multiplicative_expression
4987 self
.match(self
.input, 68, self
.FOLLOW_68_in_additive_expression1229
)
4990 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1231
)
4991 self
.multiplicative_expression()
4992 self
.following
.pop()
4998 # C.g:378:65: '-' multiplicative_expression
4999 self
.match(self
.input, 69, self
.FOLLOW_69_in_additive_expression1235
)
5002 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1237
)
5003 self
.multiplicative_expression()
5004 self
.following
.pop()
5017 except RecognitionException
as re
:
5018 self
.reportError(re
)
5019 self
.recover(self
.input, re
)
5021 if self
.backtracking
> 0:
5022 self
.memoize(self
.input, 37, additive_expression_StartIndex
)
5028 # $ANTLR end additive_expression
5031 # $ANTLR start multiplicative_expression
5032 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5033 def multiplicative_expression(self
, ):
5035 multiplicative_expression_StartIndex
= self
.input.index()
5038 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 38):
5041 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5042 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5043 # C.g:382:4: ( cast_expression )
5044 # C.g:382:5: cast_expression
5045 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1251
)
5046 self
.cast_expression()
5047 self
.following
.pop()
5053 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5056 LA62
= self
.input.LA(1)
5065 # C.g:382:23: '*' cast_expression
5066 self
.match(self
.input, 66, self
.FOLLOW_66_in_multiplicative_expression1255
)
5069 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1257
)
5070 self
.cast_expression()
5071 self
.following
.pop()
5077 # C.g:382:45: '/' cast_expression
5078 self
.match(self
.input, 70, self
.FOLLOW_70_in_multiplicative_expression1261
)
5081 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1263
)
5082 self
.cast_expression()
5083 self
.following
.pop()
5089 # C.g:382:67: '%' cast_expression
5090 self
.match(self
.input, 71, self
.FOLLOW_71_in_multiplicative_expression1267
)
5093 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1269
)
5094 self
.cast_expression()
5095 self
.following
.pop()
5108 except RecognitionException
as re
:
5109 self
.reportError(re
)
5110 self
.recover(self
.input, re
)
5112 if self
.backtracking
> 0:
5113 self
.memoize(self
.input, 38, multiplicative_expression_StartIndex
)
5119 # $ANTLR end multiplicative_expression
5122 # $ANTLR start cast_expression
5123 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5124 def cast_expression(self
, ):
5126 cast_expression_StartIndex
= self
.input.index()
5129 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 39):
5132 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5134 LA63_0
= self
.input.LA(1)
5137 LA63
= self
.input.LA(2)
5138 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:
5140 elif LA63
== IDENTIFIER
:
5141 LA63_25
= self
.input.LA(3)
5143 if (self
.synpred109()) :
5148 if self
.backtracking
> 0:
5152 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self
.input)
5156 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:
5159 if self
.backtracking
> 0:
5163 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self
.input)
5167 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)) :
5170 if self
.backtracking
> 0:
5174 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self
.input)
5179 # C.g:386:4: '(' type_name ')' cast_expression
5180 self
.match(self
.input, 62, self
.FOLLOW_62_in_cast_expression1282
)
5183 self
.following
.append(self
.FOLLOW_type_name_in_cast_expression1284
)
5185 self
.following
.pop()
5188 self
.match(self
.input, 63, self
.FOLLOW_63_in_cast_expression1286
)
5191 self
.following
.append(self
.FOLLOW_cast_expression_in_cast_expression1288
)
5192 self
.cast_expression()
5193 self
.following
.pop()
5199 # C.g:387:4: unary_expression
5200 self
.following
.append(self
.FOLLOW_unary_expression_in_cast_expression1293
)
5201 self
.unary_expression()
5202 self
.following
.pop()
5208 except RecognitionException
as re
:
5209 self
.reportError(re
)
5210 self
.recover(self
.input, re
)
5212 if self
.backtracking
> 0:
5213 self
.memoize(self
.input, 39, cast_expression_StartIndex
)
5219 # $ANTLR end cast_expression
5222 # $ANTLR start unary_expression
5223 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5224 def unary_expression(self
, ):
5226 unary_expression_StartIndex
= self
.input.index()
5229 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 40):
5232 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5234 LA64
= self
.input.LA(1)
5235 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:
5241 elif LA64
== 66 or LA64
== 68 or LA64
== 69 or LA64
== 77 or LA64
== 78 or LA64
== 79:
5244 LA64_12
= self
.input.LA(2)
5246 if (LA64_12
== 62) :
5247 LA64_13
= self
.input.LA(3)
5249 if (self
.synpred114()) :
5254 if self
.backtracking
> 0:
5258 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)
5262 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)) :
5265 if self
.backtracking
> 0:
5269 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)
5274 if self
.backtracking
> 0:
5278 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)
5283 # C.g:391:4: postfix_expression
5284 self
.following
.append(self
.FOLLOW_postfix_expression_in_unary_expression1304
)
5285 self
.postfix_expression()
5286 self
.following
.pop()
5292 # C.g:392:4: '++' unary_expression
5293 self
.match(self
.input, 72, self
.FOLLOW_72_in_unary_expression1309
)
5296 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1311
)
5297 self
.unary_expression()
5298 self
.following
.pop()
5304 # C.g:393:4: '--' unary_expression
5305 self
.match(self
.input, 73, self
.FOLLOW_73_in_unary_expression1316
)
5308 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1318
)
5309 self
.unary_expression()
5310 self
.following
.pop()
5316 # C.g:394:4: unary_operator cast_expression
5317 self
.following
.append(self
.FOLLOW_unary_operator_in_unary_expression1323
)
5318 self
.unary_operator()
5319 self
.following
.pop()
5322 self
.following
.append(self
.FOLLOW_cast_expression_in_unary_expression1325
)
5323 self
.cast_expression()
5324 self
.following
.pop()
5330 # C.g:395:4: 'sizeof' unary_expression
5331 self
.match(self
.input, 74, self
.FOLLOW_74_in_unary_expression1330
)
5334 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1332
)
5335 self
.unary_expression()
5336 self
.following
.pop()
5342 # C.g:396:4: 'sizeof' '(' type_name ')'
5343 self
.match(self
.input, 74, self
.FOLLOW_74_in_unary_expression1337
)
5346 self
.match(self
.input, 62, self
.FOLLOW_62_in_unary_expression1339
)
5349 self
.following
.append(self
.FOLLOW_type_name_in_unary_expression1341
)
5351 self
.following
.pop()
5354 self
.match(self
.input, 63, self
.FOLLOW_63_in_unary_expression1343
)
5360 except RecognitionException
as re
:
5361 self
.reportError(re
)
5362 self
.recover(self
.input, re
)
5364 if self
.backtracking
> 0:
5365 self
.memoize(self
.input, 40, unary_expression_StartIndex
)
5371 # $ANTLR end unary_expression
5374 # $ANTLR start postfix_expression
5375 # 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 | '++' | '--' )* ;
5376 def postfix_expression(self
, ):
5377 self
.postfix_expression_stack
.append(postfix_expression_scope())
5378 postfix_expression_StartIndex
= self
.input.index()
5390 self
.postfix_expression_stack
[-1].FuncCallText
= ''
5394 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 41):
5397 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5398 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5399 self
.following
.append(self
.FOLLOW_primary_expression_in_postfix_expression1367
)
5400 p
= self
.primary_expression()
5401 self
.following
.pop()
5404 if self
.backtracking
== 0:
5405 self
.postfix_expression_stack
[-1].FuncCallText
+= self
.input.toString(p
.start
, p
.stop
)
5407 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5410 LA65
= self
.input.LA(1)
5412 LA65_1
= self
.input.LA(2)
5414 if (LA65_1
== IDENTIFIER
) :
5415 LA65_30
= self
.input.LA(3)
5417 if (self
.synpred120()) :
5426 LA65
= self
.input.LA(2)
5429 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:
5431 elif LA65
== IDENTIFIER
:
5432 LA65_55
= self
.input.LA(3)
5434 if (self
.synpred117()) :
5436 elif (self
.synpred118()) :
5441 LA65_57
= self
.input.LA(3)
5443 if (self
.synpred117()) :
5445 elif (self
.synpred118()) :
5449 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:
5462 # C.g:407:13: '[' expression ']'
5463 self
.match(self
.input, 64, self
.FOLLOW_64_in_postfix_expression1383
)
5466 self
.following
.append(self
.FOLLOW_expression_in_postfix_expression1385
)
5468 self
.following
.pop()
5471 self
.match(self
.input, 65, self
.FOLLOW_65_in_postfix_expression1387
)
5477 # C.g:408:13: '(' a= ')'
5478 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1401
)
5481 a
= self
.input.LT(1)
5482 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1405
)
5485 if self
.backtracking
== 0:
5486 self
.StoreFunctionCalling(p
.start
.line
, p
.start
.charPositionInLine
, a
.line
, a
.charPositionInLine
, self
.postfix_expression_stack
[-1].FuncCallText
, '')
5491 # C.g:409:13: '(' c= argument_expression_list b= ')'
5492 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1420
)
5495 self
.following
.append(self
.FOLLOW_argument_expression_list_in_postfix_expression1424
)
5496 c
= self
.argument_expression_list()
5497 self
.following
.pop()
5500 b
= self
.input.LT(1)
5501 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1428
)
5504 if self
.backtracking
== 0:
5505 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
))
5510 # C.g:410:13: '(' macro_parameter_list ')'
5511 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1444
)
5514 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_postfix_expression1446
)
5515 self
.macro_parameter_list()
5516 self
.following
.pop()
5519 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1448
)
5525 # C.g:411:13: '.' x= IDENTIFIER
5526 self
.match(self
.input, 75, self
.FOLLOW_75_in_postfix_expression1462
)
5529 x
= self
.input.LT(1)
5530 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1466
)
5533 if self
.backtracking
== 0:
5534 self
.postfix_expression_stack
[-1].FuncCallText
+= '.' + x
.text
5539 # C.g:412:13: '*' y= IDENTIFIER
5540 self
.match(self
.input, 66, self
.FOLLOW_66_in_postfix_expression1482
)
5543 y
= self
.input.LT(1)
5544 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1486
)
5547 if self
.backtracking
== 0:
5548 self
.postfix_expression_stack
[-1].FuncCallText
= y
.text
5553 # C.g:413:13: '->' z= IDENTIFIER
5554 self
.match(self
.input, 76, self
.FOLLOW_76_in_postfix_expression1502
)
5557 z
= self
.input.LT(1)
5558 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1506
)
5561 if self
.backtracking
== 0:
5562 self
.postfix_expression_stack
[-1].FuncCallText
+= '->' + z
.text
5568 self
.match(self
.input, 72, self
.FOLLOW_72_in_postfix_expression1522
)
5575 self
.match(self
.input, 73, self
.FOLLOW_73_in_postfix_expression1536
)
5588 except RecognitionException
as re
:
5589 self
.reportError(re
)
5590 self
.recover(self
.input, re
)
5592 if self
.backtracking
> 0:
5593 self
.memoize(self
.input, 41, postfix_expression_StartIndex
)
5595 self
.postfix_expression_stack
.pop()
5600 # $ANTLR end postfix_expression
5603 # $ANTLR start macro_parameter_list
5604 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5605 def macro_parameter_list(self
, ):
5607 macro_parameter_list_StartIndex
= self
.input.index()
5610 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 42):
5613 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5614 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5615 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1559
)
5616 self
.parameter_declaration()
5617 self
.following
.pop()
5620 # C.g:420:26: ( ',' parameter_declaration )*
5623 LA66_0
= self
.input.LA(1)
5630 # C.g:420:27: ',' parameter_declaration
5631 self
.match(self
.input, 27, self
.FOLLOW_27_in_macro_parameter_list1562
)
5634 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1564
)
5635 self
.parameter_declaration()
5636 self
.following
.pop()
5649 except RecognitionException
as re
:
5650 self
.reportError(re
)
5651 self
.recover(self
.input, re
)
5653 if self
.backtracking
> 0:
5654 self
.memoize(self
.input, 42, macro_parameter_list_StartIndex
)
5660 # $ANTLR end macro_parameter_list
5663 # $ANTLR start unary_operator
5664 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5665 def unary_operator(self
, ):
5667 unary_operator_StartIndex
= self
.input.index()
5670 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 43):
5673 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5675 if self
.input.LA(1) == 66 or (68 <= self
.input.LA(1) <= 69) or (77 <= self
.input.LA(1) <= 79):
5676 self
.input.consume();
5677 self
.errorRecovery
= False
5681 if self
.backtracking
> 0:
5685 mse
= MismatchedSetException(None, self
.input)
5686 self
.recoverFromMismatchedSet(
5687 self
.input, mse
, self
.FOLLOW_set_in_unary_operator0
5696 except RecognitionException
as re
:
5697 self
.reportError(re
)
5698 self
.recover(self
.input, re
)
5700 if self
.backtracking
> 0:
5701 self
.memoize(self
.input, 43, unary_operator_StartIndex
)
5707 # $ANTLR end unary_operator
5709 class primary_expression_return(object):
5716 # $ANTLR start primary_expression
5717 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5718 def primary_expression(self
, ):
5720 retval
= self
.primary_expression_return()
5721 retval
.start
= self
.input.LT(1)
5722 primary_expression_StartIndex
= self
.input.index()
5725 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 44):
5728 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5730 LA67
= self
.input.LA(1)
5731 if LA67
== IDENTIFIER
:
5732 LA67_1
= self
.input.LA(2)
5734 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)) :
5736 elif (LA67_1
== IDENTIFIER
or LA67_1
== STRING_LITERAL
) :
5739 if self
.backtracking
> 0:
5743 nvae
= NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self
.input)
5747 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
:
5752 if self
.backtracking
> 0:
5756 nvae
= NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self
.input)
5761 # C.g:433:4: IDENTIFIER
5762 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_primary_expression1613
)
5768 # C.g:434:4: constant
5769 self
.following
.append(self
.FOLLOW_constant_in_primary_expression1618
)
5771 self
.following
.pop()
5777 # C.g:435:4: '(' expression ')'
5778 self
.match(self
.input, 62, self
.FOLLOW_62_in_primary_expression1623
)
5781 self
.following
.append(self
.FOLLOW_expression_in_primary_expression1625
)
5783 self
.following
.pop()
5786 self
.match(self
.input, 63, self
.FOLLOW_63_in_primary_expression1627
)
5791 retval
.stop
= self
.input.LT(-1)
5794 except RecognitionException
as re
:
5795 self
.reportError(re
)
5796 self
.recover(self
.input, re
)
5798 if self
.backtracking
> 0:
5799 self
.memoize(self
.input, 44, primary_expression_StartIndex
)
5805 # $ANTLR end primary_expression
5808 # $ANTLR start constant
5809 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5810 def constant(self
, ):
5812 constant_StartIndex
= self
.input.index()
5815 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 45):
5818 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5820 LA72
= self
.input.LA(1)
5821 if LA72
== HEX_LITERAL
:
5823 elif LA72
== OCTAL_LITERAL
:
5825 elif LA72
== DECIMAL_LITERAL
:
5827 elif LA72
== CHARACTER_LITERAL
:
5829 elif LA72
== IDENTIFIER
or LA72
== STRING_LITERAL
:
5831 elif LA72
== FLOATING_POINT_LITERAL
:
5834 if self
.backtracking
> 0:
5838 nvae
= NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self
.input)
5843 # C.g:439:9: HEX_LITERAL
5844 self
.match(self
.input, HEX_LITERAL
, self
.FOLLOW_HEX_LITERAL_in_constant1643
)
5850 # C.g:440:9: OCTAL_LITERAL
5851 self
.match(self
.input, OCTAL_LITERAL
, self
.FOLLOW_OCTAL_LITERAL_in_constant1653
)
5857 # C.g:441:9: DECIMAL_LITERAL
5858 self
.match(self
.input, DECIMAL_LITERAL
, self
.FOLLOW_DECIMAL_LITERAL_in_constant1663
)
5864 # C.g:442:7: CHARACTER_LITERAL
5865 self
.match(self
.input, CHARACTER_LITERAL
, self
.FOLLOW_CHARACTER_LITERAL_in_constant1671
)
5871 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5872 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5876 LA70_0
= self
.input.LA(1)
5878 if (LA70_0
== IDENTIFIER
) :
5879 LA70_1
= self
.input.LA(2)
5881 if (LA70_1
== STRING_LITERAL
) :
5883 elif (LA70_1
== IDENTIFIER
) :
5884 LA70_33
= self
.input.LA(3)
5886 if (self
.synpred138()) :
5892 elif (LA70_0
== STRING_LITERAL
) :
5897 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5898 # C.g:443:8: ( IDENTIFIER )*
5901 LA68_0
= self
.input.LA(1)
5903 if (LA68_0
== IDENTIFIER
) :
5908 # C.g:0:0: IDENTIFIER
5909 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1680
)
5918 # C.g:443:20: ( STRING_LITERAL )+
5922 LA69_0
= self
.input.LA(1)
5924 if (LA69_0
== STRING_LITERAL
) :
5925 LA69_31
= self
.input.LA(2)
5927 if (self
.synpred137()) :
5934 # C.g:0:0: STRING_LITERAL
5935 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_constant1683
)
5944 if self
.backtracking
> 0:
5948 eee
= EarlyExitException(69, self
.input)
5960 if self
.backtracking
> 0:
5964 eee
= EarlyExitException(70, self
.input)
5970 # C.g:443:38: ( IDENTIFIER )*
5973 LA71_0
= self
.input.LA(1)
5975 if (LA71_0
== IDENTIFIER
) :
5980 # C.g:0:0: IDENTIFIER
5981 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1688
)
5993 # C.g:444:9: FLOATING_POINT_LITERAL
5994 self
.match(self
.input, FLOATING_POINT_LITERAL
, self
.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699
)
6000 except RecognitionException
as re
:
6001 self
.reportError(re
)
6002 self
.recover(self
.input, re
)
6004 if self
.backtracking
> 0:
6005 self
.memoize(self
.input, 45, constant_StartIndex
)
6011 # $ANTLR end constant
6013 class expression_return(object):
6020 # $ANTLR start expression
6021 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6022 def expression(self
, ):
6024 retval
= self
.expression_return()
6025 retval
.start
= self
.input.LT(1)
6026 expression_StartIndex
= self
.input.index()
6029 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 46):
6032 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6033 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6034 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1715
)
6035 self
.assignment_expression()
6036 self
.following
.pop()
6039 # C.g:450:26: ( ',' assignment_expression )*
6042 LA73_0
= self
.input.LA(1)
6049 # C.g:450:27: ',' assignment_expression
6050 self
.match(self
.input, 27, self
.FOLLOW_27_in_expression1718
)
6053 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1720
)
6054 self
.assignment_expression()
6055 self
.following
.pop()
6067 retval
.stop
= self
.input.LT(-1)
6070 except RecognitionException
as re
:
6071 self
.reportError(re
)
6072 self
.recover(self
.input, re
)
6074 if self
.backtracking
> 0:
6075 self
.memoize(self
.input, 46, expression_StartIndex
)
6081 # $ANTLR end expression
6084 # $ANTLR start constant_expression
6085 # C.g:453:1: constant_expression : conditional_expression ;
6086 def constant_expression(self
, ):
6088 constant_expression_StartIndex
= self
.input.index()
6091 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 47):
6094 # C.g:454:2: ( conditional_expression )
6095 # C.g:454:4: conditional_expression
6096 self
.following
.append(self
.FOLLOW_conditional_expression_in_constant_expression1733
)
6097 self
.conditional_expression()
6098 self
.following
.pop()
6105 except RecognitionException
as re
:
6106 self
.reportError(re
)
6107 self
.recover(self
.input, re
)
6109 if self
.backtracking
> 0:
6110 self
.memoize(self
.input, 47, constant_expression_StartIndex
)
6116 # $ANTLR end constant_expression
6119 # $ANTLR start assignment_expression
6120 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6121 def assignment_expression(self
, ):
6123 assignment_expression_StartIndex
= self
.input.index()
6126 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 48):
6129 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6131 LA74
= self
.input.LA(1)
6132 if LA74
== IDENTIFIER
:
6133 LA74
= self
.input.LA(2)
6135 LA74_13
= self
.input.LA(3)
6137 if (self
.synpred142()) :
6142 if self
.backtracking
> 0:
6146 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self
.input)
6151 LA74_14
= self
.input.LA(3)
6153 if (self
.synpred142()) :
6158 if self
.backtracking
> 0:
6162 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self
.input)
6167 LA74_15
= self
.input.LA(3)
6169 if (self
.synpred142()) :
6174 if self
.backtracking
> 0:
6178 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self
.input)
6183 LA74_16
= self
.input.LA(3)
6185 if (self
.synpred142()) :
6190 if self
.backtracking
> 0:
6194 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self
.input)
6199 LA74_17
= self
.input.LA(3)
6201 if (self
.synpred142()) :
6206 if self
.backtracking
> 0:
6210 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self
.input)
6215 LA74_18
= self
.input.LA(3)
6217 if (self
.synpred142()) :
6222 if self
.backtracking
> 0:
6226 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self
.input)
6231 LA74_19
= self
.input.LA(3)
6233 if (self
.synpred142()) :
6238 if self
.backtracking
> 0:
6242 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self
.input)
6246 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:
6248 elif LA74
== STRING_LITERAL
:
6249 LA74_21
= self
.input.LA(3)
6251 if (self
.synpred142()) :
6256 if self
.backtracking
> 0:
6260 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self
.input)
6264 elif LA74
== IDENTIFIER
:
6265 LA74_22
= self
.input.LA(3)
6267 if (self
.synpred142()) :
6272 if self
.backtracking
> 0:
6276 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self
.input)
6280 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:
6283 if self
.backtracking
> 0:
6287 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self
.input)
6291 elif LA74
== HEX_LITERAL
:
6292 LA74
= self
.input.LA(2)
6294 LA74_44
= self
.input.LA(3)
6296 if (self
.synpred142()) :
6301 if self
.backtracking
> 0:
6305 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self
.input)
6310 LA74_45
= self
.input.LA(3)
6312 if (self
.synpred142()) :
6317 if self
.backtracking
> 0:
6321 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self
.input)
6326 LA74_46
= self
.input.LA(3)
6328 if (self
.synpred142()) :
6333 if self
.backtracking
> 0:
6337 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self
.input)
6342 LA74_47
= self
.input.LA(3)
6344 if (self
.synpred142()) :
6349 if self
.backtracking
> 0:
6353 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self
.input)
6358 LA74_48
= self
.input.LA(3)
6360 if (self
.synpred142()) :
6365 if self
.backtracking
> 0:
6369 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self
.input)
6374 LA74_49
= self
.input.LA(3)
6376 if (self
.synpred142()) :
6381 if self
.backtracking
> 0:
6385 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self
.input)
6390 LA74_50
= self
.input.LA(3)
6392 if (self
.synpred142()) :
6397 if self
.backtracking
> 0:
6401 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self
.input)
6405 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:
6407 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:
6410 if self
.backtracking
> 0:
6414 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self
.input)
6418 elif LA74
== OCTAL_LITERAL
:
6419 LA74
= self
.input.LA(2)
6421 LA74_73
= self
.input.LA(3)
6423 if (self
.synpred142()) :
6428 if self
.backtracking
> 0:
6432 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self
.input)
6437 LA74_74
= self
.input.LA(3)
6439 if (self
.synpred142()) :
6444 if self
.backtracking
> 0:
6448 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self
.input)
6453 LA74_75
= self
.input.LA(3)
6455 if (self
.synpred142()) :
6460 if self
.backtracking
> 0:
6464 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self
.input)
6469 LA74_76
= self
.input.LA(3)
6471 if (self
.synpred142()) :
6476 if self
.backtracking
> 0:
6480 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self
.input)
6485 LA74_77
= self
.input.LA(3)
6487 if (self
.synpred142()) :
6492 if self
.backtracking
> 0:
6496 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self
.input)
6501 LA74_78
= self
.input.LA(3)
6503 if (self
.synpred142()) :
6508 if self
.backtracking
> 0:
6512 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self
.input)
6517 LA74_79
= self
.input.LA(3)
6519 if (self
.synpred142()) :
6524 if self
.backtracking
> 0:
6528 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self
.input)
6532 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:
6534 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:
6537 if self
.backtracking
> 0:
6541 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self
.input)
6545 elif LA74
== DECIMAL_LITERAL
:
6546 LA74
= self
.input.LA(2)
6548 LA74_102
= self
.input.LA(3)
6550 if (self
.synpred142()) :
6555 if self
.backtracking
> 0:
6559 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self
.input)
6564 LA74_103
= self
.input.LA(3)
6566 if (self
.synpred142()) :
6571 if self
.backtracking
> 0:
6575 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self
.input)
6580 LA74_104
= self
.input.LA(3)
6582 if (self
.synpred142()) :
6587 if self
.backtracking
> 0:
6591 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self
.input)
6596 LA74_105
= self
.input.LA(3)
6598 if (self
.synpred142()) :
6603 if self
.backtracking
> 0:
6607 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self
.input)
6612 LA74_106
= self
.input.LA(3)
6614 if (self
.synpred142()) :
6619 if self
.backtracking
> 0:
6623 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self
.input)
6628 LA74_107
= self
.input.LA(3)
6630 if (self
.synpred142()) :
6635 if self
.backtracking
> 0:
6639 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self
.input)
6644 LA74_108
= self
.input.LA(3)
6646 if (self
.synpred142()) :
6651 if self
.backtracking
> 0:
6655 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self
.input)
6659 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:
6661 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:
6664 if self
.backtracking
> 0:
6668 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self
.input)
6672 elif LA74
== CHARACTER_LITERAL
:
6673 LA74
= self
.input.LA(2)
6675 LA74_131
= self
.input.LA(3)
6677 if (self
.synpred142()) :
6682 if self
.backtracking
> 0:
6686 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self
.input)
6691 LA74_132
= self
.input.LA(3)
6693 if (self
.synpred142()) :
6698 if self
.backtracking
> 0:
6702 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self
.input)
6707 LA74_133
= self
.input.LA(3)
6709 if (self
.synpred142()) :
6714 if self
.backtracking
> 0:
6718 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self
.input)
6723 LA74_134
= self
.input.LA(3)
6725 if (self
.synpred142()) :
6730 if self
.backtracking
> 0:
6734 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self
.input)
6739 LA74_135
= self
.input.LA(3)
6741 if (self
.synpred142()) :
6746 if self
.backtracking
> 0:
6750 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self
.input)
6755 LA74_136
= self
.input.LA(3)
6757 if (self
.synpred142()) :
6762 if self
.backtracking
> 0:
6766 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self
.input)
6771 LA74_137
= self
.input.LA(3)
6773 if (self
.synpred142()) :
6778 if self
.backtracking
> 0:
6782 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self
.input)
6786 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:
6788 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:
6791 if self
.backtracking
> 0:
6795 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self
.input)
6799 elif LA74
== STRING_LITERAL
:
6800 LA74
= self
.input.LA(2)
6801 if LA74
== IDENTIFIER
:
6802 LA74_160
= self
.input.LA(3)
6804 if (self
.synpred142()) :
6809 if self
.backtracking
> 0:
6813 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self
.input)
6818 LA74_161
= self
.input.LA(3)
6820 if (self
.synpred142()) :
6825 if self
.backtracking
> 0:
6829 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self
.input)
6834 LA74_162
= self
.input.LA(3)
6836 if (self
.synpred142()) :
6841 if self
.backtracking
> 0:
6845 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self
.input)
6850 LA74_163
= self
.input.LA(3)
6852 if (self
.synpred142()) :
6857 if self
.backtracking
> 0:
6861 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self
.input)
6866 LA74_164
= self
.input.LA(3)
6868 if (self
.synpred142()) :
6873 if self
.backtracking
> 0:
6877 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self
.input)
6882 LA74_165
= self
.input.LA(3)
6884 if (self
.synpred142()) :
6889 if self
.backtracking
> 0:
6893 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self
.input)
6898 LA74_166
= self
.input.LA(3)
6900 if (self
.synpred142()) :
6905 if self
.backtracking
> 0:
6909 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self
.input)
6914 LA74_167
= self
.input.LA(3)
6916 if (self
.synpred142()) :
6921 if self
.backtracking
> 0:
6925 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self
.input)
6929 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:
6931 elif LA74
== STRING_LITERAL
:
6932 LA74_189
= self
.input.LA(3)
6934 if (self
.synpred142()) :
6939 if self
.backtracking
> 0:
6943 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self
.input)
6947 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:
6950 if self
.backtracking
> 0:
6954 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self
.input)
6958 elif LA74
== FLOATING_POINT_LITERAL
:
6959 LA74
= self
.input.LA(2)
6961 LA74_191
= self
.input.LA(3)
6963 if (self
.synpred142()) :
6968 if self
.backtracking
> 0:
6972 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self
.input)
6977 LA74_192
= self
.input.LA(3)
6979 if (self
.synpred142()) :
6984 if self
.backtracking
> 0:
6988 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self
.input)
6993 LA74_193
= self
.input.LA(3)
6995 if (self
.synpred142()) :
7000 if self
.backtracking
> 0:
7004 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self
.input)
7009 LA74_194
= self
.input.LA(3)
7011 if (self
.synpred142()) :
7016 if self
.backtracking
> 0:
7020 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self
.input)
7025 LA74_195
= self
.input.LA(3)
7027 if (self
.synpred142()) :
7032 if self
.backtracking
> 0:
7036 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self
.input)
7041 LA74_196
= self
.input.LA(3)
7043 if (self
.synpred142()) :
7048 if self
.backtracking
> 0:
7052 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self
.input)
7057 LA74_197
= self
.input.LA(3)
7059 if (self
.synpred142()) :
7064 if self
.backtracking
> 0:
7068 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self
.input)
7072 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:
7074 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:
7077 if self
.backtracking
> 0:
7081 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self
.input)
7086 LA74
= self
.input.LA(2)
7087 if LA74
== IDENTIFIER
:
7088 LA74_220
= self
.input.LA(3)
7090 if (self
.synpred142()) :
7095 if self
.backtracking
> 0:
7099 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self
.input)
7103 elif LA74
== HEX_LITERAL
:
7104 LA74_221
= self
.input.LA(3)
7106 if (self
.synpred142()) :
7111 if self
.backtracking
> 0:
7115 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self
.input)
7119 elif LA74
== OCTAL_LITERAL
:
7120 LA74_222
= self
.input.LA(3)
7122 if (self
.synpred142()) :
7127 if self
.backtracking
> 0:
7131 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self
.input)
7135 elif LA74
== DECIMAL_LITERAL
:
7136 LA74_223
= self
.input.LA(3)
7138 if (self
.synpred142()) :
7143 if self
.backtracking
> 0:
7147 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self
.input)
7151 elif LA74
== CHARACTER_LITERAL
:
7152 LA74_224
= self
.input.LA(3)
7154 if (self
.synpred142()) :
7159 if self
.backtracking
> 0:
7163 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self
.input)
7167 elif LA74
== STRING_LITERAL
:
7168 LA74_225
= self
.input.LA(3)
7170 if (self
.synpred142()) :
7175 if self
.backtracking
> 0:
7179 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self
.input)
7183 elif LA74
== FLOATING_POINT_LITERAL
:
7184 LA74_226
= self
.input.LA(3)
7186 if (self
.synpred142()) :
7191 if self
.backtracking
> 0:
7195 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self
.input)
7200 LA74_227
= self
.input.LA(3)
7202 if (self
.synpred142()) :
7207 if self
.backtracking
> 0:
7211 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self
.input)
7216 LA74_228
= self
.input.LA(3)
7218 if (self
.synpred142()) :
7223 if self
.backtracking
> 0:
7227 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self
.input)
7232 LA74_229
= self
.input.LA(3)
7234 if (self
.synpred142()) :
7239 if self
.backtracking
> 0:
7243 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self
.input)
7247 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7248 LA74_230
= self
.input.LA(3)
7250 if (self
.synpred142()) :
7255 if self
.backtracking
> 0:
7259 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self
.input)
7264 LA74_231
= self
.input.LA(3)
7266 if (self
.synpred142()) :
7271 if self
.backtracking
> 0:
7275 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self
.input)
7279 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:
7282 if self
.backtracking
> 0:
7286 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self
.input)
7291 LA74
= self
.input.LA(2)
7292 if LA74
== IDENTIFIER
:
7293 LA74_244
= self
.input.LA(3)
7295 if (self
.synpred142()) :
7300 if self
.backtracking
> 0:
7304 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self
.input)
7308 elif LA74
== HEX_LITERAL
:
7309 LA74_245
= self
.input.LA(3)
7311 if (self
.synpred142()) :
7316 if self
.backtracking
> 0:
7320 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self
.input)
7324 elif LA74
== OCTAL_LITERAL
:
7325 LA74_246
= self
.input.LA(3)
7327 if (self
.synpred142()) :
7332 if self
.backtracking
> 0:
7336 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self
.input)
7340 elif LA74
== DECIMAL_LITERAL
:
7341 LA74_247
= self
.input.LA(3)
7343 if (self
.synpred142()) :
7348 if self
.backtracking
> 0:
7352 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self
.input)
7356 elif LA74
== CHARACTER_LITERAL
:
7357 LA74_248
= self
.input.LA(3)
7359 if (self
.synpred142()) :
7364 if self
.backtracking
> 0:
7368 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self
.input)
7372 elif LA74
== STRING_LITERAL
:
7373 LA74_249
= self
.input.LA(3)
7375 if (self
.synpred142()) :
7380 if self
.backtracking
> 0:
7384 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self
.input)
7388 elif LA74
== FLOATING_POINT_LITERAL
:
7389 LA74_250
= self
.input.LA(3)
7391 if (self
.synpred142()) :
7396 if self
.backtracking
> 0:
7400 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self
.input)
7405 LA74_251
= self
.input.LA(3)
7407 if (self
.synpred142()) :
7412 if self
.backtracking
> 0:
7416 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self
.input)
7421 LA74_252
= self
.input.LA(3)
7423 if (self
.synpred142()) :
7428 if self
.backtracking
> 0:
7432 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self
.input)
7437 LA74_253
= self
.input.LA(3)
7439 if (self
.synpred142()) :
7444 if self
.backtracking
> 0:
7448 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self
.input)
7452 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7453 LA74_254
= self
.input.LA(3)
7455 if (self
.synpred142()) :
7460 if self
.backtracking
> 0:
7464 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self
.input)
7469 LA74_255
= self
.input.LA(3)
7471 if (self
.synpred142()) :
7476 if self
.backtracking
> 0:
7480 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self
.input)
7485 if self
.backtracking
> 0:
7489 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self
.input)
7494 LA74
= self
.input.LA(2)
7495 if LA74
== IDENTIFIER
:
7496 LA74_256
= self
.input.LA(3)
7498 if (self
.synpred142()) :
7503 if self
.backtracking
> 0:
7507 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self
.input)
7511 elif LA74
== HEX_LITERAL
:
7512 LA74_257
= self
.input.LA(3)
7514 if (self
.synpred142()) :
7519 if self
.backtracking
> 0:
7523 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self
.input)
7527 elif LA74
== OCTAL_LITERAL
:
7528 LA74_258
= self
.input.LA(3)
7530 if (self
.synpred142()) :
7535 if self
.backtracking
> 0:
7539 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self
.input)
7543 elif LA74
== DECIMAL_LITERAL
:
7544 LA74_259
= self
.input.LA(3)
7546 if (self
.synpred142()) :
7551 if self
.backtracking
> 0:
7555 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self
.input)
7559 elif LA74
== CHARACTER_LITERAL
:
7560 LA74_260
= self
.input.LA(3)
7562 if (self
.synpred142()) :
7567 if self
.backtracking
> 0:
7571 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self
.input)
7575 elif LA74
== STRING_LITERAL
:
7576 LA74_261
= self
.input.LA(3)
7578 if (self
.synpred142()) :
7583 if self
.backtracking
> 0:
7587 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self
.input)
7591 elif LA74
== FLOATING_POINT_LITERAL
:
7592 LA74_262
= self
.input.LA(3)
7594 if (self
.synpred142()) :
7599 if self
.backtracking
> 0:
7603 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self
.input)
7608 LA74_263
= self
.input.LA(3)
7610 if (self
.synpred142()) :
7615 if self
.backtracking
> 0:
7619 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self
.input)
7624 LA74_264
= self
.input.LA(3)
7626 if (self
.synpred142()) :
7631 if self
.backtracking
> 0:
7635 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self
.input)
7640 LA74_265
= self
.input.LA(3)
7642 if (self
.synpred142()) :
7647 if self
.backtracking
> 0:
7651 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self
.input)
7655 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7656 LA74_266
= self
.input.LA(3)
7658 if (self
.synpred142()) :
7663 if self
.backtracking
> 0:
7667 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self
.input)
7672 LA74_267
= self
.input.LA(3)
7674 if (self
.synpred142()) :
7679 if self
.backtracking
> 0:
7683 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self
.input)
7688 if self
.backtracking
> 0:
7692 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self
.input)
7696 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7697 LA74
= self
.input.LA(2)
7699 LA74_268
= self
.input.LA(3)
7701 if (self
.synpred142()) :
7706 if self
.backtracking
> 0:
7710 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self
.input)
7714 elif LA74
== IDENTIFIER
:
7715 LA74_269
= self
.input.LA(3)
7717 if (self
.synpred142()) :
7722 if self
.backtracking
> 0:
7726 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self
.input)
7730 elif LA74
== HEX_LITERAL
:
7731 LA74_270
= self
.input.LA(3)
7733 if (self
.synpred142()) :
7738 if self
.backtracking
> 0:
7742 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self
.input)
7746 elif LA74
== OCTAL_LITERAL
:
7747 LA74_271
= self
.input.LA(3)
7749 if (self
.synpred142()) :
7754 if self
.backtracking
> 0:
7758 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self
.input)
7762 elif LA74
== DECIMAL_LITERAL
:
7763 LA74_272
= self
.input.LA(3)
7765 if (self
.synpred142()) :
7770 if self
.backtracking
> 0:
7774 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self
.input)
7778 elif LA74
== CHARACTER_LITERAL
:
7779 LA74_273
= self
.input.LA(3)
7781 if (self
.synpred142()) :
7786 if self
.backtracking
> 0:
7790 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self
.input)
7794 elif LA74
== STRING_LITERAL
:
7795 LA74_274
= self
.input.LA(3)
7797 if (self
.synpred142()) :
7802 if self
.backtracking
> 0:
7806 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self
.input)
7810 elif LA74
== FLOATING_POINT_LITERAL
:
7811 LA74_275
= self
.input.LA(3)
7813 if (self
.synpred142()) :
7818 if self
.backtracking
> 0:
7822 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self
.input)
7827 LA74_276
= self
.input.LA(3)
7829 if (self
.synpred142()) :
7834 if self
.backtracking
> 0:
7838 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self
.input)
7843 LA74_277
= self
.input.LA(3)
7845 if (self
.synpred142()) :
7850 if self
.backtracking
> 0:
7854 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self
.input)
7858 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7859 LA74_278
= self
.input.LA(3)
7861 if (self
.synpred142()) :
7866 if self
.backtracking
> 0:
7870 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self
.input)
7875 LA74_279
= self
.input.LA(3)
7877 if (self
.synpred142()) :
7882 if self
.backtracking
> 0:
7886 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self
.input)
7891 if self
.backtracking
> 0:
7895 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self
.input)
7900 LA74
= self
.input.LA(2)
7902 LA74_280
= self
.input.LA(3)
7904 if (self
.synpred142()) :
7909 if self
.backtracking
> 0:
7913 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self
.input)
7917 elif LA74
== IDENTIFIER
:
7918 LA74_281
= self
.input.LA(3)
7920 if (self
.synpred142()) :
7925 if self
.backtracking
> 0:
7929 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self
.input)
7933 elif LA74
== HEX_LITERAL
:
7934 LA74_282
= self
.input.LA(3)
7936 if (self
.synpred142()) :
7941 if self
.backtracking
> 0:
7945 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self
.input)
7949 elif LA74
== OCTAL_LITERAL
:
7950 LA74_283
= self
.input.LA(3)
7952 if (self
.synpred142()) :
7957 if self
.backtracking
> 0:
7961 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self
.input)
7965 elif LA74
== DECIMAL_LITERAL
:
7966 LA74_284
= self
.input.LA(3)
7968 if (self
.synpred142()) :
7973 if self
.backtracking
> 0:
7977 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self
.input)
7981 elif LA74
== CHARACTER_LITERAL
:
7982 LA74_285
= self
.input.LA(3)
7984 if (self
.synpred142()) :
7989 if self
.backtracking
> 0:
7993 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self
.input)
7997 elif LA74
== STRING_LITERAL
:
7998 LA74_286
= self
.input.LA(3)
8000 if (self
.synpred142()) :
8005 if self
.backtracking
> 0:
8009 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self
.input)
8013 elif LA74
== FLOATING_POINT_LITERAL
:
8014 LA74_287
= self
.input.LA(3)
8016 if (self
.synpred142()) :
8021 if self
.backtracking
> 0:
8025 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self
.input)
8030 LA74_288
= self
.input.LA(3)
8032 if (self
.synpred142()) :
8037 if self
.backtracking
> 0:
8041 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self
.input)
8046 LA74_289
= self
.input.LA(3)
8048 if (self
.synpred142()) :
8053 if self
.backtracking
> 0:
8057 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self
.input)
8061 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
8062 LA74_290
= self
.input.LA(3)
8064 if (self
.synpred142()) :
8069 if self
.backtracking
> 0:
8073 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self
.input)
8078 LA74_291
= self
.input.LA(3)
8080 if (self
.synpred142()) :
8085 if self
.backtracking
> 0:
8089 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self
.input)
8094 if self
.backtracking
> 0:
8098 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self
.input)
8103 if self
.backtracking
> 0:
8107 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self
.input)
8112 # C.g:458:4: lvalue assignment_operator assignment_expression
8113 self
.following
.append(self
.FOLLOW_lvalue_in_assignment_expression1744
)
8115 self
.following
.pop()
8118 self
.following
.append(self
.FOLLOW_assignment_operator_in_assignment_expression1746
)
8119 self
.assignment_operator()
8120 self
.following
.pop()
8123 self
.following
.append(self
.FOLLOW_assignment_expression_in_assignment_expression1748
)
8124 self
.assignment_expression()
8125 self
.following
.pop()
8131 # C.g:459:4: conditional_expression
8132 self
.following
.append(self
.FOLLOW_conditional_expression_in_assignment_expression1753
)
8133 self
.conditional_expression()
8134 self
.following
.pop()
8140 except RecognitionException
as re
:
8141 self
.reportError(re
)
8142 self
.recover(self
.input, re
)
8144 if self
.backtracking
> 0:
8145 self
.memoize(self
.input, 48, assignment_expression_StartIndex
)
8151 # $ANTLR end assignment_expression
8154 # $ANTLR start lvalue
8155 # C.g:462:1: lvalue : unary_expression ;
8158 lvalue_StartIndex
= self
.input.index()
8161 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 49):
8164 # C.g:463:2: ( unary_expression )
8165 # C.g:463:4: unary_expression
8166 self
.following
.append(self
.FOLLOW_unary_expression_in_lvalue1765
)
8167 self
.unary_expression()
8168 self
.following
.pop()
8175 except RecognitionException
as re
:
8176 self
.reportError(re
)
8177 self
.recover(self
.input, re
)
8179 if self
.backtracking
> 0:
8180 self
.memoize(self
.input, 49, lvalue_StartIndex
)
8189 # $ANTLR start assignment_operator
8190 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8191 def assignment_operator(self
, ):
8193 assignment_operator_StartIndex
= self
.input.index()
8196 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 50):
8199 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8201 if self
.input.LA(1) == 28 or (80 <= self
.input.LA(1) <= 89):
8202 self
.input.consume();
8203 self
.errorRecovery
= False
8207 if self
.backtracking
> 0:
8211 mse
= MismatchedSetException(None, self
.input)
8212 self
.recoverFromMismatchedSet(
8213 self
.input, mse
, self
.FOLLOW_set_in_assignment_operator0
8222 except RecognitionException
as re
:
8223 self
.reportError(re
)
8224 self
.recover(self
.input, re
)
8226 if self
.backtracking
> 0:
8227 self
.memoize(self
.input, 50, assignment_operator_StartIndex
)
8233 # $ANTLR end assignment_operator
8236 # $ANTLR start conditional_expression
8237 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8238 def conditional_expression(self
, ):
8240 conditional_expression_StartIndex
= self
.input.index()
8246 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 51):
8249 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8250 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8251 self
.following
.append(self
.FOLLOW_logical_or_expression_in_conditional_expression1839
)
8252 e
= self
.logical_or_expression()
8253 self
.following
.pop()
8256 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8258 LA75_0
= self
.input.LA(1)
8263 # C.g:481:29: '?' expression ':' conditional_expression
8264 self
.match(self
.input, 90, self
.FOLLOW_90_in_conditional_expression1842
)
8267 self
.following
.append(self
.FOLLOW_expression_in_conditional_expression1844
)
8269 self
.following
.pop()
8272 self
.match(self
.input, 47, self
.FOLLOW_47_in_conditional_expression1846
)
8275 self
.following
.append(self
.FOLLOW_conditional_expression_in_conditional_expression1848
)
8276 self
.conditional_expression()
8277 self
.following
.pop()
8280 if self
.backtracking
== 0:
8281 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
8290 except RecognitionException
as re
:
8291 self
.reportError(re
)
8292 self
.recover(self
.input, re
)
8294 if self
.backtracking
> 0:
8295 self
.memoize(self
.input, 51, conditional_expression_StartIndex
)
8301 # $ANTLR end conditional_expression
8303 class logical_or_expression_return(object):
8310 # $ANTLR start logical_or_expression
8311 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8312 def logical_or_expression(self
, ):
8314 retval
= self
.logical_or_expression_return()
8315 retval
.start
= self
.input.LT(1)
8316 logical_or_expression_StartIndex
= self
.input.index()
8319 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 52):
8322 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8323 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8324 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1863
)
8325 self
.logical_and_expression()
8326 self
.following
.pop()
8329 # C.g:485:27: ( '||' logical_and_expression )*
8332 LA76_0
= self
.input.LA(1)
8339 # C.g:485:28: '||' logical_and_expression
8340 self
.match(self
.input, 91, self
.FOLLOW_91_in_logical_or_expression1866
)
8343 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1868
)
8344 self
.logical_and_expression()
8345 self
.following
.pop()
8357 retval
.stop
= self
.input.LT(-1)
8360 except RecognitionException
as re
:
8361 self
.reportError(re
)
8362 self
.recover(self
.input, re
)
8364 if self
.backtracking
> 0:
8365 self
.memoize(self
.input, 52, logical_or_expression_StartIndex
)
8371 # $ANTLR end logical_or_expression
8374 # $ANTLR start logical_and_expression
8375 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8376 def logical_and_expression(self
, ):
8378 logical_and_expression_StartIndex
= self
.input.index()
8381 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 53):
8384 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8385 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8386 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1881
)
8387 self
.inclusive_or_expression()
8388 self
.following
.pop()
8391 # C.g:489:28: ( '&&' inclusive_or_expression )*
8394 LA77_0
= self
.input.LA(1)
8401 # C.g:489:29: '&&' inclusive_or_expression
8402 self
.match(self
.input, 92, self
.FOLLOW_92_in_logical_and_expression1884
)
8405 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1886
)
8406 self
.inclusive_or_expression()
8407 self
.following
.pop()
8420 except RecognitionException
as re
:
8421 self
.reportError(re
)
8422 self
.recover(self
.input, re
)
8424 if self
.backtracking
> 0:
8425 self
.memoize(self
.input, 53, logical_and_expression_StartIndex
)
8431 # $ANTLR end logical_and_expression
8434 # $ANTLR start inclusive_or_expression
8435 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8436 def inclusive_or_expression(self
, ):
8438 inclusive_or_expression_StartIndex
= self
.input.index()
8441 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 54):
8444 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8445 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8446 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899
)
8447 self
.exclusive_or_expression()
8448 self
.following
.pop()
8451 # C.g:493:28: ( '|' exclusive_or_expression )*
8454 LA78_0
= self
.input.LA(1)
8461 # C.g:493:29: '|' exclusive_or_expression
8462 self
.match(self
.input, 93, self
.FOLLOW_93_in_inclusive_or_expression1902
)
8465 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904
)
8466 self
.exclusive_or_expression()
8467 self
.following
.pop()
8480 except RecognitionException
as re
:
8481 self
.reportError(re
)
8482 self
.recover(self
.input, re
)
8484 if self
.backtracking
> 0:
8485 self
.memoize(self
.input, 54, inclusive_or_expression_StartIndex
)
8491 # $ANTLR end inclusive_or_expression
8494 # $ANTLR start exclusive_or_expression
8495 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8496 def exclusive_or_expression(self
, ):
8498 exclusive_or_expression_StartIndex
= self
.input.index()
8501 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 55):
8504 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8505 # C.g:497:4: and_expression ( '^' and_expression )*
8506 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1917
)
8507 self
.and_expression()
8508 self
.following
.pop()
8511 # C.g:497:19: ( '^' and_expression )*
8514 LA79_0
= self
.input.LA(1)
8521 # C.g:497:20: '^' and_expression
8522 self
.match(self
.input, 94, self
.FOLLOW_94_in_exclusive_or_expression1920
)
8525 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1922
)
8526 self
.and_expression()
8527 self
.following
.pop()
8540 except RecognitionException
as re
:
8541 self
.reportError(re
)
8542 self
.recover(self
.input, re
)
8544 if self
.backtracking
> 0:
8545 self
.memoize(self
.input, 55, exclusive_or_expression_StartIndex
)
8551 # $ANTLR end exclusive_or_expression
8554 # $ANTLR start and_expression
8555 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8556 def and_expression(self
, ):
8558 and_expression_StartIndex
= self
.input.index()
8561 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 56):
8564 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8565 # C.g:501:4: equality_expression ( '&' equality_expression )*
8566 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1935
)
8567 self
.equality_expression()
8568 self
.following
.pop()
8571 # C.g:501:24: ( '&' equality_expression )*
8574 LA80_0
= self
.input.LA(1)
8581 # C.g:501:25: '&' equality_expression
8582 self
.match(self
.input, 77, self
.FOLLOW_77_in_and_expression1938
)
8585 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1940
)
8586 self
.equality_expression()
8587 self
.following
.pop()
8600 except RecognitionException
as re
:
8601 self
.reportError(re
)
8602 self
.recover(self
.input, re
)
8604 if self
.backtracking
> 0:
8605 self
.memoize(self
.input, 56, and_expression_StartIndex
)
8611 # $ANTLR end and_expression
8614 # $ANTLR start equality_expression
8615 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8616 def equality_expression(self
, ):
8618 equality_expression_StartIndex
= self
.input.index()
8621 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 57):
8624 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8625 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8626 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1952
)
8627 self
.relational_expression()
8628 self
.following
.pop()
8631 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8634 LA81_0
= self
.input.LA(1)
8636 if ((95 <= LA81_0
<= 96)) :
8641 # C.g:504:27: ( '==' | '!=' ) relational_expression
8642 if (95 <= self
.input.LA(1) <= 96):
8643 self
.input.consume();
8644 self
.errorRecovery
= False
8648 if self
.backtracking
> 0:
8652 mse
= MismatchedSetException(None, self
.input)
8653 self
.recoverFromMismatchedSet(
8654 self
.input, mse
, self
.FOLLOW_set_in_equality_expression1955
8659 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1961
)
8660 self
.relational_expression()
8661 self
.following
.pop()
8674 except RecognitionException
as re
:
8675 self
.reportError(re
)
8676 self
.recover(self
.input, re
)
8678 if self
.backtracking
> 0:
8679 self
.memoize(self
.input, 57, equality_expression_StartIndex
)
8685 # $ANTLR end equality_expression
8688 # $ANTLR start relational_expression
8689 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8690 def relational_expression(self
, ):
8692 relational_expression_StartIndex
= self
.input.index()
8695 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 58):
8698 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8699 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8700 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1975
)
8701 self
.shift_expression()
8702 self
.following
.pop()
8705 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8708 LA82_0
= self
.input.LA(1)
8710 if ((97 <= LA82_0
<= 100)) :
8715 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8716 if (97 <= self
.input.LA(1) <= 100):
8717 self
.input.consume();
8718 self
.errorRecovery
= False
8722 if self
.backtracking
> 0:
8726 mse
= MismatchedSetException(None, self
.input)
8727 self
.recoverFromMismatchedSet(
8728 self
.input, mse
, self
.FOLLOW_set_in_relational_expression1978
8733 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1988
)
8734 self
.shift_expression()
8735 self
.following
.pop()
8748 except RecognitionException
as re
:
8749 self
.reportError(re
)
8750 self
.recover(self
.input, re
)
8752 if self
.backtracking
> 0:
8753 self
.memoize(self
.input, 58, relational_expression_StartIndex
)
8759 # $ANTLR end relational_expression
8762 # $ANTLR start shift_expression
8763 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8764 def shift_expression(self
, ):
8766 shift_expression_StartIndex
= self
.input.index()
8769 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 59):
8772 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8773 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8774 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression2001
)
8775 self
.additive_expression()
8776 self
.following
.pop()
8779 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8782 LA83_0
= self
.input.LA(1)
8784 if ((101 <= LA83_0
<= 102)) :
8789 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8790 if (101 <= self
.input.LA(1) <= 102):
8791 self
.input.consume();
8792 self
.errorRecovery
= False
8796 if self
.backtracking
> 0:
8800 mse
= MismatchedSetException(None, self
.input)
8801 self
.recoverFromMismatchedSet(
8802 self
.input, mse
, self
.FOLLOW_set_in_shift_expression2004
8807 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression2010
)
8808 self
.additive_expression()
8809 self
.following
.pop()
8822 except RecognitionException
as re
:
8823 self
.reportError(re
)
8824 self
.recover(self
.input, re
)
8826 if self
.backtracking
> 0:
8827 self
.memoize(self
.input, 59, shift_expression_StartIndex
)
8833 # $ANTLR end shift_expression
8836 # $ANTLR start statement
8837 # 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 );
8838 def statement(self
, ):
8840 statement_StartIndex
= self
.input.index()
8843 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 60):
8846 # 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 )
8848 LA84
= self
.input.LA(1)
8849 if LA84
== IDENTIFIER
:
8850 LA84
= self
.input.LA(2)
8852 LA84_43
= self
.input.LA(3)
8854 if (self
.synpred169()) :
8856 elif (self
.synpred173()) :
8858 elif (self
.synpred174()) :
8863 if self
.backtracking
> 0:
8867 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)
8873 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:
8876 LA84_47
= self
.input.LA(3)
8878 if (self
.synpred169()) :
8883 if self
.backtracking
> 0:
8887 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)
8891 elif LA84
== IDENTIFIER
:
8892 LA84_53
= self
.input.LA(3)
8894 if (self
.synpred169()) :
8899 if self
.backtracking
> 0:
8903 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)
8908 LA84_68
= self
.input.LA(3)
8910 if (self
.synpred169()) :
8915 if self
.backtracking
> 0:
8919 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)
8923 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:
8926 if self
.backtracking
> 0:
8930 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)
8934 elif LA84
== 106 or LA84
== 107:
8938 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:
8940 elif LA84
== 108 or LA84
== 110:
8942 elif LA84
== 111 or LA84
== 112 or LA84
== 113:
8944 elif LA84
== 114 or LA84
== 115 or LA84
== 116 or LA84
== 117:
8952 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:
8955 if self
.backtracking
> 0:
8959 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)
8964 # C.g:518:4: labeled_statement
8965 self
.following
.append(self
.FOLLOW_labeled_statement_in_statement2025
)
8966 self
.labeled_statement()
8967 self
.following
.pop()
8973 # C.g:519:4: compound_statement
8974 self
.following
.append(self
.FOLLOW_compound_statement_in_statement2030
)
8975 self
.compound_statement()
8976 self
.following
.pop()
8982 # C.g:520:4: expression_statement
8983 self
.following
.append(self
.FOLLOW_expression_statement_in_statement2035
)
8984 self
.expression_statement()
8985 self
.following
.pop()
8991 # C.g:521:4: selection_statement
8992 self
.following
.append(self
.FOLLOW_selection_statement_in_statement2040
)
8993 self
.selection_statement()
8994 self
.following
.pop()
9000 # C.g:522:4: iteration_statement
9001 self
.following
.append(self
.FOLLOW_iteration_statement_in_statement2045
)
9002 self
.iteration_statement()
9003 self
.following
.pop()
9009 # C.g:523:4: jump_statement
9010 self
.following
.append(self
.FOLLOW_jump_statement_in_statement2050
)
9011 self
.jump_statement()
9012 self
.following
.pop()
9018 # C.g:524:4: macro_statement
9019 self
.following
.append(self
.FOLLOW_macro_statement_in_statement2055
)
9020 self
.macro_statement()
9021 self
.following
.pop()
9027 # C.g:525:4: asm2_statement
9028 self
.following
.append(self
.FOLLOW_asm2_statement_in_statement2060
)
9029 self
.asm2_statement()
9030 self
.following
.pop()
9036 # C.g:526:4: asm1_statement
9037 self
.following
.append(self
.FOLLOW_asm1_statement_in_statement2065
)
9038 self
.asm1_statement()
9039 self
.following
.pop()
9045 # C.g:527:4: asm_statement
9046 self
.following
.append(self
.FOLLOW_asm_statement_in_statement2070
)
9047 self
.asm_statement()
9048 self
.following
.pop()
9054 # C.g:528:4: declaration
9055 self
.following
.append(self
.FOLLOW_declaration_in_statement2075
)
9057 self
.following
.pop()
9063 except RecognitionException
as re
:
9064 self
.reportError(re
)
9065 self
.recover(self
.input, re
)
9067 if self
.backtracking
> 0:
9068 self
.memoize(self
.input, 60, statement_StartIndex
)
9074 # $ANTLR end statement
9077 # $ANTLR start asm2_statement
9078 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9079 def asm2_statement(self
, ):
9081 asm2_statement_StartIndex
= self
.input.index()
9084 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 61):
9087 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9088 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9089 # C.g:532:4: ( '__asm__' )?
9091 LA85_0
= self
.input.LA(1)
9093 if (LA85_0
== 103) :
9096 # C.g:0:0: '__asm__'
9097 self
.match(self
.input, 103, self
.FOLLOW_103_in_asm2_statement2086
)
9103 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_asm2_statement2089
)
9106 self
.match(self
.input, 62, self
.FOLLOW_62_in_asm2_statement2091
)
9109 # C.g:532:30: (~ ( ';' ) )*
9112 LA86_0
= self
.input.LA(1)
9115 LA86_1
= self
.input.LA(2)
9117 if ((IDENTIFIER
<= LA86_1
<= LINE_COMMAND
) or (26 <= LA86_1
<= 117)) :
9121 elif ((IDENTIFIER
<= LA86_0
<= LINE_COMMAND
) or (26 <= LA86_0
<= 62) or (64 <= LA86_0
<= 117)) :
9126 # C.g:532:31: ~ ( ';' )
9127 if (IDENTIFIER
<= self
.input.LA(1) <= LINE_COMMAND
) or (26 <= self
.input.LA(1) <= 117):
9128 self
.input.consume();
9129 self
.errorRecovery
= False
9133 if self
.backtracking
> 0:
9137 mse
= MismatchedSetException(None, self
.input)
9138 self
.recoverFromMismatchedSet(
9139 self
.input, mse
, self
.FOLLOW_set_in_asm2_statement2094
9150 self
.match(self
.input, 63, self
.FOLLOW_63_in_asm2_statement2101
)
9153 self
.match(self
.input, 25, self
.FOLLOW_25_in_asm2_statement2103
)
9160 except RecognitionException
as re
:
9161 self
.reportError(re
)
9162 self
.recover(self
.input, re
)
9164 if self
.backtracking
> 0:
9165 self
.memoize(self
.input, 61, asm2_statement_StartIndex
)
9171 # $ANTLR end asm2_statement
9174 # $ANTLR start asm1_statement
9175 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9176 def asm1_statement(self
, ):
9178 asm1_statement_StartIndex
= self
.input.index()
9181 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 62):
9184 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9185 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9186 self
.match(self
.input, 104, self
.FOLLOW_104_in_asm1_statement2115
)
9189 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm1_statement2117
)
9192 # C.g:536:15: (~ ( '}' ) )*
9195 LA87_0
= self
.input.LA(1)
9197 if ((IDENTIFIER
<= LA87_0
<= 43) or (45 <= LA87_0
<= 117)) :
9202 # C.g:536:16: ~ ( '}' )
9203 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 117):
9204 self
.input.consume();
9205 self
.errorRecovery
= False
9209 if self
.backtracking
> 0:
9213 mse
= MismatchedSetException(None, self
.input)
9214 self
.recoverFromMismatchedSet(
9215 self
.input, mse
, self
.FOLLOW_set_in_asm1_statement2120
9226 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm1_statement2127
)
9233 except RecognitionException
as re
:
9234 self
.reportError(re
)
9235 self
.recover(self
.input, re
)
9237 if self
.backtracking
> 0:
9238 self
.memoize(self
.input, 62, asm1_statement_StartIndex
)
9244 # $ANTLR end asm1_statement
9247 # $ANTLR start asm_statement
9248 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9249 def asm_statement(self
, ):
9251 asm_statement_StartIndex
= self
.input.index()
9254 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 63):
9257 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9258 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9259 self
.match(self
.input, 105, self
.FOLLOW_105_in_asm_statement2138
)
9262 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm_statement2140
)
9265 # C.g:540:16: (~ ( '}' ) )*
9268 LA88_0
= self
.input.LA(1)
9270 if ((IDENTIFIER
<= LA88_0
<= 43) or (45 <= LA88_0
<= 117)) :
9275 # C.g:540:17: ~ ( '}' )
9276 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 117):
9277 self
.input.consume();
9278 self
.errorRecovery
= False
9282 if self
.backtracking
> 0:
9286 mse
= MismatchedSetException(None, self
.input)
9287 self
.recoverFromMismatchedSet(
9288 self
.input, mse
, self
.FOLLOW_set_in_asm_statement2143
9299 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm_statement2150
)
9306 except RecognitionException
as re
:
9307 self
.reportError(re
)
9308 self
.recover(self
.input, re
)
9310 if self
.backtracking
> 0:
9311 self
.memoize(self
.input, 63, asm_statement_StartIndex
)
9317 # $ANTLR end asm_statement
9320 # $ANTLR start macro_statement
9321 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9322 def macro_statement(self
, ):
9324 macro_statement_StartIndex
= self
.input.index()
9327 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 64):
9330 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9331 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9332 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_macro_statement2162
)
9335 self
.match(self
.input, 62, self
.FOLLOW_62_in_macro_statement2164
)
9338 # C.g:544:19: ( declaration )*
9341 LA89
= self
.input.LA(1)
9342 if LA89
== IDENTIFIER
:
9343 LA89
= self
.input.LA(2)
9345 LA89_45
= self
.input.LA(3)
9347 if (self
.synpred181()) :
9351 elif LA89
== IDENTIFIER
:
9352 LA89_47
= self
.input.LA(3)
9354 if (self
.synpred181()) :
9359 LA89_50
= self
.input.LA(3)
9361 if (self
.synpred181()) :
9366 LA89_68
= self
.input.LA(3)
9368 if (self
.synpred181()) :
9373 LA89_71
= self
.input.LA(3)
9375 if (self
.synpred181()) :
9380 LA89_72
= self
.input.LA(3)
9382 if (self
.synpred181()) :
9387 LA89_73
= self
.input.LA(3)
9389 if (self
.synpred181()) :
9393 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9394 LA89_74
= self
.input.LA(3)
9396 if (self
.synpred181()) :
9401 LA89_75
= self
.input.LA(3)
9403 if (self
.synpred181()) :
9408 LA89_76
= self
.input.LA(3)
9410 if (self
.synpred181()) :
9415 LA89_77
= self
.input.LA(3)
9417 if (self
.synpred181()) :
9422 LA89_78
= self
.input.LA(3)
9424 if (self
.synpred181()) :
9429 LA89_79
= self
.input.LA(3)
9431 if (self
.synpred181()) :
9436 LA89_80
= self
.input.LA(3)
9438 if (self
.synpred181()) :
9443 LA89_81
= self
.input.LA(3)
9445 if (self
.synpred181()) :
9450 LA89_82
= self
.input.LA(3)
9452 if (self
.synpred181()) :
9457 LA89_83
= self
.input.LA(3)
9459 if (self
.synpred181()) :
9463 elif LA89
== 45 or LA89
== 46:
9464 LA89_84
= self
.input.LA(3)
9466 if (self
.synpred181()) :
9471 LA89_85
= self
.input.LA(3)
9473 if (self
.synpred181()) :
9477 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:
9478 LA89_86
= self
.input.LA(3)
9480 if (self
.synpred181()) :
9486 LA89
= self
.input.LA(2)
9487 if LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9488 LA89_87
= self
.input.LA(3)
9490 if (self
.synpred181()) :
9495 LA89_88
= self
.input.LA(3)
9497 if (self
.synpred181()) :
9502 LA89_89
= self
.input.LA(3)
9504 if (self
.synpred181()) :
9509 LA89_90
= self
.input.LA(3)
9511 if (self
.synpred181()) :
9516 LA89_91
= self
.input.LA(3)
9518 if (self
.synpred181()) :
9523 LA89_92
= self
.input.LA(3)
9525 if (self
.synpred181()) :
9530 LA89_93
= self
.input.LA(3)
9532 if (self
.synpred181()) :
9537 LA89_94
= self
.input.LA(3)
9539 if (self
.synpred181()) :
9544 LA89_95
= self
.input.LA(3)
9546 if (self
.synpred181()) :
9551 LA89_96
= self
.input.LA(3)
9553 if (self
.synpred181()) :
9557 elif LA89
== 45 or LA89
== 46:
9558 LA89_97
= self
.input.LA(3)
9560 if (self
.synpred181()) :
9565 LA89_98
= self
.input.LA(3)
9567 if (self
.synpred181()) :
9571 elif LA89
== IDENTIFIER
:
9572 LA89_99
= self
.input.LA(3)
9574 if (self
.synpred181()) :
9579 LA89_100
= self
.input.LA(3)
9581 if (self
.synpred181()) :
9586 LA89_101
= self
.input.LA(3)
9588 if (self
.synpred181()) :
9593 LA89_102
= self
.input.LA(3)
9595 if (self
.synpred181()) :
9600 LA89_103
= self
.input.LA(3)
9602 if (self
.synpred181()) :
9606 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:
9607 LA89_104
= self
.input.LA(3)
9609 if (self
.synpred181()) :
9614 LA89_105
= self
.input.LA(3)
9616 if (self
.synpred181()) :
9621 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9622 LA89
= self
.input.LA(2)
9624 LA89_106
= self
.input.LA(3)
9626 if (self
.synpred181()) :
9631 LA89_107
= self
.input.LA(3)
9633 if (self
.synpred181()) :
9638 LA89_108
= self
.input.LA(3)
9640 if (self
.synpred181()) :
9645 LA89_109
= self
.input.LA(3)
9647 if (self
.synpred181()) :
9651 elif LA89
== IDENTIFIER
:
9652 LA89_110
= self
.input.LA(3)
9654 if (self
.synpred181()) :
9659 LA89_111
= self
.input.LA(3)
9661 if (self
.synpred181()) :
9666 LA89_112
= self
.input.LA(3)
9668 if (self
.synpred181()) :
9672 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9673 LA89_113
= self
.input.LA(3)
9675 if (self
.synpred181()) :
9680 LA89_114
= self
.input.LA(3)
9682 if (self
.synpred181()) :
9687 LA89_115
= self
.input.LA(3)
9689 if (self
.synpred181()) :
9694 LA89_116
= self
.input.LA(3)
9696 if (self
.synpred181()) :
9701 LA89_117
= self
.input.LA(3)
9703 if (self
.synpred181()) :
9708 LA89_118
= self
.input.LA(3)
9710 if (self
.synpred181()) :
9715 LA89_119
= self
.input.LA(3)
9717 if (self
.synpred181()) :
9722 LA89_120
= self
.input.LA(3)
9724 if (self
.synpred181()) :
9729 LA89_121
= self
.input.LA(3)
9731 if (self
.synpred181()) :
9736 LA89_122
= self
.input.LA(3)
9738 if (self
.synpred181()) :
9742 elif LA89
== 45 or LA89
== 46:
9743 LA89_123
= self
.input.LA(3)
9745 if (self
.synpred181()) :
9750 LA89_124
= self
.input.LA(3)
9752 if (self
.synpred181()) :
9756 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:
9757 LA89_125
= self
.input.LA(3)
9759 if (self
.synpred181()) :
9765 LA89
= self
.input.LA(2)
9767 LA89_126
= self
.input.LA(3)
9769 if (self
.synpred181()) :
9774 LA89_127
= self
.input.LA(3)
9776 if (self
.synpred181()) :
9781 LA89_128
= self
.input.LA(3)
9783 if (self
.synpred181()) :
9788 LA89_129
= self
.input.LA(3)
9790 if (self
.synpred181()) :
9794 elif LA89
== IDENTIFIER
:
9795 LA89_130
= self
.input.LA(3)
9797 if (self
.synpred181()) :
9802 LA89_131
= self
.input.LA(3)
9804 if (self
.synpred181()) :
9809 LA89_132
= self
.input.LA(3)
9811 if (self
.synpred181()) :
9815 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9816 LA89_133
= self
.input.LA(3)
9818 if (self
.synpred181()) :
9823 LA89_134
= self
.input.LA(3)
9825 if (self
.synpred181()) :
9830 LA89_135
= self
.input.LA(3)
9832 if (self
.synpred181()) :
9837 LA89_136
= self
.input.LA(3)
9839 if (self
.synpred181()) :
9844 LA89_137
= self
.input.LA(3)
9846 if (self
.synpred181()) :
9851 LA89_138
= self
.input.LA(3)
9853 if (self
.synpred181()) :
9858 LA89_139
= self
.input.LA(3)
9860 if (self
.synpred181()) :
9865 LA89_140
= self
.input.LA(3)
9867 if (self
.synpred181()) :
9872 LA89_141
= self
.input.LA(3)
9874 if (self
.synpred181()) :
9879 LA89_142
= self
.input.LA(3)
9881 if (self
.synpred181()) :
9885 elif LA89
== 45 or LA89
== 46:
9886 LA89_143
= self
.input.LA(3)
9888 if (self
.synpred181()) :
9893 LA89_144
= self
.input.LA(3)
9895 if (self
.synpred181()) :
9899 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:
9900 LA89_145
= self
.input.LA(3)
9902 if (self
.synpred181()) :
9908 LA89
= self
.input.LA(2)
9910 LA89_146
= self
.input.LA(3)
9912 if (self
.synpred181()) :
9917 LA89_147
= self
.input.LA(3)
9919 if (self
.synpred181()) :
9924 LA89_148
= self
.input.LA(3)
9926 if (self
.synpred181()) :
9931 LA89_149
= self
.input.LA(3)
9933 if (self
.synpred181()) :
9937 elif LA89
== IDENTIFIER
:
9938 LA89_150
= self
.input.LA(3)
9940 if (self
.synpred181()) :
9945 LA89_151
= self
.input.LA(3)
9947 if (self
.synpred181()) :
9952 LA89_152
= self
.input.LA(3)
9954 if (self
.synpred181()) :
9958 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9959 LA89_153
= self
.input.LA(3)
9961 if (self
.synpred181()) :
9966 LA89_154
= self
.input.LA(3)
9968 if (self
.synpred181()) :
9973 LA89_155
= self
.input.LA(3)
9975 if (self
.synpred181()) :
9980 LA89_156
= self
.input.LA(3)
9982 if (self
.synpred181()) :
9987 LA89_157
= self
.input.LA(3)
9989 if (self
.synpred181()) :
9994 LA89_158
= self
.input.LA(3)
9996 if (self
.synpred181()) :
10001 LA89_159
= self
.input.LA(3)
10003 if (self
.synpred181()) :
10008 LA89_160
= self
.input.LA(3)
10010 if (self
.synpred181()) :
10015 LA89_161
= self
.input.LA(3)
10017 if (self
.synpred181()) :
10022 LA89_162
= self
.input.LA(3)
10024 if (self
.synpred181()) :
10028 elif LA89
== 45 or LA89
== 46:
10029 LA89_163
= self
.input.LA(3)
10031 if (self
.synpred181()) :
10036 LA89_164
= self
.input.LA(3)
10038 if (self
.synpred181()) :
10042 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:
10043 LA89_165
= self
.input.LA(3)
10045 if (self
.synpred181()) :
10051 LA89
= self
.input.LA(2)
10053 LA89_166
= self
.input.LA(3)
10055 if (self
.synpred181()) :
10060 LA89_167
= self
.input.LA(3)
10062 if (self
.synpred181()) :
10067 LA89_168
= self
.input.LA(3)
10069 if (self
.synpred181()) :
10074 LA89_169
= self
.input.LA(3)
10076 if (self
.synpred181()) :
10080 elif LA89
== IDENTIFIER
:
10081 LA89_170
= self
.input.LA(3)
10083 if (self
.synpred181()) :
10088 LA89_171
= self
.input.LA(3)
10090 if (self
.synpred181()) :
10095 LA89_172
= self
.input.LA(3)
10097 if (self
.synpred181()) :
10101 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10102 LA89_173
= self
.input.LA(3)
10104 if (self
.synpred181()) :
10109 LA89_174
= self
.input.LA(3)
10111 if (self
.synpred181()) :
10116 LA89_175
= self
.input.LA(3)
10118 if (self
.synpred181()) :
10123 LA89_176
= self
.input.LA(3)
10125 if (self
.synpred181()) :
10130 LA89_177
= self
.input.LA(3)
10132 if (self
.synpred181()) :
10137 LA89_178
= self
.input.LA(3)
10139 if (self
.synpred181()) :
10144 LA89_179
= self
.input.LA(3)
10146 if (self
.synpred181()) :
10151 LA89_180
= self
.input.LA(3)
10153 if (self
.synpred181()) :
10158 LA89_181
= self
.input.LA(3)
10160 if (self
.synpred181()) :
10165 LA89_182
= self
.input.LA(3)
10167 if (self
.synpred181()) :
10171 elif LA89
== 45 or LA89
== 46:
10172 LA89_183
= self
.input.LA(3)
10174 if (self
.synpred181()) :
10179 LA89_184
= self
.input.LA(3)
10181 if (self
.synpred181()) :
10185 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:
10186 LA89_185
= self
.input.LA(3)
10188 if (self
.synpred181()) :
10194 LA89
= self
.input.LA(2)
10196 LA89_186
= self
.input.LA(3)
10198 if (self
.synpred181()) :
10203 LA89_187
= self
.input.LA(3)
10205 if (self
.synpred181()) :
10210 LA89_188
= self
.input.LA(3)
10212 if (self
.synpred181()) :
10217 LA89_189
= self
.input.LA(3)
10219 if (self
.synpred181()) :
10223 elif LA89
== IDENTIFIER
:
10224 LA89_190
= self
.input.LA(3)
10226 if (self
.synpred181()) :
10231 LA89_191
= self
.input.LA(3)
10233 if (self
.synpred181()) :
10238 LA89_192
= self
.input.LA(3)
10240 if (self
.synpred181()) :
10244 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10245 LA89_193
= self
.input.LA(3)
10247 if (self
.synpred181()) :
10252 LA89_194
= self
.input.LA(3)
10254 if (self
.synpred181()) :
10259 LA89_195
= self
.input.LA(3)
10261 if (self
.synpred181()) :
10266 LA89_196
= self
.input.LA(3)
10268 if (self
.synpred181()) :
10273 LA89_197
= self
.input.LA(3)
10275 if (self
.synpred181()) :
10280 LA89_198
= self
.input.LA(3)
10282 if (self
.synpred181()) :
10287 LA89_199
= self
.input.LA(3)
10289 if (self
.synpred181()) :
10294 LA89_200
= self
.input.LA(3)
10296 if (self
.synpred181()) :
10301 LA89_201
= self
.input.LA(3)
10303 if (self
.synpred181()) :
10308 LA89_202
= self
.input.LA(3)
10310 if (self
.synpred181()) :
10314 elif LA89
== 45 or LA89
== 46:
10315 LA89_203
= self
.input.LA(3)
10317 if (self
.synpred181()) :
10322 LA89_204
= self
.input.LA(3)
10324 if (self
.synpred181()) :
10328 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:
10329 LA89_205
= self
.input.LA(3)
10331 if (self
.synpred181()) :
10337 LA89
= self
.input.LA(2)
10339 LA89_206
= self
.input.LA(3)
10341 if (self
.synpred181()) :
10346 LA89_207
= self
.input.LA(3)
10348 if (self
.synpred181()) :
10353 LA89_208
= self
.input.LA(3)
10355 if (self
.synpred181()) :
10360 LA89_209
= self
.input.LA(3)
10362 if (self
.synpred181()) :
10366 elif LA89
== IDENTIFIER
:
10367 LA89_210
= self
.input.LA(3)
10369 if (self
.synpred181()) :
10374 LA89_211
= self
.input.LA(3)
10376 if (self
.synpred181()) :
10381 LA89_212
= self
.input.LA(3)
10383 if (self
.synpred181()) :
10387 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10388 LA89_213
= self
.input.LA(3)
10390 if (self
.synpred181()) :
10395 LA89_214
= self
.input.LA(3)
10397 if (self
.synpred181()) :
10402 LA89_215
= self
.input.LA(3)
10404 if (self
.synpred181()) :
10409 LA89_216
= self
.input.LA(3)
10411 if (self
.synpred181()) :
10416 LA89_217
= self
.input.LA(3)
10418 if (self
.synpred181()) :
10423 LA89_218
= self
.input.LA(3)
10425 if (self
.synpred181()) :
10430 LA89_219
= self
.input.LA(3)
10432 if (self
.synpred181()) :
10437 LA89_220
= self
.input.LA(3)
10439 if (self
.synpred181()) :
10444 LA89_221
= self
.input.LA(3)
10446 if (self
.synpred181()) :
10451 LA89_222
= self
.input.LA(3)
10453 if (self
.synpred181()) :
10457 elif LA89
== 45 or LA89
== 46:
10458 LA89_223
= self
.input.LA(3)
10460 if (self
.synpred181()) :
10465 LA89_224
= self
.input.LA(3)
10467 if (self
.synpred181()) :
10471 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:
10472 LA89_225
= self
.input.LA(3)
10474 if (self
.synpred181()) :
10480 LA89
= self
.input.LA(2)
10482 LA89_226
= self
.input.LA(3)
10484 if (self
.synpred181()) :
10489 LA89_227
= self
.input.LA(3)
10491 if (self
.synpred181()) :
10496 LA89_228
= self
.input.LA(3)
10498 if (self
.synpred181()) :
10503 LA89_229
= self
.input.LA(3)
10505 if (self
.synpred181()) :
10509 elif LA89
== IDENTIFIER
:
10510 LA89_230
= self
.input.LA(3)
10512 if (self
.synpred181()) :
10517 LA89_231
= self
.input.LA(3)
10519 if (self
.synpred181()) :
10524 LA89_232
= self
.input.LA(3)
10526 if (self
.synpred181()) :
10530 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10531 LA89_233
= self
.input.LA(3)
10533 if (self
.synpred181()) :
10538 LA89_234
= self
.input.LA(3)
10540 if (self
.synpred181()) :
10545 LA89_235
= self
.input.LA(3)
10547 if (self
.synpred181()) :
10552 LA89_236
= self
.input.LA(3)
10554 if (self
.synpred181()) :
10559 LA89_237
= self
.input.LA(3)
10561 if (self
.synpred181()) :
10566 LA89_238
= self
.input.LA(3)
10568 if (self
.synpred181()) :
10573 LA89_239
= self
.input.LA(3)
10575 if (self
.synpred181()) :
10580 LA89_240
= self
.input.LA(3)
10582 if (self
.synpred181()) :
10587 LA89_241
= self
.input.LA(3)
10589 if (self
.synpred181()) :
10594 LA89_242
= self
.input.LA(3)
10596 if (self
.synpred181()) :
10600 elif LA89
== 45 or LA89
== 46:
10601 LA89_243
= self
.input.LA(3)
10603 if (self
.synpred181()) :
10608 LA89_244
= self
.input.LA(3)
10610 if (self
.synpred181()) :
10614 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:
10615 LA89_245
= self
.input.LA(3)
10617 if (self
.synpred181()) :
10623 LA89
= self
.input.LA(2)
10625 LA89_246
= self
.input.LA(3)
10627 if (self
.synpred181()) :
10632 LA89_247
= self
.input.LA(3)
10634 if (self
.synpred181()) :
10639 LA89_248
= self
.input.LA(3)
10641 if (self
.synpred181()) :
10646 LA89_249
= self
.input.LA(3)
10648 if (self
.synpred181()) :
10652 elif LA89
== IDENTIFIER
:
10653 LA89_250
= self
.input.LA(3)
10655 if (self
.synpred181()) :
10660 LA89_251
= self
.input.LA(3)
10662 if (self
.synpred181()) :
10667 LA89_252
= self
.input.LA(3)
10669 if (self
.synpred181()) :
10673 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10674 LA89_253
= self
.input.LA(3)
10676 if (self
.synpred181()) :
10681 LA89_254
= self
.input.LA(3)
10683 if (self
.synpred181()) :
10688 LA89_255
= self
.input.LA(3)
10690 if (self
.synpred181()) :
10695 LA89_256
= self
.input.LA(3)
10697 if (self
.synpred181()) :
10702 LA89_257
= self
.input.LA(3)
10704 if (self
.synpred181()) :
10709 LA89_258
= self
.input.LA(3)
10711 if (self
.synpred181()) :
10716 LA89_259
= self
.input.LA(3)
10718 if (self
.synpred181()) :
10723 LA89_260
= self
.input.LA(3)
10725 if (self
.synpred181()) :
10730 LA89_261
= self
.input.LA(3)
10732 if (self
.synpred181()) :
10737 LA89_262
= self
.input.LA(3)
10739 if (self
.synpred181()) :
10743 elif LA89
== 45 or LA89
== 46:
10744 LA89_263
= self
.input.LA(3)
10746 if (self
.synpred181()) :
10751 LA89_264
= self
.input.LA(3)
10753 if (self
.synpred181()) :
10757 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:
10758 LA89_265
= self
.input.LA(3)
10760 if (self
.synpred181()) :
10766 LA89
= self
.input.LA(2)
10768 LA89_266
= self
.input.LA(3)
10770 if (self
.synpred181()) :
10775 LA89_267
= self
.input.LA(3)
10777 if (self
.synpred181()) :
10782 LA89_268
= self
.input.LA(3)
10784 if (self
.synpred181()) :
10789 LA89_269
= self
.input.LA(3)
10791 if (self
.synpred181()) :
10795 elif LA89
== IDENTIFIER
:
10796 LA89_270
= self
.input.LA(3)
10798 if (self
.synpred181()) :
10803 LA89_271
= self
.input.LA(3)
10805 if (self
.synpred181()) :
10810 LA89_272
= self
.input.LA(3)
10812 if (self
.synpred181()) :
10816 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10817 LA89_273
= self
.input.LA(3)
10819 if (self
.synpred181()) :
10824 LA89_274
= self
.input.LA(3)
10826 if (self
.synpred181()) :
10831 LA89_275
= self
.input.LA(3)
10833 if (self
.synpred181()) :
10838 LA89_276
= self
.input.LA(3)
10840 if (self
.synpred181()) :
10845 LA89_277
= self
.input.LA(3)
10847 if (self
.synpred181()) :
10852 LA89_278
= self
.input.LA(3)
10854 if (self
.synpred181()) :
10859 LA89_279
= self
.input.LA(3)
10861 if (self
.synpred181()) :
10866 LA89_280
= self
.input.LA(3)
10868 if (self
.synpred181()) :
10873 LA89_281
= self
.input.LA(3)
10875 if (self
.synpred181()) :
10880 LA89_282
= self
.input.LA(3)
10882 if (self
.synpred181()) :
10886 elif LA89
== 45 or LA89
== 46:
10887 LA89_283
= self
.input.LA(3)
10889 if (self
.synpred181()) :
10894 LA89_284
= self
.input.LA(3)
10896 if (self
.synpred181()) :
10900 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:
10901 LA89_285
= self
.input.LA(3)
10903 if (self
.synpred181()) :
10909 LA89
= self
.input.LA(2)
10911 LA89_286
= self
.input.LA(3)
10913 if (self
.synpred181()) :
10918 LA89_287
= self
.input.LA(3)
10920 if (self
.synpred181()) :
10925 LA89_288
= self
.input.LA(3)
10927 if (self
.synpred181()) :
10932 LA89_289
= self
.input.LA(3)
10934 if (self
.synpred181()) :
10938 elif LA89
== IDENTIFIER
:
10939 LA89_290
= self
.input.LA(3)
10941 if (self
.synpred181()) :
10946 LA89_291
= self
.input.LA(3)
10948 if (self
.synpred181()) :
10953 LA89_292
= self
.input.LA(3)
10955 if (self
.synpred181()) :
10959 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10960 LA89_293
= self
.input.LA(3)
10962 if (self
.synpred181()) :
10967 LA89_294
= self
.input.LA(3)
10969 if (self
.synpred181()) :
10974 LA89_295
= self
.input.LA(3)
10976 if (self
.synpred181()) :
10981 LA89_296
= self
.input.LA(3)
10983 if (self
.synpred181()) :
10988 LA89_297
= self
.input.LA(3)
10990 if (self
.synpred181()) :
10995 LA89_298
= self
.input.LA(3)
10997 if (self
.synpred181()) :
11002 LA89_299
= self
.input.LA(3)
11004 if (self
.synpred181()) :
11009 LA89_300
= self
.input.LA(3)
11011 if (self
.synpred181()) :
11016 LA89_301
= self
.input.LA(3)
11018 if (self
.synpred181()) :
11023 LA89_302
= self
.input.LA(3)
11025 if (self
.synpred181()) :
11029 elif LA89
== 45 or LA89
== 46:
11030 LA89_303
= self
.input.LA(3)
11032 if (self
.synpred181()) :
11037 LA89_304
= self
.input.LA(3)
11039 if (self
.synpred181()) :
11043 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:
11044 LA89_305
= self
.input.LA(3)
11046 if (self
.synpred181()) :
11051 elif LA89
== 45 or LA89
== 46:
11052 LA89_40
= self
.input.LA(2)
11054 if (LA89_40
== IDENTIFIER
) :
11055 LA89_306
= self
.input.LA(3)
11057 if (self
.synpred181()) :
11061 elif (LA89_40
== 43) :
11062 LA89_307
= self
.input.LA(3)
11064 if (self
.synpred181()) :
11071 LA89_41
= self
.input.LA(2)
11073 if (LA89_41
== 43) :
11074 LA89_308
= self
.input.LA(3)
11076 if (self
.synpred181()) :
11080 elif (LA89_41
== IDENTIFIER
) :
11081 LA89_309
= self
.input.LA(3)
11083 if (self
.synpred181()) :
11089 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:
11090 LA89
= self
.input.LA(2)
11092 LA89_310
= self
.input.LA(3)
11094 if (self
.synpred181()) :
11099 LA89_311
= self
.input.LA(3)
11101 if (self
.synpred181()) :
11106 LA89_312
= self
.input.LA(3)
11108 if (self
.synpred181()) :
11113 LA89_313
= self
.input.LA(3)
11115 if (self
.synpred181()) :
11119 elif LA89
== IDENTIFIER
:
11120 LA89_314
= self
.input.LA(3)
11122 if (self
.synpred181()) :
11127 LA89_315
= self
.input.LA(3)
11129 if (self
.synpred181()) :
11134 LA89_316
= self
.input.LA(3)
11136 if (self
.synpred181()) :
11140 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
11141 LA89_317
= self
.input.LA(3)
11143 if (self
.synpred181()) :
11148 LA89_318
= self
.input.LA(3)
11150 if (self
.synpred181()) :
11155 LA89_319
= self
.input.LA(3)
11157 if (self
.synpred181()) :
11162 LA89_320
= self
.input.LA(3)
11164 if (self
.synpred181()) :
11169 LA89_321
= self
.input.LA(3)
11171 if (self
.synpred181()) :
11176 LA89_322
= self
.input.LA(3)
11178 if (self
.synpred181()) :
11183 LA89_323
= self
.input.LA(3)
11185 if (self
.synpred181()) :
11190 LA89_324
= self
.input.LA(3)
11192 if (self
.synpred181()) :
11197 LA89_325
= self
.input.LA(3)
11199 if (self
.synpred181()) :
11204 LA89_326
= self
.input.LA(3)
11206 if (self
.synpred181()) :
11210 elif LA89
== 45 or LA89
== 46:
11211 LA89_327
= self
.input.LA(3)
11213 if (self
.synpred181()) :
11218 LA89_328
= self
.input.LA(3)
11220 if (self
.synpred181()) :
11224 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:
11225 LA89_329
= self
.input.LA(3)
11227 if (self
.synpred181()) :
11234 # C.g:0:0: declaration
11235 self
.following
.append(self
.FOLLOW_declaration_in_macro_statement2166
)
11237 self
.following
.pop()
11246 # C.g:544:33: ( statement_list )?
11248 LA90
= self
.input.LA(1)
11249 if LA90
== IDENTIFIER
:
11250 LA90
= self
.input.LA(2)
11251 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:
11254 LA90_45
= self
.input.LA(3)
11256 if (self
.synpred182()) :
11258 elif LA90
== STRING_LITERAL
:
11259 LA90_46
= self
.input.LA(3)
11261 if (self
.synpred182()) :
11263 elif LA90
== IDENTIFIER
:
11264 LA90_47
= self
.input.LA(3)
11266 if (self
.synpred182()) :
11269 LA90_48
= self
.input.LA(3)
11271 if (self
.synpred182()) :
11274 LA90_49
= self
.input.LA(3)
11276 if (self
.synpred182()) :
11279 LA90_50
= self
.input.LA(3)
11281 if (self
.synpred182()) :
11284 LA90_51
= self
.input.LA(3)
11286 if (self
.synpred182()) :
11289 LA90_52
= self
.input.LA(3)
11291 if (self
.synpred182()) :
11294 LA90_53
= self
.input.LA(3)
11296 if (self
.synpred182()) :
11299 LA90_54
= self
.input.LA(3)
11301 if (self
.synpred182()) :
11304 LA90_55
= self
.input.LA(3)
11306 if (self
.synpred182()) :
11309 LA90_56
= self
.input.LA(3)
11311 if (self
.synpred182()) :
11314 LA90_57
= self
.input.LA(3)
11316 if (self
.synpred182()) :
11318 elif LA90
== 101 or LA90
== 102:
11319 LA90_58
= self
.input.LA(3)
11321 if (self
.synpred182()) :
11323 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11324 LA90_59
= self
.input.LA(3)
11326 if (self
.synpred182()) :
11328 elif LA90
== 95 or LA90
== 96:
11329 LA90_60
= self
.input.LA(3)
11331 if (self
.synpred182()) :
11334 LA90_61
= self
.input.LA(3)
11336 if (self
.synpred182()) :
11339 LA90_62
= self
.input.LA(3)
11341 if (self
.synpred182()) :
11344 LA90_63
= self
.input.LA(3)
11346 if (self
.synpred182()) :
11349 LA90_64
= self
.input.LA(3)
11351 if (self
.synpred182()) :
11354 LA90_65
= self
.input.LA(3)
11356 if (self
.synpred182()) :
11359 LA90_66
= self
.input.LA(3)
11361 if (self
.synpred182()) :
11364 LA90_67
= self
.input.LA(3)
11366 if (self
.synpred182()) :
11368 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:
11369 LA90_70
= self
.input.LA(3)
11371 if (self
.synpred182()) :
11373 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:
11375 elif LA90
== HEX_LITERAL
:
11376 LA90
= self
.input.LA(2)
11378 LA90_87
= self
.input.LA(3)
11380 if (self
.synpred182()) :
11383 LA90_88
= self
.input.LA(3)
11385 if (self
.synpred182()) :
11388 LA90_89
= self
.input.LA(3)
11390 if (self
.synpred182()) :
11393 LA90_90
= self
.input.LA(3)
11395 if (self
.synpred182()) :
11398 LA90_91
= self
.input.LA(3)
11400 if (self
.synpred182()) :
11403 LA90_92
= self
.input.LA(3)
11405 if (self
.synpred182()) :
11408 LA90_93
= self
.input.LA(3)
11410 if (self
.synpred182()) :
11412 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:
11413 LA90_94
= self
.input.LA(3)
11415 if (self
.synpred182()) :
11418 LA90_95
= self
.input.LA(3)
11420 if (self
.synpred182()) :
11423 LA90_96
= self
.input.LA(3)
11425 if (self
.synpred182()) :
11428 LA90_97
= self
.input.LA(3)
11430 if (self
.synpred182()) :
11433 LA90_98
= self
.input.LA(3)
11435 if (self
.synpred182()) :
11437 elif LA90
== 101 or LA90
== 102:
11438 LA90_99
= self
.input.LA(3)
11440 if (self
.synpred182()) :
11442 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11443 LA90_100
= self
.input.LA(3)
11445 if (self
.synpred182()) :
11447 elif LA90
== 95 or LA90
== 96:
11448 LA90_101
= self
.input.LA(3)
11450 if (self
.synpred182()) :
11453 LA90_102
= self
.input.LA(3)
11455 if (self
.synpred182()) :
11458 LA90_103
= self
.input.LA(3)
11460 if (self
.synpred182()) :
11463 LA90_104
= self
.input.LA(3)
11465 if (self
.synpred182()) :
11468 LA90_105
= self
.input.LA(3)
11470 if (self
.synpred182()) :
11473 LA90_106
= self
.input.LA(3)
11475 if (self
.synpred182()) :
11478 LA90_107
= self
.input.LA(3)
11480 if (self
.synpred182()) :
11483 LA90_108
= self
.input.LA(3)
11485 if (self
.synpred182()) :
11489 elif LA90
== OCTAL_LITERAL
:
11490 LA90
= self
.input.LA(2)
11492 LA90_111
= self
.input.LA(3)
11494 if (self
.synpred182()) :
11497 LA90_112
= self
.input.LA(3)
11499 if (self
.synpred182()) :
11502 LA90_113
= self
.input.LA(3)
11504 if (self
.synpred182()) :
11507 LA90_114
= self
.input.LA(3)
11509 if (self
.synpred182()) :
11512 LA90_115
= self
.input.LA(3)
11514 if (self
.synpred182()) :
11517 LA90_116
= self
.input.LA(3)
11519 if (self
.synpred182()) :
11522 LA90_117
= self
.input.LA(3)
11524 if (self
.synpred182()) :
11527 LA90_118
= self
.input.LA(3)
11529 if (self
.synpred182()) :
11532 LA90_119
= self
.input.LA(3)
11534 if (self
.synpred182()) :
11537 LA90_120
= self
.input.LA(3)
11539 if (self
.synpred182()) :
11542 LA90_121
= self
.input.LA(3)
11544 if (self
.synpred182()) :
11546 elif LA90
== 101 or LA90
== 102:
11547 LA90_122
= self
.input.LA(3)
11549 if (self
.synpred182()) :
11551 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11552 LA90_123
= self
.input.LA(3)
11554 if (self
.synpred182()) :
11556 elif LA90
== 95 or LA90
== 96:
11557 LA90_124
= self
.input.LA(3)
11559 if (self
.synpred182()) :
11562 LA90_125
= self
.input.LA(3)
11564 if (self
.synpred182()) :
11567 LA90_126
= self
.input.LA(3)
11569 if (self
.synpred182()) :
11572 LA90_127
= self
.input.LA(3)
11574 if (self
.synpred182()) :
11577 LA90_128
= self
.input.LA(3)
11579 if (self
.synpred182()) :
11582 LA90_129
= self
.input.LA(3)
11584 if (self
.synpred182()) :
11587 LA90_130
= self
.input.LA(3)
11589 if (self
.synpred182()) :
11592 LA90_131
= self
.input.LA(3)
11594 if (self
.synpred182()) :
11598 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:
11599 LA90_134
= self
.input.LA(3)
11601 if (self
.synpred182()) :
11603 elif LA90
== DECIMAL_LITERAL
:
11604 LA90
= self
.input.LA(2)
11606 LA90_135
= self
.input.LA(3)
11608 if (self
.synpred182()) :
11611 LA90_136
= self
.input.LA(3)
11613 if (self
.synpred182()) :
11616 LA90_137
= self
.input.LA(3)
11618 if (self
.synpred182()) :
11621 LA90_138
= self
.input.LA(3)
11623 if (self
.synpred182()) :
11626 LA90_139
= self
.input.LA(3)
11628 if (self
.synpred182()) :
11631 LA90_140
= self
.input.LA(3)
11633 if (self
.synpred182()) :
11636 LA90_141
= self
.input.LA(3)
11638 if (self
.synpred182()) :
11640 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:
11641 LA90_142
= self
.input.LA(3)
11643 if (self
.synpred182()) :
11646 LA90_143
= self
.input.LA(3)
11648 if (self
.synpred182()) :
11651 LA90_144
= self
.input.LA(3)
11653 if (self
.synpred182()) :
11656 LA90_145
= self
.input.LA(3)
11658 if (self
.synpred182()) :
11661 LA90_146
= self
.input.LA(3)
11663 if (self
.synpred182()) :
11665 elif LA90
== 101 or LA90
== 102:
11666 LA90_147
= self
.input.LA(3)
11668 if (self
.synpred182()) :
11670 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11671 LA90_148
= self
.input.LA(3)
11673 if (self
.synpred182()) :
11675 elif LA90
== 95 or LA90
== 96:
11676 LA90_149
= self
.input.LA(3)
11678 if (self
.synpred182()) :
11681 LA90_150
= self
.input.LA(3)
11683 if (self
.synpred182()) :
11686 LA90_151
= self
.input.LA(3)
11688 if (self
.synpred182()) :
11691 LA90_152
= self
.input.LA(3)
11693 if (self
.synpred182()) :
11696 LA90_153
= self
.input.LA(3)
11698 if (self
.synpred182()) :
11701 LA90_154
= self
.input.LA(3)
11703 if (self
.synpred182()) :
11706 LA90_155
= self
.input.LA(3)
11708 if (self
.synpred182()) :
11711 LA90_156
= self
.input.LA(3)
11713 if (self
.synpred182()) :
11717 elif LA90
== CHARACTER_LITERAL
:
11718 LA90
= self
.input.LA(2)
11720 LA90_159
= self
.input.LA(3)
11722 if (self
.synpred182()) :
11725 LA90_160
= self
.input.LA(3)
11727 if (self
.synpred182()) :
11730 LA90_161
= self
.input.LA(3)
11732 if (self
.synpred182()) :
11735 LA90_162
= self
.input.LA(3)
11737 if (self
.synpred182()) :
11740 LA90_163
= self
.input.LA(3)
11742 if (self
.synpred182()) :
11745 LA90_164
= self
.input.LA(3)
11747 if (self
.synpred182()) :
11750 LA90_165
= self
.input.LA(3)
11752 if (self
.synpred182()) :
11755 LA90_166
= self
.input.LA(3)
11757 if (self
.synpred182()) :
11760 LA90_167
= self
.input.LA(3)
11762 if (self
.synpred182()) :
11765 LA90_168
= self
.input.LA(3)
11767 if (self
.synpred182()) :
11770 LA90_169
= self
.input.LA(3)
11772 if (self
.synpred182()) :
11774 elif LA90
== 101 or LA90
== 102:
11775 LA90_170
= self
.input.LA(3)
11777 if (self
.synpred182()) :
11779 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11780 LA90_171
= self
.input.LA(3)
11782 if (self
.synpred182()) :
11784 elif LA90
== 95 or LA90
== 96:
11785 LA90_172
= self
.input.LA(3)
11787 if (self
.synpred182()) :
11790 LA90_173
= self
.input.LA(3)
11792 if (self
.synpred182()) :
11795 LA90_174
= self
.input.LA(3)
11797 if (self
.synpred182()) :
11800 LA90_175
= self
.input.LA(3)
11802 if (self
.synpred182()) :
11805 LA90_176
= self
.input.LA(3)
11807 if (self
.synpred182()) :
11810 LA90_177
= self
.input.LA(3)
11812 if (self
.synpred182()) :
11815 LA90_178
= self
.input.LA(3)
11817 if (self
.synpred182()) :
11820 LA90_179
= self
.input.LA(3)
11822 if (self
.synpred182()) :
11826 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:
11827 LA90_181
= self
.input.LA(3)
11829 if (self
.synpred182()) :
11831 elif LA90
== STRING_LITERAL
:
11832 LA90
= self
.input.LA(2)
11833 if LA90
== IDENTIFIER
:
11834 LA90_183
= self
.input.LA(3)
11836 if (self
.synpred182()) :
11839 LA90_184
= self
.input.LA(3)
11841 if (self
.synpred182()) :
11844 LA90_185
= self
.input.LA(3)
11846 if (self
.synpred182()) :
11849 LA90_186
= self
.input.LA(3)
11851 if (self
.synpred182()) :
11854 LA90_187
= self
.input.LA(3)
11856 if (self
.synpred182()) :
11859 LA90_188
= self
.input.LA(3)
11861 if (self
.synpred182()) :
11864 LA90_189
= self
.input.LA(3)
11866 if (self
.synpred182()) :
11869 LA90_190
= self
.input.LA(3)
11871 if (self
.synpred182()) :
11873 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:
11874 LA90_191
= self
.input.LA(3)
11876 if (self
.synpred182()) :
11878 elif LA90
== STRING_LITERAL
:
11879 LA90_192
= self
.input.LA(3)
11881 if (self
.synpred182()) :
11884 LA90_193
= self
.input.LA(3)
11886 if (self
.synpred182()) :
11889 LA90_194
= self
.input.LA(3)
11891 if (self
.synpred182()) :
11894 LA90_195
= self
.input.LA(3)
11896 if (self
.synpred182()) :
11899 LA90_196
= self
.input.LA(3)
11901 if (self
.synpred182()) :
11903 elif LA90
== 101 or LA90
== 102:
11904 LA90_197
= self
.input.LA(3)
11906 if (self
.synpred182()) :
11908 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11909 LA90_198
= self
.input.LA(3)
11911 if (self
.synpred182()) :
11913 elif LA90
== 95 or LA90
== 96:
11914 LA90_199
= self
.input.LA(3)
11916 if (self
.synpred182()) :
11919 LA90_200
= self
.input.LA(3)
11921 if (self
.synpred182()) :
11924 LA90_201
= self
.input.LA(3)
11926 if (self
.synpred182()) :
11929 LA90_202
= self
.input.LA(3)
11931 if (self
.synpred182()) :
11934 LA90_203
= self
.input.LA(3)
11936 if (self
.synpred182()) :
11939 LA90_204
= self
.input.LA(3)
11941 if (self
.synpred182()) :
11944 LA90_205
= self
.input.LA(3)
11946 if (self
.synpred182()) :
11949 LA90_206
= self
.input.LA(3)
11951 if (self
.synpred182()) :
11955 elif LA90
== FLOATING_POINT_LITERAL
:
11956 LA90
= self
.input.LA(2)
11958 LA90_209
= self
.input.LA(3)
11960 if (self
.synpred182()) :
11963 LA90_210
= self
.input.LA(3)
11965 if (self
.synpred182()) :
11968 LA90_211
= self
.input.LA(3)
11970 if (self
.synpred182()) :
11973 LA90_212
= self
.input.LA(3)
11975 if (self
.synpred182()) :
11978 LA90_213
= self
.input.LA(3)
11980 if (self
.synpred182()) :
11983 LA90_214
= self
.input.LA(3)
11985 if (self
.synpred182()) :
11988 LA90_215
= self
.input.LA(3)
11990 if (self
.synpred182()) :
11992 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:
11993 LA90_216
= self
.input.LA(3)
11995 if (self
.synpred182()) :
11998 LA90_217
= self
.input.LA(3)
12000 if (self
.synpred182()) :
12003 LA90_218
= self
.input.LA(3)
12005 if (self
.synpred182()) :
12008 LA90_219
= self
.input.LA(3)
12010 if (self
.synpred182()) :
12013 LA90_220
= self
.input.LA(3)
12015 if (self
.synpred182()) :
12017 elif LA90
== 101 or LA90
== 102:
12018 LA90_221
= self
.input.LA(3)
12020 if (self
.synpred182()) :
12022 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
12023 LA90_222
= self
.input.LA(3)
12025 if (self
.synpred182()) :
12027 elif LA90
== 95 or LA90
== 96:
12028 LA90_223
= self
.input.LA(3)
12030 if (self
.synpred182()) :
12033 LA90_224
= self
.input.LA(3)
12035 if (self
.synpred182()) :
12038 LA90_225
= self
.input.LA(3)
12040 if (self
.synpred182()) :
12043 LA90_226
= self
.input.LA(3)
12045 if (self
.synpred182()) :
12048 LA90_227
= self
.input.LA(3)
12050 if (self
.synpred182()) :
12053 LA90_228
= self
.input.LA(3)
12055 if (self
.synpred182()) :
12058 LA90_229
= self
.input.LA(3)
12060 if (self
.synpred182()) :
12063 LA90_230
= self
.input.LA(3)
12065 if (self
.synpred182()) :
12070 LA90
= self
.input.LA(2)
12071 if LA90
== IDENTIFIER
:
12072 LA90_233
= self
.input.LA(3)
12074 if (self
.synpred182()) :
12076 elif LA90
== HEX_LITERAL
:
12077 LA90_234
= self
.input.LA(3)
12079 if (self
.synpred182()) :
12081 elif LA90
== OCTAL_LITERAL
:
12082 LA90_235
= self
.input.LA(3)
12084 if (self
.synpred182()) :
12086 elif LA90
== DECIMAL_LITERAL
:
12087 LA90_236
= self
.input.LA(3)
12089 if (self
.synpred182()) :
12091 elif LA90
== CHARACTER_LITERAL
:
12092 LA90_237
= self
.input.LA(3)
12094 if (self
.synpred182()) :
12096 elif LA90
== STRING_LITERAL
:
12097 LA90_238
= self
.input.LA(3)
12099 if (self
.synpred182()) :
12101 elif LA90
== FLOATING_POINT_LITERAL
:
12102 LA90_239
= self
.input.LA(3)
12104 if (self
.synpred182()) :
12107 LA90_240
= self
.input.LA(3)
12109 if (self
.synpred182()) :
12112 LA90_241
= self
.input.LA(3)
12114 if (self
.synpred182()) :
12117 LA90_242
= self
.input.LA(3)
12119 if (self
.synpred182()) :
12121 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12122 LA90_243
= self
.input.LA(3)
12124 if (self
.synpred182()) :
12127 LA90_244
= self
.input.LA(3)
12129 if (self
.synpred182()) :
12131 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:
12132 LA90_245
= self
.input.LA(3)
12134 if (self
.synpred182()) :
12137 LA90_246
= self
.input.LA(3)
12139 if (self
.synpred182()) :
12142 LA90_247
= self
.input.LA(3)
12144 if (self
.synpred182()) :
12147 LA90_248
= self
.input.LA(3)
12149 if (self
.synpred182()) :
12152 LA90_249
= self
.input.LA(3)
12154 if (self
.synpred182()) :
12157 LA90_250
= self
.input.LA(3)
12159 if (self
.synpred182()) :
12162 LA90_251
= self
.input.LA(3)
12164 if (self
.synpred182()) :
12167 LA90_252
= self
.input.LA(3)
12169 if (self
.synpred182()) :
12172 LA90_253
= self
.input.LA(3)
12174 if (self
.synpred182()) :
12177 LA90_254
= self
.input.LA(3)
12179 if (self
.synpred182()) :
12181 elif LA90
== 45 or LA90
== 46:
12182 LA90_255
= self
.input.LA(3)
12184 if (self
.synpred182()) :
12187 LA90_256
= self
.input.LA(3)
12189 if (self
.synpred182()) :
12192 LA90
= self
.input.LA(2)
12193 if LA90
== IDENTIFIER
:
12194 LA90_257
= self
.input.LA(3)
12196 if (self
.synpred182()) :
12198 elif LA90
== HEX_LITERAL
:
12199 LA90_258
= self
.input.LA(3)
12201 if (self
.synpred182()) :
12203 elif LA90
== OCTAL_LITERAL
:
12204 LA90_259
= self
.input.LA(3)
12206 if (self
.synpred182()) :
12208 elif LA90
== DECIMAL_LITERAL
:
12209 LA90_260
= self
.input.LA(3)
12211 if (self
.synpred182()) :
12213 elif LA90
== CHARACTER_LITERAL
:
12214 LA90_261
= self
.input.LA(3)
12216 if (self
.synpred182()) :
12218 elif LA90
== STRING_LITERAL
:
12219 LA90_262
= self
.input.LA(3)
12221 if (self
.synpred182()) :
12223 elif LA90
== FLOATING_POINT_LITERAL
:
12224 LA90_263
= self
.input.LA(3)
12226 if (self
.synpred182()) :
12229 LA90_264
= self
.input.LA(3)
12231 if (self
.synpred182()) :
12234 LA90_265
= self
.input.LA(3)
12236 if (self
.synpred182()) :
12239 LA90_266
= self
.input.LA(3)
12241 if (self
.synpred182()) :
12243 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12244 LA90_267
= self
.input.LA(3)
12246 if (self
.synpred182()) :
12249 LA90_268
= self
.input.LA(3)
12251 if (self
.synpred182()) :
12254 LA90
= self
.input.LA(2)
12255 if LA90
== IDENTIFIER
:
12256 LA90_269
= self
.input.LA(3)
12258 if (self
.synpred182()) :
12260 elif LA90
== HEX_LITERAL
:
12261 LA90_270
= self
.input.LA(3)
12263 if (self
.synpred182()) :
12265 elif LA90
== OCTAL_LITERAL
:
12266 LA90_271
= self
.input.LA(3)
12268 if (self
.synpred182()) :
12270 elif LA90
== DECIMAL_LITERAL
:
12271 LA90_272
= self
.input.LA(3)
12273 if (self
.synpred182()) :
12275 elif LA90
== CHARACTER_LITERAL
:
12276 LA90_273
= self
.input.LA(3)
12278 if (self
.synpred182()) :
12280 elif LA90
== STRING_LITERAL
:
12281 LA90_274
= self
.input.LA(3)
12283 if (self
.synpred182()) :
12285 elif LA90
== FLOATING_POINT_LITERAL
:
12286 LA90_275
= self
.input.LA(3)
12288 if (self
.synpred182()) :
12291 LA90_276
= self
.input.LA(3)
12293 if (self
.synpred182()) :
12296 LA90_277
= self
.input.LA(3)
12298 if (self
.synpred182()) :
12301 LA90_278
= self
.input.LA(3)
12303 if (self
.synpred182()) :
12305 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12306 LA90_279
= self
.input.LA(3)
12308 if (self
.synpred182()) :
12311 LA90_280
= self
.input.LA(3)
12313 if (self
.synpred182()) :
12315 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12316 LA90
= self
.input.LA(2)
12318 LA90_281
= self
.input.LA(3)
12320 if (self
.synpred182()) :
12322 elif LA90
== IDENTIFIER
:
12323 LA90_282
= self
.input.LA(3)
12325 if (self
.synpred182()) :
12327 elif LA90
== HEX_LITERAL
:
12328 LA90_283
= self
.input.LA(3)
12330 if (self
.synpred182()) :
12332 elif LA90
== OCTAL_LITERAL
:
12333 LA90_284
= self
.input.LA(3)
12335 if (self
.synpred182()) :
12337 elif LA90
== DECIMAL_LITERAL
:
12338 LA90_285
= self
.input.LA(3)
12340 if (self
.synpred182()) :
12342 elif LA90
== CHARACTER_LITERAL
:
12343 LA90_286
= self
.input.LA(3)
12345 if (self
.synpred182()) :
12347 elif LA90
== STRING_LITERAL
:
12348 LA90_287
= self
.input.LA(3)
12350 if (self
.synpred182()) :
12352 elif LA90
== FLOATING_POINT_LITERAL
:
12353 LA90_288
= self
.input.LA(3)
12355 if (self
.synpred182()) :
12358 LA90_289
= self
.input.LA(3)
12360 if (self
.synpred182()) :
12363 LA90_290
= self
.input.LA(3)
12365 if (self
.synpred182()) :
12367 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12368 LA90_291
= self
.input.LA(3)
12370 if (self
.synpred182()) :
12373 LA90_292
= self
.input.LA(3)
12375 if (self
.synpred182()) :
12378 LA90
= self
.input.LA(2)
12380 LA90_293
= self
.input.LA(3)
12382 if (self
.synpred182()) :
12384 elif LA90
== IDENTIFIER
:
12385 LA90_294
= self
.input.LA(3)
12387 if (self
.synpred182()) :
12389 elif LA90
== HEX_LITERAL
:
12390 LA90_295
= self
.input.LA(3)
12392 if (self
.synpred182()) :
12394 elif LA90
== OCTAL_LITERAL
:
12395 LA90_296
= self
.input.LA(3)
12397 if (self
.synpred182()) :
12399 elif LA90
== DECIMAL_LITERAL
:
12400 LA90_297
= self
.input.LA(3)
12402 if (self
.synpred182()) :
12404 elif LA90
== CHARACTER_LITERAL
:
12405 LA90_298
= self
.input.LA(3)
12407 if (self
.synpred182()) :
12409 elif LA90
== STRING_LITERAL
:
12410 LA90_299
= self
.input.LA(3)
12412 if (self
.synpred182()) :
12414 elif LA90
== FLOATING_POINT_LITERAL
:
12415 LA90_300
= self
.input.LA(3)
12417 if (self
.synpred182()) :
12420 LA90_301
= self
.input.LA(3)
12422 if (self
.synpred182()) :
12425 LA90_302
= self
.input.LA(3)
12427 if (self
.synpred182()) :
12429 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12430 LA90_303
= self
.input.LA(3)
12432 if (self
.synpred182()) :
12435 LA90_304
= self
.input.LA(3)
12437 if (self
.synpred182()) :
12440 # C.g:0:0: statement_list
12441 self
.following
.append(self
.FOLLOW_statement_list_in_macro_statement2170
)
12442 self
.statement_list()
12443 self
.following
.pop()
12449 # C.g:544:49: ( expression )?
12451 LA91_0
= self
.input.LA(1)
12453 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)) :
12456 # C.g:0:0: expression
12457 self
.following
.append(self
.FOLLOW_expression_in_macro_statement2173
)
12459 self
.following
.pop()
12465 self
.match(self
.input, 63, self
.FOLLOW_63_in_macro_statement2176
)
12472 except RecognitionException
as re
:
12473 self
.reportError(re
)
12474 self
.recover(self
.input, re
)
12476 if self
.backtracking
> 0:
12477 self
.memoize(self
.input, 64, macro_statement_StartIndex
)
12483 # $ANTLR end macro_statement
12486 # $ANTLR start labeled_statement
12487 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12488 def labeled_statement(self
, ):
12490 labeled_statement_StartIndex
= self
.input.index()
12493 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 65):
12496 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12498 LA92
= self
.input.LA(1)
12499 if LA92
== IDENTIFIER
:
12506 if self
.backtracking
> 0:
12510 nvae
= NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self
.input)
12515 # C.g:548:4: IDENTIFIER ':' statement
12516 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_labeled_statement2188
)
12519 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2190
)
12522 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2192
)
12524 self
.following
.pop()
12530 # C.g:549:4: 'case' constant_expression ':' statement
12531 self
.match(self
.input, 106, self
.FOLLOW_106_in_labeled_statement2197
)
12534 self
.following
.append(self
.FOLLOW_constant_expression_in_labeled_statement2199
)
12535 self
.constant_expression()
12536 self
.following
.pop()
12539 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2201
)
12542 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2203
)
12544 self
.following
.pop()
12550 # C.g:550:4: 'default' ':' statement
12551 self
.match(self
.input, 107, self
.FOLLOW_107_in_labeled_statement2208
)
12554 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2210
)
12557 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2212
)
12559 self
.following
.pop()
12565 except RecognitionException
as re
:
12566 self
.reportError(re
)
12567 self
.recover(self
.input, re
)
12569 if self
.backtracking
> 0:
12570 self
.memoize(self
.input, 65, labeled_statement_StartIndex
)
12576 # $ANTLR end labeled_statement
12578 class compound_statement_return(object):
12579 def __init__(self
):
12585 # $ANTLR start compound_statement
12586 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12587 def compound_statement(self
, ):
12589 retval
= self
.compound_statement_return()
12590 retval
.start
= self
.input.LT(1)
12591 compound_statement_StartIndex
= self
.input.index()
12594 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 66):
12597 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12598 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12599 self
.match(self
.input, 43, self
.FOLLOW_43_in_compound_statement2223
)
12602 # C.g:554:8: ( declaration )*
12603 while True: #loop93
12605 LA93
= self
.input.LA(1)
12606 if LA93
== IDENTIFIER
:
12607 LA93
= self
.input.LA(2)
12609 LA93_44
= self
.input.LA(3)
12611 if (self
.synpred186()) :
12615 elif LA93
== IDENTIFIER
:
12616 LA93_47
= self
.input.LA(3)
12618 if (self
.synpred186()) :
12623 LA93_48
= self
.input.LA(3)
12625 if (self
.synpred186()) :
12630 LA93_49
= self
.input.LA(3)
12632 if (self
.synpred186()) :
12637 LA93_50
= self
.input.LA(3)
12639 if (self
.synpred186()) :
12644 LA93_51
= self
.input.LA(3)
12646 if (self
.synpred186()) :
12651 LA93_52
= self
.input.LA(3)
12653 if (self
.synpred186()) :
12657 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12658 LA93_53
= self
.input.LA(3)
12660 if (self
.synpred186()) :
12665 LA93_54
= self
.input.LA(3)
12667 if (self
.synpred186()) :
12672 LA93_55
= self
.input.LA(3)
12674 if (self
.synpred186()) :
12679 LA93_56
= self
.input.LA(3)
12681 if (self
.synpred186()) :
12686 LA93_57
= self
.input.LA(3)
12688 if (self
.synpred186()) :
12693 LA93_58
= self
.input.LA(3)
12695 if (self
.synpred186()) :
12700 LA93_59
= self
.input.LA(3)
12702 if (self
.synpred186()) :
12707 LA93_60
= self
.input.LA(3)
12709 if (self
.synpred186()) :
12714 LA93_61
= self
.input.LA(3)
12716 if (self
.synpred186()) :
12721 LA93_62
= self
.input.LA(3)
12723 if (self
.synpred186()) :
12727 elif LA93
== 45 or LA93
== 46:
12728 LA93_63
= self
.input.LA(3)
12730 if (self
.synpred186()) :
12735 LA93_64
= self
.input.LA(3)
12737 if (self
.synpred186()) :
12741 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:
12742 LA93_65
= self
.input.LA(3)
12744 if (self
.synpred186()) :
12750 LA93
= self
.input.LA(2)
12751 if LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12752 LA93_86
= self
.input.LA(3)
12754 if (self
.synpred186()) :
12759 LA93_87
= self
.input.LA(3)
12761 if (self
.synpred186()) :
12766 LA93_88
= self
.input.LA(3)
12768 if (self
.synpred186()) :
12773 LA93_89
= self
.input.LA(3)
12775 if (self
.synpred186()) :
12780 LA93_90
= self
.input.LA(3)
12782 if (self
.synpred186()) :
12787 LA93_91
= self
.input.LA(3)
12789 if (self
.synpred186()) :
12794 LA93_92
= self
.input.LA(3)
12796 if (self
.synpred186()) :
12801 LA93_93
= self
.input.LA(3)
12803 if (self
.synpred186()) :
12808 LA93_94
= self
.input.LA(3)
12810 if (self
.synpred186()) :
12815 LA93_95
= self
.input.LA(3)
12817 if (self
.synpred186()) :
12821 elif LA93
== 45 or LA93
== 46:
12822 LA93_96
= self
.input.LA(3)
12824 if (self
.synpred186()) :
12829 LA93_97
= self
.input.LA(3)
12831 if (self
.synpred186()) :
12835 elif LA93
== IDENTIFIER
:
12836 LA93_98
= self
.input.LA(3)
12838 if (self
.synpred186()) :
12843 LA93_99
= self
.input.LA(3)
12845 if (self
.synpred186()) :
12850 LA93_100
= self
.input.LA(3)
12852 if (self
.synpred186()) :
12857 LA93_101
= self
.input.LA(3)
12859 if (self
.synpred186()) :
12864 LA93_102
= self
.input.LA(3)
12866 if (self
.synpred186()) :
12870 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:
12871 LA93_103
= self
.input.LA(3)
12873 if (self
.synpred186()) :
12878 LA93_104
= self
.input.LA(3)
12880 if (self
.synpred186()) :
12885 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12886 LA93
= self
.input.LA(2)
12888 LA93_105
= self
.input.LA(3)
12890 if (self
.synpred186()) :
12895 LA93_106
= self
.input.LA(3)
12897 if (self
.synpred186()) :
12902 LA93_107
= self
.input.LA(3)
12904 if (self
.synpred186()) :
12909 LA93_108
= self
.input.LA(3)
12911 if (self
.synpred186()) :
12915 elif LA93
== IDENTIFIER
:
12916 LA93_109
= self
.input.LA(3)
12918 if (self
.synpred186()) :
12923 LA93_110
= self
.input.LA(3)
12925 if (self
.synpred186()) :
12930 LA93_111
= self
.input.LA(3)
12932 if (self
.synpred186()) :
12936 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12937 LA93_112
= self
.input.LA(3)
12939 if (self
.synpred186()) :
12944 LA93_113
= self
.input.LA(3)
12946 if (self
.synpred186()) :
12951 LA93_114
= self
.input.LA(3)
12953 if (self
.synpred186()) :
12958 LA93_115
= self
.input.LA(3)
12960 if (self
.synpred186()) :
12965 LA93_116
= self
.input.LA(3)
12967 if (self
.synpred186()) :
12972 LA93_117
= self
.input.LA(3)
12974 if (self
.synpred186()) :
12979 LA93_118
= self
.input.LA(3)
12981 if (self
.synpred186()) :
12986 LA93_119
= self
.input.LA(3)
12988 if (self
.synpred186()) :
12993 LA93_120
= self
.input.LA(3)
12995 if (self
.synpred186()) :
13000 LA93_121
= self
.input.LA(3)
13002 if (self
.synpred186()) :
13006 elif LA93
== 45 or LA93
== 46:
13007 LA93_122
= self
.input.LA(3)
13009 if (self
.synpred186()) :
13014 LA93_123
= self
.input.LA(3)
13016 if (self
.synpred186()) :
13020 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:
13021 LA93_124
= self
.input.LA(3)
13023 if (self
.synpred186()) :
13029 LA93
= self
.input.LA(2)
13031 LA93_125
= self
.input.LA(3)
13033 if (self
.synpred186()) :
13038 LA93_126
= self
.input.LA(3)
13040 if (self
.synpred186()) :
13045 LA93_127
= self
.input.LA(3)
13047 if (self
.synpred186()) :
13052 LA93_128
= self
.input.LA(3)
13054 if (self
.synpred186()) :
13058 elif LA93
== IDENTIFIER
:
13059 LA93_129
= self
.input.LA(3)
13061 if (self
.synpred186()) :
13066 LA93_130
= self
.input.LA(3)
13068 if (self
.synpred186()) :
13073 LA93_131
= self
.input.LA(3)
13075 if (self
.synpred186()) :
13079 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13080 LA93_132
= self
.input.LA(3)
13082 if (self
.synpred186()) :
13087 LA93_133
= self
.input.LA(3)
13089 if (self
.synpred186()) :
13094 LA93_134
= self
.input.LA(3)
13096 if (self
.synpred186()) :
13101 LA93_135
= self
.input.LA(3)
13103 if (self
.synpred186()) :
13108 LA93_136
= self
.input.LA(3)
13110 if (self
.synpred186()) :
13115 LA93_137
= self
.input.LA(3)
13117 if (self
.synpred186()) :
13122 LA93_138
= self
.input.LA(3)
13124 if (self
.synpred186()) :
13129 LA93_139
= self
.input.LA(3)
13131 if (self
.synpred186()) :
13136 LA93_140
= self
.input.LA(3)
13138 if (self
.synpred186()) :
13143 LA93_141
= self
.input.LA(3)
13145 if (self
.synpred186()) :
13149 elif LA93
== 45 or LA93
== 46:
13150 LA93_142
= self
.input.LA(3)
13152 if (self
.synpred186()) :
13157 LA93_143
= self
.input.LA(3)
13159 if (self
.synpred186()) :
13163 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:
13164 LA93_144
= self
.input.LA(3)
13166 if (self
.synpred186()) :
13172 LA93
= self
.input.LA(2)
13174 LA93_145
= self
.input.LA(3)
13176 if (self
.synpred186()) :
13181 LA93_146
= self
.input.LA(3)
13183 if (self
.synpred186()) :
13188 LA93_147
= self
.input.LA(3)
13190 if (self
.synpred186()) :
13195 LA93_148
= self
.input.LA(3)
13197 if (self
.synpred186()) :
13201 elif LA93
== IDENTIFIER
:
13202 LA93_149
= self
.input.LA(3)
13204 if (self
.synpred186()) :
13209 LA93_150
= self
.input.LA(3)
13211 if (self
.synpred186()) :
13216 LA93_151
= self
.input.LA(3)
13218 if (self
.synpred186()) :
13222 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13223 LA93_152
= self
.input.LA(3)
13225 if (self
.synpred186()) :
13230 LA93_153
= self
.input.LA(3)
13232 if (self
.synpred186()) :
13237 LA93_154
= self
.input.LA(3)
13239 if (self
.synpred186()) :
13244 LA93_155
= self
.input.LA(3)
13246 if (self
.synpred186()) :
13251 LA93_156
= self
.input.LA(3)
13253 if (self
.synpred186()) :
13258 LA93_157
= self
.input.LA(3)
13260 if (self
.synpred186()) :
13265 LA93_158
= self
.input.LA(3)
13267 if (self
.synpred186()) :
13272 LA93_159
= self
.input.LA(3)
13274 if (self
.synpred186()) :
13279 LA93_160
= self
.input.LA(3)
13281 if (self
.synpred186()) :
13286 LA93_161
= self
.input.LA(3)
13288 if (self
.synpred186()) :
13292 elif LA93
== 45 or LA93
== 46:
13293 LA93_162
= self
.input.LA(3)
13295 if (self
.synpred186()) :
13300 LA93_163
= self
.input.LA(3)
13302 if (self
.synpred186()) :
13306 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:
13307 LA93_164
= self
.input.LA(3)
13309 if (self
.synpred186()) :
13315 LA93
= self
.input.LA(2)
13317 LA93_165
= self
.input.LA(3)
13319 if (self
.synpred186()) :
13324 LA93_166
= self
.input.LA(3)
13326 if (self
.synpred186()) :
13331 LA93_167
= self
.input.LA(3)
13333 if (self
.synpred186()) :
13338 LA93_168
= self
.input.LA(3)
13340 if (self
.synpred186()) :
13344 elif LA93
== IDENTIFIER
:
13345 LA93_169
= self
.input.LA(3)
13347 if (self
.synpred186()) :
13352 LA93_170
= self
.input.LA(3)
13354 if (self
.synpred186()) :
13359 LA93_171
= self
.input.LA(3)
13361 if (self
.synpred186()) :
13365 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13366 LA93_172
= self
.input.LA(3)
13368 if (self
.synpred186()) :
13373 LA93_173
= self
.input.LA(3)
13375 if (self
.synpred186()) :
13380 LA93_174
= self
.input.LA(3)
13382 if (self
.synpred186()) :
13387 LA93_175
= self
.input.LA(3)
13389 if (self
.synpred186()) :
13394 LA93_176
= self
.input.LA(3)
13396 if (self
.synpred186()) :
13401 LA93_177
= self
.input.LA(3)
13403 if (self
.synpred186()) :
13408 LA93_178
= self
.input.LA(3)
13410 if (self
.synpred186()) :
13415 LA93_179
= self
.input.LA(3)
13417 if (self
.synpred186()) :
13422 LA93_180
= self
.input.LA(3)
13424 if (self
.synpred186()) :
13429 LA93_181
= self
.input.LA(3)
13431 if (self
.synpred186()) :
13435 elif LA93
== 45 or LA93
== 46:
13436 LA93_182
= self
.input.LA(3)
13438 if (self
.synpred186()) :
13443 LA93_183
= self
.input.LA(3)
13445 if (self
.synpred186()) :
13449 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:
13450 LA93_184
= self
.input.LA(3)
13452 if (self
.synpred186()) :
13458 LA93
= self
.input.LA(2)
13460 LA93_185
= self
.input.LA(3)
13462 if (self
.synpred186()) :
13467 LA93_186
= self
.input.LA(3)
13469 if (self
.synpred186()) :
13474 LA93_187
= self
.input.LA(3)
13476 if (self
.synpred186()) :
13481 LA93_188
= self
.input.LA(3)
13483 if (self
.synpred186()) :
13487 elif LA93
== IDENTIFIER
:
13488 LA93_189
= self
.input.LA(3)
13490 if (self
.synpred186()) :
13495 LA93_190
= self
.input.LA(3)
13497 if (self
.synpred186()) :
13502 LA93_191
= self
.input.LA(3)
13504 if (self
.synpred186()) :
13508 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13509 LA93_192
= self
.input.LA(3)
13511 if (self
.synpred186()) :
13516 LA93_193
= self
.input.LA(3)
13518 if (self
.synpred186()) :
13523 LA93_194
= self
.input.LA(3)
13525 if (self
.synpred186()) :
13530 LA93_195
= self
.input.LA(3)
13532 if (self
.synpred186()) :
13537 LA93_196
= self
.input.LA(3)
13539 if (self
.synpred186()) :
13544 LA93_197
= self
.input.LA(3)
13546 if (self
.synpred186()) :
13551 LA93_198
= self
.input.LA(3)
13553 if (self
.synpred186()) :
13558 LA93_199
= self
.input.LA(3)
13560 if (self
.synpred186()) :
13565 LA93_200
= self
.input.LA(3)
13567 if (self
.synpred186()) :
13572 LA93_201
= self
.input.LA(3)
13574 if (self
.synpred186()) :
13578 elif LA93
== 45 or LA93
== 46:
13579 LA93_202
= self
.input.LA(3)
13581 if (self
.synpred186()) :
13586 LA93_203
= self
.input.LA(3)
13588 if (self
.synpred186()) :
13592 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:
13593 LA93_204
= self
.input.LA(3)
13595 if (self
.synpred186()) :
13601 LA93
= self
.input.LA(2)
13603 LA93_205
= self
.input.LA(3)
13605 if (self
.synpred186()) :
13610 LA93_206
= self
.input.LA(3)
13612 if (self
.synpred186()) :
13617 LA93_207
= self
.input.LA(3)
13619 if (self
.synpred186()) :
13624 LA93_208
= self
.input.LA(3)
13626 if (self
.synpred186()) :
13630 elif LA93
== IDENTIFIER
:
13631 LA93_209
= self
.input.LA(3)
13633 if (self
.synpred186()) :
13638 LA93_210
= self
.input.LA(3)
13640 if (self
.synpred186()) :
13645 LA93_211
= self
.input.LA(3)
13647 if (self
.synpred186()) :
13651 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13652 LA93_212
= self
.input.LA(3)
13654 if (self
.synpred186()) :
13659 LA93_213
= self
.input.LA(3)
13661 if (self
.synpred186()) :
13666 LA93_214
= self
.input.LA(3)
13668 if (self
.synpred186()) :
13673 LA93_215
= self
.input.LA(3)
13675 if (self
.synpred186()) :
13680 LA93_216
= self
.input.LA(3)
13682 if (self
.synpred186()) :
13687 LA93_217
= self
.input.LA(3)
13689 if (self
.synpred186()) :
13694 LA93_218
= self
.input.LA(3)
13696 if (self
.synpred186()) :
13701 LA93_219
= self
.input.LA(3)
13703 if (self
.synpred186()) :
13708 LA93_220
= self
.input.LA(3)
13710 if (self
.synpred186()) :
13715 LA93_221
= self
.input.LA(3)
13717 if (self
.synpred186()) :
13721 elif LA93
== 45 or LA93
== 46:
13722 LA93_222
= self
.input.LA(3)
13724 if (self
.synpred186()) :
13729 LA93_223
= self
.input.LA(3)
13731 if (self
.synpred186()) :
13735 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:
13736 LA93_224
= self
.input.LA(3)
13738 if (self
.synpred186()) :
13744 LA93
= self
.input.LA(2)
13746 LA93_225
= self
.input.LA(3)
13748 if (self
.synpred186()) :
13753 LA93_226
= self
.input.LA(3)
13755 if (self
.synpred186()) :
13760 LA93_227
= self
.input.LA(3)
13762 if (self
.synpred186()) :
13767 LA93_228
= self
.input.LA(3)
13769 if (self
.synpred186()) :
13773 elif LA93
== IDENTIFIER
:
13774 LA93_229
= self
.input.LA(3)
13776 if (self
.synpred186()) :
13781 LA93_230
= self
.input.LA(3)
13783 if (self
.synpred186()) :
13788 LA93_231
= self
.input.LA(3)
13790 if (self
.synpred186()) :
13794 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13795 LA93_232
= self
.input.LA(3)
13797 if (self
.synpred186()) :
13802 LA93_233
= self
.input.LA(3)
13804 if (self
.synpred186()) :
13809 LA93_234
= self
.input.LA(3)
13811 if (self
.synpred186()) :
13816 LA93_235
= self
.input.LA(3)
13818 if (self
.synpred186()) :
13823 LA93_236
= self
.input.LA(3)
13825 if (self
.synpred186()) :
13830 LA93_237
= self
.input.LA(3)
13832 if (self
.synpred186()) :
13837 LA93_238
= self
.input.LA(3)
13839 if (self
.synpred186()) :
13844 LA93_239
= self
.input.LA(3)
13846 if (self
.synpred186()) :
13851 LA93_240
= self
.input.LA(3)
13853 if (self
.synpred186()) :
13858 LA93_241
= self
.input.LA(3)
13860 if (self
.synpred186()) :
13864 elif LA93
== 45 or LA93
== 46:
13865 LA93_242
= self
.input.LA(3)
13867 if (self
.synpred186()) :
13872 LA93_243
= self
.input.LA(3)
13874 if (self
.synpred186()) :
13878 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:
13879 LA93_244
= self
.input.LA(3)
13881 if (self
.synpred186()) :
13887 LA93
= self
.input.LA(2)
13889 LA93_245
= self
.input.LA(3)
13891 if (self
.synpred186()) :
13896 LA93_246
= self
.input.LA(3)
13898 if (self
.synpred186()) :
13903 LA93_247
= self
.input.LA(3)
13905 if (self
.synpred186()) :
13910 LA93_248
= self
.input.LA(3)
13912 if (self
.synpred186()) :
13916 elif LA93
== IDENTIFIER
:
13917 LA93_249
= self
.input.LA(3)
13919 if (self
.synpred186()) :
13924 LA93_250
= self
.input.LA(3)
13926 if (self
.synpred186()) :
13931 LA93_251
= self
.input.LA(3)
13933 if (self
.synpred186()) :
13937 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13938 LA93_252
= self
.input.LA(3)
13940 if (self
.synpred186()) :
13945 LA93_253
= self
.input.LA(3)
13947 if (self
.synpred186()) :
13952 LA93_254
= self
.input.LA(3)
13954 if (self
.synpred186()) :
13959 LA93_255
= self
.input.LA(3)
13961 if (self
.synpred186()) :
13966 LA93_256
= self
.input.LA(3)
13968 if (self
.synpred186()) :
13973 LA93_257
= self
.input.LA(3)
13975 if (self
.synpred186()) :
13980 LA93_258
= self
.input.LA(3)
13982 if (self
.synpred186()) :
13987 LA93_259
= self
.input.LA(3)
13989 if (self
.synpred186()) :
13994 LA93_260
= self
.input.LA(3)
13996 if (self
.synpred186()) :
14001 LA93_261
= self
.input.LA(3)
14003 if (self
.synpred186()) :
14007 elif LA93
== 45 or LA93
== 46:
14008 LA93_262
= self
.input.LA(3)
14010 if (self
.synpred186()) :
14015 LA93_263
= self
.input.LA(3)
14017 if (self
.synpred186()) :
14021 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:
14022 LA93_264
= self
.input.LA(3)
14024 if (self
.synpred186()) :
14030 LA93
= self
.input.LA(2)
14032 LA93_265
= self
.input.LA(3)
14034 if (self
.synpred186()) :
14039 LA93_266
= self
.input.LA(3)
14041 if (self
.synpred186()) :
14046 LA93_267
= self
.input.LA(3)
14048 if (self
.synpred186()) :
14053 LA93_268
= self
.input.LA(3)
14055 if (self
.synpred186()) :
14059 elif LA93
== IDENTIFIER
:
14060 LA93_269
= self
.input.LA(3)
14062 if (self
.synpred186()) :
14067 LA93_270
= self
.input.LA(3)
14069 if (self
.synpred186()) :
14074 LA93_271
= self
.input.LA(3)
14076 if (self
.synpred186()) :
14080 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14081 LA93_272
= self
.input.LA(3)
14083 if (self
.synpred186()) :
14088 LA93_273
= self
.input.LA(3)
14090 if (self
.synpred186()) :
14095 LA93_274
= self
.input.LA(3)
14097 if (self
.synpred186()) :
14102 LA93_275
= self
.input.LA(3)
14104 if (self
.synpred186()) :
14109 LA93_276
= self
.input.LA(3)
14111 if (self
.synpred186()) :
14116 LA93_277
= self
.input.LA(3)
14118 if (self
.synpred186()) :
14123 LA93_278
= self
.input.LA(3)
14125 if (self
.synpred186()) :
14130 LA93_279
= self
.input.LA(3)
14132 if (self
.synpred186()) :
14137 LA93_280
= self
.input.LA(3)
14139 if (self
.synpred186()) :
14144 LA93_281
= self
.input.LA(3)
14146 if (self
.synpred186()) :
14150 elif LA93
== 45 or LA93
== 46:
14151 LA93_282
= self
.input.LA(3)
14153 if (self
.synpred186()) :
14158 LA93_283
= self
.input.LA(3)
14160 if (self
.synpred186()) :
14164 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:
14165 LA93_284
= self
.input.LA(3)
14167 if (self
.synpred186()) :
14173 LA93
= self
.input.LA(2)
14175 LA93_285
= self
.input.LA(3)
14177 if (self
.synpred186()) :
14182 LA93_286
= self
.input.LA(3)
14184 if (self
.synpred186()) :
14189 LA93_287
= self
.input.LA(3)
14191 if (self
.synpred186()) :
14196 LA93_288
= self
.input.LA(3)
14198 if (self
.synpred186()) :
14202 elif LA93
== IDENTIFIER
:
14203 LA93_289
= self
.input.LA(3)
14205 if (self
.synpred186()) :
14210 LA93_290
= self
.input.LA(3)
14212 if (self
.synpred186()) :
14217 LA93_291
= self
.input.LA(3)
14219 if (self
.synpred186()) :
14223 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14224 LA93_292
= self
.input.LA(3)
14226 if (self
.synpred186()) :
14231 LA93_293
= self
.input.LA(3)
14233 if (self
.synpred186()) :
14238 LA93_294
= self
.input.LA(3)
14240 if (self
.synpred186()) :
14245 LA93_295
= self
.input.LA(3)
14247 if (self
.synpred186()) :
14252 LA93_296
= self
.input.LA(3)
14254 if (self
.synpred186()) :
14259 LA93_297
= self
.input.LA(3)
14261 if (self
.synpred186()) :
14266 LA93_298
= self
.input.LA(3)
14268 if (self
.synpred186()) :
14273 LA93_299
= self
.input.LA(3)
14275 if (self
.synpred186()) :
14280 LA93_300
= self
.input.LA(3)
14282 if (self
.synpred186()) :
14287 LA93_301
= self
.input.LA(3)
14289 if (self
.synpred186()) :
14293 elif LA93
== 45 or LA93
== 46:
14294 LA93_302
= self
.input.LA(3)
14296 if (self
.synpred186()) :
14301 LA93_303
= self
.input.LA(3)
14303 if (self
.synpred186()) :
14307 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:
14308 LA93_304
= self
.input.LA(3)
14310 if (self
.synpred186()) :
14315 elif LA93
== 45 or LA93
== 46:
14316 LA93_40
= self
.input.LA(2)
14318 if (LA93_40
== IDENTIFIER
) :
14319 LA93_305
= self
.input.LA(3)
14321 if (self
.synpred186()) :
14325 elif (LA93_40
== 43) :
14326 LA93_306
= self
.input.LA(3)
14328 if (self
.synpred186()) :
14335 LA93_41
= self
.input.LA(2)
14337 if (LA93_41
== 43) :
14338 LA93_307
= self
.input.LA(3)
14340 if (self
.synpred186()) :
14344 elif (LA93_41
== IDENTIFIER
) :
14345 LA93_308
= self
.input.LA(3)
14347 if (self
.synpred186()) :
14353 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:
14354 LA93
= self
.input.LA(2)
14356 LA93_309
= self
.input.LA(3)
14358 if (self
.synpred186()) :
14363 LA93_310
= self
.input.LA(3)
14365 if (self
.synpred186()) :
14370 LA93_311
= self
.input.LA(3)
14372 if (self
.synpred186()) :
14377 LA93_312
= self
.input.LA(3)
14379 if (self
.synpred186()) :
14383 elif LA93
== IDENTIFIER
:
14384 LA93_313
= self
.input.LA(3)
14386 if (self
.synpred186()) :
14391 LA93_314
= self
.input.LA(3)
14393 if (self
.synpred186()) :
14398 LA93_315
= self
.input.LA(3)
14400 if (self
.synpred186()) :
14404 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14405 LA93_316
= self
.input.LA(3)
14407 if (self
.synpred186()) :
14412 LA93_317
= self
.input.LA(3)
14414 if (self
.synpred186()) :
14419 LA93_318
= self
.input.LA(3)
14421 if (self
.synpred186()) :
14426 LA93_319
= self
.input.LA(3)
14428 if (self
.synpred186()) :
14433 LA93_320
= self
.input.LA(3)
14435 if (self
.synpred186()) :
14440 LA93_321
= self
.input.LA(3)
14442 if (self
.synpred186()) :
14447 LA93_322
= self
.input.LA(3)
14449 if (self
.synpred186()) :
14454 LA93_323
= self
.input.LA(3)
14456 if (self
.synpred186()) :
14461 LA93_324
= self
.input.LA(3)
14463 if (self
.synpred186()) :
14468 LA93_325
= self
.input.LA(3)
14470 if (self
.synpred186()) :
14474 elif LA93
== 45 or LA93
== 46:
14475 LA93_326
= self
.input.LA(3)
14477 if (self
.synpred186()) :
14482 LA93_327
= self
.input.LA(3)
14484 if (self
.synpred186()) :
14488 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:
14489 LA93_328
= self
.input.LA(3)
14491 if (self
.synpred186()) :
14498 # C.g:0:0: declaration
14499 self
.following
.append(self
.FOLLOW_declaration_in_compound_statement2225
)
14501 self
.following
.pop()
14510 # C.g:554:21: ( statement_list )?
14512 LA94_0
= self
.input.LA(1)
14514 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)) :
14517 # C.g:0:0: statement_list
14518 self
.following
.append(self
.FOLLOW_statement_list_in_compound_statement2228
)
14519 self
.statement_list()
14520 self
.following
.pop()
14526 self
.match(self
.input, 44, self
.FOLLOW_44_in_compound_statement2231
)
14532 retval
.stop
= self
.input.LT(-1)
14535 except RecognitionException
as re
:
14536 self
.reportError(re
)
14537 self
.recover(self
.input, re
)
14539 if self
.backtracking
> 0:
14540 self
.memoize(self
.input, 66, compound_statement_StartIndex
)
14546 # $ANTLR end compound_statement
14549 # $ANTLR start statement_list
14550 # C.g:557:1: statement_list : ( statement )+ ;
14551 def statement_list(self
, ):
14553 statement_list_StartIndex
= self
.input.index()
14556 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 67):
14559 # C.g:558:2: ( ( statement )+ )
14560 # C.g:558:4: ( statement )+
14561 # C.g:558:4: ( statement )+
14563 while True: #loop95
14565 LA95
= self
.input.LA(1)
14566 if LA95
== IDENTIFIER
:
14567 LA95
= self
.input.LA(2)
14569 LA95_46
= self
.input.LA(3)
14571 if (self
.synpred188()) :
14575 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:
14577 elif LA95
== STRING_LITERAL
:
14578 LA95_48
= self
.input.LA(3)
14580 if (self
.synpred188()) :
14584 elif LA95
== IDENTIFIER
:
14585 LA95_49
= self
.input.LA(3)
14587 if (self
.synpred188()) :
14592 LA95_50
= self
.input.LA(3)
14594 if (self
.synpred188()) :
14599 LA95_51
= self
.input.LA(3)
14601 if (self
.synpred188()) :
14606 LA95_52
= self
.input.LA(3)
14608 if (self
.synpred188()) :
14613 LA95_53
= self
.input.LA(3)
14615 if (self
.synpred188()) :
14620 LA95_54
= self
.input.LA(3)
14622 if (self
.synpred188()) :
14627 LA95_55
= self
.input.LA(3)
14629 if (self
.synpred188()) :
14634 LA95_56
= self
.input.LA(3)
14636 if (self
.synpred188()) :
14641 LA95_57
= self
.input.LA(3)
14643 if (self
.synpred188()) :
14648 LA95_58
= self
.input.LA(3)
14650 if (self
.synpred188()) :
14655 LA95_59
= self
.input.LA(3)
14657 if (self
.synpred188()) :
14661 elif LA95
== 101 or LA95
== 102:
14662 LA95_60
= self
.input.LA(3)
14664 if (self
.synpred188()) :
14668 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14669 LA95_61
= self
.input.LA(3)
14671 if (self
.synpred188()) :
14675 elif LA95
== 95 or LA95
== 96:
14676 LA95_62
= self
.input.LA(3)
14678 if (self
.synpred188()) :
14683 LA95_63
= self
.input.LA(3)
14685 if (self
.synpred188()) :
14690 LA95_64
= self
.input.LA(3)
14692 if (self
.synpred188()) :
14697 LA95_65
= self
.input.LA(3)
14699 if (self
.synpred188()) :
14704 LA95_66
= self
.input.LA(3)
14706 if (self
.synpred188()) :
14711 LA95_67
= self
.input.LA(3)
14713 if (self
.synpred188()) :
14718 LA95_68
= self
.input.LA(3)
14720 if (self
.synpred188()) :
14725 LA95_69
= self
.input.LA(3)
14727 if (self
.synpred188()) :
14731 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:
14732 LA95_88
= self
.input.LA(3)
14734 if (self
.synpred188()) :
14739 elif LA95
== HEX_LITERAL
:
14740 LA95
= self
.input.LA(2)
14742 LA95_89
= self
.input.LA(3)
14744 if (self
.synpred188()) :
14749 LA95_90
= self
.input.LA(3)
14751 if (self
.synpred188()) :
14756 LA95_91
= self
.input.LA(3)
14758 if (self
.synpred188()) :
14763 LA95_92
= self
.input.LA(3)
14765 if (self
.synpred188()) :
14770 LA95_93
= self
.input.LA(3)
14772 if (self
.synpred188()) :
14777 LA95_94
= self
.input.LA(3)
14779 if (self
.synpred188()) :
14784 LA95_95
= self
.input.LA(3)
14786 if (self
.synpred188()) :
14790 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:
14791 LA95_96
= self
.input.LA(3)
14793 if (self
.synpred188()) :
14798 LA95_97
= self
.input.LA(3)
14800 if (self
.synpred188()) :
14805 LA95_98
= self
.input.LA(3)
14807 if (self
.synpred188()) :
14812 LA95_99
= self
.input.LA(3)
14814 if (self
.synpred188()) :
14819 LA95_100
= self
.input.LA(3)
14821 if (self
.synpred188()) :
14825 elif LA95
== 101 or LA95
== 102:
14826 LA95_101
= self
.input.LA(3)
14828 if (self
.synpred188()) :
14832 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14833 LA95_102
= self
.input.LA(3)
14835 if (self
.synpred188()) :
14839 elif LA95
== 95 or LA95
== 96:
14840 LA95_103
= self
.input.LA(3)
14842 if (self
.synpred188()) :
14847 LA95_104
= self
.input.LA(3)
14849 if (self
.synpred188()) :
14854 LA95_105
= self
.input.LA(3)
14856 if (self
.synpred188()) :
14861 LA95_106
= self
.input.LA(3)
14863 if (self
.synpred188()) :
14868 LA95_107
= self
.input.LA(3)
14870 if (self
.synpred188()) :
14875 LA95_108
= self
.input.LA(3)
14877 if (self
.synpred188()) :
14882 LA95_109
= self
.input.LA(3)
14884 if (self
.synpred188()) :
14889 LA95_110
= self
.input.LA(3)
14891 if (self
.synpred188()) :
14898 elif LA95
== OCTAL_LITERAL
:
14899 LA95
= self
.input.LA(2)
14901 LA95_113
= self
.input.LA(3)
14903 if (self
.synpred188()) :
14908 LA95_114
= self
.input.LA(3)
14910 if (self
.synpred188()) :
14915 LA95_115
= self
.input.LA(3)
14917 if (self
.synpred188()) :
14922 LA95_116
= self
.input.LA(3)
14924 if (self
.synpred188()) :
14929 LA95_117
= self
.input.LA(3)
14931 if (self
.synpred188()) :
14936 LA95_118
= self
.input.LA(3)
14938 if (self
.synpred188()) :
14943 LA95_119
= self
.input.LA(3)
14945 if (self
.synpred188()) :
14950 LA95_120
= self
.input.LA(3)
14952 if (self
.synpred188()) :
14957 LA95_121
= self
.input.LA(3)
14959 if (self
.synpred188()) :
14964 LA95_122
= self
.input.LA(3)
14966 if (self
.synpred188()) :
14971 LA95_123
= self
.input.LA(3)
14973 if (self
.synpred188()) :
14977 elif LA95
== 101 or LA95
== 102:
14978 LA95_124
= self
.input.LA(3)
14980 if (self
.synpred188()) :
14984 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14985 LA95_125
= self
.input.LA(3)
14987 if (self
.synpred188()) :
14991 elif LA95
== 95 or LA95
== 96:
14992 LA95_126
= self
.input.LA(3)
14994 if (self
.synpred188()) :
14999 LA95_127
= self
.input.LA(3)
15001 if (self
.synpred188()) :
15006 LA95_128
= self
.input.LA(3)
15008 if (self
.synpred188()) :
15013 LA95_129
= self
.input.LA(3)
15015 if (self
.synpred188()) :
15020 LA95_130
= self
.input.LA(3)
15022 if (self
.synpred188()) :
15027 LA95_131
= self
.input.LA(3)
15029 if (self
.synpred188()) :
15034 LA95_132
= self
.input.LA(3)
15036 if (self
.synpred188()) :
15041 LA95_133
= self
.input.LA(3)
15043 if (self
.synpred188()) :
15047 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:
15048 LA95_135
= self
.input.LA(3)
15050 if (self
.synpred188()) :
15057 elif LA95
== DECIMAL_LITERAL
:
15058 LA95
= self
.input.LA(2)
15060 LA95_137
= self
.input.LA(3)
15062 if (self
.synpred188()) :
15067 LA95_138
= self
.input.LA(3)
15069 if (self
.synpred188()) :
15074 LA95_139
= self
.input.LA(3)
15076 if (self
.synpred188()) :
15081 LA95_140
= self
.input.LA(3)
15083 if (self
.synpred188()) :
15088 LA95_141
= self
.input.LA(3)
15090 if (self
.synpred188()) :
15095 LA95_142
= self
.input.LA(3)
15097 if (self
.synpred188()) :
15102 LA95_143
= self
.input.LA(3)
15104 if (self
.synpred188()) :
15108 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:
15109 LA95_144
= self
.input.LA(3)
15111 if (self
.synpred188()) :
15116 LA95_145
= self
.input.LA(3)
15118 if (self
.synpred188()) :
15123 LA95_146
= self
.input.LA(3)
15125 if (self
.synpred188()) :
15130 LA95_147
= self
.input.LA(3)
15132 if (self
.synpred188()) :
15137 LA95_148
= self
.input.LA(3)
15139 if (self
.synpred188()) :
15143 elif LA95
== 101 or LA95
== 102:
15144 LA95_149
= self
.input.LA(3)
15146 if (self
.synpred188()) :
15150 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15151 LA95_150
= self
.input.LA(3)
15153 if (self
.synpred188()) :
15157 elif LA95
== 95 or LA95
== 96:
15158 LA95_151
= self
.input.LA(3)
15160 if (self
.synpred188()) :
15165 LA95_152
= self
.input.LA(3)
15167 if (self
.synpred188()) :
15172 LA95_153
= self
.input.LA(3)
15174 if (self
.synpred188()) :
15179 LA95_154
= self
.input.LA(3)
15181 if (self
.synpred188()) :
15186 LA95_155
= self
.input.LA(3)
15188 if (self
.synpred188()) :
15193 LA95_156
= self
.input.LA(3)
15195 if (self
.synpred188()) :
15200 LA95_157
= self
.input.LA(3)
15202 if (self
.synpred188()) :
15207 LA95_158
= self
.input.LA(3)
15209 if (self
.synpred188()) :
15216 elif LA95
== CHARACTER_LITERAL
:
15217 LA95
= self
.input.LA(2)
15219 LA95_161
= self
.input.LA(3)
15221 if (self
.synpred188()) :
15226 LA95_162
= self
.input.LA(3)
15228 if (self
.synpred188()) :
15233 LA95_163
= self
.input.LA(3)
15235 if (self
.synpred188()) :
15240 LA95_164
= self
.input.LA(3)
15242 if (self
.synpred188()) :
15247 LA95_165
= self
.input.LA(3)
15249 if (self
.synpred188()) :
15254 LA95_166
= self
.input.LA(3)
15256 if (self
.synpred188()) :
15261 LA95_167
= self
.input.LA(3)
15263 if (self
.synpred188()) :
15267 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:
15268 LA95_168
= self
.input.LA(3)
15270 if (self
.synpred188()) :
15275 LA95_169
= self
.input.LA(3)
15277 if (self
.synpred188()) :
15282 LA95_170
= self
.input.LA(3)
15284 if (self
.synpred188()) :
15289 LA95_171
= self
.input.LA(3)
15291 if (self
.synpred188()) :
15296 LA95_172
= self
.input.LA(3)
15298 if (self
.synpred188()) :
15302 elif LA95
== 101 or LA95
== 102:
15303 LA95_173
= self
.input.LA(3)
15305 if (self
.synpred188()) :
15309 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15310 LA95_174
= self
.input.LA(3)
15312 if (self
.synpred188()) :
15316 elif LA95
== 95 or LA95
== 96:
15317 LA95_175
= self
.input.LA(3)
15319 if (self
.synpred188()) :
15324 LA95_176
= self
.input.LA(3)
15326 if (self
.synpred188()) :
15331 LA95_177
= self
.input.LA(3)
15333 if (self
.synpred188()) :
15338 LA95_178
= self
.input.LA(3)
15340 if (self
.synpred188()) :
15345 LA95_179
= self
.input.LA(3)
15347 if (self
.synpred188()) :
15352 LA95_180
= self
.input.LA(3)
15354 if (self
.synpred188()) :
15359 LA95_181
= self
.input.LA(3)
15361 if (self
.synpred188()) :
15366 LA95_182
= self
.input.LA(3)
15368 if (self
.synpred188()) :
15375 elif LA95
== STRING_LITERAL
:
15376 LA95
= self
.input.LA(2)
15377 if LA95
== IDENTIFIER
:
15378 LA95_185
= self
.input.LA(3)
15380 if (self
.synpred188()) :
15385 LA95_186
= self
.input.LA(3)
15387 if (self
.synpred188()) :
15392 LA95_187
= self
.input.LA(3)
15394 if (self
.synpred188()) :
15399 LA95_188
= self
.input.LA(3)
15401 if (self
.synpred188()) :
15406 LA95_189
= self
.input.LA(3)
15408 if (self
.synpred188()) :
15413 LA95_190
= self
.input.LA(3)
15415 if (self
.synpred188()) :
15420 LA95_191
= self
.input.LA(3)
15422 if (self
.synpred188()) :
15427 LA95_192
= self
.input.LA(3)
15429 if (self
.synpred188()) :
15434 LA95_193
= self
.input.LA(3)
15436 if (self
.synpred188()) :
15441 LA95_194
= self
.input.LA(3)
15443 if (self
.synpred188()) :
15448 LA95_195
= self
.input.LA(3)
15450 if (self
.synpred188()) :
15455 LA95_196
= self
.input.LA(3)
15457 if (self
.synpred188()) :
15461 elif LA95
== 101 or LA95
== 102:
15462 LA95_197
= self
.input.LA(3)
15464 if (self
.synpred188()) :
15468 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15469 LA95_198
= self
.input.LA(3)
15471 if (self
.synpred188()) :
15475 elif LA95
== 95 or LA95
== 96:
15476 LA95_199
= self
.input.LA(3)
15478 if (self
.synpred188()) :
15483 LA95_200
= self
.input.LA(3)
15485 if (self
.synpred188()) :
15490 LA95_201
= self
.input.LA(3)
15492 if (self
.synpred188()) :
15497 LA95_202
= self
.input.LA(3)
15499 if (self
.synpred188()) :
15504 LA95_203
= self
.input.LA(3)
15506 if (self
.synpred188()) :
15511 LA95_204
= self
.input.LA(3)
15513 if (self
.synpred188()) :
15518 LA95_205
= self
.input.LA(3)
15520 if (self
.synpred188()) :
15525 LA95_206
= self
.input.LA(3)
15527 if (self
.synpred188()) :
15533 elif LA95
== STRING_LITERAL
:
15534 LA95_208
= self
.input.LA(3)
15536 if (self
.synpred188()) :
15540 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:
15541 LA95_209
= self
.input.LA(3)
15543 if (self
.synpred188()) :
15548 elif LA95
== FLOATING_POINT_LITERAL
:
15549 LA95
= self
.input.LA(2)
15551 LA95_211
= self
.input.LA(3)
15553 if (self
.synpred188()) :
15558 LA95_212
= self
.input.LA(3)
15560 if (self
.synpred188()) :
15565 LA95_213
= self
.input.LA(3)
15567 if (self
.synpred188()) :
15572 LA95_214
= self
.input.LA(3)
15574 if (self
.synpred188()) :
15579 LA95_215
= self
.input.LA(3)
15581 if (self
.synpred188()) :
15586 LA95_216
= self
.input.LA(3)
15588 if (self
.synpred188()) :
15593 LA95_217
= self
.input.LA(3)
15595 if (self
.synpred188()) :
15600 LA95_218
= self
.input.LA(3)
15602 if (self
.synpred188()) :
15607 LA95_219
= self
.input.LA(3)
15609 if (self
.synpred188()) :
15614 LA95_220
= self
.input.LA(3)
15616 if (self
.synpred188()) :
15621 LA95_221
= self
.input.LA(3)
15623 if (self
.synpred188()) :
15627 elif LA95
== 101 or LA95
== 102:
15628 LA95_222
= self
.input.LA(3)
15630 if (self
.synpred188()) :
15634 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15635 LA95_223
= self
.input.LA(3)
15637 if (self
.synpred188()) :
15641 elif LA95
== 95 or LA95
== 96:
15642 LA95_224
= self
.input.LA(3)
15644 if (self
.synpred188()) :
15649 LA95_225
= self
.input.LA(3)
15651 if (self
.synpred188()) :
15656 LA95_226
= self
.input.LA(3)
15658 if (self
.synpred188()) :
15663 LA95_227
= self
.input.LA(3)
15665 if (self
.synpred188()) :
15670 LA95_228
= self
.input.LA(3)
15672 if (self
.synpred188()) :
15677 LA95_229
= self
.input.LA(3)
15679 if (self
.synpred188()) :
15684 LA95_230
= self
.input.LA(3)
15686 if (self
.synpred188()) :
15691 LA95_231
= self
.input.LA(3)
15693 if (self
.synpred188()) :
15699 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:
15700 LA95_234
= self
.input.LA(3)
15702 if (self
.synpred188()) :
15708 LA95
= self
.input.LA(2)
15709 if LA95
== IDENTIFIER
:
15710 LA95_235
= self
.input.LA(3)
15712 if (self
.synpred188()) :
15716 elif LA95
== HEX_LITERAL
:
15717 LA95_236
= self
.input.LA(3)
15719 if (self
.synpred188()) :
15723 elif LA95
== OCTAL_LITERAL
:
15724 LA95_237
= self
.input.LA(3)
15726 if (self
.synpred188()) :
15730 elif LA95
== DECIMAL_LITERAL
:
15731 LA95_238
= self
.input.LA(3)
15733 if (self
.synpred188()) :
15737 elif LA95
== CHARACTER_LITERAL
:
15738 LA95_239
= self
.input.LA(3)
15740 if (self
.synpred188()) :
15744 elif LA95
== STRING_LITERAL
:
15745 LA95_240
= self
.input.LA(3)
15747 if (self
.synpred188()) :
15751 elif LA95
== FLOATING_POINT_LITERAL
:
15752 LA95_241
= self
.input.LA(3)
15754 if (self
.synpred188()) :
15759 LA95_242
= self
.input.LA(3)
15761 if (self
.synpred188()) :
15766 LA95_243
= self
.input.LA(3)
15768 if (self
.synpred188()) :
15773 LA95_244
= self
.input.LA(3)
15775 if (self
.synpred188()) :
15779 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
15780 LA95_245
= self
.input.LA(3)
15782 if (self
.synpred188()) :
15787 LA95_246
= self
.input.LA(3)
15789 if (self
.synpred188()) :
15793 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:
15794 LA95_247
= self
.input.LA(3)
15796 if (self
.synpred188()) :
15801 LA95_248
= self
.input.LA(3)
15803 if (self
.synpred188()) :
15808 LA95_249
= self
.input.LA(3)
15810 if (self
.synpred188()) :
15815 LA95_250
= self
.input.LA(3)
15817 if (self
.synpred188()) :
15822 LA95_251
= self
.input.LA(3)
15824 if (self
.synpred188()) :
15829 LA95_252
= self
.input.LA(3)
15831 if (self
.synpred188()) :
15836 LA95_253
= self
.input.LA(3)
15838 if (self
.synpred188()) :
15843 LA95_254
= self
.input.LA(3)
15845 if (self
.synpred188()) :
15850 LA95_255
= self
.input.LA(3)
15852 if (self
.synpred188()) :
15857 LA95_256
= self
.input.LA(3)
15859 if (self
.synpred188()) :
15863 elif LA95
== 45 or LA95
== 46:
15864 LA95_257
= self
.input.LA(3)
15866 if (self
.synpred188()) :
15871 LA95_258
= self
.input.LA(3)
15873 if (self
.synpred188()) :
15879 LA95
= self
.input.LA(2)
15880 if LA95
== IDENTIFIER
:
15881 LA95_259
= self
.input.LA(3)
15883 if (self
.synpred188()) :
15887 elif LA95
== HEX_LITERAL
:
15888 LA95_260
= self
.input.LA(3)
15890 if (self
.synpred188()) :
15894 elif LA95
== OCTAL_LITERAL
:
15895 LA95_261
= self
.input.LA(3)
15897 if (self
.synpred188()) :
15901 elif LA95
== DECIMAL_LITERAL
:
15902 LA95_262
= self
.input.LA(3)
15904 if (self
.synpred188()) :
15908 elif LA95
== CHARACTER_LITERAL
:
15909 LA95_263
= self
.input.LA(3)
15911 if (self
.synpred188()) :
15915 elif LA95
== STRING_LITERAL
:
15916 LA95_264
= self
.input.LA(3)
15918 if (self
.synpred188()) :
15922 elif LA95
== FLOATING_POINT_LITERAL
:
15923 LA95_265
= self
.input.LA(3)
15925 if (self
.synpred188()) :
15930 LA95_266
= self
.input.LA(3)
15932 if (self
.synpred188()) :
15937 LA95_267
= self
.input.LA(3)
15939 if (self
.synpred188()) :
15944 LA95_268
= self
.input.LA(3)
15946 if (self
.synpred188()) :
15950 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
15951 LA95_269
= self
.input.LA(3)
15953 if (self
.synpred188()) :
15958 LA95_270
= self
.input.LA(3)
15960 if (self
.synpred188()) :
15966 LA95
= self
.input.LA(2)
15967 if LA95
== IDENTIFIER
:
15968 LA95_271
= self
.input.LA(3)
15970 if (self
.synpred188()) :
15974 elif LA95
== HEX_LITERAL
:
15975 LA95_272
= self
.input.LA(3)
15977 if (self
.synpred188()) :
15981 elif LA95
== OCTAL_LITERAL
:
15982 LA95_273
= self
.input.LA(3)
15984 if (self
.synpred188()) :
15988 elif LA95
== DECIMAL_LITERAL
:
15989 LA95_274
= self
.input.LA(3)
15991 if (self
.synpred188()) :
15995 elif LA95
== CHARACTER_LITERAL
:
15996 LA95_275
= self
.input.LA(3)
15998 if (self
.synpred188()) :
16002 elif LA95
== STRING_LITERAL
:
16003 LA95_276
= self
.input.LA(3)
16005 if (self
.synpred188()) :
16009 elif LA95
== FLOATING_POINT_LITERAL
:
16010 LA95_277
= self
.input.LA(3)
16012 if (self
.synpred188()) :
16017 LA95_278
= self
.input.LA(3)
16019 if (self
.synpred188()) :
16024 LA95_279
= self
.input.LA(3)
16026 if (self
.synpred188()) :
16031 LA95_280
= self
.input.LA(3)
16033 if (self
.synpred188()) :
16037 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16038 LA95_281
= self
.input.LA(3)
16040 if (self
.synpred188()) :
16045 LA95_282
= self
.input.LA(3)
16047 if (self
.synpred188()) :
16052 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16053 LA95
= self
.input.LA(2)
16055 LA95_283
= self
.input.LA(3)
16057 if (self
.synpred188()) :
16061 elif LA95
== IDENTIFIER
:
16062 LA95_284
= self
.input.LA(3)
16064 if (self
.synpred188()) :
16068 elif LA95
== HEX_LITERAL
:
16069 LA95_285
= self
.input.LA(3)
16071 if (self
.synpred188()) :
16075 elif LA95
== OCTAL_LITERAL
:
16076 LA95_286
= self
.input.LA(3)
16078 if (self
.synpred188()) :
16082 elif LA95
== DECIMAL_LITERAL
:
16083 LA95_287
= self
.input.LA(3)
16085 if (self
.synpred188()) :
16089 elif LA95
== CHARACTER_LITERAL
:
16090 LA95_288
= self
.input.LA(3)
16092 if (self
.synpred188()) :
16096 elif LA95
== STRING_LITERAL
:
16097 LA95_289
= self
.input.LA(3)
16099 if (self
.synpred188()) :
16103 elif LA95
== FLOATING_POINT_LITERAL
:
16104 LA95_290
= self
.input.LA(3)
16106 if (self
.synpred188()) :
16111 LA95_291
= self
.input.LA(3)
16113 if (self
.synpred188()) :
16118 LA95_292
= self
.input.LA(3)
16120 if (self
.synpred188()) :
16124 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16125 LA95_293
= self
.input.LA(3)
16127 if (self
.synpred188()) :
16132 LA95_294
= self
.input.LA(3)
16134 if (self
.synpred188()) :
16140 LA95
= self
.input.LA(2)
16142 LA95_295
= self
.input.LA(3)
16144 if (self
.synpred188()) :
16148 elif LA95
== IDENTIFIER
:
16149 LA95_296
= self
.input.LA(3)
16151 if (self
.synpred188()) :
16155 elif LA95
== HEX_LITERAL
:
16156 LA95_297
= self
.input.LA(3)
16158 if (self
.synpred188()) :
16162 elif LA95
== OCTAL_LITERAL
:
16163 LA95_298
= self
.input.LA(3)
16165 if (self
.synpred188()) :
16169 elif LA95
== DECIMAL_LITERAL
:
16170 LA95_299
= self
.input.LA(3)
16172 if (self
.synpred188()) :
16176 elif LA95
== CHARACTER_LITERAL
:
16177 LA95_300
= self
.input.LA(3)
16179 if (self
.synpred188()) :
16183 elif LA95
== STRING_LITERAL
:
16184 LA95_301
= self
.input.LA(3)
16186 if (self
.synpred188()) :
16190 elif LA95
== FLOATING_POINT_LITERAL
:
16191 LA95_302
= self
.input.LA(3)
16193 if (self
.synpred188()) :
16198 LA95_303
= self
.input.LA(3)
16200 if (self
.synpred188()) :
16205 LA95_304
= self
.input.LA(3)
16207 if (self
.synpred188()) :
16211 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16212 LA95_305
= self
.input.LA(3)
16214 if (self
.synpred188()) :
16219 LA95_306
= self
.input.LA(3)
16221 if (self
.synpred188()) :
16226 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:
16230 # C.g:0:0: statement
16231 self
.following
.append(self
.FOLLOW_statement_in_statement_list2242
)
16233 self
.following
.pop()
16242 if self
.backtracking
> 0:
16246 eee
= EarlyExitException(95, self
.input)
16256 except RecognitionException
as re
:
16257 self
.reportError(re
)
16258 self
.recover(self
.input, re
)
16260 if self
.backtracking
> 0:
16261 self
.memoize(self
.input, 67, statement_list_StartIndex
)
16267 # $ANTLR end statement_list
16269 class expression_statement_return(object):
16270 def __init__(self
):
16276 # $ANTLR start expression_statement
16277 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16278 def expression_statement(self
, ):
16280 retval
= self
.expression_statement_return()
16281 retval
.start
= self
.input.LT(1)
16282 expression_statement_StartIndex
= self
.input.index()
16285 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 68):
16288 # C.g:562:2: ( ';' | expression ';' )
16290 LA96_0
= self
.input.LA(1)
16292 if (LA96_0
== 25) :
16294 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)) :
16297 if self
.backtracking
> 0:
16301 nvae
= NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self
.input)
16307 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2254
)
16313 # C.g:563:4: expression ';'
16314 self
.following
.append(self
.FOLLOW_expression_in_expression_statement2259
)
16316 self
.following
.pop()
16319 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2261
)
16324 retval
.stop
= self
.input.LT(-1)
16327 except RecognitionException
as re
:
16328 self
.reportError(re
)
16329 self
.recover(self
.input, re
)
16331 if self
.backtracking
> 0:
16332 self
.memoize(self
.input, 68, expression_statement_StartIndex
)
16338 # $ANTLR end expression_statement
16341 # $ANTLR start selection_statement
16342 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16343 def selection_statement(self
, ):
16345 selection_statement_StartIndex
= self
.input.index()
16351 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 69):
16354 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16356 LA98_0
= self
.input.LA(1)
16358 if (LA98_0
== 108) :
16360 elif (LA98_0
== 110) :
16363 if self
.backtracking
> 0:
16367 nvae
= NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self
.input)
16372 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16373 self
.match(self
.input, 108, self
.FOLLOW_108_in_selection_statement2272
)
16376 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2274
)
16379 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2278
)
16380 e
= self
.expression()
16381 self
.following
.pop()
16384 self
.match(self
.input, 63, self
.FOLLOW_63_in_selection_statement2280
)
16387 if self
.backtracking
== 0:
16388 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16390 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2284
)
16392 self
.following
.pop()
16395 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16397 LA97_0
= self
.input.LA(1)
16399 if (LA97_0
== 109) :
16402 # C.g:567:200: 'else' statement
16403 self
.match(self
.input, 109, self
.FOLLOW_109_in_selection_statement2299
)
16406 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2301
)
16408 self
.following
.pop()
16417 # C.g:568:4: 'switch' '(' expression ')' statement
16418 self
.match(self
.input, 110, self
.FOLLOW_110_in_selection_statement2308
)
16421 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2310
)
16424 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2312
)
16426 self
.following
.pop()
16429 self
.match(self
.input, 63, self
.FOLLOW_63_in_selection_statement2314
)
16432 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2316
)
16434 self
.following
.pop()
16440 except RecognitionException
as re
:
16441 self
.reportError(re
)
16442 self
.recover(self
.input, re
)
16444 if self
.backtracking
> 0:
16445 self
.memoize(self
.input, 69, selection_statement_StartIndex
)
16451 # $ANTLR end selection_statement
16454 # $ANTLR start iteration_statement
16455 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16456 def iteration_statement(self
, ):
16458 iteration_statement_StartIndex
= self
.input.index()
16464 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 70):
16467 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16469 LA100
= self
.input.LA(1)
16477 if self
.backtracking
> 0:
16481 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)
16486 # C.g:572:4: 'while' '(' e= expression ')' statement
16487 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2327
)
16490 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2329
)
16493 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2333
)
16494 e
= self
.expression()
16495 self
.following
.pop()
16498 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2335
)
16501 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2337
)
16503 self
.following
.pop()
16506 if self
.backtracking
== 0:
16507 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16512 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16513 self
.match(self
.input, 112, self
.FOLLOW_112_in_iteration_statement2344
)
16516 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2346
)
16518 self
.following
.pop()
16521 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2348
)
16524 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2350
)
16527 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2354
)
16528 e
= self
.expression()
16529 self
.following
.pop()
16532 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2356
)
16535 self
.match(self
.input, 25, self
.FOLLOW_25_in_iteration_statement2358
)
16538 if self
.backtracking
== 0:
16539 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16544 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16545 self
.match(self
.input, 113, self
.FOLLOW_113_in_iteration_statement2365
)
16548 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2367
)
16551 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2369
)
16552 self
.expression_statement()
16553 self
.following
.pop()
16556 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2373
)
16557 e
= self
.expression_statement()
16558 self
.following
.pop()
16561 # C.g:574:58: ( expression )?
16563 LA99_0
= self
.input.LA(1)
16565 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)) :
16568 # C.g:0:0: expression
16569 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2375
)
16571 self
.following
.pop()
16577 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2378
)
16580 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2380
)
16582 self
.following
.pop()
16585 if self
.backtracking
== 0:
16586 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16591 except RecognitionException
as re
:
16592 self
.reportError(re
)
16593 self
.recover(self
.input, re
)
16595 if self
.backtracking
> 0:
16596 self
.memoize(self
.input, 70, iteration_statement_StartIndex
)
16602 # $ANTLR end iteration_statement
16605 # $ANTLR start jump_statement
16606 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16607 def jump_statement(self
, ):
16609 jump_statement_StartIndex
= self
.input.index()
16612 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 71):
16615 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16617 LA101
= self
.input.LA(1)
16625 LA101_4
= self
.input.LA(2)
16627 if (LA101_4
== 25) :
16629 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)) :
16632 if self
.backtracking
> 0:
16636 nvae
= NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self
.input)
16641 if self
.backtracking
> 0:
16645 nvae
= NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self
.input)
16650 # C.g:578:4: 'goto' IDENTIFIER ';'
16651 self
.match(self
.input, 114, self
.FOLLOW_114_in_jump_statement2393
)
16654 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_jump_statement2395
)
16657 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2397
)
16663 # C.g:579:4: 'continue' ';'
16664 self
.match(self
.input, 115, self
.FOLLOW_115_in_jump_statement2402
)
16667 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2404
)
16673 # C.g:580:4: 'break' ';'
16674 self
.match(self
.input, 116, self
.FOLLOW_116_in_jump_statement2409
)
16677 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2411
)
16683 # C.g:581:4: 'return' ';'
16684 self
.match(self
.input, 117, self
.FOLLOW_117_in_jump_statement2416
)
16687 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2418
)
16693 # C.g:582:4: 'return' expression ';'
16694 self
.match(self
.input, 117, self
.FOLLOW_117_in_jump_statement2423
)
16697 self
.following
.append(self
.FOLLOW_expression_in_jump_statement2425
)
16699 self
.following
.pop()
16702 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2427
)
16708 except RecognitionException
as re
:
16709 self
.reportError(re
)
16710 self
.recover(self
.input, re
)
16712 if self
.backtracking
> 0:
16713 self
.memoize(self
.input, 71, jump_statement_StartIndex
)
16719 # $ANTLR end jump_statement
16721 # $ANTLR start synpred2
16722 def synpred2_fragment(self
, ):
16723 # C.g:119:6: ( declaration_specifiers )
16724 # C.g:119:6: declaration_specifiers
16725 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred2100
)
16726 self
.declaration_specifiers()
16727 self
.following
.pop()
16732 # $ANTLR end synpred2
16736 # $ANTLR start synpred4
16737 def synpred4_fragment(self
, ):
16738 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16739 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16740 # C.g:119:6: ( declaration_specifiers )?
16742 LA102
= self
.input.LA(1)
16743 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:
16745 elif LA102
== IDENTIFIER
:
16746 LA102
= self
.input.LA(2)
16748 LA102_21
= self
.input.LA(3)
16750 if (self
.synpred2()) :
16752 elif LA102
== 29 or LA102
== 30 or LA102
== 31 or LA102
== 32 or LA102
== 33:
16753 LA102_23
= self
.input.LA(3)
16755 if (self
.synpred2()) :
16758 LA102_24
= self
.input.LA(3)
16760 if (self
.synpred2()) :
16763 LA102_25
= self
.input.LA(3)
16765 if (self
.synpred2()) :
16768 LA102_26
= self
.input.LA(3)
16770 if (self
.synpred2()) :
16773 LA102_27
= self
.input.LA(3)
16775 if (self
.synpred2()) :
16778 LA102_28
= self
.input.LA(3)
16780 if (self
.synpred2()) :
16783 LA102_29
= self
.input.LA(3)
16785 if (self
.synpred2()) :
16788 LA102_30
= self
.input.LA(3)
16790 if (self
.synpred2()) :
16793 LA102_31
= self
.input.LA(3)
16795 if (self
.synpred2()) :
16798 LA102_32
= self
.input.LA(3)
16800 if (self
.synpred2()) :
16802 elif LA102
== 45 or LA102
== 46:
16803 LA102_33
= self
.input.LA(3)
16805 if (self
.synpred2()) :
16808 LA102_34
= self
.input.LA(3)
16810 if (self
.synpred2()) :
16812 elif LA102
== IDENTIFIER
:
16813 LA102_35
= self
.input.LA(3)
16815 if (self
.synpred2()) :
16818 LA102_36
= self
.input.LA(3)
16820 if (self
.synpred2()) :
16825 LA102_39
= self
.input.LA(3)
16827 if (self
.synpred2()) :
16830 LA102_40
= self
.input.LA(3)
16832 if (self
.synpred2()) :
16834 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:
16835 LA102_41
= self
.input.LA(3)
16837 if (self
.synpred2()) :
16840 LA102_14
= self
.input.LA(2)
16842 if (self
.synpred2()) :
16845 LA102_16
= self
.input.LA(2)
16847 if (self
.synpred2()) :
16850 LA102_17
= self
.input.LA(2)
16852 if (self
.synpred2()) :
16855 # C.g:0:0: declaration_specifiers
16856 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred4100
)
16857 self
.declaration_specifiers()
16858 self
.following
.pop()
16864 self
.following
.append(self
.FOLLOW_declarator_in_synpred4103
)
16866 self
.following
.pop()
16869 # C.g:119:41: ( declaration )*
16870 while True: #loop103
16872 LA103_0
= self
.input.LA(1)
16874 if (LA103_0
== IDENTIFIER
or LA103_0
== 26 or (29 <= LA103_0
<= 42) or (45 <= LA103_0
<= 46) or (48 <= LA103_0
<= 61)) :
16879 # C.g:0:0: declaration
16880 self
.following
.append(self
.FOLLOW_declaration_in_synpred4105
)
16882 self
.following
.pop()
16891 self
.match(self
.input, 43, self
.FOLLOW_43_in_synpred4108
)
16896 # $ANTLR end synpred4
16900 # $ANTLR start synpred5
16901 def synpred5_fragment(self
, ):
16902 # C.g:120:4: ( declaration )
16903 # C.g:120:4: declaration
16904 self
.following
.append(self
.FOLLOW_declaration_in_synpred5118
)
16906 self
.following
.pop()
16911 # $ANTLR end synpred5
16915 # $ANTLR start synpred7
16916 def synpred7_fragment(self
, ):
16917 # C.g:146:6: ( declaration_specifiers )
16918 # C.g:146:6: declaration_specifiers
16919 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred7157
)
16920 self
.declaration_specifiers()
16921 self
.following
.pop()
16926 # $ANTLR end synpred7
16930 # $ANTLR start synpred10
16931 def synpred10_fragment(self
, ):
16932 # C.g:167:18: ( declaration_specifiers )
16933 # C.g:167:18: declaration_specifiers
16934 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred10207
)
16935 self
.declaration_specifiers()
16936 self
.following
.pop()
16941 # $ANTLR end synpred10
16945 # $ANTLR start synpred14
16946 def synpred14_fragment(self
, ):
16947 # C.g:184:7: ( type_specifier )
16948 # C.g:184:7: type_specifier
16949 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred14272
)
16950 self
.type_specifier()
16951 self
.following
.pop()
16956 # $ANTLR end synpred14
16960 # $ANTLR start synpred15
16961 def synpred15_fragment(self
, ):
16962 # C.g:185:13: ( type_qualifier )
16963 # C.g:185:13: type_qualifier
16964 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred15286
)
16965 self
.type_qualifier()
16966 self
.following
.pop()
16971 # $ANTLR end synpred15
16975 # $ANTLR start synpred33
16976 def synpred33_fragment(self
, ):
16977 # C.g:225:16: ( type_qualifier )
16978 # C.g:225:16: type_qualifier
16979 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred33444
)
16980 self
.type_qualifier()
16981 self
.following
.pop()
16986 # $ANTLR end synpred33
16990 # $ANTLR start synpred34
16991 def synpred34_fragment(self
, ):
16992 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16993 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16994 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred34442
)
16997 # C.g:225:16: ( type_qualifier )*
16998 while True: #loop106
17000 LA106
= self
.input.LA(1)
17002 LA106_2
= self
.input.LA(2)
17004 if (self
.synpred33()) :
17009 LA106_3
= self
.input.LA(2)
17011 if (self
.synpred33()) :
17016 LA106_4
= self
.input.LA(2)
17018 if (self
.synpred33()) :
17022 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:
17026 # C.g:0:0: type_qualifier
17027 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred34444
)
17028 self
.type_qualifier()
17029 self
.following
.pop()
17038 self
.following
.append(self
.FOLLOW_declarator_in_synpred34447
)
17040 self
.following
.pop()
17045 # $ANTLR end synpred34
17049 # $ANTLR start synpred39
17050 def synpred39_fragment(self
, ):
17051 # C.g:253:6: ( type_qualifier )
17052 # C.g:253:6: type_qualifier
17053 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred39566
)
17054 self
.type_qualifier()
17055 self
.following
.pop()
17060 # $ANTLR end synpred39
17064 # $ANTLR start synpred40
17065 def synpred40_fragment(self
, ):
17066 # C.g:253:23: ( type_specifier )
17067 # C.g:253:23: type_specifier
17068 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred40570
)
17069 self
.type_specifier()
17070 self
.following
.pop()
17075 # $ANTLR end synpred40
17079 # $ANTLR start synpred66
17080 def synpred66_fragment(self
, ):
17081 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17082 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17083 # C.g:297:4: ( pointer )?
17085 LA111_0
= self
.input.LA(1)
17087 if (LA111_0
== 66) :
17091 self
.following
.append(self
.FOLLOW_pointer_in_synpred66784
)
17093 self
.following
.pop()
17099 # C.g:297:13: ( 'EFIAPI' )?
17101 LA112_0
= self
.input.LA(1)
17103 if (LA112_0
== 58) :
17106 # C.g:297:14: 'EFIAPI'
17107 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred66788
)
17113 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17115 LA113_0
= self
.input.LA(1)
17117 if (LA113_0
== 59) :
17120 # C.g:297:26: 'EFI_BOOTSERVICE'
17121 self
.match(self
.input, 59, self
.FOLLOW_59_in_synpred66793
)
17127 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17129 LA114_0
= self
.input.LA(1)
17131 if (LA114_0
== 60) :
17134 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17135 self
.match(self
.input, 60, self
.FOLLOW_60_in_synpred66798
)
17141 self
.following
.append(self
.FOLLOW_direct_declarator_in_synpred66802
)
17142 self
.direct_declarator()
17143 self
.following
.pop()
17148 # $ANTLR end synpred66
17152 # $ANTLR start synpred67
17153 def synpred67_fragment(self
, ):
17154 # C.g:303:15: ( declarator_suffix )
17155 # C.g:303:15: declarator_suffix
17156 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred67821
)
17157 self
.declarator_suffix()
17158 self
.following
.pop()
17163 # $ANTLR end synpred67
17167 # $ANTLR start synpred69
17168 def synpred69_fragment(self
, ):
17169 # C.g:304:9: ( 'EFIAPI' )
17170 # C.g:304:9: 'EFIAPI'
17171 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred69830
)
17176 # $ANTLR end synpred69
17180 # $ANTLR start synpred70
17181 def synpred70_fragment(self
, ):
17182 # C.g:304:35: ( declarator_suffix )
17183 # C.g:304:35: declarator_suffix
17184 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred70838
)
17185 self
.declarator_suffix()
17186 self
.following
.pop()
17191 # $ANTLR end synpred70
17195 # $ANTLR start synpred73
17196 def synpred73_fragment(self
, ):
17197 # C.g:310:9: ( '(' parameter_type_list ')' )
17198 # C.g:310:9: '(' parameter_type_list ')'
17199 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred73878
)
17202 self
.following
.append(self
.FOLLOW_parameter_type_list_in_synpred73880
)
17203 self
.parameter_type_list()
17204 self
.following
.pop()
17207 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred73882
)
17212 # $ANTLR end synpred73
17216 # $ANTLR start synpred74
17217 def synpred74_fragment(self
, ):
17218 # C.g:311:9: ( '(' identifier_list ')' )
17219 # C.g:311:9: '(' identifier_list ')'
17220 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred74892
)
17223 self
.following
.append(self
.FOLLOW_identifier_list_in_synpred74894
)
17224 self
.identifier_list()
17225 self
.following
.pop()
17228 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred74896
)
17233 # $ANTLR end synpred74
17237 # $ANTLR start synpred75
17238 def synpred75_fragment(self
, ):
17239 # C.g:316:8: ( type_qualifier )
17240 # C.g:316:8: type_qualifier
17241 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred75921
)
17242 self
.type_qualifier()
17243 self
.following
.pop()
17248 # $ANTLR end synpred75
17252 # $ANTLR start synpred76
17253 def synpred76_fragment(self
, ):
17254 # C.g:316:24: ( pointer )
17255 # C.g:316:24: pointer
17256 self
.following
.append(self
.FOLLOW_pointer_in_synpred76924
)
17258 self
.following
.pop()
17263 # $ANTLR end synpred76
17267 # $ANTLR start synpred77
17268 def synpred77_fragment(self
, ):
17269 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17270 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17271 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred77919
)
17274 # C.g:316:8: ( type_qualifier )+
17276 while True: #loop116
17278 LA116_0
= self
.input.LA(1)
17280 if ((49 <= LA116_0
<= 61)) :
17285 # C.g:0:0: type_qualifier
17286 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred77921
)
17287 self
.type_qualifier()
17288 self
.following
.pop()
17297 if self
.backtracking
> 0:
17301 eee
= EarlyExitException(116, self
.input)
17307 # C.g:316:24: ( pointer )?
17309 LA117_0
= self
.input.LA(1)
17311 if (LA117_0
== 66) :
17315 self
.following
.append(self
.FOLLOW_pointer_in_synpred77924
)
17317 self
.following
.pop()
17325 # $ANTLR end synpred77
17329 # $ANTLR start synpred78
17330 def synpred78_fragment(self
, ):
17331 # C.g:317:4: ( '*' pointer )
17332 # C.g:317:4: '*' pointer
17333 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred78930
)
17336 self
.following
.append(self
.FOLLOW_pointer_in_synpred78932
)
17338 self
.following
.pop()
17343 # $ANTLR end synpred78
17347 # $ANTLR start synpred81
17348 def synpred81_fragment(self
, ):
17349 # C.g:326:32: ( 'OPTIONAL' )
17350 # C.g:326:32: 'OPTIONAL'
17351 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred81977
)
17356 # $ANTLR end synpred81
17360 # $ANTLR start synpred82
17361 def synpred82_fragment(self
, ):
17362 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17363 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17364 self
.match(self
.input, 27, self
.FOLLOW_27_in_synpred82974
)
17367 # C.g:326:31: ( 'OPTIONAL' )?
17369 LA119_0
= self
.input.LA(1)
17371 if (LA119_0
== 53) :
17372 LA119_1
= self
.input.LA(2)
17374 if (self
.synpred81()) :
17377 # C.g:326:32: 'OPTIONAL'
17378 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred82977
)
17384 self
.following
.append(self
.FOLLOW_parameter_declaration_in_synpred82981
)
17385 self
.parameter_declaration()
17386 self
.following
.pop()
17391 # $ANTLR end synpred82
17395 # $ANTLR start synpred83
17396 def synpred83_fragment(self
, ):
17397 # C.g:330:28: ( declarator )
17398 # C.g:330:28: declarator
17399 self
.following
.append(self
.FOLLOW_declarator_in_synpred83997
)
17401 self
.following
.pop()
17406 # $ANTLR end synpred83
17410 # $ANTLR start synpred84
17411 def synpred84_fragment(self
, ):
17412 # C.g:330:39: ( abstract_declarator )
17413 # C.g:330:39: abstract_declarator
17414 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred84999
)
17415 self
.abstract_declarator()
17416 self
.following
.pop()
17421 # $ANTLR end synpred84
17425 # $ANTLR start synpred86
17426 def synpred86_fragment(self
, ):
17427 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17428 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17429 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred86994
)
17430 self
.declaration_specifiers()
17431 self
.following
.pop()
17434 # C.g:330:27: ( declarator | abstract_declarator )*
17435 while True: #loop120
17437 LA120
= self
.input.LA(1)
17439 LA120_3
= self
.input.LA(2)
17441 if (self
.synpred83()) :
17443 elif (self
.synpred84()) :
17447 elif LA120
== IDENTIFIER
or LA120
== 58 or LA120
== 59 or LA120
== 60:
17450 LA120
= self
.input.LA(2)
17451 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:
17454 LA120_21
= self
.input.LA(3)
17456 if (self
.synpred83()) :
17458 elif (self
.synpred84()) :
17463 LA120_22
= self
.input.LA(3)
17465 if (self
.synpred83()) :
17467 elif (self
.synpred84()) :
17472 LA120_23
= self
.input.LA(3)
17474 if (self
.synpred83()) :
17476 elif (self
.synpred84()) :
17481 LA120_24
= self
.input.LA(3)
17483 if (self
.synpred83()) :
17485 elif (self
.synpred84()) :
17489 elif LA120
== IDENTIFIER
:
17490 LA120_25
= self
.input.LA(3)
17492 if (self
.synpred83()) :
17494 elif (self
.synpred84()) :
17499 LA120_26
= self
.input.LA(3)
17501 if (self
.synpred83()) :
17503 elif (self
.synpred84()) :
17512 # C.g:330:28: declarator
17513 self
.following
.append(self
.FOLLOW_declarator_in_synpred86997
)
17515 self
.following
.pop()
17521 # C.g:330:39: abstract_declarator
17522 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred86999
)
17523 self
.abstract_declarator()
17524 self
.following
.pop()
17533 # C.g:330:61: ( 'OPTIONAL' )?
17535 LA121_0
= self
.input.LA(1)
17537 if (LA121_0
== 53) :
17540 # C.g:330:62: 'OPTIONAL'
17541 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred861004
)
17549 # $ANTLR end synpred86
17553 # $ANTLR start synpred90
17554 def synpred90_fragment(self
, ):
17555 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17556 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17557 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_synpred901046
)
17558 self
.specifier_qualifier_list()
17559 self
.following
.pop()
17562 # C.g:341:29: ( abstract_declarator )?
17564 LA122_0
= self
.input.LA(1)
17566 if (LA122_0
== 62 or LA122_0
== 64 or LA122_0
== 66) :
17569 # C.g:0:0: abstract_declarator
17570 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred901048
)
17571 self
.abstract_declarator()
17572 self
.following
.pop()
17580 # $ANTLR end synpred90
17584 # $ANTLR start synpred91
17585 def synpred91_fragment(self
, ):
17586 # C.g:346:12: ( direct_abstract_declarator )
17587 # C.g:346:12: direct_abstract_declarator
17588 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_synpred911067
)
17589 self
.direct_abstract_declarator()
17590 self
.following
.pop()
17595 # $ANTLR end synpred91
17599 # $ANTLR start synpred93
17600 def synpred93_fragment(self
, ):
17601 # C.g:351:6: ( '(' abstract_declarator ')' )
17602 # C.g:351:6: '(' abstract_declarator ')'
17603 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred931086
)
17606 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred931088
)
17607 self
.abstract_declarator()
17608 self
.following
.pop()
17611 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred931090
)
17616 # $ANTLR end synpred93
17620 # $ANTLR start synpred94
17621 def synpred94_fragment(self
, ):
17622 # C.g:351:65: ( abstract_declarator_suffix )
17623 # C.g:351:65: abstract_declarator_suffix
17624 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_synpred941098
)
17625 self
.abstract_declarator_suffix()
17626 self
.following
.pop()
17631 # $ANTLR end synpred94
17635 # $ANTLR start synpred109
17636 def synpred109_fragment(self
, ):
17637 # C.g:386:4: ( '(' type_name ')' cast_expression )
17638 # C.g:386:4: '(' type_name ')' cast_expression
17639 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1091282
)
17642 self
.following
.append(self
.FOLLOW_type_name_in_synpred1091284
)
17644 self
.following
.pop()
17647 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1091286
)
17650 self
.following
.append(self
.FOLLOW_cast_expression_in_synpred1091288
)
17651 self
.cast_expression()
17652 self
.following
.pop()
17657 # $ANTLR end synpred109
17661 # $ANTLR start synpred114
17662 def synpred114_fragment(self
, ):
17663 # C.g:395:4: ( 'sizeof' unary_expression )
17664 # C.g:395:4: 'sizeof' unary_expression
17665 self
.match(self
.input, 74, self
.FOLLOW_74_in_synpred1141330
)
17668 self
.following
.append(self
.FOLLOW_unary_expression_in_synpred1141332
)
17669 self
.unary_expression()
17670 self
.following
.pop()
17675 # $ANTLR end synpred114
17679 # $ANTLR start synpred117
17680 def synpred117_fragment(self
, ):
17681 # C.g:409:13: ( '(' argument_expression_list ')' )
17682 # C.g:409:13: '(' argument_expression_list ')'
17683 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1171420
)
17686 self
.following
.append(self
.FOLLOW_argument_expression_list_in_synpred1171424
)
17687 self
.argument_expression_list()
17688 self
.following
.pop()
17691 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1171428
)
17696 # $ANTLR end synpred117
17700 # $ANTLR start synpred118
17701 def synpred118_fragment(self
, ):
17702 # C.g:410:13: ( '(' macro_parameter_list ')' )
17703 # C.g:410:13: '(' macro_parameter_list ')'
17704 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1181444
)
17707 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_synpred1181446
)
17708 self
.macro_parameter_list()
17709 self
.following
.pop()
17712 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1181448
)
17717 # $ANTLR end synpred118
17721 # $ANTLR start synpred120
17722 def synpred120_fragment(self
, ):
17723 # C.g:412:13: ( '*' IDENTIFIER )
17724 # C.g:412:13: '*' IDENTIFIER
17725 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred1201482
)
17728 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1201486
)
17733 # $ANTLR end synpred120
17737 # $ANTLR start synpred137
17738 def synpred137_fragment(self
, ):
17739 # C.g:443:20: ( STRING_LITERAL )
17740 # C.g:443:20: STRING_LITERAL
17741 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1371683
)
17746 # $ANTLR end synpred137
17750 # $ANTLR start synpred138
17751 def synpred138_fragment(self
, ):
17752 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17753 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17754 # C.g:443:8: ( IDENTIFIER )*
17755 while True: #loop125
17757 LA125_0
= self
.input.LA(1)
17759 if (LA125_0
== IDENTIFIER
) :
17764 # C.g:0:0: IDENTIFIER
17765 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1381680
)
17774 # C.g:443:20: ( STRING_LITERAL )+
17776 while True: #loop126
17778 LA126_0
= self
.input.LA(1)
17780 if (LA126_0
== STRING_LITERAL
) :
17785 # C.g:0:0: STRING_LITERAL
17786 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1381683
)
17795 if self
.backtracking
> 0:
17799 eee
= EarlyExitException(126, self
.input)
17807 # $ANTLR end synpred138
17811 # $ANTLR start synpred142
17812 def synpred142_fragment(self
, ):
17813 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17814 # C.g:458:4: lvalue assignment_operator assignment_expression
17815 self
.following
.append(self
.FOLLOW_lvalue_in_synpred1421744
)
17817 self
.following
.pop()
17820 self
.following
.append(self
.FOLLOW_assignment_operator_in_synpred1421746
)
17821 self
.assignment_operator()
17822 self
.following
.pop()
17825 self
.following
.append(self
.FOLLOW_assignment_expression_in_synpred1421748
)
17826 self
.assignment_expression()
17827 self
.following
.pop()
17832 # $ANTLR end synpred142
17836 # $ANTLR start synpred169
17837 def synpred169_fragment(self
, ):
17838 # C.g:520:4: ( expression_statement )
17839 # C.g:520:4: expression_statement
17840 self
.following
.append(self
.FOLLOW_expression_statement_in_synpred1692035
)
17841 self
.expression_statement()
17842 self
.following
.pop()
17847 # $ANTLR end synpred169
17851 # $ANTLR start synpred173
17852 def synpred173_fragment(self
, ):
17853 # C.g:524:4: ( macro_statement )
17854 # C.g:524:4: macro_statement
17855 self
.following
.append(self
.FOLLOW_macro_statement_in_synpred1732055
)
17856 self
.macro_statement()
17857 self
.following
.pop()
17862 # $ANTLR end synpred173
17866 # $ANTLR start synpred174
17867 def synpred174_fragment(self
, ):
17868 # C.g:525:4: ( asm2_statement )
17869 # C.g:525:4: asm2_statement
17870 self
.following
.append(self
.FOLLOW_asm2_statement_in_synpred1742060
)
17871 self
.asm2_statement()
17872 self
.following
.pop()
17877 # $ANTLR end synpred174
17881 # $ANTLR start synpred181
17882 def synpred181_fragment(self
, ):
17883 # C.g:544:19: ( declaration )
17884 # C.g:544:19: declaration
17885 self
.following
.append(self
.FOLLOW_declaration_in_synpred1812166
)
17887 self
.following
.pop()
17892 # $ANTLR end synpred181
17896 # $ANTLR start synpred182
17897 def synpred182_fragment(self
, ):
17898 # C.g:544:33: ( statement_list )
17899 # C.g:544:33: statement_list
17900 self
.following
.append(self
.FOLLOW_statement_list_in_synpred1822170
)
17901 self
.statement_list()
17902 self
.following
.pop()
17907 # $ANTLR end synpred182
17911 # $ANTLR start synpred186
17912 def synpred186_fragment(self
, ):
17913 # C.g:554:8: ( declaration )
17914 # C.g:554:8: declaration
17915 self
.following
.append(self
.FOLLOW_declaration_in_synpred1862225
)
17917 self
.following
.pop()
17922 # $ANTLR end synpred186
17926 # $ANTLR start synpred188
17927 def synpred188_fragment(self
, ):
17928 # C.g:558:4: ( statement )
17929 # C.g:558:4: statement
17930 self
.following
.append(self
.FOLLOW_statement_in_synpred1882242
)
17932 self
.following
.pop()
17937 # $ANTLR end synpred188
17941 def synpred69(self
):
17942 self
.backtracking
+= 1
17943 start
= self
.input.mark()
17944 self
.synpred69_fragment()
17945 success
= not self
.failed
17946 self
.input.rewind(start
)
17947 self
.backtracking
-= 1
17948 self
.failed
= False
17951 def synpred81(self
):
17952 self
.backtracking
+= 1
17953 start
= self
.input.mark()
17954 self
.synpred81_fragment()
17955 success
= not self
.failed
17956 self
.input.rewind(start
)
17957 self
.backtracking
-= 1
17958 self
.failed
= False
17961 def synpred82(self
):
17962 self
.backtracking
+= 1
17963 start
= self
.input.mark()
17964 self
.synpred82_fragment()
17965 success
= not self
.failed
17966 self
.input.rewind(start
)
17967 self
.backtracking
-= 1
17968 self
.failed
= False
17971 def synpred66(self
):
17972 self
.backtracking
+= 1
17973 start
= self
.input.mark()
17974 self
.synpred66_fragment()
17975 success
= not self
.failed
17976 self
.input.rewind(start
)
17977 self
.backtracking
-= 1
17978 self
.failed
= False
17981 def synpred83(self
):
17982 self
.backtracking
+= 1
17983 start
= self
.input.mark()
17984 self
.synpred83_fragment()
17985 success
= not self
.failed
17986 self
.input.rewind(start
)
17987 self
.backtracking
-= 1
17988 self
.failed
= False
17991 def synpred84(self
):
17992 self
.backtracking
+= 1
17993 start
= self
.input.mark()
17994 self
.synpred84_fragment()
17995 success
= not self
.failed
17996 self
.input.rewind(start
)
17997 self
.backtracking
-= 1
17998 self
.failed
= False
18001 def synpred67(self
):
18002 self
.backtracking
+= 1
18003 start
= self
.input.mark()
18004 self
.synpred67_fragment()
18005 success
= not self
.failed
18006 self
.input.rewind(start
)
18007 self
.backtracking
-= 1
18008 self
.failed
= False
18011 def synpred86(self
):
18012 self
.backtracking
+= 1
18013 start
= self
.input.mark()
18014 self
.synpred86_fragment()
18015 success
= not self
.failed
18016 self
.input.rewind(start
)
18017 self
.backtracking
-= 1
18018 self
.failed
= False
18021 def synpred120(self
):
18022 self
.backtracking
+= 1
18023 start
= self
.input.mark()
18024 self
.synpred120_fragment()
18025 success
= not self
.failed
18026 self
.input.rewind(start
)
18027 self
.backtracking
-= 1
18028 self
.failed
= False
18031 def synpred40(self
):
18032 self
.backtracking
+= 1
18033 start
= self
.input.mark()
18034 self
.synpred40_fragment()
18035 success
= not self
.failed
18036 self
.input.rewind(start
)
18037 self
.backtracking
-= 1
18038 self
.failed
= False
18041 def synpred142(self
):
18042 self
.backtracking
+= 1
18043 start
= self
.input.mark()
18044 self
.synpred142_fragment()
18045 success
= not self
.failed
18046 self
.input.rewind(start
)
18047 self
.backtracking
-= 1
18048 self
.failed
= False
18051 def synpred182(self
):
18052 self
.backtracking
+= 1
18053 start
= self
.input.mark()
18054 self
.synpred182_fragment()
18055 success
= not self
.failed
18056 self
.input.rewind(start
)
18057 self
.backtracking
-= 1
18058 self
.failed
= False
18061 def synpred109(self
):
18062 self
.backtracking
+= 1
18063 start
= self
.input.mark()
18064 self
.synpred109_fragment()
18065 success
= not self
.failed
18066 self
.input.rewind(start
)
18067 self
.backtracking
-= 1
18068 self
.failed
= False
18071 def synpred181(self
):
18072 self
.backtracking
+= 1
18073 start
= self
.input.mark()
18074 self
.synpred181_fragment()
18075 success
= not self
.failed
18076 self
.input.rewind(start
)
18077 self
.backtracking
-= 1
18078 self
.failed
= False
18081 def synpred186(self
):
18082 self
.backtracking
+= 1
18083 start
= self
.input.mark()
18084 self
.synpred186_fragment()
18085 success
= not self
.failed
18086 self
.input.rewind(start
)
18087 self
.backtracking
-= 1
18088 self
.failed
= False
18091 def synpred188(self
):
18092 self
.backtracking
+= 1
18093 start
= self
.input.mark()
18094 self
.synpred188_fragment()
18095 success
= not self
.failed
18096 self
.input.rewind(start
)
18097 self
.backtracking
-= 1
18098 self
.failed
= False
18101 def synpred169(self
):
18102 self
.backtracking
+= 1
18103 start
= self
.input.mark()
18104 self
.synpred169_fragment()
18105 success
= not self
.failed
18106 self
.input.rewind(start
)
18107 self
.backtracking
-= 1
18108 self
.failed
= False
18111 def synpred117(self
):
18112 self
.backtracking
+= 1
18113 start
= self
.input.mark()
18114 self
.synpred117_fragment()
18115 success
= not self
.failed
18116 self
.input.rewind(start
)
18117 self
.backtracking
-= 1
18118 self
.failed
= False
18121 def synpred70(self
):
18122 self
.backtracking
+= 1
18123 start
= self
.input.mark()
18124 self
.synpred70_fragment()
18125 success
= not self
.failed
18126 self
.input.rewind(start
)
18127 self
.backtracking
-= 1
18128 self
.failed
= False
18131 def synpred118(self
):
18132 self
.backtracking
+= 1
18133 start
= self
.input.mark()
18134 self
.synpred118_fragment()
18135 success
= not self
.failed
18136 self
.input.rewind(start
)
18137 self
.backtracking
-= 1
18138 self
.failed
= False
18141 def synpred34(self
):
18142 self
.backtracking
+= 1
18143 start
= self
.input.mark()
18144 self
.synpred34_fragment()
18145 success
= not self
.failed
18146 self
.input.rewind(start
)
18147 self
.backtracking
-= 1
18148 self
.failed
= False
18151 def synpred33(self
):
18152 self
.backtracking
+= 1
18153 start
= self
.input.mark()
18154 self
.synpred33_fragment()
18155 success
= not self
.failed
18156 self
.input.rewind(start
)
18157 self
.backtracking
-= 1
18158 self
.failed
= False
18161 def synpred94(self
):
18162 self
.backtracking
+= 1
18163 start
= self
.input.mark()
18164 self
.synpred94_fragment()
18165 success
= not self
.failed
18166 self
.input.rewind(start
)
18167 self
.backtracking
-= 1
18168 self
.failed
= False
18171 def synpred39(self
):
18172 self
.backtracking
+= 1
18173 start
= self
.input.mark()
18174 self
.synpred39_fragment()
18175 success
= not self
.failed
18176 self
.input.rewind(start
)
18177 self
.backtracking
-= 1
18178 self
.failed
= False
18181 def synpred74(self
):
18182 self
.backtracking
+= 1
18183 start
= self
.input.mark()
18184 self
.synpred74_fragment()
18185 success
= not self
.failed
18186 self
.input.rewind(start
)
18187 self
.backtracking
-= 1
18188 self
.failed
= False
18191 def synpred114(self
):
18192 self
.backtracking
+= 1
18193 start
= self
.input.mark()
18194 self
.synpred114_fragment()
18195 success
= not self
.failed
18196 self
.input.rewind(start
)
18197 self
.backtracking
-= 1
18198 self
.failed
= False
18201 def synpred93(self
):
18202 self
.backtracking
+= 1
18203 start
= self
.input.mark()
18204 self
.synpred93_fragment()
18205 success
= not self
.failed
18206 self
.input.rewind(start
)
18207 self
.backtracking
-= 1
18208 self
.failed
= False
18211 def synpred75(self
):
18212 self
.backtracking
+= 1
18213 start
= self
.input.mark()
18214 self
.synpred75_fragment()
18215 success
= not self
.failed
18216 self
.input.rewind(start
)
18217 self
.backtracking
-= 1
18218 self
.failed
= False
18221 def synpred137(self
):
18222 self
.backtracking
+= 1
18223 start
= self
.input.mark()
18224 self
.synpred137_fragment()
18225 success
= not self
.failed
18226 self
.input.rewind(start
)
18227 self
.backtracking
-= 1
18228 self
.failed
= False
18231 def synpred90(self
):
18232 self
.backtracking
+= 1
18233 start
= self
.input.mark()
18234 self
.synpred90_fragment()
18235 success
= not self
.failed
18236 self
.input.rewind(start
)
18237 self
.backtracking
-= 1
18238 self
.failed
= False
18241 def synpred138(self
):
18242 self
.backtracking
+= 1
18243 start
= self
.input.mark()
18244 self
.synpred138_fragment()
18245 success
= not self
.failed
18246 self
.input.rewind(start
)
18247 self
.backtracking
-= 1
18248 self
.failed
= False
18251 def synpred91(self
):
18252 self
.backtracking
+= 1
18253 start
= self
.input.mark()
18254 self
.synpred91_fragment()
18255 success
= not self
.failed
18256 self
.input.rewind(start
)
18257 self
.backtracking
-= 1
18258 self
.failed
= False
18261 def synpred73(self
):
18262 self
.backtracking
+= 1
18263 start
= self
.input.mark()
18264 self
.synpred73_fragment()
18265 success
= not self
.failed
18266 self
.input.rewind(start
)
18267 self
.backtracking
-= 1
18268 self
.failed
= False
18271 def synpred5(self
):
18272 self
.backtracking
+= 1
18273 start
= self
.input.mark()
18274 self
.synpred5_fragment()
18275 success
= not self
.failed
18276 self
.input.rewind(start
)
18277 self
.backtracking
-= 1
18278 self
.failed
= False
18281 def synpred78(self
):
18282 self
.backtracking
+= 1
18283 start
= self
.input.mark()
18284 self
.synpred78_fragment()
18285 success
= not self
.failed
18286 self
.input.rewind(start
)
18287 self
.backtracking
-= 1
18288 self
.failed
= False
18291 def synpred7(self
):
18292 self
.backtracking
+= 1
18293 start
= self
.input.mark()
18294 self
.synpred7_fragment()
18295 success
= not self
.failed
18296 self
.input.rewind(start
)
18297 self
.backtracking
-= 1
18298 self
.failed
= False
18301 def synpred76(self
):
18302 self
.backtracking
+= 1
18303 start
= self
.input.mark()
18304 self
.synpred76_fragment()
18305 success
= not self
.failed
18306 self
.input.rewind(start
)
18307 self
.backtracking
-= 1
18308 self
.failed
= False
18311 def synpred77(self
):
18312 self
.backtracking
+= 1
18313 start
= self
.input.mark()
18314 self
.synpred77_fragment()
18315 success
= not self
.failed
18316 self
.input.rewind(start
)
18317 self
.backtracking
-= 1
18318 self
.failed
= False
18321 def synpred2(self
):
18322 self
.backtracking
+= 1
18323 start
= self
.input.mark()
18324 self
.synpred2_fragment()
18325 success
= not self
.failed
18326 self
.input.rewind(start
)
18327 self
.backtracking
-= 1
18328 self
.failed
= False
18331 def synpred4(self
):
18332 self
.backtracking
+= 1
18333 start
= self
.input.mark()
18334 self
.synpred4_fragment()
18335 success
= not self
.failed
18336 self
.input.rewind(start
)
18337 self
.backtracking
-= 1
18338 self
.failed
= False
18341 def synpred174(self
):
18342 self
.backtracking
+= 1
18343 start
= self
.input.mark()
18344 self
.synpred174_fragment()
18345 success
= not self
.failed
18346 self
.input.rewind(start
)
18347 self
.backtracking
-= 1
18348 self
.failed
= False
18351 def synpred173(self
):
18352 self
.backtracking
+= 1
18353 start
= self
.input.mark()
18354 self
.synpred173_fragment()
18355 success
= not self
.failed
18356 self
.input.rewind(start
)
18357 self
.backtracking
-= 1
18358 self
.failed
= False
18361 def synpred14(self
):
18362 self
.backtracking
+= 1
18363 start
= self
.input.mark()
18364 self
.synpred14_fragment()
18365 success
= not self
.failed
18366 self
.input.rewind(start
)
18367 self
.backtracking
-= 1
18368 self
.failed
= False
18371 def synpred15(self
):
18372 self
.backtracking
+= 1
18373 start
= self
.input.mark()
18374 self
.synpred15_fragment()
18375 success
= not self
.failed
18376 self
.input.rewind(start
)
18377 self
.backtracking
-= 1
18378 self
.failed
= False
18381 def synpred10(self
):
18382 self
.backtracking
+= 1
18383 start
= self
.input.mark()
18384 self
.synpred10_fragment()
18385 success
= not self
.failed
18386 self
.input.rewind(start
)
18387 self
.backtracking
-= 1
18388 self
.failed
= False
18395 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])
18396 FOLLOW_function_definition_in_external_declaration113
= frozenset([1])
18397 FOLLOW_declaration_in_external_declaration118
= frozenset([1])
18398 FOLLOW_macro_statement_in_external_declaration123
= frozenset([1, 25])
18399 FOLLOW_25_in_external_declaration126
= frozenset([1])
18400 FOLLOW_declaration_specifiers_in_function_definition157
= frozenset([4, 58, 59, 60, 62, 66])
18401 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])
18402 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])
18403 FOLLOW_compound_statement_in_function_definition171
= frozenset([1])
18404 FOLLOW_compound_statement_in_function_definition180
= frozenset([1])
18405 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])
18406 FOLLOW_declaration_specifiers_in_declaration207
= frozenset([4, 58, 59, 60, 62, 66])
18407 FOLLOW_init_declarator_list_in_declaration216
= frozenset([25])
18408 FOLLOW_25_in_declaration220
= frozenset([1])
18409 FOLLOW_declaration_specifiers_in_declaration234
= frozenset([4, 25, 58, 59, 60, 62, 66])
18410 FOLLOW_init_declarator_list_in_declaration238
= frozenset([25])
18411 FOLLOW_25_in_declaration243
= frozenset([1])
18412 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])
18413 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])
18414 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])
18415 FOLLOW_init_declarator_in_init_declarator_list308
= frozenset([1, 27])
18416 FOLLOW_27_in_init_declarator_list311
= frozenset([4, 58, 59, 60, 62, 66])
18417 FOLLOW_init_declarator_in_init_declarator_list313
= frozenset([1, 27])
18418 FOLLOW_declarator_in_init_declarator326
= frozenset([1, 28])
18419 FOLLOW_28_in_init_declarator329
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18420 FOLLOW_initializer_in_init_declarator331
= frozenset([1])
18421 FOLLOW_set_in_storage_class_specifier0
= frozenset([1])
18422 FOLLOW_34_in_type_specifier376
= frozenset([1])
18423 FOLLOW_35_in_type_specifier381
= frozenset([1])
18424 FOLLOW_36_in_type_specifier386
= frozenset([1])
18425 FOLLOW_37_in_type_specifier391
= frozenset([1])
18426 FOLLOW_38_in_type_specifier396
= frozenset([1])
18427 FOLLOW_39_in_type_specifier401
= frozenset([1])
18428 FOLLOW_40_in_type_specifier406
= frozenset([1])
18429 FOLLOW_41_in_type_specifier411
= frozenset([1])
18430 FOLLOW_42_in_type_specifier416
= frozenset([1])
18431 FOLLOW_struct_or_union_specifier_in_type_specifier423
= frozenset([1])
18432 FOLLOW_enum_specifier_in_type_specifier433
= frozenset([1])
18433 FOLLOW_type_id_in_type_specifier451
= frozenset([1])
18434 FOLLOW_IDENTIFIER_in_type_id467
= frozenset([1])
18435 FOLLOW_struct_or_union_in_struct_or_union_specifier494
= frozenset([4, 43])
18436 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496
= frozenset([43])
18437 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])
18438 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501
= frozenset([44])
18439 FOLLOW_44_in_struct_or_union_specifier503
= frozenset([1])
18440 FOLLOW_struct_or_union_in_struct_or_union_specifier508
= frozenset([4])
18441 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510
= frozenset([1])
18442 FOLLOW_set_in_struct_or_union0
= frozenset([1])
18443 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])
18444 FOLLOW_specifier_qualifier_list_in_struct_declaration549
= frozenset([4, 47, 58, 59, 60, 62, 66])
18445 FOLLOW_struct_declarator_list_in_struct_declaration551
= frozenset([25])
18446 FOLLOW_25_in_struct_declaration553
= frozenset([1])
18447 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])
18448 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])
18449 FOLLOW_struct_declarator_in_struct_declarator_list584
= frozenset([1, 27])
18450 FOLLOW_27_in_struct_declarator_list587
= frozenset([4, 47, 58, 59, 60, 62, 66])
18451 FOLLOW_struct_declarator_in_struct_declarator_list589
= frozenset([1, 27])
18452 FOLLOW_declarator_in_struct_declarator602
= frozenset([1, 47])
18453 FOLLOW_47_in_struct_declarator605
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18454 FOLLOW_constant_expression_in_struct_declarator607
= frozenset([1])
18455 FOLLOW_47_in_struct_declarator614
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18456 FOLLOW_constant_expression_in_struct_declarator616
= frozenset([1])
18457 FOLLOW_48_in_enum_specifier634
= frozenset([43])
18458 FOLLOW_43_in_enum_specifier636
= frozenset([4])
18459 FOLLOW_enumerator_list_in_enum_specifier638
= frozenset([27, 44])
18460 FOLLOW_27_in_enum_specifier640
= frozenset([44])
18461 FOLLOW_44_in_enum_specifier643
= frozenset([1])
18462 FOLLOW_48_in_enum_specifier648
= frozenset([4])
18463 FOLLOW_IDENTIFIER_in_enum_specifier650
= frozenset([43])
18464 FOLLOW_43_in_enum_specifier652
= frozenset([4])
18465 FOLLOW_enumerator_list_in_enum_specifier654
= frozenset([27, 44])
18466 FOLLOW_27_in_enum_specifier656
= frozenset([44])
18467 FOLLOW_44_in_enum_specifier659
= frozenset([1])
18468 FOLLOW_48_in_enum_specifier664
= frozenset([4])
18469 FOLLOW_IDENTIFIER_in_enum_specifier666
= frozenset([1])
18470 FOLLOW_enumerator_in_enumerator_list677
= frozenset([1, 27])
18471 FOLLOW_27_in_enumerator_list680
= frozenset([4])
18472 FOLLOW_enumerator_in_enumerator_list682
= frozenset([1, 27])
18473 FOLLOW_IDENTIFIER_in_enumerator695
= frozenset([1, 28])
18474 FOLLOW_28_in_enumerator698
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18475 FOLLOW_constant_expression_in_enumerator700
= frozenset([1])
18476 FOLLOW_set_in_type_qualifier0
= frozenset([1])
18477 FOLLOW_pointer_in_declarator784
= frozenset([4, 58, 59, 60, 62])
18478 FOLLOW_58_in_declarator788
= frozenset([4, 59, 60, 62])
18479 FOLLOW_59_in_declarator793
= frozenset([4, 60, 62])
18480 FOLLOW_60_in_declarator798
= frozenset([4, 62])
18481 FOLLOW_direct_declarator_in_declarator802
= frozenset([1])
18482 FOLLOW_pointer_in_declarator808
= frozenset([1])
18483 FOLLOW_IDENTIFIER_in_direct_declarator819
= frozenset([1, 62, 64])
18484 FOLLOW_declarator_suffix_in_direct_declarator821
= frozenset([1, 62, 64])
18485 FOLLOW_62_in_direct_declarator827
= frozenset([4, 58, 59, 60, 62, 66])
18486 FOLLOW_58_in_direct_declarator830
= frozenset([4, 58, 59, 60, 62, 66])
18487 FOLLOW_declarator_in_direct_declarator834
= frozenset([63])
18488 FOLLOW_63_in_direct_declarator836
= frozenset([62, 64])
18489 FOLLOW_declarator_suffix_in_direct_declarator838
= frozenset([1, 62, 64])
18490 FOLLOW_64_in_declarator_suffix852
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18491 FOLLOW_constant_expression_in_declarator_suffix854
= frozenset([65])
18492 FOLLOW_65_in_declarator_suffix856
= frozenset([1])
18493 FOLLOW_64_in_declarator_suffix866
= frozenset([65])
18494 FOLLOW_65_in_declarator_suffix868
= frozenset([1])
18495 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])
18496 FOLLOW_parameter_type_list_in_declarator_suffix880
= frozenset([63])
18497 FOLLOW_63_in_declarator_suffix882
= frozenset([1])
18498 FOLLOW_62_in_declarator_suffix892
= frozenset([4])
18499 FOLLOW_identifier_list_in_declarator_suffix894
= frozenset([63])
18500 FOLLOW_63_in_declarator_suffix896
= frozenset([1])
18501 FOLLOW_62_in_declarator_suffix906
= frozenset([63])
18502 FOLLOW_63_in_declarator_suffix908
= frozenset([1])
18503 FOLLOW_66_in_pointer919
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18504 FOLLOW_type_qualifier_in_pointer921
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18505 FOLLOW_pointer_in_pointer924
= frozenset([1])
18506 FOLLOW_66_in_pointer930
= frozenset([66])
18507 FOLLOW_pointer_in_pointer932
= frozenset([1])
18508 FOLLOW_66_in_pointer937
= frozenset([1])
18509 FOLLOW_parameter_list_in_parameter_type_list948
= frozenset([1, 27])
18510 FOLLOW_27_in_parameter_type_list951
= frozenset([53, 67])
18511 FOLLOW_53_in_parameter_type_list954
= frozenset([67])
18512 FOLLOW_67_in_parameter_type_list958
= frozenset([1])
18513 FOLLOW_parameter_declaration_in_parameter_list971
= frozenset([1, 27])
18514 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])
18515 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])
18516 FOLLOW_parameter_declaration_in_parameter_list981
= frozenset([1, 27])
18517 FOLLOW_declaration_specifiers_in_parameter_declaration994
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18518 FOLLOW_declarator_in_parameter_declaration997
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18519 FOLLOW_abstract_declarator_in_parameter_declaration999
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18520 FOLLOW_53_in_parameter_declaration1004
= frozenset([1])
18521 FOLLOW_pointer_in_parameter_declaration1013
= frozenset([4, 66])
18522 FOLLOW_IDENTIFIER_in_parameter_declaration1016
= frozenset([1])
18523 FOLLOW_IDENTIFIER_in_identifier_list1027
= frozenset([1, 27])
18524 FOLLOW_27_in_identifier_list1031
= frozenset([4])
18525 FOLLOW_IDENTIFIER_in_identifier_list1033
= frozenset([1, 27])
18526 FOLLOW_specifier_qualifier_list_in_type_name1046
= frozenset([1, 62, 64, 66])
18527 FOLLOW_abstract_declarator_in_type_name1048
= frozenset([1])
18528 FOLLOW_type_id_in_type_name1054
= frozenset([1])
18529 FOLLOW_pointer_in_abstract_declarator1065
= frozenset([1, 62, 64])
18530 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067
= frozenset([1])
18531 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073
= frozenset([1])
18532 FOLLOW_62_in_direct_abstract_declarator1086
= frozenset([62, 64, 66])
18533 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088
= frozenset([63])
18534 FOLLOW_63_in_direct_abstract_declarator1090
= frozenset([1, 62, 64])
18535 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094
= frozenset([1, 62, 64])
18536 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098
= frozenset([1, 62, 64])
18537 FOLLOW_64_in_abstract_declarator_suffix1110
= frozenset([65])
18538 FOLLOW_65_in_abstract_declarator_suffix1112
= frozenset([1])
18539 FOLLOW_64_in_abstract_declarator_suffix1117
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18540 FOLLOW_constant_expression_in_abstract_declarator_suffix1119
= frozenset([65])
18541 FOLLOW_65_in_abstract_declarator_suffix1121
= frozenset([1])
18542 FOLLOW_62_in_abstract_declarator_suffix1126
= frozenset([63])
18543 FOLLOW_63_in_abstract_declarator_suffix1128
= frozenset([1])
18544 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])
18545 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135
= frozenset([63])
18546 FOLLOW_63_in_abstract_declarator_suffix1137
= frozenset([1])
18547 FOLLOW_assignment_expression_in_initializer1150
= frozenset([1])
18548 FOLLOW_43_in_initializer1155
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18549 FOLLOW_initializer_list_in_initializer1157
= frozenset([27, 44])
18550 FOLLOW_27_in_initializer1159
= frozenset([44])
18551 FOLLOW_44_in_initializer1162
= frozenset([1])
18552 FOLLOW_initializer_in_initializer_list1173
= frozenset([1, 27])
18553 FOLLOW_27_in_initializer_list1176
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18554 FOLLOW_initializer_in_initializer_list1178
= frozenset([1, 27])
18555 FOLLOW_assignment_expression_in_argument_expression_list1196
= frozenset([1, 27, 53])
18556 FOLLOW_53_in_argument_expression_list1199
= frozenset([1, 27])
18557 FOLLOW_27_in_argument_expression_list1204
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18558 FOLLOW_assignment_expression_in_argument_expression_list1206
= frozenset([1, 27, 53])
18559 FOLLOW_53_in_argument_expression_list1209
= frozenset([1, 27])
18560 FOLLOW_multiplicative_expression_in_additive_expression1225
= frozenset([1, 68, 69])
18561 FOLLOW_68_in_additive_expression1229
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18562 FOLLOW_multiplicative_expression_in_additive_expression1231
= frozenset([1, 68, 69])
18563 FOLLOW_69_in_additive_expression1235
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18564 FOLLOW_multiplicative_expression_in_additive_expression1237
= frozenset([1, 68, 69])
18565 FOLLOW_cast_expression_in_multiplicative_expression1251
= frozenset([1, 66, 70, 71])
18566 FOLLOW_66_in_multiplicative_expression1255
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18567 FOLLOW_cast_expression_in_multiplicative_expression1257
= frozenset([1, 66, 70, 71])
18568 FOLLOW_70_in_multiplicative_expression1261
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18569 FOLLOW_cast_expression_in_multiplicative_expression1263
= frozenset([1, 66, 70, 71])
18570 FOLLOW_71_in_multiplicative_expression1267
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18571 FOLLOW_cast_expression_in_multiplicative_expression1269
= frozenset([1, 66, 70, 71])
18572 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])
18573 FOLLOW_type_name_in_cast_expression1284
= frozenset([63])
18574 FOLLOW_63_in_cast_expression1286
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18575 FOLLOW_cast_expression_in_cast_expression1288
= frozenset([1])
18576 FOLLOW_unary_expression_in_cast_expression1293
= frozenset([1])
18577 FOLLOW_postfix_expression_in_unary_expression1304
= frozenset([1])
18578 FOLLOW_72_in_unary_expression1309
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18579 FOLLOW_unary_expression_in_unary_expression1311
= frozenset([1])
18580 FOLLOW_73_in_unary_expression1316
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18581 FOLLOW_unary_expression_in_unary_expression1318
= frozenset([1])
18582 FOLLOW_unary_operator_in_unary_expression1323
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18583 FOLLOW_cast_expression_in_unary_expression1325
= frozenset([1])
18584 FOLLOW_74_in_unary_expression1330
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18585 FOLLOW_unary_expression_in_unary_expression1332
= frozenset([1])
18586 FOLLOW_74_in_unary_expression1337
= frozenset([62])
18587 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])
18588 FOLLOW_type_name_in_unary_expression1341
= frozenset([63])
18589 FOLLOW_63_in_unary_expression1343
= frozenset([1])
18590 FOLLOW_primary_expression_in_postfix_expression1367
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18591 FOLLOW_64_in_postfix_expression1383
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18592 FOLLOW_expression_in_postfix_expression1385
= frozenset([65])
18593 FOLLOW_65_in_postfix_expression1387
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18594 FOLLOW_62_in_postfix_expression1401
= frozenset([63])
18595 FOLLOW_63_in_postfix_expression1405
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18596 FOLLOW_62_in_postfix_expression1420
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18597 FOLLOW_argument_expression_list_in_postfix_expression1424
= frozenset([63])
18598 FOLLOW_63_in_postfix_expression1428
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18599 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])
18600 FOLLOW_macro_parameter_list_in_postfix_expression1446
= frozenset([63])
18601 FOLLOW_63_in_postfix_expression1448
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18602 FOLLOW_75_in_postfix_expression1462
= frozenset([4])
18603 FOLLOW_IDENTIFIER_in_postfix_expression1466
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18604 FOLLOW_66_in_postfix_expression1482
= frozenset([4])
18605 FOLLOW_IDENTIFIER_in_postfix_expression1486
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18606 FOLLOW_76_in_postfix_expression1502
= frozenset([4])
18607 FOLLOW_IDENTIFIER_in_postfix_expression1506
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18608 FOLLOW_72_in_postfix_expression1522
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18609 FOLLOW_73_in_postfix_expression1536
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18610 FOLLOW_parameter_declaration_in_macro_parameter_list1559
= frozenset([1, 27])
18611 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])
18612 FOLLOW_parameter_declaration_in_macro_parameter_list1564
= frozenset([1, 27])
18613 FOLLOW_set_in_unary_operator0
= frozenset([1])
18614 FOLLOW_IDENTIFIER_in_primary_expression1613
= frozenset([1])
18615 FOLLOW_constant_in_primary_expression1618
= frozenset([1])
18616 FOLLOW_62_in_primary_expression1623
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18617 FOLLOW_expression_in_primary_expression1625
= frozenset([63])
18618 FOLLOW_63_in_primary_expression1627
= frozenset([1])
18619 FOLLOW_HEX_LITERAL_in_constant1643
= frozenset([1])
18620 FOLLOW_OCTAL_LITERAL_in_constant1653
= frozenset([1])
18621 FOLLOW_DECIMAL_LITERAL_in_constant1663
= frozenset([1])
18622 FOLLOW_CHARACTER_LITERAL_in_constant1671
= frozenset([1])
18623 FOLLOW_IDENTIFIER_in_constant1680
= frozenset([4, 9])
18624 FOLLOW_STRING_LITERAL_in_constant1683
= frozenset([1, 4, 9])
18625 FOLLOW_IDENTIFIER_in_constant1688
= frozenset([1, 4])
18626 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699
= frozenset([1])
18627 FOLLOW_assignment_expression_in_expression1715
= frozenset([1, 27])
18628 FOLLOW_27_in_expression1718
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18629 FOLLOW_assignment_expression_in_expression1720
= frozenset([1, 27])
18630 FOLLOW_conditional_expression_in_constant_expression1733
= frozenset([1])
18631 FOLLOW_lvalue_in_assignment_expression1744
= frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18632 FOLLOW_assignment_operator_in_assignment_expression1746
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18633 FOLLOW_assignment_expression_in_assignment_expression1748
= frozenset([1])
18634 FOLLOW_conditional_expression_in_assignment_expression1753
= frozenset([1])
18635 FOLLOW_unary_expression_in_lvalue1765
= frozenset([1])
18636 FOLLOW_set_in_assignment_operator0
= frozenset([1])
18637 FOLLOW_logical_or_expression_in_conditional_expression1839
= frozenset([1, 90])
18638 FOLLOW_90_in_conditional_expression1842
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18639 FOLLOW_expression_in_conditional_expression1844
= frozenset([47])
18640 FOLLOW_47_in_conditional_expression1846
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18641 FOLLOW_conditional_expression_in_conditional_expression1848
= frozenset([1])
18642 FOLLOW_logical_and_expression_in_logical_or_expression1863
= frozenset([1, 91])
18643 FOLLOW_91_in_logical_or_expression1866
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18644 FOLLOW_logical_and_expression_in_logical_or_expression1868
= frozenset([1, 91])
18645 FOLLOW_inclusive_or_expression_in_logical_and_expression1881
= frozenset([1, 92])
18646 FOLLOW_92_in_logical_and_expression1884
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18647 FOLLOW_inclusive_or_expression_in_logical_and_expression1886
= frozenset([1, 92])
18648 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899
= frozenset([1, 93])
18649 FOLLOW_93_in_inclusive_or_expression1902
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18650 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904
= frozenset([1, 93])
18651 FOLLOW_and_expression_in_exclusive_or_expression1917
= frozenset([1, 94])
18652 FOLLOW_94_in_exclusive_or_expression1920
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18653 FOLLOW_and_expression_in_exclusive_or_expression1922
= frozenset([1, 94])
18654 FOLLOW_equality_expression_in_and_expression1935
= frozenset([1, 77])
18655 FOLLOW_77_in_and_expression1938
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18656 FOLLOW_equality_expression_in_and_expression1940
= frozenset([1, 77])
18657 FOLLOW_relational_expression_in_equality_expression1952
= frozenset([1, 95, 96])
18658 FOLLOW_set_in_equality_expression1955
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18659 FOLLOW_relational_expression_in_equality_expression1961
= frozenset([1, 95, 96])
18660 FOLLOW_shift_expression_in_relational_expression1975
= frozenset([1, 97, 98, 99, 100])
18661 FOLLOW_set_in_relational_expression1978
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18662 FOLLOW_shift_expression_in_relational_expression1988
= frozenset([1, 97, 98, 99, 100])
18663 FOLLOW_additive_expression_in_shift_expression2001
= frozenset([1, 101, 102])
18664 FOLLOW_set_in_shift_expression2004
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18665 FOLLOW_additive_expression_in_shift_expression2010
= frozenset([1, 101, 102])
18666 FOLLOW_labeled_statement_in_statement2025
= frozenset([1])
18667 FOLLOW_compound_statement_in_statement2030
= frozenset([1])
18668 FOLLOW_expression_statement_in_statement2035
= frozenset([1])
18669 FOLLOW_selection_statement_in_statement2040
= frozenset([1])
18670 FOLLOW_iteration_statement_in_statement2045
= frozenset([1])
18671 FOLLOW_jump_statement_in_statement2050
= frozenset([1])
18672 FOLLOW_macro_statement_in_statement2055
= frozenset([1])
18673 FOLLOW_asm2_statement_in_statement2060
= frozenset([1])
18674 FOLLOW_asm1_statement_in_statement2065
= frozenset([1])
18675 FOLLOW_asm_statement_in_statement2070
= frozenset([1])
18676 FOLLOW_declaration_in_statement2075
= frozenset([1])
18677 FOLLOW_103_in_asm2_statement2086
= frozenset([4])
18678 FOLLOW_IDENTIFIER_in_asm2_statement2089
= frozenset([62])
18679 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])
18680 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])
18681 FOLLOW_63_in_asm2_statement2101
= frozenset([25])
18682 FOLLOW_25_in_asm2_statement2103
= frozenset([1])
18683 FOLLOW_104_in_asm1_statement2115
= frozenset([43])
18684 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])
18685 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])
18686 FOLLOW_44_in_asm1_statement2127
= frozenset([1])
18687 FOLLOW_105_in_asm_statement2138
= frozenset([43])
18688 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])
18689 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])
18690 FOLLOW_44_in_asm_statement2150
= frozenset([1])
18691 FOLLOW_IDENTIFIER_in_macro_statement2162
= frozenset([62])
18692 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])
18693 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])
18694 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])
18695 FOLLOW_expression_in_macro_statement2173
= frozenset([63])
18696 FOLLOW_63_in_macro_statement2176
= frozenset([1])
18697 FOLLOW_IDENTIFIER_in_labeled_statement2188
= frozenset([47])
18698 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])
18699 FOLLOW_statement_in_labeled_statement2192
= frozenset([1])
18700 FOLLOW_106_in_labeled_statement2197
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18701 FOLLOW_constant_expression_in_labeled_statement2199
= frozenset([47])
18702 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])
18703 FOLLOW_statement_in_labeled_statement2203
= frozenset([1])
18704 FOLLOW_107_in_labeled_statement2208
= frozenset([47])
18705 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])
18706 FOLLOW_statement_in_labeled_statement2212
= frozenset([1])
18707 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])
18708 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])
18709 FOLLOW_statement_list_in_compound_statement2228
= frozenset([44])
18710 FOLLOW_44_in_compound_statement2231
= frozenset([1])
18711 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])
18712 FOLLOW_25_in_expression_statement2254
= frozenset([1])
18713 FOLLOW_expression_in_expression_statement2259
= frozenset([25])
18714 FOLLOW_25_in_expression_statement2261
= frozenset([1])
18715 FOLLOW_108_in_selection_statement2272
= frozenset([62])
18716 FOLLOW_62_in_selection_statement2274
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18717 FOLLOW_expression_in_selection_statement2278
= frozenset([63])
18718 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])
18719 FOLLOW_statement_in_selection_statement2284
= frozenset([1, 109])
18720 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])
18721 FOLLOW_statement_in_selection_statement2301
= frozenset([1])
18722 FOLLOW_110_in_selection_statement2308
= frozenset([62])
18723 FOLLOW_62_in_selection_statement2310
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18724 FOLLOW_expression_in_selection_statement2312
= frozenset([63])
18725 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])
18726 FOLLOW_statement_in_selection_statement2316
= frozenset([1])
18727 FOLLOW_111_in_iteration_statement2327
= frozenset([62])
18728 FOLLOW_62_in_iteration_statement2329
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18729 FOLLOW_expression_in_iteration_statement2333
= frozenset([63])
18730 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])
18731 FOLLOW_statement_in_iteration_statement2337
= frozenset([1])
18732 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])
18733 FOLLOW_statement_in_iteration_statement2346
= frozenset([111])
18734 FOLLOW_111_in_iteration_statement2348
= frozenset([62])
18735 FOLLOW_62_in_iteration_statement2350
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18736 FOLLOW_expression_in_iteration_statement2354
= frozenset([63])
18737 FOLLOW_63_in_iteration_statement2356
= frozenset([25])
18738 FOLLOW_25_in_iteration_statement2358
= frozenset([1])
18739 FOLLOW_113_in_iteration_statement2365
= frozenset([62])
18740 FOLLOW_62_in_iteration_statement2367
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18741 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])
18742 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])
18743 FOLLOW_expression_in_iteration_statement2375
= frozenset([63])
18744 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])
18745 FOLLOW_statement_in_iteration_statement2380
= frozenset([1])
18746 FOLLOW_114_in_jump_statement2393
= frozenset([4])
18747 FOLLOW_IDENTIFIER_in_jump_statement2395
= frozenset([25])
18748 FOLLOW_25_in_jump_statement2397
= frozenset([1])
18749 FOLLOW_115_in_jump_statement2402
= frozenset([25])
18750 FOLLOW_25_in_jump_statement2404
= frozenset([1])
18751 FOLLOW_116_in_jump_statement2409
= frozenset([25])
18752 FOLLOW_25_in_jump_statement2411
= frozenset([1])
18753 FOLLOW_117_in_jump_statement2416
= frozenset([25])
18754 FOLLOW_25_in_jump_statement2418
= frozenset([1])
18755 FOLLOW_117_in_jump_statement2423
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18756 FOLLOW_expression_in_jump_statement2425
= frozenset([25])
18757 FOLLOW_25_in_jump_statement2427
= frozenset([1])
18758 FOLLOW_declaration_specifiers_in_synpred2100
= frozenset([1])
18759 FOLLOW_declaration_specifiers_in_synpred4100
= frozenset([4, 58, 59, 60, 62, 66])
18760 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])
18761 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])
18762 FOLLOW_43_in_synpred4108
= frozenset([1])
18763 FOLLOW_declaration_in_synpred5118
= frozenset([1])
18764 FOLLOW_declaration_specifiers_in_synpred7157
= frozenset([1])
18765 FOLLOW_declaration_specifiers_in_synpred10207
= frozenset([1])
18766 FOLLOW_type_specifier_in_synpred14272
= frozenset([1])
18767 FOLLOW_type_qualifier_in_synpred15286
= frozenset([1])
18768 FOLLOW_type_qualifier_in_synpred33444
= frozenset([1])
18769 FOLLOW_IDENTIFIER_in_synpred34442
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18770 FOLLOW_type_qualifier_in_synpred34444
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18771 FOLLOW_declarator_in_synpred34447
= frozenset([1])
18772 FOLLOW_type_qualifier_in_synpred39566
= frozenset([1])
18773 FOLLOW_type_specifier_in_synpred40570
= frozenset([1])
18774 FOLLOW_pointer_in_synpred66784
= frozenset([4, 58, 59, 60, 62])
18775 FOLLOW_58_in_synpred66788
= frozenset([4, 59, 60, 62])
18776 FOLLOW_59_in_synpred66793
= frozenset([4, 60, 62])
18777 FOLLOW_60_in_synpred66798
= frozenset([4, 62])
18778 FOLLOW_direct_declarator_in_synpred66802
= frozenset([1])
18779 FOLLOW_declarator_suffix_in_synpred67821
= frozenset([1])
18780 FOLLOW_58_in_synpred69830
= frozenset([1])
18781 FOLLOW_declarator_suffix_in_synpred70838
= frozenset([1])
18782 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])
18783 FOLLOW_parameter_type_list_in_synpred73880
= frozenset([63])
18784 FOLLOW_63_in_synpred73882
= frozenset([1])
18785 FOLLOW_62_in_synpred74892
= frozenset([4])
18786 FOLLOW_identifier_list_in_synpred74894
= frozenset([63])
18787 FOLLOW_63_in_synpred74896
= frozenset([1])
18788 FOLLOW_type_qualifier_in_synpred75921
= frozenset([1])
18789 FOLLOW_pointer_in_synpred76924
= frozenset([1])
18790 FOLLOW_66_in_synpred77919
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18791 FOLLOW_type_qualifier_in_synpred77921
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18792 FOLLOW_pointer_in_synpred77924
= frozenset([1])
18793 FOLLOW_66_in_synpred78930
= frozenset([66])
18794 FOLLOW_pointer_in_synpred78932
= frozenset([1])
18795 FOLLOW_53_in_synpred81977
= frozenset([1])
18796 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])
18797 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])
18798 FOLLOW_parameter_declaration_in_synpred82981
= frozenset([1])
18799 FOLLOW_declarator_in_synpred83997
= frozenset([1])
18800 FOLLOW_abstract_declarator_in_synpred84999
= frozenset([1])
18801 FOLLOW_declaration_specifiers_in_synpred86994
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18802 FOLLOW_declarator_in_synpred86997
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18803 FOLLOW_abstract_declarator_in_synpred86999
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18804 FOLLOW_53_in_synpred861004
= frozenset([1])
18805 FOLLOW_specifier_qualifier_list_in_synpred901046
= frozenset([1, 62, 64, 66])
18806 FOLLOW_abstract_declarator_in_synpred901048
= frozenset([1])
18807 FOLLOW_direct_abstract_declarator_in_synpred911067
= frozenset([1])
18808 FOLLOW_62_in_synpred931086
= frozenset([62, 64, 66])
18809 FOLLOW_abstract_declarator_in_synpred931088
= frozenset([63])
18810 FOLLOW_63_in_synpred931090
= frozenset([1])
18811 FOLLOW_abstract_declarator_suffix_in_synpred941098
= frozenset([1])
18812 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])
18813 FOLLOW_type_name_in_synpred1091284
= frozenset([63])
18814 FOLLOW_63_in_synpred1091286
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18815 FOLLOW_cast_expression_in_synpred1091288
= frozenset([1])
18816 FOLLOW_74_in_synpred1141330
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18817 FOLLOW_unary_expression_in_synpred1141332
= frozenset([1])
18818 FOLLOW_62_in_synpred1171420
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18819 FOLLOW_argument_expression_list_in_synpred1171424
= frozenset([63])
18820 FOLLOW_63_in_synpred1171428
= frozenset([1])
18821 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])
18822 FOLLOW_macro_parameter_list_in_synpred1181446
= frozenset([63])
18823 FOLLOW_63_in_synpred1181448
= frozenset([1])
18824 FOLLOW_66_in_synpred1201482
= frozenset([4])
18825 FOLLOW_IDENTIFIER_in_synpred1201486
= frozenset([1])
18826 FOLLOW_STRING_LITERAL_in_synpred1371683
= frozenset([1])
18827 FOLLOW_IDENTIFIER_in_synpred1381680
= frozenset([4, 9])
18828 FOLLOW_STRING_LITERAL_in_synpred1381683
= frozenset([1, 9])
18829 FOLLOW_lvalue_in_synpred1421744
= frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18830 FOLLOW_assignment_operator_in_synpred1421746
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18831 FOLLOW_assignment_expression_in_synpred1421748
= frozenset([1])
18832 FOLLOW_expression_statement_in_synpred1692035
= frozenset([1])
18833 FOLLOW_macro_statement_in_synpred1732055
= frozenset([1])
18834 FOLLOW_asm2_statement_in_synpred1742060
= frozenset([1])
18835 FOLLOW_declaration_in_synpred1812166
= frozenset([1])
18836 FOLLOW_statement_list_in_synpred1822170
= frozenset([1])
18837 FOLLOW_declaration_in_synpred1862225
= frozenset([1])
18838 FOLLOW_statement_in_synpred1882242
= frozenset([1])