1 # $ANTLR 3.0.1 C.g 2010-02-23 09:58:53
3 from __future__
import print_function
5 from antlr3
.compat
import set, frozenset
8 # The file defines the parser for C source files.
10 # THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
11 # This file is generated by running:
12 # java org.antlr.Tool C.g
14 # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
16 # This program and the accompanying materials are licensed and made available
17 # under the terms and conditions of the BSD License which accompanies this
18 # distribution. The full text of the license may be found at:
19 # http://opensource.org/licenses/bsd-license.php
21 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
22 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
31 # for convenience in actions
32 HIDDEN
= BaseRecognizer
.HIDDEN
47 FLOATING_POINT_LITERAL
=10
60 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
61 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
62 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
63 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
64 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
65 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
66 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
67 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
68 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
69 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
70 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
71 "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
72 "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
73 "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
74 "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
75 "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
76 "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
77 "'goto'", "'continue'", "'break'", "'return'"
81 class function_definition_scope(object):
83 self
.ModifierText
= None
88 self
.DeclOffset
= None
89 class postfix_expression_scope(object):
91 self
.FuncCallText
= None
94 class CParser(Parser
):
95 grammarFileName
= "C.g"
96 tokenNames
= tokenNames
98 def __init__(self
, input):
99 Parser
.__init
__(self
, input)
102 self
.function_definition_stack
= []
103 self
.postfix_expression_stack
= []
105 def printTokenInfo(self
, line
, offset
, tokenText
):
106 print(str(line
)+ ',' + str(offset
) + ':' + str(tokenText
))
108 def StorePredicateExpression(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
109 PredExp
= CodeFragment
.PredicateExpression(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
110 FileProfile
.PredicateExpressionList
.append(PredExp
)
112 def StoreEnumerationDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
113 EnumDef
= CodeFragment
.EnumerationDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
114 FileProfile
.EnumerationDefinitionList
.append(EnumDef
)
116 def StoreStructUnionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, Text
):
117 SUDef
= CodeFragment
.StructUnionDefinition(Text
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
118 FileProfile
.StructUnionDefinitionList
.append(SUDef
)
120 def StoreTypedefDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FromText
, ToText
):
121 Tdef
= CodeFragment
.TypedefDefinition(FromText
, ToText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
122 FileProfile
.TypedefDefinitionList
.append(Tdef
)
124 def StoreFunctionDefinition(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
, LeftBraceLine
, LeftBraceOffset
, DeclLine
, DeclOffset
):
125 FuncDef
= CodeFragment
.FunctionDefinition(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
), (LeftBraceLine
, LeftBraceOffset
), (DeclLine
, DeclOffset
))
126 FileProfile
.FunctionDefinitionList
.append(FuncDef
)
128 def StoreVariableDeclaration(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, ModifierText
, DeclText
):
129 VarDecl
= CodeFragment
.VariableDeclaration(ModifierText
, DeclText
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
130 FileProfile
.VariableDeclarationList
.append(VarDecl
)
132 def StoreFunctionCalling(self
, StartLine
, StartOffset
, EndLine
, EndOffset
, FuncName
, ParamList
):
133 FuncCall
= CodeFragment
.FunctionCalling(FuncName
, ParamList
, (StartLine
, StartOffset
), (EndLine
, EndOffset
))
134 FileProfile
.FunctionCallingList
.append(FuncCall
)
139 # $ANTLR start translation_unit
140 # C.g:102:1: translation_unit : ( external_declaration )* ;
141 def translation_unit(self
, ):
143 translation_unit_StartIndex
= self
.input.index()
146 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 1):
149 # C.g:103:2: ( ( external_declaration )* )
150 # C.g:103:4: ( external_declaration )*
151 # C.g:103:4: ( external_declaration )*
154 LA1_0
= self
.input.LA(1)
156 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) :
161 # C.g:0:0: external_declaration
162 self
.following
.append(self
.FOLLOW_external_declaration_in_translation_unit74
)
163 self
.external_declaration()
177 except RecognitionException
as re
:
179 self
.recover(self
.input, re
)
181 if self
.backtracking
> 0:
182 self
.memoize(self
.input, 1, translation_unit_StartIndex
)
188 # $ANTLR end translation_unit
191 # $ANTLR start external_declaration
192 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
193 def external_declaration(self
, ):
195 external_declaration_StartIndex
= self
.input.index()
198 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 2):
201 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
203 LA3_0
= self
.input.LA(1)
205 if ((29 <= LA3_0
<= 33)) :
206 LA3_1
= self
.input.LA(2)
208 if (self
.synpred4()) :
210 elif (self
.synpred5()) :
213 if self
.backtracking
> 0:
217 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self
.input)
222 LA3_2
= self
.input.LA(2)
224 if (self
.synpred4()) :
226 elif (self
.synpred5()) :
229 if self
.backtracking
> 0:
233 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self
.input)
238 LA3_3
= self
.input.LA(2)
240 if (self
.synpred4()) :
242 elif (self
.synpred5()) :
245 if self
.backtracking
> 0:
249 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self
.input)
254 LA3_4
= self
.input.LA(2)
256 if (self
.synpred4()) :
258 elif (self
.synpred5()) :
261 if self
.backtracking
> 0:
265 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self
.input)
270 LA3_5
= self
.input.LA(2)
272 if (self
.synpred4()) :
274 elif (self
.synpred5()) :
277 if self
.backtracking
> 0:
281 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self
.input)
286 LA3_6
= self
.input.LA(2)
288 if (self
.synpred4()) :
290 elif (self
.synpred5()) :
293 if self
.backtracking
> 0:
297 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self
.input)
302 LA3_7
= self
.input.LA(2)
304 if (self
.synpred4()) :
306 elif (self
.synpred5()) :
309 if self
.backtracking
> 0:
313 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self
.input)
318 LA3_8
= self
.input.LA(2)
320 if (self
.synpred4()) :
322 elif (self
.synpred5()) :
325 if self
.backtracking
> 0:
329 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self
.input)
334 LA3_9
= self
.input.LA(2)
336 if (self
.synpred4()) :
338 elif (self
.synpred5()) :
341 if self
.backtracking
> 0:
345 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self
.input)
350 LA3_10
= self
.input.LA(2)
352 if (self
.synpred4()) :
354 elif (self
.synpred5()) :
357 if self
.backtracking
> 0:
361 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self
.input)
365 elif ((45 <= LA3_0
<= 46)) :
366 LA3_11
= self
.input.LA(2)
368 if (self
.synpred4()) :
370 elif (self
.synpred5()) :
373 if self
.backtracking
> 0:
377 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self
.input)
382 LA3_12
= self
.input.LA(2)
384 if (self
.synpred4()) :
386 elif (self
.synpred5()) :
389 if self
.backtracking
> 0:
393 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self
.input)
397 elif (LA3_0
== IDENTIFIER
) :
398 LA3_13
= self
.input.LA(2)
400 if (self
.synpred4()) :
402 elif (self
.synpred5()) :
407 if self
.backtracking
> 0:
411 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self
.input)
416 LA3_14
= self
.input.LA(2)
418 if (self
.synpred4()) :
420 elif (self
.synpred5()) :
423 if self
.backtracking
> 0:
427 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self
.input)
431 elif (LA3_0
== 66) and (self
.synpred4()):
434 LA3_16
= self
.input.LA(2)
436 if (self
.synpred4()) :
438 elif (self
.synpred5()) :
441 if self
.backtracking
> 0:
445 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self
.input)
450 LA3_17
= self
.input.LA(2)
452 if (self
.synpred4()) :
454 elif (self
.synpred5()) :
457 if self
.backtracking
> 0:
461 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self
.input)
465 elif ((49 <= LA3_0
<= 57) or LA3_0
== 61) :
466 LA3_18
= self
.input.LA(2)
468 if (self
.synpred4()) :
470 elif (self
.synpred5()) :
473 if self
.backtracking
> 0:
477 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self
.input)
481 elif (LA3_0
== 62) and (self
.synpred4()):
486 if self
.backtracking
> 0:
490 nvae
= NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self
.input)
495 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
496 self
.following
.append(self
.FOLLOW_function_definition_in_external_declaration113
)
497 self
.function_definition()
504 # C.g:120:4: declaration
505 self
.following
.append(self
.FOLLOW_declaration_in_external_declaration118
)
513 # C.g:121:4: macro_statement ( ';' )?
514 self
.following
.append(self
.FOLLOW_macro_statement_in_external_declaration123
)
515 self
.macro_statement()
519 # C.g:121:20: ( ';' )?
521 LA2_0
= self
.input.LA(1)
527 self
.match(self
.input, 25, self
.FOLLOW_25_in_external_declaration126
)
536 except RecognitionException
as re
:
538 self
.recover(self
.input, re
)
540 if self
.backtracking
> 0:
541 self
.memoize(self
.input, 2, external_declaration_StartIndex
)
547 # $ANTLR end external_declaration
549 class function_definition_return(object):
556 # $ANTLR start function_definition
557 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
558 def function_definition(self
, ):
559 self
.function_definition_stack
.append(function_definition_scope())
560 retval
= self
.function_definition_return()
561 retval
.start
= self
.input.LT(1)
562 function_definition_StartIndex
= self
.input.index()
573 self
.function_definition_stack
[-1].ModifierText
= ''
574 self
.function_definition_stack
[-1].DeclText
= ''
575 self
.function_definition_stack
[-1].LBLine
= 0
576 self
.function_definition_stack
[-1].LBOffset
= 0
577 self
.function_definition_stack
[-1].DeclLine
= 0
578 self
.function_definition_stack
[-1].DeclOffset
= 0
582 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 3):
585 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
586 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
587 # C.g:146:5: (d= declaration_specifiers )?
589 LA4
= self
.input.LA(1)
590 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:
592 elif LA4
== IDENTIFIER
:
593 LA4
= self
.input.LA(2)
597 LA4_21
= self
.input.LA(3)
599 if (self
.synpred7()) :
602 LA4_22
= self
.input.LA(3)
604 if (self
.synpred7()) :
607 LA4_23
= self
.input.LA(3)
609 if (self
.synpred7()) :
611 elif LA4
== IDENTIFIER
:
612 LA4_24
= self
.input.LA(3)
614 if (self
.synpred7()) :
617 LA4_25
= self
.input.LA(3)
619 if (self
.synpred7()) :
621 elif LA4
== 29 or LA4
== 30 or LA4
== 31 or LA4
== 32 or LA4
== 33:
622 LA4_26
= self
.input.LA(3)
624 if (self
.synpred7()) :
627 LA4_27
= self
.input.LA(3)
629 if (self
.synpred7()) :
632 LA4_28
= self
.input.LA(3)
634 if (self
.synpred7()) :
637 LA4_29
= self
.input.LA(3)
639 if (self
.synpred7()) :
642 LA4_30
= self
.input.LA(3)
644 if (self
.synpred7()) :
647 LA4_31
= self
.input.LA(3)
649 if (self
.synpred7()) :
652 LA4_32
= self
.input.LA(3)
654 if (self
.synpred7()) :
657 LA4_33
= self
.input.LA(3)
659 if (self
.synpred7()) :
662 LA4_34
= self
.input.LA(3)
664 if (self
.synpred7()) :
667 LA4_35
= self
.input.LA(3)
669 if (self
.synpred7()) :
671 elif LA4
== 45 or LA4
== 46:
672 LA4_36
= self
.input.LA(3)
674 if (self
.synpred7()) :
677 LA4_37
= self
.input.LA(3)
679 if (self
.synpred7()) :
681 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:
682 LA4_38
= self
.input.LA(3)
684 if (self
.synpred7()) :
687 LA4_14
= self
.input.LA(2)
689 if (self
.synpred7()) :
692 LA4_16
= self
.input.LA(2)
694 if (self
.synpred7()) :
697 LA4_17
= self
.input.LA(2)
699 if (self
.synpred7()) :
702 # C.g:0:0: d= declaration_specifiers
703 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_function_definition157
)
704 d
= self
.declaration_specifiers()
711 self
.following
.append(self
.FOLLOW_declarator_in_function_definition160
)
712 declarator1
= self
.declarator()
716 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
718 LA6_0
= self
.input.LA(1)
720 if (LA6_0
== IDENTIFIER
or LA6_0
== 26 or (29 <= LA6_0
<= 42) or (45 <= LA6_0
<= 46) or (48 <= LA6_0
<= 61)) :
725 if self
.backtracking
> 0:
729 nvae
= NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self
.input)
734 # C.g:147:5: ( declaration )+ a= compound_statement
735 # C.g:147:5: ( declaration )+
739 LA5_0
= self
.input.LA(1)
741 if (LA5_0
== IDENTIFIER
or LA5_0
== 26 or (29 <= LA5_0
<= 42) or (45 <= LA5_0
<= 46) or (48 <= LA5_0
<= 61)) :
746 # C.g:0:0: declaration
747 self
.following
.append(self
.FOLLOW_declaration_in_function_definition166
)
758 if self
.backtracking
> 0:
762 eee
= EarlyExitException(5, self
.input)
768 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition171
)
769 a
= self
.compound_statement()
776 # C.g:148:5: b= compound_statement
777 self
.following
.append(self
.FOLLOW_compound_statement_in_function_definition180
)
778 b
= self
.compound_statement()
785 if self
.backtracking
== 0:
788 self
.function_definition_stack
[-1].ModifierText
= self
.input.toString(d
.start
, d
.stop
)
790 self
.function_definition_stack
[-1].ModifierText
= ''
791 self
.function_definition_stack
[-1].DeclText
= self
.input.toString(declarator1
.start
, declarator1
.stop
)
792 self
.function_definition_stack
[-1].DeclLine
= declarator1
.start
.line
793 self
.function_definition_stack
[-1].DeclOffset
= declarator1
.start
.charPositionInLine
795 self
.function_definition_stack
[-1].LBLine
= a
.start
.line
796 self
.function_definition_stack
[-1].LBOffset
= a
.start
.charPositionInLine
798 self
.function_definition_stack
[-1].LBLine
= b
.start
.line
799 self
.function_definition_stack
[-1].LBOffset
= b
.start
.charPositionInLine
805 retval
.stop
= self
.input.LT(-1)
807 if self
.backtracking
== 0:
809 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
)
813 except RecognitionException
as re
:
815 self
.recover(self
.input, re
)
817 if self
.backtracking
> 0:
818 self
.memoize(self
.input, 3, function_definition_StartIndex
)
820 self
.function_definition_stack
.pop()
825 # $ANTLR end function_definition
828 # $ANTLR start declaration
829 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
830 def declaration(self
, ):
832 declaration_StartIndex
= self
.input.index()
847 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 4):
850 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
852 LA9_0
= self
.input.LA(1)
856 elif (LA9_0
== IDENTIFIER
or (29 <= LA9_0
<= 42) or (45 <= LA9_0
<= 46) or (48 <= LA9_0
<= 61)) :
859 if self
.backtracking
> 0:
863 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)
868 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
870 self
.match(self
.input, 26, self
.FOLLOW_26_in_declaration203
)
873 # C.g:167:17: (b= declaration_specifiers )?
875 LA7
= self
.input.LA(1)
876 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:
878 elif LA7
== IDENTIFIER
:
879 LA7_13
= self
.input.LA(2)
882 LA7_21
= self
.input.LA(3)
884 if (self
.synpred10()) :
886 elif (LA7_13
== IDENTIFIER
or (29 <= LA7_13
<= 42) or (45 <= LA7_13
<= 46) or (48 <= LA7_13
<= 61) or LA7_13
== 66) :
889 LA7_14
= self
.input.LA(2)
891 if (self
.synpred10()) :
894 LA7_16
= self
.input.LA(2)
896 if (self
.synpred10()) :
899 LA7_17
= self
.input.LA(2)
901 if (self
.synpred10()) :
904 # C.g:0:0: b= declaration_specifiers
905 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration207
)
906 b
= self
.declaration_specifiers()
913 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration216
)
914 c
= self
.init_declarator_list()
919 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration220
)
922 if self
.backtracking
== 0:
925 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, self
.input.toString(b
.start
, b
.stop
), self
.input.toString(c
.start
, c
.stop
))
927 self
.StoreTypedefDefinition(a
.line
, a
.charPositionInLine
, d
.line
, d
.charPositionInLine
, '', self
.input.toString(c
.start
, c
.stop
))
933 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
934 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_declaration234
)
935 s
= self
.declaration_specifiers()
939 # C.g:175:30: (t= init_declarator_list )?
941 LA8_0
= self
.input.LA(1)
943 if (LA8_0
== IDENTIFIER
or (58 <= LA8_0
<= 60) or LA8_0
== 62 or LA8_0
== 66) :
946 # C.g:0:0: t= init_declarator_list
947 self
.following
.append(self
.FOLLOW_init_declarator_list_in_declaration238
)
948 t
= self
.init_declarator_list()
956 self
.match(self
.input, 25, self
.FOLLOW_25_in_declaration243
)
959 if self
.backtracking
== 0:
962 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
))
968 except RecognitionException
as re
:
970 self
.recover(self
.input, re
)
972 if self
.backtracking
> 0:
973 self
.memoize(self
.input, 4, declaration_StartIndex
)
979 # $ANTLR end declaration
981 class declaration_specifiers_return(object):
988 # $ANTLR start declaration_specifiers
989 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
990 def declaration_specifiers(self
, ):
992 retval
= self
.declaration_specifiers_return()
993 retval
.start
= self
.input.LT(1)
994 declaration_specifiers_StartIndex
= self
.input.index()
997 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 5):
1000 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
1001 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1002 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1006 LA10
= self
.input.LA(1)
1008 LA10_2
= self
.input.LA(2)
1010 if (self
.synpred15()) :
1015 LA10_3
= self
.input.LA(2)
1017 if (self
.synpred15()) :
1022 LA10_4
= self
.input.LA(2)
1024 if (self
.synpred15()) :
1028 elif LA10
== IDENTIFIER
:
1029 LA10_5
= self
.input.LA(2)
1031 if (self
.synpred14()) :
1036 LA10_9
= self
.input.LA(2)
1038 if (self
.synpred15()) :
1042 elif LA10
== 29 or LA10
== 30 or LA10
== 31 or LA10
== 32 or LA10
== 33:
1044 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:
1046 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:
1050 # C.g:183:10: storage_class_specifier
1051 self
.following
.append(self
.FOLLOW_storage_class_specifier_in_declaration_specifiers264
)
1052 self
.storage_class_specifier()
1053 self
.following
.pop()
1059 # C.g:184:7: type_specifier
1060 self
.following
.append(self
.FOLLOW_type_specifier_in_declaration_specifiers272
)
1061 self
.type_specifier()
1062 self
.following
.pop()
1068 # C.g:185:13: type_qualifier
1069 self
.following
.append(self
.FOLLOW_type_qualifier_in_declaration_specifiers286
)
1070 self
.type_qualifier()
1071 self
.following
.pop()
1080 if self
.backtracking
> 0:
1084 eee
= EarlyExitException(10, self
.input)
1093 retval
.stop
= self
.input.LT(-1)
1096 except RecognitionException
as re
:
1097 self
.reportError(re
)
1098 self
.recover(self
.input, re
)
1100 if self
.backtracking
> 0:
1101 self
.memoize(self
.input, 5, declaration_specifiers_StartIndex
)
1107 # $ANTLR end declaration_specifiers
1109 class init_declarator_list_return(object):
1116 # $ANTLR start init_declarator_list
1117 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1118 def init_declarator_list(self
, ):
1120 retval
= self
.init_declarator_list_return()
1121 retval
.start
= self
.input.LT(1)
1122 init_declarator_list_StartIndex
= self
.input.index()
1125 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 6):
1128 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1129 # C.g:190:4: init_declarator ( ',' init_declarator )*
1130 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list308
)
1131 self
.init_declarator()
1132 self
.following
.pop()
1135 # C.g:190:20: ( ',' init_declarator )*
1138 LA11_0
= self
.input.LA(1)
1145 # C.g:190:21: ',' init_declarator
1146 self
.match(self
.input, 27, self
.FOLLOW_27_in_init_declarator_list311
)
1149 self
.following
.append(self
.FOLLOW_init_declarator_in_init_declarator_list313
)
1150 self
.init_declarator()
1151 self
.following
.pop()
1163 retval
.stop
= self
.input.LT(-1)
1166 except RecognitionException
as re
:
1167 self
.reportError(re
)
1168 self
.recover(self
.input, re
)
1170 if self
.backtracking
> 0:
1171 self
.memoize(self
.input, 6, init_declarator_list_StartIndex
)
1177 # $ANTLR end init_declarator_list
1180 # $ANTLR start init_declarator
1181 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1182 def init_declarator(self
, ):
1184 init_declarator_StartIndex
= self
.input.index()
1187 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 7):
1190 # C.g:194:2: ( declarator ( '=' initializer )? )
1191 # C.g:194:4: declarator ( '=' initializer )?
1192 self
.following
.append(self
.FOLLOW_declarator_in_init_declarator326
)
1194 self
.following
.pop()
1197 # C.g:194:15: ( '=' initializer )?
1199 LA12_0
= self
.input.LA(1)
1204 # C.g:194:16: '=' initializer
1205 self
.match(self
.input, 28, self
.FOLLOW_28_in_init_declarator329
)
1208 self
.following
.append(self
.FOLLOW_initializer_in_init_declarator331
)
1210 self
.following
.pop()
1220 except RecognitionException
as re
:
1221 self
.reportError(re
)
1222 self
.recover(self
.input, re
)
1224 if self
.backtracking
> 0:
1225 self
.memoize(self
.input, 7, init_declarator_StartIndex
)
1231 # $ANTLR end init_declarator
1234 # $ANTLR start storage_class_specifier
1235 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1236 def storage_class_specifier(self
, ):
1238 storage_class_specifier_StartIndex
= self
.input.index()
1241 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 8):
1244 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1246 if (29 <= self
.input.LA(1) <= 33):
1247 self
.input.consume();
1248 self
.errorRecovery
= False
1252 if self
.backtracking
> 0:
1256 mse
= MismatchedSetException(None, self
.input)
1257 self
.recoverFromMismatchedSet(
1258 self
.input, mse
, self
.FOLLOW_set_in_storage_class_specifier0
1267 except RecognitionException
as re
:
1268 self
.reportError(re
)
1269 self
.recover(self
.input, re
)
1271 if self
.backtracking
> 0:
1272 self
.memoize(self
.input, 8, storage_class_specifier_StartIndex
)
1278 # $ANTLR end storage_class_specifier
1281 # $ANTLR start type_specifier
1282 # 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 );
1283 def type_specifier(self
, ):
1285 type_specifier_StartIndex
= self
.input.index()
1293 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 9):
1296 # 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 )
1298 LA13_0
= self
.input.LA(1)
1302 elif (LA13_0
== 35) :
1304 elif (LA13_0
== 36) :
1306 elif (LA13_0
== 37) :
1308 elif (LA13_0
== 38) :
1310 elif (LA13_0
== 39) :
1312 elif (LA13_0
== 40) :
1314 elif (LA13_0
== 41) :
1316 elif (LA13_0
== 42) :
1318 elif ((45 <= LA13_0
<= 46)) :
1320 elif (LA13_0
== 48) :
1322 elif (LA13_0
== IDENTIFIER
) and (self
.synpred34()):
1325 if self
.backtracking
> 0:
1329 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)
1335 self
.match(self
.input, 34, self
.FOLLOW_34_in_type_specifier376
)
1342 self
.match(self
.input, 35, self
.FOLLOW_35_in_type_specifier381
)
1348 # C.g:208:4: 'short'
1349 self
.match(self
.input, 36, self
.FOLLOW_36_in_type_specifier386
)
1356 self
.match(self
.input, 37, self
.FOLLOW_37_in_type_specifier391
)
1363 self
.match(self
.input, 38, self
.FOLLOW_38_in_type_specifier396
)
1369 # C.g:211:4: 'float'
1370 self
.match(self
.input, 39, self
.FOLLOW_39_in_type_specifier401
)
1376 # C.g:212:4: 'double'
1377 self
.match(self
.input, 40, self
.FOLLOW_40_in_type_specifier406
)
1383 # C.g:213:4: 'signed'
1384 self
.match(self
.input, 41, self
.FOLLOW_41_in_type_specifier411
)
1390 # C.g:214:4: 'unsigned'
1391 self
.match(self
.input, 42, self
.FOLLOW_42_in_type_specifier416
)
1397 # C.g:215:4: s= struct_or_union_specifier
1398 self
.following
.append(self
.FOLLOW_struct_or_union_specifier_in_type_specifier423
)
1399 s
= self
.struct_or_union_specifier()
1400 self
.following
.pop()
1403 if self
.backtracking
== 0:
1405 if s
.stop
is not None:
1406 self
.StoreStructUnionDefinition(s
.start
.line
, s
.start
.charPositionInLine
, s
.stop
.line
, s
.stop
.charPositionInLine
, self
.input.toString(s
.start
, s
.stop
))
1412 # C.g:220:4: e= enum_specifier
1413 self
.following
.append(self
.FOLLOW_enum_specifier_in_type_specifier433
)
1414 e
= self
.enum_specifier()
1415 self
.following
.pop()
1418 if self
.backtracking
== 0:
1420 if e
.stop
is not None:
1421 self
.StoreEnumerationDefinition(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
1427 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1428 self
.following
.append(self
.FOLLOW_type_id_in_type_specifier451
)
1430 self
.following
.pop()
1436 except RecognitionException
as re
:
1437 self
.reportError(re
)
1438 self
.recover(self
.input, re
)
1440 if self
.backtracking
> 0:
1441 self
.memoize(self
.input, 9, type_specifier_StartIndex
)
1447 # $ANTLR end type_specifier
1450 # $ANTLR start type_id
1451 # C.g:228:1: type_id : IDENTIFIER ;
1452 def type_id(self
, ):
1454 type_id_StartIndex
= self
.input.index()
1457 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 10):
1460 # C.g:229:5: ( IDENTIFIER )
1461 # C.g:229:9: IDENTIFIER
1462 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_type_id467
)
1469 except RecognitionException
as re
:
1470 self
.reportError(re
)
1471 self
.recover(self
.input, re
)
1473 if self
.backtracking
> 0:
1474 self
.memoize(self
.input, 10, type_id_StartIndex
)
1480 # $ANTLR end type_id
1482 class struct_or_union_specifier_return(object):
1489 # $ANTLR start struct_or_union_specifier
1490 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1491 def struct_or_union_specifier(self
, ):
1493 retval
= self
.struct_or_union_specifier_return()
1494 retval
.start
= self
.input.LT(1)
1495 struct_or_union_specifier_StartIndex
= self
.input.index()
1498 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 11):
1501 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1503 LA15_0
= self
.input.LA(1)
1505 if ((45 <= LA15_0
<= 46)) :
1506 LA15_1
= self
.input.LA(2)
1508 if (LA15_1
== IDENTIFIER
) :
1509 LA15_2
= self
.input.LA(3)
1513 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) :
1516 if self
.backtracking
> 0:
1520 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)
1524 elif (LA15_1
== 43) :
1527 if self
.backtracking
> 0:
1531 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)
1536 if self
.backtracking
> 0:
1540 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)
1545 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1546 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier494
)
1547 self
.struct_or_union()
1548 self
.following
.pop()
1551 # C.g:235:20: ( IDENTIFIER )?
1553 LA14_0
= self
.input.LA(1)
1555 if (LA14_0
== IDENTIFIER
) :
1558 # C.g:0:0: IDENTIFIER
1559 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496
)
1565 self
.match(self
.input, 43, self
.FOLLOW_43_in_struct_or_union_specifier499
)
1568 self
.following
.append(self
.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501
)
1569 self
.struct_declaration_list()
1570 self
.following
.pop()
1573 self
.match(self
.input, 44, self
.FOLLOW_44_in_struct_or_union_specifier503
)
1579 # C.g:236:4: struct_or_union IDENTIFIER
1580 self
.following
.append(self
.FOLLOW_struct_or_union_in_struct_or_union_specifier508
)
1581 self
.struct_or_union()
1582 self
.following
.pop()
1585 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510
)
1590 retval
.stop
= self
.input.LT(-1)
1593 except RecognitionException
as re
:
1594 self
.reportError(re
)
1595 self
.recover(self
.input, re
)
1597 if self
.backtracking
> 0:
1598 self
.memoize(self
.input, 11, struct_or_union_specifier_StartIndex
)
1604 # $ANTLR end struct_or_union_specifier
1607 # $ANTLR start struct_or_union
1608 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1609 def struct_or_union(self
, ):
1611 struct_or_union_StartIndex
= self
.input.index()
1614 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 12):
1617 # C.g:240:2: ( 'struct' | 'union' )
1619 if (45 <= self
.input.LA(1) <= 46):
1620 self
.input.consume();
1621 self
.errorRecovery
= False
1625 if self
.backtracking
> 0:
1629 mse
= MismatchedSetException(None, self
.input)
1630 self
.recoverFromMismatchedSet(
1631 self
.input, mse
, self
.FOLLOW_set_in_struct_or_union0
1640 except RecognitionException
as re
:
1641 self
.reportError(re
)
1642 self
.recover(self
.input, re
)
1644 if self
.backtracking
> 0:
1645 self
.memoize(self
.input, 12, struct_or_union_StartIndex
)
1651 # $ANTLR end struct_or_union
1654 # $ANTLR start struct_declaration_list
1655 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1656 def struct_declaration_list(self
, ):
1658 struct_declaration_list_StartIndex
= self
.input.index()
1661 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 13):
1664 # C.g:245:2: ( ( struct_declaration )+ )
1665 # C.g:245:4: ( struct_declaration )+
1666 # C.g:245:4: ( struct_declaration )+
1670 LA16_0
= self
.input.LA(1)
1672 if (LA16_0
== IDENTIFIER
or (34 <= LA16_0
<= 42) or (45 <= LA16_0
<= 46) or (48 <= LA16_0
<= 61)) :
1677 # C.g:0:0: struct_declaration
1678 self
.following
.append(self
.FOLLOW_struct_declaration_in_struct_declaration_list537
)
1679 self
.struct_declaration()
1680 self
.following
.pop()
1689 if self
.backtracking
> 0:
1693 eee
= EarlyExitException(16, self
.input)
1703 except RecognitionException
as re
:
1704 self
.reportError(re
)
1705 self
.recover(self
.input, re
)
1707 if self
.backtracking
> 0:
1708 self
.memoize(self
.input, 13, struct_declaration_list_StartIndex
)
1714 # $ANTLR end struct_declaration_list
1717 # $ANTLR start struct_declaration
1718 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1719 def struct_declaration(self
, ):
1721 struct_declaration_StartIndex
= self
.input.index()
1724 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 14):
1727 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1728 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1729 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_struct_declaration549
)
1730 self
.specifier_qualifier_list()
1731 self
.following
.pop()
1734 self
.following
.append(self
.FOLLOW_struct_declarator_list_in_struct_declaration551
)
1735 self
.struct_declarator_list()
1736 self
.following
.pop()
1739 self
.match(self
.input, 25, self
.FOLLOW_25_in_struct_declaration553
)
1746 except RecognitionException
as re
:
1747 self
.reportError(re
)
1748 self
.recover(self
.input, re
)
1750 if self
.backtracking
> 0:
1751 self
.memoize(self
.input, 14, struct_declaration_StartIndex
)
1757 # $ANTLR end struct_declaration
1760 # $ANTLR start specifier_qualifier_list
1761 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1762 def specifier_qualifier_list(self
, ):
1764 specifier_qualifier_list_StartIndex
= self
.input.index()
1767 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 15):
1770 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1771 # C.g:253:4: ( type_qualifier | type_specifier )+
1772 # C.g:253:4: ( type_qualifier | type_specifier )+
1776 LA17
= self
.input.LA(1)
1778 LA17_2
= self
.input.LA(2)
1780 if (self
.synpred39()) :
1785 LA17_3
= self
.input.LA(2)
1787 if (self
.synpred39()) :
1792 LA17_4
= self
.input.LA(2)
1794 if (self
.synpred39()) :
1798 elif LA17
== IDENTIFIER
:
1799 LA17
= self
.input.LA(2)
1800 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:
1803 LA17_94
= self
.input.LA(3)
1805 if (self
.synpred40()) :
1810 LA17_95
= self
.input.LA(3)
1812 if (self
.synpred40()) :
1817 LA17_96
= self
.input.LA(3)
1819 if (self
.synpred40()) :
1824 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:
1826 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:
1830 # C.g:253:6: type_qualifier
1831 self
.following
.append(self
.FOLLOW_type_qualifier_in_specifier_qualifier_list566
)
1832 self
.type_qualifier()
1833 self
.following
.pop()
1839 # C.g:253:23: type_specifier
1840 self
.following
.append(self
.FOLLOW_type_specifier_in_specifier_qualifier_list570
)
1841 self
.type_specifier()
1842 self
.following
.pop()
1851 if self
.backtracking
> 0:
1855 eee
= EarlyExitException(17, self
.input)
1865 except RecognitionException
as re
:
1866 self
.reportError(re
)
1867 self
.recover(self
.input, re
)
1869 if self
.backtracking
> 0:
1870 self
.memoize(self
.input, 15, specifier_qualifier_list_StartIndex
)
1876 # $ANTLR end specifier_qualifier_list
1879 # $ANTLR start struct_declarator_list
1880 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1881 def struct_declarator_list(self
, ):
1883 struct_declarator_list_StartIndex
= self
.input.index()
1886 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 16):
1889 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1890 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1891 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list584
)
1892 self
.struct_declarator()
1893 self
.following
.pop()
1896 # C.g:257:22: ( ',' struct_declarator )*
1899 LA18_0
= self
.input.LA(1)
1906 # C.g:257:23: ',' struct_declarator
1907 self
.match(self
.input, 27, self
.FOLLOW_27_in_struct_declarator_list587
)
1910 self
.following
.append(self
.FOLLOW_struct_declarator_in_struct_declarator_list589
)
1911 self
.struct_declarator()
1912 self
.following
.pop()
1925 except RecognitionException
as re
:
1926 self
.reportError(re
)
1927 self
.recover(self
.input, re
)
1929 if self
.backtracking
> 0:
1930 self
.memoize(self
.input, 16, struct_declarator_list_StartIndex
)
1936 # $ANTLR end struct_declarator_list
1939 # $ANTLR start struct_declarator
1940 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1941 def struct_declarator(self
, ):
1943 struct_declarator_StartIndex
= self
.input.index()
1946 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 17):
1949 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1951 LA20_0
= self
.input.LA(1)
1953 if (LA20_0
== IDENTIFIER
or (58 <= LA20_0
<= 60) or LA20_0
== 62 or LA20_0
== 66) :
1955 elif (LA20_0
== 47) :
1958 if self
.backtracking
> 0:
1962 nvae
= NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self
.input)
1967 # C.g:261:4: declarator ( ':' constant_expression )?
1968 self
.following
.append(self
.FOLLOW_declarator_in_struct_declarator602
)
1970 self
.following
.pop()
1973 # C.g:261:15: ( ':' constant_expression )?
1975 LA19_0
= self
.input.LA(1)
1980 # C.g:261:16: ':' constant_expression
1981 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator605
)
1984 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator607
)
1985 self
.constant_expression()
1986 self
.following
.pop()
1995 # C.g:262:4: ':' constant_expression
1996 self
.match(self
.input, 47, self
.FOLLOW_47_in_struct_declarator614
)
1999 self
.following
.append(self
.FOLLOW_constant_expression_in_struct_declarator616
)
2000 self
.constant_expression()
2001 self
.following
.pop()
2007 except RecognitionException
as re
:
2008 self
.reportError(re
)
2009 self
.recover(self
.input, re
)
2011 if self
.backtracking
> 0:
2012 self
.memoize(self
.input, 17, struct_declarator_StartIndex
)
2018 # $ANTLR end struct_declarator
2020 class enum_specifier_return(object):
2027 # $ANTLR start enum_specifier
2028 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2029 def enum_specifier(self
, ):
2031 retval
= self
.enum_specifier_return()
2032 retval
.start
= self
.input.LT(1)
2033 enum_specifier_StartIndex
= self
.input.index()
2036 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 18):
2039 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2041 LA23_0
= self
.input.LA(1)
2044 LA23_1
= self
.input.LA(2)
2046 if (LA23_1
== IDENTIFIER
) :
2047 LA23_2
= self
.input.LA(3)
2051 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) :
2054 if self
.backtracking
> 0:
2058 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self
.input)
2062 elif (LA23_1
== 43) :
2065 if self
.backtracking
> 0:
2069 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self
.input)
2074 if self
.backtracking
> 0:
2078 nvae
= NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self
.input)
2083 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2084 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier634
)
2087 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier636
)
2090 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier638
)
2091 self
.enumerator_list()
2092 self
.following
.pop()
2095 # C.g:267:31: ( ',' )?
2097 LA21_0
= self
.input.LA(1)
2103 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier640
)
2109 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier643
)
2115 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2116 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier648
)
2119 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier650
)
2122 self
.match(self
.input, 43, self
.FOLLOW_43_in_enum_specifier652
)
2125 self
.following
.append(self
.FOLLOW_enumerator_list_in_enum_specifier654
)
2126 self
.enumerator_list()
2127 self
.following
.pop()
2130 # C.g:268:42: ( ',' )?
2132 LA22_0
= self
.input.LA(1)
2138 self
.match(self
.input, 27, self
.FOLLOW_27_in_enum_specifier656
)
2144 self
.match(self
.input, 44, self
.FOLLOW_44_in_enum_specifier659
)
2150 # C.g:269:4: 'enum' IDENTIFIER
2151 self
.match(self
.input, 48, self
.FOLLOW_48_in_enum_specifier664
)
2154 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enum_specifier666
)
2159 retval
.stop
= self
.input.LT(-1)
2162 except RecognitionException
as re
:
2163 self
.reportError(re
)
2164 self
.recover(self
.input, re
)
2166 if self
.backtracking
> 0:
2167 self
.memoize(self
.input, 18, enum_specifier_StartIndex
)
2173 # $ANTLR end enum_specifier
2176 # $ANTLR start enumerator_list
2177 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2178 def enumerator_list(self
, ):
2180 enumerator_list_StartIndex
= self
.input.index()
2183 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 19):
2186 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2187 # C.g:273:4: enumerator ( ',' enumerator )*
2188 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list677
)
2190 self
.following
.pop()
2193 # C.g:273:15: ( ',' enumerator )*
2196 LA24_0
= self
.input.LA(1)
2199 LA24_1
= self
.input.LA(2)
2201 if (LA24_1
== IDENTIFIER
) :
2208 # C.g:273:16: ',' enumerator
2209 self
.match(self
.input, 27, self
.FOLLOW_27_in_enumerator_list680
)
2212 self
.following
.append(self
.FOLLOW_enumerator_in_enumerator_list682
)
2214 self
.following
.pop()
2227 except RecognitionException
as re
:
2228 self
.reportError(re
)
2229 self
.recover(self
.input, re
)
2231 if self
.backtracking
> 0:
2232 self
.memoize(self
.input, 19, enumerator_list_StartIndex
)
2238 # $ANTLR end enumerator_list
2241 # $ANTLR start enumerator
2242 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2243 def enumerator(self
, ):
2245 enumerator_StartIndex
= self
.input.index()
2248 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 20):
2251 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2252 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2253 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_enumerator695
)
2256 # C.g:277:15: ( '=' constant_expression )?
2258 LA25_0
= self
.input.LA(1)
2263 # C.g:277:16: '=' constant_expression
2264 self
.match(self
.input, 28, self
.FOLLOW_28_in_enumerator698
)
2267 self
.following
.append(self
.FOLLOW_constant_expression_in_enumerator700
)
2268 self
.constant_expression()
2269 self
.following
.pop()
2279 except RecognitionException
as re
:
2280 self
.reportError(re
)
2281 self
.recover(self
.input, re
)
2283 if self
.backtracking
> 0:
2284 self
.memoize(self
.input, 20, enumerator_StartIndex
)
2290 # $ANTLR end enumerator
2293 # $ANTLR start type_qualifier
2294 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2295 def type_qualifier(self
, ):
2297 type_qualifier_StartIndex
= self
.input.index()
2300 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 21):
2303 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2305 if (49 <= self
.input.LA(1) <= 61):
2306 self
.input.consume();
2307 self
.errorRecovery
= False
2311 if self
.backtracking
> 0:
2315 mse
= MismatchedSetException(None, self
.input)
2316 self
.recoverFromMismatchedSet(
2317 self
.input, mse
, self
.FOLLOW_set_in_type_qualifier0
2326 except RecognitionException
as re
:
2327 self
.reportError(re
)
2328 self
.recover(self
.input, re
)
2330 if self
.backtracking
> 0:
2331 self
.memoize(self
.input, 21, type_qualifier_StartIndex
)
2337 # $ANTLR end type_qualifier
2339 class declarator_return(object):
2346 # $ANTLR start declarator
2347 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2348 def declarator(self
, ):
2350 retval
= self
.declarator_return()
2351 retval
.start
= self
.input.LT(1)
2352 declarator_StartIndex
= self
.input.index()
2355 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 22):
2358 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2360 LA30_0
= self
.input.LA(1)
2363 LA30_1
= self
.input.LA(2)
2365 if (self
.synpred66()) :
2370 if self
.backtracking
> 0:
2374 nvae
= NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self
.input)
2378 elif (LA30_0
== IDENTIFIER
or (58 <= LA30_0
<= 60) or LA30_0
== 62) :
2381 if self
.backtracking
> 0:
2385 nvae
= NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self
.input)
2390 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2391 # C.g:297:4: ( pointer )?
2393 LA26_0
= self
.input.LA(1)
2399 self
.following
.append(self
.FOLLOW_pointer_in_declarator784
)
2401 self
.following
.pop()
2407 # C.g:297:13: ( 'EFIAPI' )?
2409 LA27_0
= self
.input.LA(1)
2414 # C.g:297:14: 'EFIAPI'
2415 self
.match(self
.input, 58, self
.FOLLOW_58_in_declarator788
)
2421 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2423 LA28_0
= self
.input.LA(1)
2428 # C.g:297:26: 'EFI_BOOTSERVICE'
2429 self
.match(self
.input, 59, self
.FOLLOW_59_in_declarator793
)
2435 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2437 LA29_0
= self
.input.LA(1)
2442 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2443 self
.match(self
.input, 60, self
.FOLLOW_60_in_declarator798
)
2449 self
.following
.append(self
.FOLLOW_direct_declarator_in_declarator802
)
2450 self
.direct_declarator()
2451 self
.following
.pop()
2457 # C.g:299:4: pointer
2458 self
.following
.append(self
.FOLLOW_pointer_in_declarator808
)
2460 self
.following
.pop()
2465 retval
.stop
= self
.input.LT(-1)
2468 except RecognitionException
as re
:
2469 self
.reportError(re
)
2470 self
.recover(self
.input, re
)
2472 if self
.backtracking
> 0:
2473 self
.memoize(self
.input, 22, declarator_StartIndex
)
2479 # $ANTLR end declarator
2482 # $ANTLR start direct_declarator
2483 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2484 def direct_declarator(self
, ):
2486 direct_declarator_StartIndex
= self
.input.index()
2489 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 23):
2492 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2494 LA34_0
= self
.input.LA(1)
2496 if (LA34_0
== IDENTIFIER
) :
2498 elif (LA34_0
== 62) :
2501 if self
.backtracking
> 0:
2505 nvae
= NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self
.input)
2510 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2511 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_direct_declarator819
)
2514 # C.g:303:15: ( declarator_suffix )*
2517 LA31_0
= self
.input.LA(1)
2520 LA31
= self
.input.LA(2)
2522 LA31_30
= self
.input.LA(3)
2524 if (self
.synpred67()) :
2529 LA31_31
= self
.input.LA(3)
2531 if (self
.synpred67()) :
2536 LA31_32
= self
.input.LA(3)
2538 if (self
.synpred67()) :
2543 LA31_33
= self
.input.LA(3)
2545 if (self
.synpred67()) :
2550 LA31_34
= self
.input.LA(3)
2552 if (self
.synpred67()) :
2556 elif LA31
== IDENTIFIER
:
2557 LA31_35
= self
.input.LA(3)
2559 if (self
.synpred67()) :
2563 elif LA31
== 29 or LA31
== 30 or LA31
== 31 or LA31
== 32 or LA31
== 33:
2564 LA31_37
= self
.input.LA(3)
2566 if (self
.synpred67()) :
2571 LA31_38
= self
.input.LA(3)
2573 if (self
.synpred67()) :
2578 LA31_39
= self
.input.LA(3)
2580 if (self
.synpred67()) :
2585 LA31_40
= self
.input.LA(3)
2587 if (self
.synpred67()) :
2592 LA31_41
= self
.input.LA(3)
2594 if (self
.synpred67()) :
2599 LA31_42
= self
.input.LA(3)
2601 if (self
.synpred67()) :
2606 LA31_43
= self
.input.LA(3)
2608 if (self
.synpred67()) :
2613 LA31_44
= self
.input.LA(3)
2615 if (self
.synpred67()) :
2620 LA31_45
= self
.input.LA(3)
2622 if (self
.synpred67()) :
2627 LA31_46
= self
.input.LA(3)
2629 if (self
.synpred67()) :
2633 elif LA31
== 45 or LA31
== 46:
2634 LA31_47
= self
.input.LA(3)
2636 if (self
.synpred67()) :
2641 LA31_48
= self
.input.LA(3)
2643 if (self
.synpred67()) :
2647 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:
2648 LA31_49
= self
.input.LA(3)
2650 if (self
.synpred67()) :
2655 elif (LA31_0
== 64) :
2656 LA31
= self
.input.LA(2)
2658 LA31_51
= self
.input.LA(3)
2660 if (self
.synpred67()) :
2665 LA31_52
= self
.input.LA(3)
2667 if (self
.synpred67()) :
2671 elif LA31
== IDENTIFIER
:
2672 LA31_53
= self
.input.LA(3)
2674 if (self
.synpred67()) :
2678 elif LA31
== HEX_LITERAL
:
2679 LA31_54
= self
.input.LA(3)
2681 if (self
.synpred67()) :
2685 elif LA31
== OCTAL_LITERAL
:
2686 LA31_55
= self
.input.LA(3)
2688 if (self
.synpred67()) :
2692 elif LA31
== DECIMAL_LITERAL
:
2693 LA31_56
= self
.input.LA(3)
2695 if (self
.synpred67()) :
2699 elif LA31
== CHARACTER_LITERAL
:
2700 LA31_57
= self
.input.LA(3)
2702 if (self
.synpred67()) :
2706 elif LA31
== STRING_LITERAL
:
2707 LA31_58
= self
.input.LA(3)
2709 if (self
.synpred67()) :
2713 elif LA31
== FLOATING_POINT_LITERAL
:
2714 LA31_59
= self
.input.LA(3)
2716 if (self
.synpred67()) :
2721 LA31_60
= self
.input.LA(3)
2723 if (self
.synpred67()) :
2728 LA31_61
= self
.input.LA(3)
2730 if (self
.synpred67()) :
2734 elif LA31
== 66 or LA31
== 68 or LA31
== 69 or LA31
== 77 or LA31
== 78 or LA31
== 79:
2735 LA31_62
= self
.input.LA(3)
2737 if (self
.synpred67()) :
2742 LA31_63
= self
.input.LA(3)
2744 if (self
.synpred67()) :
2752 # C.g:0:0: declarator_suffix
2753 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator821
)
2754 self
.declarator_suffix()
2755 self
.following
.pop()
2767 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2768 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_declarator827
)
2771 # C.g:304:8: ( 'EFIAPI' )?
2773 LA32_0
= self
.input.LA(1)
2776 LA32_1
= self
.input.LA(2)
2778 if (self
.synpred69()) :
2781 # C.g:304:9: 'EFIAPI'
2782 self
.match(self
.input, 58, self
.FOLLOW_58_in_direct_declarator830
)
2788 self
.following
.append(self
.FOLLOW_declarator_in_direct_declarator834
)
2790 self
.following
.pop()
2793 self
.match(self
.input, 63, self
.FOLLOW_63_in_direct_declarator836
)
2796 # C.g:304:35: ( declarator_suffix )+
2800 LA33_0
= self
.input.LA(1)
2803 LA33
= self
.input.LA(2)
2805 LA33_30
= self
.input.LA(3)
2807 if (self
.synpred70()) :
2812 LA33_31
= self
.input.LA(3)
2814 if (self
.synpred70()) :
2819 LA33_32
= self
.input.LA(3)
2821 if (self
.synpred70()) :
2826 LA33_33
= self
.input.LA(3)
2828 if (self
.synpred70()) :
2833 LA33_34
= self
.input.LA(3)
2835 if (self
.synpred70()) :
2839 elif LA33
== IDENTIFIER
:
2840 LA33_35
= self
.input.LA(3)
2842 if (self
.synpred70()) :
2846 elif LA33
== 29 or LA33
== 30 or LA33
== 31 or LA33
== 32 or LA33
== 33:
2847 LA33_37
= self
.input.LA(3)
2849 if (self
.synpred70()) :
2854 LA33_38
= self
.input.LA(3)
2856 if (self
.synpred70()) :
2861 LA33_39
= self
.input.LA(3)
2863 if (self
.synpred70()) :
2868 LA33_40
= self
.input.LA(3)
2870 if (self
.synpred70()) :
2875 LA33_41
= self
.input.LA(3)
2877 if (self
.synpred70()) :
2882 LA33_42
= self
.input.LA(3)
2884 if (self
.synpred70()) :
2889 LA33_43
= self
.input.LA(3)
2891 if (self
.synpred70()) :
2896 LA33_44
= self
.input.LA(3)
2898 if (self
.synpred70()) :
2903 LA33_45
= self
.input.LA(3)
2905 if (self
.synpred70()) :
2910 LA33_46
= self
.input.LA(3)
2912 if (self
.synpred70()) :
2916 elif LA33
== 45 or LA33
== 46:
2917 LA33_47
= self
.input.LA(3)
2919 if (self
.synpred70()) :
2924 LA33_48
= self
.input.LA(3)
2926 if (self
.synpred70()) :
2930 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:
2931 LA33_49
= self
.input.LA(3)
2933 if (self
.synpred70()) :
2938 elif (LA33_0
== 64) :
2939 LA33
= self
.input.LA(2)
2941 LA33_51
= self
.input.LA(3)
2943 if (self
.synpred70()) :
2948 LA33_52
= self
.input.LA(3)
2950 if (self
.synpred70()) :
2954 elif LA33
== IDENTIFIER
:
2955 LA33_53
= self
.input.LA(3)
2957 if (self
.synpred70()) :
2961 elif LA33
== HEX_LITERAL
:
2962 LA33_54
= self
.input.LA(3)
2964 if (self
.synpred70()) :
2968 elif LA33
== OCTAL_LITERAL
:
2969 LA33_55
= self
.input.LA(3)
2971 if (self
.synpred70()) :
2975 elif LA33
== DECIMAL_LITERAL
:
2976 LA33_56
= self
.input.LA(3)
2978 if (self
.synpred70()) :
2982 elif LA33
== CHARACTER_LITERAL
:
2983 LA33_57
= self
.input.LA(3)
2985 if (self
.synpred70()) :
2989 elif LA33
== STRING_LITERAL
:
2990 LA33_58
= self
.input.LA(3)
2992 if (self
.synpred70()) :
2996 elif LA33
== FLOATING_POINT_LITERAL
:
2997 LA33_59
= self
.input.LA(3)
2999 if (self
.synpred70()) :
3004 LA33_60
= self
.input.LA(3)
3006 if (self
.synpred70()) :
3011 LA33_61
= self
.input.LA(3)
3013 if (self
.synpred70()) :
3017 elif LA33
== 66 or LA33
== 68 or LA33
== 69 or LA33
== 77 or LA33
== 78 or LA33
== 79:
3018 LA33_62
= self
.input.LA(3)
3020 if (self
.synpred70()) :
3025 LA33_63
= self
.input.LA(3)
3027 if (self
.synpred70()) :
3035 # C.g:0:0: declarator_suffix
3036 self
.following
.append(self
.FOLLOW_declarator_suffix_in_direct_declarator838
)
3037 self
.declarator_suffix()
3038 self
.following
.pop()
3047 if self
.backtracking
> 0:
3051 eee
= EarlyExitException(33, self
.input)
3060 except RecognitionException
as re
:
3061 self
.reportError(re
)
3062 self
.recover(self
.input, re
)
3064 if self
.backtracking
> 0:
3065 self
.memoize(self
.input, 23, direct_declarator_StartIndex
)
3071 # $ANTLR end direct_declarator
3074 # $ANTLR start declarator_suffix
3075 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3076 def declarator_suffix(self
, ):
3078 declarator_suffix_StartIndex
= self
.input.index()
3081 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 24):
3084 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3086 LA35_0
= self
.input.LA(1)
3089 LA35_1
= self
.input.LA(2)
3093 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)) :
3096 if self
.backtracking
> 0:
3100 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self
.input)
3104 elif (LA35_0
== 62) :
3105 LA35
= self
.input.LA(2)
3108 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:
3110 elif LA35
== IDENTIFIER
:
3111 LA35_29
= self
.input.LA(3)
3113 if (self
.synpred73()) :
3115 elif (self
.synpred74()) :
3118 if self
.backtracking
> 0:
3122 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self
.input)
3127 if self
.backtracking
> 0:
3131 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self
.input)
3136 if self
.backtracking
> 0:
3140 nvae
= NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self
.input)
3145 # C.g:308:6: '[' constant_expression ']'
3146 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix852
)
3149 self
.following
.append(self
.FOLLOW_constant_expression_in_declarator_suffix854
)
3150 self
.constant_expression()
3151 self
.following
.pop()
3154 self
.match(self
.input, 65, self
.FOLLOW_65_in_declarator_suffix856
)
3160 # C.g:309:9: '[' ']'
3161 self
.match(self
.input, 64, self
.FOLLOW_64_in_declarator_suffix866
)
3164 self
.match(self
.input, 65, self
.FOLLOW_65_in_declarator_suffix868
)
3170 # C.g:310:9: '(' parameter_type_list ')'
3171 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix878
)
3174 self
.following
.append(self
.FOLLOW_parameter_type_list_in_declarator_suffix880
)
3175 self
.parameter_type_list()
3176 self
.following
.pop()
3179 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix882
)
3185 # C.g:311:9: '(' identifier_list ')'
3186 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix892
)
3189 self
.following
.append(self
.FOLLOW_identifier_list_in_declarator_suffix894
)
3190 self
.identifier_list()
3191 self
.following
.pop()
3194 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix896
)
3200 # C.g:312:9: '(' ')'
3201 self
.match(self
.input, 62, self
.FOLLOW_62_in_declarator_suffix906
)
3204 self
.match(self
.input, 63, self
.FOLLOW_63_in_declarator_suffix908
)
3210 except RecognitionException
as re
:
3211 self
.reportError(re
)
3212 self
.recover(self
.input, re
)
3214 if self
.backtracking
> 0:
3215 self
.memoize(self
.input, 24, declarator_suffix_StartIndex
)
3221 # $ANTLR end declarator_suffix
3224 # $ANTLR start pointer
3225 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3226 def pointer(self
, ):
3228 pointer_StartIndex
= self
.input.index()
3231 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 25):
3234 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3236 LA38_0
= self
.input.LA(1)
3239 LA38
= self
.input.LA(2)
3241 LA38_2
= self
.input.LA(3)
3243 if (self
.synpred78()) :
3248 if self
.backtracking
> 0:
3252 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self
.input)
3257 LA38_3
= self
.input.LA(3)
3259 if (self
.synpred77()) :
3264 if self
.backtracking
> 0:
3268 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self
.input)
3273 LA38_4
= self
.input.LA(3)
3275 if (self
.synpred77()) :
3280 if self
.backtracking
> 0:
3284 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self
.input)
3289 LA38_5
= self
.input.LA(3)
3291 if (self
.synpred77()) :
3296 if self
.backtracking
> 0:
3300 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self
.input)
3304 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:
3307 LA38_21
= self
.input.LA(3)
3309 if (self
.synpred77()) :
3314 if self
.backtracking
> 0:
3318 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self
.input)
3322 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:
3323 LA38_29
= self
.input.LA(3)
3325 if (self
.synpred77()) :
3330 if self
.backtracking
> 0:
3334 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self
.input)
3339 if self
.backtracking
> 0:
3343 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self
.input)
3348 if self
.backtracking
> 0:
3352 nvae
= NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self
.input)
3357 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3358 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer919
)
3361 # C.g:316:8: ( type_qualifier )+
3365 LA36
= self
.input.LA(1)
3367 LA36_2
= self
.input.LA(2)
3369 if (self
.synpred75()) :
3374 LA36_3
= self
.input.LA(2)
3376 if (self
.synpred75()) :
3381 LA36_4
= self
.input.LA(2)
3383 if (self
.synpred75()) :
3388 LA36_20
= self
.input.LA(2)
3390 if (self
.synpred75()) :
3394 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:
3395 LA36_28
= self
.input.LA(2)
3397 if (self
.synpred75()) :
3403 # C.g:0:0: type_qualifier
3404 self
.following
.append(self
.FOLLOW_type_qualifier_in_pointer921
)
3405 self
.type_qualifier()
3406 self
.following
.pop()
3415 if self
.backtracking
> 0:
3419 eee
= EarlyExitException(36, self
.input)
3425 # C.g:316:24: ( pointer )?
3427 LA37_0
= self
.input.LA(1)
3430 LA37_1
= self
.input.LA(2)
3432 if (self
.synpred76()) :
3436 self
.following
.append(self
.FOLLOW_pointer_in_pointer924
)
3438 self
.following
.pop()
3447 # C.g:317:4: '*' pointer
3448 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer930
)
3451 self
.following
.append(self
.FOLLOW_pointer_in_pointer932
)
3453 self
.following
.pop()
3460 self
.match(self
.input, 66, self
.FOLLOW_66_in_pointer937
)
3466 except RecognitionException
as re
:
3467 self
.reportError(re
)
3468 self
.recover(self
.input, re
)
3470 if self
.backtracking
> 0:
3471 self
.memoize(self
.input, 25, pointer_StartIndex
)
3477 # $ANTLR end pointer
3480 # $ANTLR start parameter_type_list
3481 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3482 def parameter_type_list(self
, ):
3484 parameter_type_list_StartIndex
= self
.input.index()
3487 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 26):
3490 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3491 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3492 self
.following
.append(self
.FOLLOW_parameter_list_in_parameter_type_list948
)
3493 self
.parameter_list()
3494 self
.following
.pop()
3497 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3499 LA40_0
= self
.input.LA(1)
3504 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3505 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_type_list951
)
3508 # C.g:322:24: ( 'OPTIONAL' )?
3510 LA39_0
= self
.input.LA(1)
3515 # C.g:322:25: 'OPTIONAL'
3516 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_type_list954
)
3522 self
.match(self
.input, 67, self
.FOLLOW_67_in_parameter_type_list958
)
3532 except RecognitionException
as re
:
3533 self
.reportError(re
)
3534 self
.recover(self
.input, re
)
3536 if self
.backtracking
> 0:
3537 self
.memoize(self
.input, 26, parameter_type_list_StartIndex
)
3543 # $ANTLR end parameter_type_list
3546 # $ANTLR start parameter_list
3547 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3548 def parameter_list(self
, ):
3550 parameter_list_StartIndex
= self
.input.index()
3553 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 27):
3556 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3557 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3558 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list971
)
3559 self
.parameter_declaration()
3560 self
.following
.pop()
3563 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3566 LA42_0
= self
.input.LA(1)
3569 LA42_1
= self
.input.LA(2)
3572 LA42_3
= self
.input.LA(3)
3574 if (self
.synpred82()) :
3578 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) :
3585 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3586 self
.match(self
.input, 27, self
.FOLLOW_27_in_parameter_list974
)
3589 # C.g:326:31: ( 'OPTIONAL' )?
3591 LA41_0
= self
.input.LA(1)
3594 LA41_1
= self
.input.LA(2)
3596 if (self
.synpred81()) :
3599 # C.g:326:32: 'OPTIONAL'
3600 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_list977
)
3606 self
.following
.append(self
.FOLLOW_parameter_declaration_in_parameter_list981
)
3607 self
.parameter_declaration()
3608 self
.following
.pop()
3621 except RecognitionException
as re
:
3622 self
.reportError(re
)
3623 self
.recover(self
.input, re
)
3625 if self
.backtracking
> 0:
3626 self
.memoize(self
.input, 27, parameter_list_StartIndex
)
3632 # $ANTLR end parameter_list
3635 # $ANTLR start parameter_declaration
3636 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3637 def parameter_declaration(self
, ):
3639 parameter_declaration_StartIndex
= self
.input.index()
3642 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 28):
3645 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3647 LA46
= self
.input.LA(1)
3648 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:
3650 elif LA46
== IDENTIFIER
:
3651 LA46_13
= self
.input.LA(2)
3653 if (self
.synpred86()) :
3658 if self
.backtracking
> 0:
3662 nvae
= NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self
.input)
3669 if self
.backtracking
> 0:
3673 nvae
= NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self
.input)
3678 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3679 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_parameter_declaration994
)
3680 self
.declaration_specifiers()
3681 self
.following
.pop()
3684 # C.g:330:27: ( declarator | abstract_declarator )*
3687 LA43
= self
.input.LA(1)
3689 LA43_5
= self
.input.LA(2)
3691 if (self
.synpred83()) :
3693 elif (self
.synpred84()) :
3697 elif LA43
== IDENTIFIER
or LA43
== 58 or LA43
== 59 or LA43
== 60:
3700 LA43
= self
.input.LA(2)
3701 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:
3703 elif LA43
== IDENTIFIER
:
3704 LA43_37
= self
.input.LA(3)
3706 if (self
.synpred83()) :
3708 elif (self
.synpred84()) :
3713 LA43_38
= self
.input.LA(3)
3715 if (self
.synpred83()) :
3717 elif (self
.synpred84()) :
3722 LA43_39
= self
.input.LA(3)
3724 if (self
.synpred83()) :
3726 elif (self
.synpred84()) :
3731 LA43_40
= self
.input.LA(3)
3733 if (self
.synpred83()) :
3735 elif (self
.synpred84()) :
3740 LA43_41
= self
.input.LA(3)
3742 if (self
.synpred83()) :
3744 elif (self
.synpred84()) :
3749 LA43_43
= self
.input.LA(3)
3751 if (self
.synpred83()) :
3753 elif (self
.synpred84()) :
3762 # C.g:330:28: declarator
3763 self
.following
.append(self
.FOLLOW_declarator_in_parameter_declaration997
)
3765 self
.following
.pop()
3771 # C.g:330:39: abstract_declarator
3772 self
.following
.append(self
.FOLLOW_abstract_declarator_in_parameter_declaration999
)
3773 self
.abstract_declarator()
3774 self
.following
.pop()
3783 # C.g:330:61: ( 'OPTIONAL' )?
3785 LA44_0
= self
.input.LA(1)
3790 # C.g:330:62: 'OPTIONAL'
3791 self
.match(self
.input, 53, self
.FOLLOW_53_in_parameter_declaration1004
)
3800 # C.g:332:4: ( pointer )* IDENTIFIER
3801 # C.g:332:4: ( pointer )*
3804 LA45_0
= self
.input.LA(1)
3812 self
.following
.append(self
.FOLLOW_pointer_in_parameter_declaration1013
)
3814 self
.following
.pop()
3823 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_parameter_declaration1016
)
3829 except RecognitionException
as re
:
3830 self
.reportError(re
)
3831 self
.recover(self
.input, re
)
3833 if self
.backtracking
> 0:
3834 self
.memoize(self
.input, 28, parameter_declaration_StartIndex
)
3840 # $ANTLR end parameter_declaration
3843 # $ANTLR start identifier_list
3844 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3845 def identifier_list(self
, ):
3847 identifier_list_StartIndex
= self
.input.index()
3850 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 29):
3853 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3854 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3855 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1027
)
3858 # C.g:337:2: ( ',' IDENTIFIER )*
3861 LA47_0
= self
.input.LA(1)
3868 # C.g:337:3: ',' IDENTIFIER
3869 self
.match(self
.input, 27, self
.FOLLOW_27_in_identifier_list1031
)
3872 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_identifier_list1033
)
3885 except RecognitionException
as re
:
3886 self
.reportError(re
)
3887 self
.recover(self
.input, re
)
3889 if self
.backtracking
> 0:
3890 self
.memoize(self
.input, 29, identifier_list_StartIndex
)
3896 # $ANTLR end identifier_list
3899 # $ANTLR start type_name
3900 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3901 def type_name(self
, ):
3903 type_name_StartIndex
= self
.input.index()
3906 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 30):
3909 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3911 LA49_0
= self
.input.LA(1)
3913 if ((34 <= LA49_0
<= 42) or (45 <= LA49_0
<= 46) or (48 <= LA49_0
<= 61)) :
3915 elif (LA49_0
== IDENTIFIER
) :
3916 LA49_13
= self
.input.LA(2)
3918 if (self
.synpred90()) :
3923 if self
.backtracking
> 0:
3927 nvae
= NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self
.input)
3932 if self
.backtracking
> 0:
3936 nvae
= NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self
.input)
3941 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3942 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_type_name1046
)
3943 self
.specifier_qualifier_list()
3944 self
.following
.pop()
3947 # C.g:341:29: ( abstract_declarator )?
3949 LA48_0
= self
.input.LA(1)
3951 if (LA48_0
== 62 or LA48_0
== 64 or LA48_0
== 66) :
3954 # C.g:0:0: abstract_declarator
3955 self
.following
.append(self
.FOLLOW_abstract_declarator_in_type_name1048
)
3956 self
.abstract_declarator()
3957 self
.following
.pop()
3966 # C.g:342:4: type_id
3967 self
.following
.append(self
.FOLLOW_type_id_in_type_name1054
)
3969 self
.following
.pop()
3975 except RecognitionException
as re
:
3976 self
.reportError(re
)
3977 self
.recover(self
.input, re
)
3979 if self
.backtracking
> 0:
3980 self
.memoize(self
.input, 30, type_name_StartIndex
)
3986 # $ANTLR end type_name
3989 # $ANTLR start abstract_declarator
3990 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3991 def abstract_declarator(self
, ):
3993 abstract_declarator_StartIndex
= self
.input.index()
3996 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 31):
3999 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
4001 LA51_0
= self
.input.LA(1)
4005 elif (LA51_0
== 62 or LA51_0
== 64) :
4008 if self
.backtracking
> 0:
4012 nvae
= NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self
.input)
4017 # C.g:346:4: pointer ( direct_abstract_declarator )?
4018 self
.following
.append(self
.FOLLOW_pointer_in_abstract_declarator1065
)
4020 self
.following
.pop()
4023 # C.g:346:12: ( direct_abstract_declarator )?
4025 LA50_0
= self
.input.LA(1)
4028 LA50
= self
.input.LA(2)
4030 LA50_12
= self
.input.LA(3)
4032 if (self
.synpred91()) :
4035 LA50_13
= self
.input.LA(3)
4037 if (self
.synpred91()) :
4040 LA50_14
= self
.input.LA(3)
4042 if (self
.synpred91()) :
4045 LA50_15
= self
.input.LA(3)
4047 if (self
.synpred91()) :
4050 LA50_16
= self
.input.LA(3)
4052 if (self
.synpred91()) :
4054 elif LA50
== IDENTIFIER
:
4055 LA50_17
= self
.input.LA(3)
4057 if (self
.synpred91()) :
4060 LA50_18
= self
.input.LA(3)
4062 if (self
.synpred91()) :
4065 LA50_19
= self
.input.LA(3)
4067 if (self
.synpred91()) :
4069 elif LA50
== 29 or LA50
== 30 or LA50
== 31 or LA50
== 32 or LA50
== 33:
4070 LA50_20
= self
.input.LA(3)
4072 if (self
.synpred91()) :
4075 LA50_21
= self
.input.LA(3)
4077 if (self
.synpred91()) :
4080 LA50_22
= self
.input.LA(3)
4082 if (self
.synpred91()) :
4085 LA50_23
= self
.input.LA(3)
4087 if (self
.synpred91()) :
4090 LA50_24
= self
.input.LA(3)
4092 if (self
.synpred91()) :
4095 LA50_25
= self
.input.LA(3)
4097 if (self
.synpred91()) :
4100 LA50_26
= self
.input.LA(3)
4102 if (self
.synpred91()) :
4105 LA50_27
= self
.input.LA(3)
4107 if (self
.synpred91()) :
4110 LA50_28
= self
.input.LA(3)
4112 if (self
.synpred91()) :
4115 LA50_29
= self
.input.LA(3)
4117 if (self
.synpred91()) :
4119 elif LA50
== 45 or LA50
== 46:
4120 LA50_30
= self
.input.LA(3)
4122 if (self
.synpred91()) :
4125 LA50_31
= self
.input.LA(3)
4127 if (self
.synpred91()) :
4129 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:
4130 LA50_32
= self
.input.LA(3)
4132 if (self
.synpred91()) :
4134 elif (LA50_0
== 64) :
4135 LA50
= self
.input.LA(2)
4137 LA50_33
= self
.input.LA(3)
4139 if (self
.synpred91()) :
4142 LA50_34
= self
.input.LA(3)
4144 if (self
.synpred91()) :
4146 elif LA50
== IDENTIFIER
:
4147 LA50_35
= self
.input.LA(3)
4149 if (self
.synpred91()) :
4151 elif LA50
== HEX_LITERAL
:
4152 LA50_36
= self
.input.LA(3)
4154 if (self
.synpred91()) :
4156 elif LA50
== OCTAL_LITERAL
:
4157 LA50_37
= self
.input.LA(3)
4159 if (self
.synpred91()) :
4161 elif LA50
== DECIMAL_LITERAL
:
4162 LA50_38
= self
.input.LA(3)
4164 if (self
.synpred91()) :
4166 elif LA50
== CHARACTER_LITERAL
:
4167 LA50_39
= self
.input.LA(3)
4169 if (self
.synpred91()) :
4171 elif LA50
== STRING_LITERAL
:
4172 LA50_40
= self
.input.LA(3)
4174 if (self
.synpred91()) :
4176 elif LA50
== FLOATING_POINT_LITERAL
:
4177 LA50_41
= self
.input.LA(3)
4179 if (self
.synpred91()) :
4182 LA50_42
= self
.input.LA(3)
4184 if (self
.synpred91()) :
4187 LA50_43
= self
.input.LA(3)
4189 if (self
.synpred91()) :
4191 elif LA50
== 66 or LA50
== 68 or LA50
== 69 or LA50
== 77 or LA50
== 78 or LA50
== 79:
4192 LA50_44
= self
.input.LA(3)
4194 if (self
.synpred91()) :
4197 LA50_45
= self
.input.LA(3)
4199 if (self
.synpred91()) :
4202 # C.g:0:0: direct_abstract_declarator
4203 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067
)
4204 self
.direct_abstract_declarator()
4205 self
.following
.pop()
4214 # C.g:347:4: direct_abstract_declarator
4215 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073
)
4216 self
.direct_abstract_declarator()
4217 self
.following
.pop()
4223 except RecognitionException
as re
:
4224 self
.reportError(re
)
4225 self
.recover(self
.input, re
)
4227 if self
.backtracking
> 0:
4228 self
.memoize(self
.input, 31, abstract_declarator_StartIndex
)
4234 # $ANTLR end abstract_declarator
4237 # $ANTLR start direct_abstract_declarator
4238 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4239 def direct_abstract_declarator(self
, ):
4241 direct_abstract_declarator_StartIndex
= self
.input.index()
4244 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 32):
4247 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4248 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4249 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4251 LA52_0
= self
.input.LA(1)
4254 LA52
= self
.input.LA(2)
4255 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:
4258 LA52_18
= self
.input.LA(3)
4260 if (self
.synpred93()) :
4265 if self
.backtracking
> 0:
4269 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self
.input)
4273 elif LA52
== 62 or LA52
== 64:
4276 if self
.backtracking
> 0:
4280 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self
.input)
4284 elif (LA52_0
== 64) :
4287 if self
.backtracking
> 0:
4291 nvae
= NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self
.input)
4296 # C.g:351:6: '(' abstract_declarator ')'
4297 self
.match(self
.input, 62, self
.FOLLOW_62_in_direct_abstract_declarator1086
)
4300 self
.following
.append(self
.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088
)
4301 self
.abstract_declarator()
4302 self
.following
.pop()
4305 self
.match(self
.input, 63, self
.FOLLOW_63_in_direct_abstract_declarator1090
)
4311 # C.g:351:36: abstract_declarator_suffix
4312 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094
)
4313 self
.abstract_declarator_suffix()
4314 self
.following
.pop()
4320 # C.g:351:65: ( abstract_declarator_suffix )*
4323 LA53_0
= self
.input.LA(1)
4326 LA53
= self
.input.LA(2)
4328 LA53_12
= self
.input.LA(3)
4330 if (self
.synpred94()) :
4335 LA53_13
= self
.input.LA(3)
4337 if (self
.synpred94()) :
4342 LA53_14
= self
.input.LA(3)
4344 if (self
.synpred94()) :
4349 LA53_15
= self
.input.LA(3)
4351 if (self
.synpred94()) :
4356 LA53_16
= self
.input.LA(3)
4358 if (self
.synpred94()) :
4362 elif LA53
== IDENTIFIER
:
4363 LA53_17
= self
.input.LA(3)
4365 if (self
.synpred94()) :
4369 elif LA53
== 29 or LA53
== 30 or LA53
== 31 or LA53
== 32 or LA53
== 33:
4370 LA53_19
= self
.input.LA(3)
4372 if (self
.synpred94()) :
4377 LA53_20
= self
.input.LA(3)
4379 if (self
.synpred94()) :
4384 LA53_21
= self
.input.LA(3)
4386 if (self
.synpred94()) :
4391 LA53_22
= self
.input.LA(3)
4393 if (self
.synpred94()) :
4398 LA53_23
= self
.input.LA(3)
4400 if (self
.synpred94()) :
4405 LA53_24
= self
.input.LA(3)
4407 if (self
.synpred94()) :
4412 LA53_25
= self
.input.LA(3)
4414 if (self
.synpred94()) :
4419 LA53_26
= self
.input.LA(3)
4421 if (self
.synpred94()) :
4426 LA53_27
= self
.input.LA(3)
4428 if (self
.synpred94()) :
4433 LA53_28
= self
.input.LA(3)
4435 if (self
.synpred94()) :
4439 elif LA53
== 45 or LA53
== 46:
4440 LA53_29
= self
.input.LA(3)
4442 if (self
.synpred94()) :
4447 LA53_30
= self
.input.LA(3)
4449 if (self
.synpred94()) :
4453 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:
4454 LA53_31
= self
.input.LA(3)
4456 if (self
.synpred94()) :
4461 elif (LA53_0
== 64) :
4462 LA53
= self
.input.LA(2)
4464 LA53_33
= self
.input.LA(3)
4466 if (self
.synpred94()) :
4471 LA53_34
= self
.input.LA(3)
4473 if (self
.synpred94()) :
4477 elif LA53
== IDENTIFIER
:
4478 LA53_35
= self
.input.LA(3)
4480 if (self
.synpred94()) :
4484 elif LA53
== HEX_LITERAL
:
4485 LA53_36
= self
.input.LA(3)
4487 if (self
.synpred94()) :
4491 elif LA53
== OCTAL_LITERAL
:
4492 LA53_37
= self
.input.LA(3)
4494 if (self
.synpred94()) :
4498 elif LA53
== DECIMAL_LITERAL
:
4499 LA53_38
= self
.input.LA(3)
4501 if (self
.synpred94()) :
4505 elif LA53
== CHARACTER_LITERAL
:
4506 LA53_39
= self
.input.LA(3)
4508 if (self
.synpred94()) :
4512 elif LA53
== STRING_LITERAL
:
4513 LA53_40
= self
.input.LA(3)
4515 if (self
.synpred94()) :
4519 elif LA53
== FLOATING_POINT_LITERAL
:
4520 LA53_41
= self
.input.LA(3)
4522 if (self
.synpred94()) :
4527 LA53_42
= self
.input.LA(3)
4529 if (self
.synpred94()) :
4534 LA53_43
= self
.input.LA(3)
4536 if (self
.synpred94()) :
4540 elif LA53
== 66 or LA53
== 68 or LA53
== 69 or LA53
== 77 or LA53
== 78 or LA53
== 79:
4541 LA53_44
= self
.input.LA(3)
4543 if (self
.synpred94()) :
4548 LA53_45
= self
.input.LA(3)
4550 if (self
.synpred94()) :
4558 # C.g:0:0: abstract_declarator_suffix
4559 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098
)
4560 self
.abstract_declarator_suffix()
4561 self
.following
.pop()
4574 except RecognitionException
as re
:
4575 self
.reportError(re
)
4576 self
.recover(self
.input, re
)
4578 if self
.backtracking
> 0:
4579 self
.memoize(self
.input, 32, direct_abstract_declarator_StartIndex
)
4585 # $ANTLR end direct_abstract_declarator
4588 # $ANTLR start abstract_declarator_suffix
4589 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4590 def abstract_declarator_suffix(self
, ):
4592 abstract_declarator_suffix_StartIndex
= self
.input.index()
4595 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 33):
4598 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4600 LA54_0
= self
.input.LA(1)
4603 LA54_1
= self
.input.LA(2)
4607 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)) :
4610 if self
.backtracking
> 0:
4614 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self
.input)
4618 elif (LA54_0
== 62) :
4619 LA54_2
= self
.input.LA(2)
4623 elif (LA54_2
== IDENTIFIER
or (29 <= LA54_2
<= 42) or (45 <= LA54_2
<= 46) or (48 <= LA54_2
<= 61) or LA54_2
== 66) :
4626 if self
.backtracking
> 0:
4630 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self
.input)
4635 if self
.backtracking
> 0:
4639 nvae
= NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self
.input)
4644 # C.g:355:4: '[' ']'
4645 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1110
)
4648 self
.match(self
.input, 65, self
.FOLLOW_65_in_abstract_declarator_suffix1112
)
4654 # C.g:356:4: '[' constant_expression ']'
4655 self
.match(self
.input, 64, self
.FOLLOW_64_in_abstract_declarator_suffix1117
)
4658 self
.following
.append(self
.FOLLOW_constant_expression_in_abstract_declarator_suffix1119
)
4659 self
.constant_expression()
4660 self
.following
.pop()
4663 self
.match(self
.input, 65, self
.FOLLOW_65_in_abstract_declarator_suffix1121
)
4669 # C.g:357:4: '(' ')'
4670 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1126
)
4673 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1128
)
4679 # C.g:358:4: '(' parameter_type_list ')'
4680 self
.match(self
.input, 62, self
.FOLLOW_62_in_abstract_declarator_suffix1133
)
4683 self
.following
.append(self
.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135
)
4684 self
.parameter_type_list()
4685 self
.following
.pop()
4688 self
.match(self
.input, 63, self
.FOLLOW_63_in_abstract_declarator_suffix1137
)
4694 except RecognitionException
as re
:
4695 self
.reportError(re
)
4696 self
.recover(self
.input, re
)
4698 if self
.backtracking
> 0:
4699 self
.memoize(self
.input, 33, abstract_declarator_suffix_StartIndex
)
4705 # $ANTLR end abstract_declarator_suffix
4708 # $ANTLR start initializer
4709 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4710 def initializer(self
, ):
4712 initializer_StartIndex
= self
.input.index()
4715 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 34):
4718 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4720 LA56_0
= self
.input.LA(1)
4722 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)) :
4724 elif (LA56_0
== 43) :
4727 if self
.backtracking
> 0:
4731 nvae
= NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self
.input)
4736 # C.g:363:4: assignment_expression
4737 self
.following
.append(self
.FOLLOW_assignment_expression_in_initializer1150
)
4738 self
.assignment_expression()
4739 self
.following
.pop()
4745 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4746 self
.match(self
.input, 43, self
.FOLLOW_43_in_initializer1155
)
4749 self
.following
.append(self
.FOLLOW_initializer_list_in_initializer1157
)
4750 self
.initializer_list()
4751 self
.following
.pop()
4754 # C.g:364:25: ( ',' )?
4756 LA55_0
= self
.input.LA(1)
4762 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer1159
)
4768 self
.match(self
.input, 44, self
.FOLLOW_44_in_initializer1162
)
4774 except RecognitionException
as re
:
4775 self
.reportError(re
)
4776 self
.recover(self
.input, re
)
4778 if self
.backtracking
> 0:
4779 self
.memoize(self
.input, 34, initializer_StartIndex
)
4785 # $ANTLR end initializer
4788 # $ANTLR start initializer_list
4789 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4790 def initializer_list(self
, ):
4792 initializer_list_StartIndex
= self
.input.index()
4795 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 35):
4798 # C.g:368:2: ( initializer ( ',' initializer )* )
4799 # C.g:368:4: initializer ( ',' initializer )*
4800 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1173
)
4802 self
.following
.pop()
4805 # C.g:368:16: ( ',' initializer )*
4808 LA57_0
= self
.input.LA(1)
4811 LA57_1
= self
.input.LA(2)
4813 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)) :
4820 # C.g:368:17: ',' initializer
4821 self
.match(self
.input, 27, self
.FOLLOW_27_in_initializer_list1176
)
4824 self
.following
.append(self
.FOLLOW_initializer_in_initializer_list1178
)
4826 self
.following
.pop()
4839 except RecognitionException
as re
:
4840 self
.reportError(re
)
4841 self
.recover(self
.input, re
)
4843 if self
.backtracking
> 0:
4844 self
.memoize(self
.input, 35, initializer_list_StartIndex
)
4850 # $ANTLR end initializer_list
4852 class argument_expression_list_return(object):
4859 # $ANTLR start argument_expression_list
4860 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4861 def argument_expression_list(self
, ):
4863 retval
= self
.argument_expression_list_return()
4864 retval
.start
= self
.input.LT(1)
4865 argument_expression_list_StartIndex
= self
.input.index()
4868 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 36):
4871 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4872 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4873 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1196
)
4874 self
.assignment_expression()
4875 self
.following
.pop()
4878 # C.g:374:28: ( 'OPTIONAL' )?
4880 LA58_0
= self
.input.LA(1)
4885 # C.g:374:29: 'OPTIONAL'
4886 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1199
)
4892 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4895 LA60_0
= self
.input.LA(1)
4902 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4903 self
.match(self
.input, 27, self
.FOLLOW_27_in_argument_expression_list1204
)
4906 self
.following
.append(self
.FOLLOW_assignment_expression_in_argument_expression_list1206
)
4907 self
.assignment_expression()
4908 self
.following
.pop()
4911 # C.g:374:69: ( 'OPTIONAL' )?
4913 LA59_0
= self
.input.LA(1)
4918 # C.g:374:70: 'OPTIONAL'
4919 self
.match(self
.input, 53, self
.FOLLOW_53_in_argument_expression_list1209
)
4934 retval
.stop
= self
.input.LT(-1)
4937 except RecognitionException
as re
:
4938 self
.reportError(re
)
4939 self
.recover(self
.input, re
)
4941 if self
.backtracking
> 0:
4942 self
.memoize(self
.input, 36, argument_expression_list_StartIndex
)
4948 # $ANTLR end argument_expression_list
4951 # $ANTLR start additive_expression
4952 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4953 def additive_expression(self
, ):
4955 additive_expression_StartIndex
= self
.input.index()
4958 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 37):
4961 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4962 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4963 # C.g:378:4: ( multiplicative_expression )
4964 # C.g:378:5: multiplicative_expression
4965 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1225
)
4966 self
.multiplicative_expression()
4967 self
.following
.pop()
4973 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4976 LA61_0
= self
.input.LA(1)
4980 elif (LA61_0
== 69) :
4985 # C.g:378:33: '+' multiplicative_expression
4986 self
.match(self
.input, 68, self
.FOLLOW_68_in_additive_expression1229
)
4989 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1231
)
4990 self
.multiplicative_expression()
4991 self
.following
.pop()
4997 # C.g:378:65: '-' multiplicative_expression
4998 self
.match(self
.input, 69, self
.FOLLOW_69_in_additive_expression1235
)
5001 self
.following
.append(self
.FOLLOW_multiplicative_expression_in_additive_expression1237
)
5002 self
.multiplicative_expression()
5003 self
.following
.pop()
5016 except RecognitionException
as re
:
5017 self
.reportError(re
)
5018 self
.recover(self
.input, re
)
5020 if self
.backtracking
> 0:
5021 self
.memoize(self
.input, 37, additive_expression_StartIndex
)
5027 # $ANTLR end additive_expression
5030 # $ANTLR start multiplicative_expression
5031 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5032 def multiplicative_expression(self
, ):
5034 multiplicative_expression_StartIndex
= self
.input.index()
5037 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 38):
5040 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5041 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5042 # C.g:382:4: ( cast_expression )
5043 # C.g:382:5: cast_expression
5044 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1251
)
5045 self
.cast_expression()
5046 self
.following
.pop()
5052 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5055 LA62
= self
.input.LA(1)
5064 # C.g:382:23: '*' cast_expression
5065 self
.match(self
.input, 66, self
.FOLLOW_66_in_multiplicative_expression1255
)
5068 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1257
)
5069 self
.cast_expression()
5070 self
.following
.pop()
5076 # C.g:382:45: '/' cast_expression
5077 self
.match(self
.input, 70, self
.FOLLOW_70_in_multiplicative_expression1261
)
5080 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1263
)
5081 self
.cast_expression()
5082 self
.following
.pop()
5088 # C.g:382:67: '%' cast_expression
5089 self
.match(self
.input, 71, self
.FOLLOW_71_in_multiplicative_expression1267
)
5092 self
.following
.append(self
.FOLLOW_cast_expression_in_multiplicative_expression1269
)
5093 self
.cast_expression()
5094 self
.following
.pop()
5107 except RecognitionException
as re
:
5108 self
.reportError(re
)
5109 self
.recover(self
.input, re
)
5111 if self
.backtracking
> 0:
5112 self
.memoize(self
.input, 38, multiplicative_expression_StartIndex
)
5118 # $ANTLR end multiplicative_expression
5121 # $ANTLR start cast_expression
5122 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5123 def cast_expression(self
, ):
5125 cast_expression_StartIndex
= self
.input.index()
5128 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 39):
5131 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5133 LA63_0
= self
.input.LA(1)
5136 LA63
= self
.input.LA(2)
5137 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:
5139 elif LA63
== IDENTIFIER
:
5140 LA63_25
= self
.input.LA(3)
5142 if (self
.synpred109()) :
5147 if self
.backtracking
> 0:
5151 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self
.input)
5155 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:
5158 if self
.backtracking
> 0:
5162 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self
.input)
5166 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)) :
5169 if self
.backtracking
> 0:
5173 nvae
= NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self
.input)
5178 # C.g:386:4: '(' type_name ')' cast_expression
5179 self
.match(self
.input, 62, self
.FOLLOW_62_in_cast_expression1282
)
5182 self
.following
.append(self
.FOLLOW_type_name_in_cast_expression1284
)
5184 self
.following
.pop()
5187 self
.match(self
.input, 63, self
.FOLLOW_63_in_cast_expression1286
)
5190 self
.following
.append(self
.FOLLOW_cast_expression_in_cast_expression1288
)
5191 self
.cast_expression()
5192 self
.following
.pop()
5198 # C.g:387:4: unary_expression
5199 self
.following
.append(self
.FOLLOW_unary_expression_in_cast_expression1293
)
5200 self
.unary_expression()
5201 self
.following
.pop()
5207 except RecognitionException
as re
:
5208 self
.reportError(re
)
5209 self
.recover(self
.input, re
)
5211 if self
.backtracking
> 0:
5212 self
.memoize(self
.input, 39, cast_expression_StartIndex
)
5218 # $ANTLR end cast_expression
5221 # $ANTLR start unary_expression
5222 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5223 def unary_expression(self
, ):
5225 unary_expression_StartIndex
= self
.input.index()
5228 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 40):
5231 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5233 LA64
= self
.input.LA(1)
5234 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:
5240 elif LA64
== 66 or LA64
== 68 or LA64
== 69 or LA64
== 77 or LA64
== 78 or LA64
== 79:
5243 LA64_12
= self
.input.LA(2)
5245 if (LA64_12
== 62) :
5246 LA64_13
= self
.input.LA(3)
5248 if (self
.synpred114()) :
5253 if self
.backtracking
> 0:
5257 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)
5261 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)) :
5264 if self
.backtracking
> 0:
5268 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)
5273 if self
.backtracking
> 0:
5277 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)
5282 # C.g:391:4: postfix_expression
5283 self
.following
.append(self
.FOLLOW_postfix_expression_in_unary_expression1304
)
5284 self
.postfix_expression()
5285 self
.following
.pop()
5291 # C.g:392:4: '++' unary_expression
5292 self
.match(self
.input, 72, self
.FOLLOW_72_in_unary_expression1309
)
5295 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1311
)
5296 self
.unary_expression()
5297 self
.following
.pop()
5303 # C.g:393:4: '--' unary_expression
5304 self
.match(self
.input, 73, self
.FOLLOW_73_in_unary_expression1316
)
5307 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1318
)
5308 self
.unary_expression()
5309 self
.following
.pop()
5315 # C.g:394:4: unary_operator cast_expression
5316 self
.following
.append(self
.FOLLOW_unary_operator_in_unary_expression1323
)
5317 self
.unary_operator()
5318 self
.following
.pop()
5321 self
.following
.append(self
.FOLLOW_cast_expression_in_unary_expression1325
)
5322 self
.cast_expression()
5323 self
.following
.pop()
5329 # C.g:395:4: 'sizeof' unary_expression
5330 self
.match(self
.input, 74, self
.FOLLOW_74_in_unary_expression1330
)
5333 self
.following
.append(self
.FOLLOW_unary_expression_in_unary_expression1332
)
5334 self
.unary_expression()
5335 self
.following
.pop()
5341 # C.g:396:4: 'sizeof' '(' type_name ')'
5342 self
.match(self
.input, 74, self
.FOLLOW_74_in_unary_expression1337
)
5345 self
.match(self
.input, 62, self
.FOLLOW_62_in_unary_expression1339
)
5348 self
.following
.append(self
.FOLLOW_type_name_in_unary_expression1341
)
5350 self
.following
.pop()
5353 self
.match(self
.input, 63, self
.FOLLOW_63_in_unary_expression1343
)
5359 except RecognitionException
as re
:
5360 self
.reportError(re
)
5361 self
.recover(self
.input, re
)
5363 if self
.backtracking
> 0:
5364 self
.memoize(self
.input, 40, unary_expression_StartIndex
)
5370 # $ANTLR end unary_expression
5373 # $ANTLR start postfix_expression
5374 # 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 | '++' | '--' )* ;
5375 def postfix_expression(self
, ):
5376 self
.postfix_expression_stack
.append(postfix_expression_scope())
5377 postfix_expression_StartIndex
= self
.input.index()
5389 self
.postfix_expression_stack
[-1].FuncCallText
= ''
5393 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 41):
5396 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5397 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5398 self
.following
.append(self
.FOLLOW_primary_expression_in_postfix_expression1367
)
5399 p
= self
.primary_expression()
5400 self
.following
.pop()
5403 if self
.backtracking
== 0:
5404 self
.postfix_expression_stack
[-1].FuncCallText
+= self
.input.toString(p
.start
, p
.stop
)
5406 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5409 LA65
= self
.input.LA(1)
5411 LA65_1
= self
.input.LA(2)
5413 if (LA65_1
== IDENTIFIER
) :
5414 LA65_30
= self
.input.LA(3)
5416 if (self
.synpred120()) :
5425 LA65
= self
.input.LA(2)
5428 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:
5430 elif LA65
== IDENTIFIER
:
5431 LA65_55
= self
.input.LA(3)
5433 if (self
.synpred117()) :
5435 elif (self
.synpred118()) :
5440 LA65_57
= self
.input.LA(3)
5442 if (self
.synpred117()) :
5444 elif (self
.synpred118()) :
5448 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:
5461 # C.g:407:13: '[' expression ']'
5462 self
.match(self
.input, 64, self
.FOLLOW_64_in_postfix_expression1383
)
5465 self
.following
.append(self
.FOLLOW_expression_in_postfix_expression1385
)
5467 self
.following
.pop()
5470 self
.match(self
.input, 65, self
.FOLLOW_65_in_postfix_expression1387
)
5476 # C.g:408:13: '(' a= ')'
5477 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1401
)
5480 a
= self
.input.LT(1)
5481 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1405
)
5484 if self
.backtracking
== 0:
5485 self
.StoreFunctionCalling(p
.start
.line
, p
.start
.charPositionInLine
, a
.line
, a
.charPositionInLine
, self
.postfix_expression_stack
[-1].FuncCallText
, '')
5490 # C.g:409:13: '(' c= argument_expression_list b= ')'
5491 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1420
)
5494 self
.following
.append(self
.FOLLOW_argument_expression_list_in_postfix_expression1424
)
5495 c
= self
.argument_expression_list()
5496 self
.following
.pop()
5499 b
= self
.input.LT(1)
5500 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1428
)
5503 if self
.backtracking
== 0:
5504 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
))
5509 # C.g:410:13: '(' macro_parameter_list ')'
5510 self
.match(self
.input, 62, self
.FOLLOW_62_in_postfix_expression1444
)
5513 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_postfix_expression1446
)
5514 self
.macro_parameter_list()
5515 self
.following
.pop()
5518 self
.match(self
.input, 63, self
.FOLLOW_63_in_postfix_expression1448
)
5524 # C.g:411:13: '.' x= IDENTIFIER
5525 self
.match(self
.input, 75, self
.FOLLOW_75_in_postfix_expression1462
)
5528 x
= self
.input.LT(1)
5529 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1466
)
5532 if self
.backtracking
== 0:
5533 self
.postfix_expression_stack
[-1].FuncCallText
+= '.' + x
.text
5538 # C.g:412:13: '*' y= IDENTIFIER
5539 self
.match(self
.input, 66, self
.FOLLOW_66_in_postfix_expression1482
)
5542 y
= self
.input.LT(1)
5543 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1486
)
5546 if self
.backtracking
== 0:
5547 self
.postfix_expression_stack
[-1].FuncCallText
= y
.text
5552 # C.g:413:13: '->' z= IDENTIFIER
5553 self
.match(self
.input, 76, self
.FOLLOW_76_in_postfix_expression1502
)
5556 z
= self
.input.LT(1)
5557 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_postfix_expression1506
)
5560 if self
.backtracking
== 0:
5561 self
.postfix_expression_stack
[-1].FuncCallText
+= '->' + z
.text
5567 self
.match(self
.input, 72, self
.FOLLOW_72_in_postfix_expression1522
)
5574 self
.match(self
.input, 73, self
.FOLLOW_73_in_postfix_expression1536
)
5587 except RecognitionException
as re
:
5588 self
.reportError(re
)
5589 self
.recover(self
.input, re
)
5591 if self
.backtracking
> 0:
5592 self
.memoize(self
.input, 41, postfix_expression_StartIndex
)
5594 self
.postfix_expression_stack
.pop()
5599 # $ANTLR end postfix_expression
5602 # $ANTLR start macro_parameter_list
5603 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5604 def macro_parameter_list(self
, ):
5606 macro_parameter_list_StartIndex
= self
.input.index()
5609 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 42):
5612 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5613 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5614 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1559
)
5615 self
.parameter_declaration()
5616 self
.following
.pop()
5619 # C.g:420:26: ( ',' parameter_declaration )*
5622 LA66_0
= self
.input.LA(1)
5629 # C.g:420:27: ',' parameter_declaration
5630 self
.match(self
.input, 27, self
.FOLLOW_27_in_macro_parameter_list1562
)
5633 self
.following
.append(self
.FOLLOW_parameter_declaration_in_macro_parameter_list1564
)
5634 self
.parameter_declaration()
5635 self
.following
.pop()
5648 except RecognitionException
as re
:
5649 self
.reportError(re
)
5650 self
.recover(self
.input, re
)
5652 if self
.backtracking
> 0:
5653 self
.memoize(self
.input, 42, macro_parameter_list_StartIndex
)
5659 # $ANTLR end macro_parameter_list
5662 # $ANTLR start unary_operator
5663 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5664 def unary_operator(self
, ):
5666 unary_operator_StartIndex
= self
.input.index()
5669 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 43):
5672 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5674 if self
.input.LA(1) == 66 or (68 <= self
.input.LA(1) <= 69) or (77 <= self
.input.LA(1) <= 79):
5675 self
.input.consume();
5676 self
.errorRecovery
= False
5680 if self
.backtracking
> 0:
5684 mse
= MismatchedSetException(None, self
.input)
5685 self
.recoverFromMismatchedSet(
5686 self
.input, mse
, self
.FOLLOW_set_in_unary_operator0
5695 except RecognitionException
as re
:
5696 self
.reportError(re
)
5697 self
.recover(self
.input, re
)
5699 if self
.backtracking
> 0:
5700 self
.memoize(self
.input, 43, unary_operator_StartIndex
)
5706 # $ANTLR end unary_operator
5708 class primary_expression_return(object):
5715 # $ANTLR start primary_expression
5716 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5717 def primary_expression(self
, ):
5719 retval
= self
.primary_expression_return()
5720 retval
.start
= self
.input.LT(1)
5721 primary_expression_StartIndex
= self
.input.index()
5724 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 44):
5727 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5729 LA67
= self
.input.LA(1)
5730 if LA67
== IDENTIFIER
:
5731 LA67_1
= self
.input.LA(2)
5733 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)) :
5735 elif (LA67_1
== IDENTIFIER
or LA67_1
== STRING_LITERAL
) :
5738 if self
.backtracking
> 0:
5742 nvae
= NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self
.input)
5746 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
:
5751 if self
.backtracking
> 0:
5755 nvae
= NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self
.input)
5760 # C.g:433:4: IDENTIFIER
5761 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_primary_expression1613
)
5767 # C.g:434:4: constant
5768 self
.following
.append(self
.FOLLOW_constant_in_primary_expression1618
)
5770 self
.following
.pop()
5776 # C.g:435:4: '(' expression ')'
5777 self
.match(self
.input, 62, self
.FOLLOW_62_in_primary_expression1623
)
5780 self
.following
.append(self
.FOLLOW_expression_in_primary_expression1625
)
5782 self
.following
.pop()
5785 self
.match(self
.input, 63, self
.FOLLOW_63_in_primary_expression1627
)
5790 retval
.stop
= self
.input.LT(-1)
5793 except RecognitionException
as re
:
5794 self
.reportError(re
)
5795 self
.recover(self
.input, re
)
5797 if self
.backtracking
> 0:
5798 self
.memoize(self
.input, 44, primary_expression_StartIndex
)
5804 # $ANTLR end primary_expression
5807 # $ANTLR start constant
5808 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5809 def constant(self
, ):
5811 constant_StartIndex
= self
.input.index()
5814 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 45):
5817 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5819 LA72
= self
.input.LA(1)
5820 if LA72
== HEX_LITERAL
:
5822 elif LA72
== OCTAL_LITERAL
:
5824 elif LA72
== DECIMAL_LITERAL
:
5826 elif LA72
== CHARACTER_LITERAL
:
5828 elif LA72
== IDENTIFIER
or LA72
== STRING_LITERAL
:
5830 elif LA72
== FLOATING_POINT_LITERAL
:
5833 if self
.backtracking
> 0:
5837 nvae
= NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self
.input)
5842 # C.g:439:9: HEX_LITERAL
5843 self
.match(self
.input, HEX_LITERAL
, self
.FOLLOW_HEX_LITERAL_in_constant1643
)
5849 # C.g:440:9: OCTAL_LITERAL
5850 self
.match(self
.input, OCTAL_LITERAL
, self
.FOLLOW_OCTAL_LITERAL_in_constant1653
)
5856 # C.g:441:9: DECIMAL_LITERAL
5857 self
.match(self
.input, DECIMAL_LITERAL
, self
.FOLLOW_DECIMAL_LITERAL_in_constant1663
)
5863 # C.g:442:7: CHARACTER_LITERAL
5864 self
.match(self
.input, CHARACTER_LITERAL
, self
.FOLLOW_CHARACTER_LITERAL_in_constant1671
)
5870 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5871 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5875 LA70_0
= self
.input.LA(1)
5877 if (LA70_0
== IDENTIFIER
) :
5878 LA70_1
= self
.input.LA(2)
5880 if (LA70_1
== STRING_LITERAL
) :
5882 elif (LA70_1
== IDENTIFIER
) :
5883 LA70_33
= self
.input.LA(3)
5885 if (self
.synpred138()) :
5891 elif (LA70_0
== STRING_LITERAL
) :
5896 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5897 # C.g:443:8: ( IDENTIFIER )*
5900 LA68_0
= self
.input.LA(1)
5902 if (LA68_0
== IDENTIFIER
) :
5907 # C.g:0:0: IDENTIFIER
5908 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1680
)
5917 # C.g:443:20: ( STRING_LITERAL )+
5921 LA69_0
= self
.input.LA(1)
5923 if (LA69_0
== STRING_LITERAL
) :
5924 LA69_31
= self
.input.LA(2)
5926 if (self
.synpred137()) :
5933 # C.g:0:0: STRING_LITERAL
5934 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_constant1683
)
5943 if self
.backtracking
> 0:
5947 eee
= EarlyExitException(69, self
.input)
5959 if self
.backtracking
> 0:
5963 eee
= EarlyExitException(70, self
.input)
5969 # C.g:443:38: ( IDENTIFIER )*
5972 LA71_0
= self
.input.LA(1)
5974 if (LA71_0
== IDENTIFIER
) :
5979 # C.g:0:0: IDENTIFIER
5980 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_constant1688
)
5992 # C.g:444:9: FLOATING_POINT_LITERAL
5993 self
.match(self
.input, FLOATING_POINT_LITERAL
, self
.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699
)
5999 except RecognitionException
as re
:
6000 self
.reportError(re
)
6001 self
.recover(self
.input, re
)
6003 if self
.backtracking
> 0:
6004 self
.memoize(self
.input, 45, constant_StartIndex
)
6010 # $ANTLR end constant
6012 class expression_return(object):
6019 # $ANTLR start expression
6020 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6021 def expression(self
, ):
6023 retval
= self
.expression_return()
6024 retval
.start
= self
.input.LT(1)
6025 expression_StartIndex
= self
.input.index()
6028 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 46):
6031 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6032 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6033 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1715
)
6034 self
.assignment_expression()
6035 self
.following
.pop()
6038 # C.g:450:26: ( ',' assignment_expression )*
6041 LA73_0
= self
.input.LA(1)
6048 # C.g:450:27: ',' assignment_expression
6049 self
.match(self
.input, 27, self
.FOLLOW_27_in_expression1718
)
6052 self
.following
.append(self
.FOLLOW_assignment_expression_in_expression1720
)
6053 self
.assignment_expression()
6054 self
.following
.pop()
6066 retval
.stop
= self
.input.LT(-1)
6069 except RecognitionException
as re
:
6070 self
.reportError(re
)
6071 self
.recover(self
.input, re
)
6073 if self
.backtracking
> 0:
6074 self
.memoize(self
.input, 46, expression_StartIndex
)
6080 # $ANTLR end expression
6083 # $ANTLR start constant_expression
6084 # C.g:453:1: constant_expression : conditional_expression ;
6085 def constant_expression(self
, ):
6087 constant_expression_StartIndex
= self
.input.index()
6090 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 47):
6093 # C.g:454:2: ( conditional_expression )
6094 # C.g:454:4: conditional_expression
6095 self
.following
.append(self
.FOLLOW_conditional_expression_in_constant_expression1733
)
6096 self
.conditional_expression()
6097 self
.following
.pop()
6104 except RecognitionException
as re
:
6105 self
.reportError(re
)
6106 self
.recover(self
.input, re
)
6108 if self
.backtracking
> 0:
6109 self
.memoize(self
.input, 47, constant_expression_StartIndex
)
6115 # $ANTLR end constant_expression
6118 # $ANTLR start assignment_expression
6119 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6120 def assignment_expression(self
, ):
6122 assignment_expression_StartIndex
= self
.input.index()
6125 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 48):
6128 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6130 LA74
= self
.input.LA(1)
6131 if LA74
== IDENTIFIER
:
6132 LA74
= self
.input.LA(2)
6134 LA74_13
= self
.input.LA(3)
6136 if (self
.synpred142()) :
6141 if self
.backtracking
> 0:
6145 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self
.input)
6150 LA74_14
= self
.input.LA(3)
6152 if (self
.synpred142()) :
6157 if self
.backtracking
> 0:
6161 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self
.input)
6166 LA74_15
= self
.input.LA(3)
6168 if (self
.synpred142()) :
6173 if self
.backtracking
> 0:
6177 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self
.input)
6182 LA74_16
= self
.input.LA(3)
6184 if (self
.synpred142()) :
6189 if self
.backtracking
> 0:
6193 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self
.input)
6198 LA74_17
= self
.input.LA(3)
6200 if (self
.synpred142()) :
6205 if self
.backtracking
> 0:
6209 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self
.input)
6214 LA74_18
= self
.input.LA(3)
6216 if (self
.synpred142()) :
6221 if self
.backtracking
> 0:
6225 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self
.input)
6230 LA74_19
= self
.input.LA(3)
6232 if (self
.synpred142()) :
6237 if self
.backtracking
> 0:
6241 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self
.input)
6245 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:
6247 elif LA74
== STRING_LITERAL
:
6248 LA74_21
= self
.input.LA(3)
6250 if (self
.synpred142()) :
6255 if self
.backtracking
> 0:
6259 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self
.input)
6263 elif LA74
== IDENTIFIER
:
6264 LA74_22
= self
.input.LA(3)
6266 if (self
.synpred142()) :
6271 if self
.backtracking
> 0:
6275 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self
.input)
6279 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:
6282 if self
.backtracking
> 0:
6286 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self
.input)
6290 elif LA74
== HEX_LITERAL
:
6291 LA74
= self
.input.LA(2)
6293 LA74_44
= self
.input.LA(3)
6295 if (self
.synpred142()) :
6300 if self
.backtracking
> 0:
6304 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self
.input)
6309 LA74_45
= self
.input.LA(3)
6311 if (self
.synpred142()) :
6316 if self
.backtracking
> 0:
6320 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self
.input)
6325 LA74_46
= self
.input.LA(3)
6327 if (self
.synpred142()) :
6332 if self
.backtracking
> 0:
6336 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self
.input)
6341 LA74_47
= self
.input.LA(3)
6343 if (self
.synpred142()) :
6348 if self
.backtracking
> 0:
6352 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self
.input)
6357 LA74_48
= self
.input.LA(3)
6359 if (self
.synpred142()) :
6364 if self
.backtracking
> 0:
6368 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self
.input)
6373 LA74_49
= self
.input.LA(3)
6375 if (self
.synpred142()) :
6380 if self
.backtracking
> 0:
6384 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self
.input)
6389 LA74_50
= self
.input.LA(3)
6391 if (self
.synpred142()) :
6396 if self
.backtracking
> 0:
6400 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self
.input)
6404 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:
6406 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:
6409 if self
.backtracking
> 0:
6413 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self
.input)
6417 elif LA74
== OCTAL_LITERAL
:
6418 LA74
= self
.input.LA(2)
6420 LA74_73
= self
.input.LA(3)
6422 if (self
.synpred142()) :
6427 if self
.backtracking
> 0:
6431 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self
.input)
6436 LA74_74
= self
.input.LA(3)
6438 if (self
.synpred142()) :
6443 if self
.backtracking
> 0:
6447 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self
.input)
6452 LA74_75
= self
.input.LA(3)
6454 if (self
.synpred142()) :
6459 if self
.backtracking
> 0:
6463 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self
.input)
6468 LA74_76
= self
.input.LA(3)
6470 if (self
.synpred142()) :
6475 if self
.backtracking
> 0:
6479 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self
.input)
6484 LA74_77
= self
.input.LA(3)
6486 if (self
.synpred142()) :
6491 if self
.backtracking
> 0:
6495 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self
.input)
6500 LA74_78
= self
.input.LA(3)
6502 if (self
.synpred142()) :
6507 if self
.backtracking
> 0:
6511 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self
.input)
6516 LA74_79
= self
.input.LA(3)
6518 if (self
.synpred142()) :
6523 if self
.backtracking
> 0:
6527 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self
.input)
6531 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:
6533 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:
6536 if self
.backtracking
> 0:
6540 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self
.input)
6544 elif LA74
== DECIMAL_LITERAL
:
6545 LA74
= self
.input.LA(2)
6547 LA74_102
= self
.input.LA(3)
6549 if (self
.synpred142()) :
6554 if self
.backtracking
> 0:
6558 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self
.input)
6563 LA74_103
= self
.input.LA(3)
6565 if (self
.synpred142()) :
6570 if self
.backtracking
> 0:
6574 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self
.input)
6579 LA74_104
= self
.input.LA(3)
6581 if (self
.synpred142()) :
6586 if self
.backtracking
> 0:
6590 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self
.input)
6595 LA74_105
= self
.input.LA(3)
6597 if (self
.synpred142()) :
6602 if self
.backtracking
> 0:
6606 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self
.input)
6611 LA74_106
= self
.input.LA(3)
6613 if (self
.synpred142()) :
6618 if self
.backtracking
> 0:
6622 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self
.input)
6627 LA74_107
= self
.input.LA(3)
6629 if (self
.synpred142()) :
6634 if self
.backtracking
> 0:
6638 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self
.input)
6643 LA74_108
= self
.input.LA(3)
6645 if (self
.synpred142()) :
6650 if self
.backtracking
> 0:
6654 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self
.input)
6658 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:
6660 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:
6663 if self
.backtracking
> 0:
6667 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self
.input)
6671 elif LA74
== CHARACTER_LITERAL
:
6672 LA74
= self
.input.LA(2)
6674 LA74_131
= self
.input.LA(3)
6676 if (self
.synpred142()) :
6681 if self
.backtracking
> 0:
6685 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self
.input)
6690 LA74_132
= self
.input.LA(3)
6692 if (self
.synpred142()) :
6697 if self
.backtracking
> 0:
6701 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self
.input)
6706 LA74_133
= self
.input.LA(3)
6708 if (self
.synpred142()) :
6713 if self
.backtracking
> 0:
6717 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self
.input)
6722 LA74_134
= self
.input.LA(3)
6724 if (self
.synpred142()) :
6729 if self
.backtracking
> 0:
6733 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self
.input)
6738 LA74_135
= self
.input.LA(3)
6740 if (self
.synpred142()) :
6745 if self
.backtracking
> 0:
6749 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self
.input)
6754 LA74_136
= self
.input.LA(3)
6756 if (self
.synpred142()) :
6761 if self
.backtracking
> 0:
6765 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self
.input)
6770 LA74_137
= self
.input.LA(3)
6772 if (self
.synpred142()) :
6777 if self
.backtracking
> 0:
6781 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self
.input)
6785 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:
6787 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:
6790 if self
.backtracking
> 0:
6794 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self
.input)
6798 elif LA74
== STRING_LITERAL
:
6799 LA74
= self
.input.LA(2)
6800 if LA74
== IDENTIFIER
:
6801 LA74_160
= self
.input.LA(3)
6803 if (self
.synpred142()) :
6808 if self
.backtracking
> 0:
6812 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self
.input)
6817 LA74_161
= self
.input.LA(3)
6819 if (self
.synpred142()) :
6824 if self
.backtracking
> 0:
6828 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self
.input)
6833 LA74_162
= self
.input.LA(3)
6835 if (self
.synpred142()) :
6840 if self
.backtracking
> 0:
6844 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self
.input)
6849 LA74_163
= self
.input.LA(3)
6851 if (self
.synpred142()) :
6856 if self
.backtracking
> 0:
6860 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self
.input)
6865 LA74_164
= self
.input.LA(3)
6867 if (self
.synpred142()) :
6872 if self
.backtracking
> 0:
6876 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self
.input)
6881 LA74_165
= self
.input.LA(3)
6883 if (self
.synpred142()) :
6888 if self
.backtracking
> 0:
6892 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self
.input)
6897 LA74_166
= self
.input.LA(3)
6899 if (self
.synpred142()) :
6904 if self
.backtracking
> 0:
6908 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self
.input)
6913 LA74_167
= self
.input.LA(3)
6915 if (self
.synpred142()) :
6920 if self
.backtracking
> 0:
6924 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self
.input)
6928 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:
6930 elif LA74
== STRING_LITERAL
:
6931 LA74_189
= self
.input.LA(3)
6933 if (self
.synpred142()) :
6938 if self
.backtracking
> 0:
6942 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self
.input)
6946 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:
6949 if self
.backtracking
> 0:
6953 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self
.input)
6957 elif LA74
== FLOATING_POINT_LITERAL
:
6958 LA74
= self
.input.LA(2)
6960 LA74_191
= self
.input.LA(3)
6962 if (self
.synpred142()) :
6967 if self
.backtracking
> 0:
6971 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self
.input)
6976 LA74_192
= self
.input.LA(3)
6978 if (self
.synpred142()) :
6983 if self
.backtracking
> 0:
6987 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self
.input)
6992 LA74_193
= self
.input.LA(3)
6994 if (self
.synpred142()) :
6999 if self
.backtracking
> 0:
7003 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self
.input)
7008 LA74_194
= self
.input.LA(3)
7010 if (self
.synpred142()) :
7015 if self
.backtracking
> 0:
7019 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self
.input)
7024 LA74_195
= self
.input.LA(3)
7026 if (self
.synpred142()) :
7031 if self
.backtracking
> 0:
7035 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self
.input)
7040 LA74_196
= self
.input.LA(3)
7042 if (self
.synpred142()) :
7047 if self
.backtracking
> 0:
7051 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self
.input)
7056 LA74_197
= self
.input.LA(3)
7058 if (self
.synpred142()) :
7063 if self
.backtracking
> 0:
7067 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self
.input)
7071 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:
7073 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:
7076 if self
.backtracking
> 0:
7080 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self
.input)
7085 LA74
= self
.input.LA(2)
7086 if LA74
== IDENTIFIER
:
7087 LA74_220
= self
.input.LA(3)
7089 if (self
.synpred142()) :
7094 if self
.backtracking
> 0:
7098 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self
.input)
7102 elif LA74
== HEX_LITERAL
:
7103 LA74_221
= self
.input.LA(3)
7105 if (self
.synpred142()) :
7110 if self
.backtracking
> 0:
7114 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self
.input)
7118 elif LA74
== OCTAL_LITERAL
:
7119 LA74_222
= self
.input.LA(3)
7121 if (self
.synpred142()) :
7126 if self
.backtracking
> 0:
7130 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self
.input)
7134 elif LA74
== DECIMAL_LITERAL
:
7135 LA74_223
= self
.input.LA(3)
7137 if (self
.synpred142()) :
7142 if self
.backtracking
> 0:
7146 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self
.input)
7150 elif LA74
== CHARACTER_LITERAL
:
7151 LA74_224
= self
.input.LA(3)
7153 if (self
.synpred142()) :
7158 if self
.backtracking
> 0:
7162 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self
.input)
7166 elif LA74
== STRING_LITERAL
:
7167 LA74_225
= self
.input.LA(3)
7169 if (self
.synpred142()) :
7174 if self
.backtracking
> 0:
7178 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self
.input)
7182 elif LA74
== FLOATING_POINT_LITERAL
:
7183 LA74_226
= self
.input.LA(3)
7185 if (self
.synpred142()) :
7190 if self
.backtracking
> 0:
7194 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self
.input)
7199 LA74_227
= self
.input.LA(3)
7201 if (self
.synpred142()) :
7206 if self
.backtracking
> 0:
7210 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self
.input)
7215 LA74_228
= self
.input.LA(3)
7217 if (self
.synpred142()) :
7222 if self
.backtracking
> 0:
7226 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self
.input)
7231 LA74_229
= self
.input.LA(3)
7233 if (self
.synpred142()) :
7238 if self
.backtracking
> 0:
7242 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self
.input)
7246 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7247 LA74_230
= self
.input.LA(3)
7249 if (self
.synpred142()) :
7254 if self
.backtracking
> 0:
7258 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self
.input)
7263 LA74_231
= self
.input.LA(3)
7265 if (self
.synpred142()) :
7270 if self
.backtracking
> 0:
7274 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self
.input)
7278 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:
7281 if self
.backtracking
> 0:
7285 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self
.input)
7290 LA74
= self
.input.LA(2)
7291 if LA74
== IDENTIFIER
:
7292 LA74_244
= self
.input.LA(3)
7294 if (self
.synpred142()) :
7299 if self
.backtracking
> 0:
7303 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self
.input)
7307 elif LA74
== HEX_LITERAL
:
7308 LA74_245
= self
.input.LA(3)
7310 if (self
.synpred142()) :
7315 if self
.backtracking
> 0:
7319 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self
.input)
7323 elif LA74
== OCTAL_LITERAL
:
7324 LA74_246
= self
.input.LA(3)
7326 if (self
.synpred142()) :
7331 if self
.backtracking
> 0:
7335 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self
.input)
7339 elif LA74
== DECIMAL_LITERAL
:
7340 LA74_247
= self
.input.LA(3)
7342 if (self
.synpred142()) :
7347 if self
.backtracking
> 0:
7351 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self
.input)
7355 elif LA74
== CHARACTER_LITERAL
:
7356 LA74_248
= self
.input.LA(3)
7358 if (self
.synpred142()) :
7363 if self
.backtracking
> 0:
7367 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self
.input)
7371 elif LA74
== STRING_LITERAL
:
7372 LA74_249
= self
.input.LA(3)
7374 if (self
.synpred142()) :
7379 if self
.backtracking
> 0:
7383 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self
.input)
7387 elif LA74
== FLOATING_POINT_LITERAL
:
7388 LA74_250
= self
.input.LA(3)
7390 if (self
.synpred142()) :
7395 if self
.backtracking
> 0:
7399 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self
.input)
7404 LA74_251
= self
.input.LA(3)
7406 if (self
.synpred142()) :
7411 if self
.backtracking
> 0:
7415 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self
.input)
7420 LA74_252
= self
.input.LA(3)
7422 if (self
.synpred142()) :
7427 if self
.backtracking
> 0:
7431 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self
.input)
7436 LA74_253
= self
.input.LA(3)
7438 if (self
.synpred142()) :
7443 if self
.backtracking
> 0:
7447 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self
.input)
7451 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7452 LA74_254
= self
.input.LA(3)
7454 if (self
.synpred142()) :
7459 if self
.backtracking
> 0:
7463 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self
.input)
7468 LA74_255
= self
.input.LA(3)
7470 if (self
.synpred142()) :
7475 if self
.backtracking
> 0:
7479 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self
.input)
7484 if self
.backtracking
> 0:
7488 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self
.input)
7493 LA74
= self
.input.LA(2)
7494 if LA74
== IDENTIFIER
:
7495 LA74_256
= self
.input.LA(3)
7497 if (self
.synpred142()) :
7502 if self
.backtracking
> 0:
7506 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self
.input)
7510 elif LA74
== HEX_LITERAL
:
7511 LA74_257
= self
.input.LA(3)
7513 if (self
.synpred142()) :
7518 if self
.backtracking
> 0:
7522 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self
.input)
7526 elif LA74
== OCTAL_LITERAL
:
7527 LA74_258
= self
.input.LA(3)
7529 if (self
.synpred142()) :
7534 if self
.backtracking
> 0:
7538 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self
.input)
7542 elif LA74
== DECIMAL_LITERAL
:
7543 LA74_259
= self
.input.LA(3)
7545 if (self
.synpred142()) :
7550 if self
.backtracking
> 0:
7554 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self
.input)
7558 elif LA74
== CHARACTER_LITERAL
:
7559 LA74_260
= self
.input.LA(3)
7561 if (self
.synpred142()) :
7566 if self
.backtracking
> 0:
7570 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self
.input)
7574 elif LA74
== STRING_LITERAL
:
7575 LA74_261
= self
.input.LA(3)
7577 if (self
.synpred142()) :
7582 if self
.backtracking
> 0:
7586 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self
.input)
7590 elif LA74
== FLOATING_POINT_LITERAL
:
7591 LA74_262
= self
.input.LA(3)
7593 if (self
.synpred142()) :
7598 if self
.backtracking
> 0:
7602 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self
.input)
7607 LA74_263
= self
.input.LA(3)
7609 if (self
.synpred142()) :
7614 if self
.backtracking
> 0:
7618 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self
.input)
7623 LA74_264
= self
.input.LA(3)
7625 if (self
.synpred142()) :
7630 if self
.backtracking
> 0:
7634 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self
.input)
7639 LA74_265
= self
.input.LA(3)
7641 if (self
.synpred142()) :
7646 if self
.backtracking
> 0:
7650 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self
.input)
7654 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7655 LA74_266
= self
.input.LA(3)
7657 if (self
.synpred142()) :
7662 if self
.backtracking
> 0:
7666 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self
.input)
7671 LA74_267
= self
.input.LA(3)
7673 if (self
.synpred142()) :
7678 if self
.backtracking
> 0:
7682 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self
.input)
7687 if self
.backtracking
> 0:
7691 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self
.input)
7695 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7696 LA74
= self
.input.LA(2)
7698 LA74_268
= self
.input.LA(3)
7700 if (self
.synpred142()) :
7705 if self
.backtracking
> 0:
7709 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self
.input)
7713 elif LA74
== IDENTIFIER
:
7714 LA74_269
= self
.input.LA(3)
7716 if (self
.synpred142()) :
7721 if self
.backtracking
> 0:
7725 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self
.input)
7729 elif LA74
== HEX_LITERAL
:
7730 LA74_270
= self
.input.LA(3)
7732 if (self
.synpred142()) :
7737 if self
.backtracking
> 0:
7741 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self
.input)
7745 elif LA74
== OCTAL_LITERAL
:
7746 LA74_271
= self
.input.LA(3)
7748 if (self
.synpred142()) :
7753 if self
.backtracking
> 0:
7757 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self
.input)
7761 elif LA74
== DECIMAL_LITERAL
:
7762 LA74_272
= self
.input.LA(3)
7764 if (self
.synpred142()) :
7769 if self
.backtracking
> 0:
7773 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self
.input)
7777 elif LA74
== CHARACTER_LITERAL
:
7778 LA74_273
= self
.input.LA(3)
7780 if (self
.synpred142()) :
7785 if self
.backtracking
> 0:
7789 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self
.input)
7793 elif LA74
== STRING_LITERAL
:
7794 LA74_274
= self
.input.LA(3)
7796 if (self
.synpred142()) :
7801 if self
.backtracking
> 0:
7805 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self
.input)
7809 elif LA74
== FLOATING_POINT_LITERAL
:
7810 LA74_275
= self
.input.LA(3)
7812 if (self
.synpred142()) :
7817 if self
.backtracking
> 0:
7821 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self
.input)
7826 LA74_276
= self
.input.LA(3)
7828 if (self
.synpred142()) :
7833 if self
.backtracking
> 0:
7837 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self
.input)
7842 LA74_277
= self
.input.LA(3)
7844 if (self
.synpred142()) :
7849 if self
.backtracking
> 0:
7853 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self
.input)
7857 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
7858 LA74_278
= self
.input.LA(3)
7860 if (self
.synpred142()) :
7865 if self
.backtracking
> 0:
7869 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self
.input)
7874 LA74_279
= self
.input.LA(3)
7876 if (self
.synpred142()) :
7881 if self
.backtracking
> 0:
7885 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self
.input)
7890 if self
.backtracking
> 0:
7894 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self
.input)
7899 LA74
= self
.input.LA(2)
7901 LA74_280
= self
.input.LA(3)
7903 if (self
.synpred142()) :
7908 if self
.backtracking
> 0:
7912 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self
.input)
7916 elif LA74
== IDENTIFIER
:
7917 LA74_281
= self
.input.LA(3)
7919 if (self
.synpred142()) :
7924 if self
.backtracking
> 0:
7928 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self
.input)
7932 elif LA74
== HEX_LITERAL
:
7933 LA74_282
= self
.input.LA(3)
7935 if (self
.synpred142()) :
7940 if self
.backtracking
> 0:
7944 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self
.input)
7948 elif LA74
== OCTAL_LITERAL
:
7949 LA74_283
= self
.input.LA(3)
7951 if (self
.synpred142()) :
7956 if self
.backtracking
> 0:
7960 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self
.input)
7964 elif LA74
== DECIMAL_LITERAL
:
7965 LA74_284
= self
.input.LA(3)
7967 if (self
.synpred142()) :
7972 if self
.backtracking
> 0:
7976 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self
.input)
7980 elif LA74
== CHARACTER_LITERAL
:
7981 LA74_285
= self
.input.LA(3)
7983 if (self
.synpred142()) :
7988 if self
.backtracking
> 0:
7992 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self
.input)
7996 elif LA74
== STRING_LITERAL
:
7997 LA74_286
= self
.input.LA(3)
7999 if (self
.synpred142()) :
8004 if self
.backtracking
> 0:
8008 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self
.input)
8012 elif LA74
== FLOATING_POINT_LITERAL
:
8013 LA74_287
= self
.input.LA(3)
8015 if (self
.synpred142()) :
8020 if self
.backtracking
> 0:
8024 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self
.input)
8029 LA74_288
= self
.input.LA(3)
8031 if (self
.synpred142()) :
8036 if self
.backtracking
> 0:
8040 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self
.input)
8045 LA74_289
= self
.input.LA(3)
8047 if (self
.synpred142()) :
8052 if self
.backtracking
> 0:
8056 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self
.input)
8060 elif LA74
== 66 or LA74
== 68 or LA74
== 69 or LA74
== 77 or LA74
== 78 or LA74
== 79:
8061 LA74_290
= self
.input.LA(3)
8063 if (self
.synpred142()) :
8068 if self
.backtracking
> 0:
8072 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self
.input)
8077 LA74_291
= self
.input.LA(3)
8079 if (self
.synpred142()) :
8084 if self
.backtracking
> 0:
8088 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self
.input)
8093 if self
.backtracking
> 0:
8097 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self
.input)
8102 if self
.backtracking
> 0:
8106 nvae
= NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self
.input)
8111 # C.g:458:4: lvalue assignment_operator assignment_expression
8112 self
.following
.append(self
.FOLLOW_lvalue_in_assignment_expression1744
)
8114 self
.following
.pop()
8117 self
.following
.append(self
.FOLLOW_assignment_operator_in_assignment_expression1746
)
8118 self
.assignment_operator()
8119 self
.following
.pop()
8122 self
.following
.append(self
.FOLLOW_assignment_expression_in_assignment_expression1748
)
8123 self
.assignment_expression()
8124 self
.following
.pop()
8130 # C.g:459:4: conditional_expression
8131 self
.following
.append(self
.FOLLOW_conditional_expression_in_assignment_expression1753
)
8132 self
.conditional_expression()
8133 self
.following
.pop()
8139 except RecognitionException
as re
:
8140 self
.reportError(re
)
8141 self
.recover(self
.input, re
)
8143 if self
.backtracking
> 0:
8144 self
.memoize(self
.input, 48, assignment_expression_StartIndex
)
8150 # $ANTLR end assignment_expression
8153 # $ANTLR start lvalue
8154 # C.g:462:1: lvalue : unary_expression ;
8157 lvalue_StartIndex
= self
.input.index()
8160 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 49):
8163 # C.g:463:2: ( unary_expression )
8164 # C.g:463:4: unary_expression
8165 self
.following
.append(self
.FOLLOW_unary_expression_in_lvalue1765
)
8166 self
.unary_expression()
8167 self
.following
.pop()
8174 except RecognitionException
as re
:
8175 self
.reportError(re
)
8176 self
.recover(self
.input, re
)
8178 if self
.backtracking
> 0:
8179 self
.memoize(self
.input, 49, lvalue_StartIndex
)
8188 # $ANTLR start assignment_operator
8189 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8190 def assignment_operator(self
, ):
8192 assignment_operator_StartIndex
= self
.input.index()
8195 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 50):
8198 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8200 if self
.input.LA(1) == 28 or (80 <= self
.input.LA(1) <= 89):
8201 self
.input.consume();
8202 self
.errorRecovery
= False
8206 if self
.backtracking
> 0:
8210 mse
= MismatchedSetException(None, self
.input)
8211 self
.recoverFromMismatchedSet(
8212 self
.input, mse
, self
.FOLLOW_set_in_assignment_operator0
8221 except RecognitionException
as re
:
8222 self
.reportError(re
)
8223 self
.recover(self
.input, re
)
8225 if self
.backtracking
> 0:
8226 self
.memoize(self
.input, 50, assignment_operator_StartIndex
)
8232 # $ANTLR end assignment_operator
8235 # $ANTLR start conditional_expression
8236 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8237 def conditional_expression(self
, ):
8239 conditional_expression_StartIndex
= self
.input.index()
8245 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 51):
8248 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8249 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8250 self
.following
.append(self
.FOLLOW_logical_or_expression_in_conditional_expression1839
)
8251 e
= self
.logical_or_expression()
8252 self
.following
.pop()
8255 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8257 LA75_0
= self
.input.LA(1)
8262 # C.g:481:29: '?' expression ':' conditional_expression
8263 self
.match(self
.input, 90, self
.FOLLOW_90_in_conditional_expression1842
)
8266 self
.following
.append(self
.FOLLOW_expression_in_conditional_expression1844
)
8268 self
.following
.pop()
8271 self
.match(self
.input, 47, self
.FOLLOW_47_in_conditional_expression1846
)
8274 self
.following
.append(self
.FOLLOW_conditional_expression_in_conditional_expression1848
)
8275 self
.conditional_expression()
8276 self
.following
.pop()
8279 if self
.backtracking
== 0:
8280 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
8289 except RecognitionException
as re
:
8290 self
.reportError(re
)
8291 self
.recover(self
.input, re
)
8293 if self
.backtracking
> 0:
8294 self
.memoize(self
.input, 51, conditional_expression_StartIndex
)
8300 # $ANTLR end conditional_expression
8302 class logical_or_expression_return(object):
8309 # $ANTLR start logical_or_expression
8310 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8311 def logical_or_expression(self
, ):
8313 retval
= self
.logical_or_expression_return()
8314 retval
.start
= self
.input.LT(1)
8315 logical_or_expression_StartIndex
= self
.input.index()
8318 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 52):
8321 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8322 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8323 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1863
)
8324 self
.logical_and_expression()
8325 self
.following
.pop()
8328 # C.g:485:27: ( '||' logical_and_expression )*
8331 LA76_0
= self
.input.LA(1)
8338 # C.g:485:28: '||' logical_and_expression
8339 self
.match(self
.input, 91, self
.FOLLOW_91_in_logical_or_expression1866
)
8342 self
.following
.append(self
.FOLLOW_logical_and_expression_in_logical_or_expression1868
)
8343 self
.logical_and_expression()
8344 self
.following
.pop()
8356 retval
.stop
= self
.input.LT(-1)
8359 except RecognitionException
as re
:
8360 self
.reportError(re
)
8361 self
.recover(self
.input, re
)
8363 if self
.backtracking
> 0:
8364 self
.memoize(self
.input, 52, logical_or_expression_StartIndex
)
8370 # $ANTLR end logical_or_expression
8373 # $ANTLR start logical_and_expression
8374 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8375 def logical_and_expression(self
, ):
8377 logical_and_expression_StartIndex
= self
.input.index()
8380 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 53):
8383 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8384 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8385 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1881
)
8386 self
.inclusive_or_expression()
8387 self
.following
.pop()
8390 # C.g:489:28: ( '&&' inclusive_or_expression )*
8393 LA77_0
= self
.input.LA(1)
8400 # C.g:489:29: '&&' inclusive_or_expression
8401 self
.match(self
.input, 92, self
.FOLLOW_92_in_logical_and_expression1884
)
8404 self
.following
.append(self
.FOLLOW_inclusive_or_expression_in_logical_and_expression1886
)
8405 self
.inclusive_or_expression()
8406 self
.following
.pop()
8419 except RecognitionException
as re
:
8420 self
.reportError(re
)
8421 self
.recover(self
.input, re
)
8423 if self
.backtracking
> 0:
8424 self
.memoize(self
.input, 53, logical_and_expression_StartIndex
)
8430 # $ANTLR end logical_and_expression
8433 # $ANTLR start inclusive_or_expression
8434 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8435 def inclusive_or_expression(self
, ):
8437 inclusive_or_expression_StartIndex
= self
.input.index()
8440 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 54):
8443 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8444 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8445 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899
)
8446 self
.exclusive_or_expression()
8447 self
.following
.pop()
8450 # C.g:493:28: ( '|' exclusive_or_expression )*
8453 LA78_0
= self
.input.LA(1)
8460 # C.g:493:29: '|' exclusive_or_expression
8461 self
.match(self
.input, 93, self
.FOLLOW_93_in_inclusive_or_expression1902
)
8464 self
.following
.append(self
.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904
)
8465 self
.exclusive_or_expression()
8466 self
.following
.pop()
8479 except RecognitionException
as re
:
8480 self
.reportError(re
)
8481 self
.recover(self
.input, re
)
8483 if self
.backtracking
> 0:
8484 self
.memoize(self
.input, 54, inclusive_or_expression_StartIndex
)
8490 # $ANTLR end inclusive_or_expression
8493 # $ANTLR start exclusive_or_expression
8494 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8495 def exclusive_or_expression(self
, ):
8497 exclusive_or_expression_StartIndex
= self
.input.index()
8500 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 55):
8503 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8504 # C.g:497:4: and_expression ( '^' and_expression )*
8505 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1917
)
8506 self
.and_expression()
8507 self
.following
.pop()
8510 # C.g:497:19: ( '^' and_expression )*
8513 LA79_0
= self
.input.LA(1)
8520 # C.g:497:20: '^' and_expression
8521 self
.match(self
.input, 94, self
.FOLLOW_94_in_exclusive_or_expression1920
)
8524 self
.following
.append(self
.FOLLOW_and_expression_in_exclusive_or_expression1922
)
8525 self
.and_expression()
8526 self
.following
.pop()
8539 except RecognitionException
as re
:
8540 self
.reportError(re
)
8541 self
.recover(self
.input, re
)
8543 if self
.backtracking
> 0:
8544 self
.memoize(self
.input, 55, exclusive_or_expression_StartIndex
)
8550 # $ANTLR end exclusive_or_expression
8553 # $ANTLR start and_expression
8554 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8555 def and_expression(self
, ):
8557 and_expression_StartIndex
= self
.input.index()
8560 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 56):
8563 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8564 # C.g:501:4: equality_expression ( '&' equality_expression )*
8565 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1935
)
8566 self
.equality_expression()
8567 self
.following
.pop()
8570 # C.g:501:24: ( '&' equality_expression )*
8573 LA80_0
= self
.input.LA(1)
8580 # C.g:501:25: '&' equality_expression
8581 self
.match(self
.input, 77, self
.FOLLOW_77_in_and_expression1938
)
8584 self
.following
.append(self
.FOLLOW_equality_expression_in_and_expression1940
)
8585 self
.equality_expression()
8586 self
.following
.pop()
8599 except RecognitionException
as re
:
8600 self
.reportError(re
)
8601 self
.recover(self
.input, re
)
8603 if self
.backtracking
> 0:
8604 self
.memoize(self
.input, 56, and_expression_StartIndex
)
8610 # $ANTLR end and_expression
8613 # $ANTLR start equality_expression
8614 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8615 def equality_expression(self
, ):
8617 equality_expression_StartIndex
= self
.input.index()
8620 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 57):
8623 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8624 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8625 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1952
)
8626 self
.relational_expression()
8627 self
.following
.pop()
8630 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8633 LA81_0
= self
.input.LA(1)
8635 if ((95 <= LA81_0
<= 96)) :
8640 # C.g:504:27: ( '==' | '!=' ) relational_expression
8641 if (95 <= self
.input.LA(1) <= 96):
8642 self
.input.consume();
8643 self
.errorRecovery
= False
8647 if self
.backtracking
> 0:
8651 mse
= MismatchedSetException(None, self
.input)
8652 self
.recoverFromMismatchedSet(
8653 self
.input, mse
, self
.FOLLOW_set_in_equality_expression1955
8658 self
.following
.append(self
.FOLLOW_relational_expression_in_equality_expression1961
)
8659 self
.relational_expression()
8660 self
.following
.pop()
8673 except RecognitionException
as re
:
8674 self
.reportError(re
)
8675 self
.recover(self
.input, re
)
8677 if self
.backtracking
> 0:
8678 self
.memoize(self
.input, 57, equality_expression_StartIndex
)
8684 # $ANTLR end equality_expression
8687 # $ANTLR start relational_expression
8688 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8689 def relational_expression(self
, ):
8691 relational_expression_StartIndex
= self
.input.index()
8694 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 58):
8697 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8698 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8699 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1975
)
8700 self
.shift_expression()
8701 self
.following
.pop()
8704 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8707 LA82_0
= self
.input.LA(1)
8709 if ((97 <= LA82_0
<= 100)) :
8714 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8715 if (97 <= self
.input.LA(1) <= 100):
8716 self
.input.consume();
8717 self
.errorRecovery
= False
8721 if self
.backtracking
> 0:
8725 mse
= MismatchedSetException(None, self
.input)
8726 self
.recoverFromMismatchedSet(
8727 self
.input, mse
, self
.FOLLOW_set_in_relational_expression1978
8732 self
.following
.append(self
.FOLLOW_shift_expression_in_relational_expression1988
)
8733 self
.shift_expression()
8734 self
.following
.pop()
8747 except RecognitionException
as re
:
8748 self
.reportError(re
)
8749 self
.recover(self
.input, re
)
8751 if self
.backtracking
> 0:
8752 self
.memoize(self
.input, 58, relational_expression_StartIndex
)
8758 # $ANTLR end relational_expression
8761 # $ANTLR start shift_expression
8762 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8763 def shift_expression(self
, ):
8765 shift_expression_StartIndex
= self
.input.index()
8768 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 59):
8771 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8772 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8773 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression2001
)
8774 self
.additive_expression()
8775 self
.following
.pop()
8778 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8781 LA83_0
= self
.input.LA(1)
8783 if ((101 <= LA83_0
<= 102)) :
8788 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8789 if (101 <= self
.input.LA(1) <= 102):
8790 self
.input.consume();
8791 self
.errorRecovery
= False
8795 if self
.backtracking
> 0:
8799 mse
= MismatchedSetException(None, self
.input)
8800 self
.recoverFromMismatchedSet(
8801 self
.input, mse
, self
.FOLLOW_set_in_shift_expression2004
8806 self
.following
.append(self
.FOLLOW_additive_expression_in_shift_expression2010
)
8807 self
.additive_expression()
8808 self
.following
.pop()
8821 except RecognitionException
as re
:
8822 self
.reportError(re
)
8823 self
.recover(self
.input, re
)
8825 if self
.backtracking
> 0:
8826 self
.memoize(self
.input, 59, shift_expression_StartIndex
)
8832 # $ANTLR end shift_expression
8835 # $ANTLR start statement
8836 # 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 );
8837 def statement(self
, ):
8839 statement_StartIndex
= self
.input.index()
8842 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 60):
8845 # 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 )
8847 LA84
= self
.input.LA(1)
8848 if LA84
== IDENTIFIER
:
8849 LA84
= self
.input.LA(2)
8851 LA84_43
= self
.input.LA(3)
8853 if (self
.synpred169()) :
8855 elif (self
.synpred173()) :
8857 elif (self
.synpred174()) :
8862 if self
.backtracking
> 0:
8866 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)
8872 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:
8875 LA84_47
= self
.input.LA(3)
8877 if (self
.synpred169()) :
8882 if self
.backtracking
> 0:
8886 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)
8890 elif LA84
== IDENTIFIER
:
8891 LA84_53
= self
.input.LA(3)
8893 if (self
.synpred169()) :
8898 if self
.backtracking
> 0:
8902 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)
8907 LA84_68
= self
.input.LA(3)
8909 if (self
.synpred169()) :
8914 if self
.backtracking
> 0:
8918 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)
8922 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:
8925 if self
.backtracking
> 0:
8929 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)
8933 elif LA84
== 106 or LA84
== 107:
8937 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:
8939 elif LA84
== 108 or LA84
== 110:
8941 elif LA84
== 111 or LA84
== 112 or LA84
== 113:
8943 elif LA84
== 114 or LA84
== 115 or LA84
== 116 or LA84
== 117:
8951 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:
8954 if self
.backtracking
> 0:
8958 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)
8963 # C.g:518:4: labeled_statement
8964 self
.following
.append(self
.FOLLOW_labeled_statement_in_statement2025
)
8965 self
.labeled_statement()
8966 self
.following
.pop()
8972 # C.g:519:4: compound_statement
8973 self
.following
.append(self
.FOLLOW_compound_statement_in_statement2030
)
8974 self
.compound_statement()
8975 self
.following
.pop()
8981 # C.g:520:4: expression_statement
8982 self
.following
.append(self
.FOLLOW_expression_statement_in_statement2035
)
8983 self
.expression_statement()
8984 self
.following
.pop()
8990 # C.g:521:4: selection_statement
8991 self
.following
.append(self
.FOLLOW_selection_statement_in_statement2040
)
8992 self
.selection_statement()
8993 self
.following
.pop()
8999 # C.g:522:4: iteration_statement
9000 self
.following
.append(self
.FOLLOW_iteration_statement_in_statement2045
)
9001 self
.iteration_statement()
9002 self
.following
.pop()
9008 # C.g:523:4: jump_statement
9009 self
.following
.append(self
.FOLLOW_jump_statement_in_statement2050
)
9010 self
.jump_statement()
9011 self
.following
.pop()
9017 # C.g:524:4: macro_statement
9018 self
.following
.append(self
.FOLLOW_macro_statement_in_statement2055
)
9019 self
.macro_statement()
9020 self
.following
.pop()
9026 # C.g:525:4: asm2_statement
9027 self
.following
.append(self
.FOLLOW_asm2_statement_in_statement2060
)
9028 self
.asm2_statement()
9029 self
.following
.pop()
9035 # C.g:526:4: asm1_statement
9036 self
.following
.append(self
.FOLLOW_asm1_statement_in_statement2065
)
9037 self
.asm1_statement()
9038 self
.following
.pop()
9044 # C.g:527:4: asm_statement
9045 self
.following
.append(self
.FOLLOW_asm_statement_in_statement2070
)
9046 self
.asm_statement()
9047 self
.following
.pop()
9053 # C.g:528:4: declaration
9054 self
.following
.append(self
.FOLLOW_declaration_in_statement2075
)
9056 self
.following
.pop()
9062 except RecognitionException
as re
:
9063 self
.reportError(re
)
9064 self
.recover(self
.input, re
)
9066 if self
.backtracking
> 0:
9067 self
.memoize(self
.input, 60, statement_StartIndex
)
9073 # $ANTLR end statement
9076 # $ANTLR start asm2_statement
9077 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9078 def asm2_statement(self
, ):
9080 asm2_statement_StartIndex
= self
.input.index()
9083 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 61):
9086 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9087 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9088 # C.g:532:4: ( '__asm__' )?
9090 LA85_0
= self
.input.LA(1)
9092 if (LA85_0
== 103) :
9095 # C.g:0:0: '__asm__'
9096 self
.match(self
.input, 103, self
.FOLLOW_103_in_asm2_statement2086
)
9102 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_asm2_statement2089
)
9105 self
.match(self
.input, 62, self
.FOLLOW_62_in_asm2_statement2091
)
9108 # C.g:532:30: (~ ( ';' ) )*
9111 LA86_0
= self
.input.LA(1)
9114 LA86_1
= self
.input.LA(2)
9116 if ((IDENTIFIER
<= LA86_1
<= LINE_COMMAND
) or (26 <= LA86_1
<= 117)) :
9120 elif ((IDENTIFIER
<= LA86_0
<= LINE_COMMAND
) or (26 <= LA86_0
<= 62) or (64 <= LA86_0
<= 117)) :
9125 # C.g:532:31: ~ ( ';' )
9126 if (IDENTIFIER
<= self
.input.LA(1) <= LINE_COMMAND
) or (26 <= self
.input.LA(1) <= 117):
9127 self
.input.consume();
9128 self
.errorRecovery
= False
9132 if self
.backtracking
> 0:
9136 mse
= MismatchedSetException(None, self
.input)
9137 self
.recoverFromMismatchedSet(
9138 self
.input, mse
, self
.FOLLOW_set_in_asm2_statement2094
9149 self
.match(self
.input, 63, self
.FOLLOW_63_in_asm2_statement2101
)
9152 self
.match(self
.input, 25, self
.FOLLOW_25_in_asm2_statement2103
)
9159 except RecognitionException
as re
:
9160 self
.reportError(re
)
9161 self
.recover(self
.input, re
)
9163 if self
.backtracking
> 0:
9164 self
.memoize(self
.input, 61, asm2_statement_StartIndex
)
9170 # $ANTLR end asm2_statement
9173 # $ANTLR start asm1_statement
9174 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9175 def asm1_statement(self
, ):
9177 asm1_statement_StartIndex
= self
.input.index()
9180 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 62):
9183 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9184 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9185 self
.match(self
.input, 104, self
.FOLLOW_104_in_asm1_statement2115
)
9188 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm1_statement2117
)
9191 # C.g:536:15: (~ ( '}' ) )*
9194 LA87_0
= self
.input.LA(1)
9196 if ((IDENTIFIER
<= LA87_0
<= 43) or (45 <= LA87_0
<= 117)) :
9201 # C.g:536:16: ~ ( '}' )
9202 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 117):
9203 self
.input.consume();
9204 self
.errorRecovery
= False
9208 if self
.backtracking
> 0:
9212 mse
= MismatchedSetException(None, self
.input)
9213 self
.recoverFromMismatchedSet(
9214 self
.input, mse
, self
.FOLLOW_set_in_asm1_statement2120
9225 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm1_statement2127
)
9232 except RecognitionException
as re
:
9233 self
.reportError(re
)
9234 self
.recover(self
.input, re
)
9236 if self
.backtracking
> 0:
9237 self
.memoize(self
.input, 62, asm1_statement_StartIndex
)
9243 # $ANTLR end asm1_statement
9246 # $ANTLR start asm_statement
9247 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9248 def asm_statement(self
, ):
9250 asm_statement_StartIndex
= self
.input.index()
9253 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 63):
9256 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9257 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9258 self
.match(self
.input, 105, self
.FOLLOW_105_in_asm_statement2138
)
9261 self
.match(self
.input, 43, self
.FOLLOW_43_in_asm_statement2140
)
9264 # C.g:540:16: (~ ( '}' ) )*
9267 LA88_0
= self
.input.LA(1)
9269 if ((IDENTIFIER
<= LA88_0
<= 43) or (45 <= LA88_0
<= 117)) :
9274 # C.g:540:17: ~ ( '}' )
9275 if (IDENTIFIER
<= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 117):
9276 self
.input.consume();
9277 self
.errorRecovery
= False
9281 if self
.backtracking
> 0:
9285 mse
= MismatchedSetException(None, self
.input)
9286 self
.recoverFromMismatchedSet(
9287 self
.input, mse
, self
.FOLLOW_set_in_asm_statement2143
9298 self
.match(self
.input, 44, self
.FOLLOW_44_in_asm_statement2150
)
9305 except RecognitionException
as re
:
9306 self
.reportError(re
)
9307 self
.recover(self
.input, re
)
9309 if self
.backtracking
> 0:
9310 self
.memoize(self
.input, 63, asm_statement_StartIndex
)
9316 # $ANTLR end asm_statement
9319 # $ANTLR start macro_statement
9320 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9321 def macro_statement(self
, ):
9323 macro_statement_StartIndex
= self
.input.index()
9326 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 64):
9329 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9330 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9331 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_macro_statement2162
)
9334 self
.match(self
.input, 62, self
.FOLLOW_62_in_macro_statement2164
)
9337 # C.g:544:19: ( declaration )*
9340 LA89
= self
.input.LA(1)
9341 if LA89
== IDENTIFIER
:
9342 LA89
= self
.input.LA(2)
9344 LA89_45
= self
.input.LA(3)
9346 if (self
.synpred181()) :
9350 elif LA89
== IDENTIFIER
:
9351 LA89_47
= self
.input.LA(3)
9353 if (self
.synpred181()) :
9358 LA89_50
= self
.input.LA(3)
9360 if (self
.synpred181()) :
9365 LA89_68
= self
.input.LA(3)
9367 if (self
.synpred181()) :
9372 LA89_71
= self
.input.LA(3)
9374 if (self
.synpred181()) :
9379 LA89_72
= self
.input.LA(3)
9381 if (self
.synpred181()) :
9386 LA89_73
= self
.input.LA(3)
9388 if (self
.synpred181()) :
9392 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9393 LA89_74
= self
.input.LA(3)
9395 if (self
.synpred181()) :
9400 LA89_75
= self
.input.LA(3)
9402 if (self
.synpred181()) :
9407 LA89_76
= self
.input.LA(3)
9409 if (self
.synpred181()) :
9414 LA89_77
= self
.input.LA(3)
9416 if (self
.synpred181()) :
9421 LA89_78
= self
.input.LA(3)
9423 if (self
.synpred181()) :
9428 LA89_79
= self
.input.LA(3)
9430 if (self
.synpred181()) :
9435 LA89_80
= self
.input.LA(3)
9437 if (self
.synpred181()) :
9442 LA89_81
= self
.input.LA(3)
9444 if (self
.synpred181()) :
9449 LA89_82
= self
.input.LA(3)
9451 if (self
.synpred181()) :
9456 LA89_83
= self
.input.LA(3)
9458 if (self
.synpred181()) :
9462 elif LA89
== 45 or LA89
== 46:
9463 LA89_84
= self
.input.LA(3)
9465 if (self
.synpred181()) :
9470 LA89_85
= self
.input.LA(3)
9472 if (self
.synpred181()) :
9476 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:
9477 LA89_86
= self
.input.LA(3)
9479 if (self
.synpred181()) :
9485 LA89
= self
.input.LA(2)
9486 if LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9487 LA89_87
= self
.input.LA(3)
9489 if (self
.synpred181()) :
9494 LA89_88
= self
.input.LA(3)
9496 if (self
.synpred181()) :
9501 LA89_89
= self
.input.LA(3)
9503 if (self
.synpred181()) :
9508 LA89_90
= self
.input.LA(3)
9510 if (self
.synpred181()) :
9515 LA89_91
= self
.input.LA(3)
9517 if (self
.synpred181()) :
9522 LA89_92
= self
.input.LA(3)
9524 if (self
.synpred181()) :
9529 LA89_93
= self
.input.LA(3)
9531 if (self
.synpred181()) :
9536 LA89_94
= self
.input.LA(3)
9538 if (self
.synpred181()) :
9543 LA89_95
= self
.input.LA(3)
9545 if (self
.synpred181()) :
9550 LA89_96
= self
.input.LA(3)
9552 if (self
.synpred181()) :
9556 elif LA89
== 45 or LA89
== 46:
9557 LA89_97
= self
.input.LA(3)
9559 if (self
.synpred181()) :
9564 LA89_98
= self
.input.LA(3)
9566 if (self
.synpred181()) :
9570 elif LA89
== IDENTIFIER
:
9571 LA89_99
= self
.input.LA(3)
9573 if (self
.synpred181()) :
9578 LA89_100
= self
.input.LA(3)
9580 if (self
.synpred181()) :
9585 LA89_101
= self
.input.LA(3)
9587 if (self
.synpred181()) :
9592 LA89_102
= self
.input.LA(3)
9594 if (self
.synpred181()) :
9599 LA89_103
= self
.input.LA(3)
9601 if (self
.synpred181()) :
9605 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:
9606 LA89_104
= self
.input.LA(3)
9608 if (self
.synpred181()) :
9613 LA89_105
= self
.input.LA(3)
9615 if (self
.synpred181()) :
9620 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9621 LA89
= self
.input.LA(2)
9623 LA89_106
= self
.input.LA(3)
9625 if (self
.synpred181()) :
9630 LA89_107
= self
.input.LA(3)
9632 if (self
.synpred181()) :
9637 LA89_108
= self
.input.LA(3)
9639 if (self
.synpred181()) :
9644 LA89_109
= self
.input.LA(3)
9646 if (self
.synpred181()) :
9650 elif LA89
== IDENTIFIER
:
9651 LA89_110
= self
.input.LA(3)
9653 if (self
.synpred181()) :
9658 LA89_111
= self
.input.LA(3)
9660 if (self
.synpred181()) :
9665 LA89_112
= self
.input.LA(3)
9667 if (self
.synpred181()) :
9671 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9672 LA89_113
= self
.input.LA(3)
9674 if (self
.synpred181()) :
9679 LA89_114
= self
.input.LA(3)
9681 if (self
.synpred181()) :
9686 LA89_115
= self
.input.LA(3)
9688 if (self
.synpred181()) :
9693 LA89_116
= self
.input.LA(3)
9695 if (self
.synpred181()) :
9700 LA89_117
= self
.input.LA(3)
9702 if (self
.synpred181()) :
9707 LA89_118
= self
.input.LA(3)
9709 if (self
.synpred181()) :
9714 LA89_119
= self
.input.LA(3)
9716 if (self
.synpred181()) :
9721 LA89_120
= self
.input.LA(3)
9723 if (self
.synpred181()) :
9728 LA89_121
= self
.input.LA(3)
9730 if (self
.synpred181()) :
9735 LA89_122
= self
.input.LA(3)
9737 if (self
.synpred181()) :
9741 elif LA89
== 45 or LA89
== 46:
9742 LA89_123
= self
.input.LA(3)
9744 if (self
.synpred181()) :
9749 LA89_124
= self
.input.LA(3)
9751 if (self
.synpred181()) :
9755 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:
9756 LA89_125
= self
.input.LA(3)
9758 if (self
.synpred181()) :
9764 LA89
= self
.input.LA(2)
9766 LA89_126
= self
.input.LA(3)
9768 if (self
.synpred181()) :
9773 LA89_127
= self
.input.LA(3)
9775 if (self
.synpred181()) :
9780 LA89_128
= self
.input.LA(3)
9782 if (self
.synpred181()) :
9787 LA89_129
= self
.input.LA(3)
9789 if (self
.synpred181()) :
9793 elif LA89
== IDENTIFIER
:
9794 LA89_130
= self
.input.LA(3)
9796 if (self
.synpred181()) :
9801 LA89_131
= self
.input.LA(3)
9803 if (self
.synpred181()) :
9808 LA89_132
= self
.input.LA(3)
9810 if (self
.synpred181()) :
9814 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9815 LA89_133
= self
.input.LA(3)
9817 if (self
.synpred181()) :
9822 LA89_134
= self
.input.LA(3)
9824 if (self
.synpred181()) :
9829 LA89_135
= self
.input.LA(3)
9831 if (self
.synpred181()) :
9836 LA89_136
= self
.input.LA(3)
9838 if (self
.synpred181()) :
9843 LA89_137
= self
.input.LA(3)
9845 if (self
.synpred181()) :
9850 LA89_138
= self
.input.LA(3)
9852 if (self
.synpred181()) :
9857 LA89_139
= self
.input.LA(3)
9859 if (self
.synpred181()) :
9864 LA89_140
= self
.input.LA(3)
9866 if (self
.synpred181()) :
9871 LA89_141
= self
.input.LA(3)
9873 if (self
.synpred181()) :
9878 LA89_142
= self
.input.LA(3)
9880 if (self
.synpred181()) :
9884 elif LA89
== 45 or LA89
== 46:
9885 LA89_143
= self
.input.LA(3)
9887 if (self
.synpred181()) :
9892 LA89_144
= self
.input.LA(3)
9894 if (self
.synpred181()) :
9898 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:
9899 LA89_145
= self
.input.LA(3)
9901 if (self
.synpred181()) :
9907 LA89
= self
.input.LA(2)
9909 LA89_146
= self
.input.LA(3)
9911 if (self
.synpred181()) :
9916 LA89_147
= self
.input.LA(3)
9918 if (self
.synpred181()) :
9923 LA89_148
= self
.input.LA(3)
9925 if (self
.synpred181()) :
9930 LA89_149
= self
.input.LA(3)
9932 if (self
.synpred181()) :
9936 elif LA89
== IDENTIFIER
:
9937 LA89_150
= self
.input.LA(3)
9939 if (self
.synpred181()) :
9944 LA89_151
= self
.input.LA(3)
9946 if (self
.synpred181()) :
9951 LA89_152
= self
.input.LA(3)
9953 if (self
.synpred181()) :
9957 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
9958 LA89_153
= self
.input.LA(3)
9960 if (self
.synpred181()) :
9965 LA89_154
= self
.input.LA(3)
9967 if (self
.synpred181()) :
9972 LA89_155
= self
.input.LA(3)
9974 if (self
.synpred181()) :
9979 LA89_156
= self
.input.LA(3)
9981 if (self
.synpred181()) :
9986 LA89_157
= self
.input.LA(3)
9988 if (self
.synpred181()) :
9993 LA89_158
= self
.input.LA(3)
9995 if (self
.synpred181()) :
10000 LA89_159
= self
.input.LA(3)
10002 if (self
.synpred181()) :
10007 LA89_160
= self
.input.LA(3)
10009 if (self
.synpred181()) :
10014 LA89_161
= self
.input.LA(3)
10016 if (self
.synpred181()) :
10021 LA89_162
= self
.input.LA(3)
10023 if (self
.synpred181()) :
10027 elif LA89
== 45 or LA89
== 46:
10028 LA89_163
= self
.input.LA(3)
10030 if (self
.synpred181()) :
10035 LA89_164
= self
.input.LA(3)
10037 if (self
.synpred181()) :
10041 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:
10042 LA89_165
= self
.input.LA(3)
10044 if (self
.synpred181()) :
10050 LA89
= self
.input.LA(2)
10052 LA89_166
= self
.input.LA(3)
10054 if (self
.synpred181()) :
10059 LA89_167
= self
.input.LA(3)
10061 if (self
.synpred181()) :
10066 LA89_168
= self
.input.LA(3)
10068 if (self
.synpred181()) :
10073 LA89_169
= self
.input.LA(3)
10075 if (self
.synpred181()) :
10079 elif LA89
== IDENTIFIER
:
10080 LA89_170
= self
.input.LA(3)
10082 if (self
.synpred181()) :
10087 LA89_171
= self
.input.LA(3)
10089 if (self
.synpred181()) :
10094 LA89_172
= self
.input.LA(3)
10096 if (self
.synpred181()) :
10100 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10101 LA89_173
= self
.input.LA(3)
10103 if (self
.synpred181()) :
10108 LA89_174
= self
.input.LA(3)
10110 if (self
.synpred181()) :
10115 LA89_175
= self
.input.LA(3)
10117 if (self
.synpred181()) :
10122 LA89_176
= self
.input.LA(3)
10124 if (self
.synpred181()) :
10129 LA89_177
= self
.input.LA(3)
10131 if (self
.synpred181()) :
10136 LA89_178
= self
.input.LA(3)
10138 if (self
.synpred181()) :
10143 LA89_179
= self
.input.LA(3)
10145 if (self
.synpred181()) :
10150 LA89_180
= self
.input.LA(3)
10152 if (self
.synpred181()) :
10157 LA89_181
= self
.input.LA(3)
10159 if (self
.synpred181()) :
10164 LA89_182
= self
.input.LA(3)
10166 if (self
.synpred181()) :
10170 elif LA89
== 45 or LA89
== 46:
10171 LA89_183
= self
.input.LA(3)
10173 if (self
.synpred181()) :
10178 LA89_184
= self
.input.LA(3)
10180 if (self
.synpred181()) :
10184 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:
10185 LA89_185
= self
.input.LA(3)
10187 if (self
.synpred181()) :
10193 LA89
= self
.input.LA(2)
10195 LA89_186
= self
.input.LA(3)
10197 if (self
.synpred181()) :
10202 LA89_187
= self
.input.LA(3)
10204 if (self
.synpred181()) :
10209 LA89_188
= self
.input.LA(3)
10211 if (self
.synpred181()) :
10216 LA89_189
= self
.input.LA(3)
10218 if (self
.synpred181()) :
10222 elif LA89
== IDENTIFIER
:
10223 LA89_190
= self
.input.LA(3)
10225 if (self
.synpred181()) :
10230 LA89_191
= self
.input.LA(3)
10232 if (self
.synpred181()) :
10237 LA89_192
= self
.input.LA(3)
10239 if (self
.synpred181()) :
10243 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10244 LA89_193
= self
.input.LA(3)
10246 if (self
.synpred181()) :
10251 LA89_194
= self
.input.LA(3)
10253 if (self
.synpred181()) :
10258 LA89_195
= self
.input.LA(3)
10260 if (self
.synpred181()) :
10265 LA89_196
= self
.input.LA(3)
10267 if (self
.synpred181()) :
10272 LA89_197
= self
.input.LA(3)
10274 if (self
.synpred181()) :
10279 LA89_198
= self
.input.LA(3)
10281 if (self
.synpred181()) :
10286 LA89_199
= self
.input.LA(3)
10288 if (self
.synpred181()) :
10293 LA89_200
= self
.input.LA(3)
10295 if (self
.synpred181()) :
10300 LA89_201
= self
.input.LA(3)
10302 if (self
.synpred181()) :
10307 LA89_202
= self
.input.LA(3)
10309 if (self
.synpred181()) :
10313 elif LA89
== 45 or LA89
== 46:
10314 LA89_203
= self
.input.LA(3)
10316 if (self
.synpred181()) :
10321 LA89_204
= self
.input.LA(3)
10323 if (self
.synpred181()) :
10327 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:
10328 LA89_205
= self
.input.LA(3)
10330 if (self
.synpred181()) :
10336 LA89
= self
.input.LA(2)
10338 LA89_206
= self
.input.LA(3)
10340 if (self
.synpred181()) :
10345 LA89_207
= self
.input.LA(3)
10347 if (self
.synpred181()) :
10352 LA89_208
= self
.input.LA(3)
10354 if (self
.synpred181()) :
10359 LA89_209
= self
.input.LA(3)
10361 if (self
.synpred181()) :
10365 elif LA89
== IDENTIFIER
:
10366 LA89_210
= self
.input.LA(3)
10368 if (self
.synpred181()) :
10373 LA89_211
= self
.input.LA(3)
10375 if (self
.synpred181()) :
10380 LA89_212
= self
.input.LA(3)
10382 if (self
.synpred181()) :
10386 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10387 LA89_213
= self
.input.LA(3)
10389 if (self
.synpred181()) :
10394 LA89_214
= self
.input.LA(3)
10396 if (self
.synpred181()) :
10401 LA89_215
= self
.input.LA(3)
10403 if (self
.synpred181()) :
10408 LA89_216
= self
.input.LA(3)
10410 if (self
.synpred181()) :
10415 LA89_217
= self
.input.LA(3)
10417 if (self
.synpred181()) :
10422 LA89_218
= self
.input.LA(3)
10424 if (self
.synpred181()) :
10429 LA89_219
= self
.input.LA(3)
10431 if (self
.synpred181()) :
10436 LA89_220
= self
.input.LA(3)
10438 if (self
.synpred181()) :
10443 LA89_221
= self
.input.LA(3)
10445 if (self
.synpred181()) :
10450 LA89_222
= self
.input.LA(3)
10452 if (self
.synpred181()) :
10456 elif LA89
== 45 or LA89
== 46:
10457 LA89_223
= self
.input.LA(3)
10459 if (self
.synpred181()) :
10464 LA89_224
= self
.input.LA(3)
10466 if (self
.synpred181()) :
10470 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:
10471 LA89_225
= self
.input.LA(3)
10473 if (self
.synpred181()) :
10479 LA89
= self
.input.LA(2)
10481 LA89_226
= self
.input.LA(3)
10483 if (self
.synpred181()) :
10488 LA89_227
= self
.input.LA(3)
10490 if (self
.synpred181()) :
10495 LA89_228
= self
.input.LA(3)
10497 if (self
.synpred181()) :
10502 LA89_229
= self
.input.LA(3)
10504 if (self
.synpred181()) :
10508 elif LA89
== IDENTIFIER
:
10509 LA89_230
= self
.input.LA(3)
10511 if (self
.synpred181()) :
10516 LA89_231
= self
.input.LA(3)
10518 if (self
.synpred181()) :
10523 LA89_232
= self
.input.LA(3)
10525 if (self
.synpred181()) :
10529 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10530 LA89_233
= self
.input.LA(3)
10532 if (self
.synpred181()) :
10537 LA89_234
= self
.input.LA(3)
10539 if (self
.synpred181()) :
10544 LA89_235
= self
.input.LA(3)
10546 if (self
.synpred181()) :
10551 LA89_236
= self
.input.LA(3)
10553 if (self
.synpred181()) :
10558 LA89_237
= self
.input.LA(3)
10560 if (self
.synpred181()) :
10565 LA89_238
= self
.input.LA(3)
10567 if (self
.synpred181()) :
10572 LA89_239
= self
.input.LA(3)
10574 if (self
.synpred181()) :
10579 LA89_240
= self
.input.LA(3)
10581 if (self
.synpred181()) :
10586 LA89_241
= self
.input.LA(3)
10588 if (self
.synpred181()) :
10593 LA89_242
= self
.input.LA(3)
10595 if (self
.synpred181()) :
10599 elif LA89
== 45 or LA89
== 46:
10600 LA89_243
= self
.input.LA(3)
10602 if (self
.synpred181()) :
10607 LA89_244
= self
.input.LA(3)
10609 if (self
.synpred181()) :
10613 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:
10614 LA89_245
= self
.input.LA(3)
10616 if (self
.synpred181()) :
10622 LA89
= self
.input.LA(2)
10624 LA89_246
= self
.input.LA(3)
10626 if (self
.synpred181()) :
10631 LA89_247
= self
.input.LA(3)
10633 if (self
.synpred181()) :
10638 LA89_248
= self
.input.LA(3)
10640 if (self
.synpred181()) :
10645 LA89_249
= self
.input.LA(3)
10647 if (self
.synpred181()) :
10651 elif LA89
== IDENTIFIER
:
10652 LA89_250
= self
.input.LA(3)
10654 if (self
.synpred181()) :
10659 LA89_251
= self
.input.LA(3)
10661 if (self
.synpred181()) :
10666 LA89_252
= self
.input.LA(3)
10668 if (self
.synpred181()) :
10672 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10673 LA89_253
= self
.input.LA(3)
10675 if (self
.synpred181()) :
10680 LA89_254
= self
.input.LA(3)
10682 if (self
.synpred181()) :
10687 LA89_255
= self
.input.LA(3)
10689 if (self
.synpred181()) :
10694 LA89_256
= self
.input.LA(3)
10696 if (self
.synpred181()) :
10701 LA89_257
= self
.input.LA(3)
10703 if (self
.synpred181()) :
10708 LA89_258
= self
.input.LA(3)
10710 if (self
.synpred181()) :
10715 LA89_259
= self
.input.LA(3)
10717 if (self
.synpred181()) :
10722 LA89_260
= self
.input.LA(3)
10724 if (self
.synpred181()) :
10729 LA89_261
= self
.input.LA(3)
10731 if (self
.synpred181()) :
10736 LA89_262
= self
.input.LA(3)
10738 if (self
.synpred181()) :
10742 elif LA89
== 45 or LA89
== 46:
10743 LA89_263
= self
.input.LA(3)
10745 if (self
.synpred181()) :
10750 LA89_264
= self
.input.LA(3)
10752 if (self
.synpred181()) :
10756 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:
10757 LA89_265
= self
.input.LA(3)
10759 if (self
.synpred181()) :
10765 LA89
= self
.input.LA(2)
10767 LA89_266
= self
.input.LA(3)
10769 if (self
.synpred181()) :
10774 LA89_267
= self
.input.LA(3)
10776 if (self
.synpred181()) :
10781 LA89_268
= self
.input.LA(3)
10783 if (self
.synpred181()) :
10788 LA89_269
= self
.input.LA(3)
10790 if (self
.synpred181()) :
10794 elif LA89
== IDENTIFIER
:
10795 LA89_270
= self
.input.LA(3)
10797 if (self
.synpred181()) :
10802 LA89_271
= self
.input.LA(3)
10804 if (self
.synpred181()) :
10809 LA89_272
= self
.input.LA(3)
10811 if (self
.synpred181()) :
10815 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10816 LA89_273
= self
.input.LA(3)
10818 if (self
.synpred181()) :
10823 LA89_274
= self
.input.LA(3)
10825 if (self
.synpred181()) :
10830 LA89_275
= self
.input.LA(3)
10832 if (self
.synpred181()) :
10837 LA89_276
= self
.input.LA(3)
10839 if (self
.synpred181()) :
10844 LA89_277
= self
.input.LA(3)
10846 if (self
.synpred181()) :
10851 LA89_278
= self
.input.LA(3)
10853 if (self
.synpred181()) :
10858 LA89_279
= self
.input.LA(3)
10860 if (self
.synpred181()) :
10865 LA89_280
= self
.input.LA(3)
10867 if (self
.synpred181()) :
10872 LA89_281
= self
.input.LA(3)
10874 if (self
.synpred181()) :
10879 LA89_282
= self
.input.LA(3)
10881 if (self
.synpred181()) :
10885 elif LA89
== 45 or LA89
== 46:
10886 LA89_283
= self
.input.LA(3)
10888 if (self
.synpred181()) :
10893 LA89_284
= self
.input.LA(3)
10895 if (self
.synpred181()) :
10899 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:
10900 LA89_285
= self
.input.LA(3)
10902 if (self
.synpred181()) :
10908 LA89
= self
.input.LA(2)
10910 LA89_286
= self
.input.LA(3)
10912 if (self
.synpred181()) :
10917 LA89_287
= self
.input.LA(3)
10919 if (self
.synpred181()) :
10924 LA89_288
= self
.input.LA(3)
10926 if (self
.synpred181()) :
10931 LA89_289
= self
.input.LA(3)
10933 if (self
.synpred181()) :
10937 elif LA89
== IDENTIFIER
:
10938 LA89_290
= self
.input.LA(3)
10940 if (self
.synpred181()) :
10945 LA89_291
= self
.input.LA(3)
10947 if (self
.synpred181()) :
10952 LA89_292
= self
.input.LA(3)
10954 if (self
.synpred181()) :
10958 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
10959 LA89_293
= self
.input.LA(3)
10961 if (self
.synpred181()) :
10966 LA89_294
= self
.input.LA(3)
10968 if (self
.synpred181()) :
10973 LA89_295
= self
.input.LA(3)
10975 if (self
.synpred181()) :
10980 LA89_296
= self
.input.LA(3)
10982 if (self
.synpred181()) :
10987 LA89_297
= self
.input.LA(3)
10989 if (self
.synpred181()) :
10994 LA89_298
= self
.input.LA(3)
10996 if (self
.synpred181()) :
11001 LA89_299
= self
.input.LA(3)
11003 if (self
.synpred181()) :
11008 LA89_300
= self
.input.LA(3)
11010 if (self
.synpred181()) :
11015 LA89_301
= self
.input.LA(3)
11017 if (self
.synpred181()) :
11022 LA89_302
= self
.input.LA(3)
11024 if (self
.synpred181()) :
11028 elif LA89
== 45 or LA89
== 46:
11029 LA89_303
= self
.input.LA(3)
11031 if (self
.synpred181()) :
11036 LA89_304
= self
.input.LA(3)
11038 if (self
.synpred181()) :
11042 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:
11043 LA89_305
= self
.input.LA(3)
11045 if (self
.synpred181()) :
11050 elif LA89
== 45 or LA89
== 46:
11051 LA89_40
= self
.input.LA(2)
11053 if (LA89_40
== IDENTIFIER
) :
11054 LA89_306
= self
.input.LA(3)
11056 if (self
.synpred181()) :
11060 elif (LA89_40
== 43) :
11061 LA89_307
= self
.input.LA(3)
11063 if (self
.synpred181()) :
11070 LA89_41
= self
.input.LA(2)
11072 if (LA89_41
== 43) :
11073 LA89_308
= self
.input.LA(3)
11075 if (self
.synpred181()) :
11079 elif (LA89_41
== IDENTIFIER
) :
11080 LA89_309
= self
.input.LA(3)
11082 if (self
.synpred181()) :
11088 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:
11089 LA89
= self
.input.LA(2)
11091 LA89_310
= self
.input.LA(3)
11093 if (self
.synpred181()) :
11098 LA89_311
= self
.input.LA(3)
11100 if (self
.synpred181()) :
11105 LA89_312
= self
.input.LA(3)
11107 if (self
.synpred181()) :
11112 LA89_313
= self
.input.LA(3)
11114 if (self
.synpred181()) :
11118 elif LA89
== IDENTIFIER
:
11119 LA89_314
= self
.input.LA(3)
11121 if (self
.synpred181()) :
11126 LA89_315
= self
.input.LA(3)
11128 if (self
.synpred181()) :
11133 LA89_316
= self
.input.LA(3)
11135 if (self
.synpred181()) :
11139 elif LA89
== 29 or LA89
== 30 or LA89
== 31 or LA89
== 32 or LA89
== 33:
11140 LA89_317
= self
.input.LA(3)
11142 if (self
.synpred181()) :
11147 LA89_318
= self
.input.LA(3)
11149 if (self
.synpred181()) :
11154 LA89_319
= self
.input.LA(3)
11156 if (self
.synpred181()) :
11161 LA89_320
= self
.input.LA(3)
11163 if (self
.synpred181()) :
11168 LA89_321
= self
.input.LA(3)
11170 if (self
.synpred181()) :
11175 LA89_322
= self
.input.LA(3)
11177 if (self
.synpred181()) :
11182 LA89_323
= self
.input.LA(3)
11184 if (self
.synpred181()) :
11189 LA89_324
= self
.input.LA(3)
11191 if (self
.synpred181()) :
11196 LA89_325
= self
.input.LA(3)
11198 if (self
.synpred181()) :
11203 LA89_326
= self
.input.LA(3)
11205 if (self
.synpred181()) :
11209 elif LA89
== 45 or LA89
== 46:
11210 LA89_327
= self
.input.LA(3)
11212 if (self
.synpred181()) :
11217 LA89_328
= self
.input.LA(3)
11219 if (self
.synpred181()) :
11223 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:
11224 LA89_329
= self
.input.LA(3)
11226 if (self
.synpred181()) :
11233 # C.g:0:0: declaration
11234 self
.following
.append(self
.FOLLOW_declaration_in_macro_statement2166
)
11236 self
.following
.pop()
11245 # C.g:544:33: ( statement_list )?
11247 LA90
= self
.input.LA(1)
11248 if LA90
== IDENTIFIER
:
11249 LA90
= self
.input.LA(2)
11250 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:
11253 LA90_45
= self
.input.LA(3)
11255 if (self
.synpred182()) :
11257 elif LA90
== STRING_LITERAL
:
11258 LA90_46
= self
.input.LA(3)
11260 if (self
.synpred182()) :
11262 elif LA90
== IDENTIFIER
:
11263 LA90_47
= self
.input.LA(3)
11265 if (self
.synpred182()) :
11268 LA90_48
= self
.input.LA(3)
11270 if (self
.synpred182()) :
11273 LA90_49
= self
.input.LA(3)
11275 if (self
.synpred182()) :
11278 LA90_50
= self
.input.LA(3)
11280 if (self
.synpred182()) :
11283 LA90_51
= self
.input.LA(3)
11285 if (self
.synpred182()) :
11288 LA90_52
= self
.input.LA(3)
11290 if (self
.synpred182()) :
11293 LA90_53
= self
.input.LA(3)
11295 if (self
.synpred182()) :
11298 LA90_54
= self
.input.LA(3)
11300 if (self
.synpred182()) :
11303 LA90_55
= self
.input.LA(3)
11305 if (self
.synpred182()) :
11308 LA90_56
= self
.input.LA(3)
11310 if (self
.synpred182()) :
11313 LA90_57
= self
.input.LA(3)
11315 if (self
.synpred182()) :
11317 elif LA90
== 101 or LA90
== 102:
11318 LA90_58
= self
.input.LA(3)
11320 if (self
.synpred182()) :
11322 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11323 LA90_59
= self
.input.LA(3)
11325 if (self
.synpred182()) :
11327 elif LA90
== 95 or LA90
== 96:
11328 LA90_60
= self
.input.LA(3)
11330 if (self
.synpred182()) :
11333 LA90_61
= self
.input.LA(3)
11335 if (self
.synpred182()) :
11338 LA90_62
= self
.input.LA(3)
11340 if (self
.synpred182()) :
11343 LA90_63
= self
.input.LA(3)
11345 if (self
.synpred182()) :
11348 LA90_64
= self
.input.LA(3)
11350 if (self
.synpred182()) :
11353 LA90_65
= self
.input.LA(3)
11355 if (self
.synpred182()) :
11358 LA90_66
= self
.input.LA(3)
11360 if (self
.synpred182()) :
11363 LA90_67
= self
.input.LA(3)
11365 if (self
.synpred182()) :
11367 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:
11368 LA90_70
= self
.input.LA(3)
11370 if (self
.synpred182()) :
11372 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:
11374 elif LA90
== HEX_LITERAL
:
11375 LA90
= self
.input.LA(2)
11377 LA90_87
= self
.input.LA(3)
11379 if (self
.synpred182()) :
11382 LA90_88
= self
.input.LA(3)
11384 if (self
.synpred182()) :
11387 LA90_89
= self
.input.LA(3)
11389 if (self
.synpred182()) :
11392 LA90_90
= self
.input.LA(3)
11394 if (self
.synpred182()) :
11397 LA90_91
= self
.input.LA(3)
11399 if (self
.synpred182()) :
11402 LA90_92
= self
.input.LA(3)
11404 if (self
.synpred182()) :
11407 LA90_93
= self
.input.LA(3)
11409 if (self
.synpred182()) :
11411 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:
11412 LA90_94
= self
.input.LA(3)
11414 if (self
.synpred182()) :
11417 LA90_95
= self
.input.LA(3)
11419 if (self
.synpred182()) :
11422 LA90_96
= self
.input.LA(3)
11424 if (self
.synpred182()) :
11427 LA90_97
= self
.input.LA(3)
11429 if (self
.synpred182()) :
11432 LA90_98
= self
.input.LA(3)
11434 if (self
.synpred182()) :
11436 elif LA90
== 101 or LA90
== 102:
11437 LA90_99
= self
.input.LA(3)
11439 if (self
.synpred182()) :
11441 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11442 LA90_100
= self
.input.LA(3)
11444 if (self
.synpred182()) :
11446 elif LA90
== 95 or LA90
== 96:
11447 LA90_101
= self
.input.LA(3)
11449 if (self
.synpred182()) :
11452 LA90_102
= self
.input.LA(3)
11454 if (self
.synpred182()) :
11457 LA90_103
= self
.input.LA(3)
11459 if (self
.synpred182()) :
11462 LA90_104
= self
.input.LA(3)
11464 if (self
.synpred182()) :
11467 LA90_105
= self
.input.LA(3)
11469 if (self
.synpred182()) :
11472 LA90_106
= self
.input.LA(3)
11474 if (self
.synpred182()) :
11477 LA90_107
= self
.input.LA(3)
11479 if (self
.synpred182()) :
11482 LA90_108
= self
.input.LA(3)
11484 if (self
.synpred182()) :
11488 elif LA90
== OCTAL_LITERAL
:
11489 LA90
= self
.input.LA(2)
11491 LA90_111
= self
.input.LA(3)
11493 if (self
.synpred182()) :
11496 LA90_112
= self
.input.LA(3)
11498 if (self
.synpred182()) :
11501 LA90_113
= self
.input.LA(3)
11503 if (self
.synpred182()) :
11506 LA90_114
= self
.input.LA(3)
11508 if (self
.synpred182()) :
11511 LA90_115
= self
.input.LA(3)
11513 if (self
.synpred182()) :
11516 LA90_116
= self
.input.LA(3)
11518 if (self
.synpred182()) :
11521 LA90_117
= self
.input.LA(3)
11523 if (self
.synpred182()) :
11526 LA90_118
= self
.input.LA(3)
11528 if (self
.synpred182()) :
11531 LA90_119
= self
.input.LA(3)
11533 if (self
.synpred182()) :
11536 LA90_120
= self
.input.LA(3)
11538 if (self
.synpred182()) :
11541 LA90_121
= self
.input.LA(3)
11543 if (self
.synpred182()) :
11545 elif LA90
== 101 or LA90
== 102:
11546 LA90_122
= self
.input.LA(3)
11548 if (self
.synpred182()) :
11550 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11551 LA90_123
= self
.input.LA(3)
11553 if (self
.synpred182()) :
11555 elif LA90
== 95 or LA90
== 96:
11556 LA90_124
= self
.input.LA(3)
11558 if (self
.synpred182()) :
11561 LA90_125
= self
.input.LA(3)
11563 if (self
.synpred182()) :
11566 LA90_126
= self
.input.LA(3)
11568 if (self
.synpred182()) :
11571 LA90_127
= self
.input.LA(3)
11573 if (self
.synpred182()) :
11576 LA90_128
= self
.input.LA(3)
11578 if (self
.synpred182()) :
11581 LA90_129
= self
.input.LA(3)
11583 if (self
.synpred182()) :
11586 LA90_130
= self
.input.LA(3)
11588 if (self
.synpred182()) :
11591 LA90_131
= self
.input.LA(3)
11593 if (self
.synpred182()) :
11597 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:
11598 LA90_134
= self
.input.LA(3)
11600 if (self
.synpred182()) :
11602 elif LA90
== DECIMAL_LITERAL
:
11603 LA90
= self
.input.LA(2)
11605 LA90_135
= self
.input.LA(3)
11607 if (self
.synpred182()) :
11610 LA90_136
= self
.input.LA(3)
11612 if (self
.synpred182()) :
11615 LA90_137
= self
.input.LA(3)
11617 if (self
.synpred182()) :
11620 LA90_138
= self
.input.LA(3)
11622 if (self
.synpred182()) :
11625 LA90_139
= self
.input.LA(3)
11627 if (self
.synpred182()) :
11630 LA90_140
= self
.input.LA(3)
11632 if (self
.synpred182()) :
11635 LA90_141
= self
.input.LA(3)
11637 if (self
.synpred182()) :
11639 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:
11640 LA90_142
= self
.input.LA(3)
11642 if (self
.synpred182()) :
11645 LA90_143
= self
.input.LA(3)
11647 if (self
.synpred182()) :
11650 LA90_144
= self
.input.LA(3)
11652 if (self
.synpred182()) :
11655 LA90_145
= self
.input.LA(3)
11657 if (self
.synpred182()) :
11660 LA90_146
= self
.input.LA(3)
11662 if (self
.synpred182()) :
11664 elif LA90
== 101 or LA90
== 102:
11665 LA90_147
= self
.input.LA(3)
11667 if (self
.synpred182()) :
11669 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11670 LA90_148
= self
.input.LA(3)
11672 if (self
.synpred182()) :
11674 elif LA90
== 95 or LA90
== 96:
11675 LA90_149
= self
.input.LA(3)
11677 if (self
.synpred182()) :
11680 LA90_150
= self
.input.LA(3)
11682 if (self
.synpred182()) :
11685 LA90_151
= self
.input.LA(3)
11687 if (self
.synpred182()) :
11690 LA90_152
= self
.input.LA(3)
11692 if (self
.synpred182()) :
11695 LA90_153
= self
.input.LA(3)
11697 if (self
.synpred182()) :
11700 LA90_154
= self
.input.LA(3)
11702 if (self
.synpred182()) :
11705 LA90_155
= self
.input.LA(3)
11707 if (self
.synpred182()) :
11710 LA90_156
= self
.input.LA(3)
11712 if (self
.synpred182()) :
11716 elif LA90
== CHARACTER_LITERAL
:
11717 LA90
= self
.input.LA(2)
11719 LA90_159
= self
.input.LA(3)
11721 if (self
.synpred182()) :
11724 LA90_160
= self
.input.LA(3)
11726 if (self
.synpred182()) :
11729 LA90_161
= self
.input.LA(3)
11731 if (self
.synpred182()) :
11734 LA90_162
= self
.input.LA(3)
11736 if (self
.synpred182()) :
11739 LA90_163
= self
.input.LA(3)
11741 if (self
.synpred182()) :
11744 LA90_164
= self
.input.LA(3)
11746 if (self
.synpred182()) :
11749 LA90_165
= self
.input.LA(3)
11751 if (self
.synpred182()) :
11754 LA90_166
= self
.input.LA(3)
11756 if (self
.synpred182()) :
11759 LA90_167
= self
.input.LA(3)
11761 if (self
.synpred182()) :
11764 LA90_168
= self
.input.LA(3)
11766 if (self
.synpred182()) :
11769 LA90_169
= self
.input.LA(3)
11771 if (self
.synpred182()) :
11773 elif LA90
== 101 or LA90
== 102:
11774 LA90_170
= self
.input.LA(3)
11776 if (self
.synpred182()) :
11778 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11779 LA90_171
= self
.input.LA(3)
11781 if (self
.synpred182()) :
11783 elif LA90
== 95 or LA90
== 96:
11784 LA90_172
= self
.input.LA(3)
11786 if (self
.synpred182()) :
11789 LA90_173
= self
.input.LA(3)
11791 if (self
.synpred182()) :
11794 LA90_174
= self
.input.LA(3)
11796 if (self
.synpred182()) :
11799 LA90_175
= self
.input.LA(3)
11801 if (self
.synpred182()) :
11804 LA90_176
= self
.input.LA(3)
11806 if (self
.synpred182()) :
11809 LA90_177
= self
.input.LA(3)
11811 if (self
.synpred182()) :
11814 LA90_178
= self
.input.LA(3)
11816 if (self
.synpred182()) :
11819 LA90_179
= self
.input.LA(3)
11821 if (self
.synpred182()) :
11825 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:
11826 LA90_181
= self
.input.LA(3)
11828 if (self
.synpred182()) :
11830 elif LA90
== STRING_LITERAL
:
11831 LA90
= self
.input.LA(2)
11832 if LA90
== IDENTIFIER
:
11833 LA90_183
= self
.input.LA(3)
11835 if (self
.synpred182()) :
11838 LA90_184
= self
.input.LA(3)
11840 if (self
.synpred182()) :
11843 LA90_185
= self
.input.LA(3)
11845 if (self
.synpred182()) :
11848 LA90_186
= self
.input.LA(3)
11850 if (self
.synpred182()) :
11853 LA90_187
= self
.input.LA(3)
11855 if (self
.synpred182()) :
11858 LA90_188
= self
.input.LA(3)
11860 if (self
.synpred182()) :
11863 LA90_189
= self
.input.LA(3)
11865 if (self
.synpred182()) :
11868 LA90_190
= self
.input.LA(3)
11870 if (self
.synpred182()) :
11872 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:
11873 LA90_191
= self
.input.LA(3)
11875 if (self
.synpred182()) :
11877 elif LA90
== STRING_LITERAL
:
11878 LA90_192
= self
.input.LA(3)
11880 if (self
.synpred182()) :
11883 LA90_193
= self
.input.LA(3)
11885 if (self
.synpred182()) :
11888 LA90_194
= self
.input.LA(3)
11890 if (self
.synpred182()) :
11893 LA90_195
= self
.input.LA(3)
11895 if (self
.synpred182()) :
11898 LA90_196
= self
.input.LA(3)
11900 if (self
.synpred182()) :
11902 elif LA90
== 101 or LA90
== 102:
11903 LA90_197
= self
.input.LA(3)
11905 if (self
.synpred182()) :
11907 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
11908 LA90_198
= self
.input.LA(3)
11910 if (self
.synpred182()) :
11912 elif LA90
== 95 or LA90
== 96:
11913 LA90_199
= self
.input.LA(3)
11915 if (self
.synpred182()) :
11918 LA90_200
= self
.input.LA(3)
11920 if (self
.synpred182()) :
11923 LA90_201
= self
.input.LA(3)
11925 if (self
.synpred182()) :
11928 LA90_202
= self
.input.LA(3)
11930 if (self
.synpred182()) :
11933 LA90_203
= self
.input.LA(3)
11935 if (self
.synpred182()) :
11938 LA90_204
= self
.input.LA(3)
11940 if (self
.synpred182()) :
11943 LA90_205
= self
.input.LA(3)
11945 if (self
.synpred182()) :
11948 LA90_206
= self
.input.LA(3)
11950 if (self
.synpred182()) :
11954 elif LA90
== FLOATING_POINT_LITERAL
:
11955 LA90
= self
.input.LA(2)
11957 LA90_209
= self
.input.LA(3)
11959 if (self
.synpred182()) :
11962 LA90_210
= self
.input.LA(3)
11964 if (self
.synpred182()) :
11967 LA90_211
= self
.input.LA(3)
11969 if (self
.synpred182()) :
11972 LA90_212
= self
.input.LA(3)
11974 if (self
.synpred182()) :
11977 LA90_213
= self
.input.LA(3)
11979 if (self
.synpred182()) :
11982 LA90_214
= self
.input.LA(3)
11984 if (self
.synpred182()) :
11987 LA90_215
= self
.input.LA(3)
11989 if (self
.synpred182()) :
11991 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:
11992 LA90_216
= self
.input.LA(3)
11994 if (self
.synpred182()) :
11997 LA90_217
= self
.input.LA(3)
11999 if (self
.synpred182()) :
12002 LA90_218
= self
.input.LA(3)
12004 if (self
.synpred182()) :
12007 LA90_219
= self
.input.LA(3)
12009 if (self
.synpred182()) :
12012 LA90_220
= self
.input.LA(3)
12014 if (self
.synpred182()) :
12016 elif LA90
== 101 or LA90
== 102:
12017 LA90_221
= self
.input.LA(3)
12019 if (self
.synpred182()) :
12021 elif LA90
== 97 or LA90
== 98 or LA90
== 99 or LA90
== 100:
12022 LA90_222
= self
.input.LA(3)
12024 if (self
.synpred182()) :
12026 elif LA90
== 95 or LA90
== 96:
12027 LA90_223
= self
.input.LA(3)
12029 if (self
.synpred182()) :
12032 LA90_224
= self
.input.LA(3)
12034 if (self
.synpred182()) :
12037 LA90_225
= self
.input.LA(3)
12039 if (self
.synpred182()) :
12042 LA90_226
= self
.input.LA(3)
12044 if (self
.synpred182()) :
12047 LA90_227
= self
.input.LA(3)
12049 if (self
.synpred182()) :
12052 LA90_228
= self
.input.LA(3)
12054 if (self
.synpred182()) :
12057 LA90_229
= self
.input.LA(3)
12059 if (self
.synpred182()) :
12062 LA90_230
= self
.input.LA(3)
12064 if (self
.synpred182()) :
12069 LA90
= self
.input.LA(2)
12070 if LA90
== IDENTIFIER
:
12071 LA90_233
= self
.input.LA(3)
12073 if (self
.synpred182()) :
12075 elif LA90
== HEX_LITERAL
:
12076 LA90_234
= self
.input.LA(3)
12078 if (self
.synpred182()) :
12080 elif LA90
== OCTAL_LITERAL
:
12081 LA90_235
= self
.input.LA(3)
12083 if (self
.synpred182()) :
12085 elif LA90
== DECIMAL_LITERAL
:
12086 LA90_236
= self
.input.LA(3)
12088 if (self
.synpred182()) :
12090 elif LA90
== CHARACTER_LITERAL
:
12091 LA90_237
= self
.input.LA(3)
12093 if (self
.synpred182()) :
12095 elif LA90
== STRING_LITERAL
:
12096 LA90_238
= self
.input.LA(3)
12098 if (self
.synpred182()) :
12100 elif LA90
== FLOATING_POINT_LITERAL
:
12101 LA90_239
= self
.input.LA(3)
12103 if (self
.synpred182()) :
12106 LA90_240
= self
.input.LA(3)
12108 if (self
.synpred182()) :
12111 LA90_241
= self
.input.LA(3)
12113 if (self
.synpred182()) :
12116 LA90_242
= self
.input.LA(3)
12118 if (self
.synpred182()) :
12120 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12121 LA90_243
= self
.input.LA(3)
12123 if (self
.synpred182()) :
12126 LA90_244
= self
.input.LA(3)
12128 if (self
.synpred182()) :
12130 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:
12131 LA90_245
= self
.input.LA(3)
12133 if (self
.synpred182()) :
12136 LA90_246
= self
.input.LA(3)
12138 if (self
.synpred182()) :
12141 LA90_247
= self
.input.LA(3)
12143 if (self
.synpred182()) :
12146 LA90_248
= self
.input.LA(3)
12148 if (self
.synpred182()) :
12151 LA90_249
= self
.input.LA(3)
12153 if (self
.synpred182()) :
12156 LA90_250
= self
.input.LA(3)
12158 if (self
.synpred182()) :
12161 LA90_251
= self
.input.LA(3)
12163 if (self
.synpred182()) :
12166 LA90_252
= self
.input.LA(3)
12168 if (self
.synpred182()) :
12171 LA90_253
= self
.input.LA(3)
12173 if (self
.synpred182()) :
12176 LA90_254
= self
.input.LA(3)
12178 if (self
.synpred182()) :
12180 elif LA90
== 45 or LA90
== 46:
12181 LA90_255
= self
.input.LA(3)
12183 if (self
.synpred182()) :
12186 LA90_256
= self
.input.LA(3)
12188 if (self
.synpred182()) :
12191 LA90
= self
.input.LA(2)
12192 if LA90
== IDENTIFIER
:
12193 LA90_257
= self
.input.LA(3)
12195 if (self
.synpred182()) :
12197 elif LA90
== HEX_LITERAL
:
12198 LA90_258
= self
.input.LA(3)
12200 if (self
.synpred182()) :
12202 elif LA90
== OCTAL_LITERAL
:
12203 LA90_259
= self
.input.LA(3)
12205 if (self
.synpred182()) :
12207 elif LA90
== DECIMAL_LITERAL
:
12208 LA90_260
= self
.input.LA(3)
12210 if (self
.synpred182()) :
12212 elif LA90
== CHARACTER_LITERAL
:
12213 LA90_261
= self
.input.LA(3)
12215 if (self
.synpred182()) :
12217 elif LA90
== STRING_LITERAL
:
12218 LA90_262
= self
.input.LA(3)
12220 if (self
.synpred182()) :
12222 elif LA90
== FLOATING_POINT_LITERAL
:
12223 LA90_263
= self
.input.LA(3)
12225 if (self
.synpred182()) :
12228 LA90_264
= self
.input.LA(3)
12230 if (self
.synpred182()) :
12233 LA90_265
= self
.input.LA(3)
12235 if (self
.synpred182()) :
12238 LA90_266
= self
.input.LA(3)
12240 if (self
.synpred182()) :
12242 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12243 LA90_267
= self
.input.LA(3)
12245 if (self
.synpred182()) :
12248 LA90_268
= self
.input.LA(3)
12250 if (self
.synpred182()) :
12253 LA90
= self
.input.LA(2)
12254 if LA90
== IDENTIFIER
:
12255 LA90_269
= self
.input.LA(3)
12257 if (self
.synpred182()) :
12259 elif LA90
== HEX_LITERAL
:
12260 LA90_270
= self
.input.LA(3)
12262 if (self
.synpred182()) :
12264 elif LA90
== OCTAL_LITERAL
:
12265 LA90_271
= self
.input.LA(3)
12267 if (self
.synpred182()) :
12269 elif LA90
== DECIMAL_LITERAL
:
12270 LA90_272
= self
.input.LA(3)
12272 if (self
.synpred182()) :
12274 elif LA90
== CHARACTER_LITERAL
:
12275 LA90_273
= self
.input.LA(3)
12277 if (self
.synpred182()) :
12279 elif LA90
== STRING_LITERAL
:
12280 LA90_274
= self
.input.LA(3)
12282 if (self
.synpred182()) :
12284 elif LA90
== FLOATING_POINT_LITERAL
:
12285 LA90_275
= self
.input.LA(3)
12287 if (self
.synpred182()) :
12290 LA90_276
= self
.input.LA(3)
12292 if (self
.synpred182()) :
12295 LA90_277
= self
.input.LA(3)
12297 if (self
.synpred182()) :
12300 LA90_278
= self
.input.LA(3)
12302 if (self
.synpred182()) :
12304 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12305 LA90_279
= self
.input.LA(3)
12307 if (self
.synpred182()) :
12310 LA90_280
= self
.input.LA(3)
12312 if (self
.synpred182()) :
12314 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12315 LA90
= self
.input.LA(2)
12317 LA90_281
= self
.input.LA(3)
12319 if (self
.synpred182()) :
12321 elif LA90
== IDENTIFIER
:
12322 LA90_282
= self
.input.LA(3)
12324 if (self
.synpred182()) :
12326 elif LA90
== HEX_LITERAL
:
12327 LA90_283
= self
.input.LA(3)
12329 if (self
.synpred182()) :
12331 elif LA90
== OCTAL_LITERAL
:
12332 LA90_284
= self
.input.LA(3)
12334 if (self
.synpred182()) :
12336 elif LA90
== DECIMAL_LITERAL
:
12337 LA90_285
= self
.input.LA(3)
12339 if (self
.synpred182()) :
12341 elif LA90
== CHARACTER_LITERAL
:
12342 LA90_286
= self
.input.LA(3)
12344 if (self
.synpred182()) :
12346 elif LA90
== STRING_LITERAL
:
12347 LA90_287
= self
.input.LA(3)
12349 if (self
.synpred182()) :
12351 elif LA90
== FLOATING_POINT_LITERAL
:
12352 LA90_288
= self
.input.LA(3)
12354 if (self
.synpred182()) :
12357 LA90_289
= self
.input.LA(3)
12359 if (self
.synpred182()) :
12362 LA90_290
= self
.input.LA(3)
12364 if (self
.synpred182()) :
12366 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12367 LA90_291
= self
.input.LA(3)
12369 if (self
.synpred182()) :
12372 LA90_292
= self
.input.LA(3)
12374 if (self
.synpred182()) :
12377 LA90
= self
.input.LA(2)
12379 LA90_293
= self
.input.LA(3)
12381 if (self
.synpred182()) :
12383 elif LA90
== IDENTIFIER
:
12384 LA90_294
= self
.input.LA(3)
12386 if (self
.synpred182()) :
12388 elif LA90
== HEX_LITERAL
:
12389 LA90_295
= self
.input.LA(3)
12391 if (self
.synpred182()) :
12393 elif LA90
== OCTAL_LITERAL
:
12394 LA90_296
= self
.input.LA(3)
12396 if (self
.synpred182()) :
12398 elif LA90
== DECIMAL_LITERAL
:
12399 LA90_297
= self
.input.LA(3)
12401 if (self
.synpred182()) :
12403 elif LA90
== CHARACTER_LITERAL
:
12404 LA90_298
= self
.input.LA(3)
12406 if (self
.synpred182()) :
12408 elif LA90
== STRING_LITERAL
:
12409 LA90_299
= self
.input.LA(3)
12411 if (self
.synpred182()) :
12413 elif LA90
== FLOATING_POINT_LITERAL
:
12414 LA90_300
= self
.input.LA(3)
12416 if (self
.synpred182()) :
12419 LA90_301
= self
.input.LA(3)
12421 if (self
.synpred182()) :
12424 LA90_302
= self
.input.LA(3)
12426 if (self
.synpred182()) :
12428 elif LA90
== 66 or LA90
== 68 or LA90
== 69 or LA90
== 77 or LA90
== 78 or LA90
== 79:
12429 LA90_303
= self
.input.LA(3)
12431 if (self
.synpred182()) :
12434 LA90_304
= self
.input.LA(3)
12436 if (self
.synpred182()) :
12439 # C.g:0:0: statement_list
12440 self
.following
.append(self
.FOLLOW_statement_list_in_macro_statement2170
)
12441 self
.statement_list()
12442 self
.following
.pop()
12448 # C.g:544:49: ( expression )?
12450 LA91_0
= self
.input.LA(1)
12452 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)) :
12455 # C.g:0:0: expression
12456 self
.following
.append(self
.FOLLOW_expression_in_macro_statement2173
)
12458 self
.following
.pop()
12464 self
.match(self
.input, 63, self
.FOLLOW_63_in_macro_statement2176
)
12471 except RecognitionException
as re
:
12472 self
.reportError(re
)
12473 self
.recover(self
.input, re
)
12475 if self
.backtracking
> 0:
12476 self
.memoize(self
.input, 64, macro_statement_StartIndex
)
12482 # $ANTLR end macro_statement
12485 # $ANTLR start labeled_statement
12486 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12487 def labeled_statement(self
, ):
12489 labeled_statement_StartIndex
= self
.input.index()
12492 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 65):
12495 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12497 LA92
= self
.input.LA(1)
12498 if LA92
== IDENTIFIER
:
12505 if self
.backtracking
> 0:
12509 nvae
= NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self
.input)
12514 # C.g:548:4: IDENTIFIER ':' statement
12515 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_labeled_statement2188
)
12518 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2190
)
12521 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2192
)
12523 self
.following
.pop()
12529 # C.g:549:4: 'case' constant_expression ':' statement
12530 self
.match(self
.input, 106, self
.FOLLOW_106_in_labeled_statement2197
)
12533 self
.following
.append(self
.FOLLOW_constant_expression_in_labeled_statement2199
)
12534 self
.constant_expression()
12535 self
.following
.pop()
12538 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2201
)
12541 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2203
)
12543 self
.following
.pop()
12549 # C.g:550:4: 'default' ':' statement
12550 self
.match(self
.input, 107, self
.FOLLOW_107_in_labeled_statement2208
)
12553 self
.match(self
.input, 47, self
.FOLLOW_47_in_labeled_statement2210
)
12556 self
.following
.append(self
.FOLLOW_statement_in_labeled_statement2212
)
12558 self
.following
.pop()
12564 except RecognitionException
as re
:
12565 self
.reportError(re
)
12566 self
.recover(self
.input, re
)
12568 if self
.backtracking
> 0:
12569 self
.memoize(self
.input, 65, labeled_statement_StartIndex
)
12575 # $ANTLR end labeled_statement
12577 class compound_statement_return(object):
12578 def __init__(self
):
12584 # $ANTLR start compound_statement
12585 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12586 def compound_statement(self
, ):
12588 retval
= self
.compound_statement_return()
12589 retval
.start
= self
.input.LT(1)
12590 compound_statement_StartIndex
= self
.input.index()
12593 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 66):
12596 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12597 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12598 self
.match(self
.input, 43, self
.FOLLOW_43_in_compound_statement2223
)
12601 # C.g:554:8: ( declaration )*
12602 while True: #loop93
12604 LA93
= self
.input.LA(1)
12605 if LA93
== IDENTIFIER
:
12606 LA93
= self
.input.LA(2)
12608 LA93_44
= self
.input.LA(3)
12610 if (self
.synpred186()) :
12614 elif LA93
== IDENTIFIER
:
12615 LA93_47
= self
.input.LA(3)
12617 if (self
.synpred186()) :
12622 LA93_48
= self
.input.LA(3)
12624 if (self
.synpred186()) :
12629 LA93_49
= self
.input.LA(3)
12631 if (self
.synpred186()) :
12636 LA93_50
= self
.input.LA(3)
12638 if (self
.synpred186()) :
12643 LA93_51
= self
.input.LA(3)
12645 if (self
.synpred186()) :
12650 LA93_52
= self
.input.LA(3)
12652 if (self
.synpred186()) :
12656 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12657 LA93_53
= self
.input.LA(3)
12659 if (self
.synpred186()) :
12664 LA93_54
= self
.input.LA(3)
12666 if (self
.synpred186()) :
12671 LA93_55
= self
.input.LA(3)
12673 if (self
.synpred186()) :
12678 LA93_56
= self
.input.LA(3)
12680 if (self
.synpred186()) :
12685 LA93_57
= self
.input.LA(3)
12687 if (self
.synpred186()) :
12692 LA93_58
= self
.input.LA(3)
12694 if (self
.synpred186()) :
12699 LA93_59
= self
.input.LA(3)
12701 if (self
.synpred186()) :
12706 LA93_60
= self
.input.LA(3)
12708 if (self
.synpred186()) :
12713 LA93_61
= self
.input.LA(3)
12715 if (self
.synpred186()) :
12720 LA93_62
= self
.input.LA(3)
12722 if (self
.synpred186()) :
12726 elif LA93
== 45 or LA93
== 46:
12727 LA93_63
= self
.input.LA(3)
12729 if (self
.synpred186()) :
12734 LA93_64
= self
.input.LA(3)
12736 if (self
.synpred186()) :
12740 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:
12741 LA93_65
= self
.input.LA(3)
12743 if (self
.synpred186()) :
12749 LA93
= self
.input.LA(2)
12750 if LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12751 LA93_86
= self
.input.LA(3)
12753 if (self
.synpred186()) :
12758 LA93_87
= self
.input.LA(3)
12760 if (self
.synpred186()) :
12765 LA93_88
= self
.input.LA(3)
12767 if (self
.synpred186()) :
12772 LA93_89
= self
.input.LA(3)
12774 if (self
.synpred186()) :
12779 LA93_90
= self
.input.LA(3)
12781 if (self
.synpred186()) :
12786 LA93_91
= self
.input.LA(3)
12788 if (self
.synpred186()) :
12793 LA93_92
= self
.input.LA(3)
12795 if (self
.synpred186()) :
12800 LA93_93
= self
.input.LA(3)
12802 if (self
.synpred186()) :
12807 LA93_94
= self
.input.LA(3)
12809 if (self
.synpred186()) :
12814 LA93_95
= self
.input.LA(3)
12816 if (self
.synpred186()) :
12820 elif LA93
== 45 or LA93
== 46:
12821 LA93_96
= self
.input.LA(3)
12823 if (self
.synpred186()) :
12828 LA93_97
= self
.input.LA(3)
12830 if (self
.synpred186()) :
12834 elif LA93
== IDENTIFIER
:
12835 LA93_98
= self
.input.LA(3)
12837 if (self
.synpred186()) :
12842 LA93_99
= self
.input.LA(3)
12844 if (self
.synpred186()) :
12849 LA93_100
= self
.input.LA(3)
12851 if (self
.synpred186()) :
12856 LA93_101
= self
.input.LA(3)
12858 if (self
.synpred186()) :
12863 LA93_102
= self
.input.LA(3)
12865 if (self
.synpred186()) :
12869 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:
12870 LA93_103
= self
.input.LA(3)
12872 if (self
.synpred186()) :
12877 LA93_104
= self
.input.LA(3)
12879 if (self
.synpred186()) :
12884 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12885 LA93
= self
.input.LA(2)
12887 LA93_105
= self
.input.LA(3)
12889 if (self
.synpred186()) :
12894 LA93_106
= self
.input.LA(3)
12896 if (self
.synpred186()) :
12901 LA93_107
= self
.input.LA(3)
12903 if (self
.synpred186()) :
12908 LA93_108
= self
.input.LA(3)
12910 if (self
.synpred186()) :
12914 elif LA93
== IDENTIFIER
:
12915 LA93_109
= self
.input.LA(3)
12917 if (self
.synpred186()) :
12922 LA93_110
= self
.input.LA(3)
12924 if (self
.synpred186()) :
12929 LA93_111
= self
.input.LA(3)
12931 if (self
.synpred186()) :
12935 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
12936 LA93_112
= self
.input.LA(3)
12938 if (self
.synpred186()) :
12943 LA93_113
= self
.input.LA(3)
12945 if (self
.synpred186()) :
12950 LA93_114
= self
.input.LA(3)
12952 if (self
.synpred186()) :
12957 LA93_115
= self
.input.LA(3)
12959 if (self
.synpred186()) :
12964 LA93_116
= self
.input.LA(3)
12966 if (self
.synpred186()) :
12971 LA93_117
= self
.input.LA(3)
12973 if (self
.synpred186()) :
12978 LA93_118
= self
.input.LA(3)
12980 if (self
.synpred186()) :
12985 LA93_119
= self
.input.LA(3)
12987 if (self
.synpred186()) :
12992 LA93_120
= self
.input.LA(3)
12994 if (self
.synpred186()) :
12999 LA93_121
= self
.input.LA(3)
13001 if (self
.synpred186()) :
13005 elif LA93
== 45 or LA93
== 46:
13006 LA93_122
= self
.input.LA(3)
13008 if (self
.synpred186()) :
13013 LA93_123
= self
.input.LA(3)
13015 if (self
.synpred186()) :
13019 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:
13020 LA93_124
= self
.input.LA(3)
13022 if (self
.synpred186()) :
13028 LA93
= self
.input.LA(2)
13030 LA93_125
= self
.input.LA(3)
13032 if (self
.synpred186()) :
13037 LA93_126
= self
.input.LA(3)
13039 if (self
.synpred186()) :
13044 LA93_127
= self
.input.LA(3)
13046 if (self
.synpred186()) :
13051 LA93_128
= self
.input.LA(3)
13053 if (self
.synpred186()) :
13057 elif LA93
== IDENTIFIER
:
13058 LA93_129
= self
.input.LA(3)
13060 if (self
.synpred186()) :
13065 LA93_130
= self
.input.LA(3)
13067 if (self
.synpred186()) :
13072 LA93_131
= self
.input.LA(3)
13074 if (self
.synpred186()) :
13078 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13079 LA93_132
= self
.input.LA(3)
13081 if (self
.synpred186()) :
13086 LA93_133
= self
.input.LA(3)
13088 if (self
.synpred186()) :
13093 LA93_134
= self
.input.LA(3)
13095 if (self
.synpred186()) :
13100 LA93_135
= self
.input.LA(3)
13102 if (self
.synpred186()) :
13107 LA93_136
= self
.input.LA(3)
13109 if (self
.synpred186()) :
13114 LA93_137
= self
.input.LA(3)
13116 if (self
.synpred186()) :
13121 LA93_138
= self
.input.LA(3)
13123 if (self
.synpred186()) :
13128 LA93_139
= self
.input.LA(3)
13130 if (self
.synpred186()) :
13135 LA93_140
= self
.input.LA(3)
13137 if (self
.synpred186()) :
13142 LA93_141
= self
.input.LA(3)
13144 if (self
.synpred186()) :
13148 elif LA93
== 45 or LA93
== 46:
13149 LA93_142
= self
.input.LA(3)
13151 if (self
.synpred186()) :
13156 LA93_143
= self
.input.LA(3)
13158 if (self
.synpred186()) :
13162 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:
13163 LA93_144
= self
.input.LA(3)
13165 if (self
.synpred186()) :
13171 LA93
= self
.input.LA(2)
13173 LA93_145
= self
.input.LA(3)
13175 if (self
.synpred186()) :
13180 LA93_146
= self
.input.LA(3)
13182 if (self
.synpred186()) :
13187 LA93_147
= self
.input.LA(3)
13189 if (self
.synpred186()) :
13194 LA93_148
= self
.input.LA(3)
13196 if (self
.synpred186()) :
13200 elif LA93
== IDENTIFIER
:
13201 LA93_149
= self
.input.LA(3)
13203 if (self
.synpred186()) :
13208 LA93_150
= self
.input.LA(3)
13210 if (self
.synpred186()) :
13215 LA93_151
= self
.input.LA(3)
13217 if (self
.synpred186()) :
13221 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13222 LA93_152
= self
.input.LA(3)
13224 if (self
.synpred186()) :
13229 LA93_153
= self
.input.LA(3)
13231 if (self
.synpred186()) :
13236 LA93_154
= self
.input.LA(3)
13238 if (self
.synpred186()) :
13243 LA93_155
= self
.input.LA(3)
13245 if (self
.synpred186()) :
13250 LA93_156
= self
.input.LA(3)
13252 if (self
.synpred186()) :
13257 LA93_157
= self
.input.LA(3)
13259 if (self
.synpred186()) :
13264 LA93_158
= self
.input.LA(3)
13266 if (self
.synpred186()) :
13271 LA93_159
= self
.input.LA(3)
13273 if (self
.synpred186()) :
13278 LA93_160
= self
.input.LA(3)
13280 if (self
.synpred186()) :
13285 LA93_161
= self
.input.LA(3)
13287 if (self
.synpred186()) :
13291 elif LA93
== 45 or LA93
== 46:
13292 LA93_162
= self
.input.LA(3)
13294 if (self
.synpred186()) :
13299 LA93_163
= self
.input.LA(3)
13301 if (self
.synpred186()) :
13305 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:
13306 LA93_164
= self
.input.LA(3)
13308 if (self
.synpred186()) :
13314 LA93
= self
.input.LA(2)
13316 LA93_165
= self
.input.LA(3)
13318 if (self
.synpred186()) :
13323 LA93_166
= self
.input.LA(3)
13325 if (self
.synpred186()) :
13330 LA93_167
= self
.input.LA(3)
13332 if (self
.synpred186()) :
13337 LA93_168
= self
.input.LA(3)
13339 if (self
.synpred186()) :
13343 elif LA93
== IDENTIFIER
:
13344 LA93_169
= self
.input.LA(3)
13346 if (self
.synpred186()) :
13351 LA93_170
= self
.input.LA(3)
13353 if (self
.synpred186()) :
13358 LA93_171
= self
.input.LA(3)
13360 if (self
.synpred186()) :
13364 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13365 LA93_172
= self
.input.LA(3)
13367 if (self
.synpred186()) :
13372 LA93_173
= self
.input.LA(3)
13374 if (self
.synpred186()) :
13379 LA93_174
= self
.input.LA(3)
13381 if (self
.synpred186()) :
13386 LA93_175
= self
.input.LA(3)
13388 if (self
.synpred186()) :
13393 LA93_176
= self
.input.LA(3)
13395 if (self
.synpred186()) :
13400 LA93_177
= self
.input.LA(3)
13402 if (self
.synpred186()) :
13407 LA93_178
= self
.input.LA(3)
13409 if (self
.synpred186()) :
13414 LA93_179
= self
.input.LA(3)
13416 if (self
.synpred186()) :
13421 LA93_180
= self
.input.LA(3)
13423 if (self
.synpred186()) :
13428 LA93_181
= self
.input.LA(3)
13430 if (self
.synpred186()) :
13434 elif LA93
== 45 or LA93
== 46:
13435 LA93_182
= self
.input.LA(3)
13437 if (self
.synpred186()) :
13442 LA93_183
= self
.input.LA(3)
13444 if (self
.synpred186()) :
13448 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:
13449 LA93_184
= self
.input.LA(3)
13451 if (self
.synpred186()) :
13457 LA93
= self
.input.LA(2)
13459 LA93_185
= self
.input.LA(3)
13461 if (self
.synpred186()) :
13466 LA93_186
= self
.input.LA(3)
13468 if (self
.synpred186()) :
13473 LA93_187
= self
.input.LA(3)
13475 if (self
.synpred186()) :
13480 LA93_188
= self
.input.LA(3)
13482 if (self
.synpred186()) :
13486 elif LA93
== IDENTIFIER
:
13487 LA93_189
= self
.input.LA(3)
13489 if (self
.synpred186()) :
13494 LA93_190
= self
.input.LA(3)
13496 if (self
.synpred186()) :
13501 LA93_191
= self
.input.LA(3)
13503 if (self
.synpred186()) :
13507 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13508 LA93_192
= self
.input.LA(3)
13510 if (self
.synpred186()) :
13515 LA93_193
= self
.input.LA(3)
13517 if (self
.synpred186()) :
13522 LA93_194
= self
.input.LA(3)
13524 if (self
.synpred186()) :
13529 LA93_195
= self
.input.LA(3)
13531 if (self
.synpred186()) :
13536 LA93_196
= self
.input.LA(3)
13538 if (self
.synpred186()) :
13543 LA93_197
= self
.input.LA(3)
13545 if (self
.synpred186()) :
13550 LA93_198
= self
.input.LA(3)
13552 if (self
.synpred186()) :
13557 LA93_199
= self
.input.LA(3)
13559 if (self
.synpred186()) :
13564 LA93_200
= self
.input.LA(3)
13566 if (self
.synpred186()) :
13571 LA93_201
= self
.input.LA(3)
13573 if (self
.synpred186()) :
13577 elif LA93
== 45 or LA93
== 46:
13578 LA93_202
= self
.input.LA(3)
13580 if (self
.synpred186()) :
13585 LA93_203
= self
.input.LA(3)
13587 if (self
.synpred186()) :
13591 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:
13592 LA93_204
= self
.input.LA(3)
13594 if (self
.synpred186()) :
13600 LA93
= self
.input.LA(2)
13602 LA93_205
= self
.input.LA(3)
13604 if (self
.synpred186()) :
13609 LA93_206
= self
.input.LA(3)
13611 if (self
.synpred186()) :
13616 LA93_207
= self
.input.LA(3)
13618 if (self
.synpred186()) :
13623 LA93_208
= self
.input.LA(3)
13625 if (self
.synpred186()) :
13629 elif LA93
== IDENTIFIER
:
13630 LA93_209
= self
.input.LA(3)
13632 if (self
.synpred186()) :
13637 LA93_210
= self
.input.LA(3)
13639 if (self
.synpred186()) :
13644 LA93_211
= self
.input.LA(3)
13646 if (self
.synpred186()) :
13650 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13651 LA93_212
= self
.input.LA(3)
13653 if (self
.synpred186()) :
13658 LA93_213
= self
.input.LA(3)
13660 if (self
.synpred186()) :
13665 LA93_214
= self
.input.LA(3)
13667 if (self
.synpred186()) :
13672 LA93_215
= self
.input.LA(3)
13674 if (self
.synpred186()) :
13679 LA93_216
= self
.input.LA(3)
13681 if (self
.synpred186()) :
13686 LA93_217
= self
.input.LA(3)
13688 if (self
.synpred186()) :
13693 LA93_218
= self
.input.LA(3)
13695 if (self
.synpred186()) :
13700 LA93_219
= self
.input.LA(3)
13702 if (self
.synpred186()) :
13707 LA93_220
= self
.input.LA(3)
13709 if (self
.synpred186()) :
13714 LA93_221
= self
.input.LA(3)
13716 if (self
.synpred186()) :
13720 elif LA93
== 45 or LA93
== 46:
13721 LA93_222
= self
.input.LA(3)
13723 if (self
.synpred186()) :
13728 LA93_223
= self
.input.LA(3)
13730 if (self
.synpred186()) :
13734 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:
13735 LA93_224
= self
.input.LA(3)
13737 if (self
.synpred186()) :
13743 LA93
= self
.input.LA(2)
13745 LA93_225
= self
.input.LA(3)
13747 if (self
.synpred186()) :
13752 LA93_226
= self
.input.LA(3)
13754 if (self
.synpred186()) :
13759 LA93_227
= self
.input.LA(3)
13761 if (self
.synpred186()) :
13766 LA93_228
= self
.input.LA(3)
13768 if (self
.synpred186()) :
13772 elif LA93
== IDENTIFIER
:
13773 LA93_229
= self
.input.LA(3)
13775 if (self
.synpred186()) :
13780 LA93_230
= self
.input.LA(3)
13782 if (self
.synpred186()) :
13787 LA93_231
= self
.input.LA(3)
13789 if (self
.synpred186()) :
13793 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13794 LA93_232
= self
.input.LA(3)
13796 if (self
.synpred186()) :
13801 LA93_233
= self
.input.LA(3)
13803 if (self
.synpred186()) :
13808 LA93_234
= self
.input.LA(3)
13810 if (self
.synpred186()) :
13815 LA93_235
= self
.input.LA(3)
13817 if (self
.synpred186()) :
13822 LA93_236
= self
.input.LA(3)
13824 if (self
.synpred186()) :
13829 LA93_237
= self
.input.LA(3)
13831 if (self
.synpred186()) :
13836 LA93_238
= self
.input.LA(3)
13838 if (self
.synpred186()) :
13843 LA93_239
= self
.input.LA(3)
13845 if (self
.synpred186()) :
13850 LA93_240
= self
.input.LA(3)
13852 if (self
.synpred186()) :
13857 LA93_241
= self
.input.LA(3)
13859 if (self
.synpred186()) :
13863 elif LA93
== 45 or LA93
== 46:
13864 LA93_242
= self
.input.LA(3)
13866 if (self
.synpred186()) :
13871 LA93_243
= self
.input.LA(3)
13873 if (self
.synpred186()) :
13877 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:
13878 LA93_244
= self
.input.LA(3)
13880 if (self
.synpred186()) :
13886 LA93
= self
.input.LA(2)
13888 LA93_245
= self
.input.LA(3)
13890 if (self
.synpred186()) :
13895 LA93_246
= self
.input.LA(3)
13897 if (self
.synpred186()) :
13902 LA93_247
= self
.input.LA(3)
13904 if (self
.synpred186()) :
13909 LA93_248
= self
.input.LA(3)
13911 if (self
.synpred186()) :
13915 elif LA93
== IDENTIFIER
:
13916 LA93_249
= self
.input.LA(3)
13918 if (self
.synpred186()) :
13923 LA93_250
= self
.input.LA(3)
13925 if (self
.synpred186()) :
13930 LA93_251
= self
.input.LA(3)
13932 if (self
.synpred186()) :
13936 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
13937 LA93_252
= self
.input.LA(3)
13939 if (self
.synpred186()) :
13944 LA93_253
= self
.input.LA(3)
13946 if (self
.synpred186()) :
13951 LA93_254
= self
.input.LA(3)
13953 if (self
.synpred186()) :
13958 LA93_255
= self
.input.LA(3)
13960 if (self
.synpred186()) :
13965 LA93_256
= self
.input.LA(3)
13967 if (self
.synpred186()) :
13972 LA93_257
= self
.input.LA(3)
13974 if (self
.synpred186()) :
13979 LA93_258
= self
.input.LA(3)
13981 if (self
.synpred186()) :
13986 LA93_259
= self
.input.LA(3)
13988 if (self
.synpred186()) :
13993 LA93_260
= self
.input.LA(3)
13995 if (self
.synpred186()) :
14000 LA93_261
= self
.input.LA(3)
14002 if (self
.synpred186()) :
14006 elif LA93
== 45 or LA93
== 46:
14007 LA93_262
= self
.input.LA(3)
14009 if (self
.synpred186()) :
14014 LA93_263
= self
.input.LA(3)
14016 if (self
.synpred186()) :
14020 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:
14021 LA93_264
= self
.input.LA(3)
14023 if (self
.synpred186()) :
14029 LA93
= self
.input.LA(2)
14031 LA93_265
= self
.input.LA(3)
14033 if (self
.synpred186()) :
14038 LA93_266
= self
.input.LA(3)
14040 if (self
.synpred186()) :
14045 LA93_267
= self
.input.LA(3)
14047 if (self
.synpred186()) :
14052 LA93_268
= self
.input.LA(3)
14054 if (self
.synpred186()) :
14058 elif LA93
== IDENTIFIER
:
14059 LA93_269
= self
.input.LA(3)
14061 if (self
.synpred186()) :
14066 LA93_270
= self
.input.LA(3)
14068 if (self
.synpred186()) :
14073 LA93_271
= self
.input.LA(3)
14075 if (self
.synpred186()) :
14079 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14080 LA93_272
= self
.input.LA(3)
14082 if (self
.synpred186()) :
14087 LA93_273
= self
.input.LA(3)
14089 if (self
.synpred186()) :
14094 LA93_274
= self
.input.LA(3)
14096 if (self
.synpred186()) :
14101 LA93_275
= self
.input.LA(3)
14103 if (self
.synpred186()) :
14108 LA93_276
= self
.input.LA(3)
14110 if (self
.synpred186()) :
14115 LA93_277
= self
.input.LA(3)
14117 if (self
.synpred186()) :
14122 LA93_278
= self
.input.LA(3)
14124 if (self
.synpred186()) :
14129 LA93_279
= self
.input.LA(3)
14131 if (self
.synpred186()) :
14136 LA93_280
= self
.input.LA(3)
14138 if (self
.synpred186()) :
14143 LA93_281
= self
.input.LA(3)
14145 if (self
.synpred186()) :
14149 elif LA93
== 45 or LA93
== 46:
14150 LA93_282
= self
.input.LA(3)
14152 if (self
.synpred186()) :
14157 LA93_283
= self
.input.LA(3)
14159 if (self
.synpred186()) :
14163 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:
14164 LA93_284
= self
.input.LA(3)
14166 if (self
.synpred186()) :
14172 LA93
= self
.input.LA(2)
14174 LA93_285
= self
.input.LA(3)
14176 if (self
.synpred186()) :
14181 LA93_286
= self
.input.LA(3)
14183 if (self
.synpred186()) :
14188 LA93_287
= self
.input.LA(3)
14190 if (self
.synpred186()) :
14195 LA93_288
= self
.input.LA(3)
14197 if (self
.synpred186()) :
14201 elif LA93
== IDENTIFIER
:
14202 LA93_289
= self
.input.LA(3)
14204 if (self
.synpred186()) :
14209 LA93_290
= self
.input.LA(3)
14211 if (self
.synpred186()) :
14216 LA93_291
= self
.input.LA(3)
14218 if (self
.synpred186()) :
14222 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14223 LA93_292
= self
.input.LA(3)
14225 if (self
.synpred186()) :
14230 LA93_293
= self
.input.LA(3)
14232 if (self
.synpred186()) :
14237 LA93_294
= self
.input.LA(3)
14239 if (self
.synpred186()) :
14244 LA93_295
= self
.input.LA(3)
14246 if (self
.synpred186()) :
14251 LA93_296
= self
.input.LA(3)
14253 if (self
.synpred186()) :
14258 LA93_297
= self
.input.LA(3)
14260 if (self
.synpred186()) :
14265 LA93_298
= self
.input.LA(3)
14267 if (self
.synpred186()) :
14272 LA93_299
= self
.input.LA(3)
14274 if (self
.synpred186()) :
14279 LA93_300
= self
.input.LA(3)
14281 if (self
.synpred186()) :
14286 LA93_301
= self
.input.LA(3)
14288 if (self
.synpred186()) :
14292 elif LA93
== 45 or LA93
== 46:
14293 LA93_302
= self
.input.LA(3)
14295 if (self
.synpred186()) :
14300 LA93_303
= self
.input.LA(3)
14302 if (self
.synpred186()) :
14306 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:
14307 LA93_304
= self
.input.LA(3)
14309 if (self
.synpred186()) :
14314 elif LA93
== 45 or LA93
== 46:
14315 LA93_40
= self
.input.LA(2)
14317 if (LA93_40
== IDENTIFIER
) :
14318 LA93_305
= self
.input.LA(3)
14320 if (self
.synpred186()) :
14324 elif (LA93_40
== 43) :
14325 LA93_306
= self
.input.LA(3)
14327 if (self
.synpred186()) :
14334 LA93_41
= self
.input.LA(2)
14336 if (LA93_41
== 43) :
14337 LA93_307
= self
.input.LA(3)
14339 if (self
.synpred186()) :
14343 elif (LA93_41
== IDENTIFIER
) :
14344 LA93_308
= self
.input.LA(3)
14346 if (self
.synpred186()) :
14352 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:
14353 LA93
= self
.input.LA(2)
14355 LA93_309
= self
.input.LA(3)
14357 if (self
.synpred186()) :
14362 LA93_310
= self
.input.LA(3)
14364 if (self
.synpred186()) :
14369 LA93_311
= self
.input.LA(3)
14371 if (self
.synpred186()) :
14376 LA93_312
= self
.input.LA(3)
14378 if (self
.synpred186()) :
14382 elif LA93
== IDENTIFIER
:
14383 LA93_313
= self
.input.LA(3)
14385 if (self
.synpred186()) :
14390 LA93_314
= self
.input.LA(3)
14392 if (self
.synpred186()) :
14397 LA93_315
= self
.input.LA(3)
14399 if (self
.synpred186()) :
14403 elif LA93
== 29 or LA93
== 30 or LA93
== 31 or LA93
== 32 or LA93
== 33:
14404 LA93_316
= self
.input.LA(3)
14406 if (self
.synpred186()) :
14411 LA93_317
= self
.input.LA(3)
14413 if (self
.synpred186()) :
14418 LA93_318
= self
.input.LA(3)
14420 if (self
.synpred186()) :
14425 LA93_319
= self
.input.LA(3)
14427 if (self
.synpred186()) :
14432 LA93_320
= self
.input.LA(3)
14434 if (self
.synpred186()) :
14439 LA93_321
= self
.input.LA(3)
14441 if (self
.synpred186()) :
14446 LA93_322
= self
.input.LA(3)
14448 if (self
.synpred186()) :
14453 LA93_323
= self
.input.LA(3)
14455 if (self
.synpred186()) :
14460 LA93_324
= self
.input.LA(3)
14462 if (self
.synpred186()) :
14467 LA93_325
= self
.input.LA(3)
14469 if (self
.synpred186()) :
14473 elif LA93
== 45 or LA93
== 46:
14474 LA93_326
= self
.input.LA(3)
14476 if (self
.synpred186()) :
14481 LA93_327
= self
.input.LA(3)
14483 if (self
.synpred186()) :
14487 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:
14488 LA93_328
= self
.input.LA(3)
14490 if (self
.synpred186()) :
14497 # C.g:0:0: declaration
14498 self
.following
.append(self
.FOLLOW_declaration_in_compound_statement2225
)
14500 self
.following
.pop()
14509 # C.g:554:21: ( statement_list )?
14511 LA94_0
= self
.input.LA(1)
14513 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)) :
14516 # C.g:0:0: statement_list
14517 self
.following
.append(self
.FOLLOW_statement_list_in_compound_statement2228
)
14518 self
.statement_list()
14519 self
.following
.pop()
14525 self
.match(self
.input, 44, self
.FOLLOW_44_in_compound_statement2231
)
14531 retval
.stop
= self
.input.LT(-1)
14534 except RecognitionException
as re
:
14535 self
.reportError(re
)
14536 self
.recover(self
.input, re
)
14538 if self
.backtracking
> 0:
14539 self
.memoize(self
.input, 66, compound_statement_StartIndex
)
14545 # $ANTLR end compound_statement
14548 # $ANTLR start statement_list
14549 # C.g:557:1: statement_list : ( statement )+ ;
14550 def statement_list(self
, ):
14552 statement_list_StartIndex
= self
.input.index()
14555 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 67):
14558 # C.g:558:2: ( ( statement )+ )
14559 # C.g:558:4: ( statement )+
14560 # C.g:558:4: ( statement )+
14562 while True: #loop95
14564 LA95
= self
.input.LA(1)
14565 if LA95
== IDENTIFIER
:
14566 LA95
= self
.input.LA(2)
14568 LA95_46
= self
.input.LA(3)
14570 if (self
.synpred188()) :
14574 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:
14576 elif LA95
== STRING_LITERAL
:
14577 LA95_48
= self
.input.LA(3)
14579 if (self
.synpred188()) :
14583 elif LA95
== IDENTIFIER
:
14584 LA95_49
= self
.input.LA(3)
14586 if (self
.synpred188()) :
14591 LA95_50
= self
.input.LA(3)
14593 if (self
.synpred188()) :
14598 LA95_51
= self
.input.LA(3)
14600 if (self
.synpred188()) :
14605 LA95_52
= self
.input.LA(3)
14607 if (self
.synpred188()) :
14612 LA95_53
= self
.input.LA(3)
14614 if (self
.synpred188()) :
14619 LA95_54
= self
.input.LA(3)
14621 if (self
.synpred188()) :
14626 LA95_55
= self
.input.LA(3)
14628 if (self
.synpred188()) :
14633 LA95_56
= self
.input.LA(3)
14635 if (self
.synpred188()) :
14640 LA95_57
= self
.input.LA(3)
14642 if (self
.synpred188()) :
14647 LA95_58
= self
.input.LA(3)
14649 if (self
.synpred188()) :
14654 LA95_59
= self
.input.LA(3)
14656 if (self
.synpred188()) :
14660 elif LA95
== 101 or LA95
== 102:
14661 LA95_60
= self
.input.LA(3)
14663 if (self
.synpred188()) :
14667 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14668 LA95_61
= self
.input.LA(3)
14670 if (self
.synpred188()) :
14674 elif LA95
== 95 or LA95
== 96:
14675 LA95_62
= self
.input.LA(3)
14677 if (self
.synpred188()) :
14682 LA95_63
= self
.input.LA(3)
14684 if (self
.synpred188()) :
14689 LA95_64
= self
.input.LA(3)
14691 if (self
.synpred188()) :
14696 LA95_65
= self
.input.LA(3)
14698 if (self
.synpred188()) :
14703 LA95_66
= self
.input.LA(3)
14705 if (self
.synpred188()) :
14710 LA95_67
= self
.input.LA(3)
14712 if (self
.synpred188()) :
14717 LA95_68
= self
.input.LA(3)
14719 if (self
.synpred188()) :
14724 LA95_69
= self
.input.LA(3)
14726 if (self
.synpred188()) :
14730 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:
14731 LA95_88
= self
.input.LA(3)
14733 if (self
.synpred188()) :
14738 elif LA95
== HEX_LITERAL
:
14739 LA95
= self
.input.LA(2)
14741 LA95_89
= self
.input.LA(3)
14743 if (self
.synpred188()) :
14748 LA95_90
= self
.input.LA(3)
14750 if (self
.synpred188()) :
14755 LA95_91
= self
.input.LA(3)
14757 if (self
.synpred188()) :
14762 LA95_92
= self
.input.LA(3)
14764 if (self
.synpred188()) :
14769 LA95_93
= self
.input.LA(3)
14771 if (self
.synpred188()) :
14776 LA95_94
= self
.input.LA(3)
14778 if (self
.synpred188()) :
14783 LA95_95
= self
.input.LA(3)
14785 if (self
.synpred188()) :
14789 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:
14790 LA95_96
= self
.input.LA(3)
14792 if (self
.synpred188()) :
14797 LA95_97
= self
.input.LA(3)
14799 if (self
.synpred188()) :
14804 LA95_98
= self
.input.LA(3)
14806 if (self
.synpred188()) :
14811 LA95_99
= self
.input.LA(3)
14813 if (self
.synpred188()) :
14818 LA95_100
= self
.input.LA(3)
14820 if (self
.synpred188()) :
14824 elif LA95
== 101 or LA95
== 102:
14825 LA95_101
= self
.input.LA(3)
14827 if (self
.synpred188()) :
14831 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14832 LA95_102
= self
.input.LA(3)
14834 if (self
.synpred188()) :
14838 elif LA95
== 95 or LA95
== 96:
14839 LA95_103
= self
.input.LA(3)
14841 if (self
.synpred188()) :
14846 LA95_104
= self
.input.LA(3)
14848 if (self
.synpred188()) :
14853 LA95_105
= self
.input.LA(3)
14855 if (self
.synpred188()) :
14860 LA95_106
= self
.input.LA(3)
14862 if (self
.synpred188()) :
14867 LA95_107
= self
.input.LA(3)
14869 if (self
.synpred188()) :
14874 LA95_108
= self
.input.LA(3)
14876 if (self
.synpred188()) :
14881 LA95_109
= self
.input.LA(3)
14883 if (self
.synpred188()) :
14888 LA95_110
= self
.input.LA(3)
14890 if (self
.synpred188()) :
14897 elif LA95
== OCTAL_LITERAL
:
14898 LA95
= self
.input.LA(2)
14900 LA95_113
= self
.input.LA(3)
14902 if (self
.synpred188()) :
14907 LA95_114
= self
.input.LA(3)
14909 if (self
.synpred188()) :
14914 LA95_115
= self
.input.LA(3)
14916 if (self
.synpred188()) :
14921 LA95_116
= self
.input.LA(3)
14923 if (self
.synpred188()) :
14928 LA95_117
= self
.input.LA(3)
14930 if (self
.synpred188()) :
14935 LA95_118
= self
.input.LA(3)
14937 if (self
.synpred188()) :
14942 LA95_119
= self
.input.LA(3)
14944 if (self
.synpred188()) :
14949 LA95_120
= self
.input.LA(3)
14951 if (self
.synpred188()) :
14956 LA95_121
= self
.input.LA(3)
14958 if (self
.synpred188()) :
14963 LA95_122
= self
.input.LA(3)
14965 if (self
.synpred188()) :
14970 LA95_123
= self
.input.LA(3)
14972 if (self
.synpred188()) :
14976 elif LA95
== 101 or LA95
== 102:
14977 LA95_124
= self
.input.LA(3)
14979 if (self
.synpred188()) :
14983 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
14984 LA95_125
= self
.input.LA(3)
14986 if (self
.synpred188()) :
14990 elif LA95
== 95 or LA95
== 96:
14991 LA95_126
= self
.input.LA(3)
14993 if (self
.synpred188()) :
14998 LA95_127
= self
.input.LA(3)
15000 if (self
.synpred188()) :
15005 LA95_128
= self
.input.LA(3)
15007 if (self
.synpred188()) :
15012 LA95_129
= self
.input.LA(3)
15014 if (self
.synpred188()) :
15019 LA95_130
= self
.input.LA(3)
15021 if (self
.synpred188()) :
15026 LA95_131
= self
.input.LA(3)
15028 if (self
.synpred188()) :
15033 LA95_132
= self
.input.LA(3)
15035 if (self
.synpred188()) :
15040 LA95_133
= self
.input.LA(3)
15042 if (self
.synpred188()) :
15046 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:
15047 LA95_135
= self
.input.LA(3)
15049 if (self
.synpred188()) :
15056 elif LA95
== DECIMAL_LITERAL
:
15057 LA95
= self
.input.LA(2)
15059 LA95_137
= self
.input.LA(3)
15061 if (self
.synpred188()) :
15066 LA95_138
= self
.input.LA(3)
15068 if (self
.synpred188()) :
15073 LA95_139
= self
.input.LA(3)
15075 if (self
.synpred188()) :
15080 LA95_140
= self
.input.LA(3)
15082 if (self
.synpred188()) :
15087 LA95_141
= self
.input.LA(3)
15089 if (self
.synpred188()) :
15094 LA95_142
= self
.input.LA(3)
15096 if (self
.synpred188()) :
15101 LA95_143
= self
.input.LA(3)
15103 if (self
.synpred188()) :
15107 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:
15108 LA95_144
= self
.input.LA(3)
15110 if (self
.synpred188()) :
15115 LA95_145
= self
.input.LA(3)
15117 if (self
.synpred188()) :
15122 LA95_146
= self
.input.LA(3)
15124 if (self
.synpred188()) :
15129 LA95_147
= self
.input.LA(3)
15131 if (self
.synpred188()) :
15136 LA95_148
= self
.input.LA(3)
15138 if (self
.synpred188()) :
15142 elif LA95
== 101 or LA95
== 102:
15143 LA95_149
= self
.input.LA(3)
15145 if (self
.synpred188()) :
15149 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15150 LA95_150
= self
.input.LA(3)
15152 if (self
.synpred188()) :
15156 elif LA95
== 95 or LA95
== 96:
15157 LA95_151
= self
.input.LA(3)
15159 if (self
.synpred188()) :
15164 LA95_152
= self
.input.LA(3)
15166 if (self
.synpred188()) :
15171 LA95_153
= self
.input.LA(3)
15173 if (self
.synpred188()) :
15178 LA95_154
= self
.input.LA(3)
15180 if (self
.synpred188()) :
15185 LA95_155
= self
.input.LA(3)
15187 if (self
.synpred188()) :
15192 LA95_156
= self
.input.LA(3)
15194 if (self
.synpred188()) :
15199 LA95_157
= self
.input.LA(3)
15201 if (self
.synpred188()) :
15206 LA95_158
= self
.input.LA(3)
15208 if (self
.synpred188()) :
15215 elif LA95
== CHARACTER_LITERAL
:
15216 LA95
= self
.input.LA(2)
15218 LA95_161
= self
.input.LA(3)
15220 if (self
.synpred188()) :
15225 LA95_162
= self
.input.LA(3)
15227 if (self
.synpred188()) :
15232 LA95_163
= self
.input.LA(3)
15234 if (self
.synpred188()) :
15239 LA95_164
= self
.input.LA(3)
15241 if (self
.synpred188()) :
15246 LA95_165
= self
.input.LA(3)
15248 if (self
.synpred188()) :
15253 LA95_166
= self
.input.LA(3)
15255 if (self
.synpred188()) :
15260 LA95_167
= self
.input.LA(3)
15262 if (self
.synpred188()) :
15266 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:
15267 LA95_168
= self
.input.LA(3)
15269 if (self
.synpred188()) :
15274 LA95_169
= self
.input.LA(3)
15276 if (self
.synpred188()) :
15281 LA95_170
= self
.input.LA(3)
15283 if (self
.synpred188()) :
15288 LA95_171
= self
.input.LA(3)
15290 if (self
.synpred188()) :
15295 LA95_172
= self
.input.LA(3)
15297 if (self
.synpred188()) :
15301 elif LA95
== 101 or LA95
== 102:
15302 LA95_173
= self
.input.LA(3)
15304 if (self
.synpred188()) :
15308 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15309 LA95_174
= self
.input.LA(3)
15311 if (self
.synpred188()) :
15315 elif LA95
== 95 or LA95
== 96:
15316 LA95_175
= self
.input.LA(3)
15318 if (self
.synpred188()) :
15323 LA95_176
= self
.input.LA(3)
15325 if (self
.synpred188()) :
15330 LA95_177
= self
.input.LA(3)
15332 if (self
.synpred188()) :
15337 LA95_178
= self
.input.LA(3)
15339 if (self
.synpred188()) :
15344 LA95_179
= self
.input.LA(3)
15346 if (self
.synpred188()) :
15351 LA95_180
= self
.input.LA(3)
15353 if (self
.synpred188()) :
15358 LA95_181
= self
.input.LA(3)
15360 if (self
.synpred188()) :
15365 LA95_182
= self
.input.LA(3)
15367 if (self
.synpred188()) :
15374 elif LA95
== STRING_LITERAL
:
15375 LA95
= self
.input.LA(2)
15376 if LA95
== IDENTIFIER
:
15377 LA95_185
= self
.input.LA(3)
15379 if (self
.synpred188()) :
15384 LA95_186
= self
.input.LA(3)
15386 if (self
.synpred188()) :
15391 LA95_187
= self
.input.LA(3)
15393 if (self
.synpred188()) :
15398 LA95_188
= self
.input.LA(3)
15400 if (self
.synpred188()) :
15405 LA95_189
= self
.input.LA(3)
15407 if (self
.synpred188()) :
15412 LA95_190
= self
.input.LA(3)
15414 if (self
.synpred188()) :
15419 LA95_191
= self
.input.LA(3)
15421 if (self
.synpred188()) :
15426 LA95_192
= self
.input.LA(3)
15428 if (self
.synpred188()) :
15433 LA95_193
= self
.input.LA(3)
15435 if (self
.synpred188()) :
15440 LA95_194
= self
.input.LA(3)
15442 if (self
.synpred188()) :
15447 LA95_195
= self
.input.LA(3)
15449 if (self
.synpred188()) :
15454 LA95_196
= self
.input.LA(3)
15456 if (self
.synpred188()) :
15460 elif LA95
== 101 or LA95
== 102:
15461 LA95_197
= self
.input.LA(3)
15463 if (self
.synpred188()) :
15467 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15468 LA95_198
= self
.input.LA(3)
15470 if (self
.synpred188()) :
15474 elif LA95
== 95 or LA95
== 96:
15475 LA95_199
= self
.input.LA(3)
15477 if (self
.synpred188()) :
15482 LA95_200
= self
.input.LA(3)
15484 if (self
.synpred188()) :
15489 LA95_201
= self
.input.LA(3)
15491 if (self
.synpred188()) :
15496 LA95_202
= self
.input.LA(3)
15498 if (self
.synpred188()) :
15503 LA95_203
= self
.input.LA(3)
15505 if (self
.synpred188()) :
15510 LA95_204
= self
.input.LA(3)
15512 if (self
.synpred188()) :
15517 LA95_205
= self
.input.LA(3)
15519 if (self
.synpred188()) :
15524 LA95_206
= self
.input.LA(3)
15526 if (self
.synpred188()) :
15532 elif LA95
== STRING_LITERAL
:
15533 LA95_208
= self
.input.LA(3)
15535 if (self
.synpred188()) :
15539 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:
15540 LA95_209
= self
.input.LA(3)
15542 if (self
.synpred188()) :
15547 elif LA95
== FLOATING_POINT_LITERAL
:
15548 LA95
= self
.input.LA(2)
15550 LA95_211
= self
.input.LA(3)
15552 if (self
.synpred188()) :
15557 LA95_212
= self
.input.LA(3)
15559 if (self
.synpred188()) :
15564 LA95_213
= self
.input.LA(3)
15566 if (self
.synpred188()) :
15571 LA95_214
= self
.input.LA(3)
15573 if (self
.synpred188()) :
15578 LA95_215
= self
.input.LA(3)
15580 if (self
.synpred188()) :
15585 LA95_216
= self
.input.LA(3)
15587 if (self
.synpred188()) :
15592 LA95_217
= self
.input.LA(3)
15594 if (self
.synpred188()) :
15599 LA95_218
= self
.input.LA(3)
15601 if (self
.synpred188()) :
15606 LA95_219
= self
.input.LA(3)
15608 if (self
.synpred188()) :
15613 LA95_220
= self
.input.LA(3)
15615 if (self
.synpred188()) :
15620 LA95_221
= self
.input.LA(3)
15622 if (self
.synpred188()) :
15626 elif LA95
== 101 or LA95
== 102:
15627 LA95_222
= self
.input.LA(3)
15629 if (self
.synpred188()) :
15633 elif LA95
== 97 or LA95
== 98 or LA95
== 99 or LA95
== 100:
15634 LA95_223
= self
.input.LA(3)
15636 if (self
.synpred188()) :
15640 elif LA95
== 95 or LA95
== 96:
15641 LA95_224
= self
.input.LA(3)
15643 if (self
.synpred188()) :
15648 LA95_225
= self
.input.LA(3)
15650 if (self
.synpred188()) :
15655 LA95_226
= self
.input.LA(3)
15657 if (self
.synpred188()) :
15662 LA95_227
= self
.input.LA(3)
15664 if (self
.synpred188()) :
15669 LA95_228
= self
.input.LA(3)
15671 if (self
.synpred188()) :
15676 LA95_229
= self
.input.LA(3)
15678 if (self
.synpred188()) :
15683 LA95_230
= self
.input.LA(3)
15685 if (self
.synpred188()) :
15690 LA95_231
= self
.input.LA(3)
15692 if (self
.synpred188()) :
15698 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:
15699 LA95_234
= self
.input.LA(3)
15701 if (self
.synpred188()) :
15707 LA95
= self
.input.LA(2)
15708 if LA95
== IDENTIFIER
:
15709 LA95_235
= self
.input.LA(3)
15711 if (self
.synpred188()) :
15715 elif LA95
== HEX_LITERAL
:
15716 LA95_236
= self
.input.LA(3)
15718 if (self
.synpred188()) :
15722 elif LA95
== OCTAL_LITERAL
:
15723 LA95_237
= self
.input.LA(3)
15725 if (self
.synpred188()) :
15729 elif LA95
== DECIMAL_LITERAL
:
15730 LA95_238
= self
.input.LA(3)
15732 if (self
.synpred188()) :
15736 elif LA95
== CHARACTER_LITERAL
:
15737 LA95_239
= self
.input.LA(3)
15739 if (self
.synpred188()) :
15743 elif LA95
== STRING_LITERAL
:
15744 LA95_240
= self
.input.LA(3)
15746 if (self
.synpred188()) :
15750 elif LA95
== FLOATING_POINT_LITERAL
:
15751 LA95_241
= self
.input.LA(3)
15753 if (self
.synpred188()) :
15758 LA95_242
= self
.input.LA(3)
15760 if (self
.synpred188()) :
15765 LA95_243
= self
.input.LA(3)
15767 if (self
.synpred188()) :
15772 LA95_244
= self
.input.LA(3)
15774 if (self
.synpred188()) :
15778 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
15779 LA95_245
= self
.input.LA(3)
15781 if (self
.synpred188()) :
15786 LA95_246
= self
.input.LA(3)
15788 if (self
.synpred188()) :
15792 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:
15793 LA95_247
= self
.input.LA(3)
15795 if (self
.synpred188()) :
15800 LA95_248
= self
.input.LA(3)
15802 if (self
.synpred188()) :
15807 LA95_249
= self
.input.LA(3)
15809 if (self
.synpred188()) :
15814 LA95_250
= self
.input.LA(3)
15816 if (self
.synpred188()) :
15821 LA95_251
= self
.input.LA(3)
15823 if (self
.synpred188()) :
15828 LA95_252
= self
.input.LA(3)
15830 if (self
.synpred188()) :
15835 LA95_253
= self
.input.LA(3)
15837 if (self
.synpred188()) :
15842 LA95_254
= self
.input.LA(3)
15844 if (self
.synpred188()) :
15849 LA95_255
= self
.input.LA(3)
15851 if (self
.synpred188()) :
15856 LA95_256
= self
.input.LA(3)
15858 if (self
.synpred188()) :
15862 elif LA95
== 45 or LA95
== 46:
15863 LA95_257
= self
.input.LA(3)
15865 if (self
.synpred188()) :
15870 LA95_258
= self
.input.LA(3)
15872 if (self
.synpred188()) :
15878 LA95
= self
.input.LA(2)
15879 if LA95
== IDENTIFIER
:
15880 LA95_259
= self
.input.LA(3)
15882 if (self
.synpred188()) :
15886 elif LA95
== HEX_LITERAL
:
15887 LA95_260
= self
.input.LA(3)
15889 if (self
.synpred188()) :
15893 elif LA95
== OCTAL_LITERAL
:
15894 LA95_261
= self
.input.LA(3)
15896 if (self
.synpred188()) :
15900 elif LA95
== DECIMAL_LITERAL
:
15901 LA95_262
= self
.input.LA(3)
15903 if (self
.synpred188()) :
15907 elif LA95
== CHARACTER_LITERAL
:
15908 LA95_263
= self
.input.LA(3)
15910 if (self
.synpred188()) :
15914 elif LA95
== STRING_LITERAL
:
15915 LA95_264
= self
.input.LA(3)
15917 if (self
.synpred188()) :
15921 elif LA95
== FLOATING_POINT_LITERAL
:
15922 LA95_265
= self
.input.LA(3)
15924 if (self
.synpred188()) :
15929 LA95_266
= self
.input.LA(3)
15931 if (self
.synpred188()) :
15936 LA95_267
= self
.input.LA(3)
15938 if (self
.synpred188()) :
15943 LA95_268
= self
.input.LA(3)
15945 if (self
.synpred188()) :
15949 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
15950 LA95_269
= self
.input.LA(3)
15952 if (self
.synpred188()) :
15957 LA95_270
= self
.input.LA(3)
15959 if (self
.synpred188()) :
15965 LA95
= self
.input.LA(2)
15966 if LA95
== IDENTIFIER
:
15967 LA95_271
= self
.input.LA(3)
15969 if (self
.synpred188()) :
15973 elif LA95
== HEX_LITERAL
:
15974 LA95_272
= self
.input.LA(3)
15976 if (self
.synpred188()) :
15980 elif LA95
== OCTAL_LITERAL
:
15981 LA95_273
= self
.input.LA(3)
15983 if (self
.synpred188()) :
15987 elif LA95
== DECIMAL_LITERAL
:
15988 LA95_274
= self
.input.LA(3)
15990 if (self
.synpred188()) :
15994 elif LA95
== CHARACTER_LITERAL
:
15995 LA95_275
= self
.input.LA(3)
15997 if (self
.synpred188()) :
16001 elif LA95
== STRING_LITERAL
:
16002 LA95_276
= self
.input.LA(3)
16004 if (self
.synpred188()) :
16008 elif LA95
== FLOATING_POINT_LITERAL
:
16009 LA95_277
= self
.input.LA(3)
16011 if (self
.synpred188()) :
16016 LA95_278
= self
.input.LA(3)
16018 if (self
.synpred188()) :
16023 LA95_279
= self
.input.LA(3)
16025 if (self
.synpred188()) :
16030 LA95_280
= self
.input.LA(3)
16032 if (self
.synpred188()) :
16036 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16037 LA95_281
= self
.input.LA(3)
16039 if (self
.synpred188()) :
16044 LA95_282
= self
.input.LA(3)
16046 if (self
.synpred188()) :
16051 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16052 LA95
= self
.input.LA(2)
16054 LA95_283
= self
.input.LA(3)
16056 if (self
.synpred188()) :
16060 elif LA95
== IDENTIFIER
:
16061 LA95_284
= self
.input.LA(3)
16063 if (self
.synpred188()) :
16067 elif LA95
== HEX_LITERAL
:
16068 LA95_285
= self
.input.LA(3)
16070 if (self
.synpred188()) :
16074 elif LA95
== OCTAL_LITERAL
:
16075 LA95_286
= self
.input.LA(3)
16077 if (self
.synpred188()) :
16081 elif LA95
== DECIMAL_LITERAL
:
16082 LA95_287
= self
.input.LA(3)
16084 if (self
.synpred188()) :
16088 elif LA95
== CHARACTER_LITERAL
:
16089 LA95_288
= self
.input.LA(3)
16091 if (self
.synpred188()) :
16095 elif LA95
== STRING_LITERAL
:
16096 LA95_289
= self
.input.LA(3)
16098 if (self
.synpred188()) :
16102 elif LA95
== FLOATING_POINT_LITERAL
:
16103 LA95_290
= self
.input.LA(3)
16105 if (self
.synpred188()) :
16110 LA95_291
= self
.input.LA(3)
16112 if (self
.synpred188()) :
16117 LA95_292
= self
.input.LA(3)
16119 if (self
.synpred188()) :
16123 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16124 LA95_293
= self
.input.LA(3)
16126 if (self
.synpred188()) :
16131 LA95_294
= self
.input.LA(3)
16133 if (self
.synpred188()) :
16139 LA95
= self
.input.LA(2)
16141 LA95_295
= self
.input.LA(3)
16143 if (self
.synpred188()) :
16147 elif LA95
== IDENTIFIER
:
16148 LA95_296
= self
.input.LA(3)
16150 if (self
.synpred188()) :
16154 elif LA95
== HEX_LITERAL
:
16155 LA95_297
= self
.input.LA(3)
16157 if (self
.synpred188()) :
16161 elif LA95
== OCTAL_LITERAL
:
16162 LA95_298
= self
.input.LA(3)
16164 if (self
.synpred188()) :
16168 elif LA95
== DECIMAL_LITERAL
:
16169 LA95_299
= self
.input.LA(3)
16171 if (self
.synpred188()) :
16175 elif LA95
== CHARACTER_LITERAL
:
16176 LA95_300
= self
.input.LA(3)
16178 if (self
.synpred188()) :
16182 elif LA95
== STRING_LITERAL
:
16183 LA95_301
= self
.input.LA(3)
16185 if (self
.synpred188()) :
16189 elif LA95
== FLOATING_POINT_LITERAL
:
16190 LA95_302
= self
.input.LA(3)
16192 if (self
.synpred188()) :
16197 LA95_303
= self
.input.LA(3)
16199 if (self
.synpred188()) :
16204 LA95_304
= self
.input.LA(3)
16206 if (self
.synpred188()) :
16210 elif LA95
== 66 or LA95
== 68 or LA95
== 69 or LA95
== 77 or LA95
== 78 or LA95
== 79:
16211 LA95_305
= self
.input.LA(3)
16213 if (self
.synpred188()) :
16218 LA95_306
= self
.input.LA(3)
16220 if (self
.synpred188()) :
16225 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:
16229 # C.g:0:0: statement
16230 self
.following
.append(self
.FOLLOW_statement_in_statement_list2242
)
16232 self
.following
.pop()
16241 if self
.backtracking
> 0:
16245 eee
= EarlyExitException(95, self
.input)
16255 except RecognitionException
as re
:
16256 self
.reportError(re
)
16257 self
.recover(self
.input, re
)
16259 if self
.backtracking
> 0:
16260 self
.memoize(self
.input, 67, statement_list_StartIndex
)
16266 # $ANTLR end statement_list
16268 class expression_statement_return(object):
16269 def __init__(self
):
16275 # $ANTLR start expression_statement
16276 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16277 def expression_statement(self
, ):
16279 retval
= self
.expression_statement_return()
16280 retval
.start
= self
.input.LT(1)
16281 expression_statement_StartIndex
= self
.input.index()
16284 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 68):
16287 # C.g:562:2: ( ';' | expression ';' )
16289 LA96_0
= self
.input.LA(1)
16291 if (LA96_0
== 25) :
16293 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)) :
16296 if self
.backtracking
> 0:
16300 nvae
= NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self
.input)
16306 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2254
)
16312 # C.g:563:4: expression ';'
16313 self
.following
.append(self
.FOLLOW_expression_in_expression_statement2259
)
16315 self
.following
.pop()
16318 self
.match(self
.input, 25, self
.FOLLOW_25_in_expression_statement2261
)
16323 retval
.stop
= self
.input.LT(-1)
16326 except RecognitionException
as re
:
16327 self
.reportError(re
)
16328 self
.recover(self
.input, re
)
16330 if self
.backtracking
> 0:
16331 self
.memoize(self
.input, 68, expression_statement_StartIndex
)
16337 # $ANTLR end expression_statement
16340 # $ANTLR start selection_statement
16341 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16342 def selection_statement(self
, ):
16344 selection_statement_StartIndex
= self
.input.index()
16350 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 69):
16353 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16355 LA98_0
= self
.input.LA(1)
16357 if (LA98_0
== 108) :
16359 elif (LA98_0
== 110) :
16362 if self
.backtracking
> 0:
16366 nvae
= NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self
.input)
16371 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16372 self
.match(self
.input, 108, self
.FOLLOW_108_in_selection_statement2272
)
16375 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2274
)
16378 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2278
)
16379 e
= self
.expression()
16380 self
.following
.pop()
16383 self
.match(self
.input, 63, self
.FOLLOW_63_in_selection_statement2280
)
16386 if self
.backtracking
== 0:
16387 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16389 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2284
)
16391 self
.following
.pop()
16394 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16396 LA97_0
= self
.input.LA(1)
16398 if (LA97_0
== 109) :
16401 # C.g:567:200: 'else' statement
16402 self
.match(self
.input, 109, self
.FOLLOW_109_in_selection_statement2299
)
16405 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2301
)
16407 self
.following
.pop()
16416 # C.g:568:4: 'switch' '(' expression ')' statement
16417 self
.match(self
.input, 110, self
.FOLLOW_110_in_selection_statement2308
)
16420 self
.match(self
.input, 62, self
.FOLLOW_62_in_selection_statement2310
)
16423 self
.following
.append(self
.FOLLOW_expression_in_selection_statement2312
)
16425 self
.following
.pop()
16428 self
.match(self
.input, 63, self
.FOLLOW_63_in_selection_statement2314
)
16431 self
.following
.append(self
.FOLLOW_statement_in_selection_statement2316
)
16433 self
.following
.pop()
16439 except RecognitionException
as re
:
16440 self
.reportError(re
)
16441 self
.recover(self
.input, re
)
16443 if self
.backtracking
> 0:
16444 self
.memoize(self
.input, 69, selection_statement_StartIndex
)
16450 # $ANTLR end selection_statement
16453 # $ANTLR start iteration_statement
16454 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16455 def iteration_statement(self
, ):
16457 iteration_statement_StartIndex
= self
.input.index()
16463 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 70):
16466 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16468 LA100
= self
.input.LA(1)
16476 if self
.backtracking
> 0:
16480 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)
16485 # C.g:572:4: 'while' '(' e= expression ')' statement
16486 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2327
)
16489 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2329
)
16492 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2333
)
16493 e
= self
.expression()
16494 self
.following
.pop()
16497 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2335
)
16500 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2337
)
16502 self
.following
.pop()
16505 if self
.backtracking
== 0:
16506 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16511 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16512 self
.match(self
.input, 112, self
.FOLLOW_112_in_iteration_statement2344
)
16515 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2346
)
16517 self
.following
.pop()
16520 self
.match(self
.input, 111, self
.FOLLOW_111_in_iteration_statement2348
)
16523 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2350
)
16526 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2354
)
16527 e
= self
.expression()
16528 self
.following
.pop()
16531 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2356
)
16534 self
.match(self
.input, 25, self
.FOLLOW_25_in_iteration_statement2358
)
16537 if self
.backtracking
== 0:
16538 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16543 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16544 self
.match(self
.input, 113, self
.FOLLOW_113_in_iteration_statement2365
)
16547 self
.match(self
.input, 62, self
.FOLLOW_62_in_iteration_statement2367
)
16550 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2369
)
16551 self
.expression_statement()
16552 self
.following
.pop()
16555 self
.following
.append(self
.FOLLOW_expression_statement_in_iteration_statement2373
)
16556 e
= self
.expression_statement()
16557 self
.following
.pop()
16560 # C.g:574:58: ( expression )?
16562 LA99_0
= self
.input.LA(1)
16564 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)) :
16567 # C.g:0:0: expression
16568 self
.following
.append(self
.FOLLOW_expression_in_iteration_statement2375
)
16570 self
.following
.pop()
16576 self
.match(self
.input, 63, self
.FOLLOW_63_in_iteration_statement2378
)
16579 self
.following
.append(self
.FOLLOW_statement_in_iteration_statement2380
)
16581 self
.following
.pop()
16584 if self
.backtracking
== 0:
16585 self
.StorePredicateExpression(e
.start
.line
, e
.start
.charPositionInLine
, e
.stop
.line
, e
.stop
.charPositionInLine
, self
.input.toString(e
.start
, e
.stop
))
16590 except RecognitionException
as re
:
16591 self
.reportError(re
)
16592 self
.recover(self
.input, re
)
16594 if self
.backtracking
> 0:
16595 self
.memoize(self
.input, 70, iteration_statement_StartIndex
)
16601 # $ANTLR end iteration_statement
16604 # $ANTLR start jump_statement
16605 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16606 def jump_statement(self
, ):
16608 jump_statement_StartIndex
= self
.input.index()
16611 if self
.backtracking
> 0 and self
.alreadyParsedRule(self
.input, 71):
16614 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16616 LA101
= self
.input.LA(1)
16624 LA101_4
= self
.input.LA(2)
16626 if (LA101_4
== 25) :
16628 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)) :
16631 if self
.backtracking
> 0:
16635 nvae
= NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self
.input)
16640 if self
.backtracking
> 0:
16644 nvae
= NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self
.input)
16649 # C.g:578:4: 'goto' IDENTIFIER ';'
16650 self
.match(self
.input, 114, self
.FOLLOW_114_in_jump_statement2393
)
16653 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_jump_statement2395
)
16656 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2397
)
16662 # C.g:579:4: 'continue' ';'
16663 self
.match(self
.input, 115, self
.FOLLOW_115_in_jump_statement2402
)
16666 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2404
)
16672 # C.g:580:4: 'break' ';'
16673 self
.match(self
.input, 116, self
.FOLLOW_116_in_jump_statement2409
)
16676 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2411
)
16682 # C.g:581:4: 'return' ';'
16683 self
.match(self
.input, 117, self
.FOLLOW_117_in_jump_statement2416
)
16686 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2418
)
16692 # C.g:582:4: 'return' expression ';'
16693 self
.match(self
.input, 117, self
.FOLLOW_117_in_jump_statement2423
)
16696 self
.following
.append(self
.FOLLOW_expression_in_jump_statement2425
)
16698 self
.following
.pop()
16701 self
.match(self
.input, 25, self
.FOLLOW_25_in_jump_statement2427
)
16707 except RecognitionException
as re
:
16708 self
.reportError(re
)
16709 self
.recover(self
.input, re
)
16711 if self
.backtracking
> 0:
16712 self
.memoize(self
.input, 71, jump_statement_StartIndex
)
16718 # $ANTLR end jump_statement
16720 # $ANTLR start synpred2
16721 def synpred2_fragment(self
, ):
16722 # C.g:119:6: ( declaration_specifiers )
16723 # C.g:119:6: declaration_specifiers
16724 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred2100
)
16725 self
.declaration_specifiers()
16726 self
.following
.pop()
16731 # $ANTLR end synpred2
16735 # $ANTLR start synpred4
16736 def synpred4_fragment(self
, ):
16737 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16738 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16739 # C.g:119:6: ( declaration_specifiers )?
16741 LA102
= self
.input.LA(1)
16742 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:
16744 elif LA102
== IDENTIFIER
:
16745 LA102
= self
.input.LA(2)
16747 LA102_21
= self
.input.LA(3)
16749 if (self
.synpred2()) :
16751 elif LA102
== 29 or LA102
== 30 or LA102
== 31 or LA102
== 32 or LA102
== 33:
16752 LA102_23
= self
.input.LA(3)
16754 if (self
.synpred2()) :
16757 LA102_24
= self
.input.LA(3)
16759 if (self
.synpred2()) :
16762 LA102_25
= self
.input.LA(3)
16764 if (self
.synpred2()) :
16767 LA102_26
= self
.input.LA(3)
16769 if (self
.synpred2()) :
16772 LA102_27
= self
.input.LA(3)
16774 if (self
.synpred2()) :
16777 LA102_28
= self
.input.LA(3)
16779 if (self
.synpred2()) :
16782 LA102_29
= self
.input.LA(3)
16784 if (self
.synpred2()) :
16787 LA102_30
= self
.input.LA(3)
16789 if (self
.synpred2()) :
16792 LA102_31
= self
.input.LA(3)
16794 if (self
.synpred2()) :
16797 LA102_32
= self
.input.LA(3)
16799 if (self
.synpred2()) :
16801 elif LA102
== 45 or LA102
== 46:
16802 LA102_33
= self
.input.LA(3)
16804 if (self
.synpred2()) :
16807 LA102_34
= self
.input.LA(3)
16809 if (self
.synpred2()) :
16811 elif LA102
== IDENTIFIER
:
16812 LA102_35
= self
.input.LA(3)
16814 if (self
.synpred2()) :
16817 LA102_36
= self
.input.LA(3)
16819 if (self
.synpred2()) :
16824 LA102_39
= self
.input.LA(3)
16826 if (self
.synpred2()) :
16829 LA102_40
= self
.input.LA(3)
16831 if (self
.synpred2()) :
16833 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:
16834 LA102_41
= self
.input.LA(3)
16836 if (self
.synpred2()) :
16839 LA102_14
= self
.input.LA(2)
16841 if (self
.synpred2()) :
16844 LA102_16
= self
.input.LA(2)
16846 if (self
.synpred2()) :
16849 LA102_17
= self
.input.LA(2)
16851 if (self
.synpred2()) :
16854 # C.g:0:0: declaration_specifiers
16855 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred4100
)
16856 self
.declaration_specifiers()
16857 self
.following
.pop()
16863 self
.following
.append(self
.FOLLOW_declarator_in_synpred4103
)
16865 self
.following
.pop()
16868 # C.g:119:41: ( declaration )*
16869 while True: #loop103
16871 LA103_0
= self
.input.LA(1)
16873 if (LA103_0
== IDENTIFIER
or LA103_0
== 26 or (29 <= LA103_0
<= 42) or (45 <= LA103_0
<= 46) or (48 <= LA103_0
<= 61)) :
16878 # C.g:0:0: declaration
16879 self
.following
.append(self
.FOLLOW_declaration_in_synpred4105
)
16881 self
.following
.pop()
16890 self
.match(self
.input, 43, self
.FOLLOW_43_in_synpred4108
)
16895 # $ANTLR end synpred4
16899 # $ANTLR start synpred5
16900 def synpred5_fragment(self
, ):
16901 # C.g:120:4: ( declaration )
16902 # C.g:120:4: declaration
16903 self
.following
.append(self
.FOLLOW_declaration_in_synpred5118
)
16905 self
.following
.pop()
16910 # $ANTLR end synpred5
16914 # $ANTLR start synpred7
16915 def synpred7_fragment(self
, ):
16916 # C.g:146:6: ( declaration_specifiers )
16917 # C.g:146:6: declaration_specifiers
16918 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred7157
)
16919 self
.declaration_specifiers()
16920 self
.following
.pop()
16925 # $ANTLR end synpred7
16929 # $ANTLR start synpred10
16930 def synpred10_fragment(self
, ):
16931 # C.g:167:18: ( declaration_specifiers )
16932 # C.g:167:18: declaration_specifiers
16933 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred10207
)
16934 self
.declaration_specifiers()
16935 self
.following
.pop()
16940 # $ANTLR end synpred10
16944 # $ANTLR start synpred14
16945 def synpred14_fragment(self
, ):
16946 # C.g:184:7: ( type_specifier )
16947 # C.g:184:7: type_specifier
16948 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred14272
)
16949 self
.type_specifier()
16950 self
.following
.pop()
16955 # $ANTLR end synpred14
16959 # $ANTLR start synpred15
16960 def synpred15_fragment(self
, ):
16961 # C.g:185:13: ( type_qualifier )
16962 # C.g:185:13: type_qualifier
16963 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred15286
)
16964 self
.type_qualifier()
16965 self
.following
.pop()
16970 # $ANTLR end synpred15
16974 # $ANTLR start synpred33
16975 def synpred33_fragment(self
, ):
16976 # C.g:225:16: ( type_qualifier )
16977 # C.g:225:16: type_qualifier
16978 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred33444
)
16979 self
.type_qualifier()
16980 self
.following
.pop()
16985 # $ANTLR end synpred33
16989 # $ANTLR start synpred34
16990 def synpred34_fragment(self
, ):
16991 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16992 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16993 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred34442
)
16996 # C.g:225:16: ( type_qualifier )*
16997 while True: #loop106
16999 LA106
= self
.input.LA(1)
17001 LA106_2
= self
.input.LA(2)
17003 if (self
.synpred33()) :
17008 LA106_3
= self
.input.LA(2)
17010 if (self
.synpred33()) :
17015 LA106_4
= self
.input.LA(2)
17017 if (self
.synpred33()) :
17021 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:
17025 # C.g:0:0: type_qualifier
17026 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred34444
)
17027 self
.type_qualifier()
17028 self
.following
.pop()
17037 self
.following
.append(self
.FOLLOW_declarator_in_synpred34447
)
17039 self
.following
.pop()
17044 # $ANTLR end synpred34
17048 # $ANTLR start synpred39
17049 def synpred39_fragment(self
, ):
17050 # C.g:253:6: ( type_qualifier )
17051 # C.g:253:6: type_qualifier
17052 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred39566
)
17053 self
.type_qualifier()
17054 self
.following
.pop()
17059 # $ANTLR end synpred39
17063 # $ANTLR start synpred40
17064 def synpred40_fragment(self
, ):
17065 # C.g:253:23: ( type_specifier )
17066 # C.g:253:23: type_specifier
17067 self
.following
.append(self
.FOLLOW_type_specifier_in_synpred40570
)
17068 self
.type_specifier()
17069 self
.following
.pop()
17074 # $ANTLR end synpred40
17078 # $ANTLR start synpred66
17079 def synpred66_fragment(self
, ):
17080 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17081 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17082 # C.g:297:4: ( pointer )?
17084 LA111_0
= self
.input.LA(1)
17086 if (LA111_0
== 66) :
17090 self
.following
.append(self
.FOLLOW_pointer_in_synpred66784
)
17092 self
.following
.pop()
17098 # C.g:297:13: ( 'EFIAPI' )?
17100 LA112_0
= self
.input.LA(1)
17102 if (LA112_0
== 58) :
17105 # C.g:297:14: 'EFIAPI'
17106 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred66788
)
17112 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17114 LA113_0
= self
.input.LA(1)
17116 if (LA113_0
== 59) :
17119 # C.g:297:26: 'EFI_BOOTSERVICE'
17120 self
.match(self
.input, 59, self
.FOLLOW_59_in_synpred66793
)
17126 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17128 LA114_0
= self
.input.LA(1)
17130 if (LA114_0
== 60) :
17133 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17134 self
.match(self
.input, 60, self
.FOLLOW_60_in_synpred66798
)
17140 self
.following
.append(self
.FOLLOW_direct_declarator_in_synpred66802
)
17141 self
.direct_declarator()
17142 self
.following
.pop()
17147 # $ANTLR end synpred66
17151 # $ANTLR start synpred67
17152 def synpred67_fragment(self
, ):
17153 # C.g:303:15: ( declarator_suffix )
17154 # C.g:303:15: declarator_suffix
17155 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred67821
)
17156 self
.declarator_suffix()
17157 self
.following
.pop()
17162 # $ANTLR end synpred67
17166 # $ANTLR start synpred69
17167 def synpred69_fragment(self
, ):
17168 # C.g:304:9: ( 'EFIAPI' )
17169 # C.g:304:9: 'EFIAPI'
17170 self
.match(self
.input, 58, self
.FOLLOW_58_in_synpred69830
)
17175 # $ANTLR end synpred69
17179 # $ANTLR start synpred70
17180 def synpred70_fragment(self
, ):
17181 # C.g:304:35: ( declarator_suffix )
17182 # C.g:304:35: declarator_suffix
17183 self
.following
.append(self
.FOLLOW_declarator_suffix_in_synpred70838
)
17184 self
.declarator_suffix()
17185 self
.following
.pop()
17190 # $ANTLR end synpred70
17194 # $ANTLR start synpred73
17195 def synpred73_fragment(self
, ):
17196 # C.g:310:9: ( '(' parameter_type_list ')' )
17197 # C.g:310:9: '(' parameter_type_list ')'
17198 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred73878
)
17201 self
.following
.append(self
.FOLLOW_parameter_type_list_in_synpred73880
)
17202 self
.parameter_type_list()
17203 self
.following
.pop()
17206 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred73882
)
17211 # $ANTLR end synpred73
17215 # $ANTLR start synpred74
17216 def synpred74_fragment(self
, ):
17217 # C.g:311:9: ( '(' identifier_list ')' )
17218 # C.g:311:9: '(' identifier_list ')'
17219 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred74892
)
17222 self
.following
.append(self
.FOLLOW_identifier_list_in_synpred74894
)
17223 self
.identifier_list()
17224 self
.following
.pop()
17227 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred74896
)
17232 # $ANTLR end synpred74
17236 # $ANTLR start synpred75
17237 def synpred75_fragment(self
, ):
17238 # C.g:316:8: ( type_qualifier )
17239 # C.g:316:8: type_qualifier
17240 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred75921
)
17241 self
.type_qualifier()
17242 self
.following
.pop()
17247 # $ANTLR end synpred75
17251 # $ANTLR start synpred76
17252 def synpred76_fragment(self
, ):
17253 # C.g:316:24: ( pointer )
17254 # C.g:316:24: pointer
17255 self
.following
.append(self
.FOLLOW_pointer_in_synpred76924
)
17257 self
.following
.pop()
17262 # $ANTLR end synpred76
17266 # $ANTLR start synpred77
17267 def synpred77_fragment(self
, ):
17268 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17269 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17270 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred77919
)
17273 # C.g:316:8: ( type_qualifier )+
17275 while True: #loop116
17277 LA116_0
= self
.input.LA(1)
17279 if ((49 <= LA116_0
<= 61)) :
17284 # C.g:0:0: type_qualifier
17285 self
.following
.append(self
.FOLLOW_type_qualifier_in_synpred77921
)
17286 self
.type_qualifier()
17287 self
.following
.pop()
17296 if self
.backtracking
> 0:
17300 eee
= EarlyExitException(116, self
.input)
17306 # C.g:316:24: ( pointer )?
17308 LA117_0
= self
.input.LA(1)
17310 if (LA117_0
== 66) :
17314 self
.following
.append(self
.FOLLOW_pointer_in_synpred77924
)
17316 self
.following
.pop()
17324 # $ANTLR end synpred77
17328 # $ANTLR start synpred78
17329 def synpred78_fragment(self
, ):
17330 # C.g:317:4: ( '*' pointer )
17331 # C.g:317:4: '*' pointer
17332 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred78930
)
17335 self
.following
.append(self
.FOLLOW_pointer_in_synpred78932
)
17337 self
.following
.pop()
17342 # $ANTLR end synpred78
17346 # $ANTLR start synpred81
17347 def synpred81_fragment(self
, ):
17348 # C.g:326:32: ( 'OPTIONAL' )
17349 # C.g:326:32: 'OPTIONAL'
17350 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred81977
)
17355 # $ANTLR end synpred81
17359 # $ANTLR start synpred82
17360 def synpred82_fragment(self
, ):
17361 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17362 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17363 self
.match(self
.input, 27, self
.FOLLOW_27_in_synpred82974
)
17366 # C.g:326:31: ( 'OPTIONAL' )?
17368 LA119_0
= self
.input.LA(1)
17370 if (LA119_0
== 53) :
17371 LA119_1
= self
.input.LA(2)
17373 if (self
.synpred81()) :
17376 # C.g:326:32: 'OPTIONAL'
17377 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred82977
)
17383 self
.following
.append(self
.FOLLOW_parameter_declaration_in_synpred82981
)
17384 self
.parameter_declaration()
17385 self
.following
.pop()
17390 # $ANTLR end synpred82
17394 # $ANTLR start synpred83
17395 def synpred83_fragment(self
, ):
17396 # C.g:330:28: ( declarator )
17397 # C.g:330:28: declarator
17398 self
.following
.append(self
.FOLLOW_declarator_in_synpred83997
)
17400 self
.following
.pop()
17405 # $ANTLR end synpred83
17409 # $ANTLR start synpred84
17410 def synpred84_fragment(self
, ):
17411 # C.g:330:39: ( abstract_declarator )
17412 # C.g:330:39: abstract_declarator
17413 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred84999
)
17414 self
.abstract_declarator()
17415 self
.following
.pop()
17420 # $ANTLR end synpred84
17424 # $ANTLR start synpred86
17425 def synpred86_fragment(self
, ):
17426 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17427 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17428 self
.following
.append(self
.FOLLOW_declaration_specifiers_in_synpred86994
)
17429 self
.declaration_specifiers()
17430 self
.following
.pop()
17433 # C.g:330:27: ( declarator | abstract_declarator )*
17434 while True: #loop120
17436 LA120
= self
.input.LA(1)
17438 LA120_3
= self
.input.LA(2)
17440 if (self
.synpred83()) :
17442 elif (self
.synpred84()) :
17446 elif LA120
== IDENTIFIER
or LA120
== 58 or LA120
== 59 or LA120
== 60:
17449 LA120
= self
.input.LA(2)
17450 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:
17453 LA120_21
= self
.input.LA(3)
17455 if (self
.synpred83()) :
17457 elif (self
.synpred84()) :
17462 LA120_22
= self
.input.LA(3)
17464 if (self
.synpred83()) :
17466 elif (self
.synpred84()) :
17471 LA120_23
= self
.input.LA(3)
17473 if (self
.synpred83()) :
17475 elif (self
.synpred84()) :
17480 LA120_24
= self
.input.LA(3)
17482 if (self
.synpred83()) :
17484 elif (self
.synpred84()) :
17488 elif LA120
== IDENTIFIER
:
17489 LA120_25
= self
.input.LA(3)
17491 if (self
.synpred83()) :
17493 elif (self
.synpred84()) :
17498 LA120_26
= self
.input.LA(3)
17500 if (self
.synpred83()) :
17502 elif (self
.synpred84()) :
17511 # C.g:330:28: declarator
17512 self
.following
.append(self
.FOLLOW_declarator_in_synpred86997
)
17514 self
.following
.pop()
17520 # C.g:330:39: abstract_declarator
17521 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred86999
)
17522 self
.abstract_declarator()
17523 self
.following
.pop()
17532 # C.g:330:61: ( 'OPTIONAL' )?
17534 LA121_0
= self
.input.LA(1)
17536 if (LA121_0
== 53) :
17539 # C.g:330:62: 'OPTIONAL'
17540 self
.match(self
.input, 53, self
.FOLLOW_53_in_synpred861004
)
17548 # $ANTLR end synpred86
17552 # $ANTLR start synpred90
17553 def synpred90_fragment(self
, ):
17554 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17555 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17556 self
.following
.append(self
.FOLLOW_specifier_qualifier_list_in_synpred901046
)
17557 self
.specifier_qualifier_list()
17558 self
.following
.pop()
17561 # C.g:341:29: ( abstract_declarator )?
17563 LA122_0
= self
.input.LA(1)
17565 if (LA122_0
== 62 or LA122_0
== 64 or LA122_0
== 66) :
17568 # C.g:0:0: abstract_declarator
17569 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred901048
)
17570 self
.abstract_declarator()
17571 self
.following
.pop()
17579 # $ANTLR end synpred90
17583 # $ANTLR start synpred91
17584 def synpred91_fragment(self
, ):
17585 # C.g:346:12: ( direct_abstract_declarator )
17586 # C.g:346:12: direct_abstract_declarator
17587 self
.following
.append(self
.FOLLOW_direct_abstract_declarator_in_synpred911067
)
17588 self
.direct_abstract_declarator()
17589 self
.following
.pop()
17594 # $ANTLR end synpred91
17598 # $ANTLR start synpred93
17599 def synpred93_fragment(self
, ):
17600 # C.g:351:6: ( '(' abstract_declarator ')' )
17601 # C.g:351:6: '(' abstract_declarator ')'
17602 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred931086
)
17605 self
.following
.append(self
.FOLLOW_abstract_declarator_in_synpred931088
)
17606 self
.abstract_declarator()
17607 self
.following
.pop()
17610 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred931090
)
17615 # $ANTLR end synpred93
17619 # $ANTLR start synpred94
17620 def synpred94_fragment(self
, ):
17621 # C.g:351:65: ( abstract_declarator_suffix )
17622 # C.g:351:65: abstract_declarator_suffix
17623 self
.following
.append(self
.FOLLOW_abstract_declarator_suffix_in_synpred941098
)
17624 self
.abstract_declarator_suffix()
17625 self
.following
.pop()
17630 # $ANTLR end synpred94
17634 # $ANTLR start synpred109
17635 def synpred109_fragment(self
, ):
17636 # C.g:386:4: ( '(' type_name ')' cast_expression )
17637 # C.g:386:4: '(' type_name ')' cast_expression
17638 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1091282
)
17641 self
.following
.append(self
.FOLLOW_type_name_in_synpred1091284
)
17643 self
.following
.pop()
17646 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1091286
)
17649 self
.following
.append(self
.FOLLOW_cast_expression_in_synpred1091288
)
17650 self
.cast_expression()
17651 self
.following
.pop()
17656 # $ANTLR end synpred109
17660 # $ANTLR start synpred114
17661 def synpred114_fragment(self
, ):
17662 # C.g:395:4: ( 'sizeof' unary_expression )
17663 # C.g:395:4: 'sizeof' unary_expression
17664 self
.match(self
.input, 74, self
.FOLLOW_74_in_synpred1141330
)
17667 self
.following
.append(self
.FOLLOW_unary_expression_in_synpred1141332
)
17668 self
.unary_expression()
17669 self
.following
.pop()
17674 # $ANTLR end synpred114
17678 # $ANTLR start synpred117
17679 def synpred117_fragment(self
, ):
17680 # C.g:409:13: ( '(' argument_expression_list ')' )
17681 # C.g:409:13: '(' argument_expression_list ')'
17682 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1171420
)
17685 self
.following
.append(self
.FOLLOW_argument_expression_list_in_synpred1171424
)
17686 self
.argument_expression_list()
17687 self
.following
.pop()
17690 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1171428
)
17695 # $ANTLR end synpred117
17699 # $ANTLR start synpred118
17700 def synpred118_fragment(self
, ):
17701 # C.g:410:13: ( '(' macro_parameter_list ')' )
17702 # C.g:410:13: '(' macro_parameter_list ')'
17703 self
.match(self
.input, 62, self
.FOLLOW_62_in_synpred1181444
)
17706 self
.following
.append(self
.FOLLOW_macro_parameter_list_in_synpred1181446
)
17707 self
.macro_parameter_list()
17708 self
.following
.pop()
17711 self
.match(self
.input, 63, self
.FOLLOW_63_in_synpred1181448
)
17716 # $ANTLR end synpred118
17720 # $ANTLR start synpred120
17721 def synpred120_fragment(self
, ):
17722 # C.g:412:13: ( '*' IDENTIFIER )
17723 # C.g:412:13: '*' IDENTIFIER
17724 self
.match(self
.input, 66, self
.FOLLOW_66_in_synpred1201482
)
17727 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1201486
)
17732 # $ANTLR end synpred120
17736 # $ANTLR start synpred137
17737 def synpred137_fragment(self
, ):
17738 # C.g:443:20: ( STRING_LITERAL )
17739 # C.g:443:20: STRING_LITERAL
17740 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1371683
)
17745 # $ANTLR end synpred137
17749 # $ANTLR start synpred138
17750 def synpred138_fragment(self
, ):
17751 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17752 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17753 # C.g:443:8: ( IDENTIFIER )*
17754 while True: #loop125
17756 LA125_0
= self
.input.LA(1)
17758 if (LA125_0
== IDENTIFIER
) :
17763 # C.g:0:0: IDENTIFIER
17764 self
.match(self
.input, IDENTIFIER
, self
.FOLLOW_IDENTIFIER_in_synpred1381680
)
17773 # C.g:443:20: ( STRING_LITERAL )+
17775 while True: #loop126
17777 LA126_0
= self
.input.LA(1)
17779 if (LA126_0
== STRING_LITERAL
) :
17784 # C.g:0:0: STRING_LITERAL
17785 self
.match(self
.input, STRING_LITERAL
, self
.FOLLOW_STRING_LITERAL_in_synpred1381683
)
17794 if self
.backtracking
> 0:
17798 eee
= EarlyExitException(126, self
.input)
17806 # $ANTLR end synpred138
17810 # $ANTLR start synpred142
17811 def synpred142_fragment(self
, ):
17812 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17813 # C.g:458:4: lvalue assignment_operator assignment_expression
17814 self
.following
.append(self
.FOLLOW_lvalue_in_synpred1421744
)
17816 self
.following
.pop()
17819 self
.following
.append(self
.FOLLOW_assignment_operator_in_synpred1421746
)
17820 self
.assignment_operator()
17821 self
.following
.pop()
17824 self
.following
.append(self
.FOLLOW_assignment_expression_in_synpred1421748
)
17825 self
.assignment_expression()
17826 self
.following
.pop()
17831 # $ANTLR end synpred142
17835 # $ANTLR start synpred169
17836 def synpred169_fragment(self
, ):
17837 # C.g:520:4: ( expression_statement )
17838 # C.g:520:4: expression_statement
17839 self
.following
.append(self
.FOLLOW_expression_statement_in_synpred1692035
)
17840 self
.expression_statement()
17841 self
.following
.pop()
17846 # $ANTLR end synpred169
17850 # $ANTLR start synpred173
17851 def synpred173_fragment(self
, ):
17852 # C.g:524:4: ( macro_statement )
17853 # C.g:524:4: macro_statement
17854 self
.following
.append(self
.FOLLOW_macro_statement_in_synpred1732055
)
17855 self
.macro_statement()
17856 self
.following
.pop()
17861 # $ANTLR end synpred173
17865 # $ANTLR start synpred174
17866 def synpred174_fragment(self
, ):
17867 # C.g:525:4: ( asm2_statement )
17868 # C.g:525:4: asm2_statement
17869 self
.following
.append(self
.FOLLOW_asm2_statement_in_synpred1742060
)
17870 self
.asm2_statement()
17871 self
.following
.pop()
17876 # $ANTLR end synpred174
17880 # $ANTLR start synpred181
17881 def synpred181_fragment(self
, ):
17882 # C.g:544:19: ( declaration )
17883 # C.g:544:19: declaration
17884 self
.following
.append(self
.FOLLOW_declaration_in_synpred1812166
)
17886 self
.following
.pop()
17891 # $ANTLR end synpred181
17895 # $ANTLR start synpred182
17896 def synpred182_fragment(self
, ):
17897 # C.g:544:33: ( statement_list )
17898 # C.g:544:33: statement_list
17899 self
.following
.append(self
.FOLLOW_statement_list_in_synpred1822170
)
17900 self
.statement_list()
17901 self
.following
.pop()
17906 # $ANTLR end synpred182
17910 # $ANTLR start synpred186
17911 def synpred186_fragment(self
, ):
17912 # C.g:554:8: ( declaration )
17913 # C.g:554:8: declaration
17914 self
.following
.append(self
.FOLLOW_declaration_in_synpred1862225
)
17916 self
.following
.pop()
17921 # $ANTLR end synpred186
17925 # $ANTLR start synpred188
17926 def synpred188_fragment(self
, ):
17927 # C.g:558:4: ( statement )
17928 # C.g:558:4: statement
17929 self
.following
.append(self
.FOLLOW_statement_in_synpred1882242
)
17931 self
.following
.pop()
17936 # $ANTLR end synpred188
17940 def synpred69(self
):
17941 self
.backtracking
+= 1
17942 start
= self
.input.mark()
17943 self
.synpred69_fragment()
17944 success
= not self
.failed
17945 self
.input.rewind(start
)
17946 self
.backtracking
-= 1
17947 self
.failed
= False
17950 def synpred81(self
):
17951 self
.backtracking
+= 1
17952 start
= self
.input.mark()
17953 self
.synpred81_fragment()
17954 success
= not self
.failed
17955 self
.input.rewind(start
)
17956 self
.backtracking
-= 1
17957 self
.failed
= False
17960 def synpred82(self
):
17961 self
.backtracking
+= 1
17962 start
= self
.input.mark()
17963 self
.synpred82_fragment()
17964 success
= not self
.failed
17965 self
.input.rewind(start
)
17966 self
.backtracking
-= 1
17967 self
.failed
= False
17970 def synpred66(self
):
17971 self
.backtracking
+= 1
17972 start
= self
.input.mark()
17973 self
.synpred66_fragment()
17974 success
= not self
.failed
17975 self
.input.rewind(start
)
17976 self
.backtracking
-= 1
17977 self
.failed
= False
17980 def synpred83(self
):
17981 self
.backtracking
+= 1
17982 start
= self
.input.mark()
17983 self
.synpred83_fragment()
17984 success
= not self
.failed
17985 self
.input.rewind(start
)
17986 self
.backtracking
-= 1
17987 self
.failed
= False
17990 def synpred84(self
):
17991 self
.backtracking
+= 1
17992 start
= self
.input.mark()
17993 self
.synpred84_fragment()
17994 success
= not self
.failed
17995 self
.input.rewind(start
)
17996 self
.backtracking
-= 1
17997 self
.failed
= False
18000 def synpred67(self
):
18001 self
.backtracking
+= 1
18002 start
= self
.input.mark()
18003 self
.synpred67_fragment()
18004 success
= not self
.failed
18005 self
.input.rewind(start
)
18006 self
.backtracking
-= 1
18007 self
.failed
= False
18010 def synpred86(self
):
18011 self
.backtracking
+= 1
18012 start
= self
.input.mark()
18013 self
.synpred86_fragment()
18014 success
= not self
.failed
18015 self
.input.rewind(start
)
18016 self
.backtracking
-= 1
18017 self
.failed
= False
18020 def synpred120(self
):
18021 self
.backtracking
+= 1
18022 start
= self
.input.mark()
18023 self
.synpred120_fragment()
18024 success
= not self
.failed
18025 self
.input.rewind(start
)
18026 self
.backtracking
-= 1
18027 self
.failed
= False
18030 def synpred40(self
):
18031 self
.backtracking
+= 1
18032 start
= self
.input.mark()
18033 self
.synpred40_fragment()
18034 success
= not self
.failed
18035 self
.input.rewind(start
)
18036 self
.backtracking
-= 1
18037 self
.failed
= False
18040 def synpred142(self
):
18041 self
.backtracking
+= 1
18042 start
= self
.input.mark()
18043 self
.synpred142_fragment()
18044 success
= not self
.failed
18045 self
.input.rewind(start
)
18046 self
.backtracking
-= 1
18047 self
.failed
= False
18050 def synpred182(self
):
18051 self
.backtracking
+= 1
18052 start
= self
.input.mark()
18053 self
.synpred182_fragment()
18054 success
= not self
.failed
18055 self
.input.rewind(start
)
18056 self
.backtracking
-= 1
18057 self
.failed
= False
18060 def synpred109(self
):
18061 self
.backtracking
+= 1
18062 start
= self
.input.mark()
18063 self
.synpred109_fragment()
18064 success
= not self
.failed
18065 self
.input.rewind(start
)
18066 self
.backtracking
-= 1
18067 self
.failed
= False
18070 def synpred181(self
):
18071 self
.backtracking
+= 1
18072 start
= self
.input.mark()
18073 self
.synpred181_fragment()
18074 success
= not self
.failed
18075 self
.input.rewind(start
)
18076 self
.backtracking
-= 1
18077 self
.failed
= False
18080 def synpred186(self
):
18081 self
.backtracking
+= 1
18082 start
= self
.input.mark()
18083 self
.synpred186_fragment()
18084 success
= not self
.failed
18085 self
.input.rewind(start
)
18086 self
.backtracking
-= 1
18087 self
.failed
= False
18090 def synpred188(self
):
18091 self
.backtracking
+= 1
18092 start
= self
.input.mark()
18093 self
.synpred188_fragment()
18094 success
= not self
.failed
18095 self
.input.rewind(start
)
18096 self
.backtracking
-= 1
18097 self
.failed
= False
18100 def synpred169(self
):
18101 self
.backtracking
+= 1
18102 start
= self
.input.mark()
18103 self
.synpred169_fragment()
18104 success
= not self
.failed
18105 self
.input.rewind(start
)
18106 self
.backtracking
-= 1
18107 self
.failed
= False
18110 def synpred117(self
):
18111 self
.backtracking
+= 1
18112 start
= self
.input.mark()
18113 self
.synpred117_fragment()
18114 success
= not self
.failed
18115 self
.input.rewind(start
)
18116 self
.backtracking
-= 1
18117 self
.failed
= False
18120 def synpred70(self
):
18121 self
.backtracking
+= 1
18122 start
= self
.input.mark()
18123 self
.synpred70_fragment()
18124 success
= not self
.failed
18125 self
.input.rewind(start
)
18126 self
.backtracking
-= 1
18127 self
.failed
= False
18130 def synpred118(self
):
18131 self
.backtracking
+= 1
18132 start
= self
.input.mark()
18133 self
.synpred118_fragment()
18134 success
= not self
.failed
18135 self
.input.rewind(start
)
18136 self
.backtracking
-= 1
18137 self
.failed
= False
18140 def synpred34(self
):
18141 self
.backtracking
+= 1
18142 start
= self
.input.mark()
18143 self
.synpred34_fragment()
18144 success
= not self
.failed
18145 self
.input.rewind(start
)
18146 self
.backtracking
-= 1
18147 self
.failed
= False
18150 def synpred33(self
):
18151 self
.backtracking
+= 1
18152 start
= self
.input.mark()
18153 self
.synpred33_fragment()
18154 success
= not self
.failed
18155 self
.input.rewind(start
)
18156 self
.backtracking
-= 1
18157 self
.failed
= False
18160 def synpred94(self
):
18161 self
.backtracking
+= 1
18162 start
= self
.input.mark()
18163 self
.synpred94_fragment()
18164 success
= not self
.failed
18165 self
.input.rewind(start
)
18166 self
.backtracking
-= 1
18167 self
.failed
= False
18170 def synpred39(self
):
18171 self
.backtracking
+= 1
18172 start
= self
.input.mark()
18173 self
.synpred39_fragment()
18174 success
= not self
.failed
18175 self
.input.rewind(start
)
18176 self
.backtracking
-= 1
18177 self
.failed
= False
18180 def synpred74(self
):
18181 self
.backtracking
+= 1
18182 start
= self
.input.mark()
18183 self
.synpred74_fragment()
18184 success
= not self
.failed
18185 self
.input.rewind(start
)
18186 self
.backtracking
-= 1
18187 self
.failed
= False
18190 def synpred114(self
):
18191 self
.backtracking
+= 1
18192 start
= self
.input.mark()
18193 self
.synpred114_fragment()
18194 success
= not self
.failed
18195 self
.input.rewind(start
)
18196 self
.backtracking
-= 1
18197 self
.failed
= False
18200 def synpred93(self
):
18201 self
.backtracking
+= 1
18202 start
= self
.input.mark()
18203 self
.synpred93_fragment()
18204 success
= not self
.failed
18205 self
.input.rewind(start
)
18206 self
.backtracking
-= 1
18207 self
.failed
= False
18210 def synpred75(self
):
18211 self
.backtracking
+= 1
18212 start
= self
.input.mark()
18213 self
.synpred75_fragment()
18214 success
= not self
.failed
18215 self
.input.rewind(start
)
18216 self
.backtracking
-= 1
18217 self
.failed
= False
18220 def synpred137(self
):
18221 self
.backtracking
+= 1
18222 start
= self
.input.mark()
18223 self
.synpred137_fragment()
18224 success
= not self
.failed
18225 self
.input.rewind(start
)
18226 self
.backtracking
-= 1
18227 self
.failed
= False
18230 def synpred90(self
):
18231 self
.backtracking
+= 1
18232 start
= self
.input.mark()
18233 self
.synpred90_fragment()
18234 success
= not self
.failed
18235 self
.input.rewind(start
)
18236 self
.backtracking
-= 1
18237 self
.failed
= False
18240 def synpred138(self
):
18241 self
.backtracking
+= 1
18242 start
= self
.input.mark()
18243 self
.synpred138_fragment()
18244 success
= not self
.failed
18245 self
.input.rewind(start
)
18246 self
.backtracking
-= 1
18247 self
.failed
= False
18250 def synpred91(self
):
18251 self
.backtracking
+= 1
18252 start
= self
.input.mark()
18253 self
.synpred91_fragment()
18254 success
= not self
.failed
18255 self
.input.rewind(start
)
18256 self
.backtracking
-= 1
18257 self
.failed
= False
18260 def synpred73(self
):
18261 self
.backtracking
+= 1
18262 start
= self
.input.mark()
18263 self
.synpred73_fragment()
18264 success
= not self
.failed
18265 self
.input.rewind(start
)
18266 self
.backtracking
-= 1
18267 self
.failed
= False
18270 def synpred5(self
):
18271 self
.backtracking
+= 1
18272 start
= self
.input.mark()
18273 self
.synpred5_fragment()
18274 success
= not self
.failed
18275 self
.input.rewind(start
)
18276 self
.backtracking
-= 1
18277 self
.failed
= False
18280 def synpred78(self
):
18281 self
.backtracking
+= 1
18282 start
= self
.input.mark()
18283 self
.synpred78_fragment()
18284 success
= not self
.failed
18285 self
.input.rewind(start
)
18286 self
.backtracking
-= 1
18287 self
.failed
= False
18290 def synpred7(self
):
18291 self
.backtracking
+= 1
18292 start
= self
.input.mark()
18293 self
.synpred7_fragment()
18294 success
= not self
.failed
18295 self
.input.rewind(start
)
18296 self
.backtracking
-= 1
18297 self
.failed
= False
18300 def synpred76(self
):
18301 self
.backtracking
+= 1
18302 start
= self
.input.mark()
18303 self
.synpred76_fragment()
18304 success
= not self
.failed
18305 self
.input.rewind(start
)
18306 self
.backtracking
-= 1
18307 self
.failed
= False
18310 def synpred77(self
):
18311 self
.backtracking
+= 1
18312 start
= self
.input.mark()
18313 self
.synpred77_fragment()
18314 success
= not self
.failed
18315 self
.input.rewind(start
)
18316 self
.backtracking
-= 1
18317 self
.failed
= False
18320 def synpred2(self
):
18321 self
.backtracking
+= 1
18322 start
= self
.input.mark()
18323 self
.synpred2_fragment()
18324 success
= not self
.failed
18325 self
.input.rewind(start
)
18326 self
.backtracking
-= 1
18327 self
.failed
= False
18330 def synpred4(self
):
18331 self
.backtracking
+= 1
18332 start
= self
.input.mark()
18333 self
.synpred4_fragment()
18334 success
= not self
.failed
18335 self
.input.rewind(start
)
18336 self
.backtracking
-= 1
18337 self
.failed
= False
18340 def synpred174(self
):
18341 self
.backtracking
+= 1
18342 start
= self
.input.mark()
18343 self
.synpred174_fragment()
18344 success
= not self
.failed
18345 self
.input.rewind(start
)
18346 self
.backtracking
-= 1
18347 self
.failed
= False
18350 def synpred173(self
):
18351 self
.backtracking
+= 1
18352 start
= self
.input.mark()
18353 self
.synpred173_fragment()
18354 success
= not self
.failed
18355 self
.input.rewind(start
)
18356 self
.backtracking
-= 1
18357 self
.failed
= False
18360 def synpred14(self
):
18361 self
.backtracking
+= 1
18362 start
= self
.input.mark()
18363 self
.synpred14_fragment()
18364 success
= not self
.failed
18365 self
.input.rewind(start
)
18366 self
.backtracking
-= 1
18367 self
.failed
= False
18370 def synpred15(self
):
18371 self
.backtracking
+= 1
18372 start
= self
.input.mark()
18373 self
.synpred15_fragment()
18374 success
= not self
.failed
18375 self
.input.rewind(start
)
18376 self
.backtracking
-= 1
18377 self
.failed
= False
18380 def synpred10(self
):
18381 self
.backtracking
+= 1
18382 start
= self
.input.mark()
18383 self
.synpred10_fragment()
18384 success
= not self
.failed
18385 self
.input.rewind(start
)
18386 self
.backtracking
-= 1
18387 self
.failed
= False
18394 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])
18395 FOLLOW_function_definition_in_external_declaration113
= frozenset([1])
18396 FOLLOW_declaration_in_external_declaration118
= frozenset([1])
18397 FOLLOW_macro_statement_in_external_declaration123
= frozenset([1, 25])
18398 FOLLOW_25_in_external_declaration126
= frozenset([1])
18399 FOLLOW_declaration_specifiers_in_function_definition157
= frozenset([4, 58, 59, 60, 62, 66])
18400 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])
18401 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])
18402 FOLLOW_compound_statement_in_function_definition171
= frozenset([1])
18403 FOLLOW_compound_statement_in_function_definition180
= frozenset([1])
18404 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])
18405 FOLLOW_declaration_specifiers_in_declaration207
= frozenset([4, 58, 59, 60, 62, 66])
18406 FOLLOW_init_declarator_list_in_declaration216
= frozenset([25])
18407 FOLLOW_25_in_declaration220
= frozenset([1])
18408 FOLLOW_declaration_specifiers_in_declaration234
= frozenset([4, 25, 58, 59, 60, 62, 66])
18409 FOLLOW_init_declarator_list_in_declaration238
= frozenset([25])
18410 FOLLOW_25_in_declaration243
= frozenset([1])
18411 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])
18412 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])
18413 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])
18414 FOLLOW_init_declarator_in_init_declarator_list308
= frozenset([1, 27])
18415 FOLLOW_27_in_init_declarator_list311
= frozenset([4, 58, 59, 60, 62, 66])
18416 FOLLOW_init_declarator_in_init_declarator_list313
= frozenset([1, 27])
18417 FOLLOW_declarator_in_init_declarator326
= frozenset([1, 28])
18418 FOLLOW_28_in_init_declarator329
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18419 FOLLOW_initializer_in_init_declarator331
= frozenset([1])
18420 FOLLOW_set_in_storage_class_specifier0
= frozenset([1])
18421 FOLLOW_34_in_type_specifier376
= frozenset([1])
18422 FOLLOW_35_in_type_specifier381
= frozenset([1])
18423 FOLLOW_36_in_type_specifier386
= frozenset([1])
18424 FOLLOW_37_in_type_specifier391
= frozenset([1])
18425 FOLLOW_38_in_type_specifier396
= frozenset([1])
18426 FOLLOW_39_in_type_specifier401
= frozenset([1])
18427 FOLLOW_40_in_type_specifier406
= frozenset([1])
18428 FOLLOW_41_in_type_specifier411
= frozenset([1])
18429 FOLLOW_42_in_type_specifier416
= frozenset([1])
18430 FOLLOW_struct_or_union_specifier_in_type_specifier423
= frozenset([1])
18431 FOLLOW_enum_specifier_in_type_specifier433
= frozenset([1])
18432 FOLLOW_type_id_in_type_specifier451
= frozenset([1])
18433 FOLLOW_IDENTIFIER_in_type_id467
= frozenset([1])
18434 FOLLOW_struct_or_union_in_struct_or_union_specifier494
= frozenset([4, 43])
18435 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496
= frozenset([43])
18436 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])
18437 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501
= frozenset([44])
18438 FOLLOW_44_in_struct_or_union_specifier503
= frozenset([1])
18439 FOLLOW_struct_or_union_in_struct_or_union_specifier508
= frozenset([4])
18440 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510
= frozenset([1])
18441 FOLLOW_set_in_struct_or_union0
= frozenset([1])
18442 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])
18443 FOLLOW_specifier_qualifier_list_in_struct_declaration549
= frozenset([4, 47, 58, 59, 60, 62, 66])
18444 FOLLOW_struct_declarator_list_in_struct_declaration551
= frozenset([25])
18445 FOLLOW_25_in_struct_declaration553
= frozenset([1])
18446 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])
18447 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])
18448 FOLLOW_struct_declarator_in_struct_declarator_list584
= frozenset([1, 27])
18449 FOLLOW_27_in_struct_declarator_list587
= frozenset([4, 47, 58, 59, 60, 62, 66])
18450 FOLLOW_struct_declarator_in_struct_declarator_list589
= frozenset([1, 27])
18451 FOLLOW_declarator_in_struct_declarator602
= frozenset([1, 47])
18452 FOLLOW_47_in_struct_declarator605
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18453 FOLLOW_constant_expression_in_struct_declarator607
= frozenset([1])
18454 FOLLOW_47_in_struct_declarator614
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18455 FOLLOW_constant_expression_in_struct_declarator616
= frozenset([1])
18456 FOLLOW_48_in_enum_specifier634
= frozenset([43])
18457 FOLLOW_43_in_enum_specifier636
= frozenset([4])
18458 FOLLOW_enumerator_list_in_enum_specifier638
= frozenset([27, 44])
18459 FOLLOW_27_in_enum_specifier640
= frozenset([44])
18460 FOLLOW_44_in_enum_specifier643
= frozenset([1])
18461 FOLLOW_48_in_enum_specifier648
= frozenset([4])
18462 FOLLOW_IDENTIFIER_in_enum_specifier650
= frozenset([43])
18463 FOLLOW_43_in_enum_specifier652
= frozenset([4])
18464 FOLLOW_enumerator_list_in_enum_specifier654
= frozenset([27, 44])
18465 FOLLOW_27_in_enum_specifier656
= frozenset([44])
18466 FOLLOW_44_in_enum_specifier659
= frozenset([1])
18467 FOLLOW_48_in_enum_specifier664
= frozenset([4])
18468 FOLLOW_IDENTIFIER_in_enum_specifier666
= frozenset([1])
18469 FOLLOW_enumerator_in_enumerator_list677
= frozenset([1, 27])
18470 FOLLOW_27_in_enumerator_list680
= frozenset([4])
18471 FOLLOW_enumerator_in_enumerator_list682
= frozenset([1, 27])
18472 FOLLOW_IDENTIFIER_in_enumerator695
= frozenset([1, 28])
18473 FOLLOW_28_in_enumerator698
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18474 FOLLOW_constant_expression_in_enumerator700
= frozenset([1])
18475 FOLLOW_set_in_type_qualifier0
= frozenset([1])
18476 FOLLOW_pointer_in_declarator784
= frozenset([4, 58, 59, 60, 62])
18477 FOLLOW_58_in_declarator788
= frozenset([4, 59, 60, 62])
18478 FOLLOW_59_in_declarator793
= frozenset([4, 60, 62])
18479 FOLLOW_60_in_declarator798
= frozenset([4, 62])
18480 FOLLOW_direct_declarator_in_declarator802
= frozenset([1])
18481 FOLLOW_pointer_in_declarator808
= frozenset([1])
18482 FOLLOW_IDENTIFIER_in_direct_declarator819
= frozenset([1, 62, 64])
18483 FOLLOW_declarator_suffix_in_direct_declarator821
= frozenset([1, 62, 64])
18484 FOLLOW_62_in_direct_declarator827
= frozenset([4, 58, 59, 60, 62, 66])
18485 FOLLOW_58_in_direct_declarator830
= frozenset([4, 58, 59, 60, 62, 66])
18486 FOLLOW_declarator_in_direct_declarator834
= frozenset([63])
18487 FOLLOW_63_in_direct_declarator836
= frozenset([62, 64])
18488 FOLLOW_declarator_suffix_in_direct_declarator838
= frozenset([1, 62, 64])
18489 FOLLOW_64_in_declarator_suffix852
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18490 FOLLOW_constant_expression_in_declarator_suffix854
= frozenset([65])
18491 FOLLOW_65_in_declarator_suffix856
= frozenset([1])
18492 FOLLOW_64_in_declarator_suffix866
= frozenset([65])
18493 FOLLOW_65_in_declarator_suffix868
= frozenset([1])
18494 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])
18495 FOLLOW_parameter_type_list_in_declarator_suffix880
= frozenset([63])
18496 FOLLOW_63_in_declarator_suffix882
= frozenset([1])
18497 FOLLOW_62_in_declarator_suffix892
= frozenset([4])
18498 FOLLOW_identifier_list_in_declarator_suffix894
= frozenset([63])
18499 FOLLOW_63_in_declarator_suffix896
= frozenset([1])
18500 FOLLOW_62_in_declarator_suffix906
= frozenset([63])
18501 FOLLOW_63_in_declarator_suffix908
= frozenset([1])
18502 FOLLOW_66_in_pointer919
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18503 FOLLOW_type_qualifier_in_pointer921
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18504 FOLLOW_pointer_in_pointer924
= frozenset([1])
18505 FOLLOW_66_in_pointer930
= frozenset([66])
18506 FOLLOW_pointer_in_pointer932
= frozenset([1])
18507 FOLLOW_66_in_pointer937
= frozenset([1])
18508 FOLLOW_parameter_list_in_parameter_type_list948
= frozenset([1, 27])
18509 FOLLOW_27_in_parameter_type_list951
= frozenset([53, 67])
18510 FOLLOW_53_in_parameter_type_list954
= frozenset([67])
18511 FOLLOW_67_in_parameter_type_list958
= frozenset([1])
18512 FOLLOW_parameter_declaration_in_parameter_list971
= frozenset([1, 27])
18513 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])
18514 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])
18515 FOLLOW_parameter_declaration_in_parameter_list981
= frozenset([1, 27])
18516 FOLLOW_declaration_specifiers_in_parameter_declaration994
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18517 FOLLOW_declarator_in_parameter_declaration997
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18518 FOLLOW_abstract_declarator_in_parameter_declaration999
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18519 FOLLOW_53_in_parameter_declaration1004
= frozenset([1])
18520 FOLLOW_pointer_in_parameter_declaration1013
= frozenset([4, 66])
18521 FOLLOW_IDENTIFIER_in_parameter_declaration1016
= frozenset([1])
18522 FOLLOW_IDENTIFIER_in_identifier_list1027
= frozenset([1, 27])
18523 FOLLOW_27_in_identifier_list1031
= frozenset([4])
18524 FOLLOW_IDENTIFIER_in_identifier_list1033
= frozenset([1, 27])
18525 FOLLOW_specifier_qualifier_list_in_type_name1046
= frozenset([1, 62, 64, 66])
18526 FOLLOW_abstract_declarator_in_type_name1048
= frozenset([1])
18527 FOLLOW_type_id_in_type_name1054
= frozenset([1])
18528 FOLLOW_pointer_in_abstract_declarator1065
= frozenset([1, 62, 64])
18529 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067
= frozenset([1])
18530 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073
= frozenset([1])
18531 FOLLOW_62_in_direct_abstract_declarator1086
= frozenset([62, 64, 66])
18532 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088
= frozenset([63])
18533 FOLLOW_63_in_direct_abstract_declarator1090
= frozenset([1, 62, 64])
18534 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094
= frozenset([1, 62, 64])
18535 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098
= frozenset([1, 62, 64])
18536 FOLLOW_64_in_abstract_declarator_suffix1110
= frozenset([65])
18537 FOLLOW_65_in_abstract_declarator_suffix1112
= frozenset([1])
18538 FOLLOW_64_in_abstract_declarator_suffix1117
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18539 FOLLOW_constant_expression_in_abstract_declarator_suffix1119
= frozenset([65])
18540 FOLLOW_65_in_abstract_declarator_suffix1121
= frozenset([1])
18541 FOLLOW_62_in_abstract_declarator_suffix1126
= frozenset([63])
18542 FOLLOW_63_in_abstract_declarator_suffix1128
= frozenset([1])
18543 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])
18544 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135
= frozenset([63])
18545 FOLLOW_63_in_abstract_declarator_suffix1137
= frozenset([1])
18546 FOLLOW_assignment_expression_in_initializer1150
= frozenset([1])
18547 FOLLOW_43_in_initializer1155
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18548 FOLLOW_initializer_list_in_initializer1157
= frozenset([27, 44])
18549 FOLLOW_27_in_initializer1159
= frozenset([44])
18550 FOLLOW_44_in_initializer1162
= frozenset([1])
18551 FOLLOW_initializer_in_initializer_list1173
= frozenset([1, 27])
18552 FOLLOW_27_in_initializer_list1176
= frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18553 FOLLOW_initializer_in_initializer_list1178
= frozenset([1, 27])
18554 FOLLOW_assignment_expression_in_argument_expression_list1196
= frozenset([1, 27, 53])
18555 FOLLOW_53_in_argument_expression_list1199
= frozenset([1, 27])
18556 FOLLOW_27_in_argument_expression_list1204
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18557 FOLLOW_assignment_expression_in_argument_expression_list1206
= frozenset([1, 27, 53])
18558 FOLLOW_53_in_argument_expression_list1209
= frozenset([1, 27])
18559 FOLLOW_multiplicative_expression_in_additive_expression1225
= frozenset([1, 68, 69])
18560 FOLLOW_68_in_additive_expression1229
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18561 FOLLOW_multiplicative_expression_in_additive_expression1231
= frozenset([1, 68, 69])
18562 FOLLOW_69_in_additive_expression1235
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18563 FOLLOW_multiplicative_expression_in_additive_expression1237
= frozenset([1, 68, 69])
18564 FOLLOW_cast_expression_in_multiplicative_expression1251
= frozenset([1, 66, 70, 71])
18565 FOLLOW_66_in_multiplicative_expression1255
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18566 FOLLOW_cast_expression_in_multiplicative_expression1257
= frozenset([1, 66, 70, 71])
18567 FOLLOW_70_in_multiplicative_expression1261
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18568 FOLLOW_cast_expression_in_multiplicative_expression1263
= frozenset([1, 66, 70, 71])
18569 FOLLOW_71_in_multiplicative_expression1267
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18570 FOLLOW_cast_expression_in_multiplicative_expression1269
= frozenset([1, 66, 70, 71])
18571 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])
18572 FOLLOW_type_name_in_cast_expression1284
= frozenset([63])
18573 FOLLOW_63_in_cast_expression1286
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18574 FOLLOW_cast_expression_in_cast_expression1288
= frozenset([1])
18575 FOLLOW_unary_expression_in_cast_expression1293
= frozenset([1])
18576 FOLLOW_postfix_expression_in_unary_expression1304
= frozenset([1])
18577 FOLLOW_72_in_unary_expression1309
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18578 FOLLOW_unary_expression_in_unary_expression1311
= frozenset([1])
18579 FOLLOW_73_in_unary_expression1316
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18580 FOLLOW_unary_expression_in_unary_expression1318
= frozenset([1])
18581 FOLLOW_unary_operator_in_unary_expression1323
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18582 FOLLOW_cast_expression_in_unary_expression1325
= frozenset([1])
18583 FOLLOW_74_in_unary_expression1330
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18584 FOLLOW_unary_expression_in_unary_expression1332
= frozenset([1])
18585 FOLLOW_74_in_unary_expression1337
= frozenset([62])
18586 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])
18587 FOLLOW_type_name_in_unary_expression1341
= frozenset([63])
18588 FOLLOW_63_in_unary_expression1343
= frozenset([1])
18589 FOLLOW_primary_expression_in_postfix_expression1367
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18590 FOLLOW_64_in_postfix_expression1383
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18591 FOLLOW_expression_in_postfix_expression1385
= frozenset([65])
18592 FOLLOW_65_in_postfix_expression1387
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18593 FOLLOW_62_in_postfix_expression1401
= frozenset([63])
18594 FOLLOW_63_in_postfix_expression1405
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18595 FOLLOW_62_in_postfix_expression1420
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18596 FOLLOW_argument_expression_list_in_postfix_expression1424
= frozenset([63])
18597 FOLLOW_63_in_postfix_expression1428
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18598 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])
18599 FOLLOW_macro_parameter_list_in_postfix_expression1446
= frozenset([63])
18600 FOLLOW_63_in_postfix_expression1448
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18601 FOLLOW_75_in_postfix_expression1462
= frozenset([4])
18602 FOLLOW_IDENTIFIER_in_postfix_expression1466
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18603 FOLLOW_66_in_postfix_expression1482
= frozenset([4])
18604 FOLLOW_IDENTIFIER_in_postfix_expression1486
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18605 FOLLOW_76_in_postfix_expression1502
= frozenset([4])
18606 FOLLOW_IDENTIFIER_in_postfix_expression1506
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18607 FOLLOW_72_in_postfix_expression1522
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18608 FOLLOW_73_in_postfix_expression1536
= frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18609 FOLLOW_parameter_declaration_in_macro_parameter_list1559
= frozenset([1, 27])
18610 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])
18611 FOLLOW_parameter_declaration_in_macro_parameter_list1564
= frozenset([1, 27])
18612 FOLLOW_set_in_unary_operator0
= frozenset([1])
18613 FOLLOW_IDENTIFIER_in_primary_expression1613
= frozenset([1])
18614 FOLLOW_constant_in_primary_expression1618
= frozenset([1])
18615 FOLLOW_62_in_primary_expression1623
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18616 FOLLOW_expression_in_primary_expression1625
= frozenset([63])
18617 FOLLOW_63_in_primary_expression1627
= frozenset([1])
18618 FOLLOW_HEX_LITERAL_in_constant1643
= frozenset([1])
18619 FOLLOW_OCTAL_LITERAL_in_constant1653
= frozenset([1])
18620 FOLLOW_DECIMAL_LITERAL_in_constant1663
= frozenset([1])
18621 FOLLOW_CHARACTER_LITERAL_in_constant1671
= frozenset([1])
18622 FOLLOW_IDENTIFIER_in_constant1680
= frozenset([4, 9])
18623 FOLLOW_STRING_LITERAL_in_constant1683
= frozenset([1, 4, 9])
18624 FOLLOW_IDENTIFIER_in_constant1688
= frozenset([1, 4])
18625 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699
= frozenset([1])
18626 FOLLOW_assignment_expression_in_expression1715
= frozenset([1, 27])
18627 FOLLOW_27_in_expression1718
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18628 FOLLOW_assignment_expression_in_expression1720
= frozenset([1, 27])
18629 FOLLOW_conditional_expression_in_constant_expression1733
= frozenset([1])
18630 FOLLOW_lvalue_in_assignment_expression1744
= frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18631 FOLLOW_assignment_operator_in_assignment_expression1746
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18632 FOLLOW_assignment_expression_in_assignment_expression1748
= frozenset([1])
18633 FOLLOW_conditional_expression_in_assignment_expression1753
= frozenset([1])
18634 FOLLOW_unary_expression_in_lvalue1765
= frozenset([1])
18635 FOLLOW_set_in_assignment_operator0
= frozenset([1])
18636 FOLLOW_logical_or_expression_in_conditional_expression1839
= frozenset([1, 90])
18637 FOLLOW_90_in_conditional_expression1842
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18638 FOLLOW_expression_in_conditional_expression1844
= frozenset([47])
18639 FOLLOW_47_in_conditional_expression1846
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18640 FOLLOW_conditional_expression_in_conditional_expression1848
= frozenset([1])
18641 FOLLOW_logical_and_expression_in_logical_or_expression1863
= frozenset([1, 91])
18642 FOLLOW_91_in_logical_or_expression1866
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18643 FOLLOW_logical_and_expression_in_logical_or_expression1868
= frozenset([1, 91])
18644 FOLLOW_inclusive_or_expression_in_logical_and_expression1881
= frozenset([1, 92])
18645 FOLLOW_92_in_logical_and_expression1884
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18646 FOLLOW_inclusive_or_expression_in_logical_and_expression1886
= frozenset([1, 92])
18647 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899
= frozenset([1, 93])
18648 FOLLOW_93_in_inclusive_or_expression1902
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18649 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904
= frozenset([1, 93])
18650 FOLLOW_and_expression_in_exclusive_or_expression1917
= frozenset([1, 94])
18651 FOLLOW_94_in_exclusive_or_expression1920
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18652 FOLLOW_and_expression_in_exclusive_or_expression1922
= frozenset([1, 94])
18653 FOLLOW_equality_expression_in_and_expression1935
= frozenset([1, 77])
18654 FOLLOW_77_in_and_expression1938
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18655 FOLLOW_equality_expression_in_and_expression1940
= frozenset([1, 77])
18656 FOLLOW_relational_expression_in_equality_expression1952
= frozenset([1, 95, 96])
18657 FOLLOW_set_in_equality_expression1955
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18658 FOLLOW_relational_expression_in_equality_expression1961
= frozenset([1, 95, 96])
18659 FOLLOW_shift_expression_in_relational_expression1975
= frozenset([1, 97, 98, 99, 100])
18660 FOLLOW_set_in_relational_expression1978
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18661 FOLLOW_shift_expression_in_relational_expression1988
= frozenset([1, 97, 98, 99, 100])
18662 FOLLOW_additive_expression_in_shift_expression2001
= frozenset([1, 101, 102])
18663 FOLLOW_set_in_shift_expression2004
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18664 FOLLOW_additive_expression_in_shift_expression2010
= frozenset([1, 101, 102])
18665 FOLLOW_labeled_statement_in_statement2025
= frozenset([1])
18666 FOLLOW_compound_statement_in_statement2030
= frozenset([1])
18667 FOLLOW_expression_statement_in_statement2035
= frozenset([1])
18668 FOLLOW_selection_statement_in_statement2040
= frozenset([1])
18669 FOLLOW_iteration_statement_in_statement2045
= frozenset([1])
18670 FOLLOW_jump_statement_in_statement2050
= frozenset([1])
18671 FOLLOW_macro_statement_in_statement2055
= frozenset([1])
18672 FOLLOW_asm2_statement_in_statement2060
= frozenset([1])
18673 FOLLOW_asm1_statement_in_statement2065
= frozenset([1])
18674 FOLLOW_asm_statement_in_statement2070
= frozenset([1])
18675 FOLLOW_declaration_in_statement2075
= frozenset([1])
18676 FOLLOW_103_in_asm2_statement2086
= frozenset([4])
18677 FOLLOW_IDENTIFIER_in_asm2_statement2089
= frozenset([62])
18678 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])
18679 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])
18680 FOLLOW_63_in_asm2_statement2101
= frozenset([25])
18681 FOLLOW_25_in_asm2_statement2103
= frozenset([1])
18682 FOLLOW_104_in_asm1_statement2115
= frozenset([43])
18683 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])
18684 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])
18685 FOLLOW_44_in_asm1_statement2127
= frozenset([1])
18686 FOLLOW_105_in_asm_statement2138
= frozenset([43])
18687 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])
18688 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])
18689 FOLLOW_44_in_asm_statement2150
= frozenset([1])
18690 FOLLOW_IDENTIFIER_in_macro_statement2162
= frozenset([62])
18691 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])
18692 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])
18693 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])
18694 FOLLOW_expression_in_macro_statement2173
= frozenset([63])
18695 FOLLOW_63_in_macro_statement2176
= frozenset([1])
18696 FOLLOW_IDENTIFIER_in_labeled_statement2188
= frozenset([47])
18697 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])
18698 FOLLOW_statement_in_labeled_statement2192
= frozenset([1])
18699 FOLLOW_106_in_labeled_statement2197
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18700 FOLLOW_constant_expression_in_labeled_statement2199
= frozenset([47])
18701 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])
18702 FOLLOW_statement_in_labeled_statement2203
= frozenset([1])
18703 FOLLOW_107_in_labeled_statement2208
= frozenset([47])
18704 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])
18705 FOLLOW_statement_in_labeled_statement2212
= frozenset([1])
18706 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])
18707 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])
18708 FOLLOW_statement_list_in_compound_statement2228
= frozenset([44])
18709 FOLLOW_44_in_compound_statement2231
= frozenset([1])
18710 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])
18711 FOLLOW_25_in_expression_statement2254
= frozenset([1])
18712 FOLLOW_expression_in_expression_statement2259
= frozenset([25])
18713 FOLLOW_25_in_expression_statement2261
= frozenset([1])
18714 FOLLOW_108_in_selection_statement2272
= frozenset([62])
18715 FOLLOW_62_in_selection_statement2274
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18716 FOLLOW_expression_in_selection_statement2278
= frozenset([63])
18717 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])
18718 FOLLOW_statement_in_selection_statement2284
= frozenset([1, 109])
18719 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])
18720 FOLLOW_statement_in_selection_statement2301
= frozenset([1])
18721 FOLLOW_110_in_selection_statement2308
= frozenset([62])
18722 FOLLOW_62_in_selection_statement2310
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18723 FOLLOW_expression_in_selection_statement2312
= frozenset([63])
18724 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])
18725 FOLLOW_statement_in_selection_statement2316
= frozenset([1])
18726 FOLLOW_111_in_iteration_statement2327
= frozenset([62])
18727 FOLLOW_62_in_iteration_statement2329
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18728 FOLLOW_expression_in_iteration_statement2333
= frozenset([63])
18729 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])
18730 FOLLOW_statement_in_iteration_statement2337
= frozenset([1])
18731 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])
18732 FOLLOW_statement_in_iteration_statement2346
= frozenset([111])
18733 FOLLOW_111_in_iteration_statement2348
= frozenset([62])
18734 FOLLOW_62_in_iteration_statement2350
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18735 FOLLOW_expression_in_iteration_statement2354
= frozenset([63])
18736 FOLLOW_63_in_iteration_statement2356
= frozenset([25])
18737 FOLLOW_25_in_iteration_statement2358
= frozenset([1])
18738 FOLLOW_113_in_iteration_statement2365
= frozenset([62])
18739 FOLLOW_62_in_iteration_statement2367
= frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18740 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])
18741 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])
18742 FOLLOW_expression_in_iteration_statement2375
= frozenset([63])
18743 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])
18744 FOLLOW_statement_in_iteration_statement2380
= frozenset([1])
18745 FOLLOW_114_in_jump_statement2393
= frozenset([4])
18746 FOLLOW_IDENTIFIER_in_jump_statement2395
= frozenset([25])
18747 FOLLOW_25_in_jump_statement2397
= frozenset([1])
18748 FOLLOW_115_in_jump_statement2402
= frozenset([25])
18749 FOLLOW_25_in_jump_statement2404
= frozenset([1])
18750 FOLLOW_116_in_jump_statement2409
= frozenset([25])
18751 FOLLOW_25_in_jump_statement2411
= frozenset([1])
18752 FOLLOW_117_in_jump_statement2416
= frozenset([25])
18753 FOLLOW_25_in_jump_statement2418
= frozenset([1])
18754 FOLLOW_117_in_jump_statement2423
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18755 FOLLOW_expression_in_jump_statement2425
= frozenset([25])
18756 FOLLOW_25_in_jump_statement2427
= frozenset([1])
18757 FOLLOW_declaration_specifiers_in_synpred2100
= frozenset([1])
18758 FOLLOW_declaration_specifiers_in_synpred4100
= frozenset([4, 58, 59, 60, 62, 66])
18759 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])
18760 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])
18761 FOLLOW_43_in_synpred4108
= frozenset([1])
18762 FOLLOW_declaration_in_synpred5118
= frozenset([1])
18763 FOLLOW_declaration_specifiers_in_synpred7157
= frozenset([1])
18764 FOLLOW_declaration_specifiers_in_synpred10207
= frozenset([1])
18765 FOLLOW_type_specifier_in_synpred14272
= frozenset([1])
18766 FOLLOW_type_qualifier_in_synpred15286
= frozenset([1])
18767 FOLLOW_type_qualifier_in_synpred33444
= frozenset([1])
18768 FOLLOW_IDENTIFIER_in_synpred34442
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18769 FOLLOW_type_qualifier_in_synpred34444
= frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18770 FOLLOW_declarator_in_synpred34447
= frozenset([1])
18771 FOLLOW_type_qualifier_in_synpred39566
= frozenset([1])
18772 FOLLOW_type_specifier_in_synpred40570
= frozenset([1])
18773 FOLLOW_pointer_in_synpred66784
= frozenset([4, 58, 59, 60, 62])
18774 FOLLOW_58_in_synpred66788
= frozenset([4, 59, 60, 62])
18775 FOLLOW_59_in_synpred66793
= frozenset([4, 60, 62])
18776 FOLLOW_60_in_synpred66798
= frozenset([4, 62])
18777 FOLLOW_direct_declarator_in_synpred66802
= frozenset([1])
18778 FOLLOW_declarator_suffix_in_synpred67821
= frozenset([1])
18779 FOLLOW_58_in_synpred69830
= frozenset([1])
18780 FOLLOW_declarator_suffix_in_synpred70838
= frozenset([1])
18781 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])
18782 FOLLOW_parameter_type_list_in_synpred73880
= frozenset([63])
18783 FOLLOW_63_in_synpred73882
= frozenset([1])
18784 FOLLOW_62_in_synpred74892
= frozenset([4])
18785 FOLLOW_identifier_list_in_synpred74894
= frozenset([63])
18786 FOLLOW_63_in_synpred74896
= frozenset([1])
18787 FOLLOW_type_qualifier_in_synpred75921
= frozenset([1])
18788 FOLLOW_pointer_in_synpred76924
= frozenset([1])
18789 FOLLOW_66_in_synpred77919
= frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18790 FOLLOW_type_qualifier_in_synpred77921
= frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18791 FOLLOW_pointer_in_synpred77924
= frozenset([1])
18792 FOLLOW_66_in_synpred78930
= frozenset([66])
18793 FOLLOW_pointer_in_synpred78932
= frozenset([1])
18794 FOLLOW_53_in_synpred81977
= frozenset([1])
18795 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])
18796 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])
18797 FOLLOW_parameter_declaration_in_synpred82981
= frozenset([1])
18798 FOLLOW_declarator_in_synpred83997
= frozenset([1])
18799 FOLLOW_abstract_declarator_in_synpred84999
= frozenset([1])
18800 FOLLOW_declaration_specifiers_in_synpred86994
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18801 FOLLOW_declarator_in_synpred86997
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18802 FOLLOW_abstract_declarator_in_synpred86999
= frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18803 FOLLOW_53_in_synpred861004
= frozenset([1])
18804 FOLLOW_specifier_qualifier_list_in_synpred901046
= frozenset([1, 62, 64, 66])
18805 FOLLOW_abstract_declarator_in_synpred901048
= frozenset([1])
18806 FOLLOW_direct_abstract_declarator_in_synpred911067
= frozenset([1])
18807 FOLLOW_62_in_synpred931086
= frozenset([62, 64, 66])
18808 FOLLOW_abstract_declarator_in_synpred931088
= frozenset([63])
18809 FOLLOW_63_in_synpred931090
= frozenset([1])
18810 FOLLOW_abstract_declarator_suffix_in_synpred941098
= frozenset([1])
18811 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])
18812 FOLLOW_type_name_in_synpred1091284
= frozenset([63])
18813 FOLLOW_63_in_synpred1091286
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18814 FOLLOW_cast_expression_in_synpred1091288
= frozenset([1])
18815 FOLLOW_74_in_synpred1141330
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18816 FOLLOW_unary_expression_in_synpred1141332
= frozenset([1])
18817 FOLLOW_62_in_synpred1171420
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18818 FOLLOW_argument_expression_list_in_synpred1171424
= frozenset([63])
18819 FOLLOW_63_in_synpred1171428
= frozenset([1])
18820 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])
18821 FOLLOW_macro_parameter_list_in_synpred1181446
= frozenset([63])
18822 FOLLOW_63_in_synpred1181448
= frozenset([1])
18823 FOLLOW_66_in_synpred1201482
= frozenset([4])
18824 FOLLOW_IDENTIFIER_in_synpred1201486
= frozenset([1])
18825 FOLLOW_STRING_LITERAL_in_synpred1371683
= frozenset([1])
18826 FOLLOW_IDENTIFIER_in_synpred1381680
= frozenset([4, 9])
18827 FOLLOW_STRING_LITERAL_in_synpred1381683
= frozenset([1, 9])
18828 FOLLOW_lvalue_in_synpred1421744
= frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18829 FOLLOW_assignment_operator_in_synpred1421746
= frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18830 FOLLOW_assignment_expression_in_synpred1421748
= frozenset([1])
18831 FOLLOW_expression_statement_in_synpred1692035
= frozenset([1])
18832 FOLLOW_macro_statement_in_synpred1732055
= frozenset([1])
18833 FOLLOW_asm2_statement_in_synpred1742060
= frozenset([1])
18834 FOLLOW_declaration_in_synpred1812166
= frozenset([1])
18835 FOLLOW_statement_list_in_synpred1822170
= frozenset([1])
18836 FOLLOW_declaration_in_synpred1862225
= frozenset([1])
18837 FOLLOW_statement_in_synpred1882242
= frozenset([1])