]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Eot/CParser.py
BaseTools: Adjust the spaces around commas and colons
[mirror_edk2.git] / BaseTools / Source / Python / Eot / CParser.py
1 # $ANTLR 3.0.1 C.g 2010-02-23 09:58:53
2
3 from __future__ import print_function
4 from antlr3 import *
5 from antlr3.compat import set, frozenset
6
7 ## @file
8 # The file defines the parser for C source files.
9 #
10 # THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
11 # This file is generated by running:
12 # java org.antlr.Tool C.g
13 #
14 # Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
15 #
16 # This program and the accompanying materials are licensed and made available
17 # under the terms and conditions of the BSD License which accompanies this
18 # distribution. The full text of the license may be found at:
19 # http://opensource.org/licenses/bsd-license.php
20 #
21 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
22 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
23 #
24 ##
25
26 import CodeFragment
27 import FileProfile
28
29
30
31 # for convenience in actions
32 HIDDEN = BaseRecognizer.HIDDEN
33
34 # token types
35 BS=20
36 LINE_COMMENT=23
37 FloatTypeSuffix=16
38 IntegerTypeSuffix=14
39 LETTER=11
40 OCTAL_LITERAL=6
41 CHARACTER_LITERAL=8
42 Exponent=15
43 EOF=-1
44 HexDigit=13
45 STRING_LITERAL=9
46 WS=19
47 FLOATING_POINT_LITERAL=10
48 IDENTIFIER=4
49 UnicodeEscape=18
50 LINE_COMMAND=24
51 UnicodeVocabulary=21
52 HEX_LITERAL=5
53 COMMENT=22
54 DECIMAL_LITERAL=7
55 EscapeSequence=12
56 OctalEscape=17
57
58 # token names
59 tokenNames = [
60 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
61 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
62 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
63 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
64 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
65 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
66 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
67 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
68 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
69 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
70 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
71 "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
72 "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
73 "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
74 "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
75 "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
76 "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
77 "'goto'", "'continue'", "'break'", "'return'"
78 ]
79
80
81 class function_definition_scope(object):
82 def __init__(self):
83 self.ModifierText = None
84 self.DeclText = None
85 self.LBLine = None
86 self.LBOffset = None
87 self.DeclLine = None
88 self.DeclOffset = None
89 class postfix_expression_scope(object):
90 def __init__(self):
91 self.FuncCallText = None
92
93
94 class CParser(Parser):
95 grammarFileName = "C.g"
96 tokenNames = tokenNames
97
98 def __init__(self, input):
99 Parser.__init__(self, input)
100 self.ruleMemo = {}
101
102 self.function_definition_stack = []
103 self.postfix_expression_stack = []
104
105 def printTokenInfo(self, line, offset, tokenText):
106 print(str(line)+ ',' + str(offset) + ':' + str(tokenText))
107
108 def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text):
109 PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset))
110 FileProfile.PredicateExpressionList.append(PredExp)
111
112 def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
113 EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
114 FileProfile.EnumerationDefinitionList.append(EnumDef)
115
116 def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
117 SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
118 FileProfile.StructUnionDefinitionList.append(SUDef)
119
120 def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText):
121 Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset))
122 FileProfile.TypedefDefinitionList.append(Tdef)
123
124 def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset):
125 FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset))
126 FileProfile.FunctionDefinitionList.append(FuncDef)
127
128 def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText):
129 VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset))
130 FileProfile.VariableDeclarationList.append(VarDecl)
131
132 def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList):
133 FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))
134 FileProfile.FunctionCallingList.append(FuncCall)
135
136
137
138
139 # $ANTLR start translation_unit
140 # C.g:102:1: translation_unit : ( external_declaration )* ;
141 def translation_unit(self, ):
142
143 translation_unit_StartIndex = self.input.index()
144 try:
145 try:
146 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1):
147 return
148
149 # C.g:103:2: ( ( external_declaration )* )
150 # C.g:103:4: ( external_declaration )*
151 # C.g:103:4: ( external_declaration )*
152 while True: #loop1
153 alt1 = 2
154 LA1_0 = self.input.LA(1)
155
156 if (LA1_0 == IDENTIFIER or LA1_0 == 26 or (29 <= LA1_0 <= 42) or (45 <= LA1_0 <= 46) or (48 <= LA1_0 <= 62) or LA1_0 == 66) :
157 alt1 = 1
158
159
160 if alt1 == 1:
161 # C.g:0:0: external_declaration
162 self.following.append(self.FOLLOW_external_declaration_in_translation_unit74)
163 self.external_declaration()
164 self.following.pop()
165 if self.failed:
166 return
167
168
169 else:
170 break #loop1
171
172
173
174
175
176
177 except RecognitionException as re:
178 self.reportError(re)
179 self.recover(self.input, re)
180 finally:
181 if self.backtracking > 0:
182 self.memoize(self.input, 1, translation_unit_StartIndex)
183
184 pass
185
186 return
187
188 # $ANTLR end translation_unit
189
190
191 # $ANTLR start external_declaration
192 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
193 def external_declaration(self, ):
194
195 external_declaration_StartIndex = self.input.index()
196 try:
197 try:
198 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
199 return
200
201 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
202 alt3 = 3
203 LA3_0 = self.input.LA(1)
204
205 if ((29 <= LA3_0 <= 33)) :
206 LA3_1 = self.input.LA(2)
207
208 if (self.synpred4()) :
209 alt3 = 1
210 elif (self.synpred5()) :
211 alt3 = 2
212 else:
213 if self.backtracking > 0:
214 self.failed = True
215 return
216
217 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
218
219 raise nvae
220
221 elif (LA3_0 == 34) :
222 LA3_2 = self.input.LA(2)
223
224 if (self.synpred4()) :
225 alt3 = 1
226 elif (self.synpred5()) :
227 alt3 = 2
228 else:
229 if self.backtracking > 0:
230 self.failed = True
231 return
232
233 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
234
235 raise nvae
236
237 elif (LA3_0 == 35) :
238 LA3_3 = self.input.LA(2)
239
240 if (self.synpred4()) :
241 alt3 = 1
242 elif (self.synpred5()) :
243 alt3 = 2
244 else:
245 if self.backtracking > 0:
246 self.failed = True
247 return
248
249 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
250
251 raise nvae
252
253 elif (LA3_0 == 36) :
254 LA3_4 = self.input.LA(2)
255
256 if (self.synpred4()) :
257 alt3 = 1
258 elif (self.synpred5()) :
259 alt3 = 2
260 else:
261 if self.backtracking > 0:
262 self.failed = True
263 return
264
265 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
266
267 raise nvae
268
269 elif (LA3_0 == 37) :
270 LA3_5 = self.input.LA(2)
271
272 if (self.synpred4()) :
273 alt3 = 1
274 elif (self.synpred5()) :
275 alt3 = 2
276 else:
277 if self.backtracking > 0:
278 self.failed = True
279 return
280
281 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
282
283 raise nvae
284
285 elif (LA3_0 == 38) :
286 LA3_6 = self.input.LA(2)
287
288 if (self.synpred4()) :
289 alt3 = 1
290 elif (self.synpred5()) :
291 alt3 = 2
292 else:
293 if self.backtracking > 0:
294 self.failed = True
295 return
296
297 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
298
299 raise nvae
300
301 elif (LA3_0 == 39) :
302 LA3_7 = self.input.LA(2)
303
304 if (self.synpred4()) :
305 alt3 = 1
306 elif (self.synpred5()) :
307 alt3 = 2
308 else:
309 if self.backtracking > 0:
310 self.failed = True
311 return
312
313 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
314
315 raise nvae
316
317 elif (LA3_0 == 40) :
318 LA3_8 = self.input.LA(2)
319
320 if (self.synpred4()) :
321 alt3 = 1
322 elif (self.synpred5()) :
323 alt3 = 2
324 else:
325 if self.backtracking > 0:
326 self.failed = True
327 return
328
329 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
330
331 raise nvae
332
333 elif (LA3_0 == 41) :
334 LA3_9 = self.input.LA(2)
335
336 if (self.synpred4()) :
337 alt3 = 1
338 elif (self.synpred5()) :
339 alt3 = 2
340 else:
341 if self.backtracking > 0:
342 self.failed = True
343 return
344
345 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
346
347 raise nvae
348
349 elif (LA3_0 == 42) :
350 LA3_10 = self.input.LA(2)
351
352 if (self.synpred4()) :
353 alt3 = 1
354 elif (self.synpred5()) :
355 alt3 = 2
356 else:
357 if self.backtracking > 0:
358 self.failed = True
359 return
360
361 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
362
363 raise nvae
364
365 elif ((45 <= LA3_0 <= 46)) :
366 LA3_11 = self.input.LA(2)
367
368 if (self.synpred4()) :
369 alt3 = 1
370 elif (self.synpred5()) :
371 alt3 = 2
372 else:
373 if self.backtracking > 0:
374 self.failed = True
375 return
376
377 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
378
379 raise nvae
380
381 elif (LA3_0 == 48) :
382 LA3_12 = self.input.LA(2)
383
384 if (self.synpred4()) :
385 alt3 = 1
386 elif (self.synpred5()) :
387 alt3 = 2
388 else:
389 if self.backtracking > 0:
390 self.failed = True
391 return
392
393 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
394
395 raise nvae
396
397 elif (LA3_0 == IDENTIFIER) :
398 LA3_13 = self.input.LA(2)
399
400 if (self.synpred4()) :
401 alt3 = 1
402 elif (self.synpred5()) :
403 alt3 = 2
404 elif (True) :
405 alt3 = 3
406 else:
407 if self.backtracking > 0:
408 self.failed = True
409 return
410
411 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
412
413 raise nvae
414
415 elif (LA3_0 == 58) :
416 LA3_14 = self.input.LA(2)
417
418 if (self.synpred4()) :
419 alt3 = 1
420 elif (self.synpred5()) :
421 alt3 = 2
422 else:
423 if self.backtracking > 0:
424 self.failed = True
425 return
426
427 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
428
429 raise nvae
430
431 elif (LA3_0 == 66) and (self.synpred4()):
432 alt3 = 1
433 elif (LA3_0 == 59) :
434 LA3_16 = self.input.LA(2)
435
436 if (self.synpred4()) :
437 alt3 = 1
438 elif (self.synpred5()) :
439 alt3 = 2
440 else:
441 if self.backtracking > 0:
442 self.failed = True
443 return
444
445 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
446
447 raise nvae
448
449 elif (LA3_0 == 60) :
450 LA3_17 = self.input.LA(2)
451
452 if (self.synpred4()) :
453 alt3 = 1
454 elif (self.synpred5()) :
455 alt3 = 2
456 else:
457 if self.backtracking > 0:
458 self.failed = True
459 return
460
461 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input)
462
463 raise nvae
464
465 elif ((49 <= LA3_0 <= 57) or LA3_0 == 61) :
466 LA3_18 = self.input.LA(2)
467
468 if (self.synpred4()) :
469 alt3 = 1
470 elif (self.synpred5()) :
471 alt3 = 2
472 else:
473 if self.backtracking > 0:
474 self.failed = True
475 return
476
477 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
478
479 raise nvae
480
481 elif (LA3_0 == 62) and (self.synpred4()):
482 alt3 = 1
483 elif (LA3_0 == 26) :
484 alt3 = 2
485 else:
486 if self.backtracking > 0:
487 self.failed = True
488 return
489
490 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input)
491
492 raise nvae
493
494 if alt3 == 1:
495 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
496 self.following.append(self.FOLLOW_function_definition_in_external_declaration113)
497 self.function_definition()
498 self.following.pop()
499 if self.failed:
500 return
501
502
503 elif alt3 == 2:
504 # C.g:120:4: declaration
505 self.following.append(self.FOLLOW_declaration_in_external_declaration118)
506 self.declaration()
507 self.following.pop()
508 if self.failed:
509 return
510
511
512 elif alt3 == 3:
513 # C.g:121:4: macro_statement ( ';' )?
514 self.following.append(self.FOLLOW_macro_statement_in_external_declaration123)
515 self.macro_statement()
516 self.following.pop()
517 if self.failed:
518 return
519 # C.g:121:20: ( ';' )?
520 alt2 = 2
521 LA2_0 = self.input.LA(1)
522
523 if (LA2_0 == 25) :
524 alt2 = 1
525 if alt2 == 1:
526 # C.g:121:21: ';'
527 self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126)
528 if self.failed:
529 return
530
531
532
533
534
535
536 except RecognitionException as re:
537 self.reportError(re)
538 self.recover(self.input, re)
539 finally:
540 if self.backtracking > 0:
541 self.memoize(self.input, 2, external_declaration_StartIndex)
542
543 pass
544
545 return
546
547 # $ANTLR end external_declaration
548
549 class function_definition_return(object):
550 def __init__(self):
551 self.start = None
552 self.stop = None
553
554
555
556 # $ANTLR start function_definition
557 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
558 def function_definition(self, ):
559 self.function_definition_stack.append(function_definition_scope())
560 retval = self.function_definition_return()
561 retval.start = self.input.LT(1)
562 function_definition_StartIndex = self.input.index()
563 d = None
564
565 a = None
566
567 b = None
568
569 declarator1 = None
570
571
572
573 self.function_definition_stack[-1].ModifierText = ''
574 self.function_definition_stack[-1].DeclText = ''
575 self.function_definition_stack[-1].LBLine = 0
576 self.function_definition_stack[-1].LBOffset = 0
577 self.function_definition_stack[-1].DeclLine = 0
578 self.function_definition_stack[-1].DeclOffset = 0
579
580 try:
581 try:
582 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3):
583 return retval
584
585 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
586 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
587 # C.g:146:5: (d= declaration_specifiers )?
588 alt4 = 2
589 LA4 = self.input.LA(1)
590 if LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33 or LA4 == 34 or LA4 == 35 or LA4 == 36 or LA4 == 37 or LA4 == 38 or LA4 == 39 or LA4 == 40 or LA4 == 41 or LA4 == 42 or LA4 == 45 or LA4 == 46 or LA4 == 48 or LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61:
591 alt4 = 1
592 elif LA4 == IDENTIFIER:
593 LA4 = self.input.LA(2)
594 if LA4 == 66:
595 alt4 = 1
596 elif LA4 == 58:
597 LA4_21 = self.input.LA(3)
598
599 if (self.synpred7()) :
600 alt4 = 1
601 elif LA4 == 59:
602 LA4_22 = self.input.LA(3)
603
604 if (self.synpred7()) :
605 alt4 = 1
606 elif LA4 == 60:
607 LA4_23 = self.input.LA(3)
608
609 if (self.synpred7()) :
610 alt4 = 1
611 elif LA4 == IDENTIFIER:
612 LA4_24 = self.input.LA(3)
613
614 if (self.synpred7()) :
615 alt4 = 1
616 elif LA4 == 62:
617 LA4_25 = self.input.LA(3)
618
619 if (self.synpred7()) :
620 alt4 = 1
621 elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33:
622 LA4_26 = self.input.LA(3)
623
624 if (self.synpred7()) :
625 alt4 = 1
626 elif LA4 == 34:
627 LA4_27 = self.input.LA(3)
628
629 if (self.synpred7()) :
630 alt4 = 1
631 elif LA4 == 35:
632 LA4_28 = self.input.LA(3)
633
634 if (self.synpred7()) :
635 alt4 = 1
636 elif LA4 == 36:
637 LA4_29 = self.input.LA(3)
638
639 if (self.synpred7()) :
640 alt4 = 1
641 elif LA4 == 37:
642 LA4_30 = self.input.LA(3)
643
644 if (self.synpred7()) :
645 alt4 = 1
646 elif LA4 == 38:
647 LA4_31 = self.input.LA(3)
648
649 if (self.synpred7()) :
650 alt4 = 1
651 elif LA4 == 39:
652 LA4_32 = self.input.LA(3)
653
654 if (self.synpred7()) :
655 alt4 = 1
656 elif LA4 == 40:
657 LA4_33 = self.input.LA(3)
658
659 if (self.synpred7()) :
660 alt4 = 1
661 elif LA4 == 41:
662 LA4_34 = self.input.LA(3)
663
664 if (self.synpred7()) :
665 alt4 = 1
666 elif LA4 == 42:
667 LA4_35 = self.input.LA(3)
668
669 if (self.synpred7()) :
670 alt4 = 1
671 elif LA4 == 45 or LA4 == 46:
672 LA4_36 = self.input.LA(3)
673
674 if (self.synpred7()) :
675 alt4 = 1
676 elif LA4 == 48:
677 LA4_37 = self.input.LA(3)
678
679 if (self.synpred7()) :
680 alt4 = 1
681 elif LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61:
682 LA4_38 = self.input.LA(3)
683
684 if (self.synpred7()) :
685 alt4 = 1
686 elif LA4 == 58:
687 LA4_14 = self.input.LA(2)
688
689 if (self.synpred7()) :
690 alt4 = 1
691 elif LA4 == 59:
692 LA4_16 = self.input.LA(2)
693
694 if (self.synpred7()) :
695 alt4 = 1
696 elif LA4 == 60:
697 LA4_17 = self.input.LA(2)
698
699 if (self.synpred7()) :
700 alt4 = 1
701 if alt4 == 1:
702 # C.g:0:0: d= declaration_specifiers
703 self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition157)
704 d = self.declaration_specifiers()
705 self.following.pop()
706 if self.failed:
707 return retval
708
709
710
711 self.following.append(self.FOLLOW_declarator_in_function_definition160)
712 declarator1 = self.declarator()
713 self.following.pop()
714 if self.failed:
715 return retval
716 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
717 alt6 = 2
718 LA6_0 = self.input.LA(1)
719
720 if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 61)) :
721 alt6 = 1
722 elif (LA6_0 == 43) :
723 alt6 = 2
724 else:
725 if self.backtracking > 0:
726 self.failed = True
727 return retval
728
729 nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
730
731 raise nvae
732
733 if alt6 == 1:
734 # C.g:147:5: ( declaration )+ a= compound_statement
735 # C.g:147:5: ( declaration )+
736 cnt5 = 0
737 while True: #loop5
738 alt5 = 2
739 LA5_0 = self.input.LA(1)
740
741 if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 61)) :
742 alt5 = 1
743
744
745 if alt5 == 1:
746 # C.g:0:0: declaration
747 self.following.append(self.FOLLOW_declaration_in_function_definition166)
748 self.declaration()
749 self.following.pop()
750 if self.failed:
751 return retval
752
753
754 else:
755 if cnt5 >= 1:
756 break #loop5
757
758 if self.backtracking > 0:
759 self.failed = True
760 return retval
761
762 eee = EarlyExitException(5, self.input)
763 raise eee
764
765 cnt5 += 1
766
767
768 self.following.append(self.FOLLOW_compound_statement_in_function_definition171)
769 a = self.compound_statement()
770 self.following.pop()
771 if self.failed:
772 return retval
773
774
775 elif alt6 == 2:
776 # C.g:148:5: b= compound_statement
777 self.following.append(self.FOLLOW_compound_statement_in_function_definition180)
778 b = self.compound_statement()
779 self.following.pop()
780 if self.failed:
781 return retval
782
783
784
785 if self.backtracking == 0:
786
787 if d is not None:
788 self.function_definition_stack[-1].ModifierText = self.input.toString(d.start, d.stop)
789 else:
790 self.function_definition_stack[-1].ModifierText = ''
791 self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start, declarator1.stop)
792 self.function_definition_stack[-1].DeclLine = declarator1.start.line
793 self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine
794 if a is not None:
795 self.function_definition_stack[-1].LBLine = a.start.line
796 self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine
797 else:
798 self.function_definition_stack[-1].LBLine = b.start.line
799 self.function_definition_stack[-1].LBOffset = b.start.charPositionInLine
800
801
802
803
804
805 retval.stop = self.input.LT(-1)
806
807 if self.backtracking == 0:
808
809 self.StoreFunctionDefinition(retval.start.line, retval.start.charPositionInLine, retval.stop.line, retval.stop.charPositionInLine, self.function_definition_stack[-1].ModifierText, self.function_definition_stack[-1].DeclText, self.function_definition_stack[-1].LBLine, self.function_definition_stack[-1].LBOffset, self.function_definition_stack[-1].DeclLine, self.function_definition_stack[-1].DeclOffset)
810
811
812
813 except RecognitionException as re:
814 self.reportError(re)
815 self.recover(self.input, re)
816 finally:
817 if self.backtracking > 0:
818 self.memoize(self.input, 3, function_definition_StartIndex)
819
820 self.function_definition_stack.pop()
821 pass
822
823 return retval
824
825 # $ANTLR end function_definition
826
827
828 # $ANTLR start declaration
829 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
830 def declaration(self, ):
831
832 declaration_StartIndex = self.input.index()
833 a = None
834 d = None
835 e = None
836 b = None
837
838 c = None
839
840 s = None
841
842 t = None
843
844
845 try:
846 try:
847 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
848 return
849
850 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
851 alt9 = 2
852 LA9_0 = self.input.LA(1)
853
854 if (LA9_0 == 26) :
855 alt9 = 1
856 elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 61)) :
857 alt9 = 2
858 else:
859 if self.backtracking > 0:
860 self.failed = True
861 return
862
863 nvae = NoViableAltException("166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input)
864
865 raise nvae
866
867 if alt9 == 1:
868 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
869 a = self.input.LT(1)
870 self.match(self.input, 26, self.FOLLOW_26_in_declaration203)
871 if self.failed:
872 return
873 # C.g:167:17: (b= declaration_specifiers )?
874 alt7 = 2
875 LA7 = self.input.LA(1)
876 if LA7 == 29 or LA7 == 30 or LA7 == 31 or LA7 == 32 or LA7 == 33 or LA7 == 34 or LA7 == 35 or LA7 == 36 or LA7 == 37 or LA7 == 38 or LA7 == 39 or LA7 == 40 or LA7 == 41 or LA7 == 42 or LA7 == 45 or LA7 == 46 or LA7 == 48 or LA7 == 49 or LA7 == 50 or LA7 == 51 or LA7 == 52 or LA7 == 53 or LA7 == 54 or LA7 == 55 or LA7 == 56 or LA7 == 57 or LA7 == 61:
877 alt7 = 1
878 elif LA7 == IDENTIFIER:
879 LA7_13 = self.input.LA(2)
880
881 if (LA7_13 == 62) :
882 LA7_21 = self.input.LA(3)
883
884 if (self.synpred10()) :
885 alt7 = 1
886 elif (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 61) or LA7_13 == 66) :
887 alt7 = 1
888 elif LA7 == 58:
889 LA7_14 = self.input.LA(2)
890
891 if (self.synpred10()) :
892 alt7 = 1
893 elif LA7 == 59:
894 LA7_16 = self.input.LA(2)
895
896 if (self.synpred10()) :
897 alt7 = 1
898 elif LA7 == 60:
899 LA7_17 = self.input.LA(2)
900
901 if (self.synpred10()) :
902 alt7 = 1
903 if alt7 == 1:
904 # C.g:0:0: b= declaration_specifiers
905 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207)
906 b = self.declaration_specifiers()
907 self.following.pop()
908 if self.failed:
909 return
910
911
912
913 self.following.append(self.FOLLOW_init_declarator_list_in_declaration216)
914 c = self.init_declarator_list()
915 self.following.pop()
916 if self.failed:
917 return
918 d = self.input.LT(1)
919 self.match(self.input, 25, self.FOLLOW_25_in_declaration220)
920 if self.failed:
921 return
922 if self.backtracking == 0:
923
924 if b is not None:
925 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start, b.stop), self.input.toString(c.start, c.stop))
926 else:
927 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start, c.stop))
928
929
930
931
932 elif alt9 == 2:
933 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
934 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration234)
935 s = self.declaration_specifiers()
936 self.following.pop()
937 if self.failed:
938 return
939 # C.g:175:30: (t= init_declarator_list )?
940 alt8 = 2
941 LA8_0 = self.input.LA(1)
942
943 if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 60) or LA8_0 == 62 or LA8_0 == 66) :
944 alt8 = 1
945 if alt8 == 1:
946 # C.g:0:0: t= init_declarator_list
947 self.following.append(self.FOLLOW_init_declarator_list_in_declaration238)
948 t = self.init_declarator_list()
949 self.following.pop()
950 if self.failed:
951 return
952
953
954
955 e = self.input.LT(1)
956 self.match(self.input, 25, self.FOLLOW_25_in_declaration243)
957 if self.failed:
958 return
959 if self.backtracking == 0:
960
961 if t is not None:
962 self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start, s.stop), self.input.toString(t.start, t.stop))
963
964
965
966
967
968 except RecognitionException as re:
969 self.reportError(re)
970 self.recover(self.input, re)
971 finally:
972 if self.backtracking > 0:
973 self.memoize(self.input, 4, declaration_StartIndex)
974
975 pass
976
977 return
978
979 # $ANTLR end declaration
980
981 class declaration_specifiers_return(object):
982 def __init__(self):
983 self.start = None
984 self.stop = None
985
986
987
988 # $ANTLR start declaration_specifiers
989 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
990 def declaration_specifiers(self, ):
991
992 retval = self.declaration_specifiers_return()
993 retval.start = self.input.LT(1)
994 declaration_specifiers_StartIndex = self.input.index()
995 try:
996 try:
997 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
998 return retval
999
1000 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
1001 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1002 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1003 cnt10 = 0
1004 while True: #loop10
1005 alt10 = 4
1006 LA10 = self.input.LA(1)
1007 if LA10 == 58:
1008 LA10_2 = self.input.LA(2)
1009
1010 if (self.synpred15()) :
1011 alt10 = 3
1012
1013
1014 elif LA10 == 59:
1015 LA10_3 = self.input.LA(2)
1016
1017 if (self.synpred15()) :
1018 alt10 = 3
1019
1020
1021 elif LA10 == 60:
1022 LA10_4 = self.input.LA(2)
1023
1024 if (self.synpred15()) :
1025 alt10 = 3
1026
1027
1028 elif LA10 == IDENTIFIER:
1029 LA10_5 = self.input.LA(2)
1030
1031 if (self.synpred14()) :
1032 alt10 = 2
1033
1034
1035 elif LA10 == 53:
1036 LA10_9 = self.input.LA(2)
1037
1038 if (self.synpred15()) :
1039 alt10 = 3
1040
1041
1042 elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
1043 alt10 = 1
1044 elif LA10 == 34 or LA10 == 35 or LA10 == 36 or LA10 == 37 or LA10 == 38 or LA10 == 39 or LA10 == 40 or LA10 == 41 or LA10 == 42 or LA10 == 45 or LA10 == 46 or LA10 == 48:
1045 alt10 = 2
1046 elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57 or LA10 == 61:
1047 alt10 = 3
1048
1049 if alt10 == 1:
1050 # C.g:183:10: storage_class_specifier
1051 self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers264)
1052 self.storage_class_specifier()
1053 self.following.pop()
1054 if self.failed:
1055 return retval
1056
1057
1058 elif alt10 == 2:
1059 # C.g:184:7: type_specifier
1060 self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers272)
1061 self.type_specifier()
1062 self.following.pop()
1063 if self.failed:
1064 return retval
1065
1066
1067 elif alt10 == 3:
1068 # C.g:185:13: type_qualifier
1069 self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers286)
1070 self.type_qualifier()
1071 self.following.pop()
1072 if self.failed:
1073 return retval
1074
1075
1076 else:
1077 if cnt10 >= 1:
1078 break #loop10
1079
1080 if self.backtracking > 0:
1081 self.failed = True
1082 return retval
1083
1084 eee = EarlyExitException(10, self.input)
1085 raise eee
1086
1087 cnt10 += 1
1088
1089
1090
1091
1092
1093 retval.stop = self.input.LT(-1)
1094
1095
1096 except RecognitionException as re:
1097 self.reportError(re)
1098 self.recover(self.input, re)
1099 finally:
1100 if self.backtracking > 0:
1101 self.memoize(self.input, 5, declaration_specifiers_StartIndex)
1102
1103 pass
1104
1105 return retval
1106
1107 # $ANTLR end declaration_specifiers
1108
1109 class init_declarator_list_return(object):
1110 def __init__(self):
1111 self.start = None
1112 self.stop = None
1113
1114
1115
1116 # $ANTLR start init_declarator_list
1117 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1118 def init_declarator_list(self, ):
1119
1120 retval = self.init_declarator_list_return()
1121 retval.start = self.input.LT(1)
1122 init_declarator_list_StartIndex = self.input.index()
1123 try:
1124 try:
1125 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
1126 return retval
1127
1128 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1129 # C.g:190:4: init_declarator ( ',' init_declarator )*
1130 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list308)
1131 self.init_declarator()
1132 self.following.pop()
1133 if self.failed:
1134 return retval
1135 # C.g:190:20: ( ',' init_declarator )*
1136 while True: #loop11
1137 alt11 = 2
1138 LA11_0 = self.input.LA(1)
1139
1140 if (LA11_0 == 27) :
1141 alt11 = 1
1142
1143
1144 if alt11 == 1:
1145 # C.g:190:21: ',' init_declarator
1146 self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list311)
1147 if self.failed:
1148 return retval
1149 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list313)
1150 self.init_declarator()
1151 self.following.pop()
1152 if self.failed:
1153 return retval
1154
1155
1156 else:
1157 break #loop11
1158
1159
1160
1161
1162
1163 retval.stop = self.input.LT(-1)
1164
1165
1166 except RecognitionException as re:
1167 self.reportError(re)
1168 self.recover(self.input, re)
1169 finally:
1170 if self.backtracking > 0:
1171 self.memoize(self.input, 6, init_declarator_list_StartIndex)
1172
1173 pass
1174
1175 return retval
1176
1177 # $ANTLR end init_declarator_list
1178
1179
1180 # $ANTLR start init_declarator
1181 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1182 def init_declarator(self, ):
1183
1184 init_declarator_StartIndex = self.input.index()
1185 try:
1186 try:
1187 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
1188 return
1189
1190 # C.g:194:2: ( declarator ( '=' initializer )? )
1191 # C.g:194:4: declarator ( '=' initializer )?
1192 self.following.append(self.FOLLOW_declarator_in_init_declarator326)
1193 self.declarator()
1194 self.following.pop()
1195 if self.failed:
1196 return
1197 # C.g:194:15: ( '=' initializer )?
1198 alt12 = 2
1199 LA12_0 = self.input.LA(1)
1200
1201 if (LA12_0 == 28) :
1202 alt12 = 1
1203 if alt12 == 1:
1204 # C.g:194:16: '=' initializer
1205 self.match(self.input, 28, self.FOLLOW_28_in_init_declarator329)
1206 if self.failed:
1207 return
1208 self.following.append(self.FOLLOW_initializer_in_init_declarator331)
1209 self.initializer()
1210 self.following.pop()
1211 if self.failed:
1212 return
1213
1214
1215
1216
1217
1218
1219
1220 except RecognitionException as re:
1221 self.reportError(re)
1222 self.recover(self.input, re)
1223 finally:
1224 if self.backtracking > 0:
1225 self.memoize(self.input, 7, init_declarator_StartIndex)
1226
1227 pass
1228
1229 return
1230
1231 # $ANTLR end init_declarator
1232
1233
1234 # $ANTLR start storage_class_specifier
1235 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1236 def storage_class_specifier(self, ):
1237
1238 storage_class_specifier_StartIndex = self.input.index()
1239 try:
1240 try:
1241 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
1242 return
1243
1244 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1245 # C.g:
1246 if (29 <= self.input.LA(1) <= 33):
1247 self.input.consume();
1248 self.errorRecovery = False
1249 self.failed = False
1250
1251 else:
1252 if self.backtracking > 0:
1253 self.failed = True
1254 return
1255
1256 mse = MismatchedSetException(None, self.input)
1257 self.recoverFromMismatchedSet(
1258 self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
1259 )
1260 raise mse
1261
1262
1263
1264
1265
1266
1267 except RecognitionException as re:
1268 self.reportError(re)
1269 self.recover(self.input, re)
1270 finally:
1271 if self.backtracking > 0:
1272 self.memoize(self.input, 8, storage_class_specifier_StartIndex)
1273
1274 pass
1275
1276 return
1277
1278 # $ANTLR end storage_class_specifier
1279
1280
1281 # $ANTLR start type_specifier
1282 # C.g:205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );
1283 def type_specifier(self, ):
1284
1285 type_specifier_StartIndex = self.input.index()
1286 s = None
1287
1288 e = None
1289
1290
1291 try:
1292 try:
1293 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
1294 return
1295
1296 # C.g:206:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
1297 alt13 = 12
1298 LA13_0 = self.input.LA(1)
1299
1300 if (LA13_0 == 34) :
1301 alt13 = 1
1302 elif (LA13_0 == 35) :
1303 alt13 = 2
1304 elif (LA13_0 == 36) :
1305 alt13 = 3
1306 elif (LA13_0 == 37) :
1307 alt13 = 4
1308 elif (LA13_0 == 38) :
1309 alt13 = 5
1310 elif (LA13_0 == 39) :
1311 alt13 = 6
1312 elif (LA13_0 == 40) :
1313 alt13 = 7
1314 elif (LA13_0 == 41) :
1315 alt13 = 8
1316 elif (LA13_0 == 42) :
1317 alt13 = 9
1318 elif ((45 <= LA13_0 <= 46)) :
1319 alt13 = 10
1320 elif (LA13_0 == 48) :
1321 alt13 = 11
1322 elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
1323 alt13 = 12
1324 else:
1325 if self.backtracking > 0:
1326 self.failed = True
1327 return
1328
1329 nvae = NoViableAltException("205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self.input)
1330
1331 raise nvae
1332
1333 if alt13 == 1:
1334 # C.g:206:4: 'void'
1335 self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376)
1336 if self.failed:
1337 return
1338
1339
1340 elif alt13 == 2:
1341 # C.g:207:4: 'char'
1342 self.match(self.input, 35, self.FOLLOW_35_in_type_specifier381)
1343 if self.failed:
1344 return
1345
1346
1347 elif alt13 == 3:
1348 # C.g:208:4: 'short'
1349 self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386)
1350 if self.failed:
1351 return
1352
1353
1354 elif alt13 == 4:
1355 # C.g:209:4: 'int'
1356 self.match(self.input, 37, self.FOLLOW_37_in_type_specifier391)
1357 if self.failed:
1358 return
1359
1360
1361 elif alt13 == 5:
1362 # C.g:210:4: 'long'
1363 self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396)
1364 if self.failed:
1365 return
1366
1367
1368 elif alt13 == 6:
1369 # C.g:211:4: 'float'
1370 self.match(self.input, 39, self.FOLLOW_39_in_type_specifier401)
1371 if self.failed:
1372 return
1373
1374
1375 elif alt13 == 7:
1376 # C.g:212:4: 'double'
1377 self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406)
1378 if self.failed:
1379 return
1380
1381
1382 elif alt13 == 8:
1383 # C.g:213:4: 'signed'
1384 self.match(self.input, 41, self.FOLLOW_41_in_type_specifier411)
1385 if self.failed:
1386 return
1387
1388
1389 elif alt13 == 9:
1390 # C.g:214:4: 'unsigned'
1391 self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416)
1392 if self.failed:
1393 return
1394
1395
1396 elif alt13 == 10:
1397 # C.g:215:4: s= struct_or_union_specifier
1398 self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier423)
1399 s = self.struct_or_union_specifier()
1400 self.following.pop()
1401 if self.failed:
1402 return
1403 if self.backtracking == 0:
1404
1405 if s.stop is not None:
1406 self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start, s.stop))
1407
1408
1409
1410
1411 elif alt13 == 11:
1412 # C.g:220:4: e= enum_specifier
1413 self.following.append(self.FOLLOW_enum_specifier_in_type_specifier433)
1414 e = self.enum_specifier()
1415 self.following.pop()
1416 if self.failed:
1417 return
1418 if self.backtracking == 0:
1419
1420 if e.stop is not None:
1421 self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
1422
1423
1424
1425
1426 elif alt13 == 12:
1427 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1428 self.following.append(self.FOLLOW_type_id_in_type_specifier451)
1429 self.type_id()
1430 self.following.pop()
1431 if self.failed:
1432 return
1433
1434
1435
1436 except RecognitionException as re:
1437 self.reportError(re)
1438 self.recover(self.input, re)
1439 finally:
1440 if self.backtracking > 0:
1441 self.memoize(self.input, 9, type_specifier_StartIndex)
1442
1443 pass
1444
1445 return
1446
1447 # $ANTLR end type_specifier
1448
1449
1450 # $ANTLR start type_id
1451 # C.g:228:1: type_id : IDENTIFIER ;
1452 def type_id(self, ):
1453
1454 type_id_StartIndex = self.input.index()
1455 try:
1456 try:
1457 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
1458 return
1459
1460 # C.g:229:5: ( IDENTIFIER )
1461 # C.g:229:9: IDENTIFIER
1462 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id467)
1463 if self.failed:
1464 return
1465
1466
1467
1468
1469 except RecognitionException as re:
1470 self.reportError(re)
1471 self.recover(self.input, re)
1472 finally:
1473 if self.backtracking > 0:
1474 self.memoize(self.input, 10, type_id_StartIndex)
1475
1476 pass
1477
1478 return
1479
1480 # $ANTLR end type_id
1481
1482 class struct_or_union_specifier_return(object):
1483 def __init__(self):
1484 self.start = None
1485 self.stop = None
1486
1487
1488
1489 # $ANTLR start struct_or_union_specifier
1490 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1491 def struct_or_union_specifier(self, ):
1492
1493 retval = self.struct_or_union_specifier_return()
1494 retval.start = self.input.LT(1)
1495 struct_or_union_specifier_StartIndex = self.input.index()
1496 try:
1497 try:
1498 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
1499 return retval
1500
1501 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1502 alt15 = 2
1503 LA15_0 = self.input.LA(1)
1504
1505 if ((45 <= LA15_0 <= 46)) :
1506 LA15_1 = self.input.LA(2)
1507
1508 if (LA15_1 == IDENTIFIER) :
1509 LA15_2 = self.input.LA(3)
1510
1511 if (LA15_2 == 43) :
1512 alt15 = 1
1513 elif (LA15_2 == EOF or LA15_2 == IDENTIFIER or LA15_2 == 25 or LA15_2 == 27 or (29 <= LA15_2 <= 42) or (45 <= LA15_2 <= 64) or LA15_2 == 66) :
1514 alt15 = 2
1515 else:
1516 if self.backtracking > 0:
1517 self.failed = True
1518 return retval
1519
1520 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input)
1521
1522 raise nvae
1523
1524 elif (LA15_1 == 43) :
1525 alt15 = 1
1526 else:
1527 if self.backtracking > 0:
1528 self.failed = True
1529 return retval
1530
1531 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input)
1532
1533 raise nvae
1534
1535 else:
1536 if self.backtracking > 0:
1537 self.failed = True
1538 return retval
1539
1540 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input)
1541
1542 raise nvae
1543
1544 if alt15 == 1:
1545 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1546 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier494)
1547 self.struct_or_union()
1548 self.following.pop()
1549 if self.failed:
1550 return retval
1551 # C.g:235:20: ( IDENTIFIER )?
1552 alt14 = 2
1553 LA14_0 = self.input.LA(1)
1554
1555 if (LA14_0 == IDENTIFIER) :
1556 alt14 = 1
1557 if alt14 == 1:
1558 # C.g:0:0: IDENTIFIER
1559 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496)
1560 if self.failed:
1561 return retval
1562
1563
1564
1565 self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier499)
1566 if self.failed:
1567 return retval
1568 self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501)
1569 self.struct_declaration_list()
1570 self.following.pop()
1571 if self.failed:
1572 return retval
1573 self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier503)
1574 if self.failed:
1575 return retval
1576
1577
1578 elif alt15 == 2:
1579 # C.g:236:4: struct_or_union IDENTIFIER
1580 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier508)
1581 self.struct_or_union()
1582 self.following.pop()
1583 if self.failed:
1584 return retval
1585 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510)
1586 if self.failed:
1587 return retval
1588
1589
1590 retval.stop = self.input.LT(-1)
1591
1592
1593 except RecognitionException as re:
1594 self.reportError(re)
1595 self.recover(self.input, re)
1596 finally:
1597 if self.backtracking > 0:
1598 self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
1599
1600 pass
1601
1602 return retval
1603
1604 # $ANTLR end struct_or_union_specifier
1605
1606
1607 # $ANTLR start struct_or_union
1608 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1609 def struct_or_union(self, ):
1610
1611 struct_or_union_StartIndex = self.input.index()
1612 try:
1613 try:
1614 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
1615 return
1616
1617 # C.g:240:2: ( 'struct' | 'union' )
1618 # C.g:
1619 if (45 <= self.input.LA(1) <= 46):
1620 self.input.consume();
1621 self.errorRecovery = False
1622 self.failed = False
1623
1624 else:
1625 if self.backtracking > 0:
1626 self.failed = True
1627 return
1628
1629 mse = MismatchedSetException(None, self.input)
1630 self.recoverFromMismatchedSet(
1631 self.input, mse, self.FOLLOW_set_in_struct_or_union0
1632 )
1633 raise mse
1634
1635
1636
1637
1638
1639
1640 except RecognitionException as re:
1641 self.reportError(re)
1642 self.recover(self.input, re)
1643 finally:
1644 if self.backtracking > 0:
1645 self.memoize(self.input, 12, struct_or_union_StartIndex)
1646
1647 pass
1648
1649 return
1650
1651 # $ANTLR end struct_or_union
1652
1653
1654 # $ANTLR start struct_declaration_list
1655 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1656 def struct_declaration_list(self, ):
1657
1658 struct_declaration_list_StartIndex = self.input.index()
1659 try:
1660 try:
1661 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
1662 return
1663
1664 # C.g:245:2: ( ( struct_declaration )+ )
1665 # C.g:245:4: ( struct_declaration )+
1666 # C.g:245:4: ( struct_declaration )+
1667 cnt16 = 0
1668 while True: #loop16
1669 alt16 = 2
1670 LA16_0 = self.input.LA(1)
1671
1672 if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 61)) :
1673 alt16 = 1
1674
1675
1676 if alt16 == 1:
1677 # C.g:0:0: struct_declaration
1678 self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537)
1679 self.struct_declaration()
1680 self.following.pop()
1681 if self.failed:
1682 return
1683
1684
1685 else:
1686 if cnt16 >= 1:
1687 break #loop16
1688
1689 if self.backtracking > 0:
1690 self.failed = True
1691 return
1692
1693 eee = EarlyExitException(16, self.input)
1694 raise eee
1695
1696 cnt16 += 1
1697
1698
1699
1700
1701
1702
1703 except RecognitionException as re:
1704 self.reportError(re)
1705 self.recover(self.input, re)
1706 finally:
1707 if self.backtracking > 0:
1708 self.memoize(self.input, 13, struct_declaration_list_StartIndex)
1709
1710 pass
1711
1712 return
1713
1714 # $ANTLR end struct_declaration_list
1715
1716
1717 # $ANTLR start struct_declaration
1718 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1719 def struct_declaration(self, ):
1720
1721 struct_declaration_StartIndex = self.input.index()
1722 try:
1723 try:
1724 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
1725 return
1726
1727 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1728 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1729 self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration549)
1730 self.specifier_qualifier_list()
1731 self.following.pop()
1732 if self.failed:
1733 return
1734 self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration551)
1735 self.struct_declarator_list()
1736 self.following.pop()
1737 if self.failed:
1738 return
1739 self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553)
1740 if self.failed:
1741 return
1742
1743
1744
1745
1746 except RecognitionException as re:
1747 self.reportError(re)
1748 self.recover(self.input, re)
1749 finally:
1750 if self.backtracking > 0:
1751 self.memoize(self.input, 14, struct_declaration_StartIndex)
1752
1753 pass
1754
1755 return
1756
1757 # $ANTLR end struct_declaration
1758
1759
1760 # $ANTLR start specifier_qualifier_list
1761 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1762 def specifier_qualifier_list(self, ):
1763
1764 specifier_qualifier_list_StartIndex = self.input.index()
1765 try:
1766 try:
1767 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
1768 return
1769
1770 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1771 # C.g:253:4: ( type_qualifier | type_specifier )+
1772 # C.g:253:4: ( type_qualifier | type_specifier )+
1773 cnt17 = 0
1774 while True: #loop17
1775 alt17 = 3
1776 LA17 = self.input.LA(1)
1777 if LA17 == 58:
1778 LA17_2 = self.input.LA(2)
1779
1780 if (self.synpred39()) :
1781 alt17 = 1
1782
1783
1784 elif LA17 == 59:
1785 LA17_3 = self.input.LA(2)
1786
1787 if (self.synpred39()) :
1788 alt17 = 1
1789
1790
1791 elif LA17 == 60:
1792 LA17_4 = self.input.LA(2)
1793
1794 if (self.synpred39()) :
1795 alt17 = 1
1796
1797
1798 elif LA17 == IDENTIFIER:
1799 LA17 = self.input.LA(2)
1800 if LA17 == EOF or LA17 == IDENTIFIER or LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48 or LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 58 or LA17 == 59 or LA17 == 60 or LA17 == 61 or LA17 == 63 or LA17 == 66:
1801 alt17 = 2
1802 elif LA17 == 62:
1803 LA17_94 = self.input.LA(3)
1804
1805 if (self.synpred40()) :
1806 alt17 = 2
1807
1808
1809 elif LA17 == 47:
1810 LA17_95 = self.input.LA(3)
1811
1812 if (self.synpred40()) :
1813 alt17 = 2
1814
1815
1816 elif LA17 == 64:
1817 LA17_96 = self.input.LA(3)
1818
1819 if (self.synpred40()) :
1820 alt17 = 2
1821
1822
1823
1824 elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 61:
1825 alt17 = 1
1826 elif LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48:
1827 alt17 = 2
1828
1829 if alt17 == 1:
1830 # C.g:253:6: type_qualifier
1831 self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566)
1832 self.type_qualifier()
1833 self.following.pop()
1834 if self.failed:
1835 return
1836
1837
1838 elif alt17 == 2:
1839 # C.g:253:23: type_specifier
1840 self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list570)
1841 self.type_specifier()
1842 self.following.pop()
1843 if self.failed:
1844 return
1845
1846
1847 else:
1848 if cnt17 >= 1:
1849 break #loop17
1850
1851 if self.backtracking > 0:
1852 self.failed = True
1853 return
1854
1855 eee = EarlyExitException(17, self.input)
1856 raise eee
1857
1858 cnt17 += 1
1859
1860
1861
1862
1863
1864
1865 except RecognitionException as re:
1866 self.reportError(re)
1867 self.recover(self.input, re)
1868 finally:
1869 if self.backtracking > 0:
1870 self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
1871
1872 pass
1873
1874 return
1875
1876 # $ANTLR end specifier_qualifier_list
1877
1878
1879 # $ANTLR start struct_declarator_list
1880 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1881 def struct_declarator_list(self, ):
1882
1883 struct_declarator_list_StartIndex = self.input.index()
1884 try:
1885 try:
1886 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
1887 return
1888
1889 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1890 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1891 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list584)
1892 self.struct_declarator()
1893 self.following.pop()
1894 if self.failed:
1895 return
1896 # C.g:257:22: ( ',' struct_declarator )*
1897 while True: #loop18
1898 alt18 = 2
1899 LA18_0 = self.input.LA(1)
1900
1901 if (LA18_0 == 27) :
1902 alt18 = 1
1903
1904
1905 if alt18 == 1:
1906 # C.g:257:23: ',' struct_declarator
1907 self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list587)
1908 if self.failed:
1909 return
1910 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list589)
1911 self.struct_declarator()
1912 self.following.pop()
1913 if self.failed:
1914 return
1915
1916
1917 else:
1918 break #loop18
1919
1920
1921
1922
1923
1924
1925 except RecognitionException as re:
1926 self.reportError(re)
1927 self.recover(self.input, re)
1928 finally:
1929 if self.backtracking > 0:
1930 self.memoize(self.input, 16, struct_declarator_list_StartIndex)
1931
1932 pass
1933
1934 return
1935
1936 # $ANTLR end struct_declarator_list
1937
1938
1939 # $ANTLR start struct_declarator
1940 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1941 def struct_declarator(self, ):
1942
1943 struct_declarator_StartIndex = self.input.index()
1944 try:
1945 try:
1946 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
1947 return
1948
1949 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1950 alt20 = 2
1951 LA20_0 = self.input.LA(1)
1952
1953 if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 60) or LA20_0 == 62 or LA20_0 == 66) :
1954 alt20 = 1
1955 elif (LA20_0 == 47) :
1956 alt20 = 2
1957 else:
1958 if self.backtracking > 0:
1959 self.failed = True
1960 return
1961
1962 nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
1963
1964 raise nvae
1965
1966 if alt20 == 1:
1967 # C.g:261:4: declarator ( ':' constant_expression )?
1968 self.following.append(self.FOLLOW_declarator_in_struct_declarator602)
1969 self.declarator()
1970 self.following.pop()
1971 if self.failed:
1972 return
1973 # C.g:261:15: ( ':' constant_expression )?
1974 alt19 = 2
1975 LA19_0 = self.input.LA(1)
1976
1977 if (LA19_0 == 47) :
1978 alt19 = 1
1979 if alt19 == 1:
1980 # C.g:261:16: ':' constant_expression
1981 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator605)
1982 if self.failed:
1983 return
1984 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator607)
1985 self.constant_expression()
1986 self.following.pop()
1987 if self.failed:
1988 return
1989
1990
1991
1992
1993
1994 elif alt20 == 2:
1995 # C.g:262:4: ':' constant_expression
1996 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator614)
1997 if self.failed:
1998 return
1999 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator616)
2000 self.constant_expression()
2001 self.following.pop()
2002 if self.failed:
2003 return
2004
2005
2006
2007 except RecognitionException as re:
2008 self.reportError(re)
2009 self.recover(self.input, re)
2010 finally:
2011 if self.backtracking > 0:
2012 self.memoize(self.input, 17, struct_declarator_StartIndex)
2013
2014 pass
2015
2016 return
2017
2018 # $ANTLR end struct_declarator
2019
2020 class enum_specifier_return(object):
2021 def __init__(self):
2022 self.start = None
2023 self.stop = None
2024
2025
2026
2027 # $ANTLR start enum_specifier
2028 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2029 def enum_specifier(self, ):
2030
2031 retval = self.enum_specifier_return()
2032 retval.start = self.input.LT(1)
2033 enum_specifier_StartIndex = self.input.index()
2034 try:
2035 try:
2036 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
2037 return retval
2038
2039 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2040 alt23 = 3
2041 LA23_0 = self.input.LA(1)
2042
2043 if (LA23_0 == 48) :
2044 LA23_1 = self.input.LA(2)
2045
2046 if (LA23_1 == IDENTIFIER) :
2047 LA23_2 = self.input.LA(3)
2048
2049 if (LA23_2 == 43) :
2050 alt23 = 2
2051 elif (LA23_2 == EOF or LA23_2 == IDENTIFIER or LA23_2 == 25 or LA23_2 == 27 or (29 <= LA23_2 <= 42) or (45 <= LA23_2 <= 64) or LA23_2 == 66) :
2052 alt23 = 3
2053 else:
2054 if self.backtracking > 0:
2055 self.failed = True
2056 return retval
2057
2058 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
2059
2060 raise nvae
2061
2062 elif (LA23_1 == 43) :
2063 alt23 = 1
2064 else:
2065 if self.backtracking > 0:
2066 self.failed = True
2067 return retval
2068
2069 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
2070
2071 raise nvae
2072
2073 else:
2074 if self.backtracking > 0:
2075 self.failed = True
2076 return retval
2077
2078 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input)
2079
2080 raise nvae
2081
2082 if alt23 == 1:
2083 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2084 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier634)
2085 if self.failed:
2086 return retval
2087 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier636)
2088 if self.failed:
2089 return retval
2090 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638)
2091 self.enumerator_list()
2092 self.following.pop()
2093 if self.failed:
2094 return retval
2095 # C.g:267:31: ( ',' )?
2096 alt21 = 2
2097 LA21_0 = self.input.LA(1)
2098
2099 if (LA21_0 == 27) :
2100 alt21 = 1
2101 if alt21 == 1:
2102 # C.g:0:0: ','
2103 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier640)
2104 if self.failed:
2105 return retval
2106
2107
2108
2109 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier643)
2110 if self.failed:
2111 return retval
2112
2113
2114 elif alt23 == 2:
2115 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2116 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier648)
2117 if self.failed:
2118 return retval
2119 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier650)
2120 if self.failed:
2121 return retval
2122 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier652)
2123 if self.failed:
2124 return retval
2125 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier654)
2126 self.enumerator_list()
2127 self.following.pop()
2128 if self.failed:
2129 return retval
2130 # C.g:268:42: ( ',' )?
2131 alt22 = 2
2132 LA22_0 = self.input.LA(1)
2133
2134 if (LA22_0 == 27) :
2135 alt22 = 1
2136 if alt22 == 1:
2137 # C.g:0:0: ','
2138 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier656)
2139 if self.failed:
2140 return retval
2141
2142
2143
2144 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier659)
2145 if self.failed:
2146 return retval
2147
2148
2149 elif alt23 == 3:
2150 # C.g:269:4: 'enum' IDENTIFIER
2151 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier664)
2152 if self.failed:
2153 return retval
2154 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier666)
2155 if self.failed:
2156 return retval
2157
2158
2159 retval.stop = self.input.LT(-1)
2160
2161
2162 except RecognitionException as re:
2163 self.reportError(re)
2164 self.recover(self.input, re)
2165 finally:
2166 if self.backtracking > 0:
2167 self.memoize(self.input, 18, enum_specifier_StartIndex)
2168
2169 pass
2170
2171 return retval
2172
2173 # $ANTLR end enum_specifier
2174
2175
2176 # $ANTLR start enumerator_list
2177 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2178 def enumerator_list(self, ):
2179
2180 enumerator_list_StartIndex = self.input.index()
2181 try:
2182 try:
2183 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
2184 return
2185
2186 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2187 # C.g:273:4: enumerator ( ',' enumerator )*
2188 self.following.append(self.FOLLOW_enumerator_in_enumerator_list677)
2189 self.enumerator()
2190 self.following.pop()
2191 if self.failed:
2192 return
2193 # C.g:273:15: ( ',' enumerator )*
2194 while True: #loop24
2195 alt24 = 2
2196 LA24_0 = self.input.LA(1)
2197
2198 if (LA24_0 == 27) :
2199 LA24_1 = self.input.LA(2)
2200
2201 if (LA24_1 == IDENTIFIER) :
2202 alt24 = 1
2203
2204
2205
2206
2207 if alt24 == 1:
2208 # C.g:273:16: ',' enumerator
2209 self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list680)
2210 if self.failed:
2211 return
2212 self.following.append(self.FOLLOW_enumerator_in_enumerator_list682)
2213 self.enumerator()
2214 self.following.pop()
2215 if self.failed:
2216 return
2217
2218
2219 else:
2220 break #loop24
2221
2222
2223
2224
2225
2226
2227 except RecognitionException as re:
2228 self.reportError(re)
2229 self.recover(self.input, re)
2230 finally:
2231 if self.backtracking > 0:
2232 self.memoize(self.input, 19, enumerator_list_StartIndex)
2233
2234 pass
2235
2236 return
2237
2238 # $ANTLR end enumerator_list
2239
2240
2241 # $ANTLR start enumerator
2242 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2243 def enumerator(self, ):
2244
2245 enumerator_StartIndex = self.input.index()
2246 try:
2247 try:
2248 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
2249 return
2250
2251 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2252 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2253 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator695)
2254 if self.failed:
2255 return
2256 # C.g:277:15: ( '=' constant_expression )?
2257 alt25 = 2
2258 LA25_0 = self.input.LA(1)
2259
2260 if (LA25_0 == 28) :
2261 alt25 = 1
2262 if alt25 == 1:
2263 # C.g:277:16: '=' constant_expression
2264 self.match(self.input, 28, self.FOLLOW_28_in_enumerator698)
2265 if self.failed:
2266 return
2267 self.following.append(self.FOLLOW_constant_expression_in_enumerator700)
2268 self.constant_expression()
2269 self.following.pop()
2270 if self.failed:
2271 return
2272
2273
2274
2275
2276
2277
2278
2279 except RecognitionException as re:
2280 self.reportError(re)
2281 self.recover(self.input, re)
2282 finally:
2283 if self.backtracking > 0:
2284 self.memoize(self.input, 20, enumerator_StartIndex)
2285
2286 pass
2287
2288 return
2289
2290 # $ANTLR end enumerator
2291
2292
2293 # $ANTLR start type_qualifier
2294 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2295 def type_qualifier(self, ):
2296
2297 type_qualifier_StartIndex = self.input.index()
2298 try:
2299 try:
2300 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
2301 return
2302
2303 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2304 # C.g:
2305 if (49 <= self.input.LA(1) <= 61):
2306 self.input.consume();
2307 self.errorRecovery = False
2308 self.failed = False
2309
2310 else:
2311 if self.backtracking > 0:
2312 self.failed = True
2313 return
2314
2315 mse = MismatchedSetException(None, self.input)
2316 self.recoverFromMismatchedSet(
2317 self.input, mse, self.FOLLOW_set_in_type_qualifier0
2318 )
2319 raise mse
2320
2321
2322
2323
2324
2325
2326 except RecognitionException as re:
2327 self.reportError(re)
2328 self.recover(self.input, re)
2329 finally:
2330 if self.backtracking > 0:
2331 self.memoize(self.input, 21, type_qualifier_StartIndex)
2332
2333 pass
2334
2335 return
2336
2337 # $ANTLR end type_qualifier
2338
2339 class declarator_return(object):
2340 def __init__(self):
2341 self.start = None
2342 self.stop = None
2343
2344
2345
2346 # $ANTLR start declarator
2347 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2348 def declarator(self, ):
2349
2350 retval = self.declarator_return()
2351 retval.start = self.input.LT(1)
2352 declarator_StartIndex = self.input.index()
2353 try:
2354 try:
2355 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
2356 return retval
2357
2358 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2359 alt30 = 2
2360 LA30_0 = self.input.LA(1)
2361
2362 if (LA30_0 == 66) :
2363 LA30_1 = self.input.LA(2)
2364
2365 if (self.synpred66()) :
2366 alt30 = 1
2367 elif (True) :
2368 alt30 = 2
2369 else:
2370 if self.backtracking > 0:
2371 self.failed = True
2372 return retval
2373
2374 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input)
2375
2376 raise nvae
2377
2378 elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 60) or LA30_0 == 62) :
2379 alt30 = 1
2380 else:
2381 if self.backtracking > 0:
2382 self.failed = True
2383 return retval
2384
2385 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
2386
2387 raise nvae
2388
2389 if alt30 == 1:
2390 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2391 # C.g:297:4: ( pointer )?
2392 alt26 = 2
2393 LA26_0 = self.input.LA(1)
2394
2395 if (LA26_0 == 66) :
2396 alt26 = 1
2397 if alt26 == 1:
2398 # C.g:0:0: pointer
2399 self.following.append(self.FOLLOW_pointer_in_declarator784)
2400 self.pointer()
2401 self.following.pop()
2402 if self.failed:
2403 return retval
2404
2405
2406
2407 # C.g:297:13: ( 'EFIAPI' )?
2408 alt27 = 2
2409 LA27_0 = self.input.LA(1)
2410
2411 if (LA27_0 == 58) :
2412 alt27 = 1
2413 if alt27 == 1:
2414 # C.g:297:14: 'EFIAPI'
2415 self.match(self.input, 58, self.FOLLOW_58_in_declarator788)
2416 if self.failed:
2417 return retval
2418
2419
2420
2421 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2422 alt28 = 2
2423 LA28_0 = self.input.LA(1)
2424
2425 if (LA28_0 == 59) :
2426 alt28 = 1
2427 if alt28 == 1:
2428 # C.g:297:26: 'EFI_BOOTSERVICE'
2429 self.match(self.input, 59, self.FOLLOW_59_in_declarator793)
2430 if self.failed:
2431 return retval
2432
2433
2434
2435 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2436 alt29 = 2
2437 LA29_0 = self.input.LA(1)
2438
2439 if (LA29_0 == 60) :
2440 alt29 = 1
2441 if alt29 == 1:
2442 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2443 self.match(self.input, 60, self.FOLLOW_60_in_declarator798)
2444 if self.failed:
2445 return retval
2446
2447
2448
2449 self.following.append(self.FOLLOW_direct_declarator_in_declarator802)
2450 self.direct_declarator()
2451 self.following.pop()
2452 if self.failed:
2453 return retval
2454
2455
2456 elif alt30 == 2:
2457 # C.g:299:4: pointer
2458 self.following.append(self.FOLLOW_pointer_in_declarator808)
2459 self.pointer()
2460 self.following.pop()
2461 if self.failed:
2462 return retval
2463
2464
2465 retval.stop = self.input.LT(-1)
2466
2467
2468 except RecognitionException as re:
2469 self.reportError(re)
2470 self.recover(self.input, re)
2471 finally:
2472 if self.backtracking > 0:
2473 self.memoize(self.input, 22, declarator_StartIndex)
2474
2475 pass
2476
2477 return retval
2478
2479 # $ANTLR end declarator
2480
2481
2482 # $ANTLR start direct_declarator
2483 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2484 def direct_declarator(self, ):
2485
2486 direct_declarator_StartIndex = self.input.index()
2487 try:
2488 try:
2489 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
2490 return
2491
2492 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2493 alt34 = 2
2494 LA34_0 = self.input.LA(1)
2495
2496 if (LA34_0 == IDENTIFIER) :
2497 alt34 = 1
2498 elif (LA34_0 == 62) :
2499 alt34 = 2
2500 else:
2501 if self.backtracking > 0:
2502 self.failed = True
2503 return
2504
2505 nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
2506
2507 raise nvae
2508
2509 if alt34 == 1:
2510 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2511 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819)
2512 if self.failed:
2513 return
2514 # C.g:303:15: ( declarator_suffix )*
2515 while True: #loop31
2516 alt31 = 2
2517 LA31_0 = self.input.LA(1)
2518
2519 if (LA31_0 == 62) :
2520 LA31 = self.input.LA(2)
2521 if LA31 == 63:
2522 LA31_30 = self.input.LA(3)
2523
2524 if (self.synpred67()) :
2525 alt31 = 1
2526
2527
2528 elif LA31 == 58:
2529 LA31_31 = self.input.LA(3)
2530
2531 if (self.synpred67()) :
2532 alt31 = 1
2533
2534
2535 elif LA31 == 66:
2536 LA31_32 = self.input.LA(3)
2537
2538 if (self.synpred67()) :
2539 alt31 = 1
2540
2541
2542 elif LA31 == 59:
2543 LA31_33 = self.input.LA(3)
2544
2545 if (self.synpred67()) :
2546 alt31 = 1
2547
2548
2549 elif LA31 == 60:
2550 LA31_34 = self.input.LA(3)
2551
2552 if (self.synpred67()) :
2553 alt31 = 1
2554
2555
2556 elif LA31 == IDENTIFIER:
2557 LA31_35 = self.input.LA(3)
2558
2559 if (self.synpred67()) :
2560 alt31 = 1
2561
2562
2563 elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33:
2564 LA31_37 = self.input.LA(3)
2565
2566 if (self.synpred67()) :
2567 alt31 = 1
2568
2569
2570 elif LA31 == 34:
2571 LA31_38 = self.input.LA(3)
2572
2573 if (self.synpred67()) :
2574 alt31 = 1
2575
2576
2577 elif LA31 == 35:
2578 LA31_39 = self.input.LA(3)
2579
2580 if (self.synpred67()) :
2581 alt31 = 1
2582
2583
2584 elif LA31 == 36:
2585 LA31_40 = self.input.LA(3)
2586
2587 if (self.synpred67()) :
2588 alt31 = 1
2589
2590
2591 elif LA31 == 37:
2592 LA31_41 = self.input.LA(3)
2593
2594 if (self.synpred67()) :
2595 alt31 = 1
2596
2597
2598 elif LA31 == 38:
2599 LA31_42 = self.input.LA(3)
2600
2601 if (self.synpred67()) :
2602 alt31 = 1
2603
2604
2605 elif LA31 == 39:
2606 LA31_43 = self.input.LA(3)
2607
2608 if (self.synpred67()) :
2609 alt31 = 1
2610
2611
2612 elif LA31 == 40:
2613 LA31_44 = self.input.LA(3)
2614
2615 if (self.synpred67()) :
2616 alt31 = 1
2617
2618
2619 elif LA31 == 41:
2620 LA31_45 = self.input.LA(3)
2621
2622 if (self.synpred67()) :
2623 alt31 = 1
2624
2625
2626 elif LA31 == 42:
2627 LA31_46 = self.input.LA(3)
2628
2629 if (self.synpred67()) :
2630 alt31 = 1
2631
2632
2633 elif LA31 == 45 or LA31 == 46:
2634 LA31_47 = self.input.LA(3)
2635
2636 if (self.synpred67()) :
2637 alt31 = 1
2638
2639
2640 elif LA31 == 48:
2641 LA31_48 = self.input.LA(3)
2642
2643 if (self.synpred67()) :
2644 alt31 = 1
2645
2646
2647 elif LA31 == 49 or LA31 == 50 or LA31 == 51 or LA31 == 52 or LA31 == 53 or LA31 == 54 or LA31 == 55 or LA31 == 56 or LA31 == 57 or LA31 == 61:
2648 LA31_49 = self.input.LA(3)
2649
2650 if (self.synpred67()) :
2651 alt31 = 1
2652
2653
2654
2655 elif (LA31_0 == 64) :
2656 LA31 = self.input.LA(2)
2657 if LA31 == 65:
2658 LA31_51 = self.input.LA(3)
2659
2660 if (self.synpred67()) :
2661 alt31 = 1
2662
2663
2664 elif LA31 == 62:
2665 LA31_52 = self.input.LA(3)
2666
2667 if (self.synpred67()) :
2668 alt31 = 1
2669
2670
2671 elif LA31 == IDENTIFIER:
2672 LA31_53 = self.input.LA(3)
2673
2674 if (self.synpred67()) :
2675 alt31 = 1
2676
2677
2678 elif LA31 == HEX_LITERAL:
2679 LA31_54 = self.input.LA(3)
2680
2681 if (self.synpred67()) :
2682 alt31 = 1
2683
2684
2685 elif LA31 == OCTAL_LITERAL:
2686 LA31_55 = self.input.LA(3)
2687
2688 if (self.synpred67()) :
2689 alt31 = 1
2690
2691
2692 elif LA31 == DECIMAL_LITERAL:
2693 LA31_56 = self.input.LA(3)
2694
2695 if (self.synpred67()) :
2696 alt31 = 1
2697
2698
2699 elif LA31 == CHARACTER_LITERAL:
2700 LA31_57 = self.input.LA(3)
2701
2702 if (self.synpred67()) :
2703 alt31 = 1
2704
2705
2706 elif LA31 == STRING_LITERAL:
2707 LA31_58 = self.input.LA(3)
2708
2709 if (self.synpred67()) :
2710 alt31 = 1
2711
2712
2713 elif LA31 == FLOATING_POINT_LITERAL:
2714 LA31_59 = self.input.LA(3)
2715
2716 if (self.synpred67()) :
2717 alt31 = 1
2718
2719
2720 elif LA31 == 72:
2721 LA31_60 = self.input.LA(3)
2722
2723 if (self.synpred67()) :
2724 alt31 = 1
2725
2726
2727 elif LA31 == 73:
2728 LA31_61 = self.input.LA(3)
2729
2730 if (self.synpred67()) :
2731 alt31 = 1
2732
2733
2734 elif LA31 == 66 or LA31 == 68 or LA31 == 69 or LA31 == 77 or LA31 == 78 or LA31 == 79:
2735 LA31_62 = self.input.LA(3)
2736
2737 if (self.synpred67()) :
2738 alt31 = 1
2739
2740
2741 elif LA31 == 74:
2742 LA31_63 = self.input.LA(3)
2743
2744 if (self.synpred67()) :
2745 alt31 = 1
2746
2747
2748
2749
2750
2751 if alt31 == 1:
2752 # C.g:0:0: declarator_suffix
2753 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821)
2754 self.declarator_suffix()
2755 self.following.pop()
2756 if self.failed:
2757 return
2758
2759
2760 else:
2761 break #loop31
2762
2763
2764
2765
2766 elif alt34 == 2:
2767 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2768 self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator827)
2769 if self.failed:
2770 return
2771 # C.g:304:8: ( 'EFIAPI' )?
2772 alt32 = 2
2773 LA32_0 = self.input.LA(1)
2774
2775 if (LA32_0 == 58) :
2776 LA32_1 = self.input.LA(2)
2777
2778 if (self.synpred69()) :
2779 alt32 = 1
2780 if alt32 == 1:
2781 # C.g:304:9: 'EFIAPI'
2782 self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator830)
2783 if self.failed:
2784 return
2785
2786
2787
2788 self.following.append(self.FOLLOW_declarator_in_direct_declarator834)
2789 self.declarator()
2790 self.following.pop()
2791 if self.failed:
2792 return
2793 self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836)
2794 if self.failed:
2795 return
2796 # C.g:304:35: ( declarator_suffix )+
2797 cnt33 = 0
2798 while True: #loop33
2799 alt33 = 2
2800 LA33_0 = self.input.LA(1)
2801
2802 if (LA33_0 == 62) :
2803 LA33 = self.input.LA(2)
2804 if LA33 == 63:
2805 LA33_30 = self.input.LA(3)
2806
2807 if (self.synpred70()) :
2808 alt33 = 1
2809
2810
2811 elif LA33 == 58:
2812 LA33_31 = self.input.LA(3)
2813
2814 if (self.synpred70()) :
2815 alt33 = 1
2816
2817
2818 elif LA33 == 66:
2819 LA33_32 = self.input.LA(3)
2820
2821 if (self.synpred70()) :
2822 alt33 = 1
2823
2824
2825 elif LA33 == 59:
2826 LA33_33 = self.input.LA(3)
2827
2828 if (self.synpred70()) :
2829 alt33 = 1
2830
2831
2832 elif LA33 == 60:
2833 LA33_34 = self.input.LA(3)
2834
2835 if (self.synpred70()) :
2836 alt33 = 1
2837
2838
2839 elif LA33 == IDENTIFIER:
2840 LA33_35 = self.input.LA(3)
2841
2842 if (self.synpred70()) :
2843 alt33 = 1
2844
2845
2846 elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33:
2847 LA33_37 = self.input.LA(3)
2848
2849 if (self.synpred70()) :
2850 alt33 = 1
2851
2852
2853 elif LA33 == 34:
2854 LA33_38 = self.input.LA(3)
2855
2856 if (self.synpred70()) :
2857 alt33 = 1
2858
2859
2860 elif LA33 == 35:
2861 LA33_39 = self.input.LA(3)
2862
2863 if (self.synpred70()) :
2864 alt33 = 1
2865
2866
2867 elif LA33 == 36:
2868 LA33_40 = self.input.LA(3)
2869
2870 if (self.synpred70()) :
2871 alt33 = 1
2872
2873
2874 elif LA33 == 37:
2875 LA33_41 = self.input.LA(3)
2876
2877 if (self.synpred70()) :
2878 alt33 = 1
2879
2880
2881 elif LA33 == 38:
2882 LA33_42 = self.input.LA(3)
2883
2884 if (self.synpred70()) :
2885 alt33 = 1
2886
2887
2888 elif LA33 == 39:
2889 LA33_43 = self.input.LA(3)
2890
2891 if (self.synpred70()) :
2892 alt33 = 1
2893
2894
2895 elif LA33 == 40:
2896 LA33_44 = self.input.LA(3)
2897
2898 if (self.synpred70()) :
2899 alt33 = 1
2900
2901
2902 elif LA33 == 41:
2903 LA33_45 = self.input.LA(3)
2904
2905 if (self.synpred70()) :
2906 alt33 = 1
2907
2908
2909 elif LA33 == 42:
2910 LA33_46 = self.input.LA(3)
2911
2912 if (self.synpred70()) :
2913 alt33 = 1
2914
2915
2916 elif LA33 == 45 or LA33 == 46:
2917 LA33_47 = self.input.LA(3)
2918
2919 if (self.synpred70()) :
2920 alt33 = 1
2921
2922
2923 elif LA33 == 48:
2924 LA33_48 = self.input.LA(3)
2925
2926 if (self.synpred70()) :
2927 alt33 = 1
2928
2929
2930 elif LA33 == 49 or LA33 == 50 or LA33 == 51 or LA33 == 52 or LA33 == 53 or LA33 == 54 or LA33 == 55 or LA33 == 56 or LA33 == 57 or LA33 == 61:
2931 LA33_49 = self.input.LA(3)
2932
2933 if (self.synpred70()) :
2934 alt33 = 1
2935
2936
2937
2938 elif (LA33_0 == 64) :
2939 LA33 = self.input.LA(2)
2940 if LA33 == 65:
2941 LA33_51 = self.input.LA(3)
2942
2943 if (self.synpred70()) :
2944 alt33 = 1
2945
2946
2947 elif LA33 == 62:
2948 LA33_52 = self.input.LA(3)
2949
2950 if (self.synpred70()) :
2951 alt33 = 1
2952
2953
2954 elif LA33 == IDENTIFIER:
2955 LA33_53 = self.input.LA(3)
2956
2957 if (self.synpred70()) :
2958 alt33 = 1
2959
2960
2961 elif LA33 == HEX_LITERAL:
2962 LA33_54 = self.input.LA(3)
2963
2964 if (self.synpred70()) :
2965 alt33 = 1
2966
2967
2968 elif LA33 == OCTAL_LITERAL:
2969 LA33_55 = self.input.LA(3)
2970
2971 if (self.synpred70()) :
2972 alt33 = 1
2973
2974
2975 elif LA33 == DECIMAL_LITERAL:
2976 LA33_56 = self.input.LA(3)
2977
2978 if (self.synpred70()) :
2979 alt33 = 1
2980
2981
2982 elif LA33 == CHARACTER_LITERAL:
2983 LA33_57 = self.input.LA(3)
2984
2985 if (self.synpred70()) :
2986 alt33 = 1
2987
2988
2989 elif LA33 == STRING_LITERAL:
2990 LA33_58 = self.input.LA(3)
2991
2992 if (self.synpred70()) :
2993 alt33 = 1
2994
2995
2996 elif LA33 == FLOATING_POINT_LITERAL:
2997 LA33_59 = self.input.LA(3)
2998
2999 if (self.synpred70()) :
3000 alt33 = 1
3001
3002
3003 elif LA33 == 72:
3004 LA33_60 = self.input.LA(3)
3005
3006 if (self.synpred70()) :
3007 alt33 = 1
3008
3009
3010 elif LA33 == 73:
3011 LA33_61 = self.input.LA(3)
3012
3013 if (self.synpred70()) :
3014 alt33 = 1
3015
3016
3017 elif LA33 == 66 or LA33 == 68 or LA33 == 69 or LA33 == 77 or LA33 == 78 or LA33 == 79:
3018 LA33_62 = self.input.LA(3)
3019
3020 if (self.synpred70()) :
3021 alt33 = 1
3022
3023
3024 elif LA33 == 74:
3025 LA33_63 = self.input.LA(3)
3026
3027 if (self.synpred70()) :
3028 alt33 = 1
3029
3030
3031
3032
3033
3034 if alt33 == 1:
3035 # C.g:0:0: declarator_suffix
3036 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838)
3037 self.declarator_suffix()
3038 self.following.pop()
3039 if self.failed:
3040 return
3041
3042
3043 else:
3044 if cnt33 >= 1:
3045 break #loop33
3046
3047 if self.backtracking > 0:
3048 self.failed = True
3049 return
3050
3051 eee = EarlyExitException(33, self.input)
3052 raise eee
3053
3054 cnt33 += 1
3055
3056
3057
3058
3059
3060 except RecognitionException as re:
3061 self.reportError(re)
3062 self.recover(self.input, re)
3063 finally:
3064 if self.backtracking > 0:
3065 self.memoize(self.input, 23, direct_declarator_StartIndex)
3066
3067 pass
3068
3069 return
3070
3071 # $ANTLR end direct_declarator
3072
3073
3074 # $ANTLR start declarator_suffix
3075 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3076 def declarator_suffix(self, ):
3077
3078 declarator_suffix_StartIndex = self.input.index()
3079 try:
3080 try:
3081 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
3082 return
3083
3084 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3085 alt35 = 5
3086 LA35_0 = self.input.LA(1)
3087
3088 if (LA35_0 == 64) :
3089 LA35_1 = self.input.LA(2)
3090
3091 if (LA35_1 == 65) :
3092 alt35 = 2
3093 elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 62 or LA35_1 == 66 or (68 <= LA35_1 <= 69) or (72 <= LA35_1 <= 74) or (77 <= LA35_1 <= 79)) :
3094 alt35 = 1
3095 else:
3096 if self.backtracking > 0:
3097 self.failed = True
3098 return
3099
3100 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
3101
3102 raise nvae
3103
3104 elif (LA35_0 == 62) :
3105 LA35 = self.input.LA(2)
3106 if LA35 == 63:
3107 alt35 = 5
3108 elif LA35 == 29 or LA35 == 30 or LA35 == 31 or LA35 == 32 or LA35 == 33 or LA35 == 34 or LA35 == 35 or LA35 == 36 or LA35 == 37 or LA35 == 38 or LA35 == 39 or LA35 == 40 or LA35 == 41 or LA35 == 42 or LA35 == 45 or LA35 == 46 or LA35 == 48 or LA35 == 49 or LA35 == 50 or LA35 == 51 or LA35 == 52 or LA35 == 53 or LA35 == 54 or LA35 == 55 or LA35 == 56 or LA35 == 57 or LA35 == 58 or LA35 == 59 or LA35 == 60 or LA35 == 61 or LA35 == 66:
3109 alt35 = 3
3110 elif LA35 == IDENTIFIER:
3111 LA35_29 = self.input.LA(3)
3112
3113 if (self.synpred73()) :
3114 alt35 = 3
3115 elif (self.synpred74()) :
3116 alt35 = 4
3117 else:
3118 if self.backtracking > 0:
3119 self.failed = True
3120 return
3121
3122 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input)
3123
3124 raise nvae
3125
3126 else:
3127 if self.backtracking > 0:
3128 self.failed = True
3129 return
3130
3131 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
3132
3133 raise nvae
3134
3135 else:
3136 if self.backtracking > 0:
3137 self.failed = True
3138 return
3139
3140 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
3141
3142 raise nvae
3143
3144 if alt35 == 1:
3145 # C.g:308:6: '[' constant_expression ']'
3146 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix852)
3147 if self.failed:
3148 return
3149 self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix854)
3150 self.constant_expression()
3151 self.following.pop()
3152 if self.failed:
3153 return
3154 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856)
3155 if self.failed:
3156 return
3157
3158
3159 elif alt35 == 2:
3160 # C.g:309:9: '[' ']'
3161 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866)
3162 if self.failed:
3163 return
3164 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868)
3165 if self.failed:
3166 return
3167
3168
3169 elif alt35 == 3:
3170 # C.g:310:9: '(' parameter_type_list ')'
3171 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix878)
3172 if self.failed:
3173 return
3174 self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix880)
3175 self.parameter_type_list()
3176 self.following.pop()
3177 if self.failed:
3178 return
3179 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882)
3180 if self.failed:
3181 return
3182
3183
3184 elif alt35 == 4:
3185 # C.g:311:9: '(' identifier_list ')'
3186 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix892)
3187 if self.failed:
3188 return
3189 self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix894)
3190 self.identifier_list()
3191 self.following.pop()
3192 if self.failed:
3193 return
3194 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896)
3195 if self.failed:
3196 return
3197
3198
3199 elif alt35 == 5:
3200 # C.g:312:9: '(' ')'
3201 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906)
3202 if self.failed:
3203 return
3204 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908)
3205 if self.failed:
3206 return
3207
3208
3209
3210 except RecognitionException as re:
3211 self.reportError(re)
3212 self.recover(self.input, re)
3213 finally:
3214 if self.backtracking > 0:
3215 self.memoize(self.input, 24, declarator_suffix_StartIndex)
3216
3217 pass
3218
3219 return
3220
3221 # $ANTLR end declarator_suffix
3222
3223
3224 # $ANTLR start pointer
3225 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3226 def pointer(self, ):
3227
3228 pointer_StartIndex = self.input.index()
3229 try:
3230 try:
3231 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
3232 return
3233
3234 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3235 alt38 = 3
3236 LA38_0 = self.input.LA(1)
3237
3238 if (LA38_0 == 66) :
3239 LA38 = self.input.LA(2)
3240 if LA38 == 66:
3241 LA38_2 = self.input.LA(3)
3242
3243 if (self.synpred78()) :
3244 alt38 = 2
3245 elif (True) :
3246 alt38 = 3
3247 else:
3248 if self.backtracking > 0:
3249 self.failed = True
3250 return
3251
3252 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
3253
3254 raise nvae
3255
3256 elif LA38 == 58:
3257 LA38_3 = self.input.LA(3)
3258
3259 if (self.synpred77()) :
3260 alt38 = 1
3261 elif (True) :
3262 alt38 = 3
3263 else:
3264 if self.backtracking > 0:
3265 self.failed = True
3266 return
3267
3268 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
3269
3270 raise nvae
3271
3272 elif LA38 == 59:
3273 LA38_4 = self.input.LA(3)
3274
3275 if (self.synpred77()) :
3276 alt38 = 1
3277 elif (True) :
3278 alt38 = 3
3279 else:
3280 if self.backtracking > 0:
3281 self.failed = True
3282 return
3283
3284 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
3285
3286 raise nvae
3287
3288 elif LA38 == 60:
3289 LA38_5 = self.input.LA(3)
3290
3291 if (self.synpred77()) :
3292 alt38 = 1
3293 elif (True) :
3294 alt38 = 3
3295 else:
3296 if self.backtracking > 0:
3297 self.failed = True
3298 return
3299
3300 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self.input)
3301
3302 raise nvae
3303
3304 elif LA38 == EOF or LA38 == IDENTIFIER or LA38 == 25 or LA38 == 26 or LA38 == 27 or LA38 == 28 or LA38 == 29 or LA38 == 30 or LA38 == 31 or LA38 == 32 or LA38 == 33 or LA38 == 34 or LA38 == 35 or LA38 == 36 or LA38 == 37 or LA38 == 38 or LA38 == 39 or LA38 == 40 or LA38 == 41 or LA38 == 42 or LA38 == 43 or LA38 == 45 or LA38 == 46 or LA38 == 47 or LA38 == 48 or LA38 == 62 or LA38 == 63 or LA38 == 64:
3305 alt38 = 3
3306 elif LA38 == 53:
3307 LA38_21 = self.input.LA(3)
3308
3309 if (self.synpred77()) :
3310 alt38 = 1
3311 elif (True) :
3312 alt38 = 3
3313 else:
3314 if self.backtracking > 0:
3315 self.failed = True
3316 return
3317
3318 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self.input)
3319
3320 raise nvae
3321
3322 elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57 or LA38 == 61:
3323 LA38_29 = self.input.LA(3)
3324
3325 if (self.synpred77()) :
3326 alt38 = 1
3327 elif (True) :
3328 alt38 = 3
3329 else:
3330 if self.backtracking > 0:
3331 self.failed = True
3332 return
3333
3334 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
3335
3336 raise nvae
3337
3338 else:
3339 if self.backtracking > 0:
3340 self.failed = True
3341 return
3342
3343 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
3344
3345 raise nvae
3346
3347 else:
3348 if self.backtracking > 0:
3349 self.failed = True
3350 return
3351
3352 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
3353
3354 raise nvae
3355
3356 if alt38 == 1:
3357 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3358 self.match(self.input, 66, self.FOLLOW_66_in_pointer919)
3359 if self.failed:
3360 return
3361 # C.g:316:8: ( type_qualifier )+
3362 cnt36 = 0
3363 while True: #loop36
3364 alt36 = 2
3365 LA36 = self.input.LA(1)
3366 if LA36 == 58:
3367 LA36_2 = self.input.LA(2)
3368
3369 if (self.synpred75()) :
3370 alt36 = 1
3371
3372
3373 elif LA36 == 59:
3374 LA36_3 = self.input.LA(2)
3375
3376 if (self.synpred75()) :
3377 alt36 = 1
3378
3379
3380 elif LA36 == 60:
3381 LA36_4 = self.input.LA(2)
3382
3383 if (self.synpred75()) :
3384 alt36 = 1
3385
3386
3387 elif LA36 == 53:
3388 LA36_20 = self.input.LA(2)
3389
3390 if (self.synpred75()) :
3391 alt36 = 1
3392
3393
3394 elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57 or LA36 == 61:
3395 LA36_28 = self.input.LA(2)
3396
3397 if (self.synpred75()) :
3398 alt36 = 1
3399
3400
3401
3402 if alt36 == 1:
3403 # C.g:0:0: type_qualifier
3404 self.following.append(self.FOLLOW_type_qualifier_in_pointer921)
3405 self.type_qualifier()
3406 self.following.pop()
3407 if self.failed:
3408 return
3409
3410
3411 else:
3412 if cnt36 >= 1:
3413 break #loop36
3414
3415 if self.backtracking > 0:
3416 self.failed = True
3417 return
3418
3419 eee = EarlyExitException(36, self.input)
3420 raise eee
3421
3422 cnt36 += 1
3423
3424
3425 # C.g:316:24: ( pointer )?
3426 alt37 = 2
3427 LA37_0 = self.input.LA(1)
3428
3429 if (LA37_0 == 66) :
3430 LA37_1 = self.input.LA(2)
3431
3432 if (self.synpred76()) :
3433 alt37 = 1
3434 if alt37 == 1:
3435 # C.g:0:0: pointer
3436 self.following.append(self.FOLLOW_pointer_in_pointer924)
3437 self.pointer()
3438 self.following.pop()
3439 if self.failed:
3440 return
3441
3442
3443
3444
3445
3446 elif alt38 == 2:
3447 # C.g:317:4: '*' pointer
3448 self.match(self.input, 66, self.FOLLOW_66_in_pointer930)
3449 if self.failed:
3450 return
3451 self.following.append(self.FOLLOW_pointer_in_pointer932)
3452 self.pointer()
3453 self.following.pop()
3454 if self.failed:
3455 return
3456
3457
3458 elif alt38 == 3:
3459 # C.g:318:4: '*'
3460 self.match(self.input, 66, self.FOLLOW_66_in_pointer937)
3461 if self.failed:
3462 return
3463
3464
3465
3466 except RecognitionException as re:
3467 self.reportError(re)
3468 self.recover(self.input, re)
3469 finally:
3470 if self.backtracking > 0:
3471 self.memoize(self.input, 25, pointer_StartIndex)
3472
3473 pass
3474
3475 return
3476
3477 # $ANTLR end pointer
3478
3479
3480 # $ANTLR start parameter_type_list
3481 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3482 def parameter_type_list(self, ):
3483
3484 parameter_type_list_StartIndex = self.input.index()
3485 try:
3486 try:
3487 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
3488 return
3489
3490 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3491 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3492 self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list948)
3493 self.parameter_list()
3494 self.following.pop()
3495 if self.failed:
3496 return
3497 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3498 alt40 = 2
3499 LA40_0 = self.input.LA(1)
3500
3501 if (LA40_0 == 27) :
3502 alt40 = 1
3503 if alt40 == 1:
3504 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3505 self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951)
3506 if self.failed:
3507 return
3508 # C.g:322:24: ( 'OPTIONAL' )?
3509 alt39 = 2
3510 LA39_0 = self.input.LA(1)
3511
3512 if (LA39_0 == 53) :
3513 alt39 = 1
3514 if alt39 == 1:
3515 # C.g:322:25: 'OPTIONAL'
3516 self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list954)
3517 if self.failed:
3518 return
3519
3520
3521
3522 self.match(self.input, 67, self.FOLLOW_67_in_parameter_type_list958)
3523 if self.failed:
3524 return
3525
3526
3527
3528
3529
3530
3531
3532 except RecognitionException as re:
3533 self.reportError(re)
3534 self.recover(self.input, re)
3535 finally:
3536 if self.backtracking > 0:
3537 self.memoize(self.input, 26, parameter_type_list_StartIndex)
3538
3539 pass
3540
3541 return
3542
3543 # $ANTLR end parameter_type_list
3544
3545
3546 # $ANTLR start parameter_list
3547 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3548 def parameter_list(self, ):
3549
3550 parameter_list_StartIndex = self.input.index()
3551 try:
3552 try:
3553 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
3554 return
3555
3556 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3557 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3558 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list971)
3559 self.parameter_declaration()
3560 self.following.pop()
3561 if self.failed:
3562 return
3563 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3564 while True: #loop42
3565 alt42 = 2
3566 LA42_0 = self.input.LA(1)
3567
3568 if (LA42_0 == 27) :
3569 LA42_1 = self.input.LA(2)
3570
3571 if (LA42_1 == 53) :
3572 LA42_3 = self.input.LA(3)
3573
3574 if (self.synpred82()) :
3575 alt42 = 1
3576
3577
3578 elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 61) or LA42_1 == 66) :
3579 alt42 = 1
3580
3581
3582
3583
3584 if alt42 == 1:
3585 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3586 self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974)
3587 if self.failed:
3588 return
3589 # C.g:326:31: ( 'OPTIONAL' )?
3590 alt41 = 2
3591 LA41_0 = self.input.LA(1)
3592
3593 if (LA41_0 == 53) :
3594 LA41_1 = self.input.LA(2)
3595
3596 if (self.synpred81()) :
3597 alt41 = 1
3598 if alt41 == 1:
3599 # C.g:326:32: 'OPTIONAL'
3600 self.match(self.input, 53, self.FOLLOW_53_in_parameter_list977)
3601 if self.failed:
3602 return
3603
3604
3605
3606 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list981)
3607 self.parameter_declaration()
3608 self.following.pop()
3609 if self.failed:
3610 return
3611
3612
3613 else:
3614 break #loop42
3615
3616
3617
3618
3619
3620
3621 except RecognitionException as re:
3622 self.reportError(re)
3623 self.recover(self.input, re)
3624 finally:
3625 if self.backtracking > 0:
3626 self.memoize(self.input, 27, parameter_list_StartIndex)
3627
3628 pass
3629
3630 return
3631
3632 # $ANTLR end parameter_list
3633
3634
3635 # $ANTLR start parameter_declaration
3636 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3637 def parameter_declaration(self, ):
3638
3639 parameter_declaration_StartIndex = self.input.index()
3640 try:
3641 try:
3642 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
3643 return
3644
3645 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3646 alt46 = 2
3647 LA46 = self.input.LA(1)
3648 if LA46 == 29 or LA46 == 30 or LA46 == 31 or LA46 == 32 or LA46 == 33 or LA46 == 34 or LA46 == 35 or LA46 == 36 or LA46 == 37 or LA46 == 38 or LA46 == 39 or LA46 == 40 or LA46 == 41 or LA46 == 42 or LA46 == 45 or LA46 == 46 or LA46 == 48 or LA46 == 49 or LA46 == 50 or LA46 == 51 or LA46 == 52 or LA46 == 53 or LA46 == 54 or LA46 == 55 or LA46 == 56 or LA46 == 57 or LA46 == 58 or LA46 == 59 or LA46 == 60 or LA46 == 61:
3649 alt46 = 1
3650 elif LA46 == IDENTIFIER:
3651 LA46_13 = self.input.LA(2)
3652
3653 if (self.synpred86()) :
3654 alt46 = 1
3655 elif (True) :
3656 alt46 = 2
3657 else:
3658 if self.backtracking > 0:
3659 self.failed = True
3660 return
3661
3662 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
3663
3664 raise nvae
3665
3666 elif LA46 == 66:
3667 alt46 = 2
3668 else:
3669 if self.backtracking > 0:
3670 self.failed = True
3671 return
3672
3673 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
3674
3675 raise nvae
3676
3677 if alt46 == 1:
3678 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3679 self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration994)
3680 self.declaration_specifiers()
3681 self.following.pop()
3682 if self.failed:
3683 return
3684 # C.g:330:27: ( declarator | abstract_declarator )*
3685 while True: #loop43
3686 alt43 = 3
3687 LA43 = self.input.LA(1)
3688 if LA43 == 66:
3689 LA43_5 = self.input.LA(2)
3690
3691 if (self.synpred83()) :
3692 alt43 = 1
3693 elif (self.synpred84()) :
3694 alt43 = 2
3695
3696
3697 elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
3698 alt43 = 1
3699 elif LA43 == 62:
3700 LA43 = self.input.LA(2)
3701 if LA43 == 29 or LA43 == 30 or LA43 == 31 or LA43 == 32 or LA43 == 33 or LA43 == 34 or LA43 == 35 or LA43 == 36 or LA43 == 37 or LA43 == 38 or LA43 == 39 or LA43 == 40 or LA43 == 41 or LA43 == 42 or LA43 == 45 or LA43 == 46 or LA43 == 48 or LA43 == 49 or LA43 == 50 or LA43 == 51 or LA43 == 52 or LA43 == 53 or LA43 == 54 or LA43 == 55 or LA43 == 56 or LA43 == 57 or LA43 == 61 or LA43 == 63 or LA43 == 64:
3702 alt43 = 2
3703 elif LA43 == IDENTIFIER:
3704 LA43_37 = self.input.LA(3)
3705
3706 if (self.synpred83()) :
3707 alt43 = 1
3708 elif (self.synpred84()) :
3709 alt43 = 2
3710
3711
3712 elif LA43 == 58:
3713 LA43_38 = self.input.LA(3)
3714
3715 if (self.synpred83()) :
3716 alt43 = 1
3717 elif (self.synpred84()) :
3718 alt43 = 2
3719
3720
3721 elif LA43 == 66:
3722 LA43_39 = self.input.LA(3)
3723
3724 if (self.synpred83()) :
3725 alt43 = 1
3726 elif (self.synpred84()) :
3727 alt43 = 2
3728
3729
3730 elif LA43 == 59:
3731 LA43_40 = self.input.LA(3)
3732
3733 if (self.synpred83()) :
3734 alt43 = 1
3735 elif (self.synpred84()) :
3736 alt43 = 2
3737
3738
3739 elif LA43 == 60:
3740 LA43_41 = self.input.LA(3)
3741
3742 if (self.synpred83()) :
3743 alt43 = 1
3744 elif (self.synpred84()) :
3745 alt43 = 2
3746
3747
3748 elif LA43 == 62:
3749 LA43_43 = self.input.LA(3)
3750
3751 if (self.synpred83()) :
3752 alt43 = 1
3753 elif (self.synpred84()) :
3754 alt43 = 2
3755
3756
3757
3758 elif LA43 == 64:
3759 alt43 = 2
3760
3761 if alt43 == 1:
3762 # C.g:330:28: declarator
3763 self.following.append(self.FOLLOW_declarator_in_parameter_declaration997)
3764 self.declarator()
3765 self.following.pop()
3766 if self.failed:
3767 return
3768
3769
3770 elif alt43 == 2:
3771 # C.g:330:39: abstract_declarator
3772 self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration999)
3773 self.abstract_declarator()
3774 self.following.pop()
3775 if self.failed:
3776 return
3777
3778
3779 else:
3780 break #loop43
3781
3782
3783 # C.g:330:61: ( 'OPTIONAL' )?
3784 alt44 = 2
3785 LA44_0 = self.input.LA(1)
3786
3787 if (LA44_0 == 53) :
3788 alt44 = 1
3789 if alt44 == 1:
3790 # C.g:330:62: 'OPTIONAL'
3791 self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004)
3792 if self.failed:
3793 return
3794
3795
3796
3797
3798
3799 elif alt46 == 2:
3800 # C.g:332:4: ( pointer )* IDENTIFIER
3801 # C.g:332:4: ( pointer )*
3802 while True: #loop45
3803 alt45 = 2
3804 LA45_0 = self.input.LA(1)
3805
3806 if (LA45_0 == 66) :
3807 alt45 = 1
3808
3809
3810 if alt45 == 1:
3811 # C.g:0:0: pointer
3812 self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013)
3813 self.pointer()
3814 self.following.pop()
3815 if self.failed:
3816 return
3817
3818
3819 else:
3820 break #loop45
3821
3822
3823 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016)
3824 if self.failed:
3825 return
3826
3827
3828
3829 except RecognitionException as re:
3830 self.reportError(re)
3831 self.recover(self.input, re)
3832 finally:
3833 if self.backtracking > 0:
3834 self.memoize(self.input, 28, parameter_declaration_StartIndex)
3835
3836 pass
3837
3838 return
3839
3840 # $ANTLR end parameter_declaration
3841
3842
3843 # $ANTLR start identifier_list
3844 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3845 def identifier_list(self, ):
3846
3847 identifier_list_StartIndex = self.input.index()
3848 try:
3849 try:
3850 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
3851 return
3852
3853 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3854 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3855 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1027)
3856 if self.failed:
3857 return
3858 # C.g:337:2: ( ',' IDENTIFIER )*
3859 while True: #loop47
3860 alt47 = 2
3861 LA47_0 = self.input.LA(1)
3862
3863 if (LA47_0 == 27) :
3864 alt47 = 1
3865
3866
3867 if alt47 == 1:
3868 # C.g:337:3: ',' IDENTIFIER
3869 self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1031)
3870 if self.failed:
3871 return
3872 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1033)
3873 if self.failed:
3874 return
3875
3876
3877 else:
3878 break #loop47
3879
3880
3881
3882
3883
3884
3885 except RecognitionException as re:
3886 self.reportError(re)
3887 self.recover(self.input, re)
3888 finally:
3889 if self.backtracking > 0:
3890 self.memoize(self.input, 29, identifier_list_StartIndex)
3891
3892 pass
3893
3894 return
3895
3896 # $ANTLR end identifier_list
3897
3898
3899 # $ANTLR start type_name
3900 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3901 def type_name(self, ):
3902
3903 type_name_StartIndex = self.input.index()
3904 try:
3905 try:
3906 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
3907 return
3908
3909 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3910 alt49 = 2
3911 LA49_0 = self.input.LA(1)
3912
3913 if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 61)) :
3914 alt49 = 1
3915 elif (LA49_0 == IDENTIFIER) :
3916 LA49_13 = self.input.LA(2)
3917
3918 if (self.synpred90()) :
3919 alt49 = 1
3920 elif (True) :
3921 alt49 = 2
3922 else:
3923 if self.backtracking > 0:
3924 self.failed = True
3925 return
3926
3927 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
3928
3929 raise nvae
3930
3931 else:
3932 if self.backtracking > 0:
3933 self.failed = True
3934 return
3935
3936 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
3937
3938 raise nvae
3939
3940 if alt49 == 1:
3941 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3942 self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1046)
3943 self.specifier_qualifier_list()
3944 self.following.pop()
3945 if self.failed:
3946 return
3947 # C.g:341:29: ( abstract_declarator )?
3948 alt48 = 2
3949 LA48_0 = self.input.LA(1)
3950
3951 if (LA48_0 == 62 or LA48_0 == 64 or LA48_0 == 66) :
3952 alt48 = 1
3953 if alt48 == 1:
3954 # C.g:0:0: abstract_declarator
3955 self.following.append(self.FOLLOW_abstract_declarator_in_type_name1048)
3956 self.abstract_declarator()
3957 self.following.pop()
3958 if self.failed:
3959 return
3960
3961
3962
3963
3964
3965 elif alt49 == 2:
3966 # C.g:342:4: type_id
3967 self.following.append(self.FOLLOW_type_id_in_type_name1054)
3968 self.type_id()
3969 self.following.pop()
3970 if self.failed:
3971 return
3972
3973
3974
3975 except RecognitionException as re:
3976 self.reportError(re)
3977 self.recover(self.input, re)
3978 finally:
3979 if self.backtracking > 0:
3980 self.memoize(self.input, 30, type_name_StartIndex)
3981
3982 pass
3983
3984 return
3985
3986 # $ANTLR end type_name
3987
3988
3989 # $ANTLR start abstract_declarator
3990 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3991 def abstract_declarator(self, ):
3992
3993 abstract_declarator_StartIndex = self.input.index()
3994 try:
3995 try:
3996 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
3997 return
3998
3999 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
4000 alt51 = 2
4001 LA51_0 = self.input.LA(1)
4002
4003 if (LA51_0 == 66) :
4004 alt51 = 1
4005 elif (LA51_0 == 62 or LA51_0 == 64) :
4006 alt51 = 2
4007 else:
4008 if self.backtracking > 0:
4009 self.failed = True
4010 return
4011
4012 nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
4013
4014 raise nvae
4015
4016 if alt51 == 1:
4017 # C.g:346:4: pointer ( direct_abstract_declarator )?
4018 self.following.append(self.FOLLOW_pointer_in_abstract_declarator1065)
4019 self.pointer()
4020 self.following.pop()
4021 if self.failed:
4022 return
4023 # C.g:346:12: ( direct_abstract_declarator )?
4024 alt50 = 2
4025 LA50_0 = self.input.LA(1)
4026
4027 if (LA50_0 == 62) :
4028 LA50 = self.input.LA(2)
4029 if LA50 == 63:
4030 LA50_12 = self.input.LA(3)
4031
4032 if (self.synpred91()) :
4033 alt50 = 1
4034 elif LA50 == 58:
4035 LA50_13 = self.input.LA(3)
4036
4037 if (self.synpred91()) :
4038 alt50 = 1
4039 elif LA50 == 66:
4040 LA50_14 = self.input.LA(3)
4041
4042 if (self.synpred91()) :
4043 alt50 = 1
4044 elif LA50 == 59:
4045 LA50_15 = self.input.LA(3)
4046
4047 if (self.synpred91()) :
4048 alt50 = 1
4049 elif LA50 == 60:
4050 LA50_16 = self.input.LA(3)
4051
4052 if (self.synpred91()) :
4053 alt50 = 1
4054 elif LA50 == IDENTIFIER:
4055 LA50_17 = self.input.LA(3)
4056
4057 if (self.synpred91()) :
4058 alt50 = 1
4059 elif LA50 == 62:
4060 LA50_18 = self.input.LA(3)
4061
4062 if (self.synpred91()) :
4063 alt50 = 1
4064 elif LA50 == 64:
4065 LA50_19 = self.input.LA(3)
4066
4067 if (self.synpred91()) :
4068 alt50 = 1
4069 elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
4070 LA50_20 = self.input.LA(3)
4071
4072 if (self.synpred91()) :
4073 alt50 = 1
4074 elif LA50 == 34:
4075 LA50_21 = self.input.LA(3)
4076
4077 if (self.synpred91()) :
4078 alt50 = 1
4079 elif LA50 == 35:
4080 LA50_22 = self.input.LA(3)
4081
4082 if (self.synpred91()) :
4083 alt50 = 1
4084 elif LA50 == 36:
4085 LA50_23 = self.input.LA(3)
4086
4087 if (self.synpred91()) :
4088 alt50 = 1
4089 elif LA50 == 37:
4090 LA50_24 = self.input.LA(3)
4091
4092 if (self.synpred91()) :
4093 alt50 = 1
4094 elif LA50 == 38:
4095 LA50_25 = self.input.LA(3)
4096
4097 if (self.synpred91()) :
4098 alt50 = 1
4099 elif LA50 == 39:
4100 LA50_26 = self.input.LA(3)
4101
4102 if (self.synpred91()) :
4103 alt50 = 1
4104 elif LA50 == 40:
4105 LA50_27 = self.input.LA(3)
4106
4107 if (self.synpred91()) :
4108 alt50 = 1
4109 elif LA50 == 41:
4110 LA50_28 = self.input.LA(3)
4111
4112 if (self.synpred91()) :
4113 alt50 = 1
4114 elif LA50 == 42:
4115 LA50_29 = self.input.LA(3)
4116
4117 if (self.synpred91()) :
4118 alt50 = 1
4119 elif LA50 == 45 or LA50 == 46:
4120 LA50_30 = self.input.LA(3)
4121
4122 if (self.synpred91()) :
4123 alt50 = 1
4124 elif LA50 == 48:
4125 LA50_31 = self.input.LA(3)
4126
4127 if (self.synpred91()) :
4128 alt50 = 1
4129 elif LA50 == 49 or LA50 == 50 or LA50 == 51 or LA50 == 52 or LA50 == 53 or LA50 == 54 or LA50 == 55 or LA50 == 56 or LA50 == 57 or LA50 == 61:
4130 LA50_32 = self.input.LA(3)
4131
4132 if (self.synpred91()) :
4133 alt50 = 1
4134 elif (LA50_0 == 64) :
4135 LA50 = self.input.LA(2)
4136 if LA50 == 65:
4137 LA50_33 = self.input.LA(3)
4138
4139 if (self.synpred91()) :
4140 alt50 = 1
4141 elif LA50 == 62:
4142 LA50_34 = self.input.LA(3)
4143
4144 if (self.synpred91()) :
4145 alt50 = 1
4146 elif LA50 == IDENTIFIER:
4147 LA50_35 = self.input.LA(3)
4148
4149 if (self.synpred91()) :
4150 alt50 = 1
4151 elif LA50 == HEX_LITERAL:
4152 LA50_36 = self.input.LA(3)
4153
4154 if (self.synpred91()) :
4155 alt50 = 1
4156 elif LA50 == OCTAL_LITERAL:
4157 LA50_37 = self.input.LA(3)
4158
4159 if (self.synpred91()) :
4160 alt50 = 1
4161 elif LA50 == DECIMAL_LITERAL:
4162 LA50_38 = self.input.LA(3)
4163
4164 if (self.synpred91()) :
4165 alt50 = 1
4166 elif LA50 == CHARACTER_LITERAL:
4167 LA50_39 = self.input.LA(3)
4168
4169 if (self.synpred91()) :
4170 alt50 = 1
4171 elif LA50 == STRING_LITERAL:
4172 LA50_40 = self.input.LA(3)
4173
4174 if (self.synpred91()) :
4175 alt50 = 1
4176 elif LA50 == FLOATING_POINT_LITERAL:
4177 LA50_41 = self.input.LA(3)
4178
4179 if (self.synpred91()) :
4180 alt50 = 1
4181 elif LA50 == 72:
4182 LA50_42 = self.input.LA(3)
4183
4184 if (self.synpred91()) :
4185 alt50 = 1
4186 elif LA50 == 73:
4187 LA50_43 = self.input.LA(3)
4188
4189 if (self.synpred91()) :
4190 alt50 = 1
4191 elif LA50 == 66 or LA50 == 68 or LA50 == 69 or LA50 == 77 or LA50 == 78 or LA50 == 79:
4192 LA50_44 = self.input.LA(3)
4193
4194 if (self.synpred91()) :
4195 alt50 = 1
4196 elif LA50 == 74:
4197 LA50_45 = self.input.LA(3)
4198
4199 if (self.synpred91()) :
4200 alt50 = 1
4201 if alt50 == 1:
4202 # C.g:0:0: direct_abstract_declarator
4203 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067)
4204 self.direct_abstract_declarator()
4205 self.following.pop()
4206 if self.failed:
4207 return
4208
4209
4210
4211
4212
4213 elif alt51 == 2:
4214 # C.g:347:4: direct_abstract_declarator
4215 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073)
4216 self.direct_abstract_declarator()
4217 self.following.pop()
4218 if self.failed:
4219 return
4220
4221
4222
4223 except RecognitionException as re:
4224 self.reportError(re)
4225 self.recover(self.input, re)
4226 finally:
4227 if self.backtracking > 0:
4228 self.memoize(self.input, 31, abstract_declarator_StartIndex)
4229
4230 pass
4231
4232 return
4233
4234 # $ANTLR end abstract_declarator
4235
4236
4237 # $ANTLR start direct_abstract_declarator
4238 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4239 def direct_abstract_declarator(self, ):
4240
4241 direct_abstract_declarator_StartIndex = self.input.index()
4242 try:
4243 try:
4244 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
4245 return
4246
4247 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4248 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4249 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4250 alt52 = 2
4251 LA52_0 = self.input.LA(1)
4252
4253 if (LA52_0 == 62) :
4254 LA52 = self.input.LA(2)
4255 if LA52 == IDENTIFIER or LA52 == 29 or LA52 == 30 or LA52 == 31 or LA52 == 32 or LA52 == 33 or LA52 == 34 or LA52 == 35 or LA52 == 36 or LA52 == 37 or LA52 == 38 or LA52 == 39 or LA52 == 40 or LA52 == 41 or LA52 == 42 or LA52 == 45 or LA52 == 46 or LA52 == 48 or LA52 == 49 or LA52 == 50 or LA52 == 51 or LA52 == 52 or LA52 == 53 or LA52 == 54 or LA52 == 55 or LA52 == 56 or LA52 == 57 or LA52 == 58 or LA52 == 59 or LA52 == 60 or LA52 == 61 or LA52 == 63:
4256 alt52 = 2
4257 elif LA52 == 66:
4258 LA52_18 = self.input.LA(3)
4259
4260 if (self.synpred93()) :
4261 alt52 = 1
4262 elif (True) :
4263 alt52 = 2
4264 else:
4265 if self.backtracking > 0:
4266 self.failed = True
4267 return
4268
4269 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
4270
4271 raise nvae
4272
4273 elif LA52 == 62 or LA52 == 64:
4274 alt52 = 1
4275 else:
4276 if self.backtracking > 0:
4277 self.failed = True
4278 return
4279
4280 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
4281
4282 raise nvae
4283
4284 elif (LA52_0 == 64) :
4285 alt52 = 2
4286 else:
4287 if self.backtracking > 0:
4288 self.failed = True
4289 return
4290
4291 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
4292
4293 raise nvae
4294
4295 if alt52 == 1:
4296 # C.g:351:6: '(' abstract_declarator ')'
4297 self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1086)
4298 if self.failed:
4299 return
4300 self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088)
4301 self.abstract_declarator()
4302 self.following.pop()
4303 if self.failed:
4304 return
4305 self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090)
4306 if self.failed:
4307 return
4308
4309
4310 elif alt52 == 2:
4311 # C.g:351:36: abstract_declarator_suffix
4312 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094)
4313 self.abstract_declarator_suffix()
4314 self.following.pop()
4315 if self.failed:
4316 return
4317
4318
4319
4320 # C.g:351:65: ( abstract_declarator_suffix )*
4321 while True: #loop53
4322 alt53 = 2
4323 LA53_0 = self.input.LA(1)
4324
4325 if (LA53_0 == 62) :
4326 LA53 = self.input.LA(2)
4327 if LA53 == 63:
4328 LA53_12 = self.input.LA(3)
4329
4330 if (self.synpred94()) :
4331 alt53 = 1
4332
4333
4334 elif LA53 == 58:
4335 LA53_13 = self.input.LA(3)
4336
4337 if (self.synpred94()) :
4338 alt53 = 1
4339
4340
4341 elif LA53 == 66:
4342 LA53_14 = self.input.LA(3)
4343
4344 if (self.synpred94()) :
4345 alt53 = 1
4346
4347
4348 elif LA53 == 59:
4349 LA53_15 = self.input.LA(3)
4350
4351 if (self.synpred94()) :
4352 alt53 = 1
4353
4354
4355 elif LA53 == 60:
4356 LA53_16 = self.input.LA(3)
4357
4358 if (self.synpred94()) :
4359 alt53 = 1
4360
4361
4362 elif LA53 == IDENTIFIER:
4363 LA53_17 = self.input.LA(3)
4364
4365 if (self.synpred94()) :
4366 alt53 = 1
4367
4368
4369 elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33:
4370 LA53_19 = self.input.LA(3)
4371
4372 if (self.synpred94()) :
4373 alt53 = 1
4374
4375
4376 elif LA53 == 34:
4377 LA53_20 = self.input.LA(3)
4378
4379 if (self.synpred94()) :
4380 alt53 = 1
4381
4382
4383 elif LA53 == 35:
4384 LA53_21 = self.input.LA(3)
4385
4386 if (self.synpred94()) :
4387 alt53 = 1
4388
4389
4390 elif LA53 == 36:
4391 LA53_22 = self.input.LA(3)
4392
4393 if (self.synpred94()) :
4394 alt53 = 1
4395
4396
4397 elif LA53 == 37:
4398 LA53_23 = self.input.LA(3)
4399
4400 if (self.synpred94()) :
4401 alt53 = 1
4402
4403
4404 elif LA53 == 38:
4405 LA53_24 = self.input.LA(3)
4406
4407 if (self.synpred94()) :
4408 alt53 = 1
4409
4410
4411 elif LA53 == 39:
4412 LA53_25 = self.input.LA(3)
4413
4414 if (self.synpred94()) :
4415 alt53 = 1
4416
4417
4418 elif LA53 == 40:
4419 LA53_26 = self.input.LA(3)
4420
4421 if (self.synpred94()) :
4422 alt53 = 1
4423
4424
4425 elif LA53 == 41:
4426 LA53_27 = self.input.LA(3)
4427
4428 if (self.synpred94()) :
4429 alt53 = 1
4430
4431
4432 elif LA53 == 42:
4433 LA53_28 = self.input.LA(3)
4434
4435 if (self.synpred94()) :
4436 alt53 = 1
4437
4438
4439 elif LA53 == 45 or LA53 == 46:
4440 LA53_29 = self.input.LA(3)
4441
4442 if (self.synpred94()) :
4443 alt53 = 1
4444
4445
4446 elif LA53 == 48:
4447 LA53_30 = self.input.LA(3)
4448
4449 if (self.synpred94()) :
4450 alt53 = 1
4451
4452
4453 elif LA53 == 49 or LA53 == 50 or LA53 == 51 or LA53 == 52 or LA53 == 53 or LA53 == 54 or LA53 == 55 or LA53 == 56 or LA53 == 57 or LA53 == 61:
4454 LA53_31 = self.input.LA(3)
4455
4456 if (self.synpred94()) :
4457 alt53 = 1
4458
4459
4460
4461 elif (LA53_0 == 64) :
4462 LA53 = self.input.LA(2)
4463 if LA53 == 65:
4464 LA53_33 = self.input.LA(3)
4465
4466 if (self.synpred94()) :
4467 alt53 = 1
4468
4469
4470 elif LA53 == 62:
4471 LA53_34 = self.input.LA(3)
4472
4473 if (self.synpred94()) :
4474 alt53 = 1
4475
4476
4477 elif LA53 == IDENTIFIER:
4478 LA53_35 = self.input.LA(3)
4479
4480 if (self.synpred94()) :
4481 alt53 = 1
4482
4483
4484 elif LA53 == HEX_LITERAL:
4485 LA53_36 = self.input.LA(3)
4486
4487 if (self.synpred94()) :
4488 alt53 = 1
4489
4490
4491 elif LA53 == OCTAL_LITERAL:
4492 LA53_37 = self.input.LA(3)
4493
4494 if (self.synpred94()) :
4495 alt53 = 1
4496
4497
4498 elif LA53 == DECIMAL_LITERAL:
4499 LA53_38 = self.input.LA(3)
4500
4501 if (self.synpred94()) :
4502 alt53 = 1
4503
4504
4505 elif LA53 == CHARACTER_LITERAL:
4506 LA53_39 = self.input.LA(3)
4507
4508 if (self.synpred94()) :
4509 alt53 = 1
4510
4511
4512 elif LA53 == STRING_LITERAL:
4513 LA53_40 = self.input.LA(3)
4514
4515 if (self.synpred94()) :
4516 alt53 = 1
4517
4518
4519 elif LA53 == FLOATING_POINT_LITERAL:
4520 LA53_41 = self.input.LA(3)
4521
4522 if (self.synpred94()) :
4523 alt53 = 1
4524
4525
4526 elif LA53 == 72:
4527 LA53_42 = self.input.LA(3)
4528
4529 if (self.synpred94()) :
4530 alt53 = 1
4531
4532
4533 elif LA53 == 73:
4534 LA53_43 = self.input.LA(3)
4535
4536 if (self.synpred94()) :
4537 alt53 = 1
4538
4539
4540 elif LA53 == 66 or LA53 == 68 or LA53 == 69 or LA53 == 77 or LA53 == 78 or LA53 == 79:
4541 LA53_44 = self.input.LA(3)
4542
4543 if (self.synpred94()) :
4544 alt53 = 1
4545
4546
4547 elif LA53 == 74:
4548 LA53_45 = self.input.LA(3)
4549
4550 if (self.synpred94()) :
4551 alt53 = 1
4552
4553
4554
4555
4556
4557 if alt53 == 1:
4558 # C.g:0:0: abstract_declarator_suffix
4559 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098)
4560 self.abstract_declarator_suffix()
4561 self.following.pop()
4562 if self.failed:
4563 return
4564
4565
4566 else:
4567 break #loop53
4568
4569
4570
4571
4572
4573
4574 except RecognitionException as re:
4575 self.reportError(re)
4576 self.recover(self.input, re)
4577 finally:
4578 if self.backtracking > 0:
4579 self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
4580
4581 pass
4582
4583 return
4584
4585 # $ANTLR end direct_abstract_declarator
4586
4587
4588 # $ANTLR start abstract_declarator_suffix
4589 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4590 def abstract_declarator_suffix(self, ):
4591
4592 abstract_declarator_suffix_StartIndex = self.input.index()
4593 try:
4594 try:
4595 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
4596 return
4597
4598 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4599 alt54 = 4
4600 LA54_0 = self.input.LA(1)
4601
4602 if (LA54_0 == 64) :
4603 LA54_1 = self.input.LA(2)
4604
4605 if (LA54_1 == 65) :
4606 alt54 = 1
4607 elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 62 or LA54_1 == 66 or (68 <= LA54_1 <= 69) or (72 <= LA54_1 <= 74) or (77 <= LA54_1 <= 79)) :
4608 alt54 = 2
4609 else:
4610 if self.backtracking > 0:
4611 self.failed = True
4612 return
4613
4614 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
4615
4616 raise nvae
4617
4618 elif (LA54_0 == 62) :
4619 LA54_2 = self.input.LA(2)
4620
4621 if (LA54_2 == 63) :
4622 alt54 = 3
4623 elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 61) or LA54_2 == 66) :
4624 alt54 = 4
4625 else:
4626 if self.backtracking > 0:
4627 self.failed = True
4628 return
4629
4630 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
4631
4632 raise nvae
4633
4634 else:
4635 if self.backtracking > 0:
4636 self.failed = True
4637 return
4638
4639 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
4640
4641 raise nvae
4642
4643 if alt54 == 1:
4644 # C.g:355:4: '[' ']'
4645 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110)
4646 if self.failed:
4647 return
4648 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112)
4649 if self.failed:
4650 return
4651
4652
4653 elif alt54 == 2:
4654 # C.g:356:4: '[' constant_expression ']'
4655 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1117)
4656 if self.failed:
4657 return
4658 self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1119)
4659 self.constant_expression()
4660 self.following.pop()
4661 if self.failed:
4662 return
4663 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121)
4664 if self.failed:
4665 return
4666
4667
4668 elif alt54 == 3:
4669 # C.g:357:4: '(' ')'
4670 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126)
4671 if self.failed:
4672 return
4673 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128)
4674 if self.failed:
4675 return
4676
4677
4678 elif alt54 == 4:
4679 # C.g:358:4: '(' parameter_type_list ')'
4680 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1133)
4681 if self.failed:
4682 return
4683 self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135)
4684 self.parameter_type_list()
4685 self.following.pop()
4686 if self.failed:
4687 return
4688 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137)
4689 if self.failed:
4690 return
4691
4692
4693
4694 except RecognitionException as re:
4695 self.reportError(re)
4696 self.recover(self.input, re)
4697 finally:
4698 if self.backtracking > 0:
4699 self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
4700
4701 pass
4702
4703 return
4704
4705 # $ANTLR end abstract_declarator_suffix
4706
4707
4708 # $ANTLR start initializer
4709 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4710 def initializer(self, ):
4711
4712 initializer_StartIndex = self.input.index()
4713 try:
4714 try:
4715 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
4716 return
4717
4718 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4719 alt56 = 2
4720 LA56_0 = self.input.LA(1)
4721
4722 if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 62 or LA56_0 == 66 or (68 <= LA56_0 <= 69) or (72 <= LA56_0 <= 74) or (77 <= LA56_0 <= 79)) :
4723 alt56 = 1
4724 elif (LA56_0 == 43) :
4725 alt56 = 2
4726 else:
4727 if self.backtracking > 0:
4728 self.failed = True
4729 return
4730
4731 nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
4732
4733 raise nvae
4734
4735 if alt56 == 1:
4736 # C.g:363:4: assignment_expression
4737 self.following.append(self.FOLLOW_assignment_expression_in_initializer1150)
4738 self.assignment_expression()
4739 self.following.pop()
4740 if self.failed:
4741 return
4742
4743
4744 elif alt56 == 2:
4745 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4746 self.match(self.input, 43, self.FOLLOW_43_in_initializer1155)
4747 if self.failed:
4748 return
4749 self.following.append(self.FOLLOW_initializer_list_in_initializer1157)
4750 self.initializer_list()
4751 self.following.pop()
4752 if self.failed:
4753 return
4754 # C.g:364:25: ( ',' )?
4755 alt55 = 2
4756 LA55_0 = self.input.LA(1)
4757
4758 if (LA55_0 == 27) :
4759 alt55 = 1
4760 if alt55 == 1:
4761 # C.g:0:0: ','
4762 self.match(self.input, 27, self.FOLLOW_27_in_initializer1159)
4763 if self.failed:
4764 return
4765
4766
4767
4768 self.match(self.input, 44, self.FOLLOW_44_in_initializer1162)
4769 if self.failed:
4770 return
4771
4772
4773
4774 except RecognitionException as re:
4775 self.reportError(re)
4776 self.recover(self.input, re)
4777 finally:
4778 if self.backtracking > 0:
4779 self.memoize(self.input, 34, initializer_StartIndex)
4780
4781 pass
4782
4783 return
4784
4785 # $ANTLR end initializer
4786
4787
4788 # $ANTLR start initializer_list
4789 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4790 def initializer_list(self, ):
4791
4792 initializer_list_StartIndex = self.input.index()
4793 try:
4794 try:
4795 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
4796 return
4797
4798 # C.g:368:2: ( initializer ( ',' initializer )* )
4799 # C.g:368:4: initializer ( ',' initializer )*
4800 self.following.append(self.FOLLOW_initializer_in_initializer_list1173)
4801 self.initializer()
4802 self.following.pop()
4803 if self.failed:
4804 return
4805 # C.g:368:16: ( ',' initializer )*
4806 while True: #loop57
4807 alt57 = 2
4808 LA57_0 = self.input.LA(1)
4809
4810 if (LA57_0 == 27) :
4811 LA57_1 = self.input.LA(2)
4812
4813 if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 62 or LA57_1 == 66 or (68 <= LA57_1 <= 69) or (72 <= LA57_1 <= 74) or (77 <= LA57_1 <= 79)) :
4814 alt57 = 1
4815
4816
4817
4818
4819 if alt57 == 1:
4820 # C.g:368:17: ',' initializer
4821 self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1176)
4822 if self.failed:
4823 return
4824 self.following.append(self.FOLLOW_initializer_in_initializer_list1178)
4825 self.initializer()
4826 self.following.pop()
4827 if self.failed:
4828 return
4829
4830
4831 else:
4832 break #loop57
4833
4834
4835
4836
4837
4838
4839 except RecognitionException as re:
4840 self.reportError(re)
4841 self.recover(self.input, re)
4842 finally:
4843 if self.backtracking > 0:
4844 self.memoize(self.input, 35, initializer_list_StartIndex)
4845
4846 pass
4847
4848 return
4849
4850 # $ANTLR end initializer_list
4851
4852 class argument_expression_list_return(object):
4853 def __init__(self):
4854 self.start = None
4855 self.stop = None
4856
4857
4858
4859 # $ANTLR start argument_expression_list
4860 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4861 def argument_expression_list(self, ):
4862
4863 retval = self.argument_expression_list_return()
4864 retval.start = self.input.LT(1)
4865 argument_expression_list_StartIndex = self.input.index()
4866 try:
4867 try:
4868 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
4869 return retval
4870
4871 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4872 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4873 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1196)
4874 self.assignment_expression()
4875 self.following.pop()
4876 if self.failed:
4877 return retval
4878 # C.g:374:28: ( 'OPTIONAL' )?
4879 alt58 = 2
4880 LA58_0 = self.input.LA(1)
4881
4882 if (LA58_0 == 53) :
4883 alt58 = 1
4884 if alt58 == 1:
4885 # C.g:374:29: 'OPTIONAL'
4886 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199)
4887 if self.failed:
4888 return retval
4889
4890
4891
4892 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4893 while True: #loop60
4894 alt60 = 2
4895 LA60_0 = self.input.LA(1)
4896
4897 if (LA60_0 == 27) :
4898 alt60 = 1
4899
4900
4901 if alt60 == 1:
4902 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4903 self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1204)
4904 if self.failed:
4905 return retval
4906 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1206)
4907 self.assignment_expression()
4908 self.following.pop()
4909 if self.failed:
4910 return retval
4911 # C.g:374:69: ( 'OPTIONAL' )?
4912 alt59 = 2
4913 LA59_0 = self.input.LA(1)
4914
4915 if (LA59_0 == 53) :
4916 alt59 = 1
4917 if alt59 == 1:
4918 # C.g:374:70: 'OPTIONAL'
4919 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209)
4920 if self.failed:
4921 return retval
4922
4923
4924
4925
4926
4927 else:
4928 break #loop60
4929
4930
4931
4932
4933
4934 retval.stop = self.input.LT(-1)
4935
4936
4937 except RecognitionException as re:
4938 self.reportError(re)
4939 self.recover(self.input, re)
4940 finally:
4941 if self.backtracking > 0:
4942 self.memoize(self.input, 36, argument_expression_list_StartIndex)
4943
4944 pass
4945
4946 return retval
4947
4948 # $ANTLR end argument_expression_list
4949
4950
4951 # $ANTLR start additive_expression
4952 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4953 def additive_expression(self, ):
4954
4955 additive_expression_StartIndex = self.input.index()
4956 try:
4957 try:
4958 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
4959 return
4960
4961 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4962 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4963 # C.g:378:4: ( multiplicative_expression )
4964 # C.g:378:5: multiplicative_expression
4965 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1225)
4966 self.multiplicative_expression()
4967 self.following.pop()
4968 if self.failed:
4969 return
4970
4971
4972
4973 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4974 while True: #loop61
4975 alt61 = 3
4976 LA61_0 = self.input.LA(1)
4977
4978 if (LA61_0 == 68) :
4979 alt61 = 1
4980 elif (LA61_0 == 69) :
4981 alt61 = 2
4982
4983
4984 if alt61 == 1:
4985 # C.g:378:33: '+' multiplicative_expression
4986 self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1229)
4987 if self.failed:
4988 return
4989 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1231)
4990 self.multiplicative_expression()
4991 self.following.pop()
4992 if self.failed:
4993 return
4994
4995
4996 elif alt61 == 2:
4997 # C.g:378:65: '-' multiplicative_expression
4998 self.match(self.input, 69, self.FOLLOW_69_in_additive_expression1235)
4999 if self.failed:
5000 return
5001 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1237)
5002 self.multiplicative_expression()
5003 self.following.pop()
5004 if self.failed:
5005 return
5006
5007
5008 else:
5009 break #loop61
5010
5011
5012
5013
5014
5015
5016 except RecognitionException as re:
5017 self.reportError(re)
5018 self.recover(self.input, re)
5019 finally:
5020 if self.backtracking > 0:
5021 self.memoize(self.input, 37, additive_expression_StartIndex)
5022
5023 pass
5024
5025 return
5026
5027 # $ANTLR end additive_expression
5028
5029
5030 # $ANTLR start multiplicative_expression
5031 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5032 def multiplicative_expression(self, ):
5033
5034 multiplicative_expression_StartIndex = self.input.index()
5035 try:
5036 try:
5037 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
5038 return
5039
5040 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5041 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5042 # C.g:382:4: ( cast_expression )
5043 # C.g:382:5: cast_expression
5044 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1251)
5045 self.cast_expression()
5046 self.following.pop()
5047 if self.failed:
5048 return
5049
5050
5051
5052 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5053 while True: #loop62
5054 alt62 = 4
5055 LA62 = self.input.LA(1)
5056 if LA62 == 66:
5057 alt62 = 1
5058 elif LA62 == 70:
5059 alt62 = 2
5060 elif LA62 == 71:
5061 alt62 = 3
5062
5063 if alt62 == 1:
5064 # C.g:382:23: '*' cast_expression
5065 self.match(self.input, 66, self.FOLLOW_66_in_multiplicative_expression1255)
5066 if self.failed:
5067 return
5068 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1257)
5069 self.cast_expression()
5070 self.following.pop()
5071 if self.failed:
5072 return
5073
5074
5075 elif alt62 == 2:
5076 # C.g:382:45: '/' cast_expression
5077 self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1261)
5078 if self.failed:
5079 return
5080 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1263)
5081 self.cast_expression()
5082 self.following.pop()
5083 if self.failed:
5084 return
5085
5086
5087 elif alt62 == 3:
5088 # C.g:382:67: '%' cast_expression
5089 self.match(self.input, 71, self.FOLLOW_71_in_multiplicative_expression1267)
5090 if self.failed:
5091 return
5092 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1269)
5093 self.cast_expression()
5094 self.following.pop()
5095 if self.failed:
5096 return
5097
5098
5099 else:
5100 break #loop62
5101
5102
5103
5104
5105
5106
5107 except RecognitionException as re:
5108 self.reportError(re)
5109 self.recover(self.input, re)
5110 finally:
5111 if self.backtracking > 0:
5112 self.memoize(self.input, 38, multiplicative_expression_StartIndex)
5113
5114 pass
5115
5116 return
5117
5118 # $ANTLR end multiplicative_expression
5119
5120
5121 # $ANTLR start cast_expression
5122 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5123 def cast_expression(self, ):
5124
5125 cast_expression_StartIndex = self.input.index()
5126 try:
5127 try:
5128 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
5129 return
5130
5131 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5132 alt63 = 2
5133 LA63_0 = self.input.LA(1)
5134
5135 if (LA63_0 == 62) :
5136 LA63 = self.input.LA(2)
5137 if LA63 == 34 or LA63 == 35 or LA63 == 36 or LA63 == 37 or LA63 == 38 or LA63 == 39 or LA63 == 40 or LA63 == 41 or LA63 == 42 or LA63 == 45 or LA63 == 46 or LA63 == 48 or LA63 == 49 or LA63 == 50 or LA63 == 51 or LA63 == 52 or LA63 == 53 or LA63 == 54 or LA63 == 55 or LA63 == 56 or LA63 == 57 or LA63 == 58 or LA63 == 59 or LA63 == 60 or LA63 == 61:
5138 alt63 = 1
5139 elif LA63 == IDENTIFIER:
5140 LA63_25 = self.input.LA(3)
5141
5142 if (self.synpred109()) :
5143 alt63 = 1
5144 elif (True) :
5145 alt63 = 2
5146 else:
5147 if self.backtracking > 0:
5148 self.failed = True
5149 return
5150
5151 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self.input)
5152
5153 raise nvae
5154
5155 elif LA63 == HEX_LITERAL or LA63 == OCTAL_LITERAL or LA63 == DECIMAL_LITERAL or LA63 == CHARACTER_LITERAL or LA63 == STRING_LITERAL or LA63 == FLOATING_POINT_LITERAL or LA63 == 62 or LA63 == 66 or LA63 == 68 or LA63 == 69 or LA63 == 72 or LA63 == 73 or LA63 == 74 or LA63 == 77 or LA63 == 78 or LA63 == 79:
5156 alt63 = 2
5157 else:
5158 if self.backtracking > 0:
5159 self.failed = True
5160 return
5161
5162 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
5163
5164 raise nvae
5165
5166 elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 66 or (68 <= LA63_0 <= 69) or (72 <= LA63_0 <= 74) or (77 <= LA63_0 <= 79)) :
5167 alt63 = 2
5168 else:
5169 if self.backtracking > 0:
5170 self.failed = True
5171 return
5172
5173 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
5174
5175 raise nvae
5176
5177 if alt63 == 1:
5178 # C.g:386:4: '(' type_name ')' cast_expression
5179 self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1282)
5180 if self.failed:
5181 return
5182 self.following.append(self.FOLLOW_type_name_in_cast_expression1284)
5183 self.type_name()
5184 self.following.pop()
5185 if self.failed:
5186 return
5187 self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286)
5188 if self.failed:
5189 return
5190 self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288)
5191 self.cast_expression()
5192 self.following.pop()
5193 if self.failed:
5194 return
5195
5196
5197 elif alt63 == 2:
5198 # C.g:387:4: unary_expression
5199 self.following.append(self.FOLLOW_unary_expression_in_cast_expression1293)
5200 self.unary_expression()
5201 self.following.pop()
5202 if self.failed:
5203 return
5204
5205
5206
5207 except RecognitionException as re:
5208 self.reportError(re)
5209 self.recover(self.input, re)
5210 finally:
5211 if self.backtracking > 0:
5212 self.memoize(self.input, 39, cast_expression_StartIndex)
5213
5214 pass
5215
5216 return
5217
5218 # $ANTLR end cast_expression
5219
5220
5221 # $ANTLR start unary_expression
5222 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5223 def unary_expression(self, ):
5224
5225 unary_expression_StartIndex = self.input.index()
5226 try:
5227 try:
5228 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
5229 return
5230
5231 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5232 alt64 = 6
5233 LA64 = self.input.LA(1)
5234 if LA64 == IDENTIFIER or LA64 == HEX_LITERAL or LA64 == OCTAL_LITERAL or LA64 == DECIMAL_LITERAL or LA64 == CHARACTER_LITERAL or LA64 == STRING_LITERAL or LA64 == FLOATING_POINT_LITERAL or LA64 == 62:
5235 alt64 = 1
5236 elif LA64 == 72:
5237 alt64 = 2
5238 elif LA64 == 73:
5239 alt64 = 3
5240 elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79:
5241 alt64 = 4
5242 elif LA64 == 74:
5243 LA64_12 = self.input.LA(2)
5244
5245 if (LA64_12 == 62) :
5246 LA64_13 = self.input.LA(3)
5247
5248 if (self.synpred114()) :
5249 alt64 = 5
5250 elif (True) :
5251 alt64 = 6
5252 else:
5253 if self.backtracking > 0:
5254 self.failed = True
5255 return
5256
5257 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self.input)
5258
5259 raise nvae
5260
5261 elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 66 or (68 <= LA64_12 <= 69) or (72 <= LA64_12 <= 74) or (77 <= LA64_12 <= 79)) :
5262 alt64 = 5
5263 else:
5264 if self.backtracking > 0:
5265 self.failed = True
5266 return
5267
5268 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self.input)
5269
5270 raise nvae
5271
5272 else:
5273 if self.backtracking > 0:
5274 self.failed = True
5275 return
5276
5277 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self.input)
5278
5279 raise nvae
5280
5281 if alt64 == 1:
5282 # C.g:391:4: postfix_expression
5283 self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304)
5284 self.postfix_expression()
5285 self.following.pop()
5286 if self.failed:
5287 return
5288
5289
5290 elif alt64 == 2:
5291 # C.g:392:4: '++' unary_expression
5292 self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1309)
5293 if self.failed:
5294 return
5295 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1311)
5296 self.unary_expression()
5297 self.following.pop()
5298 if self.failed:
5299 return
5300
5301
5302 elif alt64 == 3:
5303 # C.g:393:4: '--' unary_expression
5304 self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1316)
5305 if self.failed:
5306 return
5307 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1318)
5308 self.unary_expression()
5309 self.following.pop()
5310 if self.failed:
5311 return
5312
5313
5314 elif alt64 == 4:
5315 # C.g:394:4: unary_operator cast_expression
5316 self.following.append(self.FOLLOW_unary_operator_in_unary_expression1323)
5317 self.unary_operator()
5318 self.following.pop()
5319 if self.failed:
5320 return
5321 self.following.append(self.FOLLOW_cast_expression_in_unary_expression1325)
5322 self.cast_expression()
5323 self.following.pop()
5324 if self.failed:
5325 return
5326
5327
5328 elif alt64 == 5:
5329 # C.g:395:4: 'sizeof' unary_expression
5330 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1330)
5331 if self.failed:
5332 return
5333 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1332)
5334 self.unary_expression()
5335 self.following.pop()
5336 if self.failed:
5337 return
5338
5339
5340 elif alt64 == 6:
5341 # C.g:396:4: 'sizeof' '(' type_name ')'
5342 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1337)
5343 if self.failed:
5344 return
5345 self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1339)
5346 if self.failed:
5347 return
5348 self.following.append(self.FOLLOW_type_name_in_unary_expression1341)
5349 self.type_name()
5350 self.following.pop()
5351 if self.failed:
5352 return
5353 self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343)
5354 if self.failed:
5355 return
5356
5357
5358
5359 except RecognitionException as re:
5360 self.reportError(re)
5361 self.recover(self.input, re)
5362 finally:
5363 if self.backtracking > 0:
5364 self.memoize(self.input, 40, unary_expression_StartIndex)
5365
5366 pass
5367
5368 return
5369
5370 # $ANTLR end unary_expression
5371
5372
5373 # $ANTLR start postfix_expression
5374 # C.g:399:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
5375 def postfix_expression(self, ):
5376 self.postfix_expression_stack.append(postfix_expression_scope())
5377 postfix_expression_StartIndex = self.input.index()
5378 a = None
5379 b = None
5380 x = None
5381 y = None
5382 z = None
5383 p = None
5384
5385 c = None
5386
5387
5388
5389 self.postfix_expression_stack[-1].FuncCallText = ''
5390
5391 try:
5392 try:
5393 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
5394 return
5395
5396 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5397 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5398 self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1367)
5399 p = self.primary_expression()
5400 self.following.pop()
5401 if self.failed:
5402 return
5403 if self.backtracking == 0:
5404 self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start, p.stop)
5405
5406 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5407 while True: #loop65
5408 alt65 = 10
5409 LA65 = self.input.LA(1)
5410 if LA65 == 66:
5411 LA65_1 = self.input.LA(2)
5412
5413 if (LA65_1 == IDENTIFIER) :
5414 LA65_30 = self.input.LA(3)
5415
5416 if (self.synpred120()) :
5417 alt65 = 6
5418
5419
5420
5421
5422 elif LA65 == 64:
5423 alt65 = 1
5424 elif LA65 == 62:
5425 LA65 = self.input.LA(2)
5426 if LA65 == 63:
5427 alt65 = 2
5428 elif LA65 == 29 or LA65 == 30 or LA65 == 31 or LA65 == 32 or LA65 == 33 or LA65 == 34 or LA65 == 35 or LA65 == 36 or LA65 == 37 or LA65 == 38 or LA65 == 39 or LA65 == 40 or LA65 == 41 or LA65 == 42 or LA65 == 45 or LA65 == 46 or LA65 == 48 or LA65 == 49 or LA65 == 50 or LA65 == 51 or LA65 == 52 or LA65 == 53 or LA65 == 54 or LA65 == 55 or LA65 == 56 or LA65 == 57 or LA65 == 58 or LA65 == 59 or LA65 == 60 or LA65 == 61:
5429 alt65 = 4
5430 elif LA65 == IDENTIFIER:
5431 LA65_55 = self.input.LA(3)
5432
5433 if (self.synpred117()) :
5434 alt65 = 3
5435 elif (self.synpred118()) :
5436 alt65 = 4
5437
5438
5439 elif LA65 == 66:
5440 LA65_57 = self.input.LA(3)
5441
5442 if (self.synpred117()) :
5443 alt65 = 3
5444 elif (self.synpred118()) :
5445 alt65 = 4
5446
5447
5448 elif LA65 == HEX_LITERAL or LA65 == OCTAL_LITERAL or LA65 == DECIMAL_LITERAL or LA65 == CHARACTER_LITERAL or LA65 == STRING_LITERAL or LA65 == FLOATING_POINT_LITERAL or LA65 == 62 or LA65 == 68 or LA65 == 69 or LA65 == 72 or LA65 == 73 or LA65 == 74 or LA65 == 77 or LA65 == 78 or LA65 == 79:
5449 alt65 = 3
5450
5451 elif LA65 == 75:
5452 alt65 = 5
5453 elif LA65 == 76:
5454 alt65 = 7
5455 elif LA65 == 72:
5456 alt65 = 8
5457 elif LA65 == 73:
5458 alt65 = 9
5459
5460 if alt65 == 1:
5461 # C.g:407:13: '[' expression ']'
5462 self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1383)
5463 if self.failed:
5464 return
5465 self.following.append(self.FOLLOW_expression_in_postfix_expression1385)
5466 self.expression()
5467 self.following.pop()
5468 if self.failed:
5469 return
5470 self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387)
5471 if self.failed:
5472 return
5473
5474
5475 elif alt65 == 2:
5476 # C.g:408:13: '(' a= ')'
5477 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1401)
5478 if self.failed:
5479 return
5480 a = self.input.LT(1)
5481 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1405)
5482 if self.failed:
5483 return
5484 if self.backtracking == 0:
5485 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
5486
5487
5488
5489 elif alt65 == 3:
5490 # C.g:409:13: '(' c= argument_expression_list b= ')'
5491 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1420)
5492 if self.failed:
5493 return
5494 self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1424)
5495 c = self.argument_expression_list()
5496 self.following.pop()
5497 if self.failed:
5498 return
5499 b = self.input.LT(1)
5500 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428)
5501 if self.failed:
5502 return
5503 if self.backtracking == 0:
5504 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start, c.stop))
5505
5506
5507
5508 elif alt65 == 4:
5509 # C.g:410:13: '(' macro_parameter_list ')'
5510 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1444)
5511 if self.failed:
5512 return
5513 self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1446)
5514 self.macro_parameter_list()
5515 self.following.pop()
5516 if self.failed:
5517 return
5518 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448)
5519 if self.failed:
5520 return
5521
5522
5523 elif alt65 == 5:
5524 # C.g:411:13: '.' x= IDENTIFIER
5525 self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1462)
5526 if self.failed:
5527 return
5528 x = self.input.LT(1)
5529 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1466)
5530 if self.failed:
5531 return
5532 if self.backtracking == 0:
5533 self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
5534
5535
5536
5537 elif alt65 == 6:
5538 # C.g:412:13: '*' y= IDENTIFIER
5539 self.match(self.input, 66, self.FOLLOW_66_in_postfix_expression1482)
5540 if self.failed:
5541 return
5542 y = self.input.LT(1)
5543 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1486)
5544 if self.failed:
5545 return
5546 if self.backtracking == 0:
5547 self.postfix_expression_stack[-1].FuncCallText = y.text
5548
5549
5550
5551 elif alt65 == 7:
5552 # C.g:413:13: '->' z= IDENTIFIER
5553 self.match(self.input, 76, self.FOLLOW_76_in_postfix_expression1502)
5554 if self.failed:
5555 return
5556 z = self.input.LT(1)
5557 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1506)
5558 if self.failed:
5559 return
5560 if self.backtracking == 0:
5561 self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
5562
5563
5564
5565 elif alt65 == 8:
5566 # C.g:414:13: '++'
5567 self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522)
5568 if self.failed:
5569 return
5570
5571
5572 elif alt65 == 9:
5573 # C.g:415:13: '--'
5574 self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536)
5575 if self.failed:
5576 return
5577
5578
5579 else:
5580 break #loop65
5581
5582
5583
5584
5585
5586
5587 except RecognitionException as re:
5588 self.reportError(re)
5589 self.recover(self.input, re)
5590 finally:
5591 if self.backtracking > 0:
5592 self.memoize(self.input, 41, postfix_expression_StartIndex)
5593
5594 self.postfix_expression_stack.pop()
5595 pass
5596
5597 return
5598
5599 # $ANTLR end postfix_expression
5600
5601
5602 # $ANTLR start macro_parameter_list
5603 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5604 def macro_parameter_list(self, ):
5605
5606 macro_parameter_list_StartIndex = self.input.index()
5607 try:
5608 try:
5609 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
5610 return
5611
5612 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5613 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5614 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1559)
5615 self.parameter_declaration()
5616 self.following.pop()
5617 if self.failed:
5618 return
5619 # C.g:420:26: ( ',' parameter_declaration )*
5620 while True: #loop66
5621 alt66 = 2
5622 LA66_0 = self.input.LA(1)
5623
5624 if (LA66_0 == 27) :
5625 alt66 = 1
5626
5627
5628 if alt66 == 1:
5629 # C.g:420:27: ',' parameter_declaration
5630 self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1562)
5631 if self.failed:
5632 return
5633 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1564)
5634 self.parameter_declaration()
5635 self.following.pop()
5636 if self.failed:
5637 return
5638
5639
5640 else:
5641 break #loop66
5642
5643
5644
5645
5646
5647
5648 except RecognitionException as re:
5649 self.reportError(re)
5650 self.recover(self.input, re)
5651 finally:
5652 if self.backtracking > 0:
5653 self.memoize(self.input, 42, macro_parameter_list_StartIndex)
5654
5655 pass
5656
5657 return
5658
5659 # $ANTLR end macro_parameter_list
5660
5661
5662 # $ANTLR start unary_operator
5663 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5664 def unary_operator(self, ):
5665
5666 unary_operator_StartIndex = self.input.index()
5667 try:
5668 try:
5669 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
5670 return
5671
5672 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5673 # C.g:
5674 if self.input.LA(1) == 66 or (68 <= self.input.LA(1) <= 69) or (77 <= self.input.LA(1) <= 79):
5675 self.input.consume();
5676 self.errorRecovery = False
5677 self.failed = False
5678
5679 else:
5680 if self.backtracking > 0:
5681 self.failed = True
5682 return
5683
5684 mse = MismatchedSetException(None, self.input)
5685 self.recoverFromMismatchedSet(
5686 self.input, mse, self.FOLLOW_set_in_unary_operator0
5687 )
5688 raise mse
5689
5690
5691
5692
5693
5694
5695 except RecognitionException as re:
5696 self.reportError(re)
5697 self.recover(self.input, re)
5698 finally:
5699 if self.backtracking > 0:
5700 self.memoize(self.input, 43, unary_operator_StartIndex)
5701
5702 pass
5703
5704 return
5705
5706 # $ANTLR end unary_operator
5707
5708 class primary_expression_return(object):
5709 def __init__(self):
5710 self.start = None
5711 self.stop = None
5712
5713
5714
5715 # $ANTLR start primary_expression
5716 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5717 def primary_expression(self, ):
5718
5719 retval = self.primary_expression_return()
5720 retval.start = self.input.LT(1)
5721 primary_expression_StartIndex = self.input.index()
5722 try:
5723 try:
5724 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
5725 return retval
5726
5727 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5728 alt67 = 3
5729 LA67 = self.input.LA(1)
5730 if LA67 == IDENTIFIER:
5731 LA67_1 = self.input.LA(2)
5732
5733 if (LA67_1 == EOF or LA67_1 == 25 or (27 <= LA67_1 <= 28) or LA67_1 == 44 or LA67_1 == 47 or LA67_1 == 53 or (62 <= LA67_1 <= 66) or (68 <= LA67_1 <= 73) or (75 <= LA67_1 <= 77) or (80 <= LA67_1 <= 102)) :
5734 alt67 = 1
5735 elif (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
5736 alt67 = 2
5737 else:
5738 if self.backtracking > 0:
5739 self.failed = True
5740 return retval
5741
5742 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input)
5743
5744 raise nvae
5745
5746 elif LA67 == HEX_LITERAL or LA67 == OCTAL_LITERAL or LA67 == DECIMAL_LITERAL or LA67 == CHARACTER_LITERAL or LA67 == STRING_LITERAL or LA67 == FLOATING_POINT_LITERAL:
5747 alt67 = 2
5748 elif LA67 == 62:
5749 alt67 = 3
5750 else:
5751 if self.backtracking > 0:
5752 self.failed = True
5753 return retval
5754
5755 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
5756
5757 raise nvae
5758
5759 if alt67 == 1:
5760 # C.g:433:4: IDENTIFIER
5761 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1613)
5762 if self.failed:
5763 return retval
5764
5765
5766 elif alt67 == 2:
5767 # C.g:434:4: constant
5768 self.following.append(self.FOLLOW_constant_in_primary_expression1618)
5769 self.constant()
5770 self.following.pop()
5771 if self.failed:
5772 return retval
5773
5774
5775 elif alt67 == 3:
5776 # C.g:435:4: '(' expression ')'
5777 self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1623)
5778 if self.failed:
5779 return retval
5780 self.following.append(self.FOLLOW_expression_in_primary_expression1625)
5781 self.expression()
5782 self.following.pop()
5783 if self.failed:
5784 return retval
5785 self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627)
5786 if self.failed:
5787 return retval
5788
5789
5790 retval.stop = self.input.LT(-1)
5791
5792
5793 except RecognitionException as re:
5794 self.reportError(re)
5795 self.recover(self.input, re)
5796 finally:
5797 if self.backtracking > 0:
5798 self.memoize(self.input, 44, primary_expression_StartIndex)
5799
5800 pass
5801
5802 return retval
5803
5804 # $ANTLR end primary_expression
5805
5806
5807 # $ANTLR start constant
5808 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5809 def constant(self, ):
5810
5811 constant_StartIndex = self.input.index()
5812 try:
5813 try:
5814 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
5815 return
5816
5817 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5818 alt72 = 6
5819 LA72 = self.input.LA(1)
5820 if LA72 == HEX_LITERAL:
5821 alt72 = 1
5822 elif LA72 == OCTAL_LITERAL:
5823 alt72 = 2
5824 elif LA72 == DECIMAL_LITERAL:
5825 alt72 = 3
5826 elif LA72 == CHARACTER_LITERAL:
5827 alt72 = 4
5828 elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
5829 alt72 = 5
5830 elif LA72 == FLOATING_POINT_LITERAL:
5831 alt72 = 6
5832 else:
5833 if self.backtracking > 0:
5834 self.failed = True
5835 return
5836
5837 nvae = NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input)
5838
5839 raise nvae
5840
5841 if alt72 == 1:
5842 # C.g:439:9: HEX_LITERAL
5843 self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1643)
5844 if self.failed:
5845 return
5846
5847
5848 elif alt72 == 2:
5849 # C.g:440:9: OCTAL_LITERAL
5850 self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1653)
5851 if self.failed:
5852 return
5853
5854
5855 elif alt72 == 3:
5856 # C.g:441:9: DECIMAL_LITERAL
5857 self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1663)
5858 if self.failed:
5859 return
5860
5861
5862 elif alt72 == 4:
5863 # C.g:442:7: CHARACTER_LITERAL
5864 self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1671)
5865 if self.failed:
5866 return
5867
5868
5869 elif alt72 == 5:
5870 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5871 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5872 cnt70 = 0
5873 while True: #loop70
5874 alt70 = 2
5875 LA70_0 = self.input.LA(1)
5876
5877 if (LA70_0 == IDENTIFIER) :
5878 LA70_1 = self.input.LA(2)
5879
5880 if (LA70_1 == STRING_LITERAL) :
5881 alt70 = 1
5882 elif (LA70_1 == IDENTIFIER) :
5883 LA70_33 = self.input.LA(3)
5884
5885 if (self.synpred138()) :
5886 alt70 = 1
5887
5888
5889
5890
5891 elif (LA70_0 == STRING_LITERAL) :
5892 alt70 = 1
5893
5894
5895 if alt70 == 1:
5896 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5897 # C.g:443:8: ( IDENTIFIER )*
5898 while True: #loop68
5899 alt68 = 2
5900 LA68_0 = self.input.LA(1)
5901
5902 if (LA68_0 == IDENTIFIER) :
5903 alt68 = 1
5904
5905
5906 if alt68 == 1:
5907 # C.g:0:0: IDENTIFIER
5908 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680)
5909 if self.failed:
5910 return
5911
5912
5913 else:
5914 break #loop68
5915
5916
5917 # C.g:443:20: ( STRING_LITERAL )+
5918 cnt69 = 0
5919 while True: #loop69
5920 alt69 = 2
5921 LA69_0 = self.input.LA(1)
5922
5923 if (LA69_0 == STRING_LITERAL) :
5924 LA69_31 = self.input.LA(2)
5925
5926 if (self.synpred137()) :
5927 alt69 = 1
5928
5929
5930
5931
5932 if alt69 == 1:
5933 # C.g:0:0: STRING_LITERAL
5934 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683)
5935 if self.failed:
5936 return
5937
5938
5939 else:
5940 if cnt69 >= 1:
5941 break #loop69
5942
5943 if self.backtracking > 0:
5944 self.failed = True
5945 return
5946
5947 eee = EarlyExitException(69, self.input)
5948 raise eee
5949
5950 cnt69 += 1
5951
5952
5953
5954
5955 else:
5956 if cnt70 >= 1:
5957 break #loop70
5958
5959 if self.backtracking > 0:
5960 self.failed = True
5961 return
5962
5963 eee = EarlyExitException(70, self.input)
5964 raise eee
5965
5966 cnt70 += 1
5967
5968
5969 # C.g:443:38: ( IDENTIFIER )*
5970 while True: #loop71
5971 alt71 = 2
5972 LA71_0 = self.input.LA(1)
5973
5974 if (LA71_0 == IDENTIFIER) :
5975 alt71 = 1
5976
5977
5978 if alt71 == 1:
5979 # C.g:0:0: IDENTIFIER
5980 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688)
5981 if self.failed:
5982 return
5983
5984
5985 else:
5986 break #loop71
5987
5988
5989
5990
5991 elif alt72 == 6:
5992 # C.g:444:9: FLOATING_POINT_LITERAL
5993 self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699)
5994 if self.failed:
5995 return
5996
5997
5998
5999 except RecognitionException as re:
6000 self.reportError(re)
6001 self.recover(self.input, re)
6002 finally:
6003 if self.backtracking > 0:
6004 self.memoize(self.input, 45, constant_StartIndex)
6005
6006 pass
6007
6008 return
6009
6010 # $ANTLR end constant
6011
6012 class expression_return(object):
6013 def __init__(self):
6014 self.start = None
6015 self.stop = None
6016
6017
6018
6019 # $ANTLR start expression
6020 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6021 def expression(self, ):
6022
6023 retval = self.expression_return()
6024 retval.start = self.input.LT(1)
6025 expression_StartIndex = self.input.index()
6026 try:
6027 try:
6028 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
6029 return retval
6030
6031 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6032 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6033 self.following.append(self.FOLLOW_assignment_expression_in_expression1715)
6034 self.assignment_expression()
6035 self.following.pop()
6036 if self.failed:
6037 return retval
6038 # C.g:450:26: ( ',' assignment_expression )*
6039 while True: #loop73
6040 alt73 = 2
6041 LA73_0 = self.input.LA(1)
6042
6043 if (LA73_0 == 27) :
6044 alt73 = 1
6045
6046
6047 if alt73 == 1:
6048 # C.g:450:27: ',' assignment_expression
6049 self.match(self.input, 27, self.FOLLOW_27_in_expression1718)
6050 if self.failed:
6051 return retval
6052 self.following.append(self.FOLLOW_assignment_expression_in_expression1720)
6053 self.assignment_expression()
6054 self.following.pop()
6055 if self.failed:
6056 return retval
6057
6058
6059 else:
6060 break #loop73
6061
6062
6063
6064
6065
6066 retval.stop = self.input.LT(-1)
6067
6068
6069 except RecognitionException as re:
6070 self.reportError(re)
6071 self.recover(self.input, re)
6072 finally:
6073 if self.backtracking > 0:
6074 self.memoize(self.input, 46, expression_StartIndex)
6075
6076 pass
6077
6078 return retval
6079
6080 # $ANTLR end expression
6081
6082
6083 # $ANTLR start constant_expression
6084 # C.g:453:1: constant_expression : conditional_expression ;
6085 def constant_expression(self, ):
6086
6087 constant_expression_StartIndex = self.input.index()
6088 try:
6089 try:
6090 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
6091 return
6092
6093 # C.g:454:2: ( conditional_expression )
6094 # C.g:454:4: conditional_expression
6095 self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1733)
6096 self.conditional_expression()
6097 self.following.pop()
6098 if self.failed:
6099 return
6100
6101
6102
6103
6104 except RecognitionException as re:
6105 self.reportError(re)
6106 self.recover(self.input, re)
6107 finally:
6108 if self.backtracking > 0:
6109 self.memoize(self.input, 47, constant_expression_StartIndex)
6110
6111 pass
6112
6113 return
6114
6115 # $ANTLR end constant_expression
6116
6117
6118 # $ANTLR start assignment_expression
6119 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6120 def assignment_expression(self, ):
6121
6122 assignment_expression_StartIndex = self.input.index()
6123 try:
6124 try:
6125 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
6126 return
6127
6128 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6129 alt74 = 2
6130 LA74 = self.input.LA(1)
6131 if LA74 == IDENTIFIER:
6132 LA74 = self.input.LA(2)
6133 if LA74 == 64:
6134 LA74_13 = self.input.LA(3)
6135
6136 if (self.synpred142()) :
6137 alt74 = 1
6138 elif (True) :
6139 alt74 = 2
6140 else:
6141 if self.backtracking > 0:
6142 self.failed = True
6143 return
6144
6145 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
6146
6147 raise nvae
6148
6149 elif LA74 == 62:
6150 LA74_14 = self.input.LA(3)
6151
6152 if (self.synpred142()) :
6153 alt74 = 1
6154 elif (True) :
6155 alt74 = 2
6156 else:
6157 if self.backtracking > 0:
6158 self.failed = True
6159 return
6160
6161 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
6162
6163 raise nvae
6164
6165 elif LA74 == 75:
6166 LA74_15 = self.input.LA(3)
6167
6168 if (self.synpred142()) :
6169 alt74 = 1
6170 elif (True) :
6171 alt74 = 2
6172 else:
6173 if self.backtracking > 0:
6174 self.failed = True
6175 return
6176
6177 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
6178
6179 raise nvae
6180
6181 elif LA74 == 66:
6182 LA74_16 = self.input.LA(3)
6183
6184 if (self.synpred142()) :
6185 alt74 = 1
6186 elif (True) :
6187 alt74 = 2
6188 else:
6189 if self.backtracking > 0:
6190 self.failed = True
6191 return
6192
6193 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
6194
6195 raise nvae
6196
6197 elif LA74 == 76:
6198 LA74_17 = self.input.LA(3)
6199
6200 if (self.synpred142()) :
6201 alt74 = 1
6202 elif (True) :
6203 alt74 = 2
6204 else:
6205 if self.backtracking > 0:
6206 self.failed = True
6207 return
6208
6209 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
6210
6211 raise nvae
6212
6213 elif LA74 == 72:
6214 LA74_18 = self.input.LA(3)
6215
6216 if (self.synpred142()) :
6217 alt74 = 1
6218 elif (True) :
6219 alt74 = 2
6220 else:
6221 if self.backtracking > 0:
6222 self.failed = True
6223 return
6224
6225 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
6226
6227 raise nvae
6228
6229 elif LA74 == 73:
6230 LA74_19 = self.input.LA(3)
6231
6232 if (self.synpred142()) :
6233 alt74 = 1
6234 elif (True) :
6235 alt74 = 2
6236 else:
6237 if self.backtracking > 0:
6238 self.failed = True
6239 return
6240
6241 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
6242
6243 raise nvae
6244
6245 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6246 alt74 = 1
6247 elif LA74 == STRING_LITERAL:
6248 LA74_21 = self.input.LA(3)
6249
6250 if (self.synpred142()) :
6251 alt74 = 1
6252 elif (True) :
6253 alt74 = 2
6254 else:
6255 if self.backtracking > 0:
6256 self.failed = True
6257 return
6258
6259 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
6260
6261 raise nvae
6262
6263 elif LA74 == IDENTIFIER:
6264 LA74_22 = self.input.LA(3)
6265
6266 if (self.synpred142()) :
6267 alt74 = 1
6268 elif (True) :
6269 alt74 = 2
6270 else:
6271 if self.backtracking > 0:
6272 self.failed = True
6273 return
6274
6275 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self.input)
6276
6277 raise nvae
6278
6279 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6280 alt74 = 2
6281 else:
6282 if self.backtracking > 0:
6283 self.failed = True
6284 return
6285
6286 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input)
6287
6288 raise nvae
6289
6290 elif LA74 == HEX_LITERAL:
6291 LA74 = self.input.LA(2)
6292 if LA74 == 64:
6293 LA74_44 = self.input.LA(3)
6294
6295 if (self.synpred142()) :
6296 alt74 = 1
6297 elif (True) :
6298 alt74 = 2
6299 else:
6300 if self.backtracking > 0:
6301 self.failed = True
6302 return
6303
6304 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
6305
6306 raise nvae
6307
6308 elif LA74 == 62:
6309 LA74_45 = self.input.LA(3)
6310
6311 if (self.synpred142()) :
6312 alt74 = 1
6313 elif (True) :
6314 alt74 = 2
6315 else:
6316 if self.backtracking > 0:
6317 self.failed = True
6318 return
6319
6320 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
6321
6322 raise nvae
6323
6324 elif LA74 == 75:
6325 LA74_46 = self.input.LA(3)
6326
6327 if (self.synpred142()) :
6328 alt74 = 1
6329 elif (True) :
6330 alt74 = 2
6331 else:
6332 if self.backtracking > 0:
6333 self.failed = True
6334 return
6335
6336 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
6337
6338 raise nvae
6339
6340 elif LA74 == 66:
6341 LA74_47 = self.input.LA(3)
6342
6343 if (self.synpred142()) :
6344 alt74 = 1
6345 elif (True) :
6346 alt74 = 2
6347 else:
6348 if self.backtracking > 0:
6349 self.failed = True
6350 return
6351
6352 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
6353
6354 raise nvae
6355
6356 elif LA74 == 76:
6357 LA74_48 = self.input.LA(3)
6358
6359 if (self.synpred142()) :
6360 alt74 = 1
6361 elif (True) :
6362 alt74 = 2
6363 else:
6364 if self.backtracking > 0:
6365 self.failed = True
6366 return
6367
6368 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
6369
6370 raise nvae
6371
6372 elif LA74 == 72:
6373 LA74_49 = self.input.LA(3)
6374
6375 if (self.synpred142()) :
6376 alt74 = 1
6377 elif (True) :
6378 alt74 = 2
6379 else:
6380 if self.backtracking > 0:
6381 self.failed = True
6382 return
6383
6384 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
6385
6386 raise nvae
6387
6388 elif LA74 == 73:
6389 LA74_50 = self.input.LA(3)
6390
6391 if (self.synpred142()) :
6392 alt74 = 1
6393 elif (True) :
6394 alt74 = 2
6395 else:
6396 if self.backtracking > 0:
6397 self.failed = True
6398 return
6399
6400 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
6401
6402 raise nvae
6403
6404 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6405 alt74 = 2
6406 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6407 alt74 = 1
6408 else:
6409 if self.backtracking > 0:
6410 self.failed = True
6411 return
6412
6413 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input)
6414
6415 raise nvae
6416
6417 elif LA74 == OCTAL_LITERAL:
6418 LA74 = self.input.LA(2)
6419 if LA74 == 64:
6420 LA74_73 = self.input.LA(3)
6421
6422 if (self.synpred142()) :
6423 alt74 = 1
6424 elif (True) :
6425 alt74 = 2
6426 else:
6427 if self.backtracking > 0:
6428 self.failed = True
6429 return
6430
6431 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
6432
6433 raise nvae
6434
6435 elif LA74 == 62:
6436 LA74_74 = self.input.LA(3)
6437
6438 if (self.synpred142()) :
6439 alt74 = 1
6440 elif (True) :
6441 alt74 = 2
6442 else:
6443 if self.backtracking > 0:
6444 self.failed = True
6445 return
6446
6447 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
6448
6449 raise nvae
6450
6451 elif LA74 == 75:
6452 LA74_75 = self.input.LA(3)
6453
6454 if (self.synpred142()) :
6455 alt74 = 1
6456 elif (True) :
6457 alt74 = 2
6458 else:
6459 if self.backtracking > 0:
6460 self.failed = True
6461 return
6462
6463 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
6464
6465 raise nvae
6466
6467 elif LA74 == 66:
6468 LA74_76 = self.input.LA(3)
6469
6470 if (self.synpred142()) :
6471 alt74 = 1
6472 elif (True) :
6473 alt74 = 2
6474 else:
6475 if self.backtracking > 0:
6476 self.failed = True
6477 return
6478
6479 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
6480
6481 raise nvae
6482
6483 elif LA74 == 76:
6484 LA74_77 = self.input.LA(3)
6485
6486 if (self.synpred142()) :
6487 alt74 = 1
6488 elif (True) :
6489 alt74 = 2
6490 else:
6491 if self.backtracking > 0:
6492 self.failed = True
6493 return
6494
6495 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
6496
6497 raise nvae
6498
6499 elif LA74 == 72:
6500 LA74_78 = self.input.LA(3)
6501
6502 if (self.synpred142()) :
6503 alt74 = 1
6504 elif (True) :
6505 alt74 = 2
6506 else:
6507 if self.backtracking > 0:
6508 self.failed = True
6509 return
6510
6511 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
6512
6513 raise nvae
6514
6515 elif LA74 == 73:
6516 LA74_79 = self.input.LA(3)
6517
6518 if (self.synpred142()) :
6519 alt74 = 1
6520 elif (True) :
6521 alt74 = 2
6522 else:
6523 if self.backtracking > 0:
6524 self.failed = True
6525 return
6526
6527 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
6528
6529 raise nvae
6530
6531 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6532 alt74 = 1
6533 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6534 alt74 = 2
6535 else:
6536 if self.backtracking > 0:
6537 self.failed = True
6538 return
6539
6540 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input)
6541
6542 raise nvae
6543
6544 elif LA74 == DECIMAL_LITERAL:
6545 LA74 = self.input.LA(2)
6546 if LA74 == 64:
6547 LA74_102 = self.input.LA(3)
6548
6549 if (self.synpred142()) :
6550 alt74 = 1
6551 elif (True) :
6552 alt74 = 2
6553 else:
6554 if self.backtracking > 0:
6555 self.failed = True
6556 return
6557
6558 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
6559
6560 raise nvae
6561
6562 elif LA74 == 62:
6563 LA74_103 = self.input.LA(3)
6564
6565 if (self.synpred142()) :
6566 alt74 = 1
6567 elif (True) :
6568 alt74 = 2
6569 else:
6570 if self.backtracking > 0:
6571 self.failed = True
6572 return
6573
6574 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
6575
6576 raise nvae
6577
6578 elif LA74 == 75:
6579 LA74_104 = self.input.LA(3)
6580
6581 if (self.synpred142()) :
6582 alt74 = 1
6583 elif (True) :
6584 alt74 = 2
6585 else:
6586 if self.backtracking > 0:
6587 self.failed = True
6588 return
6589
6590 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
6591
6592 raise nvae
6593
6594 elif LA74 == 66:
6595 LA74_105 = self.input.LA(3)
6596
6597 if (self.synpred142()) :
6598 alt74 = 1
6599 elif (True) :
6600 alt74 = 2
6601 else:
6602 if self.backtracking > 0:
6603 self.failed = True
6604 return
6605
6606 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
6607
6608 raise nvae
6609
6610 elif LA74 == 76:
6611 LA74_106 = self.input.LA(3)
6612
6613 if (self.synpred142()) :
6614 alt74 = 1
6615 elif (True) :
6616 alt74 = 2
6617 else:
6618 if self.backtracking > 0:
6619 self.failed = True
6620 return
6621
6622 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
6623
6624 raise nvae
6625
6626 elif LA74 == 72:
6627 LA74_107 = self.input.LA(3)
6628
6629 if (self.synpred142()) :
6630 alt74 = 1
6631 elif (True) :
6632 alt74 = 2
6633 else:
6634 if self.backtracking > 0:
6635 self.failed = True
6636 return
6637
6638 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
6639
6640 raise nvae
6641
6642 elif LA74 == 73:
6643 LA74_108 = self.input.LA(3)
6644
6645 if (self.synpred142()) :
6646 alt74 = 1
6647 elif (True) :
6648 alt74 = 2
6649 else:
6650 if self.backtracking > 0:
6651 self.failed = True
6652 return
6653
6654 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input)
6655
6656 raise nvae
6657
6658 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6659 alt74 = 2
6660 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6661 alt74 = 1
6662 else:
6663 if self.backtracking > 0:
6664 self.failed = True
6665 return
6666
6667 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input)
6668
6669 raise nvae
6670
6671 elif LA74 == CHARACTER_LITERAL:
6672 LA74 = self.input.LA(2)
6673 if LA74 == 64:
6674 LA74_131 = self.input.LA(3)
6675
6676 if (self.synpred142()) :
6677 alt74 = 1
6678 elif (True) :
6679 alt74 = 2
6680 else:
6681 if self.backtracking > 0:
6682 self.failed = True
6683 return
6684
6685 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
6686
6687 raise nvae
6688
6689 elif LA74 == 62:
6690 LA74_132 = self.input.LA(3)
6691
6692 if (self.synpred142()) :
6693 alt74 = 1
6694 elif (True) :
6695 alt74 = 2
6696 else:
6697 if self.backtracking > 0:
6698 self.failed = True
6699 return
6700
6701 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
6702
6703 raise nvae
6704
6705 elif LA74 == 75:
6706 LA74_133 = self.input.LA(3)
6707
6708 if (self.synpred142()) :
6709 alt74 = 1
6710 elif (True) :
6711 alt74 = 2
6712 else:
6713 if self.backtracking > 0:
6714 self.failed = True
6715 return
6716
6717 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
6718
6719 raise nvae
6720
6721 elif LA74 == 66:
6722 LA74_134 = self.input.LA(3)
6723
6724 if (self.synpred142()) :
6725 alt74 = 1
6726 elif (True) :
6727 alt74 = 2
6728 else:
6729 if self.backtracking > 0:
6730 self.failed = True
6731 return
6732
6733 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
6734
6735 raise nvae
6736
6737 elif LA74 == 76:
6738 LA74_135 = self.input.LA(3)
6739
6740 if (self.synpred142()) :
6741 alt74 = 1
6742 elif (True) :
6743 alt74 = 2
6744 else:
6745 if self.backtracking > 0:
6746 self.failed = True
6747 return
6748
6749 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
6750
6751 raise nvae
6752
6753 elif LA74 == 72:
6754 LA74_136 = self.input.LA(3)
6755
6756 if (self.synpred142()) :
6757 alt74 = 1
6758 elif (True) :
6759 alt74 = 2
6760 else:
6761 if self.backtracking > 0:
6762 self.failed = True
6763 return
6764
6765 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
6766
6767 raise nvae
6768
6769 elif LA74 == 73:
6770 LA74_137 = self.input.LA(3)
6771
6772 if (self.synpred142()) :
6773 alt74 = 1
6774 elif (True) :
6775 alt74 = 2
6776 else:
6777 if self.backtracking > 0:
6778 self.failed = True
6779 return
6780
6781 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
6782
6783 raise nvae
6784
6785 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6786 alt74 = 2
6787 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6788 alt74 = 1
6789 else:
6790 if self.backtracking > 0:
6791 self.failed = True
6792 return
6793
6794 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
6795
6796 raise nvae
6797
6798 elif LA74 == STRING_LITERAL:
6799 LA74 = self.input.LA(2)
6800 if LA74 == IDENTIFIER:
6801 LA74_160 = self.input.LA(3)
6802
6803 if (self.synpred142()) :
6804 alt74 = 1
6805 elif (True) :
6806 alt74 = 2
6807 else:
6808 if self.backtracking > 0:
6809 self.failed = True
6810 return
6811
6812 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
6813
6814 raise nvae
6815
6816 elif LA74 == 64:
6817 LA74_161 = self.input.LA(3)
6818
6819 if (self.synpred142()) :
6820 alt74 = 1
6821 elif (True) :
6822 alt74 = 2
6823 else:
6824 if self.backtracking > 0:
6825 self.failed = True
6826 return
6827
6828 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
6829
6830 raise nvae
6831
6832 elif LA74 == 62:
6833 LA74_162 = self.input.LA(3)
6834
6835 if (self.synpred142()) :
6836 alt74 = 1
6837 elif (True) :
6838 alt74 = 2
6839 else:
6840 if self.backtracking > 0:
6841 self.failed = True
6842 return
6843
6844 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
6845
6846 raise nvae
6847
6848 elif LA74 == 75:
6849 LA74_163 = self.input.LA(3)
6850
6851 if (self.synpred142()) :
6852 alt74 = 1
6853 elif (True) :
6854 alt74 = 2
6855 else:
6856 if self.backtracking > 0:
6857 self.failed = True
6858 return
6859
6860 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
6861
6862 raise nvae
6863
6864 elif LA74 == 66:
6865 LA74_164 = self.input.LA(3)
6866
6867 if (self.synpred142()) :
6868 alt74 = 1
6869 elif (True) :
6870 alt74 = 2
6871 else:
6872 if self.backtracking > 0:
6873 self.failed = True
6874 return
6875
6876 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
6877
6878 raise nvae
6879
6880 elif LA74 == 76:
6881 LA74_165 = self.input.LA(3)
6882
6883 if (self.synpred142()) :
6884 alt74 = 1
6885 elif (True) :
6886 alt74 = 2
6887 else:
6888 if self.backtracking > 0:
6889 self.failed = True
6890 return
6891
6892 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
6893
6894 raise nvae
6895
6896 elif LA74 == 72:
6897 LA74_166 = self.input.LA(3)
6898
6899 if (self.synpred142()) :
6900 alt74 = 1
6901 elif (True) :
6902 alt74 = 2
6903 else:
6904 if self.backtracking > 0:
6905 self.failed = True
6906 return
6907
6908 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
6909
6910 raise nvae
6911
6912 elif LA74 == 73:
6913 LA74_167 = self.input.LA(3)
6914
6915 if (self.synpred142()) :
6916 alt74 = 1
6917 elif (True) :
6918 alt74 = 2
6919 else:
6920 if self.backtracking > 0:
6921 self.failed = True
6922 return
6923
6924 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
6925
6926 raise nvae
6927
6928 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6929 alt74 = 2
6930 elif LA74 == STRING_LITERAL:
6931 LA74_189 = self.input.LA(3)
6932
6933 if (self.synpred142()) :
6934 alt74 = 1
6935 elif (True) :
6936 alt74 = 2
6937 else:
6938 if self.backtracking > 0:
6939 self.failed = True
6940 return
6941
6942 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input)
6943
6944 raise nvae
6945
6946 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6947 alt74 = 1
6948 else:
6949 if self.backtracking > 0:
6950 self.failed = True
6951 return
6952
6953 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input)
6954
6955 raise nvae
6956
6957 elif LA74 == FLOATING_POINT_LITERAL:
6958 LA74 = self.input.LA(2)
6959 if LA74 == 64:
6960 LA74_191 = self.input.LA(3)
6961
6962 if (self.synpred142()) :
6963 alt74 = 1
6964 elif (True) :
6965 alt74 = 2
6966 else:
6967 if self.backtracking > 0:
6968 self.failed = True
6969 return
6970
6971 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
6972
6973 raise nvae
6974
6975 elif LA74 == 62:
6976 LA74_192 = self.input.LA(3)
6977
6978 if (self.synpred142()) :
6979 alt74 = 1
6980 elif (True) :
6981 alt74 = 2
6982 else:
6983 if self.backtracking > 0:
6984 self.failed = True
6985 return
6986
6987 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
6988
6989 raise nvae
6990
6991 elif LA74 == 75:
6992 LA74_193 = self.input.LA(3)
6993
6994 if (self.synpred142()) :
6995 alt74 = 1
6996 elif (True) :
6997 alt74 = 2
6998 else:
6999 if self.backtracking > 0:
7000 self.failed = True
7001 return
7002
7003 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
7004
7005 raise nvae
7006
7007 elif LA74 == 66:
7008 LA74_194 = self.input.LA(3)
7009
7010 if (self.synpred142()) :
7011 alt74 = 1
7012 elif (True) :
7013 alt74 = 2
7014 else:
7015 if self.backtracking > 0:
7016 self.failed = True
7017 return
7018
7019 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
7020
7021 raise nvae
7022
7023 elif LA74 == 76:
7024 LA74_195 = self.input.LA(3)
7025
7026 if (self.synpred142()) :
7027 alt74 = 1
7028 elif (True) :
7029 alt74 = 2
7030 else:
7031 if self.backtracking > 0:
7032 self.failed = True
7033 return
7034
7035 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
7036
7037 raise nvae
7038
7039 elif LA74 == 72:
7040 LA74_196 = self.input.LA(3)
7041
7042 if (self.synpred142()) :
7043 alt74 = 1
7044 elif (True) :
7045 alt74 = 2
7046 else:
7047 if self.backtracking > 0:
7048 self.failed = True
7049 return
7050
7051 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
7052
7053 raise nvae
7054
7055 elif LA74 == 73:
7056 LA74_197 = self.input.LA(3)
7057
7058 if (self.synpred142()) :
7059 alt74 = 1
7060 elif (True) :
7061 alt74 = 2
7062 else:
7063 if self.backtracking > 0:
7064 self.failed = True
7065 return
7066
7067 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input)
7068
7069 raise nvae
7070
7071 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
7072 alt74 = 2
7073 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
7074 alt74 = 1
7075 else:
7076 if self.backtracking > 0:
7077 self.failed = True
7078 return
7079
7080 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
7081
7082 raise nvae
7083
7084 elif LA74 == 62:
7085 LA74 = self.input.LA(2)
7086 if LA74 == IDENTIFIER:
7087 LA74_220 = self.input.LA(3)
7088
7089 if (self.synpred142()) :
7090 alt74 = 1
7091 elif (True) :
7092 alt74 = 2
7093 else:
7094 if self.backtracking > 0:
7095 self.failed = True
7096 return
7097
7098 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input)
7099
7100 raise nvae
7101
7102 elif LA74 == HEX_LITERAL:
7103 LA74_221 = self.input.LA(3)
7104
7105 if (self.synpred142()) :
7106 alt74 = 1
7107 elif (True) :
7108 alt74 = 2
7109 else:
7110 if self.backtracking > 0:
7111 self.failed = True
7112 return
7113
7114 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input)
7115
7116 raise nvae
7117
7118 elif LA74 == OCTAL_LITERAL:
7119 LA74_222 = self.input.LA(3)
7120
7121 if (self.synpred142()) :
7122 alt74 = 1
7123 elif (True) :
7124 alt74 = 2
7125 else:
7126 if self.backtracking > 0:
7127 self.failed = True
7128 return
7129
7130 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input)
7131
7132 raise nvae
7133
7134 elif LA74 == DECIMAL_LITERAL:
7135 LA74_223 = self.input.LA(3)
7136
7137 if (self.synpred142()) :
7138 alt74 = 1
7139 elif (True) :
7140 alt74 = 2
7141 else:
7142 if self.backtracking > 0:
7143 self.failed = True
7144 return
7145
7146 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input)
7147
7148 raise nvae
7149
7150 elif LA74 == CHARACTER_LITERAL:
7151 LA74_224 = self.input.LA(3)
7152
7153 if (self.synpred142()) :
7154 alt74 = 1
7155 elif (True) :
7156 alt74 = 2
7157 else:
7158 if self.backtracking > 0:
7159 self.failed = True
7160 return
7161
7162 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input)
7163
7164 raise nvae
7165
7166 elif LA74 == STRING_LITERAL:
7167 LA74_225 = self.input.LA(3)
7168
7169 if (self.synpred142()) :
7170 alt74 = 1
7171 elif (True) :
7172 alt74 = 2
7173 else:
7174 if self.backtracking > 0:
7175 self.failed = True
7176 return
7177
7178 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input)
7179
7180 raise nvae
7181
7182 elif LA74 == FLOATING_POINT_LITERAL:
7183 LA74_226 = self.input.LA(3)
7184
7185 if (self.synpred142()) :
7186 alt74 = 1
7187 elif (True) :
7188 alt74 = 2
7189 else:
7190 if self.backtracking > 0:
7191 self.failed = True
7192 return
7193
7194 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
7195
7196 raise nvae
7197
7198 elif LA74 == 62:
7199 LA74_227 = self.input.LA(3)
7200
7201 if (self.synpred142()) :
7202 alt74 = 1
7203 elif (True) :
7204 alt74 = 2
7205 else:
7206 if self.backtracking > 0:
7207 self.failed = True
7208 return
7209
7210 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
7211
7212 raise nvae
7213
7214 elif LA74 == 72:
7215 LA74_228 = self.input.LA(3)
7216
7217 if (self.synpred142()) :
7218 alt74 = 1
7219 elif (True) :
7220 alt74 = 2
7221 else:
7222 if self.backtracking > 0:
7223 self.failed = True
7224 return
7225
7226 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
7227
7228 raise nvae
7229
7230 elif LA74 == 73:
7231 LA74_229 = self.input.LA(3)
7232
7233 if (self.synpred142()) :
7234 alt74 = 1
7235 elif (True) :
7236 alt74 = 2
7237 else:
7238 if self.backtracking > 0:
7239 self.failed = True
7240 return
7241
7242 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
7243
7244 raise nvae
7245
7246 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7247 LA74_230 = self.input.LA(3)
7248
7249 if (self.synpred142()) :
7250 alt74 = 1
7251 elif (True) :
7252 alt74 = 2
7253 else:
7254 if self.backtracking > 0:
7255 self.failed = True
7256 return
7257
7258 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
7259
7260 raise nvae
7261
7262 elif LA74 == 74:
7263 LA74_231 = self.input.LA(3)
7264
7265 if (self.synpred142()) :
7266 alt74 = 1
7267 elif (True) :
7268 alt74 = 2
7269 else:
7270 if self.backtracking > 0:
7271 self.failed = True
7272 return
7273
7274 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input)
7275
7276 raise nvae
7277
7278 elif LA74 == 34 or LA74 == 35 or LA74 == 36 or LA74 == 37 or LA74 == 38 or LA74 == 39 or LA74 == 40 or LA74 == 41 or LA74 == 42 or LA74 == 45 or LA74 == 46 or LA74 == 48 or LA74 == 49 or LA74 == 50 or LA74 == 51 or LA74 == 52 or LA74 == 53 or LA74 == 54 or LA74 == 55 or LA74 == 56 or LA74 == 57 or LA74 == 58 or LA74 == 59 or LA74 == 60 or LA74 == 61:
7279 alt74 = 2
7280 else:
7281 if self.backtracking > 0:
7282 self.failed = True
7283 return
7284
7285 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
7286
7287 raise nvae
7288
7289 elif LA74 == 72:
7290 LA74 = self.input.LA(2)
7291 if LA74 == IDENTIFIER:
7292 LA74_244 = self.input.LA(3)
7293
7294 if (self.synpred142()) :
7295 alt74 = 1
7296 elif (True) :
7297 alt74 = 2
7298 else:
7299 if self.backtracking > 0:
7300 self.failed = True
7301 return
7302
7303 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input)
7304
7305 raise nvae
7306
7307 elif LA74 == HEX_LITERAL:
7308 LA74_245 = self.input.LA(3)
7309
7310 if (self.synpred142()) :
7311 alt74 = 1
7312 elif (True) :
7313 alt74 = 2
7314 else:
7315 if self.backtracking > 0:
7316 self.failed = True
7317 return
7318
7319 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input)
7320
7321 raise nvae
7322
7323 elif LA74 == OCTAL_LITERAL:
7324 LA74_246 = self.input.LA(3)
7325
7326 if (self.synpred142()) :
7327 alt74 = 1
7328 elif (True) :
7329 alt74 = 2
7330 else:
7331 if self.backtracking > 0:
7332 self.failed = True
7333 return
7334
7335 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input)
7336
7337 raise nvae
7338
7339 elif LA74 == DECIMAL_LITERAL:
7340 LA74_247 = self.input.LA(3)
7341
7342 if (self.synpred142()) :
7343 alt74 = 1
7344 elif (True) :
7345 alt74 = 2
7346 else:
7347 if self.backtracking > 0:
7348 self.failed = True
7349 return
7350
7351 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input)
7352
7353 raise nvae
7354
7355 elif LA74 == CHARACTER_LITERAL:
7356 LA74_248 = self.input.LA(3)
7357
7358 if (self.synpred142()) :
7359 alt74 = 1
7360 elif (True) :
7361 alt74 = 2
7362 else:
7363 if self.backtracking > 0:
7364 self.failed = True
7365 return
7366
7367 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input)
7368
7369 raise nvae
7370
7371 elif LA74 == STRING_LITERAL:
7372 LA74_249 = self.input.LA(3)
7373
7374 if (self.synpred142()) :
7375 alt74 = 1
7376 elif (True) :
7377 alt74 = 2
7378 else:
7379 if self.backtracking > 0:
7380 self.failed = True
7381 return
7382
7383 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input)
7384
7385 raise nvae
7386
7387 elif LA74 == FLOATING_POINT_LITERAL:
7388 LA74_250 = self.input.LA(3)
7389
7390 if (self.synpred142()) :
7391 alt74 = 1
7392 elif (True) :
7393 alt74 = 2
7394 else:
7395 if self.backtracking > 0:
7396 self.failed = True
7397 return
7398
7399 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
7400
7401 raise nvae
7402
7403 elif LA74 == 62:
7404 LA74_251 = self.input.LA(3)
7405
7406 if (self.synpred142()) :
7407 alt74 = 1
7408 elif (True) :
7409 alt74 = 2
7410 else:
7411 if self.backtracking > 0:
7412 self.failed = True
7413 return
7414
7415 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
7416
7417 raise nvae
7418
7419 elif LA74 == 72:
7420 LA74_252 = self.input.LA(3)
7421
7422 if (self.synpred142()) :
7423 alt74 = 1
7424 elif (True) :
7425 alt74 = 2
7426 else:
7427 if self.backtracking > 0:
7428 self.failed = True
7429 return
7430
7431 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
7432
7433 raise nvae
7434
7435 elif LA74 == 73:
7436 LA74_253 = self.input.LA(3)
7437
7438 if (self.synpred142()) :
7439 alt74 = 1
7440 elif (True) :
7441 alt74 = 2
7442 else:
7443 if self.backtracking > 0:
7444 self.failed = True
7445 return
7446
7447 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
7448
7449 raise nvae
7450
7451 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7452 LA74_254 = self.input.LA(3)
7453
7454 if (self.synpred142()) :
7455 alt74 = 1
7456 elif (True) :
7457 alt74 = 2
7458 else:
7459 if self.backtracking > 0:
7460 self.failed = True
7461 return
7462
7463 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
7464
7465 raise nvae
7466
7467 elif LA74 == 74:
7468 LA74_255 = self.input.LA(3)
7469
7470 if (self.synpred142()) :
7471 alt74 = 1
7472 elif (True) :
7473 alt74 = 2
7474 else:
7475 if self.backtracking > 0:
7476 self.failed = True
7477 return
7478
7479 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
7480
7481 raise nvae
7482
7483 else:
7484 if self.backtracking > 0:
7485 self.failed = True
7486 return
7487
7488 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
7489
7490 raise nvae
7491
7492 elif LA74 == 73:
7493 LA74 = self.input.LA(2)
7494 if LA74 == IDENTIFIER:
7495 LA74_256 = self.input.LA(3)
7496
7497 if (self.synpred142()) :
7498 alt74 = 1
7499 elif (True) :
7500 alt74 = 2
7501 else:
7502 if self.backtracking > 0:
7503 self.failed = True
7504 return
7505
7506 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input)
7507
7508 raise nvae
7509
7510 elif LA74 == HEX_LITERAL:
7511 LA74_257 = self.input.LA(3)
7512
7513 if (self.synpred142()) :
7514 alt74 = 1
7515 elif (True) :
7516 alt74 = 2
7517 else:
7518 if self.backtracking > 0:
7519 self.failed = True
7520 return
7521
7522 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input)
7523
7524 raise nvae
7525
7526 elif LA74 == OCTAL_LITERAL:
7527 LA74_258 = self.input.LA(3)
7528
7529 if (self.synpred142()) :
7530 alt74 = 1
7531 elif (True) :
7532 alt74 = 2
7533 else:
7534 if self.backtracking > 0:
7535 self.failed = True
7536 return
7537
7538 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input)
7539
7540 raise nvae
7541
7542 elif LA74 == DECIMAL_LITERAL:
7543 LA74_259 = self.input.LA(3)
7544
7545 if (self.synpred142()) :
7546 alt74 = 1
7547 elif (True) :
7548 alt74 = 2
7549 else:
7550 if self.backtracking > 0:
7551 self.failed = True
7552 return
7553
7554 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input)
7555
7556 raise nvae
7557
7558 elif LA74 == CHARACTER_LITERAL:
7559 LA74_260 = self.input.LA(3)
7560
7561 if (self.synpred142()) :
7562 alt74 = 1
7563 elif (True) :
7564 alt74 = 2
7565 else:
7566 if self.backtracking > 0:
7567 self.failed = True
7568 return
7569
7570 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input)
7571
7572 raise nvae
7573
7574 elif LA74 == STRING_LITERAL:
7575 LA74_261 = self.input.LA(3)
7576
7577 if (self.synpred142()) :
7578 alt74 = 1
7579 elif (True) :
7580 alt74 = 2
7581 else:
7582 if self.backtracking > 0:
7583 self.failed = True
7584 return
7585
7586 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input)
7587
7588 raise nvae
7589
7590 elif LA74 == FLOATING_POINT_LITERAL:
7591 LA74_262 = self.input.LA(3)
7592
7593 if (self.synpred142()) :
7594 alt74 = 1
7595 elif (True) :
7596 alt74 = 2
7597 else:
7598 if self.backtracking > 0:
7599 self.failed = True
7600 return
7601
7602 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
7603
7604 raise nvae
7605
7606 elif LA74 == 62:
7607 LA74_263 = self.input.LA(3)
7608
7609 if (self.synpred142()) :
7610 alt74 = 1
7611 elif (True) :
7612 alt74 = 2
7613 else:
7614 if self.backtracking > 0:
7615 self.failed = True
7616 return
7617
7618 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
7619
7620 raise nvae
7621
7622 elif LA74 == 72:
7623 LA74_264 = self.input.LA(3)
7624
7625 if (self.synpred142()) :
7626 alt74 = 1
7627 elif (True) :
7628 alt74 = 2
7629 else:
7630 if self.backtracking > 0:
7631 self.failed = True
7632 return
7633
7634 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
7635
7636 raise nvae
7637
7638 elif LA74 == 73:
7639 LA74_265 = self.input.LA(3)
7640
7641 if (self.synpred142()) :
7642 alt74 = 1
7643 elif (True) :
7644 alt74 = 2
7645 else:
7646 if self.backtracking > 0:
7647 self.failed = True
7648 return
7649
7650 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
7651
7652 raise nvae
7653
7654 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7655 LA74_266 = self.input.LA(3)
7656
7657 if (self.synpred142()) :
7658 alt74 = 1
7659 elif (True) :
7660 alt74 = 2
7661 else:
7662 if self.backtracking > 0:
7663 self.failed = True
7664 return
7665
7666 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
7667
7668 raise nvae
7669
7670 elif LA74 == 74:
7671 LA74_267 = self.input.LA(3)
7672
7673 if (self.synpred142()) :
7674 alt74 = 1
7675 elif (True) :
7676 alt74 = 2
7677 else:
7678 if self.backtracking > 0:
7679 self.failed = True
7680 return
7681
7682 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
7683
7684 raise nvae
7685
7686 else:
7687 if self.backtracking > 0:
7688 self.failed = True
7689 return
7690
7691 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
7692
7693 raise nvae
7694
7695 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7696 LA74 = self.input.LA(2)
7697 if LA74 == 62:
7698 LA74_268 = self.input.LA(3)
7699
7700 if (self.synpred142()) :
7701 alt74 = 1
7702 elif (True) :
7703 alt74 = 2
7704 else:
7705 if self.backtracking > 0:
7706 self.failed = True
7707 return
7708
7709 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input)
7710
7711 raise nvae
7712
7713 elif LA74 == IDENTIFIER:
7714 LA74_269 = self.input.LA(3)
7715
7716 if (self.synpred142()) :
7717 alt74 = 1
7718 elif (True) :
7719 alt74 = 2
7720 else:
7721 if self.backtracking > 0:
7722 self.failed = True
7723 return
7724
7725 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input)
7726
7727 raise nvae
7728
7729 elif LA74 == HEX_LITERAL:
7730 LA74_270 = self.input.LA(3)
7731
7732 if (self.synpred142()) :
7733 alt74 = 1
7734 elif (True) :
7735 alt74 = 2
7736 else:
7737 if self.backtracking > 0:
7738 self.failed = True
7739 return
7740
7741 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input)
7742
7743 raise nvae
7744
7745 elif LA74 == OCTAL_LITERAL:
7746 LA74_271 = self.input.LA(3)
7747
7748 if (self.synpred142()) :
7749 alt74 = 1
7750 elif (True) :
7751 alt74 = 2
7752 else:
7753 if self.backtracking > 0:
7754 self.failed = True
7755 return
7756
7757 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input)
7758
7759 raise nvae
7760
7761 elif LA74 == DECIMAL_LITERAL:
7762 LA74_272 = self.input.LA(3)
7763
7764 if (self.synpred142()) :
7765 alt74 = 1
7766 elif (True) :
7767 alt74 = 2
7768 else:
7769 if self.backtracking > 0:
7770 self.failed = True
7771 return
7772
7773 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input)
7774
7775 raise nvae
7776
7777 elif LA74 == CHARACTER_LITERAL:
7778 LA74_273 = self.input.LA(3)
7779
7780 if (self.synpred142()) :
7781 alt74 = 1
7782 elif (True) :
7783 alt74 = 2
7784 else:
7785 if self.backtracking > 0:
7786 self.failed = True
7787 return
7788
7789 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input)
7790
7791 raise nvae
7792
7793 elif LA74 == STRING_LITERAL:
7794 LA74_274 = self.input.LA(3)
7795
7796 if (self.synpred142()) :
7797 alt74 = 1
7798 elif (True) :
7799 alt74 = 2
7800 else:
7801 if self.backtracking > 0:
7802 self.failed = True
7803 return
7804
7805 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input)
7806
7807 raise nvae
7808
7809 elif LA74 == FLOATING_POINT_LITERAL:
7810 LA74_275 = self.input.LA(3)
7811
7812 if (self.synpred142()) :
7813 alt74 = 1
7814 elif (True) :
7815 alt74 = 2
7816 else:
7817 if self.backtracking > 0:
7818 self.failed = True
7819 return
7820
7821 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
7822
7823 raise nvae
7824
7825 elif LA74 == 72:
7826 LA74_276 = self.input.LA(3)
7827
7828 if (self.synpred142()) :
7829 alt74 = 1
7830 elif (True) :
7831 alt74 = 2
7832 else:
7833 if self.backtracking > 0:
7834 self.failed = True
7835 return
7836
7837 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
7838
7839 raise nvae
7840
7841 elif LA74 == 73:
7842 LA74_277 = self.input.LA(3)
7843
7844 if (self.synpred142()) :
7845 alt74 = 1
7846 elif (True) :
7847 alt74 = 2
7848 else:
7849 if self.backtracking > 0:
7850 self.failed = True
7851 return
7852
7853 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
7854
7855 raise nvae
7856
7857 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7858 LA74_278 = self.input.LA(3)
7859
7860 if (self.synpred142()) :
7861 alt74 = 1
7862 elif (True) :
7863 alt74 = 2
7864 else:
7865 if self.backtracking > 0:
7866 self.failed = True
7867 return
7868
7869 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
7870
7871 raise nvae
7872
7873 elif LA74 == 74:
7874 LA74_279 = self.input.LA(3)
7875
7876 if (self.synpred142()) :
7877 alt74 = 1
7878 elif (True) :
7879 alt74 = 2
7880 else:
7881 if self.backtracking > 0:
7882 self.failed = True
7883 return
7884
7885 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
7886
7887 raise nvae
7888
7889 else:
7890 if self.backtracking > 0:
7891 self.failed = True
7892 return
7893
7894 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
7895
7896 raise nvae
7897
7898 elif LA74 == 74:
7899 LA74 = self.input.LA(2)
7900 if LA74 == 62:
7901 LA74_280 = self.input.LA(3)
7902
7903 if (self.synpred142()) :
7904 alt74 = 1
7905 elif (True) :
7906 alt74 = 2
7907 else:
7908 if self.backtracking > 0:
7909 self.failed = True
7910 return
7911
7912 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input)
7913
7914 raise nvae
7915
7916 elif LA74 == IDENTIFIER:
7917 LA74_281 = self.input.LA(3)
7918
7919 if (self.synpred142()) :
7920 alt74 = 1
7921 elif (True) :
7922 alt74 = 2
7923 else:
7924 if self.backtracking > 0:
7925 self.failed = True
7926 return
7927
7928 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input)
7929
7930 raise nvae
7931
7932 elif LA74 == HEX_LITERAL:
7933 LA74_282 = self.input.LA(3)
7934
7935 if (self.synpred142()) :
7936 alt74 = 1
7937 elif (True) :
7938 alt74 = 2
7939 else:
7940 if self.backtracking > 0:
7941 self.failed = True
7942 return
7943
7944 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input)
7945
7946 raise nvae
7947
7948 elif LA74 == OCTAL_LITERAL:
7949 LA74_283 = self.input.LA(3)
7950
7951 if (self.synpred142()) :
7952 alt74 = 1
7953 elif (True) :
7954 alt74 = 2
7955 else:
7956 if self.backtracking > 0:
7957 self.failed = True
7958 return
7959
7960 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input)
7961
7962 raise nvae
7963
7964 elif LA74 == DECIMAL_LITERAL:
7965 LA74_284 = self.input.LA(3)
7966
7967 if (self.synpred142()) :
7968 alt74 = 1
7969 elif (True) :
7970 alt74 = 2
7971 else:
7972 if self.backtracking > 0:
7973 self.failed = True
7974 return
7975
7976 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input)
7977
7978 raise nvae
7979
7980 elif LA74 == CHARACTER_LITERAL:
7981 LA74_285 = self.input.LA(3)
7982
7983 if (self.synpred142()) :
7984 alt74 = 1
7985 elif (True) :
7986 alt74 = 2
7987 else:
7988 if self.backtracking > 0:
7989 self.failed = True
7990 return
7991
7992 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input)
7993
7994 raise nvae
7995
7996 elif LA74 == STRING_LITERAL:
7997 LA74_286 = self.input.LA(3)
7998
7999 if (self.synpred142()) :
8000 alt74 = 1
8001 elif (True) :
8002 alt74 = 2
8003 else:
8004 if self.backtracking > 0:
8005 self.failed = True
8006 return
8007
8008 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input)
8009
8010 raise nvae
8011
8012 elif LA74 == FLOATING_POINT_LITERAL:
8013 LA74_287 = self.input.LA(3)
8014
8015 if (self.synpred142()) :
8016 alt74 = 1
8017 elif (True) :
8018 alt74 = 2
8019 else:
8020 if self.backtracking > 0:
8021 self.failed = True
8022 return
8023
8024 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
8025
8026 raise nvae
8027
8028 elif LA74 == 72:
8029 LA74_288 = self.input.LA(3)
8030
8031 if (self.synpred142()) :
8032 alt74 = 1
8033 elif (True) :
8034 alt74 = 2
8035 else:
8036 if self.backtracking > 0:
8037 self.failed = True
8038 return
8039
8040 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
8041
8042 raise nvae
8043
8044 elif LA74 == 73:
8045 LA74_289 = self.input.LA(3)
8046
8047 if (self.synpred142()) :
8048 alt74 = 1
8049 elif (True) :
8050 alt74 = 2
8051 else:
8052 if self.backtracking > 0:
8053 self.failed = True
8054 return
8055
8056 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
8057
8058 raise nvae
8059
8060 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
8061 LA74_290 = self.input.LA(3)
8062
8063 if (self.synpred142()) :
8064 alt74 = 1
8065 elif (True) :
8066 alt74 = 2
8067 else:
8068 if self.backtracking > 0:
8069 self.failed = True
8070 return
8071
8072 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
8073
8074 raise nvae
8075
8076 elif LA74 == 74:
8077 LA74_291 = self.input.LA(3)
8078
8079 if (self.synpred142()) :
8080 alt74 = 1
8081 elif (True) :
8082 alt74 = 2
8083 else:
8084 if self.backtracking > 0:
8085 self.failed = True
8086 return
8087
8088 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
8089
8090 raise nvae
8091
8092 else:
8093 if self.backtracking > 0:
8094 self.failed = True
8095 return
8096
8097 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
8098
8099 raise nvae
8100
8101 else:
8102 if self.backtracking > 0:
8103 self.failed = True
8104 return
8105
8106 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
8107
8108 raise nvae
8109
8110 if alt74 == 1:
8111 # C.g:458:4: lvalue assignment_operator assignment_expression
8112 self.following.append(self.FOLLOW_lvalue_in_assignment_expression1744)
8113 self.lvalue()
8114 self.following.pop()
8115 if self.failed:
8116 return
8117 self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1746)
8118 self.assignment_operator()
8119 self.following.pop()
8120 if self.failed:
8121 return
8122 self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748)
8123 self.assignment_expression()
8124 self.following.pop()
8125 if self.failed:
8126 return
8127
8128
8129 elif alt74 == 2:
8130 # C.g:459:4: conditional_expression
8131 self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1753)
8132 self.conditional_expression()
8133 self.following.pop()
8134 if self.failed:
8135 return
8136
8137
8138
8139 except RecognitionException as re:
8140 self.reportError(re)
8141 self.recover(self.input, re)
8142 finally:
8143 if self.backtracking > 0:
8144 self.memoize(self.input, 48, assignment_expression_StartIndex)
8145
8146 pass
8147
8148 return
8149
8150 # $ANTLR end assignment_expression
8151
8152
8153 # $ANTLR start lvalue
8154 # C.g:462:1: lvalue : unary_expression ;
8155 def lvalue(self, ):
8156
8157 lvalue_StartIndex = self.input.index()
8158 try:
8159 try:
8160 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
8161 return
8162
8163 # C.g:463:2: ( unary_expression )
8164 # C.g:463:4: unary_expression
8165 self.following.append(self.FOLLOW_unary_expression_in_lvalue1765)
8166 self.unary_expression()
8167 self.following.pop()
8168 if self.failed:
8169 return
8170
8171
8172
8173
8174 except RecognitionException as re:
8175 self.reportError(re)
8176 self.recover(self.input, re)
8177 finally:
8178 if self.backtracking > 0:
8179 self.memoize(self.input, 49, lvalue_StartIndex)
8180
8181 pass
8182
8183 return
8184
8185 # $ANTLR end lvalue
8186
8187
8188 # $ANTLR start assignment_operator
8189 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8190 def assignment_operator(self, ):
8191
8192 assignment_operator_StartIndex = self.input.index()
8193 try:
8194 try:
8195 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
8196 return
8197
8198 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8199 # C.g:
8200 if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89):
8201 self.input.consume();
8202 self.errorRecovery = False
8203 self.failed = False
8204
8205 else:
8206 if self.backtracking > 0:
8207 self.failed = True
8208 return
8209
8210 mse = MismatchedSetException(None, self.input)
8211 self.recoverFromMismatchedSet(
8212 self.input, mse, self.FOLLOW_set_in_assignment_operator0
8213 )
8214 raise mse
8215
8216
8217
8218
8219
8220
8221 except RecognitionException as re:
8222 self.reportError(re)
8223 self.recover(self.input, re)
8224 finally:
8225 if self.backtracking > 0:
8226 self.memoize(self.input, 50, assignment_operator_StartIndex)
8227
8228 pass
8229
8230 return
8231
8232 # $ANTLR end assignment_operator
8233
8234
8235 # $ANTLR start conditional_expression
8236 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8237 def conditional_expression(self, ):
8238
8239 conditional_expression_StartIndex = self.input.index()
8240 e = None
8241
8242
8243 try:
8244 try:
8245 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
8246 return
8247
8248 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8249 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8250 self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1839)
8251 e = self.logical_or_expression()
8252 self.following.pop()
8253 if self.failed:
8254 return
8255 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8256 alt75 = 2
8257 LA75_0 = self.input.LA(1)
8258
8259 if (LA75_0 == 90) :
8260 alt75 = 1
8261 if alt75 == 1:
8262 # C.g:481:29: '?' expression ':' conditional_expression
8263 self.match(self.input, 90, self.FOLLOW_90_in_conditional_expression1842)
8264 if self.failed:
8265 return
8266 self.following.append(self.FOLLOW_expression_in_conditional_expression1844)
8267 self.expression()
8268 self.following.pop()
8269 if self.failed:
8270 return
8271 self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846)
8272 if self.failed:
8273 return
8274 self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848)
8275 self.conditional_expression()
8276 self.following.pop()
8277 if self.failed:
8278 return
8279 if self.backtracking == 0:
8280 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
8281
8282
8283
8284
8285
8286
8287
8288
8289 except RecognitionException as re:
8290 self.reportError(re)
8291 self.recover(self.input, re)
8292 finally:
8293 if self.backtracking > 0:
8294 self.memoize(self.input, 51, conditional_expression_StartIndex)
8295
8296 pass
8297
8298 return
8299
8300 # $ANTLR end conditional_expression
8301
8302 class logical_or_expression_return(object):
8303 def __init__(self):
8304 self.start = None
8305 self.stop = None
8306
8307
8308
8309 # $ANTLR start logical_or_expression
8310 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8311 def logical_or_expression(self, ):
8312
8313 retval = self.logical_or_expression_return()
8314 retval.start = self.input.LT(1)
8315 logical_or_expression_StartIndex = self.input.index()
8316 try:
8317 try:
8318 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
8319 return retval
8320
8321 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8322 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8323 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1863)
8324 self.logical_and_expression()
8325 self.following.pop()
8326 if self.failed:
8327 return retval
8328 # C.g:485:27: ( '||' logical_and_expression )*
8329 while True: #loop76
8330 alt76 = 2
8331 LA76_0 = self.input.LA(1)
8332
8333 if (LA76_0 == 91) :
8334 alt76 = 1
8335
8336
8337 if alt76 == 1:
8338 # C.g:485:28: '||' logical_and_expression
8339 self.match(self.input, 91, self.FOLLOW_91_in_logical_or_expression1866)
8340 if self.failed:
8341 return retval
8342 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1868)
8343 self.logical_and_expression()
8344 self.following.pop()
8345 if self.failed:
8346 return retval
8347
8348
8349 else:
8350 break #loop76
8351
8352
8353
8354
8355
8356 retval.stop = self.input.LT(-1)
8357
8358
8359 except RecognitionException as re:
8360 self.reportError(re)
8361 self.recover(self.input, re)
8362 finally:
8363 if self.backtracking > 0:
8364 self.memoize(self.input, 52, logical_or_expression_StartIndex)
8365
8366 pass
8367
8368 return retval
8369
8370 # $ANTLR end logical_or_expression
8371
8372
8373 # $ANTLR start logical_and_expression
8374 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8375 def logical_and_expression(self, ):
8376
8377 logical_and_expression_StartIndex = self.input.index()
8378 try:
8379 try:
8380 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
8381 return
8382
8383 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8384 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8385 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1881)
8386 self.inclusive_or_expression()
8387 self.following.pop()
8388 if self.failed:
8389 return
8390 # C.g:489:28: ( '&&' inclusive_or_expression )*
8391 while True: #loop77
8392 alt77 = 2
8393 LA77_0 = self.input.LA(1)
8394
8395 if (LA77_0 == 92) :
8396 alt77 = 1
8397
8398
8399 if alt77 == 1:
8400 # C.g:489:29: '&&' inclusive_or_expression
8401 self.match(self.input, 92, self.FOLLOW_92_in_logical_and_expression1884)
8402 if self.failed:
8403 return
8404 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1886)
8405 self.inclusive_or_expression()
8406 self.following.pop()
8407 if self.failed:
8408 return
8409
8410
8411 else:
8412 break #loop77
8413
8414
8415
8416
8417
8418
8419 except RecognitionException as re:
8420 self.reportError(re)
8421 self.recover(self.input, re)
8422 finally:
8423 if self.backtracking > 0:
8424 self.memoize(self.input, 53, logical_and_expression_StartIndex)
8425
8426 pass
8427
8428 return
8429
8430 # $ANTLR end logical_and_expression
8431
8432
8433 # $ANTLR start inclusive_or_expression
8434 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8435 def inclusive_or_expression(self, ):
8436
8437 inclusive_or_expression_StartIndex = self.input.index()
8438 try:
8439 try:
8440 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
8441 return
8442
8443 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8444 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8445 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899)
8446 self.exclusive_or_expression()
8447 self.following.pop()
8448 if self.failed:
8449 return
8450 # C.g:493:28: ( '|' exclusive_or_expression )*
8451 while True: #loop78
8452 alt78 = 2
8453 LA78_0 = self.input.LA(1)
8454
8455 if (LA78_0 == 93) :
8456 alt78 = 1
8457
8458
8459 if alt78 == 1:
8460 # C.g:493:29: '|' exclusive_or_expression
8461 self.match(self.input, 93, self.FOLLOW_93_in_inclusive_or_expression1902)
8462 if self.failed:
8463 return
8464 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904)
8465 self.exclusive_or_expression()
8466 self.following.pop()
8467 if self.failed:
8468 return
8469
8470
8471 else:
8472 break #loop78
8473
8474
8475
8476
8477
8478
8479 except RecognitionException as re:
8480 self.reportError(re)
8481 self.recover(self.input, re)
8482 finally:
8483 if self.backtracking > 0:
8484 self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
8485
8486 pass
8487
8488 return
8489
8490 # $ANTLR end inclusive_or_expression
8491
8492
8493 # $ANTLR start exclusive_or_expression
8494 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8495 def exclusive_or_expression(self, ):
8496
8497 exclusive_or_expression_StartIndex = self.input.index()
8498 try:
8499 try:
8500 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
8501 return
8502
8503 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8504 # C.g:497:4: and_expression ( '^' and_expression )*
8505 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1917)
8506 self.and_expression()
8507 self.following.pop()
8508 if self.failed:
8509 return
8510 # C.g:497:19: ( '^' and_expression )*
8511 while True: #loop79
8512 alt79 = 2
8513 LA79_0 = self.input.LA(1)
8514
8515 if (LA79_0 == 94) :
8516 alt79 = 1
8517
8518
8519 if alt79 == 1:
8520 # C.g:497:20: '^' and_expression
8521 self.match(self.input, 94, self.FOLLOW_94_in_exclusive_or_expression1920)
8522 if self.failed:
8523 return
8524 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1922)
8525 self.and_expression()
8526 self.following.pop()
8527 if self.failed:
8528 return
8529
8530
8531 else:
8532 break #loop79
8533
8534
8535
8536
8537
8538
8539 except RecognitionException as re:
8540 self.reportError(re)
8541 self.recover(self.input, re)
8542 finally:
8543 if self.backtracking > 0:
8544 self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
8545
8546 pass
8547
8548 return
8549
8550 # $ANTLR end exclusive_or_expression
8551
8552
8553 # $ANTLR start and_expression
8554 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8555 def and_expression(self, ):
8556
8557 and_expression_StartIndex = self.input.index()
8558 try:
8559 try:
8560 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
8561 return
8562
8563 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8564 # C.g:501:4: equality_expression ( '&' equality_expression )*
8565 self.following.append(self.FOLLOW_equality_expression_in_and_expression1935)
8566 self.equality_expression()
8567 self.following.pop()
8568 if self.failed:
8569 return
8570 # C.g:501:24: ( '&' equality_expression )*
8571 while True: #loop80
8572 alt80 = 2
8573 LA80_0 = self.input.LA(1)
8574
8575 if (LA80_0 == 77) :
8576 alt80 = 1
8577
8578
8579 if alt80 == 1:
8580 # C.g:501:25: '&' equality_expression
8581 self.match(self.input, 77, self.FOLLOW_77_in_and_expression1938)
8582 if self.failed:
8583 return
8584 self.following.append(self.FOLLOW_equality_expression_in_and_expression1940)
8585 self.equality_expression()
8586 self.following.pop()
8587 if self.failed:
8588 return
8589
8590
8591 else:
8592 break #loop80
8593
8594
8595
8596
8597
8598
8599 except RecognitionException as re:
8600 self.reportError(re)
8601 self.recover(self.input, re)
8602 finally:
8603 if self.backtracking > 0:
8604 self.memoize(self.input, 56, and_expression_StartIndex)
8605
8606 pass
8607
8608 return
8609
8610 # $ANTLR end and_expression
8611
8612
8613 # $ANTLR start equality_expression
8614 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8615 def equality_expression(self, ):
8616
8617 equality_expression_StartIndex = self.input.index()
8618 try:
8619 try:
8620 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
8621 return
8622
8623 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8624 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8625 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1952)
8626 self.relational_expression()
8627 self.following.pop()
8628 if self.failed:
8629 return
8630 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8631 while True: #loop81
8632 alt81 = 2
8633 LA81_0 = self.input.LA(1)
8634
8635 if ((95 <= LA81_0 <= 96)) :
8636 alt81 = 1
8637
8638
8639 if alt81 == 1:
8640 # C.g:504:27: ( '==' | '!=' ) relational_expression
8641 if (95 <= self.input.LA(1) <= 96):
8642 self.input.consume();
8643 self.errorRecovery = False
8644 self.failed = False
8645
8646 else:
8647 if self.backtracking > 0:
8648 self.failed = True
8649 return
8650
8651 mse = MismatchedSetException(None, self.input)
8652 self.recoverFromMismatchedSet(
8653 self.input, mse, self.FOLLOW_set_in_equality_expression1955
8654 )
8655 raise mse
8656
8657
8658 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961)
8659 self.relational_expression()
8660 self.following.pop()
8661 if self.failed:
8662 return
8663
8664
8665 else:
8666 break #loop81
8667
8668
8669
8670
8671
8672
8673 except RecognitionException as re:
8674 self.reportError(re)
8675 self.recover(self.input, re)
8676 finally:
8677 if self.backtracking > 0:
8678 self.memoize(self.input, 57, equality_expression_StartIndex)
8679
8680 pass
8681
8682 return
8683
8684 # $ANTLR end equality_expression
8685
8686
8687 # $ANTLR start relational_expression
8688 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8689 def relational_expression(self, ):
8690
8691 relational_expression_StartIndex = self.input.index()
8692 try:
8693 try:
8694 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
8695 return
8696
8697 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8698 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8699 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1975)
8700 self.shift_expression()
8701 self.following.pop()
8702 if self.failed:
8703 return
8704 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8705 while True: #loop82
8706 alt82 = 2
8707 LA82_0 = self.input.LA(1)
8708
8709 if ((97 <= LA82_0 <= 100)) :
8710 alt82 = 1
8711
8712
8713 if alt82 == 1:
8714 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8715 if (97 <= self.input.LA(1) <= 100):
8716 self.input.consume();
8717 self.errorRecovery = False
8718 self.failed = False
8719
8720 else:
8721 if self.backtracking > 0:
8722 self.failed = True
8723 return
8724
8725 mse = MismatchedSetException(None, self.input)
8726 self.recoverFromMismatchedSet(
8727 self.input, mse, self.FOLLOW_set_in_relational_expression1978
8728 )
8729 raise mse
8730
8731
8732 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988)
8733 self.shift_expression()
8734 self.following.pop()
8735 if self.failed:
8736 return
8737
8738
8739 else:
8740 break #loop82
8741
8742
8743
8744
8745
8746
8747 except RecognitionException as re:
8748 self.reportError(re)
8749 self.recover(self.input, re)
8750 finally:
8751 if self.backtracking > 0:
8752 self.memoize(self.input, 58, relational_expression_StartIndex)
8753
8754 pass
8755
8756 return
8757
8758 # $ANTLR end relational_expression
8759
8760
8761 # $ANTLR start shift_expression
8762 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8763 def shift_expression(self, ):
8764
8765 shift_expression_StartIndex = self.input.index()
8766 try:
8767 try:
8768 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
8769 return
8770
8771 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8772 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8773 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2001)
8774 self.additive_expression()
8775 self.following.pop()
8776 if self.failed:
8777 return
8778 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8779 while True: #loop83
8780 alt83 = 2
8781 LA83_0 = self.input.LA(1)
8782
8783 if ((101 <= LA83_0 <= 102)) :
8784 alt83 = 1
8785
8786
8787 if alt83 == 1:
8788 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8789 if (101 <= self.input.LA(1) <= 102):
8790 self.input.consume();
8791 self.errorRecovery = False
8792 self.failed = False
8793
8794 else:
8795 if self.backtracking > 0:
8796 self.failed = True
8797 return
8798
8799 mse = MismatchedSetException(None, self.input)
8800 self.recoverFromMismatchedSet(
8801 self.input, mse, self.FOLLOW_set_in_shift_expression2004
8802 )
8803 raise mse
8804
8805
8806 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010)
8807 self.additive_expression()
8808 self.following.pop()
8809 if self.failed:
8810 return
8811
8812
8813 else:
8814 break #loop83
8815
8816
8817
8818
8819
8820
8821 except RecognitionException as re:
8822 self.reportError(re)
8823 self.recover(self.input, re)
8824 finally:
8825 if self.backtracking > 0:
8826 self.memoize(self.input, 59, shift_expression_StartIndex)
8827
8828 pass
8829
8830 return
8831
8832 # $ANTLR end shift_expression
8833
8834
8835 # $ANTLR start statement
8836 # C.g:517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
8837 def statement(self, ):
8838
8839 statement_StartIndex = self.input.index()
8840 try:
8841 try:
8842 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
8843 return
8844
8845 # C.g:518:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
8846 alt84 = 11
8847 LA84 = self.input.LA(1)
8848 if LA84 == IDENTIFIER:
8849 LA84 = self.input.LA(2)
8850 if LA84 == 62:
8851 LA84_43 = self.input.LA(3)
8852
8853 if (self.synpred169()) :
8854 alt84 = 3
8855 elif (self.synpred173()) :
8856 alt84 = 7
8857 elif (self.synpred174()) :
8858 alt84 = 8
8859 elif (True) :
8860 alt84 = 11
8861 else:
8862 if self.backtracking > 0:
8863 self.failed = True
8864 return
8865
8866 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 43, self.input)
8867
8868 raise nvae
8869
8870 elif LA84 == 47:
8871 alt84 = 1
8872 elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 64 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 75 or LA84 == 76 or LA84 == 77 or LA84 == 80 or LA84 == 81 or LA84 == 82 or LA84 == 83 or LA84 == 84 or LA84 == 85 or LA84 == 86 or LA84 == 87 or LA84 == 88 or LA84 == 89 or LA84 == 90 or LA84 == 91 or LA84 == 92 or LA84 == 93 or LA84 == 94 or LA84 == 95 or LA84 == 96 or LA84 == 97 or LA84 == 98 or LA84 == 99 or LA84 == 100 or LA84 == 101 or LA84 == 102:
8873 alt84 = 3
8874 elif LA84 == 66:
8875 LA84_47 = self.input.LA(3)
8876
8877 if (self.synpred169()) :
8878 alt84 = 3
8879 elif (True) :
8880 alt84 = 11
8881 else:
8882 if self.backtracking > 0:
8883 self.failed = True
8884 return
8885
8886 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self.input)
8887
8888 raise nvae
8889
8890 elif LA84 == IDENTIFIER:
8891 LA84_53 = self.input.LA(3)
8892
8893 if (self.synpred169()) :
8894 alt84 = 3
8895 elif (True) :
8896 alt84 = 11
8897 else:
8898 if self.backtracking > 0:
8899 self.failed = True
8900 return
8901
8902 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 53, self.input)
8903
8904 raise nvae
8905
8906 elif LA84 == 25:
8907 LA84_68 = self.input.LA(3)
8908
8909 if (self.synpred169()) :
8910 alt84 = 3
8911 elif (True) :
8912 alt84 = 11
8913 else:
8914 if self.backtracking > 0:
8915 self.failed = True
8916 return
8917
8918 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 68, self.input)
8919
8920 raise nvae
8921
8922 elif LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
8923 alt84 = 11
8924 else:
8925 if self.backtracking > 0:
8926 self.failed = True
8927 return
8928
8929 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self.input)
8930
8931 raise nvae
8932
8933 elif LA84 == 106 or LA84 == 107:
8934 alt84 = 1
8935 elif LA84 == 43:
8936 alt84 = 2
8937 elif LA84 == HEX_LITERAL or LA84 == OCTAL_LITERAL or LA84 == DECIMAL_LITERAL or LA84 == CHARACTER_LITERAL or LA84 == STRING_LITERAL or LA84 == FLOATING_POINT_LITERAL or LA84 == 25 or LA84 == 62 or LA84 == 66 or LA84 == 68 or LA84 == 69 or LA84 == 72 or LA84 == 73 or LA84 == 74 or LA84 == 77 or LA84 == 78 or LA84 == 79:
8938 alt84 = 3
8939 elif LA84 == 108 or LA84 == 110:
8940 alt84 = 4
8941 elif LA84 == 111 or LA84 == 112 or LA84 == 113:
8942 alt84 = 5
8943 elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117:
8944 alt84 = 6
8945 elif LA84 == 103:
8946 alt84 = 8
8947 elif LA84 == 104:
8948 alt84 = 9
8949 elif LA84 == 105:
8950 alt84 = 10
8951 elif LA84 == 26 or LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
8952 alt84 = 11
8953 else:
8954 if self.backtracking > 0:
8955 self.failed = True
8956 return
8957
8958 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self.input)
8959
8960 raise nvae
8961
8962 if alt84 == 1:
8963 # C.g:518:4: labeled_statement
8964 self.following.append(self.FOLLOW_labeled_statement_in_statement2025)
8965 self.labeled_statement()
8966 self.following.pop()
8967 if self.failed:
8968 return
8969
8970
8971 elif alt84 == 2:
8972 # C.g:519:4: compound_statement
8973 self.following.append(self.FOLLOW_compound_statement_in_statement2030)
8974 self.compound_statement()
8975 self.following.pop()
8976 if self.failed:
8977 return
8978
8979
8980 elif alt84 == 3:
8981 # C.g:520:4: expression_statement
8982 self.following.append(self.FOLLOW_expression_statement_in_statement2035)
8983 self.expression_statement()
8984 self.following.pop()
8985 if self.failed:
8986 return
8987
8988
8989 elif alt84 == 4:
8990 # C.g:521:4: selection_statement
8991 self.following.append(self.FOLLOW_selection_statement_in_statement2040)
8992 self.selection_statement()
8993 self.following.pop()
8994 if self.failed:
8995 return
8996
8997
8998 elif alt84 == 5:
8999 # C.g:522:4: iteration_statement
9000 self.following.append(self.FOLLOW_iteration_statement_in_statement2045)
9001 self.iteration_statement()
9002 self.following.pop()
9003 if self.failed:
9004 return
9005
9006
9007 elif alt84 == 6:
9008 # C.g:523:4: jump_statement
9009 self.following.append(self.FOLLOW_jump_statement_in_statement2050)
9010 self.jump_statement()
9011 self.following.pop()
9012 if self.failed:
9013 return
9014
9015
9016 elif alt84 == 7:
9017 # C.g:524:4: macro_statement
9018 self.following.append(self.FOLLOW_macro_statement_in_statement2055)
9019 self.macro_statement()
9020 self.following.pop()
9021 if self.failed:
9022 return
9023
9024
9025 elif alt84 == 8:
9026 # C.g:525:4: asm2_statement
9027 self.following.append(self.FOLLOW_asm2_statement_in_statement2060)
9028 self.asm2_statement()
9029 self.following.pop()
9030 if self.failed:
9031 return
9032
9033
9034 elif alt84 == 9:
9035 # C.g:526:4: asm1_statement
9036 self.following.append(self.FOLLOW_asm1_statement_in_statement2065)
9037 self.asm1_statement()
9038 self.following.pop()
9039 if self.failed:
9040 return
9041
9042
9043 elif alt84 == 10:
9044 # C.g:527:4: asm_statement
9045 self.following.append(self.FOLLOW_asm_statement_in_statement2070)
9046 self.asm_statement()
9047 self.following.pop()
9048 if self.failed:
9049 return
9050
9051
9052 elif alt84 == 11:
9053 # C.g:528:4: declaration
9054 self.following.append(self.FOLLOW_declaration_in_statement2075)
9055 self.declaration()
9056 self.following.pop()
9057 if self.failed:
9058 return
9059
9060
9061
9062 except RecognitionException as re:
9063 self.reportError(re)
9064 self.recover(self.input, re)
9065 finally:
9066 if self.backtracking > 0:
9067 self.memoize(self.input, 60, statement_StartIndex)
9068
9069 pass
9070
9071 return
9072
9073 # $ANTLR end statement
9074
9075
9076 # $ANTLR start asm2_statement
9077 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9078 def asm2_statement(self, ):
9079
9080 asm2_statement_StartIndex = self.input.index()
9081 try:
9082 try:
9083 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
9084 return
9085
9086 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9087 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9088 # C.g:532:4: ( '__asm__' )?
9089 alt85 = 2
9090 LA85_0 = self.input.LA(1)
9091
9092 if (LA85_0 == 103) :
9093 alt85 = 1
9094 if alt85 == 1:
9095 # C.g:0:0: '__asm__'
9096 self.match(self.input, 103, self.FOLLOW_103_in_asm2_statement2086)
9097 if self.failed:
9098 return
9099
9100
9101
9102 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2089)
9103 if self.failed:
9104 return
9105 self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091)
9106 if self.failed:
9107 return
9108 # C.g:532:30: (~ ( ';' ) )*
9109 while True: #loop86
9110 alt86 = 2
9111 LA86_0 = self.input.LA(1)
9112
9113 if (LA86_0 == 63) :
9114 LA86_1 = self.input.LA(2)
9115
9116 if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) :
9117 alt86 = 1
9118
9119
9120 elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) :
9121 alt86 = 1
9122
9123
9124 if alt86 == 1:
9125 # C.g:532:31: ~ ( ';' )
9126 if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 117):
9127 self.input.consume();
9128 self.errorRecovery = False
9129 self.failed = False
9130
9131 else:
9132 if self.backtracking > 0:
9133 self.failed = True
9134 return
9135
9136 mse = MismatchedSetException(None, self.input)
9137 self.recoverFromMismatchedSet(
9138 self.input, mse, self.FOLLOW_set_in_asm2_statement2094
9139 )
9140 raise mse
9141
9142
9143
9144
9145 else:
9146 break #loop86
9147
9148
9149 self.match(self.input, 63, self.FOLLOW_63_in_asm2_statement2101)
9150 if self.failed:
9151 return
9152 self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2103)
9153 if self.failed:
9154 return
9155
9156
9157
9158
9159 except RecognitionException as re:
9160 self.reportError(re)
9161 self.recover(self.input, re)
9162 finally:
9163 if self.backtracking > 0:
9164 self.memoize(self.input, 61, asm2_statement_StartIndex)
9165
9166 pass
9167
9168 return
9169
9170 # $ANTLR end asm2_statement
9171
9172
9173 # $ANTLR start asm1_statement
9174 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9175 def asm1_statement(self, ):
9176
9177 asm1_statement_StartIndex = self.input.index()
9178 try:
9179 try:
9180 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
9181 return
9182
9183 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9184 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9185 self.match(self.input, 104, self.FOLLOW_104_in_asm1_statement2115)
9186 if self.failed:
9187 return
9188 self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2117)
9189 if self.failed:
9190 return
9191 # C.g:536:15: (~ ( '}' ) )*
9192 while True: #loop87
9193 alt87 = 2
9194 LA87_0 = self.input.LA(1)
9195
9196 if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) :
9197 alt87 = 1
9198
9199
9200 if alt87 == 1:
9201 # C.g:536:16: ~ ( '}' )
9202 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9203 self.input.consume();
9204 self.errorRecovery = False
9205 self.failed = False
9206
9207 else:
9208 if self.backtracking > 0:
9209 self.failed = True
9210 return
9211
9212 mse = MismatchedSetException(None, self.input)
9213 self.recoverFromMismatchedSet(
9214 self.input, mse, self.FOLLOW_set_in_asm1_statement2120
9215 )
9216 raise mse
9217
9218
9219
9220
9221 else:
9222 break #loop87
9223
9224
9225 self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127)
9226 if self.failed:
9227 return
9228
9229
9230
9231
9232 except RecognitionException as re:
9233 self.reportError(re)
9234 self.recover(self.input, re)
9235 finally:
9236 if self.backtracking > 0:
9237 self.memoize(self.input, 62, asm1_statement_StartIndex)
9238
9239 pass
9240
9241 return
9242
9243 # $ANTLR end asm1_statement
9244
9245
9246 # $ANTLR start asm_statement
9247 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9248 def asm_statement(self, ):
9249
9250 asm_statement_StartIndex = self.input.index()
9251 try:
9252 try:
9253 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
9254 return
9255
9256 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9257 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9258 self.match(self.input, 105, self.FOLLOW_105_in_asm_statement2138)
9259 if self.failed:
9260 return
9261 self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2140)
9262 if self.failed:
9263 return
9264 # C.g:540:16: (~ ( '}' ) )*
9265 while True: #loop88
9266 alt88 = 2
9267 LA88_0 = self.input.LA(1)
9268
9269 if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) :
9270 alt88 = 1
9271
9272
9273 if alt88 == 1:
9274 # C.g:540:17: ~ ( '}' )
9275 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9276 self.input.consume();
9277 self.errorRecovery = False
9278 self.failed = False
9279
9280 else:
9281 if self.backtracking > 0:
9282 self.failed = True
9283 return
9284
9285 mse = MismatchedSetException(None, self.input)
9286 self.recoverFromMismatchedSet(
9287 self.input, mse, self.FOLLOW_set_in_asm_statement2143
9288 )
9289 raise mse
9290
9291
9292
9293
9294 else:
9295 break #loop88
9296
9297
9298 self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150)
9299 if self.failed:
9300 return
9301
9302
9303
9304
9305 except RecognitionException as re:
9306 self.reportError(re)
9307 self.recover(self.input, re)
9308 finally:
9309 if self.backtracking > 0:
9310 self.memoize(self.input, 63, asm_statement_StartIndex)
9311
9312 pass
9313
9314 return
9315
9316 # $ANTLR end asm_statement
9317
9318
9319 # $ANTLR start macro_statement
9320 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9321 def macro_statement(self, ):
9322
9323 macro_statement_StartIndex = self.input.index()
9324 try:
9325 try:
9326 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
9327 return
9328
9329 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9330 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9331 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2162)
9332 if self.failed:
9333 return
9334 self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2164)
9335 if self.failed:
9336 return
9337 # C.g:544:19: ( declaration )*
9338 while True: #loop89
9339 alt89 = 2
9340 LA89 = self.input.LA(1)
9341 if LA89 == IDENTIFIER:
9342 LA89 = self.input.LA(2)
9343 if LA89 == 62:
9344 LA89_45 = self.input.LA(3)
9345
9346 if (self.synpred181()) :
9347 alt89 = 1
9348
9349
9350 elif LA89 == IDENTIFIER:
9351 LA89_47 = self.input.LA(3)
9352
9353 if (self.synpred181()) :
9354 alt89 = 1
9355
9356
9357 elif LA89 == 66:
9358 LA89_50 = self.input.LA(3)
9359
9360 if (self.synpred181()) :
9361 alt89 = 1
9362
9363
9364 elif LA89 == 25:
9365 LA89_68 = self.input.LA(3)
9366
9367 if (self.synpred181()) :
9368 alt89 = 1
9369
9370
9371 elif LA89 == 58:
9372 LA89_71 = self.input.LA(3)
9373
9374 if (self.synpred181()) :
9375 alt89 = 1
9376
9377
9378 elif LA89 == 59:
9379 LA89_72 = self.input.LA(3)
9380
9381 if (self.synpred181()) :
9382 alt89 = 1
9383
9384
9385 elif LA89 == 60:
9386 LA89_73 = self.input.LA(3)
9387
9388 if (self.synpred181()) :
9389 alt89 = 1
9390
9391
9392 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9393 LA89_74 = self.input.LA(3)
9394
9395 if (self.synpred181()) :
9396 alt89 = 1
9397
9398
9399 elif LA89 == 34:
9400 LA89_75 = self.input.LA(3)
9401
9402 if (self.synpred181()) :
9403 alt89 = 1
9404
9405
9406 elif LA89 == 35:
9407 LA89_76 = self.input.LA(3)
9408
9409 if (self.synpred181()) :
9410 alt89 = 1
9411
9412
9413 elif LA89 == 36:
9414 LA89_77 = self.input.LA(3)
9415
9416 if (self.synpred181()) :
9417 alt89 = 1
9418
9419
9420 elif LA89 == 37:
9421 LA89_78 = self.input.LA(3)
9422
9423 if (self.synpred181()) :
9424 alt89 = 1
9425
9426
9427 elif LA89 == 38:
9428 LA89_79 = self.input.LA(3)
9429
9430 if (self.synpred181()) :
9431 alt89 = 1
9432
9433
9434 elif LA89 == 39:
9435 LA89_80 = self.input.LA(3)
9436
9437 if (self.synpred181()) :
9438 alt89 = 1
9439
9440
9441 elif LA89 == 40:
9442 LA89_81 = self.input.LA(3)
9443
9444 if (self.synpred181()) :
9445 alt89 = 1
9446
9447
9448 elif LA89 == 41:
9449 LA89_82 = self.input.LA(3)
9450
9451 if (self.synpred181()) :
9452 alt89 = 1
9453
9454
9455 elif LA89 == 42:
9456 LA89_83 = self.input.LA(3)
9457
9458 if (self.synpred181()) :
9459 alt89 = 1
9460
9461
9462 elif LA89 == 45 or LA89 == 46:
9463 LA89_84 = self.input.LA(3)
9464
9465 if (self.synpred181()) :
9466 alt89 = 1
9467
9468
9469 elif LA89 == 48:
9470 LA89_85 = self.input.LA(3)
9471
9472 if (self.synpred181()) :
9473 alt89 = 1
9474
9475
9476 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9477 LA89_86 = self.input.LA(3)
9478
9479 if (self.synpred181()) :
9480 alt89 = 1
9481
9482
9483
9484 elif LA89 == 26:
9485 LA89 = self.input.LA(2)
9486 if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9487 LA89_87 = self.input.LA(3)
9488
9489 if (self.synpred181()) :
9490 alt89 = 1
9491
9492
9493 elif LA89 == 34:
9494 LA89_88 = self.input.LA(3)
9495
9496 if (self.synpred181()) :
9497 alt89 = 1
9498
9499
9500 elif LA89 == 35:
9501 LA89_89 = self.input.LA(3)
9502
9503 if (self.synpred181()) :
9504 alt89 = 1
9505
9506
9507 elif LA89 == 36:
9508 LA89_90 = self.input.LA(3)
9509
9510 if (self.synpred181()) :
9511 alt89 = 1
9512
9513
9514 elif LA89 == 37:
9515 LA89_91 = self.input.LA(3)
9516
9517 if (self.synpred181()) :
9518 alt89 = 1
9519
9520
9521 elif LA89 == 38:
9522 LA89_92 = self.input.LA(3)
9523
9524 if (self.synpred181()) :
9525 alt89 = 1
9526
9527
9528 elif LA89 == 39:
9529 LA89_93 = self.input.LA(3)
9530
9531 if (self.synpred181()) :
9532 alt89 = 1
9533
9534
9535 elif LA89 == 40:
9536 LA89_94 = self.input.LA(3)
9537
9538 if (self.synpred181()) :
9539 alt89 = 1
9540
9541
9542 elif LA89 == 41:
9543 LA89_95 = self.input.LA(3)
9544
9545 if (self.synpred181()) :
9546 alt89 = 1
9547
9548
9549 elif LA89 == 42:
9550 LA89_96 = self.input.LA(3)
9551
9552 if (self.synpred181()) :
9553 alt89 = 1
9554
9555
9556 elif LA89 == 45 or LA89 == 46:
9557 LA89_97 = self.input.LA(3)
9558
9559 if (self.synpred181()) :
9560 alt89 = 1
9561
9562
9563 elif LA89 == 48:
9564 LA89_98 = self.input.LA(3)
9565
9566 if (self.synpred181()) :
9567 alt89 = 1
9568
9569
9570 elif LA89 == IDENTIFIER:
9571 LA89_99 = self.input.LA(3)
9572
9573 if (self.synpred181()) :
9574 alt89 = 1
9575
9576
9577 elif LA89 == 58:
9578 LA89_100 = self.input.LA(3)
9579
9580 if (self.synpred181()) :
9581 alt89 = 1
9582
9583
9584 elif LA89 == 66:
9585 LA89_101 = self.input.LA(3)
9586
9587 if (self.synpred181()) :
9588 alt89 = 1
9589
9590
9591 elif LA89 == 59:
9592 LA89_102 = self.input.LA(3)
9593
9594 if (self.synpred181()) :
9595 alt89 = 1
9596
9597
9598 elif LA89 == 60:
9599 LA89_103 = self.input.LA(3)
9600
9601 if (self.synpred181()) :
9602 alt89 = 1
9603
9604
9605 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9606 LA89_104 = self.input.LA(3)
9607
9608 if (self.synpred181()) :
9609 alt89 = 1
9610
9611
9612 elif LA89 == 62:
9613 LA89_105 = self.input.LA(3)
9614
9615 if (self.synpred181()) :
9616 alt89 = 1
9617
9618
9619
9620 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9621 LA89 = self.input.LA(2)
9622 if LA89 == 66:
9623 LA89_106 = self.input.LA(3)
9624
9625 if (self.synpred181()) :
9626 alt89 = 1
9627
9628
9629 elif LA89 == 58:
9630 LA89_107 = self.input.LA(3)
9631
9632 if (self.synpred181()) :
9633 alt89 = 1
9634
9635
9636 elif LA89 == 59:
9637 LA89_108 = self.input.LA(3)
9638
9639 if (self.synpred181()) :
9640 alt89 = 1
9641
9642
9643 elif LA89 == 60:
9644 LA89_109 = self.input.LA(3)
9645
9646 if (self.synpred181()) :
9647 alt89 = 1
9648
9649
9650 elif LA89 == IDENTIFIER:
9651 LA89_110 = self.input.LA(3)
9652
9653 if (self.synpred181()) :
9654 alt89 = 1
9655
9656
9657 elif LA89 == 62:
9658 LA89_111 = self.input.LA(3)
9659
9660 if (self.synpred181()) :
9661 alt89 = 1
9662
9663
9664 elif LA89 == 25:
9665 LA89_112 = self.input.LA(3)
9666
9667 if (self.synpred181()) :
9668 alt89 = 1
9669
9670
9671 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9672 LA89_113 = self.input.LA(3)
9673
9674 if (self.synpred181()) :
9675 alt89 = 1
9676
9677
9678 elif LA89 == 34:
9679 LA89_114 = self.input.LA(3)
9680
9681 if (self.synpred181()) :
9682 alt89 = 1
9683
9684
9685 elif LA89 == 35:
9686 LA89_115 = self.input.LA(3)
9687
9688 if (self.synpred181()) :
9689 alt89 = 1
9690
9691
9692 elif LA89 == 36:
9693 LA89_116 = self.input.LA(3)
9694
9695 if (self.synpred181()) :
9696 alt89 = 1
9697
9698
9699 elif LA89 == 37:
9700 LA89_117 = self.input.LA(3)
9701
9702 if (self.synpred181()) :
9703 alt89 = 1
9704
9705
9706 elif LA89 == 38:
9707 LA89_118 = self.input.LA(3)
9708
9709 if (self.synpred181()) :
9710 alt89 = 1
9711
9712
9713 elif LA89 == 39:
9714 LA89_119 = self.input.LA(3)
9715
9716 if (self.synpred181()) :
9717 alt89 = 1
9718
9719
9720 elif LA89 == 40:
9721 LA89_120 = self.input.LA(3)
9722
9723 if (self.synpred181()) :
9724 alt89 = 1
9725
9726
9727 elif LA89 == 41:
9728 LA89_121 = self.input.LA(3)
9729
9730 if (self.synpred181()) :
9731 alt89 = 1
9732
9733
9734 elif LA89 == 42:
9735 LA89_122 = self.input.LA(3)
9736
9737 if (self.synpred181()) :
9738 alt89 = 1
9739
9740
9741 elif LA89 == 45 or LA89 == 46:
9742 LA89_123 = self.input.LA(3)
9743
9744 if (self.synpred181()) :
9745 alt89 = 1
9746
9747
9748 elif LA89 == 48:
9749 LA89_124 = self.input.LA(3)
9750
9751 if (self.synpred181()) :
9752 alt89 = 1
9753
9754
9755 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9756 LA89_125 = self.input.LA(3)
9757
9758 if (self.synpred181()) :
9759 alt89 = 1
9760
9761
9762
9763 elif LA89 == 34:
9764 LA89 = self.input.LA(2)
9765 if LA89 == 66:
9766 LA89_126 = self.input.LA(3)
9767
9768 if (self.synpred181()) :
9769 alt89 = 1
9770
9771
9772 elif LA89 == 58:
9773 LA89_127 = self.input.LA(3)
9774
9775 if (self.synpred181()) :
9776 alt89 = 1
9777
9778
9779 elif LA89 == 59:
9780 LA89_128 = self.input.LA(3)
9781
9782 if (self.synpred181()) :
9783 alt89 = 1
9784
9785
9786 elif LA89 == 60:
9787 LA89_129 = self.input.LA(3)
9788
9789 if (self.synpred181()) :
9790 alt89 = 1
9791
9792
9793 elif LA89 == IDENTIFIER:
9794 LA89_130 = self.input.LA(3)
9795
9796 if (self.synpred181()) :
9797 alt89 = 1
9798
9799
9800 elif LA89 == 62:
9801 LA89_131 = self.input.LA(3)
9802
9803 if (self.synpred181()) :
9804 alt89 = 1
9805
9806
9807 elif LA89 == 25:
9808 LA89_132 = self.input.LA(3)
9809
9810 if (self.synpred181()) :
9811 alt89 = 1
9812
9813
9814 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9815 LA89_133 = self.input.LA(3)
9816
9817 if (self.synpred181()) :
9818 alt89 = 1
9819
9820
9821 elif LA89 == 34:
9822 LA89_134 = self.input.LA(3)
9823
9824 if (self.synpred181()) :
9825 alt89 = 1
9826
9827
9828 elif LA89 == 35:
9829 LA89_135 = self.input.LA(3)
9830
9831 if (self.synpred181()) :
9832 alt89 = 1
9833
9834
9835 elif LA89 == 36:
9836 LA89_136 = self.input.LA(3)
9837
9838 if (self.synpred181()) :
9839 alt89 = 1
9840
9841
9842 elif LA89 == 37:
9843 LA89_137 = self.input.LA(3)
9844
9845 if (self.synpred181()) :
9846 alt89 = 1
9847
9848
9849 elif LA89 == 38:
9850 LA89_138 = self.input.LA(3)
9851
9852 if (self.synpred181()) :
9853 alt89 = 1
9854
9855
9856 elif LA89 == 39:
9857 LA89_139 = self.input.LA(3)
9858
9859 if (self.synpred181()) :
9860 alt89 = 1
9861
9862
9863 elif LA89 == 40:
9864 LA89_140 = self.input.LA(3)
9865
9866 if (self.synpred181()) :
9867 alt89 = 1
9868
9869
9870 elif LA89 == 41:
9871 LA89_141 = self.input.LA(3)
9872
9873 if (self.synpred181()) :
9874 alt89 = 1
9875
9876
9877 elif LA89 == 42:
9878 LA89_142 = self.input.LA(3)
9879
9880 if (self.synpred181()) :
9881 alt89 = 1
9882
9883
9884 elif LA89 == 45 or LA89 == 46:
9885 LA89_143 = self.input.LA(3)
9886
9887 if (self.synpred181()) :
9888 alt89 = 1
9889
9890
9891 elif LA89 == 48:
9892 LA89_144 = self.input.LA(3)
9893
9894 if (self.synpred181()) :
9895 alt89 = 1
9896
9897
9898 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9899 LA89_145 = self.input.LA(3)
9900
9901 if (self.synpred181()) :
9902 alt89 = 1
9903
9904
9905
9906 elif LA89 == 35:
9907 LA89 = self.input.LA(2)
9908 if LA89 == 66:
9909 LA89_146 = self.input.LA(3)
9910
9911 if (self.synpred181()) :
9912 alt89 = 1
9913
9914
9915 elif LA89 == 58:
9916 LA89_147 = self.input.LA(3)
9917
9918 if (self.synpred181()) :
9919 alt89 = 1
9920
9921
9922 elif LA89 == 59:
9923 LA89_148 = self.input.LA(3)
9924
9925 if (self.synpred181()) :
9926 alt89 = 1
9927
9928
9929 elif LA89 == 60:
9930 LA89_149 = self.input.LA(3)
9931
9932 if (self.synpred181()) :
9933 alt89 = 1
9934
9935
9936 elif LA89 == IDENTIFIER:
9937 LA89_150 = self.input.LA(3)
9938
9939 if (self.synpred181()) :
9940 alt89 = 1
9941
9942
9943 elif LA89 == 62:
9944 LA89_151 = self.input.LA(3)
9945
9946 if (self.synpred181()) :
9947 alt89 = 1
9948
9949
9950 elif LA89 == 25:
9951 LA89_152 = self.input.LA(3)
9952
9953 if (self.synpred181()) :
9954 alt89 = 1
9955
9956
9957 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9958 LA89_153 = self.input.LA(3)
9959
9960 if (self.synpred181()) :
9961 alt89 = 1
9962
9963
9964 elif LA89 == 34:
9965 LA89_154 = self.input.LA(3)
9966
9967 if (self.synpred181()) :
9968 alt89 = 1
9969
9970
9971 elif LA89 == 35:
9972 LA89_155 = self.input.LA(3)
9973
9974 if (self.synpred181()) :
9975 alt89 = 1
9976
9977
9978 elif LA89 == 36:
9979 LA89_156 = self.input.LA(3)
9980
9981 if (self.synpred181()) :
9982 alt89 = 1
9983
9984
9985 elif LA89 == 37:
9986 LA89_157 = self.input.LA(3)
9987
9988 if (self.synpred181()) :
9989 alt89 = 1
9990
9991
9992 elif LA89 == 38:
9993 LA89_158 = self.input.LA(3)
9994
9995 if (self.synpred181()) :
9996 alt89 = 1
9997
9998
9999 elif LA89 == 39:
10000 LA89_159 = self.input.LA(3)
10001
10002 if (self.synpred181()) :
10003 alt89 = 1
10004
10005
10006 elif LA89 == 40:
10007 LA89_160 = self.input.LA(3)
10008
10009 if (self.synpred181()) :
10010 alt89 = 1
10011
10012
10013 elif LA89 == 41:
10014 LA89_161 = self.input.LA(3)
10015
10016 if (self.synpred181()) :
10017 alt89 = 1
10018
10019
10020 elif LA89 == 42:
10021 LA89_162 = self.input.LA(3)
10022
10023 if (self.synpred181()) :
10024 alt89 = 1
10025
10026
10027 elif LA89 == 45 or LA89 == 46:
10028 LA89_163 = self.input.LA(3)
10029
10030 if (self.synpred181()) :
10031 alt89 = 1
10032
10033
10034 elif LA89 == 48:
10035 LA89_164 = self.input.LA(3)
10036
10037 if (self.synpred181()) :
10038 alt89 = 1
10039
10040
10041 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10042 LA89_165 = self.input.LA(3)
10043
10044 if (self.synpred181()) :
10045 alt89 = 1
10046
10047
10048
10049 elif LA89 == 36:
10050 LA89 = self.input.LA(2)
10051 if LA89 == 66:
10052 LA89_166 = self.input.LA(3)
10053
10054 if (self.synpred181()) :
10055 alt89 = 1
10056
10057
10058 elif LA89 == 58:
10059 LA89_167 = self.input.LA(3)
10060
10061 if (self.synpred181()) :
10062 alt89 = 1
10063
10064
10065 elif LA89 == 59:
10066 LA89_168 = self.input.LA(3)
10067
10068 if (self.synpred181()) :
10069 alt89 = 1
10070
10071
10072 elif LA89 == 60:
10073 LA89_169 = self.input.LA(3)
10074
10075 if (self.synpred181()) :
10076 alt89 = 1
10077
10078
10079 elif LA89 == IDENTIFIER:
10080 LA89_170 = self.input.LA(3)
10081
10082 if (self.synpred181()) :
10083 alt89 = 1
10084
10085
10086 elif LA89 == 62:
10087 LA89_171 = self.input.LA(3)
10088
10089 if (self.synpred181()) :
10090 alt89 = 1
10091
10092
10093 elif LA89 == 25:
10094 LA89_172 = self.input.LA(3)
10095
10096 if (self.synpred181()) :
10097 alt89 = 1
10098
10099
10100 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10101 LA89_173 = self.input.LA(3)
10102
10103 if (self.synpred181()) :
10104 alt89 = 1
10105
10106
10107 elif LA89 == 34:
10108 LA89_174 = self.input.LA(3)
10109
10110 if (self.synpred181()) :
10111 alt89 = 1
10112
10113
10114 elif LA89 == 35:
10115 LA89_175 = self.input.LA(3)
10116
10117 if (self.synpred181()) :
10118 alt89 = 1
10119
10120
10121 elif LA89 == 36:
10122 LA89_176 = self.input.LA(3)
10123
10124 if (self.synpred181()) :
10125 alt89 = 1
10126
10127
10128 elif LA89 == 37:
10129 LA89_177 = self.input.LA(3)
10130
10131 if (self.synpred181()) :
10132 alt89 = 1
10133
10134
10135 elif LA89 == 38:
10136 LA89_178 = self.input.LA(3)
10137
10138 if (self.synpred181()) :
10139 alt89 = 1
10140
10141
10142 elif LA89 == 39:
10143 LA89_179 = self.input.LA(3)
10144
10145 if (self.synpred181()) :
10146 alt89 = 1
10147
10148
10149 elif LA89 == 40:
10150 LA89_180 = self.input.LA(3)
10151
10152 if (self.synpred181()) :
10153 alt89 = 1
10154
10155
10156 elif LA89 == 41:
10157 LA89_181 = self.input.LA(3)
10158
10159 if (self.synpred181()) :
10160 alt89 = 1
10161
10162
10163 elif LA89 == 42:
10164 LA89_182 = self.input.LA(3)
10165
10166 if (self.synpred181()) :
10167 alt89 = 1
10168
10169
10170 elif LA89 == 45 or LA89 == 46:
10171 LA89_183 = self.input.LA(3)
10172
10173 if (self.synpred181()) :
10174 alt89 = 1
10175
10176
10177 elif LA89 == 48:
10178 LA89_184 = self.input.LA(3)
10179
10180 if (self.synpred181()) :
10181 alt89 = 1
10182
10183
10184 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10185 LA89_185 = self.input.LA(3)
10186
10187 if (self.synpred181()) :
10188 alt89 = 1
10189
10190
10191
10192 elif LA89 == 37:
10193 LA89 = self.input.LA(2)
10194 if LA89 == 66:
10195 LA89_186 = self.input.LA(3)
10196
10197 if (self.synpred181()) :
10198 alt89 = 1
10199
10200
10201 elif LA89 == 58:
10202 LA89_187 = self.input.LA(3)
10203
10204 if (self.synpred181()) :
10205 alt89 = 1
10206
10207
10208 elif LA89 == 59:
10209 LA89_188 = self.input.LA(3)
10210
10211 if (self.synpred181()) :
10212 alt89 = 1
10213
10214
10215 elif LA89 == 60:
10216 LA89_189 = self.input.LA(3)
10217
10218 if (self.synpred181()) :
10219 alt89 = 1
10220
10221
10222 elif LA89 == IDENTIFIER:
10223 LA89_190 = self.input.LA(3)
10224
10225 if (self.synpred181()) :
10226 alt89 = 1
10227
10228
10229 elif LA89 == 62:
10230 LA89_191 = self.input.LA(3)
10231
10232 if (self.synpred181()) :
10233 alt89 = 1
10234
10235
10236 elif LA89 == 25:
10237 LA89_192 = self.input.LA(3)
10238
10239 if (self.synpred181()) :
10240 alt89 = 1
10241
10242
10243 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10244 LA89_193 = self.input.LA(3)
10245
10246 if (self.synpred181()) :
10247 alt89 = 1
10248
10249
10250 elif LA89 == 34:
10251 LA89_194 = self.input.LA(3)
10252
10253 if (self.synpred181()) :
10254 alt89 = 1
10255
10256
10257 elif LA89 == 35:
10258 LA89_195 = self.input.LA(3)
10259
10260 if (self.synpred181()) :
10261 alt89 = 1
10262
10263
10264 elif LA89 == 36:
10265 LA89_196 = self.input.LA(3)
10266
10267 if (self.synpred181()) :
10268 alt89 = 1
10269
10270
10271 elif LA89 == 37:
10272 LA89_197 = self.input.LA(3)
10273
10274 if (self.synpred181()) :
10275 alt89 = 1
10276
10277
10278 elif LA89 == 38:
10279 LA89_198 = self.input.LA(3)
10280
10281 if (self.synpred181()) :
10282 alt89 = 1
10283
10284
10285 elif LA89 == 39:
10286 LA89_199 = self.input.LA(3)
10287
10288 if (self.synpred181()) :
10289 alt89 = 1
10290
10291
10292 elif LA89 == 40:
10293 LA89_200 = self.input.LA(3)
10294
10295 if (self.synpred181()) :
10296 alt89 = 1
10297
10298
10299 elif LA89 == 41:
10300 LA89_201 = self.input.LA(3)
10301
10302 if (self.synpred181()) :
10303 alt89 = 1
10304
10305
10306 elif LA89 == 42:
10307 LA89_202 = self.input.LA(3)
10308
10309 if (self.synpred181()) :
10310 alt89 = 1
10311
10312
10313 elif LA89 == 45 or LA89 == 46:
10314 LA89_203 = self.input.LA(3)
10315
10316 if (self.synpred181()) :
10317 alt89 = 1
10318
10319
10320 elif LA89 == 48:
10321 LA89_204 = self.input.LA(3)
10322
10323 if (self.synpred181()) :
10324 alt89 = 1
10325
10326
10327 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10328 LA89_205 = self.input.LA(3)
10329
10330 if (self.synpred181()) :
10331 alt89 = 1
10332
10333
10334
10335 elif LA89 == 38:
10336 LA89 = self.input.LA(2)
10337 if LA89 == 66:
10338 LA89_206 = self.input.LA(3)
10339
10340 if (self.synpred181()) :
10341 alt89 = 1
10342
10343
10344 elif LA89 == 58:
10345 LA89_207 = self.input.LA(3)
10346
10347 if (self.synpred181()) :
10348 alt89 = 1
10349
10350
10351 elif LA89 == 59:
10352 LA89_208 = self.input.LA(3)
10353
10354 if (self.synpred181()) :
10355 alt89 = 1
10356
10357
10358 elif LA89 == 60:
10359 LA89_209 = self.input.LA(3)
10360
10361 if (self.synpred181()) :
10362 alt89 = 1
10363
10364
10365 elif LA89 == IDENTIFIER:
10366 LA89_210 = self.input.LA(3)
10367
10368 if (self.synpred181()) :
10369 alt89 = 1
10370
10371
10372 elif LA89 == 62:
10373 LA89_211 = self.input.LA(3)
10374
10375 if (self.synpred181()) :
10376 alt89 = 1
10377
10378
10379 elif LA89 == 25:
10380 LA89_212 = self.input.LA(3)
10381
10382 if (self.synpred181()) :
10383 alt89 = 1
10384
10385
10386 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10387 LA89_213 = self.input.LA(3)
10388
10389 if (self.synpred181()) :
10390 alt89 = 1
10391
10392
10393 elif LA89 == 34:
10394 LA89_214 = self.input.LA(3)
10395
10396 if (self.synpred181()) :
10397 alt89 = 1
10398
10399
10400 elif LA89 == 35:
10401 LA89_215 = self.input.LA(3)
10402
10403 if (self.synpred181()) :
10404 alt89 = 1
10405
10406
10407 elif LA89 == 36:
10408 LA89_216 = self.input.LA(3)
10409
10410 if (self.synpred181()) :
10411 alt89 = 1
10412
10413
10414 elif LA89 == 37:
10415 LA89_217 = self.input.LA(3)
10416
10417 if (self.synpred181()) :
10418 alt89 = 1
10419
10420
10421 elif LA89 == 38:
10422 LA89_218 = self.input.LA(3)
10423
10424 if (self.synpred181()) :
10425 alt89 = 1
10426
10427
10428 elif LA89 == 39:
10429 LA89_219 = self.input.LA(3)
10430
10431 if (self.synpred181()) :
10432 alt89 = 1
10433
10434
10435 elif LA89 == 40:
10436 LA89_220 = self.input.LA(3)
10437
10438 if (self.synpred181()) :
10439 alt89 = 1
10440
10441
10442 elif LA89 == 41:
10443 LA89_221 = self.input.LA(3)
10444
10445 if (self.synpred181()) :
10446 alt89 = 1
10447
10448
10449 elif LA89 == 42:
10450 LA89_222 = self.input.LA(3)
10451
10452 if (self.synpred181()) :
10453 alt89 = 1
10454
10455
10456 elif LA89 == 45 or LA89 == 46:
10457 LA89_223 = self.input.LA(3)
10458
10459 if (self.synpred181()) :
10460 alt89 = 1
10461
10462
10463 elif LA89 == 48:
10464 LA89_224 = self.input.LA(3)
10465
10466 if (self.synpred181()) :
10467 alt89 = 1
10468
10469
10470 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10471 LA89_225 = self.input.LA(3)
10472
10473 if (self.synpred181()) :
10474 alt89 = 1
10475
10476
10477
10478 elif LA89 == 39:
10479 LA89 = self.input.LA(2)
10480 if LA89 == 66:
10481 LA89_226 = self.input.LA(3)
10482
10483 if (self.synpred181()) :
10484 alt89 = 1
10485
10486
10487 elif LA89 == 58:
10488 LA89_227 = self.input.LA(3)
10489
10490 if (self.synpred181()) :
10491 alt89 = 1
10492
10493
10494 elif LA89 == 59:
10495 LA89_228 = self.input.LA(3)
10496
10497 if (self.synpred181()) :
10498 alt89 = 1
10499
10500
10501 elif LA89 == 60:
10502 LA89_229 = self.input.LA(3)
10503
10504 if (self.synpred181()) :
10505 alt89 = 1
10506
10507
10508 elif LA89 == IDENTIFIER:
10509 LA89_230 = self.input.LA(3)
10510
10511 if (self.synpred181()) :
10512 alt89 = 1
10513
10514
10515 elif LA89 == 62:
10516 LA89_231 = self.input.LA(3)
10517
10518 if (self.synpred181()) :
10519 alt89 = 1
10520
10521
10522 elif LA89 == 25:
10523 LA89_232 = self.input.LA(3)
10524
10525 if (self.synpred181()) :
10526 alt89 = 1
10527
10528
10529 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10530 LA89_233 = self.input.LA(3)
10531
10532 if (self.synpred181()) :
10533 alt89 = 1
10534
10535
10536 elif LA89 == 34:
10537 LA89_234 = self.input.LA(3)
10538
10539 if (self.synpred181()) :
10540 alt89 = 1
10541
10542
10543 elif LA89 == 35:
10544 LA89_235 = self.input.LA(3)
10545
10546 if (self.synpred181()) :
10547 alt89 = 1
10548
10549
10550 elif LA89 == 36:
10551 LA89_236 = self.input.LA(3)
10552
10553 if (self.synpred181()) :
10554 alt89 = 1
10555
10556
10557 elif LA89 == 37:
10558 LA89_237 = self.input.LA(3)
10559
10560 if (self.synpred181()) :
10561 alt89 = 1
10562
10563
10564 elif LA89 == 38:
10565 LA89_238 = self.input.LA(3)
10566
10567 if (self.synpred181()) :
10568 alt89 = 1
10569
10570
10571 elif LA89 == 39:
10572 LA89_239 = self.input.LA(3)
10573
10574 if (self.synpred181()) :
10575 alt89 = 1
10576
10577
10578 elif LA89 == 40:
10579 LA89_240 = self.input.LA(3)
10580
10581 if (self.synpred181()) :
10582 alt89 = 1
10583
10584
10585 elif LA89 == 41:
10586 LA89_241 = self.input.LA(3)
10587
10588 if (self.synpred181()) :
10589 alt89 = 1
10590
10591
10592 elif LA89 == 42:
10593 LA89_242 = self.input.LA(3)
10594
10595 if (self.synpred181()) :
10596 alt89 = 1
10597
10598
10599 elif LA89 == 45 or LA89 == 46:
10600 LA89_243 = self.input.LA(3)
10601
10602 if (self.synpred181()) :
10603 alt89 = 1
10604
10605
10606 elif LA89 == 48:
10607 LA89_244 = self.input.LA(3)
10608
10609 if (self.synpred181()) :
10610 alt89 = 1
10611
10612
10613 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10614 LA89_245 = self.input.LA(3)
10615
10616 if (self.synpred181()) :
10617 alt89 = 1
10618
10619
10620
10621 elif LA89 == 40:
10622 LA89 = self.input.LA(2)
10623 if LA89 == 66:
10624 LA89_246 = self.input.LA(3)
10625
10626 if (self.synpred181()) :
10627 alt89 = 1
10628
10629
10630 elif LA89 == 58:
10631 LA89_247 = self.input.LA(3)
10632
10633 if (self.synpred181()) :
10634 alt89 = 1
10635
10636
10637 elif LA89 == 59:
10638 LA89_248 = self.input.LA(3)
10639
10640 if (self.synpred181()) :
10641 alt89 = 1
10642
10643
10644 elif LA89 == 60:
10645 LA89_249 = self.input.LA(3)
10646
10647 if (self.synpred181()) :
10648 alt89 = 1
10649
10650
10651 elif LA89 == IDENTIFIER:
10652 LA89_250 = self.input.LA(3)
10653
10654 if (self.synpred181()) :
10655 alt89 = 1
10656
10657
10658 elif LA89 == 62:
10659 LA89_251 = self.input.LA(3)
10660
10661 if (self.synpred181()) :
10662 alt89 = 1
10663
10664
10665 elif LA89 == 25:
10666 LA89_252 = self.input.LA(3)
10667
10668 if (self.synpred181()) :
10669 alt89 = 1
10670
10671
10672 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10673 LA89_253 = self.input.LA(3)
10674
10675 if (self.synpred181()) :
10676 alt89 = 1
10677
10678
10679 elif LA89 == 34:
10680 LA89_254 = self.input.LA(3)
10681
10682 if (self.synpred181()) :
10683 alt89 = 1
10684
10685
10686 elif LA89 == 35:
10687 LA89_255 = self.input.LA(3)
10688
10689 if (self.synpred181()) :
10690 alt89 = 1
10691
10692
10693 elif LA89 == 36:
10694 LA89_256 = self.input.LA(3)
10695
10696 if (self.synpred181()) :
10697 alt89 = 1
10698
10699
10700 elif LA89 == 37:
10701 LA89_257 = self.input.LA(3)
10702
10703 if (self.synpred181()) :
10704 alt89 = 1
10705
10706
10707 elif LA89 == 38:
10708 LA89_258 = self.input.LA(3)
10709
10710 if (self.synpred181()) :
10711 alt89 = 1
10712
10713
10714 elif LA89 == 39:
10715 LA89_259 = self.input.LA(3)
10716
10717 if (self.synpred181()) :
10718 alt89 = 1
10719
10720
10721 elif LA89 == 40:
10722 LA89_260 = self.input.LA(3)
10723
10724 if (self.synpred181()) :
10725 alt89 = 1
10726
10727
10728 elif LA89 == 41:
10729 LA89_261 = self.input.LA(3)
10730
10731 if (self.synpred181()) :
10732 alt89 = 1
10733
10734
10735 elif LA89 == 42:
10736 LA89_262 = self.input.LA(3)
10737
10738 if (self.synpred181()) :
10739 alt89 = 1
10740
10741
10742 elif LA89 == 45 or LA89 == 46:
10743 LA89_263 = self.input.LA(3)
10744
10745 if (self.synpred181()) :
10746 alt89 = 1
10747
10748
10749 elif LA89 == 48:
10750 LA89_264 = self.input.LA(3)
10751
10752 if (self.synpred181()) :
10753 alt89 = 1
10754
10755
10756 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10757 LA89_265 = self.input.LA(3)
10758
10759 if (self.synpred181()) :
10760 alt89 = 1
10761
10762
10763
10764 elif LA89 == 41:
10765 LA89 = self.input.LA(2)
10766 if LA89 == 66:
10767 LA89_266 = self.input.LA(3)
10768
10769 if (self.synpred181()) :
10770 alt89 = 1
10771
10772
10773 elif LA89 == 58:
10774 LA89_267 = self.input.LA(3)
10775
10776 if (self.synpred181()) :
10777 alt89 = 1
10778
10779
10780 elif LA89 == 59:
10781 LA89_268 = self.input.LA(3)
10782
10783 if (self.synpred181()) :
10784 alt89 = 1
10785
10786
10787 elif LA89 == 60:
10788 LA89_269 = self.input.LA(3)
10789
10790 if (self.synpred181()) :
10791 alt89 = 1
10792
10793
10794 elif LA89 == IDENTIFIER:
10795 LA89_270 = self.input.LA(3)
10796
10797 if (self.synpred181()) :
10798 alt89 = 1
10799
10800
10801 elif LA89 == 62:
10802 LA89_271 = self.input.LA(3)
10803
10804 if (self.synpred181()) :
10805 alt89 = 1
10806
10807
10808 elif LA89 == 25:
10809 LA89_272 = self.input.LA(3)
10810
10811 if (self.synpred181()) :
10812 alt89 = 1
10813
10814
10815 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10816 LA89_273 = self.input.LA(3)
10817
10818 if (self.synpred181()) :
10819 alt89 = 1
10820
10821
10822 elif LA89 == 34:
10823 LA89_274 = self.input.LA(3)
10824
10825 if (self.synpred181()) :
10826 alt89 = 1
10827
10828
10829 elif LA89 == 35:
10830 LA89_275 = self.input.LA(3)
10831
10832 if (self.synpred181()) :
10833 alt89 = 1
10834
10835
10836 elif LA89 == 36:
10837 LA89_276 = self.input.LA(3)
10838
10839 if (self.synpred181()) :
10840 alt89 = 1
10841
10842
10843 elif LA89 == 37:
10844 LA89_277 = self.input.LA(3)
10845
10846 if (self.synpred181()) :
10847 alt89 = 1
10848
10849
10850 elif LA89 == 38:
10851 LA89_278 = self.input.LA(3)
10852
10853 if (self.synpred181()) :
10854 alt89 = 1
10855
10856
10857 elif LA89 == 39:
10858 LA89_279 = self.input.LA(3)
10859
10860 if (self.synpred181()) :
10861 alt89 = 1
10862
10863
10864 elif LA89 == 40:
10865 LA89_280 = self.input.LA(3)
10866
10867 if (self.synpred181()) :
10868 alt89 = 1
10869
10870
10871 elif LA89 == 41:
10872 LA89_281 = self.input.LA(3)
10873
10874 if (self.synpred181()) :
10875 alt89 = 1
10876
10877
10878 elif LA89 == 42:
10879 LA89_282 = self.input.LA(3)
10880
10881 if (self.synpred181()) :
10882 alt89 = 1
10883
10884
10885 elif LA89 == 45 or LA89 == 46:
10886 LA89_283 = self.input.LA(3)
10887
10888 if (self.synpred181()) :
10889 alt89 = 1
10890
10891
10892 elif LA89 == 48:
10893 LA89_284 = self.input.LA(3)
10894
10895 if (self.synpred181()) :
10896 alt89 = 1
10897
10898
10899 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10900 LA89_285 = self.input.LA(3)
10901
10902 if (self.synpred181()) :
10903 alt89 = 1
10904
10905
10906
10907 elif LA89 == 42:
10908 LA89 = self.input.LA(2)
10909 if LA89 == 66:
10910 LA89_286 = self.input.LA(3)
10911
10912 if (self.synpred181()) :
10913 alt89 = 1
10914
10915
10916 elif LA89 == 58:
10917 LA89_287 = self.input.LA(3)
10918
10919 if (self.synpred181()) :
10920 alt89 = 1
10921
10922
10923 elif LA89 == 59:
10924 LA89_288 = self.input.LA(3)
10925
10926 if (self.synpred181()) :
10927 alt89 = 1
10928
10929
10930 elif LA89 == 60:
10931 LA89_289 = self.input.LA(3)
10932
10933 if (self.synpred181()) :
10934 alt89 = 1
10935
10936
10937 elif LA89 == IDENTIFIER:
10938 LA89_290 = self.input.LA(3)
10939
10940 if (self.synpred181()) :
10941 alt89 = 1
10942
10943
10944 elif LA89 == 62:
10945 LA89_291 = self.input.LA(3)
10946
10947 if (self.synpred181()) :
10948 alt89 = 1
10949
10950
10951 elif LA89 == 25:
10952 LA89_292 = self.input.LA(3)
10953
10954 if (self.synpred181()) :
10955 alt89 = 1
10956
10957
10958 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10959 LA89_293 = self.input.LA(3)
10960
10961 if (self.synpred181()) :
10962 alt89 = 1
10963
10964
10965 elif LA89 == 34:
10966 LA89_294 = self.input.LA(3)
10967
10968 if (self.synpred181()) :
10969 alt89 = 1
10970
10971
10972 elif LA89 == 35:
10973 LA89_295 = self.input.LA(3)
10974
10975 if (self.synpred181()) :
10976 alt89 = 1
10977
10978
10979 elif LA89 == 36:
10980 LA89_296 = self.input.LA(3)
10981
10982 if (self.synpred181()) :
10983 alt89 = 1
10984
10985
10986 elif LA89 == 37:
10987 LA89_297 = self.input.LA(3)
10988
10989 if (self.synpred181()) :
10990 alt89 = 1
10991
10992
10993 elif LA89 == 38:
10994 LA89_298 = self.input.LA(3)
10995
10996 if (self.synpred181()) :
10997 alt89 = 1
10998
10999
11000 elif LA89 == 39:
11001 LA89_299 = self.input.LA(3)
11002
11003 if (self.synpred181()) :
11004 alt89 = 1
11005
11006
11007 elif LA89 == 40:
11008 LA89_300 = self.input.LA(3)
11009
11010 if (self.synpred181()) :
11011 alt89 = 1
11012
11013
11014 elif LA89 == 41:
11015 LA89_301 = self.input.LA(3)
11016
11017 if (self.synpred181()) :
11018 alt89 = 1
11019
11020
11021 elif LA89 == 42:
11022 LA89_302 = self.input.LA(3)
11023
11024 if (self.synpred181()) :
11025 alt89 = 1
11026
11027
11028 elif LA89 == 45 or LA89 == 46:
11029 LA89_303 = self.input.LA(3)
11030
11031 if (self.synpred181()) :
11032 alt89 = 1
11033
11034
11035 elif LA89 == 48:
11036 LA89_304 = self.input.LA(3)
11037
11038 if (self.synpred181()) :
11039 alt89 = 1
11040
11041
11042 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
11043 LA89_305 = self.input.LA(3)
11044
11045 if (self.synpred181()) :
11046 alt89 = 1
11047
11048
11049
11050 elif LA89 == 45 or LA89 == 46:
11051 LA89_40 = self.input.LA(2)
11052
11053 if (LA89_40 == IDENTIFIER) :
11054 LA89_306 = self.input.LA(3)
11055
11056 if (self.synpred181()) :
11057 alt89 = 1
11058
11059
11060 elif (LA89_40 == 43) :
11061 LA89_307 = self.input.LA(3)
11062
11063 if (self.synpred181()) :
11064 alt89 = 1
11065
11066
11067
11068
11069 elif LA89 == 48:
11070 LA89_41 = self.input.LA(2)
11071
11072 if (LA89_41 == 43) :
11073 LA89_308 = self.input.LA(3)
11074
11075 if (self.synpred181()) :
11076 alt89 = 1
11077
11078
11079 elif (LA89_41 == IDENTIFIER) :
11080 LA89_309 = self.input.LA(3)
11081
11082 if (self.synpred181()) :
11083 alt89 = 1
11084
11085
11086
11087
11088 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 58 or LA89 == 59 or LA89 == 60 or LA89 == 61:
11089 LA89 = self.input.LA(2)
11090 if LA89 == 66:
11091 LA89_310 = self.input.LA(3)
11092
11093 if (self.synpred181()) :
11094 alt89 = 1
11095
11096
11097 elif LA89 == 58:
11098 LA89_311 = self.input.LA(3)
11099
11100 if (self.synpred181()) :
11101 alt89 = 1
11102
11103
11104 elif LA89 == 59:
11105 LA89_312 = self.input.LA(3)
11106
11107 if (self.synpred181()) :
11108 alt89 = 1
11109
11110
11111 elif LA89 == 60:
11112 LA89_313 = self.input.LA(3)
11113
11114 if (self.synpred181()) :
11115 alt89 = 1
11116
11117
11118 elif LA89 == IDENTIFIER:
11119 LA89_314 = self.input.LA(3)
11120
11121 if (self.synpred181()) :
11122 alt89 = 1
11123
11124
11125 elif LA89 == 62:
11126 LA89_315 = self.input.LA(3)
11127
11128 if (self.synpred181()) :
11129 alt89 = 1
11130
11131
11132 elif LA89 == 25:
11133 LA89_316 = self.input.LA(3)
11134
11135 if (self.synpred181()) :
11136 alt89 = 1
11137
11138
11139 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
11140 LA89_317 = self.input.LA(3)
11141
11142 if (self.synpred181()) :
11143 alt89 = 1
11144
11145
11146 elif LA89 == 34:
11147 LA89_318 = self.input.LA(3)
11148
11149 if (self.synpred181()) :
11150 alt89 = 1
11151
11152
11153 elif LA89 == 35:
11154 LA89_319 = self.input.LA(3)
11155
11156 if (self.synpred181()) :
11157 alt89 = 1
11158
11159
11160 elif LA89 == 36:
11161 LA89_320 = self.input.LA(3)
11162
11163 if (self.synpred181()) :
11164 alt89 = 1
11165
11166
11167 elif LA89 == 37:
11168 LA89_321 = self.input.LA(3)
11169
11170 if (self.synpred181()) :
11171 alt89 = 1
11172
11173
11174 elif LA89 == 38:
11175 LA89_322 = self.input.LA(3)
11176
11177 if (self.synpred181()) :
11178 alt89 = 1
11179
11180
11181 elif LA89 == 39:
11182 LA89_323 = self.input.LA(3)
11183
11184 if (self.synpred181()) :
11185 alt89 = 1
11186
11187
11188 elif LA89 == 40:
11189 LA89_324 = self.input.LA(3)
11190
11191 if (self.synpred181()) :
11192 alt89 = 1
11193
11194
11195 elif LA89 == 41:
11196 LA89_325 = self.input.LA(3)
11197
11198 if (self.synpred181()) :
11199 alt89 = 1
11200
11201
11202 elif LA89 == 42:
11203 LA89_326 = self.input.LA(3)
11204
11205 if (self.synpred181()) :
11206 alt89 = 1
11207
11208
11209 elif LA89 == 45 or LA89 == 46:
11210 LA89_327 = self.input.LA(3)
11211
11212 if (self.synpred181()) :
11213 alt89 = 1
11214
11215
11216 elif LA89 == 48:
11217 LA89_328 = self.input.LA(3)
11218
11219 if (self.synpred181()) :
11220 alt89 = 1
11221
11222
11223 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
11224 LA89_329 = self.input.LA(3)
11225
11226 if (self.synpred181()) :
11227 alt89 = 1
11228
11229
11230
11231
11232 if alt89 == 1:
11233 # C.g:0:0: declaration
11234 self.following.append(self.FOLLOW_declaration_in_macro_statement2166)
11235 self.declaration()
11236 self.following.pop()
11237 if self.failed:
11238 return
11239
11240
11241 else:
11242 break #loop89
11243
11244
11245 # C.g:544:33: ( statement_list )?
11246 alt90 = 2
11247 LA90 = self.input.LA(1)
11248 if LA90 == IDENTIFIER:
11249 LA90 = self.input.LA(2)
11250 if LA90 == 25 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 45 or LA90 == 46 or LA90 == 47 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
11251 alt90 = 1
11252 elif LA90 == 62:
11253 LA90_45 = self.input.LA(3)
11254
11255 if (self.synpred182()) :
11256 alt90 = 1
11257 elif LA90 == STRING_LITERAL:
11258 LA90_46 = self.input.LA(3)
11259
11260 if (self.synpred182()) :
11261 alt90 = 1
11262 elif LA90 == IDENTIFIER:
11263 LA90_47 = self.input.LA(3)
11264
11265 if (self.synpred182()) :
11266 alt90 = 1
11267 elif LA90 == 64:
11268 LA90_48 = self.input.LA(3)
11269
11270 if (self.synpred182()) :
11271 alt90 = 1
11272 elif LA90 == 75:
11273 LA90_49 = self.input.LA(3)
11274
11275 if (self.synpred182()) :
11276 alt90 = 1
11277 elif LA90 == 66:
11278 LA90_50 = self.input.LA(3)
11279
11280 if (self.synpred182()) :
11281 alt90 = 1
11282 elif LA90 == 76:
11283 LA90_51 = self.input.LA(3)
11284
11285 if (self.synpred182()) :
11286 alt90 = 1
11287 elif LA90 == 72:
11288 LA90_52 = self.input.LA(3)
11289
11290 if (self.synpred182()) :
11291 alt90 = 1
11292 elif LA90 == 73:
11293 LA90_53 = self.input.LA(3)
11294
11295 if (self.synpred182()) :
11296 alt90 = 1
11297 elif LA90 == 70:
11298 LA90_54 = self.input.LA(3)
11299
11300 if (self.synpred182()) :
11301 alt90 = 1
11302 elif LA90 == 71:
11303 LA90_55 = self.input.LA(3)
11304
11305 if (self.synpred182()) :
11306 alt90 = 1
11307 elif LA90 == 68:
11308 LA90_56 = self.input.LA(3)
11309
11310 if (self.synpred182()) :
11311 alt90 = 1
11312 elif LA90 == 69:
11313 LA90_57 = self.input.LA(3)
11314
11315 if (self.synpred182()) :
11316 alt90 = 1
11317 elif LA90 == 101 or LA90 == 102:
11318 LA90_58 = self.input.LA(3)
11319
11320 if (self.synpred182()) :
11321 alt90 = 1
11322 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11323 LA90_59 = self.input.LA(3)
11324
11325 if (self.synpred182()) :
11326 alt90 = 1
11327 elif LA90 == 95 or LA90 == 96:
11328 LA90_60 = self.input.LA(3)
11329
11330 if (self.synpred182()) :
11331 alt90 = 1
11332 elif LA90 == 77:
11333 LA90_61 = self.input.LA(3)
11334
11335 if (self.synpred182()) :
11336 alt90 = 1
11337 elif LA90 == 94:
11338 LA90_62 = self.input.LA(3)
11339
11340 if (self.synpred182()) :
11341 alt90 = 1
11342 elif LA90 == 93:
11343 LA90_63 = self.input.LA(3)
11344
11345 if (self.synpred182()) :
11346 alt90 = 1
11347 elif LA90 == 92:
11348 LA90_64 = self.input.LA(3)
11349
11350 if (self.synpred182()) :
11351 alt90 = 1
11352 elif LA90 == 91:
11353 LA90_65 = self.input.LA(3)
11354
11355 if (self.synpred182()) :
11356 alt90 = 1
11357 elif LA90 == 90:
11358 LA90_66 = self.input.LA(3)
11359
11360 if (self.synpred182()) :
11361 alt90 = 1
11362 elif LA90 == 27:
11363 LA90_67 = self.input.LA(3)
11364
11365 if (self.synpred182()) :
11366 alt90 = 1
11367 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11368 LA90_70 = self.input.LA(3)
11369
11370 if (self.synpred182()) :
11371 alt90 = 1
11372 elif LA90 == 25 or LA90 == 26 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 43 or LA90 == 45 or LA90 == 46 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 108 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116 or LA90 == 117:
11373 alt90 = 1
11374 elif LA90 == HEX_LITERAL:
11375 LA90 = self.input.LA(2)
11376 if LA90 == 64:
11377 LA90_87 = self.input.LA(3)
11378
11379 if (self.synpred182()) :
11380 alt90 = 1
11381 elif LA90 == 62:
11382 LA90_88 = self.input.LA(3)
11383
11384 if (self.synpred182()) :
11385 alt90 = 1
11386 elif LA90 == 75:
11387 LA90_89 = self.input.LA(3)
11388
11389 if (self.synpred182()) :
11390 alt90 = 1
11391 elif LA90 == 66:
11392 LA90_90 = self.input.LA(3)
11393
11394 if (self.synpred182()) :
11395 alt90 = 1
11396 elif LA90 == 76:
11397 LA90_91 = self.input.LA(3)
11398
11399 if (self.synpred182()) :
11400 alt90 = 1
11401 elif LA90 == 72:
11402 LA90_92 = self.input.LA(3)
11403
11404 if (self.synpred182()) :
11405 alt90 = 1
11406 elif LA90 == 73:
11407 LA90_93 = self.input.LA(3)
11408
11409 if (self.synpred182()) :
11410 alt90 = 1
11411 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11412 LA90_94 = self.input.LA(3)
11413
11414 if (self.synpred182()) :
11415 alt90 = 1
11416 elif LA90 == 70:
11417 LA90_95 = self.input.LA(3)
11418
11419 if (self.synpred182()) :
11420 alt90 = 1
11421 elif LA90 == 71:
11422 LA90_96 = self.input.LA(3)
11423
11424 if (self.synpred182()) :
11425 alt90 = 1
11426 elif LA90 == 68:
11427 LA90_97 = self.input.LA(3)
11428
11429 if (self.synpred182()) :
11430 alt90 = 1
11431 elif LA90 == 69:
11432 LA90_98 = self.input.LA(3)
11433
11434 if (self.synpred182()) :
11435 alt90 = 1
11436 elif LA90 == 101 or LA90 == 102:
11437 LA90_99 = self.input.LA(3)
11438
11439 if (self.synpred182()) :
11440 alt90 = 1
11441 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11442 LA90_100 = self.input.LA(3)
11443
11444 if (self.synpred182()) :
11445 alt90 = 1
11446 elif LA90 == 95 or LA90 == 96:
11447 LA90_101 = self.input.LA(3)
11448
11449 if (self.synpred182()) :
11450 alt90 = 1
11451 elif LA90 == 77:
11452 LA90_102 = self.input.LA(3)
11453
11454 if (self.synpred182()) :
11455 alt90 = 1
11456 elif LA90 == 94:
11457 LA90_103 = self.input.LA(3)
11458
11459 if (self.synpred182()) :
11460 alt90 = 1
11461 elif LA90 == 93:
11462 LA90_104 = self.input.LA(3)
11463
11464 if (self.synpred182()) :
11465 alt90 = 1
11466 elif LA90 == 92:
11467 LA90_105 = self.input.LA(3)
11468
11469 if (self.synpred182()) :
11470 alt90 = 1
11471 elif LA90 == 91:
11472 LA90_106 = self.input.LA(3)
11473
11474 if (self.synpred182()) :
11475 alt90 = 1
11476 elif LA90 == 90:
11477 LA90_107 = self.input.LA(3)
11478
11479 if (self.synpred182()) :
11480 alt90 = 1
11481 elif LA90 == 27:
11482 LA90_108 = self.input.LA(3)
11483
11484 if (self.synpred182()) :
11485 alt90 = 1
11486 elif LA90 == 25:
11487 alt90 = 1
11488 elif LA90 == OCTAL_LITERAL:
11489 LA90 = self.input.LA(2)
11490 if LA90 == 64:
11491 LA90_111 = self.input.LA(3)
11492
11493 if (self.synpred182()) :
11494 alt90 = 1
11495 elif LA90 == 62:
11496 LA90_112 = self.input.LA(3)
11497
11498 if (self.synpred182()) :
11499 alt90 = 1
11500 elif LA90 == 75:
11501 LA90_113 = self.input.LA(3)
11502
11503 if (self.synpred182()) :
11504 alt90 = 1
11505 elif LA90 == 66:
11506 LA90_114 = self.input.LA(3)
11507
11508 if (self.synpred182()) :
11509 alt90 = 1
11510 elif LA90 == 76:
11511 LA90_115 = self.input.LA(3)
11512
11513 if (self.synpred182()) :
11514 alt90 = 1
11515 elif LA90 == 72:
11516 LA90_116 = self.input.LA(3)
11517
11518 if (self.synpred182()) :
11519 alt90 = 1
11520 elif LA90 == 73:
11521 LA90_117 = self.input.LA(3)
11522
11523 if (self.synpred182()) :
11524 alt90 = 1
11525 elif LA90 == 70:
11526 LA90_118 = self.input.LA(3)
11527
11528 if (self.synpred182()) :
11529 alt90 = 1
11530 elif LA90 == 71:
11531 LA90_119 = self.input.LA(3)
11532
11533 if (self.synpred182()) :
11534 alt90 = 1
11535 elif LA90 == 68:
11536 LA90_120 = self.input.LA(3)
11537
11538 if (self.synpred182()) :
11539 alt90 = 1
11540 elif LA90 == 69:
11541 LA90_121 = self.input.LA(3)
11542
11543 if (self.synpred182()) :
11544 alt90 = 1
11545 elif LA90 == 101 or LA90 == 102:
11546 LA90_122 = self.input.LA(3)
11547
11548 if (self.synpred182()) :
11549 alt90 = 1
11550 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11551 LA90_123 = self.input.LA(3)
11552
11553 if (self.synpred182()) :
11554 alt90 = 1
11555 elif LA90 == 95 or LA90 == 96:
11556 LA90_124 = self.input.LA(3)
11557
11558 if (self.synpred182()) :
11559 alt90 = 1
11560 elif LA90 == 77:
11561 LA90_125 = self.input.LA(3)
11562
11563 if (self.synpred182()) :
11564 alt90 = 1
11565 elif LA90 == 94:
11566 LA90_126 = self.input.LA(3)
11567
11568 if (self.synpred182()) :
11569 alt90 = 1
11570 elif LA90 == 93:
11571 LA90_127 = self.input.LA(3)
11572
11573 if (self.synpred182()) :
11574 alt90 = 1
11575 elif LA90 == 92:
11576 LA90_128 = self.input.LA(3)
11577
11578 if (self.synpred182()) :
11579 alt90 = 1
11580 elif LA90 == 91:
11581 LA90_129 = self.input.LA(3)
11582
11583 if (self.synpred182()) :
11584 alt90 = 1
11585 elif LA90 == 90:
11586 LA90_130 = self.input.LA(3)
11587
11588 if (self.synpred182()) :
11589 alt90 = 1
11590 elif LA90 == 27:
11591 LA90_131 = self.input.LA(3)
11592
11593 if (self.synpred182()) :
11594 alt90 = 1
11595 elif LA90 == 25:
11596 alt90 = 1
11597 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11598 LA90_134 = self.input.LA(3)
11599
11600 if (self.synpred182()) :
11601 alt90 = 1
11602 elif LA90 == DECIMAL_LITERAL:
11603 LA90 = self.input.LA(2)
11604 if LA90 == 64:
11605 LA90_135 = self.input.LA(3)
11606
11607 if (self.synpred182()) :
11608 alt90 = 1
11609 elif LA90 == 62:
11610 LA90_136 = self.input.LA(3)
11611
11612 if (self.synpred182()) :
11613 alt90 = 1
11614 elif LA90 == 75:
11615 LA90_137 = self.input.LA(3)
11616
11617 if (self.synpred182()) :
11618 alt90 = 1
11619 elif LA90 == 66:
11620 LA90_138 = self.input.LA(3)
11621
11622 if (self.synpred182()) :
11623 alt90 = 1
11624 elif LA90 == 76:
11625 LA90_139 = self.input.LA(3)
11626
11627 if (self.synpred182()) :
11628 alt90 = 1
11629 elif LA90 == 72:
11630 LA90_140 = self.input.LA(3)
11631
11632 if (self.synpred182()) :
11633 alt90 = 1
11634 elif LA90 == 73:
11635 LA90_141 = self.input.LA(3)
11636
11637 if (self.synpred182()) :
11638 alt90 = 1
11639 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11640 LA90_142 = self.input.LA(3)
11641
11642 if (self.synpred182()) :
11643 alt90 = 1
11644 elif LA90 == 70:
11645 LA90_143 = self.input.LA(3)
11646
11647 if (self.synpred182()) :
11648 alt90 = 1
11649 elif LA90 == 71:
11650 LA90_144 = self.input.LA(3)
11651
11652 if (self.synpred182()) :
11653 alt90 = 1
11654 elif LA90 == 68:
11655 LA90_145 = self.input.LA(3)
11656
11657 if (self.synpred182()) :
11658 alt90 = 1
11659 elif LA90 == 69:
11660 LA90_146 = self.input.LA(3)
11661
11662 if (self.synpred182()) :
11663 alt90 = 1
11664 elif LA90 == 101 or LA90 == 102:
11665 LA90_147 = self.input.LA(3)
11666
11667 if (self.synpred182()) :
11668 alt90 = 1
11669 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11670 LA90_148 = self.input.LA(3)
11671
11672 if (self.synpred182()) :
11673 alt90 = 1
11674 elif LA90 == 95 or LA90 == 96:
11675 LA90_149 = self.input.LA(3)
11676
11677 if (self.synpred182()) :
11678 alt90 = 1
11679 elif LA90 == 77:
11680 LA90_150 = self.input.LA(3)
11681
11682 if (self.synpred182()) :
11683 alt90 = 1
11684 elif LA90 == 94:
11685 LA90_151 = self.input.LA(3)
11686
11687 if (self.synpred182()) :
11688 alt90 = 1
11689 elif LA90 == 93:
11690 LA90_152 = self.input.LA(3)
11691
11692 if (self.synpred182()) :
11693 alt90 = 1
11694 elif LA90 == 92:
11695 LA90_153 = self.input.LA(3)
11696
11697 if (self.synpred182()) :
11698 alt90 = 1
11699 elif LA90 == 91:
11700 LA90_154 = self.input.LA(3)
11701
11702 if (self.synpred182()) :
11703 alt90 = 1
11704 elif LA90 == 90:
11705 LA90_155 = self.input.LA(3)
11706
11707 if (self.synpred182()) :
11708 alt90 = 1
11709 elif LA90 == 27:
11710 LA90_156 = self.input.LA(3)
11711
11712 if (self.synpred182()) :
11713 alt90 = 1
11714 elif LA90 == 25:
11715 alt90 = 1
11716 elif LA90 == CHARACTER_LITERAL:
11717 LA90 = self.input.LA(2)
11718 if LA90 == 64:
11719 LA90_159 = self.input.LA(3)
11720
11721 if (self.synpred182()) :
11722 alt90 = 1
11723 elif LA90 == 62:
11724 LA90_160 = self.input.LA(3)
11725
11726 if (self.synpred182()) :
11727 alt90 = 1
11728 elif LA90 == 75:
11729 LA90_161 = self.input.LA(3)
11730
11731 if (self.synpred182()) :
11732 alt90 = 1
11733 elif LA90 == 66:
11734 LA90_162 = self.input.LA(3)
11735
11736 if (self.synpred182()) :
11737 alt90 = 1
11738 elif LA90 == 76:
11739 LA90_163 = self.input.LA(3)
11740
11741 if (self.synpred182()) :
11742 alt90 = 1
11743 elif LA90 == 72:
11744 LA90_164 = self.input.LA(3)
11745
11746 if (self.synpred182()) :
11747 alt90 = 1
11748 elif LA90 == 73:
11749 LA90_165 = self.input.LA(3)
11750
11751 if (self.synpred182()) :
11752 alt90 = 1
11753 elif LA90 == 70:
11754 LA90_166 = self.input.LA(3)
11755
11756 if (self.synpred182()) :
11757 alt90 = 1
11758 elif LA90 == 71:
11759 LA90_167 = self.input.LA(3)
11760
11761 if (self.synpred182()) :
11762 alt90 = 1
11763 elif LA90 == 68:
11764 LA90_168 = self.input.LA(3)
11765
11766 if (self.synpred182()) :
11767 alt90 = 1
11768 elif LA90 == 69:
11769 LA90_169 = self.input.LA(3)
11770
11771 if (self.synpred182()) :
11772 alt90 = 1
11773 elif LA90 == 101 or LA90 == 102:
11774 LA90_170 = self.input.LA(3)
11775
11776 if (self.synpred182()) :
11777 alt90 = 1
11778 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11779 LA90_171 = self.input.LA(3)
11780
11781 if (self.synpred182()) :
11782 alt90 = 1
11783 elif LA90 == 95 or LA90 == 96:
11784 LA90_172 = self.input.LA(3)
11785
11786 if (self.synpred182()) :
11787 alt90 = 1
11788 elif LA90 == 77:
11789 LA90_173 = self.input.LA(3)
11790
11791 if (self.synpred182()) :
11792 alt90 = 1
11793 elif LA90 == 94:
11794 LA90_174 = self.input.LA(3)
11795
11796 if (self.synpred182()) :
11797 alt90 = 1
11798 elif LA90 == 93:
11799 LA90_175 = self.input.LA(3)
11800
11801 if (self.synpred182()) :
11802 alt90 = 1
11803 elif LA90 == 92:
11804 LA90_176 = self.input.LA(3)
11805
11806 if (self.synpred182()) :
11807 alt90 = 1
11808 elif LA90 == 91:
11809 LA90_177 = self.input.LA(3)
11810
11811 if (self.synpred182()) :
11812 alt90 = 1
11813 elif LA90 == 90:
11814 LA90_178 = self.input.LA(3)
11815
11816 if (self.synpred182()) :
11817 alt90 = 1
11818 elif LA90 == 27:
11819 LA90_179 = self.input.LA(3)
11820
11821 if (self.synpred182()) :
11822 alt90 = 1
11823 elif LA90 == 25:
11824 alt90 = 1
11825 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11826 LA90_181 = self.input.LA(3)
11827
11828 if (self.synpred182()) :
11829 alt90 = 1
11830 elif LA90 == STRING_LITERAL:
11831 LA90 = self.input.LA(2)
11832 if LA90 == IDENTIFIER:
11833 LA90_183 = self.input.LA(3)
11834
11835 if (self.synpred182()) :
11836 alt90 = 1
11837 elif LA90 == 64:
11838 LA90_184 = self.input.LA(3)
11839
11840 if (self.synpred182()) :
11841 alt90 = 1
11842 elif LA90 == 62:
11843 LA90_185 = self.input.LA(3)
11844
11845 if (self.synpred182()) :
11846 alt90 = 1
11847 elif LA90 == 75:
11848 LA90_186 = self.input.LA(3)
11849
11850 if (self.synpred182()) :
11851 alt90 = 1
11852 elif LA90 == 66:
11853 LA90_187 = self.input.LA(3)
11854
11855 if (self.synpred182()) :
11856 alt90 = 1
11857 elif LA90 == 76:
11858 LA90_188 = self.input.LA(3)
11859
11860 if (self.synpred182()) :
11861 alt90 = 1
11862 elif LA90 == 72:
11863 LA90_189 = self.input.LA(3)
11864
11865 if (self.synpred182()) :
11866 alt90 = 1
11867 elif LA90 == 73:
11868 LA90_190 = self.input.LA(3)
11869
11870 if (self.synpred182()) :
11871 alt90 = 1
11872 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11873 LA90_191 = self.input.LA(3)
11874
11875 if (self.synpred182()) :
11876 alt90 = 1
11877 elif LA90 == STRING_LITERAL:
11878 LA90_192 = self.input.LA(3)
11879
11880 if (self.synpred182()) :
11881 alt90 = 1
11882 elif LA90 == 70:
11883 LA90_193 = self.input.LA(3)
11884
11885 if (self.synpred182()) :
11886 alt90 = 1
11887 elif LA90 == 71:
11888 LA90_194 = self.input.LA(3)
11889
11890 if (self.synpred182()) :
11891 alt90 = 1
11892 elif LA90 == 68:
11893 LA90_195 = self.input.LA(3)
11894
11895 if (self.synpred182()) :
11896 alt90 = 1
11897 elif LA90 == 69:
11898 LA90_196 = self.input.LA(3)
11899
11900 if (self.synpred182()) :
11901 alt90 = 1
11902 elif LA90 == 101 or LA90 == 102:
11903 LA90_197 = self.input.LA(3)
11904
11905 if (self.synpred182()) :
11906 alt90 = 1
11907 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11908 LA90_198 = self.input.LA(3)
11909
11910 if (self.synpred182()) :
11911 alt90 = 1
11912 elif LA90 == 95 or LA90 == 96:
11913 LA90_199 = self.input.LA(3)
11914
11915 if (self.synpred182()) :
11916 alt90 = 1
11917 elif LA90 == 77:
11918 LA90_200 = self.input.LA(3)
11919
11920 if (self.synpred182()) :
11921 alt90 = 1
11922 elif LA90 == 94:
11923 LA90_201 = self.input.LA(3)
11924
11925 if (self.synpred182()) :
11926 alt90 = 1
11927 elif LA90 == 93:
11928 LA90_202 = self.input.LA(3)
11929
11930 if (self.synpred182()) :
11931 alt90 = 1
11932 elif LA90 == 92:
11933 LA90_203 = self.input.LA(3)
11934
11935 if (self.synpred182()) :
11936 alt90 = 1
11937 elif LA90 == 91:
11938 LA90_204 = self.input.LA(3)
11939
11940 if (self.synpred182()) :
11941 alt90 = 1
11942 elif LA90 == 90:
11943 LA90_205 = self.input.LA(3)
11944
11945 if (self.synpred182()) :
11946 alt90 = 1
11947 elif LA90 == 27:
11948 LA90_206 = self.input.LA(3)
11949
11950 if (self.synpred182()) :
11951 alt90 = 1
11952 elif LA90 == 25:
11953 alt90 = 1
11954 elif LA90 == FLOATING_POINT_LITERAL:
11955 LA90 = self.input.LA(2)
11956 if LA90 == 64:
11957 LA90_209 = self.input.LA(3)
11958
11959 if (self.synpred182()) :
11960 alt90 = 1
11961 elif LA90 == 62:
11962 LA90_210 = self.input.LA(3)
11963
11964 if (self.synpred182()) :
11965 alt90 = 1
11966 elif LA90 == 75:
11967 LA90_211 = self.input.LA(3)
11968
11969 if (self.synpred182()) :
11970 alt90 = 1
11971 elif LA90 == 66:
11972 LA90_212 = self.input.LA(3)
11973
11974 if (self.synpred182()) :
11975 alt90 = 1
11976 elif LA90 == 76:
11977 LA90_213 = self.input.LA(3)
11978
11979 if (self.synpred182()) :
11980 alt90 = 1
11981 elif LA90 == 72:
11982 LA90_214 = self.input.LA(3)
11983
11984 if (self.synpred182()) :
11985 alt90 = 1
11986 elif LA90 == 73:
11987 LA90_215 = self.input.LA(3)
11988
11989 if (self.synpred182()) :
11990 alt90 = 1
11991 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11992 LA90_216 = self.input.LA(3)
11993
11994 if (self.synpred182()) :
11995 alt90 = 1
11996 elif LA90 == 70:
11997 LA90_217 = self.input.LA(3)
11998
11999 if (self.synpred182()) :
12000 alt90 = 1
12001 elif LA90 == 71:
12002 LA90_218 = self.input.LA(3)
12003
12004 if (self.synpred182()) :
12005 alt90 = 1
12006 elif LA90 == 68:
12007 LA90_219 = self.input.LA(3)
12008
12009 if (self.synpred182()) :
12010 alt90 = 1
12011 elif LA90 == 69:
12012 LA90_220 = self.input.LA(3)
12013
12014 if (self.synpred182()) :
12015 alt90 = 1
12016 elif LA90 == 101 or LA90 == 102:
12017 LA90_221 = self.input.LA(3)
12018
12019 if (self.synpred182()) :
12020 alt90 = 1
12021 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
12022 LA90_222 = self.input.LA(3)
12023
12024 if (self.synpred182()) :
12025 alt90 = 1
12026 elif LA90 == 95 or LA90 == 96:
12027 LA90_223 = self.input.LA(3)
12028
12029 if (self.synpred182()) :
12030 alt90 = 1
12031 elif LA90 == 77:
12032 LA90_224 = self.input.LA(3)
12033
12034 if (self.synpred182()) :
12035 alt90 = 1
12036 elif LA90 == 94:
12037 LA90_225 = self.input.LA(3)
12038
12039 if (self.synpred182()) :
12040 alt90 = 1
12041 elif LA90 == 93:
12042 LA90_226 = self.input.LA(3)
12043
12044 if (self.synpred182()) :
12045 alt90 = 1
12046 elif LA90 == 92:
12047 LA90_227 = self.input.LA(3)
12048
12049 if (self.synpred182()) :
12050 alt90 = 1
12051 elif LA90 == 91:
12052 LA90_228 = self.input.LA(3)
12053
12054 if (self.synpred182()) :
12055 alt90 = 1
12056 elif LA90 == 90:
12057 LA90_229 = self.input.LA(3)
12058
12059 if (self.synpred182()) :
12060 alt90 = 1
12061 elif LA90 == 27:
12062 LA90_230 = self.input.LA(3)
12063
12064 if (self.synpred182()) :
12065 alt90 = 1
12066 elif LA90 == 25:
12067 alt90 = 1
12068 elif LA90 == 62:
12069 LA90 = self.input.LA(2)
12070 if LA90 == IDENTIFIER:
12071 LA90_233 = self.input.LA(3)
12072
12073 if (self.synpred182()) :
12074 alt90 = 1
12075 elif LA90 == HEX_LITERAL:
12076 LA90_234 = self.input.LA(3)
12077
12078 if (self.synpred182()) :
12079 alt90 = 1
12080 elif LA90 == OCTAL_LITERAL:
12081 LA90_235 = self.input.LA(3)
12082
12083 if (self.synpred182()) :
12084 alt90 = 1
12085 elif LA90 == DECIMAL_LITERAL:
12086 LA90_236 = self.input.LA(3)
12087
12088 if (self.synpred182()) :
12089 alt90 = 1
12090 elif LA90 == CHARACTER_LITERAL:
12091 LA90_237 = self.input.LA(3)
12092
12093 if (self.synpred182()) :
12094 alt90 = 1
12095 elif LA90 == STRING_LITERAL:
12096 LA90_238 = self.input.LA(3)
12097
12098 if (self.synpred182()) :
12099 alt90 = 1
12100 elif LA90 == FLOATING_POINT_LITERAL:
12101 LA90_239 = self.input.LA(3)
12102
12103 if (self.synpred182()) :
12104 alt90 = 1
12105 elif LA90 == 62:
12106 LA90_240 = self.input.LA(3)
12107
12108 if (self.synpred182()) :
12109 alt90 = 1
12110 elif LA90 == 72:
12111 LA90_241 = self.input.LA(3)
12112
12113 if (self.synpred182()) :
12114 alt90 = 1
12115 elif LA90 == 73:
12116 LA90_242 = self.input.LA(3)
12117
12118 if (self.synpred182()) :
12119 alt90 = 1
12120 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12121 LA90_243 = self.input.LA(3)
12122
12123 if (self.synpred182()) :
12124 alt90 = 1
12125 elif LA90 == 74:
12126 LA90_244 = self.input.LA(3)
12127
12128 if (self.synpred182()) :
12129 alt90 = 1
12130 elif LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
12131 LA90_245 = self.input.LA(3)
12132
12133 if (self.synpred182()) :
12134 alt90 = 1
12135 elif LA90 == 34:
12136 LA90_246 = self.input.LA(3)
12137
12138 if (self.synpred182()) :
12139 alt90 = 1
12140 elif LA90 == 35:
12141 LA90_247 = self.input.LA(3)
12142
12143 if (self.synpred182()) :
12144 alt90 = 1
12145 elif LA90 == 36:
12146 LA90_248 = self.input.LA(3)
12147
12148 if (self.synpred182()) :
12149 alt90 = 1
12150 elif LA90 == 37:
12151 LA90_249 = self.input.LA(3)
12152
12153 if (self.synpred182()) :
12154 alt90 = 1
12155 elif LA90 == 38:
12156 LA90_250 = self.input.LA(3)
12157
12158 if (self.synpred182()) :
12159 alt90 = 1
12160 elif LA90 == 39:
12161 LA90_251 = self.input.LA(3)
12162
12163 if (self.synpred182()) :
12164 alt90 = 1
12165 elif LA90 == 40:
12166 LA90_252 = self.input.LA(3)
12167
12168 if (self.synpred182()) :
12169 alt90 = 1
12170 elif LA90 == 41:
12171 LA90_253 = self.input.LA(3)
12172
12173 if (self.synpred182()) :
12174 alt90 = 1
12175 elif LA90 == 42:
12176 LA90_254 = self.input.LA(3)
12177
12178 if (self.synpred182()) :
12179 alt90 = 1
12180 elif LA90 == 45 or LA90 == 46:
12181 LA90_255 = self.input.LA(3)
12182
12183 if (self.synpred182()) :
12184 alt90 = 1
12185 elif LA90 == 48:
12186 LA90_256 = self.input.LA(3)
12187
12188 if (self.synpred182()) :
12189 alt90 = 1
12190 elif LA90 == 72:
12191 LA90 = self.input.LA(2)
12192 if LA90 == IDENTIFIER:
12193 LA90_257 = self.input.LA(3)
12194
12195 if (self.synpred182()) :
12196 alt90 = 1
12197 elif LA90 == HEX_LITERAL:
12198 LA90_258 = self.input.LA(3)
12199
12200 if (self.synpred182()) :
12201 alt90 = 1
12202 elif LA90 == OCTAL_LITERAL:
12203 LA90_259 = self.input.LA(3)
12204
12205 if (self.synpred182()) :
12206 alt90 = 1
12207 elif LA90 == DECIMAL_LITERAL:
12208 LA90_260 = self.input.LA(3)
12209
12210 if (self.synpred182()) :
12211 alt90 = 1
12212 elif LA90 == CHARACTER_LITERAL:
12213 LA90_261 = self.input.LA(3)
12214
12215 if (self.synpred182()) :
12216 alt90 = 1
12217 elif LA90 == STRING_LITERAL:
12218 LA90_262 = self.input.LA(3)
12219
12220 if (self.synpred182()) :
12221 alt90 = 1
12222 elif LA90 == FLOATING_POINT_LITERAL:
12223 LA90_263 = self.input.LA(3)
12224
12225 if (self.synpred182()) :
12226 alt90 = 1
12227 elif LA90 == 62:
12228 LA90_264 = self.input.LA(3)
12229
12230 if (self.synpred182()) :
12231 alt90 = 1
12232 elif LA90 == 72:
12233 LA90_265 = self.input.LA(3)
12234
12235 if (self.synpred182()) :
12236 alt90 = 1
12237 elif LA90 == 73:
12238 LA90_266 = self.input.LA(3)
12239
12240 if (self.synpred182()) :
12241 alt90 = 1
12242 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12243 LA90_267 = self.input.LA(3)
12244
12245 if (self.synpred182()) :
12246 alt90 = 1
12247 elif LA90 == 74:
12248 LA90_268 = self.input.LA(3)
12249
12250 if (self.synpred182()) :
12251 alt90 = 1
12252 elif LA90 == 73:
12253 LA90 = self.input.LA(2)
12254 if LA90 == IDENTIFIER:
12255 LA90_269 = self.input.LA(3)
12256
12257 if (self.synpred182()) :
12258 alt90 = 1
12259 elif LA90 == HEX_LITERAL:
12260 LA90_270 = self.input.LA(3)
12261
12262 if (self.synpred182()) :
12263 alt90 = 1
12264 elif LA90 == OCTAL_LITERAL:
12265 LA90_271 = self.input.LA(3)
12266
12267 if (self.synpred182()) :
12268 alt90 = 1
12269 elif LA90 == DECIMAL_LITERAL:
12270 LA90_272 = self.input.LA(3)
12271
12272 if (self.synpred182()) :
12273 alt90 = 1
12274 elif LA90 == CHARACTER_LITERAL:
12275 LA90_273 = self.input.LA(3)
12276
12277 if (self.synpred182()) :
12278 alt90 = 1
12279 elif LA90 == STRING_LITERAL:
12280 LA90_274 = self.input.LA(3)
12281
12282 if (self.synpred182()) :
12283 alt90 = 1
12284 elif LA90 == FLOATING_POINT_LITERAL:
12285 LA90_275 = self.input.LA(3)
12286
12287 if (self.synpred182()) :
12288 alt90 = 1
12289 elif LA90 == 62:
12290 LA90_276 = self.input.LA(3)
12291
12292 if (self.synpred182()) :
12293 alt90 = 1
12294 elif LA90 == 72:
12295 LA90_277 = self.input.LA(3)
12296
12297 if (self.synpred182()) :
12298 alt90 = 1
12299 elif LA90 == 73:
12300 LA90_278 = self.input.LA(3)
12301
12302 if (self.synpred182()) :
12303 alt90 = 1
12304 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12305 LA90_279 = self.input.LA(3)
12306
12307 if (self.synpred182()) :
12308 alt90 = 1
12309 elif LA90 == 74:
12310 LA90_280 = self.input.LA(3)
12311
12312 if (self.synpred182()) :
12313 alt90 = 1
12314 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12315 LA90 = self.input.LA(2)
12316 if LA90 == 62:
12317 LA90_281 = self.input.LA(3)
12318
12319 if (self.synpred182()) :
12320 alt90 = 1
12321 elif LA90 == IDENTIFIER:
12322 LA90_282 = self.input.LA(3)
12323
12324 if (self.synpred182()) :
12325 alt90 = 1
12326 elif LA90 == HEX_LITERAL:
12327 LA90_283 = self.input.LA(3)
12328
12329 if (self.synpred182()) :
12330 alt90 = 1
12331 elif LA90 == OCTAL_LITERAL:
12332 LA90_284 = self.input.LA(3)
12333
12334 if (self.synpred182()) :
12335 alt90 = 1
12336 elif LA90 == DECIMAL_LITERAL:
12337 LA90_285 = self.input.LA(3)
12338
12339 if (self.synpred182()) :
12340 alt90 = 1
12341 elif LA90 == CHARACTER_LITERAL:
12342 LA90_286 = self.input.LA(3)
12343
12344 if (self.synpred182()) :
12345 alt90 = 1
12346 elif LA90 == STRING_LITERAL:
12347 LA90_287 = self.input.LA(3)
12348
12349 if (self.synpred182()) :
12350 alt90 = 1
12351 elif LA90 == FLOATING_POINT_LITERAL:
12352 LA90_288 = self.input.LA(3)
12353
12354 if (self.synpred182()) :
12355 alt90 = 1
12356 elif LA90 == 72:
12357 LA90_289 = self.input.LA(3)
12358
12359 if (self.synpred182()) :
12360 alt90 = 1
12361 elif LA90 == 73:
12362 LA90_290 = self.input.LA(3)
12363
12364 if (self.synpred182()) :
12365 alt90 = 1
12366 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12367 LA90_291 = self.input.LA(3)
12368
12369 if (self.synpred182()) :
12370 alt90 = 1
12371 elif LA90 == 74:
12372 LA90_292 = self.input.LA(3)
12373
12374 if (self.synpred182()) :
12375 alt90 = 1
12376 elif LA90 == 74:
12377 LA90 = self.input.LA(2)
12378 if LA90 == 62:
12379 LA90_293 = self.input.LA(3)
12380
12381 if (self.synpred182()) :
12382 alt90 = 1
12383 elif LA90 == IDENTIFIER:
12384 LA90_294 = self.input.LA(3)
12385
12386 if (self.synpred182()) :
12387 alt90 = 1
12388 elif LA90 == HEX_LITERAL:
12389 LA90_295 = self.input.LA(3)
12390
12391 if (self.synpred182()) :
12392 alt90 = 1
12393 elif LA90 == OCTAL_LITERAL:
12394 LA90_296 = self.input.LA(3)
12395
12396 if (self.synpred182()) :
12397 alt90 = 1
12398 elif LA90 == DECIMAL_LITERAL:
12399 LA90_297 = self.input.LA(3)
12400
12401 if (self.synpred182()) :
12402 alt90 = 1
12403 elif LA90 == CHARACTER_LITERAL:
12404 LA90_298 = self.input.LA(3)
12405
12406 if (self.synpred182()) :
12407 alt90 = 1
12408 elif LA90 == STRING_LITERAL:
12409 LA90_299 = self.input.LA(3)
12410
12411 if (self.synpred182()) :
12412 alt90 = 1
12413 elif LA90 == FLOATING_POINT_LITERAL:
12414 LA90_300 = self.input.LA(3)
12415
12416 if (self.synpred182()) :
12417 alt90 = 1
12418 elif LA90 == 72:
12419 LA90_301 = self.input.LA(3)
12420
12421 if (self.synpred182()) :
12422 alt90 = 1
12423 elif LA90 == 73:
12424 LA90_302 = self.input.LA(3)
12425
12426 if (self.synpred182()) :
12427 alt90 = 1
12428 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12429 LA90_303 = self.input.LA(3)
12430
12431 if (self.synpred182()) :
12432 alt90 = 1
12433 elif LA90 == 74:
12434 LA90_304 = self.input.LA(3)
12435
12436 if (self.synpred182()) :
12437 alt90 = 1
12438 if alt90 == 1:
12439 # C.g:0:0: statement_list
12440 self.following.append(self.FOLLOW_statement_list_in_macro_statement2170)
12441 self.statement_list()
12442 self.following.pop()
12443 if self.failed:
12444 return
12445
12446
12447
12448 # C.g:544:49: ( expression )?
12449 alt91 = 2
12450 LA91_0 = self.input.LA(1)
12451
12452 if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 62 or LA91_0 == 66 or (68 <= LA91_0 <= 69) or (72 <= LA91_0 <= 74) or (77 <= LA91_0 <= 79)) :
12453 alt91 = 1
12454 if alt91 == 1:
12455 # C.g:0:0: expression
12456 self.following.append(self.FOLLOW_expression_in_macro_statement2173)
12457 self.expression()
12458 self.following.pop()
12459 if self.failed:
12460 return
12461
12462
12463
12464 self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176)
12465 if self.failed:
12466 return
12467
12468
12469
12470
12471 except RecognitionException as re:
12472 self.reportError(re)
12473 self.recover(self.input, re)
12474 finally:
12475 if self.backtracking > 0:
12476 self.memoize(self.input, 64, macro_statement_StartIndex)
12477
12478 pass
12479
12480 return
12481
12482 # $ANTLR end macro_statement
12483
12484
12485 # $ANTLR start labeled_statement
12486 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12487 def labeled_statement(self, ):
12488
12489 labeled_statement_StartIndex = self.input.index()
12490 try:
12491 try:
12492 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
12493 return
12494
12495 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12496 alt92 = 3
12497 LA92 = self.input.LA(1)
12498 if LA92 == IDENTIFIER:
12499 alt92 = 1
12500 elif LA92 == 106:
12501 alt92 = 2
12502 elif LA92 == 107:
12503 alt92 = 3
12504 else:
12505 if self.backtracking > 0:
12506 self.failed = True
12507 return
12508
12509 nvae = NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
12510
12511 raise nvae
12512
12513 if alt92 == 1:
12514 # C.g:548:4: IDENTIFIER ':' statement
12515 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2188)
12516 if self.failed:
12517 return
12518 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2190)
12519 if self.failed:
12520 return
12521 self.following.append(self.FOLLOW_statement_in_labeled_statement2192)
12522 self.statement()
12523 self.following.pop()
12524 if self.failed:
12525 return
12526
12527
12528 elif alt92 == 2:
12529 # C.g:549:4: 'case' constant_expression ':' statement
12530 self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2197)
12531 if self.failed:
12532 return
12533 self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2199)
12534 self.constant_expression()
12535 self.following.pop()
12536 if self.failed:
12537 return
12538 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201)
12539 if self.failed:
12540 return
12541 self.following.append(self.FOLLOW_statement_in_labeled_statement2203)
12542 self.statement()
12543 self.following.pop()
12544 if self.failed:
12545 return
12546
12547
12548 elif alt92 == 3:
12549 # C.g:550:4: 'default' ':' statement
12550 self.match(self.input, 107, self.FOLLOW_107_in_labeled_statement2208)
12551 if self.failed:
12552 return
12553 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2210)
12554 if self.failed:
12555 return
12556 self.following.append(self.FOLLOW_statement_in_labeled_statement2212)
12557 self.statement()
12558 self.following.pop()
12559 if self.failed:
12560 return
12561
12562
12563
12564 except RecognitionException as re:
12565 self.reportError(re)
12566 self.recover(self.input, re)
12567 finally:
12568 if self.backtracking > 0:
12569 self.memoize(self.input, 65, labeled_statement_StartIndex)
12570
12571 pass
12572
12573 return
12574
12575 # $ANTLR end labeled_statement
12576
12577 class compound_statement_return(object):
12578 def __init__(self):
12579 self.start = None
12580 self.stop = None
12581
12582
12583
12584 # $ANTLR start compound_statement
12585 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12586 def compound_statement(self, ):
12587
12588 retval = self.compound_statement_return()
12589 retval.start = self.input.LT(1)
12590 compound_statement_StartIndex = self.input.index()
12591 try:
12592 try:
12593 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
12594 return retval
12595
12596 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12597 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12598 self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223)
12599 if self.failed:
12600 return retval
12601 # C.g:554:8: ( declaration )*
12602 while True: #loop93
12603 alt93 = 2
12604 LA93 = self.input.LA(1)
12605 if LA93 == IDENTIFIER:
12606 LA93 = self.input.LA(2)
12607 if LA93 == 62:
12608 LA93_44 = self.input.LA(3)
12609
12610 if (self.synpred186()) :
12611 alt93 = 1
12612
12613
12614 elif LA93 == IDENTIFIER:
12615 LA93_47 = self.input.LA(3)
12616
12617 if (self.synpred186()) :
12618 alt93 = 1
12619
12620
12621 elif LA93 == 66:
12622 LA93_48 = self.input.LA(3)
12623
12624 if (self.synpred186()) :
12625 alt93 = 1
12626
12627
12628 elif LA93 == 58:
12629 LA93_49 = self.input.LA(3)
12630
12631 if (self.synpred186()) :
12632 alt93 = 1
12633
12634
12635 elif LA93 == 59:
12636 LA93_50 = self.input.LA(3)
12637
12638 if (self.synpred186()) :
12639 alt93 = 1
12640
12641
12642 elif LA93 == 60:
12643 LA93_51 = self.input.LA(3)
12644
12645 if (self.synpred186()) :
12646 alt93 = 1
12647
12648
12649 elif LA93 == 25:
12650 LA93_52 = self.input.LA(3)
12651
12652 if (self.synpred186()) :
12653 alt93 = 1
12654
12655
12656 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12657 LA93_53 = self.input.LA(3)
12658
12659 if (self.synpred186()) :
12660 alt93 = 1
12661
12662
12663 elif LA93 == 34:
12664 LA93_54 = self.input.LA(3)
12665
12666 if (self.synpred186()) :
12667 alt93 = 1
12668
12669
12670 elif LA93 == 35:
12671 LA93_55 = self.input.LA(3)
12672
12673 if (self.synpred186()) :
12674 alt93 = 1
12675
12676
12677 elif LA93 == 36:
12678 LA93_56 = self.input.LA(3)
12679
12680 if (self.synpred186()) :
12681 alt93 = 1
12682
12683
12684 elif LA93 == 37:
12685 LA93_57 = self.input.LA(3)
12686
12687 if (self.synpred186()) :
12688 alt93 = 1
12689
12690
12691 elif LA93 == 38:
12692 LA93_58 = self.input.LA(3)
12693
12694 if (self.synpred186()) :
12695 alt93 = 1
12696
12697
12698 elif LA93 == 39:
12699 LA93_59 = self.input.LA(3)
12700
12701 if (self.synpred186()) :
12702 alt93 = 1
12703
12704
12705 elif LA93 == 40:
12706 LA93_60 = self.input.LA(3)
12707
12708 if (self.synpred186()) :
12709 alt93 = 1
12710
12711
12712 elif LA93 == 41:
12713 LA93_61 = self.input.LA(3)
12714
12715 if (self.synpred186()) :
12716 alt93 = 1
12717
12718
12719 elif LA93 == 42:
12720 LA93_62 = self.input.LA(3)
12721
12722 if (self.synpred186()) :
12723 alt93 = 1
12724
12725
12726 elif LA93 == 45 or LA93 == 46:
12727 LA93_63 = self.input.LA(3)
12728
12729 if (self.synpred186()) :
12730 alt93 = 1
12731
12732
12733 elif LA93 == 48:
12734 LA93_64 = self.input.LA(3)
12735
12736 if (self.synpred186()) :
12737 alt93 = 1
12738
12739
12740 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
12741 LA93_65 = self.input.LA(3)
12742
12743 if (self.synpred186()) :
12744 alt93 = 1
12745
12746
12747
12748 elif LA93 == 26:
12749 LA93 = self.input.LA(2)
12750 if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12751 LA93_86 = self.input.LA(3)
12752
12753 if (self.synpred186()) :
12754 alt93 = 1
12755
12756
12757 elif LA93 == 34:
12758 LA93_87 = self.input.LA(3)
12759
12760 if (self.synpred186()) :
12761 alt93 = 1
12762
12763
12764 elif LA93 == 35:
12765 LA93_88 = self.input.LA(3)
12766
12767 if (self.synpred186()) :
12768 alt93 = 1
12769
12770
12771 elif LA93 == 36:
12772 LA93_89 = self.input.LA(3)
12773
12774 if (self.synpred186()) :
12775 alt93 = 1
12776
12777
12778 elif LA93 == 37:
12779 LA93_90 = self.input.LA(3)
12780
12781 if (self.synpred186()) :
12782 alt93 = 1
12783
12784
12785 elif LA93 == 38:
12786 LA93_91 = self.input.LA(3)
12787
12788 if (self.synpred186()) :
12789 alt93 = 1
12790
12791
12792 elif LA93 == 39:
12793 LA93_92 = self.input.LA(3)
12794
12795 if (self.synpred186()) :
12796 alt93 = 1
12797
12798
12799 elif LA93 == 40:
12800 LA93_93 = self.input.LA(3)
12801
12802 if (self.synpred186()) :
12803 alt93 = 1
12804
12805
12806 elif LA93 == 41:
12807 LA93_94 = self.input.LA(3)
12808
12809 if (self.synpred186()) :
12810 alt93 = 1
12811
12812
12813 elif LA93 == 42:
12814 LA93_95 = self.input.LA(3)
12815
12816 if (self.synpred186()) :
12817 alt93 = 1
12818
12819
12820 elif LA93 == 45 or LA93 == 46:
12821 LA93_96 = self.input.LA(3)
12822
12823 if (self.synpred186()) :
12824 alt93 = 1
12825
12826
12827 elif LA93 == 48:
12828 LA93_97 = self.input.LA(3)
12829
12830 if (self.synpred186()) :
12831 alt93 = 1
12832
12833
12834 elif LA93 == IDENTIFIER:
12835 LA93_98 = self.input.LA(3)
12836
12837 if (self.synpred186()) :
12838 alt93 = 1
12839
12840
12841 elif LA93 == 58:
12842 LA93_99 = self.input.LA(3)
12843
12844 if (self.synpred186()) :
12845 alt93 = 1
12846
12847
12848 elif LA93 == 66:
12849 LA93_100 = self.input.LA(3)
12850
12851 if (self.synpred186()) :
12852 alt93 = 1
12853
12854
12855 elif LA93 == 59:
12856 LA93_101 = self.input.LA(3)
12857
12858 if (self.synpred186()) :
12859 alt93 = 1
12860
12861
12862 elif LA93 == 60:
12863 LA93_102 = self.input.LA(3)
12864
12865 if (self.synpred186()) :
12866 alt93 = 1
12867
12868
12869 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
12870 LA93_103 = self.input.LA(3)
12871
12872 if (self.synpred186()) :
12873 alt93 = 1
12874
12875
12876 elif LA93 == 62:
12877 LA93_104 = self.input.LA(3)
12878
12879 if (self.synpred186()) :
12880 alt93 = 1
12881
12882
12883
12884 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12885 LA93 = self.input.LA(2)
12886 if LA93 == 66:
12887 LA93_105 = self.input.LA(3)
12888
12889 if (self.synpred186()) :
12890 alt93 = 1
12891
12892
12893 elif LA93 == 58:
12894 LA93_106 = self.input.LA(3)
12895
12896 if (self.synpred186()) :
12897 alt93 = 1
12898
12899
12900 elif LA93 == 59:
12901 LA93_107 = self.input.LA(3)
12902
12903 if (self.synpred186()) :
12904 alt93 = 1
12905
12906
12907 elif LA93 == 60:
12908 LA93_108 = self.input.LA(3)
12909
12910 if (self.synpred186()) :
12911 alt93 = 1
12912
12913
12914 elif LA93 == IDENTIFIER:
12915 LA93_109 = self.input.LA(3)
12916
12917 if (self.synpred186()) :
12918 alt93 = 1
12919
12920
12921 elif LA93 == 62:
12922 LA93_110 = self.input.LA(3)
12923
12924 if (self.synpred186()) :
12925 alt93 = 1
12926
12927
12928 elif LA93 == 25:
12929 LA93_111 = self.input.LA(3)
12930
12931 if (self.synpred186()) :
12932 alt93 = 1
12933
12934
12935 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12936 LA93_112 = self.input.LA(3)
12937
12938 if (self.synpred186()) :
12939 alt93 = 1
12940
12941
12942 elif LA93 == 34:
12943 LA93_113 = self.input.LA(3)
12944
12945 if (self.synpred186()) :
12946 alt93 = 1
12947
12948
12949 elif LA93 == 35:
12950 LA93_114 = self.input.LA(3)
12951
12952 if (self.synpred186()) :
12953 alt93 = 1
12954
12955
12956 elif LA93 == 36:
12957 LA93_115 = self.input.LA(3)
12958
12959 if (self.synpred186()) :
12960 alt93 = 1
12961
12962
12963 elif LA93 == 37:
12964 LA93_116 = self.input.LA(3)
12965
12966 if (self.synpred186()) :
12967 alt93 = 1
12968
12969
12970 elif LA93 == 38:
12971 LA93_117 = self.input.LA(3)
12972
12973 if (self.synpred186()) :
12974 alt93 = 1
12975
12976
12977 elif LA93 == 39:
12978 LA93_118 = self.input.LA(3)
12979
12980 if (self.synpred186()) :
12981 alt93 = 1
12982
12983
12984 elif LA93 == 40:
12985 LA93_119 = self.input.LA(3)
12986
12987 if (self.synpred186()) :
12988 alt93 = 1
12989
12990
12991 elif LA93 == 41:
12992 LA93_120 = self.input.LA(3)
12993
12994 if (self.synpred186()) :
12995 alt93 = 1
12996
12997
12998 elif LA93 == 42:
12999 LA93_121 = self.input.LA(3)
13000
13001 if (self.synpred186()) :
13002 alt93 = 1
13003
13004
13005 elif LA93 == 45 or LA93 == 46:
13006 LA93_122 = self.input.LA(3)
13007
13008 if (self.synpred186()) :
13009 alt93 = 1
13010
13011
13012 elif LA93 == 48:
13013 LA93_123 = self.input.LA(3)
13014
13015 if (self.synpred186()) :
13016 alt93 = 1
13017
13018
13019 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13020 LA93_124 = self.input.LA(3)
13021
13022 if (self.synpred186()) :
13023 alt93 = 1
13024
13025
13026
13027 elif LA93 == 34:
13028 LA93 = self.input.LA(2)
13029 if LA93 == 66:
13030 LA93_125 = self.input.LA(3)
13031
13032 if (self.synpred186()) :
13033 alt93 = 1
13034
13035
13036 elif LA93 == 58:
13037 LA93_126 = self.input.LA(3)
13038
13039 if (self.synpred186()) :
13040 alt93 = 1
13041
13042
13043 elif LA93 == 59:
13044 LA93_127 = self.input.LA(3)
13045
13046 if (self.synpred186()) :
13047 alt93 = 1
13048
13049
13050 elif LA93 == 60:
13051 LA93_128 = self.input.LA(3)
13052
13053 if (self.synpred186()) :
13054 alt93 = 1
13055
13056
13057 elif LA93 == IDENTIFIER:
13058 LA93_129 = self.input.LA(3)
13059
13060 if (self.synpred186()) :
13061 alt93 = 1
13062
13063
13064 elif LA93 == 62:
13065 LA93_130 = self.input.LA(3)
13066
13067 if (self.synpred186()) :
13068 alt93 = 1
13069
13070
13071 elif LA93 == 25:
13072 LA93_131 = self.input.LA(3)
13073
13074 if (self.synpred186()) :
13075 alt93 = 1
13076
13077
13078 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13079 LA93_132 = self.input.LA(3)
13080
13081 if (self.synpred186()) :
13082 alt93 = 1
13083
13084
13085 elif LA93 == 34:
13086 LA93_133 = self.input.LA(3)
13087
13088 if (self.synpred186()) :
13089 alt93 = 1
13090
13091
13092 elif LA93 == 35:
13093 LA93_134 = self.input.LA(3)
13094
13095 if (self.synpred186()) :
13096 alt93 = 1
13097
13098
13099 elif LA93 == 36:
13100 LA93_135 = self.input.LA(3)
13101
13102 if (self.synpred186()) :
13103 alt93 = 1
13104
13105
13106 elif LA93 == 37:
13107 LA93_136 = self.input.LA(3)
13108
13109 if (self.synpred186()) :
13110 alt93 = 1
13111
13112
13113 elif LA93 == 38:
13114 LA93_137 = self.input.LA(3)
13115
13116 if (self.synpred186()) :
13117 alt93 = 1
13118
13119
13120 elif LA93 == 39:
13121 LA93_138 = self.input.LA(3)
13122
13123 if (self.synpred186()) :
13124 alt93 = 1
13125
13126
13127 elif LA93 == 40:
13128 LA93_139 = self.input.LA(3)
13129
13130 if (self.synpred186()) :
13131 alt93 = 1
13132
13133
13134 elif LA93 == 41:
13135 LA93_140 = self.input.LA(3)
13136
13137 if (self.synpred186()) :
13138 alt93 = 1
13139
13140
13141 elif LA93 == 42:
13142 LA93_141 = self.input.LA(3)
13143
13144 if (self.synpred186()) :
13145 alt93 = 1
13146
13147
13148 elif LA93 == 45 or LA93 == 46:
13149 LA93_142 = self.input.LA(3)
13150
13151 if (self.synpred186()) :
13152 alt93 = 1
13153
13154
13155 elif LA93 == 48:
13156 LA93_143 = self.input.LA(3)
13157
13158 if (self.synpred186()) :
13159 alt93 = 1
13160
13161
13162 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13163 LA93_144 = self.input.LA(3)
13164
13165 if (self.synpred186()) :
13166 alt93 = 1
13167
13168
13169
13170 elif LA93 == 35:
13171 LA93 = self.input.LA(2)
13172 if LA93 == 66:
13173 LA93_145 = self.input.LA(3)
13174
13175 if (self.synpred186()) :
13176 alt93 = 1
13177
13178
13179 elif LA93 == 58:
13180 LA93_146 = self.input.LA(3)
13181
13182 if (self.synpred186()) :
13183 alt93 = 1
13184
13185
13186 elif LA93 == 59:
13187 LA93_147 = self.input.LA(3)
13188
13189 if (self.synpred186()) :
13190 alt93 = 1
13191
13192
13193 elif LA93 == 60:
13194 LA93_148 = self.input.LA(3)
13195
13196 if (self.synpred186()) :
13197 alt93 = 1
13198
13199
13200 elif LA93 == IDENTIFIER:
13201 LA93_149 = self.input.LA(3)
13202
13203 if (self.synpred186()) :
13204 alt93 = 1
13205
13206
13207 elif LA93 == 62:
13208 LA93_150 = self.input.LA(3)
13209
13210 if (self.synpred186()) :
13211 alt93 = 1
13212
13213
13214 elif LA93 == 25:
13215 LA93_151 = self.input.LA(3)
13216
13217 if (self.synpred186()) :
13218 alt93 = 1
13219
13220
13221 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13222 LA93_152 = self.input.LA(3)
13223
13224 if (self.synpred186()) :
13225 alt93 = 1
13226
13227
13228 elif LA93 == 34:
13229 LA93_153 = self.input.LA(3)
13230
13231 if (self.synpred186()) :
13232 alt93 = 1
13233
13234
13235 elif LA93 == 35:
13236 LA93_154 = self.input.LA(3)
13237
13238 if (self.synpred186()) :
13239 alt93 = 1
13240
13241
13242 elif LA93 == 36:
13243 LA93_155 = self.input.LA(3)
13244
13245 if (self.synpred186()) :
13246 alt93 = 1
13247
13248
13249 elif LA93 == 37:
13250 LA93_156 = self.input.LA(3)
13251
13252 if (self.synpred186()) :
13253 alt93 = 1
13254
13255
13256 elif LA93 == 38:
13257 LA93_157 = self.input.LA(3)
13258
13259 if (self.synpred186()) :
13260 alt93 = 1
13261
13262
13263 elif LA93 == 39:
13264 LA93_158 = self.input.LA(3)
13265
13266 if (self.synpred186()) :
13267 alt93 = 1
13268
13269
13270 elif LA93 == 40:
13271 LA93_159 = self.input.LA(3)
13272
13273 if (self.synpred186()) :
13274 alt93 = 1
13275
13276
13277 elif LA93 == 41:
13278 LA93_160 = self.input.LA(3)
13279
13280 if (self.synpred186()) :
13281 alt93 = 1
13282
13283
13284 elif LA93 == 42:
13285 LA93_161 = self.input.LA(3)
13286
13287 if (self.synpred186()) :
13288 alt93 = 1
13289
13290
13291 elif LA93 == 45 or LA93 == 46:
13292 LA93_162 = self.input.LA(3)
13293
13294 if (self.synpred186()) :
13295 alt93 = 1
13296
13297
13298 elif LA93 == 48:
13299 LA93_163 = self.input.LA(3)
13300
13301 if (self.synpred186()) :
13302 alt93 = 1
13303
13304
13305 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13306 LA93_164 = self.input.LA(3)
13307
13308 if (self.synpred186()) :
13309 alt93 = 1
13310
13311
13312
13313 elif LA93 == 36:
13314 LA93 = self.input.LA(2)
13315 if LA93 == 66:
13316 LA93_165 = self.input.LA(3)
13317
13318 if (self.synpred186()) :
13319 alt93 = 1
13320
13321
13322 elif LA93 == 58:
13323 LA93_166 = self.input.LA(3)
13324
13325 if (self.synpred186()) :
13326 alt93 = 1
13327
13328
13329 elif LA93 == 59:
13330 LA93_167 = self.input.LA(3)
13331
13332 if (self.synpred186()) :
13333 alt93 = 1
13334
13335
13336 elif LA93 == 60:
13337 LA93_168 = self.input.LA(3)
13338
13339 if (self.synpred186()) :
13340 alt93 = 1
13341
13342
13343 elif LA93 == IDENTIFIER:
13344 LA93_169 = self.input.LA(3)
13345
13346 if (self.synpred186()) :
13347 alt93 = 1
13348
13349
13350 elif LA93 == 62:
13351 LA93_170 = self.input.LA(3)
13352
13353 if (self.synpred186()) :
13354 alt93 = 1
13355
13356
13357 elif LA93 == 25:
13358 LA93_171 = self.input.LA(3)
13359
13360 if (self.synpred186()) :
13361 alt93 = 1
13362
13363
13364 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13365 LA93_172 = self.input.LA(3)
13366
13367 if (self.synpred186()) :
13368 alt93 = 1
13369
13370
13371 elif LA93 == 34:
13372 LA93_173 = self.input.LA(3)
13373
13374 if (self.synpred186()) :
13375 alt93 = 1
13376
13377
13378 elif LA93 == 35:
13379 LA93_174 = self.input.LA(3)
13380
13381 if (self.synpred186()) :
13382 alt93 = 1
13383
13384
13385 elif LA93 == 36:
13386 LA93_175 = self.input.LA(3)
13387
13388 if (self.synpred186()) :
13389 alt93 = 1
13390
13391
13392 elif LA93 == 37:
13393 LA93_176 = self.input.LA(3)
13394
13395 if (self.synpred186()) :
13396 alt93 = 1
13397
13398
13399 elif LA93 == 38:
13400 LA93_177 = self.input.LA(3)
13401
13402 if (self.synpred186()) :
13403 alt93 = 1
13404
13405
13406 elif LA93 == 39:
13407 LA93_178 = self.input.LA(3)
13408
13409 if (self.synpred186()) :
13410 alt93 = 1
13411
13412
13413 elif LA93 == 40:
13414 LA93_179 = self.input.LA(3)
13415
13416 if (self.synpred186()) :
13417 alt93 = 1
13418
13419
13420 elif LA93 == 41:
13421 LA93_180 = self.input.LA(3)
13422
13423 if (self.synpred186()) :
13424 alt93 = 1
13425
13426
13427 elif LA93 == 42:
13428 LA93_181 = self.input.LA(3)
13429
13430 if (self.synpred186()) :
13431 alt93 = 1
13432
13433
13434 elif LA93 == 45 or LA93 == 46:
13435 LA93_182 = self.input.LA(3)
13436
13437 if (self.synpred186()) :
13438 alt93 = 1
13439
13440
13441 elif LA93 == 48:
13442 LA93_183 = self.input.LA(3)
13443
13444 if (self.synpred186()) :
13445 alt93 = 1
13446
13447
13448 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13449 LA93_184 = self.input.LA(3)
13450
13451 if (self.synpred186()) :
13452 alt93 = 1
13453
13454
13455
13456 elif LA93 == 37:
13457 LA93 = self.input.LA(2)
13458 if LA93 == 66:
13459 LA93_185 = self.input.LA(3)
13460
13461 if (self.synpred186()) :
13462 alt93 = 1
13463
13464
13465 elif LA93 == 58:
13466 LA93_186 = self.input.LA(3)
13467
13468 if (self.synpred186()) :
13469 alt93 = 1
13470
13471
13472 elif LA93 == 59:
13473 LA93_187 = self.input.LA(3)
13474
13475 if (self.synpred186()) :
13476 alt93 = 1
13477
13478
13479 elif LA93 == 60:
13480 LA93_188 = self.input.LA(3)
13481
13482 if (self.synpred186()) :
13483 alt93 = 1
13484
13485
13486 elif LA93 == IDENTIFIER:
13487 LA93_189 = self.input.LA(3)
13488
13489 if (self.synpred186()) :
13490 alt93 = 1
13491
13492
13493 elif LA93 == 62:
13494 LA93_190 = self.input.LA(3)
13495
13496 if (self.synpred186()) :
13497 alt93 = 1
13498
13499
13500 elif LA93 == 25:
13501 LA93_191 = self.input.LA(3)
13502
13503 if (self.synpred186()) :
13504 alt93 = 1
13505
13506
13507 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13508 LA93_192 = self.input.LA(3)
13509
13510 if (self.synpred186()) :
13511 alt93 = 1
13512
13513
13514 elif LA93 == 34:
13515 LA93_193 = self.input.LA(3)
13516
13517 if (self.synpred186()) :
13518 alt93 = 1
13519
13520
13521 elif LA93 == 35:
13522 LA93_194 = self.input.LA(3)
13523
13524 if (self.synpred186()) :
13525 alt93 = 1
13526
13527
13528 elif LA93 == 36:
13529 LA93_195 = self.input.LA(3)
13530
13531 if (self.synpred186()) :
13532 alt93 = 1
13533
13534
13535 elif LA93 == 37:
13536 LA93_196 = self.input.LA(3)
13537
13538 if (self.synpred186()) :
13539 alt93 = 1
13540
13541
13542 elif LA93 == 38:
13543 LA93_197 = self.input.LA(3)
13544
13545 if (self.synpred186()) :
13546 alt93 = 1
13547
13548
13549 elif LA93 == 39:
13550 LA93_198 = self.input.LA(3)
13551
13552 if (self.synpred186()) :
13553 alt93 = 1
13554
13555
13556 elif LA93 == 40:
13557 LA93_199 = self.input.LA(3)
13558
13559 if (self.synpred186()) :
13560 alt93 = 1
13561
13562
13563 elif LA93 == 41:
13564 LA93_200 = self.input.LA(3)
13565
13566 if (self.synpred186()) :
13567 alt93 = 1
13568
13569
13570 elif LA93 == 42:
13571 LA93_201 = self.input.LA(3)
13572
13573 if (self.synpred186()) :
13574 alt93 = 1
13575
13576
13577 elif LA93 == 45 or LA93 == 46:
13578 LA93_202 = self.input.LA(3)
13579
13580 if (self.synpred186()) :
13581 alt93 = 1
13582
13583
13584 elif LA93 == 48:
13585 LA93_203 = self.input.LA(3)
13586
13587 if (self.synpred186()) :
13588 alt93 = 1
13589
13590
13591 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13592 LA93_204 = self.input.LA(3)
13593
13594 if (self.synpred186()) :
13595 alt93 = 1
13596
13597
13598
13599 elif LA93 == 38:
13600 LA93 = self.input.LA(2)
13601 if LA93 == 66:
13602 LA93_205 = self.input.LA(3)
13603
13604 if (self.synpred186()) :
13605 alt93 = 1
13606
13607
13608 elif LA93 == 58:
13609 LA93_206 = self.input.LA(3)
13610
13611 if (self.synpred186()) :
13612 alt93 = 1
13613
13614
13615 elif LA93 == 59:
13616 LA93_207 = self.input.LA(3)
13617
13618 if (self.synpred186()) :
13619 alt93 = 1
13620
13621
13622 elif LA93 == 60:
13623 LA93_208 = self.input.LA(3)
13624
13625 if (self.synpred186()) :
13626 alt93 = 1
13627
13628
13629 elif LA93 == IDENTIFIER:
13630 LA93_209 = self.input.LA(3)
13631
13632 if (self.synpred186()) :
13633 alt93 = 1
13634
13635
13636 elif LA93 == 62:
13637 LA93_210 = self.input.LA(3)
13638
13639 if (self.synpred186()) :
13640 alt93 = 1
13641
13642
13643 elif LA93 == 25:
13644 LA93_211 = self.input.LA(3)
13645
13646 if (self.synpred186()) :
13647 alt93 = 1
13648
13649
13650 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13651 LA93_212 = self.input.LA(3)
13652
13653 if (self.synpred186()) :
13654 alt93 = 1
13655
13656
13657 elif LA93 == 34:
13658 LA93_213 = self.input.LA(3)
13659
13660 if (self.synpred186()) :
13661 alt93 = 1
13662
13663
13664 elif LA93 == 35:
13665 LA93_214 = self.input.LA(3)
13666
13667 if (self.synpred186()) :
13668 alt93 = 1
13669
13670
13671 elif LA93 == 36:
13672 LA93_215 = self.input.LA(3)
13673
13674 if (self.synpred186()) :
13675 alt93 = 1
13676
13677
13678 elif LA93 == 37:
13679 LA93_216 = self.input.LA(3)
13680
13681 if (self.synpred186()) :
13682 alt93 = 1
13683
13684
13685 elif LA93 == 38:
13686 LA93_217 = self.input.LA(3)
13687
13688 if (self.synpred186()) :
13689 alt93 = 1
13690
13691
13692 elif LA93 == 39:
13693 LA93_218 = self.input.LA(3)
13694
13695 if (self.synpred186()) :
13696 alt93 = 1
13697
13698
13699 elif LA93 == 40:
13700 LA93_219 = self.input.LA(3)
13701
13702 if (self.synpred186()) :
13703 alt93 = 1
13704
13705
13706 elif LA93 == 41:
13707 LA93_220 = self.input.LA(3)
13708
13709 if (self.synpred186()) :
13710 alt93 = 1
13711
13712
13713 elif LA93 == 42:
13714 LA93_221 = self.input.LA(3)
13715
13716 if (self.synpred186()) :
13717 alt93 = 1
13718
13719
13720 elif LA93 == 45 or LA93 == 46:
13721 LA93_222 = self.input.LA(3)
13722
13723 if (self.synpred186()) :
13724 alt93 = 1
13725
13726
13727 elif LA93 == 48:
13728 LA93_223 = self.input.LA(3)
13729
13730 if (self.synpred186()) :
13731 alt93 = 1
13732
13733
13734 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13735 LA93_224 = self.input.LA(3)
13736
13737 if (self.synpred186()) :
13738 alt93 = 1
13739
13740
13741
13742 elif LA93 == 39:
13743 LA93 = self.input.LA(2)
13744 if LA93 == 66:
13745 LA93_225 = self.input.LA(3)
13746
13747 if (self.synpred186()) :
13748 alt93 = 1
13749
13750
13751 elif LA93 == 58:
13752 LA93_226 = self.input.LA(3)
13753
13754 if (self.synpred186()) :
13755 alt93 = 1
13756
13757
13758 elif LA93 == 59:
13759 LA93_227 = self.input.LA(3)
13760
13761 if (self.synpred186()) :
13762 alt93 = 1
13763
13764
13765 elif LA93 == 60:
13766 LA93_228 = self.input.LA(3)
13767
13768 if (self.synpred186()) :
13769 alt93 = 1
13770
13771
13772 elif LA93 == IDENTIFIER:
13773 LA93_229 = self.input.LA(3)
13774
13775 if (self.synpred186()) :
13776 alt93 = 1
13777
13778
13779 elif LA93 == 62:
13780 LA93_230 = self.input.LA(3)
13781
13782 if (self.synpred186()) :
13783 alt93 = 1
13784
13785
13786 elif LA93 == 25:
13787 LA93_231 = self.input.LA(3)
13788
13789 if (self.synpred186()) :
13790 alt93 = 1
13791
13792
13793 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13794 LA93_232 = self.input.LA(3)
13795
13796 if (self.synpred186()) :
13797 alt93 = 1
13798
13799
13800 elif LA93 == 34:
13801 LA93_233 = self.input.LA(3)
13802
13803 if (self.synpred186()) :
13804 alt93 = 1
13805
13806
13807 elif LA93 == 35:
13808 LA93_234 = self.input.LA(3)
13809
13810 if (self.synpred186()) :
13811 alt93 = 1
13812
13813
13814 elif LA93 == 36:
13815 LA93_235 = self.input.LA(3)
13816
13817 if (self.synpred186()) :
13818 alt93 = 1
13819
13820
13821 elif LA93 == 37:
13822 LA93_236 = self.input.LA(3)
13823
13824 if (self.synpred186()) :
13825 alt93 = 1
13826
13827
13828 elif LA93 == 38:
13829 LA93_237 = self.input.LA(3)
13830
13831 if (self.synpred186()) :
13832 alt93 = 1
13833
13834
13835 elif LA93 == 39:
13836 LA93_238 = self.input.LA(3)
13837
13838 if (self.synpred186()) :
13839 alt93 = 1
13840
13841
13842 elif LA93 == 40:
13843 LA93_239 = self.input.LA(3)
13844
13845 if (self.synpred186()) :
13846 alt93 = 1
13847
13848
13849 elif LA93 == 41:
13850 LA93_240 = self.input.LA(3)
13851
13852 if (self.synpred186()) :
13853 alt93 = 1
13854
13855
13856 elif LA93 == 42:
13857 LA93_241 = self.input.LA(3)
13858
13859 if (self.synpred186()) :
13860 alt93 = 1
13861
13862
13863 elif LA93 == 45 or LA93 == 46:
13864 LA93_242 = self.input.LA(3)
13865
13866 if (self.synpred186()) :
13867 alt93 = 1
13868
13869
13870 elif LA93 == 48:
13871 LA93_243 = self.input.LA(3)
13872
13873 if (self.synpred186()) :
13874 alt93 = 1
13875
13876
13877 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13878 LA93_244 = self.input.LA(3)
13879
13880 if (self.synpred186()) :
13881 alt93 = 1
13882
13883
13884
13885 elif LA93 == 40:
13886 LA93 = self.input.LA(2)
13887 if LA93 == 66:
13888 LA93_245 = self.input.LA(3)
13889
13890 if (self.synpred186()) :
13891 alt93 = 1
13892
13893
13894 elif LA93 == 58:
13895 LA93_246 = self.input.LA(3)
13896
13897 if (self.synpred186()) :
13898 alt93 = 1
13899
13900
13901 elif LA93 == 59:
13902 LA93_247 = self.input.LA(3)
13903
13904 if (self.synpred186()) :
13905 alt93 = 1
13906
13907
13908 elif LA93 == 60:
13909 LA93_248 = self.input.LA(3)
13910
13911 if (self.synpred186()) :
13912 alt93 = 1
13913
13914
13915 elif LA93 == IDENTIFIER:
13916 LA93_249 = self.input.LA(3)
13917
13918 if (self.synpred186()) :
13919 alt93 = 1
13920
13921
13922 elif LA93 == 62:
13923 LA93_250 = self.input.LA(3)
13924
13925 if (self.synpred186()) :
13926 alt93 = 1
13927
13928
13929 elif LA93 == 25:
13930 LA93_251 = self.input.LA(3)
13931
13932 if (self.synpred186()) :
13933 alt93 = 1
13934
13935
13936 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13937 LA93_252 = self.input.LA(3)
13938
13939 if (self.synpred186()) :
13940 alt93 = 1
13941
13942
13943 elif LA93 == 34:
13944 LA93_253 = self.input.LA(3)
13945
13946 if (self.synpred186()) :
13947 alt93 = 1
13948
13949
13950 elif LA93 == 35:
13951 LA93_254 = self.input.LA(3)
13952
13953 if (self.synpred186()) :
13954 alt93 = 1
13955
13956
13957 elif LA93 == 36:
13958 LA93_255 = self.input.LA(3)
13959
13960 if (self.synpred186()) :
13961 alt93 = 1
13962
13963
13964 elif LA93 == 37:
13965 LA93_256 = self.input.LA(3)
13966
13967 if (self.synpred186()) :
13968 alt93 = 1
13969
13970
13971 elif LA93 == 38:
13972 LA93_257 = self.input.LA(3)
13973
13974 if (self.synpred186()) :
13975 alt93 = 1
13976
13977
13978 elif LA93 == 39:
13979 LA93_258 = self.input.LA(3)
13980
13981 if (self.synpred186()) :
13982 alt93 = 1
13983
13984
13985 elif LA93 == 40:
13986 LA93_259 = self.input.LA(3)
13987
13988 if (self.synpred186()) :
13989 alt93 = 1
13990
13991
13992 elif LA93 == 41:
13993 LA93_260 = self.input.LA(3)
13994
13995 if (self.synpred186()) :
13996 alt93 = 1
13997
13998
13999 elif LA93 == 42:
14000 LA93_261 = self.input.LA(3)
14001
14002 if (self.synpred186()) :
14003 alt93 = 1
14004
14005
14006 elif LA93 == 45 or LA93 == 46:
14007 LA93_262 = self.input.LA(3)
14008
14009 if (self.synpred186()) :
14010 alt93 = 1
14011
14012
14013 elif LA93 == 48:
14014 LA93_263 = self.input.LA(3)
14015
14016 if (self.synpred186()) :
14017 alt93 = 1
14018
14019
14020 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14021 LA93_264 = self.input.LA(3)
14022
14023 if (self.synpred186()) :
14024 alt93 = 1
14025
14026
14027
14028 elif LA93 == 41:
14029 LA93 = self.input.LA(2)
14030 if LA93 == 66:
14031 LA93_265 = self.input.LA(3)
14032
14033 if (self.synpred186()) :
14034 alt93 = 1
14035
14036
14037 elif LA93 == 58:
14038 LA93_266 = self.input.LA(3)
14039
14040 if (self.synpred186()) :
14041 alt93 = 1
14042
14043
14044 elif LA93 == 59:
14045 LA93_267 = self.input.LA(3)
14046
14047 if (self.synpred186()) :
14048 alt93 = 1
14049
14050
14051 elif LA93 == 60:
14052 LA93_268 = self.input.LA(3)
14053
14054 if (self.synpred186()) :
14055 alt93 = 1
14056
14057
14058 elif LA93 == IDENTIFIER:
14059 LA93_269 = self.input.LA(3)
14060
14061 if (self.synpred186()) :
14062 alt93 = 1
14063
14064
14065 elif LA93 == 62:
14066 LA93_270 = self.input.LA(3)
14067
14068 if (self.synpred186()) :
14069 alt93 = 1
14070
14071
14072 elif LA93 == 25:
14073 LA93_271 = self.input.LA(3)
14074
14075 if (self.synpred186()) :
14076 alt93 = 1
14077
14078
14079 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14080 LA93_272 = self.input.LA(3)
14081
14082 if (self.synpred186()) :
14083 alt93 = 1
14084
14085
14086 elif LA93 == 34:
14087 LA93_273 = self.input.LA(3)
14088
14089 if (self.synpred186()) :
14090 alt93 = 1
14091
14092
14093 elif LA93 == 35:
14094 LA93_274 = self.input.LA(3)
14095
14096 if (self.synpred186()) :
14097 alt93 = 1
14098
14099
14100 elif LA93 == 36:
14101 LA93_275 = self.input.LA(3)
14102
14103 if (self.synpred186()) :
14104 alt93 = 1
14105
14106
14107 elif LA93 == 37:
14108 LA93_276 = self.input.LA(3)
14109
14110 if (self.synpred186()) :
14111 alt93 = 1
14112
14113
14114 elif LA93 == 38:
14115 LA93_277 = self.input.LA(3)
14116
14117 if (self.synpred186()) :
14118 alt93 = 1
14119
14120
14121 elif LA93 == 39:
14122 LA93_278 = self.input.LA(3)
14123
14124 if (self.synpred186()) :
14125 alt93 = 1
14126
14127
14128 elif LA93 == 40:
14129 LA93_279 = self.input.LA(3)
14130
14131 if (self.synpred186()) :
14132 alt93 = 1
14133
14134
14135 elif LA93 == 41:
14136 LA93_280 = self.input.LA(3)
14137
14138 if (self.synpred186()) :
14139 alt93 = 1
14140
14141
14142 elif LA93 == 42:
14143 LA93_281 = self.input.LA(3)
14144
14145 if (self.synpred186()) :
14146 alt93 = 1
14147
14148
14149 elif LA93 == 45 or LA93 == 46:
14150 LA93_282 = self.input.LA(3)
14151
14152 if (self.synpred186()) :
14153 alt93 = 1
14154
14155
14156 elif LA93 == 48:
14157 LA93_283 = self.input.LA(3)
14158
14159 if (self.synpred186()) :
14160 alt93 = 1
14161
14162
14163 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14164 LA93_284 = self.input.LA(3)
14165
14166 if (self.synpred186()) :
14167 alt93 = 1
14168
14169
14170
14171 elif LA93 == 42:
14172 LA93 = self.input.LA(2)
14173 if LA93 == 66:
14174 LA93_285 = self.input.LA(3)
14175
14176 if (self.synpred186()) :
14177 alt93 = 1
14178
14179
14180 elif LA93 == 58:
14181 LA93_286 = self.input.LA(3)
14182
14183 if (self.synpred186()) :
14184 alt93 = 1
14185
14186
14187 elif LA93 == 59:
14188 LA93_287 = self.input.LA(3)
14189
14190 if (self.synpred186()) :
14191 alt93 = 1
14192
14193
14194 elif LA93 == 60:
14195 LA93_288 = self.input.LA(3)
14196
14197 if (self.synpred186()) :
14198 alt93 = 1
14199
14200
14201 elif LA93 == IDENTIFIER:
14202 LA93_289 = self.input.LA(3)
14203
14204 if (self.synpred186()) :
14205 alt93 = 1
14206
14207
14208 elif LA93 == 62:
14209 LA93_290 = self.input.LA(3)
14210
14211 if (self.synpred186()) :
14212 alt93 = 1
14213
14214
14215 elif LA93 == 25:
14216 LA93_291 = self.input.LA(3)
14217
14218 if (self.synpred186()) :
14219 alt93 = 1
14220
14221
14222 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14223 LA93_292 = self.input.LA(3)
14224
14225 if (self.synpred186()) :
14226 alt93 = 1
14227
14228
14229 elif LA93 == 34:
14230 LA93_293 = self.input.LA(3)
14231
14232 if (self.synpred186()) :
14233 alt93 = 1
14234
14235
14236 elif LA93 == 35:
14237 LA93_294 = self.input.LA(3)
14238
14239 if (self.synpred186()) :
14240 alt93 = 1
14241
14242
14243 elif LA93 == 36:
14244 LA93_295 = self.input.LA(3)
14245
14246 if (self.synpred186()) :
14247 alt93 = 1
14248
14249
14250 elif LA93 == 37:
14251 LA93_296 = self.input.LA(3)
14252
14253 if (self.synpred186()) :
14254 alt93 = 1
14255
14256
14257 elif LA93 == 38:
14258 LA93_297 = self.input.LA(3)
14259
14260 if (self.synpred186()) :
14261 alt93 = 1
14262
14263
14264 elif LA93 == 39:
14265 LA93_298 = self.input.LA(3)
14266
14267 if (self.synpred186()) :
14268 alt93 = 1
14269
14270
14271 elif LA93 == 40:
14272 LA93_299 = self.input.LA(3)
14273
14274 if (self.synpred186()) :
14275 alt93 = 1
14276
14277
14278 elif LA93 == 41:
14279 LA93_300 = self.input.LA(3)
14280
14281 if (self.synpred186()) :
14282 alt93 = 1
14283
14284
14285 elif LA93 == 42:
14286 LA93_301 = self.input.LA(3)
14287
14288 if (self.synpred186()) :
14289 alt93 = 1
14290
14291
14292 elif LA93 == 45 or LA93 == 46:
14293 LA93_302 = self.input.LA(3)
14294
14295 if (self.synpred186()) :
14296 alt93 = 1
14297
14298
14299 elif LA93 == 48:
14300 LA93_303 = self.input.LA(3)
14301
14302 if (self.synpred186()) :
14303 alt93 = 1
14304
14305
14306 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14307 LA93_304 = self.input.LA(3)
14308
14309 if (self.synpred186()) :
14310 alt93 = 1
14311
14312
14313
14314 elif LA93 == 45 or LA93 == 46:
14315 LA93_40 = self.input.LA(2)
14316
14317 if (LA93_40 == IDENTIFIER) :
14318 LA93_305 = self.input.LA(3)
14319
14320 if (self.synpred186()) :
14321 alt93 = 1
14322
14323
14324 elif (LA93_40 == 43) :
14325 LA93_306 = self.input.LA(3)
14326
14327 if (self.synpred186()) :
14328 alt93 = 1
14329
14330
14331
14332
14333 elif LA93 == 48:
14334 LA93_41 = self.input.LA(2)
14335
14336 if (LA93_41 == 43) :
14337 LA93_307 = self.input.LA(3)
14338
14339 if (self.synpred186()) :
14340 alt93 = 1
14341
14342
14343 elif (LA93_41 == IDENTIFIER) :
14344 LA93_308 = self.input.LA(3)
14345
14346 if (self.synpred186()) :
14347 alt93 = 1
14348
14349
14350
14351
14352 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60 or LA93 == 61:
14353 LA93 = self.input.LA(2)
14354 if LA93 == 66:
14355 LA93_309 = self.input.LA(3)
14356
14357 if (self.synpred186()) :
14358 alt93 = 1
14359
14360
14361 elif LA93 == 58:
14362 LA93_310 = self.input.LA(3)
14363
14364 if (self.synpred186()) :
14365 alt93 = 1
14366
14367
14368 elif LA93 == 59:
14369 LA93_311 = self.input.LA(3)
14370
14371 if (self.synpred186()) :
14372 alt93 = 1
14373
14374
14375 elif LA93 == 60:
14376 LA93_312 = self.input.LA(3)
14377
14378 if (self.synpred186()) :
14379 alt93 = 1
14380
14381
14382 elif LA93 == IDENTIFIER:
14383 LA93_313 = self.input.LA(3)
14384
14385 if (self.synpred186()) :
14386 alt93 = 1
14387
14388
14389 elif LA93 == 62:
14390 LA93_314 = self.input.LA(3)
14391
14392 if (self.synpred186()) :
14393 alt93 = 1
14394
14395
14396 elif LA93 == 25:
14397 LA93_315 = self.input.LA(3)
14398
14399 if (self.synpred186()) :
14400 alt93 = 1
14401
14402
14403 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14404 LA93_316 = self.input.LA(3)
14405
14406 if (self.synpred186()) :
14407 alt93 = 1
14408
14409
14410 elif LA93 == 34:
14411 LA93_317 = self.input.LA(3)
14412
14413 if (self.synpred186()) :
14414 alt93 = 1
14415
14416
14417 elif LA93 == 35:
14418 LA93_318 = self.input.LA(3)
14419
14420 if (self.synpred186()) :
14421 alt93 = 1
14422
14423
14424 elif LA93 == 36:
14425 LA93_319 = self.input.LA(3)
14426
14427 if (self.synpred186()) :
14428 alt93 = 1
14429
14430
14431 elif LA93 == 37:
14432 LA93_320 = self.input.LA(3)
14433
14434 if (self.synpred186()) :
14435 alt93 = 1
14436
14437
14438 elif LA93 == 38:
14439 LA93_321 = self.input.LA(3)
14440
14441 if (self.synpred186()) :
14442 alt93 = 1
14443
14444
14445 elif LA93 == 39:
14446 LA93_322 = self.input.LA(3)
14447
14448 if (self.synpred186()) :
14449 alt93 = 1
14450
14451
14452 elif LA93 == 40:
14453 LA93_323 = self.input.LA(3)
14454
14455 if (self.synpred186()) :
14456 alt93 = 1
14457
14458
14459 elif LA93 == 41:
14460 LA93_324 = self.input.LA(3)
14461
14462 if (self.synpred186()) :
14463 alt93 = 1
14464
14465
14466 elif LA93 == 42:
14467 LA93_325 = self.input.LA(3)
14468
14469 if (self.synpred186()) :
14470 alt93 = 1
14471
14472
14473 elif LA93 == 45 or LA93 == 46:
14474 LA93_326 = self.input.LA(3)
14475
14476 if (self.synpred186()) :
14477 alt93 = 1
14478
14479
14480 elif LA93 == 48:
14481 LA93_327 = self.input.LA(3)
14482
14483 if (self.synpred186()) :
14484 alt93 = 1
14485
14486
14487 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14488 LA93_328 = self.input.LA(3)
14489
14490 if (self.synpred186()) :
14491 alt93 = 1
14492
14493
14494
14495
14496 if alt93 == 1:
14497 # C.g:0:0: declaration
14498 self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
14499 self.declaration()
14500 self.following.pop()
14501 if self.failed:
14502 return retval
14503
14504
14505 else:
14506 break #loop93
14507
14508
14509 # C.g:554:21: ( statement_list )?
14510 alt94 = 2
14511 LA94_0 = self.input.LA(1)
14512
14513 if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 62) or LA94_0 == 66 or (68 <= LA94_0 <= 69) or (72 <= LA94_0 <= 74) or (77 <= LA94_0 <= 79) or (103 <= LA94_0 <= 108) or (110 <= LA94_0 <= 117)) :
14514 alt94 = 1
14515 if alt94 == 1:
14516 # C.g:0:0: statement_list
14517 self.following.append(self.FOLLOW_statement_list_in_compound_statement2228)
14518 self.statement_list()
14519 self.following.pop()
14520 if self.failed:
14521 return retval
14522
14523
14524
14525 self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
14526 if self.failed:
14527 return retval
14528
14529
14530
14531 retval.stop = self.input.LT(-1)
14532
14533
14534 except RecognitionException as re:
14535 self.reportError(re)
14536 self.recover(self.input, re)
14537 finally:
14538 if self.backtracking > 0:
14539 self.memoize(self.input, 66, compound_statement_StartIndex)
14540
14541 pass
14542
14543 return retval
14544
14545 # $ANTLR end compound_statement
14546
14547
14548 # $ANTLR start statement_list
14549 # C.g:557:1: statement_list : ( statement )+ ;
14550 def statement_list(self, ):
14551
14552 statement_list_StartIndex = self.input.index()
14553 try:
14554 try:
14555 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
14556 return
14557
14558 # C.g:558:2: ( ( statement )+ )
14559 # C.g:558:4: ( statement )+
14560 # C.g:558:4: ( statement )+
14561 cnt95 = 0
14562 while True: #loop95
14563 alt95 = 2
14564 LA95 = self.input.LA(1)
14565 if LA95 == IDENTIFIER:
14566 LA95 = self.input.LA(2)
14567 if LA95 == 62:
14568 LA95_46 = self.input.LA(3)
14569
14570 if (self.synpred188()) :
14571 alt95 = 1
14572
14573
14574 elif LA95 == 25 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 45 or LA95 == 46 or LA95 == 47 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
14575 alt95 = 1
14576 elif LA95 == STRING_LITERAL:
14577 LA95_48 = self.input.LA(3)
14578
14579 if (self.synpred188()) :
14580 alt95 = 1
14581
14582
14583 elif LA95 == IDENTIFIER:
14584 LA95_49 = self.input.LA(3)
14585
14586 if (self.synpred188()) :
14587 alt95 = 1
14588
14589
14590 elif LA95 == 64:
14591 LA95_50 = self.input.LA(3)
14592
14593 if (self.synpred188()) :
14594 alt95 = 1
14595
14596
14597 elif LA95 == 75:
14598 LA95_51 = self.input.LA(3)
14599
14600 if (self.synpred188()) :
14601 alt95 = 1
14602
14603
14604 elif LA95 == 66:
14605 LA95_52 = self.input.LA(3)
14606
14607 if (self.synpred188()) :
14608 alt95 = 1
14609
14610
14611 elif LA95 == 76:
14612 LA95_53 = self.input.LA(3)
14613
14614 if (self.synpred188()) :
14615 alt95 = 1
14616
14617
14618 elif LA95 == 72:
14619 LA95_54 = self.input.LA(3)
14620
14621 if (self.synpred188()) :
14622 alt95 = 1
14623
14624
14625 elif LA95 == 73:
14626 LA95_55 = self.input.LA(3)
14627
14628 if (self.synpred188()) :
14629 alt95 = 1
14630
14631
14632 elif LA95 == 70:
14633 LA95_56 = self.input.LA(3)
14634
14635 if (self.synpred188()) :
14636 alt95 = 1
14637
14638
14639 elif LA95 == 71:
14640 LA95_57 = self.input.LA(3)
14641
14642 if (self.synpred188()) :
14643 alt95 = 1
14644
14645
14646 elif LA95 == 68:
14647 LA95_58 = self.input.LA(3)
14648
14649 if (self.synpred188()) :
14650 alt95 = 1
14651
14652
14653 elif LA95 == 69:
14654 LA95_59 = self.input.LA(3)
14655
14656 if (self.synpred188()) :
14657 alt95 = 1
14658
14659
14660 elif LA95 == 101 or LA95 == 102:
14661 LA95_60 = self.input.LA(3)
14662
14663 if (self.synpred188()) :
14664 alt95 = 1
14665
14666
14667 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14668 LA95_61 = self.input.LA(3)
14669
14670 if (self.synpred188()) :
14671 alt95 = 1
14672
14673
14674 elif LA95 == 95 or LA95 == 96:
14675 LA95_62 = self.input.LA(3)
14676
14677 if (self.synpred188()) :
14678 alt95 = 1
14679
14680
14681 elif LA95 == 77:
14682 LA95_63 = self.input.LA(3)
14683
14684 if (self.synpred188()) :
14685 alt95 = 1
14686
14687
14688 elif LA95 == 94:
14689 LA95_64 = self.input.LA(3)
14690
14691 if (self.synpred188()) :
14692 alt95 = 1
14693
14694
14695 elif LA95 == 93:
14696 LA95_65 = self.input.LA(3)
14697
14698 if (self.synpred188()) :
14699 alt95 = 1
14700
14701
14702 elif LA95 == 92:
14703 LA95_66 = self.input.LA(3)
14704
14705 if (self.synpred188()) :
14706 alt95 = 1
14707
14708
14709 elif LA95 == 91:
14710 LA95_67 = self.input.LA(3)
14711
14712 if (self.synpred188()) :
14713 alt95 = 1
14714
14715
14716 elif LA95 == 90:
14717 LA95_68 = self.input.LA(3)
14718
14719 if (self.synpred188()) :
14720 alt95 = 1
14721
14722
14723 elif LA95 == 27:
14724 LA95_69 = self.input.LA(3)
14725
14726 if (self.synpred188()) :
14727 alt95 = 1
14728
14729
14730 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
14731 LA95_88 = self.input.LA(3)
14732
14733 if (self.synpred188()) :
14734 alt95 = 1
14735
14736
14737
14738 elif LA95 == HEX_LITERAL:
14739 LA95 = self.input.LA(2)
14740 if LA95 == 64:
14741 LA95_89 = self.input.LA(3)
14742
14743 if (self.synpred188()) :
14744 alt95 = 1
14745
14746
14747 elif LA95 == 62:
14748 LA95_90 = self.input.LA(3)
14749
14750 if (self.synpred188()) :
14751 alt95 = 1
14752
14753
14754 elif LA95 == 75:
14755 LA95_91 = self.input.LA(3)
14756
14757 if (self.synpred188()) :
14758 alt95 = 1
14759
14760
14761 elif LA95 == 66:
14762 LA95_92 = self.input.LA(3)
14763
14764 if (self.synpred188()) :
14765 alt95 = 1
14766
14767
14768 elif LA95 == 76:
14769 LA95_93 = self.input.LA(3)
14770
14771 if (self.synpred188()) :
14772 alt95 = 1
14773
14774
14775 elif LA95 == 72:
14776 LA95_94 = self.input.LA(3)
14777
14778 if (self.synpred188()) :
14779 alt95 = 1
14780
14781
14782 elif LA95 == 73:
14783 LA95_95 = self.input.LA(3)
14784
14785 if (self.synpred188()) :
14786 alt95 = 1
14787
14788
14789 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
14790 LA95_96 = self.input.LA(3)
14791
14792 if (self.synpred188()) :
14793 alt95 = 1
14794
14795
14796 elif LA95 == 70:
14797 LA95_97 = self.input.LA(3)
14798
14799 if (self.synpred188()) :
14800 alt95 = 1
14801
14802
14803 elif LA95 == 71:
14804 LA95_98 = self.input.LA(3)
14805
14806 if (self.synpred188()) :
14807 alt95 = 1
14808
14809
14810 elif LA95 == 68:
14811 LA95_99 = self.input.LA(3)
14812
14813 if (self.synpred188()) :
14814 alt95 = 1
14815
14816
14817 elif LA95 == 69:
14818 LA95_100 = self.input.LA(3)
14819
14820 if (self.synpred188()) :
14821 alt95 = 1
14822
14823
14824 elif LA95 == 101 or LA95 == 102:
14825 LA95_101 = self.input.LA(3)
14826
14827 if (self.synpred188()) :
14828 alt95 = 1
14829
14830
14831 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14832 LA95_102 = self.input.LA(3)
14833
14834 if (self.synpred188()) :
14835 alt95 = 1
14836
14837
14838 elif LA95 == 95 or LA95 == 96:
14839 LA95_103 = self.input.LA(3)
14840
14841 if (self.synpred188()) :
14842 alt95 = 1
14843
14844
14845 elif LA95 == 77:
14846 LA95_104 = self.input.LA(3)
14847
14848 if (self.synpred188()) :
14849 alt95 = 1
14850
14851
14852 elif LA95 == 94:
14853 LA95_105 = self.input.LA(3)
14854
14855 if (self.synpred188()) :
14856 alt95 = 1
14857
14858
14859 elif LA95 == 93:
14860 LA95_106 = self.input.LA(3)
14861
14862 if (self.synpred188()) :
14863 alt95 = 1
14864
14865
14866 elif LA95 == 92:
14867 LA95_107 = self.input.LA(3)
14868
14869 if (self.synpred188()) :
14870 alt95 = 1
14871
14872
14873 elif LA95 == 91:
14874 LA95_108 = self.input.LA(3)
14875
14876 if (self.synpred188()) :
14877 alt95 = 1
14878
14879
14880 elif LA95 == 90:
14881 LA95_109 = self.input.LA(3)
14882
14883 if (self.synpred188()) :
14884 alt95 = 1
14885
14886
14887 elif LA95 == 27:
14888 LA95_110 = self.input.LA(3)
14889
14890 if (self.synpred188()) :
14891 alt95 = 1
14892
14893
14894 elif LA95 == 25:
14895 alt95 = 1
14896
14897 elif LA95 == OCTAL_LITERAL:
14898 LA95 = self.input.LA(2)
14899 if LA95 == 64:
14900 LA95_113 = self.input.LA(3)
14901
14902 if (self.synpred188()) :
14903 alt95 = 1
14904
14905
14906 elif LA95 == 62:
14907 LA95_114 = self.input.LA(3)
14908
14909 if (self.synpred188()) :
14910 alt95 = 1
14911
14912
14913 elif LA95 == 75:
14914 LA95_115 = self.input.LA(3)
14915
14916 if (self.synpred188()) :
14917 alt95 = 1
14918
14919
14920 elif LA95 == 66:
14921 LA95_116 = self.input.LA(3)
14922
14923 if (self.synpred188()) :
14924 alt95 = 1
14925
14926
14927 elif LA95 == 76:
14928 LA95_117 = self.input.LA(3)
14929
14930 if (self.synpred188()) :
14931 alt95 = 1
14932
14933
14934 elif LA95 == 72:
14935 LA95_118 = self.input.LA(3)
14936
14937 if (self.synpred188()) :
14938 alt95 = 1
14939
14940
14941 elif LA95 == 73:
14942 LA95_119 = self.input.LA(3)
14943
14944 if (self.synpred188()) :
14945 alt95 = 1
14946
14947
14948 elif LA95 == 70:
14949 LA95_120 = self.input.LA(3)
14950
14951 if (self.synpred188()) :
14952 alt95 = 1
14953
14954
14955 elif LA95 == 71:
14956 LA95_121 = self.input.LA(3)
14957
14958 if (self.synpred188()) :
14959 alt95 = 1
14960
14961
14962 elif LA95 == 68:
14963 LA95_122 = self.input.LA(3)
14964
14965 if (self.synpred188()) :
14966 alt95 = 1
14967
14968
14969 elif LA95 == 69:
14970 LA95_123 = self.input.LA(3)
14971
14972 if (self.synpred188()) :
14973 alt95 = 1
14974
14975
14976 elif LA95 == 101 or LA95 == 102:
14977 LA95_124 = self.input.LA(3)
14978
14979 if (self.synpred188()) :
14980 alt95 = 1
14981
14982
14983 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14984 LA95_125 = self.input.LA(3)
14985
14986 if (self.synpred188()) :
14987 alt95 = 1
14988
14989
14990 elif LA95 == 95 or LA95 == 96:
14991 LA95_126 = self.input.LA(3)
14992
14993 if (self.synpred188()) :
14994 alt95 = 1
14995
14996
14997 elif LA95 == 77:
14998 LA95_127 = self.input.LA(3)
14999
15000 if (self.synpred188()) :
15001 alt95 = 1
15002
15003
15004 elif LA95 == 94:
15005 LA95_128 = self.input.LA(3)
15006
15007 if (self.synpred188()) :
15008 alt95 = 1
15009
15010
15011 elif LA95 == 93:
15012 LA95_129 = self.input.LA(3)
15013
15014 if (self.synpred188()) :
15015 alt95 = 1
15016
15017
15018 elif LA95 == 92:
15019 LA95_130 = self.input.LA(3)
15020
15021 if (self.synpred188()) :
15022 alt95 = 1
15023
15024
15025 elif LA95 == 91:
15026 LA95_131 = self.input.LA(3)
15027
15028 if (self.synpred188()) :
15029 alt95 = 1
15030
15031
15032 elif LA95 == 90:
15033 LA95_132 = self.input.LA(3)
15034
15035 if (self.synpred188()) :
15036 alt95 = 1
15037
15038
15039 elif LA95 == 27:
15040 LA95_133 = self.input.LA(3)
15041
15042 if (self.synpred188()) :
15043 alt95 = 1
15044
15045
15046 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15047 LA95_135 = self.input.LA(3)
15048
15049 if (self.synpred188()) :
15050 alt95 = 1
15051
15052
15053 elif LA95 == 25:
15054 alt95 = 1
15055
15056 elif LA95 == DECIMAL_LITERAL:
15057 LA95 = self.input.LA(2)
15058 if LA95 == 64:
15059 LA95_137 = self.input.LA(3)
15060
15061 if (self.synpred188()) :
15062 alt95 = 1
15063
15064
15065 elif LA95 == 62:
15066 LA95_138 = self.input.LA(3)
15067
15068 if (self.synpred188()) :
15069 alt95 = 1
15070
15071
15072 elif LA95 == 75:
15073 LA95_139 = self.input.LA(3)
15074
15075 if (self.synpred188()) :
15076 alt95 = 1
15077
15078
15079 elif LA95 == 66:
15080 LA95_140 = self.input.LA(3)
15081
15082 if (self.synpred188()) :
15083 alt95 = 1
15084
15085
15086 elif LA95 == 76:
15087 LA95_141 = self.input.LA(3)
15088
15089 if (self.synpred188()) :
15090 alt95 = 1
15091
15092
15093 elif LA95 == 72:
15094 LA95_142 = self.input.LA(3)
15095
15096 if (self.synpred188()) :
15097 alt95 = 1
15098
15099
15100 elif LA95 == 73:
15101 LA95_143 = self.input.LA(3)
15102
15103 if (self.synpred188()) :
15104 alt95 = 1
15105
15106
15107 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15108 LA95_144 = self.input.LA(3)
15109
15110 if (self.synpred188()) :
15111 alt95 = 1
15112
15113
15114 elif LA95 == 70:
15115 LA95_145 = self.input.LA(3)
15116
15117 if (self.synpred188()) :
15118 alt95 = 1
15119
15120
15121 elif LA95 == 71:
15122 LA95_146 = self.input.LA(3)
15123
15124 if (self.synpred188()) :
15125 alt95 = 1
15126
15127
15128 elif LA95 == 68:
15129 LA95_147 = self.input.LA(3)
15130
15131 if (self.synpred188()) :
15132 alt95 = 1
15133
15134
15135 elif LA95 == 69:
15136 LA95_148 = self.input.LA(3)
15137
15138 if (self.synpred188()) :
15139 alt95 = 1
15140
15141
15142 elif LA95 == 101 or LA95 == 102:
15143 LA95_149 = self.input.LA(3)
15144
15145 if (self.synpred188()) :
15146 alt95 = 1
15147
15148
15149 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15150 LA95_150 = self.input.LA(3)
15151
15152 if (self.synpred188()) :
15153 alt95 = 1
15154
15155
15156 elif LA95 == 95 or LA95 == 96:
15157 LA95_151 = self.input.LA(3)
15158
15159 if (self.synpred188()) :
15160 alt95 = 1
15161
15162
15163 elif LA95 == 77:
15164 LA95_152 = self.input.LA(3)
15165
15166 if (self.synpred188()) :
15167 alt95 = 1
15168
15169
15170 elif LA95 == 94:
15171 LA95_153 = self.input.LA(3)
15172
15173 if (self.synpred188()) :
15174 alt95 = 1
15175
15176
15177 elif LA95 == 93:
15178 LA95_154 = self.input.LA(3)
15179
15180 if (self.synpred188()) :
15181 alt95 = 1
15182
15183
15184 elif LA95 == 92:
15185 LA95_155 = self.input.LA(3)
15186
15187 if (self.synpred188()) :
15188 alt95 = 1
15189
15190
15191 elif LA95 == 91:
15192 LA95_156 = self.input.LA(3)
15193
15194 if (self.synpred188()) :
15195 alt95 = 1
15196
15197
15198 elif LA95 == 90:
15199 LA95_157 = self.input.LA(3)
15200
15201 if (self.synpred188()) :
15202 alt95 = 1
15203
15204
15205 elif LA95 == 27:
15206 LA95_158 = self.input.LA(3)
15207
15208 if (self.synpred188()) :
15209 alt95 = 1
15210
15211
15212 elif LA95 == 25:
15213 alt95 = 1
15214
15215 elif LA95 == CHARACTER_LITERAL:
15216 LA95 = self.input.LA(2)
15217 if LA95 == 64:
15218 LA95_161 = self.input.LA(3)
15219
15220 if (self.synpred188()) :
15221 alt95 = 1
15222
15223
15224 elif LA95 == 62:
15225 LA95_162 = self.input.LA(3)
15226
15227 if (self.synpred188()) :
15228 alt95 = 1
15229
15230
15231 elif LA95 == 75:
15232 LA95_163 = self.input.LA(3)
15233
15234 if (self.synpred188()) :
15235 alt95 = 1
15236
15237
15238 elif LA95 == 66:
15239 LA95_164 = self.input.LA(3)
15240
15241 if (self.synpred188()) :
15242 alt95 = 1
15243
15244
15245 elif LA95 == 76:
15246 LA95_165 = self.input.LA(3)
15247
15248 if (self.synpred188()) :
15249 alt95 = 1
15250
15251
15252 elif LA95 == 72:
15253 LA95_166 = self.input.LA(3)
15254
15255 if (self.synpred188()) :
15256 alt95 = 1
15257
15258
15259 elif LA95 == 73:
15260 LA95_167 = self.input.LA(3)
15261
15262 if (self.synpred188()) :
15263 alt95 = 1
15264
15265
15266 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15267 LA95_168 = self.input.LA(3)
15268
15269 if (self.synpred188()) :
15270 alt95 = 1
15271
15272
15273 elif LA95 == 70:
15274 LA95_169 = self.input.LA(3)
15275
15276 if (self.synpred188()) :
15277 alt95 = 1
15278
15279
15280 elif LA95 == 71:
15281 LA95_170 = self.input.LA(3)
15282
15283 if (self.synpred188()) :
15284 alt95 = 1
15285
15286
15287 elif LA95 == 68:
15288 LA95_171 = self.input.LA(3)
15289
15290 if (self.synpred188()) :
15291 alt95 = 1
15292
15293
15294 elif LA95 == 69:
15295 LA95_172 = self.input.LA(3)
15296
15297 if (self.synpred188()) :
15298 alt95 = 1
15299
15300
15301 elif LA95 == 101 or LA95 == 102:
15302 LA95_173 = self.input.LA(3)
15303
15304 if (self.synpred188()) :
15305 alt95 = 1
15306
15307
15308 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15309 LA95_174 = self.input.LA(3)
15310
15311 if (self.synpred188()) :
15312 alt95 = 1
15313
15314
15315 elif LA95 == 95 or LA95 == 96:
15316 LA95_175 = self.input.LA(3)
15317
15318 if (self.synpred188()) :
15319 alt95 = 1
15320
15321
15322 elif LA95 == 77:
15323 LA95_176 = self.input.LA(3)
15324
15325 if (self.synpred188()) :
15326 alt95 = 1
15327
15328
15329 elif LA95 == 94:
15330 LA95_177 = self.input.LA(3)
15331
15332 if (self.synpred188()) :
15333 alt95 = 1
15334
15335
15336 elif LA95 == 93:
15337 LA95_178 = self.input.LA(3)
15338
15339 if (self.synpred188()) :
15340 alt95 = 1
15341
15342
15343 elif LA95 == 92:
15344 LA95_179 = self.input.LA(3)
15345
15346 if (self.synpred188()) :
15347 alt95 = 1
15348
15349
15350 elif LA95 == 91:
15351 LA95_180 = self.input.LA(3)
15352
15353 if (self.synpred188()) :
15354 alt95 = 1
15355
15356
15357 elif LA95 == 90:
15358 LA95_181 = self.input.LA(3)
15359
15360 if (self.synpred188()) :
15361 alt95 = 1
15362
15363
15364 elif LA95 == 27:
15365 LA95_182 = self.input.LA(3)
15366
15367 if (self.synpred188()) :
15368 alt95 = 1
15369
15370
15371 elif LA95 == 25:
15372 alt95 = 1
15373
15374 elif LA95 == STRING_LITERAL:
15375 LA95 = self.input.LA(2)
15376 if LA95 == IDENTIFIER:
15377 LA95_185 = self.input.LA(3)
15378
15379 if (self.synpred188()) :
15380 alt95 = 1
15381
15382
15383 elif LA95 == 64:
15384 LA95_186 = self.input.LA(3)
15385
15386 if (self.synpred188()) :
15387 alt95 = 1
15388
15389
15390 elif LA95 == 62:
15391 LA95_187 = self.input.LA(3)
15392
15393 if (self.synpred188()) :
15394 alt95 = 1
15395
15396
15397 elif LA95 == 75:
15398 LA95_188 = self.input.LA(3)
15399
15400 if (self.synpred188()) :
15401 alt95 = 1
15402
15403
15404 elif LA95 == 66:
15405 LA95_189 = self.input.LA(3)
15406
15407 if (self.synpred188()) :
15408 alt95 = 1
15409
15410
15411 elif LA95 == 76:
15412 LA95_190 = self.input.LA(3)
15413
15414 if (self.synpred188()) :
15415 alt95 = 1
15416
15417
15418 elif LA95 == 72:
15419 LA95_191 = self.input.LA(3)
15420
15421 if (self.synpred188()) :
15422 alt95 = 1
15423
15424
15425 elif LA95 == 73:
15426 LA95_192 = self.input.LA(3)
15427
15428 if (self.synpred188()) :
15429 alt95 = 1
15430
15431
15432 elif LA95 == 70:
15433 LA95_193 = self.input.LA(3)
15434
15435 if (self.synpred188()) :
15436 alt95 = 1
15437
15438
15439 elif LA95 == 71:
15440 LA95_194 = self.input.LA(3)
15441
15442 if (self.synpred188()) :
15443 alt95 = 1
15444
15445
15446 elif LA95 == 68:
15447 LA95_195 = self.input.LA(3)
15448
15449 if (self.synpred188()) :
15450 alt95 = 1
15451
15452
15453 elif LA95 == 69:
15454 LA95_196 = self.input.LA(3)
15455
15456 if (self.synpred188()) :
15457 alt95 = 1
15458
15459
15460 elif LA95 == 101 or LA95 == 102:
15461 LA95_197 = self.input.LA(3)
15462
15463 if (self.synpred188()) :
15464 alt95 = 1
15465
15466
15467 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15468 LA95_198 = self.input.LA(3)
15469
15470 if (self.synpred188()) :
15471 alt95 = 1
15472
15473
15474 elif LA95 == 95 or LA95 == 96:
15475 LA95_199 = self.input.LA(3)
15476
15477 if (self.synpred188()) :
15478 alt95 = 1
15479
15480
15481 elif LA95 == 77:
15482 LA95_200 = self.input.LA(3)
15483
15484 if (self.synpred188()) :
15485 alt95 = 1
15486
15487
15488 elif LA95 == 94:
15489 LA95_201 = self.input.LA(3)
15490
15491 if (self.synpred188()) :
15492 alt95 = 1
15493
15494
15495 elif LA95 == 93:
15496 LA95_202 = self.input.LA(3)
15497
15498 if (self.synpred188()) :
15499 alt95 = 1
15500
15501
15502 elif LA95 == 92:
15503 LA95_203 = self.input.LA(3)
15504
15505 if (self.synpred188()) :
15506 alt95 = 1
15507
15508
15509 elif LA95 == 91:
15510 LA95_204 = self.input.LA(3)
15511
15512 if (self.synpred188()) :
15513 alt95 = 1
15514
15515
15516 elif LA95 == 90:
15517 LA95_205 = self.input.LA(3)
15518
15519 if (self.synpred188()) :
15520 alt95 = 1
15521
15522
15523 elif LA95 == 27:
15524 LA95_206 = self.input.LA(3)
15525
15526 if (self.synpred188()) :
15527 alt95 = 1
15528
15529
15530 elif LA95 == 25:
15531 alt95 = 1
15532 elif LA95 == STRING_LITERAL:
15533 LA95_208 = self.input.LA(3)
15534
15535 if (self.synpred188()) :
15536 alt95 = 1
15537
15538
15539 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15540 LA95_209 = self.input.LA(3)
15541
15542 if (self.synpred188()) :
15543 alt95 = 1
15544
15545
15546
15547 elif LA95 == FLOATING_POINT_LITERAL:
15548 LA95 = self.input.LA(2)
15549 if LA95 == 64:
15550 LA95_211 = self.input.LA(3)
15551
15552 if (self.synpred188()) :
15553 alt95 = 1
15554
15555
15556 elif LA95 == 62:
15557 LA95_212 = self.input.LA(3)
15558
15559 if (self.synpred188()) :
15560 alt95 = 1
15561
15562
15563 elif LA95 == 75:
15564 LA95_213 = self.input.LA(3)
15565
15566 if (self.synpred188()) :
15567 alt95 = 1
15568
15569
15570 elif LA95 == 66:
15571 LA95_214 = self.input.LA(3)
15572
15573 if (self.synpred188()) :
15574 alt95 = 1
15575
15576
15577 elif LA95 == 76:
15578 LA95_215 = self.input.LA(3)
15579
15580 if (self.synpred188()) :
15581 alt95 = 1
15582
15583
15584 elif LA95 == 72:
15585 LA95_216 = self.input.LA(3)
15586
15587 if (self.synpred188()) :
15588 alt95 = 1
15589
15590
15591 elif LA95 == 73:
15592 LA95_217 = self.input.LA(3)
15593
15594 if (self.synpred188()) :
15595 alt95 = 1
15596
15597
15598 elif LA95 == 70:
15599 LA95_218 = self.input.LA(3)
15600
15601 if (self.synpred188()) :
15602 alt95 = 1
15603
15604
15605 elif LA95 == 71:
15606 LA95_219 = self.input.LA(3)
15607
15608 if (self.synpred188()) :
15609 alt95 = 1
15610
15611
15612 elif LA95 == 68:
15613 LA95_220 = self.input.LA(3)
15614
15615 if (self.synpred188()) :
15616 alt95 = 1
15617
15618
15619 elif LA95 == 69:
15620 LA95_221 = self.input.LA(3)
15621
15622 if (self.synpred188()) :
15623 alt95 = 1
15624
15625
15626 elif LA95 == 101 or LA95 == 102:
15627 LA95_222 = self.input.LA(3)
15628
15629 if (self.synpred188()) :
15630 alt95 = 1
15631
15632
15633 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15634 LA95_223 = self.input.LA(3)
15635
15636 if (self.synpred188()) :
15637 alt95 = 1
15638
15639
15640 elif LA95 == 95 or LA95 == 96:
15641 LA95_224 = self.input.LA(3)
15642
15643 if (self.synpred188()) :
15644 alt95 = 1
15645
15646
15647 elif LA95 == 77:
15648 LA95_225 = self.input.LA(3)
15649
15650 if (self.synpred188()) :
15651 alt95 = 1
15652
15653
15654 elif LA95 == 94:
15655 LA95_226 = self.input.LA(3)
15656
15657 if (self.synpred188()) :
15658 alt95 = 1
15659
15660
15661 elif LA95 == 93:
15662 LA95_227 = self.input.LA(3)
15663
15664 if (self.synpred188()) :
15665 alt95 = 1
15666
15667
15668 elif LA95 == 92:
15669 LA95_228 = self.input.LA(3)
15670
15671 if (self.synpred188()) :
15672 alt95 = 1
15673
15674
15675 elif LA95 == 91:
15676 LA95_229 = self.input.LA(3)
15677
15678 if (self.synpred188()) :
15679 alt95 = 1
15680
15681
15682 elif LA95 == 90:
15683 LA95_230 = self.input.LA(3)
15684
15685 if (self.synpred188()) :
15686 alt95 = 1
15687
15688
15689 elif LA95 == 27:
15690 LA95_231 = self.input.LA(3)
15691
15692 if (self.synpred188()) :
15693 alt95 = 1
15694
15695
15696 elif LA95 == 25:
15697 alt95 = 1
15698 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15699 LA95_234 = self.input.LA(3)
15700
15701 if (self.synpred188()) :
15702 alt95 = 1
15703
15704
15705
15706 elif LA95 == 62:
15707 LA95 = self.input.LA(2)
15708 if LA95 == IDENTIFIER:
15709 LA95_235 = self.input.LA(3)
15710
15711 if (self.synpred188()) :
15712 alt95 = 1
15713
15714
15715 elif LA95 == HEX_LITERAL:
15716 LA95_236 = self.input.LA(3)
15717
15718 if (self.synpred188()) :
15719 alt95 = 1
15720
15721
15722 elif LA95 == OCTAL_LITERAL:
15723 LA95_237 = self.input.LA(3)
15724
15725 if (self.synpred188()) :
15726 alt95 = 1
15727
15728
15729 elif LA95 == DECIMAL_LITERAL:
15730 LA95_238 = self.input.LA(3)
15731
15732 if (self.synpred188()) :
15733 alt95 = 1
15734
15735
15736 elif LA95 == CHARACTER_LITERAL:
15737 LA95_239 = self.input.LA(3)
15738
15739 if (self.synpred188()) :
15740 alt95 = 1
15741
15742
15743 elif LA95 == STRING_LITERAL:
15744 LA95_240 = self.input.LA(3)
15745
15746 if (self.synpred188()) :
15747 alt95 = 1
15748
15749
15750 elif LA95 == FLOATING_POINT_LITERAL:
15751 LA95_241 = self.input.LA(3)
15752
15753 if (self.synpred188()) :
15754 alt95 = 1
15755
15756
15757 elif LA95 == 62:
15758 LA95_242 = self.input.LA(3)
15759
15760 if (self.synpred188()) :
15761 alt95 = 1
15762
15763
15764 elif LA95 == 72:
15765 LA95_243 = self.input.LA(3)
15766
15767 if (self.synpred188()) :
15768 alt95 = 1
15769
15770
15771 elif LA95 == 73:
15772 LA95_244 = self.input.LA(3)
15773
15774 if (self.synpred188()) :
15775 alt95 = 1
15776
15777
15778 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15779 LA95_245 = self.input.LA(3)
15780
15781 if (self.synpred188()) :
15782 alt95 = 1
15783
15784
15785 elif LA95 == 74:
15786 LA95_246 = self.input.LA(3)
15787
15788 if (self.synpred188()) :
15789 alt95 = 1
15790
15791
15792 elif LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
15793 LA95_247 = self.input.LA(3)
15794
15795 if (self.synpred188()) :
15796 alt95 = 1
15797
15798
15799 elif LA95 == 34:
15800 LA95_248 = self.input.LA(3)
15801
15802 if (self.synpred188()) :
15803 alt95 = 1
15804
15805
15806 elif LA95 == 35:
15807 LA95_249 = self.input.LA(3)
15808
15809 if (self.synpred188()) :
15810 alt95 = 1
15811
15812
15813 elif LA95 == 36:
15814 LA95_250 = self.input.LA(3)
15815
15816 if (self.synpred188()) :
15817 alt95 = 1
15818
15819
15820 elif LA95 == 37:
15821 LA95_251 = self.input.LA(3)
15822
15823 if (self.synpred188()) :
15824 alt95 = 1
15825
15826
15827 elif LA95 == 38:
15828 LA95_252 = self.input.LA(3)
15829
15830 if (self.synpred188()) :
15831 alt95 = 1
15832
15833
15834 elif LA95 == 39:
15835 LA95_253 = self.input.LA(3)
15836
15837 if (self.synpred188()) :
15838 alt95 = 1
15839
15840
15841 elif LA95 == 40:
15842 LA95_254 = self.input.LA(3)
15843
15844 if (self.synpred188()) :
15845 alt95 = 1
15846
15847
15848 elif LA95 == 41:
15849 LA95_255 = self.input.LA(3)
15850
15851 if (self.synpred188()) :
15852 alt95 = 1
15853
15854
15855 elif LA95 == 42:
15856 LA95_256 = self.input.LA(3)
15857
15858 if (self.synpred188()) :
15859 alt95 = 1
15860
15861
15862 elif LA95 == 45 or LA95 == 46:
15863 LA95_257 = self.input.LA(3)
15864
15865 if (self.synpred188()) :
15866 alt95 = 1
15867
15868
15869 elif LA95 == 48:
15870 LA95_258 = self.input.LA(3)
15871
15872 if (self.synpred188()) :
15873 alt95 = 1
15874
15875
15876
15877 elif LA95 == 72:
15878 LA95 = self.input.LA(2)
15879 if LA95 == IDENTIFIER:
15880 LA95_259 = self.input.LA(3)
15881
15882 if (self.synpred188()) :
15883 alt95 = 1
15884
15885
15886 elif LA95 == HEX_LITERAL:
15887 LA95_260 = self.input.LA(3)
15888
15889 if (self.synpred188()) :
15890 alt95 = 1
15891
15892
15893 elif LA95 == OCTAL_LITERAL:
15894 LA95_261 = self.input.LA(3)
15895
15896 if (self.synpred188()) :
15897 alt95 = 1
15898
15899
15900 elif LA95 == DECIMAL_LITERAL:
15901 LA95_262 = self.input.LA(3)
15902
15903 if (self.synpred188()) :
15904 alt95 = 1
15905
15906
15907 elif LA95 == CHARACTER_LITERAL:
15908 LA95_263 = self.input.LA(3)
15909
15910 if (self.synpred188()) :
15911 alt95 = 1
15912
15913
15914 elif LA95 == STRING_LITERAL:
15915 LA95_264 = self.input.LA(3)
15916
15917 if (self.synpred188()) :
15918 alt95 = 1
15919
15920
15921 elif LA95 == FLOATING_POINT_LITERAL:
15922 LA95_265 = self.input.LA(3)
15923
15924 if (self.synpred188()) :
15925 alt95 = 1
15926
15927
15928 elif LA95 == 62:
15929 LA95_266 = self.input.LA(3)
15930
15931 if (self.synpred188()) :
15932 alt95 = 1
15933
15934
15935 elif LA95 == 72:
15936 LA95_267 = self.input.LA(3)
15937
15938 if (self.synpred188()) :
15939 alt95 = 1
15940
15941
15942 elif LA95 == 73:
15943 LA95_268 = self.input.LA(3)
15944
15945 if (self.synpred188()) :
15946 alt95 = 1
15947
15948
15949 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15950 LA95_269 = self.input.LA(3)
15951
15952 if (self.synpred188()) :
15953 alt95 = 1
15954
15955
15956 elif LA95 == 74:
15957 LA95_270 = self.input.LA(3)
15958
15959 if (self.synpred188()) :
15960 alt95 = 1
15961
15962
15963
15964 elif LA95 == 73:
15965 LA95 = self.input.LA(2)
15966 if LA95 == IDENTIFIER:
15967 LA95_271 = self.input.LA(3)
15968
15969 if (self.synpred188()) :
15970 alt95 = 1
15971
15972
15973 elif LA95 == HEX_LITERAL:
15974 LA95_272 = self.input.LA(3)
15975
15976 if (self.synpred188()) :
15977 alt95 = 1
15978
15979
15980 elif LA95 == OCTAL_LITERAL:
15981 LA95_273 = self.input.LA(3)
15982
15983 if (self.synpred188()) :
15984 alt95 = 1
15985
15986
15987 elif LA95 == DECIMAL_LITERAL:
15988 LA95_274 = self.input.LA(3)
15989
15990 if (self.synpred188()) :
15991 alt95 = 1
15992
15993
15994 elif LA95 == CHARACTER_LITERAL:
15995 LA95_275 = self.input.LA(3)
15996
15997 if (self.synpred188()) :
15998 alt95 = 1
15999
16000
16001 elif LA95 == STRING_LITERAL:
16002 LA95_276 = self.input.LA(3)
16003
16004 if (self.synpred188()) :
16005 alt95 = 1
16006
16007
16008 elif LA95 == FLOATING_POINT_LITERAL:
16009 LA95_277 = self.input.LA(3)
16010
16011 if (self.synpred188()) :
16012 alt95 = 1
16013
16014
16015 elif LA95 == 62:
16016 LA95_278 = self.input.LA(3)
16017
16018 if (self.synpred188()) :
16019 alt95 = 1
16020
16021
16022 elif LA95 == 72:
16023 LA95_279 = self.input.LA(3)
16024
16025 if (self.synpred188()) :
16026 alt95 = 1
16027
16028
16029 elif LA95 == 73:
16030 LA95_280 = self.input.LA(3)
16031
16032 if (self.synpred188()) :
16033 alt95 = 1
16034
16035
16036 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16037 LA95_281 = self.input.LA(3)
16038
16039 if (self.synpred188()) :
16040 alt95 = 1
16041
16042
16043 elif LA95 == 74:
16044 LA95_282 = self.input.LA(3)
16045
16046 if (self.synpred188()) :
16047 alt95 = 1
16048
16049
16050
16051 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16052 LA95 = self.input.LA(2)
16053 if LA95 == 62:
16054 LA95_283 = self.input.LA(3)
16055
16056 if (self.synpred188()) :
16057 alt95 = 1
16058
16059
16060 elif LA95 == IDENTIFIER:
16061 LA95_284 = self.input.LA(3)
16062
16063 if (self.synpred188()) :
16064 alt95 = 1
16065
16066
16067 elif LA95 == HEX_LITERAL:
16068 LA95_285 = self.input.LA(3)
16069
16070 if (self.synpred188()) :
16071 alt95 = 1
16072
16073
16074 elif LA95 == OCTAL_LITERAL:
16075 LA95_286 = self.input.LA(3)
16076
16077 if (self.synpred188()) :
16078 alt95 = 1
16079
16080
16081 elif LA95 == DECIMAL_LITERAL:
16082 LA95_287 = self.input.LA(3)
16083
16084 if (self.synpred188()) :
16085 alt95 = 1
16086
16087
16088 elif LA95 == CHARACTER_LITERAL:
16089 LA95_288 = self.input.LA(3)
16090
16091 if (self.synpred188()) :
16092 alt95 = 1
16093
16094
16095 elif LA95 == STRING_LITERAL:
16096 LA95_289 = self.input.LA(3)
16097
16098 if (self.synpred188()) :
16099 alt95 = 1
16100
16101
16102 elif LA95 == FLOATING_POINT_LITERAL:
16103 LA95_290 = self.input.LA(3)
16104
16105 if (self.synpred188()) :
16106 alt95 = 1
16107
16108
16109 elif LA95 == 72:
16110 LA95_291 = self.input.LA(3)
16111
16112 if (self.synpred188()) :
16113 alt95 = 1
16114
16115
16116 elif LA95 == 73:
16117 LA95_292 = self.input.LA(3)
16118
16119 if (self.synpred188()) :
16120 alt95 = 1
16121
16122
16123 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16124 LA95_293 = self.input.LA(3)
16125
16126 if (self.synpred188()) :
16127 alt95 = 1
16128
16129
16130 elif LA95 == 74:
16131 LA95_294 = self.input.LA(3)
16132
16133 if (self.synpred188()) :
16134 alt95 = 1
16135
16136
16137
16138 elif LA95 == 74:
16139 LA95 = self.input.LA(2)
16140 if LA95 == 62:
16141 LA95_295 = self.input.LA(3)
16142
16143 if (self.synpred188()) :
16144 alt95 = 1
16145
16146
16147 elif LA95 == IDENTIFIER:
16148 LA95_296 = self.input.LA(3)
16149
16150 if (self.synpred188()) :
16151 alt95 = 1
16152
16153
16154 elif LA95 == HEX_LITERAL:
16155 LA95_297 = self.input.LA(3)
16156
16157 if (self.synpred188()) :
16158 alt95 = 1
16159
16160
16161 elif LA95 == OCTAL_LITERAL:
16162 LA95_298 = self.input.LA(3)
16163
16164 if (self.synpred188()) :
16165 alt95 = 1
16166
16167
16168 elif LA95 == DECIMAL_LITERAL:
16169 LA95_299 = self.input.LA(3)
16170
16171 if (self.synpred188()) :
16172 alt95 = 1
16173
16174
16175 elif LA95 == CHARACTER_LITERAL:
16176 LA95_300 = self.input.LA(3)
16177
16178 if (self.synpred188()) :
16179 alt95 = 1
16180
16181
16182 elif LA95 == STRING_LITERAL:
16183 LA95_301 = self.input.LA(3)
16184
16185 if (self.synpred188()) :
16186 alt95 = 1
16187
16188
16189 elif LA95 == FLOATING_POINT_LITERAL:
16190 LA95_302 = self.input.LA(3)
16191
16192 if (self.synpred188()) :
16193 alt95 = 1
16194
16195
16196 elif LA95 == 72:
16197 LA95_303 = self.input.LA(3)
16198
16199 if (self.synpred188()) :
16200 alt95 = 1
16201
16202
16203 elif LA95 == 73:
16204 LA95_304 = self.input.LA(3)
16205
16206 if (self.synpred188()) :
16207 alt95 = 1
16208
16209
16210 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16211 LA95_305 = self.input.LA(3)
16212
16213 if (self.synpred188()) :
16214 alt95 = 1
16215
16216
16217 elif LA95 == 74:
16218 LA95_306 = self.input.LA(3)
16219
16220 if (self.synpred188()) :
16221 alt95 = 1
16222
16223
16224
16225 elif LA95 == 25 or LA95 == 26 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 43 or LA95 == 45 or LA95 == 46 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 108 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116 or LA95 == 117:
16226 alt95 = 1
16227
16228 if alt95 == 1:
16229 # C.g:0:0: statement
16230 self.following.append(self.FOLLOW_statement_in_statement_list2242)
16231 self.statement()
16232 self.following.pop()
16233 if self.failed:
16234 return
16235
16236
16237 else:
16238 if cnt95 >= 1:
16239 break #loop95
16240
16241 if self.backtracking > 0:
16242 self.failed = True
16243 return
16244
16245 eee = EarlyExitException(95, self.input)
16246 raise eee
16247
16248 cnt95 += 1
16249
16250
16251
16252
16253
16254
16255 except RecognitionException as re:
16256 self.reportError(re)
16257 self.recover(self.input, re)
16258 finally:
16259 if self.backtracking > 0:
16260 self.memoize(self.input, 67, statement_list_StartIndex)
16261
16262 pass
16263
16264 return
16265
16266 # $ANTLR end statement_list
16267
16268 class expression_statement_return(object):
16269 def __init__(self):
16270 self.start = None
16271 self.stop = None
16272
16273
16274
16275 # $ANTLR start expression_statement
16276 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16277 def expression_statement(self, ):
16278
16279 retval = self.expression_statement_return()
16280 retval.start = self.input.LT(1)
16281 expression_statement_StartIndex = self.input.index()
16282 try:
16283 try:
16284 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
16285 return retval
16286
16287 # C.g:562:2: ( ';' | expression ';' )
16288 alt96 = 2
16289 LA96_0 = self.input.LA(1)
16290
16291 if (LA96_0 == 25) :
16292 alt96 = 1
16293 elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 62 or LA96_0 == 66 or (68 <= LA96_0 <= 69) or (72 <= LA96_0 <= 74) or (77 <= LA96_0 <= 79)) :
16294 alt96 = 2
16295 else:
16296 if self.backtracking > 0:
16297 self.failed = True
16298 return retval
16299
16300 nvae = NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
16301
16302 raise nvae
16303
16304 if alt96 == 1:
16305 # C.g:562:4: ';'
16306 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2254)
16307 if self.failed:
16308 return retval
16309
16310
16311 elif alt96 == 2:
16312 # C.g:563:4: expression ';'
16313 self.following.append(self.FOLLOW_expression_in_expression_statement2259)
16314 self.expression()
16315 self.following.pop()
16316 if self.failed:
16317 return retval
16318 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2261)
16319 if self.failed:
16320 return retval
16321
16322
16323 retval.stop = self.input.LT(-1)
16324
16325
16326 except RecognitionException as re:
16327 self.reportError(re)
16328 self.recover(self.input, re)
16329 finally:
16330 if self.backtracking > 0:
16331 self.memoize(self.input, 68, expression_statement_StartIndex)
16332
16333 pass
16334
16335 return retval
16336
16337 # $ANTLR end expression_statement
16338
16339
16340 # $ANTLR start selection_statement
16341 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16342 def selection_statement(self, ):
16343
16344 selection_statement_StartIndex = self.input.index()
16345 e = None
16346
16347
16348 try:
16349 try:
16350 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
16351 return
16352
16353 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16354 alt98 = 2
16355 LA98_0 = self.input.LA(1)
16356
16357 if (LA98_0 == 108) :
16358 alt98 = 1
16359 elif (LA98_0 == 110) :
16360 alt98 = 2
16361 else:
16362 if self.backtracking > 0:
16363 self.failed = True
16364 return
16365
16366 nvae = NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input)
16367
16368 raise nvae
16369
16370 if alt98 == 1:
16371 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16372 self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2272)
16373 if self.failed:
16374 return
16375 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2274)
16376 if self.failed:
16377 return
16378 self.following.append(self.FOLLOW_expression_in_selection_statement2278)
16379 e = self.expression()
16380 self.following.pop()
16381 if self.failed:
16382 return
16383 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2280)
16384 if self.failed:
16385 return
16386 if self.backtracking == 0:
16387 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16388
16389 self.following.append(self.FOLLOW_statement_in_selection_statement2284)
16390 self.statement()
16391 self.following.pop()
16392 if self.failed:
16393 return
16394 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16395 alt97 = 2
16396 LA97_0 = self.input.LA(1)
16397
16398 if (LA97_0 == 109) :
16399 alt97 = 1
16400 if alt97 == 1:
16401 # C.g:567:200: 'else' statement
16402 self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2299)
16403 if self.failed:
16404 return
16405 self.following.append(self.FOLLOW_statement_in_selection_statement2301)
16406 self.statement()
16407 self.following.pop()
16408 if self.failed:
16409 return
16410
16411
16412
16413
16414
16415 elif alt98 == 2:
16416 # C.g:568:4: 'switch' '(' expression ')' statement
16417 self.match(self.input, 110, self.FOLLOW_110_in_selection_statement2308)
16418 if self.failed:
16419 return
16420 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2310)
16421 if self.failed:
16422 return
16423 self.following.append(self.FOLLOW_expression_in_selection_statement2312)
16424 self.expression()
16425 self.following.pop()
16426 if self.failed:
16427 return
16428 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314)
16429 if self.failed:
16430 return
16431 self.following.append(self.FOLLOW_statement_in_selection_statement2316)
16432 self.statement()
16433 self.following.pop()
16434 if self.failed:
16435 return
16436
16437
16438
16439 except RecognitionException as re:
16440 self.reportError(re)
16441 self.recover(self.input, re)
16442 finally:
16443 if self.backtracking > 0:
16444 self.memoize(self.input, 69, selection_statement_StartIndex)
16445
16446 pass
16447
16448 return
16449
16450 # $ANTLR end selection_statement
16451
16452
16453 # $ANTLR start iteration_statement
16454 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16455 def iteration_statement(self, ):
16456
16457 iteration_statement_StartIndex = self.input.index()
16458 e = None
16459
16460
16461 try:
16462 try:
16463 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
16464 return
16465
16466 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16467 alt100 = 3
16468 LA100 = self.input.LA(1)
16469 if LA100 == 111:
16470 alt100 = 1
16471 elif LA100 == 112:
16472 alt100 = 2
16473 elif LA100 == 113:
16474 alt100 = 3
16475 else:
16476 if self.backtracking > 0:
16477 self.failed = True
16478 return
16479
16480 nvae = NoViableAltException("571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input)
16481
16482 raise nvae
16483
16484 if alt100 == 1:
16485 # C.g:572:4: 'while' '(' e= expression ')' statement
16486 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2327)
16487 if self.failed:
16488 return
16489 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2329)
16490 if self.failed:
16491 return
16492 self.following.append(self.FOLLOW_expression_in_iteration_statement2333)
16493 e = self.expression()
16494 self.following.pop()
16495 if self.failed:
16496 return
16497 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335)
16498 if self.failed:
16499 return
16500 self.following.append(self.FOLLOW_statement_in_iteration_statement2337)
16501 self.statement()
16502 self.following.pop()
16503 if self.failed:
16504 return
16505 if self.backtracking == 0:
16506 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16507
16508
16509
16510 elif alt100 == 2:
16511 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16512 self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2344)
16513 if self.failed:
16514 return
16515 self.following.append(self.FOLLOW_statement_in_iteration_statement2346)
16516 self.statement()
16517 self.following.pop()
16518 if self.failed:
16519 return
16520 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348)
16521 if self.failed:
16522 return
16523 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350)
16524 if self.failed:
16525 return
16526 self.following.append(self.FOLLOW_expression_in_iteration_statement2354)
16527 e = self.expression()
16528 self.following.pop()
16529 if self.failed:
16530 return
16531 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2356)
16532 if self.failed:
16533 return
16534 self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2358)
16535 if self.failed:
16536 return
16537 if self.backtracking == 0:
16538 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16539
16540
16541
16542 elif alt100 == 3:
16543 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16544 self.match(self.input, 113, self.FOLLOW_113_in_iteration_statement2365)
16545 if self.failed:
16546 return
16547 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2367)
16548 if self.failed:
16549 return
16550 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2369)
16551 self.expression_statement()
16552 self.following.pop()
16553 if self.failed:
16554 return
16555 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2373)
16556 e = self.expression_statement()
16557 self.following.pop()
16558 if self.failed:
16559 return
16560 # C.g:574:58: ( expression )?
16561 alt99 = 2
16562 LA99_0 = self.input.LA(1)
16563
16564 if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 62 or LA99_0 == 66 or (68 <= LA99_0 <= 69) or (72 <= LA99_0 <= 74) or (77 <= LA99_0 <= 79)) :
16565 alt99 = 1
16566 if alt99 == 1:
16567 # C.g:0:0: expression
16568 self.following.append(self.FOLLOW_expression_in_iteration_statement2375)
16569 self.expression()
16570 self.following.pop()
16571 if self.failed:
16572 return
16573
16574
16575
16576 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378)
16577 if self.failed:
16578 return
16579 self.following.append(self.FOLLOW_statement_in_iteration_statement2380)
16580 self.statement()
16581 self.following.pop()
16582 if self.failed:
16583 return
16584 if self.backtracking == 0:
16585 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))
16586
16587
16588
16589
16590 except RecognitionException as re:
16591 self.reportError(re)
16592 self.recover(self.input, re)
16593 finally:
16594 if self.backtracking > 0:
16595 self.memoize(self.input, 70, iteration_statement_StartIndex)
16596
16597 pass
16598
16599 return
16600
16601 # $ANTLR end iteration_statement
16602
16603
16604 # $ANTLR start jump_statement
16605 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16606 def jump_statement(self, ):
16607
16608 jump_statement_StartIndex = self.input.index()
16609 try:
16610 try:
16611 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
16612 return
16613
16614 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16615 alt101 = 5
16616 LA101 = self.input.LA(1)
16617 if LA101 == 114:
16618 alt101 = 1
16619 elif LA101 == 115:
16620 alt101 = 2
16621 elif LA101 == 116:
16622 alt101 = 3
16623 elif LA101 == 117:
16624 LA101_4 = self.input.LA(2)
16625
16626 if (LA101_4 == 25) :
16627 alt101 = 4
16628 elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 62 or LA101_4 == 66 or (68 <= LA101_4 <= 69) or (72 <= LA101_4 <= 74) or (77 <= LA101_4 <= 79)) :
16629 alt101 = 5
16630 else:
16631 if self.backtracking > 0:
16632 self.failed = True
16633 return
16634
16635 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
16636
16637 raise nvae
16638
16639 else:
16640 if self.backtracking > 0:
16641 self.failed = True
16642 return
16643
16644 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
16645
16646 raise nvae
16647
16648 if alt101 == 1:
16649 # C.g:578:4: 'goto' IDENTIFIER ';'
16650 self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2393)
16651 if self.failed:
16652 return
16653 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2395)
16654 if self.failed:
16655 return
16656 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397)
16657 if self.failed:
16658 return
16659
16660
16661 elif alt101 == 2:
16662 # C.g:579:4: 'continue' ';'
16663 self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2402)
16664 if self.failed:
16665 return
16666 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2404)
16667 if self.failed:
16668 return
16669
16670
16671 elif alt101 == 3:
16672 # C.g:580:4: 'break' ';'
16673 self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2409)
16674 if self.failed:
16675 return
16676 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2411)
16677 if self.failed:
16678 return
16679
16680
16681 elif alt101 == 4:
16682 # C.g:581:4: 'return' ';'
16683 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2416)
16684 if self.failed:
16685 return
16686 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2418)
16687 if self.failed:
16688 return
16689
16690
16691 elif alt101 == 5:
16692 # C.g:582:4: 'return' expression ';'
16693 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2423)
16694 if self.failed:
16695 return
16696 self.following.append(self.FOLLOW_expression_in_jump_statement2425)
16697 self.expression()
16698 self.following.pop()
16699 if self.failed:
16700 return
16701 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427)
16702 if self.failed:
16703 return
16704
16705
16706
16707 except RecognitionException as re:
16708 self.reportError(re)
16709 self.recover(self.input, re)
16710 finally:
16711 if self.backtracking > 0:
16712 self.memoize(self.input, 71, jump_statement_StartIndex)
16713
16714 pass
16715
16716 return
16717
16718 # $ANTLR end jump_statement
16719
16720 # $ANTLR start synpred2
16721 def synpred2_fragment(self, ):
16722 # C.g:119:6: ( declaration_specifiers )
16723 # C.g:119:6: declaration_specifiers
16724 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred2100)
16725 self.declaration_specifiers()
16726 self.following.pop()
16727 if self.failed:
16728 return
16729
16730
16731 # $ANTLR end synpred2
16732
16733
16734
16735 # $ANTLR start synpred4
16736 def synpred4_fragment(self, ):
16737 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16738 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16739 # C.g:119:6: ( declaration_specifiers )?
16740 alt102 = 2
16741 LA102 = self.input.LA(1)
16742 if LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33 or LA102 == 34 or LA102 == 35 or LA102 == 36 or LA102 == 37 or LA102 == 38 or LA102 == 39 or LA102 == 40 or LA102 == 41 or LA102 == 42 or LA102 == 45 or LA102 == 46 or LA102 == 48 or LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
16743 alt102 = 1
16744 elif LA102 == IDENTIFIER:
16745 LA102 = self.input.LA(2)
16746 if LA102 == 62:
16747 LA102_21 = self.input.LA(3)
16748
16749 if (self.synpred2()) :
16750 alt102 = 1
16751 elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33:
16752 LA102_23 = self.input.LA(3)
16753
16754 if (self.synpred2()) :
16755 alt102 = 1
16756 elif LA102 == 34:
16757 LA102_24 = self.input.LA(3)
16758
16759 if (self.synpred2()) :
16760 alt102 = 1
16761 elif LA102 == 35:
16762 LA102_25 = self.input.LA(3)
16763
16764 if (self.synpred2()) :
16765 alt102 = 1
16766 elif LA102 == 36:
16767 LA102_26 = self.input.LA(3)
16768
16769 if (self.synpred2()) :
16770 alt102 = 1
16771 elif LA102 == 37:
16772 LA102_27 = self.input.LA(3)
16773
16774 if (self.synpred2()) :
16775 alt102 = 1
16776 elif LA102 == 38:
16777 LA102_28 = self.input.LA(3)
16778
16779 if (self.synpred2()) :
16780 alt102 = 1
16781 elif LA102 == 39:
16782 LA102_29 = self.input.LA(3)
16783
16784 if (self.synpred2()) :
16785 alt102 = 1
16786 elif LA102 == 40:
16787 LA102_30 = self.input.LA(3)
16788
16789 if (self.synpred2()) :
16790 alt102 = 1
16791 elif LA102 == 41:
16792 LA102_31 = self.input.LA(3)
16793
16794 if (self.synpred2()) :
16795 alt102 = 1
16796 elif LA102 == 42:
16797 LA102_32 = self.input.LA(3)
16798
16799 if (self.synpred2()) :
16800 alt102 = 1
16801 elif LA102 == 45 or LA102 == 46:
16802 LA102_33 = self.input.LA(3)
16803
16804 if (self.synpred2()) :
16805 alt102 = 1
16806 elif LA102 == 48:
16807 LA102_34 = self.input.LA(3)
16808
16809 if (self.synpred2()) :
16810 alt102 = 1
16811 elif LA102 == IDENTIFIER:
16812 LA102_35 = self.input.LA(3)
16813
16814 if (self.synpred2()) :
16815 alt102 = 1
16816 elif LA102 == 58:
16817 LA102_36 = self.input.LA(3)
16818
16819 if (self.synpred2()) :
16820 alt102 = 1
16821 elif LA102 == 66:
16822 alt102 = 1
16823 elif LA102 == 59:
16824 LA102_39 = self.input.LA(3)
16825
16826 if (self.synpred2()) :
16827 alt102 = 1
16828 elif LA102 == 60:
16829 LA102_40 = self.input.LA(3)
16830
16831 if (self.synpred2()) :
16832 alt102 = 1
16833 elif LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
16834 LA102_41 = self.input.LA(3)
16835
16836 if (self.synpred2()) :
16837 alt102 = 1
16838 elif LA102 == 58:
16839 LA102_14 = self.input.LA(2)
16840
16841 if (self.synpred2()) :
16842 alt102 = 1
16843 elif LA102 == 59:
16844 LA102_16 = self.input.LA(2)
16845
16846 if (self.synpred2()) :
16847 alt102 = 1
16848 elif LA102 == 60:
16849 LA102_17 = self.input.LA(2)
16850
16851 if (self.synpred2()) :
16852 alt102 = 1
16853 if alt102 == 1:
16854 # C.g:0:0: declaration_specifiers
16855 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100)
16856 self.declaration_specifiers()
16857 self.following.pop()
16858 if self.failed:
16859 return
16860
16861
16862
16863 self.following.append(self.FOLLOW_declarator_in_synpred4103)
16864 self.declarator()
16865 self.following.pop()
16866 if self.failed:
16867 return
16868 # C.g:119:41: ( declaration )*
16869 while True: #loop103
16870 alt103 = 2
16871 LA103_0 = self.input.LA(1)
16872
16873 if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 61)) :
16874 alt103 = 1
16875
16876
16877 if alt103 == 1:
16878 # C.g:0:0: declaration
16879 self.following.append(self.FOLLOW_declaration_in_synpred4105)
16880 self.declaration()
16881 self.following.pop()
16882 if self.failed:
16883 return
16884
16885
16886 else:
16887 break #loop103
16888
16889
16890 self.match(self.input, 43, self.FOLLOW_43_in_synpred4108)
16891 if self.failed:
16892 return
16893
16894
16895 # $ANTLR end synpred4
16896
16897
16898
16899 # $ANTLR start synpred5
16900 def synpred5_fragment(self, ):
16901 # C.g:120:4: ( declaration )
16902 # C.g:120:4: declaration
16903 self.following.append(self.FOLLOW_declaration_in_synpred5118)
16904 self.declaration()
16905 self.following.pop()
16906 if self.failed:
16907 return
16908
16909
16910 # $ANTLR end synpred5
16911
16912
16913
16914 # $ANTLR start synpred7
16915 def synpred7_fragment(self, ):
16916 # C.g:146:6: ( declaration_specifiers )
16917 # C.g:146:6: declaration_specifiers
16918 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7157)
16919 self.declaration_specifiers()
16920 self.following.pop()
16921 if self.failed:
16922 return
16923
16924
16925 # $ANTLR end synpred7
16926
16927
16928
16929 # $ANTLR start synpred10
16930 def synpred10_fragment(self, ):
16931 # C.g:167:18: ( declaration_specifiers )
16932 # C.g:167:18: declaration_specifiers
16933 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10207)
16934 self.declaration_specifiers()
16935 self.following.pop()
16936 if self.failed:
16937 return
16938
16939
16940 # $ANTLR end synpred10
16941
16942
16943
16944 # $ANTLR start synpred14
16945 def synpred14_fragment(self, ):
16946 # C.g:184:7: ( type_specifier )
16947 # C.g:184:7: type_specifier
16948 self.following.append(self.FOLLOW_type_specifier_in_synpred14272)
16949 self.type_specifier()
16950 self.following.pop()
16951 if self.failed:
16952 return
16953
16954
16955 # $ANTLR end synpred14
16956
16957
16958
16959 # $ANTLR start synpred15
16960 def synpred15_fragment(self, ):
16961 # C.g:185:13: ( type_qualifier )
16962 # C.g:185:13: type_qualifier
16963 self.following.append(self.FOLLOW_type_qualifier_in_synpred15286)
16964 self.type_qualifier()
16965 self.following.pop()
16966 if self.failed:
16967 return
16968
16969
16970 # $ANTLR end synpred15
16971
16972
16973
16974 # $ANTLR start synpred33
16975 def synpred33_fragment(self, ):
16976 # C.g:225:16: ( type_qualifier )
16977 # C.g:225:16: type_qualifier
16978 self.following.append(self.FOLLOW_type_qualifier_in_synpred33444)
16979 self.type_qualifier()
16980 self.following.pop()
16981 if self.failed:
16982 return
16983
16984
16985 # $ANTLR end synpred33
16986
16987
16988
16989 # $ANTLR start synpred34
16990 def synpred34_fragment(self, ):
16991 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16992 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16993 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34442)
16994 if self.failed:
16995 return
16996 # C.g:225:16: ( type_qualifier )*
16997 while True: #loop106
16998 alt106 = 2
16999 LA106 = self.input.LA(1)
17000 if LA106 == 58:
17001 LA106_2 = self.input.LA(2)
17002
17003 if (self.synpred33()) :
17004 alt106 = 1
17005
17006
17007 elif LA106 == 59:
17008 LA106_3 = self.input.LA(2)
17009
17010 if (self.synpred33()) :
17011 alt106 = 1
17012
17013
17014 elif LA106 == 60:
17015 LA106_4 = self.input.LA(2)
17016
17017 if (self.synpred33()) :
17018 alt106 = 1
17019
17020
17021 elif LA106 == 49 or LA106 == 50 or LA106 == 51 or LA106 == 52 or LA106 == 53 or LA106 == 54 or LA106 == 55 or LA106 == 56 or LA106 == 57 or LA106 == 61:
17022 alt106 = 1
17023
17024 if alt106 == 1:
17025 # C.g:0:0: type_qualifier
17026 self.following.append(self.FOLLOW_type_qualifier_in_synpred34444)
17027 self.type_qualifier()
17028 self.following.pop()
17029 if self.failed:
17030 return
17031
17032
17033 else:
17034 break #loop106
17035
17036
17037 self.following.append(self.FOLLOW_declarator_in_synpred34447)
17038 self.declarator()
17039 self.following.pop()
17040 if self.failed:
17041 return
17042
17043
17044 # $ANTLR end synpred34
17045
17046
17047
17048 # $ANTLR start synpred39
17049 def synpred39_fragment(self, ):
17050 # C.g:253:6: ( type_qualifier )
17051 # C.g:253:6: type_qualifier
17052 self.following.append(self.FOLLOW_type_qualifier_in_synpred39566)
17053 self.type_qualifier()
17054 self.following.pop()
17055 if self.failed:
17056 return
17057
17058
17059 # $ANTLR end synpred39
17060
17061
17062
17063 # $ANTLR start synpred40
17064 def synpred40_fragment(self, ):
17065 # C.g:253:23: ( type_specifier )
17066 # C.g:253:23: type_specifier
17067 self.following.append(self.FOLLOW_type_specifier_in_synpred40570)
17068 self.type_specifier()
17069 self.following.pop()
17070 if self.failed:
17071 return
17072
17073
17074 # $ANTLR end synpred40
17075
17076
17077
17078 # $ANTLR start synpred66
17079 def synpred66_fragment(self, ):
17080 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17081 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17082 # C.g:297:4: ( pointer )?
17083 alt111 = 2
17084 LA111_0 = self.input.LA(1)
17085
17086 if (LA111_0 == 66) :
17087 alt111 = 1
17088 if alt111 == 1:
17089 # C.g:0:0: pointer
17090 self.following.append(self.FOLLOW_pointer_in_synpred66784)
17091 self.pointer()
17092 self.following.pop()
17093 if self.failed:
17094 return
17095
17096
17097
17098 # C.g:297:13: ( 'EFIAPI' )?
17099 alt112 = 2
17100 LA112_0 = self.input.LA(1)
17101
17102 if (LA112_0 == 58) :
17103 alt112 = 1
17104 if alt112 == 1:
17105 # C.g:297:14: 'EFIAPI'
17106 self.match(self.input, 58, self.FOLLOW_58_in_synpred66788)
17107 if self.failed:
17108 return
17109
17110
17111
17112 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17113 alt113 = 2
17114 LA113_0 = self.input.LA(1)
17115
17116 if (LA113_0 == 59) :
17117 alt113 = 1
17118 if alt113 == 1:
17119 # C.g:297:26: 'EFI_BOOTSERVICE'
17120 self.match(self.input, 59, self.FOLLOW_59_in_synpred66793)
17121 if self.failed:
17122 return
17123
17124
17125
17126 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17127 alt114 = 2
17128 LA114_0 = self.input.LA(1)
17129
17130 if (LA114_0 == 60) :
17131 alt114 = 1
17132 if alt114 == 1:
17133 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17134 self.match(self.input, 60, self.FOLLOW_60_in_synpred66798)
17135 if self.failed:
17136 return
17137
17138
17139
17140 self.following.append(self.FOLLOW_direct_declarator_in_synpred66802)
17141 self.direct_declarator()
17142 self.following.pop()
17143 if self.failed:
17144 return
17145
17146
17147 # $ANTLR end synpred66
17148
17149
17150
17151 # $ANTLR start synpred67
17152 def synpred67_fragment(self, ):
17153 # C.g:303:15: ( declarator_suffix )
17154 # C.g:303:15: declarator_suffix
17155 self.following.append(self.FOLLOW_declarator_suffix_in_synpred67821)
17156 self.declarator_suffix()
17157 self.following.pop()
17158 if self.failed:
17159 return
17160
17161
17162 # $ANTLR end synpred67
17163
17164
17165
17166 # $ANTLR start synpred69
17167 def synpred69_fragment(self, ):
17168 # C.g:304:9: ( 'EFIAPI' )
17169 # C.g:304:9: 'EFIAPI'
17170 self.match(self.input, 58, self.FOLLOW_58_in_synpred69830)
17171 if self.failed:
17172 return
17173
17174
17175 # $ANTLR end synpred69
17176
17177
17178
17179 # $ANTLR start synpred70
17180 def synpred70_fragment(self, ):
17181 # C.g:304:35: ( declarator_suffix )
17182 # C.g:304:35: declarator_suffix
17183 self.following.append(self.FOLLOW_declarator_suffix_in_synpred70838)
17184 self.declarator_suffix()
17185 self.following.pop()
17186 if self.failed:
17187 return
17188
17189
17190 # $ANTLR end synpred70
17191
17192
17193
17194 # $ANTLR start synpred73
17195 def synpred73_fragment(self, ):
17196 # C.g:310:9: ( '(' parameter_type_list ')' )
17197 # C.g:310:9: '(' parameter_type_list ')'
17198 self.match(self.input, 62, self.FOLLOW_62_in_synpred73878)
17199 if self.failed:
17200 return
17201 self.following.append(self.FOLLOW_parameter_type_list_in_synpred73880)
17202 self.parameter_type_list()
17203 self.following.pop()
17204 if self.failed:
17205 return
17206 self.match(self.input, 63, self.FOLLOW_63_in_synpred73882)
17207 if self.failed:
17208 return
17209
17210
17211 # $ANTLR end synpred73
17212
17213
17214
17215 # $ANTLR start synpred74
17216 def synpred74_fragment(self, ):
17217 # C.g:311:9: ( '(' identifier_list ')' )
17218 # C.g:311:9: '(' identifier_list ')'
17219 self.match(self.input, 62, self.FOLLOW_62_in_synpred74892)
17220 if self.failed:
17221 return
17222 self.following.append(self.FOLLOW_identifier_list_in_synpred74894)
17223 self.identifier_list()
17224 self.following.pop()
17225 if self.failed:
17226 return
17227 self.match(self.input, 63, self.FOLLOW_63_in_synpred74896)
17228 if self.failed:
17229 return
17230
17231
17232 # $ANTLR end synpred74
17233
17234
17235
17236 # $ANTLR start synpred75
17237 def synpred75_fragment(self, ):
17238 # C.g:316:8: ( type_qualifier )
17239 # C.g:316:8: type_qualifier
17240 self.following.append(self.FOLLOW_type_qualifier_in_synpred75921)
17241 self.type_qualifier()
17242 self.following.pop()
17243 if self.failed:
17244 return
17245
17246
17247 # $ANTLR end synpred75
17248
17249
17250
17251 # $ANTLR start synpred76
17252 def synpred76_fragment(self, ):
17253 # C.g:316:24: ( pointer )
17254 # C.g:316:24: pointer
17255 self.following.append(self.FOLLOW_pointer_in_synpred76924)
17256 self.pointer()
17257 self.following.pop()
17258 if self.failed:
17259 return
17260
17261
17262 # $ANTLR end synpred76
17263
17264
17265
17266 # $ANTLR start synpred77
17267 def synpred77_fragment(self, ):
17268 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17269 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17270 self.match(self.input, 66, self.FOLLOW_66_in_synpred77919)
17271 if self.failed:
17272 return
17273 # C.g:316:8: ( type_qualifier )+
17274 cnt116 = 0
17275 while True: #loop116
17276 alt116 = 2
17277 LA116_0 = self.input.LA(1)
17278
17279 if ((49 <= LA116_0 <= 61)) :
17280 alt116 = 1
17281
17282
17283 if alt116 == 1:
17284 # C.g:0:0: type_qualifier
17285 self.following.append(self.FOLLOW_type_qualifier_in_synpred77921)
17286 self.type_qualifier()
17287 self.following.pop()
17288 if self.failed:
17289 return
17290
17291
17292 else:
17293 if cnt116 >= 1:
17294 break #loop116
17295
17296 if self.backtracking > 0:
17297 self.failed = True
17298 return
17299
17300 eee = EarlyExitException(116, self.input)
17301 raise eee
17302
17303 cnt116 += 1
17304
17305
17306 # C.g:316:24: ( pointer )?
17307 alt117 = 2
17308 LA117_0 = self.input.LA(1)
17309
17310 if (LA117_0 == 66) :
17311 alt117 = 1
17312 if alt117 == 1:
17313 # C.g:0:0: pointer
17314 self.following.append(self.FOLLOW_pointer_in_synpred77924)
17315 self.pointer()
17316 self.following.pop()
17317 if self.failed:
17318 return
17319
17320
17321
17322
17323
17324 # $ANTLR end synpred77
17325
17326
17327
17328 # $ANTLR start synpred78
17329 def synpred78_fragment(self, ):
17330 # C.g:317:4: ( '*' pointer )
17331 # C.g:317:4: '*' pointer
17332 self.match(self.input, 66, self.FOLLOW_66_in_synpred78930)
17333 if self.failed:
17334 return
17335 self.following.append(self.FOLLOW_pointer_in_synpred78932)
17336 self.pointer()
17337 self.following.pop()
17338 if self.failed:
17339 return
17340
17341
17342 # $ANTLR end synpred78
17343
17344
17345
17346 # $ANTLR start synpred81
17347 def synpred81_fragment(self, ):
17348 # C.g:326:32: ( 'OPTIONAL' )
17349 # C.g:326:32: 'OPTIONAL'
17350 self.match(self.input, 53, self.FOLLOW_53_in_synpred81977)
17351 if self.failed:
17352 return
17353
17354
17355 # $ANTLR end synpred81
17356
17357
17358
17359 # $ANTLR start synpred82
17360 def synpred82_fragment(self, ):
17361 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17362 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17363 self.match(self.input, 27, self.FOLLOW_27_in_synpred82974)
17364 if self.failed:
17365 return
17366 # C.g:326:31: ( 'OPTIONAL' )?
17367 alt119 = 2
17368 LA119_0 = self.input.LA(1)
17369
17370 if (LA119_0 == 53) :
17371 LA119_1 = self.input.LA(2)
17372
17373 if (self.synpred81()) :
17374 alt119 = 1
17375 if alt119 == 1:
17376 # C.g:326:32: 'OPTIONAL'
17377 self.match(self.input, 53, self.FOLLOW_53_in_synpred82977)
17378 if self.failed:
17379 return
17380
17381
17382
17383 self.following.append(self.FOLLOW_parameter_declaration_in_synpred82981)
17384 self.parameter_declaration()
17385 self.following.pop()
17386 if self.failed:
17387 return
17388
17389
17390 # $ANTLR end synpred82
17391
17392
17393
17394 # $ANTLR start synpred83
17395 def synpred83_fragment(self, ):
17396 # C.g:330:28: ( declarator )
17397 # C.g:330:28: declarator
17398 self.following.append(self.FOLLOW_declarator_in_synpred83997)
17399 self.declarator()
17400 self.following.pop()
17401 if self.failed:
17402 return
17403
17404
17405 # $ANTLR end synpred83
17406
17407
17408
17409 # $ANTLR start synpred84
17410 def synpred84_fragment(self, ):
17411 # C.g:330:39: ( abstract_declarator )
17412 # C.g:330:39: abstract_declarator
17413 self.following.append(self.FOLLOW_abstract_declarator_in_synpred84999)
17414 self.abstract_declarator()
17415 self.following.pop()
17416 if self.failed:
17417 return
17418
17419
17420 # $ANTLR end synpred84
17421
17422
17423
17424 # $ANTLR start synpred86
17425 def synpred86_fragment(self, ):
17426 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17427 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17428 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred86994)
17429 self.declaration_specifiers()
17430 self.following.pop()
17431 if self.failed:
17432 return
17433 # C.g:330:27: ( declarator | abstract_declarator )*
17434 while True: #loop120
17435 alt120 = 3
17436 LA120 = self.input.LA(1)
17437 if LA120 == 66:
17438 LA120_3 = self.input.LA(2)
17439
17440 if (self.synpred83()) :
17441 alt120 = 1
17442 elif (self.synpred84()) :
17443 alt120 = 2
17444
17445
17446 elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
17447 alt120 = 1
17448 elif LA120 == 62:
17449 LA120 = self.input.LA(2)
17450 if LA120 == 29 or LA120 == 30 or LA120 == 31 or LA120 == 32 or LA120 == 33 or LA120 == 34 or LA120 == 35 or LA120 == 36 or LA120 == 37 or LA120 == 38 or LA120 == 39 or LA120 == 40 or LA120 == 41 or LA120 == 42 or LA120 == 45 or LA120 == 46 or LA120 == 48 or LA120 == 49 or LA120 == 50 or LA120 == 51 or LA120 == 52 or LA120 == 53 or LA120 == 54 or LA120 == 55 or LA120 == 56 or LA120 == 57 or LA120 == 61 or LA120 == 63 or LA120 == 64:
17451 alt120 = 2
17452 elif LA120 == 58:
17453 LA120_21 = self.input.LA(3)
17454
17455 if (self.synpred83()) :
17456 alt120 = 1
17457 elif (self.synpred84()) :
17458 alt120 = 2
17459
17460
17461 elif LA120 == 66:
17462 LA120_22 = self.input.LA(3)
17463
17464 if (self.synpred83()) :
17465 alt120 = 1
17466 elif (self.synpred84()) :
17467 alt120 = 2
17468
17469
17470 elif LA120 == 59:
17471 LA120_23 = self.input.LA(3)
17472
17473 if (self.synpred83()) :
17474 alt120 = 1
17475 elif (self.synpred84()) :
17476 alt120 = 2
17477
17478
17479 elif LA120 == 60:
17480 LA120_24 = self.input.LA(3)
17481
17482 if (self.synpred83()) :
17483 alt120 = 1
17484 elif (self.synpred84()) :
17485 alt120 = 2
17486
17487
17488 elif LA120 == IDENTIFIER:
17489 LA120_25 = self.input.LA(3)
17490
17491 if (self.synpred83()) :
17492 alt120 = 1
17493 elif (self.synpred84()) :
17494 alt120 = 2
17495
17496
17497 elif LA120 == 62:
17498 LA120_26 = self.input.LA(3)
17499
17500 if (self.synpred83()) :
17501 alt120 = 1
17502 elif (self.synpred84()) :
17503 alt120 = 2
17504
17505
17506
17507 elif LA120 == 64:
17508 alt120 = 2
17509
17510 if alt120 == 1:
17511 # C.g:330:28: declarator
17512 self.following.append(self.FOLLOW_declarator_in_synpred86997)
17513 self.declarator()
17514 self.following.pop()
17515 if self.failed:
17516 return
17517
17518
17519 elif alt120 == 2:
17520 # C.g:330:39: abstract_declarator
17521 self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999)
17522 self.abstract_declarator()
17523 self.following.pop()
17524 if self.failed:
17525 return
17526
17527
17528 else:
17529 break #loop120
17530
17531
17532 # C.g:330:61: ( 'OPTIONAL' )?
17533 alt121 = 2
17534 LA121_0 = self.input.LA(1)
17535
17536 if (LA121_0 == 53) :
17537 alt121 = 1
17538 if alt121 == 1:
17539 # C.g:330:62: 'OPTIONAL'
17540 self.match(self.input, 53, self.FOLLOW_53_in_synpred861004)
17541 if self.failed:
17542 return
17543
17544
17545
17546
17547
17548 # $ANTLR end synpred86
17549
17550
17551
17552 # $ANTLR start synpred90
17553 def synpred90_fragment(self, ):
17554 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17555 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17556 self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred901046)
17557 self.specifier_qualifier_list()
17558 self.following.pop()
17559 if self.failed:
17560 return
17561 # C.g:341:29: ( abstract_declarator )?
17562 alt122 = 2
17563 LA122_0 = self.input.LA(1)
17564
17565 if (LA122_0 == 62 or LA122_0 == 64 or LA122_0 == 66) :
17566 alt122 = 1
17567 if alt122 == 1:
17568 # C.g:0:0: abstract_declarator
17569 self.following.append(self.FOLLOW_abstract_declarator_in_synpred901048)
17570 self.abstract_declarator()
17571 self.following.pop()
17572 if self.failed:
17573 return
17574
17575
17576
17577
17578
17579 # $ANTLR end synpred90
17580
17581
17582
17583 # $ANTLR start synpred91
17584 def synpred91_fragment(self, ):
17585 # C.g:346:12: ( direct_abstract_declarator )
17586 # C.g:346:12: direct_abstract_declarator
17587 self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred911067)
17588 self.direct_abstract_declarator()
17589 self.following.pop()
17590 if self.failed:
17591 return
17592
17593
17594 # $ANTLR end synpred91
17595
17596
17597
17598 # $ANTLR start synpred93
17599 def synpred93_fragment(self, ):
17600 # C.g:351:6: ( '(' abstract_declarator ')' )
17601 # C.g:351:6: '(' abstract_declarator ')'
17602 self.match(self.input, 62, self.FOLLOW_62_in_synpred931086)
17603 if self.failed:
17604 return
17605 self.following.append(self.FOLLOW_abstract_declarator_in_synpred931088)
17606 self.abstract_declarator()
17607 self.following.pop()
17608 if self.failed:
17609 return
17610 self.match(self.input, 63, self.FOLLOW_63_in_synpred931090)
17611 if self.failed:
17612 return
17613
17614
17615 # $ANTLR end synpred93
17616
17617
17618
17619 # $ANTLR start synpred94
17620 def synpred94_fragment(self, ):
17621 # C.g:351:65: ( abstract_declarator_suffix )
17622 # C.g:351:65: abstract_declarator_suffix
17623 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred941098)
17624 self.abstract_declarator_suffix()
17625 self.following.pop()
17626 if self.failed:
17627 return
17628
17629
17630 # $ANTLR end synpred94
17631
17632
17633
17634 # $ANTLR start synpred109
17635 def synpred109_fragment(self, ):
17636 # C.g:386:4: ( '(' type_name ')' cast_expression )
17637 # C.g:386:4: '(' type_name ')' cast_expression
17638 self.match(self.input, 62, self.FOLLOW_62_in_synpred1091282)
17639 if self.failed:
17640 return
17641 self.following.append(self.FOLLOW_type_name_in_synpred1091284)
17642 self.type_name()
17643 self.following.pop()
17644 if self.failed:
17645 return
17646 self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286)
17647 if self.failed:
17648 return
17649 self.following.append(self.FOLLOW_cast_expression_in_synpred1091288)
17650 self.cast_expression()
17651 self.following.pop()
17652 if self.failed:
17653 return
17654
17655
17656 # $ANTLR end synpred109
17657
17658
17659
17660 # $ANTLR start synpred114
17661 def synpred114_fragment(self, ):
17662 # C.g:395:4: ( 'sizeof' unary_expression )
17663 # C.g:395:4: 'sizeof' unary_expression
17664 self.match(self.input, 74, self.FOLLOW_74_in_synpred1141330)
17665 if self.failed:
17666 return
17667 self.following.append(self.FOLLOW_unary_expression_in_synpred1141332)
17668 self.unary_expression()
17669 self.following.pop()
17670 if self.failed:
17671 return
17672
17673
17674 # $ANTLR end synpred114
17675
17676
17677
17678 # $ANTLR start synpred117
17679 def synpred117_fragment(self, ):
17680 # C.g:409:13: ( '(' argument_expression_list ')' )
17681 # C.g:409:13: '(' argument_expression_list ')'
17682 self.match(self.input, 62, self.FOLLOW_62_in_synpred1171420)
17683 if self.failed:
17684 return
17685 self.following.append(self.FOLLOW_argument_expression_list_in_synpred1171424)
17686 self.argument_expression_list()
17687 self.following.pop()
17688 if self.failed:
17689 return
17690 self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428)
17691 if self.failed:
17692 return
17693
17694
17695 # $ANTLR end synpred117
17696
17697
17698
17699 # $ANTLR start synpred118
17700 def synpred118_fragment(self, ):
17701 # C.g:410:13: ( '(' macro_parameter_list ')' )
17702 # C.g:410:13: '(' macro_parameter_list ')'
17703 self.match(self.input, 62, self.FOLLOW_62_in_synpred1181444)
17704 if self.failed:
17705 return
17706 self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1181446)
17707 self.macro_parameter_list()
17708 self.following.pop()
17709 if self.failed:
17710 return
17711 self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448)
17712 if self.failed:
17713 return
17714
17715
17716 # $ANTLR end synpred118
17717
17718
17719
17720 # $ANTLR start synpred120
17721 def synpred120_fragment(self, ):
17722 # C.g:412:13: ( '*' IDENTIFIER )
17723 # C.g:412:13: '*' IDENTIFIER
17724 self.match(self.input, 66, self.FOLLOW_66_in_synpred1201482)
17725 if self.failed:
17726 return
17727 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1201486)
17728 if self.failed:
17729 return
17730
17731
17732 # $ANTLR end synpred120
17733
17734
17735
17736 # $ANTLR start synpred137
17737 def synpred137_fragment(self, ):
17738 # C.g:443:20: ( STRING_LITERAL )
17739 # C.g:443:20: STRING_LITERAL
17740 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371683)
17741 if self.failed:
17742 return
17743
17744
17745 # $ANTLR end synpred137
17746
17747
17748
17749 # $ANTLR start synpred138
17750 def synpred138_fragment(self, ):
17751 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17752 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17753 # C.g:443:8: ( IDENTIFIER )*
17754 while True: #loop125
17755 alt125 = 2
17756 LA125_0 = self.input.LA(1)
17757
17758 if (LA125_0 == IDENTIFIER) :
17759 alt125 = 1
17760
17761
17762 if alt125 == 1:
17763 # C.g:0:0: IDENTIFIER
17764 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680)
17765 if self.failed:
17766 return
17767
17768
17769 else:
17770 break #loop125
17771
17772
17773 # C.g:443:20: ( STRING_LITERAL )+
17774 cnt126 = 0
17775 while True: #loop126
17776 alt126 = 2
17777 LA126_0 = self.input.LA(1)
17778
17779 if (LA126_0 == STRING_LITERAL) :
17780 alt126 = 1
17781
17782
17783 if alt126 == 1:
17784 # C.g:0:0: STRING_LITERAL
17785 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683)
17786 if self.failed:
17787 return
17788
17789
17790 else:
17791 if cnt126 >= 1:
17792 break #loop126
17793
17794 if self.backtracking > 0:
17795 self.failed = True
17796 return
17797
17798 eee = EarlyExitException(126, self.input)
17799 raise eee
17800
17801 cnt126 += 1
17802
17803
17804
17805
17806 # $ANTLR end synpred138
17807
17808
17809
17810 # $ANTLR start synpred142
17811 def synpred142_fragment(self, ):
17812 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17813 # C.g:458:4: lvalue assignment_operator assignment_expression
17814 self.following.append(self.FOLLOW_lvalue_in_synpred1421744)
17815 self.lvalue()
17816 self.following.pop()
17817 if self.failed:
17818 return
17819 self.following.append(self.FOLLOW_assignment_operator_in_synpred1421746)
17820 self.assignment_operator()
17821 self.following.pop()
17822 if self.failed:
17823 return
17824 self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748)
17825 self.assignment_expression()
17826 self.following.pop()
17827 if self.failed:
17828 return
17829
17830
17831 # $ANTLR end synpred142
17832
17833
17834
17835 # $ANTLR start synpred169
17836 def synpred169_fragment(self, ):
17837 # C.g:520:4: ( expression_statement )
17838 # C.g:520:4: expression_statement
17839 self.following.append(self.FOLLOW_expression_statement_in_synpred1692035)
17840 self.expression_statement()
17841 self.following.pop()
17842 if self.failed:
17843 return
17844
17845
17846 # $ANTLR end synpred169
17847
17848
17849
17850 # $ANTLR start synpred173
17851 def synpred173_fragment(self, ):
17852 # C.g:524:4: ( macro_statement )
17853 # C.g:524:4: macro_statement
17854 self.following.append(self.FOLLOW_macro_statement_in_synpred1732055)
17855 self.macro_statement()
17856 self.following.pop()
17857 if self.failed:
17858 return
17859
17860
17861 # $ANTLR end synpred173
17862
17863
17864
17865 # $ANTLR start synpred174
17866 def synpred174_fragment(self, ):
17867 # C.g:525:4: ( asm2_statement )
17868 # C.g:525:4: asm2_statement
17869 self.following.append(self.FOLLOW_asm2_statement_in_synpred1742060)
17870 self.asm2_statement()
17871 self.following.pop()
17872 if self.failed:
17873 return
17874
17875
17876 # $ANTLR end synpred174
17877
17878
17879
17880 # $ANTLR start synpred181
17881 def synpred181_fragment(self, ):
17882 # C.g:544:19: ( declaration )
17883 # C.g:544:19: declaration
17884 self.following.append(self.FOLLOW_declaration_in_synpred1812166)
17885 self.declaration()
17886 self.following.pop()
17887 if self.failed:
17888 return
17889
17890
17891 # $ANTLR end synpred181
17892
17893
17894
17895 # $ANTLR start synpred182
17896 def synpred182_fragment(self, ):
17897 # C.g:544:33: ( statement_list )
17898 # C.g:544:33: statement_list
17899 self.following.append(self.FOLLOW_statement_list_in_synpred1822170)
17900 self.statement_list()
17901 self.following.pop()
17902 if self.failed:
17903 return
17904
17905
17906 # $ANTLR end synpred182
17907
17908
17909
17910 # $ANTLR start synpred186
17911 def synpred186_fragment(self, ):
17912 # C.g:554:8: ( declaration )
17913 # C.g:554:8: declaration
17914 self.following.append(self.FOLLOW_declaration_in_synpred1862225)
17915 self.declaration()
17916 self.following.pop()
17917 if self.failed:
17918 return
17919
17920
17921 # $ANTLR end synpred186
17922
17923
17924
17925 # $ANTLR start synpred188
17926 def synpred188_fragment(self, ):
17927 # C.g:558:4: ( statement )
17928 # C.g:558:4: statement
17929 self.following.append(self.FOLLOW_statement_in_synpred1882242)
17930 self.statement()
17931 self.following.pop()
17932 if self.failed:
17933 return
17934
17935
17936 # $ANTLR end synpred188
17937
17938
17939
17940 def synpred69(self):
17941 self.backtracking += 1
17942 start = self.input.mark()
17943 self.synpred69_fragment()
17944 success = not self.failed
17945 self.input.rewind(start)
17946 self.backtracking -= 1
17947 self.failed = False
17948 return success
17949
17950 def synpred81(self):
17951 self.backtracking += 1
17952 start = self.input.mark()
17953 self.synpred81_fragment()
17954 success = not self.failed
17955 self.input.rewind(start)
17956 self.backtracking -= 1
17957 self.failed = False
17958 return success
17959
17960 def synpred82(self):
17961 self.backtracking += 1
17962 start = self.input.mark()
17963 self.synpred82_fragment()
17964 success = not self.failed
17965 self.input.rewind(start)
17966 self.backtracking -= 1
17967 self.failed = False
17968 return success
17969
17970 def synpred66(self):
17971 self.backtracking += 1
17972 start = self.input.mark()
17973 self.synpred66_fragment()
17974 success = not self.failed
17975 self.input.rewind(start)
17976 self.backtracking -= 1
17977 self.failed = False
17978 return success
17979
17980 def synpred83(self):
17981 self.backtracking += 1
17982 start = self.input.mark()
17983 self.synpred83_fragment()
17984 success = not self.failed
17985 self.input.rewind(start)
17986 self.backtracking -= 1
17987 self.failed = False
17988 return success
17989
17990 def synpred84(self):
17991 self.backtracking += 1
17992 start = self.input.mark()
17993 self.synpred84_fragment()
17994 success = not self.failed
17995 self.input.rewind(start)
17996 self.backtracking -= 1
17997 self.failed = False
17998 return success
17999
18000 def synpred67(self):
18001 self.backtracking += 1
18002 start = self.input.mark()
18003 self.synpred67_fragment()
18004 success = not self.failed
18005 self.input.rewind(start)
18006 self.backtracking -= 1
18007 self.failed = False
18008 return success
18009
18010 def synpred86(self):
18011 self.backtracking += 1
18012 start = self.input.mark()
18013 self.synpred86_fragment()
18014 success = not self.failed
18015 self.input.rewind(start)
18016 self.backtracking -= 1
18017 self.failed = False
18018 return success
18019
18020 def synpred120(self):
18021 self.backtracking += 1
18022 start = self.input.mark()
18023 self.synpred120_fragment()
18024 success = not self.failed
18025 self.input.rewind(start)
18026 self.backtracking -= 1
18027 self.failed = False
18028 return success
18029
18030 def synpred40(self):
18031 self.backtracking += 1
18032 start = self.input.mark()
18033 self.synpred40_fragment()
18034 success = not self.failed
18035 self.input.rewind(start)
18036 self.backtracking -= 1
18037 self.failed = False
18038 return success
18039
18040 def synpred142(self):
18041 self.backtracking += 1
18042 start = self.input.mark()
18043 self.synpred142_fragment()
18044 success = not self.failed
18045 self.input.rewind(start)
18046 self.backtracking -= 1
18047 self.failed = False
18048 return success
18049
18050 def synpred182(self):
18051 self.backtracking += 1
18052 start = self.input.mark()
18053 self.synpred182_fragment()
18054 success = not self.failed
18055 self.input.rewind(start)
18056 self.backtracking -= 1
18057 self.failed = False
18058 return success
18059
18060 def synpred109(self):
18061 self.backtracking += 1
18062 start = self.input.mark()
18063 self.synpred109_fragment()
18064 success = not self.failed
18065 self.input.rewind(start)
18066 self.backtracking -= 1
18067 self.failed = False
18068 return success
18069
18070 def synpred181(self):
18071 self.backtracking += 1
18072 start = self.input.mark()
18073 self.synpred181_fragment()
18074 success = not self.failed
18075 self.input.rewind(start)
18076 self.backtracking -= 1
18077 self.failed = False
18078 return success
18079
18080 def synpred186(self):
18081 self.backtracking += 1
18082 start = self.input.mark()
18083 self.synpred186_fragment()
18084 success = not self.failed
18085 self.input.rewind(start)
18086 self.backtracking -= 1
18087 self.failed = False
18088 return success
18089
18090 def synpred188(self):
18091 self.backtracking += 1
18092 start = self.input.mark()
18093 self.synpred188_fragment()
18094 success = not self.failed
18095 self.input.rewind(start)
18096 self.backtracking -= 1
18097 self.failed = False
18098 return success
18099
18100 def synpred169(self):
18101 self.backtracking += 1
18102 start = self.input.mark()
18103 self.synpred169_fragment()
18104 success = not self.failed
18105 self.input.rewind(start)
18106 self.backtracking -= 1
18107 self.failed = False
18108 return success
18109
18110 def synpred117(self):
18111 self.backtracking += 1
18112 start = self.input.mark()
18113 self.synpred117_fragment()
18114 success = not self.failed
18115 self.input.rewind(start)
18116 self.backtracking -= 1
18117 self.failed = False
18118 return success
18119
18120 def synpred70(self):
18121 self.backtracking += 1
18122 start = self.input.mark()
18123 self.synpred70_fragment()
18124 success = not self.failed
18125 self.input.rewind(start)
18126 self.backtracking -= 1
18127 self.failed = False
18128 return success
18129
18130 def synpred118(self):
18131 self.backtracking += 1
18132 start = self.input.mark()
18133 self.synpred118_fragment()
18134 success = not self.failed
18135 self.input.rewind(start)
18136 self.backtracking -= 1
18137 self.failed = False
18138 return success
18139
18140 def synpred34(self):
18141 self.backtracking += 1
18142 start = self.input.mark()
18143 self.synpred34_fragment()
18144 success = not self.failed
18145 self.input.rewind(start)
18146 self.backtracking -= 1
18147 self.failed = False
18148 return success
18149
18150 def synpred33(self):
18151 self.backtracking += 1
18152 start = self.input.mark()
18153 self.synpred33_fragment()
18154 success = not self.failed
18155 self.input.rewind(start)
18156 self.backtracking -= 1
18157 self.failed = False
18158 return success
18159
18160 def synpred94(self):
18161 self.backtracking += 1
18162 start = self.input.mark()
18163 self.synpred94_fragment()
18164 success = not self.failed
18165 self.input.rewind(start)
18166 self.backtracking -= 1
18167 self.failed = False
18168 return success
18169
18170 def synpred39(self):
18171 self.backtracking += 1
18172 start = self.input.mark()
18173 self.synpred39_fragment()
18174 success = not self.failed
18175 self.input.rewind(start)
18176 self.backtracking -= 1
18177 self.failed = False
18178 return success
18179
18180 def synpred74(self):
18181 self.backtracking += 1
18182 start = self.input.mark()
18183 self.synpred74_fragment()
18184 success = not self.failed
18185 self.input.rewind(start)
18186 self.backtracking -= 1
18187 self.failed = False
18188 return success
18189
18190 def synpred114(self):
18191 self.backtracking += 1
18192 start = self.input.mark()
18193 self.synpred114_fragment()
18194 success = not self.failed
18195 self.input.rewind(start)
18196 self.backtracking -= 1
18197 self.failed = False
18198 return success
18199
18200 def synpred93(self):
18201 self.backtracking += 1
18202 start = self.input.mark()
18203 self.synpred93_fragment()
18204 success = not self.failed
18205 self.input.rewind(start)
18206 self.backtracking -= 1
18207 self.failed = False
18208 return success
18209
18210 def synpred75(self):
18211 self.backtracking += 1
18212 start = self.input.mark()
18213 self.synpred75_fragment()
18214 success = not self.failed
18215 self.input.rewind(start)
18216 self.backtracking -= 1
18217 self.failed = False
18218 return success
18219
18220 def synpred137(self):
18221 self.backtracking += 1
18222 start = self.input.mark()
18223 self.synpred137_fragment()
18224 success = not self.failed
18225 self.input.rewind(start)
18226 self.backtracking -= 1
18227 self.failed = False
18228 return success
18229
18230 def synpred90(self):
18231 self.backtracking += 1
18232 start = self.input.mark()
18233 self.synpred90_fragment()
18234 success = not self.failed
18235 self.input.rewind(start)
18236 self.backtracking -= 1
18237 self.failed = False
18238 return success
18239
18240 def synpred138(self):
18241 self.backtracking += 1
18242 start = self.input.mark()
18243 self.synpred138_fragment()
18244 success = not self.failed
18245 self.input.rewind(start)
18246 self.backtracking -= 1
18247 self.failed = False
18248 return success
18249
18250 def synpred91(self):
18251 self.backtracking += 1
18252 start = self.input.mark()
18253 self.synpred91_fragment()
18254 success = not self.failed
18255 self.input.rewind(start)
18256 self.backtracking -= 1
18257 self.failed = False
18258 return success
18259
18260 def synpred73(self):
18261 self.backtracking += 1
18262 start = self.input.mark()
18263 self.synpred73_fragment()
18264 success = not self.failed
18265 self.input.rewind(start)
18266 self.backtracking -= 1
18267 self.failed = False
18268 return success
18269
18270 def synpred5(self):
18271 self.backtracking += 1
18272 start = self.input.mark()
18273 self.synpred5_fragment()
18274 success = not self.failed
18275 self.input.rewind(start)
18276 self.backtracking -= 1
18277 self.failed = False
18278 return success
18279
18280 def synpred78(self):
18281 self.backtracking += 1
18282 start = self.input.mark()
18283 self.synpred78_fragment()
18284 success = not self.failed
18285 self.input.rewind(start)
18286 self.backtracking -= 1
18287 self.failed = False
18288 return success
18289
18290 def synpred7(self):
18291 self.backtracking += 1
18292 start = self.input.mark()
18293 self.synpred7_fragment()
18294 success = not self.failed
18295 self.input.rewind(start)
18296 self.backtracking -= 1
18297 self.failed = False
18298 return success
18299
18300 def synpred76(self):
18301 self.backtracking += 1
18302 start = self.input.mark()
18303 self.synpred76_fragment()
18304 success = not self.failed
18305 self.input.rewind(start)
18306 self.backtracking -= 1
18307 self.failed = False
18308 return success
18309
18310 def synpred77(self):
18311 self.backtracking += 1
18312 start = self.input.mark()
18313 self.synpred77_fragment()
18314 success = not self.failed
18315 self.input.rewind(start)
18316 self.backtracking -= 1
18317 self.failed = False
18318 return success
18319
18320 def synpred2(self):
18321 self.backtracking += 1
18322 start = self.input.mark()
18323 self.synpred2_fragment()
18324 success = not self.failed
18325 self.input.rewind(start)
18326 self.backtracking -= 1
18327 self.failed = False
18328 return success
18329
18330 def synpred4(self):
18331 self.backtracking += 1
18332 start = self.input.mark()
18333 self.synpred4_fragment()
18334 success = not self.failed
18335 self.input.rewind(start)
18336 self.backtracking -= 1
18337 self.failed = False
18338 return success
18339
18340 def synpred174(self):
18341 self.backtracking += 1
18342 start = self.input.mark()
18343 self.synpred174_fragment()
18344 success = not self.failed
18345 self.input.rewind(start)
18346 self.backtracking -= 1
18347 self.failed = False
18348 return success
18349
18350 def synpred173(self):
18351 self.backtracking += 1
18352 start = self.input.mark()
18353 self.synpred173_fragment()
18354 success = not self.failed
18355 self.input.rewind(start)
18356 self.backtracking -= 1
18357 self.failed = False
18358 return success
18359
18360 def synpred14(self):
18361 self.backtracking += 1
18362 start = self.input.mark()
18363 self.synpred14_fragment()
18364 success = not self.failed
18365 self.input.rewind(start)
18366 self.backtracking -= 1
18367 self.failed = False
18368 return success
18369
18370 def synpred15(self):
18371 self.backtracking += 1
18372 start = self.input.mark()
18373 self.synpred15_fragment()
18374 success = not self.failed
18375 self.input.rewind(start)
18376 self.backtracking -= 1
18377 self.failed = False
18378 return success
18379
18380 def synpred10(self):
18381 self.backtracking += 1
18382 start = self.input.mark()
18383 self.synpred10_fragment()
18384 success = not self.failed
18385 self.input.rewind(start)
18386 self.backtracking -= 1
18387 self.failed = False
18388 return success
18389
18390
18391
18392
18393
18394 FOLLOW_external_declaration_in_translation_unit74 = frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18395 FOLLOW_function_definition_in_external_declaration113 = frozenset([1])
18396 FOLLOW_declaration_in_external_declaration118 = frozenset([1])
18397 FOLLOW_macro_statement_in_external_declaration123 = frozenset([1, 25])
18398 FOLLOW_25_in_external_declaration126 = frozenset([1])
18399 FOLLOW_declaration_specifiers_in_function_definition157 = frozenset([4, 58, 59, 60, 62, 66])
18400 FOLLOW_declarator_in_function_definition160 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18401 FOLLOW_declaration_in_function_definition166 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18402 FOLLOW_compound_statement_in_function_definition171 = frozenset([1])
18403 FOLLOW_compound_statement_in_function_definition180 = frozenset([1])
18404 FOLLOW_26_in_declaration203 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18405 FOLLOW_declaration_specifiers_in_declaration207 = frozenset([4, 58, 59, 60, 62, 66])
18406 FOLLOW_init_declarator_list_in_declaration216 = frozenset([25])
18407 FOLLOW_25_in_declaration220 = frozenset([1])
18408 FOLLOW_declaration_specifiers_in_declaration234 = frozenset([4, 25, 58, 59, 60, 62, 66])
18409 FOLLOW_init_declarator_list_in_declaration238 = frozenset([25])
18410 FOLLOW_25_in_declaration243 = frozenset([1])
18411 FOLLOW_storage_class_specifier_in_declaration_specifiers264 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18412 FOLLOW_type_specifier_in_declaration_specifiers272 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18413 FOLLOW_type_qualifier_in_declaration_specifiers286 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18414 FOLLOW_init_declarator_in_init_declarator_list308 = frozenset([1, 27])
18415 FOLLOW_27_in_init_declarator_list311 = frozenset([4, 58, 59, 60, 62, 66])
18416 FOLLOW_init_declarator_in_init_declarator_list313 = frozenset([1, 27])
18417 FOLLOW_declarator_in_init_declarator326 = frozenset([1, 28])
18418 FOLLOW_28_in_init_declarator329 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18419 FOLLOW_initializer_in_init_declarator331 = frozenset([1])
18420 FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
18421 FOLLOW_34_in_type_specifier376 = frozenset([1])
18422 FOLLOW_35_in_type_specifier381 = frozenset([1])
18423 FOLLOW_36_in_type_specifier386 = frozenset([1])
18424 FOLLOW_37_in_type_specifier391 = frozenset([1])
18425 FOLLOW_38_in_type_specifier396 = frozenset([1])
18426 FOLLOW_39_in_type_specifier401 = frozenset([1])
18427 FOLLOW_40_in_type_specifier406 = frozenset([1])
18428 FOLLOW_41_in_type_specifier411 = frozenset([1])
18429 FOLLOW_42_in_type_specifier416 = frozenset([1])
18430 FOLLOW_struct_or_union_specifier_in_type_specifier423 = frozenset([1])
18431 FOLLOW_enum_specifier_in_type_specifier433 = frozenset([1])
18432 FOLLOW_type_id_in_type_specifier451 = frozenset([1])
18433 FOLLOW_IDENTIFIER_in_type_id467 = frozenset([1])
18434 FOLLOW_struct_or_union_in_struct_or_union_specifier494 = frozenset([4, 43])
18435 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496 = frozenset([43])
18436 FOLLOW_43_in_struct_or_union_specifier499 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18437 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501 = frozenset([44])
18438 FOLLOW_44_in_struct_or_union_specifier503 = frozenset([1])
18439 FOLLOW_struct_or_union_in_struct_or_union_specifier508 = frozenset([4])
18440 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510 = frozenset([1])
18441 FOLLOW_set_in_struct_or_union0 = frozenset([1])
18442 FOLLOW_struct_declaration_in_struct_declaration_list537 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18443 FOLLOW_specifier_qualifier_list_in_struct_declaration549 = frozenset([4, 47, 58, 59, 60, 62, 66])
18444 FOLLOW_struct_declarator_list_in_struct_declaration551 = frozenset([25])
18445 FOLLOW_25_in_struct_declaration553 = frozenset([1])
18446 FOLLOW_type_qualifier_in_specifier_qualifier_list566 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18447 FOLLOW_type_specifier_in_specifier_qualifier_list570 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18448 FOLLOW_struct_declarator_in_struct_declarator_list584 = frozenset([1, 27])
18449 FOLLOW_27_in_struct_declarator_list587 = frozenset([4, 47, 58, 59, 60, 62, 66])
18450 FOLLOW_struct_declarator_in_struct_declarator_list589 = frozenset([1, 27])
18451 FOLLOW_declarator_in_struct_declarator602 = frozenset([1, 47])
18452 FOLLOW_47_in_struct_declarator605 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18453 FOLLOW_constant_expression_in_struct_declarator607 = frozenset([1])
18454 FOLLOW_47_in_struct_declarator614 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18455 FOLLOW_constant_expression_in_struct_declarator616 = frozenset([1])
18456 FOLLOW_48_in_enum_specifier634 = frozenset([43])
18457 FOLLOW_43_in_enum_specifier636 = frozenset([4])
18458 FOLLOW_enumerator_list_in_enum_specifier638 = frozenset([27, 44])
18459 FOLLOW_27_in_enum_specifier640 = frozenset([44])
18460 FOLLOW_44_in_enum_specifier643 = frozenset([1])
18461 FOLLOW_48_in_enum_specifier648 = frozenset([4])
18462 FOLLOW_IDENTIFIER_in_enum_specifier650 = frozenset([43])
18463 FOLLOW_43_in_enum_specifier652 = frozenset([4])
18464 FOLLOW_enumerator_list_in_enum_specifier654 = frozenset([27, 44])
18465 FOLLOW_27_in_enum_specifier656 = frozenset([44])
18466 FOLLOW_44_in_enum_specifier659 = frozenset([1])
18467 FOLLOW_48_in_enum_specifier664 = frozenset([4])
18468 FOLLOW_IDENTIFIER_in_enum_specifier666 = frozenset([1])
18469 FOLLOW_enumerator_in_enumerator_list677 = frozenset([1, 27])
18470 FOLLOW_27_in_enumerator_list680 = frozenset([4])
18471 FOLLOW_enumerator_in_enumerator_list682 = frozenset([1, 27])
18472 FOLLOW_IDENTIFIER_in_enumerator695 = frozenset([1, 28])
18473 FOLLOW_28_in_enumerator698 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18474 FOLLOW_constant_expression_in_enumerator700 = frozenset([1])
18475 FOLLOW_set_in_type_qualifier0 = frozenset([1])
18476 FOLLOW_pointer_in_declarator784 = frozenset([4, 58, 59, 60, 62])
18477 FOLLOW_58_in_declarator788 = frozenset([4, 59, 60, 62])
18478 FOLLOW_59_in_declarator793 = frozenset([4, 60, 62])
18479 FOLLOW_60_in_declarator798 = frozenset([4, 62])
18480 FOLLOW_direct_declarator_in_declarator802 = frozenset([1])
18481 FOLLOW_pointer_in_declarator808 = frozenset([1])
18482 FOLLOW_IDENTIFIER_in_direct_declarator819 = frozenset([1, 62, 64])
18483 FOLLOW_declarator_suffix_in_direct_declarator821 = frozenset([1, 62, 64])
18484 FOLLOW_62_in_direct_declarator827 = frozenset([4, 58, 59, 60, 62, 66])
18485 FOLLOW_58_in_direct_declarator830 = frozenset([4, 58, 59, 60, 62, 66])
18486 FOLLOW_declarator_in_direct_declarator834 = frozenset([63])
18487 FOLLOW_63_in_direct_declarator836 = frozenset([62, 64])
18488 FOLLOW_declarator_suffix_in_direct_declarator838 = frozenset([1, 62, 64])
18489 FOLLOW_64_in_declarator_suffix852 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18490 FOLLOW_constant_expression_in_declarator_suffix854 = frozenset([65])
18491 FOLLOW_65_in_declarator_suffix856 = frozenset([1])
18492 FOLLOW_64_in_declarator_suffix866 = frozenset([65])
18493 FOLLOW_65_in_declarator_suffix868 = frozenset([1])
18494 FOLLOW_62_in_declarator_suffix878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18495 FOLLOW_parameter_type_list_in_declarator_suffix880 = frozenset([63])
18496 FOLLOW_63_in_declarator_suffix882 = frozenset([1])
18497 FOLLOW_62_in_declarator_suffix892 = frozenset([4])
18498 FOLLOW_identifier_list_in_declarator_suffix894 = frozenset([63])
18499 FOLLOW_63_in_declarator_suffix896 = frozenset([1])
18500 FOLLOW_62_in_declarator_suffix906 = frozenset([63])
18501 FOLLOW_63_in_declarator_suffix908 = frozenset([1])
18502 FOLLOW_66_in_pointer919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18503 FOLLOW_type_qualifier_in_pointer921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18504 FOLLOW_pointer_in_pointer924 = frozenset([1])
18505 FOLLOW_66_in_pointer930 = frozenset([66])
18506 FOLLOW_pointer_in_pointer932 = frozenset([1])
18507 FOLLOW_66_in_pointer937 = frozenset([1])
18508 FOLLOW_parameter_list_in_parameter_type_list948 = frozenset([1, 27])
18509 FOLLOW_27_in_parameter_type_list951 = frozenset([53, 67])
18510 FOLLOW_53_in_parameter_type_list954 = frozenset([67])
18511 FOLLOW_67_in_parameter_type_list958 = frozenset([1])
18512 FOLLOW_parameter_declaration_in_parameter_list971 = frozenset([1, 27])
18513 FOLLOW_27_in_parameter_list974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18514 FOLLOW_53_in_parameter_list977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18515 FOLLOW_parameter_declaration_in_parameter_list981 = frozenset([1, 27])
18516 FOLLOW_declaration_specifiers_in_parameter_declaration994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18517 FOLLOW_declarator_in_parameter_declaration997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18518 FOLLOW_abstract_declarator_in_parameter_declaration999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18519 FOLLOW_53_in_parameter_declaration1004 = frozenset([1])
18520 FOLLOW_pointer_in_parameter_declaration1013 = frozenset([4, 66])
18521 FOLLOW_IDENTIFIER_in_parameter_declaration1016 = frozenset([1])
18522 FOLLOW_IDENTIFIER_in_identifier_list1027 = frozenset([1, 27])
18523 FOLLOW_27_in_identifier_list1031 = frozenset([4])
18524 FOLLOW_IDENTIFIER_in_identifier_list1033 = frozenset([1, 27])
18525 FOLLOW_specifier_qualifier_list_in_type_name1046 = frozenset([1, 62, 64, 66])
18526 FOLLOW_abstract_declarator_in_type_name1048 = frozenset([1])
18527 FOLLOW_type_id_in_type_name1054 = frozenset([1])
18528 FOLLOW_pointer_in_abstract_declarator1065 = frozenset([1, 62, 64])
18529 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067 = frozenset([1])
18530 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073 = frozenset([1])
18531 FOLLOW_62_in_direct_abstract_declarator1086 = frozenset([62, 64, 66])
18532 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088 = frozenset([63])
18533 FOLLOW_63_in_direct_abstract_declarator1090 = frozenset([1, 62, 64])
18534 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094 = frozenset([1, 62, 64])
18535 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098 = frozenset([1, 62, 64])
18536 FOLLOW_64_in_abstract_declarator_suffix1110 = frozenset([65])
18537 FOLLOW_65_in_abstract_declarator_suffix1112 = frozenset([1])
18538 FOLLOW_64_in_abstract_declarator_suffix1117 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18539 FOLLOW_constant_expression_in_abstract_declarator_suffix1119 = frozenset([65])
18540 FOLLOW_65_in_abstract_declarator_suffix1121 = frozenset([1])
18541 FOLLOW_62_in_abstract_declarator_suffix1126 = frozenset([63])
18542 FOLLOW_63_in_abstract_declarator_suffix1128 = frozenset([1])
18543 FOLLOW_62_in_abstract_declarator_suffix1133 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18544 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135 = frozenset([63])
18545 FOLLOW_63_in_abstract_declarator_suffix1137 = frozenset([1])
18546 FOLLOW_assignment_expression_in_initializer1150 = frozenset([1])
18547 FOLLOW_43_in_initializer1155 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18548 FOLLOW_initializer_list_in_initializer1157 = frozenset([27, 44])
18549 FOLLOW_27_in_initializer1159 = frozenset([44])
18550 FOLLOW_44_in_initializer1162 = frozenset([1])
18551 FOLLOW_initializer_in_initializer_list1173 = frozenset([1, 27])
18552 FOLLOW_27_in_initializer_list1176 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18553 FOLLOW_initializer_in_initializer_list1178 = frozenset([1, 27])
18554 FOLLOW_assignment_expression_in_argument_expression_list1196 = frozenset([1, 27, 53])
18555 FOLLOW_53_in_argument_expression_list1199 = frozenset([1, 27])
18556 FOLLOW_27_in_argument_expression_list1204 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18557 FOLLOW_assignment_expression_in_argument_expression_list1206 = frozenset([1, 27, 53])
18558 FOLLOW_53_in_argument_expression_list1209 = frozenset([1, 27])
18559 FOLLOW_multiplicative_expression_in_additive_expression1225 = frozenset([1, 68, 69])
18560 FOLLOW_68_in_additive_expression1229 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18561 FOLLOW_multiplicative_expression_in_additive_expression1231 = frozenset([1, 68, 69])
18562 FOLLOW_69_in_additive_expression1235 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18563 FOLLOW_multiplicative_expression_in_additive_expression1237 = frozenset([1, 68, 69])
18564 FOLLOW_cast_expression_in_multiplicative_expression1251 = frozenset([1, 66, 70, 71])
18565 FOLLOW_66_in_multiplicative_expression1255 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18566 FOLLOW_cast_expression_in_multiplicative_expression1257 = frozenset([1, 66, 70, 71])
18567 FOLLOW_70_in_multiplicative_expression1261 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18568 FOLLOW_cast_expression_in_multiplicative_expression1263 = frozenset([1, 66, 70, 71])
18569 FOLLOW_71_in_multiplicative_expression1267 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18570 FOLLOW_cast_expression_in_multiplicative_expression1269 = frozenset([1, 66, 70, 71])
18571 FOLLOW_62_in_cast_expression1282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18572 FOLLOW_type_name_in_cast_expression1284 = frozenset([63])
18573 FOLLOW_63_in_cast_expression1286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18574 FOLLOW_cast_expression_in_cast_expression1288 = frozenset([1])
18575 FOLLOW_unary_expression_in_cast_expression1293 = frozenset([1])
18576 FOLLOW_postfix_expression_in_unary_expression1304 = frozenset([1])
18577 FOLLOW_72_in_unary_expression1309 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18578 FOLLOW_unary_expression_in_unary_expression1311 = frozenset([1])
18579 FOLLOW_73_in_unary_expression1316 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18580 FOLLOW_unary_expression_in_unary_expression1318 = frozenset([1])
18581 FOLLOW_unary_operator_in_unary_expression1323 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18582 FOLLOW_cast_expression_in_unary_expression1325 = frozenset([1])
18583 FOLLOW_74_in_unary_expression1330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18584 FOLLOW_unary_expression_in_unary_expression1332 = frozenset([1])
18585 FOLLOW_74_in_unary_expression1337 = frozenset([62])
18586 FOLLOW_62_in_unary_expression1339 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18587 FOLLOW_type_name_in_unary_expression1341 = frozenset([63])
18588 FOLLOW_63_in_unary_expression1343 = frozenset([1])
18589 FOLLOW_primary_expression_in_postfix_expression1367 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18590 FOLLOW_64_in_postfix_expression1383 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18591 FOLLOW_expression_in_postfix_expression1385 = frozenset([65])
18592 FOLLOW_65_in_postfix_expression1387 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18593 FOLLOW_62_in_postfix_expression1401 = frozenset([63])
18594 FOLLOW_63_in_postfix_expression1405 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18595 FOLLOW_62_in_postfix_expression1420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18596 FOLLOW_argument_expression_list_in_postfix_expression1424 = frozenset([63])
18597 FOLLOW_63_in_postfix_expression1428 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18598 FOLLOW_62_in_postfix_expression1444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18599 FOLLOW_macro_parameter_list_in_postfix_expression1446 = frozenset([63])
18600 FOLLOW_63_in_postfix_expression1448 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18601 FOLLOW_75_in_postfix_expression1462 = frozenset([4])
18602 FOLLOW_IDENTIFIER_in_postfix_expression1466 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18603 FOLLOW_66_in_postfix_expression1482 = frozenset([4])
18604 FOLLOW_IDENTIFIER_in_postfix_expression1486 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18605 FOLLOW_76_in_postfix_expression1502 = frozenset([4])
18606 FOLLOW_IDENTIFIER_in_postfix_expression1506 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18607 FOLLOW_72_in_postfix_expression1522 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18608 FOLLOW_73_in_postfix_expression1536 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18609 FOLLOW_parameter_declaration_in_macro_parameter_list1559 = frozenset([1, 27])
18610 FOLLOW_27_in_macro_parameter_list1562 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18611 FOLLOW_parameter_declaration_in_macro_parameter_list1564 = frozenset([1, 27])
18612 FOLLOW_set_in_unary_operator0 = frozenset([1])
18613 FOLLOW_IDENTIFIER_in_primary_expression1613 = frozenset([1])
18614 FOLLOW_constant_in_primary_expression1618 = frozenset([1])
18615 FOLLOW_62_in_primary_expression1623 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18616 FOLLOW_expression_in_primary_expression1625 = frozenset([63])
18617 FOLLOW_63_in_primary_expression1627 = frozenset([1])
18618 FOLLOW_HEX_LITERAL_in_constant1643 = frozenset([1])
18619 FOLLOW_OCTAL_LITERAL_in_constant1653 = frozenset([1])
18620 FOLLOW_DECIMAL_LITERAL_in_constant1663 = frozenset([1])
18621 FOLLOW_CHARACTER_LITERAL_in_constant1671 = frozenset([1])
18622 FOLLOW_IDENTIFIER_in_constant1680 = frozenset([4, 9])
18623 FOLLOW_STRING_LITERAL_in_constant1683 = frozenset([1, 4, 9])
18624 FOLLOW_IDENTIFIER_in_constant1688 = frozenset([1, 4])
18625 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699 = frozenset([1])
18626 FOLLOW_assignment_expression_in_expression1715 = frozenset([1, 27])
18627 FOLLOW_27_in_expression1718 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18628 FOLLOW_assignment_expression_in_expression1720 = frozenset([1, 27])
18629 FOLLOW_conditional_expression_in_constant_expression1733 = frozenset([1])
18630 FOLLOW_lvalue_in_assignment_expression1744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18631 FOLLOW_assignment_operator_in_assignment_expression1746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18632 FOLLOW_assignment_expression_in_assignment_expression1748 = frozenset([1])
18633 FOLLOW_conditional_expression_in_assignment_expression1753 = frozenset([1])
18634 FOLLOW_unary_expression_in_lvalue1765 = frozenset([1])
18635 FOLLOW_set_in_assignment_operator0 = frozenset([1])
18636 FOLLOW_logical_or_expression_in_conditional_expression1839 = frozenset([1, 90])
18637 FOLLOW_90_in_conditional_expression1842 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18638 FOLLOW_expression_in_conditional_expression1844 = frozenset([47])
18639 FOLLOW_47_in_conditional_expression1846 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18640 FOLLOW_conditional_expression_in_conditional_expression1848 = frozenset([1])
18641 FOLLOW_logical_and_expression_in_logical_or_expression1863 = frozenset([1, 91])
18642 FOLLOW_91_in_logical_or_expression1866 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18643 FOLLOW_logical_and_expression_in_logical_or_expression1868 = frozenset([1, 91])
18644 FOLLOW_inclusive_or_expression_in_logical_and_expression1881 = frozenset([1, 92])
18645 FOLLOW_92_in_logical_and_expression1884 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18646 FOLLOW_inclusive_or_expression_in_logical_and_expression1886 = frozenset([1, 92])
18647 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899 = frozenset([1, 93])
18648 FOLLOW_93_in_inclusive_or_expression1902 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18649 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904 = frozenset([1, 93])
18650 FOLLOW_and_expression_in_exclusive_or_expression1917 = frozenset([1, 94])
18651 FOLLOW_94_in_exclusive_or_expression1920 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18652 FOLLOW_and_expression_in_exclusive_or_expression1922 = frozenset([1, 94])
18653 FOLLOW_equality_expression_in_and_expression1935 = frozenset([1, 77])
18654 FOLLOW_77_in_and_expression1938 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18655 FOLLOW_equality_expression_in_and_expression1940 = frozenset([1, 77])
18656 FOLLOW_relational_expression_in_equality_expression1952 = frozenset([1, 95, 96])
18657 FOLLOW_set_in_equality_expression1955 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18658 FOLLOW_relational_expression_in_equality_expression1961 = frozenset([1, 95, 96])
18659 FOLLOW_shift_expression_in_relational_expression1975 = frozenset([1, 97, 98, 99, 100])
18660 FOLLOW_set_in_relational_expression1978 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18661 FOLLOW_shift_expression_in_relational_expression1988 = frozenset([1, 97, 98, 99, 100])
18662 FOLLOW_additive_expression_in_shift_expression2001 = frozenset([1, 101, 102])
18663 FOLLOW_set_in_shift_expression2004 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18664 FOLLOW_additive_expression_in_shift_expression2010 = frozenset([1, 101, 102])
18665 FOLLOW_labeled_statement_in_statement2025 = frozenset([1])
18666 FOLLOW_compound_statement_in_statement2030 = frozenset([1])
18667 FOLLOW_expression_statement_in_statement2035 = frozenset([1])
18668 FOLLOW_selection_statement_in_statement2040 = frozenset([1])
18669 FOLLOW_iteration_statement_in_statement2045 = frozenset([1])
18670 FOLLOW_jump_statement_in_statement2050 = frozenset([1])
18671 FOLLOW_macro_statement_in_statement2055 = frozenset([1])
18672 FOLLOW_asm2_statement_in_statement2060 = frozenset([1])
18673 FOLLOW_asm1_statement_in_statement2065 = frozenset([1])
18674 FOLLOW_asm_statement_in_statement2070 = frozenset([1])
18675 FOLLOW_declaration_in_statement2075 = frozenset([1])
18676 FOLLOW_103_in_asm2_statement2086 = frozenset([4])
18677 FOLLOW_IDENTIFIER_in_asm2_statement2089 = frozenset([62])
18678 FOLLOW_62_in_asm2_statement2091 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18679 FOLLOW_set_in_asm2_statement2094 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18680 FOLLOW_63_in_asm2_statement2101 = frozenset([25])
18681 FOLLOW_25_in_asm2_statement2103 = frozenset([1])
18682 FOLLOW_104_in_asm1_statement2115 = frozenset([43])
18683 FOLLOW_43_in_asm1_statement2117 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18684 FOLLOW_set_in_asm1_statement2120 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18685 FOLLOW_44_in_asm1_statement2127 = frozenset([1])
18686 FOLLOW_105_in_asm_statement2138 = frozenset([43])
18687 FOLLOW_43_in_asm_statement2140 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18688 FOLLOW_set_in_asm_statement2143 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18689 FOLLOW_44_in_asm_statement2150 = frozenset([1])
18690 FOLLOW_IDENTIFIER_in_macro_statement2162 = frozenset([62])
18691 FOLLOW_62_in_macro_statement2164 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18692 FOLLOW_declaration_in_macro_statement2166 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18693 FOLLOW_statement_list_in_macro_statement2170 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18694 FOLLOW_expression_in_macro_statement2173 = frozenset([63])
18695 FOLLOW_63_in_macro_statement2176 = frozenset([1])
18696 FOLLOW_IDENTIFIER_in_labeled_statement2188 = frozenset([47])
18697 FOLLOW_47_in_labeled_statement2190 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18698 FOLLOW_statement_in_labeled_statement2192 = frozenset([1])
18699 FOLLOW_106_in_labeled_statement2197 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18700 FOLLOW_constant_expression_in_labeled_statement2199 = frozenset([47])
18701 FOLLOW_47_in_labeled_statement2201 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18702 FOLLOW_statement_in_labeled_statement2203 = frozenset([1])
18703 FOLLOW_107_in_labeled_statement2208 = frozenset([47])
18704 FOLLOW_47_in_labeled_statement2210 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18705 FOLLOW_statement_in_labeled_statement2212 = frozenset([1])
18706 FOLLOW_43_in_compound_statement2223 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18707 FOLLOW_declaration_in_compound_statement2225 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18708 FOLLOW_statement_list_in_compound_statement2228 = frozenset([44])
18709 FOLLOW_44_in_compound_statement2231 = frozenset([1])
18710 FOLLOW_statement_in_statement_list2242 = frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18711 FOLLOW_25_in_expression_statement2254 = frozenset([1])
18712 FOLLOW_expression_in_expression_statement2259 = frozenset([25])
18713 FOLLOW_25_in_expression_statement2261 = frozenset([1])
18714 FOLLOW_108_in_selection_statement2272 = frozenset([62])
18715 FOLLOW_62_in_selection_statement2274 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18716 FOLLOW_expression_in_selection_statement2278 = frozenset([63])
18717 FOLLOW_63_in_selection_statement2280 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18718 FOLLOW_statement_in_selection_statement2284 = frozenset([1, 109])
18719 FOLLOW_109_in_selection_statement2299 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18720 FOLLOW_statement_in_selection_statement2301 = frozenset([1])
18721 FOLLOW_110_in_selection_statement2308 = frozenset([62])
18722 FOLLOW_62_in_selection_statement2310 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18723 FOLLOW_expression_in_selection_statement2312 = frozenset([63])
18724 FOLLOW_63_in_selection_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18725 FOLLOW_statement_in_selection_statement2316 = frozenset([1])
18726 FOLLOW_111_in_iteration_statement2327 = frozenset([62])
18727 FOLLOW_62_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18728 FOLLOW_expression_in_iteration_statement2333 = frozenset([63])
18729 FOLLOW_63_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18730 FOLLOW_statement_in_iteration_statement2337 = frozenset([1])
18731 FOLLOW_112_in_iteration_statement2344 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18732 FOLLOW_statement_in_iteration_statement2346 = frozenset([111])
18733 FOLLOW_111_in_iteration_statement2348 = frozenset([62])
18734 FOLLOW_62_in_iteration_statement2350 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18735 FOLLOW_expression_in_iteration_statement2354 = frozenset([63])
18736 FOLLOW_63_in_iteration_statement2356 = frozenset([25])
18737 FOLLOW_25_in_iteration_statement2358 = frozenset([1])
18738 FOLLOW_113_in_iteration_statement2365 = frozenset([62])
18739 FOLLOW_62_in_iteration_statement2367 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18740 FOLLOW_expression_statement_in_iteration_statement2369 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18741 FOLLOW_expression_statement_in_iteration_statement2373 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18742 FOLLOW_expression_in_iteration_statement2375 = frozenset([63])
18743 FOLLOW_63_in_iteration_statement2378 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18744 FOLLOW_statement_in_iteration_statement2380 = frozenset([1])
18745 FOLLOW_114_in_jump_statement2393 = frozenset([4])
18746 FOLLOW_IDENTIFIER_in_jump_statement2395 = frozenset([25])
18747 FOLLOW_25_in_jump_statement2397 = frozenset([1])
18748 FOLLOW_115_in_jump_statement2402 = frozenset([25])
18749 FOLLOW_25_in_jump_statement2404 = frozenset([1])
18750 FOLLOW_116_in_jump_statement2409 = frozenset([25])
18751 FOLLOW_25_in_jump_statement2411 = frozenset([1])
18752 FOLLOW_117_in_jump_statement2416 = frozenset([25])
18753 FOLLOW_25_in_jump_statement2418 = frozenset([1])
18754 FOLLOW_117_in_jump_statement2423 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18755 FOLLOW_expression_in_jump_statement2425 = frozenset([25])
18756 FOLLOW_25_in_jump_statement2427 = frozenset([1])
18757 FOLLOW_declaration_specifiers_in_synpred2100 = frozenset([1])
18758 FOLLOW_declaration_specifiers_in_synpred4100 = frozenset([4, 58, 59, 60, 62, 66])
18759 FOLLOW_declarator_in_synpred4103 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18760 FOLLOW_declaration_in_synpred4105 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18761 FOLLOW_43_in_synpred4108 = frozenset([1])
18762 FOLLOW_declaration_in_synpred5118 = frozenset([1])
18763 FOLLOW_declaration_specifiers_in_synpred7157 = frozenset([1])
18764 FOLLOW_declaration_specifiers_in_synpred10207 = frozenset([1])
18765 FOLLOW_type_specifier_in_synpred14272 = frozenset([1])
18766 FOLLOW_type_qualifier_in_synpred15286 = frozenset([1])
18767 FOLLOW_type_qualifier_in_synpred33444 = frozenset([1])
18768 FOLLOW_IDENTIFIER_in_synpred34442 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18769 FOLLOW_type_qualifier_in_synpred34444 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18770 FOLLOW_declarator_in_synpred34447 = frozenset([1])
18771 FOLLOW_type_qualifier_in_synpred39566 = frozenset([1])
18772 FOLLOW_type_specifier_in_synpred40570 = frozenset([1])
18773 FOLLOW_pointer_in_synpred66784 = frozenset([4, 58, 59, 60, 62])
18774 FOLLOW_58_in_synpred66788 = frozenset([4, 59, 60, 62])
18775 FOLLOW_59_in_synpred66793 = frozenset([4, 60, 62])
18776 FOLLOW_60_in_synpred66798 = frozenset([4, 62])
18777 FOLLOW_direct_declarator_in_synpred66802 = frozenset([1])
18778 FOLLOW_declarator_suffix_in_synpred67821 = frozenset([1])
18779 FOLLOW_58_in_synpred69830 = frozenset([1])
18780 FOLLOW_declarator_suffix_in_synpred70838 = frozenset([1])
18781 FOLLOW_62_in_synpred73878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18782 FOLLOW_parameter_type_list_in_synpred73880 = frozenset([63])
18783 FOLLOW_63_in_synpred73882 = frozenset([1])
18784 FOLLOW_62_in_synpred74892 = frozenset([4])
18785 FOLLOW_identifier_list_in_synpred74894 = frozenset([63])
18786 FOLLOW_63_in_synpred74896 = frozenset([1])
18787 FOLLOW_type_qualifier_in_synpred75921 = frozenset([1])
18788 FOLLOW_pointer_in_synpred76924 = frozenset([1])
18789 FOLLOW_66_in_synpred77919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18790 FOLLOW_type_qualifier_in_synpred77921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18791 FOLLOW_pointer_in_synpred77924 = frozenset([1])
18792 FOLLOW_66_in_synpred78930 = frozenset([66])
18793 FOLLOW_pointer_in_synpred78932 = frozenset([1])
18794 FOLLOW_53_in_synpred81977 = frozenset([1])
18795 FOLLOW_27_in_synpred82974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18796 FOLLOW_53_in_synpred82977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18797 FOLLOW_parameter_declaration_in_synpred82981 = frozenset([1])
18798 FOLLOW_declarator_in_synpred83997 = frozenset([1])
18799 FOLLOW_abstract_declarator_in_synpred84999 = frozenset([1])
18800 FOLLOW_declaration_specifiers_in_synpred86994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18801 FOLLOW_declarator_in_synpred86997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18802 FOLLOW_abstract_declarator_in_synpred86999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18803 FOLLOW_53_in_synpred861004 = frozenset([1])
18804 FOLLOW_specifier_qualifier_list_in_synpred901046 = frozenset([1, 62, 64, 66])
18805 FOLLOW_abstract_declarator_in_synpred901048 = frozenset([1])
18806 FOLLOW_direct_abstract_declarator_in_synpred911067 = frozenset([1])
18807 FOLLOW_62_in_synpred931086 = frozenset([62, 64, 66])
18808 FOLLOW_abstract_declarator_in_synpred931088 = frozenset([63])
18809 FOLLOW_63_in_synpred931090 = frozenset([1])
18810 FOLLOW_abstract_declarator_suffix_in_synpred941098 = frozenset([1])
18811 FOLLOW_62_in_synpred1091282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18812 FOLLOW_type_name_in_synpred1091284 = frozenset([63])
18813 FOLLOW_63_in_synpred1091286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18814 FOLLOW_cast_expression_in_synpred1091288 = frozenset([1])
18815 FOLLOW_74_in_synpred1141330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18816 FOLLOW_unary_expression_in_synpred1141332 = frozenset([1])
18817 FOLLOW_62_in_synpred1171420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18818 FOLLOW_argument_expression_list_in_synpred1171424 = frozenset([63])
18819 FOLLOW_63_in_synpred1171428 = frozenset([1])
18820 FOLLOW_62_in_synpred1181444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18821 FOLLOW_macro_parameter_list_in_synpred1181446 = frozenset([63])
18822 FOLLOW_63_in_synpred1181448 = frozenset([1])
18823 FOLLOW_66_in_synpred1201482 = frozenset([4])
18824 FOLLOW_IDENTIFIER_in_synpred1201486 = frozenset([1])
18825 FOLLOW_STRING_LITERAL_in_synpred1371683 = frozenset([1])
18826 FOLLOW_IDENTIFIER_in_synpred1381680 = frozenset([4, 9])
18827 FOLLOW_STRING_LITERAL_in_synpred1381683 = frozenset([1, 9])
18828 FOLLOW_lvalue_in_synpred1421744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18829 FOLLOW_assignment_operator_in_synpred1421746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18830 FOLLOW_assignment_expression_in_synpred1421748 = frozenset([1])
18831 FOLLOW_expression_statement_in_synpred1692035 = frozenset([1])
18832 FOLLOW_macro_statement_in_synpred1732055 = frozenset([1])
18833 FOLLOW_asm2_statement_in_synpred1742060 = frozenset([1])
18834 FOLLOW_declaration_in_synpred1812166 = frozenset([1])
18835 FOLLOW_statement_list_in_synpred1822170 = frozenset([1])
18836 FOLLOW_declaration_in_synpred1862225 = frozenset([1])
18837 FOLLOW_statement_in_synpred1882242 = frozenset([1])
18838