]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Eot/CParser.py
Sync EDKII BaseTools to BaseTools project r1971
[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 antlr3 import *
4 from antlr3.compat import set, frozenset
5
6 ## @file
7 # The file defines the parser for C source files.
8 #
9 # THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
10 # This file is generated by running:
11 # java org.antlr.Tool C.g
12 #
13 # Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
14 #
15 # This program and the accompanying materials are licensed and made available
16 # under the terms and conditions of the BSD License which accompanies this
17 # distribution. The full text of the license may be found at:
18 # http://opensource.org/licenses/bsd-license.php
19 #
20 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 #
23 ##
24
25 import CodeFragment
26 import FileProfile
27
28
29
30 # for convenience in actions
31 HIDDEN = BaseRecognizer.HIDDEN
32
33 # token types
34 BS=20
35 LINE_COMMENT=23
36 FloatTypeSuffix=16
37 IntegerTypeSuffix=14
38 LETTER=11
39 OCTAL_LITERAL=6
40 CHARACTER_LITERAL=8
41 Exponent=15
42 EOF=-1
43 HexDigit=13
44 STRING_LITERAL=9
45 WS=19
46 FLOATING_POINT_LITERAL=10
47 IDENTIFIER=4
48 UnicodeEscape=18
49 LINE_COMMAND=24
50 UnicodeVocabulary=21
51 HEX_LITERAL=5
52 COMMENT=22
53 DECIMAL_LITERAL=7
54 EscapeSequence=12
55 OctalEscape=17
56
57 # token names
58 tokenNames = [
59 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
60 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
61 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
62 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
63 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
64 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
65 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
66 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
67 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
68 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
69 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
70 "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
71 "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
72 "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
73 "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
74 "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
75 "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
76 "'goto'", "'continue'", "'break'", "'return'"
77 ]
78
79
80 class function_definition_scope(object):
81 def __init__(self):
82 self.ModifierText = None
83 self.DeclText = None
84 self.LBLine = None
85 self.LBOffset = None
86 self.DeclLine = None
87 self.DeclOffset = None
88 class postfix_expression_scope(object):
89 def __init__(self):
90 self.FuncCallText = None
91
92
93 class CParser(Parser):
94 grammarFileName = "C.g"
95 tokenNames = tokenNames
96
97 def __init__(self, input):
98 Parser.__init__(self, input)
99 self.ruleMemo = {}
100
101 self.function_definition_stack = []
102 self.postfix_expression_stack = []
103
104
105
106
107
108
109
110
111 def printTokenInfo(self, line, offset, tokenText):
112 print str(line)+ ',' + str(offset) + ':' + str(tokenText)
113
114 def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text):
115 PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset))
116 FileProfile.PredicateExpressionList.append(PredExp)
117
118 def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
119 EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
120 FileProfile.EnumerationDefinitionList.append(EnumDef)
121
122 def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
123 SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
124 FileProfile.StructUnionDefinitionList.append(SUDef)
125
126 def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText):
127 Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset))
128 FileProfile.TypedefDefinitionList.append(Tdef)
129
130 def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset):
131 FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset))
132 FileProfile.FunctionDefinitionList.append(FuncDef)
133
134 def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText):
135 VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset))
136 FileProfile.VariableDeclarationList.append(VarDecl)
137
138 def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList):
139 FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))
140 FileProfile.FunctionCallingList.append(FuncCall)
141
142
143
144
145 # $ANTLR start translation_unit
146 # C.g:102:1: translation_unit : ( external_declaration )* ;
147 def translation_unit(self, ):
148
149 translation_unit_StartIndex = self.input.index()
150 try:
151 try:
152 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1):
153 return
154
155 # C.g:103:2: ( ( external_declaration )* )
156 # C.g:103:4: ( external_declaration )*
157 # C.g:103:4: ( external_declaration )*
158 while True: #loop1
159 alt1 = 2
160 LA1_0 = self.input.LA(1)
161
162 if (LA1_0 == IDENTIFIER or LA1_0 == 26 or (29 <= LA1_0 <= 42) or (45 <= LA1_0 <= 46) or (48 <= LA1_0 <= 62) or LA1_0 == 66) :
163 alt1 = 1
164
165
166 if alt1 == 1:
167 # C.g:0:0: external_declaration
168 self.following.append(self.FOLLOW_external_declaration_in_translation_unit74)
169 self.external_declaration()
170 self.following.pop()
171 if self.failed:
172 return
173
174
175 else:
176 break #loop1
177
178
179
180
181
182
183 except RecognitionException, re:
184 self.reportError(re)
185 self.recover(self.input, re)
186 finally:
187 if self.backtracking > 0:
188 self.memoize(self.input, 1, translation_unit_StartIndex)
189
190 pass
191
192 return
193
194 # $ANTLR end translation_unit
195
196
197 # $ANTLR start external_declaration
198 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
199 def external_declaration(self, ):
200
201 external_declaration_StartIndex = self.input.index()
202 try:
203 try:
204 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
205 return
206
207 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
208 alt3 = 3
209 LA3_0 = self.input.LA(1)
210
211 if ((29 <= LA3_0 <= 33)) :
212 LA3_1 = self.input.LA(2)
213
214 if (self.synpred4()) :
215 alt3 = 1
216 elif (self.synpred5()) :
217 alt3 = 2
218 else:
219 if self.backtracking > 0:
220 self.failed = True
221 return
222
223 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
224
225 raise nvae
226
227 elif (LA3_0 == 34) :
228 LA3_2 = self.input.LA(2)
229
230 if (self.synpred4()) :
231 alt3 = 1
232 elif (self.synpred5()) :
233 alt3 = 2
234 else:
235 if self.backtracking > 0:
236 self.failed = True
237 return
238
239 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
240
241 raise nvae
242
243 elif (LA3_0 == 35) :
244 LA3_3 = self.input.LA(2)
245
246 if (self.synpred4()) :
247 alt3 = 1
248 elif (self.synpred5()) :
249 alt3 = 2
250 else:
251 if self.backtracking > 0:
252 self.failed = True
253 return
254
255 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
256
257 raise nvae
258
259 elif (LA3_0 == 36) :
260 LA3_4 = self.input.LA(2)
261
262 if (self.synpred4()) :
263 alt3 = 1
264 elif (self.synpred5()) :
265 alt3 = 2
266 else:
267 if self.backtracking > 0:
268 self.failed = True
269 return
270
271 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
272
273 raise nvae
274
275 elif (LA3_0 == 37) :
276 LA3_5 = self.input.LA(2)
277
278 if (self.synpred4()) :
279 alt3 = 1
280 elif (self.synpred5()) :
281 alt3 = 2
282 else:
283 if self.backtracking > 0:
284 self.failed = True
285 return
286
287 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
288
289 raise nvae
290
291 elif (LA3_0 == 38) :
292 LA3_6 = self.input.LA(2)
293
294 if (self.synpred4()) :
295 alt3 = 1
296 elif (self.synpred5()) :
297 alt3 = 2
298 else:
299 if self.backtracking > 0:
300 self.failed = True
301 return
302
303 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
304
305 raise nvae
306
307 elif (LA3_0 == 39) :
308 LA3_7 = self.input.LA(2)
309
310 if (self.synpred4()) :
311 alt3 = 1
312 elif (self.synpred5()) :
313 alt3 = 2
314 else:
315 if self.backtracking > 0:
316 self.failed = True
317 return
318
319 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
320
321 raise nvae
322
323 elif (LA3_0 == 40) :
324 LA3_8 = self.input.LA(2)
325
326 if (self.synpred4()) :
327 alt3 = 1
328 elif (self.synpred5()) :
329 alt3 = 2
330 else:
331 if self.backtracking > 0:
332 self.failed = True
333 return
334
335 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
336
337 raise nvae
338
339 elif (LA3_0 == 41) :
340 LA3_9 = self.input.LA(2)
341
342 if (self.synpred4()) :
343 alt3 = 1
344 elif (self.synpred5()) :
345 alt3 = 2
346 else:
347 if self.backtracking > 0:
348 self.failed = True
349 return
350
351 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
352
353 raise nvae
354
355 elif (LA3_0 == 42) :
356 LA3_10 = self.input.LA(2)
357
358 if (self.synpred4()) :
359 alt3 = 1
360 elif (self.synpred5()) :
361 alt3 = 2
362 else:
363 if self.backtracking > 0:
364 self.failed = True
365 return
366
367 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
368
369 raise nvae
370
371 elif ((45 <= LA3_0 <= 46)) :
372 LA3_11 = self.input.LA(2)
373
374 if (self.synpred4()) :
375 alt3 = 1
376 elif (self.synpred5()) :
377 alt3 = 2
378 else:
379 if self.backtracking > 0:
380 self.failed = True
381 return
382
383 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
384
385 raise nvae
386
387 elif (LA3_0 == 48) :
388 LA3_12 = self.input.LA(2)
389
390 if (self.synpred4()) :
391 alt3 = 1
392 elif (self.synpred5()) :
393 alt3 = 2
394 else:
395 if self.backtracking > 0:
396 self.failed = True
397 return
398
399 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
400
401 raise nvae
402
403 elif (LA3_0 == IDENTIFIER) :
404 LA3_13 = self.input.LA(2)
405
406 if (self.synpred4()) :
407 alt3 = 1
408 elif (self.synpred5()) :
409 alt3 = 2
410 elif (True) :
411 alt3 = 3
412 else:
413 if self.backtracking > 0:
414 self.failed = True
415 return
416
417 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
418
419 raise nvae
420
421 elif (LA3_0 == 58) :
422 LA3_14 = self.input.LA(2)
423
424 if (self.synpred4()) :
425 alt3 = 1
426 elif (self.synpred5()) :
427 alt3 = 2
428 else:
429 if self.backtracking > 0:
430 self.failed = True
431 return
432
433 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
434
435 raise nvae
436
437 elif (LA3_0 == 66) and (self.synpred4()):
438 alt3 = 1
439 elif (LA3_0 == 59) :
440 LA3_16 = self.input.LA(2)
441
442 if (self.synpred4()) :
443 alt3 = 1
444 elif (self.synpred5()) :
445 alt3 = 2
446 else:
447 if self.backtracking > 0:
448 self.failed = True
449 return
450
451 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
452
453 raise nvae
454
455 elif (LA3_0 == 60) :
456 LA3_17 = self.input.LA(2)
457
458 if (self.synpred4()) :
459 alt3 = 1
460 elif (self.synpred5()) :
461 alt3 = 2
462 else:
463 if self.backtracking > 0:
464 self.failed = True
465 return
466
467 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input)
468
469 raise nvae
470
471 elif ((49 <= LA3_0 <= 57) or LA3_0 == 61) :
472 LA3_18 = self.input.LA(2)
473
474 if (self.synpred4()) :
475 alt3 = 1
476 elif (self.synpred5()) :
477 alt3 = 2
478 else:
479 if self.backtracking > 0:
480 self.failed = True
481 return
482
483 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
484
485 raise nvae
486
487 elif (LA3_0 == 62) and (self.synpred4()):
488 alt3 = 1
489 elif (LA3_0 == 26) :
490 alt3 = 2
491 else:
492 if self.backtracking > 0:
493 self.failed = True
494 return
495
496 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input)
497
498 raise nvae
499
500 if alt3 == 1:
501 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
502 self.following.append(self.FOLLOW_function_definition_in_external_declaration113)
503 self.function_definition()
504 self.following.pop()
505 if self.failed:
506 return
507
508
509 elif alt3 == 2:
510 # C.g:120:4: declaration
511 self.following.append(self.FOLLOW_declaration_in_external_declaration118)
512 self.declaration()
513 self.following.pop()
514 if self.failed:
515 return
516
517
518 elif alt3 == 3:
519 # C.g:121:4: macro_statement ( ';' )?
520 self.following.append(self.FOLLOW_macro_statement_in_external_declaration123)
521 self.macro_statement()
522 self.following.pop()
523 if self.failed:
524 return
525 # C.g:121:20: ( ';' )?
526 alt2 = 2
527 LA2_0 = self.input.LA(1)
528
529 if (LA2_0 == 25) :
530 alt2 = 1
531 if alt2 == 1:
532 # C.g:121:21: ';'
533 self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126)
534 if self.failed:
535 return
536
537
538
539
540
541
542 except RecognitionException, re:
543 self.reportError(re)
544 self.recover(self.input, re)
545 finally:
546 if self.backtracking > 0:
547 self.memoize(self.input, 2, external_declaration_StartIndex)
548
549 pass
550
551 return
552
553 # $ANTLR end external_declaration
554
555 class function_definition_return(object):
556 def __init__(self):
557 self.start = None
558 self.stop = None
559
560
561
562 # $ANTLR start function_definition
563 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
564 def function_definition(self, ):
565 self.function_definition_stack.append(function_definition_scope())
566 retval = self.function_definition_return()
567 retval.start = self.input.LT(1)
568 function_definition_StartIndex = self.input.index()
569 d = None
570
571 a = None
572
573 b = None
574
575 declarator1 = None
576
577
578
579 self.function_definition_stack[-1].ModifierText = ''
580 self.function_definition_stack[-1].DeclText = ''
581 self.function_definition_stack[-1].LBLine = 0
582 self.function_definition_stack[-1].LBOffset = 0
583 self.function_definition_stack[-1].DeclLine = 0
584 self.function_definition_stack[-1].DeclOffset = 0
585
586 try:
587 try:
588 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3):
589 return retval
590
591 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
592 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
593 # C.g:146:5: (d= declaration_specifiers )?
594 alt4 = 2
595 LA4 = self.input.LA(1)
596 if LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33 or LA4 == 34 or LA4 == 35 or LA4 == 36 or LA4 == 37 or LA4 == 38 or LA4 == 39 or LA4 == 40 or LA4 == 41 or LA4 == 42 or LA4 == 45 or LA4 == 46 or LA4 == 48 or LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61:
597 alt4 = 1
598 elif LA4 == IDENTIFIER:
599 LA4 = self.input.LA(2)
600 if LA4 == 66:
601 alt4 = 1
602 elif LA4 == 58:
603 LA4_21 = self.input.LA(3)
604
605 if (self.synpred7()) :
606 alt4 = 1
607 elif LA4 == 59:
608 LA4_22 = self.input.LA(3)
609
610 if (self.synpred7()) :
611 alt4 = 1
612 elif LA4 == 60:
613 LA4_23 = self.input.LA(3)
614
615 if (self.synpred7()) :
616 alt4 = 1
617 elif LA4 == IDENTIFIER:
618 LA4_24 = self.input.LA(3)
619
620 if (self.synpred7()) :
621 alt4 = 1
622 elif LA4 == 62:
623 LA4_25 = self.input.LA(3)
624
625 if (self.synpred7()) :
626 alt4 = 1
627 elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33:
628 LA4_26 = self.input.LA(3)
629
630 if (self.synpred7()) :
631 alt4 = 1
632 elif LA4 == 34:
633 LA4_27 = self.input.LA(3)
634
635 if (self.synpred7()) :
636 alt4 = 1
637 elif LA4 == 35:
638 LA4_28 = self.input.LA(3)
639
640 if (self.synpred7()) :
641 alt4 = 1
642 elif LA4 == 36:
643 LA4_29 = self.input.LA(3)
644
645 if (self.synpred7()) :
646 alt4 = 1
647 elif LA4 == 37:
648 LA4_30 = self.input.LA(3)
649
650 if (self.synpred7()) :
651 alt4 = 1
652 elif LA4 == 38:
653 LA4_31 = self.input.LA(3)
654
655 if (self.synpred7()) :
656 alt4 = 1
657 elif LA4 == 39:
658 LA4_32 = self.input.LA(3)
659
660 if (self.synpred7()) :
661 alt4 = 1
662 elif LA4 == 40:
663 LA4_33 = self.input.LA(3)
664
665 if (self.synpred7()) :
666 alt4 = 1
667 elif LA4 == 41:
668 LA4_34 = self.input.LA(3)
669
670 if (self.synpred7()) :
671 alt4 = 1
672 elif LA4 == 42:
673 LA4_35 = self.input.LA(3)
674
675 if (self.synpred7()) :
676 alt4 = 1
677 elif LA4 == 45 or LA4 == 46:
678 LA4_36 = self.input.LA(3)
679
680 if (self.synpred7()) :
681 alt4 = 1
682 elif LA4 == 48:
683 LA4_37 = self.input.LA(3)
684
685 if (self.synpred7()) :
686 alt4 = 1
687 elif LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61:
688 LA4_38 = self.input.LA(3)
689
690 if (self.synpred7()) :
691 alt4 = 1
692 elif LA4 == 58:
693 LA4_14 = self.input.LA(2)
694
695 if (self.synpred7()) :
696 alt4 = 1
697 elif LA4 == 59:
698 LA4_16 = self.input.LA(2)
699
700 if (self.synpred7()) :
701 alt4 = 1
702 elif LA4 == 60:
703 LA4_17 = self.input.LA(2)
704
705 if (self.synpred7()) :
706 alt4 = 1
707 if alt4 == 1:
708 # C.g:0:0: d= declaration_specifiers
709 self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition157)
710 d = self.declaration_specifiers()
711 self.following.pop()
712 if self.failed:
713 return retval
714
715
716
717 self.following.append(self.FOLLOW_declarator_in_function_definition160)
718 declarator1 = self.declarator()
719 self.following.pop()
720 if self.failed:
721 return retval
722 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
723 alt6 = 2
724 LA6_0 = self.input.LA(1)
725
726 if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 61)) :
727 alt6 = 1
728 elif (LA6_0 == 43) :
729 alt6 = 2
730 else:
731 if self.backtracking > 0:
732 self.failed = True
733 return retval
734
735 nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
736
737 raise nvae
738
739 if alt6 == 1:
740 # C.g:147:5: ( declaration )+ a= compound_statement
741 # C.g:147:5: ( declaration )+
742 cnt5 = 0
743 while True: #loop5
744 alt5 = 2
745 LA5_0 = self.input.LA(1)
746
747 if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 61)) :
748 alt5 = 1
749
750
751 if alt5 == 1:
752 # C.g:0:0: declaration
753 self.following.append(self.FOLLOW_declaration_in_function_definition166)
754 self.declaration()
755 self.following.pop()
756 if self.failed:
757 return retval
758
759
760 else:
761 if cnt5 >= 1:
762 break #loop5
763
764 if self.backtracking > 0:
765 self.failed = True
766 return retval
767
768 eee = EarlyExitException(5, self.input)
769 raise eee
770
771 cnt5 += 1
772
773
774 self.following.append(self.FOLLOW_compound_statement_in_function_definition171)
775 a = self.compound_statement()
776 self.following.pop()
777 if self.failed:
778 return retval
779
780
781 elif alt6 == 2:
782 # C.g:148:5: b= compound_statement
783 self.following.append(self.FOLLOW_compound_statement_in_function_definition180)
784 b = self.compound_statement()
785 self.following.pop()
786 if self.failed:
787 return retval
788
789
790
791 if self.backtracking == 0:
792
793 if d != None:
794 self.function_definition_stack[-1].ModifierText = self.input.toString(d.start,d.stop)
795 else:
796 self.function_definition_stack[-1].ModifierText = ''
797 self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start,declarator1.stop)
798 self.function_definition_stack[-1].DeclLine = declarator1.start.line
799 self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine
800 if a != None:
801 self.function_definition_stack[-1].LBLine = a.start.line
802 self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine
803 else:
804 self.function_definition_stack[-1].LBLine = b.start.line
805 self.function_definition_stack[-1].LBOffset = b.start.charPositionInLine
806
807
808
809
810
811 retval.stop = self.input.LT(-1)
812
813 if self.backtracking == 0:
814
815 self.StoreFunctionDefinition(retval.start.line, retval.start.charPositionInLine, retval.stop.line, retval.stop.charPositionInLine, self.function_definition_stack[-1].ModifierText, self.function_definition_stack[-1].DeclText, self.function_definition_stack[-1].LBLine, self.function_definition_stack[-1].LBOffset, self.function_definition_stack[-1].DeclLine, self.function_definition_stack[-1].DeclOffset)
816
817
818
819 except RecognitionException, re:
820 self.reportError(re)
821 self.recover(self.input, re)
822 finally:
823 if self.backtracking > 0:
824 self.memoize(self.input, 3, function_definition_StartIndex)
825
826 self.function_definition_stack.pop()
827 pass
828
829 return retval
830
831 # $ANTLR end function_definition
832
833
834 # $ANTLR start declaration
835 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
836 def declaration(self, ):
837
838 declaration_StartIndex = self.input.index()
839 a = None
840 d = None
841 e = None
842 b = None
843
844 c = None
845
846 s = None
847
848 t = None
849
850
851 try:
852 try:
853 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
854 return
855
856 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
857 alt9 = 2
858 LA9_0 = self.input.LA(1)
859
860 if (LA9_0 == 26) :
861 alt9 = 1
862 elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 61)) :
863 alt9 = 2
864 else:
865 if self.backtracking > 0:
866 self.failed = True
867 return
868
869 nvae = NoViableAltException("166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input)
870
871 raise nvae
872
873 if alt9 == 1:
874 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
875 a = self.input.LT(1)
876 self.match(self.input, 26, self.FOLLOW_26_in_declaration203)
877 if self.failed:
878 return
879 # C.g:167:17: (b= declaration_specifiers )?
880 alt7 = 2
881 LA7 = self.input.LA(1)
882 if LA7 == 29 or LA7 == 30 or LA7 == 31 or LA7 == 32 or LA7 == 33 or LA7 == 34 or LA7 == 35 or LA7 == 36 or LA7 == 37 or LA7 == 38 or LA7 == 39 or LA7 == 40 or LA7 == 41 or LA7 == 42 or LA7 == 45 or LA7 == 46 or LA7 == 48 or LA7 == 49 or LA7 == 50 or LA7 == 51 or LA7 == 52 or LA7 == 53 or LA7 == 54 or LA7 == 55 or LA7 == 56 or LA7 == 57 or LA7 == 61:
883 alt7 = 1
884 elif LA7 == IDENTIFIER:
885 LA7_13 = self.input.LA(2)
886
887 if (LA7_13 == 62) :
888 LA7_21 = self.input.LA(3)
889
890 if (self.synpred10()) :
891 alt7 = 1
892 elif (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 61) or LA7_13 == 66) :
893 alt7 = 1
894 elif LA7 == 58:
895 LA7_14 = self.input.LA(2)
896
897 if (self.synpred10()) :
898 alt7 = 1
899 elif LA7 == 59:
900 LA7_16 = self.input.LA(2)
901
902 if (self.synpred10()) :
903 alt7 = 1
904 elif LA7 == 60:
905 LA7_17 = self.input.LA(2)
906
907 if (self.synpred10()) :
908 alt7 = 1
909 if alt7 == 1:
910 # C.g:0:0: b= declaration_specifiers
911 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207)
912 b = self.declaration_specifiers()
913 self.following.pop()
914 if self.failed:
915 return
916
917
918
919 self.following.append(self.FOLLOW_init_declarator_list_in_declaration216)
920 c = self.init_declarator_list()
921 self.following.pop()
922 if self.failed:
923 return
924 d = self.input.LT(1)
925 self.match(self.input, 25, self.FOLLOW_25_in_declaration220)
926 if self.failed:
927 return
928 if self.backtracking == 0:
929
930 if b != None:
931 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start,b.stop), self.input.toString(c.start,c.stop))
932 else:
933 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start,c.stop))
934
935
936
937
938 elif alt9 == 2:
939 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
940 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration234)
941 s = self.declaration_specifiers()
942 self.following.pop()
943 if self.failed:
944 return
945 # C.g:175:30: (t= init_declarator_list )?
946 alt8 = 2
947 LA8_0 = self.input.LA(1)
948
949 if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 60) or LA8_0 == 62 or LA8_0 == 66) :
950 alt8 = 1
951 if alt8 == 1:
952 # C.g:0:0: t= init_declarator_list
953 self.following.append(self.FOLLOW_init_declarator_list_in_declaration238)
954 t = self.init_declarator_list()
955 self.following.pop()
956 if self.failed:
957 return
958
959
960
961 e = self.input.LT(1)
962 self.match(self.input, 25, self.FOLLOW_25_in_declaration243)
963 if self.failed:
964 return
965 if self.backtracking == 0:
966
967 if t != None:
968 self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start,s.stop), self.input.toString(t.start,t.stop))
969
970
971
972
973
974 except RecognitionException, re:
975 self.reportError(re)
976 self.recover(self.input, re)
977 finally:
978 if self.backtracking > 0:
979 self.memoize(self.input, 4, declaration_StartIndex)
980
981 pass
982
983 return
984
985 # $ANTLR end declaration
986
987 class declaration_specifiers_return(object):
988 def __init__(self):
989 self.start = None
990 self.stop = None
991
992
993
994 # $ANTLR start declaration_specifiers
995 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
996 def declaration_specifiers(self, ):
997
998 retval = self.declaration_specifiers_return()
999 retval.start = self.input.LT(1)
1000 declaration_specifiers_StartIndex = self.input.index()
1001 try:
1002 try:
1003 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
1004 return retval
1005
1006 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
1007 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1008 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1009 cnt10 = 0
1010 while True: #loop10
1011 alt10 = 4
1012 LA10 = self.input.LA(1)
1013 if LA10 == 58:
1014 LA10_2 = self.input.LA(2)
1015
1016 if (self.synpred15()) :
1017 alt10 = 3
1018
1019
1020 elif LA10 == 59:
1021 LA10_3 = self.input.LA(2)
1022
1023 if (self.synpred15()) :
1024 alt10 = 3
1025
1026
1027 elif LA10 == 60:
1028 LA10_4 = self.input.LA(2)
1029
1030 if (self.synpred15()) :
1031 alt10 = 3
1032
1033
1034 elif LA10 == IDENTIFIER:
1035 LA10_5 = self.input.LA(2)
1036
1037 if (self.synpred14()) :
1038 alt10 = 2
1039
1040
1041 elif LA10 == 53:
1042 LA10_9 = self.input.LA(2)
1043
1044 if (self.synpred15()) :
1045 alt10 = 3
1046
1047
1048 elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
1049 alt10 = 1
1050 elif LA10 == 34 or LA10 == 35 or LA10 == 36 or LA10 == 37 or LA10 == 38 or LA10 == 39 or LA10 == 40 or LA10 == 41 or LA10 == 42 or LA10 == 45 or LA10 == 46 or LA10 == 48:
1051 alt10 = 2
1052 elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57 or LA10 == 61:
1053 alt10 = 3
1054
1055 if alt10 == 1:
1056 # C.g:183:10: storage_class_specifier
1057 self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers264)
1058 self.storage_class_specifier()
1059 self.following.pop()
1060 if self.failed:
1061 return retval
1062
1063
1064 elif alt10 == 2:
1065 # C.g:184:7: type_specifier
1066 self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers272)
1067 self.type_specifier()
1068 self.following.pop()
1069 if self.failed:
1070 return retval
1071
1072
1073 elif alt10 == 3:
1074 # C.g:185:13: type_qualifier
1075 self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers286)
1076 self.type_qualifier()
1077 self.following.pop()
1078 if self.failed:
1079 return retval
1080
1081
1082 else:
1083 if cnt10 >= 1:
1084 break #loop10
1085
1086 if self.backtracking > 0:
1087 self.failed = True
1088 return retval
1089
1090 eee = EarlyExitException(10, self.input)
1091 raise eee
1092
1093 cnt10 += 1
1094
1095
1096
1097
1098
1099 retval.stop = self.input.LT(-1)
1100
1101
1102 except RecognitionException, re:
1103 self.reportError(re)
1104 self.recover(self.input, re)
1105 finally:
1106 if self.backtracking > 0:
1107 self.memoize(self.input, 5, declaration_specifiers_StartIndex)
1108
1109 pass
1110
1111 return retval
1112
1113 # $ANTLR end declaration_specifiers
1114
1115 class init_declarator_list_return(object):
1116 def __init__(self):
1117 self.start = None
1118 self.stop = None
1119
1120
1121
1122 # $ANTLR start init_declarator_list
1123 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1124 def init_declarator_list(self, ):
1125
1126 retval = self.init_declarator_list_return()
1127 retval.start = self.input.LT(1)
1128 init_declarator_list_StartIndex = self.input.index()
1129 try:
1130 try:
1131 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
1132 return retval
1133
1134 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1135 # C.g:190:4: init_declarator ( ',' init_declarator )*
1136 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list308)
1137 self.init_declarator()
1138 self.following.pop()
1139 if self.failed:
1140 return retval
1141 # C.g:190:20: ( ',' init_declarator )*
1142 while True: #loop11
1143 alt11 = 2
1144 LA11_0 = self.input.LA(1)
1145
1146 if (LA11_0 == 27) :
1147 alt11 = 1
1148
1149
1150 if alt11 == 1:
1151 # C.g:190:21: ',' init_declarator
1152 self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list311)
1153 if self.failed:
1154 return retval
1155 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list313)
1156 self.init_declarator()
1157 self.following.pop()
1158 if self.failed:
1159 return retval
1160
1161
1162 else:
1163 break #loop11
1164
1165
1166
1167
1168
1169 retval.stop = self.input.LT(-1)
1170
1171
1172 except RecognitionException, re:
1173 self.reportError(re)
1174 self.recover(self.input, re)
1175 finally:
1176 if self.backtracking > 0:
1177 self.memoize(self.input, 6, init_declarator_list_StartIndex)
1178
1179 pass
1180
1181 return retval
1182
1183 # $ANTLR end init_declarator_list
1184
1185
1186 # $ANTLR start init_declarator
1187 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1188 def init_declarator(self, ):
1189
1190 init_declarator_StartIndex = self.input.index()
1191 try:
1192 try:
1193 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
1194 return
1195
1196 # C.g:194:2: ( declarator ( '=' initializer )? )
1197 # C.g:194:4: declarator ( '=' initializer )?
1198 self.following.append(self.FOLLOW_declarator_in_init_declarator326)
1199 self.declarator()
1200 self.following.pop()
1201 if self.failed:
1202 return
1203 # C.g:194:15: ( '=' initializer )?
1204 alt12 = 2
1205 LA12_0 = self.input.LA(1)
1206
1207 if (LA12_0 == 28) :
1208 alt12 = 1
1209 if alt12 == 1:
1210 # C.g:194:16: '=' initializer
1211 self.match(self.input, 28, self.FOLLOW_28_in_init_declarator329)
1212 if self.failed:
1213 return
1214 self.following.append(self.FOLLOW_initializer_in_init_declarator331)
1215 self.initializer()
1216 self.following.pop()
1217 if self.failed:
1218 return
1219
1220
1221
1222
1223
1224
1225
1226 except RecognitionException, re:
1227 self.reportError(re)
1228 self.recover(self.input, re)
1229 finally:
1230 if self.backtracking > 0:
1231 self.memoize(self.input, 7, init_declarator_StartIndex)
1232
1233 pass
1234
1235 return
1236
1237 # $ANTLR end init_declarator
1238
1239
1240 # $ANTLR start storage_class_specifier
1241 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1242 def storage_class_specifier(self, ):
1243
1244 storage_class_specifier_StartIndex = self.input.index()
1245 try:
1246 try:
1247 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
1248 return
1249
1250 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1251 # C.g:
1252 if (29 <= self.input.LA(1) <= 33):
1253 self.input.consume();
1254 self.errorRecovery = False
1255 self.failed = False
1256
1257 else:
1258 if self.backtracking > 0:
1259 self.failed = True
1260 return
1261
1262 mse = MismatchedSetException(None, self.input)
1263 self.recoverFromMismatchedSet(
1264 self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
1265 )
1266 raise mse
1267
1268
1269
1270
1271
1272
1273 except RecognitionException, re:
1274 self.reportError(re)
1275 self.recover(self.input, re)
1276 finally:
1277 if self.backtracking > 0:
1278 self.memoize(self.input, 8, storage_class_specifier_StartIndex)
1279
1280 pass
1281
1282 return
1283
1284 # $ANTLR end storage_class_specifier
1285
1286
1287 # $ANTLR start type_specifier
1288 # C.g:205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );
1289 def type_specifier(self, ):
1290
1291 type_specifier_StartIndex = self.input.index()
1292 s = None
1293
1294 e = None
1295
1296
1297 try:
1298 try:
1299 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
1300 return
1301
1302 # C.g:206:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
1303 alt13 = 12
1304 LA13_0 = self.input.LA(1)
1305
1306 if (LA13_0 == 34) :
1307 alt13 = 1
1308 elif (LA13_0 == 35) :
1309 alt13 = 2
1310 elif (LA13_0 == 36) :
1311 alt13 = 3
1312 elif (LA13_0 == 37) :
1313 alt13 = 4
1314 elif (LA13_0 == 38) :
1315 alt13 = 5
1316 elif (LA13_0 == 39) :
1317 alt13 = 6
1318 elif (LA13_0 == 40) :
1319 alt13 = 7
1320 elif (LA13_0 == 41) :
1321 alt13 = 8
1322 elif (LA13_0 == 42) :
1323 alt13 = 9
1324 elif ((45 <= LA13_0 <= 46)) :
1325 alt13 = 10
1326 elif (LA13_0 == 48) :
1327 alt13 = 11
1328 elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
1329 alt13 = 12
1330 else:
1331 if self.backtracking > 0:
1332 self.failed = True
1333 return
1334
1335 nvae = NoViableAltException("205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self.input)
1336
1337 raise nvae
1338
1339 if alt13 == 1:
1340 # C.g:206:4: 'void'
1341 self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376)
1342 if self.failed:
1343 return
1344
1345
1346 elif alt13 == 2:
1347 # C.g:207:4: 'char'
1348 self.match(self.input, 35, self.FOLLOW_35_in_type_specifier381)
1349 if self.failed:
1350 return
1351
1352
1353 elif alt13 == 3:
1354 # C.g:208:4: 'short'
1355 self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386)
1356 if self.failed:
1357 return
1358
1359
1360 elif alt13 == 4:
1361 # C.g:209:4: 'int'
1362 self.match(self.input, 37, self.FOLLOW_37_in_type_specifier391)
1363 if self.failed:
1364 return
1365
1366
1367 elif alt13 == 5:
1368 # C.g:210:4: 'long'
1369 self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396)
1370 if self.failed:
1371 return
1372
1373
1374 elif alt13 == 6:
1375 # C.g:211:4: 'float'
1376 self.match(self.input, 39, self.FOLLOW_39_in_type_specifier401)
1377 if self.failed:
1378 return
1379
1380
1381 elif alt13 == 7:
1382 # C.g:212:4: 'double'
1383 self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406)
1384 if self.failed:
1385 return
1386
1387
1388 elif alt13 == 8:
1389 # C.g:213:4: 'signed'
1390 self.match(self.input, 41, self.FOLLOW_41_in_type_specifier411)
1391 if self.failed:
1392 return
1393
1394
1395 elif alt13 == 9:
1396 # C.g:214:4: 'unsigned'
1397 self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416)
1398 if self.failed:
1399 return
1400
1401
1402 elif alt13 == 10:
1403 # C.g:215:4: s= struct_or_union_specifier
1404 self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier423)
1405 s = self.struct_or_union_specifier()
1406 self.following.pop()
1407 if self.failed:
1408 return
1409 if self.backtracking == 0:
1410
1411 if s.stop != None:
1412 self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start,s.stop))
1413
1414
1415
1416
1417 elif alt13 == 11:
1418 # C.g:220:4: e= enum_specifier
1419 self.following.append(self.FOLLOW_enum_specifier_in_type_specifier433)
1420 e = self.enum_specifier()
1421 self.following.pop()
1422 if self.failed:
1423 return
1424 if self.backtracking == 0:
1425
1426 if e.stop != None:
1427 self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
1428
1429
1430
1431
1432 elif alt13 == 12:
1433 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1434 self.following.append(self.FOLLOW_type_id_in_type_specifier451)
1435 self.type_id()
1436 self.following.pop()
1437 if self.failed:
1438 return
1439
1440
1441
1442 except RecognitionException, re:
1443 self.reportError(re)
1444 self.recover(self.input, re)
1445 finally:
1446 if self.backtracking > 0:
1447 self.memoize(self.input, 9, type_specifier_StartIndex)
1448
1449 pass
1450
1451 return
1452
1453 # $ANTLR end type_specifier
1454
1455
1456 # $ANTLR start type_id
1457 # C.g:228:1: type_id : IDENTIFIER ;
1458 def type_id(self, ):
1459
1460 type_id_StartIndex = self.input.index()
1461 try:
1462 try:
1463 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
1464 return
1465
1466 # C.g:229:5: ( IDENTIFIER )
1467 # C.g:229:9: IDENTIFIER
1468 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id467)
1469 if self.failed:
1470 return
1471
1472
1473
1474
1475 except RecognitionException, re:
1476 self.reportError(re)
1477 self.recover(self.input, re)
1478 finally:
1479 if self.backtracking > 0:
1480 self.memoize(self.input, 10, type_id_StartIndex)
1481
1482 pass
1483
1484 return
1485
1486 # $ANTLR end type_id
1487
1488 class struct_or_union_specifier_return(object):
1489 def __init__(self):
1490 self.start = None
1491 self.stop = None
1492
1493
1494
1495 # $ANTLR start struct_or_union_specifier
1496 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1497 def struct_or_union_specifier(self, ):
1498
1499 retval = self.struct_or_union_specifier_return()
1500 retval.start = self.input.LT(1)
1501 struct_or_union_specifier_StartIndex = self.input.index()
1502 try:
1503 try:
1504 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
1505 return retval
1506
1507 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1508 alt15 = 2
1509 LA15_0 = self.input.LA(1)
1510
1511 if ((45 <= LA15_0 <= 46)) :
1512 LA15_1 = self.input.LA(2)
1513
1514 if (LA15_1 == IDENTIFIER) :
1515 LA15_2 = self.input.LA(3)
1516
1517 if (LA15_2 == 43) :
1518 alt15 = 1
1519 elif (LA15_2 == EOF or LA15_2 == IDENTIFIER or LA15_2 == 25 or LA15_2 == 27 or (29 <= LA15_2 <= 42) or (45 <= LA15_2 <= 64) or LA15_2 == 66) :
1520 alt15 = 2
1521 else:
1522 if self.backtracking > 0:
1523 self.failed = True
1524 return retval
1525
1526 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input)
1527
1528 raise nvae
1529
1530 elif (LA15_1 == 43) :
1531 alt15 = 1
1532 else:
1533 if self.backtracking > 0:
1534 self.failed = True
1535 return retval
1536
1537 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input)
1538
1539 raise nvae
1540
1541 else:
1542 if self.backtracking > 0:
1543 self.failed = True
1544 return retval
1545
1546 nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input)
1547
1548 raise nvae
1549
1550 if alt15 == 1:
1551 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1552 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier494)
1553 self.struct_or_union()
1554 self.following.pop()
1555 if self.failed:
1556 return retval
1557 # C.g:235:20: ( IDENTIFIER )?
1558 alt14 = 2
1559 LA14_0 = self.input.LA(1)
1560
1561 if (LA14_0 == IDENTIFIER) :
1562 alt14 = 1
1563 if alt14 == 1:
1564 # C.g:0:0: IDENTIFIER
1565 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496)
1566 if self.failed:
1567 return retval
1568
1569
1570
1571 self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier499)
1572 if self.failed:
1573 return retval
1574 self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501)
1575 self.struct_declaration_list()
1576 self.following.pop()
1577 if self.failed:
1578 return retval
1579 self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier503)
1580 if self.failed:
1581 return retval
1582
1583
1584 elif alt15 == 2:
1585 # C.g:236:4: struct_or_union IDENTIFIER
1586 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier508)
1587 self.struct_or_union()
1588 self.following.pop()
1589 if self.failed:
1590 return retval
1591 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510)
1592 if self.failed:
1593 return retval
1594
1595
1596 retval.stop = self.input.LT(-1)
1597
1598
1599 except RecognitionException, re:
1600 self.reportError(re)
1601 self.recover(self.input, re)
1602 finally:
1603 if self.backtracking > 0:
1604 self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
1605
1606 pass
1607
1608 return retval
1609
1610 # $ANTLR end struct_or_union_specifier
1611
1612
1613 # $ANTLR start struct_or_union
1614 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1615 def struct_or_union(self, ):
1616
1617 struct_or_union_StartIndex = self.input.index()
1618 try:
1619 try:
1620 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
1621 return
1622
1623 # C.g:240:2: ( 'struct' | 'union' )
1624 # C.g:
1625 if (45 <= self.input.LA(1) <= 46):
1626 self.input.consume();
1627 self.errorRecovery = False
1628 self.failed = False
1629
1630 else:
1631 if self.backtracking > 0:
1632 self.failed = True
1633 return
1634
1635 mse = MismatchedSetException(None, self.input)
1636 self.recoverFromMismatchedSet(
1637 self.input, mse, self.FOLLOW_set_in_struct_or_union0
1638 )
1639 raise mse
1640
1641
1642
1643
1644
1645
1646 except RecognitionException, re:
1647 self.reportError(re)
1648 self.recover(self.input, re)
1649 finally:
1650 if self.backtracking > 0:
1651 self.memoize(self.input, 12, struct_or_union_StartIndex)
1652
1653 pass
1654
1655 return
1656
1657 # $ANTLR end struct_or_union
1658
1659
1660 # $ANTLR start struct_declaration_list
1661 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1662 def struct_declaration_list(self, ):
1663
1664 struct_declaration_list_StartIndex = self.input.index()
1665 try:
1666 try:
1667 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
1668 return
1669
1670 # C.g:245:2: ( ( struct_declaration )+ )
1671 # C.g:245:4: ( struct_declaration )+
1672 # C.g:245:4: ( struct_declaration )+
1673 cnt16 = 0
1674 while True: #loop16
1675 alt16 = 2
1676 LA16_0 = self.input.LA(1)
1677
1678 if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 61)) :
1679 alt16 = 1
1680
1681
1682 if alt16 == 1:
1683 # C.g:0:0: struct_declaration
1684 self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537)
1685 self.struct_declaration()
1686 self.following.pop()
1687 if self.failed:
1688 return
1689
1690
1691 else:
1692 if cnt16 >= 1:
1693 break #loop16
1694
1695 if self.backtracking > 0:
1696 self.failed = True
1697 return
1698
1699 eee = EarlyExitException(16, self.input)
1700 raise eee
1701
1702 cnt16 += 1
1703
1704
1705
1706
1707
1708
1709 except RecognitionException, re:
1710 self.reportError(re)
1711 self.recover(self.input, re)
1712 finally:
1713 if self.backtracking > 0:
1714 self.memoize(self.input, 13, struct_declaration_list_StartIndex)
1715
1716 pass
1717
1718 return
1719
1720 # $ANTLR end struct_declaration_list
1721
1722
1723 # $ANTLR start struct_declaration
1724 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1725 def struct_declaration(self, ):
1726
1727 struct_declaration_StartIndex = self.input.index()
1728 try:
1729 try:
1730 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
1731 return
1732
1733 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1734 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1735 self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration549)
1736 self.specifier_qualifier_list()
1737 self.following.pop()
1738 if self.failed:
1739 return
1740 self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration551)
1741 self.struct_declarator_list()
1742 self.following.pop()
1743 if self.failed:
1744 return
1745 self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553)
1746 if self.failed:
1747 return
1748
1749
1750
1751
1752 except RecognitionException, re:
1753 self.reportError(re)
1754 self.recover(self.input, re)
1755 finally:
1756 if self.backtracking > 0:
1757 self.memoize(self.input, 14, struct_declaration_StartIndex)
1758
1759 pass
1760
1761 return
1762
1763 # $ANTLR end struct_declaration
1764
1765
1766 # $ANTLR start specifier_qualifier_list
1767 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1768 def specifier_qualifier_list(self, ):
1769
1770 specifier_qualifier_list_StartIndex = self.input.index()
1771 try:
1772 try:
1773 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
1774 return
1775
1776 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1777 # C.g:253:4: ( type_qualifier | type_specifier )+
1778 # C.g:253:4: ( type_qualifier | type_specifier )+
1779 cnt17 = 0
1780 while True: #loop17
1781 alt17 = 3
1782 LA17 = self.input.LA(1)
1783 if LA17 == 58:
1784 LA17_2 = self.input.LA(2)
1785
1786 if (self.synpred39()) :
1787 alt17 = 1
1788
1789
1790 elif LA17 == 59:
1791 LA17_3 = self.input.LA(2)
1792
1793 if (self.synpred39()) :
1794 alt17 = 1
1795
1796
1797 elif LA17 == 60:
1798 LA17_4 = self.input.LA(2)
1799
1800 if (self.synpred39()) :
1801 alt17 = 1
1802
1803
1804 elif LA17 == IDENTIFIER:
1805 LA17 = self.input.LA(2)
1806 if LA17 == EOF or LA17 == IDENTIFIER or LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48 or LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 58 or LA17 == 59 or LA17 == 60 or LA17 == 61 or LA17 == 63 or LA17 == 66:
1807 alt17 = 2
1808 elif LA17 == 62:
1809 LA17_94 = self.input.LA(3)
1810
1811 if (self.synpred40()) :
1812 alt17 = 2
1813
1814
1815 elif LA17 == 47:
1816 LA17_95 = self.input.LA(3)
1817
1818 if (self.synpred40()) :
1819 alt17 = 2
1820
1821
1822 elif LA17 == 64:
1823 LA17_96 = self.input.LA(3)
1824
1825 if (self.synpred40()) :
1826 alt17 = 2
1827
1828
1829
1830 elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 61:
1831 alt17 = 1
1832 elif LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48:
1833 alt17 = 2
1834
1835 if alt17 == 1:
1836 # C.g:253:6: type_qualifier
1837 self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566)
1838 self.type_qualifier()
1839 self.following.pop()
1840 if self.failed:
1841 return
1842
1843
1844 elif alt17 == 2:
1845 # C.g:253:23: type_specifier
1846 self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list570)
1847 self.type_specifier()
1848 self.following.pop()
1849 if self.failed:
1850 return
1851
1852
1853 else:
1854 if cnt17 >= 1:
1855 break #loop17
1856
1857 if self.backtracking > 0:
1858 self.failed = True
1859 return
1860
1861 eee = EarlyExitException(17, self.input)
1862 raise eee
1863
1864 cnt17 += 1
1865
1866
1867
1868
1869
1870
1871 except RecognitionException, re:
1872 self.reportError(re)
1873 self.recover(self.input, re)
1874 finally:
1875 if self.backtracking > 0:
1876 self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
1877
1878 pass
1879
1880 return
1881
1882 # $ANTLR end specifier_qualifier_list
1883
1884
1885 # $ANTLR start struct_declarator_list
1886 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1887 def struct_declarator_list(self, ):
1888
1889 struct_declarator_list_StartIndex = self.input.index()
1890 try:
1891 try:
1892 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
1893 return
1894
1895 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1896 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1897 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list584)
1898 self.struct_declarator()
1899 self.following.pop()
1900 if self.failed:
1901 return
1902 # C.g:257:22: ( ',' struct_declarator )*
1903 while True: #loop18
1904 alt18 = 2
1905 LA18_0 = self.input.LA(1)
1906
1907 if (LA18_0 == 27) :
1908 alt18 = 1
1909
1910
1911 if alt18 == 1:
1912 # C.g:257:23: ',' struct_declarator
1913 self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list587)
1914 if self.failed:
1915 return
1916 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list589)
1917 self.struct_declarator()
1918 self.following.pop()
1919 if self.failed:
1920 return
1921
1922
1923 else:
1924 break #loop18
1925
1926
1927
1928
1929
1930
1931 except RecognitionException, re:
1932 self.reportError(re)
1933 self.recover(self.input, re)
1934 finally:
1935 if self.backtracking > 0:
1936 self.memoize(self.input, 16, struct_declarator_list_StartIndex)
1937
1938 pass
1939
1940 return
1941
1942 # $ANTLR end struct_declarator_list
1943
1944
1945 # $ANTLR start struct_declarator
1946 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1947 def struct_declarator(self, ):
1948
1949 struct_declarator_StartIndex = self.input.index()
1950 try:
1951 try:
1952 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
1953 return
1954
1955 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1956 alt20 = 2
1957 LA20_0 = self.input.LA(1)
1958
1959 if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 60) or LA20_0 == 62 or LA20_0 == 66) :
1960 alt20 = 1
1961 elif (LA20_0 == 47) :
1962 alt20 = 2
1963 else:
1964 if self.backtracking > 0:
1965 self.failed = True
1966 return
1967
1968 nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
1969
1970 raise nvae
1971
1972 if alt20 == 1:
1973 # C.g:261:4: declarator ( ':' constant_expression )?
1974 self.following.append(self.FOLLOW_declarator_in_struct_declarator602)
1975 self.declarator()
1976 self.following.pop()
1977 if self.failed:
1978 return
1979 # C.g:261:15: ( ':' constant_expression )?
1980 alt19 = 2
1981 LA19_0 = self.input.LA(1)
1982
1983 if (LA19_0 == 47) :
1984 alt19 = 1
1985 if alt19 == 1:
1986 # C.g:261:16: ':' constant_expression
1987 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator605)
1988 if self.failed:
1989 return
1990 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator607)
1991 self.constant_expression()
1992 self.following.pop()
1993 if self.failed:
1994 return
1995
1996
1997
1998
1999
2000 elif alt20 == 2:
2001 # C.g:262:4: ':' constant_expression
2002 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator614)
2003 if self.failed:
2004 return
2005 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator616)
2006 self.constant_expression()
2007 self.following.pop()
2008 if self.failed:
2009 return
2010
2011
2012
2013 except RecognitionException, re:
2014 self.reportError(re)
2015 self.recover(self.input, re)
2016 finally:
2017 if self.backtracking > 0:
2018 self.memoize(self.input, 17, struct_declarator_StartIndex)
2019
2020 pass
2021
2022 return
2023
2024 # $ANTLR end struct_declarator
2025
2026 class enum_specifier_return(object):
2027 def __init__(self):
2028 self.start = None
2029 self.stop = None
2030
2031
2032
2033 # $ANTLR start enum_specifier
2034 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2035 def enum_specifier(self, ):
2036
2037 retval = self.enum_specifier_return()
2038 retval.start = self.input.LT(1)
2039 enum_specifier_StartIndex = self.input.index()
2040 try:
2041 try:
2042 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
2043 return retval
2044
2045 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2046 alt23 = 3
2047 LA23_0 = self.input.LA(1)
2048
2049 if (LA23_0 == 48) :
2050 LA23_1 = self.input.LA(2)
2051
2052 if (LA23_1 == IDENTIFIER) :
2053 LA23_2 = self.input.LA(3)
2054
2055 if (LA23_2 == 43) :
2056 alt23 = 2
2057 elif (LA23_2 == EOF or LA23_2 == IDENTIFIER or LA23_2 == 25 or LA23_2 == 27 or (29 <= LA23_2 <= 42) or (45 <= LA23_2 <= 64) or LA23_2 == 66) :
2058 alt23 = 3
2059 else:
2060 if self.backtracking > 0:
2061 self.failed = True
2062 return retval
2063
2064 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
2065
2066 raise nvae
2067
2068 elif (LA23_1 == 43) :
2069 alt23 = 1
2070 else:
2071 if self.backtracking > 0:
2072 self.failed = True
2073 return retval
2074
2075 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
2076
2077 raise nvae
2078
2079 else:
2080 if self.backtracking > 0:
2081 self.failed = True
2082 return retval
2083
2084 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input)
2085
2086 raise nvae
2087
2088 if alt23 == 1:
2089 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2090 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier634)
2091 if self.failed:
2092 return retval
2093 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier636)
2094 if self.failed:
2095 return retval
2096 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638)
2097 self.enumerator_list()
2098 self.following.pop()
2099 if self.failed:
2100 return retval
2101 # C.g:267:31: ( ',' )?
2102 alt21 = 2
2103 LA21_0 = self.input.LA(1)
2104
2105 if (LA21_0 == 27) :
2106 alt21 = 1
2107 if alt21 == 1:
2108 # C.g:0:0: ','
2109 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier640)
2110 if self.failed:
2111 return retval
2112
2113
2114
2115 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier643)
2116 if self.failed:
2117 return retval
2118
2119
2120 elif alt23 == 2:
2121 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2122 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier648)
2123 if self.failed:
2124 return retval
2125 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier650)
2126 if self.failed:
2127 return retval
2128 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier652)
2129 if self.failed:
2130 return retval
2131 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier654)
2132 self.enumerator_list()
2133 self.following.pop()
2134 if self.failed:
2135 return retval
2136 # C.g:268:42: ( ',' )?
2137 alt22 = 2
2138 LA22_0 = self.input.LA(1)
2139
2140 if (LA22_0 == 27) :
2141 alt22 = 1
2142 if alt22 == 1:
2143 # C.g:0:0: ','
2144 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier656)
2145 if self.failed:
2146 return retval
2147
2148
2149
2150 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier659)
2151 if self.failed:
2152 return retval
2153
2154
2155 elif alt23 == 3:
2156 # C.g:269:4: 'enum' IDENTIFIER
2157 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier664)
2158 if self.failed:
2159 return retval
2160 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier666)
2161 if self.failed:
2162 return retval
2163
2164
2165 retval.stop = self.input.LT(-1)
2166
2167
2168 except RecognitionException, re:
2169 self.reportError(re)
2170 self.recover(self.input, re)
2171 finally:
2172 if self.backtracking > 0:
2173 self.memoize(self.input, 18, enum_specifier_StartIndex)
2174
2175 pass
2176
2177 return retval
2178
2179 # $ANTLR end enum_specifier
2180
2181
2182 # $ANTLR start enumerator_list
2183 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2184 def enumerator_list(self, ):
2185
2186 enumerator_list_StartIndex = self.input.index()
2187 try:
2188 try:
2189 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
2190 return
2191
2192 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2193 # C.g:273:4: enumerator ( ',' enumerator )*
2194 self.following.append(self.FOLLOW_enumerator_in_enumerator_list677)
2195 self.enumerator()
2196 self.following.pop()
2197 if self.failed:
2198 return
2199 # C.g:273:15: ( ',' enumerator )*
2200 while True: #loop24
2201 alt24 = 2
2202 LA24_0 = self.input.LA(1)
2203
2204 if (LA24_0 == 27) :
2205 LA24_1 = self.input.LA(2)
2206
2207 if (LA24_1 == IDENTIFIER) :
2208 alt24 = 1
2209
2210
2211
2212
2213 if alt24 == 1:
2214 # C.g:273:16: ',' enumerator
2215 self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list680)
2216 if self.failed:
2217 return
2218 self.following.append(self.FOLLOW_enumerator_in_enumerator_list682)
2219 self.enumerator()
2220 self.following.pop()
2221 if self.failed:
2222 return
2223
2224
2225 else:
2226 break #loop24
2227
2228
2229
2230
2231
2232
2233 except RecognitionException, re:
2234 self.reportError(re)
2235 self.recover(self.input, re)
2236 finally:
2237 if self.backtracking > 0:
2238 self.memoize(self.input, 19, enumerator_list_StartIndex)
2239
2240 pass
2241
2242 return
2243
2244 # $ANTLR end enumerator_list
2245
2246
2247 # $ANTLR start enumerator
2248 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2249 def enumerator(self, ):
2250
2251 enumerator_StartIndex = self.input.index()
2252 try:
2253 try:
2254 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
2255 return
2256
2257 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2258 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2259 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator695)
2260 if self.failed:
2261 return
2262 # C.g:277:15: ( '=' constant_expression )?
2263 alt25 = 2
2264 LA25_0 = self.input.LA(1)
2265
2266 if (LA25_0 == 28) :
2267 alt25 = 1
2268 if alt25 == 1:
2269 # C.g:277:16: '=' constant_expression
2270 self.match(self.input, 28, self.FOLLOW_28_in_enumerator698)
2271 if self.failed:
2272 return
2273 self.following.append(self.FOLLOW_constant_expression_in_enumerator700)
2274 self.constant_expression()
2275 self.following.pop()
2276 if self.failed:
2277 return
2278
2279
2280
2281
2282
2283
2284
2285 except RecognitionException, re:
2286 self.reportError(re)
2287 self.recover(self.input, re)
2288 finally:
2289 if self.backtracking > 0:
2290 self.memoize(self.input, 20, enumerator_StartIndex)
2291
2292 pass
2293
2294 return
2295
2296 # $ANTLR end enumerator
2297
2298
2299 # $ANTLR start type_qualifier
2300 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2301 def type_qualifier(self, ):
2302
2303 type_qualifier_StartIndex = self.input.index()
2304 try:
2305 try:
2306 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
2307 return
2308
2309 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2310 # C.g:
2311 if (49 <= self.input.LA(1) <= 61):
2312 self.input.consume();
2313 self.errorRecovery = False
2314 self.failed = False
2315
2316 else:
2317 if self.backtracking > 0:
2318 self.failed = True
2319 return
2320
2321 mse = MismatchedSetException(None, self.input)
2322 self.recoverFromMismatchedSet(
2323 self.input, mse, self.FOLLOW_set_in_type_qualifier0
2324 )
2325 raise mse
2326
2327
2328
2329
2330
2331
2332 except RecognitionException, re:
2333 self.reportError(re)
2334 self.recover(self.input, re)
2335 finally:
2336 if self.backtracking > 0:
2337 self.memoize(self.input, 21, type_qualifier_StartIndex)
2338
2339 pass
2340
2341 return
2342
2343 # $ANTLR end type_qualifier
2344
2345 class declarator_return(object):
2346 def __init__(self):
2347 self.start = None
2348 self.stop = None
2349
2350
2351
2352 # $ANTLR start declarator
2353 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2354 def declarator(self, ):
2355
2356 retval = self.declarator_return()
2357 retval.start = self.input.LT(1)
2358 declarator_StartIndex = self.input.index()
2359 try:
2360 try:
2361 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
2362 return retval
2363
2364 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2365 alt30 = 2
2366 LA30_0 = self.input.LA(1)
2367
2368 if (LA30_0 == 66) :
2369 LA30_1 = self.input.LA(2)
2370
2371 if (self.synpred66()) :
2372 alt30 = 1
2373 elif (True) :
2374 alt30 = 2
2375 else:
2376 if self.backtracking > 0:
2377 self.failed = True
2378 return retval
2379
2380 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input)
2381
2382 raise nvae
2383
2384 elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 60) or LA30_0 == 62) :
2385 alt30 = 1
2386 else:
2387 if self.backtracking > 0:
2388 self.failed = True
2389 return retval
2390
2391 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
2392
2393 raise nvae
2394
2395 if alt30 == 1:
2396 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2397 # C.g:297:4: ( pointer )?
2398 alt26 = 2
2399 LA26_0 = self.input.LA(1)
2400
2401 if (LA26_0 == 66) :
2402 alt26 = 1
2403 if alt26 == 1:
2404 # C.g:0:0: pointer
2405 self.following.append(self.FOLLOW_pointer_in_declarator784)
2406 self.pointer()
2407 self.following.pop()
2408 if self.failed:
2409 return retval
2410
2411
2412
2413 # C.g:297:13: ( 'EFIAPI' )?
2414 alt27 = 2
2415 LA27_0 = self.input.LA(1)
2416
2417 if (LA27_0 == 58) :
2418 alt27 = 1
2419 if alt27 == 1:
2420 # C.g:297:14: 'EFIAPI'
2421 self.match(self.input, 58, self.FOLLOW_58_in_declarator788)
2422 if self.failed:
2423 return retval
2424
2425
2426
2427 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2428 alt28 = 2
2429 LA28_0 = self.input.LA(1)
2430
2431 if (LA28_0 == 59) :
2432 alt28 = 1
2433 if alt28 == 1:
2434 # C.g:297:26: 'EFI_BOOTSERVICE'
2435 self.match(self.input, 59, self.FOLLOW_59_in_declarator793)
2436 if self.failed:
2437 return retval
2438
2439
2440
2441 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2442 alt29 = 2
2443 LA29_0 = self.input.LA(1)
2444
2445 if (LA29_0 == 60) :
2446 alt29 = 1
2447 if alt29 == 1:
2448 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2449 self.match(self.input, 60, self.FOLLOW_60_in_declarator798)
2450 if self.failed:
2451 return retval
2452
2453
2454
2455 self.following.append(self.FOLLOW_direct_declarator_in_declarator802)
2456 self.direct_declarator()
2457 self.following.pop()
2458 if self.failed:
2459 return retval
2460
2461
2462 elif alt30 == 2:
2463 # C.g:299:4: pointer
2464 self.following.append(self.FOLLOW_pointer_in_declarator808)
2465 self.pointer()
2466 self.following.pop()
2467 if self.failed:
2468 return retval
2469
2470
2471 retval.stop = self.input.LT(-1)
2472
2473
2474 except RecognitionException, re:
2475 self.reportError(re)
2476 self.recover(self.input, re)
2477 finally:
2478 if self.backtracking > 0:
2479 self.memoize(self.input, 22, declarator_StartIndex)
2480
2481 pass
2482
2483 return retval
2484
2485 # $ANTLR end declarator
2486
2487
2488 # $ANTLR start direct_declarator
2489 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2490 def direct_declarator(self, ):
2491
2492 direct_declarator_StartIndex = self.input.index()
2493 try:
2494 try:
2495 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
2496 return
2497
2498 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2499 alt34 = 2
2500 LA34_0 = self.input.LA(1)
2501
2502 if (LA34_0 == IDENTIFIER) :
2503 alt34 = 1
2504 elif (LA34_0 == 62) :
2505 alt34 = 2
2506 else:
2507 if self.backtracking > 0:
2508 self.failed = True
2509 return
2510
2511 nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
2512
2513 raise nvae
2514
2515 if alt34 == 1:
2516 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2517 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819)
2518 if self.failed:
2519 return
2520 # C.g:303:15: ( declarator_suffix )*
2521 while True: #loop31
2522 alt31 = 2
2523 LA31_0 = self.input.LA(1)
2524
2525 if (LA31_0 == 62) :
2526 LA31 = self.input.LA(2)
2527 if LA31 == 63:
2528 LA31_30 = self.input.LA(3)
2529
2530 if (self.synpred67()) :
2531 alt31 = 1
2532
2533
2534 elif LA31 == 58:
2535 LA31_31 = self.input.LA(3)
2536
2537 if (self.synpred67()) :
2538 alt31 = 1
2539
2540
2541 elif LA31 == 66:
2542 LA31_32 = self.input.LA(3)
2543
2544 if (self.synpred67()) :
2545 alt31 = 1
2546
2547
2548 elif LA31 == 59:
2549 LA31_33 = self.input.LA(3)
2550
2551 if (self.synpred67()) :
2552 alt31 = 1
2553
2554
2555 elif LA31 == 60:
2556 LA31_34 = self.input.LA(3)
2557
2558 if (self.synpred67()) :
2559 alt31 = 1
2560
2561
2562 elif LA31 == IDENTIFIER:
2563 LA31_35 = self.input.LA(3)
2564
2565 if (self.synpred67()) :
2566 alt31 = 1
2567
2568
2569 elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33:
2570 LA31_37 = self.input.LA(3)
2571
2572 if (self.synpred67()) :
2573 alt31 = 1
2574
2575
2576 elif LA31 == 34:
2577 LA31_38 = self.input.LA(3)
2578
2579 if (self.synpred67()) :
2580 alt31 = 1
2581
2582
2583 elif LA31 == 35:
2584 LA31_39 = self.input.LA(3)
2585
2586 if (self.synpred67()) :
2587 alt31 = 1
2588
2589
2590 elif LA31 == 36:
2591 LA31_40 = self.input.LA(3)
2592
2593 if (self.synpred67()) :
2594 alt31 = 1
2595
2596
2597 elif LA31 == 37:
2598 LA31_41 = self.input.LA(3)
2599
2600 if (self.synpred67()) :
2601 alt31 = 1
2602
2603
2604 elif LA31 == 38:
2605 LA31_42 = self.input.LA(3)
2606
2607 if (self.synpred67()) :
2608 alt31 = 1
2609
2610
2611 elif LA31 == 39:
2612 LA31_43 = self.input.LA(3)
2613
2614 if (self.synpred67()) :
2615 alt31 = 1
2616
2617
2618 elif LA31 == 40:
2619 LA31_44 = self.input.LA(3)
2620
2621 if (self.synpred67()) :
2622 alt31 = 1
2623
2624
2625 elif LA31 == 41:
2626 LA31_45 = self.input.LA(3)
2627
2628 if (self.synpred67()) :
2629 alt31 = 1
2630
2631
2632 elif LA31 == 42:
2633 LA31_46 = self.input.LA(3)
2634
2635 if (self.synpred67()) :
2636 alt31 = 1
2637
2638
2639 elif LA31 == 45 or LA31 == 46:
2640 LA31_47 = self.input.LA(3)
2641
2642 if (self.synpred67()) :
2643 alt31 = 1
2644
2645
2646 elif LA31 == 48:
2647 LA31_48 = self.input.LA(3)
2648
2649 if (self.synpred67()) :
2650 alt31 = 1
2651
2652
2653 elif LA31 == 49 or LA31 == 50 or LA31 == 51 or LA31 == 52 or LA31 == 53 or LA31 == 54 or LA31 == 55 or LA31 == 56 or LA31 == 57 or LA31 == 61:
2654 LA31_49 = self.input.LA(3)
2655
2656 if (self.synpred67()) :
2657 alt31 = 1
2658
2659
2660
2661 elif (LA31_0 == 64) :
2662 LA31 = self.input.LA(2)
2663 if LA31 == 65:
2664 LA31_51 = self.input.LA(3)
2665
2666 if (self.synpred67()) :
2667 alt31 = 1
2668
2669
2670 elif LA31 == 62:
2671 LA31_52 = self.input.LA(3)
2672
2673 if (self.synpred67()) :
2674 alt31 = 1
2675
2676
2677 elif LA31 == IDENTIFIER:
2678 LA31_53 = self.input.LA(3)
2679
2680 if (self.synpred67()) :
2681 alt31 = 1
2682
2683
2684 elif LA31 == HEX_LITERAL:
2685 LA31_54 = self.input.LA(3)
2686
2687 if (self.synpred67()) :
2688 alt31 = 1
2689
2690
2691 elif LA31 == OCTAL_LITERAL:
2692 LA31_55 = self.input.LA(3)
2693
2694 if (self.synpred67()) :
2695 alt31 = 1
2696
2697
2698 elif LA31 == DECIMAL_LITERAL:
2699 LA31_56 = self.input.LA(3)
2700
2701 if (self.synpred67()) :
2702 alt31 = 1
2703
2704
2705 elif LA31 == CHARACTER_LITERAL:
2706 LA31_57 = self.input.LA(3)
2707
2708 if (self.synpred67()) :
2709 alt31 = 1
2710
2711
2712 elif LA31 == STRING_LITERAL:
2713 LA31_58 = self.input.LA(3)
2714
2715 if (self.synpred67()) :
2716 alt31 = 1
2717
2718
2719 elif LA31 == FLOATING_POINT_LITERAL:
2720 LA31_59 = self.input.LA(3)
2721
2722 if (self.synpred67()) :
2723 alt31 = 1
2724
2725
2726 elif LA31 == 72:
2727 LA31_60 = self.input.LA(3)
2728
2729 if (self.synpred67()) :
2730 alt31 = 1
2731
2732
2733 elif LA31 == 73:
2734 LA31_61 = self.input.LA(3)
2735
2736 if (self.synpred67()) :
2737 alt31 = 1
2738
2739
2740 elif LA31 == 66 or LA31 == 68 or LA31 == 69 or LA31 == 77 or LA31 == 78 or LA31 == 79:
2741 LA31_62 = self.input.LA(3)
2742
2743 if (self.synpred67()) :
2744 alt31 = 1
2745
2746
2747 elif LA31 == 74:
2748 LA31_63 = self.input.LA(3)
2749
2750 if (self.synpred67()) :
2751 alt31 = 1
2752
2753
2754
2755
2756
2757 if alt31 == 1:
2758 # C.g:0:0: declarator_suffix
2759 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821)
2760 self.declarator_suffix()
2761 self.following.pop()
2762 if self.failed:
2763 return
2764
2765
2766 else:
2767 break #loop31
2768
2769
2770
2771
2772 elif alt34 == 2:
2773 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2774 self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator827)
2775 if self.failed:
2776 return
2777 # C.g:304:8: ( 'EFIAPI' )?
2778 alt32 = 2
2779 LA32_0 = self.input.LA(1)
2780
2781 if (LA32_0 == 58) :
2782 LA32_1 = self.input.LA(2)
2783
2784 if (self.synpred69()) :
2785 alt32 = 1
2786 if alt32 == 1:
2787 # C.g:304:9: 'EFIAPI'
2788 self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator830)
2789 if self.failed:
2790 return
2791
2792
2793
2794 self.following.append(self.FOLLOW_declarator_in_direct_declarator834)
2795 self.declarator()
2796 self.following.pop()
2797 if self.failed:
2798 return
2799 self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836)
2800 if self.failed:
2801 return
2802 # C.g:304:35: ( declarator_suffix )+
2803 cnt33 = 0
2804 while True: #loop33
2805 alt33 = 2
2806 LA33_0 = self.input.LA(1)
2807
2808 if (LA33_0 == 62) :
2809 LA33 = self.input.LA(2)
2810 if LA33 == 63:
2811 LA33_30 = self.input.LA(3)
2812
2813 if (self.synpred70()) :
2814 alt33 = 1
2815
2816
2817 elif LA33 == 58:
2818 LA33_31 = self.input.LA(3)
2819
2820 if (self.synpred70()) :
2821 alt33 = 1
2822
2823
2824 elif LA33 == 66:
2825 LA33_32 = self.input.LA(3)
2826
2827 if (self.synpred70()) :
2828 alt33 = 1
2829
2830
2831 elif LA33 == 59:
2832 LA33_33 = self.input.LA(3)
2833
2834 if (self.synpred70()) :
2835 alt33 = 1
2836
2837
2838 elif LA33 == 60:
2839 LA33_34 = self.input.LA(3)
2840
2841 if (self.synpred70()) :
2842 alt33 = 1
2843
2844
2845 elif LA33 == IDENTIFIER:
2846 LA33_35 = self.input.LA(3)
2847
2848 if (self.synpred70()) :
2849 alt33 = 1
2850
2851
2852 elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33:
2853 LA33_37 = self.input.LA(3)
2854
2855 if (self.synpred70()) :
2856 alt33 = 1
2857
2858
2859 elif LA33 == 34:
2860 LA33_38 = self.input.LA(3)
2861
2862 if (self.synpred70()) :
2863 alt33 = 1
2864
2865
2866 elif LA33 == 35:
2867 LA33_39 = self.input.LA(3)
2868
2869 if (self.synpred70()) :
2870 alt33 = 1
2871
2872
2873 elif LA33 == 36:
2874 LA33_40 = self.input.LA(3)
2875
2876 if (self.synpred70()) :
2877 alt33 = 1
2878
2879
2880 elif LA33 == 37:
2881 LA33_41 = self.input.LA(3)
2882
2883 if (self.synpred70()) :
2884 alt33 = 1
2885
2886
2887 elif LA33 == 38:
2888 LA33_42 = self.input.LA(3)
2889
2890 if (self.synpred70()) :
2891 alt33 = 1
2892
2893
2894 elif LA33 == 39:
2895 LA33_43 = self.input.LA(3)
2896
2897 if (self.synpred70()) :
2898 alt33 = 1
2899
2900
2901 elif LA33 == 40:
2902 LA33_44 = self.input.LA(3)
2903
2904 if (self.synpred70()) :
2905 alt33 = 1
2906
2907
2908 elif LA33 == 41:
2909 LA33_45 = self.input.LA(3)
2910
2911 if (self.synpred70()) :
2912 alt33 = 1
2913
2914
2915 elif LA33 == 42:
2916 LA33_46 = self.input.LA(3)
2917
2918 if (self.synpred70()) :
2919 alt33 = 1
2920
2921
2922 elif LA33 == 45 or LA33 == 46:
2923 LA33_47 = self.input.LA(3)
2924
2925 if (self.synpred70()) :
2926 alt33 = 1
2927
2928
2929 elif LA33 == 48:
2930 LA33_48 = self.input.LA(3)
2931
2932 if (self.synpred70()) :
2933 alt33 = 1
2934
2935
2936 elif LA33 == 49 or LA33 == 50 or LA33 == 51 or LA33 == 52 or LA33 == 53 or LA33 == 54 or LA33 == 55 or LA33 == 56 or LA33 == 57 or LA33 == 61:
2937 LA33_49 = self.input.LA(3)
2938
2939 if (self.synpred70()) :
2940 alt33 = 1
2941
2942
2943
2944 elif (LA33_0 == 64) :
2945 LA33 = self.input.LA(2)
2946 if LA33 == 65:
2947 LA33_51 = self.input.LA(3)
2948
2949 if (self.synpred70()) :
2950 alt33 = 1
2951
2952
2953 elif LA33 == 62:
2954 LA33_52 = self.input.LA(3)
2955
2956 if (self.synpred70()) :
2957 alt33 = 1
2958
2959
2960 elif LA33 == IDENTIFIER:
2961 LA33_53 = self.input.LA(3)
2962
2963 if (self.synpred70()) :
2964 alt33 = 1
2965
2966
2967 elif LA33 == HEX_LITERAL:
2968 LA33_54 = self.input.LA(3)
2969
2970 if (self.synpred70()) :
2971 alt33 = 1
2972
2973
2974 elif LA33 == OCTAL_LITERAL:
2975 LA33_55 = self.input.LA(3)
2976
2977 if (self.synpred70()) :
2978 alt33 = 1
2979
2980
2981 elif LA33 == DECIMAL_LITERAL:
2982 LA33_56 = self.input.LA(3)
2983
2984 if (self.synpred70()) :
2985 alt33 = 1
2986
2987
2988 elif LA33 == CHARACTER_LITERAL:
2989 LA33_57 = self.input.LA(3)
2990
2991 if (self.synpred70()) :
2992 alt33 = 1
2993
2994
2995 elif LA33 == STRING_LITERAL:
2996 LA33_58 = self.input.LA(3)
2997
2998 if (self.synpred70()) :
2999 alt33 = 1
3000
3001
3002 elif LA33 == FLOATING_POINT_LITERAL:
3003 LA33_59 = self.input.LA(3)
3004
3005 if (self.synpred70()) :
3006 alt33 = 1
3007
3008
3009 elif LA33 == 72:
3010 LA33_60 = self.input.LA(3)
3011
3012 if (self.synpred70()) :
3013 alt33 = 1
3014
3015
3016 elif LA33 == 73:
3017 LA33_61 = self.input.LA(3)
3018
3019 if (self.synpred70()) :
3020 alt33 = 1
3021
3022
3023 elif LA33 == 66 or LA33 == 68 or LA33 == 69 or LA33 == 77 or LA33 == 78 or LA33 == 79:
3024 LA33_62 = self.input.LA(3)
3025
3026 if (self.synpred70()) :
3027 alt33 = 1
3028
3029
3030 elif LA33 == 74:
3031 LA33_63 = self.input.LA(3)
3032
3033 if (self.synpred70()) :
3034 alt33 = 1
3035
3036
3037
3038
3039
3040 if alt33 == 1:
3041 # C.g:0:0: declarator_suffix
3042 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838)
3043 self.declarator_suffix()
3044 self.following.pop()
3045 if self.failed:
3046 return
3047
3048
3049 else:
3050 if cnt33 >= 1:
3051 break #loop33
3052
3053 if self.backtracking > 0:
3054 self.failed = True
3055 return
3056
3057 eee = EarlyExitException(33, self.input)
3058 raise eee
3059
3060 cnt33 += 1
3061
3062
3063
3064
3065
3066 except RecognitionException, re:
3067 self.reportError(re)
3068 self.recover(self.input, re)
3069 finally:
3070 if self.backtracking > 0:
3071 self.memoize(self.input, 23, direct_declarator_StartIndex)
3072
3073 pass
3074
3075 return
3076
3077 # $ANTLR end direct_declarator
3078
3079
3080 # $ANTLR start declarator_suffix
3081 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3082 def declarator_suffix(self, ):
3083
3084 declarator_suffix_StartIndex = self.input.index()
3085 try:
3086 try:
3087 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
3088 return
3089
3090 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3091 alt35 = 5
3092 LA35_0 = self.input.LA(1)
3093
3094 if (LA35_0 == 64) :
3095 LA35_1 = self.input.LA(2)
3096
3097 if (LA35_1 == 65) :
3098 alt35 = 2
3099 elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 62 or LA35_1 == 66 or (68 <= LA35_1 <= 69) or (72 <= LA35_1 <= 74) or (77 <= LA35_1 <= 79)) :
3100 alt35 = 1
3101 else:
3102 if self.backtracking > 0:
3103 self.failed = True
3104 return
3105
3106 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
3107
3108 raise nvae
3109
3110 elif (LA35_0 == 62) :
3111 LA35 = self.input.LA(2)
3112 if LA35 == 63:
3113 alt35 = 5
3114 elif LA35 == 29 or LA35 == 30 or LA35 == 31 or LA35 == 32 or LA35 == 33 or LA35 == 34 or LA35 == 35 or LA35 == 36 or LA35 == 37 or LA35 == 38 or LA35 == 39 or LA35 == 40 or LA35 == 41 or LA35 == 42 or LA35 == 45 or LA35 == 46 or LA35 == 48 or LA35 == 49 or LA35 == 50 or LA35 == 51 or LA35 == 52 or LA35 == 53 or LA35 == 54 or LA35 == 55 or LA35 == 56 or LA35 == 57 or LA35 == 58 or LA35 == 59 or LA35 == 60 or LA35 == 61 or LA35 == 66:
3115 alt35 = 3
3116 elif LA35 == IDENTIFIER:
3117 LA35_29 = self.input.LA(3)
3118
3119 if (self.synpred73()) :
3120 alt35 = 3
3121 elif (self.synpred74()) :
3122 alt35 = 4
3123 else:
3124 if self.backtracking > 0:
3125 self.failed = True
3126 return
3127
3128 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input)
3129
3130 raise nvae
3131
3132 else:
3133 if self.backtracking > 0:
3134 self.failed = True
3135 return
3136
3137 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
3138
3139 raise nvae
3140
3141 else:
3142 if self.backtracking > 0:
3143 self.failed = True
3144 return
3145
3146 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
3147
3148 raise nvae
3149
3150 if alt35 == 1:
3151 # C.g:308:6: '[' constant_expression ']'
3152 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix852)
3153 if self.failed:
3154 return
3155 self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix854)
3156 self.constant_expression()
3157 self.following.pop()
3158 if self.failed:
3159 return
3160 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856)
3161 if self.failed:
3162 return
3163
3164
3165 elif alt35 == 2:
3166 # C.g:309:9: '[' ']'
3167 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866)
3168 if self.failed:
3169 return
3170 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868)
3171 if self.failed:
3172 return
3173
3174
3175 elif alt35 == 3:
3176 # C.g:310:9: '(' parameter_type_list ')'
3177 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix878)
3178 if self.failed:
3179 return
3180 self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix880)
3181 self.parameter_type_list()
3182 self.following.pop()
3183 if self.failed:
3184 return
3185 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882)
3186 if self.failed:
3187 return
3188
3189
3190 elif alt35 == 4:
3191 # C.g:311:9: '(' identifier_list ')'
3192 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix892)
3193 if self.failed:
3194 return
3195 self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix894)
3196 self.identifier_list()
3197 self.following.pop()
3198 if self.failed:
3199 return
3200 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896)
3201 if self.failed:
3202 return
3203
3204
3205 elif alt35 == 5:
3206 # C.g:312:9: '(' ')'
3207 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906)
3208 if self.failed:
3209 return
3210 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908)
3211 if self.failed:
3212 return
3213
3214
3215
3216 except RecognitionException, re:
3217 self.reportError(re)
3218 self.recover(self.input, re)
3219 finally:
3220 if self.backtracking > 0:
3221 self.memoize(self.input, 24, declarator_suffix_StartIndex)
3222
3223 pass
3224
3225 return
3226
3227 # $ANTLR end declarator_suffix
3228
3229
3230 # $ANTLR start pointer
3231 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3232 def pointer(self, ):
3233
3234 pointer_StartIndex = self.input.index()
3235 try:
3236 try:
3237 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
3238 return
3239
3240 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3241 alt38 = 3
3242 LA38_0 = self.input.LA(1)
3243
3244 if (LA38_0 == 66) :
3245 LA38 = self.input.LA(2)
3246 if LA38 == 66:
3247 LA38_2 = self.input.LA(3)
3248
3249 if (self.synpred78()) :
3250 alt38 = 2
3251 elif (True) :
3252 alt38 = 3
3253 else:
3254 if self.backtracking > 0:
3255 self.failed = True
3256 return
3257
3258 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
3259
3260 raise nvae
3261
3262 elif LA38 == 58:
3263 LA38_3 = self.input.LA(3)
3264
3265 if (self.synpred77()) :
3266 alt38 = 1
3267 elif (True) :
3268 alt38 = 3
3269 else:
3270 if self.backtracking > 0:
3271 self.failed = True
3272 return
3273
3274 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
3275
3276 raise nvae
3277
3278 elif LA38 == 59:
3279 LA38_4 = self.input.LA(3)
3280
3281 if (self.synpred77()) :
3282 alt38 = 1
3283 elif (True) :
3284 alt38 = 3
3285 else:
3286 if self.backtracking > 0:
3287 self.failed = True
3288 return
3289
3290 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
3291
3292 raise nvae
3293
3294 elif LA38 == 60:
3295 LA38_5 = self.input.LA(3)
3296
3297 if (self.synpred77()) :
3298 alt38 = 1
3299 elif (True) :
3300 alt38 = 3
3301 else:
3302 if self.backtracking > 0:
3303 self.failed = True
3304 return
3305
3306 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self.input)
3307
3308 raise nvae
3309
3310 elif LA38 == EOF or LA38 == IDENTIFIER or LA38 == 25 or LA38 == 26 or LA38 == 27 or LA38 == 28 or LA38 == 29 or LA38 == 30 or LA38 == 31 or LA38 == 32 or LA38 == 33 or LA38 == 34 or LA38 == 35 or LA38 == 36 or LA38 == 37 or LA38 == 38 or LA38 == 39 or LA38 == 40 or LA38 == 41 or LA38 == 42 or LA38 == 43 or LA38 == 45 or LA38 == 46 or LA38 == 47 or LA38 == 48 or LA38 == 62 or LA38 == 63 or LA38 == 64:
3311 alt38 = 3
3312 elif LA38 == 53:
3313 LA38_21 = self.input.LA(3)
3314
3315 if (self.synpred77()) :
3316 alt38 = 1
3317 elif (True) :
3318 alt38 = 3
3319 else:
3320 if self.backtracking > 0:
3321 self.failed = True
3322 return
3323
3324 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self.input)
3325
3326 raise nvae
3327
3328 elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57 or LA38 == 61:
3329 LA38_29 = self.input.LA(3)
3330
3331 if (self.synpred77()) :
3332 alt38 = 1
3333 elif (True) :
3334 alt38 = 3
3335 else:
3336 if self.backtracking > 0:
3337 self.failed = True
3338 return
3339
3340 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
3341
3342 raise nvae
3343
3344 else:
3345 if self.backtracking > 0:
3346 self.failed = True
3347 return
3348
3349 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
3350
3351 raise nvae
3352
3353 else:
3354 if self.backtracking > 0:
3355 self.failed = True
3356 return
3357
3358 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
3359
3360 raise nvae
3361
3362 if alt38 == 1:
3363 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3364 self.match(self.input, 66, self.FOLLOW_66_in_pointer919)
3365 if self.failed:
3366 return
3367 # C.g:316:8: ( type_qualifier )+
3368 cnt36 = 0
3369 while True: #loop36
3370 alt36 = 2
3371 LA36 = self.input.LA(1)
3372 if LA36 == 58:
3373 LA36_2 = self.input.LA(2)
3374
3375 if (self.synpred75()) :
3376 alt36 = 1
3377
3378
3379 elif LA36 == 59:
3380 LA36_3 = self.input.LA(2)
3381
3382 if (self.synpred75()) :
3383 alt36 = 1
3384
3385
3386 elif LA36 == 60:
3387 LA36_4 = self.input.LA(2)
3388
3389 if (self.synpred75()) :
3390 alt36 = 1
3391
3392
3393 elif LA36 == 53:
3394 LA36_20 = self.input.LA(2)
3395
3396 if (self.synpred75()) :
3397 alt36 = 1
3398
3399
3400 elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57 or LA36 == 61:
3401 LA36_28 = self.input.LA(2)
3402
3403 if (self.synpred75()) :
3404 alt36 = 1
3405
3406
3407
3408 if alt36 == 1:
3409 # C.g:0:0: type_qualifier
3410 self.following.append(self.FOLLOW_type_qualifier_in_pointer921)
3411 self.type_qualifier()
3412 self.following.pop()
3413 if self.failed:
3414 return
3415
3416
3417 else:
3418 if cnt36 >= 1:
3419 break #loop36
3420
3421 if self.backtracking > 0:
3422 self.failed = True
3423 return
3424
3425 eee = EarlyExitException(36, self.input)
3426 raise eee
3427
3428 cnt36 += 1
3429
3430
3431 # C.g:316:24: ( pointer )?
3432 alt37 = 2
3433 LA37_0 = self.input.LA(1)
3434
3435 if (LA37_0 == 66) :
3436 LA37_1 = self.input.LA(2)
3437
3438 if (self.synpred76()) :
3439 alt37 = 1
3440 if alt37 == 1:
3441 # C.g:0:0: pointer
3442 self.following.append(self.FOLLOW_pointer_in_pointer924)
3443 self.pointer()
3444 self.following.pop()
3445 if self.failed:
3446 return
3447
3448
3449
3450
3451
3452 elif alt38 == 2:
3453 # C.g:317:4: '*' pointer
3454 self.match(self.input, 66, self.FOLLOW_66_in_pointer930)
3455 if self.failed:
3456 return
3457 self.following.append(self.FOLLOW_pointer_in_pointer932)
3458 self.pointer()
3459 self.following.pop()
3460 if self.failed:
3461 return
3462
3463
3464 elif alt38 == 3:
3465 # C.g:318:4: '*'
3466 self.match(self.input, 66, self.FOLLOW_66_in_pointer937)
3467 if self.failed:
3468 return
3469
3470
3471
3472 except RecognitionException, re:
3473 self.reportError(re)
3474 self.recover(self.input, re)
3475 finally:
3476 if self.backtracking > 0:
3477 self.memoize(self.input, 25, pointer_StartIndex)
3478
3479 pass
3480
3481 return
3482
3483 # $ANTLR end pointer
3484
3485
3486 # $ANTLR start parameter_type_list
3487 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3488 def parameter_type_list(self, ):
3489
3490 parameter_type_list_StartIndex = self.input.index()
3491 try:
3492 try:
3493 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
3494 return
3495
3496 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3497 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3498 self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list948)
3499 self.parameter_list()
3500 self.following.pop()
3501 if self.failed:
3502 return
3503 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3504 alt40 = 2
3505 LA40_0 = self.input.LA(1)
3506
3507 if (LA40_0 == 27) :
3508 alt40 = 1
3509 if alt40 == 1:
3510 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3511 self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951)
3512 if self.failed:
3513 return
3514 # C.g:322:24: ( 'OPTIONAL' )?
3515 alt39 = 2
3516 LA39_0 = self.input.LA(1)
3517
3518 if (LA39_0 == 53) :
3519 alt39 = 1
3520 if alt39 == 1:
3521 # C.g:322:25: 'OPTIONAL'
3522 self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list954)
3523 if self.failed:
3524 return
3525
3526
3527
3528 self.match(self.input, 67, self.FOLLOW_67_in_parameter_type_list958)
3529 if self.failed:
3530 return
3531
3532
3533
3534
3535
3536
3537
3538 except RecognitionException, re:
3539 self.reportError(re)
3540 self.recover(self.input, re)
3541 finally:
3542 if self.backtracking > 0:
3543 self.memoize(self.input, 26, parameter_type_list_StartIndex)
3544
3545 pass
3546
3547 return
3548
3549 # $ANTLR end parameter_type_list
3550
3551
3552 # $ANTLR start parameter_list
3553 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3554 def parameter_list(self, ):
3555
3556 parameter_list_StartIndex = self.input.index()
3557 try:
3558 try:
3559 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
3560 return
3561
3562 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3563 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3564 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list971)
3565 self.parameter_declaration()
3566 self.following.pop()
3567 if self.failed:
3568 return
3569 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3570 while True: #loop42
3571 alt42 = 2
3572 LA42_0 = self.input.LA(1)
3573
3574 if (LA42_0 == 27) :
3575 LA42_1 = self.input.LA(2)
3576
3577 if (LA42_1 == 53) :
3578 LA42_3 = self.input.LA(3)
3579
3580 if (self.synpred82()) :
3581 alt42 = 1
3582
3583
3584 elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 61) or LA42_1 == 66) :
3585 alt42 = 1
3586
3587
3588
3589
3590 if alt42 == 1:
3591 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3592 self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974)
3593 if self.failed:
3594 return
3595 # C.g:326:31: ( 'OPTIONAL' )?
3596 alt41 = 2
3597 LA41_0 = self.input.LA(1)
3598
3599 if (LA41_0 == 53) :
3600 LA41_1 = self.input.LA(2)
3601
3602 if (self.synpred81()) :
3603 alt41 = 1
3604 if alt41 == 1:
3605 # C.g:326:32: 'OPTIONAL'
3606 self.match(self.input, 53, self.FOLLOW_53_in_parameter_list977)
3607 if self.failed:
3608 return
3609
3610
3611
3612 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list981)
3613 self.parameter_declaration()
3614 self.following.pop()
3615 if self.failed:
3616 return
3617
3618
3619 else:
3620 break #loop42
3621
3622
3623
3624
3625
3626
3627 except RecognitionException, re:
3628 self.reportError(re)
3629 self.recover(self.input, re)
3630 finally:
3631 if self.backtracking > 0:
3632 self.memoize(self.input, 27, parameter_list_StartIndex)
3633
3634 pass
3635
3636 return
3637
3638 # $ANTLR end parameter_list
3639
3640
3641 # $ANTLR start parameter_declaration
3642 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3643 def parameter_declaration(self, ):
3644
3645 parameter_declaration_StartIndex = self.input.index()
3646 try:
3647 try:
3648 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
3649 return
3650
3651 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3652 alt46 = 2
3653 LA46 = self.input.LA(1)
3654 if LA46 == 29 or LA46 == 30 or LA46 == 31 or LA46 == 32 or LA46 == 33 or LA46 == 34 or LA46 == 35 or LA46 == 36 or LA46 == 37 or LA46 == 38 or LA46 == 39 or LA46 == 40 or LA46 == 41 or LA46 == 42 or LA46 == 45 or LA46 == 46 or LA46 == 48 or LA46 == 49 or LA46 == 50 or LA46 == 51 or LA46 == 52 or LA46 == 53 or LA46 == 54 or LA46 == 55 or LA46 == 56 or LA46 == 57 or LA46 == 58 or LA46 == 59 or LA46 == 60 or LA46 == 61:
3655 alt46 = 1
3656 elif LA46 == IDENTIFIER:
3657 LA46_13 = self.input.LA(2)
3658
3659 if (self.synpred86()) :
3660 alt46 = 1
3661 elif (True) :
3662 alt46 = 2
3663 else:
3664 if self.backtracking > 0:
3665 self.failed = True
3666 return
3667
3668 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
3669
3670 raise nvae
3671
3672 elif LA46 == 66:
3673 alt46 = 2
3674 else:
3675 if self.backtracking > 0:
3676 self.failed = True
3677 return
3678
3679 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
3680
3681 raise nvae
3682
3683 if alt46 == 1:
3684 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3685 self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration994)
3686 self.declaration_specifiers()
3687 self.following.pop()
3688 if self.failed:
3689 return
3690 # C.g:330:27: ( declarator | abstract_declarator )*
3691 while True: #loop43
3692 alt43 = 3
3693 LA43 = self.input.LA(1)
3694 if LA43 == 66:
3695 LA43_5 = self.input.LA(2)
3696
3697 if (self.synpred83()) :
3698 alt43 = 1
3699 elif (self.synpred84()) :
3700 alt43 = 2
3701
3702
3703 elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
3704 alt43 = 1
3705 elif LA43 == 62:
3706 LA43 = self.input.LA(2)
3707 if LA43 == 29 or LA43 == 30 or LA43 == 31 or LA43 == 32 or LA43 == 33 or LA43 == 34 or LA43 == 35 or LA43 == 36 or LA43 == 37 or LA43 == 38 or LA43 == 39 or LA43 == 40 or LA43 == 41 or LA43 == 42 or LA43 == 45 or LA43 == 46 or LA43 == 48 or LA43 == 49 or LA43 == 50 or LA43 == 51 or LA43 == 52 or LA43 == 53 or LA43 == 54 or LA43 == 55 or LA43 == 56 or LA43 == 57 or LA43 == 61 or LA43 == 63 or LA43 == 64:
3708 alt43 = 2
3709 elif LA43 == IDENTIFIER:
3710 LA43_37 = self.input.LA(3)
3711
3712 if (self.synpred83()) :
3713 alt43 = 1
3714 elif (self.synpred84()) :
3715 alt43 = 2
3716
3717
3718 elif LA43 == 58:
3719 LA43_38 = self.input.LA(3)
3720
3721 if (self.synpred83()) :
3722 alt43 = 1
3723 elif (self.synpred84()) :
3724 alt43 = 2
3725
3726
3727 elif LA43 == 66:
3728 LA43_39 = self.input.LA(3)
3729
3730 if (self.synpred83()) :
3731 alt43 = 1
3732 elif (self.synpred84()) :
3733 alt43 = 2
3734
3735
3736 elif LA43 == 59:
3737 LA43_40 = self.input.LA(3)
3738
3739 if (self.synpred83()) :
3740 alt43 = 1
3741 elif (self.synpred84()) :
3742 alt43 = 2
3743
3744
3745 elif LA43 == 60:
3746 LA43_41 = self.input.LA(3)
3747
3748 if (self.synpred83()) :
3749 alt43 = 1
3750 elif (self.synpred84()) :
3751 alt43 = 2
3752
3753
3754 elif LA43 == 62:
3755 LA43_43 = self.input.LA(3)
3756
3757 if (self.synpred83()) :
3758 alt43 = 1
3759 elif (self.synpred84()) :
3760 alt43 = 2
3761
3762
3763
3764 elif LA43 == 64:
3765 alt43 = 2
3766
3767 if alt43 == 1:
3768 # C.g:330:28: declarator
3769 self.following.append(self.FOLLOW_declarator_in_parameter_declaration997)
3770 self.declarator()
3771 self.following.pop()
3772 if self.failed:
3773 return
3774
3775
3776 elif alt43 == 2:
3777 # C.g:330:39: abstract_declarator
3778 self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration999)
3779 self.abstract_declarator()
3780 self.following.pop()
3781 if self.failed:
3782 return
3783
3784
3785 else:
3786 break #loop43
3787
3788
3789 # C.g:330:61: ( 'OPTIONAL' )?
3790 alt44 = 2
3791 LA44_0 = self.input.LA(1)
3792
3793 if (LA44_0 == 53) :
3794 alt44 = 1
3795 if alt44 == 1:
3796 # C.g:330:62: 'OPTIONAL'
3797 self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004)
3798 if self.failed:
3799 return
3800
3801
3802
3803
3804
3805 elif alt46 == 2:
3806 # C.g:332:4: ( pointer )* IDENTIFIER
3807 # C.g:332:4: ( pointer )*
3808 while True: #loop45
3809 alt45 = 2
3810 LA45_0 = self.input.LA(1)
3811
3812 if (LA45_0 == 66) :
3813 alt45 = 1
3814
3815
3816 if alt45 == 1:
3817 # C.g:0:0: pointer
3818 self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013)
3819 self.pointer()
3820 self.following.pop()
3821 if self.failed:
3822 return
3823
3824
3825 else:
3826 break #loop45
3827
3828
3829 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016)
3830 if self.failed:
3831 return
3832
3833
3834
3835 except RecognitionException, re:
3836 self.reportError(re)
3837 self.recover(self.input, re)
3838 finally:
3839 if self.backtracking > 0:
3840 self.memoize(self.input, 28, parameter_declaration_StartIndex)
3841
3842 pass
3843
3844 return
3845
3846 # $ANTLR end parameter_declaration
3847
3848
3849 # $ANTLR start identifier_list
3850 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3851 def identifier_list(self, ):
3852
3853 identifier_list_StartIndex = self.input.index()
3854 try:
3855 try:
3856 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
3857 return
3858
3859 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3860 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3861 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1027)
3862 if self.failed:
3863 return
3864 # C.g:337:2: ( ',' IDENTIFIER )*
3865 while True: #loop47
3866 alt47 = 2
3867 LA47_0 = self.input.LA(1)
3868
3869 if (LA47_0 == 27) :
3870 alt47 = 1
3871
3872
3873 if alt47 == 1:
3874 # C.g:337:3: ',' IDENTIFIER
3875 self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1031)
3876 if self.failed:
3877 return
3878 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1033)
3879 if self.failed:
3880 return
3881
3882
3883 else:
3884 break #loop47
3885
3886
3887
3888
3889
3890
3891 except RecognitionException, re:
3892 self.reportError(re)
3893 self.recover(self.input, re)
3894 finally:
3895 if self.backtracking > 0:
3896 self.memoize(self.input, 29, identifier_list_StartIndex)
3897
3898 pass
3899
3900 return
3901
3902 # $ANTLR end identifier_list
3903
3904
3905 # $ANTLR start type_name
3906 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3907 def type_name(self, ):
3908
3909 type_name_StartIndex = self.input.index()
3910 try:
3911 try:
3912 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
3913 return
3914
3915 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3916 alt49 = 2
3917 LA49_0 = self.input.LA(1)
3918
3919 if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 61)) :
3920 alt49 = 1
3921 elif (LA49_0 == IDENTIFIER) :
3922 LA49_13 = self.input.LA(2)
3923
3924 if (self.synpred90()) :
3925 alt49 = 1
3926 elif (True) :
3927 alt49 = 2
3928 else:
3929 if self.backtracking > 0:
3930 self.failed = True
3931 return
3932
3933 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
3934
3935 raise nvae
3936
3937 else:
3938 if self.backtracking > 0:
3939 self.failed = True
3940 return
3941
3942 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
3943
3944 raise nvae
3945
3946 if alt49 == 1:
3947 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3948 self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1046)
3949 self.specifier_qualifier_list()
3950 self.following.pop()
3951 if self.failed:
3952 return
3953 # C.g:341:29: ( abstract_declarator )?
3954 alt48 = 2
3955 LA48_0 = self.input.LA(1)
3956
3957 if (LA48_0 == 62 or LA48_0 == 64 or LA48_0 == 66) :
3958 alt48 = 1
3959 if alt48 == 1:
3960 # C.g:0:0: abstract_declarator
3961 self.following.append(self.FOLLOW_abstract_declarator_in_type_name1048)
3962 self.abstract_declarator()
3963 self.following.pop()
3964 if self.failed:
3965 return
3966
3967
3968
3969
3970
3971 elif alt49 == 2:
3972 # C.g:342:4: type_id
3973 self.following.append(self.FOLLOW_type_id_in_type_name1054)
3974 self.type_id()
3975 self.following.pop()
3976 if self.failed:
3977 return
3978
3979
3980
3981 except RecognitionException, re:
3982 self.reportError(re)
3983 self.recover(self.input, re)
3984 finally:
3985 if self.backtracking > 0:
3986 self.memoize(self.input, 30, type_name_StartIndex)
3987
3988 pass
3989
3990 return
3991
3992 # $ANTLR end type_name
3993
3994
3995 # $ANTLR start abstract_declarator
3996 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3997 def abstract_declarator(self, ):
3998
3999 abstract_declarator_StartIndex = self.input.index()
4000 try:
4001 try:
4002 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
4003 return
4004
4005 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
4006 alt51 = 2
4007 LA51_0 = self.input.LA(1)
4008
4009 if (LA51_0 == 66) :
4010 alt51 = 1
4011 elif (LA51_0 == 62 or LA51_0 == 64) :
4012 alt51 = 2
4013 else:
4014 if self.backtracking > 0:
4015 self.failed = True
4016 return
4017
4018 nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
4019
4020 raise nvae
4021
4022 if alt51 == 1:
4023 # C.g:346:4: pointer ( direct_abstract_declarator )?
4024 self.following.append(self.FOLLOW_pointer_in_abstract_declarator1065)
4025 self.pointer()
4026 self.following.pop()
4027 if self.failed:
4028 return
4029 # C.g:346:12: ( direct_abstract_declarator )?
4030 alt50 = 2
4031 LA50_0 = self.input.LA(1)
4032
4033 if (LA50_0 == 62) :
4034 LA50 = self.input.LA(2)
4035 if LA50 == 63:
4036 LA50_12 = self.input.LA(3)
4037
4038 if (self.synpred91()) :
4039 alt50 = 1
4040 elif LA50 == 58:
4041 LA50_13 = self.input.LA(3)
4042
4043 if (self.synpred91()) :
4044 alt50 = 1
4045 elif LA50 == 66:
4046 LA50_14 = self.input.LA(3)
4047
4048 if (self.synpred91()) :
4049 alt50 = 1
4050 elif LA50 == 59:
4051 LA50_15 = self.input.LA(3)
4052
4053 if (self.synpred91()) :
4054 alt50 = 1
4055 elif LA50 == 60:
4056 LA50_16 = self.input.LA(3)
4057
4058 if (self.synpred91()) :
4059 alt50 = 1
4060 elif LA50 == IDENTIFIER:
4061 LA50_17 = self.input.LA(3)
4062
4063 if (self.synpred91()) :
4064 alt50 = 1
4065 elif LA50 == 62:
4066 LA50_18 = self.input.LA(3)
4067
4068 if (self.synpred91()) :
4069 alt50 = 1
4070 elif LA50 == 64:
4071 LA50_19 = self.input.LA(3)
4072
4073 if (self.synpred91()) :
4074 alt50 = 1
4075 elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
4076 LA50_20 = self.input.LA(3)
4077
4078 if (self.synpred91()) :
4079 alt50 = 1
4080 elif LA50 == 34:
4081 LA50_21 = self.input.LA(3)
4082
4083 if (self.synpred91()) :
4084 alt50 = 1
4085 elif LA50 == 35:
4086 LA50_22 = self.input.LA(3)
4087
4088 if (self.synpred91()) :
4089 alt50 = 1
4090 elif LA50 == 36:
4091 LA50_23 = self.input.LA(3)
4092
4093 if (self.synpred91()) :
4094 alt50 = 1
4095 elif LA50 == 37:
4096 LA50_24 = self.input.LA(3)
4097
4098 if (self.synpred91()) :
4099 alt50 = 1
4100 elif LA50 == 38:
4101 LA50_25 = self.input.LA(3)
4102
4103 if (self.synpred91()) :
4104 alt50 = 1
4105 elif LA50 == 39:
4106 LA50_26 = self.input.LA(3)
4107
4108 if (self.synpred91()) :
4109 alt50 = 1
4110 elif LA50 == 40:
4111 LA50_27 = self.input.LA(3)
4112
4113 if (self.synpred91()) :
4114 alt50 = 1
4115 elif LA50 == 41:
4116 LA50_28 = self.input.LA(3)
4117
4118 if (self.synpred91()) :
4119 alt50 = 1
4120 elif LA50 == 42:
4121 LA50_29 = self.input.LA(3)
4122
4123 if (self.synpred91()) :
4124 alt50 = 1
4125 elif LA50 == 45 or LA50 == 46:
4126 LA50_30 = self.input.LA(3)
4127
4128 if (self.synpred91()) :
4129 alt50 = 1
4130 elif LA50 == 48:
4131 LA50_31 = self.input.LA(3)
4132
4133 if (self.synpred91()) :
4134 alt50 = 1
4135 elif LA50 == 49 or LA50 == 50 or LA50 == 51 or LA50 == 52 or LA50 == 53 or LA50 == 54 or LA50 == 55 or LA50 == 56 or LA50 == 57 or LA50 == 61:
4136 LA50_32 = self.input.LA(3)
4137
4138 if (self.synpred91()) :
4139 alt50 = 1
4140 elif (LA50_0 == 64) :
4141 LA50 = self.input.LA(2)
4142 if LA50 == 65:
4143 LA50_33 = self.input.LA(3)
4144
4145 if (self.synpred91()) :
4146 alt50 = 1
4147 elif LA50 == 62:
4148 LA50_34 = self.input.LA(3)
4149
4150 if (self.synpred91()) :
4151 alt50 = 1
4152 elif LA50 == IDENTIFIER:
4153 LA50_35 = self.input.LA(3)
4154
4155 if (self.synpred91()) :
4156 alt50 = 1
4157 elif LA50 == HEX_LITERAL:
4158 LA50_36 = self.input.LA(3)
4159
4160 if (self.synpred91()) :
4161 alt50 = 1
4162 elif LA50 == OCTAL_LITERAL:
4163 LA50_37 = self.input.LA(3)
4164
4165 if (self.synpred91()) :
4166 alt50 = 1
4167 elif LA50 == DECIMAL_LITERAL:
4168 LA50_38 = self.input.LA(3)
4169
4170 if (self.synpred91()) :
4171 alt50 = 1
4172 elif LA50 == CHARACTER_LITERAL:
4173 LA50_39 = self.input.LA(3)
4174
4175 if (self.synpred91()) :
4176 alt50 = 1
4177 elif LA50 == STRING_LITERAL:
4178 LA50_40 = self.input.LA(3)
4179
4180 if (self.synpred91()) :
4181 alt50 = 1
4182 elif LA50 == FLOATING_POINT_LITERAL:
4183 LA50_41 = self.input.LA(3)
4184
4185 if (self.synpred91()) :
4186 alt50 = 1
4187 elif LA50 == 72:
4188 LA50_42 = self.input.LA(3)
4189
4190 if (self.synpred91()) :
4191 alt50 = 1
4192 elif LA50 == 73:
4193 LA50_43 = self.input.LA(3)
4194
4195 if (self.synpred91()) :
4196 alt50 = 1
4197 elif LA50 == 66 or LA50 == 68 or LA50 == 69 or LA50 == 77 or LA50 == 78 or LA50 == 79:
4198 LA50_44 = self.input.LA(3)
4199
4200 if (self.synpred91()) :
4201 alt50 = 1
4202 elif LA50 == 74:
4203 LA50_45 = self.input.LA(3)
4204
4205 if (self.synpred91()) :
4206 alt50 = 1
4207 if alt50 == 1:
4208 # C.g:0:0: direct_abstract_declarator
4209 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067)
4210 self.direct_abstract_declarator()
4211 self.following.pop()
4212 if self.failed:
4213 return
4214
4215
4216
4217
4218
4219 elif alt51 == 2:
4220 # C.g:347:4: direct_abstract_declarator
4221 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073)
4222 self.direct_abstract_declarator()
4223 self.following.pop()
4224 if self.failed:
4225 return
4226
4227
4228
4229 except RecognitionException, re:
4230 self.reportError(re)
4231 self.recover(self.input, re)
4232 finally:
4233 if self.backtracking > 0:
4234 self.memoize(self.input, 31, abstract_declarator_StartIndex)
4235
4236 pass
4237
4238 return
4239
4240 # $ANTLR end abstract_declarator
4241
4242
4243 # $ANTLR start direct_abstract_declarator
4244 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4245 def direct_abstract_declarator(self, ):
4246
4247 direct_abstract_declarator_StartIndex = self.input.index()
4248 try:
4249 try:
4250 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
4251 return
4252
4253 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4254 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4255 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4256 alt52 = 2
4257 LA52_0 = self.input.LA(1)
4258
4259 if (LA52_0 == 62) :
4260 LA52 = self.input.LA(2)
4261 if LA52 == IDENTIFIER or LA52 == 29 or LA52 == 30 or LA52 == 31 or LA52 == 32 or LA52 == 33 or LA52 == 34 or LA52 == 35 or LA52 == 36 or LA52 == 37 or LA52 == 38 or LA52 == 39 or LA52 == 40 or LA52 == 41 or LA52 == 42 or LA52 == 45 or LA52 == 46 or LA52 == 48 or LA52 == 49 or LA52 == 50 or LA52 == 51 or LA52 == 52 or LA52 == 53 or LA52 == 54 or LA52 == 55 or LA52 == 56 or LA52 == 57 or LA52 == 58 or LA52 == 59 or LA52 == 60 or LA52 == 61 or LA52 == 63:
4262 alt52 = 2
4263 elif LA52 == 66:
4264 LA52_18 = self.input.LA(3)
4265
4266 if (self.synpred93()) :
4267 alt52 = 1
4268 elif (True) :
4269 alt52 = 2
4270 else:
4271 if self.backtracking > 0:
4272 self.failed = True
4273 return
4274
4275 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
4276
4277 raise nvae
4278
4279 elif LA52 == 62 or LA52 == 64:
4280 alt52 = 1
4281 else:
4282 if self.backtracking > 0:
4283 self.failed = True
4284 return
4285
4286 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
4287
4288 raise nvae
4289
4290 elif (LA52_0 == 64) :
4291 alt52 = 2
4292 else:
4293 if self.backtracking > 0:
4294 self.failed = True
4295 return
4296
4297 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
4298
4299 raise nvae
4300
4301 if alt52 == 1:
4302 # C.g:351:6: '(' abstract_declarator ')'
4303 self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1086)
4304 if self.failed:
4305 return
4306 self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088)
4307 self.abstract_declarator()
4308 self.following.pop()
4309 if self.failed:
4310 return
4311 self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090)
4312 if self.failed:
4313 return
4314
4315
4316 elif alt52 == 2:
4317 # C.g:351:36: abstract_declarator_suffix
4318 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094)
4319 self.abstract_declarator_suffix()
4320 self.following.pop()
4321 if self.failed:
4322 return
4323
4324
4325
4326 # C.g:351:65: ( abstract_declarator_suffix )*
4327 while True: #loop53
4328 alt53 = 2
4329 LA53_0 = self.input.LA(1)
4330
4331 if (LA53_0 == 62) :
4332 LA53 = self.input.LA(2)
4333 if LA53 == 63:
4334 LA53_12 = self.input.LA(3)
4335
4336 if (self.synpred94()) :
4337 alt53 = 1
4338
4339
4340 elif LA53 == 58:
4341 LA53_13 = self.input.LA(3)
4342
4343 if (self.synpred94()) :
4344 alt53 = 1
4345
4346
4347 elif LA53 == 66:
4348 LA53_14 = self.input.LA(3)
4349
4350 if (self.synpred94()) :
4351 alt53 = 1
4352
4353
4354 elif LA53 == 59:
4355 LA53_15 = self.input.LA(3)
4356
4357 if (self.synpred94()) :
4358 alt53 = 1
4359
4360
4361 elif LA53 == 60:
4362 LA53_16 = self.input.LA(3)
4363
4364 if (self.synpred94()) :
4365 alt53 = 1
4366
4367
4368 elif LA53 == IDENTIFIER:
4369 LA53_17 = self.input.LA(3)
4370
4371 if (self.synpred94()) :
4372 alt53 = 1
4373
4374
4375 elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33:
4376 LA53_19 = self.input.LA(3)
4377
4378 if (self.synpred94()) :
4379 alt53 = 1
4380
4381
4382 elif LA53 == 34:
4383 LA53_20 = self.input.LA(3)
4384
4385 if (self.synpred94()) :
4386 alt53 = 1
4387
4388
4389 elif LA53 == 35:
4390 LA53_21 = self.input.LA(3)
4391
4392 if (self.synpred94()) :
4393 alt53 = 1
4394
4395
4396 elif LA53 == 36:
4397 LA53_22 = self.input.LA(3)
4398
4399 if (self.synpred94()) :
4400 alt53 = 1
4401
4402
4403 elif LA53 == 37:
4404 LA53_23 = self.input.LA(3)
4405
4406 if (self.synpred94()) :
4407 alt53 = 1
4408
4409
4410 elif LA53 == 38:
4411 LA53_24 = self.input.LA(3)
4412
4413 if (self.synpred94()) :
4414 alt53 = 1
4415
4416
4417 elif LA53 == 39:
4418 LA53_25 = self.input.LA(3)
4419
4420 if (self.synpred94()) :
4421 alt53 = 1
4422
4423
4424 elif LA53 == 40:
4425 LA53_26 = self.input.LA(3)
4426
4427 if (self.synpred94()) :
4428 alt53 = 1
4429
4430
4431 elif LA53 == 41:
4432 LA53_27 = self.input.LA(3)
4433
4434 if (self.synpred94()) :
4435 alt53 = 1
4436
4437
4438 elif LA53 == 42:
4439 LA53_28 = self.input.LA(3)
4440
4441 if (self.synpred94()) :
4442 alt53 = 1
4443
4444
4445 elif LA53 == 45 or LA53 == 46:
4446 LA53_29 = self.input.LA(3)
4447
4448 if (self.synpred94()) :
4449 alt53 = 1
4450
4451
4452 elif LA53 == 48:
4453 LA53_30 = self.input.LA(3)
4454
4455 if (self.synpred94()) :
4456 alt53 = 1
4457
4458
4459 elif LA53 == 49 or LA53 == 50 or LA53 == 51 or LA53 == 52 or LA53 == 53 or LA53 == 54 or LA53 == 55 or LA53 == 56 or LA53 == 57 or LA53 == 61:
4460 LA53_31 = self.input.LA(3)
4461
4462 if (self.synpred94()) :
4463 alt53 = 1
4464
4465
4466
4467 elif (LA53_0 == 64) :
4468 LA53 = self.input.LA(2)
4469 if LA53 == 65:
4470 LA53_33 = self.input.LA(3)
4471
4472 if (self.synpred94()) :
4473 alt53 = 1
4474
4475
4476 elif LA53 == 62:
4477 LA53_34 = self.input.LA(3)
4478
4479 if (self.synpred94()) :
4480 alt53 = 1
4481
4482
4483 elif LA53 == IDENTIFIER:
4484 LA53_35 = self.input.LA(3)
4485
4486 if (self.synpred94()) :
4487 alt53 = 1
4488
4489
4490 elif LA53 == HEX_LITERAL:
4491 LA53_36 = self.input.LA(3)
4492
4493 if (self.synpred94()) :
4494 alt53 = 1
4495
4496
4497 elif LA53 == OCTAL_LITERAL:
4498 LA53_37 = self.input.LA(3)
4499
4500 if (self.synpred94()) :
4501 alt53 = 1
4502
4503
4504 elif LA53 == DECIMAL_LITERAL:
4505 LA53_38 = self.input.LA(3)
4506
4507 if (self.synpred94()) :
4508 alt53 = 1
4509
4510
4511 elif LA53 == CHARACTER_LITERAL:
4512 LA53_39 = self.input.LA(3)
4513
4514 if (self.synpred94()) :
4515 alt53 = 1
4516
4517
4518 elif LA53 == STRING_LITERAL:
4519 LA53_40 = self.input.LA(3)
4520
4521 if (self.synpred94()) :
4522 alt53 = 1
4523
4524
4525 elif LA53 == FLOATING_POINT_LITERAL:
4526 LA53_41 = self.input.LA(3)
4527
4528 if (self.synpred94()) :
4529 alt53 = 1
4530
4531
4532 elif LA53 == 72:
4533 LA53_42 = self.input.LA(3)
4534
4535 if (self.synpred94()) :
4536 alt53 = 1
4537
4538
4539 elif LA53 == 73:
4540 LA53_43 = self.input.LA(3)
4541
4542 if (self.synpred94()) :
4543 alt53 = 1
4544
4545
4546 elif LA53 == 66 or LA53 == 68 or LA53 == 69 or LA53 == 77 or LA53 == 78 or LA53 == 79:
4547 LA53_44 = self.input.LA(3)
4548
4549 if (self.synpred94()) :
4550 alt53 = 1
4551
4552
4553 elif LA53 == 74:
4554 LA53_45 = self.input.LA(3)
4555
4556 if (self.synpred94()) :
4557 alt53 = 1
4558
4559
4560
4561
4562
4563 if alt53 == 1:
4564 # C.g:0:0: abstract_declarator_suffix
4565 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098)
4566 self.abstract_declarator_suffix()
4567 self.following.pop()
4568 if self.failed:
4569 return
4570
4571
4572 else:
4573 break #loop53
4574
4575
4576
4577
4578
4579
4580 except RecognitionException, re:
4581 self.reportError(re)
4582 self.recover(self.input, re)
4583 finally:
4584 if self.backtracking > 0:
4585 self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
4586
4587 pass
4588
4589 return
4590
4591 # $ANTLR end direct_abstract_declarator
4592
4593
4594 # $ANTLR start abstract_declarator_suffix
4595 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4596 def abstract_declarator_suffix(self, ):
4597
4598 abstract_declarator_suffix_StartIndex = self.input.index()
4599 try:
4600 try:
4601 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
4602 return
4603
4604 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4605 alt54 = 4
4606 LA54_0 = self.input.LA(1)
4607
4608 if (LA54_0 == 64) :
4609 LA54_1 = self.input.LA(2)
4610
4611 if (LA54_1 == 65) :
4612 alt54 = 1
4613 elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 62 or LA54_1 == 66 or (68 <= LA54_1 <= 69) or (72 <= LA54_1 <= 74) or (77 <= LA54_1 <= 79)) :
4614 alt54 = 2
4615 else:
4616 if self.backtracking > 0:
4617 self.failed = True
4618 return
4619
4620 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
4621
4622 raise nvae
4623
4624 elif (LA54_0 == 62) :
4625 LA54_2 = self.input.LA(2)
4626
4627 if (LA54_2 == 63) :
4628 alt54 = 3
4629 elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 61) or LA54_2 == 66) :
4630 alt54 = 4
4631 else:
4632 if self.backtracking > 0:
4633 self.failed = True
4634 return
4635
4636 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
4637
4638 raise nvae
4639
4640 else:
4641 if self.backtracking > 0:
4642 self.failed = True
4643 return
4644
4645 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
4646
4647 raise nvae
4648
4649 if alt54 == 1:
4650 # C.g:355:4: '[' ']'
4651 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110)
4652 if self.failed:
4653 return
4654 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112)
4655 if self.failed:
4656 return
4657
4658
4659 elif alt54 == 2:
4660 # C.g:356:4: '[' constant_expression ']'
4661 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1117)
4662 if self.failed:
4663 return
4664 self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1119)
4665 self.constant_expression()
4666 self.following.pop()
4667 if self.failed:
4668 return
4669 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121)
4670 if self.failed:
4671 return
4672
4673
4674 elif alt54 == 3:
4675 # C.g:357:4: '(' ')'
4676 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126)
4677 if self.failed:
4678 return
4679 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128)
4680 if self.failed:
4681 return
4682
4683
4684 elif alt54 == 4:
4685 # C.g:358:4: '(' parameter_type_list ')'
4686 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1133)
4687 if self.failed:
4688 return
4689 self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135)
4690 self.parameter_type_list()
4691 self.following.pop()
4692 if self.failed:
4693 return
4694 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137)
4695 if self.failed:
4696 return
4697
4698
4699
4700 except RecognitionException, re:
4701 self.reportError(re)
4702 self.recover(self.input, re)
4703 finally:
4704 if self.backtracking > 0:
4705 self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
4706
4707 pass
4708
4709 return
4710
4711 # $ANTLR end abstract_declarator_suffix
4712
4713
4714 # $ANTLR start initializer
4715 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4716 def initializer(self, ):
4717
4718 initializer_StartIndex = self.input.index()
4719 try:
4720 try:
4721 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
4722 return
4723
4724 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4725 alt56 = 2
4726 LA56_0 = self.input.LA(1)
4727
4728 if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 62 or LA56_0 == 66 or (68 <= LA56_0 <= 69) or (72 <= LA56_0 <= 74) or (77 <= LA56_0 <= 79)) :
4729 alt56 = 1
4730 elif (LA56_0 == 43) :
4731 alt56 = 2
4732 else:
4733 if self.backtracking > 0:
4734 self.failed = True
4735 return
4736
4737 nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
4738
4739 raise nvae
4740
4741 if alt56 == 1:
4742 # C.g:363:4: assignment_expression
4743 self.following.append(self.FOLLOW_assignment_expression_in_initializer1150)
4744 self.assignment_expression()
4745 self.following.pop()
4746 if self.failed:
4747 return
4748
4749
4750 elif alt56 == 2:
4751 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4752 self.match(self.input, 43, self.FOLLOW_43_in_initializer1155)
4753 if self.failed:
4754 return
4755 self.following.append(self.FOLLOW_initializer_list_in_initializer1157)
4756 self.initializer_list()
4757 self.following.pop()
4758 if self.failed:
4759 return
4760 # C.g:364:25: ( ',' )?
4761 alt55 = 2
4762 LA55_0 = self.input.LA(1)
4763
4764 if (LA55_0 == 27) :
4765 alt55 = 1
4766 if alt55 == 1:
4767 # C.g:0:0: ','
4768 self.match(self.input, 27, self.FOLLOW_27_in_initializer1159)
4769 if self.failed:
4770 return
4771
4772
4773
4774 self.match(self.input, 44, self.FOLLOW_44_in_initializer1162)
4775 if self.failed:
4776 return
4777
4778
4779
4780 except RecognitionException, re:
4781 self.reportError(re)
4782 self.recover(self.input, re)
4783 finally:
4784 if self.backtracking > 0:
4785 self.memoize(self.input, 34, initializer_StartIndex)
4786
4787 pass
4788
4789 return
4790
4791 # $ANTLR end initializer
4792
4793
4794 # $ANTLR start initializer_list
4795 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4796 def initializer_list(self, ):
4797
4798 initializer_list_StartIndex = self.input.index()
4799 try:
4800 try:
4801 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
4802 return
4803
4804 # C.g:368:2: ( initializer ( ',' initializer )* )
4805 # C.g:368:4: initializer ( ',' initializer )*
4806 self.following.append(self.FOLLOW_initializer_in_initializer_list1173)
4807 self.initializer()
4808 self.following.pop()
4809 if self.failed:
4810 return
4811 # C.g:368:16: ( ',' initializer )*
4812 while True: #loop57
4813 alt57 = 2
4814 LA57_0 = self.input.LA(1)
4815
4816 if (LA57_0 == 27) :
4817 LA57_1 = self.input.LA(2)
4818
4819 if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 62 or LA57_1 == 66 or (68 <= LA57_1 <= 69) or (72 <= LA57_1 <= 74) or (77 <= LA57_1 <= 79)) :
4820 alt57 = 1
4821
4822
4823
4824
4825 if alt57 == 1:
4826 # C.g:368:17: ',' initializer
4827 self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1176)
4828 if self.failed:
4829 return
4830 self.following.append(self.FOLLOW_initializer_in_initializer_list1178)
4831 self.initializer()
4832 self.following.pop()
4833 if self.failed:
4834 return
4835
4836
4837 else:
4838 break #loop57
4839
4840
4841
4842
4843
4844
4845 except RecognitionException, re:
4846 self.reportError(re)
4847 self.recover(self.input, re)
4848 finally:
4849 if self.backtracking > 0:
4850 self.memoize(self.input, 35, initializer_list_StartIndex)
4851
4852 pass
4853
4854 return
4855
4856 # $ANTLR end initializer_list
4857
4858 class argument_expression_list_return(object):
4859 def __init__(self):
4860 self.start = None
4861 self.stop = None
4862
4863
4864
4865 # $ANTLR start argument_expression_list
4866 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4867 def argument_expression_list(self, ):
4868
4869 retval = self.argument_expression_list_return()
4870 retval.start = self.input.LT(1)
4871 argument_expression_list_StartIndex = self.input.index()
4872 try:
4873 try:
4874 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
4875 return retval
4876
4877 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4878 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4879 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1196)
4880 self.assignment_expression()
4881 self.following.pop()
4882 if self.failed:
4883 return retval
4884 # C.g:374:28: ( 'OPTIONAL' )?
4885 alt58 = 2
4886 LA58_0 = self.input.LA(1)
4887
4888 if (LA58_0 == 53) :
4889 alt58 = 1
4890 if alt58 == 1:
4891 # C.g:374:29: 'OPTIONAL'
4892 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199)
4893 if self.failed:
4894 return retval
4895
4896
4897
4898 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4899 while True: #loop60
4900 alt60 = 2
4901 LA60_0 = self.input.LA(1)
4902
4903 if (LA60_0 == 27) :
4904 alt60 = 1
4905
4906
4907 if alt60 == 1:
4908 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4909 self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1204)
4910 if self.failed:
4911 return retval
4912 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1206)
4913 self.assignment_expression()
4914 self.following.pop()
4915 if self.failed:
4916 return retval
4917 # C.g:374:69: ( 'OPTIONAL' )?
4918 alt59 = 2
4919 LA59_0 = self.input.LA(1)
4920
4921 if (LA59_0 == 53) :
4922 alt59 = 1
4923 if alt59 == 1:
4924 # C.g:374:70: 'OPTIONAL'
4925 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209)
4926 if self.failed:
4927 return retval
4928
4929
4930
4931
4932
4933 else:
4934 break #loop60
4935
4936
4937
4938
4939
4940 retval.stop = self.input.LT(-1)
4941
4942
4943 except RecognitionException, re:
4944 self.reportError(re)
4945 self.recover(self.input, re)
4946 finally:
4947 if self.backtracking > 0:
4948 self.memoize(self.input, 36, argument_expression_list_StartIndex)
4949
4950 pass
4951
4952 return retval
4953
4954 # $ANTLR end argument_expression_list
4955
4956
4957 # $ANTLR start additive_expression
4958 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4959 def additive_expression(self, ):
4960
4961 additive_expression_StartIndex = self.input.index()
4962 try:
4963 try:
4964 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
4965 return
4966
4967 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4968 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4969 # C.g:378:4: ( multiplicative_expression )
4970 # C.g:378:5: multiplicative_expression
4971 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1225)
4972 self.multiplicative_expression()
4973 self.following.pop()
4974 if self.failed:
4975 return
4976
4977
4978
4979 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4980 while True: #loop61
4981 alt61 = 3
4982 LA61_0 = self.input.LA(1)
4983
4984 if (LA61_0 == 68) :
4985 alt61 = 1
4986 elif (LA61_0 == 69) :
4987 alt61 = 2
4988
4989
4990 if alt61 == 1:
4991 # C.g:378:33: '+' multiplicative_expression
4992 self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1229)
4993 if self.failed:
4994 return
4995 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1231)
4996 self.multiplicative_expression()
4997 self.following.pop()
4998 if self.failed:
4999 return
5000
5001
5002 elif alt61 == 2:
5003 # C.g:378:65: '-' multiplicative_expression
5004 self.match(self.input, 69, self.FOLLOW_69_in_additive_expression1235)
5005 if self.failed:
5006 return
5007 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1237)
5008 self.multiplicative_expression()
5009 self.following.pop()
5010 if self.failed:
5011 return
5012
5013
5014 else:
5015 break #loop61
5016
5017
5018
5019
5020
5021
5022 except RecognitionException, re:
5023 self.reportError(re)
5024 self.recover(self.input, re)
5025 finally:
5026 if self.backtracking > 0:
5027 self.memoize(self.input, 37, additive_expression_StartIndex)
5028
5029 pass
5030
5031 return
5032
5033 # $ANTLR end additive_expression
5034
5035
5036 # $ANTLR start multiplicative_expression
5037 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5038 def multiplicative_expression(self, ):
5039
5040 multiplicative_expression_StartIndex = self.input.index()
5041 try:
5042 try:
5043 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
5044 return
5045
5046 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5047 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5048 # C.g:382:4: ( cast_expression )
5049 # C.g:382:5: cast_expression
5050 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1251)
5051 self.cast_expression()
5052 self.following.pop()
5053 if self.failed:
5054 return
5055
5056
5057
5058 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5059 while True: #loop62
5060 alt62 = 4
5061 LA62 = self.input.LA(1)
5062 if LA62 == 66:
5063 alt62 = 1
5064 elif LA62 == 70:
5065 alt62 = 2
5066 elif LA62 == 71:
5067 alt62 = 3
5068
5069 if alt62 == 1:
5070 # C.g:382:23: '*' cast_expression
5071 self.match(self.input, 66, self.FOLLOW_66_in_multiplicative_expression1255)
5072 if self.failed:
5073 return
5074 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1257)
5075 self.cast_expression()
5076 self.following.pop()
5077 if self.failed:
5078 return
5079
5080
5081 elif alt62 == 2:
5082 # C.g:382:45: '/' cast_expression
5083 self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1261)
5084 if self.failed:
5085 return
5086 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1263)
5087 self.cast_expression()
5088 self.following.pop()
5089 if self.failed:
5090 return
5091
5092
5093 elif alt62 == 3:
5094 # C.g:382:67: '%' cast_expression
5095 self.match(self.input, 71, self.FOLLOW_71_in_multiplicative_expression1267)
5096 if self.failed:
5097 return
5098 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1269)
5099 self.cast_expression()
5100 self.following.pop()
5101 if self.failed:
5102 return
5103
5104
5105 else:
5106 break #loop62
5107
5108
5109
5110
5111
5112
5113 except RecognitionException, re:
5114 self.reportError(re)
5115 self.recover(self.input, re)
5116 finally:
5117 if self.backtracking > 0:
5118 self.memoize(self.input, 38, multiplicative_expression_StartIndex)
5119
5120 pass
5121
5122 return
5123
5124 # $ANTLR end multiplicative_expression
5125
5126
5127 # $ANTLR start cast_expression
5128 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5129 def cast_expression(self, ):
5130
5131 cast_expression_StartIndex = self.input.index()
5132 try:
5133 try:
5134 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
5135 return
5136
5137 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5138 alt63 = 2
5139 LA63_0 = self.input.LA(1)
5140
5141 if (LA63_0 == 62) :
5142 LA63 = self.input.LA(2)
5143 if LA63 == 34 or LA63 == 35 or LA63 == 36 or LA63 == 37 or LA63 == 38 or LA63 == 39 or LA63 == 40 or LA63 == 41 or LA63 == 42 or LA63 == 45 or LA63 == 46 or LA63 == 48 or LA63 == 49 or LA63 == 50 or LA63 == 51 or LA63 == 52 or LA63 == 53 or LA63 == 54 or LA63 == 55 or LA63 == 56 or LA63 == 57 or LA63 == 58 or LA63 == 59 or LA63 == 60 or LA63 == 61:
5144 alt63 = 1
5145 elif LA63 == IDENTIFIER:
5146 LA63_25 = self.input.LA(3)
5147
5148 if (self.synpred109()) :
5149 alt63 = 1
5150 elif (True) :
5151 alt63 = 2
5152 else:
5153 if self.backtracking > 0:
5154 self.failed = True
5155 return
5156
5157 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self.input)
5158
5159 raise nvae
5160
5161 elif LA63 == HEX_LITERAL or LA63 == OCTAL_LITERAL or LA63 == DECIMAL_LITERAL or LA63 == CHARACTER_LITERAL or LA63 == STRING_LITERAL or LA63 == FLOATING_POINT_LITERAL or LA63 == 62 or LA63 == 66 or LA63 == 68 or LA63 == 69 or LA63 == 72 or LA63 == 73 or LA63 == 74 or LA63 == 77 or LA63 == 78 or LA63 == 79:
5162 alt63 = 2
5163 else:
5164 if self.backtracking > 0:
5165 self.failed = True
5166 return
5167
5168 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
5169
5170 raise nvae
5171
5172 elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 66 or (68 <= LA63_0 <= 69) or (72 <= LA63_0 <= 74) or (77 <= LA63_0 <= 79)) :
5173 alt63 = 2
5174 else:
5175 if self.backtracking > 0:
5176 self.failed = True
5177 return
5178
5179 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
5180
5181 raise nvae
5182
5183 if alt63 == 1:
5184 # C.g:386:4: '(' type_name ')' cast_expression
5185 self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1282)
5186 if self.failed:
5187 return
5188 self.following.append(self.FOLLOW_type_name_in_cast_expression1284)
5189 self.type_name()
5190 self.following.pop()
5191 if self.failed:
5192 return
5193 self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286)
5194 if self.failed:
5195 return
5196 self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288)
5197 self.cast_expression()
5198 self.following.pop()
5199 if self.failed:
5200 return
5201
5202
5203 elif alt63 == 2:
5204 # C.g:387:4: unary_expression
5205 self.following.append(self.FOLLOW_unary_expression_in_cast_expression1293)
5206 self.unary_expression()
5207 self.following.pop()
5208 if self.failed:
5209 return
5210
5211
5212
5213 except RecognitionException, re:
5214 self.reportError(re)
5215 self.recover(self.input, re)
5216 finally:
5217 if self.backtracking > 0:
5218 self.memoize(self.input, 39, cast_expression_StartIndex)
5219
5220 pass
5221
5222 return
5223
5224 # $ANTLR end cast_expression
5225
5226
5227 # $ANTLR start unary_expression
5228 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5229 def unary_expression(self, ):
5230
5231 unary_expression_StartIndex = self.input.index()
5232 try:
5233 try:
5234 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
5235 return
5236
5237 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5238 alt64 = 6
5239 LA64 = self.input.LA(1)
5240 if LA64 == IDENTIFIER or LA64 == HEX_LITERAL or LA64 == OCTAL_LITERAL or LA64 == DECIMAL_LITERAL or LA64 == CHARACTER_LITERAL or LA64 == STRING_LITERAL or LA64 == FLOATING_POINT_LITERAL or LA64 == 62:
5241 alt64 = 1
5242 elif LA64 == 72:
5243 alt64 = 2
5244 elif LA64 == 73:
5245 alt64 = 3
5246 elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79:
5247 alt64 = 4
5248 elif LA64 == 74:
5249 LA64_12 = self.input.LA(2)
5250
5251 if (LA64_12 == 62) :
5252 LA64_13 = self.input.LA(3)
5253
5254 if (self.synpred114()) :
5255 alt64 = 5
5256 elif (True) :
5257 alt64 = 6
5258 else:
5259 if self.backtracking > 0:
5260 self.failed = True
5261 return
5262
5263 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self.input)
5264
5265 raise nvae
5266
5267 elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 66 or (68 <= LA64_12 <= 69) or (72 <= LA64_12 <= 74) or (77 <= LA64_12 <= 79)) :
5268 alt64 = 5
5269 else:
5270 if self.backtracking > 0:
5271 self.failed = True
5272 return
5273
5274 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self.input)
5275
5276 raise nvae
5277
5278 else:
5279 if self.backtracking > 0:
5280 self.failed = True
5281 return
5282
5283 nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self.input)
5284
5285 raise nvae
5286
5287 if alt64 == 1:
5288 # C.g:391:4: postfix_expression
5289 self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304)
5290 self.postfix_expression()
5291 self.following.pop()
5292 if self.failed:
5293 return
5294
5295
5296 elif alt64 == 2:
5297 # C.g:392:4: '++' unary_expression
5298 self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1309)
5299 if self.failed:
5300 return
5301 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1311)
5302 self.unary_expression()
5303 self.following.pop()
5304 if self.failed:
5305 return
5306
5307
5308 elif alt64 == 3:
5309 # C.g:393:4: '--' unary_expression
5310 self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1316)
5311 if self.failed:
5312 return
5313 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1318)
5314 self.unary_expression()
5315 self.following.pop()
5316 if self.failed:
5317 return
5318
5319
5320 elif alt64 == 4:
5321 # C.g:394:4: unary_operator cast_expression
5322 self.following.append(self.FOLLOW_unary_operator_in_unary_expression1323)
5323 self.unary_operator()
5324 self.following.pop()
5325 if self.failed:
5326 return
5327 self.following.append(self.FOLLOW_cast_expression_in_unary_expression1325)
5328 self.cast_expression()
5329 self.following.pop()
5330 if self.failed:
5331 return
5332
5333
5334 elif alt64 == 5:
5335 # C.g:395:4: 'sizeof' unary_expression
5336 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1330)
5337 if self.failed:
5338 return
5339 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1332)
5340 self.unary_expression()
5341 self.following.pop()
5342 if self.failed:
5343 return
5344
5345
5346 elif alt64 == 6:
5347 # C.g:396:4: 'sizeof' '(' type_name ')'
5348 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1337)
5349 if self.failed:
5350 return
5351 self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1339)
5352 if self.failed:
5353 return
5354 self.following.append(self.FOLLOW_type_name_in_unary_expression1341)
5355 self.type_name()
5356 self.following.pop()
5357 if self.failed:
5358 return
5359 self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343)
5360 if self.failed:
5361 return
5362
5363
5364
5365 except RecognitionException, re:
5366 self.reportError(re)
5367 self.recover(self.input, re)
5368 finally:
5369 if self.backtracking > 0:
5370 self.memoize(self.input, 40, unary_expression_StartIndex)
5371
5372 pass
5373
5374 return
5375
5376 # $ANTLR end unary_expression
5377
5378
5379 # $ANTLR start postfix_expression
5380 # C.g:399:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
5381 def postfix_expression(self, ):
5382 self.postfix_expression_stack.append(postfix_expression_scope())
5383 postfix_expression_StartIndex = self.input.index()
5384 a = None
5385 b = None
5386 x = None
5387 y = None
5388 z = None
5389 p = None
5390
5391 c = None
5392
5393
5394
5395 self.postfix_expression_stack[-1].FuncCallText = ''
5396
5397 try:
5398 try:
5399 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
5400 return
5401
5402 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5403 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5404 self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1367)
5405 p = self.primary_expression()
5406 self.following.pop()
5407 if self.failed:
5408 return
5409 if self.backtracking == 0:
5410 self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)
5411
5412 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5413 while True: #loop65
5414 alt65 = 10
5415 LA65 = self.input.LA(1)
5416 if LA65 == 66:
5417 LA65_1 = self.input.LA(2)
5418
5419 if (LA65_1 == IDENTIFIER) :
5420 LA65_30 = self.input.LA(3)
5421
5422 if (self.synpred120()) :
5423 alt65 = 6
5424
5425
5426
5427
5428 elif LA65 == 64:
5429 alt65 = 1
5430 elif LA65 == 62:
5431 LA65 = self.input.LA(2)
5432 if LA65 == 63:
5433 alt65 = 2
5434 elif LA65 == 29 or LA65 == 30 or LA65 == 31 or LA65 == 32 or LA65 == 33 or LA65 == 34 or LA65 == 35 or LA65 == 36 or LA65 == 37 or LA65 == 38 or LA65 == 39 or LA65 == 40 or LA65 == 41 or LA65 == 42 or LA65 == 45 or LA65 == 46 or LA65 == 48 or LA65 == 49 or LA65 == 50 or LA65 == 51 or LA65 == 52 or LA65 == 53 or LA65 == 54 or LA65 == 55 or LA65 == 56 or LA65 == 57 or LA65 == 58 or LA65 == 59 or LA65 == 60 or LA65 == 61:
5435 alt65 = 4
5436 elif LA65 == IDENTIFIER:
5437 LA65_55 = self.input.LA(3)
5438
5439 if (self.synpred117()) :
5440 alt65 = 3
5441 elif (self.synpred118()) :
5442 alt65 = 4
5443
5444
5445 elif LA65 == 66:
5446 LA65_57 = self.input.LA(3)
5447
5448 if (self.synpred117()) :
5449 alt65 = 3
5450 elif (self.synpred118()) :
5451 alt65 = 4
5452
5453
5454 elif LA65 == HEX_LITERAL or LA65 == OCTAL_LITERAL or LA65 == DECIMAL_LITERAL or LA65 == CHARACTER_LITERAL or LA65 == STRING_LITERAL or LA65 == FLOATING_POINT_LITERAL or LA65 == 62 or LA65 == 68 or LA65 == 69 or LA65 == 72 or LA65 == 73 or LA65 == 74 or LA65 == 77 or LA65 == 78 or LA65 == 79:
5455 alt65 = 3
5456
5457 elif LA65 == 75:
5458 alt65 = 5
5459 elif LA65 == 76:
5460 alt65 = 7
5461 elif LA65 == 72:
5462 alt65 = 8
5463 elif LA65 == 73:
5464 alt65 = 9
5465
5466 if alt65 == 1:
5467 # C.g:407:13: '[' expression ']'
5468 self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1383)
5469 if self.failed:
5470 return
5471 self.following.append(self.FOLLOW_expression_in_postfix_expression1385)
5472 self.expression()
5473 self.following.pop()
5474 if self.failed:
5475 return
5476 self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387)
5477 if self.failed:
5478 return
5479
5480
5481 elif alt65 == 2:
5482 # C.g:408:13: '(' a= ')'
5483 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1401)
5484 if self.failed:
5485 return
5486 a = self.input.LT(1)
5487 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1405)
5488 if self.failed:
5489 return
5490 if self.backtracking == 0:
5491 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
5492
5493
5494
5495 elif alt65 == 3:
5496 # C.g:409:13: '(' c= argument_expression_list b= ')'
5497 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1420)
5498 if self.failed:
5499 return
5500 self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1424)
5501 c = self.argument_expression_list()
5502 self.following.pop()
5503 if self.failed:
5504 return
5505 b = self.input.LT(1)
5506 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428)
5507 if self.failed:
5508 return
5509 if self.backtracking == 0:
5510 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start,c.stop))
5511
5512
5513
5514 elif alt65 == 4:
5515 # C.g:410:13: '(' macro_parameter_list ')'
5516 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1444)
5517 if self.failed:
5518 return
5519 self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1446)
5520 self.macro_parameter_list()
5521 self.following.pop()
5522 if self.failed:
5523 return
5524 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448)
5525 if self.failed:
5526 return
5527
5528
5529 elif alt65 == 5:
5530 # C.g:411:13: '.' x= IDENTIFIER
5531 self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1462)
5532 if self.failed:
5533 return
5534 x = self.input.LT(1)
5535 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1466)
5536 if self.failed:
5537 return
5538 if self.backtracking == 0:
5539 self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
5540
5541
5542
5543 elif alt65 == 6:
5544 # C.g:412:13: '*' y= IDENTIFIER
5545 self.match(self.input, 66, self.FOLLOW_66_in_postfix_expression1482)
5546 if self.failed:
5547 return
5548 y = self.input.LT(1)
5549 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1486)
5550 if self.failed:
5551 return
5552 if self.backtracking == 0:
5553 self.postfix_expression_stack[-1].FuncCallText = y.text
5554
5555
5556
5557 elif alt65 == 7:
5558 # C.g:413:13: '->' z= IDENTIFIER
5559 self.match(self.input, 76, self.FOLLOW_76_in_postfix_expression1502)
5560 if self.failed:
5561 return
5562 z = self.input.LT(1)
5563 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1506)
5564 if self.failed:
5565 return
5566 if self.backtracking == 0:
5567 self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
5568
5569
5570
5571 elif alt65 == 8:
5572 # C.g:414:13: '++'
5573 self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522)
5574 if self.failed:
5575 return
5576
5577
5578 elif alt65 == 9:
5579 # C.g:415:13: '--'
5580 self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536)
5581 if self.failed:
5582 return
5583
5584
5585 else:
5586 break #loop65
5587
5588
5589
5590
5591
5592
5593 except RecognitionException, re:
5594 self.reportError(re)
5595 self.recover(self.input, re)
5596 finally:
5597 if self.backtracking > 0:
5598 self.memoize(self.input, 41, postfix_expression_StartIndex)
5599
5600 self.postfix_expression_stack.pop()
5601 pass
5602
5603 return
5604
5605 # $ANTLR end postfix_expression
5606
5607
5608 # $ANTLR start macro_parameter_list
5609 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5610 def macro_parameter_list(self, ):
5611
5612 macro_parameter_list_StartIndex = self.input.index()
5613 try:
5614 try:
5615 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
5616 return
5617
5618 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5619 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5620 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1559)
5621 self.parameter_declaration()
5622 self.following.pop()
5623 if self.failed:
5624 return
5625 # C.g:420:26: ( ',' parameter_declaration )*
5626 while True: #loop66
5627 alt66 = 2
5628 LA66_0 = self.input.LA(1)
5629
5630 if (LA66_0 == 27) :
5631 alt66 = 1
5632
5633
5634 if alt66 == 1:
5635 # C.g:420:27: ',' parameter_declaration
5636 self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1562)
5637 if self.failed:
5638 return
5639 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1564)
5640 self.parameter_declaration()
5641 self.following.pop()
5642 if self.failed:
5643 return
5644
5645
5646 else:
5647 break #loop66
5648
5649
5650
5651
5652
5653
5654 except RecognitionException, re:
5655 self.reportError(re)
5656 self.recover(self.input, re)
5657 finally:
5658 if self.backtracking > 0:
5659 self.memoize(self.input, 42, macro_parameter_list_StartIndex)
5660
5661 pass
5662
5663 return
5664
5665 # $ANTLR end macro_parameter_list
5666
5667
5668 # $ANTLR start unary_operator
5669 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5670 def unary_operator(self, ):
5671
5672 unary_operator_StartIndex = self.input.index()
5673 try:
5674 try:
5675 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
5676 return
5677
5678 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5679 # C.g:
5680 if self.input.LA(1) == 66 or (68 <= self.input.LA(1) <= 69) or (77 <= self.input.LA(1) <= 79):
5681 self.input.consume();
5682 self.errorRecovery = False
5683 self.failed = False
5684
5685 else:
5686 if self.backtracking > 0:
5687 self.failed = True
5688 return
5689
5690 mse = MismatchedSetException(None, self.input)
5691 self.recoverFromMismatchedSet(
5692 self.input, mse, self.FOLLOW_set_in_unary_operator0
5693 )
5694 raise mse
5695
5696
5697
5698
5699
5700
5701 except RecognitionException, re:
5702 self.reportError(re)
5703 self.recover(self.input, re)
5704 finally:
5705 if self.backtracking > 0:
5706 self.memoize(self.input, 43, unary_operator_StartIndex)
5707
5708 pass
5709
5710 return
5711
5712 # $ANTLR end unary_operator
5713
5714 class primary_expression_return(object):
5715 def __init__(self):
5716 self.start = None
5717 self.stop = None
5718
5719
5720
5721 # $ANTLR start primary_expression
5722 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5723 def primary_expression(self, ):
5724
5725 retval = self.primary_expression_return()
5726 retval.start = self.input.LT(1)
5727 primary_expression_StartIndex = self.input.index()
5728 try:
5729 try:
5730 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
5731 return retval
5732
5733 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5734 alt67 = 3
5735 LA67 = self.input.LA(1)
5736 if LA67 == IDENTIFIER:
5737 LA67_1 = self.input.LA(2)
5738
5739 if (LA67_1 == EOF or LA67_1 == 25 or (27 <= LA67_1 <= 28) or LA67_1 == 44 or LA67_1 == 47 or LA67_1 == 53 or (62 <= LA67_1 <= 66) or (68 <= LA67_1 <= 73) or (75 <= LA67_1 <= 77) or (80 <= LA67_1 <= 102)) :
5740 alt67 = 1
5741 elif (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
5742 alt67 = 2
5743 else:
5744 if self.backtracking > 0:
5745 self.failed = True
5746 return retval
5747
5748 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input)
5749
5750 raise nvae
5751
5752 elif LA67 == HEX_LITERAL or LA67 == OCTAL_LITERAL or LA67 == DECIMAL_LITERAL or LA67 == CHARACTER_LITERAL or LA67 == STRING_LITERAL or LA67 == FLOATING_POINT_LITERAL:
5753 alt67 = 2
5754 elif LA67 == 62:
5755 alt67 = 3
5756 else:
5757 if self.backtracking > 0:
5758 self.failed = True
5759 return retval
5760
5761 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
5762
5763 raise nvae
5764
5765 if alt67 == 1:
5766 # C.g:433:4: IDENTIFIER
5767 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1613)
5768 if self.failed:
5769 return retval
5770
5771
5772 elif alt67 == 2:
5773 # C.g:434:4: constant
5774 self.following.append(self.FOLLOW_constant_in_primary_expression1618)
5775 self.constant()
5776 self.following.pop()
5777 if self.failed:
5778 return retval
5779
5780
5781 elif alt67 == 3:
5782 # C.g:435:4: '(' expression ')'
5783 self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1623)
5784 if self.failed:
5785 return retval
5786 self.following.append(self.FOLLOW_expression_in_primary_expression1625)
5787 self.expression()
5788 self.following.pop()
5789 if self.failed:
5790 return retval
5791 self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627)
5792 if self.failed:
5793 return retval
5794
5795
5796 retval.stop = self.input.LT(-1)
5797
5798
5799 except RecognitionException, re:
5800 self.reportError(re)
5801 self.recover(self.input, re)
5802 finally:
5803 if self.backtracking > 0:
5804 self.memoize(self.input, 44, primary_expression_StartIndex)
5805
5806 pass
5807
5808 return retval
5809
5810 # $ANTLR end primary_expression
5811
5812
5813 # $ANTLR start constant
5814 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5815 def constant(self, ):
5816
5817 constant_StartIndex = self.input.index()
5818 try:
5819 try:
5820 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
5821 return
5822
5823 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5824 alt72 = 6
5825 LA72 = self.input.LA(1)
5826 if LA72 == HEX_LITERAL:
5827 alt72 = 1
5828 elif LA72 == OCTAL_LITERAL:
5829 alt72 = 2
5830 elif LA72 == DECIMAL_LITERAL:
5831 alt72 = 3
5832 elif LA72 == CHARACTER_LITERAL:
5833 alt72 = 4
5834 elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
5835 alt72 = 5
5836 elif LA72 == FLOATING_POINT_LITERAL:
5837 alt72 = 6
5838 else:
5839 if self.backtracking > 0:
5840 self.failed = True
5841 return
5842
5843 nvae = NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input)
5844
5845 raise nvae
5846
5847 if alt72 == 1:
5848 # C.g:439:9: HEX_LITERAL
5849 self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1643)
5850 if self.failed:
5851 return
5852
5853
5854 elif alt72 == 2:
5855 # C.g:440:9: OCTAL_LITERAL
5856 self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1653)
5857 if self.failed:
5858 return
5859
5860
5861 elif alt72 == 3:
5862 # C.g:441:9: DECIMAL_LITERAL
5863 self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1663)
5864 if self.failed:
5865 return
5866
5867
5868 elif alt72 == 4:
5869 # C.g:442:7: CHARACTER_LITERAL
5870 self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1671)
5871 if self.failed:
5872 return
5873
5874
5875 elif alt72 == 5:
5876 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5877 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5878 cnt70 = 0
5879 while True: #loop70
5880 alt70 = 2
5881 LA70_0 = self.input.LA(1)
5882
5883 if (LA70_0 == IDENTIFIER) :
5884 LA70_1 = self.input.LA(2)
5885
5886 if (LA70_1 == STRING_LITERAL) :
5887 alt70 = 1
5888 elif (LA70_1 == IDENTIFIER) :
5889 LA70_33 = self.input.LA(3)
5890
5891 if (self.synpred138()) :
5892 alt70 = 1
5893
5894
5895
5896
5897 elif (LA70_0 == STRING_LITERAL) :
5898 alt70 = 1
5899
5900
5901 if alt70 == 1:
5902 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5903 # C.g:443:8: ( IDENTIFIER )*
5904 while True: #loop68
5905 alt68 = 2
5906 LA68_0 = self.input.LA(1)
5907
5908 if (LA68_0 == IDENTIFIER) :
5909 alt68 = 1
5910
5911
5912 if alt68 == 1:
5913 # C.g:0:0: IDENTIFIER
5914 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680)
5915 if self.failed:
5916 return
5917
5918
5919 else:
5920 break #loop68
5921
5922
5923 # C.g:443:20: ( STRING_LITERAL )+
5924 cnt69 = 0
5925 while True: #loop69
5926 alt69 = 2
5927 LA69_0 = self.input.LA(1)
5928
5929 if (LA69_0 == STRING_LITERAL) :
5930 LA69_31 = self.input.LA(2)
5931
5932 if (self.synpred137()) :
5933 alt69 = 1
5934
5935
5936
5937
5938 if alt69 == 1:
5939 # C.g:0:0: STRING_LITERAL
5940 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683)
5941 if self.failed:
5942 return
5943
5944
5945 else:
5946 if cnt69 >= 1:
5947 break #loop69
5948
5949 if self.backtracking > 0:
5950 self.failed = True
5951 return
5952
5953 eee = EarlyExitException(69, self.input)
5954 raise eee
5955
5956 cnt69 += 1
5957
5958
5959
5960
5961 else:
5962 if cnt70 >= 1:
5963 break #loop70
5964
5965 if self.backtracking > 0:
5966 self.failed = True
5967 return
5968
5969 eee = EarlyExitException(70, self.input)
5970 raise eee
5971
5972 cnt70 += 1
5973
5974
5975 # C.g:443:38: ( IDENTIFIER )*
5976 while True: #loop71
5977 alt71 = 2
5978 LA71_0 = self.input.LA(1)
5979
5980 if (LA71_0 == IDENTIFIER) :
5981 alt71 = 1
5982
5983
5984 if alt71 == 1:
5985 # C.g:0:0: IDENTIFIER
5986 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688)
5987 if self.failed:
5988 return
5989
5990
5991 else:
5992 break #loop71
5993
5994
5995
5996
5997 elif alt72 == 6:
5998 # C.g:444:9: FLOATING_POINT_LITERAL
5999 self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699)
6000 if self.failed:
6001 return
6002
6003
6004
6005 except RecognitionException, re:
6006 self.reportError(re)
6007 self.recover(self.input, re)
6008 finally:
6009 if self.backtracking > 0:
6010 self.memoize(self.input, 45, constant_StartIndex)
6011
6012 pass
6013
6014 return
6015
6016 # $ANTLR end constant
6017
6018 class expression_return(object):
6019 def __init__(self):
6020 self.start = None
6021 self.stop = None
6022
6023
6024
6025 # $ANTLR start expression
6026 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6027 def expression(self, ):
6028
6029 retval = self.expression_return()
6030 retval.start = self.input.LT(1)
6031 expression_StartIndex = self.input.index()
6032 try:
6033 try:
6034 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
6035 return retval
6036
6037 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6038 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6039 self.following.append(self.FOLLOW_assignment_expression_in_expression1715)
6040 self.assignment_expression()
6041 self.following.pop()
6042 if self.failed:
6043 return retval
6044 # C.g:450:26: ( ',' assignment_expression )*
6045 while True: #loop73
6046 alt73 = 2
6047 LA73_0 = self.input.LA(1)
6048
6049 if (LA73_0 == 27) :
6050 alt73 = 1
6051
6052
6053 if alt73 == 1:
6054 # C.g:450:27: ',' assignment_expression
6055 self.match(self.input, 27, self.FOLLOW_27_in_expression1718)
6056 if self.failed:
6057 return retval
6058 self.following.append(self.FOLLOW_assignment_expression_in_expression1720)
6059 self.assignment_expression()
6060 self.following.pop()
6061 if self.failed:
6062 return retval
6063
6064
6065 else:
6066 break #loop73
6067
6068
6069
6070
6071
6072 retval.stop = self.input.LT(-1)
6073
6074
6075 except RecognitionException, re:
6076 self.reportError(re)
6077 self.recover(self.input, re)
6078 finally:
6079 if self.backtracking > 0:
6080 self.memoize(self.input, 46, expression_StartIndex)
6081
6082 pass
6083
6084 return retval
6085
6086 # $ANTLR end expression
6087
6088
6089 # $ANTLR start constant_expression
6090 # C.g:453:1: constant_expression : conditional_expression ;
6091 def constant_expression(self, ):
6092
6093 constant_expression_StartIndex = self.input.index()
6094 try:
6095 try:
6096 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
6097 return
6098
6099 # C.g:454:2: ( conditional_expression )
6100 # C.g:454:4: conditional_expression
6101 self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1733)
6102 self.conditional_expression()
6103 self.following.pop()
6104 if self.failed:
6105 return
6106
6107
6108
6109
6110 except RecognitionException, re:
6111 self.reportError(re)
6112 self.recover(self.input, re)
6113 finally:
6114 if self.backtracking > 0:
6115 self.memoize(self.input, 47, constant_expression_StartIndex)
6116
6117 pass
6118
6119 return
6120
6121 # $ANTLR end constant_expression
6122
6123
6124 # $ANTLR start assignment_expression
6125 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6126 def assignment_expression(self, ):
6127
6128 assignment_expression_StartIndex = self.input.index()
6129 try:
6130 try:
6131 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
6132 return
6133
6134 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6135 alt74 = 2
6136 LA74 = self.input.LA(1)
6137 if LA74 == IDENTIFIER:
6138 LA74 = self.input.LA(2)
6139 if LA74 == 64:
6140 LA74_13 = self.input.LA(3)
6141
6142 if (self.synpred142()) :
6143 alt74 = 1
6144 elif (True) :
6145 alt74 = 2
6146 else:
6147 if self.backtracking > 0:
6148 self.failed = True
6149 return
6150
6151 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
6152
6153 raise nvae
6154
6155 elif LA74 == 62:
6156 LA74_14 = self.input.LA(3)
6157
6158 if (self.synpred142()) :
6159 alt74 = 1
6160 elif (True) :
6161 alt74 = 2
6162 else:
6163 if self.backtracking > 0:
6164 self.failed = True
6165 return
6166
6167 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
6168
6169 raise nvae
6170
6171 elif LA74 == 75:
6172 LA74_15 = self.input.LA(3)
6173
6174 if (self.synpred142()) :
6175 alt74 = 1
6176 elif (True) :
6177 alt74 = 2
6178 else:
6179 if self.backtracking > 0:
6180 self.failed = True
6181 return
6182
6183 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
6184
6185 raise nvae
6186
6187 elif LA74 == 66:
6188 LA74_16 = self.input.LA(3)
6189
6190 if (self.synpred142()) :
6191 alt74 = 1
6192 elif (True) :
6193 alt74 = 2
6194 else:
6195 if self.backtracking > 0:
6196 self.failed = True
6197 return
6198
6199 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
6200
6201 raise nvae
6202
6203 elif LA74 == 76:
6204 LA74_17 = self.input.LA(3)
6205
6206 if (self.synpred142()) :
6207 alt74 = 1
6208 elif (True) :
6209 alt74 = 2
6210 else:
6211 if self.backtracking > 0:
6212 self.failed = True
6213 return
6214
6215 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
6216
6217 raise nvae
6218
6219 elif LA74 == 72:
6220 LA74_18 = self.input.LA(3)
6221
6222 if (self.synpred142()) :
6223 alt74 = 1
6224 elif (True) :
6225 alt74 = 2
6226 else:
6227 if self.backtracking > 0:
6228 self.failed = True
6229 return
6230
6231 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
6232
6233 raise nvae
6234
6235 elif LA74 == 73:
6236 LA74_19 = self.input.LA(3)
6237
6238 if (self.synpred142()) :
6239 alt74 = 1
6240 elif (True) :
6241 alt74 = 2
6242 else:
6243 if self.backtracking > 0:
6244 self.failed = True
6245 return
6246
6247 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
6248
6249 raise nvae
6250
6251 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6252 alt74 = 1
6253 elif LA74 == STRING_LITERAL:
6254 LA74_21 = self.input.LA(3)
6255
6256 if (self.synpred142()) :
6257 alt74 = 1
6258 elif (True) :
6259 alt74 = 2
6260 else:
6261 if self.backtracking > 0:
6262 self.failed = True
6263 return
6264
6265 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
6266
6267 raise nvae
6268
6269 elif LA74 == IDENTIFIER:
6270 LA74_22 = self.input.LA(3)
6271
6272 if (self.synpred142()) :
6273 alt74 = 1
6274 elif (True) :
6275 alt74 = 2
6276 else:
6277 if self.backtracking > 0:
6278 self.failed = True
6279 return
6280
6281 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self.input)
6282
6283 raise nvae
6284
6285 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6286 alt74 = 2
6287 else:
6288 if self.backtracking > 0:
6289 self.failed = True
6290 return
6291
6292 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input)
6293
6294 raise nvae
6295
6296 elif LA74 == HEX_LITERAL:
6297 LA74 = self.input.LA(2)
6298 if LA74 == 64:
6299 LA74_44 = self.input.LA(3)
6300
6301 if (self.synpred142()) :
6302 alt74 = 1
6303 elif (True) :
6304 alt74 = 2
6305 else:
6306 if self.backtracking > 0:
6307 self.failed = True
6308 return
6309
6310 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
6311
6312 raise nvae
6313
6314 elif LA74 == 62:
6315 LA74_45 = self.input.LA(3)
6316
6317 if (self.synpred142()) :
6318 alt74 = 1
6319 elif (True) :
6320 alt74 = 2
6321 else:
6322 if self.backtracking > 0:
6323 self.failed = True
6324 return
6325
6326 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
6327
6328 raise nvae
6329
6330 elif LA74 == 75:
6331 LA74_46 = self.input.LA(3)
6332
6333 if (self.synpred142()) :
6334 alt74 = 1
6335 elif (True) :
6336 alt74 = 2
6337 else:
6338 if self.backtracking > 0:
6339 self.failed = True
6340 return
6341
6342 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
6343
6344 raise nvae
6345
6346 elif LA74 == 66:
6347 LA74_47 = self.input.LA(3)
6348
6349 if (self.synpred142()) :
6350 alt74 = 1
6351 elif (True) :
6352 alt74 = 2
6353 else:
6354 if self.backtracking > 0:
6355 self.failed = True
6356 return
6357
6358 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
6359
6360 raise nvae
6361
6362 elif LA74 == 76:
6363 LA74_48 = self.input.LA(3)
6364
6365 if (self.synpred142()) :
6366 alt74 = 1
6367 elif (True) :
6368 alt74 = 2
6369 else:
6370 if self.backtracking > 0:
6371 self.failed = True
6372 return
6373
6374 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
6375
6376 raise nvae
6377
6378 elif LA74 == 72:
6379 LA74_49 = self.input.LA(3)
6380
6381 if (self.synpred142()) :
6382 alt74 = 1
6383 elif (True) :
6384 alt74 = 2
6385 else:
6386 if self.backtracking > 0:
6387 self.failed = True
6388 return
6389
6390 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
6391
6392 raise nvae
6393
6394 elif LA74 == 73:
6395 LA74_50 = self.input.LA(3)
6396
6397 if (self.synpred142()) :
6398 alt74 = 1
6399 elif (True) :
6400 alt74 = 2
6401 else:
6402 if self.backtracking > 0:
6403 self.failed = True
6404 return
6405
6406 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
6407
6408 raise nvae
6409
6410 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6411 alt74 = 2
6412 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6413 alt74 = 1
6414 else:
6415 if self.backtracking > 0:
6416 self.failed = True
6417 return
6418
6419 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input)
6420
6421 raise nvae
6422
6423 elif LA74 == OCTAL_LITERAL:
6424 LA74 = self.input.LA(2)
6425 if LA74 == 64:
6426 LA74_73 = self.input.LA(3)
6427
6428 if (self.synpred142()) :
6429 alt74 = 1
6430 elif (True) :
6431 alt74 = 2
6432 else:
6433 if self.backtracking > 0:
6434 self.failed = True
6435 return
6436
6437 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
6438
6439 raise nvae
6440
6441 elif LA74 == 62:
6442 LA74_74 = self.input.LA(3)
6443
6444 if (self.synpred142()) :
6445 alt74 = 1
6446 elif (True) :
6447 alt74 = 2
6448 else:
6449 if self.backtracking > 0:
6450 self.failed = True
6451 return
6452
6453 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
6454
6455 raise nvae
6456
6457 elif LA74 == 75:
6458 LA74_75 = self.input.LA(3)
6459
6460 if (self.synpred142()) :
6461 alt74 = 1
6462 elif (True) :
6463 alt74 = 2
6464 else:
6465 if self.backtracking > 0:
6466 self.failed = True
6467 return
6468
6469 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
6470
6471 raise nvae
6472
6473 elif LA74 == 66:
6474 LA74_76 = self.input.LA(3)
6475
6476 if (self.synpred142()) :
6477 alt74 = 1
6478 elif (True) :
6479 alt74 = 2
6480 else:
6481 if self.backtracking > 0:
6482 self.failed = True
6483 return
6484
6485 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
6486
6487 raise nvae
6488
6489 elif LA74 == 76:
6490 LA74_77 = self.input.LA(3)
6491
6492 if (self.synpred142()) :
6493 alt74 = 1
6494 elif (True) :
6495 alt74 = 2
6496 else:
6497 if self.backtracking > 0:
6498 self.failed = True
6499 return
6500
6501 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
6502
6503 raise nvae
6504
6505 elif LA74 == 72:
6506 LA74_78 = self.input.LA(3)
6507
6508 if (self.synpred142()) :
6509 alt74 = 1
6510 elif (True) :
6511 alt74 = 2
6512 else:
6513 if self.backtracking > 0:
6514 self.failed = True
6515 return
6516
6517 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
6518
6519 raise nvae
6520
6521 elif LA74 == 73:
6522 LA74_79 = self.input.LA(3)
6523
6524 if (self.synpred142()) :
6525 alt74 = 1
6526 elif (True) :
6527 alt74 = 2
6528 else:
6529 if self.backtracking > 0:
6530 self.failed = True
6531 return
6532
6533 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
6534
6535 raise nvae
6536
6537 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6538 alt74 = 1
6539 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6540 alt74 = 2
6541 else:
6542 if self.backtracking > 0:
6543 self.failed = True
6544 return
6545
6546 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input)
6547
6548 raise nvae
6549
6550 elif LA74 == DECIMAL_LITERAL:
6551 LA74 = self.input.LA(2)
6552 if LA74 == 64:
6553 LA74_102 = self.input.LA(3)
6554
6555 if (self.synpred142()) :
6556 alt74 = 1
6557 elif (True) :
6558 alt74 = 2
6559 else:
6560 if self.backtracking > 0:
6561 self.failed = True
6562 return
6563
6564 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
6565
6566 raise nvae
6567
6568 elif LA74 == 62:
6569 LA74_103 = self.input.LA(3)
6570
6571 if (self.synpred142()) :
6572 alt74 = 1
6573 elif (True) :
6574 alt74 = 2
6575 else:
6576 if self.backtracking > 0:
6577 self.failed = True
6578 return
6579
6580 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
6581
6582 raise nvae
6583
6584 elif LA74 == 75:
6585 LA74_104 = self.input.LA(3)
6586
6587 if (self.synpred142()) :
6588 alt74 = 1
6589 elif (True) :
6590 alt74 = 2
6591 else:
6592 if self.backtracking > 0:
6593 self.failed = True
6594 return
6595
6596 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
6597
6598 raise nvae
6599
6600 elif LA74 == 66:
6601 LA74_105 = self.input.LA(3)
6602
6603 if (self.synpred142()) :
6604 alt74 = 1
6605 elif (True) :
6606 alt74 = 2
6607 else:
6608 if self.backtracking > 0:
6609 self.failed = True
6610 return
6611
6612 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
6613
6614 raise nvae
6615
6616 elif LA74 == 76:
6617 LA74_106 = self.input.LA(3)
6618
6619 if (self.synpred142()) :
6620 alt74 = 1
6621 elif (True) :
6622 alt74 = 2
6623 else:
6624 if self.backtracking > 0:
6625 self.failed = True
6626 return
6627
6628 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
6629
6630 raise nvae
6631
6632 elif LA74 == 72:
6633 LA74_107 = self.input.LA(3)
6634
6635 if (self.synpred142()) :
6636 alt74 = 1
6637 elif (True) :
6638 alt74 = 2
6639 else:
6640 if self.backtracking > 0:
6641 self.failed = True
6642 return
6643
6644 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
6645
6646 raise nvae
6647
6648 elif LA74 == 73:
6649 LA74_108 = self.input.LA(3)
6650
6651 if (self.synpred142()) :
6652 alt74 = 1
6653 elif (True) :
6654 alt74 = 2
6655 else:
6656 if self.backtracking > 0:
6657 self.failed = True
6658 return
6659
6660 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input)
6661
6662 raise nvae
6663
6664 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6665 alt74 = 2
6666 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6667 alt74 = 1
6668 else:
6669 if self.backtracking > 0:
6670 self.failed = True
6671 return
6672
6673 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input)
6674
6675 raise nvae
6676
6677 elif LA74 == CHARACTER_LITERAL:
6678 LA74 = self.input.LA(2)
6679 if LA74 == 64:
6680 LA74_131 = self.input.LA(3)
6681
6682 if (self.synpred142()) :
6683 alt74 = 1
6684 elif (True) :
6685 alt74 = 2
6686 else:
6687 if self.backtracking > 0:
6688 self.failed = True
6689 return
6690
6691 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
6692
6693 raise nvae
6694
6695 elif LA74 == 62:
6696 LA74_132 = self.input.LA(3)
6697
6698 if (self.synpred142()) :
6699 alt74 = 1
6700 elif (True) :
6701 alt74 = 2
6702 else:
6703 if self.backtracking > 0:
6704 self.failed = True
6705 return
6706
6707 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
6708
6709 raise nvae
6710
6711 elif LA74 == 75:
6712 LA74_133 = self.input.LA(3)
6713
6714 if (self.synpred142()) :
6715 alt74 = 1
6716 elif (True) :
6717 alt74 = 2
6718 else:
6719 if self.backtracking > 0:
6720 self.failed = True
6721 return
6722
6723 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
6724
6725 raise nvae
6726
6727 elif LA74 == 66:
6728 LA74_134 = self.input.LA(3)
6729
6730 if (self.synpred142()) :
6731 alt74 = 1
6732 elif (True) :
6733 alt74 = 2
6734 else:
6735 if self.backtracking > 0:
6736 self.failed = True
6737 return
6738
6739 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
6740
6741 raise nvae
6742
6743 elif LA74 == 76:
6744 LA74_135 = self.input.LA(3)
6745
6746 if (self.synpred142()) :
6747 alt74 = 1
6748 elif (True) :
6749 alt74 = 2
6750 else:
6751 if self.backtracking > 0:
6752 self.failed = True
6753 return
6754
6755 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
6756
6757 raise nvae
6758
6759 elif LA74 == 72:
6760 LA74_136 = self.input.LA(3)
6761
6762 if (self.synpred142()) :
6763 alt74 = 1
6764 elif (True) :
6765 alt74 = 2
6766 else:
6767 if self.backtracking > 0:
6768 self.failed = True
6769 return
6770
6771 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
6772
6773 raise nvae
6774
6775 elif LA74 == 73:
6776 LA74_137 = self.input.LA(3)
6777
6778 if (self.synpred142()) :
6779 alt74 = 1
6780 elif (True) :
6781 alt74 = 2
6782 else:
6783 if self.backtracking > 0:
6784 self.failed = True
6785 return
6786
6787 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
6788
6789 raise nvae
6790
6791 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6792 alt74 = 2
6793 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6794 alt74 = 1
6795 else:
6796 if self.backtracking > 0:
6797 self.failed = True
6798 return
6799
6800 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
6801
6802 raise nvae
6803
6804 elif LA74 == STRING_LITERAL:
6805 LA74 = self.input.LA(2)
6806 if LA74 == IDENTIFIER:
6807 LA74_160 = self.input.LA(3)
6808
6809 if (self.synpred142()) :
6810 alt74 = 1
6811 elif (True) :
6812 alt74 = 2
6813 else:
6814 if self.backtracking > 0:
6815 self.failed = True
6816 return
6817
6818 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
6819
6820 raise nvae
6821
6822 elif LA74 == 64:
6823 LA74_161 = self.input.LA(3)
6824
6825 if (self.synpred142()) :
6826 alt74 = 1
6827 elif (True) :
6828 alt74 = 2
6829 else:
6830 if self.backtracking > 0:
6831 self.failed = True
6832 return
6833
6834 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
6835
6836 raise nvae
6837
6838 elif LA74 == 62:
6839 LA74_162 = self.input.LA(3)
6840
6841 if (self.synpred142()) :
6842 alt74 = 1
6843 elif (True) :
6844 alt74 = 2
6845 else:
6846 if self.backtracking > 0:
6847 self.failed = True
6848 return
6849
6850 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
6851
6852 raise nvae
6853
6854 elif LA74 == 75:
6855 LA74_163 = self.input.LA(3)
6856
6857 if (self.synpred142()) :
6858 alt74 = 1
6859 elif (True) :
6860 alt74 = 2
6861 else:
6862 if self.backtracking > 0:
6863 self.failed = True
6864 return
6865
6866 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
6867
6868 raise nvae
6869
6870 elif LA74 == 66:
6871 LA74_164 = self.input.LA(3)
6872
6873 if (self.synpred142()) :
6874 alt74 = 1
6875 elif (True) :
6876 alt74 = 2
6877 else:
6878 if self.backtracking > 0:
6879 self.failed = True
6880 return
6881
6882 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
6883
6884 raise nvae
6885
6886 elif LA74 == 76:
6887 LA74_165 = self.input.LA(3)
6888
6889 if (self.synpred142()) :
6890 alt74 = 1
6891 elif (True) :
6892 alt74 = 2
6893 else:
6894 if self.backtracking > 0:
6895 self.failed = True
6896 return
6897
6898 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
6899
6900 raise nvae
6901
6902 elif LA74 == 72:
6903 LA74_166 = self.input.LA(3)
6904
6905 if (self.synpred142()) :
6906 alt74 = 1
6907 elif (True) :
6908 alt74 = 2
6909 else:
6910 if self.backtracking > 0:
6911 self.failed = True
6912 return
6913
6914 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
6915
6916 raise nvae
6917
6918 elif LA74 == 73:
6919 LA74_167 = self.input.LA(3)
6920
6921 if (self.synpred142()) :
6922 alt74 = 1
6923 elif (True) :
6924 alt74 = 2
6925 else:
6926 if self.backtracking > 0:
6927 self.failed = True
6928 return
6929
6930 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
6931
6932 raise nvae
6933
6934 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
6935 alt74 = 2
6936 elif LA74 == STRING_LITERAL:
6937 LA74_189 = self.input.LA(3)
6938
6939 if (self.synpred142()) :
6940 alt74 = 1
6941 elif (True) :
6942 alt74 = 2
6943 else:
6944 if self.backtracking > 0:
6945 self.failed = True
6946 return
6947
6948 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input)
6949
6950 raise nvae
6951
6952 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
6953 alt74 = 1
6954 else:
6955 if self.backtracking > 0:
6956 self.failed = True
6957 return
6958
6959 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input)
6960
6961 raise nvae
6962
6963 elif LA74 == FLOATING_POINT_LITERAL:
6964 LA74 = self.input.LA(2)
6965 if LA74 == 64:
6966 LA74_191 = self.input.LA(3)
6967
6968 if (self.synpred142()) :
6969 alt74 = 1
6970 elif (True) :
6971 alt74 = 2
6972 else:
6973 if self.backtracking > 0:
6974 self.failed = True
6975 return
6976
6977 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
6978
6979 raise nvae
6980
6981 elif LA74 == 62:
6982 LA74_192 = self.input.LA(3)
6983
6984 if (self.synpred142()) :
6985 alt74 = 1
6986 elif (True) :
6987 alt74 = 2
6988 else:
6989 if self.backtracking > 0:
6990 self.failed = True
6991 return
6992
6993 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
6994
6995 raise nvae
6996
6997 elif LA74 == 75:
6998 LA74_193 = self.input.LA(3)
6999
7000 if (self.synpred142()) :
7001 alt74 = 1
7002 elif (True) :
7003 alt74 = 2
7004 else:
7005 if self.backtracking > 0:
7006 self.failed = True
7007 return
7008
7009 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
7010
7011 raise nvae
7012
7013 elif LA74 == 66:
7014 LA74_194 = self.input.LA(3)
7015
7016 if (self.synpred142()) :
7017 alt74 = 1
7018 elif (True) :
7019 alt74 = 2
7020 else:
7021 if self.backtracking > 0:
7022 self.failed = True
7023 return
7024
7025 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
7026
7027 raise nvae
7028
7029 elif LA74 == 76:
7030 LA74_195 = self.input.LA(3)
7031
7032 if (self.synpred142()) :
7033 alt74 = 1
7034 elif (True) :
7035 alt74 = 2
7036 else:
7037 if self.backtracking > 0:
7038 self.failed = True
7039 return
7040
7041 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
7042
7043 raise nvae
7044
7045 elif LA74 == 72:
7046 LA74_196 = self.input.LA(3)
7047
7048 if (self.synpred142()) :
7049 alt74 = 1
7050 elif (True) :
7051 alt74 = 2
7052 else:
7053 if self.backtracking > 0:
7054 self.failed = True
7055 return
7056
7057 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
7058
7059 raise nvae
7060
7061 elif LA74 == 73:
7062 LA74_197 = self.input.LA(3)
7063
7064 if (self.synpred142()) :
7065 alt74 = 1
7066 elif (True) :
7067 alt74 = 2
7068 else:
7069 if self.backtracking > 0:
7070 self.failed = True
7071 return
7072
7073 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input)
7074
7075 raise nvae
7076
7077 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
7078 alt74 = 2
7079 elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
7080 alt74 = 1
7081 else:
7082 if self.backtracking > 0:
7083 self.failed = True
7084 return
7085
7086 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
7087
7088 raise nvae
7089
7090 elif LA74 == 62:
7091 LA74 = self.input.LA(2)
7092 if LA74 == IDENTIFIER:
7093 LA74_220 = self.input.LA(3)
7094
7095 if (self.synpred142()) :
7096 alt74 = 1
7097 elif (True) :
7098 alt74 = 2
7099 else:
7100 if self.backtracking > 0:
7101 self.failed = True
7102 return
7103
7104 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input)
7105
7106 raise nvae
7107
7108 elif LA74 == HEX_LITERAL:
7109 LA74_221 = self.input.LA(3)
7110
7111 if (self.synpred142()) :
7112 alt74 = 1
7113 elif (True) :
7114 alt74 = 2
7115 else:
7116 if self.backtracking > 0:
7117 self.failed = True
7118 return
7119
7120 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input)
7121
7122 raise nvae
7123
7124 elif LA74 == OCTAL_LITERAL:
7125 LA74_222 = self.input.LA(3)
7126
7127 if (self.synpred142()) :
7128 alt74 = 1
7129 elif (True) :
7130 alt74 = 2
7131 else:
7132 if self.backtracking > 0:
7133 self.failed = True
7134 return
7135
7136 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input)
7137
7138 raise nvae
7139
7140 elif LA74 == DECIMAL_LITERAL:
7141 LA74_223 = self.input.LA(3)
7142
7143 if (self.synpred142()) :
7144 alt74 = 1
7145 elif (True) :
7146 alt74 = 2
7147 else:
7148 if self.backtracking > 0:
7149 self.failed = True
7150 return
7151
7152 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input)
7153
7154 raise nvae
7155
7156 elif LA74 == CHARACTER_LITERAL:
7157 LA74_224 = self.input.LA(3)
7158
7159 if (self.synpred142()) :
7160 alt74 = 1
7161 elif (True) :
7162 alt74 = 2
7163 else:
7164 if self.backtracking > 0:
7165 self.failed = True
7166 return
7167
7168 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input)
7169
7170 raise nvae
7171
7172 elif LA74 == STRING_LITERAL:
7173 LA74_225 = self.input.LA(3)
7174
7175 if (self.synpred142()) :
7176 alt74 = 1
7177 elif (True) :
7178 alt74 = 2
7179 else:
7180 if self.backtracking > 0:
7181 self.failed = True
7182 return
7183
7184 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input)
7185
7186 raise nvae
7187
7188 elif LA74 == FLOATING_POINT_LITERAL:
7189 LA74_226 = self.input.LA(3)
7190
7191 if (self.synpred142()) :
7192 alt74 = 1
7193 elif (True) :
7194 alt74 = 2
7195 else:
7196 if self.backtracking > 0:
7197 self.failed = True
7198 return
7199
7200 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
7201
7202 raise nvae
7203
7204 elif LA74 == 62:
7205 LA74_227 = self.input.LA(3)
7206
7207 if (self.synpred142()) :
7208 alt74 = 1
7209 elif (True) :
7210 alt74 = 2
7211 else:
7212 if self.backtracking > 0:
7213 self.failed = True
7214 return
7215
7216 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
7217
7218 raise nvae
7219
7220 elif LA74 == 72:
7221 LA74_228 = self.input.LA(3)
7222
7223 if (self.synpred142()) :
7224 alt74 = 1
7225 elif (True) :
7226 alt74 = 2
7227 else:
7228 if self.backtracking > 0:
7229 self.failed = True
7230 return
7231
7232 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
7233
7234 raise nvae
7235
7236 elif LA74 == 73:
7237 LA74_229 = self.input.LA(3)
7238
7239 if (self.synpred142()) :
7240 alt74 = 1
7241 elif (True) :
7242 alt74 = 2
7243 else:
7244 if self.backtracking > 0:
7245 self.failed = True
7246 return
7247
7248 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
7249
7250 raise nvae
7251
7252 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7253 LA74_230 = self.input.LA(3)
7254
7255 if (self.synpred142()) :
7256 alt74 = 1
7257 elif (True) :
7258 alt74 = 2
7259 else:
7260 if self.backtracking > 0:
7261 self.failed = True
7262 return
7263
7264 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
7265
7266 raise nvae
7267
7268 elif LA74 == 74:
7269 LA74_231 = self.input.LA(3)
7270
7271 if (self.synpred142()) :
7272 alt74 = 1
7273 elif (True) :
7274 alt74 = 2
7275 else:
7276 if self.backtracking > 0:
7277 self.failed = True
7278 return
7279
7280 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input)
7281
7282 raise nvae
7283
7284 elif LA74 == 34 or LA74 == 35 or LA74 == 36 or LA74 == 37 or LA74 == 38 or LA74 == 39 or LA74 == 40 or LA74 == 41 or LA74 == 42 or LA74 == 45 or LA74 == 46 or LA74 == 48 or LA74 == 49 or LA74 == 50 or LA74 == 51 or LA74 == 52 or LA74 == 53 or LA74 == 54 or LA74 == 55 or LA74 == 56 or LA74 == 57 or LA74 == 58 or LA74 == 59 or LA74 == 60 or LA74 == 61:
7285 alt74 = 2
7286 else:
7287 if self.backtracking > 0:
7288 self.failed = True
7289 return
7290
7291 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
7292
7293 raise nvae
7294
7295 elif LA74 == 72:
7296 LA74 = self.input.LA(2)
7297 if LA74 == IDENTIFIER:
7298 LA74_244 = self.input.LA(3)
7299
7300 if (self.synpred142()) :
7301 alt74 = 1
7302 elif (True) :
7303 alt74 = 2
7304 else:
7305 if self.backtracking > 0:
7306 self.failed = True
7307 return
7308
7309 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input)
7310
7311 raise nvae
7312
7313 elif LA74 == HEX_LITERAL:
7314 LA74_245 = self.input.LA(3)
7315
7316 if (self.synpred142()) :
7317 alt74 = 1
7318 elif (True) :
7319 alt74 = 2
7320 else:
7321 if self.backtracking > 0:
7322 self.failed = True
7323 return
7324
7325 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input)
7326
7327 raise nvae
7328
7329 elif LA74 == OCTAL_LITERAL:
7330 LA74_246 = self.input.LA(3)
7331
7332 if (self.synpred142()) :
7333 alt74 = 1
7334 elif (True) :
7335 alt74 = 2
7336 else:
7337 if self.backtracking > 0:
7338 self.failed = True
7339 return
7340
7341 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input)
7342
7343 raise nvae
7344
7345 elif LA74 == DECIMAL_LITERAL:
7346 LA74_247 = self.input.LA(3)
7347
7348 if (self.synpred142()) :
7349 alt74 = 1
7350 elif (True) :
7351 alt74 = 2
7352 else:
7353 if self.backtracking > 0:
7354 self.failed = True
7355 return
7356
7357 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input)
7358
7359 raise nvae
7360
7361 elif LA74 == CHARACTER_LITERAL:
7362 LA74_248 = self.input.LA(3)
7363
7364 if (self.synpred142()) :
7365 alt74 = 1
7366 elif (True) :
7367 alt74 = 2
7368 else:
7369 if self.backtracking > 0:
7370 self.failed = True
7371 return
7372
7373 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input)
7374
7375 raise nvae
7376
7377 elif LA74 == STRING_LITERAL:
7378 LA74_249 = self.input.LA(3)
7379
7380 if (self.synpred142()) :
7381 alt74 = 1
7382 elif (True) :
7383 alt74 = 2
7384 else:
7385 if self.backtracking > 0:
7386 self.failed = True
7387 return
7388
7389 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input)
7390
7391 raise nvae
7392
7393 elif LA74 == FLOATING_POINT_LITERAL:
7394 LA74_250 = self.input.LA(3)
7395
7396 if (self.synpred142()) :
7397 alt74 = 1
7398 elif (True) :
7399 alt74 = 2
7400 else:
7401 if self.backtracking > 0:
7402 self.failed = True
7403 return
7404
7405 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
7406
7407 raise nvae
7408
7409 elif LA74 == 62:
7410 LA74_251 = self.input.LA(3)
7411
7412 if (self.synpred142()) :
7413 alt74 = 1
7414 elif (True) :
7415 alt74 = 2
7416 else:
7417 if self.backtracking > 0:
7418 self.failed = True
7419 return
7420
7421 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
7422
7423 raise nvae
7424
7425 elif LA74 == 72:
7426 LA74_252 = self.input.LA(3)
7427
7428 if (self.synpred142()) :
7429 alt74 = 1
7430 elif (True) :
7431 alt74 = 2
7432 else:
7433 if self.backtracking > 0:
7434 self.failed = True
7435 return
7436
7437 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
7438
7439 raise nvae
7440
7441 elif LA74 == 73:
7442 LA74_253 = self.input.LA(3)
7443
7444 if (self.synpred142()) :
7445 alt74 = 1
7446 elif (True) :
7447 alt74 = 2
7448 else:
7449 if self.backtracking > 0:
7450 self.failed = True
7451 return
7452
7453 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
7454
7455 raise nvae
7456
7457 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7458 LA74_254 = self.input.LA(3)
7459
7460 if (self.synpred142()) :
7461 alt74 = 1
7462 elif (True) :
7463 alt74 = 2
7464 else:
7465 if self.backtracking > 0:
7466 self.failed = True
7467 return
7468
7469 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
7470
7471 raise nvae
7472
7473 elif LA74 == 74:
7474 LA74_255 = self.input.LA(3)
7475
7476 if (self.synpred142()) :
7477 alt74 = 1
7478 elif (True) :
7479 alt74 = 2
7480 else:
7481 if self.backtracking > 0:
7482 self.failed = True
7483 return
7484
7485 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
7486
7487 raise nvae
7488
7489 else:
7490 if self.backtracking > 0:
7491 self.failed = True
7492 return
7493
7494 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
7495
7496 raise nvae
7497
7498 elif LA74 == 73:
7499 LA74 = self.input.LA(2)
7500 if LA74 == IDENTIFIER:
7501 LA74_256 = self.input.LA(3)
7502
7503 if (self.synpred142()) :
7504 alt74 = 1
7505 elif (True) :
7506 alt74 = 2
7507 else:
7508 if self.backtracking > 0:
7509 self.failed = True
7510 return
7511
7512 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input)
7513
7514 raise nvae
7515
7516 elif LA74 == HEX_LITERAL:
7517 LA74_257 = self.input.LA(3)
7518
7519 if (self.synpred142()) :
7520 alt74 = 1
7521 elif (True) :
7522 alt74 = 2
7523 else:
7524 if self.backtracking > 0:
7525 self.failed = True
7526 return
7527
7528 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input)
7529
7530 raise nvae
7531
7532 elif LA74 == OCTAL_LITERAL:
7533 LA74_258 = self.input.LA(3)
7534
7535 if (self.synpred142()) :
7536 alt74 = 1
7537 elif (True) :
7538 alt74 = 2
7539 else:
7540 if self.backtracking > 0:
7541 self.failed = True
7542 return
7543
7544 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input)
7545
7546 raise nvae
7547
7548 elif LA74 == DECIMAL_LITERAL:
7549 LA74_259 = self.input.LA(3)
7550
7551 if (self.synpred142()) :
7552 alt74 = 1
7553 elif (True) :
7554 alt74 = 2
7555 else:
7556 if self.backtracking > 0:
7557 self.failed = True
7558 return
7559
7560 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input)
7561
7562 raise nvae
7563
7564 elif LA74 == CHARACTER_LITERAL:
7565 LA74_260 = self.input.LA(3)
7566
7567 if (self.synpred142()) :
7568 alt74 = 1
7569 elif (True) :
7570 alt74 = 2
7571 else:
7572 if self.backtracking > 0:
7573 self.failed = True
7574 return
7575
7576 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input)
7577
7578 raise nvae
7579
7580 elif LA74 == STRING_LITERAL:
7581 LA74_261 = self.input.LA(3)
7582
7583 if (self.synpred142()) :
7584 alt74 = 1
7585 elif (True) :
7586 alt74 = 2
7587 else:
7588 if self.backtracking > 0:
7589 self.failed = True
7590 return
7591
7592 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input)
7593
7594 raise nvae
7595
7596 elif LA74 == FLOATING_POINT_LITERAL:
7597 LA74_262 = self.input.LA(3)
7598
7599 if (self.synpred142()) :
7600 alt74 = 1
7601 elif (True) :
7602 alt74 = 2
7603 else:
7604 if self.backtracking > 0:
7605 self.failed = True
7606 return
7607
7608 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
7609
7610 raise nvae
7611
7612 elif LA74 == 62:
7613 LA74_263 = self.input.LA(3)
7614
7615 if (self.synpred142()) :
7616 alt74 = 1
7617 elif (True) :
7618 alt74 = 2
7619 else:
7620 if self.backtracking > 0:
7621 self.failed = True
7622 return
7623
7624 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
7625
7626 raise nvae
7627
7628 elif LA74 == 72:
7629 LA74_264 = self.input.LA(3)
7630
7631 if (self.synpred142()) :
7632 alt74 = 1
7633 elif (True) :
7634 alt74 = 2
7635 else:
7636 if self.backtracking > 0:
7637 self.failed = True
7638 return
7639
7640 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
7641
7642 raise nvae
7643
7644 elif LA74 == 73:
7645 LA74_265 = self.input.LA(3)
7646
7647 if (self.synpred142()) :
7648 alt74 = 1
7649 elif (True) :
7650 alt74 = 2
7651 else:
7652 if self.backtracking > 0:
7653 self.failed = True
7654 return
7655
7656 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
7657
7658 raise nvae
7659
7660 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7661 LA74_266 = self.input.LA(3)
7662
7663 if (self.synpred142()) :
7664 alt74 = 1
7665 elif (True) :
7666 alt74 = 2
7667 else:
7668 if self.backtracking > 0:
7669 self.failed = True
7670 return
7671
7672 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
7673
7674 raise nvae
7675
7676 elif LA74 == 74:
7677 LA74_267 = self.input.LA(3)
7678
7679 if (self.synpred142()) :
7680 alt74 = 1
7681 elif (True) :
7682 alt74 = 2
7683 else:
7684 if self.backtracking > 0:
7685 self.failed = True
7686 return
7687
7688 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
7689
7690 raise nvae
7691
7692 else:
7693 if self.backtracking > 0:
7694 self.failed = True
7695 return
7696
7697 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
7698
7699 raise nvae
7700
7701 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7702 LA74 = self.input.LA(2)
7703 if LA74 == 62:
7704 LA74_268 = self.input.LA(3)
7705
7706 if (self.synpred142()) :
7707 alt74 = 1
7708 elif (True) :
7709 alt74 = 2
7710 else:
7711 if self.backtracking > 0:
7712 self.failed = True
7713 return
7714
7715 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input)
7716
7717 raise nvae
7718
7719 elif LA74 == IDENTIFIER:
7720 LA74_269 = self.input.LA(3)
7721
7722 if (self.synpred142()) :
7723 alt74 = 1
7724 elif (True) :
7725 alt74 = 2
7726 else:
7727 if self.backtracking > 0:
7728 self.failed = True
7729 return
7730
7731 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input)
7732
7733 raise nvae
7734
7735 elif LA74 == HEX_LITERAL:
7736 LA74_270 = self.input.LA(3)
7737
7738 if (self.synpred142()) :
7739 alt74 = 1
7740 elif (True) :
7741 alt74 = 2
7742 else:
7743 if self.backtracking > 0:
7744 self.failed = True
7745 return
7746
7747 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input)
7748
7749 raise nvae
7750
7751 elif LA74 == OCTAL_LITERAL:
7752 LA74_271 = self.input.LA(3)
7753
7754 if (self.synpred142()) :
7755 alt74 = 1
7756 elif (True) :
7757 alt74 = 2
7758 else:
7759 if self.backtracking > 0:
7760 self.failed = True
7761 return
7762
7763 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input)
7764
7765 raise nvae
7766
7767 elif LA74 == DECIMAL_LITERAL:
7768 LA74_272 = self.input.LA(3)
7769
7770 if (self.synpred142()) :
7771 alt74 = 1
7772 elif (True) :
7773 alt74 = 2
7774 else:
7775 if self.backtracking > 0:
7776 self.failed = True
7777 return
7778
7779 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input)
7780
7781 raise nvae
7782
7783 elif LA74 == CHARACTER_LITERAL:
7784 LA74_273 = self.input.LA(3)
7785
7786 if (self.synpred142()) :
7787 alt74 = 1
7788 elif (True) :
7789 alt74 = 2
7790 else:
7791 if self.backtracking > 0:
7792 self.failed = True
7793 return
7794
7795 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input)
7796
7797 raise nvae
7798
7799 elif LA74 == STRING_LITERAL:
7800 LA74_274 = self.input.LA(3)
7801
7802 if (self.synpred142()) :
7803 alt74 = 1
7804 elif (True) :
7805 alt74 = 2
7806 else:
7807 if self.backtracking > 0:
7808 self.failed = True
7809 return
7810
7811 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input)
7812
7813 raise nvae
7814
7815 elif LA74 == FLOATING_POINT_LITERAL:
7816 LA74_275 = self.input.LA(3)
7817
7818 if (self.synpred142()) :
7819 alt74 = 1
7820 elif (True) :
7821 alt74 = 2
7822 else:
7823 if self.backtracking > 0:
7824 self.failed = True
7825 return
7826
7827 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
7828
7829 raise nvae
7830
7831 elif LA74 == 72:
7832 LA74_276 = self.input.LA(3)
7833
7834 if (self.synpred142()) :
7835 alt74 = 1
7836 elif (True) :
7837 alt74 = 2
7838 else:
7839 if self.backtracking > 0:
7840 self.failed = True
7841 return
7842
7843 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
7844
7845 raise nvae
7846
7847 elif LA74 == 73:
7848 LA74_277 = self.input.LA(3)
7849
7850 if (self.synpred142()) :
7851 alt74 = 1
7852 elif (True) :
7853 alt74 = 2
7854 else:
7855 if self.backtracking > 0:
7856 self.failed = True
7857 return
7858
7859 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
7860
7861 raise nvae
7862
7863 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7864 LA74_278 = self.input.LA(3)
7865
7866 if (self.synpred142()) :
7867 alt74 = 1
7868 elif (True) :
7869 alt74 = 2
7870 else:
7871 if self.backtracking > 0:
7872 self.failed = True
7873 return
7874
7875 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
7876
7877 raise nvae
7878
7879 elif LA74 == 74:
7880 LA74_279 = self.input.LA(3)
7881
7882 if (self.synpred142()) :
7883 alt74 = 1
7884 elif (True) :
7885 alt74 = 2
7886 else:
7887 if self.backtracking > 0:
7888 self.failed = True
7889 return
7890
7891 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
7892
7893 raise nvae
7894
7895 else:
7896 if self.backtracking > 0:
7897 self.failed = True
7898 return
7899
7900 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
7901
7902 raise nvae
7903
7904 elif LA74 == 74:
7905 LA74 = self.input.LA(2)
7906 if LA74 == 62:
7907 LA74_280 = self.input.LA(3)
7908
7909 if (self.synpred142()) :
7910 alt74 = 1
7911 elif (True) :
7912 alt74 = 2
7913 else:
7914 if self.backtracking > 0:
7915 self.failed = True
7916 return
7917
7918 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input)
7919
7920 raise nvae
7921
7922 elif LA74 == IDENTIFIER:
7923 LA74_281 = self.input.LA(3)
7924
7925 if (self.synpred142()) :
7926 alt74 = 1
7927 elif (True) :
7928 alt74 = 2
7929 else:
7930 if self.backtracking > 0:
7931 self.failed = True
7932 return
7933
7934 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input)
7935
7936 raise nvae
7937
7938 elif LA74 == HEX_LITERAL:
7939 LA74_282 = self.input.LA(3)
7940
7941 if (self.synpred142()) :
7942 alt74 = 1
7943 elif (True) :
7944 alt74 = 2
7945 else:
7946 if self.backtracking > 0:
7947 self.failed = True
7948 return
7949
7950 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input)
7951
7952 raise nvae
7953
7954 elif LA74 == OCTAL_LITERAL:
7955 LA74_283 = self.input.LA(3)
7956
7957 if (self.synpred142()) :
7958 alt74 = 1
7959 elif (True) :
7960 alt74 = 2
7961 else:
7962 if self.backtracking > 0:
7963 self.failed = True
7964 return
7965
7966 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input)
7967
7968 raise nvae
7969
7970 elif LA74 == DECIMAL_LITERAL:
7971 LA74_284 = self.input.LA(3)
7972
7973 if (self.synpred142()) :
7974 alt74 = 1
7975 elif (True) :
7976 alt74 = 2
7977 else:
7978 if self.backtracking > 0:
7979 self.failed = True
7980 return
7981
7982 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input)
7983
7984 raise nvae
7985
7986 elif LA74 == CHARACTER_LITERAL:
7987 LA74_285 = self.input.LA(3)
7988
7989 if (self.synpred142()) :
7990 alt74 = 1
7991 elif (True) :
7992 alt74 = 2
7993 else:
7994 if self.backtracking > 0:
7995 self.failed = True
7996 return
7997
7998 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input)
7999
8000 raise nvae
8001
8002 elif LA74 == STRING_LITERAL:
8003 LA74_286 = self.input.LA(3)
8004
8005 if (self.synpred142()) :
8006 alt74 = 1
8007 elif (True) :
8008 alt74 = 2
8009 else:
8010 if self.backtracking > 0:
8011 self.failed = True
8012 return
8013
8014 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input)
8015
8016 raise nvae
8017
8018 elif LA74 == FLOATING_POINT_LITERAL:
8019 LA74_287 = self.input.LA(3)
8020
8021 if (self.synpred142()) :
8022 alt74 = 1
8023 elif (True) :
8024 alt74 = 2
8025 else:
8026 if self.backtracking > 0:
8027 self.failed = True
8028 return
8029
8030 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
8031
8032 raise nvae
8033
8034 elif LA74 == 72:
8035 LA74_288 = self.input.LA(3)
8036
8037 if (self.synpred142()) :
8038 alt74 = 1
8039 elif (True) :
8040 alt74 = 2
8041 else:
8042 if self.backtracking > 0:
8043 self.failed = True
8044 return
8045
8046 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
8047
8048 raise nvae
8049
8050 elif LA74 == 73:
8051 LA74_289 = self.input.LA(3)
8052
8053 if (self.synpred142()) :
8054 alt74 = 1
8055 elif (True) :
8056 alt74 = 2
8057 else:
8058 if self.backtracking > 0:
8059 self.failed = True
8060 return
8061
8062 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
8063
8064 raise nvae
8065
8066 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
8067 LA74_290 = self.input.LA(3)
8068
8069 if (self.synpred142()) :
8070 alt74 = 1
8071 elif (True) :
8072 alt74 = 2
8073 else:
8074 if self.backtracking > 0:
8075 self.failed = True
8076 return
8077
8078 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
8079
8080 raise nvae
8081
8082 elif LA74 == 74:
8083 LA74_291 = self.input.LA(3)
8084
8085 if (self.synpred142()) :
8086 alt74 = 1
8087 elif (True) :
8088 alt74 = 2
8089 else:
8090 if self.backtracking > 0:
8091 self.failed = True
8092 return
8093
8094 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
8095
8096 raise nvae
8097
8098 else:
8099 if self.backtracking > 0:
8100 self.failed = True
8101 return
8102
8103 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
8104
8105 raise nvae
8106
8107 else:
8108 if self.backtracking > 0:
8109 self.failed = True
8110 return
8111
8112 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
8113
8114 raise nvae
8115
8116 if alt74 == 1:
8117 # C.g:458:4: lvalue assignment_operator assignment_expression
8118 self.following.append(self.FOLLOW_lvalue_in_assignment_expression1744)
8119 self.lvalue()
8120 self.following.pop()
8121 if self.failed:
8122 return
8123 self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1746)
8124 self.assignment_operator()
8125 self.following.pop()
8126 if self.failed:
8127 return
8128 self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748)
8129 self.assignment_expression()
8130 self.following.pop()
8131 if self.failed:
8132 return
8133
8134
8135 elif alt74 == 2:
8136 # C.g:459:4: conditional_expression
8137 self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1753)
8138 self.conditional_expression()
8139 self.following.pop()
8140 if self.failed:
8141 return
8142
8143
8144
8145 except RecognitionException, re:
8146 self.reportError(re)
8147 self.recover(self.input, re)
8148 finally:
8149 if self.backtracking > 0:
8150 self.memoize(self.input, 48, assignment_expression_StartIndex)
8151
8152 pass
8153
8154 return
8155
8156 # $ANTLR end assignment_expression
8157
8158
8159 # $ANTLR start lvalue
8160 # C.g:462:1: lvalue : unary_expression ;
8161 def lvalue(self, ):
8162
8163 lvalue_StartIndex = self.input.index()
8164 try:
8165 try:
8166 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
8167 return
8168
8169 # C.g:463:2: ( unary_expression )
8170 # C.g:463:4: unary_expression
8171 self.following.append(self.FOLLOW_unary_expression_in_lvalue1765)
8172 self.unary_expression()
8173 self.following.pop()
8174 if self.failed:
8175 return
8176
8177
8178
8179
8180 except RecognitionException, re:
8181 self.reportError(re)
8182 self.recover(self.input, re)
8183 finally:
8184 if self.backtracking > 0:
8185 self.memoize(self.input, 49, lvalue_StartIndex)
8186
8187 pass
8188
8189 return
8190
8191 # $ANTLR end lvalue
8192
8193
8194 # $ANTLR start assignment_operator
8195 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8196 def assignment_operator(self, ):
8197
8198 assignment_operator_StartIndex = self.input.index()
8199 try:
8200 try:
8201 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
8202 return
8203
8204 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8205 # C.g:
8206 if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89):
8207 self.input.consume();
8208 self.errorRecovery = False
8209 self.failed = False
8210
8211 else:
8212 if self.backtracking > 0:
8213 self.failed = True
8214 return
8215
8216 mse = MismatchedSetException(None, self.input)
8217 self.recoverFromMismatchedSet(
8218 self.input, mse, self.FOLLOW_set_in_assignment_operator0
8219 )
8220 raise mse
8221
8222
8223
8224
8225
8226
8227 except RecognitionException, re:
8228 self.reportError(re)
8229 self.recover(self.input, re)
8230 finally:
8231 if self.backtracking > 0:
8232 self.memoize(self.input, 50, assignment_operator_StartIndex)
8233
8234 pass
8235
8236 return
8237
8238 # $ANTLR end assignment_operator
8239
8240
8241 # $ANTLR start conditional_expression
8242 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8243 def conditional_expression(self, ):
8244
8245 conditional_expression_StartIndex = self.input.index()
8246 e = None
8247
8248
8249 try:
8250 try:
8251 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
8252 return
8253
8254 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8255 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8256 self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1839)
8257 e = self.logical_or_expression()
8258 self.following.pop()
8259 if self.failed:
8260 return
8261 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8262 alt75 = 2
8263 LA75_0 = self.input.LA(1)
8264
8265 if (LA75_0 == 90) :
8266 alt75 = 1
8267 if alt75 == 1:
8268 # C.g:481:29: '?' expression ':' conditional_expression
8269 self.match(self.input, 90, self.FOLLOW_90_in_conditional_expression1842)
8270 if self.failed:
8271 return
8272 self.following.append(self.FOLLOW_expression_in_conditional_expression1844)
8273 self.expression()
8274 self.following.pop()
8275 if self.failed:
8276 return
8277 self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846)
8278 if self.failed:
8279 return
8280 self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848)
8281 self.conditional_expression()
8282 self.following.pop()
8283 if self.failed:
8284 return
8285 if self.backtracking == 0:
8286 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
8287
8288
8289
8290
8291
8292
8293
8294
8295 except RecognitionException, re:
8296 self.reportError(re)
8297 self.recover(self.input, re)
8298 finally:
8299 if self.backtracking > 0:
8300 self.memoize(self.input, 51, conditional_expression_StartIndex)
8301
8302 pass
8303
8304 return
8305
8306 # $ANTLR end conditional_expression
8307
8308 class logical_or_expression_return(object):
8309 def __init__(self):
8310 self.start = None
8311 self.stop = None
8312
8313
8314
8315 # $ANTLR start logical_or_expression
8316 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8317 def logical_or_expression(self, ):
8318
8319 retval = self.logical_or_expression_return()
8320 retval.start = self.input.LT(1)
8321 logical_or_expression_StartIndex = self.input.index()
8322 try:
8323 try:
8324 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
8325 return retval
8326
8327 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8328 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8329 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1863)
8330 self.logical_and_expression()
8331 self.following.pop()
8332 if self.failed:
8333 return retval
8334 # C.g:485:27: ( '||' logical_and_expression )*
8335 while True: #loop76
8336 alt76 = 2
8337 LA76_0 = self.input.LA(1)
8338
8339 if (LA76_0 == 91) :
8340 alt76 = 1
8341
8342
8343 if alt76 == 1:
8344 # C.g:485:28: '||' logical_and_expression
8345 self.match(self.input, 91, self.FOLLOW_91_in_logical_or_expression1866)
8346 if self.failed:
8347 return retval
8348 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1868)
8349 self.logical_and_expression()
8350 self.following.pop()
8351 if self.failed:
8352 return retval
8353
8354
8355 else:
8356 break #loop76
8357
8358
8359
8360
8361
8362 retval.stop = self.input.LT(-1)
8363
8364
8365 except RecognitionException, re:
8366 self.reportError(re)
8367 self.recover(self.input, re)
8368 finally:
8369 if self.backtracking > 0:
8370 self.memoize(self.input, 52, logical_or_expression_StartIndex)
8371
8372 pass
8373
8374 return retval
8375
8376 # $ANTLR end logical_or_expression
8377
8378
8379 # $ANTLR start logical_and_expression
8380 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8381 def logical_and_expression(self, ):
8382
8383 logical_and_expression_StartIndex = self.input.index()
8384 try:
8385 try:
8386 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
8387 return
8388
8389 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8390 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8391 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1881)
8392 self.inclusive_or_expression()
8393 self.following.pop()
8394 if self.failed:
8395 return
8396 # C.g:489:28: ( '&&' inclusive_or_expression )*
8397 while True: #loop77
8398 alt77 = 2
8399 LA77_0 = self.input.LA(1)
8400
8401 if (LA77_0 == 92) :
8402 alt77 = 1
8403
8404
8405 if alt77 == 1:
8406 # C.g:489:29: '&&' inclusive_or_expression
8407 self.match(self.input, 92, self.FOLLOW_92_in_logical_and_expression1884)
8408 if self.failed:
8409 return
8410 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1886)
8411 self.inclusive_or_expression()
8412 self.following.pop()
8413 if self.failed:
8414 return
8415
8416
8417 else:
8418 break #loop77
8419
8420
8421
8422
8423
8424
8425 except RecognitionException, re:
8426 self.reportError(re)
8427 self.recover(self.input, re)
8428 finally:
8429 if self.backtracking > 0:
8430 self.memoize(self.input, 53, logical_and_expression_StartIndex)
8431
8432 pass
8433
8434 return
8435
8436 # $ANTLR end logical_and_expression
8437
8438
8439 # $ANTLR start inclusive_or_expression
8440 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8441 def inclusive_or_expression(self, ):
8442
8443 inclusive_or_expression_StartIndex = self.input.index()
8444 try:
8445 try:
8446 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
8447 return
8448
8449 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8450 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8451 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899)
8452 self.exclusive_or_expression()
8453 self.following.pop()
8454 if self.failed:
8455 return
8456 # C.g:493:28: ( '|' exclusive_or_expression )*
8457 while True: #loop78
8458 alt78 = 2
8459 LA78_0 = self.input.LA(1)
8460
8461 if (LA78_0 == 93) :
8462 alt78 = 1
8463
8464
8465 if alt78 == 1:
8466 # C.g:493:29: '|' exclusive_or_expression
8467 self.match(self.input, 93, self.FOLLOW_93_in_inclusive_or_expression1902)
8468 if self.failed:
8469 return
8470 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904)
8471 self.exclusive_or_expression()
8472 self.following.pop()
8473 if self.failed:
8474 return
8475
8476
8477 else:
8478 break #loop78
8479
8480
8481
8482
8483
8484
8485 except RecognitionException, re:
8486 self.reportError(re)
8487 self.recover(self.input, re)
8488 finally:
8489 if self.backtracking > 0:
8490 self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
8491
8492 pass
8493
8494 return
8495
8496 # $ANTLR end inclusive_or_expression
8497
8498
8499 # $ANTLR start exclusive_or_expression
8500 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8501 def exclusive_or_expression(self, ):
8502
8503 exclusive_or_expression_StartIndex = self.input.index()
8504 try:
8505 try:
8506 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
8507 return
8508
8509 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8510 # C.g:497:4: and_expression ( '^' and_expression )*
8511 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1917)
8512 self.and_expression()
8513 self.following.pop()
8514 if self.failed:
8515 return
8516 # C.g:497:19: ( '^' and_expression )*
8517 while True: #loop79
8518 alt79 = 2
8519 LA79_0 = self.input.LA(1)
8520
8521 if (LA79_0 == 94) :
8522 alt79 = 1
8523
8524
8525 if alt79 == 1:
8526 # C.g:497:20: '^' and_expression
8527 self.match(self.input, 94, self.FOLLOW_94_in_exclusive_or_expression1920)
8528 if self.failed:
8529 return
8530 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1922)
8531 self.and_expression()
8532 self.following.pop()
8533 if self.failed:
8534 return
8535
8536
8537 else:
8538 break #loop79
8539
8540
8541
8542
8543
8544
8545 except RecognitionException, re:
8546 self.reportError(re)
8547 self.recover(self.input, re)
8548 finally:
8549 if self.backtracking > 0:
8550 self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
8551
8552 pass
8553
8554 return
8555
8556 # $ANTLR end exclusive_or_expression
8557
8558
8559 # $ANTLR start and_expression
8560 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8561 def and_expression(self, ):
8562
8563 and_expression_StartIndex = self.input.index()
8564 try:
8565 try:
8566 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
8567 return
8568
8569 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8570 # C.g:501:4: equality_expression ( '&' equality_expression )*
8571 self.following.append(self.FOLLOW_equality_expression_in_and_expression1935)
8572 self.equality_expression()
8573 self.following.pop()
8574 if self.failed:
8575 return
8576 # C.g:501:24: ( '&' equality_expression )*
8577 while True: #loop80
8578 alt80 = 2
8579 LA80_0 = self.input.LA(1)
8580
8581 if (LA80_0 == 77) :
8582 alt80 = 1
8583
8584
8585 if alt80 == 1:
8586 # C.g:501:25: '&' equality_expression
8587 self.match(self.input, 77, self.FOLLOW_77_in_and_expression1938)
8588 if self.failed:
8589 return
8590 self.following.append(self.FOLLOW_equality_expression_in_and_expression1940)
8591 self.equality_expression()
8592 self.following.pop()
8593 if self.failed:
8594 return
8595
8596
8597 else:
8598 break #loop80
8599
8600
8601
8602
8603
8604
8605 except RecognitionException, re:
8606 self.reportError(re)
8607 self.recover(self.input, re)
8608 finally:
8609 if self.backtracking > 0:
8610 self.memoize(self.input, 56, and_expression_StartIndex)
8611
8612 pass
8613
8614 return
8615
8616 # $ANTLR end and_expression
8617
8618
8619 # $ANTLR start equality_expression
8620 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8621 def equality_expression(self, ):
8622
8623 equality_expression_StartIndex = self.input.index()
8624 try:
8625 try:
8626 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
8627 return
8628
8629 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8630 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8631 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1952)
8632 self.relational_expression()
8633 self.following.pop()
8634 if self.failed:
8635 return
8636 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8637 while True: #loop81
8638 alt81 = 2
8639 LA81_0 = self.input.LA(1)
8640
8641 if ((95 <= LA81_0 <= 96)) :
8642 alt81 = 1
8643
8644
8645 if alt81 == 1:
8646 # C.g:504:27: ( '==' | '!=' ) relational_expression
8647 if (95 <= self.input.LA(1) <= 96):
8648 self.input.consume();
8649 self.errorRecovery = False
8650 self.failed = False
8651
8652 else:
8653 if self.backtracking > 0:
8654 self.failed = True
8655 return
8656
8657 mse = MismatchedSetException(None, self.input)
8658 self.recoverFromMismatchedSet(
8659 self.input, mse, self.FOLLOW_set_in_equality_expression1955
8660 )
8661 raise mse
8662
8663
8664 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961)
8665 self.relational_expression()
8666 self.following.pop()
8667 if self.failed:
8668 return
8669
8670
8671 else:
8672 break #loop81
8673
8674
8675
8676
8677
8678
8679 except RecognitionException, re:
8680 self.reportError(re)
8681 self.recover(self.input, re)
8682 finally:
8683 if self.backtracking > 0:
8684 self.memoize(self.input, 57, equality_expression_StartIndex)
8685
8686 pass
8687
8688 return
8689
8690 # $ANTLR end equality_expression
8691
8692
8693 # $ANTLR start relational_expression
8694 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8695 def relational_expression(self, ):
8696
8697 relational_expression_StartIndex = self.input.index()
8698 try:
8699 try:
8700 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
8701 return
8702
8703 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8704 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8705 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1975)
8706 self.shift_expression()
8707 self.following.pop()
8708 if self.failed:
8709 return
8710 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8711 while True: #loop82
8712 alt82 = 2
8713 LA82_0 = self.input.LA(1)
8714
8715 if ((97 <= LA82_0 <= 100)) :
8716 alt82 = 1
8717
8718
8719 if alt82 == 1:
8720 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8721 if (97 <= self.input.LA(1) <= 100):
8722 self.input.consume();
8723 self.errorRecovery = False
8724 self.failed = False
8725
8726 else:
8727 if self.backtracking > 0:
8728 self.failed = True
8729 return
8730
8731 mse = MismatchedSetException(None, self.input)
8732 self.recoverFromMismatchedSet(
8733 self.input, mse, self.FOLLOW_set_in_relational_expression1978
8734 )
8735 raise mse
8736
8737
8738 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988)
8739 self.shift_expression()
8740 self.following.pop()
8741 if self.failed:
8742 return
8743
8744
8745 else:
8746 break #loop82
8747
8748
8749
8750
8751
8752
8753 except RecognitionException, re:
8754 self.reportError(re)
8755 self.recover(self.input, re)
8756 finally:
8757 if self.backtracking > 0:
8758 self.memoize(self.input, 58, relational_expression_StartIndex)
8759
8760 pass
8761
8762 return
8763
8764 # $ANTLR end relational_expression
8765
8766
8767 # $ANTLR start shift_expression
8768 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8769 def shift_expression(self, ):
8770
8771 shift_expression_StartIndex = self.input.index()
8772 try:
8773 try:
8774 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
8775 return
8776
8777 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8778 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8779 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2001)
8780 self.additive_expression()
8781 self.following.pop()
8782 if self.failed:
8783 return
8784 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8785 while True: #loop83
8786 alt83 = 2
8787 LA83_0 = self.input.LA(1)
8788
8789 if ((101 <= LA83_0 <= 102)) :
8790 alt83 = 1
8791
8792
8793 if alt83 == 1:
8794 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8795 if (101 <= self.input.LA(1) <= 102):
8796 self.input.consume();
8797 self.errorRecovery = False
8798 self.failed = False
8799
8800 else:
8801 if self.backtracking > 0:
8802 self.failed = True
8803 return
8804
8805 mse = MismatchedSetException(None, self.input)
8806 self.recoverFromMismatchedSet(
8807 self.input, mse, self.FOLLOW_set_in_shift_expression2004
8808 )
8809 raise mse
8810
8811
8812 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010)
8813 self.additive_expression()
8814 self.following.pop()
8815 if self.failed:
8816 return
8817
8818
8819 else:
8820 break #loop83
8821
8822
8823
8824
8825
8826
8827 except RecognitionException, re:
8828 self.reportError(re)
8829 self.recover(self.input, re)
8830 finally:
8831 if self.backtracking > 0:
8832 self.memoize(self.input, 59, shift_expression_StartIndex)
8833
8834 pass
8835
8836 return
8837
8838 # $ANTLR end shift_expression
8839
8840
8841 # $ANTLR start statement
8842 # C.g:517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
8843 def statement(self, ):
8844
8845 statement_StartIndex = self.input.index()
8846 try:
8847 try:
8848 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
8849 return
8850
8851 # C.g:518:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
8852 alt84 = 11
8853 LA84 = self.input.LA(1)
8854 if LA84 == IDENTIFIER:
8855 LA84 = self.input.LA(2)
8856 if LA84 == 62:
8857 LA84_43 = self.input.LA(3)
8858
8859 if (self.synpred169()) :
8860 alt84 = 3
8861 elif (self.synpred173()) :
8862 alt84 = 7
8863 elif (self.synpred174()) :
8864 alt84 = 8
8865 elif (True) :
8866 alt84 = 11
8867 else:
8868 if self.backtracking > 0:
8869 self.failed = True
8870 return
8871
8872 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 43, self.input)
8873
8874 raise nvae
8875
8876 elif LA84 == 47:
8877 alt84 = 1
8878 elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 64 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 75 or LA84 == 76 or LA84 == 77 or LA84 == 80 or LA84 == 81 or LA84 == 82 or LA84 == 83 or LA84 == 84 or LA84 == 85 or LA84 == 86 or LA84 == 87 or LA84 == 88 or LA84 == 89 or LA84 == 90 or LA84 == 91 or LA84 == 92 or LA84 == 93 or LA84 == 94 or LA84 == 95 or LA84 == 96 or LA84 == 97 or LA84 == 98 or LA84 == 99 or LA84 == 100 or LA84 == 101 or LA84 == 102:
8879 alt84 = 3
8880 elif LA84 == 66:
8881 LA84_47 = self.input.LA(3)
8882
8883 if (self.synpred169()) :
8884 alt84 = 3
8885 elif (True) :
8886 alt84 = 11
8887 else:
8888 if self.backtracking > 0:
8889 self.failed = True
8890 return
8891
8892 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self.input)
8893
8894 raise nvae
8895
8896 elif LA84 == IDENTIFIER:
8897 LA84_53 = self.input.LA(3)
8898
8899 if (self.synpred169()) :
8900 alt84 = 3
8901 elif (True) :
8902 alt84 = 11
8903 else:
8904 if self.backtracking > 0:
8905 self.failed = True
8906 return
8907
8908 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 53, self.input)
8909
8910 raise nvae
8911
8912 elif LA84 == 25:
8913 LA84_68 = self.input.LA(3)
8914
8915 if (self.synpred169()) :
8916 alt84 = 3
8917 elif (True) :
8918 alt84 = 11
8919 else:
8920 if self.backtracking > 0:
8921 self.failed = True
8922 return
8923
8924 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 68, self.input)
8925
8926 raise nvae
8927
8928 elif LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
8929 alt84 = 11
8930 else:
8931 if self.backtracking > 0:
8932 self.failed = True
8933 return
8934
8935 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self.input)
8936
8937 raise nvae
8938
8939 elif LA84 == 106 or LA84 == 107:
8940 alt84 = 1
8941 elif LA84 == 43:
8942 alt84 = 2
8943 elif LA84 == HEX_LITERAL or LA84 == OCTAL_LITERAL or LA84 == DECIMAL_LITERAL or LA84 == CHARACTER_LITERAL or LA84 == STRING_LITERAL or LA84 == FLOATING_POINT_LITERAL or LA84 == 25 or LA84 == 62 or LA84 == 66 or LA84 == 68 or LA84 == 69 or LA84 == 72 or LA84 == 73 or LA84 == 74 or LA84 == 77 or LA84 == 78 or LA84 == 79:
8944 alt84 = 3
8945 elif LA84 == 108 or LA84 == 110:
8946 alt84 = 4
8947 elif LA84 == 111 or LA84 == 112 or LA84 == 113:
8948 alt84 = 5
8949 elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117:
8950 alt84 = 6
8951 elif LA84 == 103:
8952 alt84 = 8
8953 elif LA84 == 104:
8954 alt84 = 9
8955 elif LA84 == 105:
8956 alt84 = 10
8957 elif LA84 == 26 or LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
8958 alt84 = 11
8959 else:
8960 if self.backtracking > 0:
8961 self.failed = True
8962 return
8963
8964 nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self.input)
8965
8966 raise nvae
8967
8968 if alt84 == 1:
8969 # C.g:518:4: labeled_statement
8970 self.following.append(self.FOLLOW_labeled_statement_in_statement2025)
8971 self.labeled_statement()
8972 self.following.pop()
8973 if self.failed:
8974 return
8975
8976
8977 elif alt84 == 2:
8978 # C.g:519:4: compound_statement
8979 self.following.append(self.FOLLOW_compound_statement_in_statement2030)
8980 self.compound_statement()
8981 self.following.pop()
8982 if self.failed:
8983 return
8984
8985
8986 elif alt84 == 3:
8987 # C.g:520:4: expression_statement
8988 self.following.append(self.FOLLOW_expression_statement_in_statement2035)
8989 self.expression_statement()
8990 self.following.pop()
8991 if self.failed:
8992 return
8993
8994
8995 elif alt84 == 4:
8996 # C.g:521:4: selection_statement
8997 self.following.append(self.FOLLOW_selection_statement_in_statement2040)
8998 self.selection_statement()
8999 self.following.pop()
9000 if self.failed:
9001 return
9002
9003
9004 elif alt84 == 5:
9005 # C.g:522:4: iteration_statement
9006 self.following.append(self.FOLLOW_iteration_statement_in_statement2045)
9007 self.iteration_statement()
9008 self.following.pop()
9009 if self.failed:
9010 return
9011
9012
9013 elif alt84 == 6:
9014 # C.g:523:4: jump_statement
9015 self.following.append(self.FOLLOW_jump_statement_in_statement2050)
9016 self.jump_statement()
9017 self.following.pop()
9018 if self.failed:
9019 return
9020
9021
9022 elif alt84 == 7:
9023 # C.g:524:4: macro_statement
9024 self.following.append(self.FOLLOW_macro_statement_in_statement2055)
9025 self.macro_statement()
9026 self.following.pop()
9027 if self.failed:
9028 return
9029
9030
9031 elif alt84 == 8:
9032 # C.g:525:4: asm2_statement
9033 self.following.append(self.FOLLOW_asm2_statement_in_statement2060)
9034 self.asm2_statement()
9035 self.following.pop()
9036 if self.failed:
9037 return
9038
9039
9040 elif alt84 == 9:
9041 # C.g:526:4: asm1_statement
9042 self.following.append(self.FOLLOW_asm1_statement_in_statement2065)
9043 self.asm1_statement()
9044 self.following.pop()
9045 if self.failed:
9046 return
9047
9048
9049 elif alt84 == 10:
9050 # C.g:527:4: asm_statement
9051 self.following.append(self.FOLLOW_asm_statement_in_statement2070)
9052 self.asm_statement()
9053 self.following.pop()
9054 if self.failed:
9055 return
9056
9057
9058 elif alt84 == 11:
9059 # C.g:528:4: declaration
9060 self.following.append(self.FOLLOW_declaration_in_statement2075)
9061 self.declaration()
9062 self.following.pop()
9063 if self.failed:
9064 return
9065
9066
9067
9068 except RecognitionException, re:
9069 self.reportError(re)
9070 self.recover(self.input, re)
9071 finally:
9072 if self.backtracking > 0:
9073 self.memoize(self.input, 60, statement_StartIndex)
9074
9075 pass
9076
9077 return
9078
9079 # $ANTLR end statement
9080
9081
9082 # $ANTLR start asm2_statement
9083 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9084 def asm2_statement(self, ):
9085
9086 asm2_statement_StartIndex = self.input.index()
9087 try:
9088 try:
9089 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
9090 return
9091
9092 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9093 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9094 # C.g:532:4: ( '__asm__' )?
9095 alt85 = 2
9096 LA85_0 = self.input.LA(1)
9097
9098 if (LA85_0 == 103) :
9099 alt85 = 1
9100 if alt85 == 1:
9101 # C.g:0:0: '__asm__'
9102 self.match(self.input, 103, self.FOLLOW_103_in_asm2_statement2086)
9103 if self.failed:
9104 return
9105
9106
9107
9108 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2089)
9109 if self.failed:
9110 return
9111 self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091)
9112 if self.failed:
9113 return
9114 # C.g:532:30: (~ ( ';' ) )*
9115 while True: #loop86
9116 alt86 = 2
9117 LA86_0 = self.input.LA(1)
9118
9119 if (LA86_0 == 63) :
9120 LA86_1 = self.input.LA(2)
9121
9122 if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) :
9123 alt86 = 1
9124
9125
9126 elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) :
9127 alt86 = 1
9128
9129
9130 if alt86 == 1:
9131 # C.g:532:31: ~ ( ';' )
9132 if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 117):
9133 self.input.consume();
9134 self.errorRecovery = False
9135 self.failed = False
9136
9137 else:
9138 if self.backtracking > 0:
9139 self.failed = True
9140 return
9141
9142 mse = MismatchedSetException(None, self.input)
9143 self.recoverFromMismatchedSet(
9144 self.input, mse, self.FOLLOW_set_in_asm2_statement2094
9145 )
9146 raise mse
9147
9148
9149
9150
9151 else:
9152 break #loop86
9153
9154
9155 self.match(self.input, 63, self.FOLLOW_63_in_asm2_statement2101)
9156 if self.failed:
9157 return
9158 self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2103)
9159 if self.failed:
9160 return
9161
9162
9163
9164
9165 except RecognitionException, re:
9166 self.reportError(re)
9167 self.recover(self.input, re)
9168 finally:
9169 if self.backtracking > 0:
9170 self.memoize(self.input, 61, asm2_statement_StartIndex)
9171
9172 pass
9173
9174 return
9175
9176 # $ANTLR end asm2_statement
9177
9178
9179 # $ANTLR start asm1_statement
9180 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9181 def asm1_statement(self, ):
9182
9183 asm1_statement_StartIndex = self.input.index()
9184 try:
9185 try:
9186 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
9187 return
9188
9189 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9190 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9191 self.match(self.input, 104, self.FOLLOW_104_in_asm1_statement2115)
9192 if self.failed:
9193 return
9194 self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2117)
9195 if self.failed:
9196 return
9197 # C.g:536:15: (~ ( '}' ) )*
9198 while True: #loop87
9199 alt87 = 2
9200 LA87_0 = self.input.LA(1)
9201
9202 if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) :
9203 alt87 = 1
9204
9205
9206 if alt87 == 1:
9207 # C.g:536:16: ~ ( '}' )
9208 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9209 self.input.consume();
9210 self.errorRecovery = False
9211 self.failed = False
9212
9213 else:
9214 if self.backtracking > 0:
9215 self.failed = True
9216 return
9217
9218 mse = MismatchedSetException(None, self.input)
9219 self.recoverFromMismatchedSet(
9220 self.input, mse, self.FOLLOW_set_in_asm1_statement2120
9221 )
9222 raise mse
9223
9224
9225
9226
9227 else:
9228 break #loop87
9229
9230
9231 self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127)
9232 if self.failed:
9233 return
9234
9235
9236
9237
9238 except RecognitionException, re:
9239 self.reportError(re)
9240 self.recover(self.input, re)
9241 finally:
9242 if self.backtracking > 0:
9243 self.memoize(self.input, 62, asm1_statement_StartIndex)
9244
9245 pass
9246
9247 return
9248
9249 # $ANTLR end asm1_statement
9250
9251
9252 # $ANTLR start asm_statement
9253 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9254 def asm_statement(self, ):
9255
9256 asm_statement_StartIndex = self.input.index()
9257 try:
9258 try:
9259 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
9260 return
9261
9262 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9263 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9264 self.match(self.input, 105, self.FOLLOW_105_in_asm_statement2138)
9265 if self.failed:
9266 return
9267 self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2140)
9268 if self.failed:
9269 return
9270 # C.g:540:16: (~ ( '}' ) )*
9271 while True: #loop88
9272 alt88 = 2
9273 LA88_0 = self.input.LA(1)
9274
9275 if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) :
9276 alt88 = 1
9277
9278
9279 if alt88 == 1:
9280 # C.g:540:17: ~ ( '}' )
9281 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9282 self.input.consume();
9283 self.errorRecovery = False
9284 self.failed = False
9285
9286 else:
9287 if self.backtracking > 0:
9288 self.failed = True
9289 return
9290
9291 mse = MismatchedSetException(None, self.input)
9292 self.recoverFromMismatchedSet(
9293 self.input, mse, self.FOLLOW_set_in_asm_statement2143
9294 )
9295 raise mse
9296
9297
9298
9299
9300 else:
9301 break #loop88
9302
9303
9304 self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150)
9305 if self.failed:
9306 return
9307
9308
9309
9310
9311 except RecognitionException, re:
9312 self.reportError(re)
9313 self.recover(self.input, re)
9314 finally:
9315 if self.backtracking > 0:
9316 self.memoize(self.input, 63, asm_statement_StartIndex)
9317
9318 pass
9319
9320 return
9321
9322 # $ANTLR end asm_statement
9323
9324
9325 # $ANTLR start macro_statement
9326 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9327 def macro_statement(self, ):
9328
9329 macro_statement_StartIndex = self.input.index()
9330 try:
9331 try:
9332 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
9333 return
9334
9335 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9336 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9337 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2162)
9338 if self.failed:
9339 return
9340 self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2164)
9341 if self.failed:
9342 return
9343 # C.g:544:19: ( declaration )*
9344 while True: #loop89
9345 alt89 = 2
9346 LA89 = self.input.LA(1)
9347 if LA89 == IDENTIFIER:
9348 LA89 = self.input.LA(2)
9349 if LA89 == 62:
9350 LA89_45 = self.input.LA(3)
9351
9352 if (self.synpred181()) :
9353 alt89 = 1
9354
9355
9356 elif LA89 == IDENTIFIER:
9357 LA89_47 = self.input.LA(3)
9358
9359 if (self.synpred181()) :
9360 alt89 = 1
9361
9362
9363 elif LA89 == 66:
9364 LA89_50 = self.input.LA(3)
9365
9366 if (self.synpred181()) :
9367 alt89 = 1
9368
9369
9370 elif LA89 == 25:
9371 LA89_68 = self.input.LA(3)
9372
9373 if (self.synpred181()) :
9374 alt89 = 1
9375
9376
9377 elif LA89 == 58:
9378 LA89_71 = self.input.LA(3)
9379
9380 if (self.synpred181()) :
9381 alt89 = 1
9382
9383
9384 elif LA89 == 59:
9385 LA89_72 = self.input.LA(3)
9386
9387 if (self.synpred181()) :
9388 alt89 = 1
9389
9390
9391 elif LA89 == 60:
9392 LA89_73 = self.input.LA(3)
9393
9394 if (self.synpred181()) :
9395 alt89 = 1
9396
9397
9398 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9399 LA89_74 = self.input.LA(3)
9400
9401 if (self.synpred181()) :
9402 alt89 = 1
9403
9404
9405 elif LA89 == 34:
9406 LA89_75 = self.input.LA(3)
9407
9408 if (self.synpred181()) :
9409 alt89 = 1
9410
9411
9412 elif LA89 == 35:
9413 LA89_76 = self.input.LA(3)
9414
9415 if (self.synpred181()) :
9416 alt89 = 1
9417
9418
9419 elif LA89 == 36:
9420 LA89_77 = self.input.LA(3)
9421
9422 if (self.synpred181()) :
9423 alt89 = 1
9424
9425
9426 elif LA89 == 37:
9427 LA89_78 = self.input.LA(3)
9428
9429 if (self.synpred181()) :
9430 alt89 = 1
9431
9432
9433 elif LA89 == 38:
9434 LA89_79 = self.input.LA(3)
9435
9436 if (self.synpred181()) :
9437 alt89 = 1
9438
9439
9440 elif LA89 == 39:
9441 LA89_80 = self.input.LA(3)
9442
9443 if (self.synpred181()) :
9444 alt89 = 1
9445
9446
9447 elif LA89 == 40:
9448 LA89_81 = self.input.LA(3)
9449
9450 if (self.synpred181()) :
9451 alt89 = 1
9452
9453
9454 elif LA89 == 41:
9455 LA89_82 = self.input.LA(3)
9456
9457 if (self.synpred181()) :
9458 alt89 = 1
9459
9460
9461 elif LA89 == 42:
9462 LA89_83 = self.input.LA(3)
9463
9464 if (self.synpred181()) :
9465 alt89 = 1
9466
9467
9468 elif LA89 == 45 or LA89 == 46:
9469 LA89_84 = self.input.LA(3)
9470
9471 if (self.synpred181()) :
9472 alt89 = 1
9473
9474
9475 elif LA89 == 48:
9476 LA89_85 = self.input.LA(3)
9477
9478 if (self.synpred181()) :
9479 alt89 = 1
9480
9481
9482 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9483 LA89_86 = self.input.LA(3)
9484
9485 if (self.synpred181()) :
9486 alt89 = 1
9487
9488
9489
9490 elif LA89 == 26:
9491 LA89 = self.input.LA(2)
9492 if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9493 LA89_87 = self.input.LA(3)
9494
9495 if (self.synpred181()) :
9496 alt89 = 1
9497
9498
9499 elif LA89 == 34:
9500 LA89_88 = self.input.LA(3)
9501
9502 if (self.synpred181()) :
9503 alt89 = 1
9504
9505
9506 elif LA89 == 35:
9507 LA89_89 = self.input.LA(3)
9508
9509 if (self.synpred181()) :
9510 alt89 = 1
9511
9512
9513 elif LA89 == 36:
9514 LA89_90 = self.input.LA(3)
9515
9516 if (self.synpred181()) :
9517 alt89 = 1
9518
9519
9520 elif LA89 == 37:
9521 LA89_91 = self.input.LA(3)
9522
9523 if (self.synpred181()) :
9524 alt89 = 1
9525
9526
9527 elif LA89 == 38:
9528 LA89_92 = self.input.LA(3)
9529
9530 if (self.synpred181()) :
9531 alt89 = 1
9532
9533
9534 elif LA89 == 39:
9535 LA89_93 = self.input.LA(3)
9536
9537 if (self.synpred181()) :
9538 alt89 = 1
9539
9540
9541 elif LA89 == 40:
9542 LA89_94 = self.input.LA(3)
9543
9544 if (self.synpred181()) :
9545 alt89 = 1
9546
9547
9548 elif LA89 == 41:
9549 LA89_95 = self.input.LA(3)
9550
9551 if (self.synpred181()) :
9552 alt89 = 1
9553
9554
9555 elif LA89 == 42:
9556 LA89_96 = self.input.LA(3)
9557
9558 if (self.synpred181()) :
9559 alt89 = 1
9560
9561
9562 elif LA89 == 45 or LA89 == 46:
9563 LA89_97 = self.input.LA(3)
9564
9565 if (self.synpred181()) :
9566 alt89 = 1
9567
9568
9569 elif LA89 == 48:
9570 LA89_98 = self.input.LA(3)
9571
9572 if (self.synpred181()) :
9573 alt89 = 1
9574
9575
9576 elif LA89 == IDENTIFIER:
9577 LA89_99 = self.input.LA(3)
9578
9579 if (self.synpred181()) :
9580 alt89 = 1
9581
9582
9583 elif LA89 == 58:
9584 LA89_100 = self.input.LA(3)
9585
9586 if (self.synpred181()) :
9587 alt89 = 1
9588
9589
9590 elif LA89 == 66:
9591 LA89_101 = self.input.LA(3)
9592
9593 if (self.synpred181()) :
9594 alt89 = 1
9595
9596
9597 elif LA89 == 59:
9598 LA89_102 = self.input.LA(3)
9599
9600 if (self.synpred181()) :
9601 alt89 = 1
9602
9603
9604 elif LA89 == 60:
9605 LA89_103 = self.input.LA(3)
9606
9607 if (self.synpred181()) :
9608 alt89 = 1
9609
9610
9611 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9612 LA89_104 = self.input.LA(3)
9613
9614 if (self.synpred181()) :
9615 alt89 = 1
9616
9617
9618 elif LA89 == 62:
9619 LA89_105 = self.input.LA(3)
9620
9621 if (self.synpred181()) :
9622 alt89 = 1
9623
9624
9625
9626 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9627 LA89 = self.input.LA(2)
9628 if LA89 == 66:
9629 LA89_106 = self.input.LA(3)
9630
9631 if (self.synpred181()) :
9632 alt89 = 1
9633
9634
9635 elif LA89 == 58:
9636 LA89_107 = self.input.LA(3)
9637
9638 if (self.synpred181()) :
9639 alt89 = 1
9640
9641
9642 elif LA89 == 59:
9643 LA89_108 = self.input.LA(3)
9644
9645 if (self.synpred181()) :
9646 alt89 = 1
9647
9648
9649 elif LA89 == 60:
9650 LA89_109 = self.input.LA(3)
9651
9652 if (self.synpred181()) :
9653 alt89 = 1
9654
9655
9656 elif LA89 == IDENTIFIER:
9657 LA89_110 = self.input.LA(3)
9658
9659 if (self.synpred181()) :
9660 alt89 = 1
9661
9662
9663 elif LA89 == 62:
9664 LA89_111 = self.input.LA(3)
9665
9666 if (self.synpred181()) :
9667 alt89 = 1
9668
9669
9670 elif LA89 == 25:
9671 LA89_112 = self.input.LA(3)
9672
9673 if (self.synpred181()) :
9674 alt89 = 1
9675
9676
9677 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9678 LA89_113 = self.input.LA(3)
9679
9680 if (self.synpred181()) :
9681 alt89 = 1
9682
9683
9684 elif LA89 == 34:
9685 LA89_114 = self.input.LA(3)
9686
9687 if (self.synpred181()) :
9688 alt89 = 1
9689
9690
9691 elif LA89 == 35:
9692 LA89_115 = self.input.LA(3)
9693
9694 if (self.synpred181()) :
9695 alt89 = 1
9696
9697
9698 elif LA89 == 36:
9699 LA89_116 = self.input.LA(3)
9700
9701 if (self.synpred181()) :
9702 alt89 = 1
9703
9704
9705 elif LA89 == 37:
9706 LA89_117 = self.input.LA(3)
9707
9708 if (self.synpred181()) :
9709 alt89 = 1
9710
9711
9712 elif LA89 == 38:
9713 LA89_118 = self.input.LA(3)
9714
9715 if (self.synpred181()) :
9716 alt89 = 1
9717
9718
9719 elif LA89 == 39:
9720 LA89_119 = self.input.LA(3)
9721
9722 if (self.synpred181()) :
9723 alt89 = 1
9724
9725
9726 elif LA89 == 40:
9727 LA89_120 = self.input.LA(3)
9728
9729 if (self.synpred181()) :
9730 alt89 = 1
9731
9732
9733 elif LA89 == 41:
9734 LA89_121 = self.input.LA(3)
9735
9736 if (self.synpred181()) :
9737 alt89 = 1
9738
9739
9740 elif LA89 == 42:
9741 LA89_122 = self.input.LA(3)
9742
9743 if (self.synpred181()) :
9744 alt89 = 1
9745
9746
9747 elif LA89 == 45 or LA89 == 46:
9748 LA89_123 = self.input.LA(3)
9749
9750 if (self.synpred181()) :
9751 alt89 = 1
9752
9753
9754 elif LA89 == 48:
9755 LA89_124 = self.input.LA(3)
9756
9757 if (self.synpred181()) :
9758 alt89 = 1
9759
9760
9761 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9762 LA89_125 = self.input.LA(3)
9763
9764 if (self.synpred181()) :
9765 alt89 = 1
9766
9767
9768
9769 elif LA89 == 34:
9770 LA89 = self.input.LA(2)
9771 if LA89 == 66:
9772 LA89_126 = self.input.LA(3)
9773
9774 if (self.synpred181()) :
9775 alt89 = 1
9776
9777
9778 elif LA89 == 58:
9779 LA89_127 = self.input.LA(3)
9780
9781 if (self.synpred181()) :
9782 alt89 = 1
9783
9784
9785 elif LA89 == 59:
9786 LA89_128 = self.input.LA(3)
9787
9788 if (self.synpred181()) :
9789 alt89 = 1
9790
9791
9792 elif LA89 == 60:
9793 LA89_129 = self.input.LA(3)
9794
9795 if (self.synpred181()) :
9796 alt89 = 1
9797
9798
9799 elif LA89 == IDENTIFIER:
9800 LA89_130 = self.input.LA(3)
9801
9802 if (self.synpred181()) :
9803 alt89 = 1
9804
9805
9806 elif LA89 == 62:
9807 LA89_131 = self.input.LA(3)
9808
9809 if (self.synpred181()) :
9810 alt89 = 1
9811
9812
9813 elif LA89 == 25:
9814 LA89_132 = self.input.LA(3)
9815
9816 if (self.synpred181()) :
9817 alt89 = 1
9818
9819
9820 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9821 LA89_133 = self.input.LA(3)
9822
9823 if (self.synpred181()) :
9824 alt89 = 1
9825
9826
9827 elif LA89 == 34:
9828 LA89_134 = self.input.LA(3)
9829
9830 if (self.synpred181()) :
9831 alt89 = 1
9832
9833
9834 elif LA89 == 35:
9835 LA89_135 = self.input.LA(3)
9836
9837 if (self.synpred181()) :
9838 alt89 = 1
9839
9840
9841 elif LA89 == 36:
9842 LA89_136 = self.input.LA(3)
9843
9844 if (self.synpred181()) :
9845 alt89 = 1
9846
9847
9848 elif LA89 == 37:
9849 LA89_137 = self.input.LA(3)
9850
9851 if (self.synpred181()) :
9852 alt89 = 1
9853
9854
9855 elif LA89 == 38:
9856 LA89_138 = self.input.LA(3)
9857
9858 if (self.synpred181()) :
9859 alt89 = 1
9860
9861
9862 elif LA89 == 39:
9863 LA89_139 = self.input.LA(3)
9864
9865 if (self.synpred181()) :
9866 alt89 = 1
9867
9868
9869 elif LA89 == 40:
9870 LA89_140 = self.input.LA(3)
9871
9872 if (self.synpred181()) :
9873 alt89 = 1
9874
9875
9876 elif LA89 == 41:
9877 LA89_141 = self.input.LA(3)
9878
9879 if (self.synpred181()) :
9880 alt89 = 1
9881
9882
9883 elif LA89 == 42:
9884 LA89_142 = self.input.LA(3)
9885
9886 if (self.synpred181()) :
9887 alt89 = 1
9888
9889
9890 elif LA89 == 45 or LA89 == 46:
9891 LA89_143 = self.input.LA(3)
9892
9893 if (self.synpred181()) :
9894 alt89 = 1
9895
9896
9897 elif LA89 == 48:
9898 LA89_144 = self.input.LA(3)
9899
9900 if (self.synpred181()) :
9901 alt89 = 1
9902
9903
9904 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
9905 LA89_145 = self.input.LA(3)
9906
9907 if (self.synpred181()) :
9908 alt89 = 1
9909
9910
9911
9912 elif LA89 == 35:
9913 LA89 = self.input.LA(2)
9914 if LA89 == 66:
9915 LA89_146 = self.input.LA(3)
9916
9917 if (self.synpred181()) :
9918 alt89 = 1
9919
9920
9921 elif LA89 == 58:
9922 LA89_147 = self.input.LA(3)
9923
9924 if (self.synpred181()) :
9925 alt89 = 1
9926
9927
9928 elif LA89 == 59:
9929 LA89_148 = self.input.LA(3)
9930
9931 if (self.synpred181()) :
9932 alt89 = 1
9933
9934
9935 elif LA89 == 60:
9936 LA89_149 = self.input.LA(3)
9937
9938 if (self.synpred181()) :
9939 alt89 = 1
9940
9941
9942 elif LA89 == IDENTIFIER:
9943 LA89_150 = self.input.LA(3)
9944
9945 if (self.synpred181()) :
9946 alt89 = 1
9947
9948
9949 elif LA89 == 62:
9950 LA89_151 = self.input.LA(3)
9951
9952 if (self.synpred181()) :
9953 alt89 = 1
9954
9955
9956 elif LA89 == 25:
9957 LA89_152 = self.input.LA(3)
9958
9959 if (self.synpred181()) :
9960 alt89 = 1
9961
9962
9963 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9964 LA89_153 = self.input.LA(3)
9965
9966 if (self.synpred181()) :
9967 alt89 = 1
9968
9969
9970 elif LA89 == 34:
9971 LA89_154 = self.input.LA(3)
9972
9973 if (self.synpred181()) :
9974 alt89 = 1
9975
9976
9977 elif LA89 == 35:
9978 LA89_155 = self.input.LA(3)
9979
9980 if (self.synpred181()) :
9981 alt89 = 1
9982
9983
9984 elif LA89 == 36:
9985 LA89_156 = self.input.LA(3)
9986
9987 if (self.synpred181()) :
9988 alt89 = 1
9989
9990
9991 elif LA89 == 37:
9992 LA89_157 = self.input.LA(3)
9993
9994 if (self.synpred181()) :
9995 alt89 = 1
9996
9997
9998 elif LA89 == 38:
9999 LA89_158 = self.input.LA(3)
10000
10001 if (self.synpred181()) :
10002 alt89 = 1
10003
10004
10005 elif LA89 == 39:
10006 LA89_159 = self.input.LA(3)
10007
10008 if (self.synpred181()) :
10009 alt89 = 1
10010
10011
10012 elif LA89 == 40:
10013 LA89_160 = self.input.LA(3)
10014
10015 if (self.synpred181()) :
10016 alt89 = 1
10017
10018
10019 elif LA89 == 41:
10020 LA89_161 = self.input.LA(3)
10021
10022 if (self.synpred181()) :
10023 alt89 = 1
10024
10025
10026 elif LA89 == 42:
10027 LA89_162 = self.input.LA(3)
10028
10029 if (self.synpred181()) :
10030 alt89 = 1
10031
10032
10033 elif LA89 == 45 or LA89 == 46:
10034 LA89_163 = self.input.LA(3)
10035
10036 if (self.synpred181()) :
10037 alt89 = 1
10038
10039
10040 elif LA89 == 48:
10041 LA89_164 = self.input.LA(3)
10042
10043 if (self.synpred181()) :
10044 alt89 = 1
10045
10046
10047 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10048 LA89_165 = self.input.LA(3)
10049
10050 if (self.synpred181()) :
10051 alt89 = 1
10052
10053
10054
10055 elif LA89 == 36:
10056 LA89 = self.input.LA(2)
10057 if LA89 == 66:
10058 LA89_166 = self.input.LA(3)
10059
10060 if (self.synpred181()) :
10061 alt89 = 1
10062
10063
10064 elif LA89 == 58:
10065 LA89_167 = self.input.LA(3)
10066
10067 if (self.synpred181()) :
10068 alt89 = 1
10069
10070
10071 elif LA89 == 59:
10072 LA89_168 = self.input.LA(3)
10073
10074 if (self.synpred181()) :
10075 alt89 = 1
10076
10077
10078 elif LA89 == 60:
10079 LA89_169 = self.input.LA(3)
10080
10081 if (self.synpred181()) :
10082 alt89 = 1
10083
10084
10085 elif LA89 == IDENTIFIER:
10086 LA89_170 = self.input.LA(3)
10087
10088 if (self.synpred181()) :
10089 alt89 = 1
10090
10091
10092 elif LA89 == 62:
10093 LA89_171 = self.input.LA(3)
10094
10095 if (self.synpred181()) :
10096 alt89 = 1
10097
10098
10099 elif LA89 == 25:
10100 LA89_172 = self.input.LA(3)
10101
10102 if (self.synpred181()) :
10103 alt89 = 1
10104
10105
10106 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10107 LA89_173 = self.input.LA(3)
10108
10109 if (self.synpred181()) :
10110 alt89 = 1
10111
10112
10113 elif LA89 == 34:
10114 LA89_174 = self.input.LA(3)
10115
10116 if (self.synpred181()) :
10117 alt89 = 1
10118
10119
10120 elif LA89 == 35:
10121 LA89_175 = self.input.LA(3)
10122
10123 if (self.synpred181()) :
10124 alt89 = 1
10125
10126
10127 elif LA89 == 36:
10128 LA89_176 = self.input.LA(3)
10129
10130 if (self.synpred181()) :
10131 alt89 = 1
10132
10133
10134 elif LA89 == 37:
10135 LA89_177 = self.input.LA(3)
10136
10137 if (self.synpred181()) :
10138 alt89 = 1
10139
10140
10141 elif LA89 == 38:
10142 LA89_178 = self.input.LA(3)
10143
10144 if (self.synpred181()) :
10145 alt89 = 1
10146
10147
10148 elif LA89 == 39:
10149 LA89_179 = self.input.LA(3)
10150
10151 if (self.synpred181()) :
10152 alt89 = 1
10153
10154
10155 elif LA89 == 40:
10156 LA89_180 = self.input.LA(3)
10157
10158 if (self.synpred181()) :
10159 alt89 = 1
10160
10161
10162 elif LA89 == 41:
10163 LA89_181 = self.input.LA(3)
10164
10165 if (self.synpred181()) :
10166 alt89 = 1
10167
10168
10169 elif LA89 == 42:
10170 LA89_182 = self.input.LA(3)
10171
10172 if (self.synpred181()) :
10173 alt89 = 1
10174
10175
10176 elif LA89 == 45 or LA89 == 46:
10177 LA89_183 = self.input.LA(3)
10178
10179 if (self.synpred181()) :
10180 alt89 = 1
10181
10182
10183 elif LA89 == 48:
10184 LA89_184 = self.input.LA(3)
10185
10186 if (self.synpred181()) :
10187 alt89 = 1
10188
10189
10190 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10191 LA89_185 = self.input.LA(3)
10192
10193 if (self.synpred181()) :
10194 alt89 = 1
10195
10196
10197
10198 elif LA89 == 37:
10199 LA89 = self.input.LA(2)
10200 if LA89 == 66:
10201 LA89_186 = self.input.LA(3)
10202
10203 if (self.synpred181()) :
10204 alt89 = 1
10205
10206
10207 elif LA89 == 58:
10208 LA89_187 = self.input.LA(3)
10209
10210 if (self.synpred181()) :
10211 alt89 = 1
10212
10213
10214 elif LA89 == 59:
10215 LA89_188 = self.input.LA(3)
10216
10217 if (self.synpred181()) :
10218 alt89 = 1
10219
10220
10221 elif LA89 == 60:
10222 LA89_189 = self.input.LA(3)
10223
10224 if (self.synpred181()) :
10225 alt89 = 1
10226
10227
10228 elif LA89 == IDENTIFIER:
10229 LA89_190 = self.input.LA(3)
10230
10231 if (self.synpred181()) :
10232 alt89 = 1
10233
10234
10235 elif LA89 == 62:
10236 LA89_191 = self.input.LA(3)
10237
10238 if (self.synpred181()) :
10239 alt89 = 1
10240
10241
10242 elif LA89 == 25:
10243 LA89_192 = self.input.LA(3)
10244
10245 if (self.synpred181()) :
10246 alt89 = 1
10247
10248
10249 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10250 LA89_193 = self.input.LA(3)
10251
10252 if (self.synpred181()) :
10253 alt89 = 1
10254
10255
10256 elif LA89 == 34:
10257 LA89_194 = self.input.LA(3)
10258
10259 if (self.synpred181()) :
10260 alt89 = 1
10261
10262
10263 elif LA89 == 35:
10264 LA89_195 = self.input.LA(3)
10265
10266 if (self.synpred181()) :
10267 alt89 = 1
10268
10269
10270 elif LA89 == 36:
10271 LA89_196 = self.input.LA(3)
10272
10273 if (self.synpred181()) :
10274 alt89 = 1
10275
10276
10277 elif LA89 == 37:
10278 LA89_197 = self.input.LA(3)
10279
10280 if (self.synpred181()) :
10281 alt89 = 1
10282
10283
10284 elif LA89 == 38:
10285 LA89_198 = self.input.LA(3)
10286
10287 if (self.synpred181()) :
10288 alt89 = 1
10289
10290
10291 elif LA89 == 39:
10292 LA89_199 = self.input.LA(3)
10293
10294 if (self.synpred181()) :
10295 alt89 = 1
10296
10297
10298 elif LA89 == 40:
10299 LA89_200 = self.input.LA(3)
10300
10301 if (self.synpred181()) :
10302 alt89 = 1
10303
10304
10305 elif LA89 == 41:
10306 LA89_201 = self.input.LA(3)
10307
10308 if (self.synpred181()) :
10309 alt89 = 1
10310
10311
10312 elif LA89 == 42:
10313 LA89_202 = self.input.LA(3)
10314
10315 if (self.synpred181()) :
10316 alt89 = 1
10317
10318
10319 elif LA89 == 45 or LA89 == 46:
10320 LA89_203 = self.input.LA(3)
10321
10322 if (self.synpred181()) :
10323 alt89 = 1
10324
10325
10326 elif LA89 == 48:
10327 LA89_204 = self.input.LA(3)
10328
10329 if (self.synpred181()) :
10330 alt89 = 1
10331
10332
10333 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10334 LA89_205 = self.input.LA(3)
10335
10336 if (self.synpred181()) :
10337 alt89 = 1
10338
10339
10340
10341 elif LA89 == 38:
10342 LA89 = self.input.LA(2)
10343 if LA89 == 66:
10344 LA89_206 = self.input.LA(3)
10345
10346 if (self.synpred181()) :
10347 alt89 = 1
10348
10349
10350 elif LA89 == 58:
10351 LA89_207 = self.input.LA(3)
10352
10353 if (self.synpred181()) :
10354 alt89 = 1
10355
10356
10357 elif LA89 == 59:
10358 LA89_208 = self.input.LA(3)
10359
10360 if (self.synpred181()) :
10361 alt89 = 1
10362
10363
10364 elif LA89 == 60:
10365 LA89_209 = self.input.LA(3)
10366
10367 if (self.synpred181()) :
10368 alt89 = 1
10369
10370
10371 elif LA89 == IDENTIFIER:
10372 LA89_210 = self.input.LA(3)
10373
10374 if (self.synpred181()) :
10375 alt89 = 1
10376
10377
10378 elif LA89 == 62:
10379 LA89_211 = self.input.LA(3)
10380
10381 if (self.synpred181()) :
10382 alt89 = 1
10383
10384
10385 elif LA89 == 25:
10386 LA89_212 = self.input.LA(3)
10387
10388 if (self.synpred181()) :
10389 alt89 = 1
10390
10391
10392 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10393 LA89_213 = self.input.LA(3)
10394
10395 if (self.synpred181()) :
10396 alt89 = 1
10397
10398
10399 elif LA89 == 34:
10400 LA89_214 = self.input.LA(3)
10401
10402 if (self.synpred181()) :
10403 alt89 = 1
10404
10405
10406 elif LA89 == 35:
10407 LA89_215 = self.input.LA(3)
10408
10409 if (self.synpred181()) :
10410 alt89 = 1
10411
10412
10413 elif LA89 == 36:
10414 LA89_216 = self.input.LA(3)
10415
10416 if (self.synpred181()) :
10417 alt89 = 1
10418
10419
10420 elif LA89 == 37:
10421 LA89_217 = self.input.LA(3)
10422
10423 if (self.synpred181()) :
10424 alt89 = 1
10425
10426
10427 elif LA89 == 38:
10428 LA89_218 = self.input.LA(3)
10429
10430 if (self.synpred181()) :
10431 alt89 = 1
10432
10433
10434 elif LA89 == 39:
10435 LA89_219 = self.input.LA(3)
10436
10437 if (self.synpred181()) :
10438 alt89 = 1
10439
10440
10441 elif LA89 == 40:
10442 LA89_220 = self.input.LA(3)
10443
10444 if (self.synpred181()) :
10445 alt89 = 1
10446
10447
10448 elif LA89 == 41:
10449 LA89_221 = self.input.LA(3)
10450
10451 if (self.synpred181()) :
10452 alt89 = 1
10453
10454
10455 elif LA89 == 42:
10456 LA89_222 = self.input.LA(3)
10457
10458 if (self.synpred181()) :
10459 alt89 = 1
10460
10461
10462 elif LA89 == 45 or LA89 == 46:
10463 LA89_223 = self.input.LA(3)
10464
10465 if (self.synpred181()) :
10466 alt89 = 1
10467
10468
10469 elif LA89 == 48:
10470 LA89_224 = self.input.LA(3)
10471
10472 if (self.synpred181()) :
10473 alt89 = 1
10474
10475
10476 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10477 LA89_225 = self.input.LA(3)
10478
10479 if (self.synpred181()) :
10480 alt89 = 1
10481
10482
10483
10484 elif LA89 == 39:
10485 LA89 = self.input.LA(2)
10486 if LA89 == 66:
10487 LA89_226 = self.input.LA(3)
10488
10489 if (self.synpred181()) :
10490 alt89 = 1
10491
10492
10493 elif LA89 == 58:
10494 LA89_227 = self.input.LA(3)
10495
10496 if (self.synpred181()) :
10497 alt89 = 1
10498
10499
10500 elif LA89 == 59:
10501 LA89_228 = self.input.LA(3)
10502
10503 if (self.synpred181()) :
10504 alt89 = 1
10505
10506
10507 elif LA89 == 60:
10508 LA89_229 = self.input.LA(3)
10509
10510 if (self.synpred181()) :
10511 alt89 = 1
10512
10513
10514 elif LA89 == IDENTIFIER:
10515 LA89_230 = self.input.LA(3)
10516
10517 if (self.synpred181()) :
10518 alt89 = 1
10519
10520
10521 elif LA89 == 62:
10522 LA89_231 = self.input.LA(3)
10523
10524 if (self.synpred181()) :
10525 alt89 = 1
10526
10527
10528 elif LA89 == 25:
10529 LA89_232 = self.input.LA(3)
10530
10531 if (self.synpred181()) :
10532 alt89 = 1
10533
10534
10535 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10536 LA89_233 = self.input.LA(3)
10537
10538 if (self.synpred181()) :
10539 alt89 = 1
10540
10541
10542 elif LA89 == 34:
10543 LA89_234 = self.input.LA(3)
10544
10545 if (self.synpred181()) :
10546 alt89 = 1
10547
10548
10549 elif LA89 == 35:
10550 LA89_235 = self.input.LA(3)
10551
10552 if (self.synpred181()) :
10553 alt89 = 1
10554
10555
10556 elif LA89 == 36:
10557 LA89_236 = self.input.LA(3)
10558
10559 if (self.synpred181()) :
10560 alt89 = 1
10561
10562
10563 elif LA89 == 37:
10564 LA89_237 = self.input.LA(3)
10565
10566 if (self.synpred181()) :
10567 alt89 = 1
10568
10569
10570 elif LA89 == 38:
10571 LA89_238 = self.input.LA(3)
10572
10573 if (self.synpred181()) :
10574 alt89 = 1
10575
10576
10577 elif LA89 == 39:
10578 LA89_239 = self.input.LA(3)
10579
10580 if (self.synpred181()) :
10581 alt89 = 1
10582
10583
10584 elif LA89 == 40:
10585 LA89_240 = self.input.LA(3)
10586
10587 if (self.synpred181()) :
10588 alt89 = 1
10589
10590
10591 elif LA89 == 41:
10592 LA89_241 = self.input.LA(3)
10593
10594 if (self.synpred181()) :
10595 alt89 = 1
10596
10597
10598 elif LA89 == 42:
10599 LA89_242 = self.input.LA(3)
10600
10601 if (self.synpred181()) :
10602 alt89 = 1
10603
10604
10605 elif LA89 == 45 or LA89 == 46:
10606 LA89_243 = self.input.LA(3)
10607
10608 if (self.synpred181()) :
10609 alt89 = 1
10610
10611
10612 elif LA89 == 48:
10613 LA89_244 = self.input.LA(3)
10614
10615 if (self.synpred181()) :
10616 alt89 = 1
10617
10618
10619 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10620 LA89_245 = self.input.LA(3)
10621
10622 if (self.synpred181()) :
10623 alt89 = 1
10624
10625
10626
10627 elif LA89 == 40:
10628 LA89 = self.input.LA(2)
10629 if LA89 == 66:
10630 LA89_246 = self.input.LA(3)
10631
10632 if (self.synpred181()) :
10633 alt89 = 1
10634
10635
10636 elif LA89 == 58:
10637 LA89_247 = self.input.LA(3)
10638
10639 if (self.synpred181()) :
10640 alt89 = 1
10641
10642
10643 elif LA89 == 59:
10644 LA89_248 = self.input.LA(3)
10645
10646 if (self.synpred181()) :
10647 alt89 = 1
10648
10649
10650 elif LA89 == 60:
10651 LA89_249 = self.input.LA(3)
10652
10653 if (self.synpred181()) :
10654 alt89 = 1
10655
10656
10657 elif LA89 == IDENTIFIER:
10658 LA89_250 = self.input.LA(3)
10659
10660 if (self.synpred181()) :
10661 alt89 = 1
10662
10663
10664 elif LA89 == 62:
10665 LA89_251 = self.input.LA(3)
10666
10667 if (self.synpred181()) :
10668 alt89 = 1
10669
10670
10671 elif LA89 == 25:
10672 LA89_252 = self.input.LA(3)
10673
10674 if (self.synpred181()) :
10675 alt89 = 1
10676
10677
10678 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10679 LA89_253 = self.input.LA(3)
10680
10681 if (self.synpred181()) :
10682 alt89 = 1
10683
10684
10685 elif LA89 == 34:
10686 LA89_254 = self.input.LA(3)
10687
10688 if (self.synpred181()) :
10689 alt89 = 1
10690
10691
10692 elif LA89 == 35:
10693 LA89_255 = self.input.LA(3)
10694
10695 if (self.synpred181()) :
10696 alt89 = 1
10697
10698
10699 elif LA89 == 36:
10700 LA89_256 = self.input.LA(3)
10701
10702 if (self.synpred181()) :
10703 alt89 = 1
10704
10705
10706 elif LA89 == 37:
10707 LA89_257 = self.input.LA(3)
10708
10709 if (self.synpred181()) :
10710 alt89 = 1
10711
10712
10713 elif LA89 == 38:
10714 LA89_258 = self.input.LA(3)
10715
10716 if (self.synpred181()) :
10717 alt89 = 1
10718
10719
10720 elif LA89 == 39:
10721 LA89_259 = self.input.LA(3)
10722
10723 if (self.synpred181()) :
10724 alt89 = 1
10725
10726
10727 elif LA89 == 40:
10728 LA89_260 = self.input.LA(3)
10729
10730 if (self.synpred181()) :
10731 alt89 = 1
10732
10733
10734 elif LA89 == 41:
10735 LA89_261 = self.input.LA(3)
10736
10737 if (self.synpred181()) :
10738 alt89 = 1
10739
10740
10741 elif LA89 == 42:
10742 LA89_262 = self.input.LA(3)
10743
10744 if (self.synpred181()) :
10745 alt89 = 1
10746
10747
10748 elif LA89 == 45 or LA89 == 46:
10749 LA89_263 = self.input.LA(3)
10750
10751 if (self.synpred181()) :
10752 alt89 = 1
10753
10754
10755 elif LA89 == 48:
10756 LA89_264 = self.input.LA(3)
10757
10758 if (self.synpred181()) :
10759 alt89 = 1
10760
10761
10762 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10763 LA89_265 = self.input.LA(3)
10764
10765 if (self.synpred181()) :
10766 alt89 = 1
10767
10768
10769
10770 elif LA89 == 41:
10771 LA89 = self.input.LA(2)
10772 if LA89 == 66:
10773 LA89_266 = self.input.LA(3)
10774
10775 if (self.synpred181()) :
10776 alt89 = 1
10777
10778
10779 elif LA89 == 58:
10780 LA89_267 = self.input.LA(3)
10781
10782 if (self.synpred181()) :
10783 alt89 = 1
10784
10785
10786 elif LA89 == 59:
10787 LA89_268 = self.input.LA(3)
10788
10789 if (self.synpred181()) :
10790 alt89 = 1
10791
10792
10793 elif LA89 == 60:
10794 LA89_269 = self.input.LA(3)
10795
10796 if (self.synpred181()) :
10797 alt89 = 1
10798
10799
10800 elif LA89 == IDENTIFIER:
10801 LA89_270 = self.input.LA(3)
10802
10803 if (self.synpred181()) :
10804 alt89 = 1
10805
10806
10807 elif LA89 == 62:
10808 LA89_271 = self.input.LA(3)
10809
10810 if (self.synpred181()) :
10811 alt89 = 1
10812
10813
10814 elif LA89 == 25:
10815 LA89_272 = self.input.LA(3)
10816
10817 if (self.synpred181()) :
10818 alt89 = 1
10819
10820
10821 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10822 LA89_273 = self.input.LA(3)
10823
10824 if (self.synpred181()) :
10825 alt89 = 1
10826
10827
10828 elif LA89 == 34:
10829 LA89_274 = self.input.LA(3)
10830
10831 if (self.synpred181()) :
10832 alt89 = 1
10833
10834
10835 elif LA89 == 35:
10836 LA89_275 = self.input.LA(3)
10837
10838 if (self.synpred181()) :
10839 alt89 = 1
10840
10841
10842 elif LA89 == 36:
10843 LA89_276 = self.input.LA(3)
10844
10845 if (self.synpred181()) :
10846 alt89 = 1
10847
10848
10849 elif LA89 == 37:
10850 LA89_277 = self.input.LA(3)
10851
10852 if (self.synpred181()) :
10853 alt89 = 1
10854
10855
10856 elif LA89 == 38:
10857 LA89_278 = self.input.LA(3)
10858
10859 if (self.synpred181()) :
10860 alt89 = 1
10861
10862
10863 elif LA89 == 39:
10864 LA89_279 = self.input.LA(3)
10865
10866 if (self.synpred181()) :
10867 alt89 = 1
10868
10869
10870 elif LA89 == 40:
10871 LA89_280 = self.input.LA(3)
10872
10873 if (self.synpred181()) :
10874 alt89 = 1
10875
10876
10877 elif LA89 == 41:
10878 LA89_281 = self.input.LA(3)
10879
10880 if (self.synpred181()) :
10881 alt89 = 1
10882
10883
10884 elif LA89 == 42:
10885 LA89_282 = self.input.LA(3)
10886
10887 if (self.synpred181()) :
10888 alt89 = 1
10889
10890
10891 elif LA89 == 45 or LA89 == 46:
10892 LA89_283 = self.input.LA(3)
10893
10894 if (self.synpred181()) :
10895 alt89 = 1
10896
10897
10898 elif LA89 == 48:
10899 LA89_284 = self.input.LA(3)
10900
10901 if (self.synpred181()) :
10902 alt89 = 1
10903
10904
10905 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
10906 LA89_285 = self.input.LA(3)
10907
10908 if (self.synpred181()) :
10909 alt89 = 1
10910
10911
10912
10913 elif LA89 == 42:
10914 LA89 = self.input.LA(2)
10915 if LA89 == 66:
10916 LA89_286 = self.input.LA(3)
10917
10918 if (self.synpred181()) :
10919 alt89 = 1
10920
10921
10922 elif LA89 == 58:
10923 LA89_287 = self.input.LA(3)
10924
10925 if (self.synpred181()) :
10926 alt89 = 1
10927
10928
10929 elif LA89 == 59:
10930 LA89_288 = self.input.LA(3)
10931
10932 if (self.synpred181()) :
10933 alt89 = 1
10934
10935
10936 elif LA89 == 60:
10937 LA89_289 = self.input.LA(3)
10938
10939 if (self.synpred181()) :
10940 alt89 = 1
10941
10942
10943 elif LA89 == IDENTIFIER:
10944 LA89_290 = self.input.LA(3)
10945
10946 if (self.synpred181()) :
10947 alt89 = 1
10948
10949
10950 elif LA89 == 62:
10951 LA89_291 = self.input.LA(3)
10952
10953 if (self.synpred181()) :
10954 alt89 = 1
10955
10956
10957 elif LA89 == 25:
10958 LA89_292 = self.input.LA(3)
10959
10960 if (self.synpred181()) :
10961 alt89 = 1
10962
10963
10964 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10965 LA89_293 = self.input.LA(3)
10966
10967 if (self.synpred181()) :
10968 alt89 = 1
10969
10970
10971 elif LA89 == 34:
10972 LA89_294 = self.input.LA(3)
10973
10974 if (self.synpred181()) :
10975 alt89 = 1
10976
10977
10978 elif LA89 == 35:
10979 LA89_295 = self.input.LA(3)
10980
10981 if (self.synpred181()) :
10982 alt89 = 1
10983
10984
10985 elif LA89 == 36:
10986 LA89_296 = self.input.LA(3)
10987
10988 if (self.synpred181()) :
10989 alt89 = 1
10990
10991
10992 elif LA89 == 37:
10993 LA89_297 = self.input.LA(3)
10994
10995 if (self.synpred181()) :
10996 alt89 = 1
10997
10998
10999 elif LA89 == 38:
11000 LA89_298 = self.input.LA(3)
11001
11002 if (self.synpred181()) :
11003 alt89 = 1
11004
11005
11006 elif LA89 == 39:
11007 LA89_299 = self.input.LA(3)
11008
11009 if (self.synpred181()) :
11010 alt89 = 1
11011
11012
11013 elif LA89 == 40:
11014 LA89_300 = self.input.LA(3)
11015
11016 if (self.synpred181()) :
11017 alt89 = 1
11018
11019
11020 elif LA89 == 41:
11021 LA89_301 = self.input.LA(3)
11022
11023 if (self.synpred181()) :
11024 alt89 = 1
11025
11026
11027 elif LA89 == 42:
11028 LA89_302 = self.input.LA(3)
11029
11030 if (self.synpred181()) :
11031 alt89 = 1
11032
11033
11034 elif LA89 == 45 or LA89 == 46:
11035 LA89_303 = self.input.LA(3)
11036
11037 if (self.synpred181()) :
11038 alt89 = 1
11039
11040
11041 elif LA89 == 48:
11042 LA89_304 = self.input.LA(3)
11043
11044 if (self.synpred181()) :
11045 alt89 = 1
11046
11047
11048 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
11049 LA89_305 = self.input.LA(3)
11050
11051 if (self.synpred181()) :
11052 alt89 = 1
11053
11054
11055
11056 elif LA89 == 45 or LA89 == 46:
11057 LA89_40 = self.input.LA(2)
11058
11059 if (LA89_40 == IDENTIFIER) :
11060 LA89_306 = self.input.LA(3)
11061
11062 if (self.synpred181()) :
11063 alt89 = 1
11064
11065
11066 elif (LA89_40 == 43) :
11067 LA89_307 = self.input.LA(3)
11068
11069 if (self.synpred181()) :
11070 alt89 = 1
11071
11072
11073
11074
11075 elif LA89 == 48:
11076 LA89_41 = self.input.LA(2)
11077
11078 if (LA89_41 == 43) :
11079 LA89_308 = self.input.LA(3)
11080
11081 if (self.synpred181()) :
11082 alt89 = 1
11083
11084
11085 elif (LA89_41 == IDENTIFIER) :
11086 LA89_309 = self.input.LA(3)
11087
11088 if (self.synpred181()) :
11089 alt89 = 1
11090
11091
11092
11093
11094 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 58 or LA89 == 59 or LA89 == 60 or LA89 == 61:
11095 LA89 = self.input.LA(2)
11096 if LA89 == 66:
11097 LA89_310 = self.input.LA(3)
11098
11099 if (self.synpred181()) :
11100 alt89 = 1
11101
11102
11103 elif LA89 == 58:
11104 LA89_311 = self.input.LA(3)
11105
11106 if (self.synpred181()) :
11107 alt89 = 1
11108
11109
11110 elif LA89 == 59:
11111 LA89_312 = self.input.LA(3)
11112
11113 if (self.synpred181()) :
11114 alt89 = 1
11115
11116
11117 elif LA89 == 60:
11118 LA89_313 = self.input.LA(3)
11119
11120 if (self.synpred181()) :
11121 alt89 = 1
11122
11123
11124 elif LA89 == IDENTIFIER:
11125 LA89_314 = self.input.LA(3)
11126
11127 if (self.synpred181()) :
11128 alt89 = 1
11129
11130
11131 elif LA89 == 62:
11132 LA89_315 = self.input.LA(3)
11133
11134 if (self.synpred181()) :
11135 alt89 = 1
11136
11137
11138 elif LA89 == 25:
11139 LA89_316 = self.input.LA(3)
11140
11141 if (self.synpred181()) :
11142 alt89 = 1
11143
11144
11145 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
11146 LA89_317 = self.input.LA(3)
11147
11148 if (self.synpred181()) :
11149 alt89 = 1
11150
11151
11152 elif LA89 == 34:
11153 LA89_318 = self.input.LA(3)
11154
11155 if (self.synpred181()) :
11156 alt89 = 1
11157
11158
11159 elif LA89 == 35:
11160 LA89_319 = self.input.LA(3)
11161
11162 if (self.synpred181()) :
11163 alt89 = 1
11164
11165
11166 elif LA89 == 36:
11167 LA89_320 = self.input.LA(3)
11168
11169 if (self.synpred181()) :
11170 alt89 = 1
11171
11172
11173 elif LA89 == 37:
11174 LA89_321 = self.input.LA(3)
11175
11176 if (self.synpred181()) :
11177 alt89 = 1
11178
11179
11180 elif LA89 == 38:
11181 LA89_322 = self.input.LA(3)
11182
11183 if (self.synpred181()) :
11184 alt89 = 1
11185
11186
11187 elif LA89 == 39:
11188 LA89_323 = self.input.LA(3)
11189
11190 if (self.synpred181()) :
11191 alt89 = 1
11192
11193
11194 elif LA89 == 40:
11195 LA89_324 = self.input.LA(3)
11196
11197 if (self.synpred181()) :
11198 alt89 = 1
11199
11200
11201 elif LA89 == 41:
11202 LA89_325 = self.input.LA(3)
11203
11204 if (self.synpred181()) :
11205 alt89 = 1
11206
11207
11208 elif LA89 == 42:
11209 LA89_326 = self.input.LA(3)
11210
11211 if (self.synpred181()) :
11212 alt89 = 1
11213
11214
11215 elif LA89 == 45 or LA89 == 46:
11216 LA89_327 = self.input.LA(3)
11217
11218 if (self.synpred181()) :
11219 alt89 = 1
11220
11221
11222 elif LA89 == 48:
11223 LA89_328 = self.input.LA(3)
11224
11225 if (self.synpred181()) :
11226 alt89 = 1
11227
11228
11229 elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
11230 LA89_329 = self.input.LA(3)
11231
11232 if (self.synpred181()) :
11233 alt89 = 1
11234
11235
11236
11237
11238 if alt89 == 1:
11239 # C.g:0:0: declaration
11240 self.following.append(self.FOLLOW_declaration_in_macro_statement2166)
11241 self.declaration()
11242 self.following.pop()
11243 if self.failed:
11244 return
11245
11246
11247 else:
11248 break #loop89
11249
11250
11251 # C.g:544:33: ( statement_list )?
11252 alt90 = 2
11253 LA90 = self.input.LA(1)
11254 if LA90 == IDENTIFIER:
11255 LA90 = self.input.LA(2)
11256 if LA90 == 25 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 45 or LA90 == 46 or LA90 == 47 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
11257 alt90 = 1
11258 elif LA90 == 62:
11259 LA90_45 = self.input.LA(3)
11260
11261 if (self.synpred182()) :
11262 alt90 = 1
11263 elif LA90 == STRING_LITERAL:
11264 LA90_46 = self.input.LA(3)
11265
11266 if (self.synpred182()) :
11267 alt90 = 1
11268 elif LA90 == IDENTIFIER:
11269 LA90_47 = self.input.LA(3)
11270
11271 if (self.synpred182()) :
11272 alt90 = 1
11273 elif LA90 == 64:
11274 LA90_48 = self.input.LA(3)
11275
11276 if (self.synpred182()) :
11277 alt90 = 1
11278 elif LA90 == 75:
11279 LA90_49 = self.input.LA(3)
11280
11281 if (self.synpred182()) :
11282 alt90 = 1
11283 elif LA90 == 66:
11284 LA90_50 = self.input.LA(3)
11285
11286 if (self.synpred182()) :
11287 alt90 = 1
11288 elif LA90 == 76:
11289 LA90_51 = self.input.LA(3)
11290
11291 if (self.synpred182()) :
11292 alt90 = 1
11293 elif LA90 == 72:
11294 LA90_52 = self.input.LA(3)
11295
11296 if (self.synpred182()) :
11297 alt90 = 1
11298 elif LA90 == 73:
11299 LA90_53 = self.input.LA(3)
11300
11301 if (self.synpred182()) :
11302 alt90 = 1
11303 elif LA90 == 70:
11304 LA90_54 = self.input.LA(3)
11305
11306 if (self.synpred182()) :
11307 alt90 = 1
11308 elif LA90 == 71:
11309 LA90_55 = self.input.LA(3)
11310
11311 if (self.synpred182()) :
11312 alt90 = 1
11313 elif LA90 == 68:
11314 LA90_56 = self.input.LA(3)
11315
11316 if (self.synpred182()) :
11317 alt90 = 1
11318 elif LA90 == 69:
11319 LA90_57 = self.input.LA(3)
11320
11321 if (self.synpred182()) :
11322 alt90 = 1
11323 elif LA90 == 101 or LA90 == 102:
11324 LA90_58 = self.input.LA(3)
11325
11326 if (self.synpred182()) :
11327 alt90 = 1
11328 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11329 LA90_59 = self.input.LA(3)
11330
11331 if (self.synpred182()) :
11332 alt90 = 1
11333 elif LA90 == 95 or LA90 == 96:
11334 LA90_60 = self.input.LA(3)
11335
11336 if (self.synpred182()) :
11337 alt90 = 1
11338 elif LA90 == 77:
11339 LA90_61 = self.input.LA(3)
11340
11341 if (self.synpred182()) :
11342 alt90 = 1
11343 elif LA90 == 94:
11344 LA90_62 = self.input.LA(3)
11345
11346 if (self.synpred182()) :
11347 alt90 = 1
11348 elif LA90 == 93:
11349 LA90_63 = self.input.LA(3)
11350
11351 if (self.synpred182()) :
11352 alt90 = 1
11353 elif LA90 == 92:
11354 LA90_64 = self.input.LA(3)
11355
11356 if (self.synpred182()) :
11357 alt90 = 1
11358 elif LA90 == 91:
11359 LA90_65 = self.input.LA(3)
11360
11361 if (self.synpred182()) :
11362 alt90 = 1
11363 elif LA90 == 90:
11364 LA90_66 = self.input.LA(3)
11365
11366 if (self.synpred182()) :
11367 alt90 = 1
11368 elif LA90 == 27:
11369 LA90_67 = self.input.LA(3)
11370
11371 if (self.synpred182()) :
11372 alt90 = 1
11373 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11374 LA90_70 = self.input.LA(3)
11375
11376 if (self.synpred182()) :
11377 alt90 = 1
11378 elif LA90 == 25 or LA90 == 26 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 43 or LA90 == 45 or LA90 == 46 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 108 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116 or LA90 == 117:
11379 alt90 = 1
11380 elif LA90 == HEX_LITERAL:
11381 LA90 = self.input.LA(2)
11382 if LA90 == 64:
11383 LA90_87 = self.input.LA(3)
11384
11385 if (self.synpred182()) :
11386 alt90 = 1
11387 elif LA90 == 62:
11388 LA90_88 = self.input.LA(3)
11389
11390 if (self.synpred182()) :
11391 alt90 = 1
11392 elif LA90 == 75:
11393 LA90_89 = self.input.LA(3)
11394
11395 if (self.synpred182()) :
11396 alt90 = 1
11397 elif LA90 == 66:
11398 LA90_90 = self.input.LA(3)
11399
11400 if (self.synpred182()) :
11401 alt90 = 1
11402 elif LA90 == 76:
11403 LA90_91 = self.input.LA(3)
11404
11405 if (self.synpred182()) :
11406 alt90 = 1
11407 elif LA90 == 72:
11408 LA90_92 = self.input.LA(3)
11409
11410 if (self.synpred182()) :
11411 alt90 = 1
11412 elif LA90 == 73:
11413 LA90_93 = self.input.LA(3)
11414
11415 if (self.synpred182()) :
11416 alt90 = 1
11417 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11418 LA90_94 = self.input.LA(3)
11419
11420 if (self.synpred182()) :
11421 alt90 = 1
11422 elif LA90 == 70:
11423 LA90_95 = self.input.LA(3)
11424
11425 if (self.synpred182()) :
11426 alt90 = 1
11427 elif LA90 == 71:
11428 LA90_96 = self.input.LA(3)
11429
11430 if (self.synpred182()) :
11431 alt90 = 1
11432 elif LA90 == 68:
11433 LA90_97 = self.input.LA(3)
11434
11435 if (self.synpred182()) :
11436 alt90 = 1
11437 elif LA90 == 69:
11438 LA90_98 = self.input.LA(3)
11439
11440 if (self.synpred182()) :
11441 alt90 = 1
11442 elif LA90 == 101 or LA90 == 102:
11443 LA90_99 = self.input.LA(3)
11444
11445 if (self.synpred182()) :
11446 alt90 = 1
11447 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11448 LA90_100 = self.input.LA(3)
11449
11450 if (self.synpred182()) :
11451 alt90 = 1
11452 elif LA90 == 95 or LA90 == 96:
11453 LA90_101 = self.input.LA(3)
11454
11455 if (self.synpred182()) :
11456 alt90 = 1
11457 elif LA90 == 77:
11458 LA90_102 = self.input.LA(3)
11459
11460 if (self.synpred182()) :
11461 alt90 = 1
11462 elif LA90 == 94:
11463 LA90_103 = self.input.LA(3)
11464
11465 if (self.synpred182()) :
11466 alt90 = 1
11467 elif LA90 == 93:
11468 LA90_104 = self.input.LA(3)
11469
11470 if (self.synpred182()) :
11471 alt90 = 1
11472 elif LA90 == 92:
11473 LA90_105 = self.input.LA(3)
11474
11475 if (self.synpred182()) :
11476 alt90 = 1
11477 elif LA90 == 91:
11478 LA90_106 = self.input.LA(3)
11479
11480 if (self.synpred182()) :
11481 alt90 = 1
11482 elif LA90 == 90:
11483 LA90_107 = self.input.LA(3)
11484
11485 if (self.synpred182()) :
11486 alt90 = 1
11487 elif LA90 == 27:
11488 LA90_108 = self.input.LA(3)
11489
11490 if (self.synpred182()) :
11491 alt90 = 1
11492 elif LA90 == 25:
11493 alt90 = 1
11494 elif LA90 == OCTAL_LITERAL:
11495 LA90 = self.input.LA(2)
11496 if LA90 == 64:
11497 LA90_111 = self.input.LA(3)
11498
11499 if (self.synpred182()) :
11500 alt90 = 1
11501 elif LA90 == 62:
11502 LA90_112 = self.input.LA(3)
11503
11504 if (self.synpred182()) :
11505 alt90 = 1
11506 elif LA90 == 75:
11507 LA90_113 = self.input.LA(3)
11508
11509 if (self.synpred182()) :
11510 alt90 = 1
11511 elif LA90 == 66:
11512 LA90_114 = self.input.LA(3)
11513
11514 if (self.synpred182()) :
11515 alt90 = 1
11516 elif LA90 == 76:
11517 LA90_115 = self.input.LA(3)
11518
11519 if (self.synpred182()) :
11520 alt90 = 1
11521 elif LA90 == 72:
11522 LA90_116 = self.input.LA(3)
11523
11524 if (self.synpred182()) :
11525 alt90 = 1
11526 elif LA90 == 73:
11527 LA90_117 = self.input.LA(3)
11528
11529 if (self.synpred182()) :
11530 alt90 = 1
11531 elif LA90 == 70:
11532 LA90_118 = self.input.LA(3)
11533
11534 if (self.synpred182()) :
11535 alt90 = 1
11536 elif LA90 == 71:
11537 LA90_119 = self.input.LA(3)
11538
11539 if (self.synpred182()) :
11540 alt90 = 1
11541 elif LA90 == 68:
11542 LA90_120 = self.input.LA(3)
11543
11544 if (self.synpred182()) :
11545 alt90 = 1
11546 elif LA90 == 69:
11547 LA90_121 = self.input.LA(3)
11548
11549 if (self.synpred182()) :
11550 alt90 = 1
11551 elif LA90 == 101 or LA90 == 102:
11552 LA90_122 = self.input.LA(3)
11553
11554 if (self.synpred182()) :
11555 alt90 = 1
11556 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11557 LA90_123 = self.input.LA(3)
11558
11559 if (self.synpred182()) :
11560 alt90 = 1
11561 elif LA90 == 95 or LA90 == 96:
11562 LA90_124 = self.input.LA(3)
11563
11564 if (self.synpred182()) :
11565 alt90 = 1
11566 elif LA90 == 77:
11567 LA90_125 = self.input.LA(3)
11568
11569 if (self.synpred182()) :
11570 alt90 = 1
11571 elif LA90 == 94:
11572 LA90_126 = self.input.LA(3)
11573
11574 if (self.synpred182()) :
11575 alt90 = 1
11576 elif LA90 == 93:
11577 LA90_127 = self.input.LA(3)
11578
11579 if (self.synpred182()) :
11580 alt90 = 1
11581 elif LA90 == 92:
11582 LA90_128 = self.input.LA(3)
11583
11584 if (self.synpred182()) :
11585 alt90 = 1
11586 elif LA90 == 91:
11587 LA90_129 = self.input.LA(3)
11588
11589 if (self.synpred182()) :
11590 alt90 = 1
11591 elif LA90 == 90:
11592 LA90_130 = self.input.LA(3)
11593
11594 if (self.synpred182()) :
11595 alt90 = 1
11596 elif LA90 == 27:
11597 LA90_131 = self.input.LA(3)
11598
11599 if (self.synpred182()) :
11600 alt90 = 1
11601 elif LA90 == 25:
11602 alt90 = 1
11603 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11604 LA90_134 = self.input.LA(3)
11605
11606 if (self.synpred182()) :
11607 alt90 = 1
11608 elif LA90 == DECIMAL_LITERAL:
11609 LA90 = self.input.LA(2)
11610 if LA90 == 64:
11611 LA90_135 = self.input.LA(3)
11612
11613 if (self.synpred182()) :
11614 alt90 = 1
11615 elif LA90 == 62:
11616 LA90_136 = self.input.LA(3)
11617
11618 if (self.synpred182()) :
11619 alt90 = 1
11620 elif LA90 == 75:
11621 LA90_137 = self.input.LA(3)
11622
11623 if (self.synpred182()) :
11624 alt90 = 1
11625 elif LA90 == 66:
11626 LA90_138 = self.input.LA(3)
11627
11628 if (self.synpred182()) :
11629 alt90 = 1
11630 elif LA90 == 76:
11631 LA90_139 = self.input.LA(3)
11632
11633 if (self.synpred182()) :
11634 alt90 = 1
11635 elif LA90 == 72:
11636 LA90_140 = self.input.LA(3)
11637
11638 if (self.synpred182()) :
11639 alt90 = 1
11640 elif LA90 == 73:
11641 LA90_141 = self.input.LA(3)
11642
11643 if (self.synpred182()) :
11644 alt90 = 1
11645 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11646 LA90_142 = self.input.LA(3)
11647
11648 if (self.synpred182()) :
11649 alt90 = 1
11650 elif LA90 == 70:
11651 LA90_143 = self.input.LA(3)
11652
11653 if (self.synpred182()) :
11654 alt90 = 1
11655 elif LA90 == 71:
11656 LA90_144 = self.input.LA(3)
11657
11658 if (self.synpred182()) :
11659 alt90 = 1
11660 elif LA90 == 68:
11661 LA90_145 = self.input.LA(3)
11662
11663 if (self.synpred182()) :
11664 alt90 = 1
11665 elif LA90 == 69:
11666 LA90_146 = self.input.LA(3)
11667
11668 if (self.synpred182()) :
11669 alt90 = 1
11670 elif LA90 == 101 or LA90 == 102:
11671 LA90_147 = self.input.LA(3)
11672
11673 if (self.synpred182()) :
11674 alt90 = 1
11675 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11676 LA90_148 = self.input.LA(3)
11677
11678 if (self.synpred182()) :
11679 alt90 = 1
11680 elif LA90 == 95 or LA90 == 96:
11681 LA90_149 = self.input.LA(3)
11682
11683 if (self.synpred182()) :
11684 alt90 = 1
11685 elif LA90 == 77:
11686 LA90_150 = self.input.LA(3)
11687
11688 if (self.synpred182()) :
11689 alt90 = 1
11690 elif LA90 == 94:
11691 LA90_151 = self.input.LA(3)
11692
11693 if (self.synpred182()) :
11694 alt90 = 1
11695 elif LA90 == 93:
11696 LA90_152 = self.input.LA(3)
11697
11698 if (self.synpred182()) :
11699 alt90 = 1
11700 elif LA90 == 92:
11701 LA90_153 = self.input.LA(3)
11702
11703 if (self.synpred182()) :
11704 alt90 = 1
11705 elif LA90 == 91:
11706 LA90_154 = self.input.LA(3)
11707
11708 if (self.synpred182()) :
11709 alt90 = 1
11710 elif LA90 == 90:
11711 LA90_155 = self.input.LA(3)
11712
11713 if (self.synpred182()) :
11714 alt90 = 1
11715 elif LA90 == 27:
11716 LA90_156 = self.input.LA(3)
11717
11718 if (self.synpred182()) :
11719 alt90 = 1
11720 elif LA90 == 25:
11721 alt90 = 1
11722 elif LA90 == CHARACTER_LITERAL:
11723 LA90 = self.input.LA(2)
11724 if LA90 == 64:
11725 LA90_159 = self.input.LA(3)
11726
11727 if (self.synpred182()) :
11728 alt90 = 1
11729 elif LA90 == 62:
11730 LA90_160 = self.input.LA(3)
11731
11732 if (self.synpred182()) :
11733 alt90 = 1
11734 elif LA90 == 75:
11735 LA90_161 = self.input.LA(3)
11736
11737 if (self.synpred182()) :
11738 alt90 = 1
11739 elif LA90 == 66:
11740 LA90_162 = self.input.LA(3)
11741
11742 if (self.synpred182()) :
11743 alt90 = 1
11744 elif LA90 == 76:
11745 LA90_163 = self.input.LA(3)
11746
11747 if (self.synpred182()) :
11748 alt90 = 1
11749 elif LA90 == 72:
11750 LA90_164 = self.input.LA(3)
11751
11752 if (self.synpred182()) :
11753 alt90 = 1
11754 elif LA90 == 73:
11755 LA90_165 = self.input.LA(3)
11756
11757 if (self.synpred182()) :
11758 alt90 = 1
11759 elif LA90 == 70:
11760 LA90_166 = self.input.LA(3)
11761
11762 if (self.synpred182()) :
11763 alt90 = 1
11764 elif LA90 == 71:
11765 LA90_167 = self.input.LA(3)
11766
11767 if (self.synpred182()) :
11768 alt90 = 1
11769 elif LA90 == 68:
11770 LA90_168 = self.input.LA(3)
11771
11772 if (self.synpred182()) :
11773 alt90 = 1
11774 elif LA90 == 69:
11775 LA90_169 = self.input.LA(3)
11776
11777 if (self.synpred182()) :
11778 alt90 = 1
11779 elif LA90 == 101 or LA90 == 102:
11780 LA90_170 = self.input.LA(3)
11781
11782 if (self.synpred182()) :
11783 alt90 = 1
11784 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11785 LA90_171 = self.input.LA(3)
11786
11787 if (self.synpred182()) :
11788 alt90 = 1
11789 elif LA90 == 95 or LA90 == 96:
11790 LA90_172 = self.input.LA(3)
11791
11792 if (self.synpred182()) :
11793 alt90 = 1
11794 elif LA90 == 77:
11795 LA90_173 = self.input.LA(3)
11796
11797 if (self.synpred182()) :
11798 alt90 = 1
11799 elif LA90 == 94:
11800 LA90_174 = self.input.LA(3)
11801
11802 if (self.synpred182()) :
11803 alt90 = 1
11804 elif LA90 == 93:
11805 LA90_175 = self.input.LA(3)
11806
11807 if (self.synpred182()) :
11808 alt90 = 1
11809 elif LA90 == 92:
11810 LA90_176 = self.input.LA(3)
11811
11812 if (self.synpred182()) :
11813 alt90 = 1
11814 elif LA90 == 91:
11815 LA90_177 = self.input.LA(3)
11816
11817 if (self.synpred182()) :
11818 alt90 = 1
11819 elif LA90 == 90:
11820 LA90_178 = self.input.LA(3)
11821
11822 if (self.synpred182()) :
11823 alt90 = 1
11824 elif LA90 == 27:
11825 LA90_179 = self.input.LA(3)
11826
11827 if (self.synpred182()) :
11828 alt90 = 1
11829 elif LA90 == 25:
11830 alt90 = 1
11831 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11832 LA90_181 = self.input.LA(3)
11833
11834 if (self.synpred182()) :
11835 alt90 = 1
11836 elif LA90 == STRING_LITERAL:
11837 LA90 = self.input.LA(2)
11838 if LA90 == IDENTIFIER:
11839 LA90_183 = self.input.LA(3)
11840
11841 if (self.synpred182()) :
11842 alt90 = 1
11843 elif LA90 == 64:
11844 LA90_184 = self.input.LA(3)
11845
11846 if (self.synpred182()) :
11847 alt90 = 1
11848 elif LA90 == 62:
11849 LA90_185 = self.input.LA(3)
11850
11851 if (self.synpred182()) :
11852 alt90 = 1
11853 elif LA90 == 75:
11854 LA90_186 = self.input.LA(3)
11855
11856 if (self.synpred182()) :
11857 alt90 = 1
11858 elif LA90 == 66:
11859 LA90_187 = self.input.LA(3)
11860
11861 if (self.synpred182()) :
11862 alt90 = 1
11863 elif LA90 == 76:
11864 LA90_188 = self.input.LA(3)
11865
11866 if (self.synpred182()) :
11867 alt90 = 1
11868 elif LA90 == 72:
11869 LA90_189 = self.input.LA(3)
11870
11871 if (self.synpred182()) :
11872 alt90 = 1
11873 elif LA90 == 73:
11874 LA90_190 = self.input.LA(3)
11875
11876 if (self.synpred182()) :
11877 alt90 = 1
11878 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11879 LA90_191 = self.input.LA(3)
11880
11881 if (self.synpred182()) :
11882 alt90 = 1
11883 elif LA90 == STRING_LITERAL:
11884 LA90_192 = self.input.LA(3)
11885
11886 if (self.synpred182()) :
11887 alt90 = 1
11888 elif LA90 == 70:
11889 LA90_193 = self.input.LA(3)
11890
11891 if (self.synpred182()) :
11892 alt90 = 1
11893 elif LA90 == 71:
11894 LA90_194 = self.input.LA(3)
11895
11896 if (self.synpred182()) :
11897 alt90 = 1
11898 elif LA90 == 68:
11899 LA90_195 = self.input.LA(3)
11900
11901 if (self.synpred182()) :
11902 alt90 = 1
11903 elif LA90 == 69:
11904 LA90_196 = self.input.LA(3)
11905
11906 if (self.synpred182()) :
11907 alt90 = 1
11908 elif LA90 == 101 or LA90 == 102:
11909 LA90_197 = self.input.LA(3)
11910
11911 if (self.synpred182()) :
11912 alt90 = 1
11913 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11914 LA90_198 = self.input.LA(3)
11915
11916 if (self.synpred182()) :
11917 alt90 = 1
11918 elif LA90 == 95 or LA90 == 96:
11919 LA90_199 = self.input.LA(3)
11920
11921 if (self.synpred182()) :
11922 alt90 = 1
11923 elif LA90 == 77:
11924 LA90_200 = self.input.LA(3)
11925
11926 if (self.synpred182()) :
11927 alt90 = 1
11928 elif LA90 == 94:
11929 LA90_201 = self.input.LA(3)
11930
11931 if (self.synpred182()) :
11932 alt90 = 1
11933 elif LA90 == 93:
11934 LA90_202 = self.input.LA(3)
11935
11936 if (self.synpred182()) :
11937 alt90 = 1
11938 elif LA90 == 92:
11939 LA90_203 = self.input.LA(3)
11940
11941 if (self.synpred182()) :
11942 alt90 = 1
11943 elif LA90 == 91:
11944 LA90_204 = self.input.LA(3)
11945
11946 if (self.synpred182()) :
11947 alt90 = 1
11948 elif LA90 == 90:
11949 LA90_205 = self.input.LA(3)
11950
11951 if (self.synpred182()) :
11952 alt90 = 1
11953 elif LA90 == 27:
11954 LA90_206 = self.input.LA(3)
11955
11956 if (self.synpred182()) :
11957 alt90 = 1
11958 elif LA90 == 25:
11959 alt90 = 1
11960 elif LA90 == FLOATING_POINT_LITERAL:
11961 LA90 = self.input.LA(2)
11962 if LA90 == 64:
11963 LA90_209 = self.input.LA(3)
11964
11965 if (self.synpred182()) :
11966 alt90 = 1
11967 elif LA90 == 62:
11968 LA90_210 = self.input.LA(3)
11969
11970 if (self.synpred182()) :
11971 alt90 = 1
11972 elif LA90 == 75:
11973 LA90_211 = self.input.LA(3)
11974
11975 if (self.synpred182()) :
11976 alt90 = 1
11977 elif LA90 == 66:
11978 LA90_212 = self.input.LA(3)
11979
11980 if (self.synpred182()) :
11981 alt90 = 1
11982 elif LA90 == 76:
11983 LA90_213 = self.input.LA(3)
11984
11985 if (self.synpred182()) :
11986 alt90 = 1
11987 elif LA90 == 72:
11988 LA90_214 = self.input.LA(3)
11989
11990 if (self.synpred182()) :
11991 alt90 = 1
11992 elif LA90 == 73:
11993 LA90_215 = self.input.LA(3)
11994
11995 if (self.synpred182()) :
11996 alt90 = 1
11997 elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
11998 LA90_216 = self.input.LA(3)
11999
12000 if (self.synpred182()) :
12001 alt90 = 1
12002 elif LA90 == 70:
12003 LA90_217 = self.input.LA(3)
12004
12005 if (self.synpred182()) :
12006 alt90 = 1
12007 elif LA90 == 71:
12008 LA90_218 = self.input.LA(3)
12009
12010 if (self.synpred182()) :
12011 alt90 = 1
12012 elif LA90 == 68:
12013 LA90_219 = self.input.LA(3)
12014
12015 if (self.synpred182()) :
12016 alt90 = 1
12017 elif LA90 == 69:
12018 LA90_220 = self.input.LA(3)
12019
12020 if (self.synpred182()) :
12021 alt90 = 1
12022 elif LA90 == 101 or LA90 == 102:
12023 LA90_221 = self.input.LA(3)
12024
12025 if (self.synpred182()) :
12026 alt90 = 1
12027 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
12028 LA90_222 = self.input.LA(3)
12029
12030 if (self.synpred182()) :
12031 alt90 = 1
12032 elif LA90 == 95 or LA90 == 96:
12033 LA90_223 = self.input.LA(3)
12034
12035 if (self.synpred182()) :
12036 alt90 = 1
12037 elif LA90 == 77:
12038 LA90_224 = self.input.LA(3)
12039
12040 if (self.synpred182()) :
12041 alt90 = 1
12042 elif LA90 == 94:
12043 LA90_225 = self.input.LA(3)
12044
12045 if (self.synpred182()) :
12046 alt90 = 1
12047 elif LA90 == 93:
12048 LA90_226 = self.input.LA(3)
12049
12050 if (self.synpred182()) :
12051 alt90 = 1
12052 elif LA90 == 92:
12053 LA90_227 = self.input.LA(3)
12054
12055 if (self.synpred182()) :
12056 alt90 = 1
12057 elif LA90 == 91:
12058 LA90_228 = self.input.LA(3)
12059
12060 if (self.synpred182()) :
12061 alt90 = 1
12062 elif LA90 == 90:
12063 LA90_229 = self.input.LA(3)
12064
12065 if (self.synpred182()) :
12066 alt90 = 1
12067 elif LA90 == 27:
12068 LA90_230 = self.input.LA(3)
12069
12070 if (self.synpred182()) :
12071 alt90 = 1
12072 elif LA90 == 25:
12073 alt90 = 1
12074 elif LA90 == 62:
12075 LA90 = self.input.LA(2)
12076 if LA90 == IDENTIFIER:
12077 LA90_233 = self.input.LA(3)
12078
12079 if (self.synpred182()) :
12080 alt90 = 1
12081 elif LA90 == HEX_LITERAL:
12082 LA90_234 = self.input.LA(3)
12083
12084 if (self.synpred182()) :
12085 alt90 = 1
12086 elif LA90 == OCTAL_LITERAL:
12087 LA90_235 = self.input.LA(3)
12088
12089 if (self.synpred182()) :
12090 alt90 = 1
12091 elif LA90 == DECIMAL_LITERAL:
12092 LA90_236 = self.input.LA(3)
12093
12094 if (self.synpred182()) :
12095 alt90 = 1
12096 elif LA90 == CHARACTER_LITERAL:
12097 LA90_237 = self.input.LA(3)
12098
12099 if (self.synpred182()) :
12100 alt90 = 1
12101 elif LA90 == STRING_LITERAL:
12102 LA90_238 = self.input.LA(3)
12103
12104 if (self.synpred182()) :
12105 alt90 = 1
12106 elif LA90 == FLOATING_POINT_LITERAL:
12107 LA90_239 = self.input.LA(3)
12108
12109 if (self.synpred182()) :
12110 alt90 = 1
12111 elif LA90 == 62:
12112 LA90_240 = self.input.LA(3)
12113
12114 if (self.synpred182()) :
12115 alt90 = 1
12116 elif LA90 == 72:
12117 LA90_241 = self.input.LA(3)
12118
12119 if (self.synpred182()) :
12120 alt90 = 1
12121 elif LA90 == 73:
12122 LA90_242 = self.input.LA(3)
12123
12124 if (self.synpred182()) :
12125 alt90 = 1
12126 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12127 LA90_243 = self.input.LA(3)
12128
12129 if (self.synpred182()) :
12130 alt90 = 1
12131 elif LA90 == 74:
12132 LA90_244 = self.input.LA(3)
12133
12134 if (self.synpred182()) :
12135 alt90 = 1
12136 elif LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
12137 LA90_245 = self.input.LA(3)
12138
12139 if (self.synpred182()) :
12140 alt90 = 1
12141 elif LA90 == 34:
12142 LA90_246 = self.input.LA(3)
12143
12144 if (self.synpred182()) :
12145 alt90 = 1
12146 elif LA90 == 35:
12147 LA90_247 = self.input.LA(3)
12148
12149 if (self.synpred182()) :
12150 alt90 = 1
12151 elif LA90 == 36:
12152 LA90_248 = self.input.LA(3)
12153
12154 if (self.synpred182()) :
12155 alt90 = 1
12156 elif LA90 == 37:
12157 LA90_249 = self.input.LA(3)
12158
12159 if (self.synpred182()) :
12160 alt90 = 1
12161 elif LA90 == 38:
12162 LA90_250 = self.input.LA(3)
12163
12164 if (self.synpred182()) :
12165 alt90 = 1
12166 elif LA90 == 39:
12167 LA90_251 = self.input.LA(3)
12168
12169 if (self.synpred182()) :
12170 alt90 = 1
12171 elif LA90 == 40:
12172 LA90_252 = self.input.LA(3)
12173
12174 if (self.synpred182()) :
12175 alt90 = 1
12176 elif LA90 == 41:
12177 LA90_253 = self.input.LA(3)
12178
12179 if (self.synpred182()) :
12180 alt90 = 1
12181 elif LA90 == 42:
12182 LA90_254 = self.input.LA(3)
12183
12184 if (self.synpred182()) :
12185 alt90 = 1
12186 elif LA90 == 45 or LA90 == 46:
12187 LA90_255 = self.input.LA(3)
12188
12189 if (self.synpred182()) :
12190 alt90 = 1
12191 elif LA90 == 48:
12192 LA90_256 = self.input.LA(3)
12193
12194 if (self.synpred182()) :
12195 alt90 = 1
12196 elif LA90 == 72:
12197 LA90 = self.input.LA(2)
12198 if LA90 == IDENTIFIER:
12199 LA90_257 = self.input.LA(3)
12200
12201 if (self.synpred182()) :
12202 alt90 = 1
12203 elif LA90 == HEX_LITERAL:
12204 LA90_258 = self.input.LA(3)
12205
12206 if (self.synpred182()) :
12207 alt90 = 1
12208 elif LA90 == OCTAL_LITERAL:
12209 LA90_259 = self.input.LA(3)
12210
12211 if (self.synpred182()) :
12212 alt90 = 1
12213 elif LA90 == DECIMAL_LITERAL:
12214 LA90_260 = self.input.LA(3)
12215
12216 if (self.synpred182()) :
12217 alt90 = 1
12218 elif LA90 == CHARACTER_LITERAL:
12219 LA90_261 = self.input.LA(3)
12220
12221 if (self.synpred182()) :
12222 alt90 = 1
12223 elif LA90 == STRING_LITERAL:
12224 LA90_262 = self.input.LA(3)
12225
12226 if (self.synpred182()) :
12227 alt90 = 1
12228 elif LA90 == FLOATING_POINT_LITERAL:
12229 LA90_263 = self.input.LA(3)
12230
12231 if (self.synpred182()) :
12232 alt90 = 1
12233 elif LA90 == 62:
12234 LA90_264 = self.input.LA(3)
12235
12236 if (self.synpred182()) :
12237 alt90 = 1
12238 elif LA90 == 72:
12239 LA90_265 = self.input.LA(3)
12240
12241 if (self.synpred182()) :
12242 alt90 = 1
12243 elif LA90 == 73:
12244 LA90_266 = self.input.LA(3)
12245
12246 if (self.synpred182()) :
12247 alt90 = 1
12248 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12249 LA90_267 = self.input.LA(3)
12250
12251 if (self.synpred182()) :
12252 alt90 = 1
12253 elif LA90 == 74:
12254 LA90_268 = self.input.LA(3)
12255
12256 if (self.synpred182()) :
12257 alt90 = 1
12258 elif LA90 == 73:
12259 LA90 = self.input.LA(2)
12260 if LA90 == IDENTIFIER:
12261 LA90_269 = self.input.LA(3)
12262
12263 if (self.synpred182()) :
12264 alt90 = 1
12265 elif LA90 == HEX_LITERAL:
12266 LA90_270 = self.input.LA(3)
12267
12268 if (self.synpred182()) :
12269 alt90 = 1
12270 elif LA90 == OCTAL_LITERAL:
12271 LA90_271 = self.input.LA(3)
12272
12273 if (self.synpred182()) :
12274 alt90 = 1
12275 elif LA90 == DECIMAL_LITERAL:
12276 LA90_272 = self.input.LA(3)
12277
12278 if (self.synpred182()) :
12279 alt90 = 1
12280 elif LA90 == CHARACTER_LITERAL:
12281 LA90_273 = self.input.LA(3)
12282
12283 if (self.synpred182()) :
12284 alt90 = 1
12285 elif LA90 == STRING_LITERAL:
12286 LA90_274 = self.input.LA(3)
12287
12288 if (self.synpred182()) :
12289 alt90 = 1
12290 elif LA90 == FLOATING_POINT_LITERAL:
12291 LA90_275 = self.input.LA(3)
12292
12293 if (self.synpred182()) :
12294 alt90 = 1
12295 elif LA90 == 62:
12296 LA90_276 = self.input.LA(3)
12297
12298 if (self.synpred182()) :
12299 alt90 = 1
12300 elif LA90 == 72:
12301 LA90_277 = self.input.LA(3)
12302
12303 if (self.synpred182()) :
12304 alt90 = 1
12305 elif LA90 == 73:
12306 LA90_278 = self.input.LA(3)
12307
12308 if (self.synpred182()) :
12309 alt90 = 1
12310 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12311 LA90_279 = self.input.LA(3)
12312
12313 if (self.synpred182()) :
12314 alt90 = 1
12315 elif LA90 == 74:
12316 LA90_280 = self.input.LA(3)
12317
12318 if (self.synpred182()) :
12319 alt90 = 1
12320 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12321 LA90 = self.input.LA(2)
12322 if LA90 == 62:
12323 LA90_281 = self.input.LA(3)
12324
12325 if (self.synpred182()) :
12326 alt90 = 1
12327 elif LA90 == IDENTIFIER:
12328 LA90_282 = self.input.LA(3)
12329
12330 if (self.synpred182()) :
12331 alt90 = 1
12332 elif LA90 == HEX_LITERAL:
12333 LA90_283 = self.input.LA(3)
12334
12335 if (self.synpred182()) :
12336 alt90 = 1
12337 elif LA90 == OCTAL_LITERAL:
12338 LA90_284 = self.input.LA(3)
12339
12340 if (self.synpred182()) :
12341 alt90 = 1
12342 elif LA90 == DECIMAL_LITERAL:
12343 LA90_285 = self.input.LA(3)
12344
12345 if (self.synpred182()) :
12346 alt90 = 1
12347 elif LA90 == CHARACTER_LITERAL:
12348 LA90_286 = self.input.LA(3)
12349
12350 if (self.synpred182()) :
12351 alt90 = 1
12352 elif LA90 == STRING_LITERAL:
12353 LA90_287 = self.input.LA(3)
12354
12355 if (self.synpred182()) :
12356 alt90 = 1
12357 elif LA90 == FLOATING_POINT_LITERAL:
12358 LA90_288 = self.input.LA(3)
12359
12360 if (self.synpred182()) :
12361 alt90 = 1
12362 elif LA90 == 72:
12363 LA90_289 = self.input.LA(3)
12364
12365 if (self.synpred182()) :
12366 alt90 = 1
12367 elif LA90 == 73:
12368 LA90_290 = self.input.LA(3)
12369
12370 if (self.synpred182()) :
12371 alt90 = 1
12372 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12373 LA90_291 = self.input.LA(3)
12374
12375 if (self.synpred182()) :
12376 alt90 = 1
12377 elif LA90 == 74:
12378 LA90_292 = self.input.LA(3)
12379
12380 if (self.synpred182()) :
12381 alt90 = 1
12382 elif LA90 == 74:
12383 LA90 = self.input.LA(2)
12384 if LA90 == 62:
12385 LA90_293 = self.input.LA(3)
12386
12387 if (self.synpred182()) :
12388 alt90 = 1
12389 elif LA90 == IDENTIFIER:
12390 LA90_294 = self.input.LA(3)
12391
12392 if (self.synpred182()) :
12393 alt90 = 1
12394 elif LA90 == HEX_LITERAL:
12395 LA90_295 = self.input.LA(3)
12396
12397 if (self.synpred182()) :
12398 alt90 = 1
12399 elif LA90 == OCTAL_LITERAL:
12400 LA90_296 = self.input.LA(3)
12401
12402 if (self.synpred182()) :
12403 alt90 = 1
12404 elif LA90 == DECIMAL_LITERAL:
12405 LA90_297 = self.input.LA(3)
12406
12407 if (self.synpred182()) :
12408 alt90 = 1
12409 elif LA90 == CHARACTER_LITERAL:
12410 LA90_298 = self.input.LA(3)
12411
12412 if (self.synpred182()) :
12413 alt90 = 1
12414 elif LA90 == STRING_LITERAL:
12415 LA90_299 = self.input.LA(3)
12416
12417 if (self.synpred182()) :
12418 alt90 = 1
12419 elif LA90 == FLOATING_POINT_LITERAL:
12420 LA90_300 = self.input.LA(3)
12421
12422 if (self.synpred182()) :
12423 alt90 = 1
12424 elif LA90 == 72:
12425 LA90_301 = self.input.LA(3)
12426
12427 if (self.synpred182()) :
12428 alt90 = 1
12429 elif LA90 == 73:
12430 LA90_302 = self.input.LA(3)
12431
12432 if (self.synpred182()) :
12433 alt90 = 1
12434 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12435 LA90_303 = self.input.LA(3)
12436
12437 if (self.synpred182()) :
12438 alt90 = 1
12439 elif LA90 == 74:
12440 LA90_304 = self.input.LA(3)
12441
12442 if (self.synpred182()) :
12443 alt90 = 1
12444 if alt90 == 1:
12445 # C.g:0:0: statement_list
12446 self.following.append(self.FOLLOW_statement_list_in_macro_statement2170)
12447 self.statement_list()
12448 self.following.pop()
12449 if self.failed:
12450 return
12451
12452
12453
12454 # C.g:544:49: ( expression )?
12455 alt91 = 2
12456 LA91_0 = self.input.LA(1)
12457
12458 if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 62 or LA91_0 == 66 or (68 <= LA91_0 <= 69) or (72 <= LA91_0 <= 74) or (77 <= LA91_0 <= 79)) :
12459 alt91 = 1
12460 if alt91 == 1:
12461 # C.g:0:0: expression
12462 self.following.append(self.FOLLOW_expression_in_macro_statement2173)
12463 self.expression()
12464 self.following.pop()
12465 if self.failed:
12466 return
12467
12468
12469
12470 self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176)
12471 if self.failed:
12472 return
12473
12474
12475
12476
12477 except RecognitionException, re:
12478 self.reportError(re)
12479 self.recover(self.input, re)
12480 finally:
12481 if self.backtracking > 0:
12482 self.memoize(self.input, 64, macro_statement_StartIndex)
12483
12484 pass
12485
12486 return
12487
12488 # $ANTLR end macro_statement
12489
12490
12491 # $ANTLR start labeled_statement
12492 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12493 def labeled_statement(self, ):
12494
12495 labeled_statement_StartIndex = self.input.index()
12496 try:
12497 try:
12498 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
12499 return
12500
12501 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12502 alt92 = 3
12503 LA92 = self.input.LA(1)
12504 if LA92 == IDENTIFIER:
12505 alt92 = 1
12506 elif LA92 == 106:
12507 alt92 = 2
12508 elif LA92 == 107:
12509 alt92 = 3
12510 else:
12511 if self.backtracking > 0:
12512 self.failed = True
12513 return
12514
12515 nvae = NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
12516
12517 raise nvae
12518
12519 if alt92 == 1:
12520 # C.g:548:4: IDENTIFIER ':' statement
12521 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2188)
12522 if self.failed:
12523 return
12524 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2190)
12525 if self.failed:
12526 return
12527 self.following.append(self.FOLLOW_statement_in_labeled_statement2192)
12528 self.statement()
12529 self.following.pop()
12530 if self.failed:
12531 return
12532
12533
12534 elif alt92 == 2:
12535 # C.g:549:4: 'case' constant_expression ':' statement
12536 self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2197)
12537 if self.failed:
12538 return
12539 self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2199)
12540 self.constant_expression()
12541 self.following.pop()
12542 if self.failed:
12543 return
12544 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201)
12545 if self.failed:
12546 return
12547 self.following.append(self.FOLLOW_statement_in_labeled_statement2203)
12548 self.statement()
12549 self.following.pop()
12550 if self.failed:
12551 return
12552
12553
12554 elif alt92 == 3:
12555 # C.g:550:4: 'default' ':' statement
12556 self.match(self.input, 107, self.FOLLOW_107_in_labeled_statement2208)
12557 if self.failed:
12558 return
12559 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2210)
12560 if self.failed:
12561 return
12562 self.following.append(self.FOLLOW_statement_in_labeled_statement2212)
12563 self.statement()
12564 self.following.pop()
12565 if self.failed:
12566 return
12567
12568
12569
12570 except RecognitionException, re:
12571 self.reportError(re)
12572 self.recover(self.input, re)
12573 finally:
12574 if self.backtracking > 0:
12575 self.memoize(self.input, 65, labeled_statement_StartIndex)
12576
12577 pass
12578
12579 return
12580
12581 # $ANTLR end labeled_statement
12582
12583 class compound_statement_return(object):
12584 def __init__(self):
12585 self.start = None
12586 self.stop = None
12587
12588
12589
12590 # $ANTLR start compound_statement
12591 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12592 def compound_statement(self, ):
12593
12594 retval = self.compound_statement_return()
12595 retval.start = self.input.LT(1)
12596 compound_statement_StartIndex = self.input.index()
12597 try:
12598 try:
12599 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
12600 return retval
12601
12602 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12603 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12604 self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223)
12605 if self.failed:
12606 return retval
12607 # C.g:554:8: ( declaration )*
12608 while True: #loop93
12609 alt93 = 2
12610 LA93 = self.input.LA(1)
12611 if LA93 == IDENTIFIER:
12612 LA93 = self.input.LA(2)
12613 if LA93 == 62:
12614 LA93_44 = self.input.LA(3)
12615
12616 if (self.synpred186()) :
12617 alt93 = 1
12618
12619
12620 elif LA93 == IDENTIFIER:
12621 LA93_47 = self.input.LA(3)
12622
12623 if (self.synpred186()) :
12624 alt93 = 1
12625
12626
12627 elif LA93 == 66:
12628 LA93_48 = self.input.LA(3)
12629
12630 if (self.synpred186()) :
12631 alt93 = 1
12632
12633
12634 elif LA93 == 58:
12635 LA93_49 = self.input.LA(3)
12636
12637 if (self.synpred186()) :
12638 alt93 = 1
12639
12640
12641 elif LA93 == 59:
12642 LA93_50 = self.input.LA(3)
12643
12644 if (self.synpred186()) :
12645 alt93 = 1
12646
12647
12648 elif LA93 == 60:
12649 LA93_51 = self.input.LA(3)
12650
12651 if (self.synpred186()) :
12652 alt93 = 1
12653
12654
12655 elif LA93 == 25:
12656 LA93_52 = self.input.LA(3)
12657
12658 if (self.synpred186()) :
12659 alt93 = 1
12660
12661
12662 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12663 LA93_53 = self.input.LA(3)
12664
12665 if (self.synpred186()) :
12666 alt93 = 1
12667
12668
12669 elif LA93 == 34:
12670 LA93_54 = self.input.LA(3)
12671
12672 if (self.synpred186()) :
12673 alt93 = 1
12674
12675
12676 elif LA93 == 35:
12677 LA93_55 = self.input.LA(3)
12678
12679 if (self.synpred186()) :
12680 alt93 = 1
12681
12682
12683 elif LA93 == 36:
12684 LA93_56 = self.input.LA(3)
12685
12686 if (self.synpred186()) :
12687 alt93 = 1
12688
12689
12690 elif LA93 == 37:
12691 LA93_57 = self.input.LA(3)
12692
12693 if (self.synpred186()) :
12694 alt93 = 1
12695
12696
12697 elif LA93 == 38:
12698 LA93_58 = self.input.LA(3)
12699
12700 if (self.synpred186()) :
12701 alt93 = 1
12702
12703
12704 elif LA93 == 39:
12705 LA93_59 = self.input.LA(3)
12706
12707 if (self.synpred186()) :
12708 alt93 = 1
12709
12710
12711 elif LA93 == 40:
12712 LA93_60 = self.input.LA(3)
12713
12714 if (self.synpred186()) :
12715 alt93 = 1
12716
12717
12718 elif LA93 == 41:
12719 LA93_61 = self.input.LA(3)
12720
12721 if (self.synpred186()) :
12722 alt93 = 1
12723
12724
12725 elif LA93 == 42:
12726 LA93_62 = self.input.LA(3)
12727
12728 if (self.synpred186()) :
12729 alt93 = 1
12730
12731
12732 elif LA93 == 45 or LA93 == 46:
12733 LA93_63 = self.input.LA(3)
12734
12735 if (self.synpred186()) :
12736 alt93 = 1
12737
12738
12739 elif LA93 == 48:
12740 LA93_64 = self.input.LA(3)
12741
12742 if (self.synpred186()) :
12743 alt93 = 1
12744
12745
12746 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
12747 LA93_65 = self.input.LA(3)
12748
12749 if (self.synpred186()) :
12750 alt93 = 1
12751
12752
12753
12754 elif LA93 == 26:
12755 LA93 = self.input.LA(2)
12756 if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12757 LA93_86 = self.input.LA(3)
12758
12759 if (self.synpred186()) :
12760 alt93 = 1
12761
12762
12763 elif LA93 == 34:
12764 LA93_87 = self.input.LA(3)
12765
12766 if (self.synpred186()) :
12767 alt93 = 1
12768
12769
12770 elif LA93 == 35:
12771 LA93_88 = self.input.LA(3)
12772
12773 if (self.synpred186()) :
12774 alt93 = 1
12775
12776
12777 elif LA93 == 36:
12778 LA93_89 = self.input.LA(3)
12779
12780 if (self.synpred186()) :
12781 alt93 = 1
12782
12783
12784 elif LA93 == 37:
12785 LA93_90 = self.input.LA(3)
12786
12787 if (self.synpred186()) :
12788 alt93 = 1
12789
12790
12791 elif LA93 == 38:
12792 LA93_91 = self.input.LA(3)
12793
12794 if (self.synpred186()) :
12795 alt93 = 1
12796
12797
12798 elif LA93 == 39:
12799 LA93_92 = self.input.LA(3)
12800
12801 if (self.synpred186()) :
12802 alt93 = 1
12803
12804
12805 elif LA93 == 40:
12806 LA93_93 = self.input.LA(3)
12807
12808 if (self.synpred186()) :
12809 alt93 = 1
12810
12811
12812 elif LA93 == 41:
12813 LA93_94 = self.input.LA(3)
12814
12815 if (self.synpred186()) :
12816 alt93 = 1
12817
12818
12819 elif LA93 == 42:
12820 LA93_95 = self.input.LA(3)
12821
12822 if (self.synpred186()) :
12823 alt93 = 1
12824
12825
12826 elif LA93 == 45 or LA93 == 46:
12827 LA93_96 = self.input.LA(3)
12828
12829 if (self.synpred186()) :
12830 alt93 = 1
12831
12832
12833 elif LA93 == 48:
12834 LA93_97 = self.input.LA(3)
12835
12836 if (self.synpred186()) :
12837 alt93 = 1
12838
12839
12840 elif LA93 == IDENTIFIER:
12841 LA93_98 = self.input.LA(3)
12842
12843 if (self.synpred186()) :
12844 alt93 = 1
12845
12846
12847 elif LA93 == 58:
12848 LA93_99 = self.input.LA(3)
12849
12850 if (self.synpred186()) :
12851 alt93 = 1
12852
12853
12854 elif LA93 == 66:
12855 LA93_100 = self.input.LA(3)
12856
12857 if (self.synpred186()) :
12858 alt93 = 1
12859
12860
12861 elif LA93 == 59:
12862 LA93_101 = self.input.LA(3)
12863
12864 if (self.synpred186()) :
12865 alt93 = 1
12866
12867
12868 elif LA93 == 60:
12869 LA93_102 = self.input.LA(3)
12870
12871 if (self.synpred186()) :
12872 alt93 = 1
12873
12874
12875 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
12876 LA93_103 = self.input.LA(3)
12877
12878 if (self.synpred186()) :
12879 alt93 = 1
12880
12881
12882 elif LA93 == 62:
12883 LA93_104 = self.input.LA(3)
12884
12885 if (self.synpred186()) :
12886 alt93 = 1
12887
12888
12889
12890 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12891 LA93 = self.input.LA(2)
12892 if LA93 == 66:
12893 LA93_105 = self.input.LA(3)
12894
12895 if (self.synpred186()) :
12896 alt93 = 1
12897
12898
12899 elif LA93 == 58:
12900 LA93_106 = self.input.LA(3)
12901
12902 if (self.synpred186()) :
12903 alt93 = 1
12904
12905
12906 elif LA93 == 59:
12907 LA93_107 = self.input.LA(3)
12908
12909 if (self.synpred186()) :
12910 alt93 = 1
12911
12912
12913 elif LA93 == 60:
12914 LA93_108 = self.input.LA(3)
12915
12916 if (self.synpred186()) :
12917 alt93 = 1
12918
12919
12920 elif LA93 == IDENTIFIER:
12921 LA93_109 = self.input.LA(3)
12922
12923 if (self.synpred186()) :
12924 alt93 = 1
12925
12926
12927 elif LA93 == 62:
12928 LA93_110 = self.input.LA(3)
12929
12930 if (self.synpred186()) :
12931 alt93 = 1
12932
12933
12934 elif LA93 == 25:
12935 LA93_111 = self.input.LA(3)
12936
12937 if (self.synpred186()) :
12938 alt93 = 1
12939
12940
12941 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12942 LA93_112 = self.input.LA(3)
12943
12944 if (self.synpred186()) :
12945 alt93 = 1
12946
12947
12948 elif LA93 == 34:
12949 LA93_113 = self.input.LA(3)
12950
12951 if (self.synpred186()) :
12952 alt93 = 1
12953
12954
12955 elif LA93 == 35:
12956 LA93_114 = self.input.LA(3)
12957
12958 if (self.synpred186()) :
12959 alt93 = 1
12960
12961
12962 elif LA93 == 36:
12963 LA93_115 = self.input.LA(3)
12964
12965 if (self.synpred186()) :
12966 alt93 = 1
12967
12968
12969 elif LA93 == 37:
12970 LA93_116 = self.input.LA(3)
12971
12972 if (self.synpred186()) :
12973 alt93 = 1
12974
12975
12976 elif LA93 == 38:
12977 LA93_117 = self.input.LA(3)
12978
12979 if (self.synpred186()) :
12980 alt93 = 1
12981
12982
12983 elif LA93 == 39:
12984 LA93_118 = self.input.LA(3)
12985
12986 if (self.synpred186()) :
12987 alt93 = 1
12988
12989
12990 elif LA93 == 40:
12991 LA93_119 = self.input.LA(3)
12992
12993 if (self.synpred186()) :
12994 alt93 = 1
12995
12996
12997 elif LA93 == 41:
12998 LA93_120 = self.input.LA(3)
12999
13000 if (self.synpred186()) :
13001 alt93 = 1
13002
13003
13004 elif LA93 == 42:
13005 LA93_121 = self.input.LA(3)
13006
13007 if (self.synpred186()) :
13008 alt93 = 1
13009
13010
13011 elif LA93 == 45 or LA93 == 46:
13012 LA93_122 = self.input.LA(3)
13013
13014 if (self.synpred186()) :
13015 alt93 = 1
13016
13017
13018 elif LA93 == 48:
13019 LA93_123 = self.input.LA(3)
13020
13021 if (self.synpred186()) :
13022 alt93 = 1
13023
13024
13025 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13026 LA93_124 = self.input.LA(3)
13027
13028 if (self.synpred186()) :
13029 alt93 = 1
13030
13031
13032
13033 elif LA93 == 34:
13034 LA93 = self.input.LA(2)
13035 if LA93 == 66:
13036 LA93_125 = self.input.LA(3)
13037
13038 if (self.synpred186()) :
13039 alt93 = 1
13040
13041
13042 elif LA93 == 58:
13043 LA93_126 = self.input.LA(3)
13044
13045 if (self.synpred186()) :
13046 alt93 = 1
13047
13048
13049 elif LA93 == 59:
13050 LA93_127 = self.input.LA(3)
13051
13052 if (self.synpred186()) :
13053 alt93 = 1
13054
13055
13056 elif LA93 == 60:
13057 LA93_128 = self.input.LA(3)
13058
13059 if (self.synpred186()) :
13060 alt93 = 1
13061
13062
13063 elif LA93 == IDENTIFIER:
13064 LA93_129 = self.input.LA(3)
13065
13066 if (self.synpred186()) :
13067 alt93 = 1
13068
13069
13070 elif LA93 == 62:
13071 LA93_130 = self.input.LA(3)
13072
13073 if (self.synpred186()) :
13074 alt93 = 1
13075
13076
13077 elif LA93 == 25:
13078 LA93_131 = self.input.LA(3)
13079
13080 if (self.synpred186()) :
13081 alt93 = 1
13082
13083
13084 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13085 LA93_132 = self.input.LA(3)
13086
13087 if (self.synpred186()) :
13088 alt93 = 1
13089
13090
13091 elif LA93 == 34:
13092 LA93_133 = self.input.LA(3)
13093
13094 if (self.synpred186()) :
13095 alt93 = 1
13096
13097
13098 elif LA93 == 35:
13099 LA93_134 = self.input.LA(3)
13100
13101 if (self.synpred186()) :
13102 alt93 = 1
13103
13104
13105 elif LA93 == 36:
13106 LA93_135 = self.input.LA(3)
13107
13108 if (self.synpred186()) :
13109 alt93 = 1
13110
13111
13112 elif LA93 == 37:
13113 LA93_136 = self.input.LA(3)
13114
13115 if (self.synpred186()) :
13116 alt93 = 1
13117
13118
13119 elif LA93 == 38:
13120 LA93_137 = self.input.LA(3)
13121
13122 if (self.synpred186()) :
13123 alt93 = 1
13124
13125
13126 elif LA93 == 39:
13127 LA93_138 = self.input.LA(3)
13128
13129 if (self.synpred186()) :
13130 alt93 = 1
13131
13132
13133 elif LA93 == 40:
13134 LA93_139 = self.input.LA(3)
13135
13136 if (self.synpred186()) :
13137 alt93 = 1
13138
13139
13140 elif LA93 == 41:
13141 LA93_140 = self.input.LA(3)
13142
13143 if (self.synpred186()) :
13144 alt93 = 1
13145
13146
13147 elif LA93 == 42:
13148 LA93_141 = self.input.LA(3)
13149
13150 if (self.synpred186()) :
13151 alt93 = 1
13152
13153
13154 elif LA93 == 45 or LA93 == 46:
13155 LA93_142 = self.input.LA(3)
13156
13157 if (self.synpred186()) :
13158 alt93 = 1
13159
13160
13161 elif LA93 == 48:
13162 LA93_143 = self.input.LA(3)
13163
13164 if (self.synpred186()) :
13165 alt93 = 1
13166
13167
13168 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13169 LA93_144 = self.input.LA(3)
13170
13171 if (self.synpred186()) :
13172 alt93 = 1
13173
13174
13175
13176 elif LA93 == 35:
13177 LA93 = self.input.LA(2)
13178 if LA93 == 66:
13179 LA93_145 = self.input.LA(3)
13180
13181 if (self.synpred186()) :
13182 alt93 = 1
13183
13184
13185 elif LA93 == 58:
13186 LA93_146 = self.input.LA(3)
13187
13188 if (self.synpred186()) :
13189 alt93 = 1
13190
13191
13192 elif LA93 == 59:
13193 LA93_147 = self.input.LA(3)
13194
13195 if (self.synpred186()) :
13196 alt93 = 1
13197
13198
13199 elif LA93 == 60:
13200 LA93_148 = self.input.LA(3)
13201
13202 if (self.synpred186()) :
13203 alt93 = 1
13204
13205
13206 elif LA93 == IDENTIFIER:
13207 LA93_149 = self.input.LA(3)
13208
13209 if (self.synpred186()) :
13210 alt93 = 1
13211
13212
13213 elif LA93 == 62:
13214 LA93_150 = self.input.LA(3)
13215
13216 if (self.synpred186()) :
13217 alt93 = 1
13218
13219
13220 elif LA93 == 25:
13221 LA93_151 = self.input.LA(3)
13222
13223 if (self.synpred186()) :
13224 alt93 = 1
13225
13226
13227 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13228 LA93_152 = self.input.LA(3)
13229
13230 if (self.synpred186()) :
13231 alt93 = 1
13232
13233
13234 elif LA93 == 34:
13235 LA93_153 = self.input.LA(3)
13236
13237 if (self.synpred186()) :
13238 alt93 = 1
13239
13240
13241 elif LA93 == 35:
13242 LA93_154 = self.input.LA(3)
13243
13244 if (self.synpred186()) :
13245 alt93 = 1
13246
13247
13248 elif LA93 == 36:
13249 LA93_155 = self.input.LA(3)
13250
13251 if (self.synpred186()) :
13252 alt93 = 1
13253
13254
13255 elif LA93 == 37:
13256 LA93_156 = self.input.LA(3)
13257
13258 if (self.synpred186()) :
13259 alt93 = 1
13260
13261
13262 elif LA93 == 38:
13263 LA93_157 = self.input.LA(3)
13264
13265 if (self.synpred186()) :
13266 alt93 = 1
13267
13268
13269 elif LA93 == 39:
13270 LA93_158 = self.input.LA(3)
13271
13272 if (self.synpred186()) :
13273 alt93 = 1
13274
13275
13276 elif LA93 == 40:
13277 LA93_159 = self.input.LA(3)
13278
13279 if (self.synpred186()) :
13280 alt93 = 1
13281
13282
13283 elif LA93 == 41:
13284 LA93_160 = self.input.LA(3)
13285
13286 if (self.synpred186()) :
13287 alt93 = 1
13288
13289
13290 elif LA93 == 42:
13291 LA93_161 = self.input.LA(3)
13292
13293 if (self.synpred186()) :
13294 alt93 = 1
13295
13296
13297 elif LA93 == 45 or LA93 == 46:
13298 LA93_162 = self.input.LA(3)
13299
13300 if (self.synpred186()) :
13301 alt93 = 1
13302
13303
13304 elif LA93 == 48:
13305 LA93_163 = self.input.LA(3)
13306
13307 if (self.synpred186()) :
13308 alt93 = 1
13309
13310
13311 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13312 LA93_164 = self.input.LA(3)
13313
13314 if (self.synpred186()) :
13315 alt93 = 1
13316
13317
13318
13319 elif LA93 == 36:
13320 LA93 = self.input.LA(2)
13321 if LA93 == 66:
13322 LA93_165 = self.input.LA(3)
13323
13324 if (self.synpred186()) :
13325 alt93 = 1
13326
13327
13328 elif LA93 == 58:
13329 LA93_166 = self.input.LA(3)
13330
13331 if (self.synpred186()) :
13332 alt93 = 1
13333
13334
13335 elif LA93 == 59:
13336 LA93_167 = self.input.LA(3)
13337
13338 if (self.synpred186()) :
13339 alt93 = 1
13340
13341
13342 elif LA93 == 60:
13343 LA93_168 = self.input.LA(3)
13344
13345 if (self.synpred186()) :
13346 alt93 = 1
13347
13348
13349 elif LA93 == IDENTIFIER:
13350 LA93_169 = self.input.LA(3)
13351
13352 if (self.synpred186()) :
13353 alt93 = 1
13354
13355
13356 elif LA93 == 62:
13357 LA93_170 = self.input.LA(3)
13358
13359 if (self.synpred186()) :
13360 alt93 = 1
13361
13362
13363 elif LA93 == 25:
13364 LA93_171 = self.input.LA(3)
13365
13366 if (self.synpred186()) :
13367 alt93 = 1
13368
13369
13370 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13371 LA93_172 = self.input.LA(3)
13372
13373 if (self.synpred186()) :
13374 alt93 = 1
13375
13376
13377 elif LA93 == 34:
13378 LA93_173 = self.input.LA(3)
13379
13380 if (self.synpred186()) :
13381 alt93 = 1
13382
13383
13384 elif LA93 == 35:
13385 LA93_174 = self.input.LA(3)
13386
13387 if (self.synpred186()) :
13388 alt93 = 1
13389
13390
13391 elif LA93 == 36:
13392 LA93_175 = self.input.LA(3)
13393
13394 if (self.synpred186()) :
13395 alt93 = 1
13396
13397
13398 elif LA93 == 37:
13399 LA93_176 = self.input.LA(3)
13400
13401 if (self.synpred186()) :
13402 alt93 = 1
13403
13404
13405 elif LA93 == 38:
13406 LA93_177 = self.input.LA(3)
13407
13408 if (self.synpred186()) :
13409 alt93 = 1
13410
13411
13412 elif LA93 == 39:
13413 LA93_178 = self.input.LA(3)
13414
13415 if (self.synpred186()) :
13416 alt93 = 1
13417
13418
13419 elif LA93 == 40:
13420 LA93_179 = self.input.LA(3)
13421
13422 if (self.synpred186()) :
13423 alt93 = 1
13424
13425
13426 elif LA93 == 41:
13427 LA93_180 = self.input.LA(3)
13428
13429 if (self.synpred186()) :
13430 alt93 = 1
13431
13432
13433 elif LA93 == 42:
13434 LA93_181 = self.input.LA(3)
13435
13436 if (self.synpred186()) :
13437 alt93 = 1
13438
13439
13440 elif LA93 == 45 or LA93 == 46:
13441 LA93_182 = self.input.LA(3)
13442
13443 if (self.synpred186()) :
13444 alt93 = 1
13445
13446
13447 elif LA93 == 48:
13448 LA93_183 = self.input.LA(3)
13449
13450 if (self.synpred186()) :
13451 alt93 = 1
13452
13453
13454 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13455 LA93_184 = self.input.LA(3)
13456
13457 if (self.synpred186()) :
13458 alt93 = 1
13459
13460
13461
13462 elif LA93 == 37:
13463 LA93 = self.input.LA(2)
13464 if LA93 == 66:
13465 LA93_185 = self.input.LA(3)
13466
13467 if (self.synpred186()) :
13468 alt93 = 1
13469
13470
13471 elif LA93 == 58:
13472 LA93_186 = self.input.LA(3)
13473
13474 if (self.synpred186()) :
13475 alt93 = 1
13476
13477
13478 elif LA93 == 59:
13479 LA93_187 = self.input.LA(3)
13480
13481 if (self.synpred186()) :
13482 alt93 = 1
13483
13484
13485 elif LA93 == 60:
13486 LA93_188 = self.input.LA(3)
13487
13488 if (self.synpred186()) :
13489 alt93 = 1
13490
13491
13492 elif LA93 == IDENTIFIER:
13493 LA93_189 = self.input.LA(3)
13494
13495 if (self.synpred186()) :
13496 alt93 = 1
13497
13498
13499 elif LA93 == 62:
13500 LA93_190 = self.input.LA(3)
13501
13502 if (self.synpred186()) :
13503 alt93 = 1
13504
13505
13506 elif LA93 == 25:
13507 LA93_191 = self.input.LA(3)
13508
13509 if (self.synpred186()) :
13510 alt93 = 1
13511
13512
13513 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13514 LA93_192 = self.input.LA(3)
13515
13516 if (self.synpred186()) :
13517 alt93 = 1
13518
13519
13520 elif LA93 == 34:
13521 LA93_193 = self.input.LA(3)
13522
13523 if (self.synpred186()) :
13524 alt93 = 1
13525
13526
13527 elif LA93 == 35:
13528 LA93_194 = self.input.LA(3)
13529
13530 if (self.synpred186()) :
13531 alt93 = 1
13532
13533
13534 elif LA93 == 36:
13535 LA93_195 = self.input.LA(3)
13536
13537 if (self.synpred186()) :
13538 alt93 = 1
13539
13540
13541 elif LA93 == 37:
13542 LA93_196 = self.input.LA(3)
13543
13544 if (self.synpred186()) :
13545 alt93 = 1
13546
13547
13548 elif LA93 == 38:
13549 LA93_197 = self.input.LA(3)
13550
13551 if (self.synpred186()) :
13552 alt93 = 1
13553
13554
13555 elif LA93 == 39:
13556 LA93_198 = self.input.LA(3)
13557
13558 if (self.synpred186()) :
13559 alt93 = 1
13560
13561
13562 elif LA93 == 40:
13563 LA93_199 = self.input.LA(3)
13564
13565 if (self.synpred186()) :
13566 alt93 = 1
13567
13568
13569 elif LA93 == 41:
13570 LA93_200 = self.input.LA(3)
13571
13572 if (self.synpred186()) :
13573 alt93 = 1
13574
13575
13576 elif LA93 == 42:
13577 LA93_201 = self.input.LA(3)
13578
13579 if (self.synpred186()) :
13580 alt93 = 1
13581
13582
13583 elif LA93 == 45 or LA93 == 46:
13584 LA93_202 = self.input.LA(3)
13585
13586 if (self.synpred186()) :
13587 alt93 = 1
13588
13589
13590 elif LA93 == 48:
13591 LA93_203 = self.input.LA(3)
13592
13593 if (self.synpred186()) :
13594 alt93 = 1
13595
13596
13597 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13598 LA93_204 = self.input.LA(3)
13599
13600 if (self.synpred186()) :
13601 alt93 = 1
13602
13603
13604
13605 elif LA93 == 38:
13606 LA93 = self.input.LA(2)
13607 if LA93 == 66:
13608 LA93_205 = self.input.LA(3)
13609
13610 if (self.synpred186()) :
13611 alt93 = 1
13612
13613
13614 elif LA93 == 58:
13615 LA93_206 = self.input.LA(3)
13616
13617 if (self.synpred186()) :
13618 alt93 = 1
13619
13620
13621 elif LA93 == 59:
13622 LA93_207 = self.input.LA(3)
13623
13624 if (self.synpred186()) :
13625 alt93 = 1
13626
13627
13628 elif LA93 == 60:
13629 LA93_208 = self.input.LA(3)
13630
13631 if (self.synpred186()) :
13632 alt93 = 1
13633
13634
13635 elif LA93 == IDENTIFIER:
13636 LA93_209 = self.input.LA(3)
13637
13638 if (self.synpred186()) :
13639 alt93 = 1
13640
13641
13642 elif LA93 == 62:
13643 LA93_210 = self.input.LA(3)
13644
13645 if (self.synpred186()) :
13646 alt93 = 1
13647
13648
13649 elif LA93 == 25:
13650 LA93_211 = self.input.LA(3)
13651
13652 if (self.synpred186()) :
13653 alt93 = 1
13654
13655
13656 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13657 LA93_212 = self.input.LA(3)
13658
13659 if (self.synpred186()) :
13660 alt93 = 1
13661
13662
13663 elif LA93 == 34:
13664 LA93_213 = self.input.LA(3)
13665
13666 if (self.synpred186()) :
13667 alt93 = 1
13668
13669
13670 elif LA93 == 35:
13671 LA93_214 = self.input.LA(3)
13672
13673 if (self.synpred186()) :
13674 alt93 = 1
13675
13676
13677 elif LA93 == 36:
13678 LA93_215 = self.input.LA(3)
13679
13680 if (self.synpred186()) :
13681 alt93 = 1
13682
13683
13684 elif LA93 == 37:
13685 LA93_216 = self.input.LA(3)
13686
13687 if (self.synpred186()) :
13688 alt93 = 1
13689
13690
13691 elif LA93 == 38:
13692 LA93_217 = self.input.LA(3)
13693
13694 if (self.synpred186()) :
13695 alt93 = 1
13696
13697
13698 elif LA93 == 39:
13699 LA93_218 = self.input.LA(3)
13700
13701 if (self.synpred186()) :
13702 alt93 = 1
13703
13704
13705 elif LA93 == 40:
13706 LA93_219 = self.input.LA(3)
13707
13708 if (self.synpred186()) :
13709 alt93 = 1
13710
13711
13712 elif LA93 == 41:
13713 LA93_220 = self.input.LA(3)
13714
13715 if (self.synpred186()) :
13716 alt93 = 1
13717
13718
13719 elif LA93 == 42:
13720 LA93_221 = self.input.LA(3)
13721
13722 if (self.synpred186()) :
13723 alt93 = 1
13724
13725
13726 elif LA93 == 45 or LA93 == 46:
13727 LA93_222 = self.input.LA(3)
13728
13729 if (self.synpred186()) :
13730 alt93 = 1
13731
13732
13733 elif LA93 == 48:
13734 LA93_223 = self.input.LA(3)
13735
13736 if (self.synpred186()) :
13737 alt93 = 1
13738
13739
13740 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13741 LA93_224 = self.input.LA(3)
13742
13743 if (self.synpred186()) :
13744 alt93 = 1
13745
13746
13747
13748 elif LA93 == 39:
13749 LA93 = self.input.LA(2)
13750 if LA93 == 66:
13751 LA93_225 = self.input.LA(3)
13752
13753 if (self.synpred186()) :
13754 alt93 = 1
13755
13756
13757 elif LA93 == 58:
13758 LA93_226 = self.input.LA(3)
13759
13760 if (self.synpred186()) :
13761 alt93 = 1
13762
13763
13764 elif LA93 == 59:
13765 LA93_227 = self.input.LA(3)
13766
13767 if (self.synpred186()) :
13768 alt93 = 1
13769
13770
13771 elif LA93 == 60:
13772 LA93_228 = self.input.LA(3)
13773
13774 if (self.synpred186()) :
13775 alt93 = 1
13776
13777
13778 elif LA93 == IDENTIFIER:
13779 LA93_229 = self.input.LA(3)
13780
13781 if (self.synpred186()) :
13782 alt93 = 1
13783
13784
13785 elif LA93 == 62:
13786 LA93_230 = self.input.LA(3)
13787
13788 if (self.synpred186()) :
13789 alt93 = 1
13790
13791
13792 elif LA93 == 25:
13793 LA93_231 = self.input.LA(3)
13794
13795 if (self.synpred186()) :
13796 alt93 = 1
13797
13798
13799 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13800 LA93_232 = self.input.LA(3)
13801
13802 if (self.synpred186()) :
13803 alt93 = 1
13804
13805
13806 elif LA93 == 34:
13807 LA93_233 = self.input.LA(3)
13808
13809 if (self.synpred186()) :
13810 alt93 = 1
13811
13812
13813 elif LA93 == 35:
13814 LA93_234 = self.input.LA(3)
13815
13816 if (self.synpred186()) :
13817 alt93 = 1
13818
13819
13820 elif LA93 == 36:
13821 LA93_235 = self.input.LA(3)
13822
13823 if (self.synpred186()) :
13824 alt93 = 1
13825
13826
13827 elif LA93 == 37:
13828 LA93_236 = self.input.LA(3)
13829
13830 if (self.synpred186()) :
13831 alt93 = 1
13832
13833
13834 elif LA93 == 38:
13835 LA93_237 = self.input.LA(3)
13836
13837 if (self.synpred186()) :
13838 alt93 = 1
13839
13840
13841 elif LA93 == 39:
13842 LA93_238 = self.input.LA(3)
13843
13844 if (self.synpred186()) :
13845 alt93 = 1
13846
13847
13848 elif LA93 == 40:
13849 LA93_239 = self.input.LA(3)
13850
13851 if (self.synpred186()) :
13852 alt93 = 1
13853
13854
13855 elif LA93 == 41:
13856 LA93_240 = self.input.LA(3)
13857
13858 if (self.synpred186()) :
13859 alt93 = 1
13860
13861
13862 elif LA93 == 42:
13863 LA93_241 = self.input.LA(3)
13864
13865 if (self.synpred186()) :
13866 alt93 = 1
13867
13868
13869 elif LA93 == 45 or LA93 == 46:
13870 LA93_242 = self.input.LA(3)
13871
13872 if (self.synpred186()) :
13873 alt93 = 1
13874
13875
13876 elif LA93 == 48:
13877 LA93_243 = self.input.LA(3)
13878
13879 if (self.synpred186()) :
13880 alt93 = 1
13881
13882
13883 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
13884 LA93_244 = self.input.LA(3)
13885
13886 if (self.synpred186()) :
13887 alt93 = 1
13888
13889
13890
13891 elif LA93 == 40:
13892 LA93 = self.input.LA(2)
13893 if LA93 == 66:
13894 LA93_245 = self.input.LA(3)
13895
13896 if (self.synpred186()) :
13897 alt93 = 1
13898
13899
13900 elif LA93 == 58:
13901 LA93_246 = self.input.LA(3)
13902
13903 if (self.synpred186()) :
13904 alt93 = 1
13905
13906
13907 elif LA93 == 59:
13908 LA93_247 = self.input.LA(3)
13909
13910 if (self.synpred186()) :
13911 alt93 = 1
13912
13913
13914 elif LA93 == 60:
13915 LA93_248 = self.input.LA(3)
13916
13917 if (self.synpred186()) :
13918 alt93 = 1
13919
13920
13921 elif LA93 == IDENTIFIER:
13922 LA93_249 = self.input.LA(3)
13923
13924 if (self.synpred186()) :
13925 alt93 = 1
13926
13927
13928 elif LA93 == 62:
13929 LA93_250 = self.input.LA(3)
13930
13931 if (self.synpred186()) :
13932 alt93 = 1
13933
13934
13935 elif LA93 == 25:
13936 LA93_251 = self.input.LA(3)
13937
13938 if (self.synpred186()) :
13939 alt93 = 1
13940
13941
13942 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13943 LA93_252 = self.input.LA(3)
13944
13945 if (self.synpred186()) :
13946 alt93 = 1
13947
13948
13949 elif LA93 == 34:
13950 LA93_253 = self.input.LA(3)
13951
13952 if (self.synpred186()) :
13953 alt93 = 1
13954
13955
13956 elif LA93 == 35:
13957 LA93_254 = self.input.LA(3)
13958
13959 if (self.synpred186()) :
13960 alt93 = 1
13961
13962
13963 elif LA93 == 36:
13964 LA93_255 = self.input.LA(3)
13965
13966 if (self.synpred186()) :
13967 alt93 = 1
13968
13969
13970 elif LA93 == 37:
13971 LA93_256 = self.input.LA(3)
13972
13973 if (self.synpred186()) :
13974 alt93 = 1
13975
13976
13977 elif LA93 == 38:
13978 LA93_257 = self.input.LA(3)
13979
13980 if (self.synpred186()) :
13981 alt93 = 1
13982
13983
13984 elif LA93 == 39:
13985 LA93_258 = self.input.LA(3)
13986
13987 if (self.synpred186()) :
13988 alt93 = 1
13989
13990
13991 elif LA93 == 40:
13992 LA93_259 = self.input.LA(3)
13993
13994 if (self.synpred186()) :
13995 alt93 = 1
13996
13997
13998 elif LA93 == 41:
13999 LA93_260 = self.input.LA(3)
14000
14001 if (self.synpred186()) :
14002 alt93 = 1
14003
14004
14005 elif LA93 == 42:
14006 LA93_261 = self.input.LA(3)
14007
14008 if (self.synpred186()) :
14009 alt93 = 1
14010
14011
14012 elif LA93 == 45 or LA93 == 46:
14013 LA93_262 = self.input.LA(3)
14014
14015 if (self.synpred186()) :
14016 alt93 = 1
14017
14018
14019 elif LA93 == 48:
14020 LA93_263 = self.input.LA(3)
14021
14022 if (self.synpred186()) :
14023 alt93 = 1
14024
14025
14026 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14027 LA93_264 = self.input.LA(3)
14028
14029 if (self.synpred186()) :
14030 alt93 = 1
14031
14032
14033
14034 elif LA93 == 41:
14035 LA93 = self.input.LA(2)
14036 if LA93 == 66:
14037 LA93_265 = self.input.LA(3)
14038
14039 if (self.synpred186()) :
14040 alt93 = 1
14041
14042
14043 elif LA93 == 58:
14044 LA93_266 = self.input.LA(3)
14045
14046 if (self.synpred186()) :
14047 alt93 = 1
14048
14049
14050 elif LA93 == 59:
14051 LA93_267 = self.input.LA(3)
14052
14053 if (self.synpred186()) :
14054 alt93 = 1
14055
14056
14057 elif LA93 == 60:
14058 LA93_268 = self.input.LA(3)
14059
14060 if (self.synpred186()) :
14061 alt93 = 1
14062
14063
14064 elif LA93 == IDENTIFIER:
14065 LA93_269 = self.input.LA(3)
14066
14067 if (self.synpred186()) :
14068 alt93 = 1
14069
14070
14071 elif LA93 == 62:
14072 LA93_270 = self.input.LA(3)
14073
14074 if (self.synpred186()) :
14075 alt93 = 1
14076
14077
14078 elif LA93 == 25:
14079 LA93_271 = self.input.LA(3)
14080
14081 if (self.synpred186()) :
14082 alt93 = 1
14083
14084
14085 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14086 LA93_272 = self.input.LA(3)
14087
14088 if (self.synpred186()) :
14089 alt93 = 1
14090
14091
14092 elif LA93 == 34:
14093 LA93_273 = self.input.LA(3)
14094
14095 if (self.synpred186()) :
14096 alt93 = 1
14097
14098
14099 elif LA93 == 35:
14100 LA93_274 = self.input.LA(3)
14101
14102 if (self.synpred186()) :
14103 alt93 = 1
14104
14105
14106 elif LA93 == 36:
14107 LA93_275 = self.input.LA(3)
14108
14109 if (self.synpred186()) :
14110 alt93 = 1
14111
14112
14113 elif LA93 == 37:
14114 LA93_276 = self.input.LA(3)
14115
14116 if (self.synpred186()) :
14117 alt93 = 1
14118
14119
14120 elif LA93 == 38:
14121 LA93_277 = self.input.LA(3)
14122
14123 if (self.synpred186()) :
14124 alt93 = 1
14125
14126
14127 elif LA93 == 39:
14128 LA93_278 = self.input.LA(3)
14129
14130 if (self.synpred186()) :
14131 alt93 = 1
14132
14133
14134 elif LA93 == 40:
14135 LA93_279 = self.input.LA(3)
14136
14137 if (self.synpred186()) :
14138 alt93 = 1
14139
14140
14141 elif LA93 == 41:
14142 LA93_280 = self.input.LA(3)
14143
14144 if (self.synpred186()) :
14145 alt93 = 1
14146
14147
14148 elif LA93 == 42:
14149 LA93_281 = self.input.LA(3)
14150
14151 if (self.synpred186()) :
14152 alt93 = 1
14153
14154
14155 elif LA93 == 45 or LA93 == 46:
14156 LA93_282 = self.input.LA(3)
14157
14158 if (self.synpred186()) :
14159 alt93 = 1
14160
14161
14162 elif LA93 == 48:
14163 LA93_283 = self.input.LA(3)
14164
14165 if (self.synpred186()) :
14166 alt93 = 1
14167
14168
14169 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14170 LA93_284 = self.input.LA(3)
14171
14172 if (self.synpred186()) :
14173 alt93 = 1
14174
14175
14176
14177 elif LA93 == 42:
14178 LA93 = self.input.LA(2)
14179 if LA93 == 66:
14180 LA93_285 = self.input.LA(3)
14181
14182 if (self.synpred186()) :
14183 alt93 = 1
14184
14185
14186 elif LA93 == 58:
14187 LA93_286 = self.input.LA(3)
14188
14189 if (self.synpred186()) :
14190 alt93 = 1
14191
14192
14193 elif LA93 == 59:
14194 LA93_287 = self.input.LA(3)
14195
14196 if (self.synpred186()) :
14197 alt93 = 1
14198
14199
14200 elif LA93 == 60:
14201 LA93_288 = self.input.LA(3)
14202
14203 if (self.synpred186()) :
14204 alt93 = 1
14205
14206
14207 elif LA93 == IDENTIFIER:
14208 LA93_289 = self.input.LA(3)
14209
14210 if (self.synpred186()) :
14211 alt93 = 1
14212
14213
14214 elif LA93 == 62:
14215 LA93_290 = self.input.LA(3)
14216
14217 if (self.synpred186()) :
14218 alt93 = 1
14219
14220
14221 elif LA93 == 25:
14222 LA93_291 = self.input.LA(3)
14223
14224 if (self.synpred186()) :
14225 alt93 = 1
14226
14227
14228 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14229 LA93_292 = self.input.LA(3)
14230
14231 if (self.synpred186()) :
14232 alt93 = 1
14233
14234
14235 elif LA93 == 34:
14236 LA93_293 = self.input.LA(3)
14237
14238 if (self.synpred186()) :
14239 alt93 = 1
14240
14241
14242 elif LA93 == 35:
14243 LA93_294 = self.input.LA(3)
14244
14245 if (self.synpred186()) :
14246 alt93 = 1
14247
14248
14249 elif LA93 == 36:
14250 LA93_295 = self.input.LA(3)
14251
14252 if (self.synpred186()) :
14253 alt93 = 1
14254
14255
14256 elif LA93 == 37:
14257 LA93_296 = self.input.LA(3)
14258
14259 if (self.synpred186()) :
14260 alt93 = 1
14261
14262
14263 elif LA93 == 38:
14264 LA93_297 = self.input.LA(3)
14265
14266 if (self.synpred186()) :
14267 alt93 = 1
14268
14269
14270 elif LA93 == 39:
14271 LA93_298 = self.input.LA(3)
14272
14273 if (self.synpred186()) :
14274 alt93 = 1
14275
14276
14277 elif LA93 == 40:
14278 LA93_299 = self.input.LA(3)
14279
14280 if (self.synpred186()) :
14281 alt93 = 1
14282
14283
14284 elif LA93 == 41:
14285 LA93_300 = self.input.LA(3)
14286
14287 if (self.synpred186()) :
14288 alt93 = 1
14289
14290
14291 elif LA93 == 42:
14292 LA93_301 = self.input.LA(3)
14293
14294 if (self.synpred186()) :
14295 alt93 = 1
14296
14297
14298 elif LA93 == 45 or LA93 == 46:
14299 LA93_302 = self.input.LA(3)
14300
14301 if (self.synpred186()) :
14302 alt93 = 1
14303
14304
14305 elif LA93 == 48:
14306 LA93_303 = self.input.LA(3)
14307
14308 if (self.synpred186()) :
14309 alt93 = 1
14310
14311
14312 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14313 LA93_304 = self.input.LA(3)
14314
14315 if (self.synpred186()) :
14316 alt93 = 1
14317
14318
14319
14320 elif LA93 == 45 or LA93 == 46:
14321 LA93_40 = self.input.LA(2)
14322
14323 if (LA93_40 == IDENTIFIER) :
14324 LA93_305 = self.input.LA(3)
14325
14326 if (self.synpred186()) :
14327 alt93 = 1
14328
14329
14330 elif (LA93_40 == 43) :
14331 LA93_306 = self.input.LA(3)
14332
14333 if (self.synpred186()) :
14334 alt93 = 1
14335
14336
14337
14338
14339 elif LA93 == 48:
14340 LA93_41 = self.input.LA(2)
14341
14342 if (LA93_41 == 43) :
14343 LA93_307 = self.input.LA(3)
14344
14345 if (self.synpred186()) :
14346 alt93 = 1
14347
14348
14349 elif (LA93_41 == IDENTIFIER) :
14350 LA93_308 = self.input.LA(3)
14351
14352 if (self.synpred186()) :
14353 alt93 = 1
14354
14355
14356
14357
14358 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60 or LA93 == 61:
14359 LA93 = self.input.LA(2)
14360 if LA93 == 66:
14361 LA93_309 = self.input.LA(3)
14362
14363 if (self.synpred186()) :
14364 alt93 = 1
14365
14366
14367 elif LA93 == 58:
14368 LA93_310 = self.input.LA(3)
14369
14370 if (self.synpred186()) :
14371 alt93 = 1
14372
14373
14374 elif LA93 == 59:
14375 LA93_311 = self.input.LA(3)
14376
14377 if (self.synpred186()) :
14378 alt93 = 1
14379
14380
14381 elif LA93 == 60:
14382 LA93_312 = self.input.LA(3)
14383
14384 if (self.synpred186()) :
14385 alt93 = 1
14386
14387
14388 elif LA93 == IDENTIFIER:
14389 LA93_313 = self.input.LA(3)
14390
14391 if (self.synpred186()) :
14392 alt93 = 1
14393
14394
14395 elif LA93 == 62:
14396 LA93_314 = self.input.LA(3)
14397
14398 if (self.synpred186()) :
14399 alt93 = 1
14400
14401
14402 elif LA93 == 25:
14403 LA93_315 = self.input.LA(3)
14404
14405 if (self.synpred186()) :
14406 alt93 = 1
14407
14408
14409 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14410 LA93_316 = self.input.LA(3)
14411
14412 if (self.synpred186()) :
14413 alt93 = 1
14414
14415
14416 elif LA93 == 34:
14417 LA93_317 = self.input.LA(3)
14418
14419 if (self.synpred186()) :
14420 alt93 = 1
14421
14422
14423 elif LA93 == 35:
14424 LA93_318 = self.input.LA(3)
14425
14426 if (self.synpred186()) :
14427 alt93 = 1
14428
14429
14430 elif LA93 == 36:
14431 LA93_319 = self.input.LA(3)
14432
14433 if (self.synpred186()) :
14434 alt93 = 1
14435
14436
14437 elif LA93 == 37:
14438 LA93_320 = self.input.LA(3)
14439
14440 if (self.synpred186()) :
14441 alt93 = 1
14442
14443
14444 elif LA93 == 38:
14445 LA93_321 = self.input.LA(3)
14446
14447 if (self.synpred186()) :
14448 alt93 = 1
14449
14450
14451 elif LA93 == 39:
14452 LA93_322 = self.input.LA(3)
14453
14454 if (self.synpred186()) :
14455 alt93 = 1
14456
14457
14458 elif LA93 == 40:
14459 LA93_323 = self.input.LA(3)
14460
14461 if (self.synpred186()) :
14462 alt93 = 1
14463
14464
14465 elif LA93 == 41:
14466 LA93_324 = self.input.LA(3)
14467
14468 if (self.synpred186()) :
14469 alt93 = 1
14470
14471
14472 elif LA93 == 42:
14473 LA93_325 = self.input.LA(3)
14474
14475 if (self.synpred186()) :
14476 alt93 = 1
14477
14478
14479 elif LA93 == 45 or LA93 == 46:
14480 LA93_326 = self.input.LA(3)
14481
14482 if (self.synpred186()) :
14483 alt93 = 1
14484
14485
14486 elif LA93 == 48:
14487 LA93_327 = self.input.LA(3)
14488
14489 if (self.synpred186()) :
14490 alt93 = 1
14491
14492
14493 elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
14494 LA93_328 = self.input.LA(3)
14495
14496 if (self.synpred186()) :
14497 alt93 = 1
14498
14499
14500
14501
14502 if alt93 == 1:
14503 # C.g:0:0: declaration
14504 self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
14505 self.declaration()
14506 self.following.pop()
14507 if self.failed:
14508 return retval
14509
14510
14511 else:
14512 break #loop93
14513
14514
14515 # C.g:554:21: ( statement_list )?
14516 alt94 = 2
14517 LA94_0 = self.input.LA(1)
14518
14519 if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 62) or LA94_0 == 66 or (68 <= LA94_0 <= 69) or (72 <= LA94_0 <= 74) or (77 <= LA94_0 <= 79) or (103 <= LA94_0 <= 108) or (110 <= LA94_0 <= 117)) :
14520 alt94 = 1
14521 if alt94 == 1:
14522 # C.g:0:0: statement_list
14523 self.following.append(self.FOLLOW_statement_list_in_compound_statement2228)
14524 self.statement_list()
14525 self.following.pop()
14526 if self.failed:
14527 return retval
14528
14529
14530
14531 self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
14532 if self.failed:
14533 return retval
14534
14535
14536
14537 retval.stop = self.input.LT(-1)
14538
14539
14540 except RecognitionException, re:
14541 self.reportError(re)
14542 self.recover(self.input, re)
14543 finally:
14544 if self.backtracking > 0:
14545 self.memoize(self.input, 66, compound_statement_StartIndex)
14546
14547 pass
14548
14549 return retval
14550
14551 # $ANTLR end compound_statement
14552
14553
14554 # $ANTLR start statement_list
14555 # C.g:557:1: statement_list : ( statement )+ ;
14556 def statement_list(self, ):
14557
14558 statement_list_StartIndex = self.input.index()
14559 try:
14560 try:
14561 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
14562 return
14563
14564 # C.g:558:2: ( ( statement )+ )
14565 # C.g:558:4: ( statement )+
14566 # C.g:558:4: ( statement )+
14567 cnt95 = 0
14568 while True: #loop95
14569 alt95 = 2
14570 LA95 = self.input.LA(1)
14571 if LA95 == IDENTIFIER:
14572 LA95 = self.input.LA(2)
14573 if LA95 == 62:
14574 LA95_46 = self.input.LA(3)
14575
14576 if (self.synpred188()) :
14577 alt95 = 1
14578
14579
14580 elif LA95 == 25 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 45 or LA95 == 46 or LA95 == 47 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
14581 alt95 = 1
14582 elif LA95 == STRING_LITERAL:
14583 LA95_48 = self.input.LA(3)
14584
14585 if (self.synpred188()) :
14586 alt95 = 1
14587
14588
14589 elif LA95 == IDENTIFIER:
14590 LA95_49 = self.input.LA(3)
14591
14592 if (self.synpred188()) :
14593 alt95 = 1
14594
14595
14596 elif LA95 == 64:
14597 LA95_50 = self.input.LA(3)
14598
14599 if (self.synpred188()) :
14600 alt95 = 1
14601
14602
14603 elif LA95 == 75:
14604 LA95_51 = self.input.LA(3)
14605
14606 if (self.synpred188()) :
14607 alt95 = 1
14608
14609
14610 elif LA95 == 66:
14611 LA95_52 = self.input.LA(3)
14612
14613 if (self.synpred188()) :
14614 alt95 = 1
14615
14616
14617 elif LA95 == 76:
14618 LA95_53 = self.input.LA(3)
14619
14620 if (self.synpred188()) :
14621 alt95 = 1
14622
14623
14624 elif LA95 == 72:
14625 LA95_54 = self.input.LA(3)
14626
14627 if (self.synpred188()) :
14628 alt95 = 1
14629
14630
14631 elif LA95 == 73:
14632 LA95_55 = self.input.LA(3)
14633
14634 if (self.synpred188()) :
14635 alt95 = 1
14636
14637
14638 elif LA95 == 70:
14639 LA95_56 = self.input.LA(3)
14640
14641 if (self.synpred188()) :
14642 alt95 = 1
14643
14644
14645 elif LA95 == 71:
14646 LA95_57 = self.input.LA(3)
14647
14648 if (self.synpred188()) :
14649 alt95 = 1
14650
14651
14652 elif LA95 == 68:
14653 LA95_58 = self.input.LA(3)
14654
14655 if (self.synpred188()) :
14656 alt95 = 1
14657
14658
14659 elif LA95 == 69:
14660 LA95_59 = self.input.LA(3)
14661
14662 if (self.synpred188()) :
14663 alt95 = 1
14664
14665
14666 elif LA95 == 101 or LA95 == 102:
14667 LA95_60 = self.input.LA(3)
14668
14669 if (self.synpred188()) :
14670 alt95 = 1
14671
14672
14673 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14674 LA95_61 = self.input.LA(3)
14675
14676 if (self.synpred188()) :
14677 alt95 = 1
14678
14679
14680 elif LA95 == 95 or LA95 == 96:
14681 LA95_62 = self.input.LA(3)
14682
14683 if (self.synpred188()) :
14684 alt95 = 1
14685
14686
14687 elif LA95 == 77:
14688 LA95_63 = self.input.LA(3)
14689
14690 if (self.synpred188()) :
14691 alt95 = 1
14692
14693
14694 elif LA95 == 94:
14695 LA95_64 = self.input.LA(3)
14696
14697 if (self.synpred188()) :
14698 alt95 = 1
14699
14700
14701 elif LA95 == 93:
14702 LA95_65 = self.input.LA(3)
14703
14704 if (self.synpred188()) :
14705 alt95 = 1
14706
14707
14708 elif LA95 == 92:
14709 LA95_66 = self.input.LA(3)
14710
14711 if (self.synpred188()) :
14712 alt95 = 1
14713
14714
14715 elif LA95 == 91:
14716 LA95_67 = self.input.LA(3)
14717
14718 if (self.synpred188()) :
14719 alt95 = 1
14720
14721
14722 elif LA95 == 90:
14723 LA95_68 = self.input.LA(3)
14724
14725 if (self.synpred188()) :
14726 alt95 = 1
14727
14728
14729 elif LA95 == 27:
14730 LA95_69 = self.input.LA(3)
14731
14732 if (self.synpred188()) :
14733 alt95 = 1
14734
14735
14736 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
14737 LA95_88 = self.input.LA(3)
14738
14739 if (self.synpred188()) :
14740 alt95 = 1
14741
14742
14743
14744 elif LA95 == HEX_LITERAL:
14745 LA95 = self.input.LA(2)
14746 if LA95 == 64:
14747 LA95_89 = self.input.LA(3)
14748
14749 if (self.synpred188()) :
14750 alt95 = 1
14751
14752
14753 elif LA95 == 62:
14754 LA95_90 = self.input.LA(3)
14755
14756 if (self.synpred188()) :
14757 alt95 = 1
14758
14759
14760 elif LA95 == 75:
14761 LA95_91 = self.input.LA(3)
14762
14763 if (self.synpred188()) :
14764 alt95 = 1
14765
14766
14767 elif LA95 == 66:
14768 LA95_92 = self.input.LA(3)
14769
14770 if (self.synpred188()) :
14771 alt95 = 1
14772
14773
14774 elif LA95 == 76:
14775 LA95_93 = self.input.LA(3)
14776
14777 if (self.synpred188()) :
14778 alt95 = 1
14779
14780
14781 elif LA95 == 72:
14782 LA95_94 = self.input.LA(3)
14783
14784 if (self.synpred188()) :
14785 alt95 = 1
14786
14787
14788 elif LA95 == 73:
14789 LA95_95 = self.input.LA(3)
14790
14791 if (self.synpred188()) :
14792 alt95 = 1
14793
14794
14795 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
14796 LA95_96 = self.input.LA(3)
14797
14798 if (self.synpred188()) :
14799 alt95 = 1
14800
14801
14802 elif LA95 == 70:
14803 LA95_97 = self.input.LA(3)
14804
14805 if (self.synpred188()) :
14806 alt95 = 1
14807
14808
14809 elif LA95 == 71:
14810 LA95_98 = self.input.LA(3)
14811
14812 if (self.synpred188()) :
14813 alt95 = 1
14814
14815
14816 elif LA95 == 68:
14817 LA95_99 = self.input.LA(3)
14818
14819 if (self.synpred188()) :
14820 alt95 = 1
14821
14822
14823 elif LA95 == 69:
14824 LA95_100 = self.input.LA(3)
14825
14826 if (self.synpred188()) :
14827 alt95 = 1
14828
14829
14830 elif LA95 == 101 or LA95 == 102:
14831 LA95_101 = self.input.LA(3)
14832
14833 if (self.synpred188()) :
14834 alt95 = 1
14835
14836
14837 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14838 LA95_102 = self.input.LA(3)
14839
14840 if (self.synpred188()) :
14841 alt95 = 1
14842
14843
14844 elif LA95 == 95 or LA95 == 96:
14845 LA95_103 = self.input.LA(3)
14846
14847 if (self.synpred188()) :
14848 alt95 = 1
14849
14850
14851 elif LA95 == 77:
14852 LA95_104 = self.input.LA(3)
14853
14854 if (self.synpred188()) :
14855 alt95 = 1
14856
14857
14858 elif LA95 == 94:
14859 LA95_105 = self.input.LA(3)
14860
14861 if (self.synpred188()) :
14862 alt95 = 1
14863
14864
14865 elif LA95 == 93:
14866 LA95_106 = self.input.LA(3)
14867
14868 if (self.synpred188()) :
14869 alt95 = 1
14870
14871
14872 elif LA95 == 92:
14873 LA95_107 = self.input.LA(3)
14874
14875 if (self.synpred188()) :
14876 alt95 = 1
14877
14878
14879 elif LA95 == 91:
14880 LA95_108 = self.input.LA(3)
14881
14882 if (self.synpred188()) :
14883 alt95 = 1
14884
14885
14886 elif LA95 == 90:
14887 LA95_109 = self.input.LA(3)
14888
14889 if (self.synpred188()) :
14890 alt95 = 1
14891
14892
14893 elif LA95 == 27:
14894 LA95_110 = self.input.LA(3)
14895
14896 if (self.synpred188()) :
14897 alt95 = 1
14898
14899
14900 elif LA95 == 25:
14901 alt95 = 1
14902
14903 elif LA95 == OCTAL_LITERAL:
14904 LA95 = self.input.LA(2)
14905 if LA95 == 64:
14906 LA95_113 = self.input.LA(3)
14907
14908 if (self.synpred188()) :
14909 alt95 = 1
14910
14911
14912 elif LA95 == 62:
14913 LA95_114 = self.input.LA(3)
14914
14915 if (self.synpred188()) :
14916 alt95 = 1
14917
14918
14919 elif LA95 == 75:
14920 LA95_115 = self.input.LA(3)
14921
14922 if (self.synpred188()) :
14923 alt95 = 1
14924
14925
14926 elif LA95 == 66:
14927 LA95_116 = self.input.LA(3)
14928
14929 if (self.synpred188()) :
14930 alt95 = 1
14931
14932
14933 elif LA95 == 76:
14934 LA95_117 = self.input.LA(3)
14935
14936 if (self.synpred188()) :
14937 alt95 = 1
14938
14939
14940 elif LA95 == 72:
14941 LA95_118 = self.input.LA(3)
14942
14943 if (self.synpred188()) :
14944 alt95 = 1
14945
14946
14947 elif LA95 == 73:
14948 LA95_119 = self.input.LA(3)
14949
14950 if (self.synpred188()) :
14951 alt95 = 1
14952
14953
14954 elif LA95 == 70:
14955 LA95_120 = self.input.LA(3)
14956
14957 if (self.synpred188()) :
14958 alt95 = 1
14959
14960
14961 elif LA95 == 71:
14962 LA95_121 = self.input.LA(3)
14963
14964 if (self.synpred188()) :
14965 alt95 = 1
14966
14967
14968 elif LA95 == 68:
14969 LA95_122 = self.input.LA(3)
14970
14971 if (self.synpred188()) :
14972 alt95 = 1
14973
14974
14975 elif LA95 == 69:
14976 LA95_123 = self.input.LA(3)
14977
14978 if (self.synpred188()) :
14979 alt95 = 1
14980
14981
14982 elif LA95 == 101 or LA95 == 102:
14983 LA95_124 = self.input.LA(3)
14984
14985 if (self.synpred188()) :
14986 alt95 = 1
14987
14988
14989 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14990 LA95_125 = self.input.LA(3)
14991
14992 if (self.synpred188()) :
14993 alt95 = 1
14994
14995
14996 elif LA95 == 95 or LA95 == 96:
14997 LA95_126 = self.input.LA(3)
14998
14999 if (self.synpred188()) :
15000 alt95 = 1
15001
15002
15003 elif LA95 == 77:
15004 LA95_127 = self.input.LA(3)
15005
15006 if (self.synpred188()) :
15007 alt95 = 1
15008
15009
15010 elif LA95 == 94:
15011 LA95_128 = self.input.LA(3)
15012
15013 if (self.synpred188()) :
15014 alt95 = 1
15015
15016
15017 elif LA95 == 93:
15018 LA95_129 = self.input.LA(3)
15019
15020 if (self.synpred188()) :
15021 alt95 = 1
15022
15023
15024 elif LA95 == 92:
15025 LA95_130 = self.input.LA(3)
15026
15027 if (self.synpred188()) :
15028 alt95 = 1
15029
15030
15031 elif LA95 == 91:
15032 LA95_131 = self.input.LA(3)
15033
15034 if (self.synpred188()) :
15035 alt95 = 1
15036
15037
15038 elif LA95 == 90:
15039 LA95_132 = self.input.LA(3)
15040
15041 if (self.synpred188()) :
15042 alt95 = 1
15043
15044
15045 elif LA95 == 27:
15046 LA95_133 = self.input.LA(3)
15047
15048 if (self.synpred188()) :
15049 alt95 = 1
15050
15051
15052 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15053 LA95_135 = self.input.LA(3)
15054
15055 if (self.synpred188()) :
15056 alt95 = 1
15057
15058
15059 elif LA95 == 25:
15060 alt95 = 1
15061
15062 elif LA95 == DECIMAL_LITERAL:
15063 LA95 = self.input.LA(2)
15064 if LA95 == 64:
15065 LA95_137 = self.input.LA(3)
15066
15067 if (self.synpred188()) :
15068 alt95 = 1
15069
15070
15071 elif LA95 == 62:
15072 LA95_138 = self.input.LA(3)
15073
15074 if (self.synpred188()) :
15075 alt95 = 1
15076
15077
15078 elif LA95 == 75:
15079 LA95_139 = self.input.LA(3)
15080
15081 if (self.synpred188()) :
15082 alt95 = 1
15083
15084
15085 elif LA95 == 66:
15086 LA95_140 = self.input.LA(3)
15087
15088 if (self.synpred188()) :
15089 alt95 = 1
15090
15091
15092 elif LA95 == 76:
15093 LA95_141 = self.input.LA(3)
15094
15095 if (self.synpred188()) :
15096 alt95 = 1
15097
15098
15099 elif LA95 == 72:
15100 LA95_142 = self.input.LA(3)
15101
15102 if (self.synpred188()) :
15103 alt95 = 1
15104
15105
15106 elif LA95 == 73:
15107 LA95_143 = self.input.LA(3)
15108
15109 if (self.synpred188()) :
15110 alt95 = 1
15111
15112
15113 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15114 LA95_144 = self.input.LA(3)
15115
15116 if (self.synpred188()) :
15117 alt95 = 1
15118
15119
15120 elif LA95 == 70:
15121 LA95_145 = self.input.LA(3)
15122
15123 if (self.synpred188()) :
15124 alt95 = 1
15125
15126
15127 elif LA95 == 71:
15128 LA95_146 = self.input.LA(3)
15129
15130 if (self.synpred188()) :
15131 alt95 = 1
15132
15133
15134 elif LA95 == 68:
15135 LA95_147 = self.input.LA(3)
15136
15137 if (self.synpred188()) :
15138 alt95 = 1
15139
15140
15141 elif LA95 == 69:
15142 LA95_148 = self.input.LA(3)
15143
15144 if (self.synpred188()) :
15145 alt95 = 1
15146
15147
15148 elif LA95 == 101 or LA95 == 102:
15149 LA95_149 = self.input.LA(3)
15150
15151 if (self.synpred188()) :
15152 alt95 = 1
15153
15154
15155 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15156 LA95_150 = self.input.LA(3)
15157
15158 if (self.synpred188()) :
15159 alt95 = 1
15160
15161
15162 elif LA95 == 95 or LA95 == 96:
15163 LA95_151 = self.input.LA(3)
15164
15165 if (self.synpred188()) :
15166 alt95 = 1
15167
15168
15169 elif LA95 == 77:
15170 LA95_152 = self.input.LA(3)
15171
15172 if (self.synpred188()) :
15173 alt95 = 1
15174
15175
15176 elif LA95 == 94:
15177 LA95_153 = self.input.LA(3)
15178
15179 if (self.synpred188()) :
15180 alt95 = 1
15181
15182
15183 elif LA95 == 93:
15184 LA95_154 = self.input.LA(3)
15185
15186 if (self.synpred188()) :
15187 alt95 = 1
15188
15189
15190 elif LA95 == 92:
15191 LA95_155 = self.input.LA(3)
15192
15193 if (self.synpred188()) :
15194 alt95 = 1
15195
15196
15197 elif LA95 == 91:
15198 LA95_156 = self.input.LA(3)
15199
15200 if (self.synpred188()) :
15201 alt95 = 1
15202
15203
15204 elif LA95 == 90:
15205 LA95_157 = self.input.LA(3)
15206
15207 if (self.synpred188()) :
15208 alt95 = 1
15209
15210
15211 elif LA95 == 27:
15212 LA95_158 = self.input.LA(3)
15213
15214 if (self.synpred188()) :
15215 alt95 = 1
15216
15217
15218 elif LA95 == 25:
15219 alt95 = 1
15220
15221 elif LA95 == CHARACTER_LITERAL:
15222 LA95 = self.input.LA(2)
15223 if LA95 == 64:
15224 LA95_161 = self.input.LA(3)
15225
15226 if (self.synpred188()) :
15227 alt95 = 1
15228
15229
15230 elif LA95 == 62:
15231 LA95_162 = self.input.LA(3)
15232
15233 if (self.synpred188()) :
15234 alt95 = 1
15235
15236
15237 elif LA95 == 75:
15238 LA95_163 = self.input.LA(3)
15239
15240 if (self.synpred188()) :
15241 alt95 = 1
15242
15243
15244 elif LA95 == 66:
15245 LA95_164 = self.input.LA(3)
15246
15247 if (self.synpred188()) :
15248 alt95 = 1
15249
15250
15251 elif LA95 == 76:
15252 LA95_165 = self.input.LA(3)
15253
15254 if (self.synpred188()) :
15255 alt95 = 1
15256
15257
15258 elif LA95 == 72:
15259 LA95_166 = self.input.LA(3)
15260
15261 if (self.synpred188()) :
15262 alt95 = 1
15263
15264
15265 elif LA95 == 73:
15266 LA95_167 = self.input.LA(3)
15267
15268 if (self.synpred188()) :
15269 alt95 = 1
15270
15271
15272 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15273 LA95_168 = self.input.LA(3)
15274
15275 if (self.synpred188()) :
15276 alt95 = 1
15277
15278
15279 elif LA95 == 70:
15280 LA95_169 = self.input.LA(3)
15281
15282 if (self.synpred188()) :
15283 alt95 = 1
15284
15285
15286 elif LA95 == 71:
15287 LA95_170 = self.input.LA(3)
15288
15289 if (self.synpred188()) :
15290 alt95 = 1
15291
15292
15293 elif LA95 == 68:
15294 LA95_171 = self.input.LA(3)
15295
15296 if (self.synpred188()) :
15297 alt95 = 1
15298
15299
15300 elif LA95 == 69:
15301 LA95_172 = self.input.LA(3)
15302
15303 if (self.synpred188()) :
15304 alt95 = 1
15305
15306
15307 elif LA95 == 101 or LA95 == 102:
15308 LA95_173 = self.input.LA(3)
15309
15310 if (self.synpred188()) :
15311 alt95 = 1
15312
15313
15314 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15315 LA95_174 = self.input.LA(3)
15316
15317 if (self.synpred188()) :
15318 alt95 = 1
15319
15320
15321 elif LA95 == 95 or LA95 == 96:
15322 LA95_175 = self.input.LA(3)
15323
15324 if (self.synpred188()) :
15325 alt95 = 1
15326
15327
15328 elif LA95 == 77:
15329 LA95_176 = self.input.LA(3)
15330
15331 if (self.synpred188()) :
15332 alt95 = 1
15333
15334
15335 elif LA95 == 94:
15336 LA95_177 = self.input.LA(3)
15337
15338 if (self.synpred188()) :
15339 alt95 = 1
15340
15341
15342 elif LA95 == 93:
15343 LA95_178 = self.input.LA(3)
15344
15345 if (self.synpred188()) :
15346 alt95 = 1
15347
15348
15349 elif LA95 == 92:
15350 LA95_179 = self.input.LA(3)
15351
15352 if (self.synpred188()) :
15353 alt95 = 1
15354
15355
15356 elif LA95 == 91:
15357 LA95_180 = self.input.LA(3)
15358
15359 if (self.synpred188()) :
15360 alt95 = 1
15361
15362
15363 elif LA95 == 90:
15364 LA95_181 = self.input.LA(3)
15365
15366 if (self.synpred188()) :
15367 alt95 = 1
15368
15369
15370 elif LA95 == 27:
15371 LA95_182 = self.input.LA(3)
15372
15373 if (self.synpred188()) :
15374 alt95 = 1
15375
15376
15377 elif LA95 == 25:
15378 alt95 = 1
15379
15380 elif LA95 == STRING_LITERAL:
15381 LA95 = self.input.LA(2)
15382 if LA95 == IDENTIFIER:
15383 LA95_185 = self.input.LA(3)
15384
15385 if (self.synpred188()) :
15386 alt95 = 1
15387
15388
15389 elif LA95 == 64:
15390 LA95_186 = self.input.LA(3)
15391
15392 if (self.synpred188()) :
15393 alt95 = 1
15394
15395
15396 elif LA95 == 62:
15397 LA95_187 = self.input.LA(3)
15398
15399 if (self.synpred188()) :
15400 alt95 = 1
15401
15402
15403 elif LA95 == 75:
15404 LA95_188 = self.input.LA(3)
15405
15406 if (self.synpred188()) :
15407 alt95 = 1
15408
15409
15410 elif LA95 == 66:
15411 LA95_189 = self.input.LA(3)
15412
15413 if (self.synpred188()) :
15414 alt95 = 1
15415
15416
15417 elif LA95 == 76:
15418 LA95_190 = self.input.LA(3)
15419
15420 if (self.synpred188()) :
15421 alt95 = 1
15422
15423
15424 elif LA95 == 72:
15425 LA95_191 = self.input.LA(3)
15426
15427 if (self.synpred188()) :
15428 alt95 = 1
15429
15430
15431 elif LA95 == 73:
15432 LA95_192 = self.input.LA(3)
15433
15434 if (self.synpred188()) :
15435 alt95 = 1
15436
15437
15438 elif LA95 == 70:
15439 LA95_193 = self.input.LA(3)
15440
15441 if (self.synpred188()) :
15442 alt95 = 1
15443
15444
15445 elif LA95 == 71:
15446 LA95_194 = self.input.LA(3)
15447
15448 if (self.synpred188()) :
15449 alt95 = 1
15450
15451
15452 elif LA95 == 68:
15453 LA95_195 = self.input.LA(3)
15454
15455 if (self.synpred188()) :
15456 alt95 = 1
15457
15458
15459 elif LA95 == 69:
15460 LA95_196 = self.input.LA(3)
15461
15462 if (self.synpred188()) :
15463 alt95 = 1
15464
15465
15466 elif LA95 == 101 or LA95 == 102:
15467 LA95_197 = self.input.LA(3)
15468
15469 if (self.synpred188()) :
15470 alt95 = 1
15471
15472
15473 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15474 LA95_198 = self.input.LA(3)
15475
15476 if (self.synpred188()) :
15477 alt95 = 1
15478
15479
15480 elif LA95 == 95 or LA95 == 96:
15481 LA95_199 = self.input.LA(3)
15482
15483 if (self.synpred188()) :
15484 alt95 = 1
15485
15486
15487 elif LA95 == 77:
15488 LA95_200 = self.input.LA(3)
15489
15490 if (self.synpred188()) :
15491 alt95 = 1
15492
15493
15494 elif LA95 == 94:
15495 LA95_201 = self.input.LA(3)
15496
15497 if (self.synpred188()) :
15498 alt95 = 1
15499
15500
15501 elif LA95 == 93:
15502 LA95_202 = self.input.LA(3)
15503
15504 if (self.synpred188()) :
15505 alt95 = 1
15506
15507
15508 elif LA95 == 92:
15509 LA95_203 = self.input.LA(3)
15510
15511 if (self.synpred188()) :
15512 alt95 = 1
15513
15514
15515 elif LA95 == 91:
15516 LA95_204 = self.input.LA(3)
15517
15518 if (self.synpred188()) :
15519 alt95 = 1
15520
15521
15522 elif LA95 == 90:
15523 LA95_205 = self.input.LA(3)
15524
15525 if (self.synpred188()) :
15526 alt95 = 1
15527
15528
15529 elif LA95 == 27:
15530 LA95_206 = self.input.LA(3)
15531
15532 if (self.synpred188()) :
15533 alt95 = 1
15534
15535
15536 elif LA95 == 25:
15537 alt95 = 1
15538 elif LA95 == STRING_LITERAL:
15539 LA95_208 = self.input.LA(3)
15540
15541 if (self.synpred188()) :
15542 alt95 = 1
15543
15544
15545 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15546 LA95_209 = self.input.LA(3)
15547
15548 if (self.synpred188()) :
15549 alt95 = 1
15550
15551
15552
15553 elif LA95 == FLOATING_POINT_LITERAL:
15554 LA95 = self.input.LA(2)
15555 if LA95 == 64:
15556 LA95_211 = self.input.LA(3)
15557
15558 if (self.synpred188()) :
15559 alt95 = 1
15560
15561
15562 elif LA95 == 62:
15563 LA95_212 = self.input.LA(3)
15564
15565 if (self.synpred188()) :
15566 alt95 = 1
15567
15568
15569 elif LA95 == 75:
15570 LA95_213 = self.input.LA(3)
15571
15572 if (self.synpred188()) :
15573 alt95 = 1
15574
15575
15576 elif LA95 == 66:
15577 LA95_214 = self.input.LA(3)
15578
15579 if (self.synpred188()) :
15580 alt95 = 1
15581
15582
15583 elif LA95 == 76:
15584 LA95_215 = self.input.LA(3)
15585
15586 if (self.synpred188()) :
15587 alt95 = 1
15588
15589
15590 elif LA95 == 72:
15591 LA95_216 = self.input.LA(3)
15592
15593 if (self.synpred188()) :
15594 alt95 = 1
15595
15596
15597 elif LA95 == 73:
15598 LA95_217 = self.input.LA(3)
15599
15600 if (self.synpred188()) :
15601 alt95 = 1
15602
15603
15604 elif LA95 == 70:
15605 LA95_218 = self.input.LA(3)
15606
15607 if (self.synpred188()) :
15608 alt95 = 1
15609
15610
15611 elif LA95 == 71:
15612 LA95_219 = self.input.LA(3)
15613
15614 if (self.synpred188()) :
15615 alt95 = 1
15616
15617
15618 elif LA95 == 68:
15619 LA95_220 = self.input.LA(3)
15620
15621 if (self.synpred188()) :
15622 alt95 = 1
15623
15624
15625 elif LA95 == 69:
15626 LA95_221 = self.input.LA(3)
15627
15628 if (self.synpred188()) :
15629 alt95 = 1
15630
15631
15632 elif LA95 == 101 or LA95 == 102:
15633 LA95_222 = self.input.LA(3)
15634
15635 if (self.synpred188()) :
15636 alt95 = 1
15637
15638
15639 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15640 LA95_223 = self.input.LA(3)
15641
15642 if (self.synpred188()) :
15643 alt95 = 1
15644
15645
15646 elif LA95 == 95 or LA95 == 96:
15647 LA95_224 = self.input.LA(3)
15648
15649 if (self.synpred188()) :
15650 alt95 = 1
15651
15652
15653 elif LA95 == 77:
15654 LA95_225 = self.input.LA(3)
15655
15656 if (self.synpred188()) :
15657 alt95 = 1
15658
15659
15660 elif LA95 == 94:
15661 LA95_226 = self.input.LA(3)
15662
15663 if (self.synpred188()) :
15664 alt95 = 1
15665
15666
15667 elif LA95 == 93:
15668 LA95_227 = self.input.LA(3)
15669
15670 if (self.synpred188()) :
15671 alt95 = 1
15672
15673
15674 elif LA95 == 92:
15675 LA95_228 = self.input.LA(3)
15676
15677 if (self.synpred188()) :
15678 alt95 = 1
15679
15680
15681 elif LA95 == 91:
15682 LA95_229 = self.input.LA(3)
15683
15684 if (self.synpred188()) :
15685 alt95 = 1
15686
15687
15688 elif LA95 == 90:
15689 LA95_230 = self.input.LA(3)
15690
15691 if (self.synpred188()) :
15692 alt95 = 1
15693
15694
15695 elif LA95 == 27:
15696 LA95_231 = self.input.LA(3)
15697
15698 if (self.synpred188()) :
15699 alt95 = 1
15700
15701
15702 elif LA95 == 25:
15703 alt95 = 1
15704 elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
15705 LA95_234 = self.input.LA(3)
15706
15707 if (self.synpred188()) :
15708 alt95 = 1
15709
15710
15711
15712 elif LA95 == 62:
15713 LA95 = self.input.LA(2)
15714 if LA95 == IDENTIFIER:
15715 LA95_235 = self.input.LA(3)
15716
15717 if (self.synpred188()) :
15718 alt95 = 1
15719
15720
15721 elif LA95 == HEX_LITERAL:
15722 LA95_236 = self.input.LA(3)
15723
15724 if (self.synpred188()) :
15725 alt95 = 1
15726
15727
15728 elif LA95 == OCTAL_LITERAL:
15729 LA95_237 = self.input.LA(3)
15730
15731 if (self.synpred188()) :
15732 alt95 = 1
15733
15734
15735 elif LA95 == DECIMAL_LITERAL:
15736 LA95_238 = self.input.LA(3)
15737
15738 if (self.synpred188()) :
15739 alt95 = 1
15740
15741
15742 elif LA95 == CHARACTER_LITERAL:
15743 LA95_239 = self.input.LA(3)
15744
15745 if (self.synpred188()) :
15746 alt95 = 1
15747
15748
15749 elif LA95 == STRING_LITERAL:
15750 LA95_240 = self.input.LA(3)
15751
15752 if (self.synpred188()) :
15753 alt95 = 1
15754
15755
15756 elif LA95 == FLOATING_POINT_LITERAL:
15757 LA95_241 = self.input.LA(3)
15758
15759 if (self.synpred188()) :
15760 alt95 = 1
15761
15762
15763 elif LA95 == 62:
15764 LA95_242 = self.input.LA(3)
15765
15766 if (self.synpred188()) :
15767 alt95 = 1
15768
15769
15770 elif LA95 == 72:
15771 LA95_243 = self.input.LA(3)
15772
15773 if (self.synpred188()) :
15774 alt95 = 1
15775
15776
15777 elif LA95 == 73:
15778 LA95_244 = self.input.LA(3)
15779
15780 if (self.synpred188()) :
15781 alt95 = 1
15782
15783
15784 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15785 LA95_245 = self.input.LA(3)
15786
15787 if (self.synpred188()) :
15788 alt95 = 1
15789
15790
15791 elif LA95 == 74:
15792 LA95_246 = self.input.LA(3)
15793
15794 if (self.synpred188()) :
15795 alt95 = 1
15796
15797
15798 elif LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
15799 LA95_247 = self.input.LA(3)
15800
15801 if (self.synpred188()) :
15802 alt95 = 1
15803
15804
15805 elif LA95 == 34:
15806 LA95_248 = self.input.LA(3)
15807
15808 if (self.synpred188()) :
15809 alt95 = 1
15810
15811
15812 elif LA95 == 35:
15813 LA95_249 = self.input.LA(3)
15814
15815 if (self.synpred188()) :
15816 alt95 = 1
15817
15818
15819 elif LA95 == 36:
15820 LA95_250 = self.input.LA(3)
15821
15822 if (self.synpred188()) :
15823 alt95 = 1
15824
15825
15826 elif LA95 == 37:
15827 LA95_251 = self.input.LA(3)
15828
15829 if (self.synpred188()) :
15830 alt95 = 1
15831
15832
15833 elif LA95 == 38:
15834 LA95_252 = self.input.LA(3)
15835
15836 if (self.synpred188()) :
15837 alt95 = 1
15838
15839
15840 elif LA95 == 39:
15841 LA95_253 = self.input.LA(3)
15842
15843 if (self.synpred188()) :
15844 alt95 = 1
15845
15846
15847 elif LA95 == 40:
15848 LA95_254 = self.input.LA(3)
15849
15850 if (self.synpred188()) :
15851 alt95 = 1
15852
15853
15854 elif LA95 == 41:
15855 LA95_255 = self.input.LA(3)
15856
15857 if (self.synpred188()) :
15858 alt95 = 1
15859
15860
15861 elif LA95 == 42:
15862 LA95_256 = self.input.LA(3)
15863
15864 if (self.synpred188()) :
15865 alt95 = 1
15866
15867
15868 elif LA95 == 45 or LA95 == 46:
15869 LA95_257 = self.input.LA(3)
15870
15871 if (self.synpred188()) :
15872 alt95 = 1
15873
15874
15875 elif LA95 == 48:
15876 LA95_258 = self.input.LA(3)
15877
15878 if (self.synpred188()) :
15879 alt95 = 1
15880
15881
15882
15883 elif LA95 == 72:
15884 LA95 = self.input.LA(2)
15885 if LA95 == IDENTIFIER:
15886 LA95_259 = self.input.LA(3)
15887
15888 if (self.synpred188()) :
15889 alt95 = 1
15890
15891
15892 elif LA95 == HEX_LITERAL:
15893 LA95_260 = self.input.LA(3)
15894
15895 if (self.synpred188()) :
15896 alt95 = 1
15897
15898
15899 elif LA95 == OCTAL_LITERAL:
15900 LA95_261 = self.input.LA(3)
15901
15902 if (self.synpred188()) :
15903 alt95 = 1
15904
15905
15906 elif LA95 == DECIMAL_LITERAL:
15907 LA95_262 = self.input.LA(3)
15908
15909 if (self.synpred188()) :
15910 alt95 = 1
15911
15912
15913 elif LA95 == CHARACTER_LITERAL:
15914 LA95_263 = self.input.LA(3)
15915
15916 if (self.synpred188()) :
15917 alt95 = 1
15918
15919
15920 elif LA95 == STRING_LITERAL:
15921 LA95_264 = self.input.LA(3)
15922
15923 if (self.synpred188()) :
15924 alt95 = 1
15925
15926
15927 elif LA95 == FLOATING_POINT_LITERAL:
15928 LA95_265 = self.input.LA(3)
15929
15930 if (self.synpred188()) :
15931 alt95 = 1
15932
15933
15934 elif LA95 == 62:
15935 LA95_266 = self.input.LA(3)
15936
15937 if (self.synpred188()) :
15938 alt95 = 1
15939
15940
15941 elif LA95 == 72:
15942 LA95_267 = self.input.LA(3)
15943
15944 if (self.synpred188()) :
15945 alt95 = 1
15946
15947
15948 elif LA95 == 73:
15949 LA95_268 = self.input.LA(3)
15950
15951 if (self.synpred188()) :
15952 alt95 = 1
15953
15954
15955 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15956 LA95_269 = self.input.LA(3)
15957
15958 if (self.synpred188()) :
15959 alt95 = 1
15960
15961
15962 elif LA95 == 74:
15963 LA95_270 = self.input.LA(3)
15964
15965 if (self.synpred188()) :
15966 alt95 = 1
15967
15968
15969
15970 elif LA95 == 73:
15971 LA95 = self.input.LA(2)
15972 if LA95 == IDENTIFIER:
15973 LA95_271 = self.input.LA(3)
15974
15975 if (self.synpred188()) :
15976 alt95 = 1
15977
15978
15979 elif LA95 == HEX_LITERAL:
15980 LA95_272 = self.input.LA(3)
15981
15982 if (self.synpred188()) :
15983 alt95 = 1
15984
15985
15986 elif LA95 == OCTAL_LITERAL:
15987 LA95_273 = self.input.LA(3)
15988
15989 if (self.synpred188()) :
15990 alt95 = 1
15991
15992
15993 elif LA95 == DECIMAL_LITERAL:
15994 LA95_274 = self.input.LA(3)
15995
15996 if (self.synpred188()) :
15997 alt95 = 1
15998
15999
16000 elif LA95 == CHARACTER_LITERAL:
16001 LA95_275 = self.input.LA(3)
16002
16003 if (self.synpred188()) :
16004 alt95 = 1
16005
16006
16007 elif LA95 == STRING_LITERAL:
16008 LA95_276 = self.input.LA(3)
16009
16010 if (self.synpred188()) :
16011 alt95 = 1
16012
16013
16014 elif LA95 == FLOATING_POINT_LITERAL:
16015 LA95_277 = self.input.LA(3)
16016
16017 if (self.synpred188()) :
16018 alt95 = 1
16019
16020
16021 elif LA95 == 62:
16022 LA95_278 = self.input.LA(3)
16023
16024 if (self.synpred188()) :
16025 alt95 = 1
16026
16027
16028 elif LA95 == 72:
16029 LA95_279 = self.input.LA(3)
16030
16031 if (self.synpred188()) :
16032 alt95 = 1
16033
16034
16035 elif LA95 == 73:
16036 LA95_280 = self.input.LA(3)
16037
16038 if (self.synpred188()) :
16039 alt95 = 1
16040
16041
16042 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16043 LA95_281 = self.input.LA(3)
16044
16045 if (self.synpred188()) :
16046 alt95 = 1
16047
16048
16049 elif LA95 == 74:
16050 LA95_282 = self.input.LA(3)
16051
16052 if (self.synpred188()) :
16053 alt95 = 1
16054
16055
16056
16057 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16058 LA95 = self.input.LA(2)
16059 if LA95 == 62:
16060 LA95_283 = self.input.LA(3)
16061
16062 if (self.synpred188()) :
16063 alt95 = 1
16064
16065
16066 elif LA95 == IDENTIFIER:
16067 LA95_284 = self.input.LA(3)
16068
16069 if (self.synpred188()) :
16070 alt95 = 1
16071
16072
16073 elif LA95 == HEX_LITERAL:
16074 LA95_285 = self.input.LA(3)
16075
16076 if (self.synpred188()) :
16077 alt95 = 1
16078
16079
16080 elif LA95 == OCTAL_LITERAL:
16081 LA95_286 = self.input.LA(3)
16082
16083 if (self.synpred188()) :
16084 alt95 = 1
16085
16086
16087 elif LA95 == DECIMAL_LITERAL:
16088 LA95_287 = self.input.LA(3)
16089
16090 if (self.synpred188()) :
16091 alt95 = 1
16092
16093
16094 elif LA95 == CHARACTER_LITERAL:
16095 LA95_288 = self.input.LA(3)
16096
16097 if (self.synpred188()) :
16098 alt95 = 1
16099
16100
16101 elif LA95 == STRING_LITERAL:
16102 LA95_289 = self.input.LA(3)
16103
16104 if (self.synpred188()) :
16105 alt95 = 1
16106
16107
16108 elif LA95 == FLOATING_POINT_LITERAL:
16109 LA95_290 = self.input.LA(3)
16110
16111 if (self.synpred188()) :
16112 alt95 = 1
16113
16114
16115 elif LA95 == 72:
16116 LA95_291 = self.input.LA(3)
16117
16118 if (self.synpred188()) :
16119 alt95 = 1
16120
16121
16122 elif LA95 == 73:
16123 LA95_292 = self.input.LA(3)
16124
16125 if (self.synpred188()) :
16126 alt95 = 1
16127
16128
16129 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16130 LA95_293 = self.input.LA(3)
16131
16132 if (self.synpred188()) :
16133 alt95 = 1
16134
16135
16136 elif LA95 == 74:
16137 LA95_294 = self.input.LA(3)
16138
16139 if (self.synpred188()) :
16140 alt95 = 1
16141
16142
16143
16144 elif LA95 == 74:
16145 LA95 = self.input.LA(2)
16146 if LA95 == 62:
16147 LA95_295 = self.input.LA(3)
16148
16149 if (self.synpred188()) :
16150 alt95 = 1
16151
16152
16153 elif LA95 == IDENTIFIER:
16154 LA95_296 = self.input.LA(3)
16155
16156 if (self.synpred188()) :
16157 alt95 = 1
16158
16159
16160 elif LA95 == HEX_LITERAL:
16161 LA95_297 = self.input.LA(3)
16162
16163 if (self.synpred188()) :
16164 alt95 = 1
16165
16166
16167 elif LA95 == OCTAL_LITERAL:
16168 LA95_298 = self.input.LA(3)
16169
16170 if (self.synpred188()) :
16171 alt95 = 1
16172
16173
16174 elif LA95 == DECIMAL_LITERAL:
16175 LA95_299 = self.input.LA(3)
16176
16177 if (self.synpred188()) :
16178 alt95 = 1
16179
16180
16181 elif LA95 == CHARACTER_LITERAL:
16182 LA95_300 = self.input.LA(3)
16183
16184 if (self.synpred188()) :
16185 alt95 = 1
16186
16187
16188 elif LA95 == STRING_LITERAL:
16189 LA95_301 = self.input.LA(3)
16190
16191 if (self.synpred188()) :
16192 alt95 = 1
16193
16194
16195 elif LA95 == FLOATING_POINT_LITERAL:
16196 LA95_302 = self.input.LA(3)
16197
16198 if (self.synpred188()) :
16199 alt95 = 1
16200
16201
16202 elif LA95 == 72:
16203 LA95_303 = self.input.LA(3)
16204
16205 if (self.synpred188()) :
16206 alt95 = 1
16207
16208
16209 elif LA95 == 73:
16210 LA95_304 = self.input.LA(3)
16211
16212 if (self.synpred188()) :
16213 alt95 = 1
16214
16215
16216 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16217 LA95_305 = self.input.LA(3)
16218
16219 if (self.synpred188()) :
16220 alt95 = 1
16221
16222
16223 elif LA95 == 74:
16224 LA95_306 = self.input.LA(3)
16225
16226 if (self.synpred188()) :
16227 alt95 = 1
16228
16229
16230
16231 elif LA95 == 25 or LA95 == 26 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 43 or LA95 == 45 or LA95 == 46 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 108 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116 or LA95 == 117:
16232 alt95 = 1
16233
16234 if alt95 == 1:
16235 # C.g:0:0: statement
16236 self.following.append(self.FOLLOW_statement_in_statement_list2242)
16237 self.statement()
16238 self.following.pop()
16239 if self.failed:
16240 return
16241
16242
16243 else:
16244 if cnt95 >= 1:
16245 break #loop95
16246
16247 if self.backtracking > 0:
16248 self.failed = True
16249 return
16250
16251 eee = EarlyExitException(95, self.input)
16252 raise eee
16253
16254 cnt95 += 1
16255
16256
16257
16258
16259
16260
16261 except RecognitionException, re:
16262 self.reportError(re)
16263 self.recover(self.input, re)
16264 finally:
16265 if self.backtracking > 0:
16266 self.memoize(self.input, 67, statement_list_StartIndex)
16267
16268 pass
16269
16270 return
16271
16272 # $ANTLR end statement_list
16273
16274 class expression_statement_return(object):
16275 def __init__(self):
16276 self.start = None
16277 self.stop = None
16278
16279
16280
16281 # $ANTLR start expression_statement
16282 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16283 def expression_statement(self, ):
16284
16285 retval = self.expression_statement_return()
16286 retval.start = self.input.LT(1)
16287 expression_statement_StartIndex = self.input.index()
16288 try:
16289 try:
16290 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
16291 return retval
16292
16293 # C.g:562:2: ( ';' | expression ';' )
16294 alt96 = 2
16295 LA96_0 = self.input.LA(1)
16296
16297 if (LA96_0 == 25) :
16298 alt96 = 1
16299 elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 62 or LA96_0 == 66 or (68 <= LA96_0 <= 69) or (72 <= LA96_0 <= 74) or (77 <= LA96_0 <= 79)) :
16300 alt96 = 2
16301 else:
16302 if self.backtracking > 0:
16303 self.failed = True
16304 return retval
16305
16306 nvae = NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
16307
16308 raise nvae
16309
16310 if alt96 == 1:
16311 # C.g:562:4: ';'
16312 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2254)
16313 if self.failed:
16314 return retval
16315
16316
16317 elif alt96 == 2:
16318 # C.g:563:4: expression ';'
16319 self.following.append(self.FOLLOW_expression_in_expression_statement2259)
16320 self.expression()
16321 self.following.pop()
16322 if self.failed:
16323 return retval
16324 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2261)
16325 if self.failed:
16326 return retval
16327
16328
16329 retval.stop = self.input.LT(-1)
16330
16331
16332 except RecognitionException, re:
16333 self.reportError(re)
16334 self.recover(self.input, re)
16335 finally:
16336 if self.backtracking > 0:
16337 self.memoize(self.input, 68, expression_statement_StartIndex)
16338
16339 pass
16340
16341 return retval
16342
16343 # $ANTLR end expression_statement
16344
16345
16346 # $ANTLR start selection_statement
16347 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16348 def selection_statement(self, ):
16349
16350 selection_statement_StartIndex = self.input.index()
16351 e = None
16352
16353
16354 try:
16355 try:
16356 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
16357 return
16358
16359 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16360 alt98 = 2
16361 LA98_0 = self.input.LA(1)
16362
16363 if (LA98_0 == 108) :
16364 alt98 = 1
16365 elif (LA98_0 == 110) :
16366 alt98 = 2
16367 else:
16368 if self.backtracking > 0:
16369 self.failed = True
16370 return
16371
16372 nvae = NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input)
16373
16374 raise nvae
16375
16376 if alt98 == 1:
16377 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16378 self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2272)
16379 if self.failed:
16380 return
16381 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2274)
16382 if self.failed:
16383 return
16384 self.following.append(self.FOLLOW_expression_in_selection_statement2278)
16385 e = self.expression()
16386 self.following.pop()
16387 if self.failed:
16388 return
16389 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2280)
16390 if self.failed:
16391 return
16392 if self.backtracking == 0:
16393 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16394
16395 self.following.append(self.FOLLOW_statement_in_selection_statement2284)
16396 self.statement()
16397 self.following.pop()
16398 if self.failed:
16399 return
16400 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16401 alt97 = 2
16402 LA97_0 = self.input.LA(1)
16403
16404 if (LA97_0 == 109) :
16405 alt97 = 1
16406 if alt97 == 1:
16407 # C.g:567:200: 'else' statement
16408 self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2299)
16409 if self.failed:
16410 return
16411 self.following.append(self.FOLLOW_statement_in_selection_statement2301)
16412 self.statement()
16413 self.following.pop()
16414 if self.failed:
16415 return
16416
16417
16418
16419
16420
16421 elif alt98 == 2:
16422 # C.g:568:4: 'switch' '(' expression ')' statement
16423 self.match(self.input, 110, self.FOLLOW_110_in_selection_statement2308)
16424 if self.failed:
16425 return
16426 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2310)
16427 if self.failed:
16428 return
16429 self.following.append(self.FOLLOW_expression_in_selection_statement2312)
16430 self.expression()
16431 self.following.pop()
16432 if self.failed:
16433 return
16434 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314)
16435 if self.failed:
16436 return
16437 self.following.append(self.FOLLOW_statement_in_selection_statement2316)
16438 self.statement()
16439 self.following.pop()
16440 if self.failed:
16441 return
16442
16443
16444
16445 except RecognitionException, re:
16446 self.reportError(re)
16447 self.recover(self.input, re)
16448 finally:
16449 if self.backtracking > 0:
16450 self.memoize(self.input, 69, selection_statement_StartIndex)
16451
16452 pass
16453
16454 return
16455
16456 # $ANTLR end selection_statement
16457
16458
16459 # $ANTLR start iteration_statement
16460 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16461 def iteration_statement(self, ):
16462
16463 iteration_statement_StartIndex = self.input.index()
16464 e = None
16465
16466
16467 try:
16468 try:
16469 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
16470 return
16471
16472 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16473 alt100 = 3
16474 LA100 = self.input.LA(1)
16475 if LA100 == 111:
16476 alt100 = 1
16477 elif LA100 == 112:
16478 alt100 = 2
16479 elif LA100 == 113:
16480 alt100 = 3
16481 else:
16482 if self.backtracking > 0:
16483 self.failed = True
16484 return
16485
16486 nvae = NoViableAltException("571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input)
16487
16488 raise nvae
16489
16490 if alt100 == 1:
16491 # C.g:572:4: 'while' '(' e= expression ')' statement
16492 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2327)
16493 if self.failed:
16494 return
16495 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2329)
16496 if self.failed:
16497 return
16498 self.following.append(self.FOLLOW_expression_in_iteration_statement2333)
16499 e = self.expression()
16500 self.following.pop()
16501 if self.failed:
16502 return
16503 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335)
16504 if self.failed:
16505 return
16506 self.following.append(self.FOLLOW_statement_in_iteration_statement2337)
16507 self.statement()
16508 self.following.pop()
16509 if self.failed:
16510 return
16511 if self.backtracking == 0:
16512 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16513
16514
16515
16516 elif alt100 == 2:
16517 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16518 self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2344)
16519 if self.failed:
16520 return
16521 self.following.append(self.FOLLOW_statement_in_iteration_statement2346)
16522 self.statement()
16523 self.following.pop()
16524 if self.failed:
16525 return
16526 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348)
16527 if self.failed:
16528 return
16529 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350)
16530 if self.failed:
16531 return
16532 self.following.append(self.FOLLOW_expression_in_iteration_statement2354)
16533 e = self.expression()
16534 self.following.pop()
16535 if self.failed:
16536 return
16537 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2356)
16538 if self.failed:
16539 return
16540 self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2358)
16541 if self.failed:
16542 return
16543 if self.backtracking == 0:
16544 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16545
16546
16547
16548 elif alt100 == 3:
16549 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16550 self.match(self.input, 113, self.FOLLOW_113_in_iteration_statement2365)
16551 if self.failed:
16552 return
16553 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2367)
16554 if self.failed:
16555 return
16556 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2369)
16557 self.expression_statement()
16558 self.following.pop()
16559 if self.failed:
16560 return
16561 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2373)
16562 e = self.expression_statement()
16563 self.following.pop()
16564 if self.failed:
16565 return
16566 # C.g:574:58: ( expression )?
16567 alt99 = 2
16568 LA99_0 = self.input.LA(1)
16569
16570 if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 62 or LA99_0 == 66 or (68 <= LA99_0 <= 69) or (72 <= LA99_0 <= 74) or (77 <= LA99_0 <= 79)) :
16571 alt99 = 1
16572 if alt99 == 1:
16573 # C.g:0:0: expression
16574 self.following.append(self.FOLLOW_expression_in_iteration_statement2375)
16575 self.expression()
16576 self.following.pop()
16577 if self.failed:
16578 return
16579
16580
16581
16582 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378)
16583 if self.failed:
16584 return
16585 self.following.append(self.FOLLOW_statement_in_iteration_statement2380)
16586 self.statement()
16587 self.following.pop()
16588 if self.failed:
16589 return
16590 if self.backtracking == 0:
16591 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16592
16593
16594
16595
16596 except RecognitionException, re:
16597 self.reportError(re)
16598 self.recover(self.input, re)
16599 finally:
16600 if self.backtracking > 0:
16601 self.memoize(self.input, 70, iteration_statement_StartIndex)
16602
16603 pass
16604
16605 return
16606
16607 # $ANTLR end iteration_statement
16608
16609
16610 # $ANTLR start jump_statement
16611 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16612 def jump_statement(self, ):
16613
16614 jump_statement_StartIndex = self.input.index()
16615 try:
16616 try:
16617 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
16618 return
16619
16620 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16621 alt101 = 5
16622 LA101 = self.input.LA(1)
16623 if LA101 == 114:
16624 alt101 = 1
16625 elif LA101 == 115:
16626 alt101 = 2
16627 elif LA101 == 116:
16628 alt101 = 3
16629 elif LA101 == 117:
16630 LA101_4 = self.input.LA(2)
16631
16632 if (LA101_4 == 25) :
16633 alt101 = 4
16634 elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 62 or LA101_4 == 66 or (68 <= LA101_4 <= 69) or (72 <= LA101_4 <= 74) or (77 <= LA101_4 <= 79)) :
16635 alt101 = 5
16636 else:
16637 if self.backtracking > 0:
16638 self.failed = True
16639 return
16640
16641 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
16642
16643 raise nvae
16644
16645 else:
16646 if self.backtracking > 0:
16647 self.failed = True
16648 return
16649
16650 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
16651
16652 raise nvae
16653
16654 if alt101 == 1:
16655 # C.g:578:4: 'goto' IDENTIFIER ';'
16656 self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2393)
16657 if self.failed:
16658 return
16659 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2395)
16660 if self.failed:
16661 return
16662 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397)
16663 if self.failed:
16664 return
16665
16666
16667 elif alt101 == 2:
16668 # C.g:579:4: 'continue' ';'
16669 self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2402)
16670 if self.failed:
16671 return
16672 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2404)
16673 if self.failed:
16674 return
16675
16676
16677 elif alt101 == 3:
16678 # C.g:580:4: 'break' ';'
16679 self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2409)
16680 if self.failed:
16681 return
16682 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2411)
16683 if self.failed:
16684 return
16685
16686
16687 elif alt101 == 4:
16688 # C.g:581:4: 'return' ';'
16689 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2416)
16690 if self.failed:
16691 return
16692 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2418)
16693 if self.failed:
16694 return
16695
16696
16697 elif alt101 == 5:
16698 # C.g:582:4: 'return' expression ';'
16699 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2423)
16700 if self.failed:
16701 return
16702 self.following.append(self.FOLLOW_expression_in_jump_statement2425)
16703 self.expression()
16704 self.following.pop()
16705 if self.failed:
16706 return
16707 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427)
16708 if self.failed:
16709 return
16710
16711
16712
16713 except RecognitionException, re:
16714 self.reportError(re)
16715 self.recover(self.input, re)
16716 finally:
16717 if self.backtracking > 0:
16718 self.memoize(self.input, 71, jump_statement_StartIndex)
16719
16720 pass
16721
16722 return
16723
16724 # $ANTLR end jump_statement
16725
16726 # $ANTLR start synpred2
16727 def synpred2_fragment(self, ):
16728 # C.g:119:6: ( declaration_specifiers )
16729 # C.g:119:6: declaration_specifiers
16730 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred2100)
16731 self.declaration_specifiers()
16732 self.following.pop()
16733 if self.failed:
16734 return
16735
16736
16737 # $ANTLR end synpred2
16738
16739
16740
16741 # $ANTLR start synpred4
16742 def synpred4_fragment(self, ):
16743 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16744 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16745 # C.g:119:6: ( declaration_specifiers )?
16746 alt102 = 2
16747 LA102 = self.input.LA(1)
16748 if LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33 or LA102 == 34 or LA102 == 35 or LA102 == 36 or LA102 == 37 or LA102 == 38 or LA102 == 39 or LA102 == 40 or LA102 == 41 or LA102 == 42 or LA102 == 45 or LA102 == 46 or LA102 == 48 or LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
16749 alt102 = 1
16750 elif LA102 == IDENTIFIER:
16751 LA102 = self.input.LA(2)
16752 if LA102 == 62:
16753 LA102_21 = self.input.LA(3)
16754
16755 if (self.synpred2()) :
16756 alt102 = 1
16757 elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33:
16758 LA102_23 = self.input.LA(3)
16759
16760 if (self.synpred2()) :
16761 alt102 = 1
16762 elif LA102 == 34:
16763 LA102_24 = self.input.LA(3)
16764
16765 if (self.synpred2()) :
16766 alt102 = 1
16767 elif LA102 == 35:
16768 LA102_25 = self.input.LA(3)
16769
16770 if (self.synpred2()) :
16771 alt102 = 1
16772 elif LA102 == 36:
16773 LA102_26 = self.input.LA(3)
16774
16775 if (self.synpred2()) :
16776 alt102 = 1
16777 elif LA102 == 37:
16778 LA102_27 = self.input.LA(3)
16779
16780 if (self.synpred2()) :
16781 alt102 = 1
16782 elif LA102 == 38:
16783 LA102_28 = self.input.LA(3)
16784
16785 if (self.synpred2()) :
16786 alt102 = 1
16787 elif LA102 == 39:
16788 LA102_29 = self.input.LA(3)
16789
16790 if (self.synpred2()) :
16791 alt102 = 1
16792 elif LA102 == 40:
16793 LA102_30 = self.input.LA(3)
16794
16795 if (self.synpred2()) :
16796 alt102 = 1
16797 elif LA102 == 41:
16798 LA102_31 = self.input.LA(3)
16799
16800 if (self.synpred2()) :
16801 alt102 = 1
16802 elif LA102 == 42:
16803 LA102_32 = self.input.LA(3)
16804
16805 if (self.synpred2()) :
16806 alt102 = 1
16807 elif LA102 == 45 or LA102 == 46:
16808 LA102_33 = self.input.LA(3)
16809
16810 if (self.synpred2()) :
16811 alt102 = 1
16812 elif LA102 == 48:
16813 LA102_34 = self.input.LA(3)
16814
16815 if (self.synpred2()) :
16816 alt102 = 1
16817 elif LA102 == IDENTIFIER:
16818 LA102_35 = self.input.LA(3)
16819
16820 if (self.synpred2()) :
16821 alt102 = 1
16822 elif LA102 == 58:
16823 LA102_36 = self.input.LA(3)
16824
16825 if (self.synpred2()) :
16826 alt102 = 1
16827 elif LA102 == 66:
16828 alt102 = 1
16829 elif LA102 == 59:
16830 LA102_39 = self.input.LA(3)
16831
16832 if (self.synpred2()) :
16833 alt102 = 1
16834 elif LA102 == 60:
16835 LA102_40 = self.input.LA(3)
16836
16837 if (self.synpred2()) :
16838 alt102 = 1
16839 elif LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
16840 LA102_41 = self.input.LA(3)
16841
16842 if (self.synpred2()) :
16843 alt102 = 1
16844 elif LA102 == 58:
16845 LA102_14 = self.input.LA(2)
16846
16847 if (self.synpred2()) :
16848 alt102 = 1
16849 elif LA102 == 59:
16850 LA102_16 = self.input.LA(2)
16851
16852 if (self.synpred2()) :
16853 alt102 = 1
16854 elif LA102 == 60:
16855 LA102_17 = self.input.LA(2)
16856
16857 if (self.synpred2()) :
16858 alt102 = 1
16859 if alt102 == 1:
16860 # C.g:0:0: declaration_specifiers
16861 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100)
16862 self.declaration_specifiers()
16863 self.following.pop()
16864 if self.failed:
16865 return
16866
16867
16868
16869 self.following.append(self.FOLLOW_declarator_in_synpred4103)
16870 self.declarator()
16871 self.following.pop()
16872 if self.failed:
16873 return
16874 # C.g:119:41: ( declaration )*
16875 while True: #loop103
16876 alt103 = 2
16877 LA103_0 = self.input.LA(1)
16878
16879 if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 61)) :
16880 alt103 = 1
16881
16882
16883 if alt103 == 1:
16884 # C.g:0:0: declaration
16885 self.following.append(self.FOLLOW_declaration_in_synpred4105)
16886 self.declaration()
16887 self.following.pop()
16888 if self.failed:
16889 return
16890
16891
16892 else:
16893 break #loop103
16894
16895
16896 self.match(self.input, 43, self.FOLLOW_43_in_synpred4108)
16897 if self.failed:
16898 return
16899
16900
16901 # $ANTLR end synpred4
16902
16903
16904
16905 # $ANTLR start synpred5
16906 def synpred5_fragment(self, ):
16907 # C.g:120:4: ( declaration )
16908 # C.g:120:4: declaration
16909 self.following.append(self.FOLLOW_declaration_in_synpred5118)
16910 self.declaration()
16911 self.following.pop()
16912 if self.failed:
16913 return
16914
16915
16916 # $ANTLR end synpred5
16917
16918
16919
16920 # $ANTLR start synpred7
16921 def synpred7_fragment(self, ):
16922 # C.g:146:6: ( declaration_specifiers )
16923 # C.g:146:6: declaration_specifiers
16924 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7157)
16925 self.declaration_specifiers()
16926 self.following.pop()
16927 if self.failed:
16928 return
16929
16930
16931 # $ANTLR end synpred7
16932
16933
16934
16935 # $ANTLR start synpred10
16936 def synpred10_fragment(self, ):
16937 # C.g:167:18: ( declaration_specifiers )
16938 # C.g:167:18: declaration_specifiers
16939 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10207)
16940 self.declaration_specifiers()
16941 self.following.pop()
16942 if self.failed:
16943 return
16944
16945
16946 # $ANTLR end synpred10
16947
16948
16949
16950 # $ANTLR start synpred14
16951 def synpred14_fragment(self, ):
16952 # C.g:184:7: ( type_specifier )
16953 # C.g:184:7: type_specifier
16954 self.following.append(self.FOLLOW_type_specifier_in_synpred14272)
16955 self.type_specifier()
16956 self.following.pop()
16957 if self.failed:
16958 return
16959
16960
16961 # $ANTLR end synpred14
16962
16963
16964
16965 # $ANTLR start synpred15
16966 def synpred15_fragment(self, ):
16967 # C.g:185:13: ( type_qualifier )
16968 # C.g:185:13: type_qualifier
16969 self.following.append(self.FOLLOW_type_qualifier_in_synpred15286)
16970 self.type_qualifier()
16971 self.following.pop()
16972 if self.failed:
16973 return
16974
16975
16976 # $ANTLR end synpred15
16977
16978
16979
16980 # $ANTLR start synpred33
16981 def synpred33_fragment(self, ):
16982 # C.g:225:16: ( type_qualifier )
16983 # C.g:225:16: type_qualifier
16984 self.following.append(self.FOLLOW_type_qualifier_in_synpred33444)
16985 self.type_qualifier()
16986 self.following.pop()
16987 if self.failed:
16988 return
16989
16990
16991 # $ANTLR end synpred33
16992
16993
16994
16995 # $ANTLR start synpred34
16996 def synpred34_fragment(self, ):
16997 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16998 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16999 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34442)
17000 if self.failed:
17001 return
17002 # C.g:225:16: ( type_qualifier )*
17003 while True: #loop106
17004 alt106 = 2
17005 LA106 = self.input.LA(1)
17006 if LA106 == 58:
17007 LA106_2 = self.input.LA(2)
17008
17009 if (self.synpred33()) :
17010 alt106 = 1
17011
17012
17013 elif LA106 == 59:
17014 LA106_3 = self.input.LA(2)
17015
17016 if (self.synpred33()) :
17017 alt106 = 1
17018
17019
17020 elif LA106 == 60:
17021 LA106_4 = self.input.LA(2)
17022
17023 if (self.synpred33()) :
17024 alt106 = 1
17025
17026
17027 elif LA106 == 49 or LA106 == 50 or LA106 == 51 or LA106 == 52 or LA106 == 53 or LA106 == 54 or LA106 == 55 or LA106 == 56 or LA106 == 57 or LA106 == 61:
17028 alt106 = 1
17029
17030 if alt106 == 1:
17031 # C.g:0:0: type_qualifier
17032 self.following.append(self.FOLLOW_type_qualifier_in_synpred34444)
17033 self.type_qualifier()
17034 self.following.pop()
17035 if self.failed:
17036 return
17037
17038
17039 else:
17040 break #loop106
17041
17042
17043 self.following.append(self.FOLLOW_declarator_in_synpred34447)
17044 self.declarator()
17045 self.following.pop()
17046 if self.failed:
17047 return
17048
17049
17050 # $ANTLR end synpred34
17051
17052
17053
17054 # $ANTLR start synpred39
17055 def synpred39_fragment(self, ):
17056 # C.g:253:6: ( type_qualifier )
17057 # C.g:253:6: type_qualifier
17058 self.following.append(self.FOLLOW_type_qualifier_in_synpred39566)
17059 self.type_qualifier()
17060 self.following.pop()
17061 if self.failed:
17062 return
17063
17064
17065 # $ANTLR end synpred39
17066
17067
17068
17069 # $ANTLR start synpred40
17070 def synpred40_fragment(self, ):
17071 # C.g:253:23: ( type_specifier )
17072 # C.g:253:23: type_specifier
17073 self.following.append(self.FOLLOW_type_specifier_in_synpred40570)
17074 self.type_specifier()
17075 self.following.pop()
17076 if self.failed:
17077 return
17078
17079
17080 # $ANTLR end synpred40
17081
17082
17083
17084 # $ANTLR start synpred66
17085 def synpred66_fragment(self, ):
17086 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17087 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17088 # C.g:297:4: ( pointer )?
17089 alt111 = 2
17090 LA111_0 = self.input.LA(1)
17091
17092 if (LA111_0 == 66) :
17093 alt111 = 1
17094 if alt111 == 1:
17095 # C.g:0:0: pointer
17096 self.following.append(self.FOLLOW_pointer_in_synpred66784)
17097 self.pointer()
17098 self.following.pop()
17099 if self.failed:
17100 return
17101
17102
17103
17104 # C.g:297:13: ( 'EFIAPI' )?
17105 alt112 = 2
17106 LA112_0 = self.input.LA(1)
17107
17108 if (LA112_0 == 58) :
17109 alt112 = 1
17110 if alt112 == 1:
17111 # C.g:297:14: 'EFIAPI'
17112 self.match(self.input, 58, self.FOLLOW_58_in_synpred66788)
17113 if self.failed:
17114 return
17115
17116
17117
17118 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17119 alt113 = 2
17120 LA113_0 = self.input.LA(1)
17121
17122 if (LA113_0 == 59) :
17123 alt113 = 1
17124 if alt113 == 1:
17125 # C.g:297:26: 'EFI_BOOTSERVICE'
17126 self.match(self.input, 59, self.FOLLOW_59_in_synpred66793)
17127 if self.failed:
17128 return
17129
17130
17131
17132 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17133 alt114 = 2
17134 LA114_0 = self.input.LA(1)
17135
17136 if (LA114_0 == 60) :
17137 alt114 = 1
17138 if alt114 == 1:
17139 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17140 self.match(self.input, 60, self.FOLLOW_60_in_synpred66798)
17141 if self.failed:
17142 return
17143
17144
17145
17146 self.following.append(self.FOLLOW_direct_declarator_in_synpred66802)
17147 self.direct_declarator()
17148 self.following.pop()
17149 if self.failed:
17150 return
17151
17152
17153 # $ANTLR end synpred66
17154
17155
17156
17157 # $ANTLR start synpred67
17158 def synpred67_fragment(self, ):
17159 # C.g:303:15: ( declarator_suffix )
17160 # C.g:303:15: declarator_suffix
17161 self.following.append(self.FOLLOW_declarator_suffix_in_synpred67821)
17162 self.declarator_suffix()
17163 self.following.pop()
17164 if self.failed:
17165 return
17166
17167
17168 # $ANTLR end synpred67
17169
17170
17171
17172 # $ANTLR start synpred69
17173 def synpred69_fragment(self, ):
17174 # C.g:304:9: ( 'EFIAPI' )
17175 # C.g:304:9: 'EFIAPI'
17176 self.match(self.input, 58, self.FOLLOW_58_in_synpred69830)
17177 if self.failed:
17178 return
17179
17180
17181 # $ANTLR end synpred69
17182
17183
17184
17185 # $ANTLR start synpred70
17186 def synpred70_fragment(self, ):
17187 # C.g:304:35: ( declarator_suffix )
17188 # C.g:304:35: declarator_suffix
17189 self.following.append(self.FOLLOW_declarator_suffix_in_synpred70838)
17190 self.declarator_suffix()
17191 self.following.pop()
17192 if self.failed:
17193 return
17194
17195
17196 # $ANTLR end synpred70
17197
17198
17199
17200 # $ANTLR start synpred73
17201 def synpred73_fragment(self, ):
17202 # C.g:310:9: ( '(' parameter_type_list ')' )
17203 # C.g:310:9: '(' parameter_type_list ')'
17204 self.match(self.input, 62, self.FOLLOW_62_in_synpred73878)
17205 if self.failed:
17206 return
17207 self.following.append(self.FOLLOW_parameter_type_list_in_synpred73880)
17208 self.parameter_type_list()
17209 self.following.pop()
17210 if self.failed:
17211 return
17212 self.match(self.input, 63, self.FOLLOW_63_in_synpred73882)
17213 if self.failed:
17214 return
17215
17216
17217 # $ANTLR end synpred73
17218
17219
17220
17221 # $ANTLR start synpred74
17222 def synpred74_fragment(self, ):
17223 # C.g:311:9: ( '(' identifier_list ')' )
17224 # C.g:311:9: '(' identifier_list ')'
17225 self.match(self.input, 62, self.FOLLOW_62_in_synpred74892)
17226 if self.failed:
17227 return
17228 self.following.append(self.FOLLOW_identifier_list_in_synpred74894)
17229 self.identifier_list()
17230 self.following.pop()
17231 if self.failed:
17232 return
17233 self.match(self.input, 63, self.FOLLOW_63_in_synpred74896)
17234 if self.failed:
17235 return
17236
17237
17238 # $ANTLR end synpred74
17239
17240
17241
17242 # $ANTLR start synpred75
17243 def synpred75_fragment(self, ):
17244 # C.g:316:8: ( type_qualifier )
17245 # C.g:316:8: type_qualifier
17246 self.following.append(self.FOLLOW_type_qualifier_in_synpred75921)
17247 self.type_qualifier()
17248 self.following.pop()
17249 if self.failed:
17250 return
17251
17252
17253 # $ANTLR end synpred75
17254
17255
17256
17257 # $ANTLR start synpred76
17258 def synpred76_fragment(self, ):
17259 # C.g:316:24: ( pointer )
17260 # C.g:316:24: pointer
17261 self.following.append(self.FOLLOW_pointer_in_synpred76924)
17262 self.pointer()
17263 self.following.pop()
17264 if self.failed:
17265 return
17266
17267
17268 # $ANTLR end synpred76
17269
17270
17271
17272 # $ANTLR start synpred77
17273 def synpred77_fragment(self, ):
17274 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17275 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17276 self.match(self.input, 66, self.FOLLOW_66_in_synpred77919)
17277 if self.failed:
17278 return
17279 # C.g:316:8: ( type_qualifier )+
17280 cnt116 = 0
17281 while True: #loop116
17282 alt116 = 2
17283 LA116_0 = self.input.LA(1)
17284
17285 if ((49 <= LA116_0 <= 61)) :
17286 alt116 = 1
17287
17288
17289 if alt116 == 1:
17290 # C.g:0:0: type_qualifier
17291 self.following.append(self.FOLLOW_type_qualifier_in_synpred77921)
17292 self.type_qualifier()
17293 self.following.pop()
17294 if self.failed:
17295 return
17296
17297
17298 else:
17299 if cnt116 >= 1:
17300 break #loop116
17301
17302 if self.backtracking > 0:
17303 self.failed = True
17304 return
17305
17306 eee = EarlyExitException(116, self.input)
17307 raise eee
17308
17309 cnt116 += 1
17310
17311
17312 # C.g:316:24: ( pointer )?
17313 alt117 = 2
17314 LA117_0 = self.input.LA(1)
17315
17316 if (LA117_0 == 66) :
17317 alt117 = 1
17318 if alt117 == 1:
17319 # C.g:0:0: pointer
17320 self.following.append(self.FOLLOW_pointer_in_synpred77924)
17321 self.pointer()
17322 self.following.pop()
17323 if self.failed:
17324 return
17325
17326
17327
17328
17329
17330 # $ANTLR end synpred77
17331
17332
17333
17334 # $ANTLR start synpred78
17335 def synpred78_fragment(self, ):
17336 # C.g:317:4: ( '*' pointer )
17337 # C.g:317:4: '*' pointer
17338 self.match(self.input, 66, self.FOLLOW_66_in_synpred78930)
17339 if self.failed:
17340 return
17341 self.following.append(self.FOLLOW_pointer_in_synpred78932)
17342 self.pointer()
17343 self.following.pop()
17344 if self.failed:
17345 return
17346
17347
17348 # $ANTLR end synpred78
17349
17350
17351
17352 # $ANTLR start synpred81
17353 def synpred81_fragment(self, ):
17354 # C.g:326:32: ( 'OPTIONAL' )
17355 # C.g:326:32: 'OPTIONAL'
17356 self.match(self.input, 53, self.FOLLOW_53_in_synpred81977)
17357 if self.failed:
17358 return
17359
17360
17361 # $ANTLR end synpred81
17362
17363
17364
17365 # $ANTLR start synpred82
17366 def synpred82_fragment(self, ):
17367 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17368 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17369 self.match(self.input, 27, self.FOLLOW_27_in_synpred82974)
17370 if self.failed:
17371 return
17372 # C.g:326:31: ( 'OPTIONAL' )?
17373 alt119 = 2
17374 LA119_0 = self.input.LA(1)
17375
17376 if (LA119_0 == 53) :
17377 LA119_1 = self.input.LA(2)
17378
17379 if (self.synpred81()) :
17380 alt119 = 1
17381 if alt119 == 1:
17382 # C.g:326:32: 'OPTIONAL'
17383 self.match(self.input, 53, self.FOLLOW_53_in_synpred82977)
17384 if self.failed:
17385 return
17386
17387
17388
17389 self.following.append(self.FOLLOW_parameter_declaration_in_synpred82981)
17390 self.parameter_declaration()
17391 self.following.pop()
17392 if self.failed:
17393 return
17394
17395
17396 # $ANTLR end synpred82
17397
17398
17399
17400 # $ANTLR start synpred83
17401 def synpred83_fragment(self, ):
17402 # C.g:330:28: ( declarator )
17403 # C.g:330:28: declarator
17404 self.following.append(self.FOLLOW_declarator_in_synpred83997)
17405 self.declarator()
17406 self.following.pop()
17407 if self.failed:
17408 return
17409
17410
17411 # $ANTLR end synpred83
17412
17413
17414
17415 # $ANTLR start synpred84
17416 def synpred84_fragment(self, ):
17417 # C.g:330:39: ( abstract_declarator )
17418 # C.g:330:39: abstract_declarator
17419 self.following.append(self.FOLLOW_abstract_declarator_in_synpred84999)
17420 self.abstract_declarator()
17421 self.following.pop()
17422 if self.failed:
17423 return
17424
17425
17426 # $ANTLR end synpred84
17427
17428
17429
17430 # $ANTLR start synpred86
17431 def synpred86_fragment(self, ):
17432 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17433 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17434 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred86994)
17435 self.declaration_specifiers()
17436 self.following.pop()
17437 if self.failed:
17438 return
17439 # C.g:330:27: ( declarator | abstract_declarator )*
17440 while True: #loop120
17441 alt120 = 3
17442 LA120 = self.input.LA(1)
17443 if LA120 == 66:
17444 LA120_3 = self.input.LA(2)
17445
17446 if (self.synpred83()) :
17447 alt120 = 1
17448 elif (self.synpred84()) :
17449 alt120 = 2
17450
17451
17452 elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
17453 alt120 = 1
17454 elif LA120 == 62:
17455 LA120 = self.input.LA(2)
17456 if LA120 == 29 or LA120 == 30 or LA120 == 31 or LA120 == 32 or LA120 == 33 or LA120 == 34 or LA120 == 35 or LA120 == 36 or LA120 == 37 or LA120 == 38 or LA120 == 39 or LA120 == 40 or LA120 == 41 or LA120 == 42 or LA120 == 45 or LA120 == 46 or LA120 == 48 or LA120 == 49 or LA120 == 50 or LA120 == 51 or LA120 == 52 or LA120 == 53 or LA120 == 54 or LA120 == 55 or LA120 == 56 or LA120 == 57 or LA120 == 61 or LA120 == 63 or LA120 == 64:
17457 alt120 = 2
17458 elif LA120 == 58:
17459 LA120_21 = self.input.LA(3)
17460
17461 if (self.synpred83()) :
17462 alt120 = 1
17463 elif (self.synpred84()) :
17464 alt120 = 2
17465
17466
17467 elif LA120 == 66:
17468 LA120_22 = self.input.LA(3)
17469
17470 if (self.synpred83()) :
17471 alt120 = 1
17472 elif (self.synpred84()) :
17473 alt120 = 2
17474
17475
17476 elif LA120 == 59:
17477 LA120_23 = self.input.LA(3)
17478
17479 if (self.synpred83()) :
17480 alt120 = 1
17481 elif (self.synpred84()) :
17482 alt120 = 2
17483
17484
17485 elif LA120 == 60:
17486 LA120_24 = self.input.LA(3)
17487
17488 if (self.synpred83()) :
17489 alt120 = 1
17490 elif (self.synpred84()) :
17491 alt120 = 2
17492
17493
17494 elif LA120 == IDENTIFIER:
17495 LA120_25 = self.input.LA(3)
17496
17497 if (self.synpred83()) :
17498 alt120 = 1
17499 elif (self.synpred84()) :
17500 alt120 = 2
17501
17502
17503 elif LA120 == 62:
17504 LA120_26 = self.input.LA(3)
17505
17506 if (self.synpred83()) :
17507 alt120 = 1
17508 elif (self.synpred84()) :
17509 alt120 = 2
17510
17511
17512
17513 elif LA120 == 64:
17514 alt120 = 2
17515
17516 if alt120 == 1:
17517 # C.g:330:28: declarator
17518 self.following.append(self.FOLLOW_declarator_in_synpred86997)
17519 self.declarator()
17520 self.following.pop()
17521 if self.failed:
17522 return
17523
17524
17525 elif alt120 == 2:
17526 # C.g:330:39: abstract_declarator
17527 self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999)
17528 self.abstract_declarator()
17529 self.following.pop()
17530 if self.failed:
17531 return
17532
17533
17534 else:
17535 break #loop120
17536
17537
17538 # C.g:330:61: ( 'OPTIONAL' )?
17539 alt121 = 2
17540 LA121_0 = self.input.LA(1)
17541
17542 if (LA121_0 == 53) :
17543 alt121 = 1
17544 if alt121 == 1:
17545 # C.g:330:62: 'OPTIONAL'
17546 self.match(self.input, 53, self.FOLLOW_53_in_synpred861004)
17547 if self.failed:
17548 return
17549
17550
17551
17552
17553
17554 # $ANTLR end synpred86
17555
17556
17557
17558 # $ANTLR start synpred90
17559 def synpred90_fragment(self, ):
17560 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17561 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17562 self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred901046)
17563 self.specifier_qualifier_list()
17564 self.following.pop()
17565 if self.failed:
17566 return
17567 # C.g:341:29: ( abstract_declarator )?
17568 alt122 = 2
17569 LA122_0 = self.input.LA(1)
17570
17571 if (LA122_0 == 62 or LA122_0 == 64 or LA122_0 == 66) :
17572 alt122 = 1
17573 if alt122 == 1:
17574 # C.g:0:0: abstract_declarator
17575 self.following.append(self.FOLLOW_abstract_declarator_in_synpred901048)
17576 self.abstract_declarator()
17577 self.following.pop()
17578 if self.failed:
17579 return
17580
17581
17582
17583
17584
17585 # $ANTLR end synpred90
17586
17587
17588
17589 # $ANTLR start synpred91
17590 def synpred91_fragment(self, ):
17591 # C.g:346:12: ( direct_abstract_declarator )
17592 # C.g:346:12: direct_abstract_declarator
17593 self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred911067)
17594 self.direct_abstract_declarator()
17595 self.following.pop()
17596 if self.failed:
17597 return
17598
17599
17600 # $ANTLR end synpred91
17601
17602
17603
17604 # $ANTLR start synpred93
17605 def synpred93_fragment(self, ):
17606 # C.g:351:6: ( '(' abstract_declarator ')' )
17607 # C.g:351:6: '(' abstract_declarator ')'
17608 self.match(self.input, 62, self.FOLLOW_62_in_synpred931086)
17609 if self.failed:
17610 return
17611 self.following.append(self.FOLLOW_abstract_declarator_in_synpred931088)
17612 self.abstract_declarator()
17613 self.following.pop()
17614 if self.failed:
17615 return
17616 self.match(self.input, 63, self.FOLLOW_63_in_synpred931090)
17617 if self.failed:
17618 return
17619
17620
17621 # $ANTLR end synpred93
17622
17623
17624
17625 # $ANTLR start synpred94
17626 def synpred94_fragment(self, ):
17627 # C.g:351:65: ( abstract_declarator_suffix )
17628 # C.g:351:65: abstract_declarator_suffix
17629 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred941098)
17630 self.abstract_declarator_suffix()
17631 self.following.pop()
17632 if self.failed:
17633 return
17634
17635
17636 # $ANTLR end synpred94
17637
17638
17639
17640 # $ANTLR start synpred109
17641 def synpred109_fragment(self, ):
17642 # C.g:386:4: ( '(' type_name ')' cast_expression )
17643 # C.g:386:4: '(' type_name ')' cast_expression
17644 self.match(self.input, 62, self.FOLLOW_62_in_synpred1091282)
17645 if self.failed:
17646 return
17647 self.following.append(self.FOLLOW_type_name_in_synpred1091284)
17648 self.type_name()
17649 self.following.pop()
17650 if self.failed:
17651 return
17652 self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286)
17653 if self.failed:
17654 return
17655 self.following.append(self.FOLLOW_cast_expression_in_synpred1091288)
17656 self.cast_expression()
17657 self.following.pop()
17658 if self.failed:
17659 return
17660
17661
17662 # $ANTLR end synpred109
17663
17664
17665
17666 # $ANTLR start synpred114
17667 def synpred114_fragment(self, ):
17668 # C.g:395:4: ( 'sizeof' unary_expression )
17669 # C.g:395:4: 'sizeof' unary_expression
17670 self.match(self.input, 74, self.FOLLOW_74_in_synpred1141330)
17671 if self.failed:
17672 return
17673 self.following.append(self.FOLLOW_unary_expression_in_synpred1141332)
17674 self.unary_expression()
17675 self.following.pop()
17676 if self.failed:
17677 return
17678
17679
17680 # $ANTLR end synpred114
17681
17682
17683
17684 # $ANTLR start synpred117
17685 def synpred117_fragment(self, ):
17686 # C.g:409:13: ( '(' argument_expression_list ')' )
17687 # C.g:409:13: '(' argument_expression_list ')'
17688 self.match(self.input, 62, self.FOLLOW_62_in_synpred1171420)
17689 if self.failed:
17690 return
17691 self.following.append(self.FOLLOW_argument_expression_list_in_synpred1171424)
17692 self.argument_expression_list()
17693 self.following.pop()
17694 if self.failed:
17695 return
17696 self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428)
17697 if self.failed:
17698 return
17699
17700
17701 # $ANTLR end synpred117
17702
17703
17704
17705 # $ANTLR start synpred118
17706 def synpred118_fragment(self, ):
17707 # C.g:410:13: ( '(' macro_parameter_list ')' )
17708 # C.g:410:13: '(' macro_parameter_list ')'
17709 self.match(self.input, 62, self.FOLLOW_62_in_synpred1181444)
17710 if self.failed:
17711 return
17712 self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1181446)
17713 self.macro_parameter_list()
17714 self.following.pop()
17715 if self.failed:
17716 return
17717 self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448)
17718 if self.failed:
17719 return
17720
17721
17722 # $ANTLR end synpred118
17723
17724
17725
17726 # $ANTLR start synpred120
17727 def synpred120_fragment(self, ):
17728 # C.g:412:13: ( '*' IDENTIFIER )
17729 # C.g:412:13: '*' IDENTIFIER
17730 self.match(self.input, 66, self.FOLLOW_66_in_synpred1201482)
17731 if self.failed:
17732 return
17733 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1201486)
17734 if self.failed:
17735 return
17736
17737
17738 # $ANTLR end synpred120
17739
17740
17741
17742 # $ANTLR start synpred137
17743 def synpred137_fragment(self, ):
17744 # C.g:443:20: ( STRING_LITERAL )
17745 # C.g:443:20: STRING_LITERAL
17746 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371683)
17747 if self.failed:
17748 return
17749
17750
17751 # $ANTLR end synpred137
17752
17753
17754
17755 # $ANTLR start synpred138
17756 def synpred138_fragment(self, ):
17757 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17758 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17759 # C.g:443:8: ( IDENTIFIER )*
17760 while True: #loop125
17761 alt125 = 2
17762 LA125_0 = self.input.LA(1)
17763
17764 if (LA125_0 == IDENTIFIER) :
17765 alt125 = 1
17766
17767
17768 if alt125 == 1:
17769 # C.g:0:0: IDENTIFIER
17770 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680)
17771 if self.failed:
17772 return
17773
17774
17775 else:
17776 break #loop125
17777
17778
17779 # C.g:443:20: ( STRING_LITERAL )+
17780 cnt126 = 0
17781 while True: #loop126
17782 alt126 = 2
17783 LA126_0 = self.input.LA(1)
17784
17785 if (LA126_0 == STRING_LITERAL) :
17786 alt126 = 1
17787
17788
17789 if alt126 == 1:
17790 # C.g:0:0: STRING_LITERAL
17791 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683)
17792 if self.failed:
17793 return
17794
17795
17796 else:
17797 if cnt126 >= 1:
17798 break #loop126
17799
17800 if self.backtracking > 0:
17801 self.failed = True
17802 return
17803
17804 eee = EarlyExitException(126, self.input)
17805 raise eee
17806
17807 cnt126 += 1
17808
17809
17810
17811
17812 # $ANTLR end synpred138
17813
17814
17815
17816 # $ANTLR start synpred142
17817 def synpred142_fragment(self, ):
17818 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17819 # C.g:458:4: lvalue assignment_operator assignment_expression
17820 self.following.append(self.FOLLOW_lvalue_in_synpred1421744)
17821 self.lvalue()
17822 self.following.pop()
17823 if self.failed:
17824 return
17825 self.following.append(self.FOLLOW_assignment_operator_in_synpred1421746)
17826 self.assignment_operator()
17827 self.following.pop()
17828 if self.failed:
17829 return
17830 self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748)
17831 self.assignment_expression()
17832 self.following.pop()
17833 if self.failed:
17834 return
17835
17836
17837 # $ANTLR end synpred142
17838
17839
17840
17841 # $ANTLR start synpred169
17842 def synpred169_fragment(self, ):
17843 # C.g:520:4: ( expression_statement )
17844 # C.g:520:4: expression_statement
17845 self.following.append(self.FOLLOW_expression_statement_in_synpred1692035)
17846 self.expression_statement()
17847 self.following.pop()
17848 if self.failed:
17849 return
17850
17851
17852 # $ANTLR end synpred169
17853
17854
17855
17856 # $ANTLR start synpred173
17857 def synpred173_fragment(self, ):
17858 # C.g:524:4: ( macro_statement )
17859 # C.g:524:4: macro_statement
17860 self.following.append(self.FOLLOW_macro_statement_in_synpred1732055)
17861 self.macro_statement()
17862 self.following.pop()
17863 if self.failed:
17864 return
17865
17866
17867 # $ANTLR end synpred173
17868
17869
17870
17871 # $ANTLR start synpred174
17872 def synpred174_fragment(self, ):
17873 # C.g:525:4: ( asm2_statement )
17874 # C.g:525:4: asm2_statement
17875 self.following.append(self.FOLLOW_asm2_statement_in_synpred1742060)
17876 self.asm2_statement()
17877 self.following.pop()
17878 if self.failed:
17879 return
17880
17881
17882 # $ANTLR end synpred174
17883
17884
17885
17886 # $ANTLR start synpred181
17887 def synpred181_fragment(self, ):
17888 # C.g:544:19: ( declaration )
17889 # C.g:544:19: declaration
17890 self.following.append(self.FOLLOW_declaration_in_synpred1812166)
17891 self.declaration()
17892 self.following.pop()
17893 if self.failed:
17894 return
17895
17896
17897 # $ANTLR end synpred181
17898
17899
17900
17901 # $ANTLR start synpred182
17902 def synpred182_fragment(self, ):
17903 # C.g:544:33: ( statement_list )
17904 # C.g:544:33: statement_list
17905 self.following.append(self.FOLLOW_statement_list_in_synpred1822170)
17906 self.statement_list()
17907 self.following.pop()
17908 if self.failed:
17909 return
17910
17911
17912 # $ANTLR end synpred182
17913
17914
17915
17916 # $ANTLR start synpred186
17917 def synpred186_fragment(self, ):
17918 # C.g:554:8: ( declaration )
17919 # C.g:554:8: declaration
17920 self.following.append(self.FOLLOW_declaration_in_synpred1862225)
17921 self.declaration()
17922 self.following.pop()
17923 if self.failed:
17924 return
17925
17926
17927 # $ANTLR end synpred186
17928
17929
17930
17931 # $ANTLR start synpred188
17932 def synpred188_fragment(self, ):
17933 # C.g:558:4: ( statement )
17934 # C.g:558:4: statement
17935 self.following.append(self.FOLLOW_statement_in_synpred1882242)
17936 self.statement()
17937 self.following.pop()
17938 if self.failed:
17939 return
17940
17941
17942 # $ANTLR end synpred188
17943
17944
17945
17946 def synpred69(self):
17947 self.backtracking += 1
17948 start = self.input.mark()
17949 self.synpred69_fragment()
17950 success = not self.failed
17951 self.input.rewind(start)
17952 self.backtracking -= 1
17953 self.failed = False
17954 return success
17955
17956 def synpred81(self):
17957 self.backtracking += 1
17958 start = self.input.mark()
17959 self.synpred81_fragment()
17960 success = not self.failed
17961 self.input.rewind(start)
17962 self.backtracking -= 1
17963 self.failed = False
17964 return success
17965
17966 def synpred82(self):
17967 self.backtracking += 1
17968 start = self.input.mark()
17969 self.synpred82_fragment()
17970 success = not self.failed
17971 self.input.rewind(start)
17972 self.backtracking -= 1
17973 self.failed = False
17974 return success
17975
17976 def synpred66(self):
17977 self.backtracking += 1
17978 start = self.input.mark()
17979 self.synpred66_fragment()
17980 success = not self.failed
17981 self.input.rewind(start)
17982 self.backtracking -= 1
17983 self.failed = False
17984 return success
17985
17986 def synpred83(self):
17987 self.backtracking += 1
17988 start = self.input.mark()
17989 self.synpred83_fragment()
17990 success = not self.failed
17991 self.input.rewind(start)
17992 self.backtracking -= 1
17993 self.failed = False
17994 return success
17995
17996 def synpred84(self):
17997 self.backtracking += 1
17998 start = self.input.mark()
17999 self.synpred84_fragment()
18000 success = not self.failed
18001 self.input.rewind(start)
18002 self.backtracking -= 1
18003 self.failed = False
18004 return success
18005
18006 def synpred67(self):
18007 self.backtracking += 1
18008 start = self.input.mark()
18009 self.synpred67_fragment()
18010 success = not self.failed
18011 self.input.rewind(start)
18012 self.backtracking -= 1
18013 self.failed = False
18014 return success
18015
18016 def synpred86(self):
18017 self.backtracking += 1
18018 start = self.input.mark()
18019 self.synpred86_fragment()
18020 success = not self.failed
18021 self.input.rewind(start)
18022 self.backtracking -= 1
18023 self.failed = False
18024 return success
18025
18026 def synpred120(self):
18027 self.backtracking += 1
18028 start = self.input.mark()
18029 self.synpred120_fragment()
18030 success = not self.failed
18031 self.input.rewind(start)
18032 self.backtracking -= 1
18033 self.failed = False
18034 return success
18035
18036 def synpred40(self):
18037 self.backtracking += 1
18038 start = self.input.mark()
18039 self.synpred40_fragment()
18040 success = not self.failed
18041 self.input.rewind(start)
18042 self.backtracking -= 1
18043 self.failed = False
18044 return success
18045
18046 def synpred142(self):
18047 self.backtracking += 1
18048 start = self.input.mark()
18049 self.synpred142_fragment()
18050 success = not self.failed
18051 self.input.rewind(start)
18052 self.backtracking -= 1
18053 self.failed = False
18054 return success
18055
18056 def synpred182(self):
18057 self.backtracking += 1
18058 start = self.input.mark()
18059 self.synpred182_fragment()
18060 success = not self.failed
18061 self.input.rewind(start)
18062 self.backtracking -= 1
18063 self.failed = False
18064 return success
18065
18066 def synpred109(self):
18067 self.backtracking += 1
18068 start = self.input.mark()
18069 self.synpred109_fragment()
18070 success = not self.failed
18071 self.input.rewind(start)
18072 self.backtracking -= 1
18073 self.failed = False
18074 return success
18075
18076 def synpred181(self):
18077 self.backtracking += 1
18078 start = self.input.mark()
18079 self.synpred181_fragment()
18080 success = not self.failed
18081 self.input.rewind(start)
18082 self.backtracking -= 1
18083 self.failed = False
18084 return success
18085
18086 def synpred186(self):
18087 self.backtracking += 1
18088 start = self.input.mark()
18089 self.synpred186_fragment()
18090 success = not self.failed
18091 self.input.rewind(start)
18092 self.backtracking -= 1
18093 self.failed = False
18094 return success
18095
18096 def synpred188(self):
18097 self.backtracking += 1
18098 start = self.input.mark()
18099 self.synpred188_fragment()
18100 success = not self.failed
18101 self.input.rewind(start)
18102 self.backtracking -= 1
18103 self.failed = False
18104 return success
18105
18106 def synpred169(self):
18107 self.backtracking += 1
18108 start = self.input.mark()
18109 self.synpred169_fragment()
18110 success = not self.failed
18111 self.input.rewind(start)
18112 self.backtracking -= 1
18113 self.failed = False
18114 return success
18115
18116 def synpred117(self):
18117 self.backtracking += 1
18118 start = self.input.mark()
18119 self.synpred117_fragment()
18120 success = not self.failed
18121 self.input.rewind(start)
18122 self.backtracking -= 1
18123 self.failed = False
18124 return success
18125
18126 def synpred70(self):
18127 self.backtracking += 1
18128 start = self.input.mark()
18129 self.synpred70_fragment()
18130 success = not self.failed
18131 self.input.rewind(start)
18132 self.backtracking -= 1
18133 self.failed = False
18134 return success
18135
18136 def synpred118(self):
18137 self.backtracking += 1
18138 start = self.input.mark()
18139 self.synpred118_fragment()
18140 success = not self.failed
18141 self.input.rewind(start)
18142 self.backtracking -= 1
18143 self.failed = False
18144 return success
18145
18146 def synpred34(self):
18147 self.backtracking += 1
18148 start = self.input.mark()
18149 self.synpred34_fragment()
18150 success = not self.failed
18151 self.input.rewind(start)
18152 self.backtracking -= 1
18153 self.failed = False
18154 return success
18155
18156 def synpred33(self):
18157 self.backtracking += 1
18158 start = self.input.mark()
18159 self.synpred33_fragment()
18160 success = not self.failed
18161 self.input.rewind(start)
18162 self.backtracking -= 1
18163 self.failed = False
18164 return success
18165
18166 def synpred94(self):
18167 self.backtracking += 1
18168 start = self.input.mark()
18169 self.synpred94_fragment()
18170 success = not self.failed
18171 self.input.rewind(start)
18172 self.backtracking -= 1
18173 self.failed = False
18174 return success
18175
18176 def synpred39(self):
18177 self.backtracking += 1
18178 start = self.input.mark()
18179 self.synpred39_fragment()
18180 success = not self.failed
18181 self.input.rewind(start)
18182 self.backtracking -= 1
18183 self.failed = False
18184 return success
18185
18186 def synpred74(self):
18187 self.backtracking += 1
18188 start = self.input.mark()
18189 self.synpred74_fragment()
18190 success = not self.failed
18191 self.input.rewind(start)
18192 self.backtracking -= 1
18193 self.failed = False
18194 return success
18195
18196 def synpred114(self):
18197 self.backtracking += 1
18198 start = self.input.mark()
18199 self.synpred114_fragment()
18200 success = not self.failed
18201 self.input.rewind(start)
18202 self.backtracking -= 1
18203 self.failed = False
18204 return success
18205
18206 def synpred93(self):
18207 self.backtracking += 1
18208 start = self.input.mark()
18209 self.synpred93_fragment()
18210 success = not self.failed
18211 self.input.rewind(start)
18212 self.backtracking -= 1
18213 self.failed = False
18214 return success
18215
18216 def synpred75(self):
18217 self.backtracking += 1
18218 start = self.input.mark()
18219 self.synpred75_fragment()
18220 success = not self.failed
18221 self.input.rewind(start)
18222 self.backtracking -= 1
18223 self.failed = False
18224 return success
18225
18226 def synpred137(self):
18227 self.backtracking += 1
18228 start = self.input.mark()
18229 self.synpred137_fragment()
18230 success = not self.failed
18231 self.input.rewind(start)
18232 self.backtracking -= 1
18233 self.failed = False
18234 return success
18235
18236 def synpred90(self):
18237 self.backtracking += 1
18238 start = self.input.mark()
18239 self.synpred90_fragment()
18240 success = not self.failed
18241 self.input.rewind(start)
18242 self.backtracking -= 1
18243 self.failed = False
18244 return success
18245
18246 def synpred138(self):
18247 self.backtracking += 1
18248 start = self.input.mark()
18249 self.synpred138_fragment()
18250 success = not self.failed
18251 self.input.rewind(start)
18252 self.backtracking -= 1
18253 self.failed = False
18254 return success
18255
18256 def synpred91(self):
18257 self.backtracking += 1
18258 start = self.input.mark()
18259 self.synpred91_fragment()
18260 success = not self.failed
18261 self.input.rewind(start)
18262 self.backtracking -= 1
18263 self.failed = False
18264 return success
18265
18266 def synpred73(self):
18267 self.backtracking += 1
18268 start = self.input.mark()
18269 self.synpred73_fragment()
18270 success = not self.failed
18271 self.input.rewind(start)
18272 self.backtracking -= 1
18273 self.failed = False
18274 return success
18275
18276 def synpred5(self):
18277 self.backtracking += 1
18278 start = self.input.mark()
18279 self.synpred5_fragment()
18280 success = not self.failed
18281 self.input.rewind(start)
18282 self.backtracking -= 1
18283 self.failed = False
18284 return success
18285
18286 def synpred78(self):
18287 self.backtracking += 1
18288 start = self.input.mark()
18289 self.synpred78_fragment()
18290 success = not self.failed
18291 self.input.rewind(start)
18292 self.backtracking -= 1
18293 self.failed = False
18294 return success
18295
18296 def synpred7(self):
18297 self.backtracking += 1
18298 start = self.input.mark()
18299 self.synpred7_fragment()
18300 success = not self.failed
18301 self.input.rewind(start)
18302 self.backtracking -= 1
18303 self.failed = False
18304 return success
18305
18306 def synpred76(self):
18307 self.backtracking += 1
18308 start = self.input.mark()
18309 self.synpred76_fragment()
18310 success = not self.failed
18311 self.input.rewind(start)
18312 self.backtracking -= 1
18313 self.failed = False
18314 return success
18315
18316 def synpred77(self):
18317 self.backtracking += 1
18318 start = self.input.mark()
18319 self.synpred77_fragment()
18320 success = not self.failed
18321 self.input.rewind(start)
18322 self.backtracking -= 1
18323 self.failed = False
18324 return success
18325
18326 def synpred2(self):
18327 self.backtracking += 1
18328 start = self.input.mark()
18329 self.synpred2_fragment()
18330 success = not self.failed
18331 self.input.rewind(start)
18332 self.backtracking -= 1
18333 self.failed = False
18334 return success
18335
18336 def synpred4(self):
18337 self.backtracking += 1
18338 start = self.input.mark()
18339 self.synpred4_fragment()
18340 success = not self.failed
18341 self.input.rewind(start)
18342 self.backtracking -= 1
18343 self.failed = False
18344 return success
18345
18346 def synpred174(self):
18347 self.backtracking += 1
18348 start = self.input.mark()
18349 self.synpred174_fragment()
18350 success = not self.failed
18351 self.input.rewind(start)
18352 self.backtracking -= 1
18353 self.failed = False
18354 return success
18355
18356 def synpred173(self):
18357 self.backtracking += 1
18358 start = self.input.mark()
18359 self.synpred173_fragment()
18360 success = not self.failed
18361 self.input.rewind(start)
18362 self.backtracking -= 1
18363 self.failed = False
18364 return success
18365
18366 def synpred14(self):
18367 self.backtracking += 1
18368 start = self.input.mark()
18369 self.synpred14_fragment()
18370 success = not self.failed
18371 self.input.rewind(start)
18372 self.backtracking -= 1
18373 self.failed = False
18374 return success
18375
18376 def synpred15(self):
18377 self.backtracking += 1
18378 start = self.input.mark()
18379 self.synpred15_fragment()
18380 success = not self.failed
18381 self.input.rewind(start)
18382 self.backtracking -= 1
18383 self.failed = False
18384 return success
18385
18386 def synpred10(self):
18387 self.backtracking += 1
18388 start = self.input.mark()
18389 self.synpred10_fragment()
18390 success = not self.failed
18391 self.input.rewind(start)
18392 self.backtracking -= 1
18393 self.failed = False
18394 return success
18395
18396
18397
18398
18399
18400 FOLLOW_external_declaration_in_translation_unit74 = frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18401 FOLLOW_function_definition_in_external_declaration113 = frozenset([1])
18402 FOLLOW_declaration_in_external_declaration118 = frozenset([1])
18403 FOLLOW_macro_statement_in_external_declaration123 = frozenset([1, 25])
18404 FOLLOW_25_in_external_declaration126 = frozenset([1])
18405 FOLLOW_declaration_specifiers_in_function_definition157 = frozenset([4, 58, 59, 60, 62, 66])
18406 FOLLOW_declarator_in_function_definition160 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18407 FOLLOW_declaration_in_function_definition166 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18408 FOLLOW_compound_statement_in_function_definition171 = frozenset([1])
18409 FOLLOW_compound_statement_in_function_definition180 = frozenset([1])
18410 FOLLOW_26_in_declaration203 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18411 FOLLOW_declaration_specifiers_in_declaration207 = frozenset([4, 58, 59, 60, 62, 66])
18412 FOLLOW_init_declarator_list_in_declaration216 = frozenset([25])
18413 FOLLOW_25_in_declaration220 = frozenset([1])
18414 FOLLOW_declaration_specifiers_in_declaration234 = frozenset([4, 25, 58, 59, 60, 62, 66])
18415 FOLLOW_init_declarator_list_in_declaration238 = frozenset([25])
18416 FOLLOW_25_in_declaration243 = frozenset([1])
18417 FOLLOW_storage_class_specifier_in_declaration_specifiers264 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18418 FOLLOW_type_specifier_in_declaration_specifiers272 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18419 FOLLOW_type_qualifier_in_declaration_specifiers286 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18420 FOLLOW_init_declarator_in_init_declarator_list308 = frozenset([1, 27])
18421 FOLLOW_27_in_init_declarator_list311 = frozenset([4, 58, 59, 60, 62, 66])
18422 FOLLOW_init_declarator_in_init_declarator_list313 = frozenset([1, 27])
18423 FOLLOW_declarator_in_init_declarator326 = frozenset([1, 28])
18424 FOLLOW_28_in_init_declarator329 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18425 FOLLOW_initializer_in_init_declarator331 = frozenset([1])
18426 FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
18427 FOLLOW_34_in_type_specifier376 = frozenset([1])
18428 FOLLOW_35_in_type_specifier381 = frozenset([1])
18429 FOLLOW_36_in_type_specifier386 = frozenset([1])
18430 FOLLOW_37_in_type_specifier391 = frozenset([1])
18431 FOLLOW_38_in_type_specifier396 = frozenset([1])
18432 FOLLOW_39_in_type_specifier401 = frozenset([1])
18433 FOLLOW_40_in_type_specifier406 = frozenset([1])
18434 FOLLOW_41_in_type_specifier411 = frozenset([1])
18435 FOLLOW_42_in_type_specifier416 = frozenset([1])
18436 FOLLOW_struct_or_union_specifier_in_type_specifier423 = frozenset([1])
18437 FOLLOW_enum_specifier_in_type_specifier433 = frozenset([1])
18438 FOLLOW_type_id_in_type_specifier451 = frozenset([1])
18439 FOLLOW_IDENTIFIER_in_type_id467 = frozenset([1])
18440 FOLLOW_struct_or_union_in_struct_or_union_specifier494 = frozenset([4, 43])
18441 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496 = frozenset([43])
18442 FOLLOW_43_in_struct_or_union_specifier499 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18443 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501 = frozenset([44])
18444 FOLLOW_44_in_struct_or_union_specifier503 = frozenset([1])
18445 FOLLOW_struct_or_union_in_struct_or_union_specifier508 = frozenset([4])
18446 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510 = frozenset([1])
18447 FOLLOW_set_in_struct_or_union0 = frozenset([1])
18448 FOLLOW_struct_declaration_in_struct_declaration_list537 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18449 FOLLOW_specifier_qualifier_list_in_struct_declaration549 = frozenset([4, 47, 58, 59, 60, 62, 66])
18450 FOLLOW_struct_declarator_list_in_struct_declaration551 = frozenset([25])
18451 FOLLOW_25_in_struct_declaration553 = frozenset([1])
18452 FOLLOW_type_qualifier_in_specifier_qualifier_list566 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18453 FOLLOW_type_specifier_in_specifier_qualifier_list570 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18454 FOLLOW_struct_declarator_in_struct_declarator_list584 = frozenset([1, 27])
18455 FOLLOW_27_in_struct_declarator_list587 = frozenset([4, 47, 58, 59, 60, 62, 66])
18456 FOLLOW_struct_declarator_in_struct_declarator_list589 = frozenset([1, 27])
18457 FOLLOW_declarator_in_struct_declarator602 = frozenset([1, 47])
18458 FOLLOW_47_in_struct_declarator605 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18459 FOLLOW_constant_expression_in_struct_declarator607 = frozenset([1])
18460 FOLLOW_47_in_struct_declarator614 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18461 FOLLOW_constant_expression_in_struct_declarator616 = frozenset([1])
18462 FOLLOW_48_in_enum_specifier634 = frozenset([43])
18463 FOLLOW_43_in_enum_specifier636 = frozenset([4])
18464 FOLLOW_enumerator_list_in_enum_specifier638 = frozenset([27, 44])
18465 FOLLOW_27_in_enum_specifier640 = frozenset([44])
18466 FOLLOW_44_in_enum_specifier643 = frozenset([1])
18467 FOLLOW_48_in_enum_specifier648 = frozenset([4])
18468 FOLLOW_IDENTIFIER_in_enum_specifier650 = frozenset([43])
18469 FOLLOW_43_in_enum_specifier652 = frozenset([4])
18470 FOLLOW_enumerator_list_in_enum_specifier654 = frozenset([27, 44])
18471 FOLLOW_27_in_enum_specifier656 = frozenset([44])
18472 FOLLOW_44_in_enum_specifier659 = frozenset([1])
18473 FOLLOW_48_in_enum_specifier664 = frozenset([4])
18474 FOLLOW_IDENTIFIER_in_enum_specifier666 = frozenset([1])
18475 FOLLOW_enumerator_in_enumerator_list677 = frozenset([1, 27])
18476 FOLLOW_27_in_enumerator_list680 = frozenset([4])
18477 FOLLOW_enumerator_in_enumerator_list682 = frozenset([1, 27])
18478 FOLLOW_IDENTIFIER_in_enumerator695 = frozenset([1, 28])
18479 FOLLOW_28_in_enumerator698 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18480 FOLLOW_constant_expression_in_enumerator700 = frozenset([1])
18481 FOLLOW_set_in_type_qualifier0 = frozenset([1])
18482 FOLLOW_pointer_in_declarator784 = frozenset([4, 58, 59, 60, 62])
18483 FOLLOW_58_in_declarator788 = frozenset([4, 59, 60, 62])
18484 FOLLOW_59_in_declarator793 = frozenset([4, 60, 62])
18485 FOLLOW_60_in_declarator798 = frozenset([4, 62])
18486 FOLLOW_direct_declarator_in_declarator802 = frozenset([1])
18487 FOLLOW_pointer_in_declarator808 = frozenset([1])
18488 FOLLOW_IDENTIFIER_in_direct_declarator819 = frozenset([1, 62, 64])
18489 FOLLOW_declarator_suffix_in_direct_declarator821 = frozenset([1, 62, 64])
18490 FOLLOW_62_in_direct_declarator827 = frozenset([4, 58, 59, 60, 62, 66])
18491 FOLLOW_58_in_direct_declarator830 = frozenset([4, 58, 59, 60, 62, 66])
18492 FOLLOW_declarator_in_direct_declarator834 = frozenset([63])
18493 FOLLOW_63_in_direct_declarator836 = frozenset([62, 64])
18494 FOLLOW_declarator_suffix_in_direct_declarator838 = frozenset([1, 62, 64])
18495 FOLLOW_64_in_declarator_suffix852 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18496 FOLLOW_constant_expression_in_declarator_suffix854 = frozenset([65])
18497 FOLLOW_65_in_declarator_suffix856 = frozenset([1])
18498 FOLLOW_64_in_declarator_suffix866 = frozenset([65])
18499 FOLLOW_65_in_declarator_suffix868 = frozenset([1])
18500 FOLLOW_62_in_declarator_suffix878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18501 FOLLOW_parameter_type_list_in_declarator_suffix880 = frozenset([63])
18502 FOLLOW_63_in_declarator_suffix882 = frozenset([1])
18503 FOLLOW_62_in_declarator_suffix892 = frozenset([4])
18504 FOLLOW_identifier_list_in_declarator_suffix894 = frozenset([63])
18505 FOLLOW_63_in_declarator_suffix896 = frozenset([1])
18506 FOLLOW_62_in_declarator_suffix906 = frozenset([63])
18507 FOLLOW_63_in_declarator_suffix908 = frozenset([1])
18508 FOLLOW_66_in_pointer919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18509 FOLLOW_type_qualifier_in_pointer921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18510 FOLLOW_pointer_in_pointer924 = frozenset([1])
18511 FOLLOW_66_in_pointer930 = frozenset([66])
18512 FOLLOW_pointer_in_pointer932 = frozenset([1])
18513 FOLLOW_66_in_pointer937 = frozenset([1])
18514 FOLLOW_parameter_list_in_parameter_type_list948 = frozenset([1, 27])
18515 FOLLOW_27_in_parameter_type_list951 = frozenset([53, 67])
18516 FOLLOW_53_in_parameter_type_list954 = frozenset([67])
18517 FOLLOW_67_in_parameter_type_list958 = frozenset([1])
18518 FOLLOW_parameter_declaration_in_parameter_list971 = frozenset([1, 27])
18519 FOLLOW_27_in_parameter_list974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18520 FOLLOW_53_in_parameter_list977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18521 FOLLOW_parameter_declaration_in_parameter_list981 = frozenset([1, 27])
18522 FOLLOW_declaration_specifiers_in_parameter_declaration994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18523 FOLLOW_declarator_in_parameter_declaration997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18524 FOLLOW_abstract_declarator_in_parameter_declaration999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18525 FOLLOW_53_in_parameter_declaration1004 = frozenset([1])
18526 FOLLOW_pointer_in_parameter_declaration1013 = frozenset([4, 66])
18527 FOLLOW_IDENTIFIER_in_parameter_declaration1016 = frozenset([1])
18528 FOLLOW_IDENTIFIER_in_identifier_list1027 = frozenset([1, 27])
18529 FOLLOW_27_in_identifier_list1031 = frozenset([4])
18530 FOLLOW_IDENTIFIER_in_identifier_list1033 = frozenset([1, 27])
18531 FOLLOW_specifier_qualifier_list_in_type_name1046 = frozenset([1, 62, 64, 66])
18532 FOLLOW_abstract_declarator_in_type_name1048 = frozenset([1])
18533 FOLLOW_type_id_in_type_name1054 = frozenset([1])
18534 FOLLOW_pointer_in_abstract_declarator1065 = frozenset([1, 62, 64])
18535 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067 = frozenset([1])
18536 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073 = frozenset([1])
18537 FOLLOW_62_in_direct_abstract_declarator1086 = frozenset([62, 64, 66])
18538 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088 = frozenset([63])
18539 FOLLOW_63_in_direct_abstract_declarator1090 = frozenset([1, 62, 64])
18540 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094 = frozenset([1, 62, 64])
18541 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098 = frozenset([1, 62, 64])
18542 FOLLOW_64_in_abstract_declarator_suffix1110 = frozenset([65])
18543 FOLLOW_65_in_abstract_declarator_suffix1112 = frozenset([1])
18544 FOLLOW_64_in_abstract_declarator_suffix1117 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18545 FOLLOW_constant_expression_in_abstract_declarator_suffix1119 = frozenset([65])
18546 FOLLOW_65_in_abstract_declarator_suffix1121 = frozenset([1])
18547 FOLLOW_62_in_abstract_declarator_suffix1126 = frozenset([63])
18548 FOLLOW_63_in_abstract_declarator_suffix1128 = frozenset([1])
18549 FOLLOW_62_in_abstract_declarator_suffix1133 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18550 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135 = frozenset([63])
18551 FOLLOW_63_in_abstract_declarator_suffix1137 = frozenset([1])
18552 FOLLOW_assignment_expression_in_initializer1150 = frozenset([1])
18553 FOLLOW_43_in_initializer1155 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18554 FOLLOW_initializer_list_in_initializer1157 = frozenset([27, 44])
18555 FOLLOW_27_in_initializer1159 = frozenset([44])
18556 FOLLOW_44_in_initializer1162 = frozenset([1])
18557 FOLLOW_initializer_in_initializer_list1173 = frozenset([1, 27])
18558 FOLLOW_27_in_initializer_list1176 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18559 FOLLOW_initializer_in_initializer_list1178 = frozenset([1, 27])
18560 FOLLOW_assignment_expression_in_argument_expression_list1196 = frozenset([1, 27, 53])
18561 FOLLOW_53_in_argument_expression_list1199 = frozenset([1, 27])
18562 FOLLOW_27_in_argument_expression_list1204 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18563 FOLLOW_assignment_expression_in_argument_expression_list1206 = frozenset([1, 27, 53])
18564 FOLLOW_53_in_argument_expression_list1209 = frozenset([1, 27])
18565 FOLLOW_multiplicative_expression_in_additive_expression1225 = frozenset([1, 68, 69])
18566 FOLLOW_68_in_additive_expression1229 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18567 FOLLOW_multiplicative_expression_in_additive_expression1231 = frozenset([1, 68, 69])
18568 FOLLOW_69_in_additive_expression1235 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18569 FOLLOW_multiplicative_expression_in_additive_expression1237 = frozenset([1, 68, 69])
18570 FOLLOW_cast_expression_in_multiplicative_expression1251 = frozenset([1, 66, 70, 71])
18571 FOLLOW_66_in_multiplicative_expression1255 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18572 FOLLOW_cast_expression_in_multiplicative_expression1257 = frozenset([1, 66, 70, 71])
18573 FOLLOW_70_in_multiplicative_expression1261 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18574 FOLLOW_cast_expression_in_multiplicative_expression1263 = frozenset([1, 66, 70, 71])
18575 FOLLOW_71_in_multiplicative_expression1267 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18576 FOLLOW_cast_expression_in_multiplicative_expression1269 = frozenset([1, 66, 70, 71])
18577 FOLLOW_62_in_cast_expression1282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18578 FOLLOW_type_name_in_cast_expression1284 = frozenset([63])
18579 FOLLOW_63_in_cast_expression1286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18580 FOLLOW_cast_expression_in_cast_expression1288 = frozenset([1])
18581 FOLLOW_unary_expression_in_cast_expression1293 = frozenset([1])
18582 FOLLOW_postfix_expression_in_unary_expression1304 = frozenset([1])
18583 FOLLOW_72_in_unary_expression1309 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18584 FOLLOW_unary_expression_in_unary_expression1311 = frozenset([1])
18585 FOLLOW_73_in_unary_expression1316 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18586 FOLLOW_unary_expression_in_unary_expression1318 = frozenset([1])
18587 FOLLOW_unary_operator_in_unary_expression1323 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18588 FOLLOW_cast_expression_in_unary_expression1325 = frozenset([1])
18589 FOLLOW_74_in_unary_expression1330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18590 FOLLOW_unary_expression_in_unary_expression1332 = frozenset([1])
18591 FOLLOW_74_in_unary_expression1337 = frozenset([62])
18592 FOLLOW_62_in_unary_expression1339 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18593 FOLLOW_type_name_in_unary_expression1341 = frozenset([63])
18594 FOLLOW_63_in_unary_expression1343 = frozenset([1])
18595 FOLLOW_primary_expression_in_postfix_expression1367 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18596 FOLLOW_64_in_postfix_expression1383 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18597 FOLLOW_expression_in_postfix_expression1385 = frozenset([65])
18598 FOLLOW_65_in_postfix_expression1387 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18599 FOLLOW_62_in_postfix_expression1401 = frozenset([63])
18600 FOLLOW_63_in_postfix_expression1405 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18601 FOLLOW_62_in_postfix_expression1420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18602 FOLLOW_argument_expression_list_in_postfix_expression1424 = frozenset([63])
18603 FOLLOW_63_in_postfix_expression1428 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18604 FOLLOW_62_in_postfix_expression1444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18605 FOLLOW_macro_parameter_list_in_postfix_expression1446 = frozenset([63])
18606 FOLLOW_63_in_postfix_expression1448 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18607 FOLLOW_75_in_postfix_expression1462 = frozenset([4])
18608 FOLLOW_IDENTIFIER_in_postfix_expression1466 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18609 FOLLOW_66_in_postfix_expression1482 = frozenset([4])
18610 FOLLOW_IDENTIFIER_in_postfix_expression1486 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18611 FOLLOW_76_in_postfix_expression1502 = frozenset([4])
18612 FOLLOW_IDENTIFIER_in_postfix_expression1506 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18613 FOLLOW_72_in_postfix_expression1522 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18614 FOLLOW_73_in_postfix_expression1536 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18615 FOLLOW_parameter_declaration_in_macro_parameter_list1559 = frozenset([1, 27])
18616 FOLLOW_27_in_macro_parameter_list1562 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18617 FOLLOW_parameter_declaration_in_macro_parameter_list1564 = frozenset([1, 27])
18618 FOLLOW_set_in_unary_operator0 = frozenset([1])
18619 FOLLOW_IDENTIFIER_in_primary_expression1613 = frozenset([1])
18620 FOLLOW_constant_in_primary_expression1618 = frozenset([1])
18621 FOLLOW_62_in_primary_expression1623 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18622 FOLLOW_expression_in_primary_expression1625 = frozenset([63])
18623 FOLLOW_63_in_primary_expression1627 = frozenset([1])
18624 FOLLOW_HEX_LITERAL_in_constant1643 = frozenset([1])
18625 FOLLOW_OCTAL_LITERAL_in_constant1653 = frozenset([1])
18626 FOLLOW_DECIMAL_LITERAL_in_constant1663 = frozenset([1])
18627 FOLLOW_CHARACTER_LITERAL_in_constant1671 = frozenset([1])
18628 FOLLOW_IDENTIFIER_in_constant1680 = frozenset([4, 9])
18629 FOLLOW_STRING_LITERAL_in_constant1683 = frozenset([1, 4, 9])
18630 FOLLOW_IDENTIFIER_in_constant1688 = frozenset([1, 4])
18631 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699 = frozenset([1])
18632 FOLLOW_assignment_expression_in_expression1715 = frozenset([1, 27])
18633 FOLLOW_27_in_expression1718 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18634 FOLLOW_assignment_expression_in_expression1720 = frozenset([1, 27])
18635 FOLLOW_conditional_expression_in_constant_expression1733 = frozenset([1])
18636 FOLLOW_lvalue_in_assignment_expression1744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18637 FOLLOW_assignment_operator_in_assignment_expression1746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18638 FOLLOW_assignment_expression_in_assignment_expression1748 = frozenset([1])
18639 FOLLOW_conditional_expression_in_assignment_expression1753 = frozenset([1])
18640 FOLLOW_unary_expression_in_lvalue1765 = frozenset([1])
18641 FOLLOW_set_in_assignment_operator0 = frozenset([1])
18642 FOLLOW_logical_or_expression_in_conditional_expression1839 = frozenset([1, 90])
18643 FOLLOW_90_in_conditional_expression1842 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18644 FOLLOW_expression_in_conditional_expression1844 = frozenset([47])
18645 FOLLOW_47_in_conditional_expression1846 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18646 FOLLOW_conditional_expression_in_conditional_expression1848 = frozenset([1])
18647 FOLLOW_logical_and_expression_in_logical_or_expression1863 = frozenset([1, 91])
18648 FOLLOW_91_in_logical_or_expression1866 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18649 FOLLOW_logical_and_expression_in_logical_or_expression1868 = frozenset([1, 91])
18650 FOLLOW_inclusive_or_expression_in_logical_and_expression1881 = frozenset([1, 92])
18651 FOLLOW_92_in_logical_and_expression1884 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18652 FOLLOW_inclusive_or_expression_in_logical_and_expression1886 = frozenset([1, 92])
18653 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899 = frozenset([1, 93])
18654 FOLLOW_93_in_inclusive_or_expression1902 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18655 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904 = frozenset([1, 93])
18656 FOLLOW_and_expression_in_exclusive_or_expression1917 = frozenset([1, 94])
18657 FOLLOW_94_in_exclusive_or_expression1920 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18658 FOLLOW_and_expression_in_exclusive_or_expression1922 = frozenset([1, 94])
18659 FOLLOW_equality_expression_in_and_expression1935 = frozenset([1, 77])
18660 FOLLOW_77_in_and_expression1938 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18661 FOLLOW_equality_expression_in_and_expression1940 = frozenset([1, 77])
18662 FOLLOW_relational_expression_in_equality_expression1952 = frozenset([1, 95, 96])
18663 FOLLOW_set_in_equality_expression1955 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18664 FOLLOW_relational_expression_in_equality_expression1961 = frozenset([1, 95, 96])
18665 FOLLOW_shift_expression_in_relational_expression1975 = frozenset([1, 97, 98, 99, 100])
18666 FOLLOW_set_in_relational_expression1978 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18667 FOLLOW_shift_expression_in_relational_expression1988 = frozenset([1, 97, 98, 99, 100])
18668 FOLLOW_additive_expression_in_shift_expression2001 = frozenset([1, 101, 102])
18669 FOLLOW_set_in_shift_expression2004 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18670 FOLLOW_additive_expression_in_shift_expression2010 = frozenset([1, 101, 102])
18671 FOLLOW_labeled_statement_in_statement2025 = frozenset([1])
18672 FOLLOW_compound_statement_in_statement2030 = frozenset([1])
18673 FOLLOW_expression_statement_in_statement2035 = frozenset([1])
18674 FOLLOW_selection_statement_in_statement2040 = frozenset([1])
18675 FOLLOW_iteration_statement_in_statement2045 = frozenset([1])
18676 FOLLOW_jump_statement_in_statement2050 = frozenset([1])
18677 FOLLOW_macro_statement_in_statement2055 = frozenset([1])
18678 FOLLOW_asm2_statement_in_statement2060 = frozenset([1])
18679 FOLLOW_asm1_statement_in_statement2065 = frozenset([1])
18680 FOLLOW_asm_statement_in_statement2070 = frozenset([1])
18681 FOLLOW_declaration_in_statement2075 = frozenset([1])
18682 FOLLOW_103_in_asm2_statement2086 = frozenset([4])
18683 FOLLOW_IDENTIFIER_in_asm2_statement2089 = frozenset([62])
18684 FOLLOW_62_in_asm2_statement2091 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18685 FOLLOW_set_in_asm2_statement2094 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18686 FOLLOW_63_in_asm2_statement2101 = frozenset([25])
18687 FOLLOW_25_in_asm2_statement2103 = frozenset([1])
18688 FOLLOW_104_in_asm1_statement2115 = frozenset([43])
18689 FOLLOW_43_in_asm1_statement2117 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18690 FOLLOW_set_in_asm1_statement2120 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18691 FOLLOW_44_in_asm1_statement2127 = frozenset([1])
18692 FOLLOW_105_in_asm_statement2138 = frozenset([43])
18693 FOLLOW_43_in_asm_statement2140 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18694 FOLLOW_set_in_asm_statement2143 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
18695 FOLLOW_44_in_asm_statement2150 = frozenset([1])
18696 FOLLOW_IDENTIFIER_in_macro_statement2162 = frozenset([62])
18697 FOLLOW_62_in_macro_statement2164 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18698 FOLLOW_declaration_in_macro_statement2166 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18699 FOLLOW_statement_list_in_macro_statement2170 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18700 FOLLOW_expression_in_macro_statement2173 = frozenset([63])
18701 FOLLOW_63_in_macro_statement2176 = frozenset([1])
18702 FOLLOW_IDENTIFIER_in_labeled_statement2188 = frozenset([47])
18703 FOLLOW_47_in_labeled_statement2190 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18704 FOLLOW_statement_in_labeled_statement2192 = frozenset([1])
18705 FOLLOW_106_in_labeled_statement2197 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18706 FOLLOW_constant_expression_in_labeled_statement2199 = frozenset([47])
18707 FOLLOW_47_in_labeled_statement2201 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18708 FOLLOW_statement_in_labeled_statement2203 = frozenset([1])
18709 FOLLOW_107_in_labeled_statement2208 = frozenset([47])
18710 FOLLOW_47_in_labeled_statement2210 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18711 FOLLOW_statement_in_labeled_statement2212 = frozenset([1])
18712 FOLLOW_43_in_compound_statement2223 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18713 FOLLOW_declaration_in_compound_statement2225 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18714 FOLLOW_statement_list_in_compound_statement2228 = frozenset([44])
18715 FOLLOW_44_in_compound_statement2231 = frozenset([1])
18716 FOLLOW_statement_in_statement_list2242 = frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18717 FOLLOW_25_in_expression_statement2254 = frozenset([1])
18718 FOLLOW_expression_in_expression_statement2259 = frozenset([25])
18719 FOLLOW_25_in_expression_statement2261 = frozenset([1])
18720 FOLLOW_108_in_selection_statement2272 = frozenset([62])
18721 FOLLOW_62_in_selection_statement2274 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18722 FOLLOW_expression_in_selection_statement2278 = frozenset([63])
18723 FOLLOW_63_in_selection_statement2280 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18724 FOLLOW_statement_in_selection_statement2284 = frozenset([1, 109])
18725 FOLLOW_109_in_selection_statement2299 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18726 FOLLOW_statement_in_selection_statement2301 = frozenset([1])
18727 FOLLOW_110_in_selection_statement2308 = frozenset([62])
18728 FOLLOW_62_in_selection_statement2310 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18729 FOLLOW_expression_in_selection_statement2312 = frozenset([63])
18730 FOLLOW_63_in_selection_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18731 FOLLOW_statement_in_selection_statement2316 = frozenset([1])
18732 FOLLOW_111_in_iteration_statement2327 = frozenset([62])
18733 FOLLOW_62_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18734 FOLLOW_expression_in_iteration_statement2333 = frozenset([63])
18735 FOLLOW_63_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18736 FOLLOW_statement_in_iteration_statement2337 = frozenset([1])
18737 FOLLOW_112_in_iteration_statement2344 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18738 FOLLOW_statement_in_iteration_statement2346 = frozenset([111])
18739 FOLLOW_111_in_iteration_statement2348 = frozenset([62])
18740 FOLLOW_62_in_iteration_statement2350 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18741 FOLLOW_expression_in_iteration_statement2354 = frozenset([63])
18742 FOLLOW_63_in_iteration_statement2356 = frozenset([25])
18743 FOLLOW_25_in_iteration_statement2358 = frozenset([1])
18744 FOLLOW_113_in_iteration_statement2365 = frozenset([62])
18745 FOLLOW_62_in_iteration_statement2367 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18746 FOLLOW_expression_statement_in_iteration_statement2369 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18747 FOLLOW_expression_statement_in_iteration_statement2373 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18748 FOLLOW_expression_in_iteration_statement2375 = frozenset([63])
18749 FOLLOW_63_in_iteration_statement2378 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
18750 FOLLOW_statement_in_iteration_statement2380 = frozenset([1])
18751 FOLLOW_114_in_jump_statement2393 = frozenset([4])
18752 FOLLOW_IDENTIFIER_in_jump_statement2395 = frozenset([25])
18753 FOLLOW_25_in_jump_statement2397 = frozenset([1])
18754 FOLLOW_115_in_jump_statement2402 = frozenset([25])
18755 FOLLOW_25_in_jump_statement2404 = frozenset([1])
18756 FOLLOW_116_in_jump_statement2409 = frozenset([25])
18757 FOLLOW_25_in_jump_statement2411 = frozenset([1])
18758 FOLLOW_117_in_jump_statement2416 = frozenset([25])
18759 FOLLOW_25_in_jump_statement2418 = frozenset([1])
18760 FOLLOW_117_in_jump_statement2423 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18761 FOLLOW_expression_in_jump_statement2425 = frozenset([25])
18762 FOLLOW_25_in_jump_statement2427 = frozenset([1])
18763 FOLLOW_declaration_specifiers_in_synpred2100 = frozenset([1])
18764 FOLLOW_declaration_specifiers_in_synpred4100 = frozenset([4, 58, 59, 60, 62, 66])
18765 FOLLOW_declarator_in_synpred4103 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18766 FOLLOW_declaration_in_synpred4105 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18767 FOLLOW_43_in_synpred4108 = frozenset([1])
18768 FOLLOW_declaration_in_synpred5118 = frozenset([1])
18769 FOLLOW_declaration_specifiers_in_synpred7157 = frozenset([1])
18770 FOLLOW_declaration_specifiers_in_synpred10207 = frozenset([1])
18771 FOLLOW_type_specifier_in_synpred14272 = frozenset([1])
18772 FOLLOW_type_qualifier_in_synpred15286 = frozenset([1])
18773 FOLLOW_type_qualifier_in_synpred33444 = frozenset([1])
18774 FOLLOW_IDENTIFIER_in_synpred34442 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18775 FOLLOW_type_qualifier_in_synpred34444 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18776 FOLLOW_declarator_in_synpred34447 = frozenset([1])
18777 FOLLOW_type_qualifier_in_synpred39566 = frozenset([1])
18778 FOLLOW_type_specifier_in_synpred40570 = frozenset([1])
18779 FOLLOW_pointer_in_synpred66784 = frozenset([4, 58, 59, 60, 62])
18780 FOLLOW_58_in_synpred66788 = frozenset([4, 59, 60, 62])
18781 FOLLOW_59_in_synpred66793 = frozenset([4, 60, 62])
18782 FOLLOW_60_in_synpred66798 = frozenset([4, 62])
18783 FOLLOW_direct_declarator_in_synpred66802 = frozenset([1])
18784 FOLLOW_declarator_suffix_in_synpred67821 = frozenset([1])
18785 FOLLOW_58_in_synpred69830 = frozenset([1])
18786 FOLLOW_declarator_suffix_in_synpred70838 = frozenset([1])
18787 FOLLOW_62_in_synpred73878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18788 FOLLOW_parameter_type_list_in_synpred73880 = frozenset([63])
18789 FOLLOW_63_in_synpred73882 = frozenset([1])
18790 FOLLOW_62_in_synpred74892 = frozenset([4])
18791 FOLLOW_identifier_list_in_synpred74894 = frozenset([63])
18792 FOLLOW_63_in_synpred74896 = frozenset([1])
18793 FOLLOW_type_qualifier_in_synpred75921 = frozenset([1])
18794 FOLLOW_pointer_in_synpred76924 = frozenset([1])
18795 FOLLOW_66_in_synpred77919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18796 FOLLOW_type_qualifier_in_synpred77921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18797 FOLLOW_pointer_in_synpred77924 = frozenset([1])
18798 FOLLOW_66_in_synpred78930 = frozenset([66])
18799 FOLLOW_pointer_in_synpred78932 = frozenset([1])
18800 FOLLOW_53_in_synpred81977 = frozenset([1])
18801 FOLLOW_27_in_synpred82974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18802 FOLLOW_53_in_synpred82977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18803 FOLLOW_parameter_declaration_in_synpred82981 = frozenset([1])
18804 FOLLOW_declarator_in_synpred83997 = frozenset([1])
18805 FOLLOW_abstract_declarator_in_synpred84999 = frozenset([1])
18806 FOLLOW_declaration_specifiers_in_synpred86994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18807 FOLLOW_declarator_in_synpred86997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18808 FOLLOW_abstract_declarator_in_synpred86999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18809 FOLLOW_53_in_synpred861004 = frozenset([1])
18810 FOLLOW_specifier_qualifier_list_in_synpred901046 = frozenset([1, 62, 64, 66])
18811 FOLLOW_abstract_declarator_in_synpred901048 = frozenset([1])
18812 FOLLOW_direct_abstract_declarator_in_synpred911067 = frozenset([1])
18813 FOLLOW_62_in_synpred931086 = frozenset([62, 64, 66])
18814 FOLLOW_abstract_declarator_in_synpred931088 = frozenset([63])
18815 FOLLOW_63_in_synpred931090 = frozenset([1])
18816 FOLLOW_abstract_declarator_suffix_in_synpred941098 = frozenset([1])
18817 FOLLOW_62_in_synpred1091282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18818 FOLLOW_type_name_in_synpred1091284 = frozenset([63])
18819 FOLLOW_63_in_synpred1091286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18820 FOLLOW_cast_expression_in_synpred1091288 = frozenset([1])
18821 FOLLOW_74_in_synpred1141330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18822 FOLLOW_unary_expression_in_synpred1141332 = frozenset([1])
18823 FOLLOW_62_in_synpred1171420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18824 FOLLOW_argument_expression_list_in_synpred1171424 = frozenset([63])
18825 FOLLOW_63_in_synpred1171428 = frozenset([1])
18826 FOLLOW_62_in_synpred1181444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18827 FOLLOW_macro_parameter_list_in_synpred1181446 = frozenset([63])
18828 FOLLOW_63_in_synpred1181448 = frozenset([1])
18829 FOLLOW_66_in_synpred1201482 = frozenset([4])
18830 FOLLOW_IDENTIFIER_in_synpred1201486 = frozenset([1])
18831 FOLLOW_STRING_LITERAL_in_synpred1371683 = frozenset([1])
18832 FOLLOW_IDENTIFIER_in_synpred1381680 = frozenset([4, 9])
18833 FOLLOW_STRING_LITERAL_in_synpred1381683 = frozenset([1, 9])
18834 FOLLOW_lvalue_in_synpred1421744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18835 FOLLOW_assignment_operator_in_synpred1421746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18836 FOLLOW_assignment_expression_in_synpred1421748 = frozenset([1])
18837 FOLLOW_expression_statement_in_synpred1692035 = frozenset([1])
18838 FOLLOW_macro_statement_in_synpred1732055 = frozenset([1])
18839 FOLLOW_asm2_statement_in_synpred1742060 = frozenset([1])
18840 FOLLOW_declaration_in_synpred1812166 = frozenset([1])
18841 FOLLOW_statement_list_in_synpred1822170 = frozenset([1])
18842 FOLLOW_declaration_in_synpred1862225 = frozenset([1])
18843 FOLLOW_statement_in_synpred1882242 = frozenset([1])
18844