]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Ecc/CParser3/CParser.py
BaseTools: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / BaseTools / Source / Python / Ecc / CParser3 / CParser.py
1 # $ANTLR 3.0.1 C.g 2010-02-23 09:58:53
2
3 from __future__ import print_function
4 from __future__ import absolute_import
5 from antlr3 import *
6 from antlr3.compat import set, frozenset
7
8 ## @file
9 # The file defines the parser for C source files.
10 #
11 # THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
12 # This file is generated by running:
13 # java org.antlr.Tool C.g
14 #
15 # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
16 #
17 # SPDX-License-Identifier: BSD-2-Clause-Patent
18 #
19 ##
20
21 from Ecc import CodeFragment
22 from Ecc import FileProfile
23
24
25
26 # for convenience in actions
27 HIDDEN = BaseRecognizer.HIDDEN
28
29 # token types
30 BS=20
31 LINE_COMMENT=23
32 FloatTypeSuffix=16
33 IntegerTypeSuffix=14
34 LETTER=11
35 OCTAL_LITERAL=6
36 CHARACTER_LITERAL=8
37 Exponent=15
38 EOF=-1
39 HexDigit=13
40 STRING_LITERAL=9
41 WS=19
42 FLOATING_POINT_LITERAL=10
43 IDENTIFIER=4
44 UnicodeEscape=18
45 LINE_COMMAND=24
46 UnicodeVocabulary=21
47 HEX_LITERAL=5
48 COMMENT=22
49 DECIMAL_LITERAL=7
50 EscapeSequence=12
51 OctalEscape=17
52
53 # token names
54 tokenNames = [
55 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
56 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
57 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
58 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
59 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
60 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
61 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
62 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
63 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
64 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
65 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
66 "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
67 "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
68 "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
69 "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
70 "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
71 "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
72 "'goto'", "'continue'", "'break'", "'return'"
73 ]
74
75
76 class function_definition_scope(object):
77 def __init__(self):
78 self.ModifierText = None
79 self.DeclText = None
80 self.LBLine = None
81 self.LBOffset = None
82 self.DeclLine = None
83 self.DeclOffset = None
84 class postfix_expression_scope(object):
85 def __init__(self):
86 self.FuncCallText = None
87
88
89 class CParser(Parser):
90 grammarFileName = "C.g"
91 tokenNames = tokenNames
92
93 def __init__(self, input):
94 Parser.__init__(self, input)
95 self.ruleMemo = {}
96
97 self.function_definition_stack = []
98 self.postfix_expression_stack = []
99
100 def printTokenInfo(self, line, offset, tokenText):
101 print(str(line)+ ',' + str(offset) + ':' + str(tokenText))
102
103 def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text):
104 PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset))
105 FileProfile.PredicateExpressionList.append(PredExp)
106
107 def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
108 EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
109 FileProfile.EnumerationDefinitionList.append(EnumDef)
110
111 def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
112 SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
113 FileProfile.StructUnionDefinitionList.append(SUDef)
114
115 def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText):
116 Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset))
117 FileProfile.TypedefDefinitionList.append(Tdef)
118
119 def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset):
120 FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset))
121 FileProfile.FunctionDefinitionList.append(FuncDef)
122
123 def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText):
124 VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset))
125 FileProfile.VariableDeclarationList.append(VarDecl)
126
127 def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList):
128 FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))
129 FileProfile.FunctionCallingList.append(FuncCall)
130
131
132
133
134 # $ANTLR start translation_unit
135 # C.g:102:1: translation_unit : ( external_declaration )* ;
136 def translation_unit(self, ):
137
138 translation_unit_StartIndex = self.input.index()
139 try:
140 try:
141 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1):
142 return
143
144 # C.g:103:2: ( ( external_declaration )* )
145 # C.g:103:4: ( external_declaration )*
146 # C.g:103:4: ( external_declaration )*
147 while True: #loop1
148 alt1 = 2
149 LA1_0 = self.input.LA(1)
150
151 if (LA1_0 == IDENTIFIER or LA1_0 == 26 or (29 <= LA1_0 <= 42) or (45 <= LA1_0 <= 46) or (48 <= LA1_0 <= 62) or LA1_0 == 66) :
152 alt1 = 1
153
154
155 if alt1 == 1:
156 # C.g:0:0: external_declaration
157 self.following.append(self.FOLLOW_external_declaration_in_translation_unit74)
158 self.external_declaration()
159 self.following.pop()
160 if self.failed:
161 return
162
163
164 else:
165 break #loop1
166
167
168
169
170
171
172 except RecognitionException as re:
173 self.reportError(re)
174 self.recover(self.input, re)
175 finally:
176 if self.backtracking > 0:
177 self.memoize(self.input, 1, translation_unit_StartIndex)
178
179 pass
180
181 return
182
183 # $ANTLR end translation_unit
184
185
186 # $ANTLR start external_declaration
187 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
188 def external_declaration(self, ):
189
190 external_declaration_StartIndex = self.input.index()
191 try:
192 try:
193 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
194 return
195
196 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
197 alt3 = 3
198 LA3_0 = self.input.LA(1)
199
200 if ((29 <= LA3_0 <= 33)) :
201 LA3_1 = self.input.LA(2)
202
203 if (self.synpred4()) :
204 alt3 = 1
205 elif (self.synpred5()) :
206 alt3 = 2
207 else:
208 if self.backtracking > 0:
209 self.failed = True
210 return
211
212 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
213
214 raise nvae
215
216 elif (LA3_0 == 34) :
217 LA3_2 = self.input.LA(2)
218
219 if (self.synpred4()) :
220 alt3 = 1
221 elif (self.synpred5()) :
222 alt3 = 2
223 else:
224 if self.backtracking > 0:
225 self.failed = True
226 return
227
228 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
229
230 raise nvae
231
232 elif (LA3_0 == 35) :
233 LA3_3 = self.input.LA(2)
234
235 if (self.synpred4()) :
236 alt3 = 1
237 elif (self.synpred5()) :
238 alt3 = 2
239 else:
240 if self.backtracking > 0:
241 self.failed = True
242 return
243
244 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
245
246 raise nvae
247
248 elif (LA3_0 == 36) :
249 LA3_4 = self.input.LA(2)
250
251 if (self.synpred4()) :
252 alt3 = 1
253 elif (self.synpred5()) :
254 alt3 = 2
255 else:
256 if self.backtracking > 0:
257 self.failed = True
258 return
259
260 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
261
262 raise nvae
263
264 elif (LA3_0 == 37) :
265 LA3_5 = self.input.LA(2)
266
267 if (self.synpred4()) :
268 alt3 = 1
269 elif (self.synpred5()) :
270 alt3 = 2
271 else:
272 if self.backtracking > 0:
273 self.failed = True
274 return
275
276 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
277
278 raise nvae
279
280 elif (LA3_0 == 38) :
281 LA3_6 = self.input.LA(2)
282
283 if (self.synpred4()) :
284 alt3 = 1
285 elif (self.synpred5()) :
286 alt3 = 2
287 else:
288 if self.backtracking > 0:
289 self.failed = True
290 return
291
292 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
293
294 raise nvae
295
296 elif (LA3_0 == 39) :
297 LA3_7 = self.input.LA(2)
298
299 if (self.synpred4()) :
300 alt3 = 1
301 elif (self.synpred5()) :
302 alt3 = 2
303 else:
304 if self.backtracking > 0:
305 self.failed = True
306 return
307
308 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
309
310 raise nvae
311
312 elif (LA3_0 == 40) :
313 LA3_8 = self.input.LA(2)
314
315 if (self.synpred4()) :
316 alt3 = 1
317 elif (self.synpred5()) :
318 alt3 = 2
319 else:
320 if self.backtracking > 0:
321 self.failed = True
322 return
323
324 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
325
326 raise nvae
327
328 elif (LA3_0 == 41) :
329 LA3_9 = self.input.LA(2)
330
331 if (self.synpred4()) :
332 alt3 = 1
333 elif (self.synpred5()) :
334 alt3 = 2
335 else:
336 if self.backtracking > 0:
337 self.failed = True
338 return
339
340 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
341
342 raise nvae
343
344 elif (LA3_0 == 42) :
345 LA3_10 = self.input.LA(2)
346
347 if (self.synpred4()) :
348 alt3 = 1
349 elif (self.synpred5()) :
350 alt3 = 2
351 else:
352 if self.backtracking > 0:
353 self.failed = True
354 return
355
356 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
357
358 raise nvae
359
360 elif ((45 <= LA3_0 <= 46)) :
361 LA3_11 = self.input.LA(2)
362
363 if (self.synpred4()) :
364 alt3 = 1
365 elif (self.synpred5()) :
366 alt3 = 2
367 else:
368 if self.backtracking > 0:
369 self.failed = True
370 return
371
372 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
373
374 raise nvae
375
376 elif (LA3_0 == 48) :
377 LA3_12 = self.input.LA(2)
378
379 if (self.synpred4()) :
380 alt3 = 1
381 elif (self.synpred5()) :
382 alt3 = 2
383 else:
384 if self.backtracking > 0:
385 self.failed = True
386 return
387
388 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
389
390 raise nvae
391
392 elif (LA3_0 == IDENTIFIER) :
393 LA3_13 = self.input.LA(2)
394
395 if (self.synpred4()) :
396 alt3 = 1
397 elif (self.synpred5()) :
398 alt3 = 2
399 elif (True) :
400 alt3 = 3
401 else:
402 if self.backtracking > 0:
403 self.failed = True
404 return
405
406 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
407
408 raise nvae
409
410 elif (LA3_0 == 58) :
411 LA3_14 = self.input.LA(2)
412
413 if (self.synpred4()) :
414 alt3 = 1
415 elif (self.synpred5()) :
416 alt3 = 2
417 else:
418 if self.backtracking > 0:
419 self.failed = True
420 return
421
422 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
423
424 raise nvae
425
426 elif (LA3_0 == 66) and (self.synpred4()):
427 alt3 = 1
428 elif (LA3_0 == 59) :
429 LA3_16 = self.input.LA(2)
430
431 if (self.synpred4()) :
432 alt3 = 1
433 elif (self.synpred5()) :
434 alt3 = 2
435 else:
436 if self.backtracking > 0:
437 self.failed = True
438 return
439
440 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
441
442 raise nvae
443
444 elif (LA3_0 == 60) :
445 LA3_17 = self.input.LA(2)
446
447 if (self.synpred4()) :
448 alt3 = 1
449 elif (self.synpred5()) :
450 alt3 = 2
451 else:
452 if self.backtracking > 0:
453 self.failed = True
454 return
455
456 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input)
457
458 raise nvae
459
460 elif ((49 <= LA3_0 <= 57) or LA3_0 == 61) :
461 LA3_18 = self.input.LA(2)
462
463 if (self.synpred4()) :
464 alt3 = 1
465 elif (self.synpred5()) :
466 alt3 = 2
467 else:
468 if self.backtracking > 0:
469 self.failed = True
470 return
471
472 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
473
474 raise nvae
475
476 elif (LA3_0 == 62) and (self.synpred4()):
477 alt3 = 1
478 elif (LA3_0 == 26) :
479 alt3 = 2
480 else:
481 if self.backtracking > 0:
482 self.failed = True
483 return
484
485 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input)
486
487 raise nvae
488
489 if alt3 == 1:
490 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
491 self.following.append(self.FOLLOW_function_definition_in_external_declaration113)
492 self.function_definition()
493 self.following.pop()
494 if self.failed:
495 return
496
497
498 elif alt3 == 2:
499 # C.g:120:4: declaration
500 self.following.append(self.FOLLOW_declaration_in_external_declaration118)
501 self.declaration()
502 self.following.pop()
503 if self.failed:
504 return
505
506
507 elif alt3 == 3:
508 # C.g:121:4: macro_statement ( ';' )?
509 self.following.append(self.FOLLOW_macro_statement_in_external_declaration123)
510 self.macro_statement()
511 self.following.pop()
512 if self.failed:
513 return
514 # C.g:121:20: ( ';' )?
515 alt2 = 2
516 LA2_0 = self.input.LA(1)
517
518 if (LA2_0 == 25) :
519 alt2 = 1
520 if alt2 == 1:
521 # C.g:121:21: ';'
522 self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126)
523 if self.failed:
524 return
525
526
527
528
529
530
531 except RecognitionException as re:
532 self.reportError(re)
533 self.recover(self.input, re)
534 finally:
535 if self.backtracking > 0:
536 self.memoize(self.input, 2, external_declaration_StartIndex)
537
538 pass
539
540 return
541
542 # $ANTLR end external_declaration
543
544 class function_definition_return(object):
545 def __init__(self):
546 self.start = None
547 self.stop = None
548
549
550
551 # $ANTLR start function_definition
552 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
553 def function_definition(self, ):
554 self.function_definition_stack.append(function_definition_scope())
555 retval = self.function_definition_return()
556 retval.start = self.input.LT(1)
557 function_definition_StartIndex = self.input.index()
558 d = None
559
560 a = None
561
562 b = None
563
564 declarator1 = None
565
566
567
568 self.function_definition_stack[-1].ModifierText = ''
569 self.function_definition_stack[-1].DeclText = ''
570 self.function_definition_stack[-1].LBLine = 0
571 self.function_definition_stack[-1].LBOffset = 0
572 self.function_definition_stack[-1].DeclLine = 0
573 self.function_definition_stack[-1].DeclOffset = 0
574
575 try:
576 try:
577 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3):
578 return retval
579
580 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
581 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
582 # C.g:146:5: (d= declaration_specifiers )?
583 alt4 = 2
584 LA4 = self.input.LA(1)
585 if LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33 or LA4 == 34 or LA4 == 35 or LA4 == 36 or LA4 == 37 or LA4 == 38 or LA4 == 39 or LA4 == 40 or LA4 == 41 or LA4 == 42 or LA4 == 45 or LA4 == 46 or LA4 == 48 or LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61:
586 alt4 = 1
587 elif LA4 == IDENTIFIER:
588 LA4 = self.input.LA(2)
589 if LA4 == 66:
590 alt4 = 1
591 elif LA4 == 58:
592 LA4_21 = self.input.LA(3)
593
594 if (self.synpred7()) :
595 alt4 = 1
596 elif LA4 == 59:
597 LA4_22 = self.input.LA(3)
598
599 if (self.synpred7()) :
600 alt4 = 1
601 elif LA4 == 60:
602 LA4_23 = self.input.LA(3)
603
604 if (self.synpred7()) :
605 alt4 = 1
606 elif LA4 == IDENTIFIER:
607 LA4_24 = self.input.LA(3)
608
609 if (self.synpred7()) :
610 alt4 = 1
611 elif LA4 == 62:
612 LA4_25 = self.input.LA(3)
613
614 if (self.synpred7()) :
615 alt4 = 1
616 elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33:
617 LA4_26 = self.input.LA(3)
618
619 if (self.synpred7()) :
620 alt4 = 1
621 elif LA4 == 34:
622 LA4_27 = self.input.LA(3)
623
624 if (self.synpred7()) :
625 alt4 = 1
626 elif LA4 == 35:
627 LA4_28 = self.input.LA(3)
628
629 if (self.synpred7()) :
630 alt4 = 1
631 elif LA4 == 36:
632 LA4_29 = self.input.LA(3)
633
634 if (self.synpred7()) :
635 alt4 = 1
636 elif LA4 == 37:
637 LA4_30 = self.input.LA(3)
638
639 if (self.synpred7()) :
640 alt4 = 1
641 elif LA4 == 38:
642 LA4_31 = self.input.LA(3)
643
644 if (self.synpred7()) :
645 alt4 = 1
646 elif LA4 == 39:
647 LA4_32 = self.input.LA(3)
648
649 if (self.synpred7()) :
650 alt4 = 1
651 elif LA4 == 40:
652 LA4_33 = self.input.LA(3)
653
654 if (self.synpred7()) :
655 alt4 = 1
656 elif LA4 == 41:
657 LA4_34 = self.input.LA(3)
658
659 if (self.synpred7()) :
660 alt4 = 1
661 elif LA4 == 42:
662 LA4_35 = self.input.LA(3)
663
664 if (self.synpred7()) :
665 alt4 = 1
666 elif LA4 == 45 or LA4 == 46:
667 LA4_36 = self.input.LA(3)
668
669 if (self.synpred7()) :
670 alt4 = 1
671 elif LA4 == 48:
672 LA4_37 = self.input.LA(3)
673
674 if (self.synpred7()) :
675 alt4 = 1
676 elif LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61:
677 LA4_38 = self.input.LA(3)
678
679 if (self.synpred7()) :
680 alt4 = 1
681 elif LA4 == 58:
682 LA4_14 = self.input.LA(2)
683
684 if (self.synpred7()) :
685 alt4 = 1
686 elif LA4 == 59:
687 LA4_16 = self.input.LA(2)
688
689 if (self.synpred7()) :
690 alt4 = 1
691 elif LA4 == 60:
692 LA4_17 = self.input.LA(2)
693
694 if (self.synpred7()) :
695 alt4 = 1
696 if alt4 == 1:
697 # C.g:0:0: d= declaration_specifiers
698 self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition157)
699 d = self.declaration_specifiers()
700 self.following.pop()
701 if self.failed:
702 return retval
703
704
705
706 self.following.append(self.FOLLOW_declarator_in_function_definition160)
707 declarator1 = self.declarator()
708 self.following.pop()
709 if self.failed:
710 return retval
711 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
712 alt6 = 2
713 LA6_0 = self.input.LA(1)
714
715 if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 61)) :
716 alt6 = 1
717 elif (LA6_0 == 43) :
718 alt6 = 2
719 else:
720 if self.backtracking > 0:
721 self.failed = True
722 return retval
723
724 nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
725
726 raise nvae
727
728 if alt6 == 1:
729 # C.g:147:5: ( declaration )+ a= compound_statement
730 # C.g:147:5: ( declaration )+
731 cnt5 = 0
732 while True: #loop5
733 alt5 = 2
734 LA5_0 = self.input.LA(1)
735
736 if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 61)) :
737 alt5 = 1
738
739
740 if alt5 == 1:
741 # C.g:0:0: declaration
742 self.following.append(self.FOLLOW_declaration_in_function_definition166)
743 self.declaration()
744 self.following.pop()
745 if self.failed:
746 return retval
747
748
749 else:
750 if cnt5 >= 1:
751 break #loop5
752
753 if self.backtracking > 0:
754 self.failed = True
755 return retval
756
757 eee = EarlyExitException(5, self.input)
758 raise eee
759
760 cnt5 += 1
761
762
763 self.following.append(self.FOLLOW_compound_statement_in_function_definition171)
764 a = self.compound_statement()
765 self.following.pop()
766 if self.failed:
767 return retval
768
769
770 elif alt6 == 2:
771 # C.g:148:5: b= compound_statement
772 self.following.append(self.FOLLOW_compound_statement_in_function_definition180)
773 b = self.compound_statement()
774 self.following.pop()
775 if self.failed:
776 return retval
777
778
779
780 if self.backtracking == 0:
781
782 if d is not None:
783 self.function_definition_stack[-1].ModifierText = self.input.toString(d.start, d.stop)
784 else:
785 self.function_definition_stack[-1].ModifierText = ''
786 self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start, declarator1.stop)
787 self.function_definition_stack[-1].DeclLine = declarator1.start.line
788 self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine
789 if a is not None:
790 self.function_definition_stack[-1].LBLine = a.start.line
791 self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine
792 else:
793 self.function_definition_stack[-1].LBLine = b.start.line
794 self.function_definition_stack[-1].LBOffset = b.start.charPositionInLine
795
796
797
798
799
800 retval.stop = self.input.LT(-1)
801
802 if self.backtracking == 0:
803
804 self.StoreFunctionDefinition(retval.start.line, retval.start.charPositionInLine, retval.stop.line, retval.stop.charPositionInLine, self.function_definition_stack[-1].ModifierText, self.function_definition_stack[-1].DeclText, self.function_definition_stack[-1].LBLine, self.function_definition_stack[-1].LBOffset, self.function_definition_stack[-1].DeclLine, self.function_definition_stack[-1].DeclOffset)
805
806
807
808 except RecognitionException as re:
809 self.reportError(re)
810 self.recover(self.input, re)
811 finally:
812 if self.backtracking > 0:
813 self.memoize(self.input, 3, function_definition_StartIndex)
814
815 self.function_definition_stack.pop()
816 pass
817
818 return retval
819
820 # $ANTLR end function_definition
821
822
823 # $ANTLR start declaration
824 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
825 def declaration(self, ):
826
827 declaration_StartIndex = self.input.index()
828 a = None
829 d = None
830 e = None
831 b = None
832
833 c = None
834
835 s = None
836
837 t = None
838
839
840 try:
841 try:
842 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
843 return
844
845 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
846 alt9 = 2
847 LA9_0 = self.input.LA(1)
848
849 if (LA9_0 == 26) :
850 alt9 = 1
851 elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 61)) :
852 alt9 = 2
853 else:
854 if self.backtracking > 0:
855 self.failed = True
856 return
857
858 nvae = NoViableAltException("166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input)
859
860 raise nvae
861
862 if alt9 == 1:
863 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
864 a = self.input.LT(1)
865 self.match(self.input, 26, self.FOLLOW_26_in_declaration203)
866 if self.failed:
867 return
868 # C.g:167:17: (b= declaration_specifiers )?
869 alt7 = 2
870 LA7 = self.input.LA(1)
871 if LA7 == 29 or LA7 == 30 or LA7 == 31 or LA7 == 32 or LA7 == 33 or LA7 == 34 or LA7 == 35 or LA7 == 36 or LA7 == 37 or LA7 == 38 or LA7 == 39 or LA7 == 40 or LA7 == 41 or LA7 == 42 or LA7 == 45 or LA7 == 46 or LA7 == 48 or LA7 == 49 or LA7 == 50 or LA7 == 51 or LA7 == 52 or LA7 == 53 or LA7 == 54 or LA7 == 55 or LA7 == 56 or LA7 == 57 or LA7 == 61:
872 alt7 = 1
873 elif LA7 == IDENTIFIER:
874 LA7_13 = self.input.LA(2)
875
876 if (LA7_13 == 62) :
877 LA7_21 = self.input.LA(3)
878
879 if (self.synpred10()) :
880 alt7 = 1
881 elif (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 61) or LA7_13 == 66) :
882 alt7 = 1
883 elif LA7 == 58:
884 LA7_14 = self.input.LA(2)
885
886 if (self.synpred10()) :
887 alt7 = 1
888 elif LA7 == 59:
889 LA7_16 = self.input.LA(2)
890
891 if (self.synpred10()) :
892 alt7 = 1
893 elif LA7 == 60:
894 LA7_17 = self.input.LA(2)
895
896 if (self.synpred10()) :
897 alt7 = 1
898 if alt7 == 1:
899 # C.g:0:0: b= declaration_specifiers
900 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207)
901 b = self.declaration_specifiers()
902 self.following.pop()
903 if self.failed:
904 return
905
906
907
908 self.following.append(self.FOLLOW_init_declarator_list_in_declaration216)
909 c = self.init_declarator_list()
910 self.following.pop()
911 if self.failed:
912 return
913 d = self.input.LT(1)
914 self.match(self.input, 25, self.FOLLOW_25_in_declaration220)
915 if self.failed:
916 return
917 if self.backtracking == 0:
918
919 if b is not None:
920 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start, b.stop), self.input.toString(c.start, c.stop))
921 else:
922 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start, c.stop))
923
924
925
926
927 elif alt9 == 2:
928 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
929 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration234)
930 s = self.declaration_specifiers()
931 self.following.pop()
932 if self.failed:
933 return
934 # C.g:175:30: (t= init_declarator_list )?
935 alt8 = 2
936 LA8_0 = self.input.LA(1)
937
938 if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 60) or LA8_0 == 62 or LA8_0 == 66) :
939 alt8 = 1
940 if alt8 == 1:
941 # C.g:0:0: t= init_declarator_list
942 self.following.append(self.FOLLOW_init_declarator_list_in_declaration238)
943 t = self.init_declarator_list()
944 self.following.pop()
945 if self.failed:
946 return
947
948
949
950 e = self.input.LT(1)
951 self.match(self.input, 25, self.FOLLOW_25_in_declaration243)
952 if self.failed:
953 return
954 if self.backtracking == 0:
955
956 if t is not None:
957 self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start, s.stop), self.input.toString(t.start, t.stop))
958
959
960
961
962
963 except RecognitionException as re:
964 self.reportError(re)
965 self.recover(self.input, re)
966 finally:
967 if self.backtracking > 0:
968 self.memoize(self.input, 4, declaration_StartIndex)
969
970 pass
971
972 return
973
974 # $ANTLR end declaration
975
976 class declaration_specifiers_return(object):
977 def __init__(self):
978 self.start = None
979 self.stop = None
980
981
982
983 # $ANTLR start declaration_specifiers
984 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
985 def declaration_specifiers(self, ):
986
987 retval = self.declaration_specifiers_return()
988 retval.start = self.input.LT(1)
989 declaration_specifiers_StartIndex = self.input.index()
990 try:
991 try:
992 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
993 return retval
994
995 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
996 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
997 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
998 cnt10 = 0
999 while True: #loop10
1000 alt10 = 4
1001 LA10 = self.input.LA(1)
1002 if LA10 == 58:
1003 LA10_2 = self.input.LA(2)
1004
1005 if (self.synpred15()) :
1006 alt10 = 3
1007
1008
1009 elif LA10 == 59:
1010 LA10_3 = self.input.LA(2)
1011
1012 if (self.synpred15()) :
1013 alt10 = 3
1014
1015
1016 elif LA10 == 60:
1017 LA10_4 = self.input.LA(2)
1018
1019 if (self.synpred15()) :
1020 alt10 = 3
1021
1022
1023 elif LA10 == IDENTIFIER:
1024 LA10_5 = self.input.LA(2)
1025
1026 if (self.synpred14()) :
1027 alt10 = 2
1028
1029
1030 elif LA10 == 53:
1031 LA10_9 = self.input.LA(2)
1032
1033 if (self.synpred15()) :
1034 alt10 = 3
1035
1036
1037 elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
1038 alt10 = 1
1039 elif LA10 == 34 or LA10 == 35 or LA10 == 36 or LA10 == 37 or LA10 == 38 or LA10 == 39 or LA10 == 40 or LA10 == 41 or LA10 == 42 or LA10 == 45 or LA10 == 46 or LA10 == 48:
1040 alt10 = 2
1041 elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57 or LA10 == 61:
1042 alt10 = 3
1043
1044 if alt10 == 1:
1045 # C.g:183:10: storage_class_specifier
1046 self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers264)
1047 self.storage_class_specifier()
1048 self.following.pop()
1049 if self.failed:
1050 return retval
1051
1052
1053 elif alt10 == 2:
1054 # C.g:184:7: type_specifier
1055 self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers272)
1056 self.type_specifier()
1057 self.following.pop()
1058 if self.failed:
1059 return retval
1060
1061
1062 elif alt10 == 3:
1063 # C.g:185:13: type_qualifier
1064 self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers286)
1065 self.type_qualifier()
1066 self.following.pop()
1067 if self.failed:
1068 return retval
1069
1070
1071 else:
1072 if cnt10 >= 1:
1073 break #loop10
1074
1075 if self.backtracking > 0:
1076 self.failed = True
1077 return retval
1078
1079 eee = EarlyExitException(10, self.input)
1080 raise eee
1081
1082 cnt10 += 1
1083
1084
1085
1086
1087
1088 retval.stop = self.input.LT(-1)
1089
1090
1091 except RecognitionException as re:
1092 self.reportError(re)
1093 self.recover(self.input, re)
1094 finally:
1095 if self.backtracking > 0:
1096 self.memoize(self.input, 5, declaration_specifiers_StartIndex)
1097
1098 pass
1099
1100 return retval
1101
1102 # $ANTLR end declaration_specifiers
1103
1104 class init_declarator_list_return(object):
1105 def __init__(self):
1106 self.start = None
1107 self.stop = None
1108
1109
1110
1111 # $ANTLR start init_declarator_list
1112 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1113 def init_declarator_list(self, ):
1114
1115 retval = self.init_declarator_list_return()
1116 retval.start = self.input.LT(1)
1117 init_declarator_list_StartIndex = self.input.index()
1118 try:
1119 try:
1120 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
1121 return retval
1122
1123 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1124 # C.g:190:4: init_declarator ( ',' init_declarator )*
1125 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list308)
1126 self.init_declarator()
1127 self.following.pop()
1128 if self.failed:
1129 return retval
1130 # C.g:190:20: ( ',' init_declarator )*
1131 while True: #loop11
1132 alt11 = 2
1133 LA11_0 = self.input.LA(1)
1134
1135 if (LA11_0 == 27) :
1136 alt11 = 1
1137
1138
1139 if alt11 == 1:
1140 # C.g:190:21: ',' init_declarator
1141 self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list311)
1142 if self.failed:
1143 return retval
1144 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list313)
1145 self.init_declarator()
1146 self.following.pop()
1147 if self.failed:
1148 return retval
1149
1150
1151 else:
1152 break #loop11
1153
1154
1155
1156
1157
1158 retval.stop = self.input.LT(-1)
1159
1160
1161 except RecognitionException as re:
1162 self.reportError(re)
1163 self.recover(self.input, re)
1164 finally:
1165 if self.backtracking > 0:
1166 self.memoize(self.input, 6, init_declarator_list_StartIndex)
1167
1168 pass
1169
1170 return retval
1171
1172 # $ANTLR end init_declarator_list
1173
1174
1175 # $ANTLR start init_declarator
1176 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1177 def init_declarator(self, ):
1178
1179 init_declarator_StartIndex = self.input.index()
1180 try:
1181 try:
1182 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
1183 return
1184
1185 # C.g:194:2: ( declarator ( '=' initializer )? )
1186 # C.g:194:4: declarator ( '=' initializer )?
1187 self.following.append(self.FOLLOW_declarator_in_init_declarator326)
1188 self.declarator()
1189 self.following.pop()
1190 if self.failed:
1191 return
1192 # C.g:194:15: ( '=' initializer )?
1193 alt12 = 2
1194 LA12_0 = self.input.LA(1)
1195
1196 if (LA12_0 == 28) :
1197 alt12 = 1
1198 if alt12 == 1:
1199 # C.g:194:16: '=' initializer
1200 self.match(self.input, 28, self.FOLLOW_28_in_init_declarator329)
1201 if self.failed:
1202 return
1203 self.following.append(self.FOLLOW_initializer_in_init_declarator331)
1204 self.initializer()
1205 self.following.pop()
1206 if self.failed:
1207 return
1208
1209
1210
1211
1212
1213
1214
1215 except RecognitionException as re:
1216 self.reportError(re)
1217 self.recover(self.input, re)
1218 finally:
1219 if self.backtracking > 0:
1220 self.memoize(self.input, 7, init_declarator_StartIndex)
1221
1222 pass
1223
1224 return
1225
1226 # $ANTLR end init_declarator
1227
1228
1229 # $ANTLR start storage_class_specifier
1230 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1231 def storage_class_specifier(self, ):
1232
1233 storage_class_specifier_StartIndex = self.input.index()
1234 try:
1235 try:
1236 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
1237 return
1238
1239 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1240 # C.g:
1241 if (29 <= self.input.LA(1) <= 33):
1242 self.input.consume();
1243 self.errorRecovery = False
1244 self.failed = False
1245
1246 else:
1247 if self.backtracking > 0:
1248 self.failed = True
1249 return
1250
1251 mse = MismatchedSetException(None, self.input)
1252 self.recoverFromMismatchedSet(
1253 self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
1254 )
1255 raise mse
1256
1257
1258
1259
1260
1261
1262 except RecognitionException as re:
1263 self.reportError(re)
1264 self.recover(self.input, re)
1265 finally:
1266 if self.backtracking > 0:
1267 self.memoize(self.input, 8, storage_class_specifier_StartIndex)
1268
1269 pass
1270
1271 return
1272
1273 # $ANTLR end storage_class_specifier
1274
1275
1276 # $ANTLR start type_specifier
1277 # C.g:205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );
1278 def type_specifier(self, ):
1279
1280 type_specifier_StartIndex = self.input.index()
1281 s = None
1282
1283 e = None
1284
1285
1286 try:
1287 try:
1288 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
1289 return
1290
1291 # C.g:206:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
1292 alt13 = 12
1293 LA13_0 = self.input.LA(1)
1294
1295 if (LA13_0 == 34) :
1296 alt13 = 1
1297 elif (LA13_0 == 35) :
1298 alt13 = 2
1299 elif (LA13_0 == 36) :
1300 alt13 = 3
1301 elif (LA13_0 == 37) :
1302 alt13 = 4
1303 elif (LA13_0 == 38) :
1304 alt13 = 5
1305 elif (LA13_0 == 39) :
1306 alt13 = 6
1307 elif (LA13_0 == 40) :
1308 alt13 = 7
1309 elif (LA13_0 == 41) :
1310 alt13 = 8
1311 elif (LA13_0 == 42) :
1312 alt13 = 9
1313 elif ((45 <= LA13_0 <= 46)) :
1314 alt13 = 10
1315 elif (LA13_0 == 48) :
1316 alt13 = 11
1317 elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
1318 alt13 = 12
1319 else:
1320 if self.backtracking > 0:
1321 self.failed = True
1322 return
1323
1324 nvae = NoViableAltException("205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self.input)
1325
1326 raise nvae
1327
1328 if alt13 == 1:
1329 # C.g:206:4: 'void'
1330 self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376)
1331 if self.failed:
1332 return
1333
1334
1335 elif alt13 == 2:
1336 # C.g:207:4: 'char'
1337 self.match(self.input, 35, self.FOLLOW_35_in_type_specifier381)
1338 if self.failed:
1339 return
1340
1341
1342 elif alt13 == 3:
1343 # C.g:208:4: 'short'
1344 self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386)
1345 if self.failed:
1346 return
1347
1348
1349 elif alt13 == 4:
1350 # C.g:209:4: 'int'
1351 self.match(self.input, 37, self.FOLLOW_37_in_type_specifier391)
1352 if self.failed:
1353 return
1354
1355
1356 elif alt13 == 5:
1357 # C.g:210:4: 'long'
1358 self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396)
1359 if self.failed:
1360 return
1361
1362
1363 elif alt13 == 6:
1364 # C.g:211:4: 'float'
1365 self.match(self.input, 39, self.FOLLOW_39_in_type_specifier401)
1366 if self.failed:
1367 return
1368
1369
1370 elif alt13 == 7:
1371 # C.g:212:4: 'double'
1372 self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406)
1373 if self.failed:
1374 return
1375
1376
1377 elif alt13 == 8:
1378 # C.g:213:4: 'signed'
1379 self.match(self.input, 41, self.FOLLOW_41_in_type_specifier411)
1380 if self.failed:
1381 return
1382
1383
1384 elif alt13 == 9:
1385 # C.g:214:4: 'unsigned'
1386 self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416)
1387 if self.failed:
1388 return
1389
1390
1391 elif alt13 == 10:
1392 # C.g:215:4: s= struct_or_union_specifier
1393 self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier423)
1394 s = self.struct_or_union_specifier()
1395 self.following.pop()
1396 if self.failed:
1397 return
1398 if self.backtracking == 0:
1399
1400 if s.stop is not None:
1401 self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start, s.stop))
1402
1403
1404
1405
1406 elif alt13 == 11:
1407 # C.g:220:4: e= enum_specifier
1408 self.following.append(self.FOLLOW_enum_specifier_in_type_specifier433)
1409 e = self.enum_specifier()
1410 self.following.pop()
1411 if self.failed:
1412 return
1413 if self.backtracking == 0:
1414
1415 if e.stop is not None:
1416 self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
1417
1418
1419
1420
1421 elif alt13 == 12:
1422 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1423 self.following.append(self.FOLLOW_type_id_in_type_specifier451)
1424 self.type_id()
1425 self.following.pop()
1426 if self.failed:
1427 return
1428
1429
1430
1431 except RecognitionException as re:
1432 self.reportError(re)
1433 self.recover(self.input, re)
1434 finally:
1435 if self.backtracking > 0:
1436 self.memoize(self.input, 9, type_specifier_StartIndex)
1437
1438 pass
1439
1440 return
1441
1442 # $ANTLR end type_specifier
1443
1444
1445 # $ANTLR start type_id
1446 # C.g:228:1: type_id : IDENTIFIER ;
1447 def type_id(self, ):
1448
1449 type_id_StartIndex = self.input.index()
1450 try:
1451 try:
1452 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
1453 return
1454
1455 # C.g:229:5: ( IDENTIFIER )
1456 # C.g:229:9: IDENTIFIER
1457 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id467)
1458 if self.failed:
1459 return
1460
1461
1462
1463
1464 except RecognitionException as re:
1465 self.reportError(re)
1466 self.recover(self.input, re)
1467 finally:
1468 if self.backtracking > 0:
1469 self.memoize(self.input, 10, type_id_StartIndex)
1470
1471 pass
1472
1473 return
1474
1475 # $ANTLR end type_id
1476
1477 class struct_or_union_specifier_return(object):
1478 def __init__(self):
1479 self.start = None
1480 self.stop = None
1481
1482
1483
1484 # $ANTLR start struct_or_union_specifier
1485 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1486 def struct_or_union_specifier(self, ):
1487
1488 retval = self.struct_or_union_specifier_return()
1489 retval.start = self.input.LT(1)
1490 struct_or_union_specifier_StartIndex = self.input.index()
1491 try:
1492 try:
1493 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
1494 return retval
1495
1496 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1497 alt15 = 2
1498 LA15_0 = self.input.LA(1)
1499
1500 if ((45 <= LA15_0 <= 46)) :
1501 LA15_1 = self.input.LA(2)
1502
1503 if (LA15_1 == IDENTIFIER) :
1504 LA15_2 = self.input.LA(3)
1505
1506 if (LA15_2 == 43) :
1507 alt15 = 1
1508 elif (LA15_2 == EOF or LA15_2 == IDENTIFIER or LA15_2 == 25 or LA15_2 == 27 or (29 <= LA15_2 <= 42) or (45 <= LA15_2 <= 64) or LA15_2 == 66) :
1509 alt15 = 2
1510 else:
1511 if self.backtracking > 0:
1512 self.failed = True
1513 return retval
1514
1515 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input)
1516
1517 raise nvae
1518
1519 elif (LA15_1 == 43) :
1520 alt15 = 1
1521 else:
1522 if self.backtracking > 0:
1523 self.failed = True
1524 return retval
1525
1526 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input)
1527
1528 raise nvae
1529
1530 else:
1531 if self.backtracking > 0:
1532 self.failed = True
1533 return retval
1534
1535 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input)
1536
1537 raise nvae
1538
1539 if alt15 == 1:
1540 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1541 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier494)
1542 self.struct_or_union()
1543 self.following.pop()
1544 if self.failed:
1545 return retval
1546 # C.g:235:20: ( IDENTIFIER )?
1547 alt14 = 2
1548 LA14_0 = self.input.LA(1)
1549
1550 if (LA14_0 == IDENTIFIER) :
1551 alt14 = 1
1552 if alt14 == 1:
1553 # C.g:0:0: IDENTIFIER
1554 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496)
1555 if self.failed:
1556 return retval
1557
1558
1559
1560 self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier499)
1561 if self.failed:
1562 return retval
1563 self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501)
1564 self.struct_declaration_list()
1565 self.following.pop()
1566 if self.failed:
1567 return retval
1568 self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier503)
1569 if self.failed:
1570 return retval
1571
1572
1573 elif alt15 == 2:
1574 # C.g:236:4: struct_or_union IDENTIFIER
1575 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier508)
1576 self.struct_or_union()
1577 self.following.pop()
1578 if self.failed:
1579 return retval
1580 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510)
1581 if self.failed:
1582 return retval
1583
1584
1585 retval.stop = self.input.LT(-1)
1586
1587
1588 except RecognitionException as re:
1589 self.reportError(re)
1590 self.recover(self.input, re)
1591 finally:
1592 if self.backtracking > 0:
1593 self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
1594
1595 pass
1596
1597 return retval
1598
1599 # $ANTLR end struct_or_union_specifier
1600
1601
1602 # $ANTLR start struct_or_union
1603 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1604 def struct_or_union(self, ):
1605
1606 struct_or_union_StartIndex = self.input.index()
1607 try:
1608 try:
1609 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
1610 return
1611
1612 # C.g:240:2: ( 'struct' | 'union' )
1613 # C.g:
1614 if (45 <= self.input.LA(1) <= 46):
1615 self.input.consume();
1616 self.errorRecovery = False
1617 self.failed = False
1618
1619 else:
1620 if self.backtracking > 0:
1621 self.failed = True
1622 return
1623
1624 mse = MismatchedSetException(None, self.input)
1625 self.recoverFromMismatchedSet(
1626 self.input, mse, self.FOLLOW_set_in_struct_or_union0
1627 )
1628 raise mse
1629
1630
1631
1632
1633
1634
1635 except RecognitionException as re:
1636 self.reportError(re)
1637 self.recover(self.input, re)
1638 finally:
1639 if self.backtracking > 0:
1640 self.memoize(self.input, 12, struct_or_union_StartIndex)
1641
1642 pass
1643
1644 return
1645
1646 # $ANTLR end struct_or_union
1647
1648
1649 # $ANTLR start struct_declaration_list
1650 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1651 def struct_declaration_list(self, ):
1652
1653 struct_declaration_list_StartIndex = self.input.index()
1654 try:
1655 try:
1656 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
1657 return
1658
1659 # C.g:245:2: ( ( struct_declaration )+ )
1660 # C.g:245:4: ( struct_declaration )+
1661 # C.g:245:4: ( struct_declaration )+
1662 cnt16 = 0
1663 while True: #loop16
1664 alt16 = 2
1665 LA16_0 = self.input.LA(1)
1666
1667 if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 61)) :
1668 alt16 = 1
1669
1670
1671 if alt16 == 1:
1672 # C.g:0:0: struct_declaration
1673 self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537)
1674 self.struct_declaration()
1675 self.following.pop()
1676 if self.failed:
1677 return
1678
1679
1680 else:
1681 if cnt16 >= 1:
1682 break #loop16
1683
1684 if self.backtracking > 0:
1685 self.failed = True
1686 return
1687
1688 eee = EarlyExitException(16, self.input)
1689 raise eee
1690
1691 cnt16 += 1
1692
1693
1694
1695
1696
1697
1698 except RecognitionException as re:
1699 self.reportError(re)
1700 self.recover(self.input, re)
1701 finally:
1702 if self.backtracking > 0:
1703 self.memoize(self.input, 13, struct_declaration_list_StartIndex)
1704
1705 pass
1706
1707 return
1708
1709 # $ANTLR end struct_declaration_list
1710
1711
1712 # $ANTLR start struct_declaration
1713 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1714 def struct_declaration(self, ):
1715
1716 struct_declaration_StartIndex = self.input.index()
1717 try:
1718 try:
1719 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
1720 return
1721
1722 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1723 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1724 self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration549)
1725 self.specifier_qualifier_list()
1726 self.following.pop()
1727 if self.failed:
1728 return
1729 self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration551)
1730 self.struct_declarator_list()
1731 self.following.pop()
1732 if self.failed:
1733 return
1734 self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553)
1735 if self.failed:
1736 return
1737
1738
1739
1740
1741 except RecognitionException as re:
1742 self.reportError(re)
1743 self.recover(self.input, re)
1744 finally:
1745 if self.backtracking > 0:
1746 self.memoize(self.input, 14, struct_declaration_StartIndex)
1747
1748 pass
1749
1750 return
1751
1752 # $ANTLR end struct_declaration
1753
1754
1755 # $ANTLR start specifier_qualifier_list
1756 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1757 def specifier_qualifier_list(self, ):
1758
1759 specifier_qualifier_list_StartIndex = self.input.index()
1760 try:
1761 try:
1762 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
1763 return
1764
1765 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1766 # C.g:253:4: ( type_qualifier | type_specifier )+
1767 # C.g:253:4: ( type_qualifier | type_specifier )+
1768 cnt17 = 0
1769 while True: #loop17
1770 alt17 = 3
1771 LA17 = self.input.LA(1)
1772 if LA17 == 58:
1773 LA17_2 = self.input.LA(2)
1774
1775 if (self.synpred39()) :
1776 alt17 = 1
1777
1778
1779 elif LA17 == 59:
1780 LA17_3 = self.input.LA(2)
1781
1782 if (self.synpred39()) :
1783 alt17 = 1
1784
1785
1786 elif LA17 == 60:
1787 LA17_4 = self.input.LA(2)
1788
1789 if (self.synpred39()) :
1790 alt17 = 1
1791
1792
1793 elif LA17 == IDENTIFIER:
1794 LA17 = self.input.LA(2)
1795 if LA17 == EOF or LA17 == IDENTIFIER or LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48 or LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 58 or LA17 == 59 or LA17 == 60 or LA17 == 61 or LA17 == 63 or LA17 == 66:
1796 alt17 = 2
1797 elif LA17 == 62:
1798 LA17_94 = self.input.LA(3)
1799
1800 if (self.synpred40()) :
1801 alt17 = 2
1802
1803
1804 elif LA17 == 47:
1805 LA17_95 = self.input.LA(3)
1806
1807 if (self.synpred40()) :
1808 alt17 = 2
1809
1810
1811 elif LA17 == 64:
1812 LA17_96 = self.input.LA(3)
1813
1814 if (self.synpred40()) :
1815 alt17 = 2
1816
1817
1818
1819 elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 61:
1820 alt17 = 1
1821 elif LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48:
1822 alt17 = 2
1823
1824 if alt17 == 1:
1825 # C.g:253:6: type_qualifier
1826 self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566)
1827 self.type_qualifier()
1828 self.following.pop()
1829 if self.failed:
1830 return
1831
1832
1833 elif alt17 == 2:
1834 # C.g:253:23: type_specifier
1835 self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list570)
1836 self.type_specifier()
1837 self.following.pop()
1838 if self.failed:
1839 return
1840
1841
1842 else:
1843 if cnt17 >= 1:
1844 break #loop17
1845
1846 if self.backtracking > 0:
1847 self.failed = True
1848 return
1849
1850 eee = EarlyExitException(17, self.input)
1851 raise eee
1852
1853 cnt17 += 1
1854
1855
1856
1857
1858
1859
1860 except RecognitionException as re:
1861 self.reportError(re)
1862 self.recover(self.input, re)
1863 finally:
1864 if self.backtracking > 0:
1865 self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
1866
1867 pass
1868
1869 return
1870
1871 # $ANTLR end specifier_qualifier_list
1872
1873
1874 # $ANTLR start struct_declarator_list
1875 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1876 def struct_declarator_list(self, ):
1877
1878 struct_declarator_list_StartIndex = self.input.index()
1879 try:
1880 try:
1881 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
1882 return
1883
1884 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1885 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1886 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list584)
1887 self.struct_declarator()
1888 self.following.pop()
1889 if self.failed:
1890 return
1891 # C.g:257:22: ( ',' struct_declarator )*
1892 while True: #loop18
1893 alt18 = 2
1894 LA18_0 = self.input.LA(1)
1895
1896 if (LA18_0 == 27) :
1897 alt18 = 1
1898
1899
1900 if alt18 == 1:
1901 # C.g:257:23: ',' struct_declarator
1902 self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list587)
1903 if self.failed:
1904 return
1905 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list589)
1906 self.struct_declarator()
1907 self.following.pop()
1908 if self.failed:
1909 return
1910
1911
1912 else:
1913 break #loop18
1914
1915
1916
1917
1918
1919
1920 except RecognitionException as re:
1921 self.reportError(re)
1922 self.recover(self.input, re)
1923 finally:
1924 if self.backtracking > 0:
1925 self.memoize(self.input, 16, struct_declarator_list_StartIndex)
1926
1927 pass
1928
1929 return
1930
1931 # $ANTLR end struct_declarator_list
1932
1933
1934 # $ANTLR start struct_declarator
1935 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1936 def struct_declarator(self, ):
1937
1938 struct_declarator_StartIndex = self.input.index()
1939 try:
1940 try:
1941 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
1942 return
1943
1944 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1945 alt20 = 2
1946 LA20_0 = self.input.LA(1)
1947
1948 if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 60) or LA20_0 == 62 or LA20_0 == 66) :
1949 alt20 = 1
1950 elif (LA20_0 == 47) :
1951 alt20 = 2
1952 else:
1953 if self.backtracking > 0:
1954 self.failed = True
1955 return
1956
1957 nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
1958
1959 raise nvae
1960
1961 if alt20 == 1:
1962 # C.g:261:4: declarator ( ':' constant_expression )?
1963 self.following.append(self.FOLLOW_declarator_in_struct_declarator602)
1964 self.declarator()
1965 self.following.pop()
1966 if self.failed:
1967 return
1968 # C.g:261:15: ( ':' constant_expression )?
1969 alt19 = 2
1970 LA19_0 = self.input.LA(1)
1971
1972 if (LA19_0 == 47) :
1973 alt19 = 1
1974 if alt19 == 1:
1975 # C.g:261:16: ':' constant_expression
1976 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator605)
1977 if self.failed:
1978 return
1979 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator607)
1980 self.constant_expression()
1981 self.following.pop()
1982 if self.failed:
1983 return
1984
1985
1986
1987
1988
1989 elif alt20 == 2:
1990 # C.g:262:4: ':' constant_expression
1991 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator614)
1992 if self.failed:
1993 return
1994 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator616)
1995 self.constant_expression()
1996 self.following.pop()
1997 if self.failed:
1998 return
1999
2000
2001
2002 except RecognitionException as re:
2003 self.reportError(re)
2004 self.recover(self.input, re)
2005 finally:
2006 if self.backtracking > 0:
2007 self.memoize(self.input, 17, struct_declarator_StartIndex)
2008
2009 pass
2010
2011 return
2012
2013 # $ANTLR end struct_declarator
2014
2015 class enum_specifier_return(object):
2016 def __init__(self):
2017 self.start = None
2018 self.stop = None
2019
2020
2021
2022 # $ANTLR start enum_specifier
2023 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2024 def enum_specifier(self, ):
2025
2026 retval = self.enum_specifier_return()
2027 retval.start = self.input.LT(1)
2028 enum_specifier_StartIndex = self.input.index()
2029 try:
2030 try:
2031 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
2032 return retval
2033
2034 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2035 alt23 = 3
2036 LA23_0 = self.input.LA(1)
2037
2038 if (LA23_0 == 48) :
2039 LA23_1 = self.input.LA(2)
2040
2041 if (LA23_1 == IDENTIFIER) :
2042 LA23_2 = self.input.LA(3)
2043
2044 if (LA23_2 == 43) :
2045 alt23 = 2
2046 elif (LA23_2 == EOF or LA23_2 == IDENTIFIER or LA23_2 == 25 or LA23_2 == 27 or (29 <= LA23_2 <= 42) or (45 <= LA23_2 <= 64) or LA23_2 == 66) :
2047 alt23 = 3
2048 else:
2049 if self.backtracking > 0:
2050 self.failed = True
2051 return retval
2052
2053 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
2054
2055 raise nvae
2056
2057 elif (LA23_1 == 43) :
2058 alt23 = 1
2059 else:
2060 if self.backtracking > 0:
2061 self.failed = True
2062 return retval
2063
2064 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
2065
2066 raise nvae
2067
2068 else:
2069 if self.backtracking > 0:
2070 self.failed = True
2071 return retval
2072
2073 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input)
2074
2075 raise nvae
2076
2077 if alt23 == 1:
2078 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2079 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier634)
2080 if self.failed:
2081 return retval
2082 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier636)
2083 if self.failed:
2084 return retval
2085 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638)
2086 self.enumerator_list()
2087 self.following.pop()
2088 if self.failed:
2089 return retval
2090 # C.g:267:31: ( ',' )?
2091 alt21 = 2
2092 LA21_0 = self.input.LA(1)
2093
2094 if (LA21_0 == 27) :
2095 alt21 = 1
2096 if alt21 == 1:
2097 # C.g:0:0: ','
2098 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier640)
2099 if self.failed:
2100 return retval
2101
2102
2103
2104 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier643)
2105 if self.failed:
2106 return retval
2107
2108
2109 elif alt23 == 2:
2110 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2111 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier648)
2112 if self.failed:
2113 return retval
2114 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier650)
2115 if self.failed:
2116 return retval
2117 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier652)
2118 if self.failed:
2119 return retval
2120 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier654)
2121 self.enumerator_list()
2122 self.following.pop()
2123 if self.failed:
2124 return retval
2125 # C.g:268:42: ( ',' )?
2126 alt22 = 2
2127 LA22_0 = self.input.LA(1)
2128
2129 if (LA22_0 == 27) :
2130 alt22 = 1
2131 if alt22 == 1:
2132 # C.g:0:0: ','
2133 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier656)
2134 if self.failed:
2135 return retval
2136
2137
2138
2139 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier659)
2140 if self.failed:
2141 return retval
2142
2143
2144 elif alt23 == 3:
2145 # C.g:269:4: 'enum' IDENTIFIER
2146 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier664)
2147 if self.failed:
2148 return retval
2149 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier666)
2150 if self.failed:
2151 return retval
2152
2153
2154 retval.stop = self.input.LT(-1)
2155
2156
2157 except RecognitionException as re:
2158 self.reportError(re)
2159 self.recover(self.input, re)
2160 finally:
2161 if self.backtracking > 0:
2162 self.memoize(self.input, 18, enum_specifier_StartIndex)
2163
2164 pass
2165
2166 return retval
2167
2168 # $ANTLR end enum_specifier
2169
2170
2171 # $ANTLR start enumerator_list
2172 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2173 def enumerator_list(self, ):
2174
2175 enumerator_list_StartIndex = self.input.index()
2176 try:
2177 try:
2178 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
2179 return
2180
2181 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2182 # C.g:273:4: enumerator ( ',' enumerator )*
2183 self.following.append(self.FOLLOW_enumerator_in_enumerator_list677)
2184 self.enumerator()
2185 self.following.pop()
2186 if self.failed:
2187 return
2188 # C.g:273:15: ( ',' enumerator )*
2189 while True: #loop24
2190 alt24 = 2
2191 LA24_0 = self.input.LA(1)
2192
2193 if (LA24_0 == 27) :
2194 LA24_1 = self.input.LA(2)
2195
2196 if (LA24_1 == IDENTIFIER) :
2197 alt24 = 1
2198
2199
2200
2201
2202 if alt24 == 1:
2203 # C.g:273:16: ',' enumerator
2204 self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list680)
2205 if self.failed:
2206 return
2207 self.following.append(self.FOLLOW_enumerator_in_enumerator_list682)
2208 self.enumerator()
2209 self.following.pop()
2210 if self.failed:
2211 return
2212
2213
2214 else:
2215 break #loop24
2216
2217
2218
2219
2220
2221
2222 except RecognitionException as re:
2223 self.reportError(re)
2224 self.recover(self.input, re)
2225 finally:
2226 if self.backtracking > 0:
2227 self.memoize(self.input, 19, enumerator_list_StartIndex)
2228
2229 pass
2230
2231 return
2232
2233 # $ANTLR end enumerator_list
2234
2235
2236 # $ANTLR start enumerator
2237 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2238 def enumerator(self, ):
2239
2240 enumerator_StartIndex = self.input.index()
2241 try:
2242 try:
2243 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
2244 return
2245
2246 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2247 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2248 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator695)
2249 if self.failed:
2250 return
2251 # C.g:277:15: ( '=' constant_expression )?
2252 alt25 = 2
2253 LA25_0 = self.input.LA(1)
2254
2255 if (LA25_0 == 28) :
2256 alt25 = 1
2257 if alt25 == 1:
2258 # C.g:277:16: '=' constant_expression
2259 self.match(self.input, 28, self.FOLLOW_28_in_enumerator698)
2260 if self.failed:
2261 return
2262 self.following.append(self.FOLLOW_constant_expression_in_enumerator700)
2263 self.constant_expression()
2264 self.following.pop()
2265 if self.failed:
2266 return
2267
2268
2269
2270
2271
2272
2273
2274 except RecognitionException as re:
2275 self.reportError(re)
2276 self.recover(self.input, re)
2277 finally:
2278 if self.backtracking > 0:
2279 self.memoize(self.input, 20, enumerator_StartIndex)
2280
2281 pass
2282
2283 return
2284
2285 # $ANTLR end enumerator
2286
2287
2288 # $ANTLR start type_qualifier
2289 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2290 def type_qualifier(self, ):
2291
2292 type_qualifier_StartIndex = self.input.index()
2293 try:
2294 try:
2295 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
2296 return
2297
2298 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2299 # C.g:
2300 if (49 <= self.input.LA(1) <= 61):
2301 self.input.consume();
2302 self.errorRecovery = False
2303 self.failed = False
2304
2305 else:
2306 if self.backtracking > 0:
2307 self.failed = True
2308 return
2309
2310 mse = MismatchedSetException(None, self.input)
2311 self.recoverFromMismatchedSet(
2312 self.input, mse, self.FOLLOW_set_in_type_qualifier0
2313 )
2314 raise mse
2315
2316
2317
2318
2319
2320
2321 except RecognitionException as re:
2322 self.reportError(re)
2323 self.recover(self.input, re)
2324 finally:
2325 if self.backtracking > 0:
2326 self.memoize(self.input, 21, type_qualifier_StartIndex)
2327
2328 pass
2329
2330 return
2331
2332 # $ANTLR end type_qualifier
2333
2334 class declarator_return(object):
2335 def __init__(self):
2336 self.start = None
2337 self.stop = None
2338
2339
2340
2341 # $ANTLR start declarator
2342 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2343 def declarator(self, ):
2344
2345 retval = self.declarator_return()
2346 retval.start = self.input.LT(1)
2347 declarator_StartIndex = self.input.index()
2348 try:
2349 try:
2350 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
2351 return retval
2352
2353 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2354 alt30 = 2
2355 LA30_0 = self.input.LA(1)
2356
2357 if (LA30_0 == 66) :
2358 LA30_1 = self.input.LA(2)
2359
2360 if (self.synpred66()) :
2361 alt30 = 1
2362 elif (True) :
2363 alt30 = 2
2364 else:
2365 if self.backtracking > 0:
2366 self.failed = True
2367 return retval
2368
2369 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input)
2370
2371 raise nvae
2372
2373 elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 60) or LA30_0 == 62) :
2374 alt30 = 1
2375 else:
2376 if self.backtracking > 0:
2377 self.failed = True
2378 return retval
2379
2380 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
2381
2382 raise nvae
2383
2384 if alt30 == 1:
2385 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2386 # C.g:297:4: ( pointer )?
2387 alt26 = 2
2388 LA26_0 = self.input.LA(1)
2389
2390 if (LA26_0 == 66) :
2391 alt26 = 1
2392 if alt26 == 1:
2393 # C.g:0:0: pointer
2394 self.following.append(self.FOLLOW_pointer_in_declarator784)
2395 self.pointer()
2396 self.following.pop()
2397 if self.failed:
2398 return retval
2399
2400
2401
2402 # C.g:297:13: ( 'EFIAPI' )?
2403 alt27 = 2
2404 LA27_0 = self.input.LA(1)
2405
2406 if (LA27_0 == 58) :
2407 alt27 = 1
2408 if alt27 == 1:
2409 # C.g:297:14: 'EFIAPI'
2410 self.match(self.input, 58, self.FOLLOW_58_in_declarator788)
2411 if self.failed:
2412 return retval
2413
2414
2415
2416 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2417 alt28 = 2
2418 LA28_0 = self.input.LA(1)
2419
2420 if (LA28_0 == 59) :
2421 alt28 = 1
2422 if alt28 == 1:
2423 # C.g:297:26: 'EFI_BOOTSERVICE'
2424 self.match(self.input, 59, self.FOLLOW_59_in_declarator793)
2425 if self.failed:
2426 return retval
2427
2428
2429
2430 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2431 alt29 = 2
2432 LA29_0 = self.input.LA(1)
2433
2434 if (LA29_0 == 60) :
2435 alt29 = 1
2436 if alt29 == 1:
2437 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2438 self.match(self.input, 60, self.FOLLOW_60_in_declarator798)
2439 if self.failed:
2440 return retval
2441
2442
2443
2444 self.following.append(self.FOLLOW_direct_declarator_in_declarator802)
2445 self.direct_declarator()
2446 self.following.pop()
2447 if self.failed:
2448 return retval
2449
2450
2451 elif alt30 == 2:
2452 # C.g:299:4: pointer
2453 self.following.append(self.FOLLOW_pointer_in_declarator808)
2454 self.pointer()
2455 self.following.pop()
2456 if self.failed:
2457 return retval
2458
2459
2460 retval.stop = self.input.LT(-1)
2461
2462
2463 except RecognitionException as re:
2464 self.reportError(re)
2465 self.recover(self.input, re)
2466 finally:
2467 if self.backtracking > 0:
2468 self.memoize(self.input, 22, declarator_StartIndex)
2469
2470 pass
2471
2472 return retval
2473
2474 # $ANTLR end declarator
2475
2476
2477 # $ANTLR start direct_declarator
2478 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2479 def direct_declarator(self, ):
2480
2481 direct_declarator_StartIndex = self.input.index()
2482 try:
2483 try:
2484 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
2485 return
2486
2487 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2488 alt34 = 2
2489 LA34_0 = self.input.LA(1)
2490
2491 if (LA34_0 == IDENTIFIER) :
2492 alt34 = 1
2493 elif (LA34_0 == 62) :
2494 alt34 = 2
2495 else:
2496 if self.backtracking > 0:
2497 self.failed = True
2498 return
2499
2500 nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
2501
2502 raise nvae
2503
2504 if alt34 == 1:
2505 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2506 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819)
2507 if self.failed:
2508 return
2509 # C.g:303:15: ( declarator_suffix )*
2510 while True: #loop31
2511 alt31 = 2
2512 LA31_0 = self.input.LA(1)
2513
2514 if (LA31_0 == 62) :
2515 LA31 = self.input.LA(2)
2516 if LA31 == 63:
2517 LA31_30 = self.input.LA(3)
2518
2519 if (self.synpred67()) :
2520 alt31 = 1
2521
2522
2523 elif LA31 == 58:
2524 LA31_31 = self.input.LA(3)
2525
2526 if (self.synpred67()) :
2527 alt31 = 1
2528
2529
2530 elif LA31 == 66:
2531 LA31_32 = self.input.LA(3)
2532
2533 if (self.synpred67()) :
2534 alt31 = 1
2535
2536
2537 elif LA31 == 59:
2538 LA31_33 = self.input.LA(3)
2539
2540 if (self.synpred67()) :
2541 alt31 = 1
2542
2543
2544 elif LA31 == 60:
2545 LA31_34 = self.input.LA(3)
2546
2547 if (self.synpred67()) :
2548 alt31 = 1
2549
2550
2551 elif LA31 == IDENTIFIER:
2552 LA31_35 = self.input.LA(3)
2553
2554 if (self.synpred67()) :
2555 alt31 = 1
2556
2557
2558 elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33:
2559 LA31_37 = self.input.LA(3)
2560
2561 if (self.synpred67()) :
2562 alt31 = 1
2563
2564
2565 elif LA31 == 34:
2566 LA31_38 = self.input.LA(3)
2567
2568 if (self.synpred67()) :
2569 alt31 = 1
2570
2571
2572 elif LA31 == 35:
2573 LA31_39 = self.input.LA(3)
2574
2575 if (self.synpred67()) :
2576 alt31 = 1
2577
2578
2579 elif LA31 == 36:
2580 LA31_40 = self.input.LA(3)
2581
2582 if (self.synpred67()) :
2583 alt31 = 1
2584
2585
2586 elif LA31 == 37:
2587 LA31_41 = self.input.LA(3)
2588
2589 if (self.synpred67()) :
2590 alt31 = 1
2591
2592
2593 elif LA31 == 38:
2594 LA31_42 = self.input.LA(3)
2595
2596 if (self.synpred67()) :
2597 alt31 = 1
2598
2599
2600 elif LA31 == 39:
2601 LA31_43 = self.input.LA(3)
2602
2603 if (self.synpred67()) :
2604 alt31 = 1
2605
2606
2607 elif LA31 == 40:
2608 LA31_44 = self.input.LA(3)
2609
2610 if (self.synpred67()) :
2611 alt31 = 1
2612
2613
2614 elif LA31 == 41:
2615 LA31_45 = self.input.LA(3)
2616
2617 if (self.synpred67()) :
2618 alt31 = 1
2619
2620
2621 elif LA31 == 42:
2622 LA31_46 = self.input.LA(3)
2623
2624 if (self.synpred67()) :
2625 alt31 = 1
2626
2627
2628 elif LA31 == 45 or LA31 == 46:
2629 LA31_47 = self.input.LA(3)
2630
2631 if (self.synpred67()) :
2632 alt31 = 1
2633
2634
2635 elif LA31 == 48:
2636 LA31_48 = self.input.LA(3)
2637
2638 if (self.synpred67()) :
2639 alt31 = 1
2640
2641
2642 elif LA31 == 49 or LA31 == 50 or LA31 == 51 or LA31 == 52 or LA31 == 53 or LA31 == 54 or LA31 == 55 or LA31 == 56 or LA31 == 57 or LA31 == 61:
2643 LA31_49 = self.input.LA(3)
2644
2645 if (self.synpred67()) :
2646 alt31 = 1
2647
2648
2649
2650 elif (LA31_0 == 64) :
2651 LA31 = self.input.LA(2)
2652 if LA31 == 65:
2653 LA31_51 = self.input.LA(3)
2654
2655 if (self.synpred67()) :
2656 alt31 = 1
2657
2658
2659 elif LA31 == 62:
2660 LA31_52 = self.input.LA(3)
2661
2662 if (self.synpred67()) :
2663 alt31 = 1
2664
2665
2666 elif LA31 == IDENTIFIER:
2667 LA31_53 = self.input.LA(3)
2668
2669 if (self.synpred67()) :
2670 alt31 = 1
2671
2672
2673 elif LA31 == HEX_LITERAL:
2674 LA31_54 = self.input.LA(3)
2675
2676 if (self.synpred67()) :
2677 alt31 = 1
2678
2679
2680 elif LA31 == OCTAL_LITERAL:
2681 LA31_55 = self.input.LA(3)
2682
2683 if (self.synpred67()) :
2684 alt31 = 1
2685
2686
2687 elif LA31 == DECIMAL_LITERAL:
2688 LA31_56 = self.input.LA(3)
2689
2690 if (self.synpred67()) :
2691 alt31 = 1
2692
2693
2694 elif LA31 == CHARACTER_LITERAL:
2695 LA31_57 = self.input.LA(3)
2696
2697 if (self.synpred67()) :
2698 alt31 = 1
2699
2700
2701 elif LA31 == STRING_LITERAL:
2702 LA31_58 = self.input.LA(3)
2703
2704 if (self.synpred67()) :
2705 alt31 = 1
2706
2707
2708 elif LA31 == FLOATING_POINT_LITERAL:
2709 LA31_59 = self.input.LA(3)
2710
2711 if (self.synpred67()) :
2712 alt31 = 1
2713
2714
2715 elif LA31 == 72:
2716 LA31_60 = self.input.LA(3)
2717
2718 if (self.synpred67()) :
2719 alt31 = 1
2720
2721
2722 elif LA31 == 73:
2723 LA31_61 = self.input.LA(3)
2724
2725 if (self.synpred67()) :
2726 alt31 = 1
2727
2728
2729 elif LA31 == 66 or LA31 == 68 or LA31 == 69 or LA31 == 77 or LA31 == 78 or LA31 == 79:
2730 LA31_62 = self.input.LA(3)
2731
2732 if (self.synpred67()) :
2733 alt31 = 1
2734
2735
2736 elif LA31 == 74:
2737 LA31_63 = self.input.LA(3)
2738
2739 if (self.synpred67()) :
2740 alt31 = 1
2741
2742
2743
2744
2745
2746 if alt31 == 1:
2747 # C.g:0:0: declarator_suffix
2748 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821)
2749 self.declarator_suffix()
2750 self.following.pop()
2751 if self.failed:
2752 return
2753
2754
2755 else:
2756 break #loop31
2757
2758
2759
2760
2761 elif alt34 == 2:
2762 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2763 self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator827)
2764 if self.failed:
2765 return
2766 # C.g:304:8: ( 'EFIAPI' )?
2767 alt32 = 2
2768 LA32_0 = self.input.LA(1)
2769
2770 if (LA32_0 == 58) :
2771 LA32_1 = self.input.LA(2)
2772
2773 if (self.synpred69()) :
2774 alt32 = 1
2775 if alt32 == 1:
2776 # C.g:304:9: 'EFIAPI'
2777 self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator830)
2778 if self.failed:
2779 return
2780
2781
2782
2783 self.following.append(self.FOLLOW_declarator_in_direct_declarator834)
2784 self.declarator()
2785 self.following.pop()
2786 if self.failed:
2787 return
2788 self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836)
2789 if self.failed:
2790 return
2791 # C.g:304:35: ( declarator_suffix )+
2792 cnt33 = 0
2793 while True: #loop33
2794 alt33 = 2
2795 LA33_0 = self.input.LA(1)
2796
2797 if (LA33_0 == 62) :
2798 LA33 = self.input.LA(2)
2799 if LA33 == 63:
2800 LA33_30 = self.input.LA(3)
2801
2802 if (self.synpred70()) :
2803 alt33 = 1
2804
2805
2806 elif LA33 == 58:
2807 LA33_31 = self.input.LA(3)
2808
2809 if (self.synpred70()) :
2810 alt33 = 1
2811
2812
2813 elif LA33 == 66:
2814 LA33_32 = self.input.LA(3)
2815
2816 if (self.synpred70()) :
2817 alt33 = 1
2818
2819
2820 elif LA33 == 59:
2821 LA33_33 = self.input.LA(3)
2822
2823 if (self.synpred70()) :
2824 alt33 = 1
2825
2826
2827 elif LA33 == 60:
2828 LA33_34 = self.input.LA(3)
2829
2830 if (self.synpred70()) :
2831 alt33 = 1
2832
2833
2834 elif LA33 == IDENTIFIER:
2835 LA33_35 = self.input.LA(3)
2836
2837 if (self.synpred70()) :
2838 alt33 = 1
2839
2840
2841 elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33:
2842 LA33_37 = self.input.LA(3)
2843
2844 if (self.synpred70()) :
2845 alt33 = 1
2846
2847
2848 elif LA33 == 34:
2849 LA33_38 = self.input.LA(3)
2850
2851 if (self.synpred70()) :
2852 alt33 = 1
2853
2854
2855 elif LA33 == 35:
2856 LA33_39 = self.input.LA(3)
2857
2858 if (self.synpred70()) :
2859 alt33 = 1
2860
2861
2862 elif LA33 == 36:
2863 LA33_40 = self.input.LA(3)
2864
2865 if (self.synpred70()) :
2866 alt33 = 1
2867
2868
2869 elif LA33 == 37:
2870 LA33_41 = self.input.LA(3)
2871
2872 if (self.synpred70()) :
2873 alt33 = 1
2874
2875
2876 elif LA33 == 38:
2877 LA33_42 = self.input.LA(3)
2878
2879 if (self.synpred70()) :
2880 alt33 = 1
2881
2882
2883 elif LA33 == 39:
2884 LA33_43 = self.input.LA(3)
2885
2886 if (self.synpred70()) :
2887 alt33 = 1
2888
2889
2890 elif LA33 == 40:
2891 LA33_44 = self.input.LA(3)
2892
2893 if (self.synpred70()) :
2894 alt33 = 1
2895
2896
2897 elif LA33 == 41:
2898 LA33_45 = self.input.LA(3)
2899
2900 if (self.synpred70()) :
2901 alt33 = 1
2902
2903
2904 elif LA33 == 42:
2905 LA33_46 = self.input.LA(3)
2906
2907 if (self.synpred70()) :
2908 alt33 = 1
2909
2910
2911 elif LA33 == 45 or LA33 == 46:
2912 LA33_47 = self.input.LA(3)
2913
2914 if (self.synpred70()) :
2915 alt33 = 1
2916
2917
2918 elif LA33 == 48:
2919 LA33_48 = self.input.LA(3)
2920
2921 if (self.synpred70()) :
2922 alt33 = 1
2923
2924
2925 elif LA33 == 49 or LA33 == 50 or LA33 == 51 or LA33 == 52 or LA33 == 53 or LA33 == 54 or LA33 == 55 or LA33 == 56 or LA33 == 57 or LA33 == 61:
2926 LA33_49 = self.input.LA(3)
2927
2928 if (self.synpred70()) :
2929 alt33 = 1
2930
2931
2932
2933 elif (LA33_0 == 64) :
2934 LA33 = self.input.LA(2)
2935 if LA33 == 65:
2936 LA33_51 = self.input.LA(3)
2937
2938 if (self.synpred70()) :
2939 alt33 = 1
2940
2941
2942 elif LA33 == 62:
2943 LA33_52 = self.input.LA(3)
2944
2945 if (self.synpred70()) :
2946 alt33 = 1
2947
2948
2949 elif LA33 == IDENTIFIER:
2950 LA33_53 = self.input.LA(3)
2951
2952 if (self.synpred70()) :
2953 alt33 = 1
2954
2955
2956 elif LA33 == HEX_LITERAL:
2957 LA33_54 = self.input.LA(3)
2958
2959 if (self.synpred70()) :
2960 alt33 = 1
2961
2962
2963 elif LA33 == OCTAL_LITERAL:
2964 LA33_55 = self.input.LA(3)
2965
2966 if (self.synpred70()) :
2967 alt33 = 1
2968
2969
2970 elif LA33 == DECIMAL_LITERAL:
2971 LA33_56 = self.input.LA(3)
2972
2973 if (self.synpred70()) :
2974 alt33 = 1
2975
2976
2977 elif LA33 == CHARACTER_LITERAL:
2978 LA33_57 = self.input.LA(3)
2979
2980 if (self.synpred70()) :
2981 alt33 = 1
2982
2983
2984 elif LA33 == STRING_LITERAL:
2985 LA33_58 = self.input.LA(3)
2986
2987 if (self.synpred70()) :
2988 alt33 = 1
2989
2990
2991 elif LA33 == FLOATING_POINT_LITERAL:
2992 LA33_59 = self.input.LA(3)
2993
2994 if (self.synpred70()) :
2995 alt33 = 1
2996
2997
2998 elif LA33 == 72:
2999 LA33_60 = self.input.LA(3)
3000
3001 if (self.synpred70()) :
3002 alt33 = 1
3003
3004
3005 elif LA33 == 73:
3006 LA33_61 = self.input.LA(3)
3007
3008 if (self.synpred70()) :
3009 alt33 = 1
3010
3011
3012 elif LA33 == 66 or LA33 == 68 or LA33 == 69 or LA33 == 77 or LA33 == 78 or LA33 == 79:
3013 LA33_62 = self.input.LA(3)
3014
3015 if (self.synpred70()) :
3016 alt33 = 1
3017
3018
3019 elif LA33 == 74:
3020 LA33_63 = self.input.LA(3)
3021
3022 if (self.synpred70()) :
3023 alt33 = 1
3024
3025
3026
3027
3028
3029 if alt33 == 1:
3030 # C.g:0:0: declarator_suffix
3031 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838)
3032 self.declarator_suffix()
3033 self.following.pop()
3034 if self.failed:
3035 return
3036
3037
3038 else:
3039 if cnt33 >= 1:
3040 break #loop33
3041
3042 if self.backtracking > 0:
3043 self.failed = True
3044 return
3045
3046 eee = EarlyExitException(33, self.input)
3047 raise eee
3048
3049 cnt33 += 1
3050
3051
3052
3053
3054
3055 except RecognitionException as re:
3056 self.reportError(re)
3057 self.recover(self.input, re)
3058 finally:
3059 if self.backtracking > 0:
3060 self.memoize(self.input, 23, direct_declarator_StartIndex)
3061
3062 pass
3063
3064 return
3065
3066 # $ANTLR end direct_declarator
3067
3068
3069 # $ANTLR start declarator_suffix
3070 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3071 def declarator_suffix(self, ):
3072
3073 declarator_suffix_StartIndex = self.input.index()
3074 try:
3075 try:
3076 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
3077 return
3078
3079 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3080 alt35 = 5
3081 LA35_0 = self.input.LA(1)
3082
3083 if (LA35_0 == 64) :
3084 LA35_1 = self.input.LA(2)
3085
3086 if (LA35_1 == 65) :
3087 alt35 = 2
3088 elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 62 or LA35_1 == 66 or (68 <= LA35_1 <= 69) or (72 <= LA35_1 <= 74) or (77 <= LA35_1 <= 79)) :
3089 alt35 = 1
3090 else:
3091 if self.backtracking > 0:
3092 self.failed = True
3093 return
3094
3095 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
3096
3097 raise nvae
3098
3099 elif (LA35_0 == 62) :
3100 LA35 = self.input.LA(2)
3101 if LA35 == 63:
3102 alt35 = 5
3103 elif LA35 == 29 or LA35 == 30 or LA35 == 31 or LA35 == 32 or LA35 == 33 or LA35 == 34 or LA35 == 35 or LA35 == 36 or LA35 == 37 or LA35 == 38 or LA35 == 39 or LA35 == 40 or LA35 == 41 or LA35 == 42 or LA35 == 45 or LA35 == 46 or LA35 == 48 or LA35 == 49 or LA35 == 50 or LA35 == 51 or LA35 == 52 or LA35 == 53 or LA35 == 54 or LA35 == 55 or LA35 == 56 or LA35 == 57 or LA35 == 58 or LA35 == 59 or LA35 == 60 or LA35 == 61 or LA35 == 66:
3104 alt35 = 3
3105 elif LA35 == IDENTIFIER:
3106 LA35_29 = self.input.LA(3)
3107
3108 if (self.synpred73()) :
3109 alt35 = 3
3110 elif (self.synpred74()) :
3111 alt35 = 4
3112 else:
3113 if self.backtracking > 0:
3114 self.failed = True
3115 return
3116
3117 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input)
3118
3119 raise nvae
3120
3121 else:
3122 if self.backtracking > 0:
3123 self.failed = True
3124 return
3125
3126 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
3127
3128 raise nvae
3129
3130 else:
3131 if self.backtracking > 0:
3132 self.failed = True
3133 return
3134
3135 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
3136
3137 raise nvae
3138
3139 if alt35 == 1:
3140 # C.g:308:6: '[' constant_expression ']'
3141 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix852)
3142 if self.failed:
3143 return
3144 self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix854)
3145 self.constant_expression()
3146 self.following.pop()
3147 if self.failed:
3148 return
3149 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856)
3150 if self.failed:
3151 return
3152
3153
3154 elif alt35 == 2:
3155 # C.g:309:9: '[' ']'
3156 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866)
3157 if self.failed:
3158 return
3159 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868)
3160 if self.failed:
3161 return
3162
3163
3164 elif alt35 == 3:
3165 # C.g:310:9: '(' parameter_type_list ')'
3166 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix878)
3167 if self.failed:
3168 return
3169 self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix880)
3170 self.parameter_type_list()
3171 self.following.pop()
3172 if self.failed:
3173 return
3174 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882)
3175 if self.failed:
3176 return
3177
3178
3179 elif alt35 == 4:
3180 # C.g:311:9: '(' identifier_list ')'
3181 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix892)
3182 if self.failed:
3183 return
3184 self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix894)
3185 self.identifier_list()
3186 self.following.pop()
3187 if self.failed:
3188 return
3189 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896)
3190 if self.failed:
3191 return
3192
3193
3194 elif alt35 == 5:
3195 # C.g:312:9: '(' ')'
3196 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906)
3197 if self.failed:
3198 return
3199 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908)
3200 if self.failed:
3201 return
3202
3203
3204
3205 except RecognitionException as re:
3206 self.reportError(re)
3207 self.recover(self.input, re)
3208 finally:
3209 if self.backtracking > 0:
3210 self.memoize(self.input, 24, declarator_suffix_StartIndex)
3211
3212 pass
3213
3214 return
3215
3216 # $ANTLR end declarator_suffix
3217
3218
3219 # $ANTLR start pointer
3220 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3221 def pointer(self, ):
3222
3223 pointer_StartIndex = self.input.index()
3224 try:
3225 try:
3226 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
3227 return
3228
3229 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3230 alt38 = 3
3231 LA38_0 = self.input.LA(1)
3232
3233 if (LA38_0 == 66) :
3234 LA38 = self.input.LA(2)
3235 if LA38 == 66:
3236 LA38_2 = self.input.LA(3)
3237
3238 if (self.synpred78()) :
3239 alt38 = 2
3240 elif (True) :
3241 alt38 = 3
3242 else:
3243 if self.backtracking > 0:
3244 self.failed = True
3245 return
3246
3247 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
3248
3249 raise nvae
3250
3251 elif LA38 == 58:
3252 LA38_3 = self.input.LA(3)
3253
3254 if (self.synpred77()) :
3255 alt38 = 1
3256 elif (True) :
3257 alt38 = 3
3258 else:
3259 if self.backtracking > 0:
3260 self.failed = True
3261 return
3262
3263 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
3264
3265 raise nvae
3266
3267 elif LA38 == 59:
3268 LA38_4 = self.input.LA(3)
3269
3270 if (self.synpred77()) :
3271 alt38 = 1
3272 elif (True) :
3273 alt38 = 3
3274 else:
3275 if self.backtracking > 0:
3276 self.failed = True
3277 return
3278
3279 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
3280
3281 raise nvae
3282
3283 elif LA38 == 60:
3284 LA38_5 = self.input.LA(3)
3285
3286 if (self.synpred77()) :
3287 alt38 = 1
3288 elif (True) :
3289 alt38 = 3
3290 else:
3291 if self.backtracking > 0:
3292 self.failed = True
3293 return
3294
3295 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self.input)
3296
3297 raise nvae
3298
3299 elif LA38 == EOF or LA38 == IDENTIFIER or LA38 == 25 or LA38 == 26 or LA38 == 27 or LA38 == 28 or LA38 == 29 or LA38 == 30 or LA38 == 31 or LA38 == 32 or LA38 == 33 or LA38 == 34 or LA38 == 35 or LA38 == 36 or LA38 == 37 or LA38 == 38 or LA38 == 39 or LA38 == 40 or LA38 == 41 or LA38 == 42 or LA38 == 43 or LA38 == 45 or LA38 == 46 or LA38 == 47 or LA38 == 48 or LA38 == 62 or LA38 == 63 or LA38 == 64:
3300 alt38 = 3
3301 elif LA38 == 53:
3302 LA38_21 = self.input.LA(3)
3303
3304 if (self.synpred77()) :
3305 alt38 = 1
3306 elif (True) :
3307 alt38 = 3
3308 else:
3309 if self.backtracking > 0:
3310 self.failed = True
3311 return
3312
3313 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self.input)
3314
3315 raise nvae
3316
3317 elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57 or LA38 == 61:
3318 LA38_29 = self.input.LA(3)
3319
3320 if (self.synpred77()) :
3321 alt38 = 1
3322 elif (True) :
3323 alt38 = 3
3324 else:
3325 if self.backtracking > 0:
3326 self.failed = True
3327 return
3328
3329 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
3330
3331 raise nvae
3332
3333 else:
3334 if self.backtracking > 0:
3335 self.failed = True
3336 return
3337
3338 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
3339
3340 raise nvae
3341
3342 else:
3343 if self.backtracking > 0:
3344 self.failed = True
3345 return
3346
3347 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
3348
3349 raise nvae
3350
3351 if alt38 == 1:
3352 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3353 self.match(self.input, 66, self.FOLLOW_66_in_pointer919)
3354 if self.failed:
3355 return
3356 # C.g:316:8: ( type_qualifier )+
3357 cnt36 = 0
3358 while True: #loop36
3359 alt36 = 2
3360 LA36 = self.input.LA(1)
3361 if LA36 == 58:
3362 LA36_2 = self.input.LA(2)
3363
3364 if (self.synpred75()) :
3365 alt36 = 1
3366
3367
3368 elif LA36 == 59:
3369 LA36_3 = self.input.LA(2)
3370
3371 if (self.synpred75()) :
3372 alt36 = 1
3373
3374
3375 elif LA36 == 60:
3376 LA36_4 = self.input.LA(2)
3377
3378 if (self.synpred75()) :
3379 alt36 = 1
3380
3381
3382 elif LA36 == 53:
3383 LA36_20 = self.input.LA(2)
3384
3385 if (self.synpred75()) :
3386 alt36 = 1
3387
3388
3389 elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57 or LA36 == 61:
3390 LA36_28 = self.input.LA(2)
3391
3392 if (self.synpred75()) :
3393 alt36 = 1
3394
3395
3396
3397 if alt36 == 1:
3398 # C.g:0:0: type_qualifier
3399 self.following.append(self.FOLLOW_type_qualifier_in_pointer921)
3400 self.type_qualifier()
3401 self.following.pop()
3402 if self.failed:
3403 return
3404
3405
3406 else:
3407 if cnt36 >= 1:
3408 break #loop36
3409
3410 if self.backtracking > 0:
3411 self.failed = True
3412 return
3413
3414 eee = EarlyExitException(36, self.input)
3415 raise eee
3416
3417 cnt36 += 1
3418
3419
3420 # C.g:316:24: ( pointer )?
3421 alt37 = 2
3422 LA37_0 = self.input.LA(1)
3423
3424 if (LA37_0 == 66) :
3425 LA37_1 = self.input.LA(2)
3426
3427 if (self.synpred76()) :
3428 alt37 = 1
3429 if alt37 == 1:
3430 # C.g:0:0: pointer
3431 self.following.append(self.FOLLOW_pointer_in_pointer924)
3432 self.pointer()
3433 self.following.pop()
3434 if self.failed:
3435 return
3436
3437
3438
3439
3440
3441 elif alt38 == 2:
3442 # C.g:317:4: '*' pointer
3443 self.match(self.input, 66, self.FOLLOW_66_in_pointer930)
3444 if self.failed:
3445 return
3446 self.following.append(self.FOLLOW_pointer_in_pointer932)
3447 self.pointer()
3448 self.following.pop()
3449 if self.failed:
3450 return
3451
3452
3453 elif alt38 == 3:
3454 # C.g:318:4: '*'
3455 self.match(self.input, 66, self.FOLLOW_66_in_pointer937)
3456 if self.failed:
3457 return
3458
3459
3460
3461 except RecognitionException as re:
3462 self.reportError(re)
3463 self.recover(self.input, re)
3464 finally:
3465 if self.backtracking > 0:
3466 self.memoize(self.input, 25, pointer_StartIndex)
3467
3468 pass
3469
3470 return
3471
3472 # $ANTLR end pointer
3473
3474
3475 # $ANTLR start parameter_type_list
3476 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3477 def parameter_type_list(self, ):
3478
3479 parameter_type_list_StartIndex = self.input.index()
3480 try:
3481 try:
3482 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
3483 return
3484
3485 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3486 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3487 self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list948)
3488 self.parameter_list()
3489 self.following.pop()
3490 if self.failed:
3491 return
3492 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3493 alt40 = 2
3494 LA40_0 = self.input.LA(1)
3495
3496 if (LA40_0 == 27) :
3497 alt40 = 1
3498 if alt40 == 1:
3499 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3500 self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951)
3501 if self.failed:
3502 return
3503 # C.g:322:24: ( 'OPTIONAL' )?
3504 alt39 = 2
3505 LA39_0 = self.input.LA(1)
3506
3507 if (LA39_0 == 53) :
3508 alt39 = 1
3509 if alt39 == 1:
3510 # C.g:322:25: 'OPTIONAL'
3511 self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list954)
3512 if self.failed:
3513 return
3514
3515
3516
3517 self.match(self.input, 67, self.FOLLOW_67_in_parameter_type_list958)
3518 if self.failed:
3519 return
3520
3521
3522
3523
3524
3525
3526
3527 except RecognitionException as re:
3528 self.reportError(re)
3529 self.recover(self.input, re)
3530 finally:
3531 if self.backtracking > 0:
3532 self.memoize(self.input, 26, parameter_type_list_StartIndex)
3533
3534 pass
3535
3536 return
3537
3538 # $ANTLR end parameter_type_list
3539
3540
3541 # $ANTLR start parameter_list
3542 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3543 def parameter_list(self, ):
3544
3545 parameter_list_StartIndex = self.input.index()
3546 try:
3547 try:
3548 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
3549 return
3550
3551 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3552 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3553 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list971)
3554 self.parameter_declaration()
3555 self.following.pop()
3556 if self.failed:
3557 return
3558 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3559 while True: #loop42
3560 alt42 = 2
3561 LA42_0 = self.input.LA(1)
3562
3563 if (LA42_0 == 27) :
3564 LA42_1 = self.input.LA(2)
3565
3566 if (LA42_1 == 53) :
3567 LA42_3 = self.input.LA(3)
3568
3569 if (self.synpred82()) :
3570 alt42 = 1
3571
3572
3573 elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 61) or LA42_1 == 66) :
3574 alt42 = 1
3575
3576
3577
3578
3579 if alt42 == 1:
3580 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3581 self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974)
3582 if self.failed:
3583 return
3584 # C.g:326:31: ( 'OPTIONAL' )?
3585 alt41 = 2
3586 LA41_0 = self.input.LA(1)
3587
3588 if (LA41_0 == 53) :
3589 LA41_1 = self.input.LA(2)
3590
3591 if (self.synpred81()) :
3592 alt41 = 1
3593 if alt41 == 1:
3594 # C.g:326:32: 'OPTIONAL'
3595 self.match(self.input, 53, self.FOLLOW_53_in_parameter_list977)
3596 if self.failed:
3597 return
3598
3599
3600
3601 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list981)
3602 self.parameter_declaration()
3603 self.following.pop()
3604 if self.failed:
3605 return
3606
3607
3608 else:
3609 break #loop42
3610
3611
3612
3613
3614
3615
3616 except RecognitionException as re:
3617 self.reportError(re)
3618 self.recover(self.input, re)
3619 finally:
3620 if self.backtracking > 0:
3621 self.memoize(self.input, 27, parameter_list_StartIndex)
3622
3623 pass
3624
3625 return
3626
3627 # $ANTLR end parameter_list
3628
3629
3630 # $ANTLR start parameter_declaration
3631 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3632 def parameter_declaration(self, ):
3633
3634 parameter_declaration_StartIndex = self.input.index()
3635 try:
3636 try:
3637 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
3638 return
3639
3640 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3641 alt46 = 2
3642 LA46 = self.input.LA(1)
3643 if LA46 == 29 or LA46 == 30 or LA46 == 31 or LA46 == 32 or LA46 == 33 or LA46 == 34 or LA46 == 35 or LA46 == 36 or LA46 == 37 or LA46 == 38 or LA46 == 39 or LA46 == 40 or LA46 == 41 or LA46 == 42 or LA46 == 45 or LA46 == 46 or LA46 == 48 or LA46 == 49 or LA46 == 50 or LA46 == 51 or LA46 == 52 or LA46 == 53 or LA46 == 54 or LA46 == 55 or LA46 == 56 or LA46 == 57 or LA46 == 58 or LA46 == 59 or LA46 == 60 or LA46 == 61:
3644 alt46 = 1
3645 elif LA46 == IDENTIFIER:
3646 LA46_13 = self.input.LA(2)
3647
3648 if (self.synpred86()) :
3649 alt46 = 1
3650 elif (True) :
3651 alt46 = 2
3652 else:
3653 if self.backtracking > 0:
3654 self.failed = True
3655 return
3656
3657 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
3658
3659 raise nvae
3660
3661 elif LA46 == 66:
3662 alt46 = 2
3663 else:
3664 if self.backtracking > 0:
3665 self.failed = True
3666 return
3667
3668 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
3669
3670 raise nvae
3671
3672 if alt46 == 1:
3673 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3674 self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration994)
3675 self.declaration_specifiers()
3676 self.following.pop()
3677 if self.failed:
3678 return
3679 # C.g:330:27: ( declarator | abstract_declarator )*
3680 while True: #loop43
3681 alt43 = 3
3682 LA43 = self.input.LA(1)
3683 if LA43 == 66:
3684 LA43_5 = self.input.LA(2)
3685
3686 if (self.synpred83()) :
3687 alt43 = 1
3688 elif (self.synpred84()) :
3689 alt43 = 2
3690
3691
3692 elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
3693 alt43 = 1
3694 elif LA43 == 62:
3695 LA43 = self.input.LA(2)
3696 if LA43 == 29 or LA43 == 30 or LA43 == 31 or LA43 == 32 or LA43 == 33 or LA43 == 34 or LA43 == 35 or LA43 == 36 or LA43 == 37 or LA43 == 38 or LA43 == 39 or LA43 == 40 or LA43 == 41 or LA43 == 42 or LA43 == 45 or LA43 == 46 or LA43 == 48 or LA43 == 49 or LA43 == 50 or LA43 == 51 or LA43 == 52 or LA43 == 53 or LA43 == 54 or LA43 == 55 or LA43 == 56 or LA43 == 57 or LA43 == 61 or LA43 == 63 or LA43 == 64:
3697 alt43 = 2
3698 elif LA43 == IDENTIFIER:
3699 LA43_37 = self.input.LA(3)
3700
3701 if (self.synpred83()) :
3702 alt43 = 1
3703 elif (self.synpred84()) :
3704 alt43 = 2
3705
3706
3707 elif LA43 == 58:
3708 LA43_38 = self.input.LA(3)
3709
3710 if (self.synpred83()) :
3711 alt43 = 1
3712 elif (self.synpred84()) :
3713 alt43 = 2
3714
3715
3716 elif LA43 == 66:
3717 LA43_39 = self.input.LA(3)
3718
3719 if (self.synpred83()) :
3720 alt43 = 1
3721 elif (self.synpred84()) :
3722 alt43 = 2
3723
3724
3725 elif LA43 == 59:
3726 LA43_40 = self.input.LA(3)
3727
3728 if (self.synpred83()) :
3729 alt43 = 1
3730 elif (self.synpred84()) :
3731 alt43 = 2
3732
3733
3734 elif LA43 == 60:
3735 LA43_41 = self.input.LA(3)
3736
3737 if (self.synpred83()) :
3738 alt43 = 1
3739 elif (self.synpred84()) :
3740 alt43 = 2
3741
3742
3743 elif LA43 == 62:
3744 LA43_43 = self.input.LA(3)
3745
3746 if (self.synpred83()) :
3747 alt43 = 1
3748 elif (self.synpred84()) :
3749 alt43 = 2
3750
3751
3752
3753 elif LA43 == 64:
3754 alt43 = 2
3755
3756 if alt43 == 1:
3757 # C.g:330:28: declarator
3758 self.following.append(self.FOLLOW_declarator_in_parameter_declaration997)
3759 self.declarator()
3760 self.following.pop()
3761 if self.failed:
3762 return
3763
3764
3765 elif alt43 == 2:
3766 # C.g:330:39: abstract_declarator
3767 self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration999)
3768 self.abstract_declarator()
3769 self.following.pop()
3770 if self.failed:
3771 return
3772
3773
3774 else:
3775 break #loop43
3776
3777
3778 # C.g:330:61: ( 'OPTIONAL' )?
3779 alt44 = 2
3780 LA44_0 = self.input.LA(1)
3781
3782 if (LA44_0 == 53) :
3783 alt44 = 1
3784 if alt44 == 1:
3785 # C.g:330:62: 'OPTIONAL'
3786 self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004)
3787 if self.failed:
3788 return
3789
3790
3791
3792
3793
3794 elif alt46 == 2:
3795 # C.g:332:4: ( pointer )* IDENTIFIER
3796 # C.g:332:4: ( pointer )*
3797 while True: #loop45
3798 alt45 = 2
3799 LA45_0 = self.input.LA(1)
3800
3801 if (LA45_0 == 66) :
3802 alt45 = 1
3803
3804
3805 if alt45 == 1:
3806 # C.g:0:0: pointer
3807 self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013)
3808 self.pointer()
3809 self.following.pop()
3810 if self.failed:
3811 return
3812
3813
3814 else:
3815 break #loop45
3816
3817
3818 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016)
3819 if self.failed:
3820 return
3821
3822
3823
3824 except RecognitionException as re:
3825 self.reportError(re)
3826 self.recover(self.input, re)
3827 finally:
3828 if self.backtracking > 0:
3829 self.memoize(self.input, 28, parameter_declaration_StartIndex)
3830
3831 pass
3832
3833 return
3834
3835 # $ANTLR end parameter_declaration
3836
3837
3838 # $ANTLR start identifier_list
3839 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3840 def identifier_list(self, ):
3841
3842 identifier_list_StartIndex = self.input.index()
3843 try:
3844 try:
3845 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
3846 return
3847
3848 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3849 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3850 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1027)
3851 if self.failed:
3852 return
3853 # C.g:337:2: ( ',' IDENTIFIER )*
3854 while True: #loop47
3855 alt47 = 2
3856 LA47_0 = self.input.LA(1)
3857
3858 if (LA47_0 == 27) :
3859 alt47 = 1
3860
3861
3862 if alt47 == 1:
3863 # C.g:337:3: ',' IDENTIFIER
3864 self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1031)
3865 if self.failed:
3866 return
3867 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1033)
3868 if self.failed:
3869 return
3870
3871
3872 else:
3873 break #loop47
3874
3875
3876
3877
3878
3879
3880 except RecognitionException as re:
3881 self.reportError(re)
3882 self.recover(self.input, re)
3883 finally:
3884 if self.backtracking > 0:
3885 self.memoize(self.input, 29, identifier_list_StartIndex)
3886
3887 pass
3888
3889 return
3890
3891 # $ANTLR end identifier_list
3892
3893
3894 # $ANTLR start type_name
3895 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3896 def type_name(self, ):
3897
3898 type_name_StartIndex = self.input.index()
3899 try:
3900 try:
3901 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
3902 return
3903
3904 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3905 alt49 = 2
3906 LA49_0 = self.input.LA(1)
3907
3908 if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 61)) :
3909 alt49 = 1
3910 elif (LA49_0 == IDENTIFIER) :
3911 LA49_13 = self.input.LA(2)
3912
3913 if (self.synpred90()) :
3914 alt49 = 1
3915 elif (True) :
3916 alt49 = 2
3917 else:
3918 if self.backtracking > 0:
3919 self.failed = True
3920 return
3921
3922 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
3923
3924 raise nvae
3925
3926 else:
3927 if self.backtracking > 0:
3928 self.failed = True
3929 return
3930
3931 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
3932
3933 raise nvae
3934
3935 if alt49 == 1:
3936 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3937 self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1046)
3938 self.specifier_qualifier_list()
3939 self.following.pop()
3940 if self.failed:
3941 return
3942 # C.g:341:29: ( abstract_declarator )?
3943 alt48 = 2
3944 LA48_0 = self.input.LA(1)
3945
3946 if (LA48_0 == 62 or LA48_0 == 64 or LA48_0 == 66) :
3947 alt48 = 1
3948 if alt48 == 1:
3949 # C.g:0:0: abstract_declarator
3950 self.following.append(self.FOLLOW_abstract_declarator_in_type_name1048)
3951 self.abstract_declarator()
3952 self.following.pop()
3953 if self.failed:
3954 return
3955
3956
3957
3958
3959
3960 elif alt49 == 2:
3961 # C.g:342:4: type_id
3962 self.following.append(self.FOLLOW_type_id_in_type_name1054)
3963 self.type_id()
3964 self.following.pop()
3965 if self.failed:
3966 return
3967
3968
3969
3970 except RecognitionException as re:
3971 self.reportError(re)
3972 self.recover(self.input, re)
3973 finally:
3974 if self.backtracking > 0:
3975 self.memoize(self.input, 30, type_name_StartIndex)
3976
3977 pass
3978
3979 return
3980
3981 # $ANTLR end type_name
3982
3983
3984 # $ANTLR start abstract_declarator
3985 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3986 def abstract_declarator(self, ):
3987
3988 abstract_declarator_StartIndex = self.input.index()
3989 try:
3990 try:
3991 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
3992 return
3993
3994 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
3995 alt51 = 2
3996 LA51_0 = self.input.LA(1)
3997
3998 if (LA51_0 == 66) :
3999 alt51 = 1
4000 elif (LA51_0 == 62 or LA51_0 == 64) :
4001 alt51 = 2
4002 else:
4003 if self.backtracking > 0:
4004 self.failed = True
4005 return
4006
4007 nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
4008
4009 raise nvae
4010
4011 if alt51 == 1:
4012 # C.g:346:4: pointer ( direct_abstract_declarator )?
4013 self.following.append(self.FOLLOW_pointer_in_abstract_declarator1065)
4014 self.pointer()
4015 self.following.pop()
4016 if self.failed:
4017 return
4018 # C.g:346:12: ( direct_abstract_declarator )?
4019 alt50 = 2
4020 LA50_0 = self.input.LA(1)
4021
4022 if (LA50_0 == 62) :
4023 LA50 = self.input.LA(2)
4024 if LA50 == 63:
4025 LA50_12 = self.input.LA(3)
4026
4027 if (self.synpred91()) :
4028 alt50 = 1
4029 elif LA50 == 58:
4030 LA50_13 = self.input.LA(3)
4031
4032 if (self.synpred91()) :
4033 alt50 = 1
4034 elif LA50 == 66:
4035 LA50_14 = self.input.LA(3)
4036
4037 if (self.synpred91()) :
4038 alt50 = 1
4039 elif LA50 == 59:
4040 LA50_15 = self.input.LA(3)
4041
4042 if (self.synpred91()) :
4043 alt50 = 1
4044 elif LA50 == 60:
4045 LA50_16 = self.input.LA(3)
4046
4047 if (self.synpred91()) :
4048 alt50 = 1
4049 elif LA50 == IDENTIFIER:
4050 LA50_17 = self.input.LA(3)
4051
4052 if (self.synpred91()) :
4053 alt50 = 1
4054 elif LA50 == 62:
4055 LA50_18 = self.input.LA(3)
4056
4057 if (self.synpred91()) :
4058 alt50 = 1
4059 elif LA50 == 64:
4060 LA50_19 = self.input.LA(3)
4061
4062 if (self.synpred91()) :
4063 alt50 = 1
4064 elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
4065 LA50_20 = self.input.LA(3)
4066
4067 if (self.synpred91()) :
4068 alt50 = 1
4069 elif LA50 == 34:
4070 LA50_21 = self.input.LA(3)
4071
4072 if (self.synpred91()) :
4073 alt50 = 1
4074 elif LA50 == 35:
4075 LA50_22 = self.input.LA(3)
4076
4077 if (self.synpred91()) :
4078 alt50 = 1
4079 elif LA50 == 36:
4080 LA50_23 = self.input.LA(3)
4081
4082 if (self.synpred91()) :
4083 alt50 = 1
4084 elif LA50 == 37:
4085 LA50_24 = self.input.LA(3)
4086
4087 if (self.synpred91()) :
4088 alt50 = 1
4089 elif LA50 == 38:
4090 LA50_25 = self.input.LA(3)
4091
4092 if (self.synpred91()) :
4093 alt50 = 1
4094 elif LA50 == 39:
4095 LA50_26 = self.input.LA(3)
4096
4097 if (self.synpred91()) :
4098 alt50 = 1
4099 elif LA50 == 40:
4100 LA50_27 = self.input.LA(3)
4101
4102 if (self.synpred91()) :
4103 alt50 = 1
4104 elif LA50 == 41:
4105 LA50_28 = self.input.LA(3)
4106
4107 if (self.synpred91()) :
4108 alt50 = 1
4109 elif LA50 == 42:
4110 LA50_29 = self.input.LA(3)
4111
4112 if (self.synpred91()) :
4113 alt50 = 1
4114 elif LA50 == 45 or LA50 == 46:
4115 LA50_30 = self.input.LA(3)
4116
4117 if (self.synpred91()) :
4118 alt50 = 1
4119 elif LA50 == 48:
4120 LA50_31 = self.input.LA(3)
4121
4122 if (self.synpred91()) :
4123 alt50 = 1
4124 elif LA50 == 49 or LA50 == 50 or LA50 == 51 or LA50 == 52 or LA50 == 53 or LA50 == 54 or LA50 == 55 or LA50 == 56 or LA50 == 57 or LA50 == 61:
4125 LA50_32 = self.input.LA(3)
4126
4127 if (self.synpred91()) :
4128 alt50 = 1
4129 elif (LA50_0 == 64) :
4130 LA50 = self.input.LA(2)
4131 if LA50 == 65:
4132 LA50_33 = self.input.LA(3)
4133
4134 if (self.synpred91()) :
4135 alt50 = 1
4136 elif LA50 == 62:
4137 LA50_34 = self.input.LA(3)
4138
4139 if (self.synpred91()) :
4140 alt50 = 1
4141 elif LA50 == IDENTIFIER:
4142 LA50_35 = self.input.LA(3)
4143
4144 if (self.synpred91()) :
4145 alt50 = 1
4146 elif LA50 == HEX_LITERAL:
4147 LA50_36 = self.input.LA(3)
4148
4149 if (self.synpred91()) :
4150 alt50 = 1
4151 elif LA50 == OCTAL_LITERAL:
4152 LA50_37 = self.input.LA(3)
4153
4154 if (self.synpred91()) :
4155 alt50 = 1
4156 elif LA50 == DECIMAL_LITERAL:
4157 LA50_38 = self.input.LA(3)
4158
4159 if (self.synpred91()) :
4160 alt50 = 1
4161 elif LA50 == CHARACTER_LITERAL:
4162 LA50_39 = self.input.LA(3)
4163
4164 if (self.synpred91()) :
4165 alt50 = 1
4166 elif LA50 == STRING_LITERAL:
4167 LA50_40 = self.input.LA(3)
4168
4169 if (self.synpred91()) :
4170 alt50 = 1
4171 elif LA50 == FLOATING_POINT_LITERAL:
4172 LA50_41 = self.input.LA(3)
4173
4174 if (self.synpred91()) :
4175 alt50 = 1
4176 elif LA50 == 72:
4177 LA50_42 = self.input.LA(3)
4178
4179 if (self.synpred91()) :
4180 alt50 = 1
4181 elif LA50 == 73:
4182 LA50_43 = self.input.LA(3)
4183
4184 if (self.synpred91()) :
4185 alt50 = 1
4186 elif LA50 == 66 or LA50 == 68 or LA50 == 69 or LA50 == 77 or LA50 == 78 or LA50 == 79:
4187 LA50_44 = self.input.LA(3)
4188
4189 if (self.synpred91()) :
4190 alt50 = 1
4191 elif LA50 == 74:
4192 LA50_45 = self.input.LA(3)
4193
4194 if (self.synpred91()) :
4195 alt50 = 1
4196 if alt50 == 1:
4197 # C.g:0:0: direct_abstract_declarator
4198 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067)
4199 self.direct_abstract_declarator()
4200 self.following.pop()
4201 if self.failed:
4202 return
4203
4204
4205
4206
4207
4208 elif alt51 == 2:
4209 # C.g:347:4: direct_abstract_declarator
4210 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073)
4211 self.direct_abstract_declarator()
4212 self.following.pop()
4213 if self.failed:
4214 return
4215
4216
4217
4218 except RecognitionException as re:
4219 self.reportError(re)
4220 self.recover(self.input, re)
4221 finally:
4222 if self.backtracking > 0:
4223 self.memoize(self.input, 31, abstract_declarator_StartIndex)
4224
4225 pass
4226
4227 return
4228
4229 # $ANTLR end abstract_declarator
4230
4231
4232 # $ANTLR start direct_abstract_declarator
4233 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4234 def direct_abstract_declarator(self, ):
4235
4236 direct_abstract_declarator_StartIndex = self.input.index()
4237 try:
4238 try:
4239 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
4240 return
4241
4242 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4243 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4244 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4245 alt52 = 2
4246 LA52_0 = self.input.LA(1)
4247
4248 if (LA52_0 == 62) :
4249 LA52 = self.input.LA(2)
4250 if LA52 == IDENTIFIER or LA52 == 29 or LA52 == 30 or LA52 == 31 or LA52 == 32 or LA52 == 33 or LA52 == 34 or LA52 == 35 or LA52 == 36 or LA52 == 37 or LA52 == 38 or LA52 == 39 or LA52 == 40 or LA52 == 41 or LA52 == 42 or LA52 == 45 or LA52 == 46 or LA52 == 48 or LA52 == 49 or LA52 == 50 or LA52 == 51 or LA52 == 52 or LA52 == 53 or LA52 == 54 or LA52 == 55 or LA52 == 56 or LA52 == 57 or LA52 == 58 or LA52 == 59 or LA52 == 60 or LA52 == 61 or LA52 == 63:
4251 alt52 = 2
4252 elif LA52 == 66:
4253 LA52_18 = self.input.LA(3)
4254
4255 if (self.synpred93()) :
4256 alt52 = 1
4257 elif (True) :
4258 alt52 = 2
4259 else:
4260 if self.backtracking > 0:
4261 self.failed = True
4262 return
4263
4264 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
4265
4266 raise nvae
4267
4268 elif LA52 == 62 or LA52 == 64:
4269 alt52 = 1
4270 else:
4271 if self.backtracking > 0:
4272 self.failed = True
4273 return
4274
4275 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
4276
4277 raise nvae
4278
4279 elif (LA52_0 == 64) :
4280 alt52 = 2
4281 else:
4282 if self.backtracking > 0:
4283 self.failed = True
4284 return
4285
4286 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
4287
4288 raise nvae
4289
4290 if alt52 == 1:
4291 # C.g:351:6: '(' abstract_declarator ')'
4292 self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1086)
4293 if self.failed:
4294 return
4295 self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088)
4296 self.abstract_declarator()
4297 self.following.pop()
4298 if self.failed:
4299 return
4300 self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090)
4301 if self.failed:
4302 return
4303
4304
4305 elif alt52 == 2:
4306 # C.g:351:36: abstract_declarator_suffix
4307 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094)
4308 self.abstract_declarator_suffix()
4309 self.following.pop()
4310 if self.failed:
4311 return
4312
4313
4314
4315 # C.g:351:65: ( abstract_declarator_suffix )*
4316 while True: #loop53
4317 alt53 = 2
4318 LA53_0 = self.input.LA(1)
4319
4320 if (LA53_0 == 62) :
4321 LA53 = self.input.LA(2)
4322 if LA53 == 63:
4323 LA53_12 = self.input.LA(3)
4324
4325 if (self.synpred94()) :
4326 alt53 = 1
4327
4328
4329 elif LA53 == 58:
4330 LA53_13 = self.input.LA(3)
4331
4332 if (self.synpred94()) :
4333 alt53 = 1
4334
4335
4336 elif LA53 == 66:
4337 LA53_14 = self.input.LA(3)
4338
4339 if (self.synpred94()) :
4340 alt53 = 1
4341
4342
4343 elif LA53 == 59:
4344 LA53_15 = self.input.LA(3)
4345
4346 if (self.synpred94()) :
4347 alt53 = 1
4348
4349
4350 elif LA53 == 60:
4351 LA53_16 = self.input.LA(3)
4352
4353 if (self.synpred94()) :
4354 alt53 = 1
4355
4356
4357 elif LA53 == IDENTIFIER:
4358 LA53_17 = self.input.LA(3)
4359
4360 if (self.synpred94()) :
4361 alt53 = 1
4362
4363
4364 elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33:
4365 LA53_19 = self.input.LA(3)
4366
4367 if (self.synpred94()) :
4368 alt53 = 1
4369
4370
4371 elif LA53 == 34:
4372 LA53_20 = self.input.LA(3)
4373
4374 if (self.synpred94()) :
4375 alt53 = 1
4376
4377
4378 elif LA53 == 35:
4379 LA53_21 = self.input.LA(3)
4380
4381 if (self.synpred94()) :
4382 alt53 = 1
4383
4384
4385 elif LA53 == 36:
4386 LA53_22 = self.input.LA(3)
4387
4388 if (self.synpred94()) :
4389 alt53 = 1
4390
4391
4392 elif LA53 == 37:
4393 LA53_23 = self.input.LA(3)
4394
4395 if (self.synpred94()) :
4396 alt53 = 1
4397
4398
4399 elif LA53 == 38:
4400 LA53_24 = self.input.LA(3)
4401
4402 if (self.synpred94()) :
4403 alt53 = 1
4404
4405
4406 elif LA53 == 39:
4407 LA53_25 = self.input.LA(3)
4408
4409 if (self.synpred94()) :
4410 alt53 = 1
4411
4412
4413 elif LA53 == 40:
4414 LA53_26 = self.input.LA(3)
4415
4416 if (self.synpred94()) :
4417 alt53 = 1
4418
4419
4420 elif LA53 == 41:
4421 LA53_27 = self.input.LA(3)
4422
4423 if (self.synpred94()) :
4424 alt53 = 1
4425
4426
4427 elif LA53 == 42:
4428 LA53_28 = self.input.LA(3)
4429
4430 if (self.synpred94()) :
4431 alt53 = 1
4432
4433
4434 elif LA53 == 45 or LA53 == 46:
4435 LA53_29 = self.input.LA(3)
4436
4437 if (self.synpred94()) :
4438 alt53 = 1
4439
4440
4441 elif LA53 == 48:
4442 LA53_30 = self.input.LA(3)
4443
4444 if (self.synpred94()) :
4445 alt53 = 1
4446
4447
4448 elif LA53 == 49 or LA53 == 50 or LA53 == 51 or LA53 == 52 or LA53 == 53 or LA53 == 54 or LA53 == 55 or LA53 == 56 or LA53 == 57 or LA53 == 61:
4449 LA53_31 = self.input.LA(3)
4450
4451 if (self.synpred94()) :
4452 alt53 = 1
4453
4454
4455
4456 elif (LA53_0 == 64) :
4457 LA53 = self.input.LA(2)
4458 if LA53 == 65:
4459 LA53_33 = self.input.LA(3)
4460
4461 if (self.synpred94()) :
4462 alt53 = 1
4463
4464
4465 elif LA53 == 62:
4466 LA53_34 = self.input.LA(3)
4467
4468 if (self.synpred94()) :
4469 alt53 = 1
4470
4471
4472 elif LA53 == IDENTIFIER:
4473 LA53_35 = self.input.LA(3)
4474
4475 if (self.synpred94()) :
4476 alt53 = 1
4477
4478
4479 elif LA53 == HEX_LITERAL:
4480 LA53_36 = self.input.LA(3)
4481
4482 if (self.synpred94()) :
4483 alt53 = 1
4484
4485
4486 elif LA53 == OCTAL_LITERAL:
4487 LA53_37 = self.input.LA(3)
4488
4489 if (self.synpred94()) :
4490 alt53 = 1
4491
4492
4493 elif LA53 == DECIMAL_LITERAL:
4494 LA53_38 = self.input.LA(3)
4495
4496 if (self.synpred94()) :
4497 alt53 = 1
4498
4499
4500 elif LA53 == CHARACTER_LITERAL:
4501 LA53_39 = self.input.LA(3)
4502
4503 if (self.synpred94()) :
4504 alt53 = 1
4505
4506
4507 elif LA53 == STRING_LITERAL:
4508 LA53_40 = self.input.LA(3)
4509
4510 if (self.synpred94()) :
4511 alt53 = 1
4512
4513
4514 elif LA53 == FLOATING_POINT_LITERAL:
4515 LA53_41 = self.input.LA(3)
4516
4517 if (self.synpred94()) :
4518 alt53 = 1
4519
4520
4521 elif LA53 == 72:
4522 LA53_42 = self.input.LA(3)
4523
4524 if (self.synpred94()) :
4525 alt53 = 1
4526
4527
4528 elif LA53 == 73:
4529 LA53_43 = self.input.LA(3)
4530
4531 if (self.synpred94()) :
4532 alt53 = 1
4533
4534
4535 elif LA53 == 66 or LA53 == 68 or LA53 == 69 or LA53 == 77 or LA53 == 78 or LA53 == 79:
4536 LA53_44 = self.input.LA(3)
4537
4538 if (self.synpred94()) :
4539 alt53 = 1
4540
4541
4542 elif LA53 == 74:
4543 LA53_45 = self.input.LA(3)
4544
4545 if (self.synpred94()) :
4546 alt53 = 1
4547
4548
4549
4550
4551
4552 if alt53 == 1:
4553 # C.g:0:0: abstract_declarator_suffix
4554 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098)
4555 self.abstract_declarator_suffix()
4556 self.following.pop()
4557 if self.failed:
4558 return
4559
4560
4561 else:
4562 break #loop53
4563
4564
4565
4566
4567
4568
4569 except RecognitionException as re:
4570 self.reportError(re)
4571 self.recover(self.input, re)
4572 finally:
4573 if self.backtracking > 0:
4574 self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
4575
4576 pass
4577
4578 return
4579
4580 # $ANTLR end direct_abstract_declarator
4581
4582
4583 # $ANTLR start abstract_declarator_suffix
4584 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4585 def abstract_declarator_suffix(self, ):
4586
4587 abstract_declarator_suffix_StartIndex = self.input.index()
4588 try:
4589 try:
4590 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
4591 return
4592
4593 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4594 alt54 = 4
4595 LA54_0 = self.input.LA(1)
4596
4597 if (LA54_0 == 64) :
4598 LA54_1 = self.input.LA(2)
4599
4600 if (LA54_1 == 65) :
4601 alt54 = 1
4602 elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 62 or LA54_1 == 66 or (68 <= LA54_1 <= 69) or (72 <= LA54_1 <= 74) or (77 <= LA54_1 <= 79)) :
4603 alt54 = 2
4604 else:
4605 if self.backtracking > 0:
4606 self.failed = True
4607 return
4608
4609 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
4610
4611 raise nvae
4612
4613 elif (LA54_0 == 62) :
4614 LA54_2 = self.input.LA(2)
4615
4616 if (LA54_2 == 63) :
4617 alt54 = 3
4618 elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 61) or LA54_2 == 66) :
4619 alt54 = 4
4620 else:
4621 if self.backtracking > 0:
4622 self.failed = True
4623 return
4624
4625 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
4626
4627 raise nvae
4628
4629 else:
4630 if self.backtracking > 0:
4631 self.failed = True
4632 return
4633
4634 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
4635
4636 raise nvae
4637
4638 if alt54 == 1:
4639 # C.g:355:4: '[' ']'
4640 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110)
4641 if self.failed:
4642 return
4643 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112)
4644 if self.failed:
4645 return
4646
4647
4648 elif alt54 == 2:
4649 # C.g:356:4: '[' constant_expression ']'
4650 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1117)
4651 if self.failed:
4652 return
4653 self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1119)
4654 self.constant_expression()
4655 self.following.pop()
4656 if self.failed:
4657 return
4658 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121)
4659 if self.failed:
4660 return
4661
4662
4663 elif alt54 == 3:
4664 # C.g:357:4: '(' ')'
4665 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126)
4666 if self.failed:
4667 return
4668 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128)
4669 if self.failed:
4670 return
4671
4672
4673 elif alt54 == 4:
4674 # C.g:358:4: '(' parameter_type_list ')'
4675 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1133)
4676 if self.failed:
4677 return
4678 self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135)
4679 self.parameter_type_list()
4680 self.following.pop()
4681 if self.failed:
4682 return
4683 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137)
4684 if self.failed:
4685 return
4686
4687
4688
4689 except RecognitionException as re:
4690 self.reportError(re)
4691 self.recover(self.input, re)
4692 finally:
4693 if self.backtracking > 0:
4694 self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
4695
4696 pass
4697
4698 return
4699
4700 # $ANTLR end abstract_declarator_suffix
4701
4702
4703 # $ANTLR start initializer
4704 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4705 def initializer(self, ):
4706
4707 initializer_StartIndex = self.input.index()
4708 try:
4709 try:
4710 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
4711 return
4712
4713 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4714 alt56 = 2
4715 LA56_0 = self.input.LA(1)
4716
4717 if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 62 or LA56_0 == 66 or (68 <= LA56_0 <= 69) or (72 <= LA56_0 <= 74) or (77 <= LA56_0 <= 79)) :
4718 alt56 = 1
4719 elif (LA56_0 == 43) :
4720 alt56 = 2
4721 else:
4722 if self.backtracking > 0:
4723 self.failed = True
4724 return
4725
4726 nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
4727
4728 raise nvae
4729
4730 if alt56 == 1:
4731 # C.g:363:4: assignment_expression
4732 self.following.append(self.FOLLOW_assignment_expression_in_initializer1150)
4733 self.assignment_expression()
4734 self.following.pop()
4735 if self.failed:
4736 return
4737
4738
4739 elif alt56 == 2:
4740 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4741 self.match(self.input, 43, self.FOLLOW_43_in_initializer1155)
4742 if self.failed:
4743 return
4744 self.following.append(self.FOLLOW_initializer_list_in_initializer1157)
4745 self.initializer_list()
4746 self.following.pop()
4747 if self.failed:
4748 return
4749 # C.g:364:25: ( ',' )?
4750 alt55 = 2
4751 LA55_0 = self.input.LA(1)
4752
4753 if (LA55_0 == 27) :
4754 alt55 = 1
4755 if alt55 == 1:
4756 # C.g:0:0: ','
4757 self.match(self.input, 27, self.FOLLOW_27_in_initializer1159)
4758 if self.failed:
4759 return
4760
4761
4762
4763 self.match(self.input, 44, self.FOLLOW_44_in_initializer1162)
4764 if self.failed:
4765 return
4766
4767
4768
4769 except RecognitionException as re:
4770 self.reportError(re)
4771 self.recover(self.input, re)
4772 finally:
4773 if self.backtracking > 0:
4774 self.memoize(self.input, 34, initializer_StartIndex)
4775
4776 pass
4777
4778 return
4779
4780 # $ANTLR end initializer
4781
4782
4783 # $ANTLR start initializer_list
4784 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4785 def initializer_list(self, ):
4786
4787 initializer_list_StartIndex = self.input.index()
4788 try:
4789 try:
4790 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
4791 return
4792
4793 # C.g:368:2: ( initializer ( ',' initializer )* )
4794 # C.g:368:4: initializer ( ',' initializer )*
4795 self.following.append(self.FOLLOW_initializer_in_initializer_list1173)
4796 self.initializer()
4797 self.following.pop()
4798 if self.failed:
4799 return
4800 # C.g:368:16: ( ',' initializer )*
4801 while True: #loop57
4802 alt57 = 2
4803 LA57_0 = self.input.LA(1)
4804
4805 if (LA57_0 == 27) :
4806 LA57_1 = self.input.LA(2)
4807
4808 if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 62 or LA57_1 == 66 or (68 <= LA57_1 <= 69) or (72 <= LA57_1 <= 74) or (77 <= LA57_1 <= 79)) :
4809 alt57 = 1
4810
4811
4812
4813
4814 if alt57 == 1:
4815 # C.g:368:17: ',' initializer
4816 self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1176)
4817 if self.failed:
4818 return
4819 self.following.append(self.FOLLOW_initializer_in_initializer_list1178)
4820 self.initializer()
4821 self.following.pop()
4822 if self.failed:
4823 return
4824
4825
4826 else:
4827 break #loop57
4828
4829
4830
4831
4832
4833
4834 except RecognitionException as re:
4835 self.reportError(re)
4836 self.recover(self.input, re)
4837 finally:
4838 if self.backtracking > 0:
4839 self.memoize(self.input, 35, initializer_list_StartIndex)
4840
4841 pass
4842
4843 return
4844
4845 # $ANTLR end initializer_list
4846
4847 class argument_expression_list_return(object):
4848 def __init__(self):
4849 self.start = None
4850 self.stop = None
4851
4852
4853
4854 # $ANTLR start argument_expression_list
4855 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4856 def argument_expression_list(self, ):
4857
4858 retval = self.argument_expression_list_return()
4859 retval.start = self.input.LT(1)
4860 argument_expression_list_StartIndex = self.input.index()
4861 try:
4862 try:
4863 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
4864 return retval
4865
4866 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4867 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4868 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1196)
4869 self.assignment_expression()
4870 self.following.pop()
4871 if self.failed:
4872 return retval
4873 # C.g:374:28: ( 'OPTIONAL' )?
4874 alt58 = 2
4875 LA58_0 = self.input.LA(1)
4876
4877 if (LA58_0 == 53) :
4878 alt58 = 1
4879 if alt58 == 1:
4880 # C.g:374:29: 'OPTIONAL'
4881 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199)
4882 if self.failed:
4883 return retval
4884
4885
4886
4887 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4888 while True: #loop60
4889 alt60 = 2
4890 LA60_0 = self.input.LA(1)
4891
4892 if (LA60_0 == 27) :
4893 alt60 = 1
4894
4895
4896 if alt60 == 1:
4897 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4898 self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1204)
4899 if self.failed:
4900 return retval
4901 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1206)
4902 self.assignment_expression()
4903 self.following.pop()
4904 if self.failed:
4905 return retval
4906 # C.g:374:69: ( 'OPTIONAL' )?
4907 alt59 = 2
4908 LA59_0 = self.input.LA(1)
4909
4910 if (LA59_0 == 53) :
4911 alt59 = 1
4912 if alt59 == 1:
4913 # C.g:374:70: 'OPTIONAL'
4914 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209)
4915 if self.failed:
4916 return retval
4917
4918
4919
4920
4921
4922 else:
4923 break #loop60
4924
4925
4926
4927
4928
4929 retval.stop = self.input.LT(-1)
4930
4931
4932 except RecognitionException as re:
4933 self.reportError(re)
4934 self.recover(self.input, re)
4935 finally:
4936 if self.backtracking > 0:
4937 self.memoize(self.input, 36, argument_expression_list_StartIndex)
4938
4939 pass
4940
4941 return retval
4942
4943 # $ANTLR end argument_expression_list
4944
4945
4946 # $ANTLR start additive_expression
4947 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4948 def additive_expression(self, ):
4949
4950 additive_expression_StartIndex = self.input.index()
4951 try:
4952 try:
4953 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
4954 return
4955
4956 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4957 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4958 # C.g:378:4: ( multiplicative_expression )
4959 # C.g:378:5: multiplicative_expression
4960 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1225)
4961 self.multiplicative_expression()
4962 self.following.pop()
4963 if self.failed:
4964 return
4965
4966
4967
4968 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4969 while True: #loop61
4970 alt61 = 3
4971 LA61_0 = self.input.LA(1)
4972
4973 if (LA61_0 == 68) :
4974 alt61 = 1
4975 elif (LA61_0 == 69) :
4976 alt61 = 2
4977
4978
4979 if alt61 == 1:
4980 # C.g:378:33: '+' multiplicative_expression
4981 self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1229)
4982 if self.failed:
4983 return
4984 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1231)
4985 self.multiplicative_expression()
4986 self.following.pop()
4987 if self.failed:
4988 return
4989
4990
4991 elif alt61 == 2:
4992 # C.g:378:65: '-' multiplicative_expression
4993 self.match(self.input, 69, self.FOLLOW_69_in_additive_expression1235)
4994 if self.failed:
4995 return
4996 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1237)
4997 self.multiplicative_expression()
4998 self.following.pop()
4999 if self.failed:
5000 return
5001
5002
5003 else:
5004 break #loop61
5005
5006
5007
5008
5009
5010
5011 except RecognitionException as re:
5012 self.reportError(re)
5013 self.recover(self.input, re)
5014 finally:
5015 if self.backtracking > 0:
5016 self.memoize(self.input, 37, additive_expression_StartIndex)
5017
5018 pass
5019
5020 return
5021
5022 # $ANTLR end additive_expression
5023
5024
5025 # $ANTLR start multiplicative_expression
5026 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5027 def multiplicative_expression(self, ):
5028
5029 multiplicative_expression_StartIndex = self.input.index()
5030 try:
5031 try:
5032 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
5033 return
5034
5035 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5036 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5037 # C.g:382:4: ( cast_expression )
5038 # C.g:382:5: cast_expression
5039 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1251)
5040 self.cast_expression()
5041 self.following.pop()
5042 if self.failed:
5043 return
5044
5045
5046
5047 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5048 while True: #loop62
5049 alt62 = 4
5050 LA62 = self.input.LA(1)
5051 if LA62 == 66:
5052 alt62 = 1
5053 elif LA62 == 70:
5054 alt62 = 2
5055 elif LA62 == 71:
5056 alt62 = 3
5057
5058 if alt62 == 1:
5059 # C.g:382:23: '*' cast_expression
5060 self.match(self.input, 66, self.FOLLOW_66_in_multiplicative_expression1255)
5061 if self.failed:
5062 return
5063 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1257)
5064 self.cast_expression()
5065 self.following.pop()
5066 if self.failed:
5067 return
5068
5069
5070 elif alt62 == 2:
5071 # C.g:382:45: '/' cast_expression
5072 self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1261)
5073 if self.failed:
5074 return
5075 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1263)
5076 self.cast_expression()
5077 self.following.pop()
5078 if self.failed:
5079 return
5080
5081
5082 elif alt62 == 3:
5083 # C.g:382:67: '%' cast_expression
5084 self.match(self.input, 71, self.FOLLOW_71_in_multiplicative_expression1267)
5085 if self.failed:
5086 return
5087 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1269)
5088 self.cast_expression()
5089 self.following.pop()
5090 if self.failed:
5091 return
5092
5093
5094 else:
5095 break #loop62
5096
5097
5098
5099
5100
5101
5102 except RecognitionException as re:
5103 self.reportError(re)
5104 self.recover(self.input, re)
5105 finally:
5106 if self.backtracking > 0:
5107 self.memoize(self.input, 38, multiplicative_expression_StartIndex)
5108
5109 pass
5110
5111 return
5112
5113 # $ANTLR end multiplicative_expression
5114
5115
5116 # $ANTLR start cast_expression
5117 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5118 def cast_expression(self, ):
5119
5120 cast_expression_StartIndex = self.input.index()
5121 try:
5122 try:
5123 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
5124 return
5125
5126 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5127 alt63 = 2
5128 LA63_0 = self.input.LA(1)
5129
5130 if (LA63_0 == 62) :
5131 LA63 = self.input.LA(2)
5132 if LA63 == 34 or LA63 == 35 or LA63 == 36 or LA63 == 37 or LA63 == 38 or LA63 == 39 or LA63 == 40 or LA63 == 41 or LA63 == 42 or LA63 == 45 or LA63 == 46 or LA63 == 48 or LA63 == 49 or LA63 == 50 or LA63 == 51 or LA63 == 52 or LA63 == 53 or LA63 == 54 or LA63 == 55 or LA63 == 56 or LA63 == 57 or LA63 == 58 or LA63 == 59 or LA63 == 60 or LA63 == 61:
5133 alt63 = 1
5134 elif LA63 == IDENTIFIER:
5135 LA63_25 = self.input.LA(3)
5136
5137 if (self.synpred109()) :
5138 alt63 = 1
5139 elif (True) :
5140 alt63 = 2
5141 else:
5142 if self.backtracking > 0:
5143 self.failed = True
5144 return
5145
5146 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self.input)
5147
5148 raise nvae
5149
5150 elif LA63 == HEX_LITERAL or LA63 == OCTAL_LITERAL or LA63 == DECIMAL_LITERAL or LA63 == CHARACTER_LITERAL or LA63 == STRING_LITERAL or LA63 == FLOATING_POINT_LITERAL or LA63 == 62 or LA63 == 66 or LA63 == 68 or LA63 == 69 or LA63 == 72 or LA63 == 73 or LA63 == 74 or LA63 == 77 or LA63 == 78 or LA63 == 79:
5151 alt63 = 2
5152 else:
5153 if self.backtracking > 0:
5154 self.failed = True
5155 return
5156
5157 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
5158
5159 raise nvae
5160
5161 elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 66 or (68 <= LA63_0 <= 69) or (72 <= LA63_0 <= 74) or (77 <= LA63_0 <= 79)) :
5162 alt63 = 2
5163 else:
5164 if self.backtracking > 0:
5165 self.failed = True
5166 return
5167
5168 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
5169
5170 raise nvae
5171
5172 if alt63 == 1:
5173 # C.g:386:4: '(' type_name ')' cast_expression
5174 self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1282)
5175 if self.failed:
5176 return
5177 self.following.append(self.FOLLOW_type_name_in_cast_expression1284)
5178 self.type_name()
5179 self.following.pop()
5180 if self.failed:
5181 return
5182 self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286)
5183 if self.failed:
5184 return
5185 self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288)
5186 self.cast_expression()
5187 self.following.pop()
5188 if self.failed:
5189 return
5190
5191
5192 elif alt63 == 2:
5193 # C.g:387:4: unary_expression
5194 self.following.append(self.FOLLOW_unary_expression_in_cast_expression1293)
5195 self.unary_expression()
5196 self.following.pop()
5197 if self.failed:
5198 return
5199
5200
5201
5202 except RecognitionException as re:
5203 self.reportError(re)
5204 self.recover(self.input, re)
5205 finally:
5206 if self.backtracking > 0:
5207 self.memoize(self.input, 39, cast_expression_StartIndex)
5208
5209 pass
5210
5211 return
5212
5213 # $ANTLR end cast_expression
5214
5215
5216 # $ANTLR start unary_expression
5217 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5218 def unary_expression(self, ):
5219
5220 unary_expression_StartIndex = self.input.index()
5221 try:
5222 try:
5223 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
5224 return
5225
5226 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5227 alt64 = 6
5228 LA64 = self.input.LA(1)
5229 if LA64 == IDENTIFIER or LA64 == HEX_LITERAL or LA64 == OCTAL_LITERAL or LA64 == DECIMAL_LITERAL or LA64 == CHARACTER_LITERAL or LA64 == STRING_LITERAL or LA64 == FLOATING_POINT_LITERAL or LA64 == 62:
5230 alt64 = 1
5231 elif LA64 == 72:
5232 alt64 = 2
5233 elif LA64 == 73:
5234 alt64 = 3
5235 elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79:
5236 alt64 = 4
5237 elif LA64 == 74:
5238 LA64_12 = self.input.LA(2)
5239
5240 if (LA64_12 == 62) :
5241 LA64_13 = self.input.LA(3)
5242
5243 if (self.synpred114()) :
5244 alt64 = 5
5245 elif (True) :
5246 alt64 = 6
5247 else:
5248 if self.backtracking > 0:
5249 self.failed = True
5250 return
5251
5252 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self.input)
5253
5254 raise nvae
5255
5256 elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 66 or (68 <= LA64_12 <= 69) or (72 <= LA64_12 <= 74) or (77 <= LA64_12 <= 79)) :
5257 alt64 = 5
5258 else:
5259 if self.backtracking > 0:
5260 self.failed = True
5261 return
5262
5263 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self.input)
5264
5265 raise nvae
5266
5267 else:
5268 if self.backtracking > 0:
5269 self.failed = True
5270 return
5271
5272 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self.input)
5273
5274 raise nvae
5275
5276 if alt64 == 1:
5277 # C.g:391:4: postfix_expression
5278 self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304)
5279 self.postfix_expression()
5280 self.following.pop()
5281 if self.failed:
5282 return
5283
5284
5285 elif alt64 == 2:
5286 # C.g:392:4: '++' unary_expression
5287 self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1309)
5288 if self.failed:
5289 return
5290 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1311)
5291 self.unary_expression()
5292 self.following.pop()
5293 if self.failed:
5294 return
5295
5296
5297 elif alt64 == 3:
5298 # C.g:393:4: '--' unary_expression
5299 self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1316)
5300 if self.failed:
5301 return
5302 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1318)
5303 self.unary_expression()
5304 self.following.pop()
5305 if self.failed:
5306 return
5307
5308
5309 elif alt64 == 4:
5310 # C.g:394:4: unary_operator cast_expression
5311 self.following.append(self.FOLLOW_unary_operator_in_unary_expression1323)
5312 self.unary_operator()
5313 self.following.pop()
5314 if self.failed:
5315 return
5316 self.following.append(self.FOLLOW_cast_expression_in_unary_expression1325)
5317 self.cast_expression()
5318 self.following.pop()
5319 if self.failed:
5320 return
5321
5322
5323 elif alt64 == 5:
5324 # C.g:395:4: 'sizeof' unary_expression
5325 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1330)
5326 if self.failed:
5327 return
5328 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1332)
5329 self.unary_expression()
5330 self.following.pop()
5331 if self.failed:
5332 return
5333
5334
5335 elif alt64 == 6:
5336 # C.g:396:4: 'sizeof' '(' type_name ')'
5337 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1337)
5338 if self.failed:
5339 return
5340 self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1339)
5341 if self.failed:
5342 return
5343 self.following.append(self.FOLLOW_type_name_in_unary_expression1341)
5344 self.type_name()
5345 self.following.pop()
5346 if self.failed:
5347 return
5348 self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343)
5349 if self.failed:
5350 return
5351
5352
5353
5354 except RecognitionException as re:
5355 self.reportError(re)
5356 self.recover(self.input, re)
5357 finally:
5358 if self.backtracking > 0:
5359 self.memoize(self.input, 40, unary_expression_StartIndex)
5360
5361 pass
5362
5363 return
5364
5365 # $ANTLR end unary_expression
5366
5367
5368 # $ANTLR start postfix_expression
5369 # C.g:399:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
5370 def postfix_expression(self, ):
5371 self.postfix_expression_stack.append(postfix_expression_scope())
5372 postfix_expression_StartIndex = self.input.index()
5373 a = None
5374 b = None
5375 x = None
5376 y = None
5377 z = None
5378 p = None
5379
5380 c = None
5381
5382
5383
5384 self.postfix_expression_stack[-1].FuncCallText = ''
5385
5386 try:
5387 try:
5388 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
5389 return
5390
5391 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5392 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5393 self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1367)
5394 p = self.primary_expression()
5395 self.following.pop()
5396 if self.failed:
5397 return
5398 if self.backtracking == 0:
5399 self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start, p.stop)
5400
5401 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5402 while True: #loop65
5403 alt65 = 10
5404 LA65 = self.input.LA(1)
5405 if LA65 == 66:
5406 LA65_1 = self.input.LA(2)
5407
5408 if (LA65_1 == IDENTIFIER) :
5409 LA65_30 = self.input.LA(3)
5410
5411 if (self.synpred120()) :
5412 alt65 = 6
5413
5414
5415
5416
5417 elif LA65 == 64:
5418 alt65 = 1
5419 elif LA65 == 62:
5420 LA65 = self.input.LA(2)
5421 if LA65 == 63:
5422 alt65 = 2
5423 elif LA65 == 29 or LA65 == 30 or LA65 == 31 or LA65 == 32 or LA65 == 33 or LA65 == 34 or LA65 == 35 or LA65 == 36 or LA65 == 37 or LA65 == 38 or LA65 == 39 or LA65 == 40 or LA65 == 41 or LA65 == 42 or LA65 == 45 or LA65 == 46 or LA65 == 48 or LA65 == 49 or LA65 == 50 or LA65 == 51 or LA65 == 52 or LA65 == 53 or LA65 == 54 or LA65 == 55 or LA65 == 56 or LA65 == 57 or LA65 == 58 or LA65 == 59 or LA65 == 60 or LA65 == 61:
5424 alt65 = 4
5425 elif LA65 == IDENTIFIER:
5426 LA65_55 = self.input.LA(3)
5427
5428 if (self.synpred117()) :
5429 alt65 = 3
5430 elif (self.synpred118()) :
5431 alt65 = 4
5432
5433
5434 elif LA65 == 66:
5435 LA65_57 = self.input.LA(3)
5436
5437 if (self.synpred117()) :
5438 alt65 = 3
5439 elif (self.synpred118()) :
5440 alt65 = 4
5441
5442
5443 elif LA65 == HEX_LITERAL or LA65 == OCTAL_LITERAL or LA65 == DECIMAL_LITERAL or LA65 == CHARACTER_LITERAL or LA65 == STRING_LITERAL or LA65 == FLOATING_POINT_LITERAL or LA65 == 62 or LA65 == 68 or LA65 == 69 or LA65 == 72 or LA65 == 73 or LA65 == 74 or LA65 == 77 or LA65 == 78 or LA65 == 79:
5444 alt65 = 3
5445
5446 elif LA65 == 75:
5447 alt65 = 5
5448 elif LA65 == 76:
5449 alt65 = 7
5450 elif LA65 == 72:
5451 alt65 = 8
5452 elif LA65 == 73:
5453 alt65 = 9
5454
5455 if alt65 == 1:
5456 # C.g:407:13: '[' expression ']'
5457 self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1383)
5458 if self.failed:
5459 return
5460 self.following.append(self.FOLLOW_expression_in_postfix_expression1385)
5461 self.expression()
5462 self.following.pop()
5463 if self.failed:
5464 return
5465 self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387)
5466 if self.failed:
5467 return
5468
5469
5470 elif alt65 == 2:
5471 # C.g:408:13: '(' a= ')'
5472 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1401)
5473 if self.failed:
5474 return
5475 a = self.input.LT(1)
5476 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1405)
5477 if self.failed:
5478 return
5479 if self.backtracking == 0:
5480 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
5481
5482
5483
5484 elif alt65 == 3:
5485 # C.g:409:13: '(' c= argument_expression_list b= ')'
5486 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1420)
5487 if self.failed:
5488 return
5489 self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1424)
5490 c = self.argument_expression_list()
5491 self.following.pop()
5492 if self.failed:
5493 return
5494 b = self.input.LT(1)
5495 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428)
5496 if self.failed:
5497 return
5498 if self.backtracking == 0:
5499 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start, c.stop))
5500
5501
5502
5503 elif alt65 == 4:
5504 # C.g:410:13: '(' macro_parameter_list ')'
5505 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1444)
5506 if self.failed:
5507 return
5508 self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1446)
5509 self.macro_parameter_list()
5510 self.following.pop()
5511 if self.failed:
5512 return
5513 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448)
5514 if self.failed:
5515 return
5516
5517
5518 elif alt65 == 5:
5519 # C.g:411:13: '.' x= IDENTIFIER
5520 self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1462)
5521 if self.failed:
5522 return
5523 x = self.input.LT(1)
5524 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1466)
5525 if self.failed:
5526 return
5527 if self.backtracking == 0:
5528 self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
5529
5530
5531
5532 elif alt65 == 6:
5533 # C.g:412:13: '*' y= IDENTIFIER
5534 self.match(self.input, 66, self.FOLLOW_66_in_postfix_expression1482)
5535 if self.failed:
5536 return
5537 y = self.input.LT(1)
5538 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1486)
5539 if self.failed:
5540 return
5541 if self.backtracking == 0:
5542 self.postfix_expression_stack[-1].FuncCallText = y.text
5543
5544
5545
5546 elif alt65 == 7:
5547 # C.g:413:13: '->' z= IDENTIFIER
5548 self.match(self.input, 76, self.FOLLOW_76_in_postfix_expression1502)
5549 if self.failed:
5550 return
5551 z = self.input.LT(1)
5552 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1506)
5553 if self.failed:
5554 return
5555 if self.backtracking == 0:
5556 self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
5557
5558
5559
5560 elif alt65 == 8:
5561 # C.g:414:13: '++'
5562 self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522)
5563 if self.failed:
5564 return
5565
5566
5567 elif alt65 == 9:
5568 # C.g:415:13: '--'
5569 self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536)
5570 if self.failed:
5571 return
5572
5573
5574 else:
5575 break #loop65
5576
5577
5578
5579
5580
5581
5582 except RecognitionException as re:
5583 self.reportError(re)
5584 self.recover(self.input, re)
5585 finally:
5586 if self.backtracking > 0:
5587 self.memoize(self.input, 41, postfix_expression_StartIndex)
5588
5589 self.postfix_expression_stack.pop()
5590 pass
5591
5592 return
5593
5594 # $ANTLR end postfix_expression
5595
5596
5597 # $ANTLR start macro_parameter_list
5598 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5599 def macro_parameter_list(self, ):
5600
5601 macro_parameter_list_StartIndex = self.input.index()
5602 try:
5603 try:
5604 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
5605 return
5606
5607 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5608 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5609 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1559)
5610 self.parameter_declaration()
5611 self.following.pop()
5612 if self.failed:
5613 return
5614 # C.g:420:26: ( ',' parameter_declaration )*
5615 while True: #loop66
5616 alt66 = 2
5617 LA66_0 = self.input.LA(1)
5618
5619 if (LA66_0 == 27) :
5620 alt66 = 1
5621
5622
5623 if alt66 == 1:
5624 # C.g:420:27: ',' parameter_declaration
5625 self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1562)
5626 if self.failed:
5627 return
5628 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1564)
5629 self.parameter_declaration()
5630 self.following.pop()
5631 if self.failed:
5632 return
5633
5634
5635 else:
5636 break #loop66
5637
5638
5639
5640
5641
5642
5643 except RecognitionException as re:
5644 self.reportError(re)
5645 self.recover(self.input, re)
5646 finally:
5647 if self.backtracking > 0:
5648 self.memoize(self.input, 42, macro_parameter_list_StartIndex)
5649
5650 pass
5651
5652 return
5653
5654 # $ANTLR end macro_parameter_list
5655
5656
5657 # $ANTLR start unary_operator
5658 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5659 def unary_operator(self, ):
5660
5661 unary_operator_StartIndex = self.input.index()
5662 try:
5663 try:
5664 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
5665 return
5666
5667 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5668 # C.g:
5669 if self.input.LA(1) == 66 or (68 <= self.input.LA(1) <= 69) or (77 <= self.input.LA(1) <= 79):
5670 self.input.consume();
5671 self.errorRecovery = False
5672 self.failed = False
5673
5674 else:
5675 if self.backtracking > 0:
5676 self.failed = True
5677 return
5678
5679 mse = MismatchedSetException(None, self.input)
5680 self.recoverFromMismatchedSet(
5681 self.input, mse, self.FOLLOW_set_in_unary_operator0
5682 )
5683 raise mse
5684
5685
5686
5687
5688
5689
5690 except RecognitionException as re:
5691 self.reportError(re)
5692 self.recover(self.input, re)
5693 finally:
5694 if self.backtracking > 0:
5695 self.memoize(self.input, 43, unary_operator_StartIndex)
5696
5697 pass
5698
5699 return
5700
5701 # $ANTLR end unary_operator
5702
5703 class primary_expression_return(object):
5704 def __init__(self):
5705 self.start = None
5706 self.stop = None
5707
5708
5709
5710 # $ANTLR start primary_expression
5711 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5712 def primary_expression(self, ):
5713
5714 retval = self.primary_expression_return()
5715 retval.start = self.input.LT(1)
5716 primary_expression_StartIndex = self.input.index()
5717 try:
5718 try:
5719 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
5720 return retval
5721
5722 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5723 alt67 = 3
5724 LA67 = self.input.LA(1)
5725 if LA67 == IDENTIFIER:
5726 LA67_1 = self.input.LA(2)
5727
5728 if (LA67_1 == EOF or LA67_1 == 25 or (27 <= LA67_1 <= 28) or LA67_1 == 44 or LA67_1 == 47 or LA67_1 == 53 or (62 <= LA67_1 <= 66) or (68 <= LA67_1 <= 73) or (75 <= LA67_1 <= 77) or (80 <= LA67_1 <= 102)) :
5729 alt67 = 1
5730 elif (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
5731 alt67 = 2
5732 else:
5733 if self.backtracking > 0:
5734 self.failed = True
5735 return retval
5736
5737 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input)
5738
5739 raise nvae
5740
5741 elif LA67 == HEX_LITERAL or LA67 == OCTAL_LITERAL or LA67 == DECIMAL_LITERAL or LA67 == CHARACTER_LITERAL or LA67 == STRING_LITERAL or LA67 == FLOATING_POINT_LITERAL:
5742 alt67 = 2
5743 elif LA67 == 62:
5744 alt67 = 3
5745 else:
5746 if self.backtracking > 0:
5747 self.failed = True
5748 return retval
5749
5750 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
5751
5752 raise nvae
5753
5754 if alt67 == 1:
5755 # C.g:433:4: IDENTIFIER
5756 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1613)
5757 if self.failed:
5758 return retval
5759
5760
5761 elif alt67 == 2:
5762 # C.g:434:4: constant
5763 self.following.append(self.FOLLOW_constant_in_primary_expression1618)
5764 self.constant()
5765 self.following.pop()
5766 if self.failed:
5767 return retval
5768
5769
5770 elif alt67 == 3:
5771 # C.g:435:4: '(' expression ')'
5772 self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1623)
5773 if self.failed:
5774 return retval
5775 self.following.append(self.FOLLOW_expression_in_primary_expression1625)
5776 self.expression()
5777 self.following.pop()
5778 if self.failed:
5779 return retval
5780 self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627)
5781 if self.failed:
5782 return retval
5783
5784
5785 retval.stop = self.input.LT(-1)
5786
5787
5788 except RecognitionException as re:
5789 self.reportError(re)
5790 self.recover(self.input, re)
5791 finally:
5792 if self.backtracking > 0:
5793 self.memoize(self.input, 44, primary_expression_StartIndex)
5794
5795 pass
5796
5797 return retval
5798
5799 # $ANTLR end primary_expression
5800
5801
5802 # $ANTLR start constant
5803 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5804 def constant(self, ):
5805
5806 constant_StartIndex = self.input.index()
5807 try:
5808 try:
5809 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
5810 return
5811
5812 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5813 alt72 = 6
5814 LA72 = self.input.LA(1)
5815 if LA72 == HEX_LITERAL:
5816 alt72 = 1
5817 elif LA72 == OCTAL_LITERAL:
5818 alt72 = 2
5819 elif LA72 == DECIMAL_LITERAL:
5820 alt72 = 3
5821 elif LA72 == CHARACTER_LITERAL:
5822 alt72 = 4
5823 elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
5824 alt72 = 5
5825 elif LA72 == FLOATING_POINT_LITERAL:
5826 alt72 = 6
5827 else:
5828 if self.backtracking > 0:
5829 self.failed = True
5830 return
5831
5832 nvae = NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input)
5833
5834 raise nvae
5835
5836 if alt72 == 1:
5837 # C.g:439:9: HEX_LITERAL
5838 self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1643)
5839 if self.failed:
5840 return
5841
5842
5843 elif alt72 == 2:
5844 # C.g:440:9: OCTAL_LITERAL
5845 self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1653)
5846 if self.failed:
5847 return
5848
5849
5850 elif alt72 == 3:
5851 # C.g:441:9: DECIMAL_LITERAL
5852 self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1663)
5853 if self.failed:
5854 return
5855
5856
5857 elif alt72 == 4:
5858 # C.g:442:7: CHARACTER_LITERAL
5859 self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1671)
5860 if self.failed:
5861 return
5862
5863
5864 elif alt72 == 5:
5865 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5866 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5867 cnt70 = 0
5868 while True: #loop70
5869 alt70 = 2
5870 LA70_0 = self.input.LA(1)
5871
5872 if (LA70_0 == IDENTIFIER) :
5873 LA70_1 = self.input.LA(2)
5874
5875 if (LA70_1 == STRING_LITERAL) :
5876 alt70 = 1
5877 elif (LA70_1 == IDENTIFIER) :
5878 LA70_33 = self.input.LA(3)
5879
5880 if (self.synpred138()) :
5881 alt70 = 1
5882
5883
5884
5885
5886 elif (LA70_0 == STRING_LITERAL) :
5887 alt70 = 1
5888
5889
5890 if alt70 == 1:
5891 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5892 # C.g:443:8: ( IDENTIFIER )*
5893 while True: #loop68
5894 alt68 = 2
5895 LA68_0 = self.input.LA(1)
5896
5897 if (LA68_0 == IDENTIFIER) :
5898 alt68 = 1
5899
5900
5901 if alt68 == 1:
5902 # C.g:0:0: IDENTIFIER
5903 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680)
5904 if self.failed:
5905 return
5906
5907
5908 else:
5909 break #loop68
5910
5911
5912 # C.g:443:20: ( STRING_LITERAL )+
5913 cnt69 = 0
5914 while True: #loop69
5915 alt69 = 2
5916 LA69_0 = self.input.LA(1)
5917
5918 if (LA69_0 == STRING_LITERAL) :
5919 LA69_31 = self.input.LA(2)
5920
5921 if (self.synpred137()) :
5922 alt69 = 1
5923
5924
5925
5926
5927 if alt69 == 1:
5928 # C.g:0:0: STRING_LITERAL
5929 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683)
5930 if self.failed:
5931 return
5932
5933
5934 else:
5935 if cnt69 >= 1:
5936 break #loop69
5937
5938 if self.backtracking > 0:
5939 self.failed = True
5940 return
5941
5942 eee = EarlyExitException(69, self.input)
5943 raise eee
5944
5945 cnt69 += 1
5946
5947
5948
5949
5950 else:
5951 if cnt70 >= 1:
5952 break #loop70
5953
5954 if self.backtracking > 0:
5955 self.failed = True
5956 return
5957
5958 eee = EarlyExitException(70, self.input)
5959 raise eee
5960
5961 cnt70 += 1
5962
5963
5964 # C.g:443:38: ( IDENTIFIER )*
5965 while True: #loop71
5966 alt71 = 2
5967 LA71_0 = self.input.LA(1)
5968
5969 if (LA71_0 == IDENTIFIER) :
5970 alt71 = 1
5971
5972
5973 if alt71 == 1:
5974 # C.g:0:0: IDENTIFIER
5975 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688)
5976 if self.failed:
5977 return
5978
5979
5980 else:
5981 break #loop71
5982
5983
5984
5985
5986 elif alt72 == 6:
5987 # C.g:444:9: FLOATING_POINT_LITERAL
5988 self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699)
5989 if self.failed:
5990 return
5991
5992
5993
5994 except RecognitionException as re:
5995 self.reportError(re)
5996 self.recover(self.input, re)
5997 finally:
5998 if self.backtracking > 0:
5999 self.memoize(self.input, 45, constant_StartIndex)
6000
6001 pass
6002
6003 return
6004
6005 # $ANTLR end constant
6006
6007 class expression_return(object):
6008 def __init__(self):
6009 self.start = None
6010 self.stop = None
6011
6012
6013
6014 # $ANTLR start expression
6015 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6016 def expression(self, ):
6017
6018 retval = self.expression_return()
6019 retval.start = self.input.LT(1)
6020 expression_StartIndex = self.input.index()
6021 try:
6022 try:
6023 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
6024 return retval
6025
6026 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6027 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6028 self.following.append(self.FOLLOW_assignment_expression_in_expression1715)
6029 self.assignment_expression()
6030 self.following.pop()
6031 if self.failed:
6032 return retval
6033 # C.g:450:26: ( ',' assignment_expression )*
6034 while True: #loop73
6035 alt73 = 2
6036 LA73_0 = self.input.LA(1)
6037
6038 if (LA73_0 == 27) :
6039 alt73 = 1
6040
6041
6042 if alt73 == 1:
6043 # C.g:450:27: ',' assignment_expression
6044 self.match(self.input, 27, self.FOLLOW_27_in_expression1718)
6045 if self.failed:
6046 return retval
6047 self.following.append(self.FOLLOW_assignment_expression_in_expression1720)
6048 self.assignment_expression()
6049 self.following.pop()
6050 if self.failed:
6051 return retval
6052
6053
6054 else:
6055 break #loop73
6056
6057
6058
6059
6060
6061 retval.stop = self.input.LT(-1)
6062
6063
6064 except RecognitionException as re:
6065 self.reportError(re)
6066 self.recover(self.input, re)
6067 finally:
6068 if self.backtracking > 0:
6069 self.memoize(self.input, 46, expression_StartIndex)
6070
6071 pass
6072
6073 return retval
6074
6075 # $ANTLR end expression
6076
6077
6078 # $ANTLR start constant_expression
6079 # C.g:453:1: constant_expression : conditional_expression ;
6080 def constant_expression(self, ):
6081
6082 constant_expression_StartIndex = self.input.index()
6083 try:
6084 try:
6085 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
6086 return
6087
6088 # C.g:454:2: ( conditional_expression )
6089 # C.g:454:4: conditional_expression
6090 self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1733)
6091 self.conditional_expression()
6092 self.following.pop()
6093 if self.failed:
6094 return
6095
6096
6097
6098
6099 except RecognitionException as re:
6100 self.reportError(re)
6101 self.recover(self.input, re)
6102 finally:
6103 if self.backtracking > 0:
6104 self.memoize(self.input, 47, constant_expression_StartIndex)
6105
6106 pass
6107
6108 return
6109
6110 # $ANTLR end constant_expression
6111
6112
6113 # $ANTLR start assignment_expression
6114 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6115 def assignment_expression(self, ):
6116
6117 assignment_expression_StartIndex = self.input.index()
6118 try:
6119 try:
6120 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
6121 return
6122
6123 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6124 alt74 = 2
6125 LA74 = self.input.LA(1)
6126 if LA74 == IDENTIFIER:
6127 LA74 = self.input.LA(2)
6128 if LA74 == 64:
6129 LA74_13 = self.input.LA(3)
6130
6131 if (self.synpred142()) :
6132 alt74 = 1
6133 elif (True) :
6134 alt74 = 2
6135 else:
6136 if self.backtracking > 0:
6137 self.failed = True
6138 return
6139
6140 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
6141
6142 raise nvae
6143
6144 elif LA74 == 62:
6145 LA74_14 = self.input.LA(3)
6146
6147 if (self.synpred142()) :
6148 alt74 = 1
6149 elif (True) :
6150 alt74 = 2
6151 else:
6152 if self.backtracking > 0:
6153 self.failed = True
6154 return
6155
6156 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
6157
6158 raise nvae
6159
6160 elif LA74 == 75:
6161 LA74_15 = self.input.LA(3)
6162
6163 if (self.synpred142()) :
6164 alt74 = 1
6165 elif (True) :
6166 alt74 = 2
6167 else:
6168 if self.backtracking > 0:
6169 self.failed = True
6170 return
6171
6172 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
6173
6174 raise nvae
6175
6176 elif LA74 == 66:
6177 LA74_16 = self.input.LA(3)
6178
6179 if (self.synpred142()) :
6180 alt74 = 1
6181 elif (True) :
6182 alt74 = 2
6183 else:
6184 if self.backtracking > 0:
6185 self.failed = True
6186 return
6187
6188 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
6189
6190 raise nvae
6191
6192 elif LA74 == 76:
6193 LA74_17 = self.input.LA(3)
6194
6195 if (self.synpred142()) :
6196 alt74 = 1
6197 elif (True) :
6198 alt74 = 2
6199 else:
6200 if self.backtracking > 0:
6201 self.failed = True
6202 return
6203
6204 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
6205
6206 raise nvae
6207
6208 elif LA74 == 72:
6209 LA74_18 = self.input.LA(3)
6210
6211 if (self.synpred142()) :
6212 alt74 = 1
6213 elif (True) :
6214 alt74 = 2
6215 else:
6216 if self.backtracking > 0:
6217 self.failed = True
6218 return
6219
6220 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
6221
6222 raise nvae
6223
6224 elif LA74 == 73:
6225 LA74_19 = self.input.LA(3)
6226
6227 if (self.synpred142()) :
6228 alt74 = 1
6229 elif (True) :
6230 alt74 = 2
6231 else:
6232 if self.backtracking > 0:
6233 self.failed = True
6234 return
6235
6236 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
6237
6238 raise nvae
6239
6240 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6241 alt74 = 1
6242 elif LA74 == STRING_LITERAL:
6243 LA74_21 = self.input.LA(3)
6244
6245 if (self.synpred142()) :
6246 alt74 = 1
6247 elif (True) :
6248 alt74 = 2
6249 else:
6250 if self.backtracking > 0:
6251 self.failed = True
6252 return
6253
6254 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
6255
6256 raise nvae
6257
6258 elif LA74 == IDENTIFIER:
6259 LA74_22 = self.input.LA(3)
6260
6261 if (self.synpred142()) :
6262 alt74 = 1
6263 elif (True) :
6264 alt74 = 2
6265 else:
6266 if self.backtracking > 0:
6267 self.failed = True
6268 return
6269
6270 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self.input)
6271
6272 raise nvae
6273
6274 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6275 alt74 = 2
6276 else:
6277 if self.backtracking > 0:
6278 self.failed = True
6279 return
6280
6281 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input)
6282
6283 raise nvae
6284
6285 elif LA74 == HEX_LITERAL:
6286 LA74 = self.input.LA(2)
6287 if LA74 == 64:
6288 LA74_44 = self.input.LA(3)
6289
6290 if (self.synpred142()) :
6291 alt74 = 1
6292 elif (True) :
6293 alt74 = 2
6294 else:
6295 if self.backtracking > 0:
6296 self.failed = True
6297 return
6298
6299 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
6300
6301 raise nvae
6302
6303 elif LA74 == 62:
6304 LA74_45 = self.input.LA(3)
6305
6306 if (self.synpred142()) :
6307 alt74 = 1
6308 elif (True) :
6309 alt74 = 2
6310 else:
6311 if self.backtracking > 0:
6312 self.failed = True
6313 return
6314
6315 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
6316
6317 raise nvae
6318
6319 elif LA74 == 75:
6320 LA74_46 = self.input.LA(3)
6321
6322 if (self.synpred142()) :
6323 alt74 = 1
6324 elif (True) :
6325 alt74 = 2
6326 else:
6327 if self.backtracking > 0:
6328 self.failed = True
6329 return
6330
6331 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
6332
6333 raise nvae
6334
6335 elif LA74 == 66:
6336 LA74_47 = self.input.LA(3)
6337
6338 if (self.synpred142()) :
6339 alt74 = 1
6340 elif (True) :
6341 alt74 = 2
6342 else:
6343 if self.backtracking > 0:
6344 self.failed = True
6345 return
6346
6347 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
6348
6349 raise nvae
6350
6351 elif LA74 == 76:
6352 LA74_48 = self.input.LA(3)
6353
6354 if (self.synpred142()) :
6355 alt74 = 1
6356 elif (True) :
6357 alt74 = 2
6358 else:
6359 if self.backtracking > 0:
6360 self.failed = True
6361 return
6362
6363 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
6364
6365 raise nvae
6366
6367 elif LA74 == 72:
6368 LA74_49 = self.input.LA(3)
6369
6370 if (self.synpred142()) :
6371 alt74 = 1
6372 elif (True) :
6373 alt74 = 2
6374 else:
6375 if self.backtracking > 0:
6376 self.failed = True
6377 return
6378
6379 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
6380
6381 raise nvae
6382
6383 elif LA74 == 73:
6384 LA74_50 = self.input.LA(3)
6385
6386 if (self.synpred142()) :
6387 alt74 = 1
6388 elif (True) :
6389 alt74 = 2
6390 else:
6391 if self.backtracking > 0:
6392 self.failed = True
6393 return
6394
6395 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
6396
6397 raise nvae
6398
6399 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6400 alt74 = 2
6401 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6402 alt74 = 1
6403 else:
6404 if self.backtracking > 0:
6405 self.failed = True
6406 return
6407
6408 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input)
6409
6410 raise nvae
6411
6412 elif LA74 == OCTAL_LITERAL:
6413 LA74 = self.input.LA(2)
6414 if LA74 == 64:
6415 LA74_73 = self.input.LA(3)
6416
6417 if (self.synpred142()) :
6418 alt74 = 1
6419 elif (True) :
6420 alt74 = 2
6421 else:
6422 if self.backtracking > 0:
6423 self.failed = True
6424 return
6425
6426 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
6427
6428 raise nvae
6429
6430 elif LA74 == 62:
6431 LA74_74 = self.input.LA(3)
6432
6433 if (self.synpred142()) :
6434 alt74 = 1
6435 elif (True) :
6436 alt74 = 2
6437 else:
6438 if self.backtracking > 0:
6439 self.failed = True
6440 return
6441
6442 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
6443
6444 raise nvae
6445
6446 elif LA74 == 75:
6447 LA74_75 = self.input.LA(3)
6448
6449 if (self.synpred142()) :
6450 alt74 = 1
6451 elif (True) :
6452 alt74 = 2
6453 else:
6454 if self.backtracking > 0:
6455 self.failed = True
6456 return
6457
6458 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
6459
6460 raise nvae
6461
6462 elif LA74 == 66:
6463 LA74_76 = self.input.LA(3)
6464
6465 if (self.synpred142()) :
6466 alt74 = 1
6467 elif (True) :
6468 alt74 = 2
6469 else:
6470 if self.backtracking > 0:
6471 self.failed = True
6472 return
6473
6474 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
6475
6476 raise nvae
6477
6478 elif LA74 == 76:
6479 LA74_77 = self.input.LA(3)
6480
6481 if (self.synpred142()) :
6482 alt74 = 1
6483 elif (True) :
6484 alt74 = 2
6485 else:
6486 if self.backtracking > 0:
6487 self.failed = True
6488 return
6489
6490 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
6491
6492 raise nvae
6493
6494 elif LA74 == 72:
6495 LA74_78 = self.input.LA(3)
6496
6497 if (self.synpred142()) :
6498 alt74 = 1
6499 elif (True) :
6500 alt74 = 2
6501 else:
6502 if self.backtracking > 0:
6503 self.failed = True
6504 return
6505
6506 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
6507
6508 raise nvae
6509
6510 elif LA74 == 73:
6511 LA74_79 = self.input.LA(3)
6512
6513 if (self.synpred142()) :
6514 alt74 = 1
6515 elif (True) :
6516 alt74 = 2
6517 else:
6518 if self.backtracking > 0:
6519 self.failed = True
6520 return
6521
6522 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
6523
6524 raise nvae
6525
6526 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6527 alt74 = 1
6528 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6529 alt74 = 2
6530 else:
6531 if self.backtracking > 0:
6532 self.failed = True
6533 return
6534
6535 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input)
6536
6537 raise nvae
6538
6539 elif LA74 == DECIMAL_LITERAL:
6540 LA74 = self.input.LA(2)
6541 if LA74 == 64:
6542 LA74_102 = self.input.LA(3)
6543
6544 if (self.synpred142()) :
6545 alt74 = 1
6546 elif (True) :
6547 alt74 = 2
6548 else:
6549 if self.backtracking > 0:
6550 self.failed = True
6551 return
6552
6553 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
6554
6555 raise nvae
6556
6557 elif LA74 == 62:
6558 LA74_103 = self.input.LA(3)
6559
6560 if (self.synpred142()) :
6561 alt74 = 1
6562 elif (True) :
6563 alt74 = 2
6564 else:
6565 if self.backtracking > 0:
6566 self.failed = True
6567 return
6568
6569 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
6570
6571 raise nvae
6572
6573 elif LA74 == 75:
6574 LA74_104 = self.input.LA(3)
6575
6576 if (self.synpred142()) :
6577 alt74 = 1
6578 elif (True) :
6579 alt74 = 2
6580 else:
6581 if self.backtracking > 0:
6582 self.failed = True
6583 return
6584
6585 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
6586
6587 raise nvae
6588
6589 elif LA74 == 66:
6590 LA74_105 = self.input.LA(3)
6591
6592 if (self.synpred142()) :
6593 alt74 = 1
6594 elif (True) :
6595 alt74 = 2
6596 else:
6597 if self.backtracking > 0:
6598 self.failed = True
6599 return
6600
6601 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
6602
6603 raise nvae
6604
6605 elif LA74 == 76:
6606 LA74_106 = self.input.LA(3)
6607
6608 if (self.synpred142()) :
6609 alt74 = 1
6610 elif (True) :
6611 alt74 = 2
6612 else:
6613 if self.backtracking > 0:
6614 self.failed = True
6615 return
6616
6617 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
6618
6619 raise nvae
6620
6621 elif LA74 == 72:
6622 LA74_107 = self.input.LA(3)
6623
6624 if (self.synpred142()) :
6625 alt74 = 1
6626 elif (True) :
6627 alt74 = 2
6628 else:
6629 if self.backtracking > 0:
6630 self.failed = True
6631 return
6632
6633 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
6634
6635 raise nvae
6636
6637 elif LA74 == 73:
6638 LA74_108 = self.input.LA(3)
6639
6640 if (self.synpred142()) :
6641 alt74 = 1
6642 elif (True) :
6643 alt74 = 2
6644 else:
6645 if self.backtracking > 0:
6646 self.failed = True
6647 return
6648
6649 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input)
6650
6651 raise nvae
6652
6653 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6654 alt74 = 2
6655 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6656 alt74 = 1
6657 else:
6658 if self.backtracking > 0:
6659 self.failed = True
6660 return
6661
6662 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input)
6663
6664 raise nvae
6665
6666 elif LA74 == CHARACTER_LITERAL:
6667 LA74 = self.input.LA(2)
6668 if LA74 == 64:
6669 LA74_131 = self.input.LA(3)
6670
6671 if (self.synpred142()) :
6672 alt74 = 1
6673 elif (True) :
6674 alt74 = 2
6675 else:
6676 if self.backtracking > 0:
6677 self.failed = True
6678 return
6679
6680 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
6681
6682 raise nvae
6683
6684 elif LA74 == 62:
6685 LA74_132 = self.input.LA(3)
6686
6687 if (self.synpred142()) :
6688 alt74 = 1
6689 elif (True) :
6690 alt74 = 2
6691 else:
6692 if self.backtracking > 0:
6693 self.failed = True
6694 return
6695
6696 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
6697
6698 raise nvae
6699
6700 elif LA74 == 75:
6701 LA74_133 = self.input.LA(3)
6702
6703 if (self.synpred142()) :
6704 alt74 = 1
6705 elif (True) :
6706 alt74 = 2
6707 else:
6708 if self.backtracking > 0:
6709 self.failed = True
6710 return
6711
6712 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
6713
6714 raise nvae
6715
6716 elif LA74 == 66:
6717 LA74_134 = self.input.LA(3)
6718
6719 if (self.synpred142()) :
6720 alt74 = 1
6721 elif (True) :
6722 alt74 = 2
6723 else:
6724 if self.backtracking > 0:
6725 self.failed = True
6726 return
6727
6728 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
6729
6730 raise nvae
6731
6732 elif LA74 == 76:
6733 LA74_135 = self.input.LA(3)
6734
6735 if (self.synpred142()) :
6736 alt74 = 1
6737 elif (True) :
6738 alt74 = 2
6739 else:
6740 if self.backtracking > 0:
6741 self.failed = True
6742 return
6743
6744 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
6745
6746 raise nvae
6747
6748 elif LA74 == 72:
6749 LA74_136 = self.input.LA(3)
6750
6751 if (self.synpred142()) :
6752 alt74 = 1
6753 elif (True) :
6754 alt74 = 2
6755 else:
6756 if self.backtracking > 0:
6757 self.failed = True
6758 return
6759
6760 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
6761
6762 raise nvae
6763
6764 elif LA74 == 73:
6765 LA74_137 = self.input.LA(3)
6766
6767 if (self.synpred142()) :
6768 alt74 = 1
6769 elif (True) :
6770 alt74 = 2
6771 else:
6772 if self.backtracking > 0:
6773 self.failed = True
6774 return
6775
6776 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
6777
6778 raise nvae
6779
6780 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6781 alt74 = 2
6782 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6783 alt74 = 1
6784 else:
6785 if self.backtracking > 0:
6786 self.failed = True
6787 return
6788
6789 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
6790
6791 raise nvae
6792
6793 elif LA74 == STRING_LITERAL:
6794 LA74 = self.input.LA(2)
6795 if LA74 == IDENTIFIER:
6796 LA74_160 = self.input.LA(3)
6797
6798 if (self.synpred142()) :
6799 alt74 = 1
6800 elif (True) :
6801 alt74 = 2
6802 else:
6803 if self.backtracking > 0:
6804 self.failed = True
6805 return
6806
6807 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
6808
6809 raise nvae
6810
6811 elif LA74 == 64:
6812 LA74_161 = self.input.LA(3)
6813
6814 if (self.synpred142()) :
6815 alt74 = 1
6816 elif (True) :
6817 alt74 = 2
6818 else:
6819 if self.backtracking > 0:
6820 self.failed = True
6821 return
6822
6823 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
6824
6825 raise nvae
6826
6827 elif LA74 == 62:
6828 LA74_162 = self.input.LA(3)
6829
6830 if (self.synpred142()) :
6831 alt74 = 1
6832 elif (True) :
6833 alt74 = 2
6834 else:
6835 if self.backtracking > 0:
6836 self.failed = True
6837 return
6838
6839 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
6840
6841 raise nvae
6842
6843 elif LA74 == 75:
6844 LA74_163 = self.input.LA(3)
6845
6846 if (self.synpred142()) :
6847 alt74 = 1
6848 elif (True) :
6849 alt74 = 2
6850 else:
6851 if self.backtracking > 0:
6852 self.failed = True
6853 return
6854
6855 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
6856
6857 raise nvae
6858
6859 elif LA74 == 66:
6860 LA74_164 = self.input.LA(3)
6861
6862 if (self.synpred142()) :
6863 alt74 = 1
6864 elif (True) :
6865 alt74 = 2
6866 else:
6867 if self.backtracking > 0:
6868 self.failed = True
6869 return
6870
6871 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
6872
6873 raise nvae
6874
6875 elif LA74 == 76:
6876 LA74_165 = self.input.LA(3)
6877
6878 if (self.synpred142()) :
6879 alt74 = 1
6880 elif (True) :
6881 alt74 = 2
6882 else:
6883 if self.backtracking > 0:
6884 self.failed = True
6885 return
6886
6887 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
6888
6889 raise nvae
6890
6891 elif LA74 == 72:
6892 LA74_166 = self.input.LA(3)
6893
6894 if (self.synpred142()) :
6895 alt74 = 1
6896 elif (True) :
6897 alt74 = 2
6898 else:
6899 if self.backtracking > 0:
6900 self.failed = True
6901 return
6902
6903 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
6904
6905 raise nvae
6906
6907 elif LA74 == 73:
6908 LA74_167 = self.input.LA(3)
6909
6910 if (self.synpred142()) :
6911 alt74 = 1
6912 elif (True) :
6913 alt74 = 2
6914 else:
6915 if self.backtracking > 0:
6916 self.failed = True
6917 return
6918
6919 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
6920
6921 raise nvae
6922
6923 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6924 alt74 = 2
6925 elif LA74 == STRING_LITERAL:
6926 LA74_189 = self.input.LA(3)
6927
6928 if (self.synpred142()) :
6929 alt74 = 1
6930 elif (True) :
6931 alt74 = 2
6932 else:
6933 if self.backtracking > 0:
6934 self.failed = True
6935 return
6936
6937 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input)
6938
6939 raise nvae
6940
6941 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6942 alt74 = 1
6943 else:
6944 if self.backtracking > 0:
6945 self.failed = True
6946 return
6947
6948 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input)
6949
6950 raise nvae
6951
6952 elif LA74 == FLOATING_POINT_LITERAL:
6953 LA74 = self.input.LA(2)
6954 if LA74 == 64:
6955 LA74_191 = self.input.LA(3)
6956
6957 if (self.synpred142()) :
6958 alt74 = 1
6959 elif (True) :
6960 alt74 = 2
6961 else:
6962 if self.backtracking > 0:
6963 self.failed = True
6964 return
6965
6966 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
6967
6968 raise nvae
6969
6970 elif LA74 == 62:
6971 LA74_192 = self.input.LA(3)
6972
6973 if (self.synpred142()) :
6974 alt74 = 1
6975 elif (True) :
6976 alt74 = 2
6977 else:
6978 if self.backtracking > 0:
6979 self.failed = True
6980 return
6981
6982 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
6983
6984 raise nvae
6985
6986 elif LA74 == 75:
6987 LA74_193 = self.input.LA(3)
6988
6989 if (self.synpred142()) :
6990 alt74 = 1
6991 elif (True) :
6992 alt74 = 2
6993 else:
6994 if self.backtracking > 0:
6995 self.failed = True
6996 return
6997
6998 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
6999
7000 raise nvae
7001
7002 elif LA74 == 66:
7003 LA74_194 = self.input.LA(3)
7004
7005 if (self.synpred142()) :
7006 alt74 = 1
7007 elif (True) :
7008 alt74 = 2
7009 else:
7010 if self.backtracking > 0:
7011 self.failed = True
7012 return
7013
7014 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
7015
7016 raise nvae
7017
7018 elif LA74 == 76:
7019 LA74_195 = self.input.LA(3)
7020
7021 if (self.synpred142()) :
7022 alt74 = 1
7023 elif (True) :
7024 alt74 = 2
7025 else:
7026 if self.backtracking > 0:
7027 self.failed = True
7028 return
7029
7030 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
7031
7032 raise nvae
7033
7034 elif LA74 == 72:
7035 LA74_196 = self.input.LA(3)
7036
7037 if (self.synpred142()) :
7038 alt74 = 1
7039 elif (True) :
7040 alt74 = 2
7041 else:
7042 if self.backtracking > 0:
7043 self.failed = True
7044 return
7045
7046 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
7047
7048 raise nvae
7049
7050 elif LA74 == 73:
7051 LA74_197 = self.input.LA(3)
7052
7053 if (self.synpred142()) :
7054 alt74 = 1
7055 elif (True) :
7056 alt74 = 2
7057 else:
7058 if self.backtracking > 0:
7059 self.failed = True
7060 return
7061
7062 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input)
7063
7064 raise nvae
7065
7066 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
7067 alt74 = 2
7068 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
7069 alt74 = 1
7070 else:
7071 if self.backtracking > 0:
7072 self.failed = True
7073 return
7074
7075 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
7076
7077 raise nvae
7078
7079 elif LA74 == 62:
7080 LA74 = self.input.LA(2)
7081 if LA74 == IDENTIFIER:
7082 LA74_220 = self.input.LA(3)
7083
7084 if (self.synpred142()) :
7085 alt74 = 1
7086 elif (True) :
7087 alt74 = 2
7088 else:
7089 if self.backtracking > 0:
7090 self.failed = True
7091 return
7092
7093 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input)
7094
7095 raise nvae
7096
7097 elif LA74 == HEX_LITERAL:
7098 LA74_221 = self.input.LA(3)
7099
7100 if (self.synpred142()) :
7101 alt74 = 1
7102 elif (True) :
7103 alt74 = 2
7104 else:
7105 if self.backtracking > 0:
7106 self.failed = True
7107 return
7108
7109 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input)
7110
7111 raise nvae
7112
7113 elif LA74 == OCTAL_LITERAL:
7114 LA74_222 = self.input.LA(3)
7115
7116 if (self.synpred142()) :
7117 alt74 = 1
7118 elif (True) :
7119 alt74 = 2
7120 else:
7121 if self.backtracking > 0:
7122 self.failed = True
7123 return
7124
7125 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input)
7126
7127 raise nvae
7128
7129 elif LA74 == DECIMAL_LITERAL:
7130 LA74_223 = self.input.LA(3)
7131
7132 if (self.synpred142()) :
7133 alt74 = 1
7134 elif (True) :
7135 alt74 = 2
7136 else:
7137 if self.backtracking > 0:
7138 self.failed = True
7139 return
7140
7141 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input)
7142
7143 raise nvae
7144
7145 elif LA74 == CHARACTER_LITERAL:
7146 LA74_224 = self.input.LA(3)
7147
7148 if (self.synpred142()) :
7149 alt74 = 1
7150 elif (True) :
7151 alt74 = 2
7152 else:
7153 if self.backtracking > 0:
7154 self.failed = True
7155 return
7156
7157 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input)
7158
7159 raise nvae
7160
7161 elif LA74 == STRING_LITERAL:
7162 LA74_225 = self.input.LA(3)
7163
7164 if (self.synpred142()) :
7165 alt74 = 1
7166 elif (True) :
7167 alt74 = 2
7168 else:
7169 if self.backtracking > 0:
7170 self.failed = True
7171 return
7172
7173 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input)
7174
7175 raise nvae
7176
7177 elif LA74 == FLOATING_POINT_LITERAL:
7178 LA74_226 = self.input.LA(3)
7179
7180 if (self.synpred142()) :
7181 alt74 = 1
7182 elif (True) :
7183 alt74 = 2
7184 else:
7185 if self.backtracking > 0:
7186 self.failed = True
7187 return
7188
7189 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
7190
7191 raise nvae
7192
7193 elif LA74 == 62:
7194 LA74_227 = self.input.LA(3)
7195
7196 if (self.synpred142()) :
7197 alt74 = 1
7198 elif (True) :
7199 alt74 = 2
7200 else:
7201 if self.backtracking > 0:
7202 self.failed = True
7203 return
7204
7205 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
7206
7207 raise nvae
7208
7209 elif LA74 == 72:
7210 LA74_228 = self.input.LA(3)
7211
7212 if (self.synpred142()) :
7213 alt74 = 1
7214 elif (True) :
7215 alt74 = 2
7216 else:
7217 if self.backtracking > 0:
7218 self.failed = True
7219 return
7220
7221 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
7222
7223 raise nvae
7224
7225 elif LA74 == 73:
7226 LA74_229 = self.input.LA(3)
7227
7228 if (self.synpred142()) :
7229 alt74 = 1
7230 elif (True) :
7231 alt74 = 2
7232 else:
7233 if self.backtracking > 0:
7234 self.failed = True
7235 return
7236
7237 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
7238
7239 raise nvae
7240
7241 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7242 LA74_230 = self.input.LA(3)
7243
7244 if (self.synpred142()) :
7245 alt74 = 1
7246 elif (True) :
7247 alt74 = 2
7248 else:
7249 if self.backtracking > 0:
7250 self.failed = True
7251 return
7252
7253 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
7254
7255 raise nvae
7256
7257 elif LA74 == 74:
7258 LA74_231 = self.input.LA(3)
7259
7260 if (self.synpred142()) :
7261 alt74 = 1
7262 elif (True) :
7263 alt74 = 2
7264 else:
7265 if self.backtracking > 0:
7266 self.failed = True
7267 return
7268
7269 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input)
7270
7271 raise nvae
7272
7273 elif LA74 == 34 or LA74 == 35 or LA74 == 36 or LA74 == 37 or LA74 == 38 or LA74 == 39 or LA74 == 40 or LA74 == 41 or LA74 == 42 or LA74 == 45 or LA74 == 46 or LA74 == 48 or LA74 == 49 or LA74 == 50 or LA74 == 51 or LA74 == 52 or LA74 == 53 or LA74 == 54 or LA74 == 55 or LA74 == 56 or LA74 == 57 or LA74 == 58 or LA74 == 59 or LA74 == 60 or LA74 == 61:
7274 alt74 = 2
7275 else:
7276 if self.backtracking > 0:
7277 self.failed = True
7278 return
7279
7280 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
7281
7282 raise nvae
7283
7284 elif LA74 == 72:
7285 LA74 = self.input.LA(2)
7286 if LA74 == IDENTIFIER:
7287 LA74_244 = self.input.LA(3)
7288
7289 if (self.synpred142()) :
7290 alt74 = 1
7291 elif (True) :
7292 alt74 = 2
7293 else:
7294 if self.backtracking > 0:
7295 self.failed = True
7296 return
7297
7298 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input)
7299
7300 raise nvae
7301
7302 elif LA74 == HEX_LITERAL:
7303 LA74_245 = self.input.LA(3)
7304
7305 if (self.synpred142()) :
7306 alt74 = 1
7307 elif (True) :
7308 alt74 = 2
7309 else:
7310 if self.backtracking > 0:
7311 self.failed = True
7312 return
7313
7314 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input)
7315
7316 raise nvae
7317
7318 elif LA74 == OCTAL_LITERAL:
7319 LA74_246 = self.input.LA(3)
7320
7321 if (self.synpred142()) :
7322 alt74 = 1
7323 elif (True) :
7324 alt74 = 2
7325 else:
7326 if self.backtracking > 0:
7327 self.failed = True
7328 return
7329
7330 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input)
7331
7332 raise nvae
7333
7334 elif LA74 == DECIMAL_LITERAL:
7335 LA74_247 = self.input.LA(3)
7336
7337 if (self.synpred142()) :
7338 alt74 = 1
7339 elif (True) :
7340 alt74 = 2
7341 else:
7342 if self.backtracking > 0:
7343 self.failed = True
7344 return
7345
7346 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input)
7347
7348 raise nvae
7349
7350 elif LA74 == CHARACTER_LITERAL:
7351 LA74_248 = self.input.LA(3)
7352
7353 if (self.synpred142()) :
7354 alt74 = 1
7355 elif (True) :
7356 alt74 = 2
7357 else:
7358 if self.backtracking > 0:
7359 self.failed = True
7360 return
7361
7362 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input)
7363
7364 raise nvae
7365
7366 elif LA74 == STRING_LITERAL:
7367 LA74_249 = self.input.LA(3)
7368
7369 if (self.synpred142()) :
7370 alt74 = 1
7371 elif (True) :
7372 alt74 = 2
7373 else:
7374 if self.backtracking > 0:
7375 self.failed = True
7376 return
7377
7378 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input)
7379
7380 raise nvae
7381
7382 elif LA74 == FLOATING_POINT_LITERAL:
7383 LA74_250 = self.input.LA(3)
7384
7385 if (self.synpred142()) :
7386 alt74 = 1
7387 elif (True) :
7388 alt74 = 2
7389 else:
7390 if self.backtracking > 0:
7391 self.failed = True
7392 return
7393
7394 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
7395
7396 raise nvae
7397
7398 elif LA74 == 62:
7399 LA74_251 = self.input.LA(3)
7400
7401 if (self.synpred142()) :
7402 alt74 = 1
7403 elif (True) :
7404 alt74 = 2
7405 else:
7406 if self.backtracking > 0:
7407 self.failed = True
7408 return
7409
7410 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
7411
7412 raise nvae
7413
7414 elif LA74 == 72:
7415 LA74_252 = self.input.LA(3)
7416
7417 if (self.synpred142()) :
7418 alt74 = 1
7419 elif (True) :
7420 alt74 = 2
7421 else:
7422 if self.backtracking > 0:
7423 self.failed = True
7424 return
7425
7426 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
7427
7428 raise nvae
7429
7430 elif LA74 == 73:
7431 LA74_253 = self.input.LA(3)
7432
7433 if (self.synpred142()) :
7434 alt74 = 1
7435 elif (True) :
7436 alt74 = 2
7437 else:
7438 if self.backtracking > 0:
7439 self.failed = True
7440 return
7441
7442 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
7443
7444 raise nvae
7445
7446 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7447 LA74_254 = self.input.LA(3)
7448
7449 if (self.synpred142()) :
7450 alt74 = 1
7451 elif (True) :
7452 alt74 = 2
7453 else:
7454 if self.backtracking > 0:
7455 self.failed = True
7456 return
7457
7458 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
7459
7460 raise nvae
7461
7462 elif LA74 == 74:
7463 LA74_255 = self.input.LA(3)
7464
7465 if (self.synpred142()) :
7466 alt74 = 1
7467 elif (True) :
7468 alt74 = 2
7469 else:
7470 if self.backtracking > 0:
7471 self.failed = True
7472 return
7473
7474 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
7475
7476 raise nvae
7477
7478 else:
7479 if self.backtracking > 0:
7480 self.failed = True
7481 return
7482
7483 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
7484
7485 raise nvae
7486
7487 elif LA74 == 73:
7488 LA74 = self.input.LA(2)
7489 if LA74 == IDENTIFIER:
7490 LA74_256 = self.input.LA(3)
7491
7492 if (self.synpred142()) :
7493 alt74 = 1
7494 elif (True) :
7495 alt74 = 2
7496 else:
7497 if self.backtracking > 0:
7498 self.failed = True
7499 return
7500
7501 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input)
7502
7503 raise nvae
7504
7505 elif LA74 == HEX_LITERAL:
7506 LA74_257 = self.input.LA(3)
7507
7508 if (self.synpred142()) :
7509 alt74 = 1
7510 elif (True) :
7511 alt74 = 2
7512 else:
7513 if self.backtracking > 0:
7514 self.failed = True
7515 return
7516
7517 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input)
7518
7519 raise nvae
7520
7521 elif LA74 == OCTAL_LITERAL:
7522 LA74_258 = self.input.LA(3)
7523
7524 if (self.synpred142()) :
7525 alt74 = 1
7526 elif (True) :
7527 alt74 = 2
7528 else:
7529 if self.backtracking > 0:
7530 self.failed = True
7531 return
7532
7533 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input)
7534
7535 raise nvae
7536
7537 elif LA74 == DECIMAL_LITERAL:
7538 LA74_259 = self.input.LA(3)
7539
7540 if (self.synpred142()) :
7541 alt74 = 1
7542 elif (True) :
7543 alt74 = 2
7544 else:
7545 if self.backtracking > 0:
7546 self.failed = True
7547 return
7548
7549 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input)
7550
7551 raise nvae
7552
7553 elif LA74 == CHARACTER_LITERAL:
7554 LA74_260 = self.input.LA(3)
7555
7556 if (self.synpred142()) :
7557 alt74 = 1
7558 elif (True) :
7559 alt74 = 2
7560 else:
7561 if self.backtracking > 0:
7562 self.failed = True
7563 return
7564
7565 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input)
7566
7567 raise nvae
7568
7569 elif LA74 == STRING_LITERAL:
7570 LA74_261 = self.input.LA(3)
7571
7572 if (self.synpred142()) :
7573 alt74 = 1
7574 elif (True) :
7575 alt74 = 2
7576 else:
7577 if self.backtracking > 0:
7578 self.failed = True
7579 return
7580
7581 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input)
7582
7583 raise nvae
7584
7585 elif LA74 == FLOATING_POINT_LITERAL:
7586 LA74_262 = self.input.LA(3)
7587
7588 if (self.synpred142()) :
7589 alt74 = 1
7590 elif (True) :
7591 alt74 = 2
7592 else:
7593 if self.backtracking > 0:
7594 self.failed = True
7595 return
7596
7597 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
7598
7599 raise nvae
7600
7601 elif LA74 == 62:
7602 LA74_263 = self.input.LA(3)
7603
7604 if (self.synpred142()) :
7605 alt74 = 1
7606 elif (True) :
7607 alt74 = 2
7608 else:
7609 if self.backtracking > 0:
7610 self.failed = True
7611 return
7612
7613 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
7614
7615 raise nvae
7616
7617 elif LA74 == 72:
7618 LA74_264 = self.input.LA(3)
7619
7620 if (self.synpred142()) :
7621 alt74 = 1
7622 elif (True) :
7623 alt74 = 2
7624 else:
7625 if self.backtracking > 0:
7626 self.failed = True
7627 return
7628
7629 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
7630
7631 raise nvae
7632
7633 elif LA74 == 73:
7634 LA74_265 = self.input.LA(3)
7635
7636 if (self.synpred142()) :
7637 alt74 = 1
7638 elif (True) :
7639 alt74 = 2
7640 else:
7641 if self.backtracking > 0:
7642 self.failed = True
7643 return
7644
7645 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
7646
7647 raise nvae
7648
7649 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7650 LA74_266 = self.input.LA(3)
7651
7652 if (self.synpred142()) :
7653 alt74 = 1
7654 elif (True) :
7655 alt74 = 2
7656 else:
7657 if self.backtracking > 0:
7658 self.failed = True
7659 return
7660
7661 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
7662
7663 raise nvae
7664
7665 elif LA74 == 74:
7666 LA74_267 = self.input.LA(3)
7667
7668 if (self.synpred142()) :
7669 alt74 = 1
7670 elif (True) :
7671 alt74 = 2
7672 else:
7673 if self.backtracking > 0:
7674 self.failed = True
7675 return
7676
7677 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
7678
7679 raise nvae
7680
7681 else:
7682 if self.backtracking > 0:
7683 self.failed = True
7684 return
7685
7686 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
7687
7688 raise nvae
7689
7690 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7691 LA74 = self.input.LA(2)
7692 if LA74 == 62:
7693 LA74_268 = self.input.LA(3)
7694
7695 if (self.synpred142()) :
7696 alt74 = 1
7697 elif (True) :
7698 alt74 = 2
7699 else:
7700 if self.backtracking > 0:
7701 self.failed = True
7702 return
7703
7704 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input)
7705
7706 raise nvae
7707
7708 elif LA74 == IDENTIFIER:
7709 LA74_269 = self.input.LA(3)
7710
7711 if (self.synpred142()) :
7712 alt74 = 1
7713 elif (True) :
7714 alt74 = 2
7715 else:
7716 if self.backtracking > 0:
7717 self.failed = True
7718 return
7719
7720 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input)
7721
7722 raise nvae
7723
7724 elif LA74 == HEX_LITERAL:
7725 LA74_270 = self.input.LA(3)
7726
7727 if (self.synpred142()) :
7728 alt74 = 1
7729 elif (True) :
7730 alt74 = 2
7731 else:
7732 if self.backtracking > 0:
7733 self.failed = True
7734 return
7735
7736 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input)
7737
7738 raise nvae
7739
7740 elif LA74 == OCTAL_LITERAL:
7741 LA74_271 = self.input.LA(3)
7742
7743 if (self.synpred142()) :
7744 alt74 = 1
7745 elif (True) :
7746 alt74 = 2
7747 else:
7748 if self.backtracking > 0:
7749 self.failed = True
7750 return
7751
7752 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input)
7753
7754 raise nvae
7755
7756 elif LA74 == DECIMAL_LITERAL:
7757 LA74_272 = self.input.LA(3)
7758
7759 if (self.synpred142()) :
7760 alt74 = 1
7761 elif (True) :
7762 alt74 = 2
7763 else:
7764 if self.backtracking > 0:
7765 self.failed = True
7766 return
7767
7768 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input)
7769
7770 raise nvae
7771
7772 elif LA74 == CHARACTER_LITERAL:
7773 LA74_273 = self.input.LA(3)
7774
7775 if (self.synpred142()) :
7776 alt74 = 1
7777 elif (True) :
7778 alt74 = 2
7779 else:
7780 if self.backtracking > 0:
7781 self.failed = True
7782 return
7783
7784 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input)
7785
7786 raise nvae
7787
7788 elif LA74 == STRING_LITERAL:
7789 LA74_274 = self.input.LA(3)
7790
7791 if (self.synpred142()) :
7792 alt74 = 1
7793 elif (True) :
7794 alt74 = 2
7795 else:
7796 if self.backtracking > 0:
7797 self.failed = True
7798 return
7799
7800 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input)
7801
7802 raise nvae
7803
7804 elif LA74 == FLOATING_POINT_LITERAL:
7805 LA74_275 = self.input.LA(3)
7806
7807 if (self.synpred142()) :
7808 alt74 = 1
7809 elif (True) :
7810 alt74 = 2
7811 else:
7812 if self.backtracking > 0:
7813 self.failed = True
7814 return
7815
7816 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
7817
7818 raise nvae
7819
7820 elif LA74 == 72:
7821 LA74_276 = self.input.LA(3)
7822
7823 if (self.synpred142()) :
7824 alt74 = 1
7825 elif (True) :
7826 alt74 = 2
7827 else:
7828 if self.backtracking > 0:
7829 self.failed = True
7830 return
7831
7832 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
7833
7834 raise nvae
7835
7836 elif LA74 == 73:
7837 LA74_277 = self.input.LA(3)
7838
7839 if (self.synpred142()) :
7840 alt74 = 1
7841 elif (True) :
7842 alt74 = 2
7843 else:
7844 if self.backtracking > 0:
7845 self.failed = True
7846 return
7847
7848 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
7849
7850 raise nvae
7851
7852 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7853 LA74_278 = self.input.LA(3)
7854
7855 if (self.synpred142()) :
7856 alt74 = 1
7857 elif (True) :
7858 alt74 = 2
7859 else:
7860 if self.backtracking > 0:
7861 self.failed = True
7862 return
7863
7864 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
7865
7866 raise nvae
7867
7868 elif LA74 == 74:
7869 LA74_279 = self.input.LA(3)
7870
7871 if (self.synpred142()) :
7872 alt74 = 1
7873 elif (True) :
7874 alt74 = 2
7875 else:
7876 if self.backtracking > 0:
7877 self.failed = True
7878 return
7879
7880 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
7881
7882 raise nvae
7883
7884 else:
7885 if self.backtracking > 0:
7886 self.failed = True
7887 return
7888
7889 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
7890
7891 raise nvae
7892
7893 elif LA74 == 74:
7894 LA74 = self.input.LA(2)
7895 if LA74 == 62:
7896 LA74_280 = self.input.LA(3)
7897
7898 if (self.synpred142()) :
7899 alt74 = 1
7900 elif (True) :
7901 alt74 = 2
7902 else:
7903 if self.backtracking > 0:
7904 self.failed = True
7905 return
7906
7907 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input)
7908
7909 raise nvae
7910
7911 elif LA74 == IDENTIFIER:
7912 LA74_281 = self.input.LA(3)
7913
7914 if (self.synpred142()) :
7915 alt74 = 1
7916 elif (True) :
7917 alt74 = 2
7918 else:
7919 if self.backtracking > 0:
7920 self.failed = True
7921 return
7922
7923 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input)
7924
7925 raise nvae
7926
7927 elif LA74 == HEX_LITERAL:
7928 LA74_282 = self.input.LA(3)
7929
7930 if (self.synpred142()) :
7931 alt74 = 1
7932 elif (True) :
7933 alt74 = 2
7934 else:
7935 if self.backtracking > 0:
7936 self.failed = True
7937 return
7938
7939 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input)
7940
7941 raise nvae
7942
7943 elif LA74 == OCTAL_LITERAL:
7944 LA74_283 = self.input.LA(3)
7945
7946 if (self.synpred142()) :
7947 alt74 = 1
7948 elif (True) :
7949 alt74 = 2
7950 else:
7951 if self.backtracking > 0:
7952 self.failed = True
7953 return
7954
7955 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input)
7956
7957 raise nvae
7958
7959 elif LA74 == DECIMAL_LITERAL:
7960 LA74_284 = self.input.LA(3)
7961
7962 if (self.synpred142()) :
7963 alt74 = 1
7964 elif (True) :
7965 alt74 = 2
7966 else:
7967 if self.backtracking > 0:
7968 self.failed = True
7969 return
7970
7971 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input)
7972
7973 raise nvae
7974
7975 elif LA74 == CHARACTER_LITERAL:
7976 LA74_285 = self.input.LA(3)
7977
7978 if (self.synpred142()) :
7979 alt74 = 1
7980 elif (True) :
7981 alt74 = 2
7982 else:
7983 if self.backtracking > 0:
7984 self.failed = True
7985 return
7986
7987 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input)
7988
7989 raise nvae
7990
7991 elif LA74 == STRING_LITERAL:
7992 LA74_286 = self.input.LA(3)
7993
7994 if (self.synpred142()) :
7995 alt74 = 1
7996 elif (True) :
7997 alt74 = 2
7998 else:
7999 if self.backtracking > 0:
8000 self.failed = True
8001 return
8002
8003 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input)
8004
8005 raise nvae
8006
8007 elif LA74 == FLOATING_POINT_LITERAL:
8008 LA74_287 = self.input.LA(3)
8009
8010 if (self.synpred142()) :
8011 alt74 = 1
8012 elif (True) :
8013 alt74 = 2
8014 else:
8015 if self.backtracking > 0:
8016 self.failed = True
8017 return
8018
8019 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
8020
8021 raise nvae
8022
8023 elif LA74 == 72:
8024 LA74_288 = self.input.LA(3)
8025
8026 if (self.synpred142()) :
8027 alt74 = 1
8028 elif (True) :
8029 alt74 = 2
8030 else:
8031 if self.backtracking > 0:
8032 self.failed = True
8033 return
8034
8035 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
8036
8037 raise nvae
8038
8039 elif LA74 == 73:
8040 LA74_289 = self.input.LA(3)
8041
8042 if (self.synpred142()) :
8043 alt74 = 1
8044 elif (True) :
8045 alt74 = 2
8046 else:
8047 if self.backtracking > 0:
8048 self.failed = True
8049 return
8050
8051 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
8052
8053 raise nvae
8054
8055 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
8056 LA74_290 = self.input.LA(3)
8057
8058 if (self.synpred142()) :
8059 alt74 = 1
8060 elif (True) :
8061 alt74 = 2
8062 else:
8063 if self.backtracking > 0:
8064 self.failed = True
8065 return
8066
8067 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
8068
8069 raise nvae
8070
8071 elif LA74 == 74:
8072 LA74_291 = self.input.LA(3)
8073
8074 if (self.synpred142()) :
8075 alt74 = 1
8076 elif (True) :
8077 alt74 = 2
8078 else:
8079 if self.backtracking > 0:
8080 self.failed = True
8081 return
8082
8083 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
8084
8085 raise nvae
8086
8087 else:
8088 if self.backtracking > 0:
8089 self.failed = True
8090 return
8091
8092 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
8093
8094 raise nvae
8095
8096 else:
8097 if self.backtracking > 0:
8098 self.failed = True
8099 return
8100
8101 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
8102
8103 raise nvae
8104
8105 if alt74 == 1:
8106 # C.g:458:4: lvalue assignment_operator assignment_expression
8107 self.following.append(self.FOLLOW_lvalue_in_assignment_expression1744)
8108 self.lvalue()
8109 self.following.pop()
8110 if self.failed:
8111 return
8112 self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1746)
8113 self.assignment_operator()
8114 self.following.pop()
8115 if self.failed:
8116 return
8117 self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748)
8118 self.assignment_expression()
8119 self.following.pop()
8120 if self.failed:
8121 return
8122
8123
8124 elif alt74 == 2:
8125 # C.g:459:4: conditional_expression
8126 self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1753)
8127 self.conditional_expression()
8128 self.following.pop()
8129 if self.failed:
8130 return
8131
8132
8133
8134 except RecognitionException as re:
8135 self.reportError(re)
8136 self.recover(self.input, re)
8137 finally:
8138 if self.backtracking > 0:
8139 self.memoize(self.input, 48, assignment_expression_StartIndex)
8140
8141 pass
8142
8143 return
8144
8145 # $ANTLR end assignment_expression
8146
8147
8148 # $ANTLR start lvalue
8149 # C.g:462:1: lvalue : unary_expression ;
8150 def lvalue(self, ):
8151
8152 lvalue_StartIndex = self.input.index()
8153 try:
8154 try:
8155 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
8156 return
8157
8158 # C.g:463:2: ( unary_expression )
8159 # C.g:463:4: unary_expression
8160 self.following.append(self.FOLLOW_unary_expression_in_lvalue1765)
8161 self.unary_expression()
8162 self.following.pop()
8163 if self.failed:
8164 return
8165
8166
8167
8168
8169 except RecognitionException as re:
8170 self.reportError(re)
8171 self.recover(self.input, re)
8172 finally:
8173 if self.backtracking > 0:
8174 self.memoize(self.input, 49, lvalue_StartIndex)
8175
8176 pass
8177
8178 return
8179
8180 # $ANTLR end lvalue
8181
8182
8183 # $ANTLR start assignment_operator
8184 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8185 def assignment_operator(self, ):
8186
8187 assignment_operator_StartIndex = self.input.index()
8188 try:
8189 try:
8190 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
8191 return
8192
8193 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8194 # C.g:
8195 if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89):
8196 self.input.consume();
8197 self.errorRecovery = False
8198 self.failed = False
8199
8200 else:
8201 if self.backtracking > 0:
8202 self.failed = True
8203 return
8204
8205 mse = MismatchedSetException(None, self.input)
8206 self.recoverFromMismatchedSet(
8207 self.input, mse, self.FOLLOW_set_in_assignment_operator0
8208 )
8209 raise mse
8210
8211
8212
8213
8214
8215
8216 except RecognitionException as re:
8217 self.reportError(re)
8218 self.recover(self.input, re)
8219 finally:
8220 if self.backtracking > 0:
8221 self.memoize(self.input, 50, assignment_operator_StartIndex)
8222
8223 pass
8224
8225 return
8226
8227 # $ANTLR end assignment_operator
8228
8229
8230 # $ANTLR start conditional_expression
8231 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8232 def conditional_expression(self, ):
8233
8234 conditional_expression_StartIndex = self.input.index()
8235 e = None
8236
8237
8238 try:
8239 try:
8240 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
8241 return
8242
8243 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8244 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8245 self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1839)
8246 e = self.logical_or_expression()
8247 self.following.pop()
8248 if self.failed:
8249 return
8250 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8251 alt75 = 2
8252 LA75_0 = self.input.LA(1)
8253
8254 if (LA75_0 == 90) :
8255 alt75 = 1
8256 if alt75 == 1:
8257 # C.g:481:29: '?' expression ':' conditional_expression
8258 self.match(self.input, 90, self.FOLLOW_90_in_conditional_expression1842)
8259 if self.failed:
8260 return
8261 self.following.append(self.FOLLOW_expression_in_conditional_expression1844)
8262 self.expression()
8263 self.following.pop()
8264 if self.failed:
8265 return
8266 self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846)
8267 if self.failed:
8268 return
8269 self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848)
8270 self.conditional_expression()
8271 self.following.pop()
8272 if self.failed:
8273 return
8274 if self.backtracking == 0:
8275 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
8276
8277
8278
8279
8280
8281
8282
8283
8284 except RecognitionException as re:
8285 self.reportError(re)
8286 self.recover(self.input, re)
8287 finally:
8288 if self.backtracking > 0:
8289 self.memoize(self.input, 51, conditional_expression_StartIndex)
8290
8291 pass
8292
8293 return
8294
8295 # $ANTLR end conditional_expression
8296
8297 class logical_or_expression_return(object):
8298 def __init__(self):
8299 self.start = None
8300 self.stop = None
8301
8302
8303
8304 # $ANTLR start logical_or_expression
8305 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8306 def logical_or_expression(self, ):
8307
8308 retval = self.logical_or_expression_return()
8309 retval.start = self.input.LT(1)
8310 logical_or_expression_StartIndex = self.input.index()
8311 try:
8312 try:
8313 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
8314 return retval
8315
8316 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8317 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8318 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1863)
8319 self.logical_and_expression()
8320 self.following.pop()
8321 if self.failed:
8322 return retval
8323 # C.g:485:27: ( '||' logical_and_expression )*
8324 while True: #loop76
8325 alt76 = 2
8326 LA76_0 = self.input.LA(1)
8327
8328 if (LA76_0 == 91) :
8329 alt76 = 1
8330
8331
8332 if alt76 == 1:
8333 # C.g:485:28: '||' logical_and_expression
8334 self.match(self.input, 91, self.FOLLOW_91_in_logical_or_expression1866)
8335 if self.failed:
8336 return retval
8337 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1868)
8338 self.logical_and_expression()
8339 self.following.pop()
8340 if self.failed:
8341 return retval
8342
8343
8344 else:
8345 break #loop76
8346
8347
8348
8349
8350
8351 retval.stop = self.input.LT(-1)
8352
8353
8354 except RecognitionException as re:
8355 self.reportError(re)
8356 self.recover(self.input, re)
8357 finally:
8358 if self.backtracking > 0:
8359 self.memoize(self.input, 52, logical_or_expression_StartIndex)
8360
8361 pass
8362
8363 return retval
8364
8365 # $ANTLR end logical_or_expression
8366
8367
8368 # $ANTLR start logical_and_expression
8369 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8370 def logical_and_expression(self, ):
8371
8372 logical_and_expression_StartIndex = self.input.index()
8373 try:
8374 try:
8375 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
8376 return
8377
8378 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8379 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8380 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1881)
8381 self.inclusive_or_expression()
8382 self.following.pop()
8383 if self.failed:
8384 return
8385 # C.g:489:28: ( '&&' inclusive_or_expression )*
8386 while True: #loop77
8387 alt77 = 2
8388 LA77_0 = self.input.LA(1)
8389
8390 if (LA77_0 == 92) :
8391 alt77 = 1
8392
8393
8394 if alt77 == 1:
8395 # C.g:489:29: '&&' inclusive_or_expression
8396 self.match(self.input, 92, self.FOLLOW_92_in_logical_and_expression1884)
8397 if self.failed:
8398 return
8399 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1886)
8400 self.inclusive_or_expression()
8401 self.following.pop()
8402 if self.failed:
8403 return
8404
8405
8406 else:
8407 break #loop77
8408
8409
8410
8411
8412
8413
8414 except RecognitionException as re:
8415 self.reportError(re)
8416 self.recover(self.input, re)
8417 finally:
8418 if self.backtracking > 0:
8419 self.memoize(self.input, 53, logical_and_expression_StartIndex)
8420
8421 pass
8422
8423 return
8424
8425 # $ANTLR end logical_and_expression
8426
8427
8428 # $ANTLR start inclusive_or_expression
8429 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8430 def inclusive_or_expression(self, ):
8431
8432 inclusive_or_expression_StartIndex = self.input.index()
8433 try:
8434 try:
8435 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
8436 return
8437
8438 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8439 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8440 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899)
8441 self.exclusive_or_expression()
8442 self.following.pop()
8443 if self.failed:
8444 return
8445 # C.g:493:28: ( '|' exclusive_or_expression )*
8446 while True: #loop78
8447 alt78 = 2
8448 LA78_0 = self.input.LA(1)
8449
8450 if (LA78_0 == 93) :
8451 alt78 = 1
8452
8453
8454 if alt78 == 1:
8455 # C.g:493:29: '|' exclusive_or_expression
8456 self.match(self.input, 93, self.FOLLOW_93_in_inclusive_or_expression1902)
8457 if self.failed:
8458 return
8459 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904)
8460 self.exclusive_or_expression()
8461 self.following.pop()
8462 if self.failed:
8463 return
8464
8465
8466 else:
8467 break #loop78
8468
8469
8470
8471
8472
8473
8474 except RecognitionException as re:
8475 self.reportError(re)
8476 self.recover(self.input, re)
8477 finally:
8478 if self.backtracking > 0:
8479 self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
8480
8481 pass
8482
8483 return
8484
8485 # $ANTLR end inclusive_or_expression
8486
8487
8488 # $ANTLR start exclusive_or_expression
8489 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8490 def exclusive_or_expression(self, ):
8491
8492 exclusive_or_expression_StartIndex = self.input.index()
8493 try:
8494 try:
8495 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
8496 return
8497
8498 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8499 # C.g:497:4: and_expression ( '^' and_expression )*
8500 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1917)
8501 self.and_expression()
8502 self.following.pop()
8503 if self.failed:
8504 return
8505 # C.g:497:19: ( '^' and_expression )*
8506 while True: #loop79
8507 alt79 = 2
8508 LA79_0 = self.input.LA(1)
8509
8510 if (LA79_0 == 94) :
8511 alt79 = 1
8512
8513
8514 if alt79 == 1:
8515 # C.g:497:20: '^' and_expression
8516 self.match(self.input, 94, self.FOLLOW_94_in_exclusive_or_expression1920)
8517 if self.failed:
8518 return
8519 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1922)
8520 self.and_expression()
8521 self.following.pop()
8522 if self.failed:
8523 return
8524
8525
8526 else:
8527 break #loop79
8528
8529
8530
8531
8532
8533
8534 except RecognitionException as re:
8535 self.reportError(re)
8536 self.recover(self.input, re)
8537 finally:
8538 if self.backtracking > 0:
8539 self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
8540
8541 pass
8542
8543 return
8544
8545 # $ANTLR end exclusive_or_expression
8546
8547
8548 # $ANTLR start and_expression
8549 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8550 def and_expression(self, ):
8551
8552 and_expression_StartIndex = self.input.index()
8553 try:
8554 try:
8555 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
8556 return
8557
8558 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8559 # C.g:501:4: equality_expression ( '&' equality_expression )*
8560 self.following.append(self.FOLLOW_equality_expression_in_and_expression1935)
8561 self.equality_expression()
8562 self.following.pop()
8563 if self.failed:
8564 return
8565 # C.g:501:24: ( '&' equality_expression )*
8566 while True: #loop80
8567 alt80 = 2
8568 LA80_0 = self.input.LA(1)
8569
8570 if (LA80_0 == 77) :
8571 alt80 = 1
8572
8573
8574 if alt80 == 1:
8575 # C.g:501:25: '&' equality_expression
8576 self.match(self.input, 77, self.FOLLOW_77_in_and_expression1938)
8577 if self.failed:
8578 return
8579 self.following.append(self.FOLLOW_equality_expression_in_and_expression1940)
8580 self.equality_expression()
8581 self.following.pop()
8582 if self.failed:
8583 return
8584
8585
8586 else:
8587 break #loop80
8588
8589
8590
8591
8592
8593
8594 except RecognitionException as re:
8595 self.reportError(re)
8596 self.recover(self.input, re)
8597 finally:
8598 if self.backtracking > 0:
8599 self.memoize(self.input, 56, and_expression_StartIndex)
8600
8601 pass
8602
8603 return
8604
8605 # $ANTLR end and_expression
8606
8607
8608 # $ANTLR start equality_expression
8609 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8610 def equality_expression(self, ):
8611
8612 equality_expression_StartIndex = self.input.index()
8613 try:
8614 try:
8615 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
8616 return
8617
8618 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8619 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8620 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1952)
8621 self.relational_expression()
8622 self.following.pop()
8623 if self.failed:
8624 return
8625 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8626 while True: #loop81
8627 alt81 = 2
8628 LA81_0 = self.input.LA(1)
8629
8630 if ((95 <= LA81_0 <= 96)) :
8631 alt81 = 1
8632
8633
8634 if alt81 == 1:
8635 # C.g:504:27: ( '==' | '!=' ) relational_expression
8636 if (95 <= self.input.LA(1) <= 96):
8637 self.input.consume();
8638 self.errorRecovery = False
8639 self.failed = False
8640
8641 else:
8642 if self.backtracking > 0:
8643 self.failed = True
8644 return
8645
8646 mse = MismatchedSetException(None, self.input)
8647 self.recoverFromMismatchedSet(
8648 self.input, mse, self.FOLLOW_set_in_equality_expression1955
8649 )
8650 raise mse
8651
8652
8653 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961)
8654 self.relational_expression()
8655 self.following.pop()
8656 if self.failed:
8657 return
8658
8659
8660 else:
8661 break #loop81
8662
8663
8664
8665
8666
8667
8668 except RecognitionException as re:
8669 self.reportError(re)
8670 self.recover(self.input, re)
8671 finally:
8672 if self.backtracking > 0:
8673 self.memoize(self.input, 57, equality_expression_StartIndex)
8674
8675 pass
8676
8677 return
8678
8679 # $ANTLR end equality_expression
8680
8681
8682 # $ANTLR start relational_expression
8683 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8684 def relational_expression(self, ):
8685
8686 relational_expression_StartIndex = self.input.index()
8687 try:
8688 try:
8689 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
8690 return
8691
8692 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8693 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8694 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1975)
8695 self.shift_expression()
8696 self.following.pop()
8697 if self.failed:
8698 return
8699 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8700 while True: #loop82
8701 alt82 = 2
8702 LA82_0 = self.input.LA(1)
8703
8704 if ((97 <= LA82_0 <= 100)) :
8705 alt82 = 1
8706
8707
8708 if alt82 == 1:
8709 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8710 if (97 <= self.input.LA(1) <= 100):
8711 self.input.consume();
8712 self.errorRecovery = False
8713 self.failed = False
8714
8715 else:
8716 if self.backtracking > 0:
8717 self.failed = True
8718 return
8719
8720 mse = MismatchedSetException(None, self.input)
8721 self.recoverFromMismatchedSet(
8722 self.input, mse, self.FOLLOW_set_in_relational_expression1978
8723 )
8724 raise mse
8725
8726
8727 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988)
8728 self.shift_expression()
8729 self.following.pop()
8730 if self.failed:
8731 return
8732
8733
8734 else:
8735 break #loop82
8736
8737
8738
8739
8740
8741
8742 except RecognitionException as re:
8743 self.reportError(re)
8744 self.recover(self.input, re)
8745 finally:
8746 if self.backtracking > 0:
8747 self.memoize(self.input, 58, relational_expression_StartIndex)
8748
8749 pass
8750
8751 return
8752
8753 # $ANTLR end relational_expression
8754
8755
8756 # $ANTLR start shift_expression
8757 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8758 def shift_expression(self, ):
8759
8760 shift_expression_StartIndex = self.input.index()
8761 try:
8762 try:
8763 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
8764 return
8765
8766 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8767 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8768 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2001)
8769 self.additive_expression()
8770 self.following.pop()
8771 if self.failed:
8772 return
8773 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8774 while True: #loop83
8775 alt83 = 2
8776 LA83_0 = self.input.LA(1)
8777
8778 if ((101 <= LA83_0 <= 102)) :
8779 alt83 = 1
8780
8781
8782 if alt83 == 1:
8783 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8784 if (101 <= self.input.LA(1) <= 102):
8785 self.input.consume();
8786 self.errorRecovery = False
8787 self.failed = False
8788
8789 else:
8790 if self.backtracking > 0:
8791 self.failed = True
8792 return
8793
8794 mse = MismatchedSetException(None, self.input)
8795 self.recoverFromMismatchedSet(
8796 self.input, mse, self.FOLLOW_set_in_shift_expression2004
8797 )
8798 raise mse
8799
8800
8801 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010)
8802 self.additive_expression()
8803 self.following.pop()
8804 if self.failed:
8805 return
8806
8807
8808 else:
8809 break #loop83
8810
8811
8812
8813
8814
8815
8816 except RecognitionException as re:
8817 self.reportError(re)
8818 self.recover(self.input, re)
8819 finally:
8820 if self.backtracking > 0:
8821 self.memoize(self.input, 59, shift_expression_StartIndex)
8822
8823 pass
8824
8825 return
8826
8827 # $ANTLR end shift_expression
8828
8829
8830 # $ANTLR start statement
8831 # C.g:517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
8832 def statement(self, ):
8833
8834 statement_StartIndex = self.input.index()
8835 try:
8836 try:
8837 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
8838 return
8839
8840 # C.g:518:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
8841 alt84 = 11
8842 LA84 = self.input.LA(1)
8843 if LA84 == IDENTIFIER:
8844 LA84 = self.input.LA(2)
8845 if LA84 == 62:
8846 LA84_43 = self.input.LA(3)
8847
8848 if (self.synpred169()) :
8849 alt84 = 3
8850 elif (self.synpred173()) :
8851 alt84 = 7
8852 elif (self.synpred174()) :
8853 alt84 = 8
8854 elif (True) :
8855 alt84 = 11
8856 else:
8857 if self.backtracking > 0:
8858 self.failed = True
8859 return
8860
8861 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 43, self.input)
8862
8863 raise nvae
8864
8865 elif LA84 == 47:
8866 alt84 = 1
8867 elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 64 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 75 or LA84 == 76 or LA84 == 77 or LA84 == 80 or LA84 == 81 or LA84 == 82 or LA84 == 83 or LA84 == 84 or LA84 == 85 or LA84 == 86 or LA84 == 87 or LA84 == 88 or LA84 == 89 or LA84 == 90 or LA84 == 91 or LA84 == 92 or LA84 == 93 or LA84 == 94 or LA84 == 95 or LA84 == 96 or LA84 == 97 or LA84 == 98 or LA84 == 99 or LA84 == 100 or LA84 == 101 or LA84 == 102:
8868 alt84 = 3
8869 elif LA84 == 66:
8870 LA84_47 = self.input.LA(3)
8871
8872 if (self.synpred169()) :
8873 alt84 = 3
8874 elif (True) :
8875 alt84 = 11
8876 else:
8877 if self.backtracking > 0:
8878 self.failed = True
8879 return
8880
8881 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self.input)
8882
8883 raise nvae
8884
8885 elif LA84 == IDENTIFIER:
8886 LA84_53 = self.input.LA(3)
8887
8888 if (self.synpred169()) :
8889 alt84 = 3
8890 elif (True) :
8891 alt84 = 11
8892 else:
8893 if self.backtracking > 0:
8894 self.failed = True
8895 return
8896
8897 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 53, self.input)
8898
8899 raise nvae
8900
8901 elif LA84 == 25:
8902 LA84_68 = self.input.LA(3)
8903
8904 if (self.synpred169()) :
8905 alt84 = 3
8906 elif (True) :
8907 alt84 = 11
8908 else:
8909 if self.backtracking > 0:
8910 self.failed = True
8911 return
8912
8913 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 68, self.input)
8914
8915 raise nvae
8916
8917 elif LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
8918 alt84 = 11
8919 else:
8920 if self.backtracking > 0:
8921 self.failed = True
8922 return
8923
8924 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self.input)
8925
8926 raise nvae
8927
8928 elif LA84 == 106 or LA84 == 107:
8929 alt84 = 1
8930 elif LA84 == 43:
8931 alt84 = 2
8932 elif LA84 == HEX_LITERAL or LA84 == OCTAL_LITERAL or LA84 == DECIMAL_LITERAL or LA84 == CHARACTER_LITERAL or LA84 == STRING_LITERAL or LA84 == FLOATING_POINT_LITERAL or LA84 == 25 or LA84 == 62 or LA84 == 66 or LA84 == 68 or LA84 == 69 or LA84 == 72 or LA84 == 73 or LA84 == 74 or LA84 == 77 or LA84 == 78 or LA84 == 79:
8933 alt84 = 3
8934 elif LA84 == 108 or LA84 == 110:
8935 alt84 = 4
8936 elif LA84 == 111 or LA84 == 112 or LA84 == 113:
8937 alt84 = 5
8938 elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117:
8939 alt84 = 6
8940 elif LA84 == 103:
8941 alt84 = 8
8942 elif LA84 == 104:
8943 alt84 = 9
8944 elif LA84 == 105:
8945 alt84 = 10
8946 elif LA84 == 26 or LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
8947 alt84 = 11
8948 else:
8949 if self.backtracking > 0:
8950 self.failed = True
8951 return
8952
8953 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self.input)
8954
8955 raise nvae
8956
8957 if alt84 == 1:
8958 # C.g:518:4: labeled_statement
8959 self.following.append(self.FOLLOW_labeled_statement_in_statement2025)
8960 self.labeled_statement()
8961 self.following.pop()
8962 if self.failed:
8963 return
8964
8965
8966 elif alt84 == 2:
8967 # C.g:519:4: compound_statement
8968 self.following.append(self.FOLLOW_compound_statement_in_statement2030)
8969 self.compound_statement()
8970 self.following.pop()
8971 if self.failed:
8972 return
8973
8974
8975 elif alt84 == 3:
8976 # C.g:520:4: expression_statement
8977 self.following.append(self.FOLLOW_expression_statement_in_statement2035)
8978 self.expression_statement()
8979 self.following.pop()
8980 if self.failed:
8981 return
8982
8983
8984 elif alt84 == 4:
8985 # C.g:521:4: selection_statement
8986 self.following.append(self.FOLLOW_selection_statement_in_statement2040)
8987 self.selection_statement()
8988 self.following.pop()
8989 if self.failed:
8990 return
8991
8992
8993 elif alt84 == 5:
8994 # C.g:522:4: iteration_statement
8995 self.following.append(self.FOLLOW_iteration_statement_in_statement2045)
8996 self.iteration_statement()
8997 self.following.pop()
8998 if self.failed:
8999 return
9000
9001
9002 elif alt84 == 6:
9003 # C.g:523:4: jump_statement
9004 self.following.append(self.FOLLOW_jump_statement_in_statement2050)
9005 self.jump_statement()
9006 self.following.pop()
9007 if self.failed:
9008 return
9009
9010
9011 elif alt84 == 7:
9012 # C.g:524:4: macro_statement
9013 self.following.append(self.FOLLOW_macro_statement_in_statement2055)
9014 self.macro_statement()
9015 self.following.pop()
9016 if self.failed:
9017 return
9018
9019
9020 elif alt84 == 8:
9021 # C.g:525:4: asm2_statement
9022 self.following.append(self.FOLLOW_asm2_statement_in_statement2060)
9023 self.asm2_statement()
9024 self.following.pop()
9025 if self.failed:
9026 return
9027
9028
9029 elif alt84 == 9:
9030 # C.g:526:4: asm1_statement
9031 self.following.append(self.FOLLOW_asm1_statement_in_statement2065)
9032 self.asm1_statement()
9033 self.following.pop()
9034 if self.failed:
9035 return
9036
9037
9038 elif alt84 == 10:
9039 # C.g:527:4: asm_statement
9040 self.following.append(self.FOLLOW_asm_statement_in_statement2070)
9041 self.asm_statement()
9042 self.following.pop()
9043 if self.failed:
9044 return
9045
9046
9047 elif alt84 == 11:
9048 # C.g:528:4: declaration
9049 self.following.append(self.FOLLOW_declaration_in_statement2075)
9050 self.declaration()
9051 self.following.pop()
9052 if self.failed:
9053 return
9054
9055
9056
9057 except RecognitionException as re:
9058 self.reportError(re)
9059 self.recover(self.input, re)
9060 finally:
9061 if self.backtracking > 0:
9062 self.memoize(self.input, 60, statement_StartIndex)
9063
9064 pass
9065
9066 return
9067
9068 # $ANTLR end statement
9069
9070
9071 # $ANTLR start asm2_statement
9072 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9073 def asm2_statement(self, ):
9074
9075 asm2_statement_StartIndex = self.input.index()
9076 try:
9077 try:
9078 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
9079 return
9080
9081 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9082 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9083 # C.g:532:4: ( '__asm__' )?
9084 alt85 = 2
9085 LA85_0 = self.input.LA(1)
9086
9087 if (LA85_0 == 103) :
9088 alt85 = 1
9089 if alt85 == 1:
9090 # C.g:0:0: '__asm__'
9091 self.match(self.input, 103, self.FOLLOW_103_in_asm2_statement2086)
9092 if self.failed:
9093 return
9094
9095
9096
9097 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2089)
9098 if self.failed:
9099 return
9100 self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091)
9101 if self.failed:
9102 return
9103 # C.g:532:30: (~ ( ';' ) )*
9104 while True: #loop86
9105 alt86 = 2
9106 LA86_0 = self.input.LA(1)
9107
9108 if (LA86_0 == 63) :
9109 LA86_1 = self.input.LA(2)
9110
9111 if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) :
9112 alt86 = 1
9113
9114
9115 elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) :
9116 alt86 = 1
9117
9118
9119 if alt86 == 1:
9120 # C.g:532:31: ~ ( ';' )
9121 if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 117):
9122 self.input.consume();
9123 self.errorRecovery = False
9124 self.failed = False
9125
9126 else:
9127 if self.backtracking > 0:
9128 self.failed = True
9129 return
9130
9131 mse = MismatchedSetException(None, self.input)
9132 self.recoverFromMismatchedSet(
9133 self.input, mse, self.FOLLOW_set_in_asm2_statement2094
9134 )
9135 raise mse
9136
9137
9138
9139
9140 else:
9141 break #loop86
9142
9143
9144 self.match(self.input, 63, self.FOLLOW_63_in_asm2_statement2101)
9145 if self.failed:
9146 return
9147 self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2103)
9148 if self.failed:
9149 return
9150
9151
9152
9153
9154 except RecognitionException as re:
9155 self.reportError(re)
9156 self.recover(self.input, re)
9157 finally:
9158 if self.backtracking > 0:
9159 self.memoize(self.input, 61, asm2_statement_StartIndex)
9160
9161 pass
9162
9163 return
9164
9165 # $ANTLR end asm2_statement
9166
9167
9168 # $ANTLR start asm1_statement
9169 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9170 def asm1_statement(self, ):
9171
9172 asm1_statement_StartIndex = self.input.index()
9173 try:
9174 try:
9175 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
9176 return
9177
9178 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9179 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9180 self.match(self.input, 104, self.FOLLOW_104_in_asm1_statement2115)
9181 if self.failed:
9182 return
9183 self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2117)
9184 if self.failed:
9185 return
9186 # C.g:536:15: (~ ( '}' ) )*
9187 while True: #loop87
9188 alt87 = 2
9189 LA87_0 = self.input.LA(1)
9190
9191 if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) :
9192 alt87 = 1
9193
9194
9195 if alt87 == 1:
9196 # C.g:536:16: ~ ( '}' )
9197 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9198 self.input.consume();
9199 self.errorRecovery = False
9200 self.failed = False
9201
9202 else:
9203 if self.backtracking > 0:
9204 self.failed = True
9205 return
9206
9207 mse = MismatchedSetException(None, self.input)
9208 self.recoverFromMismatchedSet(
9209 self.input, mse, self.FOLLOW_set_in_asm1_statement2120
9210 )
9211 raise mse
9212
9213
9214
9215
9216 else:
9217 break #loop87
9218
9219
9220 self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127)
9221 if self.failed:
9222 return
9223
9224
9225
9226
9227 except RecognitionException as re:
9228 self.reportError(re)
9229 self.recover(self.input, re)
9230 finally:
9231 if self.backtracking > 0:
9232 self.memoize(self.input, 62, asm1_statement_StartIndex)
9233
9234 pass
9235
9236 return
9237
9238 # $ANTLR end asm1_statement
9239
9240
9241 # $ANTLR start asm_statement
9242 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9243 def asm_statement(self, ):
9244
9245 asm_statement_StartIndex = self.input.index()
9246 try:
9247 try:
9248 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
9249 return
9250
9251 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9252 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9253 self.match(self.input, 105, self.FOLLOW_105_in_asm_statement2138)
9254 if self.failed:
9255 return
9256 self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2140)
9257 if self.failed:
9258 return
9259 # C.g:540:16: (~ ( '}' ) )*
9260 while True: #loop88
9261 alt88 = 2
9262 LA88_0 = self.input.LA(1)
9263
9264 if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) :
9265 alt88 = 1
9266
9267
9268 if alt88 == 1:
9269 # C.g:540:17: ~ ( '}' )
9270 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9271 self.input.consume();
9272 self.errorRecovery = False
9273 self.failed = False
9274
9275 else:
9276 if self.backtracking > 0:
9277 self.failed = True
9278 return
9279
9280 mse = MismatchedSetException(None, self.input)
9281 self.recoverFromMismatchedSet(
9282 self.input, mse, self.FOLLOW_set_in_asm_statement2143
9283 )
9284 raise mse
9285
9286
9287
9288
9289 else:
9290 break #loop88
9291
9292
9293 self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150)
9294 if self.failed:
9295 return
9296
9297
9298
9299
9300 except RecognitionException as re:
9301 self.reportError(re)
9302 self.recover(self.input, re)
9303 finally:
9304 if self.backtracking > 0:
9305 self.memoize(self.input, 63, asm_statement_StartIndex)
9306
9307 pass
9308
9309 return
9310
9311 # $ANTLR end asm_statement
9312
9313
9314 # $ANTLR start macro_statement
9315 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9316 def macro_statement(self, ):
9317
9318 macro_statement_StartIndex = self.input.index()
9319 try:
9320 try:
9321 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
9322 return
9323
9324 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9325 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9326 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2162)
9327 if self.failed:
9328 return
9329 self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2164)
9330 if self.failed:
9331 return
9332 # C.g:544:19: ( declaration )*
9333 while True: #loop89
9334 alt89 = 2
9335 LA89 = self.input.LA(1)
9336 if LA89 == IDENTIFIER:
9337 LA89 = self.input.LA(2)
9338 if LA89 == 62:
9339 LA89_45 = self.input.LA(3)
9340
9341 if (self.synpred181()) :
9342 alt89 = 1
9343
9344
9345 elif LA89 == IDENTIFIER:
9346 LA89_47 = self.input.LA(3)
9347
9348 if (self.synpred181()) :
9349 alt89 = 1
9350
9351
9352 elif LA89 == 66:
9353 LA89_50 = self.input.LA(3)
9354
9355 if (self.synpred181()) :
9356 alt89 = 1
9357
9358
9359 elif LA89 == 25:
9360 LA89_68 = self.input.LA(3)
9361
9362 if (self.synpred181()) :
9363 alt89 = 1
9364
9365
9366 elif LA89 == 58:
9367 LA89_71 = self.input.LA(3)
9368
9369 if (self.synpred181()) :
9370 alt89 = 1
9371
9372
9373 elif LA89 == 59:
9374 LA89_72 = self.input.LA(3)
9375
9376 if (self.synpred181()) :
9377 alt89 = 1
9378
9379
9380 elif LA89 == 60:
9381 LA89_73 = self.input.LA(3)
9382
9383 if (self.synpred181()) :
9384 alt89 = 1
9385
9386
9387 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9388 LA89_74 = self.input.LA(3)
9389
9390 if (self.synpred181()) :
9391 alt89 = 1
9392
9393
9394 elif LA89 == 34:
9395 LA89_75 = self.input.LA(3)
9396
9397 if (self.synpred181()) :
9398 alt89 = 1
9399
9400
9401 elif LA89 == 35:
9402 LA89_76 = self.input.LA(3)
9403
9404 if (self.synpred181()) :
9405 alt89 = 1
9406
9407
9408 elif LA89 == 36:
9409 LA89_77 = self.input.LA(3)
9410
9411 if (self.synpred181()) :
9412 alt89 = 1
9413
9414
9415 elif LA89 == 37:
9416 LA89_78 = self.input.LA(3)
9417
9418 if (self.synpred181()) :
9419 alt89 = 1
9420
9421
9422 elif LA89 == 38:
9423 LA89_79 = self.input.LA(3)
9424
9425 if (self.synpred181()) :
9426 alt89 = 1
9427
9428
9429 elif LA89 == 39:
9430 LA89_80 = self.input.LA(3)
9431
9432 if (self.synpred181()) :
9433 alt89 = 1
9434
9435
9436 elif LA89 == 40:
9437 LA89_81 = self.input.LA(3)
9438
9439 if (self.synpred181()) :
9440 alt89 = 1
9441
9442
9443 elif LA89 == 41:
9444 LA89_82 = self.input.LA(3)
9445
9446 if (self.synpred181()) :
9447 alt89 = 1
9448
9449
9450 elif LA89 == 42:
9451 LA89_83 = self.input.LA(3)
9452
9453 if (self.synpred181()) :
9454 alt89 = 1
9455
9456
9457 elif LA89 == 45 or LA89 == 46:
9458 LA89_84 = self.input.LA(3)
9459
9460 if (self.synpred181()) :
9461 alt89 = 1
9462
9463
9464 elif LA89 == 48:
9465 LA89_85 = self.input.LA(3)
9466
9467 if (self.synpred181()) :
9468 alt89 = 1
9469
9470
9471 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9472 LA89_86 = self.input.LA(3)
9473
9474 if (self.synpred181()) :
9475 alt89 = 1
9476
9477
9478
9479 elif LA89 == 26:
9480 LA89 = self.input.LA(2)
9481 if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9482 LA89_87 = self.input.LA(3)
9483
9484 if (self.synpred181()) :
9485 alt89 = 1
9486
9487
9488 elif LA89 == 34:
9489 LA89_88 = self.input.LA(3)
9490
9491 if (self.synpred181()) :
9492 alt89 = 1
9493
9494
9495 elif LA89 == 35:
9496 LA89_89 = self.input.LA(3)
9497
9498 if (self.synpred181()) :
9499 alt89 = 1
9500
9501
9502 elif LA89 == 36:
9503 LA89_90 = self.input.LA(3)
9504
9505 if (self.synpred181()) :
9506 alt89 = 1
9507
9508
9509 elif LA89 == 37:
9510 LA89_91 = self.input.LA(3)
9511
9512 if (self.synpred181()) :
9513 alt89 = 1
9514
9515
9516 elif LA89 == 38:
9517 LA89_92 = self.input.LA(3)
9518
9519 if (self.synpred181()) :
9520 alt89 = 1
9521
9522
9523 elif LA89 == 39:
9524 LA89_93 = self.input.LA(3)
9525
9526 if (self.synpred181()) :
9527 alt89 = 1
9528
9529
9530 elif LA89 == 40:
9531 LA89_94 = self.input.LA(3)
9532
9533 if (self.synpred181()) :
9534 alt89 = 1
9535
9536
9537 elif LA89 == 41:
9538 LA89_95 = self.input.LA(3)
9539
9540 if (self.synpred181()) :
9541 alt89 = 1
9542
9543
9544 elif LA89 == 42:
9545 LA89_96 = self.input.LA(3)
9546
9547 if (self.synpred181()) :
9548 alt89 = 1
9549
9550
9551 elif LA89 == 45 or LA89 == 46:
9552 LA89_97 = self.input.LA(3)
9553
9554 if (self.synpred181()) :
9555 alt89 = 1
9556
9557
9558 elif LA89 == 48:
9559 LA89_98 = self.input.LA(3)
9560
9561 if (self.synpred181()) :
9562 alt89 = 1
9563
9564
9565 elif LA89 == IDENTIFIER:
9566 LA89_99 = self.input.LA(3)
9567
9568 if (self.synpred181()) :
9569 alt89 = 1
9570
9571
9572 elif LA89 == 58:
9573 LA89_100 = self.input.LA(3)
9574
9575 if (self.synpred181()) :
9576 alt89 = 1
9577
9578
9579 elif LA89 == 66:
9580 LA89_101 = self.input.LA(3)
9581
9582 if (self.synpred181()) :
9583 alt89 = 1
9584
9585
9586 elif LA89 == 59:
9587 LA89_102 = self.input.LA(3)
9588
9589 if (self.synpred181()) :
9590 alt89 = 1
9591
9592
9593 elif LA89 == 60:
9594 LA89_103 = self.input.LA(3)
9595
9596 if (self.synpred181()) :
9597 alt89 = 1
9598
9599
9600 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9601 LA89_104 = self.input.LA(3)
9602
9603 if (self.synpred181()) :
9604 alt89 = 1
9605
9606
9607 elif LA89 == 62:
9608 LA89_105 = self.input.LA(3)
9609
9610 if (self.synpred181()) :
9611 alt89 = 1
9612
9613
9614
9615 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9616 LA89 = self.input.LA(2)
9617 if LA89 == 66:
9618 LA89_106 = self.input.LA(3)
9619
9620 if (self.synpred181()) :
9621 alt89 = 1
9622
9623
9624 elif LA89 == 58:
9625 LA89_107 = self.input.LA(3)
9626
9627 if (self.synpred181()) :
9628 alt89 = 1
9629
9630
9631 elif LA89 == 59:
9632 LA89_108 = self.input.LA(3)
9633
9634 if (self.synpred181()) :
9635 alt89 = 1
9636
9637
9638 elif LA89 == 60:
9639 LA89_109 = self.input.LA(3)
9640
9641 if (self.synpred181()) :
9642 alt89 = 1
9643
9644
9645 elif LA89 == IDENTIFIER:
9646 LA89_110 = self.input.LA(3)
9647
9648 if (self.synpred181()) :
9649 alt89 = 1
9650
9651
9652 elif LA89 == 62:
9653 LA89_111 = self.input.LA(3)
9654
9655 if (self.synpred181()) :
9656 alt89 = 1
9657
9658
9659 elif LA89 == 25:
9660 LA89_112 = self.input.LA(3)
9661
9662 if (self.synpred181()) :
9663 alt89 = 1
9664
9665
9666 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9667 LA89_113 = self.input.LA(3)
9668
9669 if (self.synpred181()) :
9670 alt89 = 1
9671
9672
9673 elif LA89 == 34:
9674 LA89_114 = self.input.LA(3)
9675
9676 if (self.synpred181()) :
9677 alt89 = 1
9678
9679
9680 elif LA89 == 35:
9681 LA89_115 = self.input.LA(3)
9682
9683 if (self.synpred181()) :
9684 alt89 = 1
9685
9686
9687 elif LA89 == 36:
9688 LA89_116 = self.input.LA(3)
9689
9690 if (self.synpred181()) :
9691 alt89 = 1
9692
9693
9694 elif LA89 == 37:
9695 LA89_117 = self.input.LA(3)
9696
9697 if (self.synpred181()) :
9698 alt89 = 1
9699
9700
9701 elif LA89 == 38:
9702 LA89_118 = self.input.LA(3)
9703
9704 if (self.synpred181()) :
9705 alt89 = 1
9706
9707
9708 elif LA89 == 39:
9709 LA89_119 = self.input.LA(3)
9710
9711 if (self.synpred181()) :
9712 alt89 = 1
9713
9714
9715 elif LA89 == 40:
9716 LA89_120 = self.input.LA(3)
9717
9718 if (self.synpred181()) :
9719 alt89 = 1
9720
9721
9722 elif LA89 == 41:
9723 LA89_121 = self.input.LA(3)
9724
9725 if (self.synpred181()) :
9726 alt89 = 1
9727
9728
9729 elif LA89 == 42:
9730 LA89_122 = self.input.LA(3)
9731
9732 if (self.synpred181()) :
9733 alt89 = 1
9734
9735
9736 elif LA89 == 45 or LA89 == 46:
9737 LA89_123 = self.input.LA(3)
9738
9739 if (self.synpred181()) :
9740 alt89 = 1
9741
9742
9743 elif LA89 == 48:
9744 LA89_124 = self.input.LA(3)
9745
9746 if (self.synpred181()) :
9747 alt89 = 1
9748
9749
9750 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9751 LA89_125 = self.input.LA(3)
9752
9753 if (self.synpred181()) :
9754 alt89 = 1
9755
9756
9757
9758 elif LA89 == 34:
9759 LA89 = self.input.LA(2)
9760 if LA89 == 66:
9761 LA89_126 = self.input.LA(3)
9762
9763 if (self.synpred181()) :
9764 alt89 = 1
9765
9766
9767 elif LA89 == 58:
9768 LA89_127 = self.input.LA(3)
9769
9770 if (self.synpred181()) :
9771 alt89 = 1
9772
9773
9774 elif LA89 == 59:
9775 LA89_128 = self.input.LA(3)
9776
9777 if (self.synpred181()) :
9778 alt89 = 1
9779
9780
9781 elif LA89 == 60:
9782 LA89_129 = self.input.LA(3)
9783
9784 if (self.synpred181()) :
9785 alt89 = 1
9786
9787
9788 elif LA89 == IDENTIFIER:
9789 LA89_130 = self.input.LA(3)
9790
9791 if (self.synpred181()) :
9792 alt89 = 1
9793
9794
9795 elif LA89 == 62:
9796 LA89_131 = self.input.LA(3)
9797
9798 if (self.synpred181()) :
9799 alt89 = 1
9800
9801
9802 elif LA89 == 25:
9803 LA89_132 = self.input.LA(3)
9804
9805 if (self.synpred181()) :
9806 alt89 = 1
9807
9808
9809 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9810 LA89_133 = self.input.LA(3)
9811
9812 if (self.synpred181()) :
9813 alt89 = 1
9814
9815
9816 elif LA89 == 34:
9817 LA89_134 = self.input.LA(3)
9818
9819 if (self.synpred181()) :
9820 alt89 = 1
9821
9822
9823 elif LA89 == 35:
9824 LA89_135 = self.input.LA(3)
9825
9826 if (self.synpred181()) :
9827 alt89 = 1
9828
9829
9830 elif LA89 == 36:
9831 LA89_136 = self.input.LA(3)
9832
9833 if (self.synpred181()) :
9834 alt89 = 1
9835
9836
9837 elif LA89 == 37:
9838 LA89_137 = self.input.LA(3)
9839
9840 if (self.synpred181()) :
9841 alt89 = 1
9842
9843
9844 elif LA89 == 38:
9845 LA89_138 = self.input.LA(3)
9846
9847 if (self.synpred181()) :
9848 alt89 = 1
9849
9850
9851 elif LA89 == 39:
9852 LA89_139 = self.input.LA(3)
9853
9854 if (self.synpred181()) :
9855 alt89 = 1
9856
9857
9858 elif LA89 == 40:
9859 LA89_140 = self.input.LA(3)
9860
9861 if (self.synpred181()) :
9862 alt89 = 1
9863
9864
9865 elif LA89 == 41:
9866 LA89_141 = self.input.LA(3)
9867
9868 if (self.synpred181()) :
9869 alt89 = 1
9870
9871
9872 elif LA89 == 42:
9873 LA89_142 = self.input.LA(3)
9874
9875 if (self.synpred181()) :
9876 alt89 = 1
9877
9878
9879 elif LA89 == 45 or LA89 == 46:
9880 LA89_143 = self.input.LA(3)
9881
9882 if (self.synpred181()) :
9883 alt89 = 1
9884
9885
9886 elif LA89 == 48:
9887 LA89_144 = self.input.LA(3)
9888
9889 if (self.synpred181()) :
9890 alt89 = 1
9891
9892
9893 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9894 LA89_145 = self.input.LA(3)
9895
9896 if (self.synpred181()) :
9897 alt89 = 1
9898
9899
9900
9901 elif LA89 == 35:
9902 LA89 = self.input.LA(2)
9903 if LA89 == 66:
9904 LA89_146 = self.input.LA(3)
9905
9906 if (self.synpred181()) :
9907 alt89 = 1
9908
9909
9910 elif LA89 == 58:
9911 LA89_147 = self.input.LA(3)
9912
9913 if (self.synpred181()) :
9914 alt89 = 1
9915
9916
9917 elif LA89 == 59:
9918 LA89_148 = self.input.LA(3)
9919
9920 if (self.synpred181()) :
9921 alt89 = 1
9922
9923
9924 elif LA89 == 60:
9925 LA89_149 = self.input.LA(3)
9926
9927 if (self.synpred181()) :
9928 alt89 = 1
9929
9930
9931 elif LA89 == IDENTIFIER:
9932 LA89_150 = self.input.LA(3)
9933
9934 if (self.synpred181()) :
9935 alt89 = 1
9936
9937
9938 elif LA89 == 62:
9939 LA89_151 = self.input.LA(3)
9940
9941 if (self.synpred181()) :
9942 alt89 = 1
9943
9944
9945 elif LA89 == 25:
9946 LA89_152 = self.input.LA(3)
9947
9948 if (self.synpred181()) :
9949 alt89 = 1
9950
9951
9952 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9953 LA89_153 = self.input.LA(3)
9954
9955 if (self.synpred181()) :
9956 alt89 = 1
9957
9958
9959 elif LA89 == 34:
9960 LA89_154 = self.input.LA(3)
9961
9962 if (self.synpred181()) :
9963 alt89 = 1
9964
9965
9966 elif LA89 == 35:
9967 LA89_155 = self.input.LA(3)
9968
9969 if (self.synpred181()) :
9970 alt89 = 1
9971
9972
9973 elif LA89 == 36:
9974 LA89_156 = self.input.LA(3)
9975
9976 if (self.synpred181()) :
9977 alt89 = 1
9978
9979
9980 elif LA89 == 37:
9981 LA89_157 = self.input.LA(3)
9982
9983 if (self.synpred181()) :
9984 alt89 = 1
9985
9986
9987 elif LA89 == 38:
9988 LA89_158 = self.input.LA(3)
9989
9990 if (self.synpred181()) :
9991 alt89 = 1
9992
9993
9994 elif LA89 == 39:
9995 LA89_159 = self.input.LA(3)
9996
9997 if (self.synpred181()) :
9998 alt89 = 1
9999
10000
10001 elif LA89 == 40:
10002 LA89_160 = self.input.LA(3)
10003
10004 if (self.synpred181()) :
10005 alt89 = 1
10006
10007
10008 elif LA89 == 41:
10009 LA89_161 = self.input.LA(3)
10010
10011 if (self.synpred181()) :
10012 alt89 = 1
10013
10014
10015 elif LA89 == 42:
10016 LA89_162 = self.input.LA(3)
10017
10018 if (self.synpred181()) :
10019 alt89 = 1
10020
10021
10022 elif LA89 == 45 or LA89 == 46:
10023 LA89_163 = self.input.LA(3)
10024
10025 if (self.synpred181()) :
10026 alt89 = 1
10027
10028
10029 elif LA89 == 48:
10030 LA89_164 = self.input.LA(3)
10031
10032 if (self.synpred181()) :
10033 alt89 = 1
10034
10035
10036 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10037 LA89_165 = self.input.LA(3)
10038
10039 if (self.synpred181()) :
10040 alt89 = 1
10041
10042
10043
10044 elif LA89 == 36:
10045 LA89 = self.input.LA(2)
10046 if LA89 == 66:
10047 LA89_166 = self.input.LA(3)
10048
10049 if (self.synpred181()) :
10050 alt89 = 1
10051
10052
10053 elif LA89 == 58:
10054 LA89_167 = self.input.LA(3)
10055
10056 if (self.synpred181()) :
10057 alt89 = 1
10058
10059
10060 elif LA89 == 59:
10061 LA89_168 = self.input.LA(3)
10062
10063 if (self.synpred181()) :
10064 alt89 = 1
10065
10066
10067 elif LA89 == 60:
10068 LA89_169 = self.input.LA(3)
10069
10070 if (self.synpred181()) :
10071 alt89 = 1
10072
10073
10074 elif LA89 == IDENTIFIER:
10075 LA89_170 = self.input.LA(3)
10076
10077 if (self.synpred181()) :
10078 alt89 = 1
10079
10080
10081 elif LA89 == 62:
10082 LA89_171 = self.input.LA(3)
10083
10084 if (self.synpred181()) :
10085 alt89 = 1
10086
10087
10088 elif LA89 == 25:
10089 LA89_172 = self.input.LA(3)
10090
10091 if (self.synpred181()) :
10092 alt89 = 1
10093
10094
10095 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10096 LA89_173 = self.input.LA(3)
10097
10098 if (self.synpred181()) :
10099 alt89 = 1
10100
10101
10102 elif LA89 == 34:
10103 LA89_174 = self.input.LA(3)
10104
10105 if (self.synpred181()) :
10106 alt89 = 1
10107
10108
10109 elif LA89 == 35:
10110 LA89_175 = self.input.LA(3)
10111
10112 if (self.synpred181()) :
10113 alt89 = 1
10114
10115
10116 elif LA89 == 36:
10117 LA89_176 = self.input.LA(3)
10118
10119 if (self.synpred181()) :
10120 alt89 = 1
10121
10122
10123 elif LA89 == 37:
10124 LA89_177 = self.input.LA(3)
10125
10126 if (self.synpred181()) :
10127 alt89 = 1
10128
10129
10130 elif LA89 == 38:
10131 LA89_178 = self.input.LA(3)
10132
10133 if (self.synpred181()) :
10134 alt89 = 1
10135
10136
10137 elif LA89 == 39:
10138 LA89_179 = self.input.LA(3)
10139
10140 if (self.synpred181()) :
10141 alt89 = 1
10142
10143
10144 elif LA89 == 40:
10145 LA89_180 = self.input.LA(3)
10146
10147 if (self.synpred181()) :
10148 alt89 = 1
10149
10150
10151 elif LA89 == 41:
10152 LA89_181 = self.input.LA(3)
10153
10154 if (self.synpred181()) :
10155 alt89 = 1
10156
10157
10158 elif LA89 == 42:
10159 LA89_182 = self.input.LA(3)
10160
10161 if (self.synpred181()) :
10162 alt89 = 1
10163
10164
10165 elif LA89 == 45 or LA89 == 46:
10166 LA89_183 = self.input.LA(3)
10167
10168 if (self.synpred181()) :
10169 alt89 = 1
10170
10171
10172 elif LA89 == 48:
10173 LA89_184 = self.input.LA(3)
10174
10175 if (self.synpred181()) :
10176 alt89 = 1
10177
10178
10179 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10180 LA89_185 = self.input.LA(3)
10181
10182 if (self.synpred181()) :
10183 alt89 = 1
10184
10185
10186
10187 elif LA89 == 37:
10188 LA89 = self.input.LA(2)
10189 if LA89 == 66:
10190 LA89_186 = self.input.LA(3)
10191
10192 if (self.synpred181()) :
10193 alt89 = 1
10194
10195
10196 elif LA89 == 58:
10197 LA89_187 = self.input.LA(3)
10198
10199 if (self.synpred181()) :
10200 alt89 = 1
10201
10202
10203 elif LA89 == 59:
10204 LA89_188 = self.input.LA(3)
10205
10206 if (self.synpred181()) :
10207 alt89 = 1
10208
10209
10210 elif LA89 == 60:
10211 LA89_189 = self.input.LA(3)
10212
10213 if (self.synpred181()) :
10214 alt89 = 1
10215
10216
10217 elif LA89 == IDENTIFIER:
10218 LA89_190 = self.input.LA(3)
10219
10220 if (self.synpred181()) :
10221 alt89 = 1
10222
10223
10224 elif LA89 == 62:
10225 LA89_191 = self.input.LA(3)
10226
10227 if (self.synpred181()) :
10228 alt89 = 1
10229
10230
10231 elif LA89 == 25:
10232 LA89_192 = self.input.LA(3)
10233
10234 if (self.synpred181()) :
10235 alt89 = 1
10236
10237
10238 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10239 LA89_193 = self.input.LA(3)
10240
10241 if (self.synpred181()) :
10242 alt89 = 1
10243
10244
10245 elif LA89 == 34:
10246 LA89_194 = self.input.LA(3)
10247
10248 if (self.synpred181()) :
10249 alt89 = 1
10250
10251
10252 elif LA89 == 35:
10253 LA89_195 = self.input.LA(3)
10254
10255 if (self.synpred181()) :
10256 alt89 = 1
10257
10258
10259 elif LA89 == 36:
10260 LA89_196 = self.input.LA(3)
10261
10262 if (self.synpred181()) :
10263 alt89 = 1
10264
10265
10266 elif LA89 == 37:
10267 LA89_197 = self.input.LA(3)
10268
10269 if (self.synpred181()) :
10270 alt89 = 1
10271
10272
10273 elif LA89 == 38:
10274 LA89_198 = self.input.LA(3)
10275
10276 if (self.synpred181()) :
10277 alt89 = 1
10278
10279
10280 elif LA89 == 39:
10281 LA89_199 = self.input.LA(3)
10282
10283 if (self.synpred181()) :
10284 alt89 = 1
10285
10286
10287 elif LA89 == 40:
10288 LA89_200 = self.input.LA(3)
10289
10290 if (self.synpred181()) :
10291 alt89 = 1
10292
10293
10294 elif LA89 == 41:
10295 LA89_201 = self.input.LA(3)
10296
10297 if (self.synpred181()) :
10298 alt89 = 1
10299
10300
10301 elif LA89 == 42:
10302 LA89_202 = self.input.LA(3)
10303
10304 if (self.synpred181()) :
10305 alt89 = 1
10306
10307
10308 elif LA89 == 45 or LA89 == 46:
10309 LA89_203 = self.input.LA(3)
10310
10311 if (self.synpred181()) :
10312 alt89 = 1
10313
10314
10315 elif LA89 == 48:
10316 LA89_204 = self.input.LA(3)
10317
10318 if (self.synpred181()) :
10319 alt89 = 1
10320
10321
10322 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10323 LA89_205 = self.input.LA(3)
10324
10325 if (self.synpred181()) :
10326 alt89 = 1
10327
10328
10329
10330 elif LA89 == 38:
10331 LA89 = self.input.LA(2)
10332 if LA89 == 66:
10333 LA89_206 = self.input.LA(3)
10334
10335 if (self.synpred181()) :
10336 alt89 = 1
10337
10338
10339 elif LA89 == 58:
10340 LA89_207 = self.input.LA(3)
10341
10342 if (self.synpred181()) :
10343 alt89 = 1
10344
10345
10346 elif LA89 == 59:
10347 LA89_208 = self.input.LA(3)
10348
10349 if (self.synpred181()) :
10350 alt89 = 1
10351
10352
10353 elif LA89 == 60:
10354 LA89_209 = self.input.LA(3)
10355
10356 if (self.synpred181()) :
10357 alt89 = 1
10358
10359
10360 elif LA89 == IDENTIFIER:
10361 LA89_210 = self.input.LA(3)
10362
10363 if (self.synpred181()) :
10364 alt89 = 1
10365
10366
10367 elif LA89 == 62:
10368 LA89_211 = self.input.LA(3)
10369
10370 if (self.synpred181()) :
10371 alt89 = 1
10372
10373
10374 elif LA89 == 25:
10375 LA89_212 = self.input.LA(3)
10376
10377 if (self.synpred181()) :
10378 alt89 = 1
10379
10380
10381 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10382 LA89_213 = self.input.LA(3)
10383
10384 if (self.synpred181()) :
10385 alt89 = 1
10386
10387
10388 elif LA89 == 34:
10389 LA89_214 = self.input.LA(3)
10390
10391 if (self.synpred181()) :
10392 alt89 = 1
10393
10394
10395 elif LA89 == 35:
10396 LA89_215 = self.input.LA(3)
10397
10398 if (self.synpred181()) :
10399 alt89 = 1
10400
10401
10402 elif LA89 == 36:
10403 LA89_216 = self.input.LA(3)
10404
10405 if (self.synpred181()) :
10406 alt89 = 1
10407
10408
10409 elif LA89 == 37:
10410 LA89_217 = self.input.LA(3)
10411
10412 if (self.synpred181()) :
10413 alt89 = 1
10414
10415
10416 elif LA89 == 38:
10417 LA89_218 = self.input.LA(3)
10418
10419 if (self.synpred181()) :
10420 alt89 = 1
10421
10422
10423 elif LA89 == 39:
10424 LA89_219 = self.input.LA(3)
10425
10426 if (self.synpred181()) :
10427 alt89 = 1
10428
10429
10430 elif LA89 == 40:
10431 LA89_220 = self.input.LA(3)
10432
10433 if (self.synpred181()) :
10434 alt89 = 1
10435
10436
10437 elif LA89 == 41:
10438 LA89_221 = self.input.LA(3)
10439
10440 if (self.synpred181()) :
10441 alt89 = 1
10442
10443
10444 elif LA89 == 42:
10445 LA89_222 = self.input.LA(3)
10446
10447 if (self.synpred181()) :
10448 alt89 = 1
10449
10450
10451 elif LA89 == 45 or LA89 == 46:
10452 LA89_223 = self.input.LA(3)
10453
10454 if (self.synpred181()) :
10455 alt89 = 1
10456
10457
10458 elif LA89 == 48:
10459 LA89_224 = self.input.LA(3)
10460
10461 if (self.synpred181()) :
10462 alt89 = 1
10463
10464
10465 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10466 LA89_225 = self.input.LA(3)
10467
10468 if (self.synpred181()) :
10469 alt89 = 1
10470
10471
10472
10473 elif LA89 == 39:
10474 LA89 = self.input.LA(2)
10475 if LA89 == 66:
10476 LA89_226 = self.input.LA(3)
10477
10478 if (self.synpred181()) :
10479 alt89 = 1
10480
10481
10482 elif LA89 == 58:
10483 LA89_227 = self.input.LA(3)
10484
10485 if (self.synpred181()) :
10486 alt89 = 1
10487
10488
10489 elif LA89 == 59:
10490 LA89_228 = self.input.LA(3)
10491
10492 if (self.synpred181()) :
10493 alt89 = 1
10494
10495
10496 elif LA89 == 60:
10497 LA89_229 = self.input.LA(3)
10498
10499 if (self.synpred181()) :
10500 alt89 = 1
10501
10502
10503 elif LA89 == IDENTIFIER:
10504 LA89_230 = self.input.LA(3)
10505
10506 if (self.synpred181()) :
10507 alt89 = 1
10508
10509
10510 elif LA89 == 62:
10511 LA89_231 = self.input.LA(3)
10512
10513 if (self.synpred181()) :
10514 alt89 = 1
10515
10516
10517 elif LA89 == 25:
10518 LA89_232 = self.input.LA(3)
10519
10520 if (self.synpred181()) :
10521 alt89 = 1
10522
10523
10524 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10525 LA89_233 = self.input.LA(3)
10526
10527 if (self.synpred181()) :
10528 alt89 = 1
10529
10530
10531 elif LA89 == 34:
10532 LA89_234 = self.input.LA(3)
10533
10534 if (self.synpred181()) :
10535 alt89 = 1
10536
10537
10538 elif LA89 == 35:
10539 LA89_235 = self.input.LA(3)
10540
10541 if (self.synpred181()) :
10542 alt89 = 1
10543
10544
10545 elif LA89 == 36:
10546 LA89_236 = self.input.LA(3)
10547
10548 if (self.synpred181()) :
10549 alt89 = 1
10550
10551
10552 elif LA89 == 37:
10553 LA89_237 = self.input.LA(3)
10554
10555 if (self.synpred181()) :
10556 alt89 = 1
10557
10558
10559 elif LA89 == 38:
10560 LA89_238 = self.input.LA(3)
10561
10562 if (self.synpred181()) :
10563 alt89 = 1
10564
10565
10566 elif LA89 == 39:
10567 LA89_239 = self.input.LA(3)
10568
10569 if (self.synpred181()) :
10570 alt89 = 1
10571
10572
10573 elif LA89 == 40:
10574 LA89_240 = self.input.LA(3)
10575
10576 if (self.synpred181()) :
10577 alt89 = 1
10578
10579
10580 elif LA89 == 41:
10581 LA89_241 = self.input.LA(3)
10582
10583 if (self.synpred181()) :
10584 alt89 = 1
10585
10586
10587 elif LA89 == 42:
10588 LA89_242 = self.input.LA(3)
10589
10590 if (self.synpred181()) :
10591 alt89 = 1
10592
10593
10594 elif LA89 == 45 or LA89 == 46:
10595 LA89_243 = self.input.LA(3)
10596
10597 if (self.synpred181()) :
10598 alt89 = 1
10599
10600
10601 elif LA89 == 48:
10602 LA89_244 = self.input.LA(3)
10603
10604 if (self.synpred181()) :
10605 alt89 = 1
10606
10607
10608 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10609 LA89_245 = self.input.LA(3)
10610
10611 if (self.synpred181()) :
10612 alt89 = 1
10613
10614
10615
10616 elif LA89 == 40:
10617 LA89 = self.input.LA(2)
10618 if LA89 == 66:
10619 LA89_246 = self.input.LA(3)
10620
10621 if (self.synpred181()) :
10622 alt89 = 1
10623
10624
10625 elif LA89 == 58:
10626 LA89_247 = self.input.LA(3)
10627
10628 if (self.synpred181()) :
10629 alt89 = 1
10630
10631
10632 elif LA89 == 59:
10633 LA89_248 = self.input.LA(3)
10634
10635 if (self.synpred181()) :
10636 alt89 = 1
10637
10638
10639 elif LA89 == 60:
10640 LA89_249 = self.input.LA(3)
10641
10642 if (self.synpred181()) :
10643 alt89 = 1
10644
10645
10646 elif LA89 == IDENTIFIER:
10647 LA89_250 = self.input.LA(3)
10648
10649 if (self.synpred181()) :
10650 alt89 = 1
10651
10652
10653 elif LA89 == 62:
10654 LA89_251 = self.input.LA(3)
10655
10656 if (self.synpred181()) :
10657 alt89 = 1
10658
10659
10660 elif LA89 == 25:
10661 LA89_252 = self.input.LA(3)
10662
10663 if (self.synpred181()) :
10664 alt89 = 1
10665
10666
10667 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10668 LA89_253 = self.input.LA(3)
10669
10670 if (self.synpred181()) :
10671 alt89 = 1
10672
10673
10674 elif LA89 == 34:
10675 LA89_254 = self.input.LA(3)
10676
10677 if (self.synpred181()) :
10678 alt89 = 1
10679
10680
10681 elif LA89 == 35:
10682 LA89_255 = self.input.LA(3)
10683
10684 if (self.synpred181()) :
10685 alt89 = 1
10686
10687
10688 elif LA89 == 36:
10689 LA89_256 = self.input.LA(3)
10690
10691 if (self.synpred181()) :
10692 alt89 = 1
10693
10694
10695 elif LA89 == 37:
10696 LA89_257 = self.input.LA(3)
10697
10698 if (self.synpred181()) :
10699 alt89 = 1
10700
10701
10702 elif LA89 == 38:
10703 LA89_258 = self.input.LA(3)
10704
10705 if (self.synpred181()) :
10706 alt89 = 1
10707
10708
10709 elif LA89 == 39:
10710 LA89_259 = self.input.LA(3)
10711
10712 if (self.synpred181()) :
10713 alt89 = 1
10714
10715
10716 elif LA89 == 40:
10717 LA89_260 = self.input.LA(3)
10718
10719 if (self.synpred181()) :
10720 alt89 = 1
10721
10722
10723 elif LA89 == 41:
10724 LA89_261 = self.input.LA(3)
10725
10726 if (self.synpred181()) :
10727 alt89 = 1
10728
10729
10730 elif LA89 == 42:
10731 LA89_262 = self.input.LA(3)
10732
10733 if (self.synpred181()) :
10734 alt89 = 1
10735
10736
10737 elif LA89 == 45 or LA89 == 46:
10738 LA89_263 = self.input.LA(3)
10739
10740 if (self.synpred181()) :
10741 alt89 = 1
10742
10743
10744 elif LA89 == 48:
10745 LA89_264 = self.input.LA(3)
10746
10747 if (self.synpred181()) :
10748 alt89 = 1
10749
10750
10751 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10752 LA89_265 = self.input.LA(3)
10753
10754 if (self.synpred181()) :
10755 alt89 = 1
10756
10757
10758
10759 elif LA89 == 41:
10760 LA89 = self.input.LA(2)
10761 if LA89 == 66:
10762 LA89_266 = self.input.LA(3)
10763
10764 if (self.synpred181()) :
10765 alt89 = 1
10766
10767
10768 elif LA89 == 58:
10769 LA89_267 = self.input.LA(3)
10770
10771 if (self.synpred181()) :
10772 alt89 = 1
10773
10774
10775 elif LA89 == 59:
10776 LA89_268 = self.input.LA(3)
10777
10778 if (self.synpred181()) :
10779 alt89 = 1
10780
10781
10782 elif LA89 == 60:
10783 LA89_269 = self.input.LA(3)
10784
10785 if (self.synpred181()) :
10786 alt89 = 1
10787
10788
10789 elif LA89 == IDENTIFIER:
10790 LA89_270 = self.input.LA(3)
10791
10792 if (self.synpred181()) :
10793 alt89 = 1
10794
10795
10796 elif LA89 == 62:
10797 LA89_271 = self.input.LA(3)
10798
10799 if (self.synpred181()) :
10800 alt89 = 1
10801
10802
10803 elif LA89 == 25:
10804 LA89_272 = self.input.LA(3)
10805
10806 if (self.synpred181()) :
10807 alt89 = 1
10808
10809
10810 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10811 LA89_273 = self.input.LA(3)
10812
10813 if (self.synpred181()) :
10814 alt89 = 1
10815
10816
10817 elif LA89 == 34:
10818 LA89_274 = self.input.LA(3)
10819
10820 if (self.synpred181()) :
10821 alt89 = 1
10822
10823
10824 elif LA89 == 35:
10825 LA89_275 = self.input.LA(3)
10826
10827 if (self.synpred181()) :
10828 alt89 = 1
10829
10830
10831 elif LA89 == 36:
10832 LA89_276 = self.input.LA(3)
10833
10834 if (self.synpred181()) :
10835 alt89 = 1
10836
10837
10838 elif LA89 == 37:
10839 LA89_277 = self.input.LA(3)
10840
10841 if (self.synpred181()) :
10842 alt89 = 1
10843
10844
10845 elif LA89 == 38:
10846 LA89_278 = self.input.LA(3)
10847
10848 if (self.synpred181()) :
10849 alt89 = 1
10850
10851
10852 elif LA89 == 39:
10853 LA89_279 = self.input.LA(3)
10854
10855 if (self.synpred181()) :
10856 alt89 = 1
10857
10858
10859 elif LA89 == 40:
10860 LA89_280 = self.input.LA(3)
10861
10862 if (self.synpred181()) :
10863 alt89 = 1
10864
10865
10866 elif LA89 == 41:
10867 LA89_281 = self.input.LA(3)
10868
10869 if (self.synpred181()) :
10870 alt89 = 1
10871
10872
10873 elif LA89 == 42:
10874 LA89_282 = self.input.LA(3)
10875
10876 if (self.synpred181()) :
10877 alt89 = 1
10878
10879
10880 elif LA89 == 45 or LA89 == 46:
10881 LA89_283 = self.input.LA(3)
10882
10883 if (self.synpred181()) :
10884 alt89 = 1
10885
10886
10887 elif LA89 == 48:
10888 LA89_284 = self.input.LA(3)
10889
10890 if (self.synpred181()) :
10891 alt89 = 1
10892
10893
10894 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10895 LA89_285 = self.input.LA(3)
10896
10897 if (self.synpred181()) :
10898 alt89 = 1
10899
10900
10901
10902 elif LA89 == 42:
10903 LA89 = self.input.LA(2)
10904 if LA89 == 66:
10905 LA89_286 = self.input.LA(3)
10906
10907 if (self.synpred181()) :
10908 alt89 = 1
10909
10910
10911 elif LA89 == 58:
10912 LA89_287 = self.input.LA(3)
10913
10914 if (self.synpred181()) :
10915 alt89 = 1
10916
10917
10918 elif LA89 == 59:
10919 LA89_288 = self.input.LA(3)
10920
10921 if (self.synpred181()) :
10922 alt89 = 1
10923
10924
10925 elif LA89 == 60:
10926 LA89_289 = self.input.LA(3)
10927
10928 if (self.synpred181()) :
10929 alt89 = 1
10930
10931
10932 elif LA89 == IDENTIFIER:
10933 LA89_290 = self.input.LA(3)
10934
10935 if (self.synpred181()) :
10936 alt89 = 1
10937
10938
10939 elif LA89 == 62:
10940 LA89_291 = self.input.LA(3)
10941
10942 if (self.synpred181()) :
10943 alt89 = 1
10944
10945
10946 elif LA89 == 25:
10947 LA89_292 = self.input.LA(3)
10948
10949 if (self.synpred181()) :
10950 alt89 = 1
10951
10952
10953 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10954 LA89_293 = self.input.LA(3)
10955
10956 if (self.synpred181()) :
10957 alt89 = 1
10958
10959
10960 elif LA89 == 34:
10961 LA89_294 = self.input.LA(3)
10962
10963 if (self.synpred181()) :
10964 alt89 = 1
10965
10966
10967 elif LA89 == 35:
10968 LA89_295 = self.input.LA(3)
10969
10970 if (self.synpred181()) :
10971 alt89 = 1
10972
10973
10974 elif LA89 == 36:
10975 LA89_296 = self.input.LA(3)
10976
10977 if (self.synpred181()) :
10978 alt89 = 1
10979
10980
10981 elif LA89 == 37:
10982 LA89_297 = self.input.LA(3)
10983
10984 if (self.synpred181()) :
10985 alt89 = 1
10986
10987
10988 elif LA89 == 38:
10989 LA89_298 = self.input.LA(3)
10990
10991 if (self.synpred181()) :
10992 alt89 = 1
10993
10994
10995 elif LA89 == 39:
10996 LA89_299 = self.input.LA(3)
10997
10998 if (self.synpred181()) :
10999 alt89 = 1
11000
11001
11002 elif LA89 == 40:
11003 LA89_300 = self.input.LA(3)
11004
11005 if (self.synpred181()) :
11006 alt89 = 1
11007
11008
11009 elif LA89 == 41:
11010 LA89_301 = self.input.LA(3)
11011
11012 if (self.synpred181()) :
11013 alt89 = 1
11014
11015
11016 elif LA89 == 42:
11017 LA89_302 = self.input.LA(3)
11018
11019 if (self.synpred181()) :
11020 alt89 = 1
11021
11022
11023 elif LA89 == 45 or LA89 == 46:
11024 LA89_303 = self.input.LA(3)
11025
11026 if (self.synpred181()) :
11027 alt89 = 1
11028
11029
11030 elif LA89 == 48:
11031 LA89_304 = self.input.LA(3)
11032
11033 if (self.synpred181()) :
11034 alt89 = 1
11035
11036
11037 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
11038 LA89_305 = self.input.LA(3)
11039
11040 if (self.synpred181()) :
11041 alt89 = 1
11042
11043
11044
11045 elif LA89 == 45 or LA89 == 46:
11046 LA89_40 = self.input.LA(2)
11047
11048 if (LA89_40 == IDENTIFIER) :
11049 LA89_306 = self.input.LA(3)
11050
11051 if (self.synpred181()) :
11052 alt89 = 1
11053
11054
11055 elif (LA89_40 == 43) :
11056 LA89_307 = self.input.LA(3)
11057
11058 if (self.synpred181()) :
11059 alt89 = 1
11060
11061
11062
11063
11064 elif LA89 == 48:
11065 LA89_41 = self.input.LA(2)
11066
11067 if (LA89_41 == 43) :
11068 LA89_308 = self.input.LA(3)
11069
11070 if (self.synpred181()) :
11071 alt89 = 1
11072
11073
11074 elif (LA89_41 == IDENTIFIER) :
11075 LA89_309 = self.input.LA(3)
11076
11077 if (self.synpred181()) :
11078 alt89 = 1
11079
11080
11081
11082
11083 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 58 or LA89 == 59 or LA89 == 60 or LA89 == 61:
11084 LA89 = self.input.LA(2)
11085 if LA89 == 66:
11086 LA89_310 = self.input.LA(3)
11087
11088 if (self.synpred181()) :
11089 alt89 = 1
11090
11091
11092 elif LA89 == 58:
11093 LA89_311 = self.input.LA(3)
11094
11095 if (self.synpred181()) :
11096 alt89 = 1
11097
11098
11099 elif LA89 == 59:
11100 LA89_312 = self.input.LA(3)
11101
11102 if (self.synpred181()) :
11103 alt89 = 1
11104
11105
11106 elif LA89 == 60:
11107 LA89_313 = self.input.LA(3)
11108
11109 if (self.synpred181()) :
11110 alt89 = 1
11111
11112
11113 elif LA89 == IDENTIFIER:
11114 LA89_314 = self.input.LA(3)
11115
11116 if (self.synpred181()) :
11117 alt89 = 1
11118
11119
11120 elif LA89 == 62:
11121 LA89_315 = self.input.LA(3)
11122
11123 if (self.synpred181()) :
11124 alt89 = 1
11125
11126
11127 elif LA89 == 25:
11128 LA89_316 = self.input.LA(3)
11129
11130 if (self.synpred181()) :
11131 alt89 = 1
11132
11133
11134 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
11135 LA89_317 = self.input.LA(3)
11136
11137 if (self.synpred181()) :
11138 alt89 = 1
11139
11140
11141 elif LA89 == 34:
11142 LA89_318 = self.input.LA(3)
11143
11144 if (self.synpred181()) :
11145 alt89 = 1
11146
11147
11148 elif LA89 == 35:
11149 LA89_319 = self.input.LA(3)
11150
11151 if (self.synpred181()) :
11152 alt89 = 1
11153
11154
11155 elif LA89 == 36:
11156 LA89_320 = self.input.LA(3)
11157
11158 if (self.synpred181()) :
11159 alt89 = 1
11160
11161
11162 elif LA89 == 37:
11163 LA89_321 = self.input.LA(3)
11164
11165 if (self.synpred181()) :
11166 alt89 = 1
11167
11168
11169 elif LA89 == 38:
11170 LA89_322 = self.input.LA(3)
11171
11172 if (self.synpred181()) :
11173 alt89 = 1
11174
11175
11176 elif LA89 == 39:
11177 LA89_323 = self.input.LA(3)
11178
11179 if (self.synpred181()) :
11180 alt89 = 1
11181
11182
11183 elif LA89 == 40:
11184 LA89_324 = self.input.LA(3)
11185
11186 if (self.synpred181()) :
11187 alt89 = 1
11188
11189
11190 elif LA89 == 41:
11191 LA89_325 = self.input.LA(3)
11192
11193 if (self.synpred181()) :
11194 alt89 = 1
11195
11196
11197 elif LA89 == 42:
11198 LA89_326 = self.input.LA(3)
11199
11200 if (self.synpred181()) :
11201 alt89 = 1
11202
11203
11204 elif LA89 == 45 or LA89 == 46:
11205 LA89_327 = self.input.LA(3)
11206
11207 if (self.synpred181()) :
11208 alt89 = 1
11209
11210
11211 elif LA89 == 48:
11212 LA89_328 = self.input.LA(3)
11213
11214 if (self.synpred181()) :
11215 alt89 = 1
11216
11217
11218 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
11219 LA89_329 = self.input.LA(3)
11220
11221 if (self.synpred181()) :
11222 alt89 = 1
11223
11224
11225
11226
11227 if alt89 == 1:
11228 # C.g:0:0: declaration
11229 self.following.append(self.FOLLOW_declaration_in_macro_statement2166)
11230 self.declaration()
11231 self.following.pop()
11232 if self.failed:
11233 return
11234
11235
11236 else:
11237 break #loop89
11238
11239
11240 # C.g:544:33: ( statement_list )?
11241 alt90 = 2
11242 LA90 = self.input.LA(1)
11243 if LA90 == IDENTIFIER:
11244 LA90 = self.input.LA(2)
11245 if LA90 == 25 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 45 or LA90 == 46 or LA90 == 47 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
11246 alt90 = 1
11247 elif LA90 == 62:
11248 LA90_45 = self.input.LA(3)
11249
11250 if (self.synpred182()) :
11251 alt90 = 1
11252 elif LA90 == STRING_LITERAL:
11253 LA90_46 = self.input.LA(3)
11254
11255 if (self.synpred182()) :
11256 alt90 = 1
11257 elif LA90 == IDENTIFIER:
11258 LA90_47 = self.input.LA(3)
11259
11260 if (self.synpred182()) :
11261 alt90 = 1
11262 elif LA90 == 64:
11263 LA90_48 = self.input.LA(3)
11264
11265 if (self.synpred182()) :
11266 alt90 = 1
11267 elif LA90 == 75:
11268 LA90_49 = self.input.LA(3)
11269
11270 if (self.synpred182()) :
11271 alt90 = 1
11272 elif LA90 == 66:
11273 LA90_50 = self.input.LA(3)
11274
11275 if (self.synpred182()) :
11276 alt90 = 1
11277 elif LA90 == 76:
11278 LA90_51 = self.input.LA(3)
11279
11280 if (self.synpred182()) :
11281 alt90 = 1
11282 elif LA90 == 72:
11283 LA90_52 = self.input.LA(3)
11284
11285 if (self.synpred182()) :
11286 alt90 = 1
11287 elif LA90 == 73:
11288 LA90_53 = self.input.LA(3)
11289
11290 if (self.synpred182()) :
11291 alt90 = 1
11292 elif LA90 == 70:
11293 LA90_54 = self.input.LA(3)
11294
11295 if (self.synpred182()) :
11296 alt90 = 1
11297 elif LA90 == 71:
11298 LA90_55 = self.input.LA(3)
11299
11300 if (self.synpred182()) :
11301 alt90 = 1
11302 elif LA90 == 68:
11303 LA90_56 = self.input.LA(3)
11304
11305 if (self.synpred182()) :
11306 alt90 = 1
11307 elif LA90 == 69:
11308 LA90_57 = self.input.LA(3)
11309
11310 if (self.synpred182()) :
11311 alt90 = 1
11312 elif LA90 == 101 or LA90 == 102:
11313 LA90_58 = self.input.LA(3)
11314
11315 if (self.synpred182()) :
11316 alt90 = 1
11317 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11318 LA90_59 = self.input.LA(3)
11319
11320 if (self.synpred182()) :
11321 alt90 = 1
11322 elif LA90 == 95 or LA90 == 96:
11323 LA90_60 = self.input.LA(3)
11324
11325 if (self.synpred182()) :
11326 alt90 = 1
11327 elif LA90 == 77:
11328 LA90_61 = self.input.LA(3)
11329
11330 if (self.synpred182()) :
11331 alt90 = 1
11332 elif LA90 == 94:
11333 LA90_62 = self.input.LA(3)
11334
11335 if (self.synpred182()) :
11336 alt90 = 1
11337 elif LA90 == 93:
11338 LA90_63 = self.input.LA(3)
11339
11340 if (self.synpred182()) :
11341 alt90 = 1
11342 elif LA90 == 92:
11343 LA90_64 = self.input.LA(3)
11344
11345 if (self.synpred182()) :
11346 alt90 = 1
11347 elif LA90 == 91:
11348 LA90_65 = self.input.LA(3)
11349
11350 if (self.synpred182()) :
11351 alt90 = 1
11352 elif LA90 == 90:
11353 LA90_66 = self.input.LA(3)
11354
11355 if (self.synpred182()) :
11356 alt90 = 1
11357 elif LA90 == 27:
11358 LA90_67 = self.input.LA(3)
11359
11360 if (self.synpred182()) :
11361 alt90 = 1
11362 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11363 LA90_70 = self.input.LA(3)
11364
11365 if (self.synpred182()) :
11366 alt90 = 1
11367 elif LA90 == 25 or LA90 == 26 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 43 or LA90 == 45 or LA90 == 46 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 108 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116 or LA90 == 117:
11368 alt90 = 1
11369 elif LA90 == HEX_LITERAL:
11370 LA90 = self.input.LA(2)
11371 if LA90 == 64:
11372 LA90_87 = self.input.LA(3)
11373
11374 if (self.synpred182()) :
11375 alt90 = 1
11376 elif LA90 == 62:
11377 LA90_88 = self.input.LA(3)
11378
11379 if (self.synpred182()) :
11380 alt90 = 1
11381 elif LA90 == 75:
11382 LA90_89 = self.input.LA(3)
11383
11384 if (self.synpred182()) :
11385 alt90 = 1
11386 elif LA90 == 66:
11387 LA90_90 = self.input.LA(3)
11388
11389 if (self.synpred182()) :
11390 alt90 = 1
11391 elif LA90 == 76:
11392 LA90_91 = self.input.LA(3)
11393
11394 if (self.synpred182()) :
11395 alt90 = 1
11396 elif LA90 == 72:
11397 LA90_92 = self.input.LA(3)
11398
11399 if (self.synpred182()) :
11400 alt90 = 1
11401 elif LA90 == 73:
11402 LA90_93 = self.input.LA(3)
11403
11404 if (self.synpred182()) :
11405 alt90 = 1
11406 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11407 LA90_94 = self.input.LA(3)
11408
11409 if (self.synpred182()) :
11410 alt90 = 1
11411 elif LA90 == 70:
11412 LA90_95 = self.input.LA(3)
11413
11414 if (self.synpred182()) :
11415 alt90 = 1
11416 elif LA90 == 71:
11417 LA90_96 = self.input.LA(3)
11418
11419 if (self.synpred182()) :
11420 alt90 = 1
11421 elif LA90 == 68:
11422 LA90_97 = self.input.LA(3)
11423
11424 if (self.synpred182()) :
11425 alt90 = 1
11426 elif LA90 == 69:
11427 LA90_98 = self.input.LA(3)
11428
11429 if (self.synpred182()) :
11430 alt90 = 1
11431 elif LA90 == 101 or LA90 == 102:
11432 LA90_99 = self.input.LA(3)
11433
11434 if (self.synpred182()) :
11435 alt90 = 1
11436 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11437 LA90_100 = self.input.LA(3)
11438
11439 if (self.synpred182()) :
11440 alt90 = 1
11441 elif LA90 == 95 or LA90 == 96:
11442 LA90_101 = self.input.LA(3)
11443
11444 if (self.synpred182()) :
11445 alt90 = 1
11446 elif LA90 == 77:
11447 LA90_102 = self.input.LA(3)
11448
11449 if (self.synpred182()) :
11450 alt90 = 1
11451 elif LA90 == 94:
11452 LA90_103 = self.input.LA(3)
11453
11454 if (self.synpred182()) :
11455 alt90 = 1
11456 elif LA90 == 93:
11457 LA90_104 = self.input.LA(3)
11458
11459 if (self.synpred182()) :
11460 alt90 = 1
11461 elif LA90 == 92:
11462 LA90_105 = self.input.LA(3)
11463
11464 if (self.synpred182()) :
11465 alt90 = 1
11466 elif LA90 == 91:
11467 LA90_106 = self.input.LA(3)
11468
11469 if (self.synpred182()) :
11470 alt90 = 1
11471 elif LA90 == 90:
11472 LA90_107 = self.input.LA(3)
11473
11474 if (self.synpred182()) :
11475 alt90 = 1
11476 elif LA90 == 27:
11477 LA90_108 = self.input.LA(3)
11478
11479 if (self.synpred182()) :
11480 alt90 = 1
11481 elif LA90 == 25:
11482 alt90 = 1
11483 elif LA90 == OCTAL_LITERAL:
11484 LA90 = self.input.LA(2)
11485 if LA90 == 64:
11486 LA90_111 = self.input.LA(3)
11487
11488 if (self.synpred182()) :
11489 alt90 = 1
11490 elif LA90 == 62:
11491 LA90_112 = self.input.LA(3)
11492
11493 if (self.synpred182()) :
11494 alt90 = 1
11495 elif LA90 == 75:
11496 LA90_113 = self.input.LA(3)
11497
11498 if (self.synpred182()) :
11499 alt90 = 1
11500 elif LA90 == 66:
11501 LA90_114 = self.input.LA(3)
11502
11503 if (self.synpred182()) :
11504 alt90 = 1
11505 elif LA90 == 76:
11506 LA90_115 = self.input.LA(3)
11507
11508 if (self.synpred182()) :
11509 alt90 = 1
11510 elif LA90 == 72:
11511 LA90_116 = self.input.LA(3)
11512
11513 if (self.synpred182()) :
11514 alt90 = 1
11515 elif LA90 == 73:
11516 LA90_117 = self.input.LA(3)
11517
11518 if (self.synpred182()) :
11519 alt90 = 1
11520 elif LA90 == 70:
11521 LA90_118 = self.input.LA(3)
11522
11523 if (self.synpred182()) :
11524 alt90 = 1
11525 elif LA90 == 71:
11526 LA90_119 = self.input.LA(3)
11527
11528 if (self.synpred182()) :
11529 alt90 = 1
11530 elif LA90 == 68:
11531 LA90_120 = self.input.LA(3)
11532
11533 if (self.synpred182()) :
11534 alt90 = 1
11535 elif LA90 == 69:
11536 LA90_121 = self.input.LA(3)
11537
11538 if (self.synpred182()) :
11539 alt90 = 1
11540 elif LA90 == 101 or LA90 == 102:
11541 LA90_122 = self.input.LA(3)
11542
11543 if (self.synpred182()) :
11544 alt90 = 1
11545 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11546 LA90_123 = self.input.LA(3)
11547
11548 if (self.synpred182()) :
11549 alt90 = 1
11550 elif LA90 == 95 or LA90 == 96:
11551 LA90_124 = self.input.LA(3)
11552
11553 if (self.synpred182()) :
11554 alt90 = 1
11555 elif LA90 == 77:
11556 LA90_125 = self.input.LA(3)
11557
11558 if (self.synpred182()) :
11559 alt90 = 1
11560 elif LA90 == 94:
11561 LA90_126 = self.input.LA(3)
11562
11563 if (self.synpred182()) :
11564 alt90 = 1
11565 elif LA90 == 93:
11566 LA90_127 = self.input.LA(3)
11567
11568 if (self.synpred182()) :
11569 alt90 = 1
11570 elif LA90 == 92:
11571 LA90_128 = self.input.LA(3)
11572
11573 if (self.synpred182()) :
11574 alt90 = 1
11575 elif LA90 == 91:
11576 LA90_129 = self.input.LA(3)
11577
11578 if (self.synpred182()) :
11579 alt90 = 1
11580 elif LA90 == 90:
11581 LA90_130 = self.input.LA(3)
11582
11583 if (self.synpred182()) :
11584 alt90 = 1
11585 elif LA90 == 27:
11586 LA90_131 = self.input.LA(3)
11587
11588 if (self.synpred182()) :
11589 alt90 = 1
11590 elif LA90 == 25:
11591 alt90 = 1
11592 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11593 LA90_134 = self.input.LA(3)
11594
11595 if (self.synpred182()) :
11596 alt90 = 1
11597 elif LA90 == DECIMAL_LITERAL:
11598 LA90 = self.input.LA(2)
11599 if LA90 == 64:
11600 LA90_135 = self.input.LA(3)
11601
11602 if (self.synpred182()) :
11603 alt90 = 1
11604 elif LA90 == 62:
11605 LA90_136 = self.input.LA(3)
11606
11607 if (self.synpred182()) :
11608 alt90 = 1
11609 elif LA90 == 75:
11610 LA90_137 = self.input.LA(3)
11611
11612 if (self.synpred182()) :
11613 alt90 = 1
11614 elif LA90 == 66:
11615 LA90_138 = self.input.LA(3)
11616
11617 if (self.synpred182()) :
11618 alt90 = 1
11619 elif LA90 == 76:
11620 LA90_139 = self.input.LA(3)
11621
11622 if (self.synpred182()) :
11623 alt90 = 1
11624 elif LA90 == 72:
11625 LA90_140 = self.input.LA(3)
11626
11627 if (self.synpred182()) :
11628 alt90 = 1
11629 elif LA90 == 73:
11630 LA90_141 = self.input.LA(3)
11631
11632 if (self.synpred182()) :
11633 alt90 = 1
11634 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11635 LA90_142 = self.input.LA(3)
11636
11637 if (self.synpred182()) :
11638 alt90 = 1
11639 elif LA90 == 70:
11640 LA90_143 = self.input.LA(3)
11641
11642 if (self.synpred182()) :
11643 alt90 = 1
11644 elif LA90 == 71:
11645 LA90_144 = self.input.LA(3)
11646
11647 if (self.synpred182()) :
11648 alt90 = 1
11649 elif LA90 == 68:
11650 LA90_145 = self.input.LA(3)
11651
11652 if (self.synpred182()) :
11653 alt90 = 1
11654 elif LA90 == 69:
11655 LA90_146 = self.input.LA(3)
11656
11657 if (self.synpred182()) :
11658 alt90 = 1
11659 elif LA90 == 101 or LA90 == 102:
11660 LA90_147 = self.input.LA(3)
11661
11662 if (self.synpred182()) :
11663 alt90 = 1
11664 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11665 LA90_148 = self.input.LA(3)
11666
11667 if (self.synpred182()) :
11668 alt90 = 1
11669 elif LA90 == 95 or LA90 == 96:
11670 LA90_149 = self.input.LA(3)
11671
11672 if (self.synpred182()) :
11673 alt90 = 1
11674 elif LA90 == 77:
11675 LA90_150 = self.input.LA(3)
11676
11677 if (self.synpred182()) :
11678 alt90 = 1
11679 elif LA90 == 94:
11680 LA90_151 = self.input.LA(3)
11681
11682 if (self.synpred182()) :
11683 alt90 = 1
11684 elif LA90 == 93:
11685 LA90_152 = self.input.LA(3)
11686
11687 if (self.synpred182()) :
11688 alt90 = 1
11689 elif LA90 == 92:
11690 LA90_153 = self.input.LA(3)
11691
11692 if (self.synpred182()) :
11693 alt90 = 1
11694 elif LA90 == 91:
11695 LA90_154 = self.input.LA(3)
11696
11697 if (self.synpred182()) :
11698 alt90 = 1
11699 elif LA90 == 90:
11700 LA90_155 = self.input.LA(3)
11701
11702 if (self.synpred182()) :
11703 alt90 = 1
11704 elif LA90 == 27:
11705 LA90_156 = self.input.LA(3)
11706
11707 if (self.synpred182()) :
11708 alt90 = 1
11709 elif LA90 == 25:
11710 alt90 = 1
11711 elif LA90 == CHARACTER_LITERAL:
11712 LA90 = self.input.LA(2)
11713 if LA90 == 64:
11714 LA90_159 = self.input.LA(3)
11715
11716 if (self.synpred182()) :
11717 alt90 = 1
11718 elif LA90 == 62:
11719 LA90_160 = self.input.LA(3)
11720
11721 if (self.synpred182()) :
11722 alt90 = 1
11723 elif LA90 == 75:
11724 LA90_161 = self.input.LA(3)
11725
11726 if (self.synpred182()) :
11727 alt90 = 1
11728 elif LA90 == 66:
11729 LA90_162 = self.input.LA(3)
11730
11731 if (self.synpred182()) :
11732 alt90 = 1
11733 elif LA90 == 76:
11734 LA90_163 = self.input.LA(3)
11735
11736 if (self.synpred182()) :
11737 alt90 = 1
11738 elif LA90 == 72:
11739 LA90_164 = self.input.LA(3)
11740
11741 if (self.synpred182()) :
11742 alt90 = 1
11743 elif LA90 == 73:
11744 LA90_165 = self.input.LA(3)
11745
11746 if (self.synpred182()) :
11747 alt90 = 1
11748 elif LA90 == 70:
11749 LA90_166 = self.input.LA(3)
11750
11751 if (self.synpred182()) :
11752 alt90 = 1
11753 elif LA90 == 71:
11754 LA90_167 = self.input.LA(3)
11755
11756 if (self.synpred182()) :
11757 alt90 = 1
11758 elif LA90 == 68:
11759 LA90_168 = self.input.LA(3)
11760
11761 if (self.synpred182()) :
11762 alt90 = 1
11763 elif LA90 == 69:
11764 LA90_169 = self.input.LA(3)
11765
11766 if (self.synpred182()) :
11767 alt90 = 1
11768 elif LA90 == 101 or LA90 == 102:
11769 LA90_170 = self.input.LA(3)
11770
11771 if (self.synpred182()) :
11772 alt90 = 1
11773 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11774 LA90_171 = self.input.LA(3)
11775
11776 if (self.synpred182()) :
11777 alt90 = 1
11778 elif LA90 == 95 or LA90 == 96:
11779 LA90_172 = self.input.LA(3)
11780
11781 if (self.synpred182()) :
11782 alt90 = 1
11783 elif LA90 == 77:
11784 LA90_173 = self.input.LA(3)
11785
11786 if (self.synpred182()) :
11787 alt90 = 1
11788 elif LA90 == 94:
11789 LA90_174 = self.input.LA(3)
11790
11791 if (self.synpred182()) :
11792 alt90 = 1
11793 elif LA90 == 93:
11794 LA90_175 = self.input.LA(3)
11795
11796 if (self.synpred182()) :
11797 alt90 = 1
11798 elif LA90 == 92:
11799 LA90_176 = self.input.LA(3)
11800
11801 if (self.synpred182()) :
11802 alt90 = 1
11803 elif LA90 == 91:
11804 LA90_177 = self.input.LA(3)
11805
11806 if (self.synpred182()) :
11807 alt90 = 1
11808 elif LA90 == 90:
11809 LA90_178 = self.input.LA(3)
11810
11811 if (self.synpred182()) :
11812 alt90 = 1
11813 elif LA90 == 27:
11814 LA90_179 = self.input.LA(3)
11815
11816 if (self.synpred182()) :
11817 alt90 = 1
11818 elif LA90 == 25:
11819 alt90 = 1
11820 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11821 LA90_181 = self.input.LA(3)
11822
11823 if (self.synpred182()) :
11824 alt90 = 1
11825 elif LA90 == STRING_LITERAL:
11826 LA90 = self.input.LA(2)
11827 if LA90 == IDENTIFIER:
11828 LA90_183 = self.input.LA(3)
11829
11830 if (self.synpred182()) :
11831 alt90 = 1
11832 elif LA90 == 64:
11833 LA90_184 = self.input.LA(3)
11834
11835 if (self.synpred182()) :
11836 alt90 = 1
11837 elif LA90 == 62:
11838 LA90_185 = self.input.LA(3)
11839
11840 if (self.synpred182()) :
11841 alt90 = 1
11842 elif LA90 == 75:
11843 LA90_186 = self.input.LA(3)
11844
11845 if (self.synpred182()) :
11846 alt90 = 1
11847 elif LA90 == 66:
11848 LA90_187 = self.input.LA(3)
11849
11850 if (self.synpred182()) :
11851 alt90 = 1
11852 elif LA90 == 76:
11853 LA90_188 = self.input.LA(3)
11854
11855 if (self.synpred182()) :
11856 alt90 = 1
11857 elif LA90 == 72:
11858 LA90_189 = self.input.LA(3)
11859
11860 if (self.synpred182()) :
11861 alt90 = 1
11862 elif LA90 == 73:
11863 LA90_190 = self.input.LA(3)
11864
11865 if (self.synpred182()) :
11866 alt90 = 1
11867 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11868 LA90_191 = self.input.LA(3)
11869
11870 if (self.synpred182()) :
11871 alt90 = 1
11872 elif LA90 == STRING_LITERAL:
11873 LA90_192 = self.input.LA(3)
11874
11875 if (self.synpred182()) :
11876 alt90 = 1
11877 elif LA90 == 70:
11878 LA90_193 = self.input.LA(3)
11879
11880 if (self.synpred182()) :
11881 alt90 = 1
11882 elif LA90 == 71:
11883 LA90_194 = self.input.LA(3)
11884
11885 if (self.synpred182()) :
11886 alt90 = 1
11887 elif LA90 == 68:
11888 LA90_195 = self.input.LA(3)
11889
11890 if (self.synpred182()) :
11891 alt90 = 1
11892 elif LA90 == 69:
11893 LA90_196 = self.input.LA(3)
11894
11895 if (self.synpred182()) :
11896 alt90 = 1
11897 elif LA90 == 101 or LA90 == 102:
11898 LA90_197 = self.input.LA(3)
11899
11900 if (self.synpred182()) :
11901 alt90 = 1
11902 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11903 LA90_198 = self.input.LA(3)
11904
11905 if (self.synpred182()) :
11906 alt90 = 1
11907 elif LA90 == 95 or LA90 == 96:
11908 LA90_199 = self.input.LA(3)
11909
11910 if (self.synpred182()) :
11911 alt90 = 1
11912 elif LA90 == 77:
11913 LA90_200 = self.input.LA(3)
11914
11915 if (self.synpred182()) :
11916 alt90 = 1
11917 elif LA90 == 94:
11918 LA90_201 = self.input.LA(3)
11919
11920 if (self.synpred182()) :
11921 alt90 = 1
11922 elif LA90 == 93:
11923 LA90_202 = self.input.LA(3)
11924
11925 if (self.synpred182()) :
11926 alt90 = 1
11927 elif LA90 == 92:
11928 LA90_203 = self.input.LA(3)
11929
11930 if (self.synpred182()) :
11931 alt90 = 1
11932 elif LA90 == 91:
11933 LA90_204 = self.input.LA(3)
11934
11935 if (self.synpred182()) :
11936 alt90 = 1
11937 elif LA90 == 90:
11938 LA90_205 = self.input.LA(3)
11939
11940 if (self.synpred182()) :
11941 alt90 = 1
11942 elif LA90 == 27:
11943 LA90_206 = self.input.LA(3)
11944
11945 if (self.synpred182()) :
11946 alt90 = 1
11947 elif LA90 == 25:
11948 alt90 = 1
11949 elif LA90 == FLOATING_POINT_LITERAL:
11950 LA90 = self.input.LA(2)
11951 if LA90 == 64:
11952 LA90_209 = self.input.LA(3)
11953
11954 if (self.synpred182()) :
11955 alt90 = 1
11956 elif LA90 == 62:
11957 LA90_210 = self.input.LA(3)
11958
11959 if (self.synpred182()) :
11960 alt90 = 1
11961 elif LA90 == 75:
11962 LA90_211 = self.input.LA(3)
11963
11964 if (self.synpred182()) :
11965 alt90 = 1
11966 elif LA90 == 66:
11967 LA90_212 = self.input.LA(3)
11968
11969 if (self.synpred182()) :
11970 alt90 = 1
11971 elif LA90 == 76:
11972 LA90_213 = self.input.LA(3)
11973
11974 if (self.synpred182()) :
11975 alt90 = 1
11976 elif LA90 == 72:
11977 LA90_214 = self.input.LA(3)
11978
11979 if (self.synpred182()) :
11980 alt90 = 1
11981 elif LA90 == 73:
11982 LA90_215 = self.input.LA(3)
11983
11984 if (self.synpred182()) :
11985 alt90 = 1
11986 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11987 LA90_216 = self.input.LA(3)
11988
11989 if (self.synpred182()) :
11990 alt90 = 1
11991 elif LA90 == 70:
11992 LA90_217 = self.input.LA(3)
11993
11994 if (self.synpred182()) :
11995 alt90 = 1
11996 elif LA90 == 71:
11997 LA90_218 = self.input.LA(3)
11998
11999 if (self.synpred182()) :
12000 alt90 = 1
12001 elif LA90 == 68:
12002 LA90_219 = self.input.LA(3)
12003
12004 if (self.synpred182()) :
12005 alt90 = 1
12006 elif LA90 == 69:
12007 LA90_220 = self.input.LA(3)
12008
12009 if (self.synpred182()) :
12010 alt90 = 1
12011 elif LA90 == 101 or LA90 == 102:
12012 LA90_221 = self.input.LA(3)
12013
12014 if (self.synpred182()) :
12015 alt90 = 1
12016 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
12017 LA90_222 = self.input.LA(3)
12018
12019 if (self.synpred182()) :
12020 alt90 = 1
12021 elif LA90 == 95 or LA90 == 96:
12022 LA90_223 = self.input.LA(3)
12023
12024 if (self.synpred182()) :
12025 alt90 = 1
12026 elif LA90 == 77:
12027 LA90_224 = self.input.LA(3)
12028
12029 if (self.synpred182()) :
12030 alt90 = 1
12031 elif LA90 == 94:
12032 LA90_225 = self.input.LA(3)
12033
12034 if (self.synpred182()) :
12035 alt90 = 1
12036 elif LA90 == 93:
12037 LA90_226 = self.input.LA(3)
12038
12039 if (self.synpred182()) :
12040 alt90 = 1
12041 elif LA90 == 92:
12042 LA90_227 = self.input.LA(3)
12043
12044 if (self.synpred182()) :
12045 alt90 = 1
12046 elif LA90 == 91:
12047 LA90_228 = self.input.LA(3)
12048
12049 if (self.synpred182()) :
12050 alt90 = 1
12051 elif LA90 == 90:
12052 LA90_229 = self.input.LA(3)
12053
12054 if (self.synpred182()) :
12055 alt90 = 1
12056 elif LA90 == 27:
12057 LA90_230 = self.input.LA(3)
12058
12059 if (self.synpred182()) :
12060 alt90 = 1
12061 elif LA90 == 25:
12062 alt90 = 1
12063 elif LA90 == 62:
12064 LA90 = self.input.LA(2)
12065 if LA90 == IDENTIFIER:
12066 LA90_233 = self.input.LA(3)
12067
12068 if (self.synpred182()) :
12069 alt90 = 1
12070 elif LA90 == HEX_LITERAL:
12071 LA90_234 = self.input.LA(3)
12072
12073 if (self.synpred182()) :
12074 alt90 = 1
12075 elif LA90 == OCTAL_LITERAL:
12076 LA90_235 = self.input.LA(3)
12077
12078 if (self.synpred182()) :
12079 alt90 = 1
12080 elif LA90 == DECIMAL_LITERAL:
12081 LA90_236 = self.input.LA(3)
12082
12083 if (self.synpred182()) :
12084 alt90 = 1
12085 elif LA90 == CHARACTER_LITERAL:
12086 LA90_237 = self.input.LA(3)
12087
12088 if (self.synpred182()) :
12089 alt90 = 1
12090 elif LA90 == STRING_LITERAL:
12091 LA90_238 = self.input.LA(3)
12092
12093 if (self.synpred182()) :
12094 alt90 = 1
12095 elif LA90 == FLOATING_POINT_LITERAL:
12096 LA90_239 = self.input.LA(3)
12097
12098 if (self.synpred182()) :
12099 alt90 = 1
12100 elif LA90 == 62:
12101 LA90_240 = self.input.LA(3)
12102
12103 if (self.synpred182()) :
12104 alt90 = 1
12105 elif LA90 == 72:
12106 LA90_241 = self.input.LA(3)
12107
12108 if (self.synpred182()) :
12109 alt90 = 1
12110 elif LA90 == 73:
12111 LA90_242 = self.input.LA(3)
12112
12113 if (self.synpred182()) :
12114 alt90 = 1
12115 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12116 LA90_243 = self.input.LA(3)
12117
12118 if (self.synpred182()) :
12119 alt90 = 1
12120 elif LA90 == 74:
12121 LA90_244 = self.input.LA(3)
12122
12123 if (self.synpred182()) :
12124 alt90 = 1
12125 elif LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
12126 LA90_245 = self.input.LA(3)
12127
12128 if (self.synpred182()) :
12129 alt90 = 1
12130 elif LA90 == 34:
12131 LA90_246 = self.input.LA(3)
12132
12133 if (self.synpred182()) :
12134 alt90 = 1
12135 elif LA90 == 35:
12136 LA90_247 = self.input.LA(3)
12137
12138 if (self.synpred182()) :
12139 alt90 = 1
12140 elif LA90 == 36:
12141 LA90_248 = self.input.LA(3)
12142
12143 if (self.synpred182()) :
12144 alt90 = 1
12145 elif LA90 == 37:
12146 LA90_249 = self.input.LA(3)
12147
12148 if (self.synpred182()) :
12149 alt90 = 1
12150 elif LA90 == 38:
12151 LA90_250 = self.input.LA(3)
12152
12153 if (self.synpred182()) :
12154 alt90 = 1
12155 elif LA90 == 39:
12156 LA90_251 = self.input.LA(3)
12157
12158 if (self.synpred182()) :
12159 alt90 = 1
12160 elif LA90 == 40:
12161 LA90_252 = self.input.LA(3)
12162
12163 if (self.synpred182()) :
12164 alt90 = 1
12165 elif LA90 == 41:
12166 LA90_253 = self.input.LA(3)
12167
12168 if (self.synpred182()) :
12169 alt90 = 1
12170 elif LA90 == 42:
12171 LA90_254 = self.input.LA(3)
12172
12173 if (self.synpred182()) :
12174 alt90 = 1
12175 elif LA90 == 45 or LA90 == 46:
12176 LA90_255 = self.input.LA(3)
12177
12178 if (self.synpred182()) :
12179 alt90 = 1
12180 elif LA90 == 48:
12181 LA90_256 = self.input.LA(3)
12182
12183 if (self.synpred182()) :
12184 alt90 = 1
12185 elif LA90 == 72:
12186 LA90 = self.input.LA(2)
12187 if LA90 == IDENTIFIER:
12188 LA90_257 = self.input.LA(3)
12189
12190 if (self.synpred182()) :
12191 alt90 = 1
12192 elif LA90 == HEX_LITERAL:
12193 LA90_258 = self.input.LA(3)
12194
12195 if (self.synpred182()) :
12196 alt90 = 1
12197 elif LA90 == OCTAL_LITERAL:
12198 LA90_259 = self.input.LA(3)
12199
12200 if (self.synpred182()) :
12201 alt90 = 1
12202 elif LA90 == DECIMAL_LITERAL:
12203 LA90_260 = self.input.LA(3)
12204
12205 if (self.synpred182()) :
12206 alt90 = 1
12207 elif LA90 == CHARACTER_LITERAL:
12208 LA90_261 = self.input.LA(3)
12209
12210 if (self.synpred182()) :
12211 alt90 = 1
12212 elif LA90 == STRING_LITERAL:
12213 LA90_262 = self.input.LA(3)
12214
12215 if (self.synpred182()) :
12216 alt90 = 1
12217 elif LA90 == FLOATING_POINT_LITERAL:
12218 LA90_263 = self.input.LA(3)
12219
12220 if (self.synpred182()) :
12221 alt90 = 1
12222 elif LA90 == 62:
12223 LA90_264 = self.input.LA(3)
12224
12225 if (self.synpred182()) :
12226 alt90 = 1
12227 elif LA90 == 72:
12228 LA90_265 = self.input.LA(3)
12229
12230 if (self.synpred182()) :
12231 alt90 = 1
12232 elif LA90 == 73:
12233 LA90_266 = self.input.LA(3)
12234
12235 if (self.synpred182()) :
12236 alt90 = 1
12237 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12238 LA90_267 = self.input.LA(3)
12239
12240 if (self.synpred182()) :
12241 alt90 = 1
12242 elif LA90 == 74:
12243 LA90_268 = self.input.LA(3)
12244
12245 if (self.synpred182()) :
12246 alt90 = 1
12247 elif LA90 == 73:
12248 LA90 = self.input.LA(2)
12249 if LA90 == IDENTIFIER:
12250 LA90_269 = self.input.LA(3)
12251
12252 if (self.synpred182()) :
12253 alt90 = 1
12254 elif LA90 == HEX_LITERAL:
12255 LA90_270 = self.input.LA(3)
12256
12257 if (self.synpred182()) :
12258 alt90 = 1
12259 elif LA90 == OCTAL_LITERAL:
12260 LA90_271 = self.input.LA(3)
12261
12262 if (self.synpred182()) :
12263 alt90 = 1
12264 elif LA90 == DECIMAL_LITERAL:
12265 LA90_272 = self.input.LA(3)
12266
12267 if (self.synpred182()) :
12268 alt90 = 1
12269 elif LA90 == CHARACTER_LITERAL:
12270 LA90_273 = self.input.LA(3)
12271
12272 if (self.synpred182()) :
12273 alt90 = 1
12274 elif LA90 == STRING_LITERAL:
12275 LA90_274 = self.input.LA(3)
12276
12277 if (self.synpred182()) :
12278 alt90 = 1
12279 elif LA90 == FLOATING_POINT_LITERAL:
12280 LA90_275 = self.input.LA(3)
12281
12282 if (self.synpred182()) :
12283 alt90 = 1
12284 elif LA90 == 62:
12285 LA90_276 = self.input.LA(3)
12286
12287 if (self.synpred182()) :
12288 alt90 = 1
12289 elif LA90 == 72:
12290 LA90_277 = self.input.LA(3)
12291
12292 if (self.synpred182()) :
12293 alt90 = 1
12294 elif LA90 == 73:
12295 LA90_278 = self.input.LA(3)
12296
12297 if (self.synpred182()) :
12298 alt90 = 1
12299 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12300 LA90_279 = self.input.LA(3)
12301
12302 if (self.synpred182()) :
12303 alt90 = 1
12304 elif LA90 == 74:
12305 LA90_280 = self.input.LA(3)
12306
12307 if (self.synpred182()) :
12308 alt90 = 1
12309 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12310 LA90 = self.input.LA(2)
12311 if LA90 == 62:
12312 LA90_281 = self.input.LA(3)
12313
12314 if (self.synpred182()) :
12315 alt90 = 1
12316 elif LA90 == IDENTIFIER:
12317 LA90_282 = self.input.LA(3)
12318
12319 if (self.synpred182()) :
12320 alt90 = 1
12321 elif LA90 == HEX_LITERAL:
12322 LA90_283 = self.input.LA(3)
12323
12324 if (self.synpred182()) :
12325 alt90 = 1
12326 elif LA90 == OCTAL_LITERAL:
12327 LA90_284 = self.input.LA(3)
12328
12329 if (self.synpred182()) :
12330 alt90 = 1
12331 elif LA90 == DECIMAL_LITERAL:
12332 LA90_285 = self.input.LA(3)
12333
12334 if (self.synpred182()) :
12335 alt90 = 1
12336 elif LA90 == CHARACTER_LITERAL:
12337 LA90_286 = self.input.LA(3)
12338
12339 if (self.synpred182()) :
12340 alt90 = 1
12341 elif LA90 == STRING_LITERAL:
12342 LA90_287 = self.input.LA(3)
12343
12344 if (self.synpred182()) :
12345 alt90 = 1
12346 elif LA90 == FLOATING_POINT_LITERAL:
12347 LA90_288 = self.input.LA(3)
12348
12349 if (self.synpred182()) :
12350 alt90 = 1
12351 elif LA90 == 72:
12352 LA90_289 = self.input.LA(3)
12353
12354 if (self.synpred182()) :
12355 alt90 = 1
12356 elif LA90 == 73:
12357 LA90_290 = self.input.LA(3)
12358
12359 if (self.synpred182()) :
12360 alt90 = 1
12361 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12362 LA90_291 = self.input.LA(3)
12363
12364 if (self.synpred182()) :
12365 alt90 = 1
12366 elif LA90 == 74:
12367 LA90_292 = self.input.LA(3)
12368
12369 if (self.synpred182()) :
12370 alt90 = 1
12371 elif LA90 == 74:
12372 LA90 = self.input.LA(2)
12373 if LA90 == 62:
12374 LA90_293 = self.input.LA(3)
12375
12376 if (self.synpred182()) :
12377 alt90 = 1
12378 elif LA90 == IDENTIFIER:
12379 LA90_294 = self.input.LA(3)
12380
12381 if (self.synpred182()) :
12382 alt90 = 1
12383 elif LA90 == HEX_LITERAL:
12384 LA90_295 = self.input.LA(3)
12385
12386 if (self.synpred182()) :
12387 alt90 = 1
12388 elif LA90 == OCTAL_LITERAL:
12389 LA90_296 = self.input.LA(3)
12390
12391 if (self.synpred182()) :
12392 alt90 = 1
12393 elif LA90 == DECIMAL_LITERAL:
12394 LA90_297 = self.input.LA(3)
12395
12396 if (self.synpred182()) :
12397 alt90 = 1
12398 elif LA90 == CHARACTER_LITERAL:
12399 LA90_298 = self.input.LA(3)
12400
12401 if (self.synpred182()) :
12402 alt90 = 1
12403 elif LA90 == STRING_LITERAL:
12404 LA90_299 = self.input.LA(3)
12405
12406 if (self.synpred182()) :
12407 alt90 = 1
12408 elif LA90 == FLOATING_POINT_LITERAL:
12409 LA90_300 = self.input.LA(3)
12410
12411 if (self.synpred182()) :
12412 alt90 = 1
12413 elif LA90 == 72:
12414 LA90_301 = self.input.LA(3)
12415
12416 if (self.synpred182()) :
12417 alt90 = 1
12418 elif LA90 == 73:
12419 LA90_302 = self.input.LA(3)
12420
12421 if (self.synpred182()) :
12422 alt90 = 1
12423 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12424 LA90_303 = self.input.LA(3)
12425
12426 if (self.synpred182()) :
12427 alt90 = 1
12428 elif LA90 == 74:
12429 LA90_304 = self.input.LA(3)
12430
12431 if (self.synpred182()) :
12432 alt90 = 1
12433 if alt90 == 1:
12434 # C.g:0:0: statement_list
12435 self.following.append(self.FOLLOW_statement_list_in_macro_statement2170)
12436 self.statement_list()
12437 self.following.pop()
12438 if self.failed:
12439 return
12440
12441
12442
12443 # C.g:544:49: ( expression )?
12444 alt91 = 2
12445 LA91_0 = self.input.LA(1)
12446
12447 if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 62 or LA91_0 == 66 or (68 <= LA91_0 <= 69) or (72 <= LA91_0 <= 74) or (77 <= LA91_0 <= 79)) :
12448 alt91 = 1
12449 if alt91 == 1:
12450 # C.g:0:0: expression
12451 self.following.append(self.FOLLOW_expression_in_macro_statement2173)
12452 self.expression()
12453 self.following.pop()
12454 if self.failed:
12455 return
12456
12457
12458
12459 self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176)
12460 if self.failed:
12461 return
12462
12463
12464
12465
12466 except RecognitionException as re:
12467 self.reportError(re)
12468 self.recover(self.input, re)
12469 finally:
12470 if self.backtracking > 0:
12471 self.memoize(self.input, 64, macro_statement_StartIndex)
12472
12473 pass
12474
12475 return
12476
12477 # $ANTLR end macro_statement
12478
12479
12480 # $ANTLR start labeled_statement
12481 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12482 def labeled_statement(self, ):
12483
12484 labeled_statement_StartIndex = self.input.index()
12485 try:
12486 try:
12487 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
12488 return
12489
12490 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12491 alt92 = 3
12492 LA92 = self.input.LA(1)
12493 if LA92 == IDENTIFIER:
12494 alt92 = 1
12495 elif LA92 == 106:
12496 alt92 = 2
12497 elif LA92 == 107:
12498 alt92 = 3
12499 else:
12500 if self.backtracking > 0:
12501 self.failed = True
12502 return
12503
12504 nvae = NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
12505
12506 raise nvae
12507
12508 if alt92 == 1:
12509 # C.g:548:4: IDENTIFIER ':' statement
12510 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2188)
12511 if self.failed:
12512 return
12513 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2190)
12514 if self.failed:
12515 return
12516 self.following.append(self.FOLLOW_statement_in_labeled_statement2192)
12517 self.statement()
12518 self.following.pop()
12519 if self.failed:
12520 return
12521
12522
12523 elif alt92 == 2:
12524 # C.g:549:4: 'case' constant_expression ':' statement
12525 self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2197)
12526 if self.failed:
12527 return
12528 self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2199)
12529 self.constant_expression()
12530 self.following.pop()
12531 if self.failed:
12532 return
12533 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201)
12534 if self.failed:
12535 return
12536 self.following.append(self.FOLLOW_statement_in_labeled_statement2203)
12537 self.statement()
12538 self.following.pop()
12539 if self.failed:
12540 return
12541
12542
12543 elif alt92 == 3:
12544 # C.g:550:4: 'default' ':' statement
12545 self.match(self.input, 107, self.FOLLOW_107_in_labeled_statement2208)
12546 if self.failed:
12547 return
12548 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2210)
12549 if self.failed:
12550 return
12551 self.following.append(self.FOLLOW_statement_in_labeled_statement2212)
12552 self.statement()
12553 self.following.pop()
12554 if self.failed:
12555 return
12556
12557
12558
12559 except RecognitionException as re:
12560 self.reportError(re)
12561 self.recover(self.input, re)
12562 finally:
12563 if self.backtracking > 0:
12564 self.memoize(self.input, 65, labeled_statement_StartIndex)
12565
12566 pass
12567
12568 return
12569
12570 # $ANTLR end labeled_statement
12571
12572 class compound_statement_return(object):
12573 def __init__(self):
12574 self.start = None
12575 self.stop = None
12576
12577
12578
12579 # $ANTLR start compound_statement
12580 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12581 def compound_statement(self, ):
12582
12583 retval = self.compound_statement_return()
12584 retval.start = self.input.LT(1)
12585 compound_statement_StartIndex = self.input.index()
12586 try:
12587 try:
12588 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
12589 return retval
12590
12591 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12592 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12593 self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223)
12594 if self.failed:
12595 return retval
12596 # C.g:554:8: ( declaration )*
12597 while True: #loop93
12598 alt93 = 2
12599 LA93 = self.input.LA(1)
12600 if LA93 == IDENTIFIER:
12601 LA93 = self.input.LA(2)
12602 if LA93 == 62:
12603 LA93_44 = self.input.LA(3)
12604
12605 if (self.synpred186()) :
12606 alt93 = 1
12607
12608
12609 elif LA93 == IDENTIFIER:
12610 LA93_47 = self.input.LA(3)
12611
12612 if (self.synpred186()) :
12613 alt93 = 1
12614
12615
12616 elif LA93 == 66:
12617 LA93_48 = self.input.LA(3)
12618
12619 if (self.synpred186()) :
12620 alt93 = 1
12621
12622
12623 elif LA93 == 58:
12624 LA93_49 = self.input.LA(3)
12625
12626 if (self.synpred186()) :
12627 alt93 = 1
12628
12629
12630 elif LA93 == 59:
12631 LA93_50 = self.input.LA(3)
12632
12633 if (self.synpred186()) :
12634 alt93 = 1
12635
12636
12637 elif LA93 == 60:
12638 LA93_51 = self.input.LA(3)
12639
12640 if (self.synpred186()) :
12641 alt93 = 1
12642
12643
12644 elif LA93 == 25:
12645 LA93_52 = self.input.LA(3)
12646
12647 if (self.synpred186()) :
12648 alt93 = 1
12649
12650
12651 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12652 LA93_53 = self.input.LA(3)
12653
12654 if (self.synpred186()) :
12655 alt93 = 1
12656
12657
12658 elif LA93 == 34:
12659 LA93_54 = self.input.LA(3)
12660
12661 if (self.synpred186()) :
12662 alt93 = 1
12663
12664
12665 elif LA93 == 35:
12666 LA93_55 = self.input.LA(3)
12667
12668 if (self.synpred186()) :
12669 alt93 = 1
12670
12671
12672 elif LA93 == 36:
12673 LA93_56 = self.input.LA(3)
12674
12675 if (self.synpred186()) :
12676 alt93 = 1
12677
12678
12679 elif LA93 == 37:
12680 LA93_57 = self.input.LA(3)
12681
12682 if (self.synpred186()) :
12683 alt93 = 1
12684
12685
12686 elif LA93 == 38:
12687 LA93_58 = self.input.LA(3)
12688
12689 if (self.synpred186()) :
12690 alt93 = 1
12691
12692
12693 elif LA93 == 39:
12694 LA93_59 = self.input.LA(3)
12695
12696 if (self.synpred186()) :
12697 alt93 = 1
12698
12699
12700 elif LA93 == 40:
12701 LA93_60 = self.input.LA(3)
12702
12703 if (self.synpred186()) :
12704 alt93 = 1
12705
12706
12707 elif LA93 == 41:
12708 LA93_61 = self.input.LA(3)
12709
12710 if (self.synpred186()) :
12711 alt93 = 1
12712
12713
12714 elif LA93 == 42:
12715 LA93_62 = self.input.LA(3)
12716
12717 if (self.synpred186()) :
12718 alt93 = 1
12719
12720
12721 elif LA93 == 45 or LA93 == 46:
12722 LA93_63 = self.input.LA(3)
12723
12724 if (self.synpred186()) :
12725 alt93 = 1
12726
12727
12728 elif LA93 == 48:
12729 LA93_64 = self.input.LA(3)
12730
12731 if (self.synpred186()) :
12732 alt93 = 1
12733
12734
12735 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
12736 LA93_65 = self.input.LA(3)
12737
12738 if (self.synpred186()) :
12739 alt93 = 1
12740
12741
12742
12743 elif LA93 == 26:
12744 LA93 = self.input.LA(2)
12745 if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12746 LA93_86 = self.input.LA(3)
12747
12748 if (self.synpred186()) :
12749 alt93 = 1
12750
12751
12752 elif LA93 == 34:
12753 LA93_87 = self.input.LA(3)
12754
12755 if (self.synpred186()) :
12756 alt93 = 1
12757
12758
12759 elif LA93 == 35:
12760 LA93_88 = self.input.LA(3)
12761
12762 if (self.synpred186()) :
12763 alt93 = 1
12764
12765
12766 elif LA93 == 36:
12767 LA93_89 = self.input.LA(3)
12768
12769 if (self.synpred186()) :
12770 alt93 = 1
12771
12772
12773 elif LA93 == 37:
12774 LA93_90 = self.input.LA(3)
12775
12776 if (self.synpred186()) :
12777 alt93 = 1
12778
12779
12780 elif LA93 == 38:
12781 LA93_91 = self.input.LA(3)
12782
12783 if (self.synpred186()) :
12784 alt93 = 1
12785
12786
12787 elif LA93 == 39:
12788 LA93_92 = self.input.LA(3)
12789
12790 if (self.synpred186()) :
12791 alt93 = 1
12792
12793
12794 elif LA93 == 40:
12795 LA93_93 = self.input.LA(3)
12796
12797 if (self.synpred186()) :
12798 alt93 = 1
12799
12800
12801 elif LA93 == 41:
12802 LA93_94 = self.input.LA(3)
12803
12804 if (self.synpred186()) :
12805 alt93 = 1
12806
12807
12808 elif LA93 == 42:
12809 LA93_95 = self.input.LA(3)
12810
12811 if (self.synpred186()) :
12812 alt93 = 1
12813
12814
12815 elif LA93 == 45 or LA93 == 46:
12816 LA93_96 = self.input.LA(3)
12817
12818 if (self.synpred186()) :
12819 alt93 = 1
12820
12821
12822 elif LA93 == 48:
12823 LA93_97 = self.input.LA(3)
12824
12825 if (self.synpred186()) :
12826 alt93 = 1
12827
12828
12829 elif LA93 == IDENTIFIER:
12830 LA93_98 = self.input.LA(3)
12831
12832 if (self.synpred186()) :
12833 alt93 = 1
12834
12835
12836 elif LA93 == 58:
12837 LA93_99 = self.input.LA(3)
12838
12839 if (self.synpred186()) :
12840 alt93 = 1
12841
12842
12843 elif LA93 == 66:
12844 LA93_100 = self.input.LA(3)
12845
12846 if (self.synpred186()) :
12847 alt93 = 1
12848
12849
12850 elif LA93 == 59:
12851 LA93_101 = self.input.LA(3)
12852
12853 if (self.synpred186()) :
12854 alt93 = 1
12855
12856
12857 elif LA93 == 60:
12858 LA93_102 = self.input.LA(3)
12859
12860 if (self.synpred186()) :
12861 alt93 = 1
12862
12863
12864 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
12865 LA93_103 = self.input.LA(3)
12866
12867 if (self.synpred186()) :
12868 alt93 = 1
12869
12870
12871 elif LA93 == 62:
12872 LA93_104 = self.input.LA(3)
12873
12874 if (self.synpred186()) :
12875 alt93 = 1
12876
12877
12878
12879 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12880 LA93 = self.input.LA(2)
12881 if LA93 == 66:
12882 LA93_105 = self.input.LA(3)
12883
12884 if (self.synpred186()) :
12885 alt93 = 1
12886
12887
12888 elif LA93 == 58:
12889 LA93_106 = self.input.LA(3)
12890
12891 if (self.synpred186()) :
12892 alt93 = 1
12893
12894
12895 elif LA93 == 59:
12896 LA93_107 = self.input.LA(3)
12897
12898 if (self.synpred186()) :
12899 alt93 = 1
12900
12901
12902 elif LA93 == 60:
12903 LA93_108 = self.input.LA(3)
12904
12905 if (self.synpred186()) :
12906 alt93 = 1
12907
12908
12909 elif LA93 == IDENTIFIER:
12910 LA93_109 = self.input.LA(3)
12911
12912 if (self.synpred186()) :
12913 alt93 = 1
12914
12915
12916 elif LA93 == 62:
12917 LA93_110 = self.input.LA(3)
12918
12919 if (self.synpred186()) :
12920 alt93 = 1
12921
12922
12923 elif LA93 == 25:
12924 LA93_111 = self.input.LA(3)
12925
12926 if (self.synpred186()) :
12927 alt93 = 1
12928
12929
12930 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12931 LA93_112 = self.input.LA(3)
12932
12933 if (self.synpred186()) :
12934 alt93 = 1
12935
12936
12937 elif LA93 == 34:
12938 LA93_113 = self.input.LA(3)
12939
12940 if (self.synpred186()) :
12941 alt93 = 1
12942
12943
12944 elif LA93 == 35:
12945 LA93_114 = self.input.LA(3)
12946
12947 if (self.synpred186()) :
12948 alt93 = 1
12949
12950
12951 elif LA93 == 36:
12952 LA93_115 = self.input.LA(3)
12953
12954 if (self.synpred186()) :
12955 alt93 = 1
12956
12957
12958 elif LA93 == 37:
12959 LA93_116 = self.input.LA(3)
12960
12961 if (self.synpred186()) :
12962 alt93 = 1
12963
12964
12965 elif LA93 == 38:
12966 LA93_117 = self.input.LA(3)
12967
12968 if (self.synpred186()) :
12969 alt93 = 1
12970
12971
12972 elif LA93 == 39:
12973 LA93_118 = self.input.LA(3)
12974
12975 if (self.synpred186()) :
12976 alt93 = 1
12977
12978
12979 elif LA93 == 40:
12980 LA93_119 = self.input.LA(3)
12981
12982 if (self.synpred186()) :
12983 alt93 = 1
12984
12985
12986 elif LA93 == 41:
12987 LA93_120 = self.input.LA(3)
12988
12989 if (self.synpred186()) :
12990 alt93 = 1
12991
12992
12993 elif LA93 == 42:
12994 LA93_121 = self.input.LA(3)
12995
12996 if (self.synpred186()) :
12997 alt93 = 1
12998
12999
13000 elif LA93 == 45 or LA93 == 46:
13001 LA93_122 = self.input.LA(3)
13002
13003 if (self.synpred186()) :
13004 alt93 = 1
13005
13006
13007 elif LA93 == 48:
13008 LA93_123 = self.input.LA(3)
13009
13010 if (self.synpred186()) :
13011 alt93 = 1
13012
13013
13014 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13015 LA93_124 = self.input.LA(3)
13016
13017 if (self.synpred186()) :
13018 alt93 = 1
13019
13020
13021
13022 elif LA93 == 34:
13023 LA93 = self.input.LA(2)
13024 if LA93 == 66:
13025 LA93_125 = self.input.LA(3)
13026
13027 if (self.synpred186()) :
13028 alt93 = 1
13029
13030
13031 elif LA93 == 58:
13032 LA93_126 = self.input.LA(3)
13033
13034 if (self.synpred186()) :
13035 alt93 = 1
13036
13037
13038 elif LA93 == 59:
13039 LA93_127 = self.input.LA(3)
13040
13041 if (self.synpred186()) :
13042 alt93 = 1
13043
13044
13045 elif LA93 == 60:
13046 LA93_128 = self.input.LA(3)
13047
13048 if (self.synpred186()) :
13049 alt93 = 1
13050
13051
13052 elif LA93 == IDENTIFIER:
13053 LA93_129 = self.input.LA(3)
13054
13055 if (self.synpred186()) :
13056 alt93 = 1
13057
13058
13059 elif LA93 == 62:
13060 LA93_130 = self.input.LA(3)
13061
13062 if (self.synpred186()) :
13063 alt93 = 1
13064
13065
13066 elif LA93 == 25:
13067 LA93_131 = self.input.LA(3)
13068
13069 if (self.synpred186()) :
13070 alt93 = 1
13071
13072
13073 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13074 LA93_132 = self.input.LA(3)
13075
13076 if (self.synpred186()) :
13077 alt93 = 1
13078
13079
13080 elif LA93 == 34:
13081 LA93_133 = self.input.LA(3)
13082
13083 if (self.synpred186()) :
13084 alt93 = 1
13085
13086
13087 elif LA93 == 35:
13088 LA93_134 = self.input.LA(3)
13089
13090 if (self.synpred186()) :
13091 alt93 = 1
13092
13093
13094 elif LA93 == 36:
13095 LA93_135 = self.input.LA(3)
13096
13097 if (self.synpred186()) :
13098 alt93 = 1
13099
13100
13101 elif LA93 == 37:
13102 LA93_136 = self.input.LA(3)
13103
13104 if (self.synpred186()) :
13105 alt93 = 1
13106
13107
13108 elif LA93 == 38:
13109 LA93_137 = self.input.LA(3)
13110
13111 if (self.synpred186()) :
13112 alt93 = 1
13113
13114
13115 elif LA93 == 39:
13116 LA93_138 = self.input.LA(3)
13117
13118 if (self.synpred186()) :
13119 alt93 = 1
13120
13121
13122 elif LA93 == 40:
13123 LA93_139 = self.input.LA(3)
13124
13125 if (self.synpred186()) :
13126 alt93 = 1
13127
13128
13129 elif LA93 == 41:
13130 LA93_140 = self.input.LA(3)
13131
13132 if (self.synpred186()) :
13133 alt93 = 1
13134
13135
13136 elif LA93 == 42:
13137 LA93_141 = self.input.LA(3)
13138
13139 if (self.synpred186()) :
13140 alt93 = 1
13141
13142
13143 elif LA93 == 45 or LA93 == 46:
13144 LA93_142 = self.input.LA(3)
13145
13146 if (self.synpred186()) :
13147 alt93 = 1
13148
13149
13150 elif LA93 == 48:
13151 LA93_143 = self.input.LA(3)
13152
13153 if (self.synpred186()) :
13154 alt93 = 1
13155
13156
13157 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13158 LA93_144 = self.input.LA(3)
13159
13160 if (self.synpred186()) :
13161 alt93 = 1
13162
13163
13164
13165 elif LA93 == 35:
13166 LA93 = self.input.LA(2)
13167 if LA93 == 66:
13168 LA93_145 = self.input.LA(3)
13169
13170 if (self.synpred186()) :
13171 alt93 = 1
13172
13173
13174 elif LA93 == 58:
13175 LA93_146 = self.input.LA(3)
13176
13177 if (self.synpred186()) :
13178 alt93 = 1
13179
13180
13181 elif LA93 == 59:
13182 LA93_147 = self.input.LA(3)
13183
13184 if (self.synpred186()) :
13185 alt93 = 1
13186
13187
13188 elif LA93 == 60:
13189 LA93_148 = self.input.LA(3)
13190
13191 if (self.synpred186()) :
13192 alt93 = 1
13193
13194
13195 elif LA93 == IDENTIFIER:
13196 LA93_149 = self.input.LA(3)
13197
13198 if (self.synpred186()) :
13199 alt93 = 1
13200
13201
13202 elif LA93 == 62:
13203 LA93_150 = self.input.LA(3)
13204
13205 if (self.synpred186()) :
13206 alt93 = 1
13207
13208
13209 elif LA93 == 25:
13210 LA93_151 = self.input.LA(3)
13211
13212 if (self.synpred186()) :
13213 alt93 = 1
13214
13215
13216 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13217 LA93_152 = self.input.LA(3)
13218
13219 if (self.synpred186()) :
13220 alt93 = 1
13221
13222
13223 elif LA93 == 34:
13224 LA93_153 = self.input.LA(3)
13225
13226 if (self.synpred186()) :
13227 alt93 = 1
13228
13229
13230 elif LA93 == 35:
13231 LA93_154 = self.input.LA(3)
13232
13233 if (self.synpred186()) :
13234 alt93 = 1
13235
13236
13237 elif LA93 == 36:
13238 LA93_155 = self.input.LA(3)
13239
13240 if (self.synpred186()) :
13241 alt93 = 1
13242
13243
13244 elif LA93 == 37:
13245 LA93_156 = self.input.LA(3)
13246
13247 if (self.synpred186()) :
13248 alt93 = 1
13249
13250
13251 elif LA93 == 38:
13252 LA93_157 = self.input.LA(3)
13253
13254 if (self.synpred186()) :
13255 alt93 = 1
13256
13257
13258 elif LA93 == 39:
13259 LA93_158 = self.input.LA(3)
13260
13261 if (self.synpred186()) :
13262 alt93 = 1
13263
13264
13265 elif LA93 == 40:
13266 LA93_159 = self.input.LA(3)
13267
13268 if (self.synpred186()) :
13269 alt93 = 1
13270
13271
13272 elif LA93 == 41:
13273 LA93_160 = self.input.LA(3)
13274
13275 if (self.synpred186()) :
13276 alt93 = 1
13277
13278
13279 elif LA93 == 42:
13280 LA93_161 = self.input.LA(3)
13281
13282 if (self.synpred186()) :
13283 alt93 = 1
13284
13285
13286 elif LA93 == 45 or LA93 == 46:
13287 LA93_162 = self.input.LA(3)
13288
13289 if (self.synpred186()) :
13290 alt93 = 1
13291
13292
13293 elif LA93 == 48:
13294 LA93_163 = self.input.LA(3)
13295
13296 if (self.synpred186()) :
13297 alt93 = 1
13298
13299
13300 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13301 LA93_164 = self.input.LA(3)
13302
13303 if (self.synpred186()) :
13304 alt93 = 1
13305
13306
13307
13308 elif LA93 == 36:
13309 LA93 = self.input.LA(2)
13310 if LA93 == 66:
13311 LA93_165 = self.input.LA(3)
13312
13313 if (self.synpred186()) :
13314 alt93 = 1
13315
13316
13317 elif LA93 == 58:
13318 LA93_166 = self.input.LA(3)
13319
13320 if (self.synpred186()) :
13321 alt93 = 1
13322
13323
13324 elif LA93 == 59:
13325 LA93_167 = self.input.LA(3)
13326
13327 if (self.synpred186()) :
13328 alt93 = 1
13329
13330
13331 elif LA93 == 60:
13332 LA93_168 = self.input.LA(3)
13333
13334 if (self.synpred186()) :
13335 alt93 = 1
13336
13337
13338 elif LA93 == IDENTIFIER:
13339 LA93_169 = self.input.LA(3)
13340
13341 if (self.synpred186()) :
13342 alt93 = 1
13343
13344
13345 elif LA93 == 62:
13346 LA93_170 = self.input.LA(3)
13347
13348 if (self.synpred186()) :
13349 alt93 = 1
13350
13351
13352 elif LA93 == 25:
13353 LA93_171 = self.input.LA(3)
13354
13355 if (self.synpred186()) :
13356 alt93 = 1
13357
13358
13359 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13360 LA93_172 = self.input.LA(3)
13361
13362 if (self.synpred186()) :
13363 alt93 = 1
13364
13365
13366 elif LA93 == 34:
13367 LA93_173 = self.input.LA(3)
13368
13369 if (self.synpred186()) :
13370 alt93 = 1
13371
13372
13373 elif LA93 == 35:
13374 LA93_174 = self.input.LA(3)
13375
13376 if (self.synpred186()) :
13377 alt93 = 1
13378
13379
13380 elif LA93 == 36:
13381 LA93_175 = self.input.LA(3)
13382
13383 if (self.synpred186()) :
13384 alt93 = 1
13385
13386
13387 elif LA93 == 37:
13388 LA93_176 = self.input.LA(3)
13389
13390 if (self.synpred186()) :
13391 alt93 = 1
13392
13393
13394 elif LA93 == 38:
13395 LA93_177 = self.input.LA(3)
13396
13397 if (self.synpred186()) :
13398 alt93 = 1
13399
13400
13401 elif LA93 == 39:
13402 LA93_178 = self.input.LA(3)
13403
13404 if (self.synpred186()) :
13405 alt93 = 1
13406
13407
13408 elif LA93 == 40:
13409 LA93_179 = self.input.LA(3)
13410
13411 if (self.synpred186()) :
13412 alt93 = 1
13413
13414
13415 elif LA93 == 41:
13416 LA93_180 = self.input.LA(3)
13417
13418 if (self.synpred186()) :
13419 alt93 = 1
13420
13421
13422 elif LA93 == 42:
13423 LA93_181 = self.input.LA(3)
13424
13425 if (self.synpred186()) :
13426 alt93 = 1
13427
13428
13429 elif LA93 == 45 or LA93 == 46:
13430 LA93_182 = self.input.LA(3)
13431
13432 if (self.synpred186()) :
13433 alt93 = 1
13434
13435
13436 elif LA93 == 48:
13437 LA93_183 = self.input.LA(3)
13438
13439 if (self.synpred186()) :
13440 alt93 = 1
13441
13442
13443 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13444 LA93_184 = self.input.LA(3)
13445
13446 if (self.synpred186()) :
13447 alt93 = 1
13448
13449
13450
13451 elif LA93 == 37:
13452 LA93 = self.input.LA(2)
13453 if LA93 == 66:
13454 LA93_185 = self.input.LA(3)
13455
13456 if (self.synpred186()) :
13457 alt93 = 1
13458
13459
13460 elif LA93 == 58:
13461 LA93_186 = self.input.LA(3)
13462
13463 if (self.synpred186()) :
13464 alt93 = 1
13465
13466
13467 elif LA93 == 59:
13468 LA93_187 = self.input.LA(3)
13469
13470 if (self.synpred186()) :
13471 alt93 = 1
13472
13473
13474 elif LA93 == 60:
13475 LA93_188 = self.input.LA(3)
13476
13477 if (self.synpred186()) :
13478 alt93 = 1
13479
13480
13481 elif LA93 == IDENTIFIER:
13482 LA93_189 = self.input.LA(3)
13483
13484 if (self.synpred186()) :
13485 alt93 = 1
13486
13487
13488 elif LA93 == 62:
13489 LA93_190 = self.input.LA(3)
13490
13491 if (self.synpred186()) :
13492 alt93 = 1
13493
13494
13495 elif LA93 == 25:
13496 LA93_191 = self.input.LA(3)
13497
13498 if (self.synpred186()) :
13499 alt93 = 1
13500
13501
13502 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13503 LA93_192 = self.input.LA(3)
13504
13505 if (self.synpred186()) :
13506 alt93 = 1
13507
13508
13509 elif LA93 == 34:
13510 LA93_193 = self.input.LA(3)
13511
13512 if (self.synpred186()) :
13513 alt93 = 1
13514
13515
13516 elif LA93 == 35:
13517 LA93_194 = self.input.LA(3)
13518
13519 if (self.synpred186()) :
13520 alt93 = 1
13521
13522
13523 elif LA93 == 36:
13524 LA93_195 = self.input.LA(3)
13525
13526 if (self.synpred186()) :
13527 alt93 = 1
13528
13529
13530 elif LA93 == 37:
13531 LA93_196 = self.input.LA(3)
13532
13533 if (self.synpred186()) :
13534 alt93 = 1
13535
13536
13537 elif LA93 == 38:
13538 LA93_197 = self.input.LA(3)
13539
13540 if (self.synpred186()) :
13541 alt93 = 1
13542
13543
13544 elif LA93 == 39:
13545 LA93_198 = self.input.LA(3)
13546
13547 if (self.synpred186()) :
13548 alt93 = 1
13549
13550
13551 elif LA93 == 40:
13552 LA93_199 = self.input.LA(3)
13553
13554 if (self.synpred186()) :
13555 alt93 = 1
13556
13557
13558 elif LA93 == 41:
13559 LA93_200 = self.input.LA(3)
13560
13561 if (self.synpred186()) :
13562 alt93 = 1
13563
13564
13565 elif LA93 == 42:
13566 LA93_201 = self.input.LA(3)
13567
13568 if (self.synpred186()) :
13569 alt93 = 1
13570
13571
13572 elif LA93 == 45 or LA93 == 46:
13573 LA93_202 = self.input.LA(3)
13574
13575 if (self.synpred186()) :
13576 alt93 = 1
13577
13578
13579 elif LA93 == 48:
13580 LA93_203 = self.input.LA(3)
13581
13582 if (self.synpred186()) :
13583 alt93 = 1
13584
13585
13586 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13587 LA93_204 = self.input.LA(3)
13588
13589 if (self.synpred186()) :
13590 alt93 = 1
13591
13592
13593
13594 elif LA93 == 38:
13595 LA93 = self.input.LA(2)
13596 if LA93 == 66:
13597 LA93_205 = self.input.LA(3)
13598
13599 if (self.synpred186()) :
13600 alt93 = 1
13601
13602
13603 elif LA93 == 58:
13604 LA93_206 = self.input.LA(3)
13605
13606 if (self.synpred186()) :
13607 alt93 = 1
13608
13609
13610 elif LA93 == 59:
13611 LA93_207 = self.input.LA(3)
13612
13613 if (self.synpred186()) :
13614 alt93 = 1
13615
13616
13617 elif LA93 == 60:
13618 LA93_208 = self.input.LA(3)
13619
13620 if (self.synpred186()) :
13621 alt93 = 1
13622
13623
13624 elif LA93 == IDENTIFIER:
13625 LA93_209 = self.input.LA(3)
13626
13627 if (self.synpred186()) :
13628 alt93 = 1
13629
13630
13631 elif LA93 == 62:
13632 LA93_210 = self.input.LA(3)
13633
13634 if (self.synpred186()) :
13635 alt93 = 1
13636
13637
13638 elif LA93 == 25:
13639 LA93_211 = self.input.LA(3)
13640
13641 if (self.synpred186()) :
13642 alt93 = 1
13643
13644
13645 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13646 LA93_212 = self.input.LA(3)
13647
13648 if (self.synpred186()) :
13649 alt93 = 1
13650
13651
13652 elif LA93 == 34:
13653 LA93_213 = self.input.LA(3)
13654
13655 if (self.synpred186()) :
13656 alt93 = 1
13657
13658
13659 elif LA93 == 35:
13660 LA93_214 = self.input.LA(3)
13661
13662 if (self.synpred186()) :
13663 alt93 = 1
13664
13665
13666 elif LA93 == 36:
13667 LA93_215 = self.input.LA(3)
13668
13669 if (self.synpred186()) :
13670 alt93 = 1
13671
13672
13673 elif LA93 == 37:
13674 LA93_216 = self.input.LA(3)
13675
13676 if (self.synpred186()) :
13677 alt93 = 1
13678
13679
13680 elif LA93 == 38:
13681 LA93_217 = self.input.LA(3)
13682
13683 if (self.synpred186()) :
13684 alt93 = 1
13685
13686
13687 elif LA93 == 39:
13688 LA93_218 = self.input.LA(3)
13689
13690 if (self.synpred186()) :
13691 alt93 = 1
13692
13693
13694 elif LA93 == 40:
13695 LA93_219 = self.input.LA(3)
13696
13697 if (self.synpred186()) :
13698 alt93 = 1
13699
13700
13701 elif LA93 == 41:
13702 LA93_220 = self.input.LA(3)
13703
13704 if (self.synpred186()) :
13705 alt93 = 1
13706
13707
13708 elif LA93 == 42:
13709 LA93_221 = self.input.LA(3)
13710
13711 if (self.synpred186()) :
13712 alt93 = 1
13713
13714
13715 elif LA93 == 45 or LA93 == 46:
13716 LA93_222 = self.input.LA(3)
13717
13718 if (self.synpred186()) :
13719 alt93 = 1
13720
13721
13722 elif LA93 == 48:
13723 LA93_223 = self.input.LA(3)
13724
13725 if (self.synpred186()) :
13726 alt93 = 1
13727
13728
13729 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13730 LA93_224 = self.input.LA(3)
13731
13732 if (self.synpred186()) :
13733 alt93 = 1
13734
13735
13736
13737 elif LA93 == 39:
13738 LA93 = self.input.LA(2)
13739 if LA93 == 66:
13740 LA93_225 = self.input.LA(3)
13741
13742 if (self.synpred186()) :
13743 alt93 = 1
13744
13745
13746 elif LA93 == 58:
13747 LA93_226 = self.input.LA(3)
13748
13749 if (self.synpred186()) :
13750 alt93 = 1
13751
13752
13753 elif LA93 == 59:
13754 LA93_227 = self.input.LA(3)
13755
13756 if (self.synpred186()) :
13757 alt93 = 1
13758
13759
13760 elif LA93 == 60:
13761 LA93_228 = self.input.LA(3)
13762
13763 if (self.synpred186()) :
13764 alt93 = 1
13765
13766
13767 elif LA93 == IDENTIFIER:
13768 LA93_229 = self.input.LA(3)
13769
13770 if (self.synpred186()) :
13771 alt93 = 1
13772
13773
13774 elif LA93 == 62:
13775 LA93_230 = self.input.LA(3)
13776
13777 if (self.synpred186()) :
13778 alt93 = 1
13779
13780
13781 elif LA93 == 25:
13782 LA93_231 = self.input.LA(3)
13783
13784 if (self.synpred186()) :
13785 alt93 = 1
13786
13787
13788 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13789 LA93_232 = self.input.LA(3)
13790
13791 if (self.synpred186()) :
13792 alt93 = 1
13793
13794
13795 elif LA93 == 34:
13796 LA93_233 = self.input.LA(3)
13797
13798 if (self.synpred186()) :
13799 alt93 = 1
13800
13801
13802 elif LA93 == 35:
13803 LA93_234 = self.input.LA(3)
13804
13805 if (self.synpred186()) :
13806 alt93 = 1
13807
13808
13809 elif LA93 == 36:
13810 LA93_235 = self.input.LA(3)
13811
13812 if (self.synpred186()) :
13813 alt93 = 1
13814
13815
13816 elif LA93 == 37:
13817 LA93_236 = self.input.LA(3)
13818
13819 if (self.synpred186()) :
13820 alt93 = 1
13821
13822
13823 elif LA93 == 38:
13824 LA93_237 = self.input.LA(3)
13825
13826 if (self.synpred186()) :
13827 alt93 = 1
13828
13829
13830 elif LA93 == 39:
13831 LA93_238 = self.input.LA(3)
13832
13833 if (self.synpred186()) :
13834 alt93 = 1
13835
13836
13837 elif LA93 == 40:
13838 LA93_239 = self.input.LA(3)
13839
13840 if (self.synpred186()) :
13841 alt93 = 1
13842
13843
13844 elif LA93 == 41:
13845 LA93_240 = self.input.LA(3)
13846
13847 if (self.synpred186()) :
13848 alt93 = 1
13849
13850
13851 elif LA93 == 42:
13852 LA93_241 = self.input.LA(3)
13853
13854 if (self.synpred186()) :
13855 alt93 = 1
13856
13857
13858 elif LA93 == 45 or LA93 == 46:
13859 LA93_242 = self.input.LA(3)
13860
13861 if (self.synpred186()) :
13862 alt93 = 1
13863
13864
13865 elif LA93 == 48:
13866 LA93_243 = self.input.LA(3)
13867
13868 if (self.synpred186()) :
13869 alt93 = 1
13870
13871
13872 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13873 LA93_244 = self.input.LA(3)
13874
13875 if (self.synpred186()) :
13876 alt93 = 1
13877
13878
13879
13880 elif LA93 == 40:
13881 LA93 = self.input.LA(2)
13882 if LA93 == 66:
13883 LA93_245 = self.input.LA(3)
13884
13885 if (self.synpred186()) :
13886 alt93 = 1
13887
13888
13889 elif LA93 == 58:
13890 LA93_246 = self.input.LA(3)
13891
13892 if (self.synpred186()) :
13893 alt93 = 1
13894
13895
13896 elif LA93 == 59:
13897 LA93_247 = self.input.LA(3)
13898
13899 if (self.synpred186()) :
13900 alt93 = 1
13901
13902
13903 elif LA93 == 60:
13904 LA93_248 = self.input.LA(3)
13905
13906 if (self.synpred186()) :
13907 alt93 = 1
13908
13909
13910 elif LA93 == IDENTIFIER:
13911 LA93_249 = self.input.LA(3)
13912
13913 if (self.synpred186()) :
13914 alt93 = 1
13915
13916
13917 elif LA93 == 62:
13918 LA93_250 = self.input.LA(3)
13919
13920 if (self.synpred186()) :
13921 alt93 = 1
13922
13923
13924 elif LA93 == 25:
13925 LA93_251 = self.input.LA(3)
13926
13927 if (self.synpred186()) :
13928 alt93 = 1
13929
13930
13931 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13932 LA93_252 = self.input.LA(3)
13933
13934 if (self.synpred186()) :
13935 alt93 = 1
13936
13937
13938 elif LA93 == 34:
13939 LA93_253 = self.input.LA(3)
13940
13941 if (self.synpred186()) :
13942 alt93 = 1
13943
13944
13945 elif LA93 == 35:
13946 LA93_254 = self.input.LA(3)
13947
13948 if (self.synpred186()) :
13949 alt93 = 1
13950
13951
13952 elif LA93 == 36:
13953 LA93_255 = self.input.LA(3)
13954
13955 if (self.synpred186()) :
13956 alt93 = 1
13957
13958
13959 elif LA93 == 37:
13960 LA93_256 = self.input.LA(3)
13961
13962 if (self.synpred186()) :
13963 alt93 = 1
13964
13965
13966 elif LA93 == 38:
13967 LA93_257 = self.input.LA(3)
13968
13969 if (self.synpred186()) :
13970 alt93 = 1
13971
13972
13973 elif LA93 == 39:
13974 LA93_258 = self.input.LA(3)
13975
13976 if (self.synpred186()) :
13977 alt93 = 1
13978
13979
13980 elif LA93 == 40:
13981 LA93_259 = self.input.LA(3)
13982
13983 if (self.synpred186()) :
13984 alt93 = 1
13985
13986
13987 elif LA93 == 41:
13988 LA93_260 = self.input.LA(3)
13989
13990 if (self.synpred186()) :
13991 alt93 = 1
13992
13993
13994 elif LA93 == 42:
13995 LA93_261 = self.input.LA(3)
13996
13997 if (self.synpred186()) :
13998 alt93 = 1
13999
14000
14001 elif LA93 == 45 or LA93 == 46:
14002 LA93_262 = self.input.LA(3)
14003
14004 if (self.synpred186()) :
14005 alt93 = 1
14006
14007
14008 elif LA93 == 48:
14009 LA93_263 = self.input.LA(3)
14010
14011 if (self.synpred186()) :
14012 alt93 = 1
14013
14014
14015 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14016 LA93_264 = self.input.LA(3)
14017
14018 if (self.synpred186()) :
14019 alt93 = 1
14020
14021
14022
14023 elif LA93 == 41:
14024 LA93 = self.input.LA(2)
14025 if LA93 == 66:
14026 LA93_265 = self.input.LA(3)
14027
14028 if (self.synpred186()) :
14029 alt93 = 1
14030
14031
14032 elif LA93 == 58:
14033 LA93_266 = self.input.LA(3)
14034
14035 if (self.synpred186()) :
14036 alt93 = 1
14037
14038
14039 elif LA93 == 59:
14040 LA93_267 = self.input.LA(3)
14041
14042 if (self.synpred186()) :
14043 alt93 = 1
14044
14045
14046 elif LA93 == 60:
14047 LA93_268 = self.input.LA(3)
14048
14049 if (self.synpred186()) :
14050 alt93 = 1
14051
14052
14053 elif LA93 == IDENTIFIER:
14054 LA93_269 = self.input.LA(3)
14055
14056 if (self.synpred186()) :
14057 alt93 = 1
14058
14059
14060 elif LA93 == 62:
14061 LA93_270 = self.input.LA(3)
14062
14063 if (self.synpred186()) :
14064 alt93 = 1
14065
14066
14067 elif LA93 == 25:
14068 LA93_271 = self.input.LA(3)
14069
14070 if (self.synpred186()) :
14071 alt93 = 1
14072
14073
14074 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14075 LA93_272 = self.input.LA(3)
14076
14077 if (self.synpred186()) :
14078 alt93 = 1
14079
14080
14081 elif LA93 == 34:
14082 LA93_273 = self.input.LA(3)
14083
14084 if (self.synpred186()) :
14085 alt93 = 1
14086
14087
14088 elif LA93 == 35:
14089 LA93_274 = self.input.LA(3)
14090
14091 if (self.synpred186()) :
14092 alt93 = 1
14093
14094
14095 elif LA93 == 36:
14096 LA93_275 = self.input.LA(3)
14097
14098 if (self.synpred186()) :
14099 alt93 = 1
14100
14101
14102 elif LA93 == 37:
14103 LA93_276 = self.input.LA(3)
14104
14105 if (self.synpred186()) :
14106 alt93 = 1
14107
14108
14109 elif LA93 == 38:
14110 LA93_277 = self.input.LA(3)
14111
14112 if (self.synpred186()) :
14113 alt93 = 1
14114
14115
14116 elif LA93 == 39:
14117 LA93_278 = self.input.LA(3)
14118
14119 if (self.synpred186()) :
14120 alt93 = 1
14121
14122
14123 elif LA93 == 40:
14124 LA93_279 = self.input.LA(3)
14125
14126 if (self.synpred186()) :
14127 alt93 = 1
14128
14129
14130 elif LA93 == 41:
14131 LA93_280 = self.input.LA(3)
14132
14133 if (self.synpred186()) :
14134 alt93 = 1
14135
14136
14137 elif LA93 == 42:
14138 LA93_281 = self.input.LA(3)
14139
14140 if (self.synpred186()) :
14141 alt93 = 1
14142
14143
14144 elif LA93 == 45 or LA93 == 46:
14145 LA93_282 = self.input.LA(3)
14146
14147 if (self.synpred186()) :
14148 alt93 = 1
14149
14150
14151 elif LA93 == 48:
14152 LA93_283 = self.input.LA(3)
14153
14154 if (self.synpred186()) :
14155 alt93 = 1
14156
14157
14158 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14159 LA93_284 = self.input.LA(3)
14160
14161 if (self.synpred186()) :
14162 alt93 = 1
14163
14164
14165
14166 elif LA93 == 42:
14167 LA93 = self.input.LA(2)
14168 if LA93 == 66:
14169 LA93_285 = self.input.LA(3)
14170
14171 if (self.synpred186()) :
14172 alt93 = 1
14173
14174
14175 elif LA93 == 58:
14176 LA93_286 = self.input.LA(3)
14177
14178 if (self.synpred186()) :
14179 alt93 = 1
14180
14181
14182 elif LA93 == 59:
14183 LA93_287 = self.input.LA(3)
14184
14185 if (self.synpred186()) :
14186 alt93 = 1
14187
14188
14189 elif LA93 == 60:
14190 LA93_288 = self.input.LA(3)
14191
14192 if (self.synpred186()) :
14193 alt93 = 1
14194
14195
14196 elif LA93 == IDENTIFIER:
14197 LA93_289 = self.input.LA(3)
14198
14199 if (self.synpred186()) :
14200 alt93 = 1
14201
14202
14203 elif LA93 == 62:
14204 LA93_290 = self.input.LA(3)
14205
14206 if (self.synpred186()) :
14207 alt93 = 1
14208
14209
14210 elif LA93 == 25:
14211 LA93_291 = self.input.LA(3)
14212
14213 if (self.synpred186()) :
14214 alt93 = 1
14215
14216
14217 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14218 LA93_292 = self.input.LA(3)
14219
14220 if (self.synpred186()) :
14221 alt93 = 1
14222
14223
14224 elif LA93 == 34:
14225 LA93_293 = self.input.LA(3)
14226
14227 if (self.synpred186()) :
14228 alt93 = 1
14229
14230
14231 elif LA93 == 35:
14232 LA93_294 = self.input.LA(3)
14233
14234 if (self.synpred186()) :
14235 alt93 = 1
14236
14237
14238 elif LA93 == 36:
14239 LA93_295 = self.input.LA(3)
14240
14241 if (self.synpred186()) :
14242 alt93 = 1
14243
14244
14245 elif LA93 == 37:
14246 LA93_296 = self.input.LA(3)
14247
14248 if (self.synpred186()) :
14249 alt93 = 1
14250
14251
14252 elif LA93 == 38:
14253 LA93_297 = self.input.LA(3)
14254
14255 if (self.synpred186()) :
14256 alt93 = 1
14257
14258
14259 elif LA93 == 39:
14260 LA93_298 = self.input.LA(3)
14261
14262 if (self.synpred186()) :
14263 alt93 = 1
14264
14265
14266 elif LA93 == 40:
14267 LA93_299 = self.input.LA(3)
14268
14269 if (self.synpred186()) :
14270 alt93 = 1
14271
14272
14273 elif LA93 == 41:
14274 LA93_300 = self.input.LA(3)
14275
14276 if (self.synpred186()) :
14277 alt93 = 1
14278
14279
14280 elif LA93 == 42:
14281 LA93_301 = self.input.LA(3)
14282
14283 if (self.synpred186()) :
14284 alt93 = 1
14285
14286
14287 elif LA93 == 45 or LA93 == 46:
14288 LA93_302 = self.input.LA(3)
14289
14290 if (self.synpred186()) :
14291 alt93 = 1
14292
14293
14294 elif LA93 == 48:
14295 LA93_303 = self.input.LA(3)
14296
14297 if (self.synpred186()) :
14298 alt93 = 1
14299
14300
14301 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14302 LA93_304 = self.input.LA(3)
14303
14304 if (self.synpred186()) :
14305 alt93 = 1
14306
14307
14308
14309 elif LA93 == 45 or LA93 == 46:
14310 LA93_40 = self.input.LA(2)
14311
14312 if (LA93_40 == IDENTIFIER) :
14313 LA93_305 = self.input.LA(3)
14314
14315 if (self.synpred186()) :
14316 alt93 = 1
14317
14318
14319 elif (LA93_40 == 43) :
14320 LA93_306 = self.input.LA(3)
14321
14322 if (self.synpred186()) :
14323 alt93 = 1
14324
14325
14326
14327
14328 elif LA93 == 48:
14329 LA93_41 = self.input.LA(2)
14330
14331 if (LA93_41 == 43) :
14332 LA93_307 = self.input.LA(3)
14333
14334 if (self.synpred186()) :
14335 alt93 = 1
14336
14337
14338 elif (LA93_41 == IDENTIFIER) :
14339 LA93_308 = self.input.LA(3)
14340
14341 if (self.synpred186()) :
14342 alt93 = 1
14343
14344
14345
14346
14347 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60 or LA93 == 61:
14348 LA93 = self.input.LA(2)
14349 if LA93 == 66:
14350 LA93_309 = self.input.LA(3)
14351
14352 if (self.synpred186()) :
14353 alt93 = 1
14354
14355
14356 elif LA93 == 58:
14357 LA93_310 = self.input.LA(3)
14358
14359 if (self.synpred186()) :
14360 alt93 = 1
14361
14362
14363 elif LA93 == 59:
14364 LA93_311 = self.input.LA(3)
14365
14366 if (self.synpred186()) :
14367 alt93 = 1
14368
14369
14370 elif LA93 == 60:
14371 LA93_312 = self.input.LA(3)
14372
14373 if (self.synpred186()) :
14374 alt93 = 1
14375
14376
14377 elif LA93 == IDENTIFIER:
14378 LA93_313 = self.input.LA(3)
14379
14380 if (self.synpred186()) :
14381 alt93 = 1
14382
14383
14384 elif LA93 == 62:
14385 LA93_314 = self.input.LA(3)
14386
14387 if (self.synpred186()) :
14388 alt93 = 1
14389
14390
14391 elif LA93 == 25:
14392 LA93_315 = self.input.LA(3)
14393
14394 if (self.synpred186()) :
14395 alt93 = 1
14396
14397
14398 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14399 LA93_316 = self.input.LA(3)
14400
14401 if (self.synpred186()) :
14402 alt93 = 1
14403
14404
14405 elif LA93 == 34:
14406 LA93_317 = self.input.LA(3)
14407
14408 if (self.synpred186()) :
14409 alt93 = 1
14410
14411
14412 elif LA93 == 35:
14413 LA93_318 = self.input.LA(3)
14414
14415 if (self.synpred186()) :
14416 alt93 = 1
14417
14418
14419 elif LA93 == 36:
14420 LA93_319 = self.input.LA(3)
14421
14422 if (self.synpred186()) :
14423 alt93 = 1
14424
14425
14426 elif LA93 == 37:
14427 LA93_320 = self.input.LA(3)
14428
14429 if (self.synpred186()) :
14430 alt93 = 1
14431
14432
14433 elif LA93 == 38:
14434 LA93_321 = self.input.LA(3)
14435
14436 if (self.synpred186()) :
14437 alt93 = 1
14438
14439
14440 elif LA93 == 39:
14441 LA93_322 = self.input.LA(3)
14442
14443 if (self.synpred186()) :
14444 alt93 = 1
14445
14446
14447 elif LA93 == 40:
14448 LA93_323 = self.input.LA(3)
14449
14450 if (self.synpred186()) :
14451 alt93 = 1
14452
14453
14454 elif LA93 == 41:
14455 LA93_324 = self.input.LA(3)
14456
14457 if (self.synpred186()) :
14458 alt93 = 1
14459
14460
14461 elif LA93 == 42:
14462 LA93_325 = self.input.LA(3)
14463
14464 if (self.synpred186()) :
14465 alt93 = 1
14466
14467
14468 elif LA93 == 45 or LA93 == 46:
14469 LA93_326 = self.input.LA(3)
14470
14471 if (self.synpred186()) :
14472 alt93 = 1
14473
14474
14475 elif LA93 == 48:
14476 LA93_327 = self.input.LA(3)
14477
14478 if (self.synpred186()) :
14479 alt93 = 1
14480
14481
14482 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14483 LA93_328 = self.input.LA(3)
14484
14485 if (self.synpred186()) :
14486 alt93 = 1
14487
14488
14489
14490
14491 if alt93 == 1:
14492 # C.g:0:0: declaration
14493 self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
14494 self.declaration()
14495 self.following.pop()
14496 if self.failed:
14497 return retval
14498
14499
14500 else:
14501 break #loop93
14502
14503
14504 # C.g:554:21: ( statement_list )?
14505 alt94 = 2
14506 LA94_0 = self.input.LA(1)
14507
14508 if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 62) or LA94_0 == 66 or (68 <= LA94_0 <= 69) or (72 <= LA94_0 <= 74) or (77 <= LA94_0 <= 79) or (103 <= LA94_0 <= 108) or (110 <= LA94_0 <= 117)) :
14509 alt94 = 1
14510 if alt94 == 1:
14511 # C.g:0:0: statement_list
14512 self.following.append(self.FOLLOW_statement_list_in_compound_statement2228)
14513 self.statement_list()
14514 self.following.pop()
14515 if self.failed:
14516 return retval
14517
14518
14519
14520 self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
14521 if self.failed:
14522 return retval
14523
14524
14525
14526 retval.stop = self.input.LT(-1)
14527
14528
14529 except RecognitionException as re:
14530 self.reportError(re)
14531 self.recover(self.input, re)
14532 finally:
14533 if self.backtracking > 0:
14534 self.memoize(self.input, 66, compound_statement_StartIndex)
14535
14536 pass
14537
14538 return retval
14539
14540 # $ANTLR end compound_statement
14541
14542
14543 # $ANTLR start statement_list
14544 # C.g:557:1: statement_list : ( statement )+ ;
14545 def statement_list(self, ):
14546
14547 statement_list_StartIndex = self.input.index()
14548 try:
14549 try:
14550 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
14551 return
14552
14553 # C.g:558:2: ( ( statement )+ )
14554 # C.g:558:4: ( statement )+
14555 # C.g:558:4: ( statement )+
14556 cnt95 = 0
14557 while True: #loop95
14558 alt95 = 2
14559 LA95 = self.input.LA(1)
14560 if LA95 == IDENTIFIER:
14561 LA95 = self.input.LA(2)
14562 if LA95 == 62:
14563 LA95_46 = self.input.LA(3)
14564
14565 if (self.synpred188()) :
14566 alt95 = 1
14567
14568
14569 elif LA95 == 25 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 45 or LA95 == 46 or LA95 == 47 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
14570 alt95 = 1
14571 elif LA95 == STRING_LITERAL:
14572 LA95_48 = self.input.LA(3)
14573
14574 if (self.synpred188()) :
14575 alt95 = 1
14576
14577
14578 elif LA95 == IDENTIFIER:
14579 LA95_49 = self.input.LA(3)
14580
14581 if (self.synpred188()) :
14582 alt95 = 1
14583
14584
14585 elif LA95 == 64:
14586 LA95_50 = self.input.LA(3)
14587
14588 if (self.synpred188()) :
14589 alt95 = 1
14590
14591
14592 elif LA95 == 75:
14593 LA95_51 = self.input.LA(3)
14594
14595 if (self.synpred188()) :
14596 alt95 = 1
14597
14598
14599 elif LA95 == 66:
14600 LA95_52 = self.input.LA(3)
14601
14602 if (self.synpred188()) :
14603 alt95 = 1
14604
14605
14606 elif LA95 == 76:
14607 LA95_53 = self.input.LA(3)
14608
14609 if (self.synpred188()) :
14610 alt95 = 1
14611
14612
14613 elif LA95 == 72:
14614 LA95_54 = self.input.LA(3)
14615
14616 if (self.synpred188()) :
14617 alt95 = 1
14618
14619
14620 elif LA95 == 73:
14621 LA95_55 = self.input.LA(3)
14622
14623 if (self.synpred188()) :
14624 alt95 = 1
14625
14626
14627 elif LA95 == 70:
14628 LA95_56 = self.input.LA(3)
14629
14630 if (self.synpred188()) :
14631 alt95 = 1
14632
14633
14634 elif LA95 == 71:
14635 LA95_57 = self.input.LA(3)
14636
14637 if (self.synpred188()) :
14638 alt95 = 1
14639
14640
14641 elif LA95 == 68:
14642 LA95_58 = self.input.LA(3)
14643
14644 if (self.synpred188()) :
14645 alt95 = 1
14646
14647
14648 elif LA95 == 69:
14649 LA95_59 = self.input.LA(3)
14650
14651 if (self.synpred188()) :
14652 alt95 = 1
14653
14654
14655 elif LA95 == 101 or LA95 == 102:
14656 LA95_60 = self.input.LA(3)
14657
14658 if (self.synpred188()) :
14659 alt95 = 1
14660
14661
14662 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14663 LA95_61 = self.input.LA(3)
14664
14665 if (self.synpred188()) :
14666 alt95 = 1
14667
14668
14669 elif LA95 == 95 or LA95 == 96:
14670 LA95_62 = self.input.LA(3)
14671
14672 if (self.synpred188()) :
14673 alt95 = 1
14674
14675
14676 elif LA95 == 77:
14677 LA95_63 = self.input.LA(3)
14678
14679 if (self.synpred188()) :
14680 alt95 = 1
14681
14682
14683 elif LA95 == 94:
14684 LA95_64 = self.input.LA(3)
14685
14686 if (self.synpred188()) :
14687 alt95 = 1
14688
14689
14690 elif LA95 == 93:
14691 LA95_65 = self.input.LA(3)
14692
14693 if (self.synpred188()) :
14694 alt95 = 1
14695
14696
14697 elif LA95 == 92:
14698 LA95_66 = self.input.LA(3)
14699
14700 if (self.synpred188()) :
14701 alt95 = 1
14702
14703
14704 elif LA95 == 91:
14705 LA95_67 = self.input.LA(3)
14706
14707 if (self.synpred188()) :
14708 alt95 = 1
14709
14710
14711 elif LA95 == 90:
14712 LA95_68 = self.input.LA(3)
14713
14714 if (self.synpred188()) :
14715 alt95 = 1
14716
14717
14718 elif LA95 == 27:
14719 LA95_69 = self.input.LA(3)
14720
14721 if (self.synpred188()) :
14722 alt95 = 1
14723
14724
14725 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
14726 LA95_88 = self.input.LA(3)
14727
14728 if (self.synpred188()) :
14729 alt95 = 1
14730
14731
14732
14733 elif LA95 == HEX_LITERAL:
14734 LA95 = self.input.LA(2)
14735 if LA95 == 64:
14736 LA95_89 = self.input.LA(3)
14737
14738 if (self.synpred188()) :
14739 alt95 = 1
14740
14741
14742 elif LA95 == 62:
14743 LA95_90 = self.input.LA(3)
14744
14745 if (self.synpred188()) :
14746 alt95 = 1
14747
14748
14749 elif LA95 == 75:
14750 LA95_91 = self.input.LA(3)
14751
14752 if (self.synpred188()) :
14753 alt95 = 1
14754
14755
14756 elif LA95 == 66:
14757 LA95_92 = self.input.LA(3)
14758
14759 if (self.synpred188()) :
14760 alt95 = 1
14761
14762
14763 elif LA95 == 76:
14764 LA95_93 = self.input.LA(3)
14765
14766 if (self.synpred188()) :
14767 alt95 = 1
14768
14769
14770 elif LA95 == 72:
14771 LA95_94 = self.input.LA(3)
14772
14773 if (self.synpred188()) :
14774 alt95 = 1
14775
14776
14777 elif LA95 == 73:
14778 LA95_95 = self.input.LA(3)
14779
14780 if (self.synpred188()) :
14781 alt95 = 1
14782
14783
14784 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
14785 LA95_96 = self.input.LA(3)
14786
14787 if (self.synpred188()) :
14788 alt95 = 1
14789
14790
14791 elif LA95 == 70:
14792 LA95_97 = self.input.LA(3)
14793
14794 if (self.synpred188()) :
14795 alt95 = 1
14796
14797
14798 elif LA95 == 71:
14799 LA95_98 = self.input.LA(3)
14800
14801 if (self.synpred188()) :
14802 alt95 = 1
14803
14804
14805 elif LA95 == 68:
14806 LA95_99 = self.input.LA(3)
14807
14808 if (self.synpred188()) :
14809 alt95 = 1
14810
14811
14812 elif LA95 == 69:
14813 LA95_100 = self.input.LA(3)
14814
14815 if (self.synpred188()) :
14816 alt95 = 1
14817
14818
14819 elif LA95 == 101 or LA95 == 102:
14820 LA95_101 = self.input.LA(3)
14821
14822 if (self.synpred188()) :
14823 alt95 = 1
14824
14825
14826 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14827 LA95_102 = self.input.LA(3)
14828
14829 if (self.synpred188()) :
14830 alt95 = 1
14831
14832
14833 elif LA95 == 95 or LA95 == 96:
14834 LA95_103 = self.input.LA(3)
14835
14836 if (self.synpred188()) :
14837 alt95 = 1
14838
14839
14840 elif LA95 == 77:
14841 LA95_104 = self.input.LA(3)
14842
14843 if (self.synpred188()) :
14844 alt95 = 1
14845
14846
14847 elif LA95 == 94:
14848 LA95_105 = self.input.LA(3)
14849
14850 if (self.synpred188()) :
14851 alt95 = 1
14852
14853
14854 elif LA95 == 93:
14855 LA95_106 = self.input.LA(3)
14856
14857 if (self.synpred188()) :
14858 alt95 = 1
14859
14860
14861 elif LA95 == 92:
14862 LA95_107 = self.input.LA(3)
14863
14864 if (self.synpred188()) :
14865 alt95 = 1
14866
14867
14868 elif LA95 == 91:
14869 LA95_108 = self.input.LA(3)
14870
14871 if (self.synpred188()) :
14872 alt95 = 1
14873
14874
14875 elif LA95 == 90:
14876 LA95_109 = self.input.LA(3)
14877
14878 if (self.synpred188()) :
14879 alt95 = 1
14880
14881
14882 elif LA95 == 27:
14883 LA95_110 = self.input.LA(3)
14884
14885 if (self.synpred188()) :
14886 alt95 = 1
14887
14888
14889 elif LA95 == 25:
14890 alt95 = 1
14891
14892 elif LA95 == OCTAL_LITERAL:
14893 LA95 = self.input.LA(2)
14894 if LA95 == 64:
14895 LA95_113 = self.input.LA(3)
14896
14897 if (self.synpred188()) :
14898 alt95 = 1
14899
14900
14901 elif LA95 == 62:
14902 LA95_114 = self.input.LA(3)
14903
14904 if (self.synpred188()) :
14905 alt95 = 1
14906
14907
14908 elif LA95 == 75:
14909 LA95_115 = self.input.LA(3)
14910
14911 if (self.synpred188()) :
14912 alt95 = 1
14913
14914
14915 elif LA95 == 66:
14916 LA95_116 = self.input.LA(3)
14917
14918 if (self.synpred188()) :
14919 alt95 = 1
14920
14921
14922 elif LA95 == 76:
14923 LA95_117 = self.input.LA(3)
14924
14925 if (self.synpred188()) :
14926 alt95 = 1
14927
14928
14929 elif LA95 == 72:
14930 LA95_118 = self.input.LA(3)
14931
14932 if (self.synpred188()) :
14933 alt95 = 1
14934
14935
14936 elif LA95 == 73:
14937 LA95_119 = self.input.LA(3)
14938
14939 if (self.synpred188()) :
14940 alt95 = 1
14941
14942
14943 elif LA95 == 70:
14944 LA95_120 = self.input.LA(3)
14945
14946 if (self.synpred188()) :
14947 alt95 = 1
14948
14949
14950 elif LA95 == 71:
14951 LA95_121 = self.input.LA(3)
14952
14953 if (self.synpred188()) :
14954 alt95 = 1
14955
14956
14957 elif LA95 == 68:
14958 LA95_122 = self.input.LA(3)
14959
14960 if (self.synpred188()) :
14961 alt95 = 1
14962
14963
14964 elif LA95 == 69:
14965 LA95_123 = self.input.LA(3)
14966
14967 if (self.synpred188()) :
14968 alt95 = 1
14969
14970
14971 elif LA95 == 101 or LA95 == 102:
14972 LA95_124 = self.input.LA(3)
14973
14974 if (self.synpred188()) :
14975 alt95 = 1
14976
14977
14978 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14979 LA95_125 = self.input.LA(3)
14980
14981 if (self.synpred188()) :
14982 alt95 = 1
14983
14984
14985 elif LA95 == 95 or LA95 == 96:
14986 LA95_126 = self.input.LA(3)
14987
14988 if (self.synpred188()) :
14989 alt95 = 1
14990
14991
14992 elif LA95 == 77:
14993 LA95_127 = self.input.LA(3)
14994
14995 if (self.synpred188()) :
14996 alt95 = 1
14997
14998
14999 elif LA95 == 94:
15000 LA95_128 = self.input.LA(3)
15001
15002 if (self.synpred188()) :
15003 alt95 = 1
15004
15005
15006 elif LA95 == 93:
15007 LA95_129 = self.input.LA(3)
15008
15009 if (self.synpred188()) :
15010 alt95 = 1
15011
15012
15013 elif LA95 == 92:
15014 LA95_130 = self.input.LA(3)
15015
15016 if (self.synpred188()) :
15017 alt95 = 1
15018
15019
15020 elif LA95 == 91:
15021 LA95_131 = self.input.LA(3)
15022
15023 if (self.synpred188()) :
15024 alt95 = 1
15025
15026
15027 elif LA95 == 90:
15028 LA95_132 = self.input.LA(3)
15029
15030 if (self.synpred188()) :
15031 alt95 = 1
15032
15033
15034 elif LA95 == 27:
15035 LA95_133 = self.input.LA(3)
15036
15037 if (self.synpred188()) :
15038 alt95 = 1
15039
15040
15041 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15042 LA95_135 = self.input.LA(3)
15043
15044 if (self.synpred188()) :
15045 alt95 = 1
15046
15047
15048 elif LA95 == 25:
15049 alt95 = 1
15050
15051 elif LA95 == DECIMAL_LITERAL:
15052 LA95 = self.input.LA(2)
15053 if LA95 == 64:
15054 LA95_137 = self.input.LA(3)
15055
15056 if (self.synpred188()) :
15057 alt95 = 1
15058
15059
15060 elif LA95 == 62:
15061 LA95_138 = self.input.LA(3)
15062
15063 if (self.synpred188()) :
15064 alt95 = 1
15065
15066
15067 elif LA95 == 75:
15068 LA95_139 = self.input.LA(3)
15069
15070 if (self.synpred188()) :
15071 alt95 = 1
15072
15073
15074 elif LA95 == 66:
15075 LA95_140 = self.input.LA(3)
15076
15077 if (self.synpred188()) :
15078 alt95 = 1
15079
15080
15081 elif LA95 == 76:
15082 LA95_141 = self.input.LA(3)
15083
15084 if (self.synpred188()) :
15085 alt95 = 1
15086
15087
15088 elif LA95 == 72:
15089 LA95_142 = self.input.LA(3)
15090
15091 if (self.synpred188()) :
15092 alt95 = 1
15093
15094
15095 elif LA95 == 73:
15096 LA95_143 = self.input.LA(3)
15097
15098 if (self.synpred188()) :
15099 alt95 = 1
15100
15101
15102 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15103 LA95_144 = self.input.LA(3)
15104
15105 if (self.synpred188()) :
15106 alt95 = 1
15107
15108
15109 elif LA95 == 70:
15110 LA95_145 = self.input.LA(3)
15111
15112 if (self.synpred188()) :
15113 alt95 = 1
15114
15115
15116 elif LA95 == 71:
15117 LA95_146 = self.input.LA(3)
15118
15119 if (self.synpred188()) :
15120 alt95 = 1
15121
15122
15123 elif LA95 == 68:
15124 LA95_147 = self.input.LA(3)
15125
15126 if (self.synpred188()) :
15127 alt95 = 1
15128
15129
15130 elif LA95 == 69:
15131 LA95_148 = self.input.LA(3)
15132
15133 if (self.synpred188()) :
15134 alt95 = 1
15135
15136
15137 elif LA95 == 101 or LA95 == 102:
15138 LA95_149 = self.input.LA(3)
15139
15140 if (self.synpred188()) :
15141 alt95 = 1
15142
15143
15144 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15145 LA95_150 = self.input.LA(3)
15146
15147 if (self.synpred188()) :
15148 alt95 = 1
15149
15150
15151 elif LA95 == 95 or LA95 == 96:
15152 LA95_151 = self.input.LA(3)
15153
15154 if (self.synpred188()) :
15155 alt95 = 1
15156
15157
15158 elif LA95 == 77:
15159 LA95_152 = self.input.LA(3)
15160
15161 if (self.synpred188()) :
15162 alt95 = 1
15163
15164
15165 elif LA95 == 94:
15166 LA95_153 = self.input.LA(3)
15167
15168 if (self.synpred188()) :
15169 alt95 = 1
15170
15171
15172 elif LA95 == 93:
15173 LA95_154 = self.input.LA(3)
15174
15175 if (self.synpred188()) :
15176 alt95 = 1
15177
15178
15179 elif LA95 == 92:
15180 LA95_155 = self.input.LA(3)
15181
15182 if (self.synpred188()) :
15183 alt95 = 1
15184
15185
15186 elif LA95 == 91:
15187 LA95_156 = self.input.LA(3)
15188
15189 if (self.synpred188()) :
15190 alt95 = 1
15191
15192
15193 elif LA95 == 90:
15194 LA95_157 = self.input.LA(3)
15195
15196 if (self.synpred188()) :
15197 alt95 = 1
15198
15199
15200 elif LA95 == 27:
15201 LA95_158 = self.input.LA(3)
15202
15203 if (self.synpred188()) :
15204 alt95 = 1
15205
15206
15207 elif LA95 == 25:
15208 alt95 = 1
15209
15210 elif LA95 == CHARACTER_LITERAL:
15211 LA95 = self.input.LA(2)
15212 if LA95 == 64:
15213 LA95_161 = self.input.LA(3)
15214
15215 if (self.synpred188()) :
15216 alt95 = 1
15217
15218
15219 elif LA95 == 62:
15220 LA95_162 = self.input.LA(3)
15221
15222 if (self.synpred188()) :
15223 alt95 = 1
15224
15225
15226 elif LA95 == 75:
15227 LA95_163 = self.input.LA(3)
15228
15229 if (self.synpred188()) :
15230 alt95 = 1
15231
15232
15233 elif LA95 == 66:
15234 LA95_164 = self.input.LA(3)
15235
15236 if (self.synpred188()) :
15237 alt95 = 1
15238
15239
15240 elif LA95 == 76:
15241 LA95_165 = self.input.LA(3)
15242
15243 if (self.synpred188()) :
15244 alt95 = 1
15245
15246
15247 elif LA95 == 72:
15248 LA95_166 = self.input.LA(3)
15249
15250 if (self.synpred188()) :
15251 alt95 = 1
15252
15253
15254 elif LA95 == 73:
15255 LA95_167 = self.input.LA(3)
15256
15257 if (self.synpred188()) :
15258 alt95 = 1
15259
15260
15261 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15262 LA95_168 = self.input.LA(3)
15263
15264 if (self.synpred188()) :
15265 alt95 = 1
15266
15267
15268 elif LA95 == 70:
15269 LA95_169 = self.input.LA(3)
15270
15271 if (self.synpred188()) :
15272 alt95 = 1
15273
15274
15275 elif LA95 == 71:
15276 LA95_170 = self.input.LA(3)
15277
15278 if (self.synpred188()) :
15279 alt95 = 1
15280
15281
15282 elif LA95 == 68:
15283 LA95_171 = self.input.LA(3)
15284
15285 if (self.synpred188()) :
15286 alt95 = 1
15287
15288
15289 elif LA95 == 69:
15290 LA95_172 = self.input.LA(3)
15291
15292 if (self.synpred188()) :
15293 alt95 = 1
15294
15295
15296 elif LA95 == 101 or LA95 == 102:
15297 LA95_173 = self.input.LA(3)
15298
15299 if (self.synpred188()) :
15300 alt95 = 1
15301
15302
15303 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15304 LA95_174 = self.input.LA(3)
15305
15306 if (self.synpred188()) :
15307 alt95 = 1
15308
15309
15310 elif LA95 == 95 or LA95 == 96:
15311 LA95_175 = self.input.LA(3)
15312
15313 if (self.synpred188()) :
15314 alt95 = 1
15315
15316
15317 elif LA95 == 77:
15318 LA95_176 = self.input.LA(3)
15319
15320 if (self.synpred188()) :
15321 alt95 = 1
15322
15323
15324 elif LA95 == 94:
15325 LA95_177 = self.input.LA(3)
15326
15327 if (self.synpred188()) :
15328 alt95 = 1
15329
15330
15331 elif LA95 == 93:
15332 LA95_178 = self.input.LA(3)
15333
15334 if (self.synpred188()) :
15335 alt95 = 1
15336
15337
15338 elif LA95 == 92:
15339 LA95_179 = self.input.LA(3)
15340
15341 if (self.synpred188()) :
15342 alt95 = 1
15343
15344
15345 elif LA95 == 91:
15346 LA95_180 = self.input.LA(3)
15347
15348 if (self.synpred188()) :
15349 alt95 = 1
15350
15351
15352 elif LA95 == 90:
15353 LA95_181 = self.input.LA(3)
15354
15355 if (self.synpred188()) :
15356 alt95 = 1
15357
15358
15359 elif LA95 == 27:
15360 LA95_182 = self.input.LA(3)
15361
15362 if (self.synpred188()) :
15363 alt95 = 1
15364
15365
15366 elif LA95 == 25:
15367 alt95 = 1
15368
15369 elif LA95 == STRING_LITERAL:
15370 LA95 = self.input.LA(2)
15371 if LA95 == IDENTIFIER:
15372 LA95_185 = self.input.LA(3)
15373
15374 if (self.synpred188()) :
15375 alt95 = 1
15376
15377
15378 elif LA95 == 64:
15379 LA95_186 = self.input.LA(3)
15380
15381 if (self.synpred188()) :
15382 alt95 = 1
15383
15384
15385 elif LA95 == 62:
15386 LA95_187 = self.input.LA(3)
15387
15388 if (self.synpred188()) :
15389 alt95 = 1
15390
15391
15392 elif LA95 == 75:
15393 LA95_188 = self.input.LA(3)
15394
15395 if (self.synpred188()) :
15396 alt95 = 1
15397
15398
15399 elif LA95 == 66:
15400 LA95_189 = self.input.LA(3)
15401
15402 if (self.synpred188()) :
15403 alt95 = 1
15404
15405
15406 elif LA95 == 76:
15407 LA95_190 = self.input.LA(3)
15408
15409 if (self.synpred188()) :
15410 alt95 = 1
15411
15412
15413 elif LA95 == 72:
15414 LA95_191 = self.input.LA(3)
15415
15416 if (self.synpred188()) :
15417 alt95 = 1
15418
15419
15420 elif LA95 == 73:
15421 LA95_192 = self.input.LA(3)
15422
15423 if (self.synpred188()) :
15424 alt95 = 1
15425
15426
15427 elif LA95 == 70:
15428 LA95_193 = self.input.LA(3)
15429
15430 if (self.synpred188()) :
15431 alt95 = 1
15432
15433
15434 elif LA95 == 71:
15435 LA95_194 = self.input.LA(3)
15436
15437 if (self.synpred188()) :
15438 alt95 = 1
15439
15440
15441 elif LA95 == 68:
15442 LA95_195 = self.input.LA(3)
15443
15444 if (self.synpred188()) :
15445 alt95 = 1
15446
15447
15448 elif LA95 == 69:
15449 LA95_196 = self.input.LA(3)
15450
15451 if (self.synpred188()) :
15452 alt95 = 1
15453
15454
15455 elif LA95 == 101 or LA95 == 102:
15456 LA95_197 = self.input.LA(3)
15457
15458 if (self.synpred188()) :
15459 alt95 = 1
15460
15461
15462 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15463 LA95_198 = self.input.LA(3)
15464
15465 if (self.synpred188()) :
15466 alt95 = 1
15467
15468
15469 elif LA95 == 95 or LA95 == 96:
15470 LA95_199 = self.input.LA(3)
15471
15472 if (self.synpred188()) :
15473 alt95 = 1
15474
15475
15476 elif LA95 == 77:
15477 LA95_200 = self.input.LA(3)
15478
15479 if (self.synpred188()) :
15480 alt95 = 1
15481
15482
15483 elif LA95 == 94:
15484 LA95_201 = self.input.LA(3)
15485
15486 if (self.synpred188()) :
15487 alt95 = 1
15488
15489
15490 elif LA95 == 93:
15491 LA95_202 = self.input.LA(3)
15492
15493 if (self.synpred188()) :
15494 alt95 = 1
15495
15496
15497 elif LA95 == 92:
15498 LA95_203 = self.input.LA(3)
15499
15500 if (self.synpred188()) :
15501 alt95 = 1
15502
15503
15504 elif LA95 == 91:
15505 LA95_204 = self.input.LA(3)
15506
15507 if (self.synpred188()) :
15508 alt95 = 1
15509
15510
15511 elif LA95 == 90:
15512 LA95_205 = self.input.LA(3)
15513
15514 if (self.synpred188()) :
15515 alt95 = 1
15516
15517
15518 elif LA95 == 27:
15519 LA95_206 = self.input.LA(3)
15520
15521 if (self.synpred188()) :
15522 alt95 = 1
15523
15524
15525 elif LA95 == 25:
15526 alt95 = 1
15527 elif LA95 == STRING_LITERAL:
15528 LA95_208 = self.input.LA(3)
15529
15530 if (self.synpred188()) :
15531 alt95 = 1
15532
15533
15534 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15535 LA95_209 = self.input.LA(3)
15536
15537 if (self.synpred188()) :
15538 alt95 = 1
15539
15540
15541
15542 elif LA95 == FLOATING_POINT_LITERAL:
15543 LA95 = self.input.LA(2)
15544 if LA95 == 64:
15545 LA95_211 = self.input.LA(3)
15546
15547 if (self.synpred188()) :
15548 alt95 = 1
15549
15550
15551 elif LA95 == 62:
15552 LA95_212 = self.input.LA(3)
15553
15554 if (self.synpred188()) :
15555 alt95 = 1
15556
15557
15558 elif LA95 == 75:
15559 LA95_213 = self.input.LA(3)
15560
15561 if (self.synpred188()) :
15562 alt95 = 1
15563
15564
15565 elif LA95 == 66:
15566 LA95_214 = self.input.LA(3)
15567
15568 if (self.synpred188()) :
15569 alt95 = 1
15570
15571
15572 elif LA95 == 76:
15573 LA95_215 = self.input.LA(3)
15574
15575 if (self.synpred188()) :
15576 alt95 = 1
15577
15578
15579 elif LA95 == 72:
15580 LA95_216 = self.input.LA(3)
15581
15582 if (self.synpred188()) :
15583 alt95 = 1
15584
15585
15586 elif LA95 == 73:
15587 LA95_217 = self.input.LA(3)
15588
15589 if (self.synpred188()) :
15590 alt95 = 1
15591
15592
15593 elif LA95 == 70:
15594 LA95_218 = self.input.LA(3)
15595
15596 if (self.synpred188()) :
15597 alt95 = 1
15598
15599
15600 elif LA95 == 71:
15601 LA95_219 = self.input.LA(3)
15602
15603 if (self.synpred188()) :
15604 alt95 = 1
15605
15606
15607 elif LA95 == 68:
15608 LA95_220 = self.input.LA(3)
15609
15610 if (self.synpred188()) :
15611 alt95 = 1
15612
15613
15614 elif LA95 == 69:
15615 LA95_221 = self.input.LA(3)
15616
15617 if (self.synpred188()) :
15618 alt95 = 1
15619
15620
15621 elif LA95 == 101 or LA95 == 102:
15622 LA95_222 = self.input.LA(3)
15623
15624 if (self.synpred188()) :
15625 alt95 = 1
15626
15627
15628 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15629 LA95_223 = self.input.LA(3)
15630
15631 if (self.synpred188()) :
15632 alt95 = 1
15633
15634
15635 elif LA95 == 95 or LA95 == 96:
15636 LA95_224 = self.input.LA(3)
15637
15638 if (self.synpred188()) :
15639 alt95 = 1
15640
15641
15642 elif LA95 == 77:
15643 LA95_225 = self.input.LA(3)
15644
15645 if (self.synpred188()) :
15646 alt95 = 1
15647
15648
15649 elif LA95 == 94:
15650 LA95_226 = self.input.LA(3)
15651
15652 if (self.synpred188()) :
15653 alt95 = 1
15654
15655
15656 elif LA95 == 93:
15657 LA95_227 = self.input.LA(3)
15658
15659 if (self.synpred188()) :
15660 alt95 = 1
15661
15662
15663 elif LA95 == 92:
15664 LA95_228 = self.input.LA(3)
15665
15666 if (self.synpred188()) :
15667 alt95 = 1
15668
15669
15670 elif LA95 == 91:
15671 LA95_229 = self.input.LA(3)
15672
15673 if (self.synpred188()) :
15674 alt95 = 1
15675
15676
15677 elif LA95 == 90:
15678 LA95_230 = self.input.LA(3)
15679
15680 if (self.synpred188()) :
15681 alt95 = 1
15682
15683
15684 elif LA95 == 27:
15685 LA95_231 = self.input.LA(3)
15686
15687 if (self.synpred188()) :
15688 alt95 = 1
15689
15690
15691 elif LA95 == 25:
15692 alt95 = 1
15693 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15694 LA95_234 = self.input.LA(3)
15695
15696 if (self.synpred188()) :
15697 alt95 = 1
15698
15699
15700
15701 elif LA95 == 62:
15702 LA95 = self.input.LA(2)
15703 if LA95 == IDENTIFIER:
15704 LA95_235 = self.input.LA(3)
15705
15706 if (self.synpred188()) :
15707 alt95 = 1
15708
15709
15710 elif LA95 == HEX_LITERAL:
15711 LA95_236 = self.input.LA(3)
15712
15713 if (self.synpred188()) :
15714 alt95 = 1
15715
15716
15717 elif LA95 == OCTAL_LITERAL:
15718 LA95_237 = self.input.LA(3)
15719
15720 if (self.synpred188()) :
15721 alt95 = 1
15722
15723
15724 elif LA95 == DECIMAL_LITERAL:
15725 LA95_238 = self.input.LA(3)
15726
15727 if (self.synpred188()) :
15728 alt95 = 1
15729
15730
15731 elif LA95 == CHARACTER_LITERAL:
15732 LA95_239 = self.input.LA(3)
15733
15734 if (self.synpred188()) :
15735 alt95 = 1
15736
15737
15738 elif LA95 == STRING_LITERAL:
15739 LA95_240 = self.input.LA(3)
15740
15741 if (self.synpred188()) :
15742 alt95 = 1
15743
15744
15745 elif LA95 == FLOATING_POINT_LITERAL:
15746 LA95_241 = self.input.LA(3)
15747
15748 if (self.synpred188()) :
15749 alt95 = 1
15750
15751
15752 elif LA95 == 62:
15753 LA95_242 = self.input.LA(3)
15754
15755 if (self.synpred188()) :
15756 alt95 = 1
15757
15758
15759 elif LA95 == 72:
15760 LA95_243 = self.input.LA(3)
15761
15762 if (self.synpred188()) :
15763 alt95 = 1
15764
15765
15766 elif LA95 == 73:
15767 LA95_244 = self.input.LA(3)
15768
15769 if (self.synpred188()) :
15770 alt95 = 1
15771
15772
15773 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15774 LA95_245 = self.input.LA(3)
15775
15776 if (self.synpred188()) :
15777 alt95 = 1
15778
15779
15780 elif LA95 == 74:
15781 LA95_246 = self.input.LA(3)
15782
15783 if (self.synpred188()) :
15784 alt95 = 1
15785
15786
15787 elif LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
15788 LA95_247 = self.input.LA(3)
15789
15790 if (self.synpred188()) :
15791 alt95 = 1
15792
15793
15794 elif LA95 == 34:
15795 LA95_248 = self.input.LA(3)
15796
15797 if (self.synpred188()) :
15798 alt95 = 1
15799
15800
15801 elif LA95 == 35:
15802 LA95_249 = self.input.LA(3)
15803
15804 if (self.synpred188()) :
15805 alt95 = 1
15806
15807
15808 elif LA95 == 36:
15809 LA95_250 = self.input.LA(3)
15810
15811 if (self.synpred188()) :
15812 alt95 = 1
15813
15814
15815 elif LA95 == 37:
15816 LA95_251 = self.input.LA(3)
15817
15818 if (self.synpred188()) :
15819 alt95 = 1
15820
15821
15822 elif LA95 == 38:
15823 LA95_252 = self.input.LA(3)
15824
15825 if (self.synpred188()) :
15826 alt95 = 1
15827
15828
15829 elif LA95 == 39:
15830 LA95_253 = self.input.LA(3)
15831
15832 if (self.synpred188()) :
15833 alt95 = 1
15834
15835
15836 elif LA95 == 40:
15837 LA95_254 = self.input.LA(3)
15838
15839 if (self.synpred188()) :
15840 alt95 = 1
15841
15842
15843 elif LA95 == 41:
15844 LA95_255 = self.input.LA(3)
15845
15846 if (self.synpred188()) :
15847 alt95 = 1
15848
15849
15850 elif LA95 == 42:
15851 LA95_256 = self.input.LA(3)
15852
15853 if (self.synpred188()) :
15854 alt95 = 1
15855
15856
15857 elif LA95 == 45 or LA95 == 46:
15858 LA95_257 = self.input.LA(3)
15859
15860 if (self.synpred188()) :
15861 alt95 = 1
15862
15863
15864 elif LA95 == 48:
15865 LA95_258 = self.input.LA(3)
15866
15867 if (self.synpred188()) :
15868 alt95 = 1
15869
15870
15871
15872 elif LA95 == 72:
15873 LA95 = self.input.LA(2)
15874 if LA95 == IDENTIFIER:
15875 LA95_259 = self.input.LA(3)
15876
15877 if (self.synpred188()) :
15878 alt95 = 1
15879
15880
15881 elif LA95 == HEX_LITERAL:
15882 LA95_260 = self.input.LA(3)
15883
15884 if (self.synpred188()) :
15885 alt95 = 1
15886
15887
15888 elif LA95 == OCTAL_LITERAL:
15889 LA95_261 = self.input.LA(3)
15890
15891 if (self.synpred188()) :
15892 alt95 = 1
15893
15894
15895 elif LA95 == DECIMAL_LITERAL:
15896 LA95_262 = self.input.LA(3)
15897
15898 if (self.synpred188()) :
15899 alt95 = 1
15900
15901
15902 elif LA95 == CHARACTER_LITERAL:
15903 LA95_263 = self.input.LA(3)
15904
15905 if (self.synpred188()) :
15906 alt95 = 1
15907
15908
15909 elif LA95 == STRING_LITERAL:
15910 LA95_264 = self.input.LA(3)
15911
15912 if (self.synpred188()) :
15913 alt95 = 1
15914
15915
15916 elif LA95 == FLOATING_POINT_LITERAL:
15917 LA95_265 = self.input.LA(3)
15918
15919 if (self.synpred188()) :
15920 alt95 = 1
15921
15922
15923 elif LA95 == 62:
15924 LA95_266 = self.input.LA(3)
15925
15926 if (self.synpred188()) :
15927 alt95 = 1
15928
15929
15930 elif LA95 == 72:
15931 LA95_267 = self.input.LA(3)
15932
15933 if (self.synpred188()) :
15934 alt95 = 1
15935
15936
15937 elif LA95 == 73:
15938 LA95_268 = self.input.LA(3)
15939
15940 if (self.synpred188()) :
15941 alt95 = 1
15942
15943
15944 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15945 LA95_269 = self.input.LA(3)
15946
15947 if (self.synpred188()) :
15948 alt95 = 1
15949
15950
15951 elif LA95 == 74:
15952 LA95_270 = self.input.LA(3)
15953
15954 if (self.synpred188()) :
15955 alt95 = 1
15956
15957
15958
15959 elif LA95 == 73:
15960 LA95 = self.input.LA(2)
15961 if LA95 == IDENTIFIER:
15962 LA95_271 = self.input.LA(3)
15963
15964 if (self.synpred188()) :
15965 alt95 = 1
15966
15967
15968 elif LA95 == HEX_LITERAL:
15969 LA95_272 = self.input.LA(3)
15970
15971 if (self.synpred188()) :
15972 alt95 = 1
15973
15974
15975 elif LA95 == OCTAL_LITERAL:
15976 LA95_273 = self.input.LA(3)
15977
15978 if (self.synpred188()) :
15979 alt95 = 1
15980
15981
15982 elif LA95 == DECIMAL_LITERAL:
15983 LA95_274 = self.input.LA(3)
15984
15985 if (self.synpred188()) :
15986 alt95 = 1
15987
15988
15989 elif LA95 == CHARACTER_LITERAL:
15990 LA95_275 = self.input.LA(3)
15991
15992 if (self.synpred188()) :
15993 alt95 = 1
15994
15995
15996 elif LA95 == STRING_LITERAL:
15997 LA95_276 = self.input.LA(3)
15998
15999 if (self.synpred188()) :
16000 alt95 = 1
16001
16002
16003 elif LA95 == FLOATING_POINT_LITERAL:
16004 LA95_277 = self.input.LA(3)
16005
16006 if (self.synpred188()) :
16007 alt95 = 1
16008
16009
16010 elif LA95 == 62:
16011 LA95_278 = self.input.LA(3)
16012
16013 if (self.synpred188()) :
16014 alt95 = 1
16015
16016
16017 elif LA95 == 72:
16018 LA95_279 = self.input.LA(3)
16019
16020 if (self.synpred188()) :
16021 alt95 = 1
16022
16023
16024 elif LA95 == 73:
16025 LA95_280 = self.input.LA(3)
16026
16027 if (self.synpred188()) :
16028 alt95 = 1
16029
16030
16031 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16032 LA95_281 = self.input.LA(3)
16033
16034 if (self.synpred188()) :
16035 alt95 = 1
16036
16037
16038 elif LA95 == 74:
16039 LA95_282 = self.input.LA(3)
16040
16041 if (self.synpred188()) :
16042 alt95 = 1
16043
16044
16045
16046 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16047 LA95 = self.input.LA(2)
16048 if LA95 == 62:
16049 LA95_283 = self.input.LA(3)
16050
16051 if (self.synpred188()) :
16052 alt95 = 1
16053
16054
16055 elif LA95 == IDENTIFIER:
16056 LA95_284 = self.input.LA(3)
16057
16058 if (self.synpred188()) :
16059 alt95 = 1
16060
16061
16062 elif LA95 == HEX_LITERAL:
16063 LA95_285 = self.input.LA(3)
16064
16065 if (self.synpred188()) :
16066 alt95 = 1
16067
16068
16069 elif LA95 == OCTAL_LITERAL:
16070 LA95_286 = self.input.LA(3)
16071
16072 if (self.synpred188()) :
16073 alt95 = 1
16074
16075
16076 elif LA95 == DECIMAL_LITERAL:
16077 LA95_287 = self.input.LA(3)
16078
16079 if (self.synpred188()) :
16080 alt95 = 1
16081
16082
16083 elif LA95 == CHARACTER_LITERAL:
16084 LA95_288 = self.input.LA(3)
16085
16086 if (self.synpred188()) :
16087 alt95 = 1
16088
16089
16090 elif LA95 == STRING_LITERAL:
16091 LA95_289 = self.input.LA(3)
16092
16093 if (self.synpred188()) :
16094 alt95 = 1
16095
16096
16097 elif LA95 == FLOATING_POINT_LITERAL:
16098 LA95_290 = self.input.LA(3)
16099
16100 if (self.synpred188()) :
16101 alt95 = 1
16102
16103
16104 elif LA95 == 72:
16105 LA95_291 = self.input.LA(3)
16106
16107 if (self.synpred188()) :
16108 alt95 = 1
16109
16110
16111 elif LA95 == 73:
16112 LA95_292 = self.input.LA(3)
16113
16114 if (self.synpred188()) :
16115 alt95 = 1
16116
16117
16118 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16119 LA95_293 = self.input.LA(3)
16120
16121 if (self.synpred188()) :
16122 alt95 = 1
16123
16124
16125 elif LA95 == 74:
16126 LA95_294 = self.input.LA(3)
16127
16128 if (self.synpred188()) :
16129 alt95 = 1
16130
16131
16132
16133 elif LA95 == 74:
16134 LA95 = self.input.LA(2)
16135 if LA95 == 62:
16136 LA95_295 = self.input.LA(3)
16137
16138 if (self.synpred188()) :
16139 alt95 = 1
16140
16141
16142 elif LA95 == IDENTIFIER:
16143 LA95_296 = self.input.LA(3)
16144
16145 if (self.synpred188()) :
16146 alt95 = 1
16147
16148
16149 elif LA95 == HEX_LITERAL:
16150 LA95_297 = self.input.LA(3)
16151
16152 if (self.synpred188()) :
16153 alt95 = 1
16154
16155
16156 elif LA95 == OCTAL_LITERAL:
16157 LA95_298 = self.input.LA(3)
16158
16159 if (self.synpred188()) :
16160 alt95 = 1
16161
16162
16163 elif LA95 == DECIMAL_LITERAL:
16164 LA95_299 = self.input.LA(3)
16165
16166 if (self.synpred188()) :
16167 alt95 = 1
16168
16169
16170 elif LA95 == CHARACTER_LITERAL:
16171 LA95_300 = self.input.LA(3)
16172
16173 if (self.synpred188()) :
16174 alt95 = 1
16175
16176
16177 elif LA95 == STRING_LITERAL:
16178 LA95_301 = self.input.LA(3)
16179
16180 if (self.synpred188()) :
16181 alt95 = 1
16182
16183
16184 elif LA95 == FLOATING_POINT_LITERAL:
16185 LA95_302 = self.input.LA(3)
16186
16187 if (self.synpred188()) :
16188 alt95 = 1
16189
16190
16191 elif LA95 == 72:
16192 LA95_303 = self.input.LA(3)
16193
16194 if (self.synpred188()) :
16195 alt95 = 1
16196
16197
16198 elif LA95 == 73:
16199 LA95_304 = self.input.LA(3)
16200
16201 if (self.synpred188()) :
16202 alt95 = 1
16203
16204
16205 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16206 LA95_305 = self.input.LA(3)
16207
16208 if (self.synpred188()) :
16209 alt95 = 1
16210
16211
16212 elif LA95 == 74:
16213 LA95_306 = self.input.LA(3)
16214
16215 if (self.synpred188()) :
16216 alt95 = 1
16217
16218
16219
16220 elif LA95 == 25 or LA95 == 26 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 43 or LA95 == 45 or LA95 == 46 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 108 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116 or LA95 == 117:
16221 alt95 = 1
16222
16223 if alt95 == 1:
16224 # C.g:0:0: statement
16225 self.following.append(self.FOLLOW_statement_in_statement_list2242)
16226 self.statement()
16227 self.following.pop()
16228 if self.failed:
16229 return
16230
16231
16232 else:
16233 if cnt95 >= 1:
16234 break #loop95
16235
16236 if self.backtracking > 0:
16237 self.failed = True
16238 return
16239
16240 eee = EarlyExitException(95, self.input)
16241 raise eee
16242
16243 cnt95 += 1
16244
16245
16246
16247
16248
16249
16250 except RecognitionException as re:
16251 self.reportError(re)
16252 self.recover(self.input, re)
16253 finally:
16254 if self.backtracking > 0:
16255 self.memoize(self.input, 67, statement_list_StartIndex)
16256
16257 pass
16258
16259 return
16260
16261 # $ANTLR end statement_list
16262
16263 class expression_statement_return(object):
16264 def __init__(self):
16265 self.start = None
16266 self.stop = None
16267
16268
16269
16270 # $ANTLR start expression_statement
16271 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16272 def expression_statement(self, ):
16273
16274 retval = self.expression_statement_return()
16275 retval.start = self.input.LT(1)
16276 expression_statement_StartIndex = self.input.index()
16277 try:
16278 try:
16279 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
16280 return retval
16281
16282 # C.g:562:2: ( ';' | expression ';' )
16283 alt96 = 2
16284 LA96_0 = self.input.LA(1)
16285
16286 if (LA96_0 == 25) :
16287 alt96 = 1
16288 elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 62 or LA96_0 == 66 or (68 <= LA96_0 <= 69) or (72 <= LA96_0 <= 74) or (77 <= LA96_0 <= 79)) :
16289 alt96 = 2
16290 else:
16291 if self.backtracking > 0:
16292 self.failed = True
16293 return retval
16294
16295 nvae = NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
16296
16297 raise nvae
16298
16299 if alt96 == 1:
16300 # C.g:562:4: ';'
16301 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2254)
16302 if self.failed:
16303 return retval
16304
16305
16306 elif alt96 == 2:
16307 # C.g:563:4: expression ';'
16308 self.following.append(self.FOLLOW_expression_in_expression_statement2259)
16309 self.expression()
16310 self.following.pop()
16311 if self.failed:
16312 return retval
16313 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2261)
16314 if self.failed:
16315 return retval
16316
16317
16318 retval.stop = self.input.LT(-1)
16319
16320
16321 except RecognitionException as re:
16322 self.reportError(re)
16323 self.recover(self.input, re)
16324 finally:
16325 if self.backtracking > 0:
16326 self.memoize(self.input, 68, expression_statement_StartIndex)
16327
16328 pass
16329
16330 return retval
16331
16332 # $ANTLR end expression_statement
16333
16334
16335 # $ANTLR start selection_statement
16336 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16337 def selection_statement(self, ):
16338
16339 selection_statement_StartIndex = self.input.index()
16340 e = None
16341
16342
16343 try:
16344 try:
16345 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
16346 return
16347
16348 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16349 alt98 = 2
16350 LA98_0 = self.input.LA(1)
16351
16352 if (LA98_0 == 108) :
16353 alt98 = 1
16354 elif (LA98_0 == 110) :
16355 alt98 = 2
16356 else:
16357 if self.backtracking > 0:
16358 self.failed = True
16359 return
16360
16361 nvae = NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input)
16362
16363 raise nvae
16364
16365 if alt98 == 1:
16366 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16367 self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2272)
16368 if self.failed:
16369 return
16370 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2274)
16371 if self.failed:
16372 return
16373 self.following.append(self.FOLLOW_expression_in_selection_statement2278)
16374 e = self.expression()
16375 self.following.pop()
16376 if self.failed:
16377 return
16378 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2280)
16379 if self.failed:
16380 return
16381 if self.backtracking == 0:
16382 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16383
16384 self.following.append(self.FOLLOW_statement_in_selection_statement2284)
16385 self.statement()
16386 self.following.pop()
16387 if self.failed:
16388 return
16389 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16390 alt97 = 2
16391 LA97_0 = self.input.LA(1)
16392
16393 if (LA97_0 == 109) :
16394 alt97 = 1
16395 if alt97 == 1:
16396 # C.g:567:200: 'else' statement
16397 self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2299)
16398 if self.failed:
16399 return
16400 self.following.append(self.FOLLOW_statement_in_selection_statement2301)
16401 self.statement()
16402 self.following.pop()
16403 if self.failed:
16404 return
16405
16406
16407
16408
16409
16410 elif alt98 == 2:
16411 # C.g:568:4: 'switch' '(' expression ')' statement
16412 self.match(self.input, 110, self.FOLLOW_110_in_selection_statement2308)
16413 if self.failed:
16414 return
16415 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2310)
16416 if self.failed:
16417 return
16418 self.following.append(self.FOLLOW_expression_in_selection_statement2312)
16419 self.expression()
16420 self.following.pop()
16421 if self.failed:
16422 return
16423 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314)
16424 if self.failed:
16425 return
16426 self.following.append(self.FOLLOW_statement_in_selection_statement2316)
16427 self.statement()
16428 self.following.pop()
16429 if self.failed:
16430 return
16431
16432
16433
16434 except RecognitionException as re:
16435 self.reportError(re)
16436 self.recover(self.input, re)
16437 finally:
16438 if self.backtracking > 0:
16439 self.memoize(self.input, 69, selection_statement_StartIndex)
16440
16441 pass
16442
16443 return
16444
16445 # $ANTLR end selection_statement
16446
16447
16448 # $ANTLR start iteration_statement
16449 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16450 def iteration_statement(self, ):
16451
16452 iteration_statement_StartIndex = self.input.index()
16453 e = None
16454
16455
16456 try:
16457 try:
16458 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
16459 return
16460
16461 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16462 alt100 = 3
16463 LA100 = self.input.LA(1)
16464 if LA100 == 111:
16465 alt100 = 1
16466 elif LA100 == 112:
16467 alt100 = 2
16468 elif LA100 == 113:
16469 alt100 = 3
16470 else:
16471 if self.backtracking > 0:
16472 self.failed = True
16473 return
16474
16475 nvae = NoViableAltException("571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input)
16476
16477 raise nvae
16478
16479 if alt100 == 1:
16480 # C.g:572:4: 'while' '(' e= expression ')' statement
16481 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2327)
16482 if self.failed:
16483 return
16484 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2329)
16485 if self.failed:
16486 return
16487 self.following.append(self.FOLLOW_expression_in_iteration_statement2333)
16488 e = self.expression()
16489 self.following.pop()
16490 if self.failed:
16491 return
16492 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335)
16493 if self.failed:
16494 return
16495 self.following.append(self.FOLLOW_statement_in_iteration_statement2337)
16496 self.statement()
16497 self.following.pop()
16498 if self.failed:
16499 return
16500 if self.backtracking == 0:
16501 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16502
16503
16504
16505 elif alt100 == 2:
16506 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16507 self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2344)
16508 if self.failed:
16509 return
16510 self.following.append(self.FOLLOW_statement_in_iteration_statement2346)
16511 self.statement()
16512 self.following.pop()
16513 if self.failed:
16514 return
16515 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348)
16516 if self.failed:
16517 return
16518 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350)
16519 if self.failed:
16520 return
16521 self.following.append(self.FOLLOW_expression_in_iteration_statement2354)
16522 e = self.expression()
16523 self.following.pop()
16524 if self.failed:
16525 return
16526 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2356)
16527 if self.failed:
16528 return
16529 self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2358)
16530 if self.failed:
16531 return
16532 if self.backtracking == 0:
16533 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16534
16535
16536
16537 elif alt100 == 3:
16538 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16539 self.match(self.input, 113, self.FOLLOW_113_in_iteration_statement2365)
16540 if self.failed:
16541 return
16542 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2367)
16543 if self.failed:
16544 return
16545 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2369)
16546 self.expression_statement()
16547 self.following.pop()
16548 if self.failed:
16549 return
16550 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2373)
16551 e = self.expression_statement()
16552 self.following.pop()
16553 if self.failed:
16554 return
16555 # C.g:574:58: ( expression )?
16556 alt99 = 2
16557 LA99_0 = self.input.LA(1)
16558
16559 if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 62 or LA99_0 == 66 or (68 <= LA99_0 <= 69) or (72 <= LA99_0 <= 74) or (77 <= LA99_0 <= 79)) :
16560 alt99 = 1
16561 if alt99 == 1:
16562 # C.g:0:0: expression
16563 self.following.append(self.FOLLOW_expression_in_iteration_statement2375)
16564 self.expression()
16565 self.following.pop()
16566 if self.failed:
16567 return
16568
16569
16570
16571 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378)
16572 if self.failed:
16573 return
16574 self.following.append(self.FOLLOW_statement_in_iteration_statement2380)
16575 self.statement()
16576 self.following.pop()
16577 if self.failed:
16578 return
16579 if self.backtracking == 0:
16580 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16581
16582
16583
16584
16585 except RecognitionException as re:
16586 self.reportError(re)
16587 self.recover(self.input, re)
16588 finally:
16589 if self.backtracking > 0:
16590 self.memoize(self.input, 70, iteration_statement_StartIndex)
16591
16592 pass
16593
16594 return
16595
16596 # $ANTLR end iteration_statement
16597
16598
16599 # $ANTLR start jump_statement
16600 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16601 def jump_statement(self, ):
16602
16603 jump_statement_StartIndex = self.input.index()
16604 try:
16605 try:
16606 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
16607 return
16608
16609 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16610 alt101 = 5
16611 LA101 = self.input.LA(1)
16612 if LA101 == 114:
16613 alt101 = 1
16614 elif LA101 == 115:
16615 alt101 = 2
16616 elif LA101 == 116:
16617 alt101 = 3
16618 elif LA101 == 117:
16619 LA101_4 = self.input.LA(2)
16620
16621 if (LA101_4 == 25) :
16622 alt101 = 4
16623 elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 62 or LA101_4 == 66 or (68 <= LA101_4 <= 69) or (72 <= LA101_4 <= 74) or (77 <= LA101_4 <= 79)) :
16624 alt101 = 5
16625 else:
16626 if self.backtracking > 0:
16627 self.failed = True
16628 return
16629
16630 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
16631
16632 raise nvae
16633
16634 else:
16635 if self.backtracking > 0:
16636 self.failed = True
16637 return
16638
16639 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
16640
16641 raise nvae
16642
16643 if alt101 == 1:
16644 # C.g:578:4: 'goto' IDENTIFIER ';'
16645 self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2393)
16646 if self.failed:
16647 return
16648 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2395)
16649 if self.failed:
16650 return
16651 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397)
16652 if self.failed:
16653 return
16654
16655
16656 elif alt101 == 2:
16657 # C.g:579:4: 'continue' ';'
16658 self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2402)
16659 if self.failed:
16660 return
16661 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2404)
16662 if self.failed:
16663 return
16664
16665
16666 elif alt101 == 3:
16667 # C.g:580:4: 'break' ';'
16668 self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2409)
16669 if self.failed:
16670 return
16671 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2411)
16672 if self.failed:
16673 return
16674
16675
16676 elif alt101 == 4:
16677 # C.g:581:4: 'return' ';'
16678 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2416)
16679 if self.failed:
16680 return
16681 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2418)
16682 if self.failed:
16683 return
16684
16685
16686 elif alt101 == 5:
16687 # C.g:582:4: 'return' expression ';'
16688 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2423)
16689 if self.failed:
16690 return
16691 self.following.append(self.FOLLOW_expression_in_jump_statement2425)
16692 self.expression()
16693 self.following.pop()
16694 if self.failed:
16695 return
16696 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427)
16697 if self.failed:
16698 return
16699
16700
16701
16702 except RecognitionException as re:
16703 self.reportError(re)
16704 self.recover(self.input, re)
16705 finally:
16706 if self.backtracking > 0:
16707 self.memoize(self.input, 71, jump_statement_StartIndex)
16708
16709 pass
16710
16711 return
16712
16713 # $ANTLR end jump_statement
16714
16715 # $ANTLR start synpred2
16716 def synpred2_fragment(self, ):
16717 # C.g:119:6: ( declaration_specifiers )
16718 # C.g:119:6: declaration_specifiers
16719 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred2100)
16720 self.declaration_specifiers()
16721 self.following.pop()
16722 if self.failed:
16723 return
16724
16725
16726 # $ANTLR end synpred2
16727
16728
16729
16730 # $ANTLR start synpred4
16731 def synpred4_fragment(self, ):
16732 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16733 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16734 # C.g:119:6: ( declaration_specifiers )?
16735 alt102 = 2
16736 LA102 = self.input.LA(1)
16737 if LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33 or LA102 == 34 or LA102 == 35 or LA102 == 36 or LA102 == 37 or LA102 == 38 or LA102 == 39 or LA102 == 40 or LA102 == 41 or LA102 == 42 or LA102 == 45 or LA102 == 46 or LA102 == 48 or LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
16738 alt102 = 1
16739 elif LA102 == IDENTIFIER:
16740 LA102 = self.input.LA(2)
16741 if LA102 == 62:
16742 LA102_21 = self.input.LA(3)
16743
16744 if (self.synpred2()) :
16745 alt102 = 1
16746 elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33:
16747 LA102_23 = self.input.LA(3)
16748
16749 if (self.synpred2()) :
16750 alt102 = 1
16751 elif LA102 == 34:
16752 LA102_24 = self.input.LA(3)
16753
16754 if (self.synpred2()) :
16755 alt102 = 1
16756 elif LA102 == 35:
16757 LA102_25 = self.input.LA(3)
16758
16759 if (self.synpred2()) :
16760 alt102 = 1
16761 elif LA102 == 36:
16762 LA102_26 = self.input.LA(3)
16763
16764 if (self.synpred2()) :
16765 alt102 = 1
16766 elif LA102 == 37:
16767 LA102_27 = self.input.LA(3)
16768
16769 if (self.synpred2()) :
16770 alt102 = 1
16771 elif LA102 == 38:
16772 LA102_28 = self.input.LA(3)
16773
16774 if (self.synpred2()) :
16775 alt102 = 1
16776 elif LA102 == 39:
16777 LA102_29 = self.input.LA(3)
16778
16779 if (self.synpred2()) :
16780 alt102 = 1
16781 elif LA102 == 40:
16782 LA102_30 = self.input.LA(3)
16783
16784 if (self.synpred2()) :
16785 alt102 = 1
16786 elif LA102 == 41:
16787 LA102_31 = self.input.LA(3)
16788
16789 if (self.synpred2()) :
16790 alt102 = 1
16791 elif LA102 == 42:
16792 LA102_32 = self.input.LA(3)
16793
16794 if (self.synpred2()) :
16795 alt102 = 1
16796 elif LA102 == 45 or LA102 == 46:
16797 LA102_33 = self.input.LA(3)
16798
16799 if (self.synpred2()) :
16800 alt102 = 1
16801 elif LA102 == 48:
16802 LA102_34 = self.input.LA(3)
16803
16804 if (self.synpred2()) :
16805 alt102 = 1
16806 elif LA102 == IDENTIFIER:
16807 LA102_35 = self.input.LA(3)
16808
16809 if (self.synpred2()) :
16810 alt102 = 1
16811 elif LA102 == 58:
16812 LA102_36 = self.input.LA(3)
16813
16814 if (self.synpred2()) :
16815 alt102 = 1
16816 elif LA102 == 66:
16817 alt102 = 1
16818 elif LA102 == 59:
16819 LA102_39 = self.input.LA(3)
16820
16821 if (self.synpred2()) :
16822 alt102 = 1
16823 elif LA102 == 60:
16824 LA102_40 = self.input.LA(3)
16825
16826 if (self.synpred2()) :
16827 alt102 = 1
16828 elif LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
16829 LA102_41 = self.input.LA(3)
16830
16831 if (self.synpred2()) :
16832 alt102 = 1
16833 elif LA102 == 58:
16834 LA102_14 = self.input.LA(2)
16835
16836 if (self.synpred2()) :
16837 alt102 = 1
16838 elif LA102 == 59:
16839 LA102_16 = self.input.LA(2)
16840
16841 if (self.synpred2()) :
16842 alt102 = 1
16843 elif LA102 == 60:
16844 LA102_17 = self.input.LA(2)
16845
16846 if (self.synpred2()) :
16847 alt102 = 1
16848 if alt102 == 1:
16849 # C.g:0:0: declaration_specifiers
16850 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100)
16851 self.declaration_specifiers()
16852 self.following.pop()
16853 if self.failed:
16854 return
16855
16856
16857
16858 self.following.append(self.FOLLOW_declarator_in_synpred4103)
16859 self.declarator()
16860 self.following.pop()
16861 if self.failed:
16862 return
16863 # C.g:119:41: ( declaration )*
16864 while True: #loop103
16865 alt103 = 2
16866 LA103_0 = self.input.LA(1)
16867
16868 if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 61)) :
16869 alt103 = 1
16870
16871
16872 if alt103 == 1:
16873 # C.g:0:0: declaration
16874 self.following.append(self.FOLLOW_declaration_in_synpred4105)
16875 self.declaration()
16876 self.following.pop()
16877 if self.failed:
16878 return
16879
16880
16881 else:
16882 break #loop103
16883
16884
16885 self.match(self.input, 43, self.FOLLOW_43_in_synpred4108)
16886 if self.failed:
16887 return
16888
16889
16890 # $ANTLR end synpred4
16891
16892
16893
16894 # $ANTLR start synpred5
16895 def synpred5_fragment(self, ):
16896 # C.g:120:4: ( declaration )
16897 # C.g:120:4: declaration
16898 self.following.append(self.FOLLOW_declaration_in_synpred5118)
16899 self.declaration()
16900 self.following.pop()
16901 if self.failed:
16902 return
16903
16904
16905 # $ANTLR end synpred5
16906
16907
16908
16909 # $ANTLR start synpred7
16910 def synpred7_fragment(self, ):
16911 # C.g:146:6: ( declaration_specifiers )
16912 # C.g:146:6: declaration_specifiers
16913 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7157)
16914 self.declaration_specifiers()
16915 self.following.pop()
16916 if self.failed:
16917 return
16918
16919
16920 # $ANTLR end synpred7
16921
16922
16923
16924 # $ANTLR start synpred10
16925 def synpred10_fragment(self, ):
16926 # C.g:167:18: ( declaration_specifiers )
16927 # C.g:167:18: declaration_specifiers
16928 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10207)
16929 self.declaration_specifiers()
16930 self.following.pop()
16931 if self.failed:
16932 return
16933
16934
16935 # $ANTLR end synpred10
16936
16937
16938
16939 # $ANTLR start synpred14
16940 def synpred14_fragment(self, ):
16941 # C.g:184:7: ( type_specifier )
16942 # C.g:184:7: type_specifier
16943 self.following.append(self.FOLLOW_type_specifier_in_synpred14272)
16944 self.type_specifier()
16945 self.following.pop()
16946 if self.failed:
16947 return
16948
16949
16950 # $ANTLR end synpred14
16951
16952
16953
16954 # $ANTLR start synpred15
16955 def synpred15_fragment(self, ):
16956 # C.g:185:13: ( type_qualifier )
16957 # C.g:185:13: type_qualifier
16958 self.following.append(self.FOLLOW_type_qualifier_in_synpred15286)
16959 self.type_qualifier()
16960 self.following.pop()
16961 if self.failed:
16962 return
16963
16964
16965 # $ANTLR end synpred15
16966
16967
16968
16969 # $ANTLR start synpred33
16970 def synpred33_fragment(self, ):
16971 # C.g:225:16: ( type_qualifier )
16972 # C.g:225:16: type_qualifier
16973 self.following.append(self.FOLLOW_type_qualifier_in_synpred33444)
16974 self.type_qualifier()
16975 self.following.pop()
16976 if self.failed:
16977 return
16978
16979
16980 # $ANTLR end synpred33
16981
16982
16983
16984 # $ANTLR start synpred34
16985 def synpred34_fragment(self, ):
16986 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16987 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16988 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34442)
16989 if self.failed:
16990 return
16991 # C.g:225:16: ( type_qualifier )*
16992 while True: #loop106
16993 alt106 = 2
16994 LA106 = self.input.LA(1)
16995 if LA106 == 58:
16996 LA106_2 = self.input.LA(2)
16997
16998 if (self.synpred33()) :
16999 alt106 = 1
17000
17001
17002 elif LA106 == 59:
17003 LA106_3 = self.input.LA(2)
17004
17005 if (self.synpred33()) :
17006 alt106 = 1
17007
17008
17009 elif LA106 == 60:
17010 LA106_4 = self.input.LA(2)
17011
17012 if (self.synpred33()) :
17013 alt106 = 1
17014
17015
17016 elif LA106 == 49 or LA106 == 50 or LA106 == 51 or LA106 == 52 or LA106 == 53 or LA106 == 54 or LA106 == 55 or LA106 == 56 or LA106 == 57 or LA106 == 61:
17017 alt106 = 1
17018
17019 if alt106 == 1:
17020 # C.g:0:0: type_qualifier
17021 self.following.append(self.FOLLOW_type_qualifier_in_synpred34444)
17022 self.type_qualifier()
17023 self.following.pop()
17024 if self.failed:
17025 return
17026
17027
17028 else:
17029 break #loop106
17030
17031
17032 self.following.append(self.FOLLOW_declarator_in_synpred34447)
17033 self.declarator()
17034 self.following.pop()
17035 if self.failed:
17036 return
17037
17038
17039 # $ANTLR end synpred34
17040
17041
17042
17043 # $ANTLR start synpred39
17044 def synpred39_fragment(self, ):
17045 # C.g:253:6: ( type_qualifier )
17046 # C.g:253:6: type_qualifier
17047 self.following.append(self.FOLLOW_type_qualifier_in_synpred39566)
17048 self.type_qualifier()
17049 self.following.pop()
17050 if self.failed:
17051 return
17052
17053
17054 # $ANTLR end synpred39
17055
17056
17057
17058 # $ANTLR start synpred40
17059 def synpred40_fragment(self, ):
17060 # C.g:253:23: ( type_specifier )
17061 # C.g:253:23: type_specifier
17062 self.following.append(self.FOLLOW_type_specifier_in_synpred40570)
17063 self.type_specifier()
17064 self.following.pop()
17065 if self.failed:
17066 return
17067
17068
17069 # $ANTLR end synpred40
17070
17071
17072
17073 # $ANTLR start synpred66
17074 def synpred66_fragment(self, ):
17075 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17076 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17077 # C.g:297:4: ( pointer )?
17078 alt111 = 2
17079 LA111_0 = self.input.LA(1)
17080
17081 if (LA111_0 == 66) :
17082 alt111 = 1
17083 if alt111 == 1:
17084 # C.g:0:0: pointer
17085 self.following.append(self.FOLLOW_pointer_in_synpred66784)
17086 self.pointer()
17087 self.following.pop()
17088 if self.failed:
17089 return
17090
17091
17092
17093 # C.g:297:13: ( 'EFIAPI' )?
17094 alt112 = 2
17095 LA112_0 = self.input.LA(1)
17096
17097 if (LA112_0 == 58) :
17098 alt112 = 1
17099 if alt112 == 1:
17100 # C.g:297:14: 'EFIAPI'
17101 self.match(self.input, 58, self.FOLLOW_58_in_synpred66788)
17102 if self.failed:
17103 return
17104
17105
17106
17107 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17108 alt113 = 2
17109 LA113_0 = self.input.LA(1)
17110
17111 if (LA113_0 == 59) :
17112 alt113 = 1
17113 if alt113 == 1:
17114 # C.g:297:26: 'EFI_BOOTSERVICE'
17115 self.match(self.input, 59, self.FOLLOW_59_in_synpred66793)
17116 if self.failed:
17117 return
17118
17119
17120
17121 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17122 alt114 = 2
17123 LA114_0 = self.input.LA(1)
17124
17125 if (LA114_0 == 60) :
17126 alt114 = 1
17127 if alt114 == 1:
17128 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17129 self.match(self.input, 60, self.FOLLOW_60_in_synpred66798)
17130 if self.failed:
17131 return
17132
17133
17134
17135 self.following.append(self.FOLLOW_direct_declarator_in_synpred66802)
17136 self.direct_declarator()
17137 self.following.pop()
17138 if self.failed:
17139 return
17140
17141
17142 # $ANTLR end synpred66
17143
17144
17145
17146 # $ANTLR start synpred67
17147 def synpred67_fragment(self, ):
17148 # C.g:303:15: ( declarator_suffix )
17149 # C.g:303:15: declarator_suffix
17150 self.following.append(self.FOLLOW_declarator_suffix_in_synpred67821)
17151 self.declarator_suffix()
17152 self.following.pop()
17153 if self.failed:
17154 return
17155
17156
17157 # $ANTLR end synpred67
17158
17159
17160
17161 # $ANTLR start synpred69
17162 def synpred69_fragment(self, ):
17163 # C.g:304:9: ( 'EFIAPI' )
17164 # C.g:304:9: 'EFIAPI'
17165 self.match(self.input, 58, self.FOLLOW_58_in_synpred69830)
17166 if self.failed:
17167 return
17168
17169
17170 # $ANTLR end synpred69
17171
17172
17173
17174 # $ANTLR start synpred70
17175 def synpred70_fragment(self, ):
17176 # C.g:304:35: ( declarator_suffix )
17177 # C.g:304:35: declarator_suffix
17178 self.following.append(self.FOLLOW_declarator_suffix_in_synpred70838)
17179 self.declarator_suffix()
17180 self.following.pop()
17181 if self.failed:
17182 return
17183
17184
17185 # $ANTLR end synpred70
17186
17187
17188
17189 # $ANTLR start synpred73
17190 def synpred73_fragment(self, ):
17191 # C.g:310:9: ( '(' parameter_type_list ')' )
17192 # C.g:310:9: '(' parameter_type_list ')'
17193 self.match(self.input, 62, self.FOLLOW_62_in_synpred73878)
17194 if self.failed:
17195 return
17196 self.following.append(self.FOLLOW_parameter_type_list_in_synpred73880)
17197 self.parameter_type_list()
17198 self.following.pop()
17199 if self.failed:
17200 return
17201 self.match(self.input, 63, self.FOLLOW_63_in_synpred73882)
17202 if self.failed:
17203 return
17204
17205
17206 # $ANTLR end synpred73
17207
17208
17209
17210 # $ANTLR start synpred74
17211 def synpred74_fragment(self, ):
17212 # C.g:311:9: ( '(' identifier_list ')' )
17213 # C.g:311:9: '(' identifier_list ')'
17214 self.match(self.input, 62, self.FOLLOW_62_in_synpred74892)
17215 if self.failed:
17216 return
17217 self.following.append(self.FOLLOW_identifier_list_in_synpred74894)
17218 self.identifier_list()
17219 self.following.pop()
17220 if self.failed:
17221 return
17222 self.match(self.input, 63, self.FOLLOW_63_in_synpred74896)
17223 if self.failed:
17224 return
17225
17226
17227 # $ANTLR end synpred74
17228
17229
17230
17231 # $ANTLR start synpred75
17232 def synpred75_fragment(self, ):
17233 # C.g:316:8: ( type_qualifier )
17234 # C.g:316:8: type_qualifier
17235 self.following.append(self.FOLLOW_type_qualifier_in_synpred75921)
17236 self.type_qualifier()
17237 self.following.pop()
17238 if self.failed:
17239 return
17240
17241
17242 # $ANTLR end synpred75
17243
17244
17245
17246 # $ANTLR start synpred76
17247 def synpred76_fragment(self, ):
17248 # C.g:316:24: ( pointer )
17249 # C.g:316:24: pointer
17250 self.following.append(self.FOLLOW_pointer_in_synpred76924)
17251 self.pointer()
17252 self.following.pop()
17253 if self.failed:
17254 return
17255
17256
17257 # $ANTLR end synpred76
17258
17259
17260
17261 # $ANTLR start synpred77
17262 def synpred77_fragment(self, ):
17263 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17264 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17265 self.match(self.input, 66, self.FOLLOW_66_in_synpred77919)
17266 if self.failed:
17267 return
17268 # C.g:316:8: ( type_qualifier )+
17269 cnt116 = 0
17270 while True: #loop116
17271 alt116 = 2
17272 LA116_0 = self.input.LA(1)
17273
17274 if ((49 <= LA116_0 <= 61)) :
17275 alt116 = 1
17276
17277
17278 if alt116 == 1:
17279 # C.g:0:0: type_qualifier
17280 self.following.append(self.FOLLOW_type_qualifier_in_synpred77921)
17281 self.type_qualifier()
17282 self.following.pop()
17283 if self.failed:
17284 return
17285
17286
17287 else:
17288 if cnt116 >= 1:
17289 break #loop116
17290
17291 if self.backtracking > 0:
17292 self.failed = True
17293 return
17294
17295 eee = EarlyExitException(116, self.input)
17296 raise eee
17297
17298 cnt116 += 1
17299
17300
17301 # C.g:316:24: ( pointer )?
17302 alt117 = 2
17303 LA117_0 = self.input.LA(1)
17304
17305 if (LA117_0 == 66) :
17306 alt117 = 1
17307 if alt117 == 1:
17308 # C.g:0:0: pointer
17309 self.following.append(self.FOLLOW_pointer_in_synpred77924)
17310 self.pointer()
17311 self.following.pop()
17312 if self.failed:
17313 return
17314
17315
17316
17317
17318
17319 # $ANTLR end synpred77
17320
17321
17322
17323 # $ANTLR start synpred78
17324 def synpred78_fragment(self, ):
17325 # C.g:317:4: ( '*' pointer )
17326 # C.g:317:4: '*' pointer
17327 self.match(self.input, 66, self.FOLLOW_66_in_synpred78930)
17328 if self.failed:
17329 return
17330 self.following.append(self.FOLLOW_pointer_in_synpred78932)
17331 self.pointer()
17332 self.following.pop()
17333 if self.failed:
17334 return
17335
17336
17337 # $ANTLR end synpred78
17338
17339
17340
17341 # $ANTLR start synpred81
17342 def synpred81_fragment(self, ):
17343 # C.g:326:32: ( 'OPTIONAL' )
17344 # C.g:326:32: 'OPTIONAL'
17345 self.match(self.input, 53, self.FOLLOW_53_in_synpred81977)
17346 if self.failed:
17347 return
17348
17349
17350 # $ANTLR end synpred81
17351
17352
17353
17354 # $ANTLR start synpred82
17355 def synpred82_fragment(self, ):
17356 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17357 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17358 self.match(self.input, 27, self.FOLLOW_27_in_synpred82974)
17359 if self.failed:
17360 return
17361 # C.g:326:31: ( 'OPTIONAL' )?
17362 alt119 = 2
17363 LA119_0 = self.input.LA(1)
17364
17365 if (LA119_0 == 53) :
17366 LA119_1 = self.input.LA(2)
17367
17368 if (self.synpred81()) :
17369 alt119 = 1
17370 if alt119 == 1:
17371 # C.g:326:32: 'OPTIONAL'
17372 self.match(self.input, 53, self.FOLLOW_53_in_synpred82977)
17373 if self.failed:
17374 return
17375
17376
17377
17378 self.following.append(self.FOLLOW_parameter_declaration_in_synpred82981)
17379 self.parameter_declaration()
17380 self.following.pop()
17381 if self.failed:
17382 return
17383
17384
17385 # $ANTLR end synpred82
17386
17387
17388
17389 # $ANTLR start synpred83
17390 def synpred83_fragment(self, ):
17391 # C.g:330:28: ( declarator )
17392 # C.g:330:28: declarator
17393 self.following.append(self.FOLLOW_declarator_in_synpred83997)
17394 self.declarator()
17395 self.following.pop()
17396 if self.failed:
17397 return
17398
17399
17400 # $ANTLR end synpred83
17401
17402
17403
17404 # $ANTLR start synpred84
17405 def synpred84_fragment(self, ):
17406 # C.g:330:39: ( abstract_declarator )
17407 # C.g:330:39: abstract_declarator
17408 self.following.append(self.FOLLOW_abstract_declarator_in_synpred84999)
17409 self.abstract_declarator()
17410 self.following.pop()
17411 if self.failed:
17412 return
17413
17414
17415 # $ANTLR end synpred84
17416
17417
17418
17419 # $ANTLR start synpred86
17420 def synpred86_fragment(self, ):
17421 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17422 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17423 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred86994)
17424 self.declaration_specifiers()
17425 self.following.pop()
17426 if self.failed:
17427 return
17428 # C.g:330:27: ( declarator | abstract_declarator )*
17429 while True: #loop120
17430 alt120 = 3
17431 LA120 = self.input.LA(1)
17432 if LA120 == 66:
17433 LA120_3 = self.input.LA(2)
17434
17435 if (self.synpred83()) :
17436 alt120 = 1
17437 elif (self.synpred84()) :
17438 alt120 = 2
17439
17440
17441 elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
17442 alt120 = 1
17443 elif LA120 == 62:
17444 LA120 = self.input.LA(2)
17445 if LA120 == 29 or LA120 == 30 or LA120 == 31 or LA120 == 32 or LA120 == 33 or LA120 == 34 or LA120 == 35 or LA120 == 36 or LA120 == 37 or LA120 == 38 or LA120 == 39 or LA120 == 40 or LA120 == 41 or LA120 == 42 or LA120 == 45 or LA120 == 46 or LA120 == 48 or LA120 == 49 or LA120 == 50 or LA120 == 51 or LA120 == 52 or LA120 == 53 or LA120 == 54 or LA120 == 55 or LA120 == 56 or LA120 == 57 or LA120 == 61 or LA120 == 63 or LA120 == 64:
17446 alt120 = 2
17447 elif LA120 == 58:
17448 LA120_21 = self.input.LA(3)
17449
17450 if (self.synpred83()) :
17451 alt120 = 1
17452 elif (self.synpred84()) :
17453 alt120 = 2
17454
17455
17456 elif LA120 == 66:
17457 LA120_22 = self.input.LA(3)
17458
17459 if (self.synpred83()) :
17460 alt120 = 1
17461 elif (self.synpred84()) :
17462 alt120 = 2
17463
17464
17465 elif LA120 == 59:
17466 LA120_23 = self.input.LA(3)
17467
17468 if (self.synpred83()) :
17469 alt120 = 1
17470 elif (self.synpred84()) :
17471 alt120 = 2
17472
17473
17474 elif LA120 == 60:
17475 LA120_24 = self.input.LA(3)
17476
17477 if (self.synpred83()) :
17478 alt120 = 1
17479 elif (self.synpred84()) :
17480 alt120 = 2
17481
17482
17483 elif LA120 == IDENTIFIER:
17484 LA120_25 = self.input.LA(3)
17485
17486 if (self.synpred83()) :
17487 alt120 = 1
17488 elif (self.synpred84()) :
17489 alt120 = 2
17490
17491
17492 elif LA120 == 62:
17493 LA120_26 = self.input.LA(3)
17494
17495 if (self.synpred83()) :
17496 alt120 = 1
17497 elif (self.synpred84()) :
17498 alt120 = 2
17499
17500
17501
17502 elif LA120 == 64:
17503 alt120 = 2
17504
17505 if alt120 == 1:
17506 # C.g:330:28: declarator
17507 self.following.append(self.FOLLOW_declarator_in_synpred86997)
17508 self.declarator()
17509 self.following.pop()
17510 if self.failed:
17511 return
17512
17513
17514 elif alt120 == 2:
17515 # C.g:330:39: abstract_declarator
17516 self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999)
17517 self.abstract_declarator()
17518 self.following.pop()
17519 if self.failed:
17520 return
17521
17522
17523 else:
17524 break #loop120
17525
17526
17527 # C.g:330:61: ( 'OPTIONAL' )?
17528 alt121 = 2
17529 LA121_0 = self.input.LA(1)
17530
17531 if (LA121_0 == 53) :
17532 alt121 = 1
17533 if alt121 == 1:
17534 # C.g:330:62: 'OPTIONAL'
17535 self.match(self.input, 53, self.FOLLOW_53_in_synpred861004)
17536 if self.failed:
17537 return
17538
17539
17540
17541
17542
17543 # $ANTLR end synpred86
17544
17545
17546
17547 # $ANTLR start synpred90
17548 def synpred90_fragment(self, ):
17549 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17550 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17551 self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred901046)
17552 self.specifier_qualifier_list()
17553 self.following.pop()
17554 if self.failed:
17555 return
17556 # C.g:341:29: ( abstract_declarator )?
17557 alt122 = 2
17558 LA122_0 = self.input.LA(1)
17559
17560 if (LA122_0 == 62 or LA122_0 == 64 or LA122_0 == 66) :
17561 alt122 = 1
17562 if alt122 == 1:
17563 # C.g:0:0: abstract_declarator
17564 self.following.append(self.FOLLOW_abstract_declarator_in_synpred901048)
17565 self.abstract_declarator()
17566 self.following.pop()
17567 if self.failed:
17568 return
17569
17570
17571
17572
17573
17574 # $ANTLR end synpred90
17575
17576
17577
17578 # $ANTLR start synpred91
17579 def synpred91_fragment(self, ):
17580 # C.g:346:12: ( direct_abstract_declarator )
17581 # C.g:346:12: direct_abstract_declarator
17582 self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred911067)
17583 self.direct_abstract_declarator()
17584 self.following.pop()
17585 if self.failed:
17586 return
17587
17588
17589 # $ANTLR end synpred91
17590
17591
17592
17593 # $ANTLR start synpred93
17594 def synpred93_fragment(self, ):
17595 # C.g:351:6: ( '(' abstract_declarator ')' )
17596 # C.g:351:6: '(' abstract_declarator ')'
17597 self.match(self.input, 62, self.FOLLOW_62_in_synpred931086)
17598 if self.failed:
17599 return
17600 self.following.append(self.FOLLOW_abstract_declarator_in_synpred931088)
17601 self.abstract_declarator()
17602 self.following.pop()
17603 if self.failed:
17604 return
17605 self.match(self.input, 63, self.FOLLOW_63_in_synpred931090)
17606 if self.failed:
17607 return
17608
17609
17610 # $ANTLR end synpred93
17611
17612
17613
17614 # $ANTLR start synpred94
17615 def synpred94_fragment(self, ):
17616 # C.g:351:65: ( abstract_declarator_suffix )
17617 # C.g:351:65: abstract_declarator_suffix
17618 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred941098)
17619 self.abstract_declarator_suffix()
17620 self.following.pop()
17621 if self.failed:
17622 return
17623
17624
17625 # $ANTLR end synpred94
17626
17627
17628
17629 # $ANTLR start synpred109
17630 def synpred109_fragment(self, ):
17631 # C.g:386:4: ( '(' type_name ')' cast_expression )
17632 # C.g:386:4: '(' type_name ')' cast_expression
17633 self.match(self.input, 62, self.FOLLOW_62_in_synpred1091282)
17634 if self.failed:
17635 return
17636 self.following.append(self.FOLLOW_type_name_in_synpred1091284)
17637 self.type_name()
17638 self.following.pop()
17639 if self.failed:
17640 return
17641 self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286)
17642 if self.failed:
17643 return
17644 self.following.append(self.FOLLOW_cast_expression_in_synpred1091288)
17645 self.cast_expression()
17646 self.following.pop()
17647 if self.failed:
17648 return
17649
17650
17651 # $ANTLR end synpred109
17652
17653
17654
17655 # $ANTLR start synpred114
17656 def synpred114_fragment(self, ):
17657 # C.g:395:4: ( 'sizeof' unary_expression )
17658 # C.g:395:4: 'sizeof' unary_expression
17659 self.match(self.input, 74, self.FOLLOW_74_in_synpred1141330)
17660 if self.failed:
17661 return
17662 self.following.append(self.FOLLOW_unary_expression_in_synpred1141332)
17663 self.unary_expression()
17664 self.following.pop()
17665 if self.failed:
17666 return
17667
17668
17669 # $ANTLR end synpred114
17670
17671
17672
17673 # $ANTLR start synpred117
17674 def synpred117_fragment(self, ):
17675 # C.g:409:13: ( '(' argument_expression_list ')' )
17676 # C.g:409:13: '(' argument_expression_list ')'
17677 self.match(self.input, 62, self.FOLLOW_62_in_synpred1171420)
17678 if self.failed:
17679 return
17680 self.following.append(self.FOLLOW_argument_expression_list_in_synpred1171424)
17681 self.argument_expression_list()
17682 self.following.pop()
17683 if self.failed:
17684 return
17685 self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428)
17686 if self.failed:
17687 return
17688
17689
17690 # $ANTLR end synpred117
17691
17692
17693
17694 # $ANTLR start synpred118
17695 def synpred118_fragment(self, ):
17696 # C.g:410:13: ( '(' macro_parameter_list ')' )
17697 # C.g:410:13: '(' macro_parameter_list ')'
17698 self.match(self.input, 62, self.FOLLOW_62_in_synpred1181444)
17699 if self.failed:
17700 return
17701 self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1181446)
17702 self.macro_parameter_list()
17703 self.following.pop()
17704 if self.failed:
17705 return
17706 self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448)
17707 if self.failed:
17708 return
17709
17710
17711 # $ANTLR end synpred118
17712
17713
17714
17715 # $ANTLR start synpred120
17716 def synpred120_fragment(self, ):
17717 # C.g:412:13: ( '*' IDENTIFIER )
17718 # C.g:412:13: '*' IDENTIFIER
17719 self.match(self.input, 66, self.FOLLOW_66_in_synpred1201482)
17720 if self.failed:
17721 return
17722 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1201486)
17723 if self.failed:
17724 return
17725
17726
17727 # $ANTLR end synpred120
17728
17729
17730
17731 # $ANTLR start synpred137
17732 def synpred137_fragment(self, ):
17733 # C.g:443:20: ( STRING_LITERAL )
17734 # C.g:443:20: STRING_LITERAL
17735 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371683)
17736 if self.failed:
17737 return
17738
17739
17740 # $ANTLR end synpred137
17741
17742
17743
17744 # $ANTLR start synpred138
17745 def synpred138_fragment(self, ):
17746 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17747 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17748 # C.g:443:8: ( IDENTIFIER )*
17749 while True: #loop125
17750 alt125 = 2
17751 LA125_0 = self.input.LA(1)
17752
17753 if (LA125_0 == IDENTIFIER) :
17754 alt125 = 1
17755
17756
17757 if alt125 == 1:
17758 # C.g:0:0: IDENTIFIER
17759 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680)
17760 if self.failed:
17761 return
17762
17763
17764 else:
17765 break #loop125
17766
17767
17768 # C.g:443:20: ( STRING_LITERAL )+
17769 cnt126 = 0
17770 while True: #loop126
17771 alt126 = 2
17772 LA126_0 = self.input.LA(1)
17773
17774 if (LA126_0 == STRING_LITERAL) :
17775 alt126 = 1
17776
17777
17778 if alt126 == 1:
17779 # C.g:0:0: STRING_LITERAL
17780 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683)
17781 if self.failed:
17782 return
17783
17784
17785 else:
17786 if cnt126 >= 1:
17787 break #loop126
17788
17789 if self.backtracking > 0:
17790 self.failed = True
17791 return
17792
17793 eee = EarlyExitException(126, self.input)
17794 raise eee
17795
17796 cnt126 += 1
17797
17798
17799
17800
17801 # $ANTLR end synpred138
17802
17803
17804
17805 # $ANTLR start synpred142
17806 def synpred142_fragment(self, ):
17807 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17808 # C.g:458:4: lvalue assignment_operator assignment_expression
17809 self.following.append(self.FOLLOW_lvalue_in_synpred1421744)
17810 self.lvalue()
17811 self.following.pop()
17812 if self.failed:
17813 return
17814 self.following.append(self.FOLLOW_assignment_operator_in_synpred1421746)
17815 self.assignment_operator()
17816 self.following.pop()
17817 if self.failed:
17818 return
17819 self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748)
17820 self.assignment_expression()
17821 self.following.pop()
17822 if self.failed:
17823 return
17824
17825
17826 # $ANTLR end synpred142
17827
17828
17829
17830 # $ANTLR start synpred169
17831 def synpred169_fragment(self, ):
17832 # C.g:520:4: ( expression_statement )
17833 # C.g:520:4: expression_statement
17834 self.following.append(self.FOLLOW_expression_statement_in_synpred1692035)
17835 self.expression_statement()
17836 self.following.pop()
17837 if self.failed:
17838 return
17839
17840
17841 # $ANTLR end synpred169
17842
17843
17844
17845 # $ANTLR start synpred173
17846 def synpred173_fragment(self, ):
17847 # C.g:524:4: ( macro_statement )
17848 # C.g:524:4: macro_statement
17849 self.following.append(self.FOLLOW_macro_statement_in_synpred1732055)
17850 self.macro_statement()
17851 self.following.pop()
17852 if self.failed:
17853 return
17854
17855
17856 # $ANTLR end synpred173
17857
17858
17859
17860 # $ANTLR start synpred174
17861 def synpred174_fragment(self, ):
17862 # C.g:525:4: ( asm2_statement )
17863 # C.g:525:4: asm2_statement
17864 self.following.append(self.FOLLOW_asm2_statement_in_synpred1742060)
17865 self.asm2_statement()
17866 self.following.pop()
17867 if self.failed:
17868 return
17869
17870
17871 # $ANTLR end synpred174
17872
17873
17874
17875 # $ANTLR start synpred181
17876 def synpred181_fragment(self, ):
17877 # C.g:544:19: ( declaration )
17878 # C.g:544:19: declaration
17879 self.following.append(self.FOLLOW_declaration_in_synpred1812166)
17880 self.declaration()
17881 self.following.pop()
17882 if self.failed:
17883 return
17884
17885
17886 # $ANTLR end synpred181
17887
17888
17889
17890 # $ANTLR start synpred182
17891 def synpred182_fragment(self, ):
17892 # C.g:544:33: ( statement_list )
17893 # C.g:544:33: statement_list
17894 self.following.append(self.FOLLOW_statement_list_in_synpred1822170)
17895 self.statement_list()
17896 self.following.pop()
17897 if self.failed:
17898 return
17899
17900
17901 # $ANTLR end synpred182
17902
17903
17904
17905 # $ANTLR start synpred186
17906 def synpred186_fragment(self, ):
17907 # C.g:554:8: ( declaration )
17908 # C.g:554:8: declaration
17909 self.following.append(self.FOLLOW_declaration_in_synpred1862225)
17910 self.declaration()
17911 self.following.pop()
17912 if self.failed:
17913 return
17914
17915
17916 # $ANTLR end synpred186
17917
17918
17919
17920 # $ANTLR start synpred188
17921 def synpred188_fragment(self, ):
17922 # C.g:558:4: ( statement )
17923 # C.g:558:4: statement
17924 self.following.append(self.FOLLOW_statement_in_synpred1882242)
17925 self.statement()
17926 self.following.pop()
17927 if self.failed:
17928 return
17929
17930
17931 # $ANTLR end synpred188
17932
17933
17934
17935 def synpred69(self):
17936 self.backtracking += 1
17937 start = self.input.mark()
17938 self.synpred69_fragment()
17939 success = not self.failed
17940 self.input.rewind(start)
17941 self.backtracking -= 1
17942 self.failed = False
17943 return success
17944
17945 def synpred81(self):
17946 self.backtracking += 1
17947 start = self.input.mark()
17948 self.synpred81_fragment()
17949 success = not self.failed
17950 self.input.rewind(start)
17951 self.backtracking -= 1
17952 self.failed = False
17953 return success
17954
17955 def synpred82(self):
17956 self.backtracking += 1
17957 start = self.input.mark()
17958 self.synpred82_fragment()
17959 success = not self.failed
17960 self.input.rewind(start)
17961 self.backtracking -= 1
17962 self.failed = False
17963 return success
17964
17965 def synpred66(self):
17966 self.backtracking += 1
17967 start = self.input.mark()
17968 self.synpred66_fragment()
17969 success = not self.failed
17970 self.input.rewind(start)
17971 self.backtracking -= 1
17972 self.failed = False
17973 return success
17974
17975 def synpred83(self):
17976 self.backtracking += 1
17977 start = self.input.mark()
17978 self.synpred83_fragment()
17979 success = not self.failed
17980 self.input.rewind(start)
17981 self.backtracking -= 1
17982 self.failed = False
17983 return success
17984
17985 def synpred84(self):
17986 self.backtracking += 1
17987 start = self.input.mark()
17988 self.synpred84_fragment()
17989 success = not self.failed
17990 self.input.rewind(start)
17991 self.backtracking -= 1
17992 self.failed = False
17993 return success
17994
17995 def synpred67(self):
17996 self.backtracking += 1
17997 start = self.input.mark()
17998 self.synpred67_fragment()
17999 success = not self.failed
18000 self.input.rewind(start)
18001 self.backtracking -= 1
18002 self.failed = False
18003 return success
18004
18005 def synpred86(self):
18006 self.backtracking += 1
18007 start = self.input.mark()
18008 self.synpred86_fragment()
18009 success = not self.failed
18010 self.input.rewind(start)
18011 self.backtracking -= 1
18012 self.failed = False
18013 return success
18014
18015 def synpred120(self):
18016 self.backtracking += 1
18017 start = self.input.mark()
18018 self.synpred120_fragment()
18019 success = not self.failed
18020 self.input.rewind(start)
18021 self.backtracking -= 1
18022 self.failed = False
18023 return success
18024
18025 def synpred40(self):
18026 self.backtracking += 1
18027 start = self.input.mark()
18028 self.synpred40_fragment()
18029 success = not self.failed
18030 self.input.rewind(start)
18031 self.backtracking -= 1
18032 self.failed = False
18033 return success
18034
18035 def synpred142(self):
18036 self.backtracking += 1
18037 start = self.input.mark()
18038 self.synpred142_fragment()
18039 success = not self.failed
18040 self.input.rewind(start)
18041 self.backtracking -= 1
18042 self.failed = False
18043 return success
18044
18045 def synpred182(self):
18046 self.backtracking += 1
18047 start = self.input.mark()
18048 self.synpred182_fragment()
18049 success = not self.failed
18050 self.input.rewind(start)
18051 self.backtracking -= 1
18052 self.failed = False
18053 return success
18054
18055 def synpred109(self):
18056 self.backtracking += 1
18057 start = self.input.mark()
18058 self.synpred109_fragment()
18059 success = not self.failed
18060 self.input.rewind(start)
18061 self.backtracking -= 1
18062 self.failed = False
18063 return success
18064
18065 def synpred181(self):
18066 self.backtracking += 1
18067 start = self.input.mark()
18068 self.synpred181_fragment()
18069 success = not self.failed
18070 self.input.rewind(start)
18071 self.backtracking -= 1
18072 self.failed = False
18073 return success
18074
18075 def synpred186(self):
18076 self.backtracking += 1
18077 start = self.input.mark()
18078 self.synpred186_fragment()
18079 success = not self.failed
18080 self.input.rewind(start)
18081 self.backtracking -= 1
18082 self.failed = False
18083 return success
18084
18085 def synpred188(self):
18086 self.backtracking += 1
18087 start = self.input.mark()
18088 self.synpred188_fragment()
18089 success = not self.failed
18090 self.input.rewind(start)
18091 self.backtracking -= 1
18092 self.failed = False
18093 return success
18094
18095 def synpred169(self):
18096 self.backtracking += 1
18097 start = self.input.mark()
18098 self.synpred169_fragment()
18099 success = not self.failed
18100 self.input.rewind(start)
18101 self.backtracking -= 1
18102 self.failed = False
18103 return success
18104
18105 def synpred117(self):
18106 self.backtracking += 1
18107 start = self.input.mark()
18108 self.synpred117_fragment()
18109 success = not self.failed
18110 self.input.rewind(start)
18111 self.backtracking -= 1
18112 self.failed = False
18113 return success
18114
18115 def synpred70(self):
18116 self.backtracking += 1
18117 start = self.input.mark()
18118 self.synpred70_fragment()
18119 success = not self.failed
18120 self.input.rewind(start)
18121 self.backtracking -= 1
18122 self.failed = False
18123 return success
18124
18125 def synpred118(self):
18126 self.backtracking += 1
18127 start = self.input.mark()
18128 self.synpred118_fragment()
18129 success = not self.failed
18130 self.input.rewind(start)
18131 self.backtracking -= 1
18132 self.failed = False
18133 return success
18134
18135 def synpred34(self):
18136 self.backtracking += 1
18137 start = self.input.mark()
18138 self.synpred34_fragment()
18139 success = not self.failed
18140 self.input.rewind(start)
18141 self.backtracking -= 1
18142 self.failed = False
18143 return success
18144
18145 def synpred33(self):
18146 self.backtracking += 1
18147 start = self.input.mark()
18148 self.synpred33_fragment()
18149 success = not self.failed
18150 self.input.rewind(start)
18151 self.backtracking -= 1
18152 self.failed = False
18153 return success
18154
18155 def synpred94(self):
18156 self.backtracking += 1
18157 start = self.input.mark()
18158 self.synpred94_fragment()
18159 success = not self.failed
18160 self.input.rewind(start)
18161 self.backtracking -= 1
18162 self.failed = False
18163 return success
18164
18165 def synpred39(self):
18166 self.backtracking += 1
18167 start = self.input.mark()
18168 self.synpred39_fragment()
18169 success = not self.failed
18170 self.input.rewind(start)
18171 self.backtracking -= 1
18172 self.failed = False
18173 return success
18174
18175 def synpred74(self):
18176 self.backtracking += 1
18177 start = self.input.mark()
18178 self.synpred74_fragment()
18179 success = not self.failed
18180 self.input.rewind(start)
18181 self.backtracking -= 1
18182 self.failed = False
18183 return success
18184
18185 def synpred114(self):
18186 self.backtracking += 1
18187 start = self.input.mark()
18188 self.synpred114_fragment()
18189 success = not self.failed
18190 self.input.rewind(start)
18191 self.backtracking -= 1
18192 self.failed = False
18193 return success
18194
18195 def synpred93(self):
18196 self.backtracking += 1
18197 start = self.input.mark()
18198 self.synpred93_fragment()
18199 success = not self.failed
18200 self.input.rewind(start)
18201 self.backtracking -= 1
18202 self.failed = False
18203 return success
18204
18205 def synpred75(self):
18206 self.backtracking += 1
18207 start = self.input.mark()
18208 self.synpred75_fragment()
18209 success = not self.failed
18210 self.input.rewind(start)
18211 self.backtracking -= 1
18212 self.failed = False
18213 return success
18214
18215 def synpred137(self):
18216 self.backtracking += 1
18217 start = self.input.mark()
18218 self.synpred137_fragment()
18219 success = not self.failed
18220 self.input.rewind(start)
18221 self.backtracking -= 1
18222 self.failed = False
18223 return success
18224
18225 def synpred90(self):
18226 self.backtracking += 1
18227 start = self.input.mark()
18228 self.synpred90_fragment()
18229 success = not self.failed
18230 self.input.rewind(start)
18231 self.backtracking -= 1
18232 self.failed = False
18233 return success
18234
18235 def synpred138(self):
18236 self.backtracking += 1
18237 start = self.input.mark()
18238 self.synpred138_fragment()
18239 success = not self.failed
18240 self.input.rewind(start)
18241 self.backtracking -= 1
18242 self.failed = False
18243 return success
18244
18245 def synpred91(self):
18246 self.backtracking += 1
18247 start = self.input.mark()
18248 self.synpred91_fragment()
18249 success = not self.failed
18250 self.input.rewind(start)
18251 self.backtracking -= 1
18252 self.failed = False
18253 return success
18254
18255 def synpred73(self):
18256 self.backtracking += 1
18257 start = self.input.mark()
18258 self.synpred73_fragment()
18259 success = not self.failed
18260 self.input.rewind(start)
18261 self.backtracking -= 1
18262 self.failed = False
18263 return success
18264
18265 def synpred5(self):
18266 self.backtracking += 1
18267 start = self.input.mark()
18268 self.synpred5_fragment()
18269 success = not self.failed
18270 self.input.rewind(start)
18271 self.backtracking -= 1
18272 self.failed = False
18273 return success
18274
18275 def synpred78(self):
18276 self.backtracking += 1
18277 start = self.input.mark()
18278 self.synpred78_fragment()
18279 success = not self.failed
18280 self.input.rewind(start)
18281 self.backtracking -= 1
18282 self.failed = False
18283 return success
18284
18285 def synpred7(self):
18286 self.backtracking += 1
18287 start = self.input.mark()
18288 self.synpred7_fragment()
18289 success = not self.failed
18290 self.input.rewind(start)
18291 self.backtracking -= 1
18292 self.failed = False
18293 return success
18294
18295 def synpred76(self):
18296 self.backtracking += 1
18297 start = self.input.mark()
18298 self.synpred76_fragment()
18299 success = not self.failed
18300 self.input.rewind(start)
18301 self.backtracking -= 1
18302 self.failed = False
18303 return success
18304
18305 def synpred77(self):
18306 self.backtracking += 1
18307 start = self.input.mark()
18308 self.synpred77_fragment()
18309 success = not self.failed
18310 self.input.rewind(start)
18311 self.backtracking -= 1
18312 self.failed = False
18313 return success
18314
18315 def synpred2(self):
18316 self.backtracking += 1
18317 start = self.input.mark()
18318 self.synpred2_fragment()
18319 success = not self.failed
18320 self.input.rewind(start)
18321 self.backtracking -= 1
18322 self.failed = False
18323 return success
18324
18325 def synpred4(self):
18326 self.backtracking += 1
18327 start = self.input.mark()
18328 self.synpred4_fragment()
18329 success = not self.failed
18330 self.input.rewind(start)
18331 self.backtracking -= 1
18332 self.failed = False
18333 return success
18334
18335 def synpred174(self):
18336 self.backtracking += 1
18337 start = self.input.mark()
18338 self.synpred174_fragment()
18339 success = not self.failed
18340 self.input.rewind(start)
18341 self.backtracking -= 1
18342 self.failed = False
18343 return success
18344
18345 def synpred173(self):
18346 self.backtracking += 1
18347 start = self.input.mark()
18348 self.synpred173_fragment()
18349 success = not self.failed
18350 self.input.rewind(start)
18351 self.backtracking -= 1
18352 self.failed = False
18353 return success
18354
18355 def synpred14(self):
18356 self.backtracking += 1
18357 start = self.input.mark()
18358 self.synpred14_fragment()
18359 success = not self.failed
18360 self.input.rewind(start)
18361 self.backtracking -= 1
18362 self.failed = False
18363 return success
18364
18365 def synpred15(self):
18366 self.backtracking += 1
18367 start = self.input.mark()
18368 self.synpred15_fragment()
18369 success = not self.failed
18370 self.input.rewind(start)
18371 self.backtracking -= 1
18372 self.failed = False
18373 return success
18374
18375 def synpred10(self):
18376 self.backtracking += 1
18377 start = self.input.mark()
18378 self.synpred10_fragment()
18379 success = not self.failed
18380 self.input.rewind(start)
18381 self.backtracking -= 1
18382 self.failed = False
18383 return success
18384
18385
18386
18387
18388
18389 FOLLOW_external_declaration_in_translation_unit74 = frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18390 FOLLOW_function_definition_in_external_declaration113 = frozenset([1])
18391 FOLLOW_declaration_in_external_declaration118 = frozenset([1])
18392 FOLLOW_macro_statement_in_external_declaration123 = frozenset([1, 25])
18393 FOLLOW_25_in_external_declaration126 = frozenset([1])
18394 FOLLOW_declaration_specifiers_in_function_definition157 = frozenset([4, 58, 59, 60, 62, 66])
18395 FOLLOW_declarator_in_function_definition160 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18396 FOLLOW_declaration_in_function_definition166 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18397 FOLLOW_compound_statement_in_function_definition171 = frozenset([1])
18398 FOLLOW_compound_statement_in_function_definition180 = frozenset([1])
18399 FOLLOW_26_in_declaration203 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18400 FOLLOW_declaration_specifiers_in_declaration207 = frozenset([4, 58, 59, 60, 62, 66])
18401 FOLLOW_init_declarator_list_in_declaration216 = frozenset([25])
18402 FOLLOW_25_in_declaration220 = frozenset([1])
18403 FOLLOW_declaration_specifiers_in_declaration234 = frozenset([4, 25, 58, 59, 60, 62, 66])
18404 FOLLOW_init_declarator_list_in_declaration238 = frozenset([25])
18405 FOLLOW_25_in_declaration243 = frozenset([1])
18406 FOLLOW_storage_class_specifier_in_declaration_specifiers264 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18407 FOLLOW_type_specifier_in_declaration_specifiers272 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18408 FOLLOW_type_qualifier_in_declaration_specifiers286 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18409 FOLLOW_init_declarator_in_init_declarator_list308 = frozenset([1, 27])
18410 FOLLOW_27_in_init_declarator_list311 = frozenset([4, 58, 59, 60, 62, 66])
18411 FOLLOW_init_declarator_in_init_declarator_list313 = frozenset([1, 27])
18412 FOLLOW_declarator_in_init_declarator326 = frozenset([1, 28])
18413 FOLLOW_28_in_init_declarator329 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18414 FOLLOW_initializer_in_init_declarator331 = frozenset([1])
18415 FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
18416 FOLLOW_34_in_type_specifier376 = frozenset([1])
18417 FOLLOW_35_in_type_specifier381 = frozenset([1])
18418 FOLLOW_36_in_type_specifier386 = frozenset([1])
18419 FOLLOW_37_in_type_specifier391 = frozenset([1])
18420 FOLLOW_38_in_type_specifier396 = frozenset([1])
18421 FOLLOW_39_in_type_specifier401 = frozenset([1])
18422 FOLLOW_40_in_type_specifier406 = frozenset([1])
18423 FOLLOW_41_in_type_specifier411 = frozenset([1])
18424 FOLLOW_42_in_type_specifier416 = frozenset([1])
18425 FOLLOW_struct_or_union_specifier_in_type_specifier423 = frozenset([1])
18426 FOLLOW_enum_specifier_in_type_specifier433 = frozenset([1])
18427 FOLLOW_type_id_in_type_specifier451 = frozenset([1])
18428 FOLLOW_IDENTIFIER_in_type_id467 = frozenset([1])
18429 FOLLOW_struct_or_union_in_struct_or_union_specifier494 = frozenset([4, 43])
18430 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496 = frozenset([43])
18431 FOLLOW_43_in_struct_or_union_specifier499 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18432 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501 = frozenset([44])
18433 FOLLOW_44_in_struct_or_union_specifier503 = frozenset([1])
18434 FOLLOW_struct_or_union_in_struct_or_union_specifier508 = frozenset([4])
18435 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510 = frozenset([1])
18436 FOLLOW_set_in_struct_or_union0 = frozenset([1])
18437 FOLLOW_struct_declaration_in_struct_declaration_list537 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18438 FOLLOW_specifier_qualifier_list_in_struct_declaration549 = frozenset([4, 47, 58, 59, 60, 62, 66])
18439 FOLLOW_struct_declarator_list_in_struct_declaration551 = frozenset([25])
18440 FOLLOW_25_in_struct_declaration553 = frozenset([1])
18441 FOLLOW_type_qualifier_in_specifier_qualifier_list566 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18442 FOLLOW_type_specifier_in_specifier_qualifier_list570 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18443 FOLLOW_struct_declarator_in_struct_declarator_list584 = frozenset([1, 27])
18444 FOLLOW_27_in_struct_declarator_list587 = frozenset([4, 47, 58, 59, 60, 62, 66])
18445 FOLLOW_struct_declarator_in_struct_declarator_list589 = frozenset([1, 27])
18446 FOLLOW_declarator_in_struct_declarator602 = frozenset([1, 47])
18447 FOLLOW_47_in_struct_declarator605 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18448 FOLLOW_constant_expression_in_struct_declarator607 = frozenset([1])
18449 FOLLOW_47_in_struct_declarator614 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18450 FOLLOW_constant_expression_in_struct_declarator616 = frozenset([1])
18451 FOLLOW_48_in_enum_specifier634 = frozenset([43])
18452 FOLLOW_43_in_enum_specifier636 = frozenset([4])
18453 FOLLOW_enumerator_list_in_enum_specifier638 = frozenset([27, 44])
18454 FOLLOW_27_in_enum_specifier640 = frozenset([44])
18455 FOLLOW_44_in_enum_specifier643 = frozenset([1])
18456 FOLLOW_48_in_enum_specifier648 = frozenset([4])
18457 FOLLOW_IDENTIFIER_in_enum_specifier650 = frozenset([43])
18458 FOLLOW_43_in_enum_specifier652 = frozenset([4])
18459 FOLLOW_enumerator_list_in_enum_specifier654 = frozenset([27, 44])
18460 FOLLOW_27_in_enum_specifier656 = frozenset([44])
18461 FOLLOW_44_in_enum_specifier659 = frozenset([1])
18462 FOLLOW_48_in_enum_specifier664 = frozenset([4])
18463 FOLLOW_IDENTIFIER_in_enum_specifier666 = frozenset([1])
18464 FOLLOW_enumerator_in_enumerator_list677 = frozenset([1, 27])
18465 FOLLOW_27_in_enumerator_list680 = frozenset([4])
18466 FOLLOW_enumerator_in_enumerator_list682 = frozenset([1, 27])
18467 FOLLOW_IDENTIFIER_in_enumerator695 = frozenset([1, 28])
18468 FOLLOW_28_in_enumerator698 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18469 FOLLOW_constant_expression_in_enumerator700 = frozenset([1])
18470 FOLLOW_set_in_type_qualifier0 = frozenset([1])
18471 FOLLOW_pointer_in_declarator784 = frozenset([4, 58, 59, 60, 62])
18472 FOLLOW_58_in_declarator788 = frozenset([4, 59, 60, 62])
18473 FOLLOW_59_in_declarator793 = frozenset([4, 60, 62])
18474 FOLLOW_60_in_declarator798 = frozenset([4, 62])
18475 FOLLOW_direct_declarator_in_declarator802 = frozenset([1])
18476 FOLLOW_pointer_in_declarator808 = frozenset([1])
18477 FOLLOW_IDENTIFIER_in_direct_declarator819 = frozenset([1, 62, 64])
18478 FOLLOW_declarator_suffix_in_direct_declarator821 = frozenset([1, 62, 64])
18479 FOLLOW_62_in_direct_declarator827 = frozenset([4, 58, 59, 60, 62, 66])
18480 FOLLOW_58_in_direct_declarator830 = frozenset([4, 58, 59, 60, 62, 66])
18481 FOLLOW_declarator_in_direct_declarator834 = frozenset([63])
18482 FOLLOW_63_in_direct_declarator836 = frozenset([62, 64])
18483 FOLLOW_declarator_suffix_in_direct_declarator838 = frozenset([1, 62, 64])
18484 FOLLOW_64_in_declarator_suffix852 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18485 FOLLOW_constant_expression_in_declarator_suffix854 = frozenset([65])
18486 FOLLOW_65_in_declarator_suffix856 = frozenset([1])
18487 FOLLOW_64_in_declarator_suffix866 = frozenset([65])
18488 FOLLOW_65_in_declarator_suffix868 = frozenset([1])
18489 FOLLOW_62_in_declarator_suffix878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18490 FOLLOW_parameter_type_list_in_declarator_suffix880 = frozenset([63])
18491 FOLLOW_63_in_declarator_suffix882 = frozenset([1])
18492 FOLLOW_62_in_declarator_suffix892 = frozenset([4])
18493 FOLLOW_identifier_list_in_declarator_suffix894 = frozenset([63])
18494 FOLLOW_63_in_declarator_suffix896 = frozenset([1])
18495 FOLLOW_62_in_declarator_suffix906 = frozenset([63])
18496 FOLLOW_63_in_declarator_suffix908 = frozenset([1])
18497 FOLLOW_66_in_pointer919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18498 FOLLOW_type_qualifier_in_pointer921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18499 FOLLOW_pointer_in_pointer924 = frozenset([1])
18500 FOLLOW_66_in_pointer930 = frozenset([66])
18501 FOLLOW_pointer_in_pointer932 = frozenset([1])
18502 FOLLOW_66_in_pointer937 = frozenset([1])
18503 FOLLOW_parameter_list_in_parameter_type_list948 = frozenset([1, 27])
18504 FOLLOW_27_in_parameter_type_list951 = frozenset([53, 67])
18505 FOLLOW_53_in_parameter_type_list954 = frozenset([67])
18506 FOLLOW_67_in_parameter_type_list958 = frozenset([1])
18507 FOLLOW_parameter_declaration_in_parameter_list971 = frozenset([1, 27])
18508 FOLLOW_27_in_parameter_list974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18509 FOLLOW_53_in_parameter_list977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18510 FOLLOW_parameter_declaration_in_parameter_list981 = frozenset([1, 27])
18511 FOLLOW_declaration_specifiers_in_parameter_declaration994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18512 FOLLOW_declarator_in_parameter_declaration997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18513 FOLLOW_abstract_declarator_in_parameter_declaration999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18514 FOLLOW_53_in_parameter_declaration1004 = frozenset([1])
18515 FOLLOW_pointer_in_parameter_declaration1013 = frozenset([4, 66])
18516 FOLLOW_IDENTIFIER_in_parameter_declaration1016 = frozenset([1])
18517 FOLLOW_IDENTIFIER_in_identifier_list1027 = frozenset([1, 27])
18518 FOLLOW_27_in_identifier_list1031 = frozenset([4])
18519 FOLLOW_IDENTIFIER_in_identifier_list1033 = frozenset([1, 27])
18520 FOLLOW_specifier_qualifier_list_in_type_name1046 = frozenset([1, 62, 64, 66])
18521 FOLLOW_abstract_declarator_in_type_name1048 = frozenset([1])
18522 FOLLOW_type_id_in_type_name1054 = frozenset([1])
18523 FOLLOW_pointer_in_abstract_declarator1065 = frozenset([1, 62, 64])
18524 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067 = frozenset([1])
18525 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073 = frozenset([1])
18526 FOLLOW_62_in_direct_abstract_declarator1086 = frozenset([62, 64, 66])
18527 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088 = frozenset([63])
18528 FOLLOW_63_in_direct_abstract_declarator1090 = frozenset([1, 62, 64])
18529 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094 = frozenset([1, 62, 64])
18530 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098 = frozenset([1, 62, 64])
18531 FOLLOW_64_in_abstract_declarator_suffix1110 = frozenset([65])
18532 FOLLOW_65_in_abstract_declarator_suffix1112 = frozenset([1])
18533 FOLLOW_64_in_abstract_declarator_suffix1117 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18534 FOLLOW_constant_expression_in_abstract_declarator_suffix1119 = frozenset([65])
18535 FOLLOW_65_in_abstract_declarator_suffix1121 = frozenset([1])
18536 FOLLOW_62_in_abstract_declarator_suffix1126 = frozenset([63])
18537 FOLLOW_63_in_abstract_declarator_suffix1128 = frozenset([1])
18538 FOLLOW_62_in_abstract_declarator_suffix1133 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18539 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135 = frozenset([63])
18540 FOLLOW_63_in_abstract_declarator_suffix1137 = frozenset([1])
18541 FOLLOW_assignment_expression_in_initializer1150 = frozenset([1])
18542 FOLLOW_43_in_initializer1155 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18543 FOLLOW_initializer_list_in_initializer1157 = frozenset([27, 44])
18544 FOLLOW_27_in_initializer1159 = frozenset([44])
18545 FOLLOW_44_in_initializer1162 = frozenset([1])
18546 FOLLOW_initializer_in_initializer_list1173 = frozenset([1, 27])
18547 FOLLOW_27_in_initializer_list1176 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18548 FOLLOW_initializer_in_initializer_list1178 = frozenset([1, 27])
18549 FOLLOW_assignment_expression_in_argument_expression_list1196 = frozenset([1, 27, 53])
18550 FOLLOW_53_in_argument_expression_list1199 = frozenset([1, 27])
18551 FOLLOW_27_in_argument_expression_list1204 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18552 FOLLOW_assignment_expression_in_argument_expression_list1206 = frozenset([1, 27, 53])
18553 FOLLOW_53_in_argument_expression_list1209 = frozenset([1, 27])
18554 FOLLOW_multiplicative_expression_in_additive_expression1225 = frozenset([1, 68, 69])
18555 FOLLOW_68_in_additive_expression1229 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18556 FOLLOW_multiplicative_expression_in_additive_expression1231 = frozenset([1, 68, 69])
18557 FOLLOW_69_in_additive_expression1235 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18558 FOLLOW_multiplicative_expression_in_additive_expression1237 = frozenset([1, 68, 69])
18559 FOLLOW_cast_expression_in_multiplicative_expression1251 = frozenset([1, 66, 70, 71])
18560 FOLLOW_66_in_multiplicative_expression1255 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18561 FOLLOW_cast_expression_in_multiplicative_expression1257 = frozenset([1, 66, 70, 71])
18562 FOLLOW_70_in_multiplicative_expression1261 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18563 FOLLOW_cast_expression_in_multiplicative_expression1263 = frozenset([1, 66, 70, 71])
18564 FOLLOW_71_in_multiplicative_expression1267 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18565 FOLLOW_cast_expression_in_multiplicative_expression1269 = frozenset([1, 66, 70, 71])
18566 FOLLOW_62_in_cast_expression1282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18567 FOLLOW_type_name_in_cast_expression1284 = frozenset([63])
18568 FOLLOW_63_in_cast_expression1286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18569 FOLLOW_cast_expression_in_cast_expression1288 = frozenset([1])
18570 FOLLOW_unary_expression_in_cast_expression1293 = frozenset([1])
18571 FOLLOW_postfix_expression_in_unary_expression1304 = frozenset([1])
18572 FOLLOW_72_in_unary_expression1309 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18573 FOLLOW_unary_expression_in_unary_expression1311 = frozenset([1])
18574 FOLLOW_73_in_unary_expression1316 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18575 FOLLOW_unary_expression_in_unary_expression1318 = frozenset([1])
18576 FOLLOW_unary_operator_in_unary_expression1323 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18577 FOLLOW_cast_expression_in_unary_expression1325 = frozenset([1])
18578 FOLLOW_74_in_unary_expression1330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18579 FOLLOW_unary_expression_in_unary_expression1332 = frozenset([1])
18580 FOLLOW_74_in_unary_expression1337 = frozenset([62])
18581 FOLLOW_62_in_unary_expression1339 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18582 FOLLOW_type_name_in_unary_expression1341 = frozenset([63])
18583 FOLLOW_63_in_unary_expression1343 = frozenset([1])
18584 FOLLOW_primary_expression_in_postfix_expression1367 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18585 FOLLOW_64_in_postfix_expression1383 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18586 FOLLOW_expression_in_postfix_expression1385 = frozenset([65])
18587 FOLLOW_65_in_postfix_expression1387 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18588 FOLLOW_62_in_postfix_expression1401 = frozenset([63])
18589 FOLLOW_63_in_postfix_expression1405 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18590 FOLLOW_62_in_postfix_expression1420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18591 FOLLOW_argument_expression_list_in_postfix_expression1424 = frozenset([63])
18592 FOLLOW_63_in_postfix_expression1428 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18593 FOLLOW_62_in_postfix_expression1444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18594 FOLLOW_macro_parameter_list_in_postfix_expression1446 = frozenset([63])
18595 FOLLOW_63_in_postfix_expression1448 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18596 FOLLOW_75_in_postfix_expression1462 = frozenset([4])
18597 FOLLOW_IDENTIFIER_in_postfix_expression1466 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18598 FOLLOW_66_in_postfix_expression1482 = frozenset([4])
18599 FOLLOW_IDENTIFIER_in_postfix_expression1486 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18600 FOLLOW_76_in_postfix_expression1502 = frozenset([4])
18601 FOLLOW_IDENTIFIER_in_postfix_expression1506 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18602 FOLLOW_72_in_postfix_expression1522 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18603 FOLLOW_73_in_postfix_expression1536 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18604 FOLLOW_parameter_declaration_in_macro_parameter_list1559 = frozenset([1, 27])
18605 FOLLOW_27_in_macro_parameter_list1562 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18606 FOLLOW_parameter_declaration_in_macro_parameter_list1564 = frozenset([1, 27])
18607 FOLLOW_set_in_unary_operator0 = frozenset([1])
18608 FOLLOW_IDENTIFIER_in_primary_expression1613 = frozenset([1])
18609 FOLLOW_constant_in_primary_expression1618 = frozenset([1])
18610 FOLLOW_62_in_primary_expression1623 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18611 FOLLOW_expression_in_primary_expression1625 = frozenset([63])
18612 FOLLOW_63_in_primary_expression1627 = frozenset([1])
18613 FOLLOW_HEX_LITERAL_in_constant1643 = frozenset([1])
18614 FOLLOW_OCTAL_LITERAL_in_constant1653 = frozenset([1])
18615 FOLLOW_DECIMAL_LITERAL_in_constant1663 = frozenset([1])
18616 FOLLOW_CHARACTER_LITERAL_in_constant1671 = frozenset([1])
18617 FOLLOW_IDENTIFIER_in_constant1680 = frozenset([4, 9])
18618 FOLLOW_STRING_LITERAL_in_constant1683 = frozenset([1, 4, 9])
18619 FOLLOW_IDENTIFIER_in_constant1688 = frozenset([1, 4])
18620 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699 = frozenset([1])
18621 FOLLOW_assignment_expression_in_expression1715 = frozenset([1, 27])
18622 FOLLOW_27_in_expression1718 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18623 FOLLOW_assignment_expression_in_expression1720 = frozenset([1, 27])
18624 FOLLOW_conditional_expression_in_constant_expression1733 = frozenset([1])
18625 FOLLOW_lvalue_in_assignment_expression1744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18626 FOLLOW_assignment_operator_in_assignment_expression1746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18627 FOLLOW_assignment_expression_in_assignment_expression1748 = frozenset([1])
18628 FOLLOW_conditional_expression_in_assignment_expression1753 = frozenset([1])
18629 FOLLOW_unary_expression_in_lvalue1765 = frozenset([1])
18630 FOLLOW_set_in_assignment_operator0 = frozenset([1])
18631 FOLLOW_logical_or_expression_in_conditional_expression1839 = frozenset([1, 90])
18632 FOLLOW_90_in_conditional_expression1842 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18633 FOLLOW_expression_in_conditional_expression1844 = frozenset([47])
18634 FOLLOW_47_in_conditional_expression1846 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18635 FOLLOW_conditional_expression_in_conditional_expression1848 = frozenset([1])
18636 FOLLOW_logical_and_expression_in_logical_or_expression1863 = frozenset([1, 91])
18637 FOLLOW_91_in_logical_or_expression1866 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18638 FOLLOW_logical_and_expression_in_logical_or_expression1868 = frozenset([1, 91])
18639 FOLLOW_inclusive_or_expression_in_logical_and_expression1881 = frozenset([1, 92])
18640 FOLLOW_92_in_logical_and_expression1884 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18641 FOLLOW_inclusive_or_expression_in_logical_and_expression1886 = frozenset([1, 92])
18642 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899 = frozenset([1, 93])
18643 FOLLOW_93_in_inclusive_or_expression1902 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18644 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904 = frozenset([1, 93])
18645 FOLLOW_and_expression_in_exclusive_or_expression1917 = frozenset([1, 94])
18646 FOLLOW_94_in_exclusive_or_expression1920 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18647 FOLLOW_and_expression_in_exclusive_or_expression1922 = frozenset([1, 94])
18648 FOLLOW_equality_expression_in_and_expression1935 = frozenset([1, 77])
18649 FOLLOW_77_in_and_expression1938 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18650 FOLLOW_equality_expression_in_and_expression1940 = frozenset([1, 77])
18651 FOLLOW_relational_expression_in_equality_expression1952 = frozenset([1, 95, 96])
18652 FOLLOW_set_in_equality_expression1955 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18653 FOLLOW_relational_expression_in_equality_expression1961 = frozenset([1, 95, 96])
18654 FOLLOW_shift_expression_in_relational_expression1975 = frozenset([1, 97, 98, 99, 100])
18655 FOLLOW_set_in_relational_expression1978 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18656 FOLLOW_shift_expression_in_relational_expression1988 = frozenset([1, 97, 98, 99, 100])
18657 FOLLOW_additive_expression_in_shift_expression2001 = frozenset([1, 101, 102])
18658 FOLLOW_set_in_shift_expression2004 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18659 FOLLOW_additive_expression_in_shift_expression2010 = frozenset([1, 101, 102])
18660 FOLLOW_labeled_statement_in_statement2025 = frozenset([1])
18661 FOLLOW_compound_statement_in_statement2030 = frozenset([1])
18662 FOLLOW_expression_statement_in_statement2035 = frozenset([1])
18663 FOLLOW_selection_statement_in_statement2040 = frozenset([1])
18664 FOLLOW_iteration_statement_in_statement2045 = frozenset([1])
18665 FOLLOW_jump_statement_in_statement2050 = frozenset([1])
18666 FOLLOW_macro_statement_in_statement2055 = frozenset([1])
18667 FOLLOW_asm2_statement_in_statement2060 = frozenset([1])
18668 FOLLOW_asm1_statement_in_statement2065 = frozenset([1])
18669 FOLLOW_asm_statement_in_statement2070 = frozenset([1])
18670 FOLLOW_declaration_in_statement2075 = frozenset([1])
18671 FOLLOW_103_in_asm2_statement2086 = frozenset([4])
18672 FOLLOW_IDENTIFIER_in_asm2_statement2089 = frozenset([62])
18673 FOLLOW_62_in_asm2_statement2091 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18674 FOLLOW_set_in_asm2_statement2094 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18675 FOLLOW_63_in_asm2_statement2101 = frozenset([25])
18676 FOLLOW_25_in_asm2_statement2103 = frozenset([1])
18677 FOLLOW_104_in_asm1_statement2115 = frozenset([43])
18678 FOLLOW_43_in_asm1_statement2117 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18679 FOLLOW_set_in_asm1_statement2120 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18680 FOLLOW_44_in_asm1_statement2127 = frozenset([1])
18681 FOLLOW_105_in_asm_statement2138 = frozenset([43])
18682 FOLLOW_43_in_asm_statement2140 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18683 FOLLOW_set_in_asm_statement2143 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18684 FOLLOW_44_in_asm_statement2150 = frozenset([1])
18685 FOLLOW_IDENTIFIER_in_macro_statement2162 = frozenset([62])
18686 FOLLOW_62_in_macro_statement2164 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18687 FOLLOW_declaration_in_macro_statement2166 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18688 FOLLOW_statement_list_in_macro_statement2170 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18689 FOLLOW_expression_in_macro_statement2173 = frozenset([63])
18690 FOLLOW_63_in_macro_statement2176 = frozenset([1])
18691 FOLLOW_IDENTIFIER_in_labeled_statement2188 = frozenset([47])
18692 FOLLOW_47_in_labeled_statement2190 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18693 FOLLOW_statement_in_labeled_statement2192 = frozenset([1])
18694 FOLLOW_106_in_labeled_statement2197 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18695 FOLLOW_constant_expression_in_labeled_statement2199 = frozenset([47])
18696 FOLLOW_47_in_labeled_statement2201 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18697 FOLLOW_statement_in_labeled_statement2203 = frozenset([1])
18698 FOLLOW_107_in_labeled_statement2208 = frozenset([47])
18699 FOLLOW_47_in_labeled_statement2210 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18700 FOLLOW_statement_in_labeled_statement2212 = frozenset([1])
18701 FOLLOW_43_in_compound_statement2223 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18702 FOLLOW_declaration_in_compound_statement2225 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18703 FOLLOW_statement_list_in_compound_statement2228 = frozenset([44])
18704 FOLLOW_44_in_compound_statement2231 = frozenset([1])
18705 FOLLOW_statement_in_statement_list2242 = frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18706 FOLLOW_25_in_expression_statement2254 = frozenset([1])
18707 FOLLOW_expression_in_expression_statement2259 = frozenset([25])
18708 FOLLOW_25_in_expression_statement2261 = frozenset([1])
18709 FOLLOW_108_in_selection_statement2272 = frozenset([62])
18710 FOLLOW_62_in_selection_statement2274 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18711 FOLLOW_expression_in_selection_statement2278 = frozenset([63])
18712 FOLLOW_63_in_selection_statement2280 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18713 FOLLOW_statement_in_selection_statement2284 = frozenset([1, 109])
18714 FOLLOW_109_in_selection_statement2299 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18715 FOLLOW_statement_in_selection_statement2301 = frozenset([1])
18716 FOLLOW_110_in_selection_statement2308 = frozenset([62])
18717 FOLLOW_62_in_selection_statement2310 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18718 FOLLOW_expression_in_selection_statement2312 = frozenset([63])
18719 FOLLOW_63_in_selection_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18720 FOLLOW_statement_in_selection_statement2316 = frozenset([1])
18721 FOLLOW_111_in_iteration_statement2327 = frozenset([62])
18722 FOLLOW_62_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18723 FOLLOW_expression_in_iteration_statement2333 = frozenset([63])
18724 FOLLOW_63_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18725 FOLLOW_statement_in_iteration_statement2337 = frozenset([1])
18726 FOLLOW_112_in_iteration_statement2344 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18727 FOLLOW_statement_in_iteration_statement2346 = frozenset([111])
18728 FOLLOW_111_in_iteration_statement2348 = frozenset([62])
18729 FOLLOW_62_in_iteration_statement2350 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18730 FOLLOW_expression_in_iteration_statement2354 = frozenset([63])
18731 FOLLOW_63_in_iteration_statement2356 = frozenset([25])
18732 FOLLOW_25_in_iteration_statement2358 = frozenset([1])
18733 FOLLOW_113_in_iteration_statement2365 = frozenset([62])
18734 FOLLOW_62_in_iteration_statement2367 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18735 FOLLOW_expression_statement_in_iteration_statement2369 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18736 FOLLOW_expression_statement_in_iteration_statement2373 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18737 FOLLOW_expression_in_iteration_statement2375 = frozenset([63])
18738 FOLLOW_63_in_iteration_statement2378 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18739 FOLLOW_statement_in_iteration_statement2380 = frozenset([1])
18740 FOLLOW_114_in_jump_statement2393 = frozenset([4])
18741 FOLLOW_IDENTIFIER_in_jump_statement2395 = frozenset([25])
18742 FOLLOW_25_in_jump_statement2397 = frozenset([1])
18743 FOLLOW_115_in_jump_statement2402 = frozenset([25])
18744 FOLLOW_25_in_jump_statement2404 = frozenset([1])
18745 FOLLOW_116_in_jump_statement2409 = frozenset([25])
18746 FOLLOW_25_in_jump_statement2411 = frozenset([1])
18747 FOLLOW_117_in_jump_statement2416 = frozenset([25])
18748 FOLLOW_25_in_jump_statement2418 = frozenset([1])
18749 FOLLOW_117_in_jump_statement2423 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18750 FOLLOW_expression_in_jump_statement2425 = frozenset([25])
18751 FOLLOW_25_in_jump_statement2427 = frozenset([1])
18752 FOLLOW_declaration_specifiers_in_synpred2100 = frozenset([1])
18753 FOLLOW_declaration_specifiers_in_synpred4100 = frozenset([4, 58, 59, 60, 62, 66])
18754 FOLLOW_declarator_in_synpred4103 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18755 FOLLOW_declaration_in_synpred4105 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18756 FOLLOW_43_in_synpred4108 = frozenset([1])
18757 FOLLOW_declaration_in_synpred5118 = frozenset([1])
18758 FOLLOW_declaration_specifiers_in_synpred7157 = frozenset([1])
18759 FOLLOW_declaration_specifiers_in_synpred10207 = frozenset([1])
18760 FOLLOW_type_specifier_in_synpred14272 = frozenset([1])
18761 FOLLOW_type_qualifier_in_synpred15286 = frozenset([1])
18762 FOLLOW_type_qualifier_in_synpred33444 = frozenset([1])
18763 FOLLOW_IDENTIFIER_in_synpred34442 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18764 FOLLOW_type_qualifier_in_synpred34444 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18765 FOLLOW_declarator_in_synpred34447 = frozenset([1])
18766 FOLLOW_type_qualifier_in_synpred39566 = frozenset([1])
18767 FOLLOW_type_specifier_in_synpred40570 = frozenset([1])
18768 FOLLOW_pointer_in_synpred66784 = frozenset([4, 58, 59, 60, 62])
18769 FOLLOW_58_in_synpred66788 = frozenset([4, 59, 60, 62])
18770 FOLLOW_59_in_synpred66793 = frozenset([4, 60, 62])
18771 FOLLOW_60_in_synpred66798 = frozenset([4, 62])
18772 FOLLOW_direct_declarator_in_synpred66802 = frozenset([1])
18773 FOLLOW_declarator_suffix_in_synpred67821 = frozenset([1])
18774 FOLLOW_58_in_synpred69830 = frozenset([1])
18775 FOLLOW_declarator_suffix_in_synpred70838 = frozenset([1])
18776 FOLLOW_62_in_synpred73878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18777 FOLLOW_parameter_type_list_in_synpred73880 = frozenset([63])
18778 FOLLOW_63_in_synpred73882 = frozenset([1])
18779 FOLLOW_62_in_synpred74892 = frozenset([4])
18780 FOLLOW_identifier_list_in_synpred74894 = frozenset([63])
18781 FOLLOW_63_in_synpred74896 = frozenset([1])
18782 FOLLOW_type_qualifier_in_synpred75921 = frozenset([1])
18783 FOLLOW_pointer_in_synpred76924 = frozenset([1])
18784 FOLLOW_66_in_synpred77919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18785 FOLLOW_type_qualifier_in_synpred77921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18786 FOLLOW_pointer_in_synpred77924 = frozenset([1])
18787 FOLLOW_66_in_synpred78930 = frozenset([66])
18788 FOLLOW_pointer_in_synpred78932 = frozenset([1])
18789 FOLLOW_53_in_synpred81977 = frozenset([1])
18790 FOLLOW_27_in_synpred82974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18791 FOLLOW_53_in_synpred82977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18792 FOLLOW_parameter_declaration_in_synpred82981 = frozenset([1])
18793 FOLLOW_declarator_in_synpred83997 = frozenset([1])
18794 FOLLOW_abstract_declarator_in_synpred84999 = frozenset([1])
18795 FOLLOW_declaration_specifiers_in_synpred86994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18796 FOLLOW_declarator_in_synpred86997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18797 FOLLOW_abstract_declarator_in_synpred86999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18798 FOLLOW_53_in_synpred861004 = frozenset([1])
18799 FOLLOW_specifier_qualifier_list_in_synpred901046 = frozenset([1, 62, 64, 66])
18800 FOLLOW_abstract_declarator_in_synpred901048 = frozenset([1])
18801 FOLLOW_direct_abstract_declarator_in_synpred911067 = frozenset([1])
18802 FOLLOW_62_in_synpred931086 = frozenset([62, 64, 66])
18803 FOLLOW_abstract_declarator_in_synpred931088 = frozenset([63])
18804 FOLLOW_63_in_synpred931090 = frozenset([1])
18805 FOLLOW_abstract_declarator_suffix_in_synpred941098 = frozenset([1])
18806 FOLLOW_62_in_synpred1091282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18807 FOLLOW_type_name_in_synpred1091284 = frozenset([63])
18808 FOLLOW_63_in_synpred1091286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18809 FOLLOW_cast_expression_in_synpred1091288 = frozenset([1])
18810 FOLLOW_74_in_synpred1141330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18811 FOLLOW_unary_expression_in_synpred1141332 = frozenset([1])
18812 FOLLOW_62_in_synpred1171420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18813 FOLLOW_argument_expression_list_in_synpred1171424 = frozenset([63])
18814 FOLLOW_63_in_synpred1171428 = frozenset([1])
18815 FOLLOW_62_in_synpred1181444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18816 FOLLOW_macro_parameter_list_in_synpred1181446 = frozenset([63])
18817 FOLLOW_63_in_synpred1181448 = frozenset([1])
18818 FOLLOW_66_in_synpred1201482 = frozenset([4])
18819 FOLLOW_IDENTIFIER_in_synpred1201486 = frozenset([1])
18820 FOLLOW_STRING_LITERAL_in_synpred1371683 = frozenset([1])
18821 FOLLOW_IDENTIFIER_in_synpred1381680 = frozenset([4, 9])
18822 FOLLOW_STRING_LITERAL_in_synpred1381683 = frozenset([1, 9])
18823 FOLLOW_lvalue_in_synpred1421744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18824 FOLLOW_assignment_operator_in_synpred1421746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18825 FOLLOW_assignment_expression_in_synpred1421748 = frozenset([1])
18826 FOLLOW_expression_statement_in_synpred1692035 = frozenset([1])
18827 FOLLOW_macro_statement_in_synpred1732055 = frozenset([1])
18828 FOLLOW_asm2_statement_in_synpred1742060 = frozenset([1])
18829 FOLLOW_declaration_in_synpred1812166 = frozenset([1])
18830 FOLLOW_statement_list_in_synpred1822170 = frozenset([1])
18831 FOLLOW_declaration_in_synpred1862225 = frozenset([1])
18832 FOLLOW_statement_in_synpred1882242 = frozenset([1])
18833