]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Eot/CParser.py
BaseTools: use built in dict instead of custom version.
[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 def printTokenInfo(self, line, offset, tokenText):
105 print str(line)+ ',' + str(offset) + ':' + str(tokenText)
106
107 def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text):
108 PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset))
109 FileProfile.PredicateExpressionList.append(PredExp)
110
111 def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
112 EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
113 FileProfile.EnumerationDefinitionList.append(EnumDef)
114
115 def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
116 SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
117 FileProfile.StructUnionDefinitionList.append(SUDef)
118
119 def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText):
120 Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset))
121 FileProfile.TypedefDefinitionList.append(Tdef)
122
123 def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset):
124 FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset))
125 FileProfile.FunctionDefinitionList.append(FuncDef)
126
127 def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText):
128 VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset))
129 FileProfile.VariableDeclarationList.append(VarDecl)
130
131 def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList):
132 FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))
133 FileProfile.FunctionCallingList.append(FuncCall)
134
135
136
137
138 # $ANTLR start translation_unit
139 # C.g:102:1: translation_unit : ( external_declaration )* ;
140 def translation_unit(self, ):
141
142 translation_unit_StartIndex = self.input.index()
143 try:
144 try:
145 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1):
146 return
147
148 # C.g:103:2: ( ( external_declaration )* )
149 # C.g:103:4: ( external_declaration )*
150 # C.g:103:4: ( external_declaration )*
151 while True: #loop1
152 alt1 = 2
153 LA1_0 = self.input.LA(1)
154
155 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) :
156 alt1 = 1
157
158
159 if alt1 == 1:
160 # C.g:0:0: external_declaration
161 self.following.append(self.FOLLOW_external_declaration_in_translation_unit74)
162 self.external_declaration()
163 self.following.pop()
164 if self.failed:
165 return
166
167
168 else:
169 break #loop1
170
171
172
173
174
175
176 except RecognitionException, re:
177 self.reportError(re)
178 self.recover(self.input, re)
179 finally:
180 if self.backtracking > 0:
181 self.memoize(self.input, 1, translation_unit_StartIndex)
182
183 pass
184
185 return
186
187 # $ANTLR end translation_unit
188
189
190 # $ANTLR start external_declaration
191 # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
192 def external_declaration(self, ):
193
194 external_declaration_StartIndex = self.input.index()
195 try:
196 try:
197 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
198 return
199
200 # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
201 alt3 = 3
202 LA3_0 = self.input.LA(1)
203
204 if ((29 <= LA3_0 <= 33)) :
205 LA3_1 = self.input.LA(2)
206
207 if (self.synpred4()) :
208 alt3 = 1
209 elif (self.synpred5()) :
210 alt3 = 2
211 else:
212 if self.backtracking > 0:
213 self.failed = True
214 return
215
216 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
217
218 raise nvae
219
220 elif (LA3_0 == 34) :
221 LA3_2 = self.input.LA(2)
222
223 if (self.synpred4()) :
224 alt3 = 1
225 elif (self.synpred5()) :
226 alt3 = 2
227 else:
228 if self.backtracking > 0:
229 self.failed = True
230 return
231
232 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
233
234 raise nvae
235
236 elif (LA3_0 == 35) :
237 LA3_3 = self.input.LA(2)
238
239 if (self.synpred4()) :
240 alt3 = 1
241 elif (self.synpred5()) :
242 alt3 = 2
243 else:
244 if self.backtracking > 0:
245 self.failed = True
246 return
247
248 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
249
250 raise nvae
251
252 elif (LA3_0 == 36) :
253 LA3_4 = self.input.LA(2)
254
255 if (self.synpred4()) :
256 alt3 = 1
257 elif (self.synpred5()) :
258 alt3 = 2
259 else:
260 if self.backtracking > 0:
261 self.failed = True
262 return
263
264 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
265
266 raise nvae
267
268 elif (LA3_0 == 37) :
269 LA3_5 = self.input.LA(2)
270
271 if (self.synpred4()) :
272 alt3 = 1
273 elif (self.synpred5()) :
274 alt3 = 2
275 else:
276 if self.backtracking > 0:
277 self.failed = True
278 return
279
280 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
281
282 raise nvae
283
284 elif (LA3_0 == 38) :
285 LA3_6 = self.input.LA(2)
286
287 if (self.synpred4()) :
288 alt3 = 1
289 elif (self.synpred5()) :
290 alt3 = 2
291 else:
292 if self.backtracking > 0:
293 self.failed = True
294 return
295
296 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
297
298 raise nvae
299
300 elif (LA3_0 == 39) :
301 LA3_7 = self.input.LA(2)
302
303 if (self.synpred4()) :
304 alt3 = 1
305 elif (self.synpred5()) :
306 alt3 = 2
307 else:
308 if self.backtracking > 0:
309 self.failed = True
310 return
311
312 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
313
314 raise nvae
315
316 elif (LA3_0 == 40) :
317 LA3_8 = self.input.LA(2)
318
319 if (self.synpred4()) :
320 alt3 = 1
321 elif (self.synpred5()) :
322 alt3 = 2
323 else:
324 if self.backtracking > 0:
325 self.failed = True
326 return
327
328 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
329
330 raise nvae
331
332 elif (LA3_0 == 41) :
333 LA3_9 = self.input.LA(2)
334
335 if (self.synpred4()) :
336 alt3 = 1
337 elif (self.synpred5()) :
338 alt3 = 2
339 else:
340 if self.backtracking > 0:
341 self.failed = True
342 return
343
344 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
345
346 raise nvae
347
348 elif (LA3_0 == 42) :
349 LA3_10 = self.input.LA(2)
350
351 if (self.synpred4()) :
352 alt3 = 1
353 elif (self.synpred5()) :
354 alt3 = 2
355 else:
356 if self.backtracking > 0:
357 self.failed = True
358 return
359
360 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
361
362 raise nvae
363
364 elif ((45 <= LA3_0 <= 46)) :
365 LA3_11 = self.input.LA(2)
366
367 if (self.synpred4()) :
368 alt3 = 1
369 elif (self.synpred5()) :
370 alt3 = 2
371 else:
372 if self.backtracking > 0:
373 self.failed = True
374 return
375
376 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
377
378 raise nvae
379
380 elif (LA3_0 == 48) :
381 LA3_12 = self.input.LA(2)
382
383 if (self.synpred4()) :
384 alt3 = 1
385 elif (self.synpred5()) :
386 alt3 = 2
387 else:
388 if self.backtracking > 0:
389 self.failed = True
390 return
391
392 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
393
394 raise nvae
395
396 elif (LA3_0 == IDENTIFIER) :
397 LA3_13 = self.input.LA(2)
398
399 if (self.synpred4()) :
400 alt3 = 1
401 elif (self.synpred5()) :
402 alt3 = 2
403 elif (True) :
404 alt3 = 3
405 else:
406 if self.backtracking > 0:
407 self.failed = True
408 return
409
410 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
411
412 raise nvae
413
414 elif (LA3_0 == 58) :
415 LA3_14 = self.input.LA(2)
416
417 if (self.synpred4()) :
418 alt3 = 1
419 elif (self.synpred5()) :
420 alt3 = 2
421 else:
422 if self.backtracking > 0:
423 self.failed = True
424 return
425
426 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
427
428 raise nvae
429
430 elif (LA3_0 == 66) and (self.synpred4()):
431 alt3 = 1
432 elif (LA3_0 == 59) :
433 LA3_16 = self.input.LA(2)
434
435 if (self.synpred4()) :
436 alt3 = 1
437 elif (self.synpred5()) :
438 alt3 = 2
439 else:
440 if self.backtracking > 0:
441 self.failed = True
442 return
443
444 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
445
446 raise nvae
447
448 elif (LA3_0 == 60) :
449 LA3_17 = self.input.LA(2)
450
451 if (self.synpred4()) :
452 alt3 = 1
453 elif (self.synpred5()) :
454 alt3 = 2
455 else:
456 if self.backtracking > 0:
457 self.failed = True
458 return
459
460 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input)
461
462 raise nvae
463
464 elif ((49 <= LA3_0 <= 57) or LA3_0 == 61) :
465 LA3_18 = self.input.LA(2)
466
467 if (self.synpred4()) :
468 alt3 = 1
469 elif (self.synpred5()) :
470 alt3 = 2
471 else:
472 if self.backtracking > 0:
473 self.failed = True
474 return
475
476 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
477
478 raise nvae
479
480 elif (LA3_0 == 62) and (self.synpred4()):
481 alt3 = 1
482 elif (LA3_0 == 26) :
483 alt3 = 2
484 else:
485 if self.backtracking > 0:
486 self.failed = True
487 return
488
489 nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input)
490
491 raise nvae
492
493 if alt3 == 1:
494 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
495 self.following.append(self.FOLLOW_function_definition_in_external_declaration113)
496 self.function_definition()
497 self.following.pop()
498 if self.failed:
499 return
500
501
502 elif alt3 == 2:
503 # C.g:120:4: declaration
504 self.following.append(self.FOLLOW_declaration_in_external_declaration118)
505 self.declaration()
506 self.following.pop()
507 if self.failed:
508 return
509
510
511 elif alt3 == 3:
512 # C.g:121:4: macro_statement ( ';' )?
513 self.following.append(self.FOLLOW_macro_statement_in_external_declaration123)
514 self.macro_statement()
515 self.following.pop()
516 if self.failed:
517 return
518 # C.g:121:20: ( ';' )?
519 alt2 = 2
520 LA2_0 = self.input.LA(1)
521
522 if (LA2_0 == 25) :
523 alt2 = 1
524 if alt2 == 1:
525 # C.g:121:21: ';'
526 self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126)
527 if self.failed:
528 return
529
530
531
532
533
534
535 except RecognitionException, re:
536 self.reportError(re)
537 self.recover(self.input, re)
538 finally:
539 if self.backtracking > 0:
540 self.memoize(self.input, 2, external_declaration_StartIndex)
541
542 pass
543
544 return
545
546 # $ANTLR end external_declaration
547
548 class function_definition_return(object):
549 def __init__(self):
550 self.start = None
551 self.stop = None
552
553
554
555 # $ANTLR start function_definition
556 # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
557 def function_definition(self, ):
558 self.function_definition_stack.append(function_definition_scope())
559 retval = self.function_definition_return()
560 retval.start = self.input.LT(1)
561 function_definition_StartIndex = self.input.index()
562 d = None
563
564 a = None
565
566 b = None
567
568 declarator1 = None
569
570
571
572 self.function_definition_stack[-1].ModifierText = ''
573 self.function_definition_stack[-1].DeclText = ''
574 self.function_definition_stack[-1].LBLine = 0
575 self.function_definition_stack[-1].LBOffset = 0
576 self.function_definition_stack[-1].DeclLine = 0
577 self.function_definition_stack[-1].DeclOffset = 0
578
579 try:
580 try:
581 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3):
582 return retval
583
584 # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
585 # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
586 # C.g:146:5: (d= declaration_specifiers )?
587 alt4 = 2
588 LA4 = self.input.LA(1)
589 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:
590 alt4 = 1
591 elif LA4 == IDENTIFIER:
592 LA4 = self.input.LA(2)
593 if LA4 == 66:
594 alt4 = 1
595 elif LA4 == 58:
596 LA4_21 = self.input.LA(3)
597
598 if (self.synpred7()) :
599 alt4 = 1
600 elif LA4 == 59:
601 LA4_22 = self.input.LA(3)
602
603 if (self.synpred7()) :
604 alt4 = 1
605 elif LA4 == 60:
606 LA4_23 = self.input.LA(3)
607
608 if (self.synpred7()) :
609 alt4 = 1
610 elif LA4 == IDENTIFIER:
611 LA4_24 = self.input.LA(3)
612
613 if (self.synpred7()) :
614 alt4 = 1
615 elif LA4 == 62:
616 LA4_25 = self.input.LA(3)
617
618 if (self.synpred7()) :
619 alt4 = 1
620 elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33:
621 LA4_26 = self.input.LA(3)
622
623 if (self.synpred7()) :
624 alt4 = 1
625 elif LA4 == 34:
626 LA4_27 = self.input.LA(3)
627
628 if (self.synpred7()) :
629 alt4 = 1
630 elif LA4 == 35:
631 LA4_28 = self.input.LA(3)
632
633 if (self.synpred7()) :
634 alt4 = 1
635 elif LA4 == 36:
636 LA4_29 = self.input.LA(3)
637
638 if (self.synpred7()) :
639 alt4 = 1
640 elif LA4 == 37:
641 LA4_30 = self.input.LA(3)
642
643 if (self.synpred7()) :
644 alt4 = 1
645 elif LA4 == 38:
646 LA4_31 = self.input.LA(3)
647
648 if (self.synpred7()) :
649 alt4 = 1
650 elif LA4 == 39:
651 LA4_32 = self.input.LA(3)
652
653 if (self.synpred7()) :
654 alt4 = 1
655 elif LA4 == 40:
656 LA4_33 = self.input.LA(3)
657
658 if (self.synpred7()) :
659 alt4 = 1
660 elif LA4 == 41:
661 LA4_34 = self.input.LA(3)
662
663 if (self.synpred7()) :
664 alt4 = 1
665 elif LA4 == 42:
666 LA4_35 = self.input.LA(3)
667
668 if (self.synpred7()) :
669 alt4 = 1
670 elif LA4 == 45 or LA4 == 46:
671 LA4_36 = self.input.LA(3)
672
673 if (self.synpred7()) :
674 alt4 = 1
675 elif LA4 == 48:
676 LA4_37 = self.input.LA(3)
677
678 if (self.synpred7()) :
679 alt4 = 1
680 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:
681 LA4_38 = self.input.LA(3)
682
683 if (self.synpred7()) :
684 alt4 = 1
685 elif LA4 == 58:
686 LA4_14 = self.input.LA(2)
687
688 if (self.synpred7()) :
689 alt4 = 1
690 elif LA4 == 59:
691 LA4_16 = self.input.LA(2)
692
693 if (self.synpred7()) :
694 alt4 = 1
695 elif LA4 == 60:
696 LA4_17 = self.input.LA(2)
697
698 if (self.synpred7()) :
699 alt4 = 1
700 if alt4 == 1:
701 # C.g:0:0: d= declaration_specifiers
702 self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition157)
703 d = self.declaration_specifiers()
704 self.following.pop()
705 if self.failed:
706 return retval
707
708
709
710 self.following.append(self.FOLLOW_declarator_in_function_definition160)
711 declarator1 = self.declarator()
712 self.following.pop()
713 if self.failed:
714 return retval
715 # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
716 alt6 = 2
717 LA6_0 = self.input.LA(1)
718
719 if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 61)) :
720 alt6 = 1
721 elif (LA6_0 == 43) :
722 alt6 = 2
723 else:
724 if self.backtracking > 0:
725 self.failed = True
726 return retval
727
728 nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
729
730 raise nvae
731
732 if alt6 == 1:
733 # C.g:147:5: ( declaration )+ a= compound_statement
734 # C.g:147:5: ( declaration )+
735 cnt5 = 0
736 while True: #loop5
737 alt5 = 2
738 LA5_0 = self.input.LA(1)
739
740 if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 61)) :
741 alt5 = 1
742
743
744 if alt5 == 1:
745 # C.g:0:0: declaration
746 self.following.append(self.FOLLOW_declaration_in_function_definition166)
747 self.declaration()
748 self.following.pop()
749 if self.failed:
750 return retval
751
752
753 else:
754 if cnt5 >= 1:
755 break #loop5
756
757 if self.backtracking > 0:
758 self.failed = True
759 return retval
760
761 eee = EarlyExitException(5, self.input)
762 raise eee
763
764 cnt5 += 1
765
766
767 self.following.append(self.FOLLOW_compound_statement_in_function_definition171)
768 a = self.compound_statement()
769 self.following.pop()
770 if self.failed:
771 return retval
772
773
774 elif alt6 == 2:
775 # C.g:148:5: b= compound_statement
776 self.following.append(self.FOLLOW_compound_statement_in_function_definition180)
777 b = self.compound_statement()
778 self.following.pop()
779 if self.failed:
780 return retval
781
782
783
784 if self.backtracking == 0:
785
786 if d is not None:
787 self.function_definition_stack[-1].ModifierText = self.input.toString(d.start,d.stop)
788 else:
789 self.function_definition_stack[-1].ModifierText = ''
790 self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start,declarator1.stop)
791 self.function_definition_stack[-1].DeclLine = declarator1.start.line
792 self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine
793 if a is not None:
794 self.function_definition_stack[-1].LBLine = a.start.line
795 self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine
796 else:
797 self.function_definition_stack[-1].LBLine = b.start.line
798 self.function_definition_stack[-1].LBOffset = b.start.charPositionInLine
799
800
801
802
803
804 retval.stop = self.input.LT(-1)
805
806 if self.backtracking == 0:
807
808 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)
809
810
811
812 except RecognitionException, re:
813 self.reportError(re)
814 self.recover(self.input, re)
815 finally:
816 if self.backtracking > 0:
817 self.memoize(self.input, 3, function_definition_StartIndex)
818
819 self.function_definition_stack.pop()
820 pass
821
822 return retval
823
824 # $ANTLR end function_definition
825
826
827 # $ANTLR start declaration
828 # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
829 def declaration(self, ):
830
831 declaration_StartIndex = self.input.index()
832 a = None
833 d = None
834 e = None
835 b = None
836
837 c = None
838
839 s = None
840
841 t = None
842
843
844 try:
845 try:
846 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
847 return
848
849 # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
850 alt9 = 2
851 LA9_0 = self.input.LA(1)
852
853 if (LA9_0 == 26) :
854 alt9 = 1
855 elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 61)) :
856 alt9 = 2
857 else:
858 if self.backtracking > 0:
859 self.failed = True
860 return
861
862 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)
863
864 raise nvae
865
866 if alt9 == 1:
867 # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
868 a = self.input.LT(1)
869 self.match(self.input, 26, self.FOLLOW_26_in_declaration203)
870 if self.failed:
871 return
872 # C.g:167:17: (b= declaration_specifiers )?
873 alt7 = 2
874 LA7 = self.input.LA(1)
875 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:
876 alt7 = 1
877 elif LA7 == IDENTIFIER:
878 LA7_13 = self.input.LA(2)
879
880 if (LA7_13 == 62) :
881 LA7_21 = self.input.LA(3)
882
883 if (self.synpred10()) :
884 alt7 = 1
885 elif (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 61) or LA7_13 == 66) :
886 alt7 = 1
887 elif LA7 == 58:
888 LA7_14 = self.input.LA(2)
889
890 if (self.synpred10()) :
891 alt7 = 1
892 elif LA7 == 59:
893 LA7_16 = self.input.LA(2)
894
895 if (self.synpred10()) :
896 alt7 = 1
897 elif LA7 == 60:
898 LA7_17 = self.input.LA(2)
899
900 if (self.synpred10()) :
901 alt7 = 1
902 if alt7 == 1:
903 # C.g:0:0: b= declaration_specifiers
904 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207)
905 b = self.declaration_specifiers()
906 self.following.pop()
907 if self.failed:
908 return
909
910
911
912 self.following.append(self.FOLLOW_init_declarator_list_in_declaration216)
913 c = self.init_declarator_list()
914 self.following.pop()
915 if self.failed:
916 return
917 d = self.input.LT(1)
918 self.match(self.input, 25, self.FOLLOW_25_in_declaration220)
919 if self.failed:
920 return
921 if self.backtracking == 0:
922
923 if b is not None:
924 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start,b.stop), self.input.toString(c.start,c.stop))
925 else:
926 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start,c.stop))
927
928
929
930
931 elif alt9 == 2:
932 # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
933 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration234)
934 s = self.declaration_specifiers()
935 self.following.pop()
936 if self.failed:
937 return
938 # C.g:175:30: (t= init_declarator_list )?
939 alt8 = 2
940 LA8_0 = self.input.LA(1)
941
942 if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 60) or LA8_0 == 62 or LA8_0 == 66) :
943 alt8 = 1
944 if alt8 == 1:
945 # C.g:0:0: t= init_declarator_list
946 self.following.append(self.FOLLOW_init_declarator_list_in_declaration238)
947 t = self.init_declarator_list()
948 self.following.pop()
949 if self.failed:
950 return
951
952
953
954 e = self.input.LT(1)
955 self.match(self.input, 25, self.FOLLOW_25_in_declaration243)
956 if self.failed:
957 return
958 if self.backtracking == 0:
959
960 if t is not None:
961 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))
962
963
964
965
966
967 except RecognitionException, re:
968 self.reportError(re)
969 self.recover(self.input, re)
970 finally:
971 if self.backtracking > 0:
972 self.memoize(self.input, 4, declaration_StartIndex)
973
974 pass
975
976 return
977
978 # $ANTLR end declaration
979
980 class declaration_specifiers_return(object):
981 def __init__(self):
982 self.start = None
983 self.stop = None
984
985
986
987 # $ANTLR start declaration_specifiers
988 # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
989 def declaration_specifiers(self, ):
990
991 retval = self.declaration_specifiers_return()
992 retval.start = self.input.LT(1)
993 declaration_specifiers_StartIndex = self.input.index()
994 try:
995 try:
996 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
997 return retval
998
999 # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
1000 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1001 # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
1002 cnt10 = 0
1003 while True: #loop10
1004 alt10 = 4
1005 LA10 = self.input.LA(1)
1006 if LA10 == 58:
1007 LA10_2 = self.input.LA(2)
1008
1009 if (self.synpred15()) :
1010 alt10 = 3
1011
1012
1013 elif LA10 == 59:
1014 LA10_3 = self.input.LA(2)
1015
1016 if (self.synpred15()) :
1017 alt10 = 3
1018
1019
1020 elif LA10 == 60:
1021 LA10_4 = self.input.LA(2)
1022
1023 if (self.synpred15()) :
1024 alt10 = 3
1025
1026
1027 elif LA10 == IDENTIFIER:
1028 LA10_5 = self.input.LA(2)
1029
1030 if (self.synpred14()) :
1031 alt10 = 2
1032
1033
1034 elif LA10 == 53:
1035 LA10_9 = self.input.LA(2)
1036
1037 if (self.synpred15()) :
1038 alt10 = 3
1039
1040
1041 elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
1042 alt10 = 1
1043 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:
1044 alt10 = 2
1045 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:
1046 alt10 = 3
1047
1048 if alt10 == 1:
1049 # C.g:183:10: storage_class_specifier
1050 self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers264)
1051 self.storage_class_specifier()
1052 self.following.pop()
1053 if self.failed:
1054 return retval
1055
1056
1057 elif alt10 == 2:
1058 # C.g:184:7: type_specifier
1059 self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers272)
1060 self.type_specifier()
1061 self.following.pop()
1062 if self.failed:
1063 return retval
1064
1065
1066 elif alt10 == 3:
1067 # C.g:185:13: type_qualifier
1068 self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers286)
1069 self.type_qualifier()
1070 self.following.pop()
1071 if self.failed:
1072 return retval
1073
1074
1075 else:
1076 if cnt10 >= 1:
1077 break #loop10
1078
1079 if self.backtracking > 0:
1080 self.failed = True
1081 return retval
1082
1083 eee = EarlyExitException(10, self.input)
1084 raise eee
1085
1086 cnt10 += 1
1087
1088
1089
1090
1091
1092 retval.stop = self.input.LT(-1)
1093
1094
1095 except RecognitionException, re:
1096 self.reportError(re)
1097 self.recover(self.input, re)
1098 finally:
1099 if self.backtracking > 0:
1100 self.memoize(self.input, 5, declaration_specifiers_StartIndex)
1101
1102 pass
1103
1104 return retval
1105
1106 # $ANTLR end declaration_specifiers
1107
1108 class init_declarator_list_return(object):
1109 def __init__(self):
1110 self.start = None
1111 self.stop = None
1112
1113
1114
1115 # $ANTLR start init_declarator_list
1116 # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1117 def init_declarator_list(self, ):
1118
1119 retval = self.init_declarator_list_return()
1120 retval.start = self.input.LT(1)
1121 init_declarator_list_StartIndex = self.input.index()
1122 try:
1123 try:
1124 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
1125 return retval
1126
1127 # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
1128 # C.g:190:4: init_declarator ( ',' init_declarator )*
1129 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list308)
1130 self.init_declarator()
1131 self.following.pop()
1132 if self.failed:
1133 return retval
1134 # C.g:190:20: ( ',' init_declarator )*
1135 while True: #loop11
1136 alt11 = 2
1137 LA11_0 = self.input.LA(1)
1138
1139 if (LA11_0 == 27) :
1140 alt11 = 1
1141
1142
1143 if alt11 == 1:
1144 # C.g:190:21: ',' init_declarator
1145 self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list311)
1146 if self.failed:
1147 return retval
1148 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list313)
1149 self.init_declarator()
1150 self.following.pop()
1151 if self.failed:
1152 return retval
1153
1154
1155 else:
1156 break #loop11
1157
1158
1159
1160
1161
1162 retval.stop = self.input.LT(-1)
1163
1164
1165 except RecognitionException, re:
1166 self.reportError(re)
1167 self.recover(self.input, re)
1168 finally:
1169 if self.backtracking > 0:
1170 self.memoize(self.input, 6, init_declarator_list_StartIndex)
1171
1172 pass
1173
1174 return retval
1175
1176 # $ANTLR end init_declarator_list
1177
1178
1179 # $ANTLR start init_declarator
1180 # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
1181 def init_declarator(self, ):
1182
1183 init_declarator_StartIndex = self.input.index()
1184 try:
1185 try:
1186 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
1187 return
1188
1189 # C.g:194:2: ( declarator ( '=' initializer )? )
1190 # C.g:194:4: declarator ( '=' initializer )?
1191 self.following.append(self.FOLLOW_declarator_in_init_declarator326)
1192 self.declarator()
1193 self.following.pop()
1194 if self.failed:
1195 return
1196 # C.g:194:15: ( '=' initializer )?
1197 alt12 = 2
1198 LA12_0 = self.input.LA(1)
1199
1200 if (LA12_0 == 28) :
1201 alt12 = 1
1202 if alt12 == 1:
1203 # C.g:194:16: '=' initializer
1204 self.match(self.input, 28, self.FOLLOW_28_in_init_declarator329)
1205 if self.failed:
1206 return
1207 self.following.append(self.FOLLOW_initializer_in_init_declarator331)
1208 self.initializer()
1209 self.following.pop()
1210 if self.failed:
1211 return
1212
1213
1214
1215
1216
1217
1218
1219 except RecognitionException, re:
1220 self.reportError(re)
1221 self.recover(self.input, re)
1222 finally:
1223 if self.backtracking > 0:
1224 self.memoize(self.input, 7, init_declarator_StartIndex)
1225
1226 pass
1227
1228 return
1229
1230 # $ANTLR end init_declarator
1231
1232
1233 # $ANTLR start storage_class_specifier
1234 # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1235 def storage_class_specifier(self, ):
1236
1237 storage_class_specifier_StartIndex = self.input.index()
1238 try:
1239 try:
1240 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
1241 return
1242
1243 # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1244 # C.g:
1245 if (29 <= self.input.LA(1) <= 33):
1246 self.input.consume();
1247 self.errorRecovery = False
1248 self.failed = False
1249
1250 else:
1251 if self.backtracking > 0:
1252 self.failed = True
1253 return
1254
1255 mse = MismatchedSetException(None, self.input)
1256 self.recoverFromMismatchedSet(
1257 self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
1258 )
1259 raise mse
1260
1261
1262
1263
1264
1265
1266 except RecognitionException, re:
1267 self.reportError(re)
1268 self.recover(self.input, re)
1269 finally:
1270 if self.backtracking > 0:
1271 self.memoize(self.input, 8, storage_class_specifier_StartIndex)
1272
1273 pass
1274
1275 return
1276
1277 # $ANTLR end storage_class_specifier
1278
1279
1280 # $ANTLR start type_specifier
1281 # 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 );
1282 def type_specifier(self, ):
1283
1284 type_specifier_StartIndex = self.input.index()
1285 s = None
1286
1287 e = None
1288
1289
1290 try:
1291 try:
1292 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
1293 return
1294
1295 # 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 )
1296 alt13 = 12
1297 LA13_0 = self.input.LA(1)
1298
1299 if (LA13_0 == 34) :
1300 alt13 = 1
1301 elif (LA13_0 == 35) :
1302 alt13 = 2
1303 elif (LA13_0 == 36) :
1304 alt13 = 3
1305 elif (LA13_0 == 37) :
1306 alt13 = 4
1307 elif (LA13_0 == 38) :
1308 alt13 = 5
1309 elif (LA13_0 == 39) :
1310 alt13 = 6
1311 elif (LA13_0 == 40) :
1312 alt13 = 7
1313 elif (LA13_0 == 41) :
1314 alt13 = 8
1315 elif (LA13_0 == 42) :
1316 alt13 = 9
1317 elif ((45 <= LA13_0 <= 46)) :
1318 alt13 = 10
1319 elif (LA13_0 == 48) :
1320 alt13 = 11
1321 elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
1322 alt13 = 12
1323 else:
1324 if self.backtracking > 0:
1325 self.failed = True
1326 return
1327
1328 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)
1329
1330 raise nvae
1331
1332 if alt13 == 1:
1333 # C.g:206:4: 'void'
1334 self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376)
1335 if self.failed:
1336 return
1337
1338
1339 elif alt13 == 2:
1340 # C.g:207:4: 'char'
1341 self.match(self.input, 35, self.FOLLOW_35_in_type_specifier381)
1342 if self.failed:
1343 return
1344
1345
1346 elif alt13 == 3:
1347 # C.g:208:4: 'short'
1348 self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386)
1349 if self.failed:
1350 return
1351
1352
1353 elif alt13 == 4:
1354 # C.g:209:4: 'int'
1355 self.match(self.input, 37, self.FOLLOW_37_in_type_specifier391)
1356 if self.failed:
1357 return
1358
1359
1360 elif alt13 == 5:
1361 # C.g:210:4: 'long'
1362 self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396)
1363 if self.failed:
1364 return
1365
1366
1367 elif alt13 == 6:
1368 # C.g:211:4: 'float'
1369 self.match(self.input, 39, self.FOLLOW_39_in_type_specifier401)
1370 if self.failed:
1371 return
1372
1373
1374 elif alt13 == 7:
1375 # C.g:212:4: 'double'
1376 self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406)
1377 if self.failed:
1378 return
1379
1380
1381 elif alt13 == 8:
1382 # C.g:213:4: 'signed'
1383 self.match(self.input, 41, self.FOLLOW_41_in_type_specifier411)
1384 if self.failed:
1385 return
1386
1387
1388 elif alt13 == 9:
1389 # C.g:214:4: 'unsigned'
1390 self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416)
1391 if self.failed:
1392 return
1393
1394
1395 elif alt13 == 10:
1396 # C.g:215:4: s= struct_or_union_specifier
1397 self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier423)
1398 s = self.struct_or_union_specifier()
1399 self.following.pop()
1400 if self.failed:
1401 return
1402 if self.backtracking == 0:
1403
1404 if s.stop is not None:
1405 self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start,s.stop))
1406
1407
1408
1409
1410 elif alt13 == 11:
1411 # C.g:220:4: e= enum_specifier
1412 self.following.append(self.FOLLOW_enum_specifier_in_type_specifier433)
1413 e = self.enum_specifier()
1414 self.following.pop()
1415 if self.failed:
1416 return
1417 if self.backtracking == 0:
1418
1419 if e.stop is not None:
1420 self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
1421
1422
1423
1424
1425 elif alt13 == 12:
1426 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1427 self.following.append(self.FOLLOW_type_id_in_type_specifier451)
1428 self.type_id()
1429 self.following.pop()
1430 if self.failed:
1431 return
1432
1433
1434
1435 except RecognitionException, re:
1436 self.reportError(re)
1437 self.recover(self.input, re)
1438 finally:
1439 if self.backtracking > 0:
1440 self.memoize(self.input, 9, type_specifier_StartIndex)
1441
1442 pass
1443
1444 return
1445
1446 # $ANTLR end type_specifier
1447
1448
1449 # $ANTLR start type_id
1450 # C.g:228:1: type_id : IDENTIFIER ;
1451 def type_id(self, ):
1452
1453 type_id_StartIndex = self.input.index()
1454 try:
1455 try:
1456 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
1457 return
1458
1459 # C.g:229:5: ( IDENTIFIER )
1460 # C.g:229:9: IDENTIFIER
1461 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id467)
1462 if self.failed:
1463 return
1464
1465
1466
1467
1468 except RecognitionException, re:
1469 self.reportError(re)
1470 self.recover(self.input, re)
1471 finally:
1472 if self.backtracking > 0:
1473 self.memoize(self.input, 10, type_id_StartIndex)
1474
1475 pass
1476
1477 return
1478
1479 # $ANTLR end type_id
1480
1481 class struct_or_union_specifier_return(object):
1482 def __init__(self):
1483 self.start = None
1484 self.stop = None
1485
1486
1487
1488 # $ANTLR start struct_or_union_specifier
1489 # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1490 def struct_or_union_specifier(self, ):
1491
1492 retval = self.struct_or_union_specifier_return()
1493 retval.start = self.input.LT(1)
1494 struct_or_union_specifier_StartIndex = self.input.index()
1495 try:
1496 try:
1497 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
1498 return retval
1499
1500 # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1501 alt15 = 2
1502 LA15_0 = self.input.LA(1)
1503
1504 if ((45 <= LA15_0 <= 46)) :
1505 LA15_1 = self.input.LA(2)
1506
1507 if (LA15_1 == IDENTIFIER) :
1508 LA15_2 = self.input.LA(3)
1509
1510 if (LA15_2 == 43) :
1511 alt15 = 1
1512 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) :
1513 alt15 = 2
1514 else:
1515 if self.backtracking > 0:
1516 self.failed = True
1517 return retval
1518
1519 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)
1520
1521 raise nvae
1522
1523 elif (LA15_1 == 43) :
1524 alt15 = 1
1525 else:
1526 if self.backtracking > 0:
1527 self.failed = True
1528 return retval
1529
1530 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)
1531
1532 raise nvae
1533
1534 else:
1535 if self.backtracking > 0:
1536 self.failed = True
1537 return retval
1538
1539 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)
1540
1541 raise nvae
1542
1543 if alt15 == 1:
1544 # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1545 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier494)
1546 self.struct_or_union()
1547 self.following.pop()
1548 if self.failed:
1549 return retval
1550 # C.g:235:20: ( IDENTIFIER )?
1551 alt14 = 2
1552 LA14_0 = self.input.LA(1)
1553
1554 if (LA14_0 == IDENTIFIER) :
1555 alt14 = 1
1556 if alt14 == 1:
1557 # C.g:0:0: IDENTIFIER
1558 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496)
1559 if self.failed:
1560 return retval
1561
1562
1563
1564 self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier499)
1565 if self.failed:
1566 return retval
1567 self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501)
1568 self.struct_declaration_list()
1569 self.following.pop()
1570 if self.failed:
1571 return retval
1572 self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier503)
1573 if self.failed:
1574 return retval
1575
1576
1577 elif alt15 == 2:
1578 # C.g:236:4: struct_or_union IDENTIFIER
1579 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier508)
1580 self.struct_or_union()
1581 self.following.pop()
1582 if self.failed:
1583 return retval
1584 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510)
1585 if self.failed:
1586 return retval
1587
1588
1589 retval.stop = self.input.LT(-1)
1590
1591
1592 except RecognitionException, re:
1593 self.reportError(re)
1594 self.recover(self.input, re)
1595 finally:
1596 if self.backtracking > 0:
1597 self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
1598
1599 pass
1600
1601 return retval
1602
1603 # $ANTLR end struct_or_union_specifier
1604
1605
1606 # $ANTLR start struct_or_union
1607 # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
1608 def struct_or_union(self, ):
1609
1610 struct_or_union_StartIndex = self.input.index()
1611 try:
1612 try:
1613 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
1614 return
1615
1616 # C.g:240:2: ( 'struct' | 'union' )
1617 # C.g:
1618 if (45 <= self.input.LA(1) <= 46):
1619 self.input.consume();
1620 self.errorRecovery = False
1621 self.failed = False
1622
1623 else:
1624 if self.backtracking > 0:
1625 self.failed = True
1626 return
1627
1628 mse = MismatchedSetException(None, self.input)
1629 self.recoverFromMismatchedSet(
1630 self.input, mse, self.FOLLOW_set_in_struct_or_union0
1631 )
1632 raise mse
1633
1634
1635
1636
1637
1638
1639 except RecognitionException, re:
1640 self.reportError(re)
1641 self.recover(self.input, re)
1642 finally:
1643 if self.backtracking > 0:
1644 self.memoize(self.input, 12, struct_or_union_StartIndex)
1645
1646 pass
1647
1648 return
1649
1650 # $ANTLR end struct_or_union
1651
1652
1653 # $ANTLR start struct_declaration_list
1654 # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
1655 def struct_declaration_list(self, ):
1656
1657 struct_declaration_list_StartIndex = self.input.index()
1658 try:
1659 try:
1660 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
1661 return
1662
1663 # C.g:245:2: ( ( struct_declaration )+ )
1664 # C.g:245:4: ( struct_declaration )+
1665 # C.g:245:4: ( struct_declaration )+
1666 cnt16 = 0
1667 while True: #loop16
1668 alt16 = 2
1669 LA16_0 = self.input.LA(1)
1670
1671 if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 61)) :
1672 alt16 = 1
1673
1674
1675 if alt16 == 1:
1676 # C.g:0:0: struct_declaration
1677 self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537)
1678 self.struct_declaration()
1679 self.following.pop()
1680 if self.failed:
1681 return
1682
1683
1684 else:
1685 if cnt16 >= 1:
1686 break #loop16
1687
1688 if self.backtracking > 0:
1689 self.failed = True
1690 return
1691
1692 eee = EarlyExitException(16, self.input)
1693 raise eee
1694
1695 cnt16 += 1
1696
1697
1698
1699
1700
1701
1702 except RecognitionException, re:
1703 self.reportError(re)
1704 self.recover(self.input, re)
1705 finally:
1706 if self.backtracking > 0:
1707 self.memoize(self.input, 13, struct_declaration_list_StartIndex)
1708
1709 pass
1710
1711 return
1712
1713 # $ANTLR end struct_declaration_list
1714
1715
1716 # $ANTLR start struct_declaration
1717 # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1718 def struct_declaration(self, ):
1719
1720 struct_declaration_StartIndex = self.input.index()
1721 try:
1722 try:
1723 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
1724 return
1725
1726 # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
1727 # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
1728 self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration549)
1729 self.specifier_qualifier_list()
1730 self.following.pop()
1731 if self.failed:
1732 return
1733 self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration551)
1734 self.struct_declarator_list()
1735 self.following.pop()
1736 if self.failed:
1737 return
1738 self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553)
1739 if self.failed:
1740 return
1741
1742
1743
1744
1745 except RecognitionException, re:
1746 self.reportError(re)
1747 self.recover(self.input, re)
1748 finally:
1749 if self.backtracking > 0:
1750 self.memoize(self.input, 14, struct_declaration_StartIndex)
1751
1752 pass
1753
1754 return
1755
1756 # $ANTLR end struct_declaration
1757
1758
1759 # $ANTLR start specifier_qualifier_list
1760 # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1761 def specifier_qualifier_list(self, ):
1762
1763 specifier_qualifier_list_StartIndex = self.input.index()
1764 try:
1765 try:
1766 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
1767 return
1768
1769 # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
1770 # C.g:253:4: ( type_qualifier | type_specifier )+
1771 # C.g:253:4: ( type_qualifier | type_specifier )+
1772 cnt17 = 0
1773 while True: #loop17
1774 alt17 = 3
1775 LA17 = self.input.LA(1)
1776 if LA17 == 58:
1777 LA17_2 = self.input.LA(2)
1778
1779 if (self.synpred39()) :
1780 alt17 = 1
1781
1782
1783 elif LA17 == 59:
1784 LA17_3 = self.input.LA(2)
1785
1786 if (self.synpred39()) :
1787 alt17 = 1
1788
1789
1790 elif LA17 == 60:
1791 LA17_4 = self.input.LA(2)
1792
1793 if (self.synpred39()) :
1794 alt17 = 1
1795
1796
1797 elif LA17 == IDENTIFIER:
1798 LA17 = self.input.LA(2)
1799 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:
1800 alt17 = 2
1801 elif LA17 == 62:
1802 LA17_94 = self.input.LA(3)
1803
1804 if (self.synpred40()) :
1805 alt17 = 2
1806
1807
1808 elif LA17 == 47:
1809 LA17_95 = self.input.LA(3)
1810
1811 if (self.synpred40()) :
1812 alt17 = 2
1813
1814
1815 elif LA17 == 64:
1816 LA17_96 = self.input.LA(3)
1817
1818 if (self.synpred40()) :
1819 alt17 = 2
1820
1821
1822
1823 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:
1824 alt17 = 1
1825 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:
1826 alt17 = 2
1827
1828 if alt17 == 1:
1829 # C.g:253:6: type_qualifier
1830 self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566)
1831 self.type_qualifier()
1832 self.following.pop()
1833 if self.failed:
1834 return
1835
1836
1837 elif alt17 == 2:
1838 # C.g:253:23: type_specifier
1839 self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list570)
1840 self.type_specifier()
1841 self.following.pop()
1842 if self.failed:
1843 return
1844
1845
1846 else:
1847 if cnt17 >= 1:
1848 break #loop17
1849
1850 if self.backtracking > 0:
1851 self.failed = True
1852 return
1853
1854 eee = EarlyExitException(17, self.input)
1855 raise eee
1856
1857 cnt17 += 1
1858
1859
1860
1861
1862
1863
1864 except RecognitionException, re:
1865 self.reportError(re)
1866 self.recover(self.input, re)
1867 finally:
1868 if self.backtracking > 0:
1869 self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
1870
1871 pass
1872
1873 return
1874
1875 # $ANTLR end specifier_qualifier_list
1876
1877
1878 # $ANTLR start struct_declarator_list
1879 # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1880 def struct_declarator_list(self, ):
1881
1882 struct_declarator_list_StartIndex = self.input.index()
1883 try:
1884 try:
1885 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
1886 return
1887
1888 # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
1889 # C.g:257:4: struct_declarator ( ',' struct_declarator )*
1890 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list584)
1891 self.struct_declarator()
1892 self.following.pop()
1893 if self.failed:
1894 return
1895 # C.g:257:22: ( ',' struct_declarator )*
1896 while True: #loop18
1897 alt18 = 2
1898 LA18_0 = self.input.LA(1)
1899
1900 if (LA18_0 == 27) :
1901 alt18 = 1
1902
1903
1904 if alt18 == 1:
1905 # C.g:257:23: ',' struct_declarator
1906 self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list587)
1907 if self.failed:
1908 return
1909 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list589)
1910 self.struct_declarator()
1911 self.following.pop()
1912 if self.failed:
1913 return
1914
1915
1916 else:
1917 break #loop18
1918
1919
1920
1921
1922
1923
1924 except RecognitionException, re:
1925 self.reportError(re)
1926 self.recover(self.input, re)
1927 finally:
1928 if self.backtracking > 0:
1929 self.memoize(self.input, 16, struct_declarator_list_StartIndex)
1930
1931 pass
1932
1933 return
1934
1935 # $ANTLR end struct_declarator_list
1936
1937
1938 # $ANTLR start struct_declarator
1939 # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1940 def struct_declarator(self, ):
1941
1942 struct_declarator_StartIndex = self.input.index()
1943 try:
1944 try:
1945 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
1946 return
1947
1948 # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1949 alt20 = 2
1950 LA20_0 = self.input.LA(1)
1951
1952 if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 60) or LA20_0 == 62 or LA20_0 == 66) :
1953 alt20 = 1
1954 elif (LA20_0 == 47) :
1955 alt20 = 2
1956 else:
1957 if self.backtracking > 0:
1958 self.failed = True
1959 return
1960
1961 nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
1962
1963 raise nvae
1964
1965 if alt20 == 1:
1966 # C.g:261:4: declarator ( ':' constant_expression )?
1967 self.following.append(self.FOLLOW_declarator_in_struct_declarator602)
1968 self.declarator()
1969 self.following.pop()
1970 if self.failed:
1971 return
1972 # C.g:261:15: ( ':' constant_expression )?
1973 alt19 = 2
1974 LA19_0 = self.input.LA(1)
1975
1976 if (LA19_0 == 47) :
1977 alt19 = 1
1978 if alt19 == 1:
1979 # C.g:261:16: ':' constant_expression
1980 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator605)
1981 if self.failed:
1982 return
1983 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator607)
1984 self.constant_expression()
1985 self.following.pop()
1986 if self.failed:
1987 return
1988
1989
1990
1991
1992
1993 elif alt20 == 2:
1994 # C.g:262:4: ':' constant_expression
1995 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator614)
1996 if self.failed:
1997 return
1998 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator616)
1999 self.constant_expression()
2000 self.following.pop()
2001 if self.failed:
2002 return
2003
2004
2005
2006 except RecognitionException, re:
2007 self.reportError(re)
2008 self.recover(self.input, re)
2009 finally:
2010 if self.backtracking > 0:
2011 self.memoize(self.input, 17, struct_declarator_StartIndex)
2012
2013 pass
2014
2015 return
2016
2017 # $ANTLR end struct_declarator
2018
2019 class enum_specifier_return(object):
2020 def __init__(self):
2021 self.start = None
2022 self.stop = None
2023
2024
2025
2026 # $ANTLR start enum_specifier
2027 # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2028 def enum_specifier(self, ):
2029
2030 retval = self.enum_specifier_return()
2031 retval.start = self.input.LT(1)
2032 enum_specifier_StartIndex = self.input.index()
2033 try:
2034 try:
2035 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
2036 return retval
2037
2038 # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2039 alt23 = 3
2040 LA23_0 = self.input.LA(1)
2041
2042 if (LA23_0 == 48) :
2043 LA23_1 = self.input.LA(2)
2044
2045 if (LA23_1 == IDENTIFIER) :
2046 LA23_2 = self.input.LA(3)
2047
2048 if (LA23_2 == 43) :
2049 alt23 = 2
2050 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) :
2051 alt23 = 3
2052 else:
2053 if self.backtracking > 0:
2054 self.failed = True
2055 return retval
2056
2057 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
2058
2059 raise nvae
2060
2061 elif (LA23_1 == 43) :
2062 alt23 = 1
2063 else:
2064 if self.backtracking > 0:
2065 self.failed = True
2066 return retval
2067
2068 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
2069
2070 raise nvae
2071
2072 else:
2073 if self.backtracking > 0:
2074 self.failed = True
2075 return retval
2076
2077 nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input)
2078
2079 raise nvae
2080
2081 if alt23 == 1:
2082 # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
2083 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier634)
2084 if self.failed:
2085 return retval
2086 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier636)
2087 if self.failed:
2088 return retval
2089 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638)
2090 self.enumerator_list()
2091 self.following.pop()
2092 if self.failed:
2093 return retval
2094 # C.g:267:31: ( ',' )?
2095 alt21 = 2
2096 LA21_0 = self.input.LA(1)
2097
2098 if (LA21_0 == 27) :
2099 alt21 = 1
2100 if alt21 == 1:
2101 # C.g:0:0: ','
2102 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier640)
2103 if self.failed:
2104 return retval
2105
2106
2107
2108 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier643)
2109 if self.failed:
2110 return retval
2111
2112
2113 elif alt23 == 2:
2114 # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2115 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier648)
2116 if self.failed:
2117 return retval
2118 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier650)
2119 if self.failed:
2120 return retval
2121 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier652)
2122 if self.failed:
2123 return retval
2124 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier654)
2125 self.enumerator_list()
2126 self.following.pop()
2127 if self.failed:
2128 return retval
2129 # C.g:268:42: ( ',' )?
2130 alt22 = 2
2131 LA22_0 = self.input.LA(1)
2132
2133 if (LA22_0 == 27) :
2134 alt22 = 1
2135 if alt22 == 1:
2136 # C.g:0:0: ','
2137 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier656)
2138 if self.failed:
2139 return retval
2140
2141
2142
2143 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier659)
2144 if self.failed:
2145 return retval
2146
2147
2148 elif alt23 == 3:
2149 # C.g:269:4: 'enum' IDENTIFIER
2150 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier664)
2151 if self.failed:
2152 return retval
2153 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier666)
2154 if self.failed:
2155 return retval
2156
2157
2158 retval.stop = self.input.LT(-1)
2159
2160
2161 except RecognitionException, re:
2162 self.reportError(re)
2163 self.recover(self.input, re)
2164 finally:
2165 if self.backtracking > 0:
2166 self.memoize(self.input, 18, enum_specifier_StartIndex)
2167
2168 pass
2169
2170 return retval
2171
2172 # $ANTLR end enum_specifier
2173
2174
2175 # $ANTLR start enumerator_list
2176 # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
2177 def enumerator_list(self, ):
2178
2179 enumerator_list_StartIndex = self.input.index()
2180 try:
2181 try:
2182 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
2183 return
2184
2185 # C.g:273:2: ( enumerator ( ',' enumerator )* )
2186 # C.g:273:4: enumerator ( ',' enumerator )*
2187 self.following.append(self.FOLLOW_enumerator_in_enumerator_list677)
2188 self.enumerator()
2189 self.following.pop()
2190 if self.failed:
2191 return
2192 # C.g:273:15: ( ',' enumerator )*
2193 while True: #loop24
2194 alt24 = 2
2195 LA24_0 = self.input.LA(1)
2196
2197 if (LA24_0 == 27) :
2198 LA24_1 = self.input.LA(2)
2199
2200 if (LA24_1 == IDENTIFIER) :
2201 alt24 = 1
2202
2203
2204
2205
2206 if alt24 == 1:
2207 # C.g:273:16: ',' enumerator
2208 self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list680)
2209 if self.failed:
2210 return
2211 self.following.append(self.FOLLOW_enumerator_in_enumerator_list682)
2212 self.enumerator()
2213 self.following.pop()
2214 if self.failed:
2215 return
2216
2217
2218 else:
2219 break #loop24
2220
2221
2222
2223
2224
2225
2226 except RecognitionException, re:
2227 self.reportError(re)
2228 self.recover(self.input, re)
2229 finally:
2230 if self.backtracking > 0:
2231 self.memoize(self.input, 19, enumerator_list_StartIndex)
2232
2233 pass
2234
2235 return
2236
2237 # $ANTLR end enumerator_list
2238
2239
2240 # $ANTLR start enumerator
2241 # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2242 def enumerator(self, ):
2243
2244 enumerator_StartIndex = self.input.index()
2245 try:
2246 try:
2247 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
2248 return
2249
2250 # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
2251 # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
2252 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator695)
2253 if self.failed:
2254 return
2255 # C.g:277:15: ( '=' constant_expression )?
2256 alt25 = 2
2257 LA25_0 = self.input.LA(1)
2258
2259 if (LA25_0 == 28) :
2260 alt25 = 1
2261 if alt25 == 1:
2262 # C.g:277:16: '=' constant_expression
2263 self.match(self.input, 28, self.FOLLOW_28_in_enumerator698)
2264 if self.failed:
2265 return
2266 self.following.append(self.FOLLOW_constant_expression_in_enumerator700)
2267 self.constant_expression()
2268 self.following.pop()
2269 if self.failed:
2270 return
2271
2272
2273
2274
2275
2276
2277
2278 except RecognitionException, re:
2279 self.reportError(re)
2280 self.recover(self.input, re)
2281 finally:
2282 if self.backtracking > 0:
2283 self.memoize(self.input, 20, enumerator_StartIndex)
2284
2285 pass
2286
2287 return
2288
2289 # $ANTLR end enumerator
2290
2291
2292 # $ANTLR start type_qualifier
2293 # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
2294 def type_qualifier(self, ):
2295
2296 type_qualifier_StartIndex = self.input.index()
2297 try:
2298 try:
2299 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
2300 return
2301
2302 # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
2303 # C.g:
2304 if (49 <= self.input.LA(1) <= 61):
2305 self.input.consume();
2306 self.errorRecovery = False
2307 self.failed = False
2308
2309 else:
2310 if self.backtracking > 0:
2311 self.failed = True
2312 return
2313
2314 mse = MismatchedSetException(None, self.input)
2315 self.recoverFromMismatchedSet(
2316 self.input, mse, self.FOLLOW_set_in_type_qualifier0
2317 )
2318 raise mse
2319
2320
2321
2322
2323
2324
2325 except RecognitionException, re:
2326 self.reportError(re)
2327 self.recover(self.input, re)
2328 finally:
2329 if self.backtracking > 0:
2330 self.memoize(self.input, 21, type_qualifier_StartIndex)
2331
2332 pass
2333
2334 return
2335
2336 # $ANTLR end type_qualifier
2337
2338 class declarator_return(object):
2339 def __init__(self):
2340 self.start = None
2341 self.stop = None
2342
2343
2344
2345 # $ANTLR start declarator
2346 # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2347 def declarator(self, ):
2348
2349 retval = self.declarator_return()
2350 retval.start = self.input.LT(1)
2351 declarator_StartIndex = self.input.index()
2352 try:
2353 try:
2354 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
2355 return retval
2356
2357 # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2358 alt30 = 2
2359 LA30_0 = self.input.LA(1)
2360
2361 if (LA30_0 == 66) :
2362 LA30_1 = self.input.LA(2)
2363
2364 if (self.synpred66()) :
2365 alt30 = 1
2366 elif (True) :
2367 alt30 = 2
2368 else:
2369 if self.backtracking > 0:
2370 self.failed = True
2371 return retval
2372
2373 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input)
2374
2375 raise nvae
2376
2377 elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 60) or LA30_0 == 62) :
2378 alt30 = 1
2379 else:
2380 if self.backtracking > 0:
2381 self.failed = True
2382 return retval
2383
2384 nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
2385
2386 raise nvae
2387
2388 if alt30 == 1:
2389 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2390 # C.g:297:4: ( pointer )?
2391 alt26 = 2
2392 LA26_0 = self.input.LA(1)
2393
2394 if (LA26_0 == 66) :
2395 alt26 = 1
2396 if alt26 == 1:
2397 # C.g:0:0: pointer
2398 self.following.append(self.FOLLOW_pointer_in_declarator784)
2399 self.pointer()
2400 self.following.pop()
2401 if self.failed:
2402 return retval
2403
2404
2405
2406 # C.g:297:13: ( 'EFIAPI' )?
2407 alt27 = 2
2408 LA27_0 = self.input.LA(1)
2409
2410 if (LA27_0 == 58) :
2411 alt27 = 1
2412 if alt27 == 1:
2413 # C.g:297:14: 'EFIAPI'
2414 self.match(self.input, 58, self.FOLLOW_58_in_declarator788)
2415 if self.failed:
2416 return retval
2417
2418
2419
2420 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
2421 alt28 = 2
2422 LA28_0 = self.input.LA(1)
2423
2424 if (LA28_0 == 59) :
2425 alt28 = 1
2426 if alt28 == 1:
2427 # C.g:297:26: 'EFI_BOOTSERVICE'
2428 self.match(self.input, 59, self.FOLLOW_59_in_declarator793)
2429 if self.failed:
2430 return retval
2431
2432
2433
2434 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
2435 alt29 = 2
2436 LA29_0 = self.input.LA(1)
2437
2438 if (LA29_0 == 60) :
2439 alt29 = 1
2440 if alt29 == 1:
2441 # C.g:297:47: 'EFI_RUNTIMESERVICE'
2442 self.match(self.input, 60, self.FOLLOW_60_in_declarator798)
2443 if self.failed:
2444 return retval
2445
2446
2447
2448 self.following.append(self.FOLLOW_direct_declarator_in_declarator802)
2449 self.direct_declarator()
2450 self.following.pop()
2451 if self.failed:
2452 return retval
2453
2454
2455 elif alt30 == 2:
2456 # C.g:299:4: pointer
2457 self.following.append(self.FOLLOW_pointer_in_declarator808)
2458 self.pointer()
2459 self.following.pop()
2460 if self.failed:
2461 return retval
2462
2463
2464 retval.stop = self.input.LT(-1)
2465
2466
2467 except RecognitionException, re:
2468 self.reportError(re)
2469 self.recover(self.input, re)
2470 finally:
2471 if self.backtracking > 0:
2472 self.memoize(self.input, 22, declarator_StartIndex)
2473
2474 pass
2475
2476 return retval
2477
2478 # $ANTLR end declarator
2479
2480
2481 # $ANTLR start direct_declarator
2482 # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2483 def direct_declarator(self, ):
2484
2485 direct_declarator_StartIndex = self.input.index()
2486 try:
2487 try:
2488 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
2489 return
2490
2491 # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2492 alt34 = 2
2493 LA34_0 = self.input.LA(1)
2494
2495 if (LA34_0 == IDENTIFIER) :
2496 alt34 = 1
2497 elif (LA34_0 == 62) :
2498 alt34 = 2
2499 else:
2500 if self.backtracking > 0:
2501 self.failed = True
2502 return
2503
2504 nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
2505
2506 raise nvae
2507
2508 if alt34 == 1:
2509 # C.g:303:4: IDENTIFIER ( declarator_suffix )*
2510 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819)
2511 if self.failed:
2512 return
2513 # C.g:303:15: ( declarator_suffix )*
2514 while True: #loop31
2515 alt31 = 2
2516 LA31_0 = self.input.LA(1)
2517
2518 if (LA31_0 == 62) :
2519 LA31 = self.input.LA(2)
2520 if LA31 == 63:
2521 LA31_30 = self.input.LA(3)
2522
2523 if (self.synpred67()) :
2524 alt31 = 1
2525
2526
2527 elif LA31 == 58:
2528 LA31_31 = self.input.LA(3)
2529
2530 if (self.synpred67()) :
2531 alt31 = 1
2532
2533
2534 elif LA31 == 66:
2535 LA31_32 = self.input.LA(3)
2536
2537 if (self.synpred67()) :
2538 alt31 = 1
2539
2540
2541 elif LA31 == 59:
2542 LA31_33 = self.input.LA(3)
2543
2544 if (self.synpred67()) :
2545 alt31 = 1
2546
2547
2548 elif LA31 == 60:
2549 LA31_34 = self.input.LA(3)
2550
2551 if (self.synpred67()) :
2552 alt31 = 1
2553
2554
2555 elif LA31 == IDENTIFIER:
2556 LA31_35 = self.input.LA(3)
2557
2558 if (self.synpred67()) :
2559 alt31 = 1
2560
2561
2562 elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33:
2563 LA31_37 = self.input.LA(3)
2564
2565 if (self.synpred67()) :
2566 alt31 = 1
2567
2568
2569 elif LA31 == 34:
2570 LA31_38 = self.input.LA(3)
2571
2572 if (self.synpred67()) :
2573 alt31 = 1
2574
2575
2576 elif LA31 == 35:
2577 LA31_39 = self.input.LA(3)
2578
2579 if (self.synpred67()) :
2580 alt31 = 1
2581
2582
2583 elif LA31 == 36:
2584 LA31_40 = self.input.LA(3)
2585
2586 if (self.synpred67()) :
2587 alt31 = 1
2588
2589
2590 elif LA31 == 37:
2591 LA31_41 = self.input.LA(3)
2592
2593 if (self.synpred67()) :
2594 alt31 = 1
2595
2596
2597 elif LA31 == 38:
2598 LA31_42 = self.input.LA(3)
2599
2600 if (self.synpred67()) :
2601 alt31 = 1
2602
2603
2604 elif LA31 == 39:
2605 LA31_43 = self.input.LA(3)
2606
2607 if (self.synpred67()) :
2608 alt31 = 1
2609
2610
2611 elif LA31 == 40:
2612 LA31_44 = self.input.LA(3)
2613
2614 if (self.synpred67()) :
2615 alt31 = 1
2616
2617
2618 elif LA31 == 41:
2619 LA31_45 = self.input.LA(3)
2620
2621 if (self.synpred67()) :
2622 alt31 = 1
2623
2624
2625 elif LA31 == 42:
2626 LA31_46 = self.input.LA(3)
2627
2628 if (self.synpred67()) :
2629 alt31 = 1
2630
2631
2632 elif LA31 == 45 or LA31 == 46:
2633 LA31_47 = self.input.LA(3)
2634
2635 if (self.synpred67()) :
2636 alt31 = 1
2637
2638
2639 elif LA31 == 48:
2640 LA31_48 = self.input.LA(3)
2641
2642 if (self.synpred67()) :
2643 alt31 = 1
2644
2645
2646 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:
2647 LA31_49 = self.input.LA(3)
2648
2649 if (self.synpred67()) :
2650 alt31 = 1
2651
2652
2653
2654 elif (LA31_0 == 64) :
2655 LA31 = self.input.LA(2)
2656 if LA31 == 65:
2657 LA31_51 = self.input.LA(3)
2658
2659 if (self.synpred67()) :
2660 alt31 = 1
2661
2662
2663 elif LA31 == 62:
2664 LA31_52 = self.input.LA(3)
2665
2666 if (self.synpred67()) :
2667 alt31 = 1
2668
2669
2670 elif LA31 == IDENTIFIER:
2671 LA31_53 = self.input.LA(3)
2672
2673 if (self.synpred67()) :
2674 alt31 = 1
2675
2676
2677 elif LA31 == HEX_LITERAL:
2678 LA31_54 = self.input.LA(3)
2679
2680 if (self.synpred67()) :
2681 alt31 = 1
2682
2683
2684 elif LA31 == OCTAL_LITERAL:
2685 LA31_55 = self.input.LA(3)
2686
2687 if (self.synpred67()) :
2688 alt31 = 1
2689
2690
2691 elif LA31 == DECIMAL_LITERAL:
2692 LA31_56 = self.input.LA(3)
2693
2694 if (self.synpred67()) :
2695 alt31 = 1
2696
2697
2698 elif LA31 == CHARACTER_LITERAL:
2699 LA31_57 = self.input.LA(3)
2700
2701 if (self.synpred67()) :
2702 alt31 = 1
2703
2704
2705 elif LA31 == STRING_LITERAL:
2706 LA31_58 = self.input.LA(3)
2707
2708 if (self.synpred67()) :
2709 alt31 = 1
2710
2711
2712 elif LA31 == FLOATING_POINT_LITERAL:
2713 LA31_59 = self.input.LA(3)
2714
2715 if (self.synpred67()) :
2716 alt31 = 1
2717
2718
2719 elif LA31 == 72:
2720 LA31_60 = self.input.LA(3)
2721
2722 if (self.synpred67()) :
2723 alt31 = 1
2724
2725
2726 elif LA31 == 73:
2727 LA31_61 = self.input.LA(3)
2728
2729 if (self.synpred67()) :
2730 alt31 = 1
2731
2732
2733 elif LA31 == 66 or LA31 == 68 or LA31 == 69 or LA31 == 77 or LA31 == 78 or LA31 == 79:
2734 LA31_62 = self.input.LA(3)
2735
2736 if (self.synpred67()) :
2737 alt31 = 1
2738
2739
2740 elif LA31 == 74:
2741 LA31_63 = self.input.LA(3)
2742
2743 if (self.synpred67()) :
2744 alt31 = 1
2745
2746
2747
2748
2749
2750 if alt31 == 1:
2751 # C.g:0:0: declarator_suffix
2752 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821)
2753 self.declarator_suffix()
2754 self.following.pop()
2755 if self.failed:
2756 return
2757
2758
2759 else:
2760 break #loop31
2761
2762
2763
2764
2765 elif alt34 == 2:
2766 # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2767 self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator827)
2768 if self.failed:
2769 return
2770 # C.g:304:8: ( 'EFIAPI' )?
2771 alt32 = 2
2772 LA32_0 = self.input.LA(1)
2773
2774 if (LA32_0 == 58) :
2775 LA32_1 = self.input.LA(2)
2776
2777 if (self.synpred69()) :
2778 alt32 = 1
2779 if alt32 == 1:
2780 # C.g:304:9: 'EFIAPI'
2781 self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator830)
2782 if self.failed:
2783 return
2784
2785
2786
2787 self.following.append(self.FOLLOW_declarator_in_direct_declarator834)
2788 self.declarator()
2789 self.following.pop()
2790 if self.failed:
2791 return
2792 self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836)
2793 if self.failed:
2794 return
2795 # C.g:304:35: ( declarator_suffix )+
2796 cnt33 = 0
2797 while True: #loop33
2798 alt33 = 2
2799 LA33_0 = self.input.LA(1)
2800
2801 if (LA33_0 == 62) :
2802 LA33 = self.input.LA(2)
2803 if LA33 == 63:
2804 LA33_30 = self.input.LA(3)
2805
2806 if (self.synpred70()) :
2807 alt33 = 1
2808
2809
2810 elif LA33 == 58:
2811 LA33_31 = self.input.LA(3)
2812
2813 if (self.synpred70()) :
2814 alt33 = 1
2815
2816
2817 elif LA33 == 66:
2818 LA33_32 = self.input.LA(3)
2819
2820 if (self.synpred70()) :
2821 alt33 = 1
2822
2823
2824 elif LA33 == 59:
2825 LA33_33 = self.input.LA(3)
2826
2827 if (self.synpred70()) :
2828 alt33 = 1
2829
2830
2831 elif LA33 == 60:
2832 LA33_34 = self.input.LA(3)
2833
2834 if (self.synpred70()) :
2835 alt33 = 1
2836
2837
2838 elif LA33 == IDENTIFIER:
2839 LA33_35 = self.input.LA(3)
2840
2841 if (self.synpred70()) :
2842 alt33 = 1
2843
2844
2845 elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33:
2846 LA33_37 = self.input.LA(3)
2847
2848 if (self.synpred70()) :
2849 alt33 = 1
2850
2851
2852 elif LA33 == 34:
2853 LA33_38 = self.input.LA(3)
2854
2855 if (self.synpred70()) :
2856 alt33 = 1
2857
2858
2859 elif LA33 == 35:
2860 LA33_39 = self.input.LA(3)
2861
2862 if (self.synpred70()) :
2863 alt33 = 1
2864
2865
2866 elif LA33 == 36:
2867 LA33_40 = self.input.LA(3)
2868
2869 if (self.synpred70()) :
2870 alt33 = 1
2871
2872
2873 elif LA33 == 37:
2874 LA33_41 = self.input.LA(3)
2875
2876 if (self.synpred70()) :
2877 alt33 = 1
2878
2879
2880 elif LA33 == 38:
2881 LA33_42 = self.input.LA(3)
2882
2883 if (self.synpred70()) :
2884 alt33 = 1
2885
2886
2887 elif LA33 == 39:
2888 LA33_43 = self.input.LA(3)
2889
2890 if (self.synpred70()) :
2891 alt33 = 1
2892
2893
2894 elif LA33 == 40:
2895 LA33_44 = self.input.LA(3)
2896
2897 if (self.synpred70()) :
2898 alt33 = 1
2899
2900
2901 elif LA33 == 41:
2902 LA33_45 = self.input.LA(3)
2903
2904 if (self.synpred70()) :
2905 alt33 = 1
2906
2907
2908 elif LA33 == 42:
2909 LA33_46 = self.input.LA(3)
2910
2911 if (self.synpred70()) :
2912 alt33 = 1
2913
2914
2915 elif LA33 == 45 or LA33 == 46:
2916 LA33_47 = self.input.LA(3)
2917
2918 if (self.synpred70()) :
2919 alt33 = 1
2920
2921
2922 elif LA33 == 48:
2923 LA33_48 = self.input.LA(3)
2924
2925 if (self.synpred70()) :
2926 alt33 = 1
2927
2928
2929 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:
2930 LA33_49 = self.input.LA(3)
2931
2932 if (self.synpred70()) :
2933 alt33 = 1
2934
2935
2936
2937 elif (LA33_0 == 64) :
2938 LA33 = self.input.LA(2)
2939 if LA33 == 65:
2940 LA33_51 = self.input.LA(3)
2941
2942 if (self.synpred70()) :
2943 alt33 = 1
2944
2945
2946 elif LA33 == 62:
2947 LA33_52 = self.input.LA(3)
2948
2949 if (self.synpred70()) :
2950 alt33 = 1
2951
2952
2953 elif LA33 == IDENTIFIER:
2954 LA33_53 = self.input.LA(3)
2955
2956 if (self.synpred70()) :
2957 alt33 = 1
2958
2959
2960 elif LA33 == HEX_LITERAL:
2961 LA33_54 = self.input.LA(3)
2962
2963 if (self.synpred70()) :
2964 alt33 = 1
2965
2966
2967 elif LA33 == OCTAL_LITERAL:
2968 LA33_55 = self.input.LA(3)
2969
2970 if (self.synpred70()) :
2971 alt33 = 1
2972
2973
2974 elif LA33 == DECIMAL_LITERAL:
2975 LA33_56 = self.input.LA(3)
2976
2977 if (self.synpred70()) :
2978 alt33 = 1
2979
2980
2981 elif LA33 == CHARACTER_LITERAL:
2982 LA33_57 = self.input.LA(3)
2983
2984 if (self.synpred70()) :
2985 alt33 = 1
2986
2987
2988 elif LA33 == STRING_LITERAL:
2989 LA33_58 = self.input.LA(3)
2990
2991 if (self.synpred70()) :
2992 alt33 = 1
2993
2994
2995 elif LA33 == FLOATING_POINT_LITERAL:
2996 LA33_59 = self.input.LA(3)
2997
2998 if (self.synpred70()) :
2999 alt33 = 1
3000
3001
3002 elif LA33 == 72:
3003 LA33_60 = self.input.LA(3)
3004
3005 if (self.synpred70()) :
3006 alt33 = 1
3007
3008
3009 elif LA33 == 73:
3010 LA33_61 = self.input.LA(3)
3011
3012 if (self.synpred70()) :
3013 alt33 = 1
3014
3015
3016 elif LA33 == 66 or LA33 == 68 or LA33 == 69 or LA33 == 77 or LA33 == 78 or LA33 == 79:
3017 LA33_62 = self.input.LA(3)
3018
3019 if (self.synpred70()) :
3020 alt33 = 1
3021
3022
3023 elif LA33 == 74:
3024 LA33_63 = self.input.LA(3)
3025
3026 if (self.synpred70()) :
3027 alt33 = 1
3028
3029
3030
3031
3032
3033 if alt33 == 1:
3034 # C.g:0:0: declarator_suffix
3035 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838)
3036 self.declarator_suffix()
3037 self.following.pop()
3038 if self.failed:
3039 return
3040
3041
3042 else:
3043 if cnt33 >= 1:
3044 break #loop33
3045
3046 if self.backtracking > 0:
3047 self.failed = True
3048 return
3049
3050 eee = EarlyExitException(33, self.input)
3051 raise eee
3052
3053 cnt33 += 1
3054
3055
3056
3057
3058
3059 except RecognitionException, re:
3060 self.reportError(re)
3061 self.recover(self.input, re)
3062 finally:
3063 if self.backtracking > 0:
3064 self.memoize(self.input, 23, direct_declarator_StartIndex)
3065
3066 pass
3067
3068 return
3069
3070 # $ANTLR end direct_declarator
3071
3072
3073 # $ANTLR start declarator_suffix
3074 # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3075 def declarator_suffix(self, ):
3076
3077 declarator_suffix_StartIndex = self.input.index()
3078 try:
3079 try:
3080 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
3081 return
3082
3083 # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3084 alt35 = 5
3085 LA35_0 = self.input.LA(1)
3086
3087 if (LA35_0 == 64) :
3088 LA35_1 = self.input.LA(2)
3089
3090 if (LA35_1 == 65) :
3091 alt35 = 2
3092 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)) :
3093 alt35 = 1
3094 else:
3095 if self.backtracking > 0:
3096 self.failed = True
3097 return
3098
3099 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
3100
3101 raise nvae
3102
3103 elif (LA35_0 == 62) :
3104 LA35 = self.input.LA(2)
3105 if LA35 == 63:
3106 alt35 = 5
3107 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:
3108 alt35 = 3
3109 elif LA35 == IDENTIFIER:
3110 LA35_29 = self.input.LA(3)
3111
3112 if (self.synpred73()) :
3113 alt35 = 3
3114 elif (self.synpred74()) :
3115 alt35 = 4
3116 else:
3117 if self.backtracking > 0:
3118 self.failed = True
3119 return
3120
3121 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input)
3122
3123 raise nvae
3124
3125 else:
3126 if self.backtracking > 0:
3127 self.failed = True
3128 return
3129
3130 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
3131
3132 raise nvae
3133
3134 else:
3135 if self.backtracking > 0:
3136 self.failed = True
3137 return
3138
3139 nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
3140
3141 raise nvae
3142
3143 if alt35 == 1:
3144 # C.g:308:6: '[' constant_expression ']'
3145 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix852)
3146 if self.failed:
3147 return
3148 self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix854)
3149 self.constant_expression()
3150 self.following.pop()
3151 if self.failed:
3152 return
3153 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856)
3154 if self.failed:
3155 return
3156
3157
3158 elif alt35 == 2:
3159 # C.g:309:9: '[' ']'
3160 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866)
3161 if self.failed:
3162 return
3163 self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868)
3164 if self.failed:
3165 return
3166
3167
3168 elif alt35 == 3:
3169 # C.g:310:9: '(' parameter_type_list ')'
3170 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix878)
3171 if self.failed:
3172 return
3173 self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix880)
3174 self.parameter_type_list()
3175 self.following.pop()
3176 if self.failed:
3177 return
3178 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882)
3179 if self.failed:
3180 return
3181
3182
3183 elif alt35 == 4:
3184 # C.g:311:9: '(' identifier_list ')'
3185 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix892)
3186 if self.failed:
3187 return
3188 self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix894)
3189 self.identifier_list()
3190 self.following.pop()
3191 if self.failed:
3192 return
3193 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896)
3194 if self.failed:
3195 return
3196
3197
3198 elif alt35 == 5:
3199 # C.g:312:9: '(' ')'
3200 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906)
3201 if self.failed:
3202 return
3203 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908)
3204 if self.failed:
3205 return
3206
3207
3208
3209 except RecognitionException, re:
3210 self.reportError(re)
3211 self.recover(self.input, re)
3212 finally:
3213 if self.backtracking > 0:
3214 self.memoize(self.input, 24, declarator_suffix_StartIndex)
3215
3216 pass
3217
3218 return
3219
3220 # $ANTLR end declarator_suffix
3221
3222
3223 # $ANTLR start pointer
3224 # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3225 def pointer(self, ):
3226
3227 pointer_StartIndex = self.input.index()
3228 try:
3229 try:
3230 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
3231 return
3232
3233 # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3234 alt38 = 3
3235 LA38_0 = self.input.LA(1)
3236
3237 if (LA38_0 == 66) :
3238 LA38 = self.input.LA(2)
3239 if LA38 == 66:
3240 LA38_2 = self.input.LA(3)
3241
3242 if (self.synpred78()) :
3243 alt38 = 2
3244 elif (True) :
3245 alt38 = 3
3246 else:
3247 if self.backtracking > 0:
3248 self.failed = True
3249 return
3250
3251 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
3252
3253 raise nvae
3254
3255 elif LA38 == 58:
3256 LA38_3 = self.input.LA(3)
3257
3258 if (self.synpred77()) :
3259 alt38 = 1
3260 elif (True) :
3261 alt38 = 3
3262 else:
3263 if self.backtracking > 0:
3264 self.failed = True
3265 return
3266
3267 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
3268
3269 raise nvae
3270
3271 elif LA38 == 59:
3272 LA38_4 = self.input.LA(3)
3273
3274 if (self.synpred77()) :
3275 alt38 = 1
3276 elif (True) :
3277 alt38 = 3
3278 else:
3279 if self.backtracking > 0:
3280 self.failed = True
3281 return
3282
3283 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
3284
3285 raise nvae
3286
3287 elif LA38 == 60:
3288 LA38_5 = self.input.LA(3)
3289
3290 if (self.synpred77()) :
3291 alt38 = 1
3292 elif (True) :
3293 alt38 = 3
3294 else:
3295 if self.backtracking > 0:
3296 self.failed = True
3297 return
3298
3299 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self.input)
3300
3301 raise nvae
3302
3303 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:
3304 alt38 = 3
3305 elif LA38 == 53:
3306 LA38_21 = self.input.LA(3)
3307
3308 if (self.synpred77()) :
3309 alt38 = 1
3310 elif (True) :
3311 alt38 = 3
3312 else:
3313 if self.backtracking > 0:
3314 self.failed = True
3315 return
3316
3317 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self.input)
3318
3319 raise nvae
3320
3321 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:
3322 LA38_29 = self.input.LA(3)
3323
3324 if (self.synpred77()) :
3325 alt38 = 1
3326 elif (True) :
3327 alt38 = 3
3328 else:
3329 if self.backtracking > 0:
3330 self.failed = True
3331 return
3332
3333 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
3334
3335 raise nvae
3336
3337 else:
3338 if self.backtracking > 0:
3339 self.failed = True
3340 return
3341
3342 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
3343
3344 raise nvae
3345
3346 else:
3347 if self.backtracking > 0:
3348 self.failed = True
3349 return
3350
3351 nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
3352
3353 raise nvae
3354
3355 if alt38 == 1:
3356 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
3357 self.match(self.input, 66, self.FOLLOW_66_in_pointer919)
3358 if self.failed:
3359 return
3360 # C.g:316:8: ( type_qualifier )+
3361 cnt36 = 0
3362 while True: #loop36
3363 alt36 = 2
3364 LA36 = self.input.LA(1)
3365 if LA36 == 58:
3366 LA36_2 = self.input.LA(2)
3367
3368 if (self.synpred75()) :
3369 alt36 = 1
3370
3371
3372 elif LA36 == 59:
3373 LA36_3 = self.input.LA(2)
3374
3375 if (self.synpred75()) :
3376 alt36 = 1
3377
3378
3379 elif LA36 == 60:
3380 LA36_4 = self.input.LA(2)
3381
3382 if (self.synpred75()) :
3383 alt36 = 1
3384
3385
3386 elif LA36 == 53:
3387 LA36_20 = self.input.LA(2)
3388
3389 if (self.synpred75()) :
3390 alt36 = 1
3391
3392
3393 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:
3394 LA36_28 = self.input.LA(2)
3395
3396 if (self.synpred75()) :
3397 alt36 = 1
3398
3399
3400
3401 if alt36 == 1:
3402 # C.g:0:0: type_qualifier
3403 self.following.append(self.FOLLOW_type_qualifier_in_pointer921)
3404 self.type_qualifier()
3405 self.following.pop()
3406 if self.failed:
3407 return
3408
3409
3410 else:
3411 if cnt36 >= 1:
3412 break #loop36
3413
3414 if self.backtracking > 0:
3415 self.failed = True
3416 return
3417
3418 eee = EarlyExitException(36, self.input)
3419 raise eee
3420
3421 cnt36 += 1
3422
3423
3424 # C.g:316:24: ( pointer )?
3425 alt37 = 2
3426 LA37_0 = self.input.LA(1)
3427
3428 if (LA37_0 == 66) :
3429 LA37_1 = self.input.LA(2)
3430
3431 if (self.synpred76()) :
3432 alt37 = 1
3433 if alt37 == 1:
3434 # C.g:0:0: pointer
3435 self.following.append(self.FOLLOW_pointer_in_pointer924)
3436 self.pointer()
3437 self.following.pop()
3438 if self.failed:
3439 return
3440
3441
3442
3443
3444
3445 elif alt38 == 2:
3446 # C.g:317:4: '*' pointer
3447 self.match(self.input, 66, self.FOLLOW_66_in_pointer930)
3448 if self.failed:
3449 return
3450 self.following.append(self.FOLLOW_pointer_in_pointer932)
3451 self.pointer()
3452 self.following.pop()
3453 if self.failed:
3454 return
3455
3456
3457 elif alt38 == 3:
3458 # C.g:318:4: '*'
3459 self.match(self.input, 66, self.FOLLOW_66_in_pointer937)
3460 if self.failed:
3461 return
3462
3463
3464
3465 except RecognitionException, re:
3466 self.reportError(re)
3467 self.recover(self.input, re)
3468 finally:
3469 if self.backtracking > 0:
3470 self.memoize(self.input, 25, pointer_StartIndex)
3471
3472 pass
3473
3474 return
3475
3476 # $ANTLR end pointer
3477
3478
3479 # $ANTLR start parameter_type_list
3480 # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3481 def parameter_type_list(self, ):
3482
3483 parameter_type_list_StartIndex = self.input.index()
3484 try:
3485 try:
3486 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
3487 return
3488
3489 # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3490 # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3491 self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list948)
3492 self.parameter_list()
3493 self.following.pop()
3494 if self.failed:
3495 return
3496 # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
3497 alt40 = 2
3498 LA40_0 = self.input.LA(1)
3499
3500 if (LA40_0 == 27) :
3501 alt40 = 1
3502 if alt40 == 1:
3503 # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
3504 self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951)
3505 if self.failed:
3506 return
3507 # C.g:322:24: ( 'OPTIONAL' )?
3508 alt39 = 2
3509 LA39_0 = self.input.LA(1)
3510
3511 if (LA39_0 == 53) :
3512 alt39 = 1
3513 if alt39 == 1:
3514 # C.g:322:25: 'OPTIONAL'
3515 self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list954)
3516 if self.failed:
3517 return
3518
3519
3520
3521 self.match(self.input, 67, self.FOLLOW_67_in_parameter_type_list958)
3522 if self.failed:
3523 return
3524
3525
3526
3527
3528
3529
3530
3531 except RecognitionException, re:
3532 self.reportError(re)
3533 self.recover(self.input, re)
3534 finally:
3535 if self.backtracking > 0:
3536 self.memoize(self.input, 26, parameter_type_list_StartIndex)
3537
3538 pass
3539
3540 return
3541
3542 # $ANTLR end parameter_type_list
3543
3544
3545 # $ANTLR start parameter_list
3546 # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3547 def parameter_list(self, ):
3548
3549 parameter_list_StartIndex = self.input.index()
3550 try:
3551 try:
3552 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
3553 return
3554
3555 # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3556 # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3557 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list971)
3558 self.parameter_declaration()
3559 self.following.pop()
3560 if self.failed:
3561 return
3562 # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3563 while True: #loop42
3564 alt42 = 2
3565 LA42_0 = self.input.LA(1)
3566
3567 if (LA42_0 == 27) :
3568 LA42_1 = self.input.LA(2)
3569
3570 if (LA42_1 == 53) :
3571 LA42_3 = self.input.LA(3)
3572
3573 if (self.synpred82()) :
3574 alt42 = 1
3575
3576
3577 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) :
3578 alt42 = 1
3579
3580
3581
3582
3583 if alt42 == 1:
3584 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
3585 self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974)
3586 if self.failed:
3587 return
3588 # C.g:326:31: ( 'OPTIONAL' )?
3589 alt41 = 2
3590 LA41_0 = self.input.LA(1)
3591
3592 if (LA41_0 == 53) :
3593 LA41_1 = self.input.LA(2)
3594
3595 if (self.synpred81()) :
3596 alt41 = 1
3597 if alt41 == 1:
3598 # C.g:326:32: 'OPTIONAL'
3599 self.match(self.input, 53, self.FOLLOW_53_in_parameter_list977)
3600 if self.failed:
3601 return
3602
3603
3604
3605 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list981)
3606 self.parameter_declaration()
3607 self.following.pop()
3608 if self.failed:
3609 return
3610
3611
3612 else:
3613 break #loop42
3614
3615
3616
3617
3618
3619
3620 except RecognitionException, re:
3621 self.reportError(re)
3622 self.recover(self.input, re)
3623 finally:
3624 if self.backtracking > 0:
3625 self.memoize(self.input, 27, parameter_list_StartIndex)
3626
3627 pass
3628
3629 return
3630
3631 # $ANTLR end parameter_list
3632
3633
3634 # $ANTLR start parameter_declaration
3635 # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3636 def parameter_declaration(self, ):
3637
3638 parameter_declaration_StartIndex = self.input.index()
3639 try:
3640 try:
3641 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
3642 return
3643
3644 # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3645 alt46 = 2
3646 LA46 = self.input.LA(1)
3647 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:
3648 alt46 = 1
3649 elif LA46 == IDENTIFIER:
3650 LA46_13 = self.input.LA(2)
3651
3652 if (self.synpred86()) :
3653 alt46 = 1
3654 elif (True) :
3655 alt46 = 2
3656 else:
3657 if self.backtracking > 0:
3658 self.failed = True
3659 return
3660
3661 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
3662
3663 raise nvae
3664
3665 elif LA46 == 66:
3666 alt46 = 2
3667 else:
3668 if self.backtracking > 0:
3669 self.failed = True
3670 return
3671
3672 nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
3673
3674 raise nvae
3675
3676 if alt46 == 1:
3677 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3678 self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration994)
3679 self.declaration_specifiers()
3680 self.following.pop()
3681 if self.failed:
3682 return
3683 # C.g:330:27: ( declarator | abstract_declarator )*
3684 while True: #loop43
3685 alt43 = 3
3686 LA43 = self.input.LA(1)
3687 if LA43 == 66:
3688 LA43_5 = self.input.LA(2)
3689
3690 if (self.synpred83()) :
3691 alt43 = 1
3692 elif (self.synpred84()) :
3693 alt43 = 2
3694
3695
3696 elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
3697 alt43 = 1
3698 elif LA43 == 62:
3699 LA43 = self.input.LA(2)
3700 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:
3701 alt43 = 2
3702 elif LA43 == IDENTIFIER:
3703 LA43_37 = self.input.LA(3)
3704
3705 if (self.synpred83()) :
3706 alt43 = 1
3707 elif (self.synpred84()) :
3708 alt43 = 2
3709
3710
3711 elif LA43 == 58:
3712 LA43_38 = self.input.LA(3)
3713
3714 if (self.synpred83()) :
3715 alt43 = 1
3716 elif (self.synpred84()) :
3717 alt43 = 2
3718
3719
3720 elif LA43 == 66:
3721 LA43_39 = self.input.LA(3)
3722
3723 if (self.synpred83()) :
3724 alt43 = 1
3725 elif (self.synpred84()) :
3726 alt43 = 2
3727
3728
3729 elif LA43 == 59:
3730 LA43_40 = self.input.LA(3)
3731
3732 if (self.synpred83()) :
3733 alt43 = 1
3734 elif (self.synpred84()) :
3735 alt43 = 2
3736
3737
3738 elif LA43 == 60:
3739 LA43_41 = self.input.LA(3)
3740
3741 if (self.synpred83()) :
3742 alt43 = 1
3743 elif (self.synpred84()) :
3744 alt43 = 2
3745
3746
3747 elif LA43 == 62:
3748 LA43_43 = self.input.LA(3)
3749
3750 if (self.synpred83()) :
3751 alt43 = 1
3752 elif (self.synpred84()) :
3753 alt43 = 2
3754
3755
3756
3757 elif LA43 == 64:
3758 alt43 = 2
3759
3760 if alt43 == 1:
3761 # C.g:330:28: declarator
3762 self.following.append(self.FOLLOW_declarator_in_parameter_declaration997)
3763 self.declarator()
3764 self.following.pop()
3765 if self.failed:
3766 return
3767
3768
3769 elif alt43 == 2:
3770 # C.g:330:39: abstract_declarator
3771 self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration999)
3772 self.abstract_declarator()
3773 self.following.pop()
3774 if self.failed:
3775 return
3776
3777
3778 else:
3779 break #loop43
3780
3781
3782 # C.g:330:61: ( 'OPTIONAL' )?
3783 alt44 = 2
3784 LA44_0 = self.input.LA(1)
3785
3786 if (LA44_0 == 53) :
3787 alt44 = 1
3788 if alt44 == 1:
3789 # C.g:330:62: 'OPTIONAL'
3790 self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004)
3791 if self.failed:
3792 return
3793
3794
3795
3796
3797
3798 elif alt46 == 2:
3799 # C.g:332:4: ( pointer )* IDENTIFIER
3800 # C.g:332:4: ( pointer )*
3801 while True: #loop45
3802 alt45 = 2
3803 LA45_0 = self.input.LA(1)
3804
3805 if (LA45_0 == 66) :
3806 alt45 = 1
3807
3808
3809 if alt45 == 1:
3810 # C.g:0:0: pointer
3811 self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013)
3812 self.pointer()
3813 self.following.pop()
3814 if self.failed:
3815 return
3816
3817
3818 else:
3819 break #loop45
3820
3821
3822 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016)
3823 if self.failed:
3824 return
3825
3826
3827
3828 except RecognitionException, re:
3829 self.reportError(re)
3830 self.recover(self.input, re)
3831 finally:
3832 if self.backtracking > 0:
3833 self.memoize(self.input, 28, parameter_declaration_StartIndex)
3834
3835 pass
3836
3837 return
3838
3839 # $ANTLR end parameter_declaration
3840
3841
3842 # $ANTLR start identifier_list
3843 # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3844 def identifier_list(self, ):
3845
3846 identifier_list_StartIndex = self.input.index()
3847 try:
3848 try:
3849 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
3850 return
3851
3852 # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3853 # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
3854 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1027)
3855 if self.failed:
3856 return
3857 # C.g:337:2: ( ',' IDENTIFIER )*
3858 while True: #loop47
3859 alt47 = 2
3860 LA47_0 = self.input.LA(1)
3861
3862 if (LA47_0 == 27) :
3863 alt47 = 1
3864
3865
3866 if alt47 == 1:
3867 # C.g:337:3: ',' IDENTIFIER
3868 self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1031)
3869 if self.failed:
3870 return
3871 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1033)
3872 if self.failed:
3873 return
3874
3875
3876 else:
3877 break #loop47
3878
3879
3880
3881
3882
3883
3884 except RecognitionException, re:
3885 self.reportError(re)
3886 self.recover(self.input, re)
3887 finally:
3888 if self.backtracking > 0:
3889 self.memoize(self.input, 29, identifier_list_StartIndex)
3890
3891 pass
3892
3893 return
3894
3895 # $ANTLR end identifier_list
3896
3897
3898 # $ANTLR start type_name
3899 # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3900 def type_name(self, ):
3901
3902 type_name_StartIndex = self.input.index()
3903 try:
3904 try:
3905 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
3906 return
3907
3908 # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3909 alt49 = 2
3910 LA49_0 = self.input.LA(1)
3911
3912 if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 61)) :
3913 alt49 = 1
3914 elif (LA49_0 == IDENTIFIER) :
3915 LA49_13 = self.input.LA(2)
3916
3917 if (self.synpred90()) :
3918 alt49 = 1
3919 elif (True) :
3920 alt49 = 2
3921 else:
3922 if self.backtracking > 0:
3923 self.failed = True
3924 return
3925
3926 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
3927
3928 raise nvae
3929
3930 else:
3931 if self.backtracking > 0:
3932 self.failed = True
3933 return
3934
3935 nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
3936
3937 raise nvae
3938
3939 if alt49 == 1:
3940 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
3941 self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1046)
3942 self.specifier_qualifier_list()
3943 self.following.pop()
3944 if self.failed:
3945 return
3946 # C.g:341:29: ( abstract_declarator )?
3947 alt48 = 2
3948 LA48_0 = self.input.LA(1)
3949
3950 if (LA48_0 == 62 or LA48_0 == 64 or LA48_0 == 66) :
3951 alt48 = 1
3952 if alt48 == 1:
3953 # C.g:0:0: abstract_declarator
3954 self.following.append(self.FOLLOW_abstract_declarator_in_type_name1048)
3955 self.abstract_declarator()
3956 self.following.pop()
3957 if self.failed:
3958 return
3959
3960
3961
3962
3963
3964 elif alt49 == 2:
3965 # C.g:342:4: type_id
3966 self.following.append(self.FOLLOW_type_id_in_type_name1054)
3967 self.type_id()
3968 self.following.pop()
3969 if self.failed:
3970 return
3971
3972
3973
3974 except RecognitionException, re:
3975 self.reportError(re)
3976 self.recover(self.input, re)
3977 finally:
3978 if self.backtracking > 0:
3979 self.memoize(self.input, 30, type_name_StartIndex)
3980
3981 pass
3982
3983 return
3984
3985 # $ANTLR end type_name
3986
3987
3988 # $ANTLR start abstract_declarator
3989 # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3990 def abstract_declarator(self, ):
3991
3992 abstract_declarator_StartIndex = self.input.index()
3993 try:
3994 try:
3995 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
3996 return
3997
3998 # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
3999 alt51 = 2
4000 LA51_0 = self.input.LA(1)
4001
4002 if (LA51_0 == 66) :
4003 alt51 = 1
4004 elif (LA51_0 == 62 or LA51_0 == 64) :
4005 alt51 = 2
4006 else:
4007 if self.backtracking > 0:
4008 self.failed = True
4009 return
4010
4011 nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
4012
4013 raise nvae
4014
4015 if alt51 == 1:
4016 # C.g:346:4: pointer ( direct_abstract_declarator )?
4017 self.following.append(self.FOLLOW_pointer_in_abstract_declarator1065)
4018 self.pointer()
4019 self.following.pop()
4020 if self.failed:
4021 return
4022 # C.g:346:12: ( direct_abstract_declarator )?
4023 alt50 = 2
4024 LA50_0 = self.input.LA(1)
4025
4026 if (LA50_0 == 62) :
4027 LA50 = self.input.LA(2)
4028 if LA50 == 63:
4029 LA50_12 = self.input.LA(3)
4030
4031 if (self.synpred91()) :
4032 alt50 = 1
4033 elif LA50 == 58:
4034 LA50_13 = self.input.LA(3)
4035
4036 if (self.synpred91()) :
4037 alt50 = 1
4038 elif LA50 == 66:
4039 LA50_14 = self.input.LA(3)
4040
4041 if (self.synpred91()) :
4042 alt50 = 1
4043 elif LA50 == 59:
4044 LA50_15 = self.input.LA(3)
4045
4046 if (self.synpred91()) :
4047 alt50 = 1
4048 elif LA50 == 60:
4049 LA50_16 = self.input.LA(3)
4050
4051 if (self.synpred91()) :
4052 alt50 = 1
4053 elif LA50 == IDENTIFIER:
4054 LA50_17 = self.input.LA(3)
4055
4056 if (self.synpred91()) :
4057 alt50 = 1
4058 elif LA50 == 62:
4059 LA50_18 = self.input.LA(3)
4060
4061 if (self.synpred91()) :
4062 alt50 = 1
4063 elif LA50 == 64:
4064 LA50_19 = self.input.LA(3)
4065
4066 if (self.synpred91()) :
4067 alt50 = 1
4068 elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
4069 LA50_20 = self.input.LA(3)
4070
4071 if (self.synpred91()) :
4072 alt50 = 1
4073 elif LA50 == 34:
4074 LA50_21 = self.input.LA(3)
4075
4076 if (self.synpred91()) :
4077 alt50 = 1
4078 elif LA50 == 35:
4079 LA50_22 = self.input.LA(3)
4080
4081 if (self.synpred91()) :
4082 alt50 = 1
4083 elif LA50 == 36:
4084 LA50_23 = self.input.LA(3)
4085
4086 if (self.synpred91()) :
4087 alt50 = 1
4088 elif LA50 == 37:
4089 LA50_24 = self.input.LA(3)
4090
4091 if (self.synpred91()) :
4092 alt50 = 1
4093 elif LA50 == 38:
4094 LA50_25 = self.input.LA(3)
4095
4096 if (self.synpred91()) :
4097 alt50 = 1
4098 elif LA50 == 39:
4099 LA50_26 = self.input.LA(3)
4100
4101 if (self.synpred91()) :
4102 alt50 = 1
4103 elif LA50 == 40:
4104 LA50_27 = self.input.LA(3)
4105
4106 if (self.synpred91()) :
4107 alt50 = 1
4108 elif LA50 == 41:
4109 LA50_28 = self.input.LA(3)
4110
4111 if (self.synpred91()) :
4112 alt50 = 1
4113 elif LA50 == 42:
4114 LA50_29 = self.input.LA(3)
4115
4116 if (self.synpred91()) :
4117 alt50 = 1
4118 elif LA50 == 45 or LA50 == 46:
4119 LA50_30 = self.input.LA(3)
4120
4121 if (self.synpred91()) :
4122 alt50 = 1
4123 elif LA50 == 48:
4124 LA50_31 = self.input.LA(3)
4125
4126 if (self.synpred91()) :
4127 alt50 = 1
4128 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:
4129 LA50_32 = self.input.LA(3)
4130
4131 if (self.synpred91()) :
4132 alt50 = 1
4133 elif (LA50_0 == 64) :
4134 LA50 = self.input.LA(2)
4135 if LA50 == 65:
4136 LA50_33 = self.input.LA(3)
4137
4138 if (self.synpred91()) :
4139 alt50 = 1
4140 elif LA50 == 62:
4141 LA50_34 = self.input.LA(3)
4142
4143 if (self.synpred91()) :
4144 alt50 = 1
4145 elif LA50 == IDENTIFIER:
4146 LA50_35 = self.input.LA(3)
4147
4148 if (self.synpred91()) :
4149 alt50 = 1
4150 elif LA50 == HEX_LITERAL:
4151 LA50_36 = self.input.LA(3)
4152
4153 if (self.synpred91()) :
4154 alt50 = 1
4155 elif LA50 == OCTAL_LITERAL:
4156 LA50_37 = self.input.LA(3)
4157
4158 if (self.synpred91()) :
4159 alt50 = 1
4160 elif LA50 == DECIMAL_LITERAL:
4161 LA50_38 = self.input.LA(3)
4162
4163 if (self.synpred91()) :
4164 alt50 = 1
4165 elif LA50 == CHARACTER_LITERAL:
4166 LA50_39 = self.input.LA(3)
4167
4168 if (self.synpred91()) :
4169 alt50 = 1
4170 elif LA50 == STRING_LITERAL:
4171 LA50_40 = self.input.LA(3)
4172
4173 if (self.synpred91()) :
4174 alt50 = 1
4175 elif LA50 == FLOATING_POINT_LITERAL:
4176 LA50_41 = self.input.LA(3)
4177
4178 if (self.synpred91()) :
4179 alt50 = 1
4180 elif LA50 == 72:
4181 LA50_42 = self.input.LA(3)
4182
4183 if (self.synpred91()) :
4184 alt50 = 1
4185 elif LA50 == 73:
4186 LA50_43 = self.input.LA(3)
4187
4188 if (self.synpred91()) :
4189 alt50 = 1
4190 elif LA50 == 66 or LA50 == 68 or LA50 == 69 or LA50 == 77 or LA50 == 78 or LA50 == 79:
4191 LA50_44 = self.input.LA(3)
4192
4193 if (self.synpred91()) :
4194 alt50 = 1
4195 elif LA50 == 74:
4196 LA50_45 = self.input.LA(3)
4197
4198 if (self.synpred91()) :
4199 alt50 = 1
4200 if alt50 == 1:
4201 # C.g:0:0: direct_abstract_declarator
4202 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067)
4203 self.direct_abstract_declarator()
4204 self.following.pop()
4205 if self.failed:
4206 return
4207
4208
4209
4210
4211
4212 elif alt51 == 2:
4213 # C.g:347:4: direct_abstract_declarator
4214 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073)
4215 self.direct_abstract_declarator()
4216 self.following.pop()
4217 if self.failed:
4218 return
4219
4220
4221
4222 except RecognitionException, re:
4223 self.reportError(re)
4224 self.recover(self.input, re)
4225 finally:
4226 if self.backtracking > 0:
4227 self.memoize(self.input, 31, abstract_declarator_StartIndex)
4228
4229 pass
4230
4231 return
4232
4233 # $ANTLR end abstract_declarator
4234
4235
4236 # $ANTLR start direct_abstract_declarator
4237 # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4238 def direct_abstract_declarator(self, ):
4239
4240 direct_abstract_declarator_StartIndex = self.input.index()
4241 try:
4242 try:
4243 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
4244 return
4245
4246 # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4247 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4248 # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4249 alt52 = 2
4250 LA52_0 = self.input.LA(1)
4251
4252 if (LA52_0 == 62) :
4253 LA52 = self.input.LA(2)
4254 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:
4255 alt52 = 2
4256 elif LA52 == 66:
4257 LA52_18 = self.input.LA(3)
4258
4259 if (self.synpred93()) :
4260 alt52 = 1
4261 elif (True) :
4262 alt52 = 2
4263 else:
4264 if self.backtracking > 0:
4265 self.failed = True
4266 return
4267
4268 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
4269
4270 raise nvae
4271
4272 elif LA52 == 62 or LA52 == 64:
4273 alt52 = 1
4274 else:
4275 if self.backtracking > 0:
4276 self.failed = True
4277 return
4278
4279 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
4280
4281 raise nvae
4282
4283 elif (LA52_0 == 64) :
4284 alt52 = 2
4285 else:
4286 if self.backtracking > 0:
4287 self.failed = True
4288 return
4289
4290 nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
4291
4292 raise nvae
4293
4294 if alt52 == 1:
4295 # C.g:351:6: '(' abstract_declarator ')'
4296 self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1086)
4297 if self.failed:
4298 return
4299 self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088)
4300 self.abstract_declarator()
4301 self.following.pop()
4302 if self.failed:
4303 return
4304 self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090)
4305 if self.failed:
4306 return
4307
4308
4309 elif alt52 == 2:
4310 # C.g:351:36: abstract_declarator_suffix
4311 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094)
4312 self.abstract_declarator_suffix()
4313 self.following.pop()
4314 if self.failed:
4315 return
4316
4317
4318
4319 # C.g:351:65: ( abstract_declarator_suffix )*
4320 while True: #loop53
4321 alt53 = 2
4322 LA53_0 = self.input.LA(1)
4323
4324 if (LA53_0 == 62) :
4325 LA53 = self.input.LA(2)
4326 if LA53 == 63:
4327 LA53_12 = self.input.LA(3)
4328
4329 if (self.synpred94()) :
4330 alt53 = 1
4331
4332
4333 elif LA53 == 58:
4334 LA53_13 = self.input.LA(3)
4335
4336 if (self.synpred94()) :
4337 alt53 = 1
4338
4339
4340 elif LA53 == 66:
4341 LA53_14 = self.input.LA(3)
4342
4343 if (self.synpred94()) :
4344 alt53 = 1
4345
4346
4347 elif LA53 == 59:
4348 LA53_15 = self.input.LA(3)
4349
4350 if (self.synpred94()) :
4351 alt53 = 1
4352
4353
4354 elif LA53 == 60:
4355 LA53_16 = self.input.LA(3)
4356
4357 if (self.synpred94()) :
4358 alt53 = 1
4359
4360
4361 elif LA53 == IDENTIFIER:
4362 LA53_17 = self.input.LA(3)
4363
4364 if (self.synpred94()) :
4365 alt53 = 1
4366
4367
4368 elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33:
4369 LA53_19 = self.input.LA(3)
4370
4371 if (self.synpred94()) :
4372 alt53 = 1
4373
4374
4375 elif LA53 == 34:
4376 LA53_20 = self.input.LA(3)
4377
4378 if (self.synpred94()) :
4379 alt53 = 1
4380
4381
4382 elif LA53 == 35:
4383 LA53_21 = self.input.LA(3)
4384
4385 if (self.synpred94()) :
4386 alt53 = 1
4387
4388
4389 elif LA53 == 36:
4390 LA53_22 = self.input.LA(3)
4391
4392 if (self.synpred94()) :
4393 alt53 = 1
4394
4395
4396 elif LA53 == 37:
4397 LA53_23 = self.input.LA(3)
4398
4399 if (self.synpred94()) :
4400 alt53 = 1
4401
4402
4403 elif LA53 == 38:
4404 LA53_24 = self.input.LA(3)
4405
4406 if (self.synpred94()) :
4407 alt53 = 1
4408
4409
4410 elif LA53 == 39:
4411 LA53_25 = self.input.LA(3)
4412
4413 if (self.synpred94()) :
4414 alt53 = 1
4415
4416
4417 elif LA53 == 40:
4418 LA53_26 = self.input.LA(3)
4419
4420 if (self.synpred94()) :
4421 alt53 = 1
4422
4423
4424 elif LA53 == 41:
4425 LA53_27 = self.input.LA(3)
4426
4427 if (self.synpred94()) :
4428 alt53 = 1
4429
4430
4431 elif LA53 == 42:
4432 LA53_28 = self.input.LA(3)
4433
4434 if (self.synpred94()) :
4435 alt53 = 1
4436
4437
4438 elif LA53 == 45 or LA53 == 46:
4439 LA53_29 = self.input.LA(3)
4440
4441 if (self.synpred94()) :
4442 alt53 = 1
4443
4444
4445 elif LA53 == 48:
4446 LA53_30 = self.input.LA(3)
4447
4448 if (self.synpred94()) :
4449 alt53 = 1
4450
4451
4452 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:
4453 LA53_31 = self.input.LA(3)
4454
4455 if (self.synpred94()) :
4456 alt53 = 1
4457
4458
4459
4460 elif (LA53_0 == 64) :
4461 LA53 = self.input.LA(2)
4462 if LA53 == 65:
4463 LA53_33 = self.input.LA(3)
4464
4465 if (self.synpred94()) :
4466 alt53 = 1
4467
4468
4469 elif LA53 == 62:
4470 LA53_34 = self.input.LA(3)
4471
4472 if (self.synpred94()) :
4473 alt53 = 1
4474
4475
4476 elif LA53 == IDENTIFIER:
4477 LA53_35 = self.input.LA(3)
4478
4479 if (self.synpred94()) :
4480 alt53 = 1
4481
4482
4483 elif LA53 == HEX_LITERAL:
4484 LA53_36 = self.input.LA(3)
4485
4486 if (self.synpred94()) :
4487 alt53 = 1
4488
4489
4490 elif LA53 == OCTAL_LITERAL:
4491 LA53_37 = self.input.LA(3)
4492
4493 if (self.synpred94()) :
4494 alt53 = 1
4495
4496
4497 elif LA53 == DECIMAL_LITERAL:
4498 LA53_38 = self.input.LA(3)
4499
4500 if (self.synpred94()) :
4501 alt53 = 1
4502
4503
4504 elif LA53 == CHARACTER_LITERAL:
4505 LA53_39 = self.input.LA(3)
4506
4507 if (self.synpred94()) :
4508 alt53 = 1
4509
4510
4511 elif LA53 == STRING_LITERAL:
4512 LA53_40 = self.input.LA(3)
4513
4514 if (self.synpred94()) :
4515 alt53 = 1
4516
4517
4518 elif LA53 == FLOATING_POINT_LITERAL:
4519 LA53_41 = self.input.LA(3)
4520
4521 if (self.synpred94()) :
4522 alt53 = 1
4523
4524
4525 elif LA53 == 72:
4526 LA53_42 = self.input.LA(3)
4527
4528 if (self.synpred94()) :
4529 alt53 = 1
4530
4531
4532 elif LA53 == 73:
4533 LA53_43 = self.input.LA(3)
4534
4535 if (self.synpred94()) :
4536 alt53 = 1
4537
4538
4539 elif LA53 == 66 or LA53 == 68 or LA53 == 69 or LA53 == 77 or LA53 == 78 or LA53 == 79:
4540 LA53_44 = self.input.LA(3)
4541
4542 if (self.synpred94()) :
4543 alt53 = 1
4544
4545
4546 elif LA53 == 74:
4547 LA53_45 = self.input.LA(3)
4548
4549 if (self.synpred94()) :
4550 alt53 = 1
4551
4552
4553
4554
4555
4556 if alt53 == 1:
4557 # C.g:0:0: abstract_declarator_suffix
4558 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098)
4559 self.abstract_declarator_suffix()
4560 self.following.pop()
4561 if self.failed:
4562 return
4563
4564
4565 else:
4566 break #loop53
4567
4568
4569
4570
4571
4572
4573 except RecognitionException, re:
4574 self.reportError(re)
4575 self.recover(self.input, re)
4576 finally:
4577 if self.backtracking > 0:
4578 self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
4579
4580 pass
4581
4582 return
4583
4584 # $ANTLR end direct_abstract_declarator
4585
4586
4587 # $ANTLR start abstract_declarator_suffix
4588 # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4589 def abstract_declarator_suffix(self, ):
4590
4591 abstract_declarator_suffix_StartIndex = self.input.index()
4592 try:
4593 try:
4594 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
4595 return
4596
4597 # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4598 alt54 = 4
4599 LA54_0 = self.input.LA(1)
4600
4601 if (LA54_0 == 64) :
4602 LA54_1 = self.input.LA(2)
4603
4604 if (LA54_1 == 65) :
4605 alt54 = 1
4606 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)) :
4607 alt54 = 2
4608 else:
4609 if self.backtracking > 0:
4610 self.failed = True
4611 return
4612
4613 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
4614
4615 raise nvae
4616
4617 elif (LA54_0 == 62) :
4618 LA54_2 = self.input.LA(2)
4619
4620 if (LA54_2 == 63) :
4621 alt54 = 3
4622 elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 61) or LA54_2 == 66) :
4623 alt54 = 4
4624 else:
4625 if self.backtracking > 0:
4626 self.failed = True
4627 return
4628
4629 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
4630
4631 raise nvae
4632
4633 else:
4634 if self.backtracking > 0:
4635 self.failed = True
4636 return
4637
4638 nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
4639
4640 raise nvae
4641
4642 if alt54 == 1:
4643 # C.g:355:4: '[' ']'
4644 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110)
4645 if self.failed:
4646 return
4647 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112)
4648 if self.failed:
4649 return
4650
4651
4652 elif alt54 == 2:
4653 # C.g:356:4: '[' constant_expression ']'
4654 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1117)
4655 if self.failed:
4656 return
4657 self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1119)
4658 self.constant_expression()
4659 self.following.pop()
4660 if self.failed:
4661 return
4662 self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121)
4663 if self.failed:
4664 return
4665
4666
4667 elif alt54 == 3:
4668 # C.g:357:4: '(' ')'
4669 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126)
4670 if self.failed:
4671 return
4672 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128)
4673 if self.failed:
4674 return
4675
4676
4677 elif alt54 == 4:
4678 # C.g:358:4: '(' parameter_type_list ')'
4679 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1133)
4680 if self.failed:
4681 return
4682 self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135)
4683 self.parameter_type_list()
4684 self.following.pop()
4685 if self.failed:
4686 return
4687 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137)
4688 if self.failed:
4689 return
4690
4691
4692
4693 except RecognitionException, re:
4694 self.reportError(re)
4695 self.recover(self.input, re)
4696 finally:
4697 if self.backtracking > 0:
4698 self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
4699
4700 pass
4701
4702 return
4703
4704 # $ANTLR end abstract_declarator_suffix
4705
4706
4707 # $ANTLR start initializer
4708 # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4709 def initializer(self, ):
4710
4711 initializer_StartIndex = self.input.index()
4712 try:
4713 try:
4714 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
4715 return
4716
4717 # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4718 alt56 = 2
4719 LA56_0 = self.input.LA(1)
4720
4721 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)) :
4722 alt56 = 1
4723 elif (LA56_0 == 43) :
4724 alt56 = 2
4725 else:
4726 if self.backtracking > 0:
4727 self.failed = True
4728 return
4729
4730 nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
4731
4732 raise nvae
4733
4734 if alt56 == 1:
4735 # C.g:363:4: assignment_expression
4736 self.following.append(self.FOLLOW_assignment_expression_in_initializer1150)
4737 self.assignment_expression()
4738 self.following.pop()
4739 if self.failed:
4740 return
4741
4742
4743 elif alt56 == 2:
4744 # C.g:364:4: '{' initializer_list ( ',' )? '}'
4745 self.match(self.input, 43, self.FOLLOW_43_in_initializer1155)
4746 if self.failed:
4747 return
4748 self.following.append(self.FOLLOW_initializer_list_in_initializer1157)
4749 self.initializer_list()
4750 self.following.pop()
4751 if self.failed:
4752 return
4753 # C.g:364:25: ( ',' )?
4754 alt55 = 2
4755 LA55_0 = self.input.LA(1)
4756
4757 if (LA55_0 == 27) :
4758 alt55 = 1
4759 if alt55 == 1:
4760 # C.g:0:0: ','
4761 self.match(self.input, 27, self.FOLLOW_27_in_initializer1159)
4762 if self.failed:
4763 return
4764
4765
4766
4767 self.match(self.input, 44, self.FOLLOW_44_in_initializer1162)
4768 if self.failed:
4769 return
4770
4771
4772
4773 except RecognitionException, re:
4774 self.reportError(re)
4775 self.recover(self.input, re)
4776 finally:
4777 if self.backtracking > 0:
4778 self.memoize(self.input, 34, initializer_StartIndex)
4779
4780 pass
4781
4782 return
4783
4784 # $ANTLR end initializer
4785
4786
4787 # $ANTLR start initializer_list
4788 # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
4789 def initializer_list(self, ):
4790
4791 initializer_list_StartIndex = self.input.index()
4792 try:
4793 try:
4794 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
4795 return
4796
4797 # C.g:368:2: ( initializer ( ',' initializer )* )
4798 # C.g:368:4: initializer ( ',' initializer )*
4799 self.following.append(self.FOLLOW_initializer_in_initializer_list1173)
4800 self.initializer()
4801 self.following.pop()
4802 if self.failed:
4803 return
4804 # C.g:368:16: ( ',' initializer )*
4805 while True: #loop57
4806 alt57 = 2
4807 LA57_0 = self.input.LA(1)
4808
4809 if (LA57_0 == 27) :
4810 LA57_1 = self.input.LA(2)
4811
4812 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)) :
4813 alt57 = 1
4814
4815
4816
4817
4818 if alt57 == 1:
4819 # C.g:368:17: ',' initializer
4820 self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1176)
4821 if self.failed:
4822 return
4823 self.following.append(self.FOLLOW_initializer_in_initializer_list1178)
4824 self.initializer()
4825 self.following.pop()
4826 if self.failed:
4827 return
4828
4829
4830 else:
4831 break #loop57
4832
4833
4834
4835
4836
4837
4838 except RecognitionException, re:
4839 self.reportError(re)
4840 self.recover(self.input, re)
4841 finally:
4842 if self.backtracking > 0:
4843 self.memoize(self.input, 35, initializer_list_StartIndex)
4844
4845 pass
4846
4847 return
4848
4849 # $ANTLR end initializer_list
4850
4851 class argument_expression_list_return(object):
4852 def __init__(self):
4853 self.start = None
4854 self.stop = None
4855
4856
4857
4858 # $ANTLR start argument_expression_list
4859 # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4860 def argument_expression_list(self, ):
4861
4862 retval = self.argument_expression_list_return()
4863 retval.start = self.input.LT(1)
4864 argument_expression_list_StartIndex = self.input.index()
4865 try:
4866 try:
4867 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
4868 return retval
4869
4870 # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4871 # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4872 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1196)
4873 self.assignment_expression()
4874 self.following.pop()
4875 if self.failed:
4876 return retval
4877 # C.g:374:28: ( 'OPTIONAL' )?
4878 alt58 = 2
4879 LA58_0 = self.input.LA(1)
4880
4881 if (LA58_0 == 53) :
4882 alt58 = 1
4883 if alt58 == 1:
4884 # C.g:374:29: 'OPTIONAL'
4885 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199)
4886 if self.failed:
4887 return retval
4888
4889
4890
4891 # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4892 while True: #loop60
4893 alt60 = 2
4894 LA60_0 = self.input.LA(1)
4895
4896 if (LA60_0 == 27) :
4897 alt60 = 1
4898
4899
4900 if alt60 == 1:
4901 # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
4902 self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1204)
4903 if self.failed:
4904 return retval
4905 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1206)
4906 self.assignment_expression()
4907 self.following.pop()
4908 if self.failed:
4909 return retval
4910 # C.g:374:69: ( 'OPTIONAL' )?
4911 alt59 = 2
4912 LA59_0 = self.input.LA(1)
4913
4914 if (LA59_0 == 53) :
4915 alt59 = 1
4916 if alt59 == 1:
4917 # C.g:374:70: 'OPTIONAL'
4918 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209)
4919 if self.failed:
4920 return retval
4921
4922
4923
4924
4925
4926 else:
4927 break #loop60
4928
4929
4930
4931
4932
4933 retval.stop = self.input.LT(-1)
4934
4935
4936 except RecognitionException, re:
4937 self.reportError(re)
4938 self.recover(self.input, re)
4939 finally:
4940 if self.backtracking > 0:
4941 self.memoize(self.input, 36, argument_expression_list_StartIndex)
4942
4943 pass
4944
4945 return retval
4946
4947 # $ANTLR end argument_expression_list
4948
4949
4950 # $ANTLR start additive_expression
4951 # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4952 def additive_expression(self, ):
4953
4954 additive_expression_StartIndex = self.input.index()
4955 try:
4956 try:
4957 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
4958 return
4959
4960 # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4961 # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4962 # C.g:378:4: ( multiplicative_expression )
4963 # C.g:378:5: multiplicative_expression
4964 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1225)
4965 self.multiplicative_expression()
4966 self.following.pop()
4967 if self.failed:
4968 return
4969
4970
4971
4972 # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4973 while True: #loop61
4974 alt61 = 3
4975 LA61_0 = self.input.LA(1)
4976
4977 if (LA61_0 == 68) :
4978 alt61 = 1
4979 elif (LA61_0 == 69) :
4980 alt61 = 2
4981
4982
4983 if alt61 == 1:
4984 # C.g:378:33: '+' multiplicative_expression
4985 self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1229)
4986 if self.failed:
4987 return
4988 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1231)
4989 self.multiplicative_expression()
4990 self.following.pop()
4991 if self.failed:
4992 return
4993
4994
4995 elif alt61 == 2:
4996 # C.g:378:65: '-' multiplicative_expression
4997 self.match(self.input, 69, self.FOLLOW_69_in_additive_expression1235)
4998 if self.failed:
4999 return
5000 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1237)
5001 self.multiplicative_expression()
5002 self.following.pop()
5003 if self.failed:
5004 return
5005
5006
5007 else:
5008 break #loop61
5009
5010
5011
5012
5013
5014
5015 except RecognitionException, re:
5016 self.reportError(re)
5017 self.recover(self.input, re)
5018 finally:
5019 if self.backtracking > 0:
5020 self.memoize(self.input, 37, additive_expression_StartIndex)
5021
5022 pass
5023
5024 return
5025
5026 # $ANTLR end additive_expression
5027
5028
5029 # $ANTLR start multiplicative_expression
5030 # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5031 def multiplicative_expression(self, ):
5032
5033 multiplicative_expression_StartIndex = self.input.index()
5034 try:
5035 try:
5036 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
5037 return
5038
5039 # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5040 # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5041 # C.g:382:4: ( cast_expression )
5042 # C.g:382:5: cast_expression
5043 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1251)
5044 self.cast_expression()
5045 self.following.pop()
5046 if self.failed:
5047 return
5048
5049
5050
5051 # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5052 while True: #loop62
5053 alt62 = 4
5054 LA62 = self.input.LA(1)
5055 if LA62 == 66:
5056 alt62 = 1
5057 elif LA62 == 70:
5058 alt62 = 2
5059 elif LA62 == 71:
5060 alt62 = 3
5061
5062 if alt62 == 1:
5063 # C.g:382:23: '*' cast_expression
5064 self.match(self.input, 66, self.FOLLOW_66_in_multiplicative_expression1255)
5065 if self.failed:
5066 return
5067 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1257)
5068 self.cast_expression()
5069 self.following.pop()
5070 if self.failed:
5071 return
5072
5073
5074 elif alt62 == 2:
5075 # C.g:382:45: '/' cast_expression
5076 self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1261)
5077 if self.failed:
5078 return
5079 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1263)
5080 self.cast_expression()
5081 self.following.pop()
5082 if self.failed:
5083 return
5084
5085
5086 elif alt62 == 3:
5087 # C.g:382:67: '%' cast_expression
5088 self.match(self.input, 71, self.FOLLOW_71_in_multiplicative_expression1267)
5089 if self.failed:
5090 return
5091 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1269)
5092 self.cast_expression()
5093 self.following.pop()
5094 if self.failed:
5095 return
5096
5097
5098 else:
5099 break #loop62
5100
5101
5102
5103
5104
5105
5106 except RecognitionException, re:
5107 self.reportError(re)
5108 self.recover(self.input, re)
5109 finally:
5110 if self.backtracking > 0:
5111 self.memoize(self.input, 38, multiplicative_expression_StartIndex)
5112
5113 pass
5114
5115 return
5116
5117 # $ANTLR end multiplicative_expression
5118
5119
5120 # $ANTLR start cast_expression
5121 # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5122 def cast_expression(self, ):
5123
5124 cast_expression_StartIndex = self.input.index()
5125 try:
5126 try:
5127 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
5128 return
5129
5130 # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
5131 alt63 = 2
5132 LA63_0 = self.input.LA(1)
5133
5134 if (LA63_0 == 62) :
5135 LA63 = self.input.LA(2)
5136 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:
5137 alt63 = 1
5138 elif LA63 == IDENTIFIER:
5139 LA63_25 = self.input.LA(3)
5140
5141 if (self.synpred109()) :
5142 alt63 = 1
5143 elif (True) :
5144 alt63 = 2
5145 else:
5146 if self.backtracking > 0:
5147 self.failed = True
5148 return
5149
5150 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self.input)
5151
5152 raise nvae
5153
5154 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:
5155 alt63 = 2
5156 else:
5157 if self.backtracking > 0:
5158 self.failed = True
5159 return
5160
5161 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
5162
5163 raise nvae
5164
5165 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)) :
5166 alt63 = 2
5167 else:
5168 if self.backtracking > 0:
5169 self.failed = True
5170 return
5171
5172 nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
5173
5174 raise nvae
5175
5176 if alt63 == 1:
5177 # C.g:386:4: '(' type_name ')' cast_expression
5178 self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1282)
5179 if self.failed:
5180 return
5181 self.following.append(self.FOLLOW_type_name_in_cast_expression1284)
5182 self.type_name()
5183 self.following.pop()
5184 if self.failed:
5185 return
5186 self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286)
5187 if self.failed:
5188 return
5189 self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288)
5190 self.cast_expression()
5191 self.following.pop()
5192 if self.failed:
5193 return
5194
5195
5196 elif alt63 == 2:
5197 # C.g:387:4: unary_expression
5198 self.following.append(self.FOLLOW_unary_expression_in_cast_expression1293)
5199 self.unary_expression()
5200 self.following.pop()
5201 if self.failed:
5202 return
5203
5204
5205
5206 except RecognitionException, re:
5207 self.reportError(re)
5208 self.recover(self.input, re)
5209 finally:
5210 if self.backtracking > 0:
5211 self.memoize(self.input, 39, cast_expression_StartIndex)
5212
5213 pass
5214
5215 return
5216
5217 # $ANTLR end cast_expression
5218
5219
5220 # $ANTLR start unary_expression
5221 # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5222 def unary_expression(self, ):
5223
5224 unary_expression_StartIndex = self.input.index()
5225 try:
5226 try:
5227 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
5228 return
5229
5230 # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5231 alt64 = 6
5232 LA64 = self.input.LA(1)
5233 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:
5234 alt64 = 1
5235 elif LA64 == 72:
5236 alt64 = 2
5237 elif LA64 == 73:
5238 alt64 = 3
5239 elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79:
5240 alt64 = 4
5241 elif LA64 == 74:
5242 LA64_12 = self.input.LA(2)
5243
5244 if (LA64_12 == 62) :
5245 LA64_13 = self.input.LA(3)
5246
5247 if (self.synpred114()) :
5248 alt64 = 5
5249 elif (True) :
5250 alt64 = 6
5251 else:
5252 if self.backtracking > 0:
5253 self.failed = True
5254 return
5255
5256 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)
5257
5258 raise nvae
5259
5260 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)) :
5261 alt64 = 5
5262 else:
5263 if self.backtracking > 0:
5264 self.failed = True
5265 return
5266
5267 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)
5268
5269 raise nvae
5270
5271 else:
5272 if self.backtracking > 0:
5273 self.failed = True
5274 return
5275
5276 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)
5277
5278 raise nvae
5279
5280 if alt64 == 1:
5281 # C.g:391:4: postfix_expression
5282 self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304)
5283 self.postfix_expression()
5284 self.following.pop()
5285 if self.failed:
5286 return
5287
5288
5289 elif alt64 == 2:
5290 # C.g:392:4: '++' unary_expression
5291 self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1309)
5292 if self.failed:
5293 return
5294 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1311)
5295 self.unary_expression()
5296 self.following.pop()
5297 if self.failed:
5298 return
5299
5300
5301 elif alt64 == 3:
5302 # C.g:393:4: '--' unary_expression
5303 self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1316)
5304 if self.failed:
5305 return
5306 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1318)
5307 self.unary_expression()
5308 self.following.pop()
5309 if self.failed:
5310 return
5311
5312
5313 elif alt64 == 4:
5314 # C.g:394:4: unary_operator cast_expression
5315 self.following.append(self.FOLLOW_unary_operator_in_unary_expression1323)
5316 self.unary_operator()
5317 self.following.pop()
5318 if self.failed:
5319 return
5320 self.following.append(self.FOLLOW_cast_expression_in_unary_expression1325)
5321 self.cast_expression()
5322 self.following.pop()
5323 if self.failed:
5324 return
5325
5326
5327 elif alt64 == 5:
5328 # C.g:395:4: 'sizeof' unary_expression
5329 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1330)
5330 if self.failed:
5331 return
5332 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1332)
5333 self.unary_expression()
5334 self.following.pop()
5335 if self.failed:
5336 return
5337
5338
5339 elif alt64 == 6:
5340 # C.g:396:4: 'sizeof' '(' type_name ')'
5341 self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1337)
5342 if self.failed:
5343 return
5344 self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1339)
5345 if self.failed:
5346 return
5347 self.following.append(self.FOLLOW_type_name_in_unary_expression1341)
5348 self.type_name()
5349 self.following.pop()
5350 if self.failed:
5351 return
5352 self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343)
5353 if self.failed:
5354 return
5355
5356
5357
5358 except RecognitionException, re:
5359 self.reportError(re)
5360 self.recover(self.input, re)
5361 finally:
5362 if self.backtracking > 0:
5363 self.memoize(self.input, 40, unary_expression_StartIndex)
5364
5365 pass
5366
5367 return
5368
5369 # $ANTLR end unary_expression
5370
5371
5372 # $ANTLR start postfix_expression
5373 # 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 | '++' | '--' )* ;
5374 def postfix_expression(self, ):
5375 self.postfix_expression_stack.append(postfix_expression_scope())
5376 postfix_expression_StartIndex = self.input.index()
5377 a = None
5378 b = None
5379 x = None
5380 y = None
5381 z = None
5382 p = None
5383
5384 c = None
5385
5386
5387
5388 self.postfix_expression_stack[-1].FuncCallText = ''
5389
5390 try:
5391 try:
5392 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
5393 return
5394
5395 # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5396 # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5397 self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1367)
5398 p = self.primary_expression()
5399 self.following.pop()
5400 if self.failed:
5401 return
5402 if self.backtracking == 0:
5403 self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)
5404
5405 # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5406 while True: #loop65
5407 alt65 = 10
5408 LA65 = self.input.LA(1)
5409 if LA65 == 66:
5410 LA65_1 = self.input.LA(2)
5411
5412 if (LA65_1 == IDENTIFIER) :
5413 LA65_30 = self.input.LA(3)
5414
5415 if (self.synpred120()) :
5416 alt65 = 6
5417
5418
5419
5420
5421 elif LA65 == 64:
5422 alt65 = 1
5423 elif LA65 == 62:
5424 LA65 = self.input.LA(2)
5425 if LA65 == 63:
5426 alt65 = 2
5427 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:
5428 alt65 = 4
5429 elif LA65 == IDENTIFIER:
5430 LA65_55 = self.input.LA(3)
5431
5432 if (self.synpred117()) :
5433 alt65 = 3
5434 elif (self.synpred118()) :
5435 alt65 = 4
5436
5437
5438 elif LA65 == 66:
5439 LA65_57 = self.input.LA(3)
5440
5441 if (self.synpred117()) :
5442 alt65 = 3
5443 elif (self.synpred118()) :
5444 alt65 = 4
5445
5446
5447 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:
5448 alt65 = 3
5449
5450 elif LA65 == 75:
5451 alt65 = 5
5452 elif LA65 == 76:
5453 alt65 = 7
5454 elif LA65 == 72:
5455 alt65 = 8
5456 elif LA65 == 73:
5457 alt65 = 9
5458
5459 if alt65 == 1:
5460 # C.g:407:13: '[' expression ']'
5461 self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1383)
5462 if self.failed:
5463 return
5464 self.following.append(self.FOLLOW_expression_in_postfix_expression1385)
5465 self.expression()
5466 self.following.pop()
5467 if self.failed:
5468 return
5469 self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387)
5470 if self.failed:
5471 return
5472
5473
5474 elif alt65 == 2:
5475 # C.g:408:13: '(' a= ')'
5476 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1401)
5477 if self.failed:
5478 return
5479 a = self.input.LT(1)
5480 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1405)
5481 if self.failed:
5482 return
5483 if self.backtracking == 0:
5484 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
5485
5486
5487
5488 elif alt65 == 3:
5489 # C.g:409:13: '(' c= argument_expression_list b= ')'
5490 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1420)
5491 if self.failed:
5492 return
5493 self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1424)
5494 c = self.argument_expression_list()
5495 self.following.pop()
5496 if self.failed:
5497 return
5498 b = self.input.LT(1)
5499 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428)
5500 if self.failed:
5501 return
5502 if self.backtracking == 0:
5503 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))
5504
5505
5506
5507 elif alt65 == 4:
5508 # C.g:410:13: '(' macro_parameter_list ')'
5509 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1444)
5510 if self.failed:
5511 return
5512 self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1446)
5513 self.macro_parameter_list()
5514 self.following.pop()
5515 if self.failed:
5516 return
5517 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448)
5518 if self.failed:
5519 return
5520
5521
5522 elif alt65 == 5:
5523 # C.g:411:13: '.' x= IDENTIFIER
5524 self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1462)
5525 if self.failed:
5526 return
5527 x = self.input.LT(1)
5528 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1466)
5529 if self.failed:
5530 return
5531 if self.backtracking == 0:
5532 self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
5533
5534
5535
5536 elif alt65 == 6:
5537 # C.g:412:13: '*' y= IDENTIFIER
5538 self.match(self.input, 66, self.FOLLOW_66_in_postfix_expression1482)
5539 if self.failed:
5540 return
5541 y = self.input.LT(1)
5542 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1486)
5543 if self.failed:
5544 return
5545 if self.backtracking == 0:
5546 self.postfix_expression_stack[-1].FuncCallText = y.text
5547
5548
5549
5550 elif alt65 == 7:
5551 # C.g:413:13: '->' z= IDENTIFIER
5552 self.match(self.input, 76, self.FOLLOW_76_in_postfix_expression1502)
5553 if self.failed:
5554 return
5555 z = self.input.LT(1)
5556 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1506)
5557 if self.failed:
5558 return
5559 if self.backtracking == 0:
5560 self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
5561
5562
5563
5564 elif alt65 == 8:
5565 # C.g:414:13: '++'
5566 self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522)
5567 if self.failed:
5568 return
5569
5570
5571 elif alt65 == 9:
5572 # C.g:415:13: '--'
5573 self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536)
5574 if self.failed:
5575 return
5576
5577
5578 else:
5579 break #loop65
5580
5581
5582
5583
5584
5585
5586 except RecognitionException, re:
5587 self.reportError(re)
5588 self.recover(self.input, re)
5589 finally:
5590 if self.backtracking > 0:
5591 self.memoize(self.input, 41, postfix_expression_StartIndex)
5592
5593 self.postfix_expression_stack.pop()
5594 pass
5595
5596 return
5597
5598 # $ANTLR end postfix_expression
5599
5600
5601 # $ANTLR start macro_parameter_list
5602 # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5603 def macro_parameter_list(self, ):
5604
5605 macro_parameter_list_StartIndex = self.input.index()
5606 try:
5607 try:
5608 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
5609 return
5610
5611 # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
5612 # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
5613 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1559)
5614 self.parameter_declaration()
5615 self.following.pop()
5616 if self.failed:
5617 return
5618 # C.g:420:26: ( ',' parameter_declaration )*
5619 while True: #loop66
5620 alt66 = 2
5621 LA66_0 = self.input.LA(1)
5622
5623 if (LA66_0 == 27) :
5624 alt66 = 1
5625
5626
5627 if alt66 == 1:
5628 # C.g:420:27: ',' parameter_declaration
5629 self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1562)
5630 if self.failed:
5631 return
5632 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1564)
5633 self.parameter_declaration()
5634 self.following.pop()
5635 if self.failed:
5636 return
5637
5638
5639 else:
5640 break #loop66
5641
5642
5643
5644
5645
5646
5647 except RecognitionException, re:
5648 self.reportError(re)
5649 self.recover(self.input, re)
5650 finally:
5651 if self.backtracking > 0:
5652 self.memoize(self.input, 42, macro_parameter_list_StartIndex)
5653
5654 pass
5655
5656 return
5657
5658 # $ANTLR end macro_parameter_list
5659
5660
5661 # $ANTLR start unary_operator
5662 # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5663 def unary_operator(self, ):
5664
5665 unary_operator_StartIndex = self.input.index()
5666 try:
5667 try:
5668 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
5669 return
5670
5671 # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5672 # C.g:
5673 if self.input.LA(1) == 66 or (68 <= self.input.LA(1) <= 69) or (77 <= self.input.LA(1) <= 79):
5674 self.input.consume();
5675 self.errorRecovery = False
5676 self.failed = False
5677
5678 else:
5679 if self.backtracking > 0:
5680 self.failed = True
5681 return
5682
5683 mse = MismatchedSetException(None, self.input)
5684 self.recoverFromMismatchedSet(
5685 self.input, mse, self.FOLLOW_set_in_unary_operator0
5686 )
5687 raise mse
5688
5689
5690
5691
5692
5693
5694 except RecognitionException, re:
5695 self.reportError(re)
5696 self.recover(self.input, re)
5697 finally:
5698 if self.backtracking > 0:
5699 self.memoize(self.input, 43, unary_operator_StartIndex)
5700
5701 pass
5702
5703 return
5704
5705 # $ANTLR end unary_operator
5706
5707 class primary_expression_return(object):
5708 def __init__(self):
5709 self.start = None
5710 self.stop = None
5711
5712
5713
5714 # $ANTLR start primary_expression
5715 # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5716 def primary_expression(self, ):
5717
5718 retval = self.primary_expression_return()
5719 retval.start = self.input.LT(1)
5720 primary_expression_StartIndex = self.input.index()
5721 try:
5722 try:
5723 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
5724 return retval
5725
5726 # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
5727 alt67 = 3
5728 LA67 = self.input.LA(1)
5729 if LA67 == IDENTIFIER:
5730 LA67_1 = self.input.LA(2)
5731
5732 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)) :
5733 alt67 = 1
5734 elif (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
5735 alt67 = 2
5736 else:
5737 if self.backtracking > 0:
5738 self.failed = True
5739 return retval
5740
5741 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input)
5742
5743 raise nvae
5744
5745 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:
5746 alt67 = 2
5747 elif LA67 == 62:
5748 alt67 = 3
5749 else:
5750 if self.backtracking > 0:
5751 self.failed = True
5752 return retval
5753
5754 nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
5755
5756 raise nvae
5757
5758 if alt67 == 1:
5759 # C.g:433:4: IDENTIFIER
5760 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1613)
5761 if self.failed:
5762 return retval
5763
5764
5765 elif alt67 == 2:
5766 # C.g:434:4: constant
5767 self.following.append(self.FOLLOW_constant_in_primary_expression1618)
5768 self.constant()
5769 self.following.pop()
5770 if self.failed:
5771 return retval
5772
5773
5774 elif alt67 == 3:
5775 # C.g:435:4: '(' expression ')'
5776 self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1623)
5777 if self.failed:
5778 return retval
5779 self.following.append(self.FOLLOW_expression_in_primary_expression1625)
5780 self.expression()
5781 self.following.pop()
5782 if self.failed:
5783 return retval
5784 self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627)
5785 if self.failed:
5786 return retval
5787
5788
5789 retval.stop = self.input.LT(-1)
5790
5791
5792 except RecognitionException, re:
5793 self.reportError(re)
5794 self.recover(self.input, re)
5795 finally:
5796 if self.backtracking > 0:
5797 self.memoize(self.input, 44, primary_expression_StartIndex)
5798
5799 pass
5800
5801 return retval
5802
5803 # $ANTLR end primary_expression
5804
5805
5806 # $ANTLR start constant
5807 # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5808 def constant(self, ):
5809
5810 constant_StartIndex = self.input.index()
5811 try:
5812 try:
5813 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
5814 return
5815
5816 # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5817 alt72 = 6
5818 LA72 = self.input.LA(1)
5819 if LA72 == HEX_LITERAL:
5820 alt72 = 1
5821 elif LA72 == OCTAL_LITERAL:
5822 alt72 = 2
5823 elif LA72 == DECIMAL_LITERAL:
5824 alt72 = 3
5825 elif LA72 == CHARACTER_LITERAL:
5826 alt72 = 4
5827 elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
5828 alt72 = 5
5829 elif LA72 == FLOATING_POINT_LITERAL:
5830 alt72 = 6
5831 else:
5832 if self.backtracking > 0:
5833 self.failed = True
5834 return
5835
5836 nvae = NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input)
5837
5838 raise nvae
5839
5840 if alt72 == 1:
5841 # C.g:439:9: HEX_LITERAL
5842 self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1643)
5843 if self.failed:
5844 return
5845
5846
5847 elif alt72 == 2:
5848 # C.g:440:9: OCTAL_LITERAL
5849 self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1653)
5850 if self.failed:
5851 return
5852
5853
5854 elif alt72 == 3:
5855 # C.g:441:9: DECIMAL_LITERAL
5856 self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1663)
5857 if self.failed:
5858 return
5859
5860
5861 elif alt72 == 4:
5862 # C.g:442:7: CHARACTER_LITERAL
5863 self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1671)
5864 if self.failed:
5865 return
5866
5867
5868 elif alt72 == 5:
5869 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5870 # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5871 cnt70 = 0
5872 while True: #loop70
5873 alt70 = 2
5874 LA70_0 = self.input.LA(1)
5875
5876 if (LA70_0 == IDENTIFIER) :
5877 LA70_1 = self.input.LA(2)
5878
5879 if (LA70_1 == STRING_LITERAL) :
5880 alt70 = 1
5881 elif (LA70_1 == IDENTIFIER) :
5882 LA70_33 = self.input.LA(3)
5883
5884 if (self.synpred138()) :
5885 alt70 = 1
5886
5887
5888
5889
5890 elif (LA70_0 == STRING_LITERAL) :
5891 alt70 = 1
5892
5893
5894 if alt70 == 1:
5895 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5896 # C.g:443:8: ( IDENTIFIER )*
5897 while True: #loop68
5898 alt68 = 2
5899 LA68_0 = self.input.LA(1)
5900
5901 if (LA68_0 == IDENTIFIER) :
5902 alt68 = 1
5903
5904
5905 if alt68 == 1:
5906 # C.g:0:0: IDENTIFIER
5907 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680)
5908 if self.failed:
5909 return
5910
5911
5912 else:
5913 break #loop68
5914
5915
5916 # C.g:443:20: ( STRING_LITERAL )+
5917 cnt69 = 0
5918 while True: #loop69
5919 alt69 = 2
5920 LA69_0 = self.input.LA(1)
5921
5922 if (LA69_0 == STRING_LITERAL) :
5923 LA69_31 = self.input.LA(2)
5924
5925 if (self.synpred137()) :
5926 alt69 = 1
5927
5928
5929
5930
5931 if alt69 == 1:
5932 # C.g:0:0: STRING_LITERAL
5933 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683)
5934 if self.failed:
5935 return
5936
5937
5938 else:
5939 if cnt69 >= 1:
5940 break #loop69
5941
5942 if self.backtracking > 0:
5943 self.failed = True
5944 return
5945
5946 eee = EarlyExitException(69, self.input)
5947 raise eee
5948
5949 cnt69 += 1
5950
5951
5952
5953
5954 else:
5955 if cnt70 >= 1:
5956 break #loop70
5957
5958 if self.backtracking > 0:
5959 self.failed = True
5960 return
5961
5962 eee = EarlyExitException(70, self.input)
5963 raise eee
5964
5965 cnt70 += 1
5966
5967
5968 # C.g:443:38: ( IDENTIFIER )*
5969 while True: #loop71
5970 alt71 = 2
5971 LA71_0 = self.input.LA(1)
5972
5973 if (LA71_0 == IDENTIFIER) :
5974 alt71 = 1
5975
5976
5977 if alt71 == 1:
5978 # C.g:0:0: IDENTIFIER
5979 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688)
5980 if self.failed:
5981 return
5982
5983
5984 else:
5985 break #loop71
5986
5987
5988
5989
5990 elif alt72 == 6:
5991 # C.g:444:9: FLOATING_POINT_LITERAL
5992 self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699)
5993 if self.failed:
5994 return
5995
5996
5997
5998 except RecognitionException, re:
5999 self.reportError(re)
6000 self.recover(self.input, re)
6001 finally:
6002 if self.backtracking > 0:
6003 self.memoize(self.input, 45, constant_StartIndex)
6004
6005 pass
6006
6007 return
6008
6009 # $ANTLR end constant
6010
6011 class expression_return(object):
6012 def __init__(self):
6013 self.start = None
6014 self.stop = None
6015
6016
6017
6018 # $ANTLR start expression
6019 # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
6020 def expression(self, ):
6021
6022 retval = self.expression_return()
6023 retval.start = self.input.LT(1)
6024 expression_StartIndex = self.input.index()
6025 try:
6026 try:
6027 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
6028 return retval
6029
6030 # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
6031 # C.g:450:4: assignment_expression ( ',' assignment_expression )*
6032 self.following.append(self.FOLLOW_assignment_expression_in_expression1715)
6033 self.assignment_expression()
6034 self.following.pop()
6035 if self.failed:
6036 return retval
6037 # C.g:450:26: ( ',' assignment_expression )*
6038 while True: #loop73
6039 alt73 = 2
6040 LA73_0 = self.input.LA(1)
6041
6042 if (LA73_0 == 27) :
6043 alt73 = 1
6044
6045
6046 if alt73 == 1:
6047 # C.g:450:27: ',' assignment_expression
6048 self.match(self.input, 27, self.FOLLOW_27_in_expression1718)
6049 if self.failed:
6050 return retval
6051 self.following.append(self.FOLLOW_assignment_expression_in_expression1720)
6052 self.assignment_expression()
6053 self.following.pop()
6054 if self.failed:
6055 return retval
6056
6057
6058 else:
6059 break #loop73
6060
6061
6062
6063
6064
6065 retval.stop = self.input.LT(-1)
6066
6067
6068 except RecognitionException, re:
6069 self.reportError(re)
6070 self.recover(self.input, re)
6071 finally:
6072 if self.backtracking > 0:
6073 self.memoize(self.input, 46, expression_StartIndex)
6074
6075 pass
6076
6077 return retval
6078
6079 # $ANTLR end expression
6080
6081
6082 # $ANTLR start constant_expression
6083 # C.g:453:1: constant_expression : conditional_expression ;
6084 def constant_expression(self, ):
6085
6086 constant_expression_StartIndex = self.input.index()
6087 try:
6088 try:
6089 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
6090 return
6091
6092 # C.g:454:2: ( conditional_expression )
6093 # C.g:454:4: conditional_expression
6094 self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1733)
6095 self.conditional_expression()
6096 self.following.pop()
6097 if self.failed:
6098 return
6099
6100
6101
6102
6103 except RecognitionException, re:
6104 self.reportError(re)
6105 self.recover(self.input, re)
6106 finally:
6107 if self.backtracking > 0:
6108 self.memoize(self.input, 47, constant_expression_StartIndex)
6109
6110 pass
6111
6112 return
6113
6114 # $ANTLR end constant_expression
6115
6116
6117 # $ANTLR start assignment_expression
6118 # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6119 def assignment_expression(self, ):
6120
6121 assignment_expression_StartIndex = self.input.index()
6122 try:
6123 try:
6124 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
6125 return
6126
6127 # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6128 alt74 = 2
6129 LA74 = self.input.LA(1)
6130 if LA74 == IDENTIFIER:
6131 LA74 = self.input.LA(2)
6132 if LA74 == 64:
6133 LA74_13 = self.input.LA(3)
6134
6135 if (self.synpred142()) :
6136 alt74 = 1
6137 elif (True) :
6138 alt74 = 2
6139 else:
6140 if self.backtracking > 0:
6141 self.failed = True
6142 return
6143
6144 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
6145
6146 raise nvae
6147
6148 elif LA74 == 62:
6149 LA74_14 = self.input.LA(3)
6150
6151 if (self.synpred142()) :
6152 alt74 = 1
6153 elif (True) :
6154 alt74 = 2
6155 else:
6156 if self.backtracking > 0:
6157 self.failed = True
6158 return
6159
6160 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
6161
6162 raise nvae
6163
6164 elif LA74 == 75:
6165 LA74_15 = self.input.LA(3)
6166
6167 if (self.synpred142()) :
6168 alt74 = 1
6169 elif (True) :
6170 alt74 = 2
6171 else:
6172 if self.backtracking > 0:
6173 self.failed = True
6174 return
6175
6176 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
6177
6178 raise nvae
6179
6180 elif LA74 == 66:
6181 LA74_16 = self.input.LA(3)
6182
6183 if (self.synpred142()) :
6184 alt74 = 1
6185 elif (True) :
6186 alt74 = 2
6187 else:
6188 if self.backtracking > 0:
6189 self.failed = True
6190 return
6191
6192 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
6193
6194 raise nvae
6195
6196 elif LA74 == 76:
6197 LA74_17 = self.input.LA(3)
6198
6199 if (self.synpred142()) :
6200 alt74 = 1
6201 elif (True) :
6202 alt74 = 2
6203 else:
6204 if self.backtracking > 0:
6205 self.failed = True
6206 return
6207
6208 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
6209
6210 raise nvae
6211
6212 elif LA74 == 72:
6213 LA74_18 = self.input.LA(3)
6214
6215 if (self.synpred142()) :
6216 alt74 = 1
6217 elif (True) :
6218 alt74 = 2
6219 else:
6220 if self.backtracking > 0:
6221 self.failed = True
6222 return
6223
6224 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
6225
6226 raise nvae
6227
6228 elif LA74 == 73:
6229 LA74_19 = self.input.LA(3)
6230
6231 if (self.synpred142()) :
6232 alt74 = 1
6233 elif (True) :
6234 alt74 = 2
6235 else:
6236 if self.backtracking > 0:
6237 self.failed = True
6238 return
6239
6240 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
6241
6242 raise nvae
6243
6244 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:
6245 alt74 = 1
6246 elif LA74 == STRING_LITERAL:
6247 LA74_21 = self.input.LA(3)
6248
6249 if (self.synpred142()) :
6250 alt74 = 1
6251 elif (True) :
6252 alt74 = 2
6253 else:
6254 if self.backtracking > 0:
6255 self.failed = True
6256 return
6257
6258 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
6259
6260 raise nvae
6261
6262 elif LA74 == IDENTIFIER:
6263 LA74_22 = self.input.LA(3)
6264
6265 if (self.synpred142()) :
6266 alt74 = 1
6267 elif (True) :
6268 alt74 = 2
6269 else:
6270 if self.backtracking > 0:
6271 self.failed = True
6272 return
6273
6274 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self.input)
6275
6276 raise nvae
6277
6278 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:
6279 alt74 = 2
6280 else:
6281 if self.backtracking > 0:
6282 self.failed = True
6283 return
6284
6285 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input)
6286
6287 raise nvae
6288
6289 elif LA74 == HEX_LITERAL:
6290 LA74 = self.input.LA(2)
6291 if LA74 == 64:
6292 LA74_44 = self.input.LA(3)
6293
6294 if (self.synpred142()) :
6295 alt74 = 1
6296 elif (True) :
6297 alt74 = 2
6298 else:
6299 if self.backtracking > 0:
6300 self.failed = True
6301 return
6302
6303 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
6304
6305 raise nvae
6306
6307 elif LA74 == 62:
6308 LA74_45 = self.input.LA(3)
6309
6310 if (self.synpred142()) :
6311 alt74 = 1
6312 elif (True) :
6313 alt74 = 2
6314 else:
6315 if self.backtracking > 0:
6316 self.failed = True
6317 return
6318
6319 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
6320
6321 raise nvae
6322
6323 elif LA74 == 75:
6324 LA74_46 = self.input.LA(3)
6325
6326 if (self.synpred142()) :
6327 alt74 = 1
6328 elif (True) :
6329 alt74 = 2
6330 else:
6331 if self.backtracking > 0:
6332 self.failed = True
6333 return
6334
6335 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
6336
6337 raise nvae
6338
6339 elif LA74 == 66:
6340 LA74_47 = self.input.LA(3)
6341
6342 if (self.synpred142()) :
6343 alt74 = 1
6344 elif (True) :
6345 alt74 = 2
6346 else:
6347 if self.backtracking > 0:
6348 self.failed = True
6349 return
6350
6351 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
6352
6353 raise nvae
6354
6355 elif LA74 == 76:
6356 LA74_48 = self.input.LA(3)
6357
6358 if (self.synpred142()) :
6359 alt74 = 1
6360 elif (True) :
6361 alt74 = 2
6362 else:
6363 if self.backtracking > 0:
6364 self.failed = True
6365 return
6366
6367 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
6368
6369 raise nvae
6370
6371 elif LA74 == 72:
6372 LA74_49 = self.input.LA(3)
6373
6374 if (self.synpred142()) :
6375 alt74 = 1
6376 elif (True) :
6377 alt74 = 2
6378 else:
6379 if self.backtracking > 0:
6380 self.failed = True
6381 return
6382
6383 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
6384
6385 raise nvae
6386
6387 elif LA74 == 73:
6388 LA74_50 = self.input.LA(3)
6389
6390 if (self.synpred142()) :
6391 alt74 = 1
6392 elif (True) :
6393 alt74 = 2
6394 else:
6395 if self.backtracking > 0:
6396 self.failed = True
6397 return
6398
6399 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
6400
6401 raise nvae
6402
6403 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:
6404 alt74 = 2
6405 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:
6406 alt74 = 1
6407 else:
6408 if self.backtracking > 0:
6409 self.failed = True
6410 return
6411
6412 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input)
6413
6414 raise nvae
6415
6416 elif LA74 == OCTAL_LITERAL:
6417 LA74 = self.input.LA(2)
6418 if LA74 == 64:
6419 LA74_73 = self.input.LA(3)
6420
6421 if (self.synpred142()) :
6422 alt74 = 1
6423 elif (True) :
6424 alt74 = 2
6425 else:
6426 if self.backtracking > 0:
6427 self.failed = True
6428 return
6429
6430 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
6431
6432 raise nvae
6433
6434 elif LA74 == 62:
6435 LA74_74 = self.input.LA(3)
6436
6437 if (self.synpred142()) :
6438 alt74 = 1
6439 elif (True) :
6440 alt74 = 2
6441 else:
6442 if self.backtracking > 0:
6443 self.failed = True
6444 return
6445
6446 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
6447
6448 raise nvae
6449
6450 elif LA74 == 75:
6451 LA74_75 = self.input.LA(3)
6452
6453 if (self.synpred142()) :
6454 alt74 = 1
6455 elif (True) :
6456 alt74 = 2
6457 else:
6458 if self.backtracking > 0:
6459 self.failed = True
6460 return
6461
6462 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
6463
6464 raise nvae
6465
6466 elif LA74 == 66:
6467 LA74_76 = self.input.LA(3)
6468
6469 if (self.synpred142()) :
6470 alt74 = 1
6471 elif (True) :
6472 alt74 = 2
6473 else:
6474 if self.backtracking > 0:
6475 self.failed = True
6476 return
6477
6478 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
6479
6480 raise nvae
6481
6482 elif LA74 == 76:
6483 LA74_77 = self.input.LA(3)
6484
6485 if (self.synpred142()) :
6486 alt74 = 1
6487 elif (True) :
6488 alt74 = 2
6489 else:
6490 if self.backtracking > 0:
6491 self.failed = True
6492 return
6493
6494 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
6495
6496 raise nvae
6497
6498 elif LA74 == 72:
6499 LA74_78 = self.input.LA(3)
6500
6501 if (self.synpred142()) :
6502 alt74 = 1
6503 elif (True) :
6504 alt74 = 2
6505 else:
6506 if self.backtracking > 0:
6507 self.failed = True
6508 return
6509
6510 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
6511
6512 raise nvae
6513
6514 elif LA74 == 73:
6515 LA74_79 = self.input.LA(3)
6516
6517 if (self.synpred142()) :
6518 alt74 = 1
6519 elif (True) :
6520 alt74 = 2
6521 else:
6522 if self.backtracking > 0:
6523 self.failed = True
6524 return
6525
6526 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
6527
6528 raise nvae
6529
6530 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:
6531 alt74 = 1
6532 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:
6533 alt74 = 2
6534 else:
6535 if self.backtracking > 0:
6536 self.failed = True
6537 return
6538
6539 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input)
6540
6541 raise nvae
6542
6543 elif LA74 == DECIMAL_LITERAL:
6544 LA74 = self.input.LA(2)
6545 if LA74 == 64:
6546 LA74_102 = self.input.LA(3)
6547
6548 if (self.synpred142()) :
6549 alt74 = 1
6550 elif (True) :
6551 alt74 = 2
6552 else:
6553 if self.backtracking > 0:
6554 self.failed = True
6555 return
6556
6557 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
6558
6559 raise nvae
6560
6561 elif LA74 == 62:
6562 LA74_103 = self.input.LA(3)
6563
6564 if (self.synpred142()) :
6565 alt74 = 1
6566 elif (True) :
6567 alt74 = 2
6568 else:
6569 if self.backtracking > 0:
6570 self.failed = True
6571 return
6572
6573 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
6574
6575 raise nvae
6576
6577 elif LA74 == 75:
6578 LA74_104 = self.input.LA(3)
6579
6580 if (self.synpred142()) :
6581 alt74 = 1
6582 elif (True) :
6583 alt74 = 2
6584 else:
6585 if self.backtracking > 0:
6586 self.failed = True
6587 return
6588
6589 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
6590
6591 raise nvae
6592
6593 elif LA74 == 66:
6594 LA74_105 = self.input.LA(3)
6595
6596 if (self.synpred142()) :
6597 alt74 = 1
6598 elif (True) :
6599 alt74 = 2
6600 else:
6601 if self.backtracking > 0:
6602 self.failed = True
6603 return
6604
6605 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
6606
6607 raise nvae
6608
6609 elif LA74 == 76:
6610 LA74_106 = self.input.LA(3)
6611
6612 if (self.synpred142()) :
6613 alt74 = 1
6614 elif (True) :
6615 alt74 = 2
6616 else:
6617 if self.backtracking > 0:
6618 self.failed = True
6619 return
6620
6621 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
6622
6623 raise nvae
6624
6625 elif LA74 == 72:
6626 LA74_107 = self.input.LA(3)
6627
6628 if (self.synpred142()) :
6629 alt74 = 1
6630 elif (True) :
6631 alt74 = 2
6632 else:
6633 if self.backtracking > 0:
6634 self.failed = True
6635 return
6636
6637 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
6638
6639 raise nvae
6640
6641 elif LA74 == 73:
6642 LA74_108 = self.input.LA(3)
6643
6644 if (self.synpred142()) :
6645 alt74 = 1
6646 elif (True) :
6647 alt74 = 2
6648 else:
6649 if self.backtracking > 0:
6650 self.failed = True
6651 return
6652
6653 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input)
6654
6655 raise nvae
6656
6657 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:
6658 alt74 = 2
6659 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:
6660 alt74 = 1
6661 else:
6662 if self.backtracking > 0:
6663 self.failed = True
6664 return
6665
6666 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input)
6667
6668 raise nvae
6669
6670 elif LA74 == CHARACTER_LITERAL:
6671 LA74 = self.input.LA(2)
6672 if LA74 == 64:
6673 LA74_131 = self.input.LA(3)
6674
6675 if (self.synpred142()) :
6676 alt74 = 1
6677 elif (True) :
6678 alt74 = 2
6679 else:
6680 if self.backtracking > 0:
6681 self.failed = True
6682 return
6683
6684 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
6685
6686 raise nvae
6687
6688 elif LA74 == 62:
6689 LA74_132 = self.input.LA(3)
6690
6691 if (self.synpred142()) :
6692 alt74 = 1
6693 elif (True) :
6694 alt74 = 2
6695 else:
6696 if self.backtracking > 0:
6697 self.failed = True
6698 return
6699
6700 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
6701
6702 raise nvae
6703
6704 elif LA74 == 75:
6705 LA74_133 = self.input.LA(3)
6706
6707 if (self.synpred142()) :
6708 alt74 = 1
6709 elif (True) :
6710 alt74 = 2
6711 else:
6712 if self.backtracking > 0:
6713 self.failed = True
6714 return
6715
6716 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
6717
6718 raise nvae
6719
6720 elif LA74 == 66:
6721 LA74_134 = self.input.LA(3)
6722
6723 if (self.synpred142()) :
6724 alt74 = 1
6725 elif (True) :
6726 alt74 = 2
6727 else:
6728 if self.backtracking > 0:
6729 self.failed = True
6730 return
6731
6732 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
6733
6734 raise nvae
6735
6736 elif LA74 == 76:
6737 LA74_135 = self.input.LA(3)
6738
6739 if (self.synpred142()) :
6740 alt74 = 1
6741 elif (True) :
6742 alt74 = 2
6743 else:
6744 if self.backtracking > 0:
6745 self.failed = True
6746 return
6747
6748 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
6749
6750 raise nvae
6751
6752 elif LA74 == 72:
6753 LA74_136 = self.input.LA(3)
6754
6755 if (self.synpred142()) :
6756 alt74 = 1
6757 elif (True) :
6758 alt74 = 2
6759 else:
6760 if self.backtracking > 0:
6761 self.failed = True
6762 return
6763
6764 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
6765
6766 raise nvae
6767
6768 elif LA74 == 73:
6769 LA74_137 = self.input.LA(3)
6770
6771 if (self.synpred142()) :
6772 alt74 = 1
6773 elif (True) :
6774 alt74 = 2
6775 else:
6776 if self.backtracking > 0:
6777 self.failed = True
6778 return
6779
6780 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
6781
6782 raise nvae
6783
6784 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:
6785 alt74 = 2
6786 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:
6787 alt74 = 1
6788 else:
6789 if self.backtracking > 0:
6790 self.failed = True
6791 return
6792
6793 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
6794
6795 raise nvae
6796
6797 elif LA74 == STRING_LITERAL:
6798 LA74 = self.input.LA(2)
6799 if LA74 == IDENTIFIER:
6800 LA74_160 = self.input.LA(3)
6801
6802 if (self.synpred142()) :
6803 alt74 = 1
6804 elif (True) :
6805 alt74 = 2
6806 else:
6807 if self.backtracking > 0:
6808 self.failed = True
6809 return
6810
6811 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
6812
6813 raise nvae
6814
6815 elif LA74 == 64:
6816 LA74_161 = self.input.LA(3)
6817
6818 if (self.synpred142()) :
6819 alt74 = 1
6820 elif (True) :
6821 alt74 = 2
6822 else:
6823 if self.backtracking > 0:
6824 self.failed = True
6825 return
6826
6827 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
6828
6829 raise nvae
6830
6831 elif LA74 == 62:
6832 LA74_162 = self.input.LA(3)
6833
6834 if (self.synpred142()) :
6835 alt74 = 1
6836 elif (True) :
6837 alt74 = 2
6838 else:
6839 if self.backtracking > 0:
6840 self.failed = True
6841 return
6842
6843 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
6844
6845 raise nvae
6846
6847 elif LA74 == 75:
6848 LA74_163 = self.input.LA(3)
6849
6850 if (self.synpred142()) :
6851 alt74 = 1
6852 elif (True) :
6853 alt74 = 2
6854 else:
6855 if self.backtracking > 0:
6856 self.failed = True
6857 return
6858
6859 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
6860
6861 raise nvae
6862
6863 elif LA74 == 66:
6864 LA74_164 = self.input.LA(3)
6865
6866 if (self.synpred142()) :
6867 alt74 = 1
6868 elif (True) :
6869 alt74 = 2
6870 else:
6871 if self.backtracking > 0:
6872 self.failed = True
6873 return
6874
6875 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
6876
6877 raise nvae
6878
6879 elif LA74 == 76:
6880 LA74_165 = self.input.LA(3)
6881
6882 if (self.synpred142()) :
6883 alt74 = 1
6884 elif (True) :
6885 alt74 = 2
6886 else:
6887 if self.backtracking > 0:
6888 self.failed = True
6889 return
6890
6891 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
6892
6893 raise nvae
6894
6895 elif LA74 == 72:
6896 LA74_166 = self.input.LA(3)
6897
6898 if (self.synpred142()) :
6899 alt74 = 1
6900 elif (True) :
6901 alt74 = 2
6902 else:
6903 if self.backtracking > 0:
6904 self.failed = True
6905 return
6906
6907 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
6908
6909 raise nvae
6910
6911 elif LA74 == 73:
6912 LA74_167 = self.input.LA(3)
6913
6914 if (self.synpred142()) :
6915 alt74 = 1
6916 elif (True) :
6917 alt74 = 2
6918 else:
6919 if self.backtracking > 0:
6920 self.failed = True
6921 return
6922
6923 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
6924
6925 raise nvae
6926
6927 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:
6928 alt74 = 2
6929 elif LA74 == STRING_LITERAL:
6930 LA74_189 = self.input.LA(3)
6931
6932 if (self.synpred142()) :
6933 alt74 = 1
6934 elif (True) :
6935 alt74 = 2
6936 else:
6937 if self.backtracking > 0:
6938 self.failed = True
6939 return
6940
6941 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input)
6942
6943 raise nvae
6944
6945 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:
6946 alt74 = 1
6947 else:
6948 if self.backtracking > 0:
6949 self.failed = True
6950 return
6951
6952 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input)
6953
6954 raise nvae
6955
6956 elif LA74 == FLOATING_POINT_LITERAL:
6957 LA74 = self.input.LA(2)
6958 if LA74 == 64:
6959 LA74_191 = self.input.LA(3)
6960
6961 if (self.synpred142()) :
6962 alt74 = 1
6963 elif (True) :
6964 alt74 = 2
6965 else:
6966 if self.backtracking > 0:
6967 self.failed = True
6968 return
6969
6970 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
6971
6972 raise nvae
6973
6974 elif LA74 == 62:
6975 LA74_192 = self.input.LA(3)
6976
6977 if (self.synpred142()) :
6978 alt74 = 1
6979 elif (True) :
6980 alt74 = 2
6981 else:
6982 if self.backtracking > 0:
6983 self.failed = True
6984 return
6985
6986 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
6987
6988 raise nvae
6989
6990 elif LA74 == 75:
6991 LA74_193 = self.input.LA(3)
6992
6993 if (self.synpred142()) :
6994 alt74 = 1
6995 elif (True) :
6996 alt74 = 2
6997 else:
6998 if self.backtracking > 0:
6999 self.failed = True
7000 return
7001
7002 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
7003
7004 raise nvae
7005
7006 elif LA74 == 66:
7007 LA74_194 = self.input.LA(3)
7008
7009 if (self.synpred142()) :
7010 alt74 = 1
7011 elif (True) :
7012 alt74 = 2
7013 else:
7014 if self.backtracking > 0:
7015 self.failed = True
7016 return
7017
7018 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
7019
7020 raise nvae
7021
7022 elif LA74 == 76:
7023 LA74_195 = self.input.LA(3)
7024
7025 if (self.synpred142()) :
7026 alt74 = 1
7027 elif (True) :
7028 alt74 = 2
7029 else:
7030 if self.backtracking > 0:
7031 self.failed = True
7032 return
7033
7034 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
7035
7036 raise nvae
7037
7038 elif LA74 == 72:
7039 LA74_196 = self.input.LA(3)
7040
7041 if (self.synpred142()) :
7042 alt74 = 1
7043 elif (True) :
7044 alt74 = 2
7045 else:
7046 if self.backtracking > 0:
7047 self.failed = True
7048 return
7049
7050 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
7051
7052 raise nvae
7053
7054 elif LA74 == 73:
7055 LA74_197 = self.input.LA(3)
7056
7057 if (self.synpred142()) :
7058 alt74 = 1
7059 elif (True) :
7060 alt74 = 2
7061 else:
7062 if self.backtracking > 0:
7063 self.failed = True
7064 return
7065
7066 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input)
7067
7068 raise nvae
7069
7070 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:
7071 alt74 = 2
7072 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:
7073 alt74 = 1
7074 else:
7075 if self.backtracking > 0:
7076 self.failed = True
7077 return
7078
7079 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
7080
7081 raise nvae
7082
7083 elif LA74 == 62:
7084 LA74 = self.input.LA(2)
7085 if LA74 == IDENTIFIER:
7086 LA74_220 = self.input.LA(3)
7087
7088 if (self.synpred142()) :
7089 alt74 = 1
7090 elif (True) :
7091 alt74 = 2
7092 else:
7093 if self.backtracking > 0:
7094 self.failed = True
7095 return
7096
7097 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input)
7098
7099 raise nvae
7100
7101 elif LA74 == HEX_LITERAL:
7102 LA74_221 = self.input.LA(3)
7103
7104 if (self.synpred142()) :
7105 alt74 = 1
7106 elif (True) :
7107 alt74 = 2
7108 else:
7109 if self.backtracking > 0:
7110 self.failed = True
7111 return
7112
7113 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input)
7114
7115 raise nvae
7116
7117 elif LA74 == OCTAL_LITERAL:
7118 LA74_222 = self.input.LA(3)
7119
7120 if (self.synpred142()) :
7121 alt74 = 1
7122 elif (True) :
7123 alt74 = 2
7124 else:
7125 if self.backtracking > 0:
7126 self.failed = True
7127 return
7128
7129 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input)
7130
7131 raise nvae
7132
7133 elif LA74 == DECIMAL_LITERAL:
7134 LA74_223 = self.input.LA(3)
7135
7136 if (self.synpred142()) :
7137 alt74 = 1
7138 elif (True) :
7139 alt74 = 2
7140 else:
7141 if self.backtracking > 0:
7142 self.failed = True
7143 return
7144
7145 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input)
7146
7147 raise nvae
7148
7149 elif LA74 == CHARACTER_LITERAL:
7150 LA74_224 = self.input.LA(3)
7151
7152 if (self.synpred142()) :
7153 alt74 = 1
7154 elif (True) :
7155 alt74 = 2
7156 else:
7157 if self.backtracking > 0:
7158 self.failed = True
7159 return
7160
7161 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input)
7162
7163 raise nvae
7164
7165 elif LA74 == STRING_LITERAL:
7166 LA74_225 = self.input.LA(3)
7167
7168 if (self.synpred142()) :
7169 alt74 = 1
7170 elif (True) :
7171 alt74 = 2
7172 else:
7173 if self.backtracking > 0:
7174 self.failed = True
7175 return
7176
7177 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input)
7178
7179 raise nvae
7180
7181 elif LA74 == FLOATING_POINT_LITERAL:
7182 LA74_226 = self.input.LA(3)
7183
7184 if (self.synpred142()) :
7185 alt74 = 1
7186 elif (True) :
7187 alt74 = 2
7188 else:
7189 if self.backtracking > 0:
7190 self.failed = True
7191 return
7192
7193 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
7194
7195 raise nvae
7196
7197 elif LA74 == 62:
7198 LA74_227 = self.input.LA(3)
7199
7200 if (self.synpred142()) :
7201 alt74 = 1
7202 elif (True) :
7203 alt74 = 2
7204 else:
7205 if self.backtracking > 0:
7206 self.failed = True
7207 return
7208
7209 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
7210
7211 raise nvae
7212
7213 elif LA74 == 72:
7214 LA74_228 = self.input.LA(3)
7215
7216 if (self.synpred142()) :
7217 alt74 = 1
7218 elif (True) :
7219 alt74 = 2
7220 else:
7221 if self.backtracking > 0:
7222 self.failed = True
7223 return
7224
7225 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
7226
7227 raise nvae
7228
7229 elif LA74 == 73:
7230 LA74_229 = self.input.LA(3)
7231
7232 if (self.synpred142()) :
7233 alt74 = 1
7234 elif (True) :
7235 alt74 = 2
7236 else:
7237 if self.backtracking > 0:
7238 self.failed = True
7239 return
7240
7241 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
7242
7243 raise nvae
7244
7245 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7246 LA74_230 = self.input.LA(3)
7247
7248 if (self.synpred142()) :
7249 alt74 = 1
7250 elif (True) :
7251 alt74 = 2
7252 else:
7253 if self.backtracking > 0:
7254 self.failed = True
7255 return
7256
7257 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
7258
7259 raise nvae
7260
7261 elif LA74 == 74:
7262 LA74_231 = self.input.LA(3)
7263
7264 if (self.synpred142()) :
7265 alt74 = 1
7266 elif (True) :
7267 alt74 = 2
7268 else:
7269 if self.backtracking > 0:
7270 self.failed = True
7271 return
7272
7273 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input)
7274
7275 raise nvae
7276
7277 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:
7278 alt74 = 2
7279 else:
7280 if self.backtracking > 0:
7281 self.failed = True
7282 return
7283
7284 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
7285
7286 raise nvae
7287
7288 elif LA74 == 72:
7289 LA74 = self.input.LA(2)
7290 if LA74 == IDENTIFIER:
7291 LA74_244 = self.input.LA(3)
7292
7293 if (self.synpred142()) :
7294 alt74 = 1
7295 elif (True) :
7296 alt74 = 2
7297 else:
7298 if self.backtracking > 0:
7299 self.failed = True
7300 return
7301
7302 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input)
7303
7304 raise nvae
7305
7306 elif LA74 == HEX_LITERAL:
7307 LA74_245 = self.input.LA(3)
7308
7309 if (self.synpred142()) :
7310 alt74 = 1
7311 elif (True) :
7312 alt74 = 2
7313 else:
7314 if self.backtracking > 0:
7315 self.failed = True
7316 return
7317
7318 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input)
7319
7320 raise nvae
7321
7322 elif LA74 == OCTAL_LITERAL:
7323 LA74_246 = self.input.LA(3)
7324
7325 if (self.synpred142()) :
7326 alt74 = 1
7327 elif (True) :
7328 alt74 = 2
7329 else:
7330 if self.backtracking > 0:
7331 self.failed = True
7332 return
7333
7334 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input)
7335
7336 raise nvae
7337
7338 elif LA74 == DECIMAL_LITERAL:
7339 LA74_247 = self.input.LA(3)
7340
7341 if (self.synpred142()) :
7342 alt74 = 1
7343 elif (True) :
7344 alt74 = 2
7345 else:
7346 if self.backtracking > 0:
7347 self.failed = True
7348 return
7349
7350 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input)
7351
7352 raise nvae
7353
7354 elif LA74 == CHARACTER_LITERAL:
7355 LA74_248 = self.input.LA(3)
7356
7357 if (self.synpred142()) :
7358 alt74 = 1
7359 elif (True) :
7360 alt74 = 2
7361 else:
7362 if self.backtracking > 0:
7363 self.failed = True
7364 return
7365
7366 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input)
7367
7368 raise nvae
7369
7370 elif LA74 == STRING_LITERAL:
7371 LA74_249 = self.input.LA(3)
7372
7373 if (self.synpred142()) :
7374 alt74 = 1
7375 elif (True) :
7376 alt74 = 2
7377 else:
7378 if self.backtracking > 0:
7379 self.failed = True
7380 return
7381
7382 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input)
7383
7384 raise nvae
7385
7386 elif LA74 == FLOATING_POINT_LITERAL:
7387 LA74_250 = self.input.LA(3)
7388
7389 if (self.synpred142()) :
7390 alt74 = 1
7391 elif (True) :
7392 alt74 = 2
7393 else:
7394 if self.backtracking > 0:
7395 self.failed = True
7396 return
7397
7398 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
7399
7400 raise nvae
7401
7402 elif LA74 == 62:
7403 LA74_251 = self.input.LA(3)
7404
7405 if (self.synpred142()) :
7406 alt74 = 1
7407 elif (True) :
7408 alt74 = 2
7409 else:
7410 if self.backtracking > 0:
7411 self.failed = True
7412 return
7413
7414 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
7415
7416 raise nvae
7417
7418 elif LA74 == 72:
7419 LA74_252 = self.input.LA(3)
7420
7421 if (self.synpred142()) :
7422 alt74 = 1
7423 elif (True) :
7424 alt74 = 2
7425 else:
7426 if self.backtracking > 0:
7427 self.failed = True
7428 return
7429
7430 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
7431
7432 raise nvae
7433
7434 elif LA74 == 73:
7435 LA74_253 = self.input.LA(3)
7436
7437 if (self.synpred142()) :
7438 alt74 = 1
7439 elif (True) :
7440 alt74 = 2
7441 else:
7442 if self.backtracking > 0:
7443 self.failed = True
7444 return
7445
7446 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
7447
7448 raise nvae
7449
7450 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7451 LA74_254 = self.input.LA(3)
7452
7453 if (self.synpred142()) :
7454 alt74 = 1
7455 elif (True) :
7456 alt74 = 2
7457 else:
7458 if self.backtracking > 0:
7459 self.failed = True
7460 return
7461
7462 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
7463
7464 raise nvae
7465
7466 elif LA74 == 74:
7467 LA74_255 = self.input.LA(3)
7468
7469 if (self.synpred142()) :
7470 alt74 = 1
7471 elif (True) :
7472 alt74 = 2
7473 else:
7474 if self.backtracking > 0:
7475 self.failed = True
7476 return
7477
7478 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
7479
7480 raise nvae
7481
7482 else:
7483 if self.backtracking > 0:
7484 self.failed = True
7485 return
7486
7487 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
7488
7489 raise nvae
7490
7491 elif LA74 == 73:
7492 LA74 = self.input.LA(2)
7493 if LA74 == IDENTIFIER:
7494 LA74_256 = self.input.LA(3)
7495
7496 if (self.synpred142()) :
7497 alt74 = 1
7498 elif (True) :
7499 alt74 = 2
7500 else:
7501 if self.backtracking > 0:
7502 self.failed = True
7503 return
7504
7505 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input)
7506
7507 raise nvae
7508
7509 elif LA74 == HEX_LITERAL:
7510 LA74_257 = self.input.LA(3)
7511
7512 if (self.synpred142()) :
7513 alt74 = 1
7514 elif (True) :
7515 alt74 = 2
7516 else:
7517 if self.backtracking > 0:
7518 self.failed = True
7519 return
7520
7521 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input)
7522
7523 raise nvae
7524
7525 elif LA74 == OCTAL_LITERAL:
7526 LA74_258 = self.input.LA(3)
7527
7528 if (self.synpred142()) :
7529 alt74 = 1
7530 elif (True) :
7531 alt74 = 2
7532 else:
7533 if self.backtracking > 0:
7534 self.failed = True
7535 return
7536
7537 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input)
7538
7539 raise nvae
7540
7541 elif LA74 == DECIMAL_LITERAL:
7542 LA74_259 = self.input.LA(3)
7543
7544 if (self.synpred142()) :
7545 alt74 = 1
7546 elif (True) :
7547 alt74 = 2
7548 else:
7549 if self.backtracking > 0:
7550 self.failed = True
7551 return
7552
7553 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input)
7554
7555 raise nvae
7556
7557 elif LA74 == CHARACTER_LITERAL:
7558 LA74_260 = self.input.LA(3)
7559
7560 if (self.synpred142()) :
7561 alt74 = 1
7562 elif (True) :
7563 alt74 = 2
7564 else:
7565 if self.backtracking > 0:
7566 self.failed = True
7567 return
7568
7569 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input)
7570
7571 raise nvae
7572
7573 elif LA74 == STRING_LITERAL:
7574 LA74_261 = self.input.LA(3)
7575
7576 if (self.synpred142()) :
7577 alt74 = 1
7578 elif (True) :
7579 alt74 = 2
7580 else:
7581 if self.backtracking > 0:
7582 self.failed = True
7583 return
7584
7585 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input)
7586
7587 raise nvae
7588
7589 elif LA74 == FLOATING_POINT_LITERAL:
7590 LA74_262 = self.input.LA(3)
7591
7592 if (self.synpred142()) :
7593 alt74 = 1
7594 elif (True) :
7595 alt74 = 2
7596 else:
7597 if self.backtracking > 0:
7598 self.failed = True
7599 return
7600
7601 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
7602
7603 raise nvae
7604
7605 elif LA74 == 62:
7606 LA74_263 = self.input.LA(3)
7607
7608 if (self.synpred142()) :
7609 alt74 = 1
7610 elif (True) :
7611 alt74 = 2
7612 else:
7613 if self.backtracking > 0:
7614 self.failed = True
7615 return
7616
7617 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
7618
7619 raise nvae
7620
7621 elif LA74 == 72:
7622 LA74_264 = self.input.LA(3)
7623
7624 if (self.synpred142()) :
7625 alt74 = 1
7626 elif (True) :
7627 alt74 = 2
7628 else:
7629 if self.backtracking > 0:
7630 self.failed = True
7631 return
7632
7633 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
7634
7635 raise nvae
7636
7637 elif LA74 == 73:
7638 LA74_265 = self.input.LA(3)
7639
7640 if (self.synpred142()) :
7641 alt74 = 1
7642 elif (True) :
7643 alt74 = 2
7644 else:
7645 if self.backtracking > 0:
7646 self.failed = True
7647 return
7648
7649 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
7650
7651 raise nvae
7652
7653 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7654 LA74_266 = self.input.LA(3)
7655
7656 if (self.synpred142()) :
7657 alt74 = 1
7658 elif (True) :
7659 alt74 = 2
7660 else:
7661 if self.backtracking > 0:
7662 self.failed = True
7663 return
7664
7665 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
7666
7667 raise nvae
7668
7669 elif LA74 == 74:
7670 LA74_267 = self.input.LA(3)
7671
7672 if (self.synpred142()) :
7673 alt74 = 1
7674 elif (True) :
7675 alt74 = 2
7676 else:
7677 if self.backtracking > 0:
7678 self.failed = True
7679 return
7680
7681 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
7682
7683 raise nvae
7684
7685 else:
7686 if self.backtracking > 0:
7687 self.failed = True
7688 return
7689
7690 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
7691
7692 raise nvae
7693
7694 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7695 LA74 = self.input.LA(2)
7696 if LA74 == 62:
7697 LA74_268 = self.input.LA(3)
7698
7699 if (self.synpred142()) :
7700 alt74 = 1
7701 elif (True) :
7702 alt74 = 2
7703 else:
7704 if self.backtracking > 0:
7705 self.failed = True
7706 return
7707
7708 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input)
7709
7710 raise nvae
7711
7712 elif LA74 == IDENTIFIER:
7713 LA74_269 = self.input.LA(3)
7714
7715 if (self.synpred142()) :
7716 alt74 = 1
7717 elif (True) :
7718 alt74 = 2
7719 else:
7720 if self.backtracking > 0:
7721 self.failed = True
7722 return
7723
7724 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input)
7725
7726 raise nvae
7727
7728 elif LA74 == HEX_LITERAL:
7729 LA74_270 = self.input.LA(3)
7730
7731 if (self.synpred142()) :
7732 alt74 = 1
7733 elif (True) :
7734 alt74 = 2
7735 else:
7736 if self.backtracking > 0:
7737 self.failed = True
7738 return
7739
7740 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input)
7741
7742 raise nvae
7743
7744 elif LA74 == OCTAL_LITERAL:
7745 LA74_271 = self.input.LA(3)
7746
7747 if (self.synpred142()) :
7748 alt74 = 1
7749 elif (True) :
7750 alt74 = 2
7751 else:
7752 if self.backtracking > 0:
7753 self.failed = True
7754 return
7755
7756 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input)
7757
7758 raise nvae
7759
7760 elif LA74 == DECIMAL_LITERAL:
7761 LA74_272 = self.input.LA(3)
7762
7763 if (self.synpred142()) :
7764 alt74 = 1
7765 elif (True) :
7766 alt74 = 2
7767 else:
7768 if self.backtracking > 0:
7769 self.failed = True
7770 return
7771
7772 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input)
7773
7774 raise nvae
7775
7776 elif LA74 == CHARACTER_LITERAL:
7777 LA74_273 = self.input.LA(3)
7778
7779 if (self.synpred142()) :
7780 alt74 = 1
7781 elif (True) :
7782 alt74 = 2
7783 else:
7784 if self.backtracking > 0:
7785 self.failed = True
7786 return
7787
7788 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input)
7789
7790 raise nvae
7791
7792 elif LA74 == STRING_LITERAL:
7793 LA74_274 = self.input.LA(3)
7794
7795 if (self.synpred142()) :
7796 alt74 = 1
7797 elif (True) :
7798 alt74 = 2
7799 else:
7800 if self.backtracking > 0:
7801 self.failed = True
7802 return
7803
7804 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input)
7805
7806 raise nvae
7807
7808 elif LA74 == FLOATING_POINT_LITERAL:
7809 LA74_275 = self.input.LA(3)
7810
7811 if (self.synpred142()) :
7812 alt74 = 1
7813 elif (True) :
7814 alt74 = 2
7815 else:
7816 if self.backtracking > 0:
7817 self.failed = True
7818 return
7819
7820 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
7821
7822 raise nvae
7823
7824 elif LA74 == 72:
7825 LA74_276 = self.input.LA(3)
7826
7827 if (self.synpred142()) :
7828 alt74 = 1
7829 elif (True) :
7830 alt74 = 2
7831 else:
7832 if self.backtracking > 0:
7833 self.failed = True
7834 return
7835
7836 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
7837
7838 raise nvae
7839
7840 elif LA74 == 73:
7841 LA74_277 = self.input.LA(3)
7842
7843 if (self.synpred142()) :
7844 alt74 = 1
7845 elif (True) :
7846 alt74 = 2
7847 else:
7848 if self.backtracking > 0:
7849 self.failed = True
7850 return
7851
7852 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
7853
7854 raise nvae
7855
7856 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
7857 LA74_278 = self.input.LA(3)
7858
7859 if (self.synpred142()) :
7860 alt74 = 1
7861 elif (True) :
7862 alt74 = 2
7863 else:
7864 if self.backtracking > 0:
7865 self.failed = True
7866 return
7867
7868 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
7869
7870 raise nvae
7871
7872 elif LA74 == 74:
7873 LA74_279 = self.input.LA(3)
7874
7875 if (self.synpred142()) :
7876 alt74 = 1
7877 elif (True) :
7878 alt74 = 2
7879 else:
7880 if self.backtracking > 0:
7881 self.failed = True
7882 return
7883
7884 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
7885
7886 raise nvae
7887
7888 else:
7889 if self.backtracking > 0:
7890 self.failed = True
7891 return
7892
7893 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
7894
7895 raise nvae
7896
7897 elif LA74 == 74:
7898 LA74 = self.input.LA(2)
7899 if LA74 == 62:
7900 LA74_280 = self.input.LA(3)
7901
7902 if (self.synpred142()) :
7903 alt74 = 1
7904 elif (True) :
7905 alt74 = 2
7906 else:
7907 if self.backtracking > 0:
7908 self.failed = True
7909 return
7910
7911 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input)
7912
7913 raise nvae
7914
7915 elif LA74 == IDENTIFIER:
7916 LA74_281 = self.input.LA(3)
7917
7918 if (self.synpred142()) :
7919 alt74 = 1
7920 elif (True) :
7921 alt74 = 2
7922 else:
7923 if self.backtracking > 0:
7924 self.failed = True
7925 return
7926
7927 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input)
7928
7929 raise nvae
7930
7931 elif LA74 == HEX_LITERAL:
7932 LA74_282 = self.input.LA(3)
7933
7934 if (self.synpred142()) :
7935 alt74 = 1
7936 elif (True) :
7937 alt74 = 2
7938 else:
7939 if self.backtracking > 0:
7940 self.failed = True
7941 return
7942
7943 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input)
7944
7945 raise nvae
7946
7947 elif LA74 == OCTAL_LITERAL:
7948 LA74_283 = self.input.LA(3)
7949
7950 if (self.synpred142()) :
7951 alt74 = 1
7952 elif (True) :
7953 alt74 = 2
7954 else:
7955 if self.backtracking > 0:
7956 self.failed = True
7957 return
7958
7959 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input)
7960
7961 raise nvae
7962
7963 elif LA74 == DECIMAL_LITERAL:
7964 LA74_284 = self.input.LA(3)
7965
7966 if (self.synpred142()) :
7967 alt74 = 1
7968 elif (True) :
7969 alt74 = 2
7970 else:
7971 if self.backtracking > 0:
7972 self.failed = True
7973 return
7974
7975 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input)
7976
7977 raise nvae
7978
7979 elif LA74 == CHARACTER_LITERAL:
7980 LA74_285 = self.input.LA(3)
7981
7982 if (self.synpred142()) :
7983 alt74 = 1
7984 elif (True) :
7985 alt74 = 2
7986 else:
7987 if self.backtracking > 0:
7988 self.failed = True
7989 return
7990
7991 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input)
7992
7993 raise nvae
7994
7995 elif LA74 == STRING_LITERAL:
7996 LA74_286 = self.input.LA(3)
7997
7998 if (self.synpred142()) :
7999 alt74 = 1
8000 elif (True) :
8001 alt74 = 2
8002 else:
8003 if self.backtracking > 0:
8004 self.failed = True
8005 return
8006
8007 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input)
8008
8009 raise nvae
8010
8011 elif LA74 == FLOATING_POINT_LITERAL:
8012 LA74_287 = self.input.LA(3)
8013
8014 if (self.synpred142()) :
8015 alt74 = 1
8016 elif (True) :
8017 alt74 = 2
8018 else:
8019 if self.backtracking > 0:
8020 self.failed = True
8021 return
8022
8023 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
8024
8025 raise nvae
8026
8027 elif LA74 == 72:
8028 LA74_288 = self.input.LA(3)
8029
8030 if (self.synpred142()) :
8031 alt74 = 1
8032 elif (True) :
8033 alt74 = 2
8034 else:
8035 if self.backtracking > 0:
8036 self.failed = True
8037 return
8038
8039 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
8040
8041 raise nvae
8042
8043 elif LA74 == 73:
8044 LA74_289 = self.input.LA(3)
8045
8046 if (self.synpred142()) :
8047 alt74 = 1
8048 elif (True) :
8049 alt74 = 2
8050 else:
8051 if self.backtracking > 0:
8052 self.failed = True
8053 return
8054
8055 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
8056
8057 raise nvae
8058
8059 elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
8060 LA74_290 = self.input.LA(3)
8061
8062 if (self.synpred142()) :
8063 alt74 = 1
8064 elif (True) :
8065 alt74 = 2
8066 else:
8067 if self.backtracking > 0:
8068 self.failed = True
8069 return
8070
8071 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
8072
8073 raise nvae
8074
8075 elif LA74 == 74:
8076 LA74_291 = self.input.LA(3)
8077
8078 if (self.synpred142()) :
8079 alt74 = 1
8080 elif (True) :
8081 alt74 = 2
8082 else:
8083 if self.backtracking > 0:
8084 self.failed = True
8085 return
8086
8087 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
8088
8089 raise nvae
8090
8091 else:
8092 if self.backtracking > 0:
8093 self.failed = True
8094 return
8095
8096 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
8097
8098 raise nvae
8099
8100 else:
8101 if self.backtracking > 0:
8102 self.failed = True
8103 return
8104
8105 nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
8106
8107 raise nvae
8108
8109 if alt74 == 1:
8110 # C.g:458:4: lvalue assignment_operator assignment_expression
8111 self.following.append(self.FOLLOW_lvalue_in_assignment_expression1744)
8112 self.lvalue()
8113 self.following.pop()
8114 if self.failed:
8115 return
8116 self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1746)
8117 self.assignment_operator()
8118 self.following.pop()
8119 if self.failed:
8120 return
8121 self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748)
8122 self.assignment_expression()
8123 self.following.pop()
8124 if self.failed:
8125 return
8126
8127
8128 elif alt74 == 2:
8129 # C.g:459:4: conditional_expression
8130 self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1753)
8131 self.conditional_expression()
8132 self.following.pop()
8133 if self.failed:
8134 return
8135
8136
8137
8138 except RecognitionException, re:
8139 self.reportError(re)
8140 self.recover(self.input, re)
8141 finally:
8142 if self.backtracking > 0:
8143 self.memoize(self.input, 48, assignment_expression_StartIndex)
8144
8145 pass
8146
8147 return
8148
8149 # $ANTLR end assignment_expression
8150
8151
8152 # $ANTLR start lvalue
8153 # C.g:462:1: lvalue : unary_expression ;
8154 def lvalue(self, ):
8155
8156 lvalue_StartIndex = self.input.index()
8157 try:
8158 try:
8159 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
8160 return
8161
8162 # C.g:463:2: ( unary_expression )
8163 # C.g:463:4: unary_expression
8164 self.following.append(self.FOLLOW_unary_expression_in_lvalue1765)
8165 self.unary_expression()
8166 self.following.pop()
8167 if self.failed:
8168 return
8169
8170
8171
8172
8173 except RecognitionException, re:
8174 self.reportError(re)
8175 self.recover(self.input, re)
8176 finally:
8177 if self.backtracking > 0:
8178 self.memoize(self.input, 49, lvalue_StartIndex)
8179
8180 pass
8181
8182 return
8183
8184 # $ANTLR end lvalue
8185
8186
8187 # $ANTLR start assignment_operator
8188 # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8189 def assignment_operator(self, ):
8190
8191 assignment_operator_StartIndex = self.input.index()
8192 try:
8193 try:
8194 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
8195 return
8196
8197 # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8198 # C.g:
8199 if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89):
8200 self.input.consume();
8201 self.errorRecovery = False
8202 self.failed = False
8203
8204 else:
8205 if self.backtracking > 0:
8206 self.failed = True
8207 return
8208
8209 mse = MismatchedSetException(None, self.input)
8210 self.recoverFromMismatchedSet(
8211 self.input, mse, self.FOLLOW_set_in_assignment_operator0
8212 )
8213 raise mse
8214
8215
8216
8217
8218
8219
8220 except RecognitionException, re:
8221 self.reportError(re)
8222 self.recover(self.input, re)
8223 finally:
8224 if self.backtracking > 0:
8225 self.memoize(self.input, 50, assignment_operator_StartIndex)
8226
8227 pass
8228
8229 return
8230
8231 # $ANTLR end assignment_operator
8232
8233
8234 # $ANTLR start conditional_expression
8235 # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8236 def conditional_expression(self, ):
8237
8238 conditional_expression_StartIndex = self.input.index()
8239 e = None
8240
8241
8242 try:
8243 try:
8244 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
8245 return
8246
8247 # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8248 # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8249 self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1839)
8250 e = self.logical_or_expression()
8251 self.following.pop()
8252 if self.failed:
8253 return
8254 # C.g:481:28: ( '?' expression ':' conditional_expression )?
8255 alt75 = 2
8256 LA75_0 = self.input.LA(1)
8257
8258 if (LA75_0 == 90) :
8259 alt75 = 1
8260 if alt75 == 1:
8261 # C.g:481:29: '?' expression ':' conditional_expression
8262 self.match(self.input, 90, self.FOLLOW_90_in_conditional_expression1842)
8263 if self.failed:
8264 return
8265 self.following.append(self.FOLLOW_expression_in_conditional_expression1844)
8266 self.expression()
8267 self.following.pop()
8268 if self.failed:
8269 return
8270 self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846)
8271 if self.failed:
8272 return
8273 self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848)
8274 self.conditional_expression()
8275 self.following.pop()
8276 if self.failed:
8277 return
8278 if self.backtracking == 0:
8279 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
8280
8281
8282
8283
8284
8285
8286
8287
8288 except RecognitionException, re:
8289 self.reportError(re)
8290 self.recover(self.input, re)
8291 finally:
8292 if self.backtracking > 0:
8293 self.memoize(self.input, 51, conditional_expression_StartIndex)
8294
8295 pass
8296
8297 return
8298
8299 # $ANTLR end conditional_expression
8300
8301 class logical_or_expression_return(object):
8302 def __init__(self):
8303 self.start = None
8304 self.stop = None
8305
8306
8307
8308 # $ANTLR start logical_or_expression
8309 # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8310 def logical_or_expression(self, ):
8311
8312 retval = self.logical_or_expression_return()
8313 retval.start = self.input.LT(1)
8314 logical_or_expression_StartIndex = self.input.index()
8315 try:
8316 try:
8317 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
8318 return retval
8319
8320 # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
8321 # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
8322 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1863)
8323 self.logical_and_expression()
8324 self.following.pop()
8325 if self.failed:
8326 return retval
8327 # C.g:485:27: ( '||' logical_and_expression )*
8328 while True: #loop76
8329 alt76 = 2
8330 LA76_0 = self.input.LA(1)
8331
8332 if (LA76_0 == 91) :
8333 alt76 = 1
8334
8335
8336 if alt76 == 1:
8337 # C.g:485:28: '||' logical_and_expression
8338 self.match(self.input, 91, self.FOLLOW_91_in_logical_or_expression1866)
8339 if self.failed:
8340 return retval
8341 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1868)
8342 self.logical_and_expression()
8343 self.following.pop()
8344 if self.failed:
8345 return retval
8346
8347
8348 else:
8349 break #loop76
8350
8351
8352
8353
8354
8355 retval.stop = self.input.LT(-1)
8356
8357
8358 except RecognitionException, re:
8359 self.reportError(re)
8360 self.recover(self.input, re)
8361 finally:
8362 if self.backtracking > 0:
8363 self.memoize(self.input, 52, logical_or_expression_StartIndex)
8364
8365 pass
8366
8367 return retval
8368
8369 # $ANTLR end logical_or_expression
8370
8371
8372 # $ANTLR start logical_and_expression
8373 # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8374 def logical_and_expression(self, ):
8375
8376 logical_and_expression_StartIndex = self.input.index()
8377 try:
8378 try:
8379 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
8380 return
8381
8382 # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8383 # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8384 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1881)
8385 self.inclusive_or_expression()
8386 self.following.pop()
8387 if self.failed:
8388 return
8389 # C.g:489:28: ( '&&' inclusive_or_expression )*
8390 while True: #loop77
8391 alt77 = 2
8392 LA77_0 = self.input.LA(1)
8393
8394 if (LA77_0 == 92) :
8395 alt77 = 1
8396
8397
8398 if alt77 == 1:
8399 # C.g:489:29: '&&' inclusive_or_expression
8400 self.match(self.input, 92, self.FOLLOW_92_in_logical_and_expression1884)
8401 if self.failed:
8402 return
8403 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1886)
8404 self.inclusive_or_expression()
8405 self.following.pop()
8406 if self.failed:
8407 return
8408
8409
8410 else:
8411 break #loop77
8412
8413
8414
8415
8416
8417
8418 except RecognitionException, re:
8419 self.reportError(re)
8420 self.recover(self.input, re)
8421 finally:
8422 if self.backtracking > 0:
8423 self.memoize(self.input, 53, logical_and_expression_StartIndex)
8424
8425 pass
8426
8427 return
8428
8429 # $ANTLR end logical_and_expression
8430
8431
8432 # $ANTLR start inclusive_or_expression
8433 # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8434 def inclusive_or_expression(self, ):
8435
8436 inclusive_or_expression_StartIndex = self.input.index()
8437 try:
8438 try:
8439 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
8440 return
8441
8442 # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8443 # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8444 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899)
8445 self.exclusive_or_expression()
8446 self.following.pop()
8447 if self.failed:
8448 return
8449 # C.g:493:28: ( '|' exclusive_or_expression )*
8450 while True: #loop78
8451 alt78 = 2
8452 LA78_0 = self.input.LA(1)
8453
8454 if (LA78_0 == 93) :
8455 alt78 = 1
8456
8457
8458 if alt78 == 1:
8459 # C.g:493:29: '|' exclusive_or_expression
8460 self.match(self.input, 93, self.FOLLOW_93_in_inclusive_or_expression1902)
8461 if self.failed:
8462 return
8463 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904)
8464 self.exclusive_or_expression()
8465 self.following.pop()
8466 if self.failed:
8467 return
8468
8469
8470 else:
8471 break #loop78
8472
8473
8474
8475
8476
8477
8478 except RecognitionException, re:
8479 self.reportError(re)
8480 self.recover(self.input, re)
8481 finally:
8482 if self.backtracking > 0:
8483 self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
8484
8485 pass
8486
8487 return
8488
8489 # $ANTLR end inclusive_or_expression
8490
8491
8492 # $ANTLR start exclusive_or_expression
8493 # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8494 def exclusive_or_expression(self, ):
8495
8496 exclusive_or_expression_StartIndex = self.input.index()
8497 try:
8498 try:
8499 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
8500 return
8501
8502 # C.g:497:2: ( and_expression ( '^' and_expression )* )
8503 # C.g:497:4: and_expression ( '^' and_expression )*
8504 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1917)
8505 self.and_expression()
8506 self.following.pop()
8507 if self.failed:
8508 return
8509 # C.g:497:19: ( '^' and_expression )*
8510 while True: #loop79
8511 alt79 = 2
8512 LA79_0 = self.input.LA(1)
8513
8514 if (LA79_0 == 94) :
8515 alt79 = 1
8516
8517
8518 if alt79 == 1:
8519 # C.g:497:20: '^' and_expression
8520 self.match(self.input, 94, self.FOLLOW_94_in_exclusive_or_expression1920)
8521 if self.failed:
8522 return
8523 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1922)
8524 self.and_expression()
8525 self.following.pop()
8526 if self.failed:
8527 return
8528
8529
8530 else:
8531 break #loop79
8532
8533
8534
8535
8536
8537
8538 except RecognitionException, re:
8539 self.reportError(re)
8540 self.recover(self.input, re)
8541 finally:
8542 if self.backtracking > 0:
8543 self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
8544
8545 pass
8546
8547 return
8548
8549 # $ANTLR end exclusive_or_expression
8550
8551
8552 # $ANTLR start and_expression
8553 # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
8554 def and_expression(self, ):
8555
8556 and_expression_StartIndex = self.input.index()
8557 try:
8558 try:
8559 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
8560 return
8561
8562 # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
8563 # C.g:501:4: equality_expression ( '&' equality_expression )*
8564 self.following.append(self.FOLLOW_equality_expression_in_and_expression1935)
8565 self.equality_expression()
8566 self.following.pop()
8567 if self.failed:
8568 return
8569 # C.g:501:24: ( '&' equality_expression )*
8570 while True: #loop80
8571 alt80 = 2
8572 LA80_0 = self.input.LA(1)
8573
8574 if (LA80_0 == 77) :
8575 alt80 = 1
8576
8577
8578 if alt80 == 1:
8579 # C.g:501:25: '&' equality_expression
8580 self.match(self.input, 77, self.FOLLOW_77_in_and_expression1938)
8581 if self.failed:
8582 return
8583 self.following.append(self.FOLLOW_equality_expression_in_and_expression1940)
8584 self.equality_expression()
8585 self.following.pop()
8586 if self.failed:
8587 return
8588
8589
8590 else:
8591 break #loop80
8592
8593
8594
8595
8596
8597
8598 except RecognitionException, re:
8599 self.reportError(re)
8600 self.recover(self.input, re)
8601 finally:
8602 if self.backtracking > 0:
8603 self.memoize(self.input, 56, and_expression_StartIndex)
8604
8605 pass
8606
8607 return
8608
8609 # $ANTLR end and_expression
8610
8611
8612 # $ANTLR start equality_expression
8613 # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8614 def equality_expression(self, ):
8615
8616 equality_expression_StartIndex = self.input.index()
8617 try:
8618 try:
8619 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
8620 return
8621
8622 # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8623 # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8624 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1952)
8625 self.relational_expression()
8626 self.following.pop()
8627 if self.failed:
8628 return
8629 # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
8630 while True: #loop81
8631 alt81 = 2
8632 LA81_0 = self.input.LA(1)
8633
8634 if ((95 <= LA81_0 <= 96)) :
8635 alt81 = 1
8636
8637
8638 if alt81 == 1:
8639 # C.g:504:27: ( '==' | '!=' ) relational_expression
8640 if (95 <= self.input.LA(1) <= 96):
8641 self.input.consume();
8642 self.errorRecovery = False
8643 self.failed = False
8644
8645 else:
8646 if self.backtracking > 0:
8647 self.failed = True
8648 return
8649
8650 mse = MismatchedSetException(None, self.input)
8651 self.recoverFromMismatchedSet(
8652 self.input, mse, self.FOLLOW_set_in_equality_expression1955
8653 )
8654 raise mse
8655
8656
8657 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961)
8658 self.relational_expression()
8659 self.following.pop()
8660 if self.failed:
8661 return
8662
8663
8664 else:
8665 break #loop81
8666
8667
8668
8669
8670
8671
8672 except RecognitionException, re:
8673 self.reportError(re)
8674 self.recover(self.input, re)
8675 finally:
8676 if self.backtracking > 0:
8677 self.memoize(self.input, 57, equality_expression_StartIndex)
8678
8679 pass
8680
8681 return
8682
8683 # $ANTLR end equality_expression
8684
8685
8686 # $ANTLR start relational_expression
8687 # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8688 def relational_expression(self, ):
8689
8690 relational_expression_StartIndex = self.input.index()
8691 try:
8692 try:
8693 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
8694 return
8695
8696 # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8697 # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8698 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1975)
8699 self.shift_expression()
8700 self.following.pop()
8701 if self.failed:
8702 return
8703 # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8704 while True: #loop82
8705 alt82 = 2
8706 LA82_0 = self.input.LA(1)
8707
8708 if ((97 <= LA82_0 <= 100)) :
8709 alt82 = 1
8710
8711
8712 if alt82 == 1:
8713 # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8714 if (97 <= self.input.LA(1) <= 100):
8715 self.input.consume();
8716 self.errorRecovery = False
8717 self.failed = False
8718
8719 else:
8720 if self.backtracking > 0:
8721 self.failed = True
8722 return
8723
8724 mse = MismatchedSetException(None, self.input)
8725 self.recoverFromMismatchedSet(
8726 self.input, mse, self.FOLLOW_set_in_relational_expression1978
8727 )
8728 raise mse
8729
8730
8731 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988)
8732 self.shift_expression()
8733 self.following.pop()
8734 if self.failed:
8735 return
8736
8737
8738 else:
8739 break #loop82
8740
8741
8742
8743
8744
8745
8746 except RecognitionException, re:
8747 self.reportError(re)
8748 self.recover(self.input, re)
8749 finally:
8750 if self.backtracking > 0:
8751 self.memoize(self.input, 58, relational_expression_StartIndex)
8752
8753 pass
8754
8755 return
8756
8757 # $ANTLR end relational_expression
8758
8759
8760 # $ANTLR start shift_expression
8761 # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8762 def shift_expression(self, ):
8763
8764 shift_expression_StartIndex = self.input.index()
8765 try:
8766 try:
8767 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
8768 return
8769
8770 # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8771 # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8772 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2001)
8773 self.additive_expression()
8774 self.following.pop()
8775 if self.failed:
8776 return
8777 # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
8778 while True: #loop83
8779 alt83 = 2
8780 LA83_0 = self.input.LA(1)
8781
8782 if ((101 <= LA83_0 <= 102)) :
8783 alt83 = 1
8784
8785
8786 if alt83 == 1:
8787 # C.g:512:25: ( '<<' | '>>' ) additive_expression
8788 if (101 <= self.input.LA(1) <= 102):
8789 self.input.consume();
8790 self.errorRecovery = False
8791 self.failed = False
8792
8793 else:
8794 if self.backtracking > 0:
8795 self.failed = True
8796 return
8797
8798 mse = MismatchedSetException(None, self.input)
8799 self.recoverFromMismatchedSet(
8800 self.input, mse, self.FOLLOW_set_in_shift_expression2004
8801 )
8802 raise mse
8803
8804
8805 self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010)
8806 self.additive_expression()
8807 self.following.pop()
8808 if self.failed:
8809 return
8810
8811
8812 else:
8813 break #loop83
8814
8815
8816
8817
8818
8819
8820 except RecognitionException, re:
8821 self.reportError(re)
8822 self.recover(self.input, re)
8823 finally:
8824 if self.backtracking > 0:
8825 self.memoize(self.input, 59, shift_expression_StartIndex)
8826
8827 pass
8828
8829 return
8830
8831 # $ANTLR end shift_expression
8832
8833
8834 # $ANTLR start statement
8835 # 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 );
8836 def statement(self, ):
8837
8838 statement_StartIndex = self.input.index()
8839 try:
8840 try:
8841 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
8842 return
8843
8844 # 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 )
8845 alt84 = 11
8846 LA84 = self.input.LA(1)
8847 if LA84 == IDENTIFIER:
8848 LA84 = self.input.LA(2)
8849 if LA84 == 62:
8850 LA84_43 = self.input.LA(3)
8851
8852 if (self.synpred169()) :
8853 alt84 = 3
8854 elif (self.synpred173()) :
8855 alt84 = 7
8856 elif (self.synpred174()) :
8857 alt84 = 8
8858 elif (True) :
8859 alt84 = 11
8860 else:
8861 if self.backtracking > 0:
8862 self.failed = True
8863 return
8864
8865 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)
8866
8867 raise nvae
8868
8869 elif LA84 == 47:
8870 alt84 = 1
8871 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:
8872 alt84 = 3
8873 elif LA84 == 66:
8874 LA84_47 = self.input.LA(3)
8875
8876 if (self.synpred169()) :
8877 alt84 = 3
8878 elif (True) :
8879 alt84 = 11
8880 else:
8881 if self.backtracking > 0:
8882 self.failed = True
8883 return
8884
8885 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)
8886
8887 raise nvae
8888
8889 elif LA84 == IDENTIFIER:
8890 LA84_53 = self.input.LA(3)
8891
8892 if (self.synpred169()) :
8893 alt84 = 3
8894 elif (True) :
8895 alt84 = 11
8896 else:
8897 if self.backtracking > 0:
8898 self.failed = True
8899 return
8900
8901 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)
8902
8903 raise nvae
8904
8905 elif LA84 == 25:
8906 LA84_68 = self.input.LA(3)
8907
8908 if (self.synpred169()) :
8909 alt84 = 3
8910 elif (True) :
8911 alt84 = 11
8912 else:
8913 if self.backtracking > 0:
8914 self.failed = True
8915 return
8916
8917 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)
8918
8919 raise nvae
8920
8921 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:
8922 alt84 = 11
8923 else:
8924 if self.backtracking > 0:
8925 self.failed = True
8926 return
8927
8928 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)
8929
8930 raise nvae
8931
8932 elif LA84 == 106 or LA84 == 107:
8933 alt84 = 1
8934 elif LA84 == 43:
8935 alt84 = 2
8936 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:
8937 alt84 = 3
8938 elif LA84 == 108 or LA84 == 110:
8939 alt84 = 4
8940 elif LA84 == 111 or LA84 == 112 or LA84 == 113:
8941 alt84 = 5
8942 elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117:
8943 alt84 = 6
8944 elif LA84 == 103:
8945 alt84 = 8
8946 elif LA84 == 104:
8947 alt84 = 9
8948 elif LA84 == 105:
8949 alt84 = 10
8950 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:
8951 alt84 = 11
8952 else:
8953 if self.backtracking > 0:
8954 self.failed = True
8955 return
8956
8957 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)
8958
8959 raise nvae
8960
8961 if alt84 == 1:
8962 # C.g:518:4: labeled_statement
8963 self.following.append(self.FOLLOW_labeled_statement_in_statement2025)
8964 self.labeled_statement()
8965 self.following.pop()
8966 if self.failed:
8967 return
8968
8969
8970 elif alt84 == 2:
8971 # C.g:519:4: compound_statement
8972 self.following.append(self.FOLLOW_compound_statement_in_statement2030)
8973 self.compound_statement()
8974 self.following.pop()
8975 if self.failed:
8976 return
8977
8978
8979 elif alt84 == 3:
8980 # C.g:520:4: expression_statement
8981 self.following.append(self.FOLLOW_expression_statement_in_statement2035)
8982 self.expression_statement()
8983 self.following.pop()
8984 if self.failed:
8985 return
8986
8987
8988 elif alt84 == 4:
8989 # C.g:521:4: selection_statement
8990 self.following.append(self.FOLLOW_selection_statement_in_statement2040)
8991 self.selection_statement()
8992 self.following.pop()
8993 if self.failed:
8994 return
8995
8996
8997 elif alt84 == 5:
8998 # C.g:522:4: iteration_statement
8999 self.following.append(self.FOLLOW_iteration_statement_in_statement2045)
9000 self.iteration_statement()
9001 self.following.pop()
9002 if self.failed:
9003 return
9004
9005
9006 elif alt84 == 6:
9007 # C.g:523:4: jump_statement
9008 self.following.append(self.FOLLOW_jump_statement_in_statement2050)
9009 self.jump_statement()
9010 self.following.pop()
9011 if self.failed:
9012 return
9013
9014
9015 elif alt84 == 7:
9016 # C.g:524:4: macro_statement
9017 self.following.append(self.FOLLOW_macro_statement_in_statement2055)
9018 self.macro_statement()
9019 self.following.pop()
9020 if self.failed:
9021 return
9022
9023
9024 elif alt84 == 8:
9025 # C.g:525:4: asm2_statement
9026 self.following.append(self.FOLLOW_asm2_statement_in_statement2060)
9027 self.asm2_statement()
9028 self.following.pop()
9029 if self.failed:
9030 return
9031
9032
9033 elif alt84 == 9:
9034 # C.g:526:4: asm1_statement
9035 self.following.append(self.FOLLOW_asm1_statement_in_statement2065)
9036 self.asm1_statement()
9037 self.following.pop()
9038 if self.failed:
9039 return
9040
9041
9042 elif alt84 == 10:
9043 # C.g:527:4: asm_statement
9044 self.following.append(self.FOLLOW_asm_statement_in_statement2070)
9045 self.asm_statement()
9046 self.following.pop()
9047 if self.failed:
9048 return
9049
9050
9051 elif alt84 == 11:
9052 # C.g:528:4: declaration
9053 self.following.append(self.FOLLOW_declaration_in_statement2075)
9054 self.declaration()
9055 self.following.pop()
9056 if self.failed:
9057 return
9058
9059
9060
9061 except RecognitionException, re:
9062 self.reportError(re)
9063 self.recover(self.input, re)
9064 finally:
9065 if self.backtracking > 0:
9066 self.memoize(self.input, 60, statement_StartIndex)
9067
9068 pass
9069
9070 return
9071
9072 # $ANTLR end statement
9073
9074
9075 # $ANTLR start asm2_statement
9076 # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9077 def asm2_statement(self, ):
9078
9079 asm2_statement_StartIndex = self.input.index()
9080 try:
9081 try:
9082 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
9083 return
9084
9085 # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9086 # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9087 # C.g:532:4: ( '__asm__' )?
9088 alt85 = 2
9089 LA85_0 = self.input.LA(1)
9090
9091 if (LA85_0 == 103) :
9092 alt85 = 1
9093 if alt85 == 1:
9094 # C.g:0:0: '__asm__'
9095 self.match(self.input, 103, self.FOLLOW_103_in_asm2_statement2086)
9096 if self.failed:
9097 return
9098
9099
9100
9101 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2089)
9102 if self.failed:
9103 return
9104 self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091)
9105 if self.failed:
9106 return
9107 # C.g:532:30: (~ ( ';' ) )*
9108 while True: #loop86
9109 alt86 = 2
9110 LA86_0 = self.input.LA(1)
9111
9112 if (LA86_0 == 63) :
9113 LA86_1 = self.input.LA(2)
9114
9115 if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) :
9116 alt86 = 1
9117
9118
9119 elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) :
9120 alt86 = 1
9121
9122
9123 if alt86 == 1:
9124 # C.g:532:31: ~ ( ';' )
9125 if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 117):
9126 self.input.consume();
9127 self.errorRecovery = False
9128 self.failed = False
9129
9130 else:
9131 if self.backtracking > 0:
9132 self.failed = True
9133 return
9134
9135 mse = MismatchedSetException(None, self.input)
9136 self.recoverFromMismatchedSet(
9137 self.input, mse, self.FOLLOW_set_in_asm2_statement2094
9138 )
9139 raise mse
9140
9141
9142
9143
9144 else:
9145 break #loop86
9146
9147
9148 self.match(self.input, 63, self.FOLLOW_63_in_asm2_statement2101)
9149 if self.failed:
9150 return
9151 self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2103)
9152 if self.failed:
9153 return
9154
9155
9156
9157
9158 except RecognitionException, re:
9159 self.reportError(re)
9160 self.recover(self.input, re)
9161 finally:
9162 if self.backtracking > 0:
9163 self.memoize(self.input, 61, asm2_statement_StartIndex)
9164
9165 pass
9166
9167 return
9168
9169 # $ANTLR end asm2_statement
9170
9171
9172 # $ANTLR start asm1_statement
9173 # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9174 def asm1_statement(self, ):
9175
9176 asm1_statement_StartIndex = self.input.index()
9177 try:
9178 try:
9179 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
9180 return
9181
9182 # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9183 # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
9184 self.match(self.input, 104, self.FOLLOW_104_in_asm1_statement2115)
9185 if self.failed:
9186 return
9187 self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2117)
9188 if self.failed:
9189 return
9190 # C.g:536:15: (~ ( '}' ) )*
9191 while True: #loop87
9192 alt87 = 2
9193 LA87_0 = self.input.LA(1)
9194
9195 if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) :
9196 alt87 = 1
9197
9198
9199 if alt87 == 1:
9200 # C.g:536:16: ~ ( '}' )
9201 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9202 self.input.consume();
9203 self.errorRecovery = False
9204 self.failed = False
9205
9206 else:
9207 if self.backtracking > 0:
9208 self.failed = True
9209 return
9210
9211 mse = MismatchedSetException(None, self.input)
9212 self.recoverFromMismatchedSet(
9213 self.input, mse, self.FOLLOW_set_in_asm1_statement2120
9214 )
9215 raise mse
9216
9217
9218
9219
9220 else:
9221 break #loop87
9222
9223
9224 self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127)
9225 if self.failed:
9226 return
9227
9228
9229
9230
9231 except RecognitionException, re:
9232 self.reportError(re)
9233 self.recover(self.input, re)
9234 finally:
9235 if self.backtracking > 0:
9236 self.memoize(self.input, 62, asm1_statement_StartIndex)
9237
9238 pass
9239
9240 return
9241
9242 # $ANTLR end asm1_statement
9243
9244
9245 # $ANTLR start asm_statement
9246 # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9247 def asm_statement(self, ):
9248
9249 asm_statement_StartIndex = self.input.index()
9250 try:
9251 try:
9252 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
9253 return
9254
9255 # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9256 # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
9257 self.match(self.input, 105, self.FOLLOW_105_in_asm_statement2138)
9258 if self.failed:
9259 return
9260 self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2140)
9261 if self.failed:
9262 return
9263 # C.g:540:16: (~ ( '}' ) )*
9264 while True: #loop88
9265 alt88 = 2
9266 LA88_0 = self.input.LA(1)
9267
9268 if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) :
9269 alt88 = 1
9270
9271
9272 if alt88 == 1:
9273 # C.g:540:17: ~ ( '}' )
9274 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
9275 self.input.consume();
9276 self.errorRecovery = False
9277 self.failed = False
9278
9279 else:
9280 if self.backtracking > 0:
9281 self.failed = True
9282 return
9283
9284 mse = MismatchedSetException(None, self.input)
9285 self.recoverFromMismatchedSet(
9286 self.input, mse, self.FOLLOW_set_in_asm_statement2143
9287 )
9288 raise mse
9289
9290
9291
9292
9293 else:
9294 break #loop88
9295
9296
9297 self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150)
9298 if self.failed:
9299 return
9300
9301
9302
9303
9304 except RecognitionException, re:
9305 self.reportError(re)
9306 self.recover(self.input, re)
9307 finally:
9308 if self.backtracking > 0:
9309 self.memoize(self.input, 63, asm_statement_StartIndex)
9310
9311 pass
9312
9313 return
9314
9315 # $ANTLR end asm_statement
9316
9317
9318 # $ANTLR start macro_statement
9319 # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9320 def macro_statement(self, ):
9321
9322 macro_statement_StartIndex = self.input.index()
9323 try:
9324 try:
9325 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
9326 return
9327
9328 # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9329 # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9330 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2162)
9331 if self.failed:
9332 return
9333 self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2164)
9334 if self.failed:
9335 return
9336 # C.g:544:19: ( declaration )*
9337 while True: #loop89
9338 alt89 = 2
9339 LA89 = self.input.LA(1)
9340 if LA89 == IDENTIFIER:
9341 LA89 = self.input.LA(2)
9342 if LA89 == 62:
9343 LA89_45 = self.input.LA(3)
9344
9345 if (self.synpred181()) :
9346 alt89 = 1
9347
9348
9349 elif LA89 == IDENTIFIER:
9350 LA89_47 = self.input.LA(3)
9351
9352 if (self.synpred181()) :
9353 alt89 = 1
9354
9355
9356 elif LA89 == 66:
9357 LA89_50 = self.input.LA(3)
9358
9359 if (self.synpred181()) :
9360 alt89 = 1
9361
9362
9363 elif LA89 == 25:
9364 LA89_68 = self.input.LA(3)
9365
9366 if (self.synpred181()) :
9367 alt89 = 1
9368
9369
9370 elif LA89 == 58:
9371 LA89_71 = self.input.LA(3)
9372
9373 if (self.synpred181()) :
9374 alt89 = 1
9375
9376
9377 elif LA89 == 59:
9378 LA89_72 = self.input.LA(3)
9379
9380 if (self.synpred181()) :
9381 alt89 = 1
9382
9383
9384 elif LA89 == 60:
9385 LA89_73 = self.input.LA(3)
9386
9387 if (self.synpred181()) :
9388 alt89 = 1
9389
9390
9391 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9392 LA89_74 = self.input.LA(3)
9393
9394 if (self.synpred181()) :
9395 alt89 = 1
9396
9397
9398 elif LA89 == 34:
9399 LA89_75 = self.input.LA(3)
9400
9401 if (self.synpred181()) :
9402 alt89 = 1
9403
9404
9405 elif LA89 == 35:
9406 LA89_76 = self.input.LA(3)
9407
9408 if (self.synpred181()) :
9409 alt89 = 1
9410
9411
9412 elif LA89 == 36:
9413 LA89_77 = self.input.LA(3)
9414
9415 if (self.synpred181()) :
9416 alt89 = 1
9417
9418
9419 elif LA89 == 37:
9420 LA89_78 = self.input.LA(3)
9421
9422 if (self.synpred181()) :
9423 alt89 = 1
9424
9425
9426 elif LA89 == 38:
9427 LA89_79 = self.input.LA(3)
9428
9429 if (self.synpred181()) :
9430 alt89 = 1
9431
9432
9433 elif LA89 == 39:
9434 LA89_80 = self.input.LA(3)
9435
9436 if (self.synpred181()) :
9437 alt89 = 1
9438
9439
9440 elif LA89 == 40:
9441 LA89_81 = self.input.LA(3)
9442
9443 if (self.synpred181()) :
9444 alt89 = 1
9445
9446
9447 elif LA89 == 41:
9448 LA89_82 = self.input.LA(3)
9449
9450 if (self.synpred181()) :
9451 alt89 = 1
9452
9453
9454 elif LA89 == 42:
9455 LA89_83 = self.input.LA(3)
9456
9457 if (self.synpred181()) :
9458 alt89 = 1
9459
9460
9461 elif LA89 == 45 or LA89 == 46:
9462 LA89_84 = self.input.LA(3)
9463
9464 if (self.synpred181()) :
9465 alt89 = 1
9466
9467
9468 elif LA89 == 48:
9469 LA89_85 = self.input.LA(3)
9470
9471 if (self.synpred181()) :
9472 alt89 = 1
9473
9474
9475 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:
9476 LA89_86 = self.input.LA(3)
9477
9478 if (self.synpred181()) :
9479 alt89 = 1
9480
9481
9482
9483 elif LA89 == 26:
9484 LA89 = self.input.LA(2)
9485 if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9486 LA89_87 = self.input.LA(3)
9487
9488 if (self.synpred181()) :
9489 alt89 = 1
9490
9491
9492 elif LA89 == 34:
9493 LA89_88 = self.input.LA(3)
9494
9495 if (self.synpred181()) :
9496 alt89 = 1
9497
9498
9499 elif LA89 == 35:
9500 LA89_89 = self.input.LA(3)
9501
9502 if (self.synpred181()) :
9503 alt89 = 1
9504
9505
9506 elif LA89 == 36:
9507 LA89_90 = self.input.LA(3)
9508
9509 if (self.synpred181()) :
9510 alt89 = 1
9511
9512
9513 elif LA89 == 37:
9514 LA89_91 = self.input.LA(3)
9515
9516 if (self.synpred181()) :
9517 alt89 = 1
9518
9519
9520 elif LA89 == 38:
9521 LA89_92 = self.input.LA(3)
9522
9523 if (self.synpred181()) :
9524 alt89 = 1
9525
9526
9527 elif LA89 == 39:
9528 LA89_93 = self.input.LA(3)
9529
9530 if (self.synpred181()) :
9531 alt89 = 1
9532
9533
9534 elif LA89 == 40:
9535 LA89_94 = self.input.LA(3)
9536
9537 if (self.synpred181()) :
9538 alt89 = 1
9539
9540
9541 elif LA89 == 41:
9542 LA89_95 = self.input.LA(3)
9543
9544 if (self.synpred181()) :
9545 alt89 = 1
9546
9547
9548 elif LA89 == 42:
9549 LA89_96 = self.input.LA(3)
9550
9551 if (self.synpred181()) :
9552 alt89 = 1
9553
9554
9555 elif LA89 == 45 or LA89 == 46:
9556 LA89_97 = self.input.LA(3)
9557
9558 if (self.synpred181()) :
9559 alt89 = 1
9560
9561
9562 elif LA89 == 48:
9563 LA89_98 = self.input.LA(3)
9564
9565 if (self.synpred181()) :
9566 alt89 = 1
9567
9568
9569 elif LA89 == IDENTIFIER:
9570 LA89_99 = self.input.LA(3)
9571
9572 if (self.synpred181()) :
9573 alt89 = 1
9574
9575
9576 elif LA89 == 58:
9577 LA89_100 = self.input.LA(3)
9578
9579 if (self.synpred181()) :
9580 alt89 = 1
9581
9582
9583 elif LA89 == 66:
9584 LA89_101 = self.input.LA(3)
9585
9586 if (self.synpred181()) :
9587 alt89 = 1
9588
9589
9590 elif LA89 == 59:
9591 LA89_102 = self.input.LA(3)
9592
9593 if (self.synpred181()) :
9594 alt89 = 1
9595
9596
9597 elif LA89 == 60:
9598 LA89_103 = self.input.LA(3)
9599
9600 if (self.synpred181()) :
9601 alt89 = 1
9602
9603
9604 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:
9605 LA89_104 = self.input.LA(3)
9606
9607 if (self.synpred181()) :
9608 alt89 = 1
9609
9610
9611 elif LA89 == 62:
9612 LA89_105 = self.input.LA(3)
9613
9614 if (self.synpred181()) :
9615 alt89 = 1
9616
9617
9618
9619 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9620 LA89 = self.input.LA(2)
9621 if LA89 == 66:
9622 LA89_106 = self.input.LA(3)
9623
9624 if (self.synpred181()) :
9625 alt89 = 1
9626
9627
9628 elif LA89 == 58:
9629 LA89_107 = self.input.LA(3)
9630
9631 if (self.synpred181()) :
9632 alt89 = 1
9633
9634
9635 elif LA89 == 59:
9636 LA89_108 = self.input.LA(3)
9637
9638 if (self.synpred181()) :
9639 alt89 = 1
9640
9641
9642 elif LA89 == 60:
9643 LA89_109 = self.input.LA(3)
9644
9645 if (self.synpred181()) :
9646 alt89 = 1
9647
9648
9649 elif LA89 == IDENTIFIER:
9650 LA89_110 = self.input.LA(3)
9651
9652 if (self.synpred181()) :
9653 alt89 = 1
9654
9655
9656 elif LA89 == 62:
9657 LA89_111 = self.input.LA(3)
9658
9659 if (self.synpred181()) :
9660 alt89 = 1
9661
9662
9663 elif LA89 == 25:
9664 LA89_112 = self.input.LA(3)
9665
9666 if (self.synpred181()) :
9667 alt89 = 1
9668
9669
9670 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9671 LA89_113 = self.input.LA(3)
9672
9673 if (self.synpred181()) :
9674 alt89 = 1
9675
9676
9677 elif LA89 == 34:
9678 LA89_114 = self.input.LA(3)
9679
9680 if (self.synpred181()) :
9681 alt89 = 1
9682
9683
9684 elif LA89 == 35:
9685 LA89_115 = self.input.LA(3)
9686
9687 if (self.synpred181()) :
9688 alt89 = 1
9689
9690
9691 elif LA89 == 36:
9692 LA89_116 = self.input.LA(3)
9693
9694 if (self.synpred181()) :
9695 alt89 = 1
9696
9697
9698 elif LA89 == 37:
9699 LA89_117 = self.input.LA(3)
9700
9701 if (self.synpred181()) :
9702 alt89 = 1
9703
9704
9705 elif LA89 == 38:
9706 LA89_118 = self.input.LA(3)
9707
9708 if (self.synpred181()) :
9709 alt89 = 1
9710
9711
9712 elif LA89 == 39:
9713 LA89_119 = self.input.LA(3)
9714
9715 if (self.synpred181()) :
9716 alt89 = 1
9717
9718
9719 elif LA89 == 40:
9720 LA89_120 = self.input.LA(3)
9721
9722 if (self.synpred181()) :
9723 alt89 = 1
9724
9725
9726 elif LA89 == 41:
9727 LA89_121 = self.input.LA(3)
9728
9729 if (self.synpred181()) :
9730 alt89 = 1
9731
9732
9733 elif LA89 == 42:
9734 LA89_122 = self.input.LA(3)
9735
9736 if (self.synpred181()) :
9737 alt89 = 1
9738
9739
9740 elif LA89 == 45 or LA89 == 46:
9741 LA89_123 = self.input.LA(3)
9742
9743 if (self.synpred181()) :
9744 alt89 = 1
9745
9746
9747 elif LA89 == 48:
9748 LA89_124 = self.input.LA(3)
9749
9750 if (self.synpred181()) :
9751 alt89 = 1
9752
9753
9754 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:
9755 LA89_125 = self.input.LA(3)
9756
9757 if (self.synpred181()) :
9758 alt89 = 1
9759
9760
9761
9762 elif LA89 == 34:
9763 LA89 = self.input.LA(2)
9764 if LA89 == 66:
9765 LA89_126 = self.input.LA(3)
9766
9767 if (self.synpred181()) :
9768 alt89 = 1
9769
9770
9771 elif LA89 == 58:
9772 LA89_127 = self.input.LA(3)
9773
9774 if (self.synpred181()) :
9775 alt89 = 1
9776
9777
9778 elif LA89 == 59:
9779 LA89_128 = self.input.LA(3)
9780
9781 if (self.synpred181()) :
9782 alt89 = 1
9783
9784
9785 elif LA89 == 60:
9786 LA89_129 = self.input.LA(3)
9787
9788 if (self.synpred181()) :
9789 alt89 = 1
9790
9791
9792 elif LA89 == IDENTIFIER:
9793 LA89_130 = self.input.LA(3)
9794
9795 if (self.synpred181()) :
9796 alt89 = 1
9797
9798
9799 elif LA89 == 62:
9800 LA89_131 = self.input.LA(3)
9801
9802 if (self.synpred181()) :
9803 alt89 = 1
9804
9805
9806 elif LA89 == 25:
9807 LA89_132 = self.input.LA(3)
9808
9809 if (self.synpred181()) :
9810 alt89 = 1
9811
9812
9813 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9814 LA89_133 = self.input.LA(3)
9815
9816 if (self.synpred181()) :
9817 alt89 = 1
9818
9819
9820 elif LA89 == 34:
9821 LA89_134 = self.input.LA(3)
9822
9823 if (self.synpred181()) :
9824 alt89 = 1
9825
9826
9827 elif LA89 == 35:
9828 LA89_135 = self.input.LA(3)
9829
9830 if (self.synpred181()) :
9831 alt89 = 1
9832
9833
9834 elif LA89 == 36:
9835 LA89_136 = self.input.LA(3)
9836
9837 if (self.synpred181()) :
9838 alt89 = 1
9839
9840
9841 elif LA89 == 37:
9842 LA89_137 = self.input.LA(3)
9843
9844 if (self.synpred181()) :
9845 alt89 = 1
9846
9847
9848 elif LA89 == 38:
9849 LA89_138 = self.input.LA(3)
9850
9851 if (self.synpred181()) :
9852 alt89 = 1
9853
9854
9855 elif LA89 == 39:
9856 LA89_139 = self.input.LA(3)
9857
9858 if (self.synpred181()) :
9859 alt89 = 1
9860
9861
9862 elif LA89 == 40:
9863 LA89_140 = self.input.LA(3)
9864
9865 if (self.synpred181()) :
9866 alt89 = 1
9867
9868
9869 elif LA89 == 41:
9870 LA89_141 = self.input.LA(3)
9871
9872 if (self.synpred181()) :
9873 alt89 = 1
9874
9875
9876 elif LA89 == 42:
9877 LA89_142 = self.input.LA(3)
9878
9879 if (self.synpred181()) :
9880 alt89 = 1
9881
9882
9883 elif LA89 == 45 or LA89 == 46:
9884 LA89_143 = self.input.LA(3)
9885
9886 if (self.synpred181()) :
9887 alt89 = 1
9888
9889
9890 elif LA89 == 48:
9891 LA89_144 = self.input.LA(3)
9892
9893 if (self.synpred181()) :
9894 alt89 = 1
9895
9896
9897 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:
9898 LA89_145 = self.input.LA(3)
9899
9900 if (self.synpred181()) :
9901 alt89 = 1
9902
9903
9904
9905 elif LA89 == 35:
9906 LA89 = self.input.LA(2)
9907 if LA89 == 66:
9908 LA89_146 = self.input.LA(3)
9909
9910 if (self.synpred181()) :
9911 alt89 = 1
9912
9913
9914 elif LA89 == 58:
9915 LA89_147 = self.input.LA(3)
9916
9917 if (self.synpred181()) :
9918 alt89 = 1
9919
9920
9921 elif LA89 == 59:
9922 LA89_148 = self.input.LA(3)
9923
9924 if (self.synpred181()) :
9925 alt89 = 1
9926
9927
9928 elif LA89 == 60:
9929 LA89_149 = self.input.LA(3)
9930
9931 if (self.synpred181()) :
9932 alt89 = 1
9933
9934
9935 elif LA89 == IDENTIFIER:
9936 LA89_150 = self.input.LA(3)
9937
9938 if (self.synpred181()) :
9939 alt89 = 1
9940
9941
9942 elif LA89 == 62:
9943 LA89_151 = self.input.LA(3)
9944
9945 if (self.synpred181()) :
9946 alt89 = 1
9947
9948
9949 elif LA89 == 25:
9950 LA89_152 = self.input.LA(3)
9951
9952 if (self.synpred181()) :
9953 alt89 = 1
9954
9955
9956 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9957 LA89_153 = self.input.LA(3)
9958
9959 if (self.synpred181()) :
9960 alt89 = 1
9961
9962
9963 elif LA89 == 34:
9964 LA89_154 = self.input.LA(3)
9965
9966 if (self.synpred181()) :
9967 alt89 = 1
9968
9969
9970 elif LA89 == 35:
9971 LA89_155 = self.input.LA(3)
9972
9973 if (self.synpred181()) :
9974 alt89 = 1
9975
9976
9977 elif LA89 == 36:
9978 LA89_156 = self.input.LA(3)
9979
9980 if (self.synpred181()) :
9981 alt89 = 1
9982
9983
9984 elif LA89 == 37:
9985 LA89_157 = self.input.LA(3)
9986
9987 if (self.synpred181()) :
9988 alt89 = 1
9989
9990
9991 elif LA89 == 38:
9992 LA89_158 = self.input.LA(3)
9993
9994 if (self.synpred181()) :
9995 alt89 = 1
9996
9997
9998 elif LA89 == 39:
9999 LA89_159 = self.input.LA(3)
10000
10001 if (self.synpred181()) :
10002 alt89 = 1
10003
10004
10005 elif LA89 == 40:
10006 LA89_160 = self.input.LA(3)
10007
10008 if (self.synpred181()) :
10009 alt89 = 1
10010
10011
10012 elif LA89 == 41:
10013 LA89_161 = self.input.LA(3)
10014
10015 if (self.synpred181()) :
10016 alt89 = 1
10017
10018
10019 elif LA89 == 42:
10020 LA89_162 = self.input.LA(3)
10021
10022 if (self.synpred181()) :
10023 alt89 = 1
10024
10025
10026 elif LA89 == 45 or LA89 == 46:
10027 LA89_163 = self.input.LA(3)
10028
10029 if (self.synpred181()) :
10030 alt89 = 1
10031
10032
10033 elif LA89 == 48:
10034 LA89_164 = self.input.LA(3)
10035
10036 if (self.synpred181()) :
10037 alt89 = 1
10038
10039
10040 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:
10041 LA89_165 = self.input.LA(3)
10042
10043 if (self.synpred181()) :
10044 alt89 = 1
10045
10046
10047
10048 elif LA89 == 36:
10049 LA89 = self.input.LA(2)
10050 if LA89 == 66:
10051 LA89_166 = self.input.LA(3)
10052
10053 if (self.synpred181()) :
10054 alt89 = 1
10055
10056
10057 elif LA89 == 58:
10058 LA89_167 = self.input.LA(3)
10059
10060 if (self.synpred181()) :
10061 alt89 = 1
10062
10063
10064 elif LA89 == 59:
10065 LA89_168 = self.input.LA(3)
10066
10067 if (self.synpred181()) :
10068 alt89 = 1
10069
10070
10071 elif LA89 == 60:
10072 LA89_169 = self.input.LA(3)
10073
10074 if (self.synpred181()) :
10075 alt89 = 1
10076
10077
10078 elif LA89 == IDENTIFIER:
10079 LA89_170 = self.input.LA(3)
10080
10081 if (self.synpred181()) :
10082 alt89 = 1
10083
10084
10085 elif LA89 == 62:
10086 LA89_171 = self.input.LA(3)
10087
10088 if (self.synpred181()) :
10089 alt89 = 1
10090
10091
10092 elif LA89 == 25:
10093 LA89_172 = self.input.LA(3)
10094
10095 if (self.synpred181()) :
10096 alt89 = 1
10097
10098
10099 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10100 LA89_173 = self.input.LA(3)
10101
10102 if (self.synpred181()) :
10103 alt89 = 1
10104
10105
10106 elif LA89 == 34:
10107 LA89_174 = self.input.LA(3)
10108
10109 if (self.synpred181()) :
10110 alt89 = 1
10111
10112
10113 elif LA89 == 35:
10114 LA89_175 = self.input.LA(3)
10115
10116 if (self.synpred181()) :
10117 alt89 = 1
10118
10119
10120 elif LA89 == 36:
10121 LA89_176 = self.input.LA(3)
10122
10123 if (self.synpred181()) :
10124 alt89 = 1
10125
10126
10127 elif LA89 == 37:
10128 LA89_177 = self.input.LA(3)
10129
10130 if (self.synpred181()) :
10131 alt89 = 1
10132
10133
10134 elif LA89 == 38:
10135 LA89_178 = self.input.LA(3)
10136
10137 if (self.synpred181()) :
10138 alt89 = 1
10139
10140
10141 elif LA89 == 39:
10142 LA89_179 = self.input.LA(3)
10143
10144 if (self.synpred181()) :
10145 alt89 = 1
10146
10147
10148 elif LA89 == 40:
10149 LA89_180 = self.input.LA(3)
10150
10151 if (self.synpred181()) :
10152 alt89 = 1
10153
10154
10155 elif LA89 == 41:
10156 LA89_181 = self.input.LA(3)
10157
10158 if (self.synpred181()) :
10159 alt89 = 1
10160
10161
10162 elif LA89 == 42:
10163 LA89_182 = self.input.LA(3)
10164
10165 if (self.synpred181()) :
10166 alt89 = 1
10167
10168
10169 elif LA89 == 45 or LA89 == 46:
10170 LA89_183 = self.input.LA(3)
10171
10172 if (self.synpred181()) :
10173 alt89 = 1
10174
10175
10176 elif LA89 == 48:
10177 LA89_184 = self.input.LA(3)
10178
10179 if (self.synpred181()) :
10180 alt89 = 1
10181
10182
10183 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:
10184 LA89_185 = self.input.LA(3)
10185
10186 if (self.synpred181()) :
10187 alt89 = 1
10188
10189
10190
10191 elif LA89 == 37:
10192 LA89 = self.input.LA(2)
10193 if LA89 == 66:
10194 LA89_186 = self.input.LA(3)
10195
10196 if (self.synpred181()) :
10197 alt89 = 1
10198
10199
10200 elif LA89 == 58:
10201 LA89_187 = self.input.LA(3)
10202
10203 if (self.synpred181()) :
10204 alt89 = 1
10205
10206
10207 elif LA89 == 59:
10208 LA89_188 = self.input.LA(3)
10209
10210 if (self.synpred181()) :
10211 alt89 = 1
10212
10213
10214 elif LA89 == 60:
10215 LA89_189 = self.input.LA(3)
10216
10217 if (self.synpred181()) :
10218 alt89 = 1
10219
10220
10221 elif LA89 == IDENTIFIER:
10222 LA89_190 = self.input.LA(3)
10223
10224 if (self.synpred181()) :
10225 alt89 = 1
10226
10227
10228 elif LA89 == 62:
10229 LA89_191 = self.input.LA(3)
10230
10231 if (self.synpred181()) :
10232 alt89 = 1
10233
10234
10235 elif LA89 == 25:
10236 LA89_192 = self.input.LA(3)
10237
10238 if (self.synpred181()) :
10239 alt89 = 1
10240
10241
10242 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10243 LA89_193 = self.input.LA(3)
10244
10245 if (self.synpred181()) :
10246 alt89 = 1
10247
10248
10249 elif LA89 == 34:
10250 LA89_194 = self.input.LA(3)
10251
10252 if (self.synpred181()) :
10253 alt89 = 1
10254
10255
10256 elif LA89 == 35:
10257 LA89_195 = self.input.LA(3)
10258
10259 if (self.synpred181()) :
10260 alt89 = 1
10261
10262
10263 elif LA89 == 36:
10264 LA89_196 = self.input.LA(3)
10265
10266 if (self.synpred181()) :
10267 alt89 = 1
10268
10269
10270 elif LA89 == 37:
10271 LA89_197 = self.input.LA(3)
10272
10273 if (self.synpred181()) :
10274 alt89 = 1
10275
10276
10277 elif LA89 == 38:
10278 LA89_198 = self.input.LA(3)
10279
10280 if (self.synpred181()) :
10281 alt89 = 1
10282
10283
10284 elif LA89 == 39:
10285 LA89_199 = self.input.LA(3)
10286
10287 if (self.synpred181()) :
10288 alt89 = 1
10289
10290
10291 elif LA89 == 40:
10292 LA89_200 = self.input.LA(3)
10293
10294 if (self.synpred181()) :
10295 alt89 = 1
10296
10297
10298 elif LA89 == 41:
10299 LA89_201 = self.input.LA(3)
10300
10301 if (self.synpred181()) :
10302 alt89 = 1
10303
10304
10305 elif LA89 == 42:
10306 LA89_202 = self.input.LA(3)
10307
10308 if (self.synpred181()) :
10309 alt89 = 1
10310
10311
10312 elif LA89 == 45 or LA89 == 46:
10313 LA89_203 = self.input.LA(3)
10314
10315 if (self.synpred181()) :
10316 alt89 = 1
10317
10318
10319 elif LA89 == 48:
10320 LA89_204 = self.input.LA(3)
10321
10322 if (self.synpred181()) :
10323 alt89 = 1
10324
10325
10326 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:
10327 LA89_205 = self.input.LA(3)
10328
10329 if (self.synpred181()) :
10330 alt89 = 1
10331
10332
10333
10334 elif LA89 == 38:
10335 LA89 = self.input.LA(2)
10336 if LA89 == 66:
10337 LA89_206 = self.input.LA(3)
10338
10339 if (self.synpred181()) :
10340 alt89 = 1
10341
10342
10343 elif LA89 == 58:
10344 LA89_207 = self.input.LA(3)
10345
10346 if (self.synpred181()) :
10347 alt89 = 1
10348
10349
10350 elif LA89 == 59:
10351 LA89_208 = self.input.LA(3)
10352
10353 if (self.synpred181()) :
10354 alt89 = 1
10355
10356
10357 elif LA89 == 60:
10358 LA89_209 = self.input.LA(3)
10359
10360 if (self.synpred181()) :
10361 alt89 = 1
10362
10363
10364 elif LA89 == IDENTIFIER:
10365 LA89_210 = self.input.LA(3)
10366
10367 if (self.synpred181()) :
10368 alt89 = 1
10369
10370
10371 elif LA89 == 62:
10372 LA89_211 = self.input.LA(3)
10373
10374 if (self.synpred181()) :
10375 alt89 = 1
10376
10377
10378 elif LA89 == 25:
10379 LA89_212 = self.input.LA(3)
10380
10381 if (self.synpred181()) :
10382 alt89 = 1
10383
10384
10385 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10386 LA89_213 = self.input.LA(3)
10387
10388 if (self.synpred181()) :
10389 alt89 = 1
10390
10391
10392 elif LA89 == 34:
10393 LA89_214 = self.input.LA(3)
10394
10395 if (self.synpred181()) :
10396 alt89 = 1
10397
10398
10399 elif LA89 == 35:
10400 LA89_215 = self.input.LA(3)
10401
10402 if (self.synpred181()) :
10403 alt89 = 1
10404
10405
10406 elif LA89 == 36:
10407 LA89_216 = self.input.LA(3)
10408
10409 if (self.synpred181()) :
10410 alt89 = 1
10411
10412
10413 elif LA89 == 37:
10414 LA89_217 = self.input.LA(3)
10415
10416 if (self.synpred181()) :
10417 alt89 = 1
10418
10419
10420 elif LA89 == 38:
10421 LA89_218 = self.input.LA(3)
10422
10423 if (self.synpred181()) :
10424 alt89 = 1
10425
10426
10427 elif LA89 == 39:
10428 LA89_219 = self.input.LA(3)
10429
10430 if (self.synpred181()) :
10431 alt89 = 1
10432
10433
10434 elif LA89 == 40:
10435 LA89_220 = self.input.LA(3)
10436
10437 if (self.synpred181()) :
10438 alt89 = 1
10439
10440
10441 elif LA89 == 41:
10442 LA89_221 = self.input.LA(3)
10443
10444 if (self.synpred181()) :
10445 alt89 = 1
10446
10447
10448 elif LA89 == 42:
10449 LA89_222 = self.input.LA(3)
10450
10451 if (self.synpred181()) :
10452 alt89 = 1
10453
10454
10455 elif LA89 == 45 or LA89 == 46:
10456 LA89_223 = self.input.LA(3)
10457
10458 if (self.synpred181()) :
10459 alt89 = 1
10460
10461
10462 elif LA89 == 48:
10463 LA89_224 = self.input.LA(3)
10464
10465 if (self.synpred181()) :
10466 alt89 = 1
10467
10468
10469 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:
10470 LA89_225 = self.input.LA(3)
10471
10472 if (self.synpred181()) :
10473 alt89 = 1
10474
10475
10476
10477 elif LA89 == 39:
10478 LA89 = self.input.LA(2)
10479 if LA89 == 66:
10480 LA89_226 = self.input.LA(3)
10481
10482 if (self.synpred181()) :
10483 alt89 = 1
10484
10485
10486 elif LA89 == 58:
10487 LA89_227 = self.input.LA(3)
10488
10489 if (self.synpred181()) :
10490 alt89 = 1
10491
10492
10493 elif LA89 == 59:
10494 LA89_228 = self.input.LA(3)
10495
10496 if (self.synpred181()) :
10497 alt89 = 1
10498
10499
10500 elif LA89 == 60:
10501 LA89_229 = self.input.LA(3)
10502
10503 if (self.synpred181()) :
10504 alt89 = 1
10505
10506
10507 elif LA89 == IDENTIFIER:
10508 LA89_230 = self.input.LA(3)
10509
10510 if (self.synpred181()) :
10511 alt89 = 1
10512
10513
10514 elif LA89 == 62:
10515 LA89_231 = self.input.LA(3)
10516
10517 if (self.synpred181()) :
10518 alt89 = 1
10519
10520
10521 elif LA89 == 25:
10522 LA89_232 = self.input.LA(3)
10523
10524 if (self.synpred181()) :
10525 alt89 = 1
10526
10527
10528 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10529 LA89_233 = self.input.LA(3)
10530
10531 if (self.synpred181()) :
10532 alt89 = 1
10533
10534
10535 elif LA89 == 34:
10536 LA89_234 = self.input.LA(3)
10537
10538 if (self.synpred181()) :
10539 alt89 = 1
10540
10541
10542 elif LA89 == 35:
10543 LA89_235 = self.input.LA(3)
10544
10545 if (self.synpred181()) :
10546 alt89 = 1
10547
10548
10549 elif LA89 == 36:
10550 LA89_236 = self.input.LA(3)
10551
10552 if (self.synpred181()) :
10553 alt89 = 1
10554
10555
10556 elif LA89 == 37:
10557 LA89_237 = self.input.LA(3)
10558
10559 if (self.synpred181()) :
10560 alt89 = 1
10561
10562
10563 elif LA89 == 38:
10564 LA89_238 = self.input.LA(3)
10565
10566 if (self.synpred181()) :
10567 alt89 = 1
10568
10569
10570 elif LA89 == 39:
10571 LA89_239 = self.input.LA(3)
10572
10573 if (self.synpred181()) :
10574 alt89 = 1
10575
10576
10577 elif LA89 == 40:
10578 LA89_240 = self.input.LA(3)
10579
10580 if (self.synpred181()) :
10581 alt89 = 1
10582
10583
10584 elif LA89 == 41:
10585 LA89_241 = self.input.LA(3)
10586
10587 if (self.synpred181()) :
10588 alt89 = 1
10589
10590
10591 elif LA89 == 42:
10592 LA89_242 = self.input.LA(3)
10593
10594 if (self.synpred181()) :
10595 alt89 = 1
10596
10597
10598 elif LA89 == 45 or LA89 == 46:
10599 LA89_243 = self.input.LA(3)
10600
10601 if (self.synpred181()) :
10602 alt89 = 1
10603
10604
10605 elif LA89 == 48:
10606 LA89_244 = self.input.LA(3)
10607
10608 if (self.synpred181()) :
10609 alt89 = 1
10610
10611
10612 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:
10613 LA89_245 = self.input.LA(3)
10614
10615 if (self.synpred181()) :
10616 alt89 = 1
10617
10618
10619
10620 elif LA89 == 40:
10621 LA89 = self.input.LA(2)
10622 if LA89 == 66:
10623 LA89_246 = self.input.LA(3)
10624
10625 if (self.synpred181()) :
10626 alt89 = 1
10627
10628
10629 elif LA89 == 58:
10630 LA89_247 = self.input.LA(3)
10631
10632 if (self.synpred181()) :
10633 alt89 = 1
10634
10635
10636 elif LA89 == 59:
10637 LA89_248 = self.input.LA(3)
10638
10639 if (self.synpred181()) :
10640 alt89 = 1
10641
10642
10643 elif LA89 == 60:
10644 LA89_249 = self.input.LA(3)
10645
10646 if (self.synpred181()) :
10647 alt89 = 1
10648
10649
10650 elif LA89 == IDENTIFIER:
10651 LA89_250 = self.input.LA(3)
10652
10653 if (self.synpred181()) :
10654 alt89 = 1
10655
10656
10657 elif LA89 == 62:
10658 LA89_251 = self.input.LA(3)
10659
10660 if (self.synpred181()) :
10661 alt89 = 1
10662
10663
10664 elif LA89 == 25:
10665 LA89_252 = self.input.LA(3)
10666
10667 if (self.synpred181()) :
10668 alt89 = 1
10669
10670
10671 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10672 LA89_253 = self.input.LA(3)
10673
10674 if (self.synpred181()) :
10675 alt89 = 1
10676
10677
10678 elif LA89 == 34:
10679 LA89_254 = self.input.LA(3)
10680
10681 if (self.synpred181()) :
10682 alt89 = 1
10683
10684
10685 elif LA89 == 35:
10686 LA89_255 = self.input.LA(3)
10687
10688 if (self.synpred181()) :
10689 alt89 = 1
10690
10691
10692 elif LA89 == 36:
10693 LA89_256 = self.input.LA(3)
10694
10695 if (self.synpred181()) :
10696 alt89 = 1
10697
10698
10699 elif LA89 == 37:
10700 LA89_257 = self.input.LA(3)
10701
10702 if (self.synpred181()) :
10703 alt89 = 1
10704
10705
10706 elif LA89 == 38:
10707 LA89_258 = self.input.LA(3)
10708
10709 if (self.synpred181()) :
10710 alt89 = 1
10711
10712
10713 elif LA89 == 39:
10714 LA89_259 = self.input.LA(3)
10715
10716 if (self.synpred181()) :
10717 alt89 = 1
10718
10719
10720 elif LA89 == 40:
10721 LA89_260 = self.input.LA(3)
10722
10723 if (self.synpred181()) :
10724 alt89 = 1
10725
10726
10727 elif LA89 == 41:
10728 LA89_261 = self.input.LA(3)
10729
10730 if (self.synpred181()) :
10731 alt89 = 1
10732
10733
10734 elif LA89 == 42:
10735 LA89_262 = self.input.LA(3)
10736
10737 if (self.synpred181()) :
10738 alt89 = 1
10739
10740
10741 elif LA89 == 45 or LA89 == 46:
10742 LA89_263 = self.input.LA(3)
10743
10744 if (self.synpred181()) :
10745 alt89 = 1
10746
10747
10748 elif LA89 == 48:
10749 LA89_264 = self.input.LA(3)
10750
10751 if (self.synpred181()) :
10752 alt89 = 1
10753
10754
10755 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:
10756 LA89_265 = self.input.LA(3)
10757
10758 if (self.synpred181()) :
10759 alt89 = 1
10760
10761
10762
10763 elif LA89 == 41:
10764 LA89 = self.input.LA(2)
10765 if LA89 == 66:
10766 LA89_266 = self.input.LA(3)
10767
10768 if (self.synpred181()) :
10769 alt89 = 1
10770
10771
10772 elif LA89 == 58:
10773 LA89_267 = self.input.LA(3)
10774
10775 if (self.synpred181()) :
10776 alt89 = 1
10777
10778
10779 elif LA89 == 59:
10780 LA89_268 = self.input.LA(3)
10781
10782 if (self.synpred181()) :
10783 alt89 = 1
10784
10785
10786 elif LA89 == 60:
10787 LA89_269 = self.input.LA(3)
10788
10789 if (self.synpred181()) :
10790 alt89 = 1
10791
10792
10793 elif LA89 == IDENTIFIER:
10794 LA89_270 = self.input.LA(3)
10795
10796 if (self.synpred181()) :
10797 alt89 = 1
10798
10799
10800 elif LA89 == 62:
10801 LA89_271 = self.input.LA(3)
10802
10803 if (self.synpred181()) :
10804 alt89 = 1
10805
10806
10807 elif LA89 == 25:
10808 LA89_272 = self.input.LA(3)
10809
10810 if (self.synpred181()) :
10811 alt89 = 1
10812
10813
10814 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10815 LA89_273 = self.input.LA(3)
10816
10817 if (self.synpred181()) :
10818 alt89 = 1
10819
10820
10821 elif LA89 == 34:
10822 LA89_274 = self.input.LA(3)
10823
10824 if (self.synpred181()) :
10825 alt89 = 1
10826
10827
10828 elif LA89 == 35:
10829 LA89_275 = self.input.LA(3)
10830
10831 if (self.synpred181()) :
10832 alt89 = 1
10833
10834
10835 elif LA89 == 36:
10836 LA89_276 = self.input.LA(3)
10837
10838 if (self.synpred181()) :
10839 alt89 = 1
10840
10841
10842 elif LA89 == 37:
10843 LA89_277 = self.input.LA(3)
10844
10845 if (self.synpred181()) :
10846 alt89 = 1
10847
10848
10849 elif LA89 == 38:
10850 LA89_278 = self.input.LA(3)
10851
10852 if (self.synpred181()) :
10853 alt89 = 1
10854
10855
10856 elif LA89 == 39:
10857 LA89_279 = self.input.LA(3)
10858
10859 if (self.synpred181()) :
10860 alt89 = 1
10861
10862
10863 elif LA89 == 40:
10864 LA89_280 = self.input.LA(3)
10865
10866 if (self.synpred181()) :
10867 alt89 = 1
10868
10869
10870 elif LA89 == 41:
10871 LA89_281 = self.input.LA(3)
10872
10873 if (self.synpred181()) :
10874 alt89 = 1
10875
10876
10877 elif LA89 == 42:
10878 LA89_282 = self.input.LA(3)
10879
10880 if (self.synpred181()) :
10881 alt89 = 1
10882
10883
10884 elif LA89 == 45 or LA89 == 46:
10885 LA89_283 = self.input.LA(3)
10886
10887 if (self.synpred181()) :
10888 alt89 = 1
10889
10890
10891 elif LA89 == 48:
10892 LA89_284 = self.input.LA(3)
10893
10894 if (self.synpred181()) :
10895 alt89 = 1
10896
10897
10898 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:
10899 LA89_285 = self.input.LA(3)
10900
10901 if (self.synpred181()) :
10902 alt89 = 1
10903
10904
10905
10906 elif LA89 == 42:
10907 LA89 = self.input.LA(2)
10908 if LA89 == 66:
10909 LA89_286 = self.input.LA(3)
10910
10911 if (self.synpred181()) :
10912 alt89 = 1
10913
10914
10915 elif LA89 == 58:
10916 LA89_287 = self.input.LA(3)
10917
10918 if (self.synpred181()) :
10919 alt89 = 1
10920
10921
10922 elif LA89 == 59:
10923 LA89_288 = self.input.LA(3)
10924
10925 if (self.synpred181()) :
10926 alt89 = 1
10927
10928
10929 elif LA89 == 60:
10930 LA89_289 = self.input.LA(3)
10931
10932 if (self.synpred181()) :
10933 alt89 = 1
10934
10935
10936 elif LA89 == IDENTIFIER:
10937 LA89_290 = self.input.LA(3)
10938
10939 if (self.synpred181()) :
10940 alt89 = 1
10941
10942
10943 elif LA89 == 62:
10944 LA89_291 = self.input.LA(3)
10945
10946 if (self.synpred181()) :
10947 alt89 = 1
10948
10949
10950 elif LA89 == 25:
10951 LA89_292 = self.input.LA(3)
10952
10953 if (self.synpred181()) :
10954 alt89 = 1
10955
10956
10957 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10958 LA89_293 = self.input.LA(3)
10959
10960 if (self.synpred181()) :
10961 alt89 = 1
10962
10963
10964 elif LA89 == 34:
10965 LA89_294 = self.input.LA(3)
10966
10967 if (self.synpred181()) :
10968 alt89 = 1
10969
10970
10971 elif LA89 == 35:
10972 LA89_295 = self.input.LA(3)
10973
10974 if (self.synpred181()) :
10975 alt89 = 1
10976
10977
10978 elif LA89 == 36:
10979 LA89_296 = self.input.LA(3)
10980
10981 if (self.synpred181()) :
10982 alt89 = 1
10983
10984
10985 elif LA89 == 37:
10986 LA89_297 = self.input.LA(3)
10987
10988 if (self.synpred181()) :
10989 alt89 = 1
10990
10991
10992 elif LA89 == 38:
10993 LA89_298 = self.input.LA(3)
10994
10995 if (self.synpred181()) :
10996 alt89 = 1
10997
10998
10999 elif LA89 == 39:
11000 LA89_299 = self.input.LA(3)
11001
11002 if (self.synpred181()) :
11003 alt89 = 1
11004
11005
11006 elif LA89 == 40:
11007 LA89_300 = self.input.LA(3)
11008
11009 if (self.synpred181()) :
11010 alt89 = 1
11011
11012
11013 elif LA89 == 41:
11014 LA89_301 = self.input.LA(3)
11015
11016 if (self.synpred181()) :
11017 alt89 = 1
11018
11019
11020 elif LA89 == 42:
11021 LA89_302 = self.input.LA(3)
11022
11023 if (self.synpred181()) :
11024 alt89 = 1
11025
11026
11027 elif LA89 == 45 or LA89 == 46:
11028 LA89_303 = self.input.LA(3)
11029
11030 if (self.synpred181()) :
11031 alt89 = 1
11032
11033
11034 elif LA89 == 48:
11035 LA89_304 = self.input.LA(3)
11036
11037 if (self.synpred181()) :
11038 alt89 = 1
11039
11040
11041 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:
11042 LA89_305 = self.input.LA(3)
11043
11044 if (self.synpred181()) :
11045 alt89 = 1
11046
11047
11048
11049 elif LA89 == 45 or LA89 == 46:
11050 LA89_40 = self.input.LA(2)
11051
11052 if (LA89_40 == IDENTIFIER) :
11053 LA89_306 = self.input.LA(3)
11054
11055 if (self.synpred181()) :
11056 alt89 = 1
11057
11058
11059 elif (LA89_40 == 43) :
11060 LA89_307 = self.input.LA(3)
11061
11062 if (self.synpred181()) :
11063 alt89 = 1
11064
11065
11066
11067
11068 elif LA89 == 48:
11069 LA89_41 = self.input.LA(2)
11070
11071 if (LA89_41 == 43) :
11072 LA89_308 = self.input.LA(3)
11073
11074 if (self.synpred181()) :
11075 alt89 = 1
11076
11077
11078 elif (LA89_41 == IDENTIFIER) :
11079 LA89_309 = self.input.LA(3)
11080
11081 if (self.synpred181()) :
11082 alt89 = 1
11083
11084
11085
11086
11087 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:
11088 LA89 = self.input.LA(2)
11089 if LA89 == 66:
11090 LA89_310 = self.input.LA(3)
11091
11092 if (self.synpred181()) :
11093 alt89 = 1
11094
11095
11096 elif LA89 == 58:
11097 LA89_311 = self.input.LA(3)
11098
11099 if (self.synpred181()) :
11100 alt89 = 1
11101
11102
11103 elif LA89 == 59:
11104 LA89_312 = self.input.LA(3)
11105
11106 if (self.synpred181()) :
11107 alt89 = 1
11108
11109
11110 elif LA89 == 60:
11111 LA89_313 = self.input.LA(3)
11112
11113 if (self.synpred181()) :
11114 alt89 = 1
11115
11116
11117 elif LA89 == IDENTIFIER:
11118 LA89_314 = self.input.LA(3)
11119
11120 if (self.synpred181()) :
11121 alt89 = 1
11122
11123
11124 elif LA89 == 62:
11125 LA89_315 = self.input.LA(3)
11126
11127 if (self.synpred181()) :
11128 alt89 = 1
11129
11130
11131 elif LA89 == 25:
11132 LA89_316 = self.input.LA(3)
11133
11134 if (self.synpred181()) :
11135 alt89 = 1
11136
11137
11138 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
11139 LA89_317 = self.input.LA(3)
11140
11141 if (self.synpred181()) :
11142 alt89 = 1
11143
11144
11145 elif LA89 == 34:
11146 LA89_318 = self.input.LA(3)
11147
11148 if (self.synpred181()) :
11149 alt89 = 1
11150
11151
11152 elif LA89 == 35:
11153 LA89_319 = self.input.LA(3)
11154
11155 if (self.synpred181()) :
11156 alt89 = 1
11157
11158
11159 elif LA89 == 36:
11160 LA89_320 = self.input.LA(3)
11161
11162 if (self.synpred181()) :
11163 alt89 = 1
11164
11165
11166 elif LA89 == 37:
11167 LA89_321 = self.input.LA(3)
11168
11169 if (self.synpred181()) :
11170 alt89 = 1
11171
11172
11173 elif LA89 == 38:
11174 LA89_322 = self.input.LA(3)
11175
11176 if (self.synpred181()) :
11177 alt89 = 1
11178
11179
11180 elif LA89 == 39:
11181 LA89_323 = self.input.LA(3)
11182
11183 if (self.synpred181()) :
11184 alt89 = 1
11185
11186
11187 elif LA89 == 40:
11188 LA89_324 = self.input.LA(3)
11189
11190 if (self.synpred181()) :
11191 alt89 = 1
11192
11193
11194 elif LA89 == 41:
11195 LA89_325 = self.input.LA(3)
11196
11197 if (self.synpred181()) :
11198 alt89 = 1
11199
11200
11201 elif LA89 == 42:
11202 LA89_326 = self.input.LA(3)
11203
11204 if (self.synpred181()) :
11205 alt89 = 1
11206
11207
11208 elif LA89 == 45 or LA89 == 46:
11209 LA89_327 = self.input.LA(3)
11210
11211 if (self.synpred181()) :
11212 alt89 = 1
11213
11214
11215 elif LA89 == 48:
11216 LA89_328 = self.input.LA(3)
11217
11218 if (self.synpred181()) :
11219 alt89 = 1
11220
11221
11222 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:
11223 LA89_329 = self.input.LA(3)
11224
11225 if (self.synpred181()) :
11226 alt89 = 1
11227
11228
11229
11230
11231 if alt89 == 1:
11232 # C.g:0:0: declaration
11233 self.following.append(self.FOLLOW_declaration_in_macro_statement2166)
11234 self.declaration()
11235 self.following.pop()
11236 if self.failed:
11237 return
11238
11239
11240 else:
11241 break #loop89
11242
11243
11244 # C.g:544:33: ( statement_list )?
11245 alt90 = 2
11246 LA90 = self.input.LA(1)
11247 if LA90 == IDENTIFIER:
11248 LA90 = self.input.LA(2)
11249 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:
11250 alt90 = 1
11251 elif LA90 == 62:
11252 LA90_45 = self.input.LA(3)
11253
11254 if (self.synpred182()) :
11255 alt90 = 1
11256 elif LA90 == STRING_LITERAL:
11257 LA90_46 = self.input.LA(3)
11258
11259 if (self.synpred182()) :
11260 alt90 = 1
11261 elif LA90 == IDENTIFIER:
11262 LA90_47 = self.input.LA(3)
11263
11264 if (self.synpred182()) :
11265 alt90 = 1
11266 elif LA90 == 64:
11267 LA90_48 = self.input.LA(3)
11268
11269 if (self.synpred182()) :
11270 alt90 = 1
11271 elif LA90 == 75:
11272 LA90_49 = self.input.LA(3)
11273
11274 if (self.synpred182()) :
11275 alt90 = 1
11276 elif LA90 == 66:
11277 LA90_50 = self.input.LA(3)
11278
11279 if (self.synpred182()) :
11280 alt90 = 1
11281 elif LA90 == 76:
11282 LA90_51 = self.input.LA(3)
11283
11284 if (self.synpred182()) :
11285 alt90 = 1
11286 elif LA90 == 72:
11287 LA90_52 = self.input.LA(3)
11288
11289 if (self.synpred182()) :
11290 alt90 = 1
11291 elif LA90 == 73:
11292 LA90_53 = self.input.LA(3)
11293
11294 if (self.synpred182()) :
11295 alt90 = 1
11296 elif LA90 == 70:
11297 LA90_54 = self.input.LA(3)
11298
11299 if (self.synpred182()) :
11300 alt90 = 1
11301 elif LA90 == 71:
11302 LA90_55 = self.input.LA(3)
11303
11304 if (self.synpred182()) :
11305 alt90 = 1
11306 elif LA90 == 68:
11307 LA90_56 = self.input.LA(3)
11308
11309 if (self.synpred182()) :
11310 alt90 = 1
11311 elif LA90 == 69:
11312 LA90_57 = self.input.LA(3)
11313
11314 if (self.synpred182()) :
11315 alt90 = 1
11316 elif LA90 == 101 or LA90 == 102:
11317 LA90_58 = self.input.LA(3)
11318
11319 if (self.synpred182()) :
11320 alt90 = 1
11321 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11322 LA90_59 = self.input.LA(3)
11323
11324 if (self.synpred182()) :
11325 alt90 = 1
11326 elif LA90 == 95 or LA90 == 96:
11327 LA90_60 = self.input.LA(3)
11328
11329 if (self.synpred182()) :
11330 alt90 = 1
11331 elif LA90 == 77:
11332 LA90_61 = self.input.LA(3)
11333
11334 if (self.synpred182()) :
11335 alt90 = 1
11336 elif LA90 == 94:
11337 LA90_62 = self.input.LA(3)
11338
11339 if (self.synpred182()) :
11340 alt90 = 1
11341 elif LA90 == 93:
11342 LA90_63 = self.input.LA(3)
11343
11344 if (self.synpred182()) :
11345 alt90 = 1
11346 elif LA90 == 92:
11347 LA90_64 = self.input.LA(3)
11348
11349 if (self.synpred182()) :
11350 alt90 = 1
11351 elif LA90 == 91:
11352 LA90_65 = self.input.LA(3)
11353
11354 if (self.synpred182()) :
11355 alt90 = 1
11356 elif LA90 == 90:
11357 LA90_66 = self.input.LA(3)
11358
11359 if (self.synpred182()) :
11360 alt90 = 1
11361 elif LA90 == 27:
11362 LA90_67 = self.input.LA(3)
11363
11364 if (self.synpred182()) :
11365 alt90 = 1
11366 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:
11367 LA90_70 = self.input.LA(3)
11368
11369 if (self.synpred182()) :
11370 alt90 = 1
11371 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:
11372 alt90 = 1
11373 elif LA90 == HEX_LITERAL:
11374 LA90 = self.input.LA(2)
11375 if LA90 == 64:
11376 LA90_87 = self.input.LA(3)
11377
11378 if (self.synpred182()) :
11379 alt90 = 1
11380 elif LA90 == 62:
11381 LA90_88 = self.input.LA(3)
11382
11383 if (self.synpred182()) :
11384 alt90 = 1
11385 elif LA90 == 75:
11386 LA90_89 = self.input.LA(3)
11387
11388 if (self.synpred182()) :
11389 alt90 = 1
11390 elif LA90 == 66:
11391 LA90_90 = self.input.LA(3)
11392
11393 if (self.synpred182()) :
11394 alt90 = 1
11395 elif LA90 == 76:
11396 LA90_91 = self.input.LA(3)
11397
11398 if (self.synpred182()) :
11399 alt90 = 1
11400 elif LA90 == 72:
11401 LA90_92 = self.input.LA(3)
11402
11403 if (self.synpred182()) :
11404 alt90 = 1
11405 elif LA90 == 73:
11406 LA90_93 = self.input.LA(3)
11407
11408 if (self.synpred182()) :
11409 alt90 = 1
11410 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:
11411 LA90_94 = self.input.LA(3)
11412
11413 if (self.synpred182()) :
11414 alt90 = 1
11415 elif LA90 == 70:
11416 LA90_95 = self.input.LA(3)
11417
11418 if (self.synpred182()) :
11419 alt90 = 1
11420 elif LA90 == 71:
11421 LA90_96 = self.input.LA(3)
11422
11423 if (self.synpred182()) :
11424 alt90 = 1
11425 elif LA90 == 68:
11426 LA90_97 = self.input.LA(3)
11427
11428 if (self.synpred182()) :
11429 alt90 = 1
11430 elif LA90 == 69:
11431 LA90_98 = self.input.LA(3)
11432
11433 if (self.synpred182()) :
11434 alt90 = 1
11435 elif LA90 == 101 or LA90 == 102:
11436 LA90_99 = self.input.LA(3)
11437
11438 if (self.synpred182()) :
11439 alt90 = 1
11440 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11441 LA90_100 = self.input.LA(3)
11442
11443 if (self.synpred182()) :
11444 alt90 = 1
11445 elif LA90 == 95 or LA90 == 96:
11446 LA90_101 = self.input.LA(3)
11447
11448 if (self.synpred182()) :
11449 alt90 = 1
11450 elif LA90 == 77:
11451 LA90_102 = self.input.LA(3)
11452
11453 if (self.synpred182()) :
11454 alt90 = 1
11455 elif LA90 == 94:
11456 LA90_103 = self.input.LA(3)
11457
11458 if (self.synpred182()) :
11459 alt90 = 1
11460 elif LA90 == 93:
11461 LA90_104 = self.input.LA(3)
11462
11463 if (self.synpred182()) :
11464 alt90 = 1
11465 elif LA90 == 92:
11466 LA90_105 = self.input.LA(3)
11467
11468 if (self.synpred182()) :
11469 alt90 = 1
11470 elif LA90 == 91:
11471 LA90_106 = self.input.LA(3)
11472
11473 if (self.synpred182()) :
11474 alt90 = 1
11475 elif LA90 == 90:
11476 LA90_107 = self.input.LA(3)
11477
11478 if (self.synpred182()) :
11479 alt90 = 1
11480 elif LA90 == 27:
11481 LA90_108 = self.input.LA(3)
11482
11483 if (self.synpred182()) :
11484 alt90 = 1
11485 elif LA90 == 25:
11486 alt90 = 1
11487 elif LA90 == OCTAL_LITERAL:
11488 LA90 = self.input.LA(2)
11489 if LA90 == 64:
11490 LA90_111 = self.input.LA(3)
11491
11492 if (self.synpred182()) :
11493 alt90 = 1
11494 elif LA90 == 62:
11495 LA90_112 = self.input.LA(3)
11496
11497 if (self.synpred182()) :
11498 alt90 = 1
11499 elif LA90 == 75:
11500 LA90_113 = self.input.LA(3)
11501
11502 if (self.synpred182()) :
11503 alt90 = 1
11504 elif LA90 == 66:
11505 LA90_114 = self.input.LA(3)
11506
11507 if (self.synpred182()) :
11508 alt90 = 1
11509 elif LA90 == 76:
11510 LA90_115 = self.input.LA(3)
11511
11512 if (self.synpred182()) :
11513 alt90 = 1
11514 elif LA90 == 72:
11515 LA90_116 = self.input.LA(3)
11516
11517 if (self.synpred182()) :
11518 alt90 = 1
11519 elif LA90 == 73:
11520 LA90_117 = self.input.LA(3)
11521
11522 if (self.synpred182()) :
11523 alt90 = 1
11524 elif LA90 == 70:
11525 LA90_118 = self.input.LA(3)
11526
11527 if (self.synpred182()) :
11528 alt90 = 1
11529 elif LA90 == 71:
11530 LA90_119 = self.input.LA(3)
11531
11532 if (self.synpred182()) :
11533 alt90 = 1
11534 elif LA90 == 68:
11535 LA90_120 = self.input.LA(3)
11536
11537 if (self.synpred182()) :
11538 alt90 = 1
11539 elif LA90 == 69:
11540 LA90_121 = self.input.LA(3)
11541
11542 if (self.synpred182()) :
11543 alt90 = 1
11544 elif LA90 == 101 or LA90 == 102:
11545 LA90_122 = self.input.LA(3)
11546
11547 if (self.synpred182()) :
11548 alt90 = 1
11549 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11550 LA90_123 = self.input.LA(3)
11551
11552 if (self.synpred182()) :
11553 alt90 = 1
11554 elif LA90 == 95 or LA90 == 96:
11555 LA90_124 = self.input.LA(3)
11556
11557 if (self.synpred182()) :
11558 alt90 = 1
11559 elif LA90 == 77:
11560 LA90_125 = self.input.LA(3)
11561
11562 if (self.synpred182()) :
11563 alt90 = 1
11564 elif LA90 == 94:
11565 LA90_126 = self.input.LA(3)
11566
11567 if (self.synpred182()) :
11568 alt90 = 1
11569 elif LA90 == 93:
11570 LA90_127 = self.input.LA(3)
11571
11572 if (self.synpred182()) :
11573 alt90 = 1
11574 elif LA90 == 92:
11575 LA90_128 = self.input.LA(3)
11576
11577 if (self.synpred182()) :
11578 alt90 = 1
11579 elif LA90 == 91:
11580 LA90_129 = self.input.LA(3)
11581
11582 if (self.synpred182()) :
11583 alt90 = 1
11584 elif LA90 == 90:
11585 LA90_130 = self.input.LA(3)
11586
11587 if (self.synpred182()) :
11588 alt90 = 1
11589 elif LA90 == 27:
11590 LA90_131 = self.input.LA(3)
11591
11592 if (self.synpred182()) :
11593 alt90 = 1
11594 elif LA90 == 25:
11595 alt90 = 1
11596 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:
11597 LA90_134 = self.input.LA(3)
11598
11599 if (self.synpred182()) :
11600 alt90 = 1
11601 elif LA90 == DECIMAL_LITERAL:
11602 LA90 = self.input.LA(2)
11603 if LA90 == 64:
11604 LA90_135 = self.input.LA(3)
11605
11606 if (self.synpred182()) :
11607 alt90 = 1
11608 elif LA90 == 62:
11609 LA90_136 = self.input.LA(3)
11610
11611 if (self.synpred182()) :
11612 alt90 = 1
11613 elif LA90 == 75:
11614 LA90_137 = self.input.LA(3)
11615
11616 if (self.synpred182()) :
11617 alt90 = 1
11618 elif LA90 == 66:
11619 LA90_138 = self.input.LA(3)
11620
11621 if (self.synpred182()) :
11622 alt90 = 1
11623 elif LA90 == 76:
11624 LA90_139 = self.input.LA(3)
11625
11626 if (self.synpred182()) :
11627 alt90 = 1
11628 elif LA90 == 72:
11629 LA90_140 = self.input.LA(3)
11630
11631 if (self.synpred182()) :
11632 alt90 = 1
11633 elif LA90 == 73:
11634 LA90_141 = self.input.LA(3)
11635
11636 if (self.synpred182()) :
11637 alt90 = 1
11638 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:
11639 LA90_142 = self.input.LA(3)
11640
11641 if (self.synpred182()) :
11642 alt90 = 1
11643 elif LA90 == 70:
11644 LA90_143 = self.input.LA(3)
11645
11646 if (self.synpred182()) :
11647 alt90 = 1
11648 elif LA90 == 71:
11649 LA90_144 = self.input.LA(3)
11650
11651 if (self.synpred182()) :
11652 alt90 = 1
11653 elif LA90 == 68:
11654 LA90_145 = self.input.LA(3)
11655
11656 if (self.synpred182()) :
11657 alt90 = 1
11658 elif LA90 == 69:
11659 LA90_146 = self.input.LA(3)
11660
11661 if (self.synpred182()) :
11662 alt90 = 1
11663 elif LA90 == 101 or LA90 == 102:
11664 LA90_147 = self.input.LA(3)
11665
11666 if (self.synpred182()) :
11667 alt90 = 1
11668 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11669 LA90_148 = self.input.LA(3)
11670
11671 if (self.synpred182()) :
11672 alt90 = 1
11673 elif LA90 == 95 or LA90 == 96:
11674 LA90_149 = self.input.LA(3)
11675
11676 if (self.synpred182()) :
11677 alt90 = 1
11678 elif LA90 == 77:
11679 LA90_150 = self.input.LA(3)
11680
11681 if (self.synpred182()) :
11682 alt90 = 1
11683 elif LA90 == 94:
11684 LA90_151 = self.input.LA(3)
11685
11686 if (self.synpred182()) :
11687 alt90 = 1
11688 elif LA90 == 93:
11689 LA90_152 = self.input.LA(3)
11690
11691 if (self.synpred182()) :
11692 alt90 = 1
11693 elif LA90 == 92:
11694 LA90_153 = self.input.LA(3)
11695
11696 if (self.synpred182()) :
11697 alt90 = 1
11698 elif LA90 == 91:
11699 LA90_154 = self.input.LA(3)
11700
11701 if (self.synpred182()) :
11702 alt90 = 1
11703 elif LA90 == 90:
11704 LA90_155 = self.input.LA(3)
11705
11706 if (self.synpred182()) :
11707 alt90 = 1
11708 elif LA90 == 27:
11709 LA90_156 = self.input.LA(3)
11710
11711 if (self.synpred182()) :
11712 alt90 = 1
11713 elif LA90 == 25:
11714 alt90 = 1
11715 elif LA90 == CHARACTER_LITERAL:
11716 LA90 = self.input.LA(2)
11717 if LA90 == 64:
11718 LA90_159 = self.input.LA(3)
11719
11720 if (self.synpred182()) :
11721 alt90 = 1
11722 elif LA90 == 62:
11723 LA90_160 = self.input.LA(3)
11724
11725 if (self.synpred182()) :
11726 alt90 = 1
11727 elif LA90 == 75:
11728 LA90_161 = self.input.LA(3)
11729
11730 if (self.synpred182()) :
11731 alt90 = 1
11732 elif LA90 == 66:
11733 LA90_162 = self.input.LA(3)
11734
11735 if (self.synpred182()) :
11736 alt90 = 1
11737 elif LA90 == 76:
11738 LA90_163 = self.input.LA(3)
11739
11740 if (self.synpred182()) :
11741 alt90 = 1
11742 elif LA90 == 72:
11743 LA90_164 = self.input.LA(3)
11744
11745 if (self.synpred182()) :
11746 alt90 = 1
11747 elif LA90 == 73:
11748 LA90_165 = self.input.LA(3)
11749
11750 if (self.synpred182()) :
11751 alt90 = 1
11752 elif LA90 == 70:
11753 LA90_166 = self.input.LA(3)
11754
11755 if (self.synpred182()) :
11756 alt90 = 1
11757 elif LA90 == 71:
11758 LA90_167 = self.input.LA(3)
11759
11760 if (self.synpred182()) :
11761 alt90 = 1
11762 elif LA90 == 68:
11763 LA90_168 = self.input.LA(3)
11764
11765 if (self.synpred182()) :
11766 alt90 = 1
11767 elif LA90 == 69:
11768 LA90_169 = self.input.LA(3)
11769
11770 if (self.synpred182()) :
11771 alt90 = 1
11772 elif LA90 == 101 or LA90 == 102:
11773 LA90_170 = self.input.LA(3)
11774
11775 if (self.synpred182()) :
11776 alt90 = 1
11777 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11778 LA90_171 = self.input.LA(3)
11779
11780 if (self.synpred182()) :
11781 alt90 = 1
11782 elif LA90 == 95 or LA90 == 96:
11783 LA90_172 = self.input.LA(3)
11784
11785 if (self.synpred182()) :
11786 alt90 = 1
11787 elif LA90 == 77:
11788 LA90_173 = self.input.LA(3)
11789
11790 if (self.synpred182()) :
11791 alt90 = 1
11792 elif LA90 == 94:
11793 LA90_174 = self.input.LA(3)
11794
11795 if (self.synpred182()) :
11796 alt90 = 1
11797 elif LA90 == 93:
11798 LA90_175 = self.input.LA(3)
11799
11800 if (self.synpred182()) :
11801 alt90 = 1
11802 elif LA90 == 92:
11803 LA90_176 = self.input.LA(3)
11804
11805 if (self.synpred182()) :
11806 alt90 = 1
11807 elif LA90 == 91:
11808 LA90_177 = self.input.LA(3)
11809
11810 if (self.synpred182()) :
11811 alt90 = 1
11812 elif LA90 == 90:
11813 LA90_178 = self.input.LA(3)
11814
11815 if (self.synpred182()) :
11816 alt90 = 1
11817 elif LA90 == 27:
11818 LA90_179 = self.input.LA(3)
11819
11820 if (self.synpred182()) :
11821 alt90 = 1
11822 elif LA90 == 25:
11823 alt90 = 1
11824 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:
11825 LA90_181 = self.input.LA(3)
11826
11827 if (self.synpred182()) :
11828 alt90 = 1
11829 elif LA90 == STRING_LITERAL:
11830 LA90 = self.input.LA(2)
11831 if LA90 == IDENTIFIER:
11832 LA90_183 = self.input.LA(3)
11833
11834 if (self.synpred182()) :
11835 alt90 = 1
11836 elif LA90 == 64:
11837 LA90_184 = self.input.LA(3)
11838
11839 if (self.synpred182()) :
11840 alt90 = 1
11841 elif LA90 == 62:
11842 LA90_185 = self.input.LA(3)
11843
11844 if (self.synpred182()) :
11845 alt90 = 1
11846 elif LA90 == 75:
11847 LA90_186 = self.input.LA(3)
11848
11849 if (self.synpred182()) :
11850 alt90 = 1
11851 elif LA90 == 66:
11852 LA90_187 = self.input.LA(3)
11853
11854 if (self.synpred182()) :
11855 alt90 = 1
11856 elif LA90 == 76:
11857 LA90_188 = self.input.LA(3)
11858
11859 if (self.synpred182()) :
11860 alt90 = 1
11861 elif LA90 == 72:
11862 LA90_189 = self.input.LA(3)
11863
11864 if (self.synpred182()) :
11865 alt90 = 1
11866 elif LA90 == 73:
11867 LA90_190 = self.input.LA(3)
11868
11869 if (self.synpred182()) :
11870 alt90 = 1
11871 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:
11872 LA90_191 = self.input.LA(3)
11873
11874 if (self.synpred182()) :
11875 alt90 = 1
11876 elif LA90 == STRING_LITERAL:
11877 LA90_192 = self.input.LA(3)
11878
11879 if (self.synpred182()) :
11880 alt90 = 1
11881 elif LA90 == 70:
11882 LA90_193 = self.input.LA(3)
11883
11884 if (self.synpred182()) :
11885 alt90 = 1
11886 elif LA90 == 71:
11887 LA90_194 = self.input.LA(3)
11888
11889 if (self.synpred182()) :
11890 alt90 = 1
11891 elif LA90 == 68:
11892 LA90_195 = self.input.LA(3)
11893
11894 if (self.synpred182()) :
11895 alt90 = 1
11896 elif LA90 == 69:
11897 LA90_196 = self.input.LA(3)
11898
11899 if (self.synpred182()) :
11900 alt90 = 1
11901 elif LA90 == 101 or LA90 == 102:
11902 LA90_197 = self.input.LA(3)
11903
11904 if (self.synpred182()) :
11905 alt90 = 1
11906 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
11907 LA90_198 = self.input.LA(3)
11908
11909 if (self.synpred182()) :
11910 alt90 = 1
11911 elif LA90 == 95 or LA90 == 96:
11912 LA90_199 = self.input.LA(3)
11913
11914 if (self.synpred182()) :
11915 alt90 = 1
11916 elif LA90 == 77:
11917 LA90_200 = self.input.LA(3)
11918
11919 if (self.synpred182()) :
11920 alt90 = 1
11921 elif LA90 == 94:
11922 LA90_201 = self.input.LA(3)
11923
11924 if (self.synpred182()) :
11925 alt90 = 1
11926 elif LA90 == 93:
11927 LA90_202 = self.input.LA(3)
11928
11929 if (self.synpred182()) :
11930 alt90 = 1
11931 elif LA90 == 92:
11932 LA90_203 = self.input.LA(3)
11933
11934 if (self.synpred182()) :
11935 alt90 = 1
11936 elif LA90 == 91:
11937 LA90_204 = self.input.LA(3)
11938
11939 if (self.synpred182()) :
11940 alt90 = 1
11941 elif LA90 == 90:
11942 LA90_205 = self.input.LA(3)
11943
11944 if (self.synpred182()) :
11945 alt90 = 1
11946 elif LA90 == 27:
11947 LA90_206 = self.input.LA(3)
11948
11949 if (self.synpred182()) :
11950 alt90 = 1
11951 elif LA90 == 25:
11952 alt90 = 1
11953 elif LA90 == FLOATING_POINT_LITERAL:
11954 LA90 = self.input.LA(2)
11955 if LA90 == 64:
11956 LA90_209 = self.input.LA(3)
11957
11958 if (self.synpred182()) :
11959 alt90 = 1
11960 elif LA90 == 62:
11961 LA90_210 = self.input.LA(3)
11962
11963 if (self.synpred182()) :
11964 alt90 = 1
11965 elif LA90 == 75:
11966 LA90_211 = self.input.LA(3)
11967
11968 if (self.synpred182()) :
11969 alt90 = 1
11970 elif LA90 == 66:
11971 LA90_212 = self.input.LA(3)
11972
11973 if (self.synpred182()) :
11974 alt90 = 1
11975 elif LA90 == 76:
11976 LA90_213 = self.input.LA(3)
11977
11978 if (self.synpred182()) :
11979 alt90 = 1
11980 elif LA90 == 72:
11981 LA90_214 = self.input.LA(3)
11982
11983 if (self.synpred182()) :
11984 alt90 = 1
11985 elif LA90 == 73:
11986 LA90_215 = self.input.LA(3)
11987
11988 if (self.synpred182()) :
11989 alt90 = 1
11990 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:
11991 LA90_216 = self.input.LA(3)
11992
11993 if (self.synpred182()) :
11994 alt90 = 1
11995 elif LA90 == 70:
11996 LA90_217 = self.input.LA(3)
11997
11998 if (self.synpred182()) :
11999 alt90 = 1
12000 elif LA90 == 71:
12001 LA90_218 = self.input.LA(3)
12002
12003 if (self.synpred182()) :
12004 alt90 = 1
12005 elif LA90 == 68:
12006 LA90_219 = self.input.LA(3)
12007
12008 if (self.synpred182()) :
12009 alt90 = 1
12010 elif LA90 == 69:
12011 LA90_220 = self.input.LA(3)
12012
12013 if (self.synpred182()) :
12014 alt90 = 1
12015 elif LA90 == 101 or LA90 == 102:
12016 LA90_221 = self.input.LA(3)
12017
12018 if (self.synpred182()) :
12019 alt90 = 1
12020 elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
12021 LA90_222 = self.input.LA(3)
12022
12023 if (self.synpred182()) :
12024 alt90 = 1
12025 elif LA90 == 95 or LA90 == 96:
12026 LA90_223 = self.input.LA(3)
12027
12028 if (self.synpred182()) :
12029 alt90 = 1
12030 elif LA90 == 77:
12031 LA90_224 = self.input.LA(3)
12032
12033 if (self.synpred182()) :
12034 alt90 = 1
12035 elif LA90 == 94:
12036 LA90_225 = self.input.LA(3)
12037
12038 if (self.synpred182()) :
12039 alt90 = 1
12040 elif LA90 == 93:
12041 LA90_226 = self.input.LA(3)
12042
12043 if (self.synpred182()) :
12044 alt90 = 1
12045 elif LA90 == 92:
12046 LA90_227 = self.input.LA(3)
12047
12048 if (self.synpred182()) :
12049 alt90 = 1
12050 elif LA90 == 91:
12051 LA90_228 = self.input.LA(3)
12052
12053 if (self.synpred182()) :
12054 alt90 = 1
12055 elif LA90 == 90:
12056 LA90_229 = self.input.LA(3)
12057
12058 if (self.synpred182()) :
12059 alt90 = 1
12060 elif LA90 == 27:
12061 LA90_230 = self.input.LA(3)
12062
12063 if (self.synpred182()) :
12064 alt90 = 1
12065 elif LA90 == 25:
12066 alt90 = 1
12067 elif LA90 == 62:
12068 LA90 = self.input.LA(2)
12069 if LA90 == IDENTIFIER:
12070 LA90_233 = self.input.LA(3)
12071
12072 if (self.synpred182()) :
12073 alt90 = 1
12074 elif LA90 == HEX_LITERAL:
12075 LA90_234 = self.input.LA(3)
12076
12077 if (self.synpred182()) :
12078 alt90 = 1
12079 elif LA90 == OCTAL_LITERAL:
12080 LA90_235 = self.input.LA(3)
12081
12082 if (self.synpred182()) :
12083 alt90 = 1
12084 elif LA90 == DECIMAL_LITERAL:
12085 LA90_236 = self.input.LA(3)
12086
12087 if (self.synpred182()) :
12088 alt90 = 1
12089 elif LA90 == CHARACTER_LITERAL:
12090 LA90_237 = self.input.LA(3)
12091
12092 if (self.synpred182()) :
12093 alt90 = 1
12094 elif LA90 == STRING_LITERAL:
12095 LA90_238 = self.input.LA(3)
12096
12097 if (self.synpred182()) :
12098 alt90 = 1
12099 elif LA90 == FLOATING_POINT_LITERAL:
12100 LA90_239 = self.input.LA(3)
12101
12102 if (self.synpred182()) :
12103 alt90 = 1
12104 elif LA90 == 62:
12105 LA90_240 = self.input.LA(3)
12106
12107 if (self.synpred182()) :
12108 alt90 = 1
12109 elif LA90 == 72:
12110 LA90_241 = self.input.LA(3)
12111
12112 if (self.synpred182()) :
12113 alt90 = 1
12114 elif LA90 == 73:
12115 LA90_242 = self.input.LA(3)
12116
12117 if (self.synpred182()) :
12118 alt90 = 1
12119 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12120 LA90_243 = self.input.LA(3)
12121
12122 if (self.synpred182()) :
12123 alt90 = 1
12124 elif LA90 == 74:
12125 LA90_244 = self.input.LA(3)
12126
12127 if (self.synpred182()) :
12128 alt90 = 1
12129 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:
12130 LA90_245 = self.input.LA(3)
12131
12132 if (self.synpred182()) :
12133 alt90 = 1
12134 elif LA90 == 34:
12135 LA90_246 = self.input.LA(3)
12136
12137 if (self.synpred182()) :
12138 alt90 = 1
12139 elif LA90 == 35:
12140 LA90_247 = self.input.LA(3)
12141
12142 if (self.synpred182()) :
12143 alt90 = 1
12144 elif LA90 == 36:
12145 LA90_248 = self.input.LA(3)
12146
12147 if (self.synpred182()) :
12148 alt90 = 1
12149 elif LA90 == 37:
12150 LA90_249 = self.input.LA(3)
12151
12152 if (self.synpred182()) :
12153 alt90 = 1
12154 elif LA90 == 38:
12155 LA90_250 = self.input.LA(3)
12156
12157 if (self.synpred182()) :
12158 alt90 = 1
12159 elif LA90 == 39:
12160 LA90_251 = self.input.LA(3)
12161
12162 if (self.synpred182()) :
12163 alt90 = 1
12164 elif LA90 == 40:
12165 LA90_252 = self.input.LA(3)
12166
12167 if (self.synpred182()) :
12168 alt90 = 1
12169 elif LA90 == 41:
12170 LA90_253 = self.input.LA(3)
12171
12172 if (self.synpred182()) :
12173 alt90 = 1
12174 elif LA90 == 42:
12175 LA90_254 = self.input.LA(3)
12176
12177 if (self.synpred182()) :
12178 alt90 = 1
12179 elif LA90 == 45 or LA90 == 46:
12180 LA90_255 = self.input.LA(3)
12181
12182 if (self.synpred182()) :
12183 alt90 = 1
12184 elif LA90 == 48:
12185 LA90_256 = self.input.LA(3)
12186
12187 if (self.synpred182()) :
12188 alt90 = 1
12189 elif LA90 == 72:
12190 LA90 = self.input.LA(2)
12191 if LA90 == IDENTIFIER:
12192 LA90_257 = self.input.LA(3)
12193
12194 if (self.synpred182()) :
12195 alt90 = 1
12196 elif LA90 == HEX_LITERAL:
12197 LA90_258 = self.input.LA(3)
12198
12199 if (self.synpred182()) :
12200 alt90 = 1
12201 elif LA90 == OCTAL_LITERAL:
12202 LA90_259 = self.input.LA(3)
12203
12204 if (self.synpred182()) :
12205 alt90 = 1
12206 elif LA90 == DECIMAL_LITERAL:
12207 LA90_260 = self.input.LA(3)
12208
12209 if (self.synpred182()) :
12210 alt90 = 1
12211 elif LA90 == CHARACTER_LITERAL:
12212 LA90_261 = self.input.LA(3)
12213
12214 if (self.synpred182()) :
12215 alt90 = 1
12216 elif LA90 == STRING_LITERAL:
12217 LA90_262 = self.input.LA(3)
12218
12219 if (self.synpred182()) :
12220 alt90 = 1
12221 elif LA90 == FLOATING_POINT_LITERAL:
12222 LA90_263 = self.input.LA(3)
12223
12224 if (self.synpred182()) :
12225 alt90 = 1
12226 elif LA90 == 62:
12227 LA90_264 = self.input.LA(3)
12228
12229 if (self.synpred182()) :
12230 alt90 = 1
12231 elif LA90 == 72:
12232 LA90_265 = self.input.LA(3)
12233
12234 if (self.synpred182()) :
12235 alt90 = 1
12236 elif LA90 == 73:
12237 LA90_266 = self.input.LA(3)
12238
12239 if (self.synpred182()) :
12240 alt90 = 1
12241 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12242 LA90_267 = self.input.LA(3)
12243
12244 if (self.synpred182()) :
12245 alt90 = 1
12246 elif LA90 == 74:
12247 LA90_268 = self.input.LA(3)
12248
12249 if (self.synpred182()) :
12250 alt90 = 1
12251 elif LA90 == 73:
12252 LA90 = self.input.LA(2)
12253 if LA90 == IDENTIFIER:
12254 LA90_269 = self.input.LA(3)
12255
12256 if (self.synpred182()) :
12257 alt90 = 1
12258 elif LA90 == HEX_LITERAL:
12259 LA90_270 = self.input.LA(3)
12260
12261 if (self.synpred182()) :
12262 alt90 = 1
12263 elif LA90 == OCTAL_LITERAL:
12264 LA90_271 = self.input.LA(3)
12265
12266 if (self.synpred182()) :
12267 alt90 = 1
12268 elif LA90 == DECIMAL_LITERAL:
12269 LA90_272 = self.input.LA(3)
12270
12271 if (self.synpred182()) :
12272 alt90 = 1
12273 elif LA90 == CHARACTER_LITERAL:
12274 LA90_273 = self.input.LA(3)
12275
12276 if (self.synpred182()) :
12277 alt90 = 1
12278 elif LA90 == STRING_LITERAL:
12279 LA90_274 = self.input.LA(3)
12280
12281 if (self.synpred182()) :
12282 alt90 = 1
12283 elif LA90 == FLOATING_POINT_LITERAL:
12284 LA90_275 = self.input.LA(3)
12285
12286 if (self.synpred182()) :
12287 alt90 = 1
12288 elif LA90 == 62:
12289 LA90_276 = self.input.LA(3)
12290
12291 if (self.synpred182()) :
12292 alt90 = 1
12293 elif LA90 == 72:
12294 LA90_277 = self.input.LA(3)
12295
12296 if (self.synpred182()) :
12297 alt90 = 1
12298 elif LA90 == 73:
12299 LA90_278 = self.input.LA(3)
12300
12301 if (self.synpred182()) :
12302 alt90 = 1
12303 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12304 LA90_279 = self.input.LA(3)
12305
12306 if (self.synpred182()) :
12307 alt90 = 1
12308 elif LA90 == 74:
12309 LA90_280 = self.input.LA(3)
12310
12311 if (self.synpred182()) :
12312 alt90 = 1
12313 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12314 LA90 = self.input.LA(2)
12315 if LA90 == 62:
12316 LA90_281 = self.input.LA(3)
12317
12318 if (self.synpred182()) :
12319 alt90 = 1
12320 elif LA90 == IDENTIFIER:
12321 LA90_282 = self.input.LA(3)
12322
12323 if (self.synpred182()) :
12324 alt90 = 1
12325 elif LA90 == HEX_LITERAL:
12326 LA90_283 = self.input.LA(3)
12327
12328 if (self.synpred182()) :
12329 alt90 = 1
12330 elif LA90 == OCTAL_LITERAL:
12331 LA90_284 = self.input.LA(3)
12332
12333 if (self.synpred182()) :
12334 alt90 = 1
12335 elif LA90 == DECIMAL_LITERAL:
12336 LA90_285 = self.input.LA(3)
12337
12338 if (self.synpred182()) :
12339 alt90 = 1
12340 elif LA90 == CHARACTER_LITERAL:
12341 LA90_286 = self.input.LA(3)
12342
12343 if (self.synpred182()) :
12344 alt90 = 1
12345 elif LA90 == STRING_LITERAL:
12346 LA90_287 = self.input.LA(3)
12347
12348 if (self.synpred182()) :
12349 alt90 = 1
12350 elif LA90 == FLOATING_POINT_LITERAL:
12351 LA90_288 = self.input.LA(3)
12352
12353 if (self.synpred182()) :
12354 alt90 = 1
12355 elif LA90 == 72:
12356 LA90_289 = self.input.LA(3)
12357
12358 if (self.synpred182()) :
12359 alt90 = 1
12360 elif LA90 == 73:
12361 LA90_290 = self.input.LA(3)
12362
12363 if (self.synpred182()) :
12364 alt90 = 1
12365 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12366 LA90_291 = self.input.LA(3)
12367
12368 if (self.synpred182()) :
12369 alt90 = 1
12370 elif LA90 == 74:
12371 LA90_292 = self.input.LA(3)
12372
12373 if (self.synpred182()) :
12374 alt90 = 1
12375 elif LA90 == 74:
12376 LA90 = self.input.LA(2)
12377 if LA90 == 62:
12378 LA90_293 = self.input.LA(3)
12379
12380 if (self.synpred182()) :
12381 alt90 = 1
12382 elif LA90 == IDENTIFIER:
12383 LA90_294 = self.input.LA(3)
12384
12385 if (self.synpred182()) :
12386 alt90 = 1
12387 elif LA90 == HEX_LITERAL:
12388 LA90_295 = self.input.LA(3)
12389
12390 if (self.synpred182()) :
12391 alt90 = 1
12392 elif LA90 == OCTAL_LITERAL:
12393 LA90_296 = self.input.LA(3)
12394
12395 if (self.synpred182()) :
12396 alt90 = 1
12397 elif LA90 == DECIMAL_LITERAL:
12398 LA90_297 = self.input.LA(3)
12399
12400 if (self.synpred182()) :
12401 alt90 = 1
12402 elif LA90 == CHARACTER_LITERAL:
12403 LA90_298 = self.input.LA(3)
12404
12405 if (self.synpred182()) :
12406 alt90 = 1
12407 elif LA90 == STRING_LITERAL:
12408 LA90_299 = self.input.LA(3)
12409
12410 if (self.synpred182()) :
12411 alt90 = 1
12412 elif LA90 == FLOATING_POINT_LITERAL:
12413 LA90_300 = self.input.LA(3)
12414
12415 if (self.synpred182()) :
12416 alt90 = 1
12417 elif LA90 == 72:
12418 LA90_301 = self.input.LA(3)
12419
12420 if (self.synpred182()) :
12421 alt90 = 1
12422 elif LA90 == 73:
12423 LA90_302 = self.input.LA(3)
12424
12425 if (self.synpred182()) :
12426 alt90 = 1
12427 elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
12428 LA90_303 = self.input.LA(3)
12429
12430 if (self.synpred182()) :
12431 alt90 = 1
12432 elif LA90 == 74:
12433 LA90_304 = self.input.LA(3)
12434
12435 if (self.synpred182()) :
12436 alt90 = 1
12437 if alt90 == 1:
12438 # C.g:0:0: statement_list
12439 self.following.append(self.FOLLOW_statement_list_in_macro_statement2170)
12440 self.statement_list()
12441 self.following.pop()
12442 if self.failed:
12443 return
12444
12445
12446
12447 # C.g:544:49: ( expression )?
12448 alt91 = 2
12449 LA91_0 = self.input.LA(1)
12450
12451 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)) :
12452 alt91 = 1
12453 if alt91 == 1:
12454 # C.g:0:0: expression
12455 self.following.append(self.FOLLOW_expression_in_macro_statement2173)
12456 self.expression()
12457 self.following.pop()
12458 if self.failed:
12459 return
12460
12461
12462
12463 self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176)
12464 if self.failed:
12465 return
12466
12467
12468
12469
12470 except RecognitionException, re:
12471 self.reportError(re)
12472 self.recover(self.input, re)
12473 finally:
12474 if self.backtracking > 0:
12475 self.memoize(self.input, 64, macro_statement_StartIndex)
12476
12477 pass
12478
12479 return
12480
12481 # $ANTLR end macro_statement
12482
12483
12484 # $ANTLR start labeled_statement
12485 # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12486 def labeled_statement(self, ):
12487
12488 labeled_statement_StartIndex = self.input.index()
12489 try:
12490 try:
12491 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
12492 return
12493
12494 # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12495 alt92 = 3
12496 LA92 = self.input.LA(1)
12497 if LA92 == IDENTIFIER:
12498 alt92 = 1
12499 elif LA92 == 106:
12500 alt92 = 2
12501 elif LA92 == 107:
12502 alt92 = 3
12503 else:
12504 if self.backtracking > 0:
12505 self.failed = True
12506 return
12507
12508 nvae = NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
12509
12510 raise nvae
12511
12512 if alt92 == 1:
12513 # C.g:548:4: IDENTIFIER ':' statement
12514 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2188)
12515 if self.failed:
12516 return
12517 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2190)
12518 if self.failed:
12519 return
12520 self.following.append(self.FOLLOW_statement_in_labeled_statement2192)
12521 self.statement()
12522 self.following.pop()
12523 if self.failed:
12524 return
12525
12526
12527 elif alt92 == 2:
12528 # C.g:549:4: 'case' constant_expression ':' statement
12529 self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2197)
12530 if self.failed:
12531 return
12532 self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2199)
12533 self.constant_expression()
12534 self.following.pop()
12535 if self.failed:
12536 return
12537 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201)
12538 if self.failed:
12539 return
12540 self.following.append(self.FOLLOW_statement_in_labeled_statement2203)
12541 self.statement()
12542 self.following.pop()
12543 if self.failed:
12544 return
12545
12546
12547 elif alt92 == 3:
12548 # C.g:550:4: 'default' ':' statement
12549 self.match(self.input, 107, self.FOLLOW_107_in_labeled_statement2208)
12550 if self.failed:
12551 return
12552 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2210)
12553 if self.failed:
12554 return
12555 self.following.append(self.FOLLOW_statement_in_labeled_statement2212)
12556 self.statement()
12557 self.following.pop()
12558 if self.failed:
12559 return
12560
12561
12562
12563 except RecognitionException, re:
12564 self.reportError(re)
12565 self.recover(self.input, re)
12566 finally:
12567 if self.backtracking > 0:
12568 self.memoize(self.input, 65, labeled_statement_StartIndex)
12569
12570 pass
12571
12572 return
12573
12574 # $ANTLR end labeled_statement
12575
12576 class compound_statement_return(object):
12577 def __init__(self):
12578 self.start = None
12579 self.stop = None
12580
12581
12582
12583 # $ANTLR start compound_statement
12584 # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12585 def compound_statement(self, ):
12586
12587 retval = self.compound_statement_return()
12588 retval.start = self.input.LT(1)
12589 compound_statement_StartIndex = self.input.index()
12590 try:
12591 try:
12592 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
12593 return retval
12594
12595 # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
12596 # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
12597 self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223)
12598 if self.failed:
12599 return retval
12600 # C.g:554:8: ( declaration )*
12601 while True: #loop93
12602 alt93 = 2
12603 LA93 = self.input.LA(1)
12604 if LA93 == IDENTIFIER:
12605 LA93 = self.input.LA(2)
12606 if LA93 == 62:
12607 LA93_44 = self.input.LA(3)
12608
12609 if (self.synpred186()) :
12610 alt93 = 1
12611
12612
12613 elif LA93 == IDENTIFIER:
12614 LA93_47 = self.input.LA(3)
12615
12616 if (self.synpred186()) :
12617 alt93 = 1
12618
12619
12620 elif LA93 == 66:
12621 LA93_48 = self.input.LA(3)
12622
12623 if (self.synpred186()) :
12624 alt93 = 1
12625
12626
12627 elif LA93 == 58:
12628 LA93_49 = self.input.LA(3)
12629
12630 if (self.synpred186()) :
12631 alt93 = 1
12632
12633
12634 elif LA93 == 59:
12635 LA93_50 = self.input.LA(3)
12636
12637 if (self.synpred186()) :
12638 alt93 = 1
12639
12640
12641 elif LA93 == 60:
12642 LA93_51 = self.input.LA(3)
12643
12644 if (self.synpred186()) :
12645 alt93 = 1
12646
12647
12648 elif LA93 == 25:
12649 LA93_52 = self.input.LA(3)
12650
12651 if (self.synpred186()) :
12652 alt93 = 1
12653
12654
12655 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12656 LA93_53 = self.input.LA(3)
12657
12658 if (self.synpred186()) :
12659 alt93 = 1
12660
12661
12662 elif LA93 == 34:
12663 LA93_54 = self.input.LA(3)
12664
12665 if (self.synpred186()) :
12666 alt93 = 1
12667
12668
12669 elif LA93 == 35:
12670 LA93_55 = self.input.LA(3)
12671
12672 if (self.synpred186()) :
12673 alt93 = 1
12674
12675
12676 elif LA93 == 36:
12677 LA93_56 = self.input.LA(3)
12678
12679 if (self.synpred186()) :
12680 alt93 = 1
12681
12682
12683 elif LA93 == 37:
12684 LA93_57 = self.input.LA(3)
12685
12686 if (self.synpred186()) :
12687 alt93 = 1
12688
12689
12690 elif LA93 == 38:
12691 LA93_58 = self.input.LA(3)
12692
12693 if (self.synpred186()) :
12694 alt93 = 1
12695
12696
12697 elif LA93 == 39:
12698 LA93_59 = self.input.LA(3)
12699
12700 if (self.synpred186()) :
12701 alt93 = 1
12702
12703
12704 elif LA93 == 40:
12705 LA93_60 = self.input.LA(3)
12706
12707 if (self.synpred186()) :
12708 alt93 = 1
12709
12710
12711 elif LA93 == 41:
12712 LA93_61 = self.input.LA(3)
12713
12714 if (self.synpred186()) :
12715 alt93 = 1
12716
12717
12718 elif LA93 == 42:
12719 LA93_62 = self.input.LA(3)
12720
12721 if (self.synpred186()) :
12722 alt93 = 1
12723
12724
12725 elif LA93 == 45 or LA93 == 46:
12726 LA93_63 = self.input.LA(3)
12727
12728 if (self.synpred186()) :
12729 alt93 = 1
12730
12731
12732 elif LA93 == 48:
12733 LA93_64 = self.input.LA(3)
12734
12735 if (self.synpred186()) :
12736 alt93 = 1
12737
12738
12739 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:
12740 LA93_65 = self.input.LA(3)
12741
12742 if (self.synpred186()) :
12743 alt93 = 1
12744
12745
12746
12747 elif LA93 == 26:
12748 LA93 = self.input.LA(2)
12749 if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12750 LA93_86 = self.input.LA(3)
12751
12752 if (self.synpred186()) :
12753 alt93 = 1
12754
12755
12756 elif LA93 == 34:
12757 LA93_87 = self.input.LA(3)
12758
12759 if (self.synpred186()) :
12760 alt93 = 1
12761
12762
12763 elif LA93 == 35:
12764 LA93_88 = self.input.LA(3)
12765
12766 if (self.synpred186()) :
12767 alt93 = 1
12768
12769
12770 elif LA93 == 36:
12771 LA93_89 = self.input.LA(3)
12772
12773 if (self.synpred186()) :
12774 alt93 = 1
12775
12776
12777 elif LA93 == 37:
12778 LA93_90 = self.input.LA(3)
12779
12780 if (self.synpred186()) :
12781 alt93 = 1
12782
12783
12784 elif LA93 == 38:
12785 LA93_91 = self.input.LA(3)
12786
12787 if (self.synpred186()) :
12788 alt93 = 1
12789
12790
12791 elif LA93 == 39:
12792 LA93_92 = self.input.LA(3)
12793
12794 if (self.synpred186()) :
12795 alt93 = 1
12796
12797
12798 elif LA93 == 40:
12799 LA93_93 = self.input.LA(3)
12800
12801 if (self.synpred186()) :
12802 alt93 = 1
12803
12804
12805 elif LA93 == 41:
12806 LA93_94 = self.input.LA(3)
12807
12808 if (self.synpred186()) :
12809 alt93 = 1
12810
12811
12812 elif LA93 == 42:
12813 LA93_95 = self.input.LA(3)
12814
12815 if (self.synpred186()) :
12816 alt93 = 1
12817
12818
12819 elif LA93 == 45 or LA93 == 46:
12820 LA93_96 = self.input.LA(3)
12821
12822 if (self.synpred186()) :
12823 alt93 = 1
12824
12825
12826 elif LA93 == 48:
12827 LA93_97 = self.input.LA(3)
12828
12829 if (self.synpred186()) :
12830 alt93 = 1
12831
12832
12833 elif LA93 == IDENTIFIER:
12834 LA93_98 = self.input.LA(3)
12835
12836 if (self.synpred186()) :
12837 alt93 = 1
12838
12839
12840 elif LA93 == 58:
12841 LA93_99 = self.input.LA(3)
12842
12843 if (self.synpred186()) :
12844 alt93 = 1
12845
12846
12847 elif LA93 == 66:
12848 LA93_100 = self.input.LA(3)
12849
12850 if (self.synpred186()) :
12851 alt93 = 1
12852
12853
12854 elif LA93 == 59:
12855 LA93_101 = self.input.LA(3)
12856
12857 if (self.synpred186()) :
12858 alt93 = 1
12859
12860
12861 elif LA93 == 60:
12862 LA93_102 = self.input.LA(3)
12863
12864 if (self.synpred186()) :
12865 alt93 = 1
12866
12867
12868 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:
12869 LA93_103 = self.input.LA(3)
12870
12871 if (self.synpred186()) :
12872 alt93 = 1
12873
12874
12875 elif LA93 == 62:
12876 LA93_104 = self.input.LA(3)
12877
12878 if (self.synpred186()) :
12879 alt93 = 1
12880
12881
12882
12883 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12884 LA93 = self.input.LA(2)
12885 if LA93 == 66:
12886 LA93_105 = self.input.LA(3)
12887
12888 if (self.synpred186()) :
12889 alt93 = 1
12890
12891
12892 elif LA93 == 58:
12893 LA93_106 = self.input.LA(3)
12894
12895 if (self.synpred186()) :
12896 alt93 = 1
12897
12898
12899 elif LA93 == 59:
12900 LA93_107 = self.input.LA(3)
12901
12902 if (self.synpred186()) :
12903 alt93 = 1
12904
12905
12906 elif LA93 == 60:
12907 LA93_108 = self.input.LA(3)
12908
12909 if (self.synpred186()) :
12910 alt93 = 1
12911
12912
12913 elif LA93 == IDENTIFIER:
12914 LA93_109 = self.input.LA(3)
12915
12916 if (self.synpred186()) :
12917 alt93 = 1
12918
12919
12920 elif LA93 == 62:
12921 LA93_110 = self.input.LA(3)
12922
12923 if (self.synpred186()) :
12924 alt93 = 1
12925
12926
12927 elif LA93 == 25:
12928 LA93_111 = self.input.LA(3)
12929
12930 if (self.synpred186()) :
12931 alt93 = 1
12932
12933
12934 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12935 LA93_112 = self.input.LA(3)
12936
12937 if (self.synpred186()) :
12938 alt93 = 1
12939
12940
12941 elif LA93 == 34:
12942 LA93_113 = self.input.LA(3)
12943
12944 if (self.synpred186()) :
12945 alt93 = 1
12946
12947
12948 elif LA93 == 35:
12949 LA93_114 = self.input.LA(3)
12950
12951 if (self.synpred186()) :
12952 alt93 = 1
12953
12954
12955 elif LA93 == 36:
12956 LA93_115 = self.input.LA(3)
12957
12958 if (self.synpred186()) :
12959 alt93 = 1
12960
12961
12962 elif LA93 == 37:
12963 LA93_116 = self.input.LA(3)
12964
12965 if (self.synpred186()) :
12966 alt93 = 1
12967
12968
12969 elif LA93 == 38:
12970 LA93_117 = self.input.LA(3)
12971
12972 if (self.synpred186()) :
12973 alt93 = 1
12974
12975
12976 elif LA93 == 39:
12977 LA93_118 = self.input.LA(3)
12978
12979 if (self.synpred186()) :
12980 alt93 = 1
12981
12982
12983 elif LA93 == 40:
12984 LA93_119 = self.input.LA(3)
12985
12986 if (self.synpred186()) :
12987 alt93 = 1
12988
12989
12990 elif LA93 == 41:
12991 LA93_120 = self.input.LA(3)
12992
12993 if (self.synpred186()) :
12994 alt93 = 1
12995
12996
12997 elif LA93 == 42:
12998 LA93_121 = self.input.LA(3)
12999
13000 if (self.synpred186()) :
13001 alt93 = 1
13002
13003
13004 elif LA93 == 45 or LA93 == 46:
13005 LA93_122 = self.input.LA(3)
13006
13007 if (self.synpred186()) :
13008 alt93 = 1
13009
13010
13011 elif LA93 == 48:
13012 LA93_123 = self.input.LA(3)
13013
13014 if (self.synpred186()) :
13015 alt93 = 1
13016
13017
13018 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:
13019 LA93_124 = self.input.LA(3)
13020
13021 if (self.synpred186()) :
13022 alt93 = 1
13023
13024
13025
13026 elif LA93 == 34:
13027 LA93 = self.input.LA(2)
13028 if LA93 == 66:
13029 LA93_125 = self.input.LA(3)
13030
13031 if (self.synpred186()) :
13032 alt93 = 1
13033
13034
13035 elif LA93 == 58:
13036 LA93_126 = self.input.LA(3)
13037
13038 if (self.synpred186()) :
13039 alt93 = 1
13040
13041
13042 elif LA93 == 59:
13043 LA93_127 = self.input.LA(3)
13044
13045 if (self.synpred186()) :
13046 alt93 = 1
13047
13048
13049 elif LA93 == 60:
13050 LA93_128 = self.input.LA(3)
13051
13052 if (self.synpred186()) :
13053 alt93 = 1
13054
13055
13056 elif LA93 == IDENTIFIER:
13057 LA93_129 = self.input.LA(3)
13058
13059 if (self.synpred186()) :
13060 alt93 = 1
13061
13062
13063 elif LA93 == 62:
13064 LA93_130 = self.input.LA(3)
13065
13066 if (self.synpred186()) :
13067 alt93 = 1
13068
13069
13070 elif LA93 == 25:
13071 LA93_131 = self.input.LA(3)
13072
13073 if (self.synpred186()) :
13074 alt93 = 1
13075
13076
13077 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13078 LA93_132 = self.input.LA(3)
13079
13080 if (self.synpred186()) :
13081 alt93 = 1
13082
13083
13084 elif LA93 == 34:
13085 LA93_133 = self.input.LA(3)
13086
13087 if (self.synpred186()) :
13088 alt93 = 1
13089
13090
13091 elif LA93 == 35:
13092 LA93_134 = self.input.LA(3)
13093
13094 if (self.synpred186()) :
13095 alt93 = 1
13096
13097
13098 elif LA93 == 36:
13099 LA93_135 = self.input.LA(3)
13100
13101 if (self.synpred186()) :
13102 alt93 = 1
13103
13104
13105 elif LA93 == 37:
13106 LA93_136 = self.input.LA(3)
13107
13108 if (self.synpred186()) :
13109 alt93 = 1
13110
13111
13112 elif LA93 == 38:
13113 LA93_137 = self.input.LA(3)
13114
13115 if (self.synpred186()) :
13116 alt93 = 1
13117
13118
13119 elif LA93 == 39:
13120 LA93_138 = self.input.LA(3)
13121
13122 if (self.synpred186()) :
13123 alt93 = 1
13124
13125
13126 elif LA93 == 40:
13127 LA93_139 = self.input.LA(3)
13128
13129 if (self.synpred186()) :
13130 alt93 = 1
13131
13132
13133 elif LA93 == 41:
13134 LA93_140 = self.input.LA(3)
13135
13136 if (self.synpred186()) :
13137 alt93 = 1
13138
13139
13140 elif LA93 == 42:
13141 LA93_141 = self.input.LA(3)
13142
13143 if (self.synpred186()) :
13144 alt93 = 1
13145
13146
13147 elif LA93 == 45 or LA93 == 46:
13148 LA93_142 = self.input.LA(3)
13149
13150 if (self.synpred186()) :
13151 alt93 = 1
13152
13153
13154 elif LA93 == 48:
13155 LA93_143 = self.input.LA(3)
13156
13157 if (self.synpred186()) :
13158 alt93 = 1
13159
13160
13161 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:
13162 LA93_144 = self.input.LA(3)
13163
13164 if (self.synpred186()) :
13165 alt93 = 1
13166
13167
13168
13169 elif LA93 == 35:
13170 LA93 = self.input.LA(2)
13171 if LA93 == 66:
13172 LA93_145 = self.input.LA(3)
13173
13174 if (self.synpred186()) :
13175 alt93 = 1
13176
13177
13178 elif LA93 == 58:
13179 LA93_146 = self.input.LA(3)
13180
13181 if (self.synpred186()) :
13182 alt93 = 1
13183
13184
13185 elif LA93 == 59:
13186 LA93_147 = self.input.LA(3)
13187
13188 if (self.synpred186()) :
13189 alt93 = 1
13190
13191
13192 elif LA93 == 60:
13193 LA93_148 = self.input.LA(3)
13194
13195 if (self.synpred186()) :
13196 alt93 = 1
13197
13198
13199 elif LA93 == IDENTIFIER:
13200 LA93_149 = self.input.LA(3)
13201
13202 if (self.synpred186()) :
13203 alt93 = 1
13204
13205
13206 elif LA93 == 62:
13207 LA93_150 = self.input.LA(3)
13208
13209 if (self.synpred186()) :
13210 alt93 = 1
13211
13212
13213 elif LA93 == 25:
13214 LA93_151 = self.input.LA(3)
13215
13216 if (self.synpred186()) :
13217 alt93 = 1
13218
13219
13220 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13221 LA93_152 = self.input.LA(3)
13222
13223 if (self.synpred186()) :
13224 alt93 = 1
13225
13226
13227 elif LA93 == 34:
13228 LA93_153 = self.input.LA(3)
13229
13230 if (self.synpred186()) :
13231 alt93 = 1
13232
13233
13234 elif LA93 == 35:
13235 LA93_154 = self.input.LA(3)
13236
13237 if (self.synpred186()) :
13238 alt93 = 1
13239
13240
13241 elif LA93 == 36:
13242 LA93_155 = self.input.LA(3)
13243
13244 if (self.synpred186()) :
13245 alt93 = 1
13246
13247
13248 elif LA93 == 37:
13249 LA93_156 = self.input.LA(3)
13250
13251 if (self.synpred186()) :
13252 alt93 = 1
13253
13254
13255 elif LA93 == 38:
13256 LA93_157 = self.input.LA(3)
13257
13258 if (self.synpred186()) :
13259 alt93 = 1
13260
13261
13262 elif LA93 == 39:
13263 LA93_158 = self.input.LA(3)
13264
13265 if (self.synpred186()) :
13266 alt93 = 1
13267
13268
13269 elif LA93 == 40:
13270 LA93_159 = self.input.LA(3)
13271
13272 if (self.synpred186()) :
13273 alt93 = 1
13274
13275
13276 elif LA93 == 41:
13277 LA93_160 = self.input.LA(3)
13278
13279 if (self.synpred186()) :
13280 alt93 = 1
13281
13282
13283 elif LA93 == 42:
13284 LA93_161 = self.input.LA(3)
13285
13286 if (self.synpred186()) :
13287 alt93 = 1
13288
13289
13290 elif LA93 == 45 or LA93 == 46:
13291 LA93_162 = self.input.LA(3)
13292
13293 if (self.synpred186()) :
13294 alt93 = 1
13295
13296
13297 elif LA93 == 48:
13298 LA93_163 = self.input.LA(3)
13299
13300 if (self.synpred186()) :
13301 alt93 = 1
13302
13303
13304 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:
13305 LA93_164 = self.input.LA(3)
13306
13307 if (self.synpred186()) :
13308 alt93 = 1
13309
13310
13311
13312 elif LA93 == 36:
13313 LA93 = self.input.LA(2)
13314 if LA93 == 66:
13315 LA93_165 = self.input.LA(3)
13316
13317 if (self.synpred186()) :
13318 alt93 = 1
13319
13320
13321 elif LA93 == 58:
13322 LA93_166 = self.input.LA(3)
13323
13324 if (self.synpred186()) :
13325 alt93 = 1
13326
13327
13328 elif LA93 == 59:
13329 LA93_167 = self.input.LA(3)
13330
13331 if (self.synpred186()) :
13332 alt93 = 1
13333
13334
13335 elif LA93 == 60:
13336 LA93_168 = self.input.LA(3)
13337
13338 if (self.synpred186()) :
13339 alt93 = 1
13340
13341
13342 elif LA93 == IDENTIFIER:
13343 LA93_169 = self.input.LA(3)
13344
13345 if (self.synpred186()) :
13346 alt93 = 1
13347
13348
13349 elif LA93 == 62:
13350 LA93_170 = self.input.LA(3)
13351
13352 if (self.synpred186()) :
13353 alt93 = 1
13354
13355
13356 elif LA93 == 25:
13357 LA93_171 = self.input.LA(3)
13358
13359 if (self.synpred186()) :
13360 alt93 = 1
13361
13362
13363 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13364 LA93_172 = self.input.LA(3)
13365
13366 if (self.synpred186()) :
13367 alt93 = 1
13368
13369
13370 elif LA93 == 34:
13371 LA93_173 = self.input.LA(3)
13372
13373 if (self.synpred186()) :
13374 alt93 = 1
13375
13376
13377 elif LA93 == 35:
13378 LA93_174 = self.input.LA(3)
13379
13380 if (self.synpred186()) :
13381 alt93 = 1
13382
13383
13384 elif LA93 == 36:
13385 LA93_175 = self.input.LA(3)
13386
13387 if (self.synpred186()) :
13388 alt93 = 1
13389
13390
13391 elif LA93 == 37:
13392 LA93_176 = self.input.LA(3)
13393
13394 if (self.synpred186()) :
13395 alt93 = 1
13396
13397
13398 elif LA93 == 38:
13399 LA93_177 = self.input.LA(3)
13400
13401 if (self.synpred186()) :
13402 alt93 = 1
13403
13404
13405 elif LA93 == 39:
13406 LA93_178 = self.input.LA(3)
13407
13408 if (self.synpred186()) :
13409 alt93 = 1
13410
13411
13412 elif LA93 == 40:
13413 LA93_179 = self.input.LA(3)
13414
13415 if (self.synpred186()) :
13416 alt93 = 1
13417
13418
13419 elif LA93 == 41:
13420 LA93_180 = self.input.LA(3)
13421
13422 if (self.synpred186()) :
13423 alt93 = 1
13424
13425
13426 elif LA93 == 42:
13427 LA93_181 = self.input.LA(3)
13428
13429 if (self.synpred186()) :
13430 alt93 = 1
13431
13432
13433 elif LA93 == 45 or LA93 == 46:
13434 LA93_182 = self.input.LA(3)
13435
13436 if (self.synpred186()) :
13437 alt93 = 1
13438
13439
13440 elif LA93 == 48:
13441 LA93_183 = self.input.LA(3)
13442
13443 if (self.synpred186()) :
13444 alt93 = 1
13445
13446
13447 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:
13448 LA93_184 = self.input.LA(3)
13449
13450 if (self.synpred186()) :
13451 alt93 = 1
13452
13453
13454
13455 elif LA93 == 37:
13456 LA93 = self.input.LA(2)
13457 if LA93 == 66:
13458 LA93_185 = self.input.LA(3)
13459
13460 if (self.synpred186()) :
13461 alt93 = 1
13462
13463
13464 elif LA93 == 58:
13465 LA93_186 = self.input.LA(3)
13466
13467 if (self.synpred186()) :
13468 alt93 = 1
13469
13470
13471 elif LA93 == 59:
13472 LA93_187 = self.input.LA(3)
13473
13474 if (self.synpred186()) :
13475 alt93 = 1
13476
13477
13478 elif LA93 == 60:
13479 LA93_188 = self.input.LA(3)
13480
13481 if (self.synpred186()) :
13482 alt93 = 1
13483
13484
13485 elif LA93 == IDENTIFIER:
13486 LA93_189 = self.input.LA(3)
13487
13488 if (self.synpred186()) :
13489 alt93 = 1
13490
13491
13492 elif LA93 == 62:
13493 LA93_190 = self.input.LA(3)
13494
13495 if (self.synpred186()) :
13496 alt93 = 1
13497
13498
13499 elif LA93 == 25:
13500 LA93_191 = self.input.LA(3)
13501
13502 if (self.synpred186()) :
13503 alt93 = 1
13504
13505
13506 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13507 LA93_192 = self.input.LA(3)
13508
13509 if (self.synpred186()) :
13510 alt93 = 1
13511
13512
13513 elif LA93 == 34:
13514 LA93_193 = self.input.LA(3)
13515
13516 if (self.synpred186()) :
13517 alt93 = 1
13518
13519
13520 elif LA93 == 35:
13521 LA93_194 = self.input.LA(3)
13522
13523 if (self.synpred186()) :
13524 alt93 = 1
13525
13526
13527 elif LA93 == 36:
13528 LA93_195 = self.input.LA(3)
13529
13530 if (self.synpred186()) :
13531 alt93 = 1
13532
13533
13534 elif LA93 == 37:
13535 LA93_196 = self.input.LA(3)
13536
13537 if (self.synpred186()) :
13538 alt93 = 1
13539
13540
13541 elif LA93 == 38:
13542 LA93_197 = self.input.LA(3)
13543
13544 if (self.synpred186()) :
13545 alt93 = 1
13546
13547
13548 elif LA93 == 39:
13549 LA93_198 = self.input.LA(3)
13550
13551 if (self.synpred186()) :
13552 alt93 = 1
13553
13554
13555 elif LA93 == 40:
13556 LA93_199 = self.input.LA(3)
13557
13558 if (self.synpred186()) :
13559 alt93 = 1
13560
13561
13562 elif LA93 == 41:
13563 LA93_200 = self.input.LA(3)
13564
13565 if (self.synpred186()) :
13566 alt93 = 1
13567
13568
13569 elif LA93 == 42:
13570 LA93_201 = self.input.LA(3)
13571
13572 if (self.synpred186()) :
13573 alt93 = 1
13574
13575
13576 elif LA93 == 45 or LA93 == 46:
13577 LA93_202 = self.input.LA(3)
13578
13579 if (self.synpred186()) :
13580 alt93 = 1
13581
13582
13583 elif LA93 == 48:
13584 LA93_203 = self.input.LA(3)
13585
13586 if (self.synpred186()) :
13587 alt93 = 1
13588
13589
13590 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:
13591 LA93_204 = self.input.LA(3)
13592
13593 if (self.synpred186()) :
13594 alt93 = 1
13595
13596
13597
13598 elif LA93 == 38:
13599 LA93 = self.input.LA(2)
13600 if LA93 == 66:
13601 LA93_205 = self.input.LA(3)
13602
13603 if (self.synpred186()) :
13604 alt93 = 1
13605
13606
13607 elif LA93 == 58:
13608 LA93_206 = self.input.LA(3)
13609
13610 if (self.synpred186()) :
13611 alt93 = 1
13612
13613
13614 elif LA93 == 59:
13615 LA93_207 = self.input.LA(3)
13616
13617 if (self.synpred186()) :
13618 alt93 = 1
13619
13620
13621 elif LA93 == 60:
13622 LA93_208 = self.input.LA(3)
13623
13624 if (self.synpred186()) :
13625 alt93 = 1
13626
13627
13628 elif LA93 == IDENTIFIER:
13629 LA93_209 = self.input.LA(3)
13630
13631 if (self.synpred186()) :
13632 alt93 = 1
13633
13634
13635 elif LA93 == 62:
13636 LA93_210 = self.input.LA(3)
13637
13638 if (self.synpred186()) :
13639 alt93 = 1
13640
13641
13642 elif LA93 == 25:
13643 LA93_211 = self.input.LA(3)
13644
13645 if (self.synpred186()) :
13646 alt93 = 1
13647
13648
13649 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13650 LA93_212 = self.input.LA(3)
13651
13652 if (self.synpred186()) :
13653 alt93 = 1
13654
13655
13656 elif LA93 == 34:
13657 LA93_213 = self.input.LA(3)
13658
13659 if (self.synpred186()) :
13660 alt93 = 1
13661
13662
13663 elif LA93 == 35:
13664 LA93_214 = self.input.LA(3)
13665
13666 if (self.synpred186()) :
13667 alt93 = 1
13668
13669
13670 elif LA93 == 36:
13671 LA93_215 = self.input.LA(3)
13672
13673 if (self.synpred186()) :
13674 alt93 = 1
13675
13676
13677 elif LA93 == 37:
13678 LA93_216 = self.input.LA(3)
13679
13680 if (self.synpred186()) :
13681 alt93 = 1
13682
13683
13684 elif LA93 == 38:
13685 LA93_217 = self.input.LA(3)
13686
13687 if (self.synpred186()) :
13688 alt93 = 1
13689
13690
13691 elif LA93 == 39:
13692 LA93_218 = self.input.LA(3)
13693
13694 if (self.synpred186()) :
13695 alt93 = 1
13696
13697
13698 elif LA93 == 40:
13699 LA93_219 = self.input.LA(3)
13700
13701 if (self.synpred186()) :
13702 alt93 = 1
13703
13704
13705 elif LA93 == 41:
13706 LA93_220 = self.input.LA(3)
13707
13708 if (self.synpred186()) :
13709 alt93 = 1
13710
13711
13712 elif LA93 == 42:
13713 LA93_221 = self.input.LA(3)
13714
13715 if (self.synpred186()) :
13716 alt93 = 1
13717
13718
13719 elif LA93 == 45 or LA93 == 46:
13720 LA93_222 = self.input.LA(3)
13721
13722 if (self.synpred186()) :
13723 alt93 = 1
13724
13725
13726 elif LA93 == 48:
13727 LA93_223 = self.input.LA(3)
13728
13729 if (self.synpred186()) :
13730 alt93 = 1
13731
13732
13733 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:
13734 LA93_224 = self.input.LA(3)
13735
13736 if (self.synpred186()) :
13737 alt93 = 1
13738
13739
13740
13741 elif LA93 == 39:
13742 LA93 = self.input.LA(2)
13743 if LA93 == 66:
13744 LA93_225 = self.input.LA(3)
13745
13746 if (self.synpred186()) :
13747 alt93 = 1
13748
13749
13750 elif LA93 == 58:
13751 LA93_226 = self.input.LA(3)
13752
13753 if (self.synpred186()) :
13754 alt93 = 1
13755
13756
13757 elif LA93 == 59:
13758 LA93_227 = self.input.LA(3)
13759
13760 if (self.synpred186()) :
13761 alt93 = 1
13762
13763
13764 elif LA93 == 60:
13765 LA93_228 = self.input.LA(3)
13766
13767 if (self.synpred186()) :
13768 alt93 = 1
13769
13770
13771 elif LA93 == IDENTIFIER:
13772 LA93_229 = self.input.LA(3)
13773
13774 if (self.synpred186()) :
13775 alt93 = 1
13776
13777
13778 elif LA93 == 62:
13779 LA93_230 = self.input.LA(3)
13780
13781 if (self.synpred186()) :
13782 alt93 = 1
13783
13784
13785 elif LA93 == 25:
13786 LA93_231 = self.input.LA(3)
13787
13788 if (self.synpred186()) :
13789 alt93 = 1
13790
13791
13792 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13793 LA93_232 = self.input.LA(3)
13794
13795 if (self.synpred186()) :
13796 alt93 = 1
13797
13798
13799 elif LA93 == 34:
13800 LA93_233 = self.input.LA(3)
13801
13802 if (self.synpred186()) :
13803 alt93 = 1
13804
13805
13806 elif LA93 == 35:
13807 LA93_234 = self.input.LA(3)
13808
13809 if (self.synpred186()) :
13810 alt93 = 1
13811
13812
13813 elif LA93 == 36:
13814 LA93_235 = self.input.LA(3)
13815
13816 if (self.synpred186()) :
13817 alt93 = 1
13818
13819
13820 elif LA93 == 37:
13821 LA93_236 = self.input.LA(3)
13822
13823 if (self.synpred186()) :
13824 alt93 = 1
13825
13826
13827 elif LA93 == 38:
13828 LA93_237 = self.input.LA(3)
13829
13830 if (self.synpred186()) :
13831 alt93 = 1
13832
13833
13834 elif LA93 == 39:
13835 LA93_238 = self.input.LA(3)
13836
13837 if (self.synpred186()) :
13838 alt93 = 1
13839
13840
13841 elif LA93 == 40:
13842 LA93_239 = self.input.LA(3)
13843
13844 if (self.synpred186()) :
13845 alt93 = 1
13846
13847
13848 elif LA93 == 41:
13849 LA93_240 = self.input.LA(3)
13850
13851 if (self.synpred186()) :
13852 alt93 = 1
13853
13854
13855 elif LA93 == 42:
13856 LA93_241 = self.input.LA(3)
13857
13858 if (self.synpred186()) :
13859 alt93 = 1
13860
13861
13862 elif LA93 == 45 or LA93 == 46:
13863 LA93_242 = self.input.LA(3)
13864
13865 if (self.synpred186()) :
13866 alt93 = 1
13867
13868
13869 elif LA93 == 48:
13870 LA93_243 = self.input.LA(3)
13871
13872 if (self.synpred186()) :
13873 alt93 = 1
13874
13875
13876 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:
13877 LA93_244 = self.input.LA(3)
13878
13879 if (self.synpred186()) :
13880 alt93 = 1
13881
13882
13883
13884 elif LA93 == 40:
13885 LA93 = self.input.LA(2)
13886 if LA93 == 66:
13887 LA93_245 = self.input.LA(3)
13888
13889 if (self.synpred186()) :
13890 alt93 = 1
13891
13892
13893 elif LA93 == 58:
13894 LA93_246 = self.input.LA(3)
13895
13896 if (self.synpred186()) :
13897 alt93 = 1
13898
13899
13900 elif LA93 == 59:
13901 LA93_247 = self.input.LA(3)
13902
13903 if (self.synpred186()) :
13904 alt93 = 1
13905
13906
13907 elif LA93 == 60:
13908 LA93_248 = self.input.LA(3)
13909
13910 if (self.synpred186()) :
13911 alt93 = 1
13912
13913
13914 elif LA93 == IDENTIFIER:
13915 LA93_249 = self.input.LA(3)
13916
13917 if (self.synpred186()) :
13918 alt93 = 1
13919
13920
13921 elif LA93 == 62:
13922 LA93_250 = self.input.LA(3)
13923
13924 if (self.synpred186()) :
13925 alt93 = 1
13926
13927
13928 elif LA93 == 25:
13929 LA93_251 = self.input.LA(3)
13930
13931 if (self.synpred186()) :
13932 alt93 = 1
13933
13934
13935 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13936 LA93_252 = self.input.LA(3)
13937
13938 if (self.synpred186()) :
13939 alt93 = 1
13940
13941
13942 elif LA93 == 34:
13943 LA93_253 = self.input.LA(3)
13944
13945 if (self.synpred186()) :
13946 alt93 = 1
13947
13948
13949 elif LA93 == 35:
13950 LA93_254 = self.input.LA(3)
13951
13952 if (self.synpred186()) :
13953 alt93 = 1
13954
13955
13956 elif LA93 == 36:
13957 LA93_255 = self.input.LA(3)
13958
13959 if (self.synpred186()) :
13960 alt93 = 1
13961
13962
13963 elif LA93 == 37:
13964 LA93_256 = self.input.LA(3)
13965
13966 if (self.synpred186()) :
13967 alt93 = 1
13968
13969
13970 elif LA93 == 38:
13971 LA93_257 = self.input.LA(3)
13972
13973 if (self.synpred186()) :
13974 alt93 = 1
13975
13976
13977 elif LA93 == 39:
13978 LA93_258 = self.input.LA(3)
13979
13980 if (self.synpred186()) :
13981 alt93 = 1
13982
13983
13984 elif LA93 == 40:
13985 LA93_259 = self.input.LA(3)
13986
13987 if (self.synpred186()) :
13988 alt93 = 1
13989
13990
13991 elif LA93 == 41:
13992 LA93_260 = self.input.LA(3)
13993
13994 if (self.synpred186()) :
13995 alt93 = 1
13996
13997
13998 elif LA93 == 42:
13999 LA93_261 = self.input.LA(3)
14000
14001 if (self.synpred186()) :
14002 alt93 = 1
14003
14004
14005 elif LA93 == 45 or LA93 == 46:
14006 LA93_262 = self.input.LA(3)
14007
14008 if (self.synpred186()) :
14009 alt93 = 1
14010
14011
14012 elif LA93 == 48:
14013 LA93_263 = self.input.LA(3)
14014
14015 if (self.synpred186()) :
14016 alt93 = 1
14017
14018
14019 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:
14020 LA93_264 = self.input.LA(3)
14021
14022 if (self.synpred186()) :
14023 alt93 = 1
14024
14025
14026
14027 elif LA93 == 41:
14028 LA93 = self.input.LA(2)
14029 if LA93 == 66:
14030 LA93_265 = self.input.LA(3)
14031
14032 if (self.synpred186()) :
14033 alt93 = 1
14034
14035
14036 elif LA93 == 58:
14037 LA93_266 = self.input.LA(3)
14038
14039 if (self.synpred186()) :
14040 alt93 = 1
14041
14042
14043 elif LA93 == 59:
14044 LA93_267 = self.input.LA(3)
14045
14046 if (self.synpred186()) :
14047 alt93 = 1
14048
14049
14050 elif LA93 == 60:
14051 LA93_268 = self.input.LA(3)
14052
14053 if (self.synpred186()) :
14054 alt93 = 1
14055
14056
14057 elif LA93 == IDENTIFIER:
14058 LA93_269 = self.input.LA(3)
14059
14060 if (self.synpred186()) :
14061 alt93 = 1
14062
14063
14064 elif LA93 == 62:
14065 LA93_270 = self.input.LA(3)
14066
14067 if (self.synpred186()) :
14068 alt93 = 1
14069
14070
14071 elif LA93 == 25:
14072 LA93_271 = self.input.LA(3)
14073
14074 if (self.synpred186()) :
14075 alt93 = 1
14076
14077
14078 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14079 LA93_272 = self.input.LA(3)
14080
14081 if (self.synpred186()) :
14082 alt93 = 1
14083
14084
14085 elif LA93 == 34:
14086 LA93_273 = self.input.LA(3)
14087
14088 if (self.synpred186()) :
14089 alt93 = 1
14090
14091
14092 elif LA93 == 35:
14093 LA93_274 = self.input.LA(3)
14094
14095 if (self.synpred186()) :
14096 alt93 = 1
14097
14098
14099 elif LA93 == 36:
14100 LA93_275 = self.input.LA(3)
14101
14102 if (self.synpred186()) :
14103 alt93 = 1
14104
14105
14106 elif LA93 == 37:
14107 LA93_276 = self.input.LA(3)
14108
14109 if (self.synpred186()) :
14110 alt93 = 1
14111
14112
14113 elif LA93 == 38:
14114 LA93_277 = self.input.LA(3)
14115
14116 if (self.synpred186()) :
14117 alt93 = 1
14118
14119
14120 elif LA93 == 39:
14121 LA93_278 = self.input.LA(3)
14122
14123 if (self.synpred186()) :
14124 alt93 = 1
14125
14126
14127 elif LA93 == 40:
14128 LA93_279 = self.input.LA(3)
14129
14130 if (self.synpred186()) :
14131 alt93 = 1
14132
14133
14134 elif LA93 == 41:
14135 LA93_280 = self.input.LA(3)
14136
14137 if (self.synpred186()) :
14138 alt93 = 1
14139
14140
14141 elif LA93 == 42:
14142 LA93_281 = self.input.LA(3)
14143
14144 if (self.synpred186()) :
14145 alt93 = 1
14146
14147
14148 elif LA93 == 45 or LA93 == 46:
14149 LA93_282 = self.input.LA(3)
14150
14151 if (self.synpred186()) :
14152 alt93 = 1
14153
14154
14155 elif LA93 == 48:
14156 LA93_283 = self.input.LA(3)
14157
14158 if (self.synpred186()) :
14159 alt93 = 1
14160
14161
14162 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:
14163 LA93_284 = self.input.LA(3)
14164
14165 if (self.synpred186()) :
14166 alt93 = 1
14167
14168
14169
14170 elif LA93 == 42:
14171 LA93 = self.input.LA(2)
14172 if LA93 == 66:
14173 LA93_285 = self.input.LA(3)
14174
14175 if (self.synpred186()) :
14176 alt93 = 1
14177
14178
14179 elif LA93 == 58:
14180 LA93_286 = self.input.LA(3)
14181
14182 if (self.synpred186()) :
14183 alt93 = 1
14184
14185
14186 elif LA93 == 59:
14187 LA93_287 = self.input.LA(3)
14188
14189 if (self.synpred186()) :
14190 alt93 = 1
14191
14192
14193 elif LA93 == 60:
14194 LA93_288 = self.input.LA(3)
14195
14196 if (self.synpred186()) :
14197 alt93 = 1
14198
14199
14200 elif LA93 == IDENTIFIER:
14201 LA93_289 = self.input.LA(3)
14202
14203 if (self.synpred186()) :
14204 alt93 = 1
14205
14206
14207 elif LA93 == 62:
14208 LA93_290 = self.input.LA(3)
14209
14210 if (self.synpred186()) :
14211 alt93 = 1
14212
14213
14214 elif LA93 == 25:
14215 LA93_291 = self.input.LA(3)
14216
14217 if (self.synpred186()) :
14218 alt93 = 1
14219
14220
14221 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14222 LA93_292 = self.input.LA(3)
14223
14224 if (self.synpred186()) :
14225 alt93 = 1
14226
14227
14228 elif LA93 == 34:
14229 LA93_293 = self.input.LA(3)
14230
14231 if (self.synpred186()) :
14232 alt93 = 1
14233
14234
14235 elif LA93 == 35:
14236 LA93_294 = self.input.LA(3)
14237
14238 if (self.synpred186()) :
14239 alt93 = 1
14240
14241
14242 elif LA93 == 36:
14243 LA93_295 = self.input.LA(3)
14244
14245 if (self.synpred186()) :
14246 alt93 = 1
14247
14248
14249 elif LA93 == 37:
14250 LA93_296 = self.input.LA(3)
14251
14252 if (self.synpred186()) :
14253 alt93 = 1
14254
14255
14256 elif LA93 == 38:
14257 LA93_297 = self.input.LA(3)
14258
14259 if (self.synpred186()) :
14260 alt93 = 1
14261
14262
14263 elif LA93 == 39:
14264 LA93_298 = self.input.LA(3)
14265
14266 if (self.synpred186()) :
14267 alt93 = 1
14268
14269
14270 elif LA93 == 40:
14271 LA93_299 = self.input.LA(3)
14272
14273 if (self.synpred186()) :
14274 alt93 = 1
14275
14276
14277 elif LA93 == 41:
14278 LA93_300 = self.input.LA(3)
14279
14280 if (self.synpred186()) :
14281 alt93 = 1
14282
14283
14284 elif LA93 == 42:
14285 LA93_301 = self.input.LA(3)
14286
14287 if (self.synpred186()) :
14288 alt93 = 1
14289
14290
14291 elif LA93 == 45 or LA93 == 46:
14292 LA93_302 = self.input.LA(3)
14293
14294 if (self.synpred186()) :
14295 alt93 = 1
14296
14297
14298 elif LA93 == 48:
14299 LA93_303 = self.input.LA(3)
14300
14301 if (self.synpred186()) :
14302 alt93 = 1
14303
14304
14305 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:
14306 LA93_304 = self.input.LA(3)
14307
14308 if (self.synpred186()) :
14309 alt93 = 1
14310
14311
14312
14313 elif LA93 == 45 or LA93 == 46:
14314 LA93_40 = self.input.LA(2)
14315
14316 if (LA93_40 == IDENTIFIER) :
14317 LA93_305 = self.input.LA(3)
14318
14319 if (self.synpred186()) :
14320 alt93 = 1
14321
14322
14323 elif (LA93_40 == 43) :
14324 LA93_306 = self.input.LA(3)
14325
14326 if (self.synpred186()) :
14327 alt93 = 1
14328
14329
14330
14331
14332 elif LA93 == 48:
14333 LA93_41 = self.input.LA(2)
14334
14335 if (LA93_41 == 43) :
14336 LA93_307 = self.input.LA(3)
14337
14338 if (self.synpred186()) :
14339 alt93 = 1
14340
14341
14342 elif (LA93_41 == IDENTIFIER) :
14343 LA93_308 = self.input.LA(3)
14344
14345 if (self.synpred186()) :
14346 alt93 = 1
14347
14348
14349
14350
14351 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:
14352 LA93 = self.input.LA(2)
14353 if LA93 == 66:
14354 LA93_309 = self.input.LA(3)
14355
14356 if (self.synpred186()) :
14357 alt93 = 1
14358
14359
14360 elif LA93 == 58:
14361 LA93_310 = self.input.LA(3)
14362
14363 if (self.synpred186()) :
14364 alt93 = 1
14365
14366
14367 elif LA93 == 59:
14368 LA93_311 = self.input.LA(3)
14369
14370 if (self.synpred186()) :
14371 alt93 = 1
14372
14373
14374 elif LA93 == 60:
14375 LA93_312 = self.input.LA(3)
14376
14377 if (self.synpred186()) :
14378 alt93 = 1
14379
14380
14381 elif LA93 == IDENTIFIER:
14382 LA93_313 = self.input.LA(3)
14383
14384 if (self.synpred186()) :
14385 alt93 = 1
14386
14387
14388 elif LA93 == 62:
14389 LA93_314 = self.input.LA(3)
14390
14391 if (self.synpred186()) :
14392 alt93 = 1
14393
14394
14395 elif LA93 == 25:
14396 LA93_315 = self.input.LA(3)
14397
14398 if (self.synpred186()) :
14399 alt93 = 1
14400
14401
14402 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14403 LA93_316 = self.input.LA(3)
14404
14405 if (self.synpred186()) :
14406 alt93 = 1
14407
14408
14409 elif LA93 == 34:
14410 LA93_317 = self.input.LA(3)
14411
14412 if (self.synpred186()) :
14413 alt93 = 1
14414
14415
14416 elif LA93 == 35:
14417 LA93_318 = self.input.LA(3)
14418
14419 if (self.synpred186()) :
14420 alt93 = 1
14421
14422
14423 elif LA93 == 36:
14424 LA93_319 = self.input.LA(3)
14425
14426 if (self.synpred186()) :
14427 alt93 = 1
14428
14429
14430 elif LA93 == 37:
14431 LA93_320 = self.input.LA(3)
14432
14433 if (self.synpred186()) :
14434 alt93 = 1
14435
14436
14437 elif LA93 == 38:
14438 LA93_321 = self.input.LA(3)
14439
14440 if (self.synpred186()) :
14441 alt93 = 1
14442
14443
14444 elif LA93 == 39:
14445 LA93_322 = self.input.LA(3)
14446
14447 if (self.synpred186()) :
14448 alt93 = 1
14449
14450
14451 elif LA93 == 40:
14452 LA93_323 = self.input.LA(3)
14453
14454 if (self.synpred186()) :
14455 alt93 = 1
14456
14457
14458 elif LA93 == 41:
14459 LA93_324 = self.input.LA(3)
14460
14461 if (self.synpred186()) :
14462 alt93 = 1
14463
14464
14465 elif LA93 == 42:
14466 LA93_325 = self.input.LA(3)
14467
14468 if (self.synpred186()) :
14469 alt93 = 1
14470
14471
14472 elif LA93 == 45 or LA93 == 46:
14473 LA93_326 = self.input.LA(3)
14474
14475 if (self.synpred186()) :
14476 alt93 = 1
14477
14478
14479 elif LA93 == 48:
14480 LA93_327 = self.input.LA(3)
14481
14482 if (self.synpred186()) :
14483 alt93 = 1
14484
14485
14486 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:
14487 LA93_328 = self.input.LA(3)
14488
14489 if (self.synpred186()) :
14490 alt93 = 1
14491
14492
14493
14494
14495 if alt93 == 1:
14496 # C.g:0:0: declaration
14497 self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
14498 self.declaration()
14499 self.following.pop()
14500 if self.failed:
14501 return retval
14502
14503
14504 else:
14505 break #loop93
14506
14507
14508 # C.g:554:21: ( statement_list )?
14509 alt94 = 2
14510 LA94_0 = self.input.LA(1)
14511
14512 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)) :
14513 alt94 = 1
14514 if alt94 == 1:
14515 # C.g:0:0: statement_list
14516 self.following.append(self.FOLLOW_statement_list_in_compound_statement2228)
14517 self.statement_list()
14518 self.following.pop()
14519 if self.failed:
14520 return retval
14521
14522
14523
14524 self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
14525 if self.failed:
14526 return retval
14527
14528
14529
14530 retval.stop = self.input.LT(-1)
14531
14532
14533 except RecognitionException, re:
14534 self.reportError(re)
14535 self.recover(self.input, re)
14536 finally:
14537 if self.backtracking > 0:
14538 self.memoize(self.input, 66, compound_statement_StartIndex)
14539
14540 pass
14541
14542 return retval
14543
14544 # $ANTLR end compound_statement
14545
14546
14547 # $ANTLR start statement_list
14548 # C.g:557:1: statement_list : ( statement )+ ;
14549 def statement_list(self, ):
14550
14551 statement_list_StartIndex = self.input.index()
14552 try:
14553 try:
14554 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
14555 return
14556
14557 # C.g:558:2: ( ( statement )+ )
14558 # C.g:558:4: ( statement )+
14559 # C.g:558:4: ( statement )+
14560 cnt95 = 0
14561 while True: #loop95
14562 alt95 = 2
14563 LA95 = self.input.LA(1)
14564 if LA95 == IDENTIFIER:
14565 LA95 = self.input.LA(2)
14566 if LA95 == 62:
14567 LA95_46 = self.input.LA(3)
14568
14569 if (self.synpred188()) :
14570 alt95 = 1
14571
14572
14573 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:
14574 alt95 = 1
14575 elif LA95 == STRING_LITERAL:
14576 LA95_48 = self.input.LA(3)
14577
14578 if (self.synpred188()) :
14579 alt95 = 1
14580
14581
14582 elif LA95 == IDENTIFIER:
14583 LA95_49 = self.input.LA(3)
14584
14585 if (self.synpred188()) :
14586 alt95 = 1
14587
14588
14589 elif LA95 == 64:
14590 LA95_50 = self.input.LA(3)
14591
14592 if (self.synpred188()) :
14593 alt95 = 1
14594
14595
14596 elif LA95 == 75:
14597 LA95_51 = self.input.LA(3)
14598
14599 if (self.synpred188()) :
14600 alt95 = 1
14601
14602
14603 elif LA95 == 66:
14604 LA95_52 = self.input.LA(3)
14605
14606 if (self.synpred188()) :
14607 alt95 = 1
14608
14609
14610 elif LA95 == 76:
14611 LA95_53 = self.input.LA(3)
14612
14613 if (self.synpred188()) :
14614 alt95 = 1
14615
14616
14617 elif LA95 == 72:
14618 LA95_54 = self.input.LA(3)
14619
14620 if (self.synpred188()) :
14621 alt95 = 1
14622
14623
14624 elif LA95 == 73:
14625 LA95_55 = self.input.LA(3)
14626
14627 if (self.synpred188()) :
14628 alt95 = 1
14629
14630
14631 elif LA95 == 70:
14632 LA95_56 = self.input.LA(3)
14633
14634 if (self.synpred188()) :
14635 alt95 = 1
14636
14637
14638 elif LA95 == 71:
14639 LA95_57 = self.input.LA(3)
14640
14641 if (self.synpred188()) :
14642 alt95 = 1
14643
14644
14645 elif LA95 == 68:
14646 LA95_58 = self.input.LA(3)
14647
14648 if (self.synpred188()) :
14649 alt95 = 1
14650
14651
14652 elif LA95 == 69:
14653 LA95_59 = self.input.LA(3)
14654
14655 if (self.synpred188()) :
14656 alt95 = 1
14657
14658
14659 elif LA95 == 101 or LA95 == 102:
14660 LA95_60 = self.input.LA(3)
14661
14662 if (self.synpred188()) :
14663 alt95 = 1
14664
14665
14666 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14667 LA95_61 = self.input.LA(3)
14668
14669 if (self.synpred188()) :
14670 alt95 = 1
14671
14672
14673 elif LA95 == 95 or LA95 == 96:
14674 LA95_62 = self.input.LA(3)
14675
14676 if (self.synpred188()) :
14677 alt95 = 1
14678
14679
14680 elif LA95 == 77:
14681 LA95_63 = self.input.LA(3)
14682
14683 if (self.synpred188()) :
14684 alt95 = 1
14685
14686
14687 elif LA95 == 94:
14688 LA95_64 = self.input.LA(3)
14689
14690 if (self.synpred188()) :
14691 alt95 = 1
14692
14693
14694 elif LA95 == 93:
14695 LA95_65 = self.input.LA(3)
14696
14697 if (self.synpred188()) :
14698 alt95 = 1
14699
14700
14701 elif LA95 == 92:
14702 LA95_66 = self.input.LA(3)
14703
14704 if (self.synpred188()) :
14705 alt95 = 1
14706
14707
14708 elif LA95 == 91:
14709 LA95_67 = self.input.LA(3)
14710
14711 if (self.synpred188()) :
14712 alt95 = 1
14713
14714
14715 elif LA95 == 90:
14716 LA95_68 = self.input.LA(3)
14717
14718 if (self.synpred188()) :
14719 alt95 = 1
14720
14721
14722 elif LA95 == 27:
14723 LA95_69 = self.input.LA(3)
14724
14725 if (self.synpred188()) :
14726 alt95 = 1
14727
14728
14729 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:
14730 LA95_88 = self.input.LA(3)
14731
14732 if (self.synpred188()) :
14733 alt95 = 1
14734
14735
14736
14737 elif LA95 == HEX_LITERAL:
14738 LA95 = self.input.LA(2)
14739 if LA95 == 64:
14740 LA95_89 = self.input.LA(3)
14741
14742 if (self.synpred188()) :
14743 alt95 = 1
14744
14745
14746 elif LA95 == 62:
14747 LA95_90 = self.input.LA(3)
14748
14749 if (self.synpred188()) :
14750 alt95 = 1
14751
14752
14753 elif LA95 == 75:
14754 LA95_91 = self.input.LA(3)
14755
14756 if (self.synpred188()) :
14757 alt95 = 1
14758
14759
14760 elif LA95 == 66:
14761 LA95_92 = self.input.LA(3)
14762
14763 if (self.synpred188()) :
14764 alt95 = 1
14765
14766
14767 elif LA95 == 76:
14768 LA95_93 = self.input.LA(3)
14769
14770 if (self.synpred188()) :
14771 alt95 = 1
14772
14773
14774 elif LA95 == 72:
14775 LA95_94 = self.input.LA(3)
14776
14777 if (self.synpred188()) :
14778 alt95 = 1
14779
14780
14781 elif LA95 == 73:
14782 LA95_95 = self.input.LA(3)
14783
14784 if (self.synpred188()) :
14785 alt95 = 1
14786
14787
14788 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:
14789 LA95_96 = self.input.LA(3)
14790
14791 if (self.synpred188()) :
14792 alt95 = 1
14793
14794
14795 elif LA95 == 70:
14796 LA95_97 = self.input.LA(3)
14797
14798 if (self.synpred188()) :
14799 alt95 = 1
14800
14801
14802 elif LA95 == 71:
14803 LA95_98 = self.input.LA(3)
14804
14805 if (self.synpred188()) :
14806 alt95 = 1
14807
14808
14809 elif LA95 == 68:
14810 LA95_99 = self.input.LA(3)
14811
14812 if (self.synpred188()) :
14813 alt95 = 1
14814
14815
14816 elif LA95 == 69:
14817 LA95_100 = self.input.LA(3)
14818
14819 if (self.synpred188()) :
14820 alt95 = 1
14821
14822
14823 elif LA95 == 101 or LA95 == 102:
14824 LA95_101 = self.input.LA(3)
14825
14826 if (self.synpred188()) :
14827 alt95 = 1
14828
14829
14830 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14831 LA95_102 = self.input.LA(3)
14832
14833 if (self.synpred188()) :
14834 alt95 = 1
14835
14836
14837 elif LA95 == 95 or LA95 == 96:
14838 LA95_103 = self.input.LA(3)
14839
14840 if (self.synpred188()) :
14841 alt95 = 1
14842
14843
14844 elif LA95 == 77:
14845 LA95_104 = self.input.LA(3)
14846
14847 if (self.synpred188()) :
14848 alt95 = 1
14849
14850
14851 elif LA95 == 94:
14852 LA95_105 = self.input.LA(3)
14853
14854 if (self.synpred188()) :
14855 alt95 = 1
14856
14857
14858 elif LA95 == 93:
14859 LA95_106 = self.input.LA(3)
14860
14861 if (self.synpred188()) :
14862 alt95 = 1
14863
14864
14865 elif LA95 == 92:
14866 LA95_107 = self.input.LA(3)
14867
14868 if (self.synpred188()) :
14869 alt95 = 1
14870
14871
14872 elif LA95 == 91:
14873 LA95_108 = self.input.LA(3)
14874
14875 if (self.synpred188()) :
14876 alt95 = 1
14877
14878
14879 elif LA95 == 90:
14880 LA95_109 = self.input.LA(3)
14881
14882 if (self.synpred188()) :
14883 alt95 = 1
14884
14885
14886 elif LA95 == 27:
14887 LA95_110 = self.input.LA(3)
14888
14889 if (self.synpred188()) :
14890 alt95 = 1
14891
14892
14893 elif LA95 == 25:
14894 alt95 = 1
14895
14896 elif LA95 == OCTAL_LITERAL:
14897 LA95 = self.input.LA(2)
14898 if LA95 == 64:
14899 LA95_113 = self.input.LA(3)
14900
14901 if (self.synpred188()) :
14902 alt95 = 1
14903
14904
14905 elif LA95 == 62:
14906 LA95_114 = self.input.LA(3)
14907
14908 if (self.synpred188()) :
14909 alt95 = 1
14910
14911
14912 elif LA95 == 75:
14913 LA95_115 = self.input.LA(3)
14914
14915 if (self.synpred188()) :
14916 alt95 = 1
14917
14918
14919 elif LA95 == 66:
14920 LA95_116 = self.input.LA(3)
14921
14922 if (self.synpred188()) :
14923 alt95 = 1
14924
14925
14926 elif LA95 == 76:
14927 LA95_117 = self.input.LA(3)
14928
14929 if (self.synpred188()) :
14930 alt95 = 1
14931
14932
14933 elif LA95 == 72:
14934 LA95_118 = self.input.LA(3)
14935
14936 if (self.synpred188()) :
14937 alt95 = 1
14938
14939
14940 elif LA95 == 73:
14941 LA95_119 = self.input.LA(3)
14942
14943 if (self.synpred188()) :
14944 alt95 = 1
14945
14946
14947 elif LA95 == 70:
14948 LA95_120 = self.input.LA(3)
14949
14950 if (self.synpred188()) :
14951 alt95 = 1
14952
14953
14954 elif LA95 == 71:
14955 LA95_121 = self.input.LA(3)
14956
14957 if (self.synpred188()) :
14958 alt95 = 1
14959
14960
14961 elif LA95 == 68:
14962 LA95_122 = self.input.LA(3)
14963
14964 if (self.synpred188()) :
14965 alt95 = 1
14966
14967
14968 elif LA95 == 69:
14969 LA95_123 = self.input.LA(3)
14970
14971 if (self.synpred188()) :
14972 alt95 = 1
14973
14974
14975 elif LA95 == 101 or LA95 == 102:
14976 LA95_124 = self.input.LA(3)
14977
14978 if (self.synpred188()) :
14979 alt95 = 1
14980
14981
14982 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
14983 LA95_125 = self.input.LA(3)
14984
14985 if (self.synpred188()) :
14986 alt95 = 1
14987
14988
14989 elif LA95 == 95 or LA95 == 96:
14990 LA95_126 = self.input.LA(3)
14991
14992 if (self.synpred188()) :
14993 alt95 = 1
14994
14995
14996 elif LA95 == 77:
14997 LA95_127 = self.input.LA(3)
14998
14999 if (self.synpred188()) :
15000 alt95 = 1
15001
15002
15003 elif LA95 == 94:
15004 LA95_128 = self.input.LA(3)
15005
15006 if (self.synpred188()) :
15007 alt95 = 1
15008
15009
15010 elif LA95 == 93:
15011 LA95_129 = self.input.LA(3)
15012
15013 if (self.synpred188()) :
15014 alt95 = 1
15015
15016
15017 elif LA95 == 92:
15018 LA95_130 = self.input.LA(3)
15019
15020 if (self.synpred188()) :
15021 alt95 = 1
15022
15023
15024 elif LA95 == 91:
15025 LA95_131 = self.input.LA(3)
15026
15027 if (self.synpred188()) :
15028 alt95 = 1
15029
15030
15031 elif LA95 == 90:
15032 LA95_132 = self.input.LA(3)
15033
15034 if (self.synpred188()) :
15035 alt95 = 1
15036
15037
15038 elif LA95 == 27:
15039 LA95_133 = self.input.LA(3)
15040
15041 if (self.synpred188()) :
15042 alt95 = 1
15043
15044
15045 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:
15046 LA95_135 = self.input.LA(3)
15047
15048 if (self.synpred188()) :
15049 alt95 = 1
15050
15051
15052 elif LA95 == 25:
15053 alt95 = 1
15054
15055 elif LA95 == DECIMAL_LITERAL:
15056 LA95 = self.input.LA(2)
15057 if LA95 == 64:
15058 LA95_137 = self.input.LA(3)
15059
15060 if (self.synpred188()) :
15061 alt95 = 1
15062
15063
15064 elif LA95 == 62:
15065 LA95_138 = self.input.LA(3)
15066
15067 if (self.synpred188()) :
15068 alt95 = 1
15069
15070
15071 elif LA95 == 75:
15072 LA95_139 = self.input.LA(3)
15073
15074 if (self.synpred188()) :
15075 alt95 = 1
15076
15077
15078 elif LA95 == 66:
15079 LA95_140 = self.input.LA(3)
15080
15081 if (self.synpred188()) :
15082 alt95 = 1
15083
15084
15085 elif LA95 == 76:
15086 LA95_141 = self.input.LA(3)
15087
15088 if (self.synpred188()) :
15089 alt95 = 1
15090
15091
15092 elif LA95 == 72:
15093 LA95_142 = self.input.LA(3)
15094
15095 if (self.synpred188()) :
15096 alt95 = 1
15097
15098
15099 elif LA95 == 73:
15100 LA95_143 = self.input.LA(3)
15101
15102 if (self.synpred188()) :
15103 alt95 = 1
15104
15105
15106 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:
15107 LA95_144 = self.input.LA(3)
15108
15109 if (self.synpred188()) :
15110 alt95 = 1
15111
15112
15113 elif LA95 == 70:
15114 LA95_145 = self.input.LA(3)
15115
15116 if (self.synpred188()) :
15117 alt95 = 1
15118
15119
15120 elif LA95 == 71:
15121 LA95_146 = self.input.LA(3)
15122
15123 if (self.synpred188()) :
15124 alt95 = 1
15125
15126
15127 elif LA95 == 68:
15128 LA95_147 = self.input.LA(3)
15129
15130 if (self.synpred188()) :
15131 alt95 = 1
15132
15133
15134 elif LA95 == 69:
15135 LA95_148 = self.input.LA(3)
15136
15137 if (self.synpred188()) :
15138 alt95 = 1
15139
15140
15141 elif LA95 == 101 or LA95 == 102:
15142 LA95_149 = self.input.LA(3)
15143
15144 if (self.synpred188()) :
15145 alt95 = 1
15146
15147
15148 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15149 LA95_150 = self.input.LA(3)
15150
15151 if (self.synpred188()) :
15152 alt95 = 1
15153
15154
15155 elif LA95 == 95 or LA95 == 96:
15156 LA95_151 = self.input.LA(3)
15157
15158 if (self.synpred188()) :
15159 alt95 = 1
15160
15161
15162 elif LA95 == 77:
15163 LA95_152 = self.input.LA(3)
15164
15165 if (self.synpred188()) :
15166 alt95 = 1
15167
15168
15169 elif LA95 == 94:
15170 LA95_153 = self.input.LA(3)
15171
15172 if (self.synpred188()) :
15173 alt95 = 1
15174
15175
15176 elif LA95 == 93:
15177 LA95_154 = self.input.LA(3)
15178
15179 if (self.synpred188()) :
15180 alt95 = 1
15181
15182
15183 elif LA95 == 92:
15184 LA95_155 = self.input.LA(3)
15185
15186 if (self.synpred188()) :
15187 alt95 = 1
15188
15189
15190 elif LA95 == 91:
15191 LA95_156 = self.input.LA(3)
15192
15193 if (self.synpred188()) :
15194 alt95 = 1
15195
15196
15197 elif LA95 == 90:
15198 LA95_157 = self.input.LA(3)
15199
15200 if (self.synpred188()) :
15201 alt95 = 1
15202
15203
15204 elif LA95 == 27:
15205 LA95_158 = self.input.LA(3)
15206
15207 if (self.synpred188()) :
15208 alt95 = 1
15209
15210
15211 elif LA95 == 25:
15212 alt95 = 1
15213
15214 elif LA95 == CHARACTER_LITERAL:
15215 LA95 = self.input.LA(2)
15216 if LA95 == 64:
15217 LA95_161 = self.input.LA(3)
15218
15219 if (self.synpred188()) :
15220 alt95 = 1
15221
15222
15223 elif LA95 == 62:
15224 LA95_162 = self.input.LA(3)
15225
15226 if (self.synpred188()) :
15227 alt95 = 1
15228
15229
15230 elif LA95 == 75:
15231 LA95_163 = self.input.LA(3)
15232
15233 if (self.synpred188()) :
15234 alt95 = 1
15235
15236
15237 elif LA95 == 66:
15238 LA95_164 = self.input.LA(3)
15239
15240 if (self.synpred188()) :
15241 alt95 = 1
15242
15243
15244 elif LA95 == 76:
15245 LA95_165 = self.input.LA(3)
15246
15247 if (self.synpred188()) :
15248 alt95 = 1
15249
15250
15251 elif LA95 == 72:
15252 LA95_166 = self.input.LA(3)
15253
15254 if (self.synpred188()) :
15255 alt95 = 1
15256
15257
15258 elif LA95 == 73:
15259 LA95_167 = self.input.LA(3)
15260
15261 if (self.synpred188()) :
15262 alt95 = 1
15263
15264
15265 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:
15266 LA95_168 = self.input.LA(3)
15267
15268 if (self.synpred188()) :
15269 alt95 = 1
15270
15271
15272 elif LA95 == 70:
15273 LA95_169 = self.input.LA(3)
15274
15275 if (self.synpred188()) :
15276 alt95 = 1
15277
15278
15279 elif LA95 == 71:
15280 LA95_170 = self.input.LA(3)
15281
15282 if (self.synpred188()) :
15283 alt95 = 1
15284
15285
15286 elif LA95 == 68:
15287 LA95_171 = self.input.LA(3)
15288
15289 if (self.synpred188()) :
15290 alt95 = 1
15291
15292
15293 elif LA95 == 69:
15294 LA95_172 = self.input.LA(3)
15295
15296 if (self.synpred188()) :
15297 alt95 = 1
15298
15299
15300 elif LA95 == 101 or LA95 == 102:
15301 LA95_173 = self.input.LA(3)
15302
15303 if (self.synpred188()) :
15304 alt95 = 1
15305
15306
15307 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15308 LA95_174 = self.input.LA(3)
15309
15310 if (self.synpred188()) :
15311 alt95 = 1
15312
15313
15314 elif LA95 == 95 or LA95 == 96:
15315 LA95_175 = self.input.LA(3)
15316
15317 if (self.synpred188()) :
15318 alt95 = 1
15319
15320
15321 elif LA95 == 77:
15322 LA95_176 = self.input.LA(3)
15323
15324 if (self.synpred188()) :
15325 alt95 = 1
15326
15327
15328 elif LA95 == 94:
15329 LA95_177 = self.input.LA(3)
15330
15331 if (self.synpred188()) :
15332 alt95 = 1
15333
15334
15335 elif LA95 == 93:
15336 LA95_178 = self.input.LA(3)
15337
15338 if (self.synpred188()) :
15339 alt95 = 1
15340
15341
15342 elif LA95 == 92:
15343 LA95_179 = self.input.LA(3)
15344
15345 if (self.synpred188()) :
15346 alt95 = 1
15347
15348
15349 elif LA95 == 91:
15350 LA95_180 = self.input.LA(3)
15351
15352 if (self.synpred188()) :
15353 alt95 = 1
15354
15355
15356 elif LA95 == 90:
15357 LA95_181 = self.input.LA(3)
15358
15359 if (self.synpred188()) :
15360 alt95 = 1
15361
15362
15363 elif LA95 == 27:
15364 LA95_182 = self.input.LA(3)
15365
15366 if (self.synpred188()) :
15367 alt95 = 1
15368
15369
15370 elif LA95 == 25:
15371 alt95 = 1
15372
15373 elif LA95 == STRING_LITERAL:
15374 LA95 = self.input.LA(2)
15375 if LA95 == IDENTIFIER:
15376 LA95_185 = self.input.LA(3)
15377
15378 if (self.synpred188()) :
15379 alt95 = 1
15380
15381
15382 elif LA95 == 64:
15383 LA95_186 = self.input.LA(3)
15384
15385 if (self.synpred188()) :
15386 alt95 = 1
15387
15388
15389 elif LA95 == 62:
15390 LA95_187 = self.input.LA(3)
15391
15392 if (self.synpred188()) :
15393 alt95 = 1
15394
15395
15396 elif LA95 == 75:
15397 LA95_188 = self.input.LA(3)
15398
15399 if (self.synpred188()) :
15400 alt95 = 1
15401
15402
15403 elif LA95 == 66:
15404 LA95_189 = self.input.LA(3)
15405
15406 if (self.synpred188()) :
15407 alt95 = 1
15408
15409
15410 elif LA95 == 76:
15411 LA95_190 = self.input.LA(3)
15412
15413 if (self.synpred188()) :
15414 alt95 = 1
15415
15416
15417 elif LA95 == 72:
15418 LA95_191 = self.input.LA(3)
15419
15420 if (self.synpred188()) :
15421 alt95 = 1
15422
15423
15424 elif LA95 == 73:
15425 LA95_192 = self.input.LA(3)
15426
15427 if (self.synpred188()) :
15428 alt95 = 1
15429
15430
15431 elif LA95 == 70:
15432 LA95_193 = self.input.LA(3)
15433
15434 if (self.synpred188()) :
15435 alt95 = 1
15436
15437
15438 elif LA95 == 71:
15439 LA95_194 = self.input.LA(3)
15440
15441 if (self.synpred188()) :
15442 alt95 = 1
15443
15444
15445 elif LA95 == 68:
15446 LA95_195 = self.input.LA(3)
15447
15448 if (self.synpred188()) :
15449 alt95 = 1
15450
15451
15452 elif LA95 == 69:
15453 LA95_196 = self.input.LA(3)
15454
15455 if (self.synpred188()) :
15456 alt95 = 1
15457
15458
15459 elif LA95 == 101 or LA95 == 102:
15460 LA95_197 = self.input.LA(3)
15461
15462 if (self.synpred188()) :
15463 alt95 = 1
15464
15465
15466 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15467 LA95_198 = self.input.LA(3)
15468
15469 if (self.synpred188()) :
15470 alt95 = 1
15471
15472
15473 elif LA95 == 95 or LA95 == 96:
15474 LA95_199 = self.input.LA(3)
15475
15476 if (self.synpred188()) :
15477 alt95 = 1
15478
15479
15480 elif LA95 == 77:
15481 LA95_200 = self.input.LA(3)
15482
15483 if (self.synpred188()) :
15484 alt95 = 1
15485
15486
15487 elif LA95 == 94:
15488 LA95_201 = self.input.LA(3)
15489
15490 if (self.synpred188()) :
15491 alt95 = 1
15492
15493
15494 elif LA95 == 93:
15495 LA95_202 = self.input.LA(3)
15496
15497 if (self.synpred188()) :
15498 alt95 = 1
15499
15500
15501 elif LA95 == 92:
15502 LA95_203 = self.input.LA(3)
15503
15504 if (self.synpred188()) :
15505 alt95 = 1
15506
15507
15508 elif LA95 == 91:
15509 LA95_204 = self.input.LA(3)
15510
15511 if (self.synpred188()) :
15512 alt95 = 1
15513
15514
15515 elif LA95 == 90:
15516 LA95_205 = self.input.LA(3)
15517
15518 if (self.synpred188()) :
15519 alt95 = 1
15520
15521
15522 elif LA95 == 27:
15523 LA95_206 = self.input.LA(3)
15524
15525 if (self.synpred188()) :
15526 alt95 = 1
15527
15528
15529 elif LA95 == 25:
15530 alt95 = 1
15531 elif LA95 == STRING_LITERAL:
15532 LA95_208 = self.input.LA(3)
15533
15534 if (self.synpred188()) :
15535 alt95 = 1
15536
15537
15538 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:
15539 LA95_209 = self.input.LA(3)
15540
15541 if (self.synpred188()) :
15542 alt95 = 1
15543
15544
15545
15546 elif LA95 == FLOATING_POINT_LITERAL:
15547 LA95 = self.input.LA(2)
15548 if LA95 == 64:
15549 LA95_211 = self.input.LA(3)
15550
15551 if (self.synpred188()) :
15552 alt95 = 1
15553
15554
15555 elif LA95 == 62:
15556 LA95_212 = self.input.LA(3)
15557
15558 if (self.synpred188()) :
15559 alt95 = 1
15560
15561
15562 elif LA95 == 75:
15563 LA95_213 = self.input.LA(3)
15564
15565 if (self.synpred188()) :
15566 alt95 = 1
15567
15568
15569 elif LA95 == 66:
15570 LA95_214 = self.input.LA(3)
15571
15572 if (self.synpred188()) :
15573 alt95 = 1
15574
15575
15576 elif LA95 == 76:
15577 LA95_215 = self.input.LA(3)
15578
15579 if (self.synpred188()) :
15580 alt95 = 1
15581
15582
15583 elif LA95 == 72:
15584 LA95_216 = self.input.LA(3)
15585
15586 if (self.synpred188()) :
15587 alt95 = 1
15588
15589
15590 elif LA95 == 73:
15591 LA95_217 = self.input.LA(3)
15592
15593 if (self.synpred188()) :
15594 alt95 = 1
15595
15596
15597 elif LA95 == 70:
15598 LA95_218 = self.input.LA(3)
15599
15600 if (self.synpred188()) :
15601 alt95 = 1
15602
15603
15604 elif LA95 == 71:
15605 LA95_219 = self.input.LA(3)
15606
15607 if (self.synpred188()) :
15608 alt95 = 1
15609
15610
15611 elif LA95 == 68:
15612 LA95_220 = self.input.LA(3)
15613
15614 if (self.synpred188()) :
15615 alt95 = 1
15616
15617
15618 elif LA95 == 69:
15619 LA95_221 = self.input.LA(3)
15620
15621 if (self.synpred188()) :
15622 alt95 = 1
15623
15624
15625 elif LA95 == 101 or LA95 == 102:
15626 LA95_222 = self.input.LA(3)
15627
15628 if (self.synpred188()) :
15629 alt95 = 1
15630
15631
15632 elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
15633 LA95_223 = self.input.LA(3)
15634
15635 if (self.synpred188()) :
15636 alt95 = 1
15637
15638
15639 elif LA95 == 95 or LA95 == 96:
15640 LA95_224 = self.input.LA(3)
15641
15642 if (self.synpred188()) :
15643 alt95 = 1
15644
15645
15646 elif LA95 == 77:
15647 LA95_225 = self.input.LA(3)
15648
15649 if (self.synpred188()) :
15650 alt95 = 1
15651
15652
15653 elif LA95 == 94:
15654 LA95_226 = self.input.LA(3)
15655
15656 if (self.synpred188()) :
15657 alt95 = 1
15658
15659
15660 elif LA95 == 93:
15661 LA95_227 = self.input.LA(3)
15662
15663 if (self.synpred188()) :
15664 alt95 = 1
15665
15666
15667 elif LA95 == 92:
15668 LA95_228 = self.input.LA(3)
15669
15670 if (self.synpred188()) :
15671 alt95 = 1
15672
15673
15674 elif LA95 == 91:
15675 LA95_229 = self.input.LA(3)
15676
15677 if (self.synpred188()) :
15678 alt95 = 1
15679
15680
15681 elif LA95 == 90:
15682 LA95_230 = self.input.LA(3)
15683
15684 if (self.synpred188()) :
15685 alt95 = 1
15686
15687
15688 elif LA95 == 27:
15689 LA95_231 = self.input.LA(3)
15690
15691 if (self.synpred188()) :
15692 alt95 = 1
15693
15694
15695 elif LA95 == 25:
15696 alt95 = 1
15697 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:
15698 LA95_234 = self.input.LA(3)
15699
15700 if (self.synpred188()) :
15701 alt95 = 1
15702
15703
15704
15705 elif LA95 == 62:
15706 LA95 = self.input.LA(2)
15707 if LA95 == IDENTIFIER:
15708 LA95_235 = self.input.LA(3)
15709
15710 if (self.synpred188()) :
15711 alt95 = 1
15712
15713
15714 elif LA95 == HEX_LITERAL:
15715 LA95_236 = self.input.LA(3)
15716
15717 if (self.synpred188()) :
15718 alt95 = 1
15719
15720
15721 elif LA95 == OCTAL_LITERAL:
15722 LA95_237 = self.input.LA(3)
15723
15724 if (self.synpred188()) :
15725 alt95 = 1
15726
15727
15728 elif LA95 == DECIMAL_LITERAL:
15729 LA95_238 = self.input.LA(3)
15730
15731 if (self.synpred188()) :
15732 alt95 = 1
15733
15734
15735 elif LA95 == CHARACTER_LITERAL:
15736 LA95_239 = self.input.LA(3)
15737
15738 if (self.synpred188()) :
15739 alt95 = 1
15740
15741
15742 elif LA95 == STRING_LITERAL:
15743 LA95_240 = self.input.LA(3)
15744
15745 if (self.synpred188()) :
15746 alt95 = 1
15747
15748
15749 elif LA95 == FLOATING_POINT_LITERAL:
15750 LA95_241 = self.input.LA(3)
15751
15752 if (self.synpred188()) :
15753 alt95 = 1
15754
15755
15756 elif LA95 == 62:
15757 LA95_242 = self.input.LA(3)
15758
15759 if (self.synpred188()) :
15760 alt95 = 1
15761
15762
15763 elif LA95 == 72:
15764 LA95_243 = self.input.LA(3)
15765
15766 if (self.synpred188()) :
15767 alt95 = 1
15768
15769
15770 elif LA95 == 73:
15771 LA95_244 = self.input.LA(3)
15772
15773 if (self.synpred188()) :
15774 alt95 = 1
15775
15776
15777 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15778 LA95_245 = self.input.LA(3)
15779
15780 if (self.synpred188()) :
15781 alt95 = 1
15782
15783
15784 elif LA95 == 74:
15785 LA95_246 = self.input.LA(3)
15786
15787 if (self.synpred188()) :
15788 alt95 = 1
15789
15790
15791 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:
15792 LA95_247 = self.input.LA(3)
15793
15794 if (self.synpred188()) :
15795 alt95 = 1
15796
15797
15798 elif LA95 == 34:
15799 LA95_248 = self.input.LA(3)
15800
15801 if (self.synpred188()) :
15802 alt95 = 1
15803
15804
15805 elif LA95 == 35:
15806 LA95_249 = self.input.LA(3)
15807
15808 if (self.synpred188()) :
15809 alt95 = 1
15810
15811
15812 elif LA95 == 36:
15813 LA95_250 = self.input.LA(3)
15814
15815 if (self.synpred188()) :
15816 alt95 = 1
15817
15818
15819 elif LA95 == 37:
15820 LA95_251 = self.input.LA(3)
15821
15822 if (self.synpred188()) :
15823 alt95 = 1
15824
15825
15826 elif LA95 == 38:
15827 LA95_252 = self.input.LA(3)
15828
15829 if (self.synpred188()) :
15830 alt95 = 1
15831
15832
15833 elif LA95 == 39:
15834 LA95_253 = self.input.LA(3)
15835
15836 if (self.synpred188()) :
15837 alt95 = 1
15838
15839
15840 elif LA95 == 40:
15841 LA95_254 = self.input.LA(3)
15842
15843 if (self.synpred188()) :
15844 alt95 = 1
15845
15846
15847 elif LA95 == 41:
15848 LA95_255 = self.input.LA(3)
15849
15850 if (self.synpred188()) :
15851 alt95 = 1
15852
15853
15854 elif LA95 == 42:
15855 LA95_256 = self.input.LA(3)
15856
15857 if (self.synpred188()) :
15858 alt95 = 1
15859
15860
15861 elif LA95 == 45 or LA95 == 46:
15862 LA95_257 = self.input.LA(3)
15863
15864 if (self.synpred188()) :
15865 alt95 = 1
15866
15867
15868 elif LA95 == 48:
15869 LA95_258 = self.input.LA(3)
15870
15871 if (self.synpred188()) :
15872 alt95 = 1
15873
15874
15875
15876 elif LA95 == 72:
15877 LA95 = self.input.LA(2)
15878 if LA95 == IDENTIFIER:
15879 LA95_259 = self.input.LA(3)
15880
15881 if (self.synpred188()) :
15882 alt95 = 1
15883
15884
15885 elif LA95 == HEX_LITERAL:
15886 LA95_260 = self.input.LA(3)
15887
15888 if (self.synpred188()) :
15889 alt95 = 1
15890
15891
15892 elif LA95 == OCTAL_LITERAL:
15893 LA95_261 = self.input.LA(3)
15894
15895 if (self.synpred188()) :
15896 alt95 = 1
15897
15898
15899 elif LA95 == DECIMAL_LITERAL:
15900 LA95_262 = self.input.LA(3)
15901
15902 if (self.synpred188()) :
15903 alt95 = 1
15904
15905
15906 elif LA95 == CHARACTER_LITERAL:
15907 LA95_263 = self.input.LA(3)
15908
15909 if (self.synpred188()) :
15910 alt95 = 1
15911
15912
15913 elif LA95 == STRING_LITERAL:
15914 LA95_264 = self.input.LA(3)
15915
15916 if (self.synpred188()) :
15917 alt95 = 1
15918
15919
15920 elif LA95 == FLOATING_POINT_LITERAL:
15921 LA95_265 = self.input.LA(3)
15922
15923 if (self.synpred188()) :
15924 alt95 = 1
15925
15926
15927 elif LA95 == 62:
15928 LA95_266 = self.input.LA(3)
15929
15930 if (self.synpred188()) :
15931 alt95 = 1
15932
15933
15934 elif LA95 == 72:
15935 LA95_267 = self.input.LA(3)
15936
15937 if (self.synpred188()) :
15938 alt95 = 1
15939
15940
15941 elif LA95 == 73:
15942 LA95_268 = self.input.LA(3)
15943
15944 if (self.synpred188()) :
15945 alt95 = 1
15946
15947
15948 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
15949 LA95_269 = self.input.LA(3)
15950
15951 if (self.synpred188()) :
15952 alt95 = 1
15953
15954
15955 elif LA95 == 74:
15956 LA95_270 = self.input.LA(3)
15957
15958 if (self.synpred188()) :
15959 alt95 = 1
15960
15961
15962
15963 elif LA95 == 73:
15964 LA95 = self.input.LA(2)
15965 if LA95 == IDENTIFIER:
15966 LA95_271 = self.input.LA(3)
15967
15968 if (self.synpred188()) :
15969 alt95 = 1
15970
15971
15972 elif LA95 == HEX_LITERAL:
15973 LA95_272 = self.input.LA(3)
15974
15975 if (self.synpred188()) :
15976 alt95 = 1
15977
15978
15979 elif LA95 == OCTAL_LITERAL:
15980 LA95_273 = self.input.LA(3)
15981
15982 if (self.synpred188()) :
15983 alt95 = 1
15984
15985
15986 elif LA95 == DECIMAL_LITERAL:
15987 LA95_274 = self.input.LA(3)
15988
15989 if (self.synpred188()) :
15990 alt95 = 1
15991
15992
15993 elif LA95 == CHARACTER_LITERAL:
15994 LA95_275 = self.input.LA(3)
15995
15996 if (self.synpred188()) :
15997 alt95 = 1
15998
15999
16000 elif LA95 == STRING_LITERAL:
16001 LA95_276 = self.input.LA(3)
16002
16003 if (self.synpred188()) :
16004 alt95 = 1
16005
16006
16007 elif LA95 == FLOATING_POINT_LITERAL:
16008 LA95_277 = self.input.LA(3)
16009
16010 if (self.synpred188()) :
16011 alt95 = 1
16012
16013
16014 elif LA95 == 62:
16015 LA95_278 = self.input.LA(3)
16016
16017 if (self.synpred188()) :
16018 alt95 = 1
16019
16020
16021 elif LA95 == 72:
16022 LA95_279 = self.input.LA(3)
16023
16024 if (self.synpred188()) :
16025 alt95 = 1
16026
16027
16028 elif LA95 == 73:
16029 LA95_280 = self.input.LA(3)
16030
16031 if (self.synpred188()) :
16032 alt95 = 1
16033
16034
16035 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16036 LA95_281 = self.input.LA(3)
16037
16038 if (self.synpred188()) :
16039 alt95 = 1
16040
16041
16042 elif LA95 == 74:
16043 LA95_282 = self.input.LA(3)
16044
16045 if (self.synpred188()) :
16046 alt95 = 1
16047
16048
16049
16050 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16051 LA95 = self.input.LA(2)
16052 if LA95 == 62:
16053 LA95_283 = self.input.LA(3)
16054
16055 if (self.synpred188()) :
16056 alt95 = 1
16057
16058
16059 elif LA95 == IDENTIFIER:
16060 LA95_284 = self.input.LA(3)
16061
16062 if (self.synpred188()) :
16063 alt95 = 1
16064
16065
16066 elif LA95 == HEX_LITERAL:
16067 LA95_285 = self.input.LA(3)
16068
16069 if (self.synpred188()) :
16070 alt95 = 1
16071
16072
16073 elif LA95 == OCTAL_LITERAL:
16074 LA95_286 = self.input.LA(3)
16075
16076 if (self.synpred188()) :
16077 alt95 = 1
16078
16079
16080 elif LA95 == DECIMAL_LITERAL:
16081 LA95_287 = self.input.LA(3)
16082
16083 if (self.synpred188()) :
16084 alt95 = 1
16085
16086
16087 elif LA95 == CHARACTER_LITERAL:
16088 LA95_288 = self.input.LA(3)
16089
16090 if (self.synpred188()) :
16091 alt95 = 1
16092
16093
16094 elif LA95 == STRING_LITERAL:
16095 LA95_289 = self.input.LA(3)
16096
16097 if (self.synpred188()) :
16098 alt95 = 1
16099
16100
16101 elif LA95 == FLOATING_POINT_LITERAL:
16102 LA95_290 = self.input.LA(3)
16103
16104 if (self.synpred188()) :
16105 alt95 = 1
16106
16107
16108 elif LA95 == 72:
16109 LA95_291 = self.input.LA(3)
16110
16111 if (self.synpred188()) :
16112 alt95 = 1
16113
16114
16115 elif LA95 == 73:
16116 LA95_292 = self.input.LA(3)
16117
16118 if (self.synpred188()) :
16119 alt95 = 1
16120
16121
16122 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16123 LA95_293 = self.input.LA(3)
16124
16125 if (self.synpred188()) :
16126 alt95 = 1
16127
16128
16129 elif LA95 == 74:
16130 LA95_294 = self.input.LA(3)
16131
16132 if (self.synpred188()) :
16133 alt95 = 1
16134
16135
16136
16137 elif LA95 == 74:
16138 LA95 = self.input.LA(2)
16139 if LA95 == 62:
16140 LA95_295 = self.input.LA(3)
16141
16142 if (self.synpred188()) :
16143 alt95 = 1
16144
16145
16146 elif LA95 == IDENTIFIER:
16147 LA95_296 = self.input.LA(3)
16148
16149 if (self.synpred188()) :
16150 alt95 = 1
16151
16152
16153 elif LA95 == HEX_LITERAL:
16154 LA95_297 = self.input.LA(3)
16155
16156 if (self.synpred188()) :
16157 alt95 = 1
16158
16159
16160 elif LA95 == OCTAL_LITERAL:
16161 LA95_298 = self.input.LA(3)
16162
16163 if (self.synpred188()) :
16164 alt95 = 1
16165
16166
16167 elif LA95 == DECIMAL_LITERAL:
16168 LA95_299 = self.input.LA(3)
16169
16170 if (self.synpred188()) :
16171 alt95 = 1
16172
16173
16174 elif LA95 == CHARACTER_LITERAL:
16175 LA95_300 = self.input.LA(3)
16176
16177 if (self.synpred188()) :
16178 alt95 = 1
16179
16180
16181 elif LA95 == STRING_LITERAL:
16182 LA95_301 = self.input.LA(3)
16183
16184 if (self.synpred188()) :
16185 alt95 = 1
16186
16187
16188 elif LA95 == FLOATING_POINT_LITERAL:
16189 LA95_302 = self.input.LA(3)
16190
16191 if (self.synpred188()) :
16192 alt95 = 1
16193
16194
16195 elif LA95 == 72:
16196 LA95_303 = self.input.LA(3)
16197
16198 if (self.synpred188()) :
16199 alt95 = 1
16200
16201
16202 elif LA95 == 73:
16203 LA95_304 = self.input.LA(3)
16204
16205 if (self.synpred188()) :
16206 alt95 = 1
16207
16208
16209 elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
16210 LA95_305 = self.input.LA(3)
16211
16212 if (self.synpred188()) :
16213 alt95 = 1
16214
16215
16216 elif LA95 == 74:
16217 LA95_306 = self.input.LA(3)
16218
16219 if (self.synpred188()) :
16220 alt95 = 1
16221
16222
16223
16224 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:
16225 alt95 = 1
16226
16227 if alt95 == 1:
16228 # C.g:0:0: statement
16229 self.following.append(self.FOLLOW_statement_in_statement_list2242)
16230 self.statement()
16231 self.following.pop()
16232 if self.failed:
16233 return
16234
16235
16236 else:
16237 if cnt95 >= 1:
16238 break #loop95
16239
16240 if self.backtracking > 0:
16241 self.failed = True
16242 return
16243
16244 eee = EarlyExitException(95, self.input)
16245 raise eee
16246
16247 cnt95 += 1
16248
16249
16250
16251
16252
16253
16254 except RecognitionException, re:
16255 self.reportError(re)
16256 self.recover(self.input, re)
16257 finally:
16258 if self.backtracking > 0:
16259 self.memoize(self.input, 67, statement_list_StartIndex)
16260
16261 pass
16262
16263 return
16264
16265 # $ANTLR end statement_list
16266
16267 class expression_statement_return(object):
16268 def __init__(self):
16269 self.start = None
16270 self.stop = None
16271
16272
16273
16274 # $ANTLR start expression_statement
16275 # C.g:561:1: expression_statement : ( ';' | expression ';' );
16276 def expression_statement(self, ):
16277
16278 retval = self.expression_statement_return()
16279 retval.start = self.input.LT(1)
16280 expression_statement_StartIndex = self.input.index()
16281 try:
16282 try:
16283 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
16284 return retval
16285
16286 # C.g:562:2: ( ';' | expression ';' )
16287 alt96 = 2
16288 LA96_0 = self.input.LA(1)
16289
16290 if (LA96_0 == 25) :
16291 alt96 = 1
16292 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)) :
16293 alt96 = 2
16294 else:
16295 if self.backtracking > 0:
16296 self.failed = True
16297 return retval
16298
16299 nvae = NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
16300
16301 raise nvae
16302
16303 if alt96 == 1:
16304 # C.g:562:4: ';'
16305 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2254)
16306 if self.failed:
16307 return retval
16308
16309
16310 elif alt96 == 2:
16311 # C.g:563:4: expression ';'
16312 self.following.append(self.FOLLOW_expression_in_expression_statement2259)
16313 self.expression()
16314 self.following.pop()
16315 if self.failed:
16316 return retval
16317 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2261)
16318 if self.failed:
16319 return retval
16320
16321
16322 retval.stop = self.input.LT(-1)
16323
16324
16325 except RecognitionException, re:
16326 self.reportError(re)
16327 self.recover(self.input, re)
16328 finally:
16329 if self.backtracking > 0:
16330 self.memoize(self.input, 68, expression_statement_StartIndex)
16331
16332 pass
16333
16334 return retval
16335
16336 # $ANTLR end expression_statement
16337
16338
16339 # $ANTLR start selection_statement
16340 # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16341 def selection_statement(self, ):
16342
16343 selection_statement_StartIndex = self.input.index()
16344 e = None
16345
16346
16347 try:
16348 try:
16349 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
16350 return
16351
16352 # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16353 alt98 = 2
16354 LA98_0 = self.input.LA(1)
16355
16356 if (LA98_0 == 108) :
16357 alt98 = 1
16358 elif (LA98_0 == 110) :
16359 alt98 = 2
16360 else:
16361 if self.backtracking > 0:
16362 self.failed = True
16363 return
16364
16365 nvae = NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input)
16366
16367 raise nvae
16368
16369 if alt98 == 1:
16370 # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16371 self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2272)
16372 if self.failed:
16373 return
16374 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2274)
16375 if self.failed:
16376 return
16377 self.following.append(self.FOLLOW_expression_in_selection_statement2278)
16378 e = self.expression()
16379 self.following.pop()
16380 if self.failed:
16381 return
16382 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2280)
16383 if self.failed:
16384 return
16385 if self.backtracking == 0:
16386 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16387
16388 self.following.append(self.FOLLOW_statement_in_selection_statement2284)
16389 self.statement()
16390 self.following.pop()
16391 if self.failed:
16392 return
16393 # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16394 alt97 = 2
16395 LA97_0 = self.input.LA(1)
16396
16397 if (LA97_0 == 109) :
16398 alt97 = 1
16399 if alt97 == 1:
16400 # C.g:567:200: 'else' statement
16401 self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2299)
16402 if self.failed:
16403 return
16404 self.following.append(self.FOLLOW_statement_in_selection_statement2301)
16405 self.statement()
16406 self.following.pop()
16407 if self.failed:
16408 return
16409
16410
16411
16412
16413
16414 elif alt98 == 2:
16415 # C.g:568:4: 'switch' '(' expression ')' statement
16416 self.match(self.input, 110, self.FOLLOW_110_in_selection_statement2308)
16417 if self.failed:
16418 return
16419 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2310)
16420 if self.failed:
16421 return
16422 self.following.append(self.FOLLOW_expression_in_selection_statement2312)
16423 self.expression()
16424 self.following.pop()
16425 if self.failed:
16426 return
16427 self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314)
16428 if self.failed:
16429 return
16430 self.following.append(self.FOLLOW_statement_in_selection_statement2316)
16431 self.statement()
16432 self.following.pop()
16433 if self.failed:
16434 return
16435
16436
16437
16438 except RecognitionException, re:
16439 self.reportError(re)
16440 self.recover(self.input, re)
16441 finally:
16442 if self.backtracking > 0:
16443 self.memoize(self.input, 69, selection_statement_StartIndex)
16444
16445 pass
16446
16447 return
16448
16449 # $ANTLR end selection_statement
16450
16451
16452 # $ANTLR start iteration_statement
16453 # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16454 def iteration_statement(self, ):
16455
16456 iteration_statement_StartIndex = self.input.index()
16457 e = None
16458
16459
16460 try:
16461 try:
16462 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
16463 return
16464
16465 # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16466 alt100 = 3
16467 LA100 = self.input.LA(1)
16468 if LA100 == 111:
16469 alt100 = 1
16470 elif LA100 == 112:
16471 alt100 = 2
16472 elif LA100 == 113:
16473 alt100 = 3
16474 else:
16475 if self.backtracking > 0:
16476 self.failed = True
16477 return
16478
16479 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)
16480
16481 raise nvae
16482
16483 if alt100 == 1:
16484 # C.g:572:4: 'while' '(' e= expression ')' statement
16485 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2327)
16486 if self.failed:
16487 return
16488 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2329)
16489 if self.failed:
16490 return
16491 self.following.append(self.FOLLOW_expression_in_iteration_statement2333)
16492 e = self.expression()
16493 self.following.pop()
16494 if self.failed:
16495 return
16496 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335)
16497 if self.failed:
16498 return
16499 self.following.append(self.FOLLOW_statement_in_iteration_statement2337)
16500 self.statement()
16501 self.following.pop()
16502 if self.failed:
16503 return
16504 if self.backtracking == 0:
16505 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16506
16507
16508
16509 elif alt100 == 2:
16510 # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
16511 self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2344)
16512 if self.failed:
16513 return
16514 self.following.append(self.FOLLOW_statement_in_iteration_statement2346)
16515 self.statement()
16516 self.following.pop()
16517 if self.failed:
16518 return
16519 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348)
16520 if self.failed:
16521 return
16522 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350)
16523 if self.failed:
16524 return
16525 self.following.append(self.FOLLOW_expression_in_iteration_statement2354)
16526 e = self.expression()
16527 self.following.pop()
16528 if self.failed:
16529 return
16530 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2356)
16531 if self.failed:
16532 return
16533 self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2358)
16534 if self.failed:
16535 return
16536 if self.backtracking == 0:
16537 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16538
16539
16540
16541 elif alt100 == 3:
16542 # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16543 self.match(self.input, 113, self.FOLLOW_113_in_iteration_statement2365)
16544 if self.failed:
16545 return
16546 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2367)
16547 if self.failed:
16548 return
16549 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2369)
16550 self.expression_statement()
16551 self.following.pop()
16552 if self.failed:
16553 return
16554 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2373)
16555 e = self.expression_statement()
16556 self.following.pop()
16557 if self.failed:
16558 return
16559 # C.g:574:58: ( expression )?
16560 alt99 = 2
16561 LA99_0 = self.input.LA(1)
16562
16563 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)) :
16564 alt99 = 1
16565 if alt99 == 1:
16566 # C.g:0:0: expression
16567 self.following.append(self.FOLLOW_expression_in_iteration_statement2375)
16568 self.expression()
16569 self.following.pop()
16570 if self.failed:
16571 return
16572
16573
16574
16575 self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378)
16576 if self.failed:
16577 return
16578 self.following.append(self.FOLLOW_statement_in_iteration_statement2380)
16579 self.statement()
16580 self.following.pop()
16581 if self.failed:
16582 return
16583 if self.backtracking == 0:
16584 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16585
16586
16587
16588
16589 except RecognitionException, re:
16590 self.reportError(re)
16591 self.recover(self.input, re)
16592 finally:
16593 if self.backtracking > 0:
16594 self.memoize(self.input, 70, iteration_statement_StartIndex)
16595
16596 pass
16597
16598 return
16599
16600 # $ANTLR end iteration_statement
16601
16602
16603 # $ANTLR start jump_statement
16604 # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16605 def jump_statement(self, ):
16606
16607 jump_statement_StartIndex = self.input.index()
16608 try:
16609 try:
16610 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
16611 return
16612
16613 # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16614 alt101 = 5
16615 LA101 = self.input.LA(1)
16616 if LA101 == 114:
16617 alt101 = 1
16618 elif LA101 == 115:
16619 alt101 = 2
16620 elif LA101 == 116:
16621 alt101 = 3
16622 elif LA101 == 117:
16623 LA101_4 = self.input.LA(2)
16624
16625 if (LA101_4 == 25) :
16626 alt101 = 4
16627 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)) :
16628 alt101 = 5
16629 else:
16630 if self.backtracking > 0:
16631 self.failed = True
16632 return
16633
16634 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
16635
16636 raise nvae
16637
16638 else:
16639 if self.backtracking > 0:
16640 self.failed = True
16641 return
16642
16643 nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
16644
16645 raise nvae
16646
16647 if alt101 == 1:
16648 # C.g:578:4: 'goto' IDENTIFIER ';'
16649 self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2393)
16650 if self.failed:
16651 return
16652 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2395)
16653 if self.failed:
16654 return
16655 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397)
16656 if self.failed:
16657 return
16658
16659
16660 elif alt101 == 2:
16661 # C.g:579:4: 'continue' ';'
16662 self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2402)
16663 if self.failed:
16664 return
16665 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2404)
16666 if self.failed:
16667 return
16668
16669
16670 elif alt101 == 3:
16671 # C.g:580:4: 'break' ';'
16672 self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2409)
16673 if self.failed:
16674 return
16675 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2411)
16676 if self.failed:
16677 return
16678
16679
16680 elif alt101 == 4:
16681 # C.g:581:4: 'return' ';'
16682 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2416)
16683 if self.failed:
16684 return
16685 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2418)
16686 if self.failed:
16687 return
16688
16689
16690 elif alt101 == 5:
16691 # C.g:582:4: 'return' expression ';'
16692 self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2423)
16693 if self.failed:
16694 return
16695 self.following.append(self.FOLLOW_expression_in_jump_statement2425)
16696 self.expression()
16697 self.following.pop()
16698 if self.failed:
16699 return
16700 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427)
16701 if self.failed:
16702 return
16703
16704
16705
16706 except RecognitionException, re:
16707 self.reportError(re)
16708 self.recover(self.input, re)
16709 finally:
16710 if self.backtracking > 0:
16711 self.memoize(self.input, 71, jump_statement_StartIndex)
16712
16713 pass
16714
16715 return
16716
16717 # $ANTLR end jump_statement
16718
16719 # $ANTLR start synpred2
16720 def synpred2_fragment(self, ):
16721 # C.g:119:6: ( declaration_specifiers )
16722 # C.g:119:6: declaration_specifiers
16723 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred2100)
16724 self.declaration_specifiers()
16725 self.following.pop()
16726 if self.failed:
16727 return
16728
16729
16730 # $ANTLR end synpred2
16731
16732
16733
16734 # $ANTLR start synpred4
16735 def synpred4_fragment(self, ):
16736 # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16737 # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16738 # C.g:119:6: ( declaration_specifiers )?
16739 alt102 = 2
16740 LA102 = self.input.LA(1)
16741 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:
16742 alt102 = 1
16743 elif LA102 == IDENTIFIER:
16744 LA102 = self.input.LA(2)
16745 if LA102 == 62:
16746 LA102_21 = self.input.LA(3)
16747
16748 if (self.synpred2()) :
16749 alt102 = 1
16750 elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33:
16751 LA102_23 = self.input.LA(3)
16752
16753 if (self.synpred2()) :
16754 alt102 = 1
16755 elif LA102 == 34:
16756 LA102_24 = self.input.LA(3)
16757
16758 if (self.synpred2()) :
16759 alt102 = 1
16760 elif LA102 == 35:
16761 LA102_25 = self.input.LA(3)
16762
16763 if (self.synpred2()) :
16764 alt102 = 1
16765 elif LA102 == 36:
16766 LA102_26 = self.input.LA(3)
16767
16768 if (self.synpred2()) :
16769 alt102 = 1
16770 elif LA102 == 37:
16771 LA102_27 = self.input.LA(3)
16772
16773 if (self.synpred2()) :
16774 alt102 = 1
16775 elif LA102 == 38:
16776 LA102_28 = self.input.LA(3)
16777
16778 if (self.synpred2()) :
16779 alt102 = 1
16780 elif LA102 == 39:
16781 LA102_29 = self.input.LA(3)
16782
16783 if (self.synpred2()) :
16784 alt102 = 1
16785 elif LA102 == 40:
16786 LA102_30 = self.input.LA(3)
16787
16788 if (self.synpred2()) :
16789 alt102 = 1
16790 elif LA102 == 41:
16791 LA102_31 = self.input.LA(3)
16792
16793 if (self.synpred2()) :
16794 alt102 = 1
16795 elif LA102 == 42:
16796 LA102_32 = self.input.LA(3)
16797
16798 if (self.synpred2()) :
16799 alt102 = 1
16800 elif LA102 == 45 or LA102 == 46:
16801 LA102_33 = self.input.LA(3)
16802
16803 if (self.synpred2()) :
16804 alt102 = 1
16805 elif LA102 == 48:
16806 LA102_34 = self.input.LA(3)
16807
16808 if (self.synpred2()) :
16809 alt102 = 1
16810 elif LA102 == IDENTIFIER:
16811 LA102_35 = self.input.LA(3)
16812
16813 if (self.synpred2()) :
16814 alt102 = 1
16815 elif LA102 == 58:
16816 LA102_36 = self.input.LA(3)
16817
16818 if (self.synpred2()) :
16819 alt102 = 1
16820 elif LA102 == 66:
16821 alt102 = 1
16822 elif LA102 == 59:
16823 LA102_39 = self.input.LA(3)
16824
16825 if (self.synpred2()) :
16826 alt102 = 1
16827 elif LA102 == 60:
16828 LA102_40 = self.input.LA(3)
16829
16830 if (self.synpred2()) :
16831 alt102 = 1
16832 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:
16833 LA102_41 = self.input.LA(3)
16834
16835 if (self.synpred2()) :
16836 alt102 = 1
16837 elif LA102 == 58:
16838 LA102_14 = self.input.LA(2)
16839
16840 if (self.synpred2()) :
16841 alt102 = 1
16842 elif LA102 == 59:
16843 LA102_16 = self.input.LA(2)
16844
16845 if (self.synpred2()) :
16846 alt102 = 1
16847 elif LA102 == 60:
16848 LA102_17 = self.input.LA(2)
16849
16850 if (self.synpred2()) :
16851 alt102 = 1
16852 if alt102 == 1:
16853 # C.g:0:0: declaration_specifiers
16854 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100)
16855 self.declaration_specifiers()
16856 self.following.pop()
16857 if self.failed:
16858 return
16859
16860
16861
16862 self.following.append(self.FOLLOW_declarator_in_synpred4103)
16863 self.declarator()
16864 self.following.pop()
16865 if self.failed:
16866 return
16867 # C.g:119:41: ( declaration )*
16868 while True: #loop103
16869 alt103 = 2
16870 LA103_0 = self.input.LA(1)
16871
16872 if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 61)) :
16873 alt103 = 1
16874
16875
16876 if alt103 == 1:
16877 # C.g:0:0: declaration
16878 self.following.append(self.FOLLOW_declaration_in_synpred4105)
16879 self.declaration()
16880 self.following.pop()
16881 if self.failed:
16882 return
16883
16884
16885 else:
16886 break #loop103
16887
16888
16889 self.match(self.input, 43, self.FOLLOW_43_in_synpred4108)
16890 if self.failed:
16891 return
16892
16893
16894 # $ANTLR end synpred4
16895
16896
16897
16898 # $ANTLR start synpred5
16899 def synpred5_fragment(self, ):
16900 # C.g:120:4: ( declaration )
16901 # C.g:120:4: declaration
16902 self.following.append(self.FOLLOW_declaration_in_synpred5118)
16903 self.declaration()
16904 self.following.pop()
16905 if self.failed:
16906 return
16907
16908
16909 # $ANTLR end synpred5
16910
16911
16912
16913 # $ANTLR start synpred7
16914 def synpred7_fragment(self, ):
16915 # C.g:146:6: ( declaration_specifiers )
16916 # C.g:146:6: declaration_specifiers
16917 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7157)
16918 self.declaration_specifiers()
16919 self.following.pop()
16920 if self.failed:
16921 return
16922
16923
16924 # $ANTLR end synpred7
16925
16926
16927
16928 # $ANTLR start synpred10
16929 def synpred10_fragment(self, ):
16930 # C.g:167:18: ( declaration_specifiers )
16931 # C.g:167:18: declaration_specifiers
16932 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10207)
16933 self.declaration_specifiers()
16934 self.following.pop()
16935 if self.failed:
16936 return
16937
16938
16939 # $ANTLR end synpred10
16940
16941
16942
16943 # $ANTLR start synpred14
16944 def synpred14_fragment(self, ):
16945 # C.g:184:7: ( type_specifier )
16946 # C.g:184:7: type_specifier
16947 self.following.append(self.FOLLOW_type_specifier_in_synpred14272)
16948 self.type_specifier()
16949 self.following.pop()
16950 if self.failed:
16951 return
16952
16953
16954 # $ANTLR end synpred14
16955
16956
16957
16958 # $ANTLR start synpred15
16959 def synpred15_fragment(self, ):
16960 # C.g:185:13: ( type_qualifier )
16961 # C.g:185:13: type_qualifier
16962 self.following.append(self.FOLLOW_type_qualifier_in_synpred15286)
16963 self.type_qualifier()
16964 self.following.pop()
16965 if self.failed:
16966 return
16967
16968
16969 # $ANTLR end synpred15
16970
16971
16972
16973 # $ANTLR start synpred33
16974 def synpred33_fragment(self, ):
16975 # C.g:225:16: ( type_qualifier )
16976 # C.g:225:16: type_qualifier
16977 self.following.append(self.FOLLOW_type_qualifier_in_synpred33444)
16978 self.type_qualifier()
16979 self.following.pop()
16980 if self.failed:
16981 return
16982
16983
16984 # $ANTLR end synpred33
16985
16986
16987
16988 # $ANTLR start synpred34
16989 def synpred34_fragment(self, ):
16990 # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
16991 # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
16992 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34442)
16993 if self.failed:
16994 return
16995 # C.g:225:16: ( type_qualifier )*
16996 while True: #loop106
16997 alt106 = 2
16998 LA106 = self.input.LA(1)
16999 if LA106 == 58:
17000 LA106_2 = self.input.LA(2)
17001
17002 if (self.synpred33()) :
17003 alt106 = 1
17004
17005
17006 elif LA106 == 59:
17007 LA106_3 = self.input.LA(2)
17008
17009 if (self.synpred33()) :
17010 alt106 = 1
17011
17012
17013 elif LA106 == 60:
17014 LA106_4 = self.input.LA(2)
17015
17016 if (self.synpred33()) :
17017 alt106 = 1
17018
17019
17020 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:
17021 alt106 = 1
17022
17023 if alt106 == 1:
17024 # C.g:0:0: type_qualifier
17025 self.following.append(self.FOLLOW_type_qualifier_in_synpred34444)
17026 self.type_qualifier()
17027 self.following.pop()
17028 if self.failed:
17029 return
17030
17031
17032 else:
17033 break #loop106
17034
17035
17036 self.following.append(self.FOLLOW_declarator_in_synpred34447)
17037 self.declarator()
17038 self.following.pop()
17039 if self.failed:
17040 return
17041
17042
17043 # $ANTLR end synpred34
17044
17045
17046
17047 # $ANTLR start synpred39
17048 def synpred39_fragment(self, ):
17049 # C.g:253:6: ( type_qualifier )
17050 # C.g:253:6: type_qualifier
17051 self.following.append(self.FOLLOW_type_qualifier_in_synpred39566)
17052 self.type_qualifier()
17053 self.following.pop()
17054 if self.failed:
17055 return
17056
17057
17058 # $ANTLR end synpred39
17059
17060
17061
17062 # $ANTLR start synpred40
17063 def synpred40_fragment(self, ):
17064 # C.g:253:23: ( type_specifier )
17065 # C.g:253:23: type_specifier
17066 self.following.append(self.FOLLOW_type_specifier_in_synpred40570)
17067 self.type_specifier()
17068 self.following.pop()
17069 if self.failed:
17070 return
17071
17072
17073 # $ANTLR end synpred40
17074
17075
17076
17077 # $ANTLR start synpred66
17078 def synpred66_fragment(self, ):
17079 # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17080 # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17081 # C.g:297:4: ( pointer )?
17082 alt111 = 2
17083 LA111_0 = self.input.LA(1)
17084
17085 if (LA111_0 == 66) :
17086 alt111 = 1
17087 if alt111 == 1:
17088 # C.g:0:0: pointer
17089 self.following.append(self.FOLLOW_pointer_in_synpred66784)
17090 self.pointer()
17091 self.following.pop()
17092 if self.failed:
17093 return
17094
17095
17096
17097 # C.g:297:13: ( 'EFIAPI' )?
17098 alt112 = 2
17099 LA112_0 = self.input.LA(1)
17100
17101 if (LA112_0 == 58) :
17102 alt112 = 1
17103 if alt112 == 1:
17104 # C.g:297:14: 'EFIAPI'
17105 self.match(self.input, 58, self.FOLLOW_58_in_synpred66788)
17106 if self.failed:
17107 return
17108
17109
17110
17111 # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
17112 alt113 = 2
17113 LA113_0 = self.input.LA(1)
17114
17115 if (LA113_0 == 59) :
17116 alt113 = 1
17117 if alt113 == 1:
17118 # C.g:297:26: 'EFI_BOOTSERVICE'
17119 self.match(self.input, 59, self.FOLLOW_59_in_synpred66793)
17120 if self.failed:
17121 return
17122
17123
17124
17125 # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
17126 alt114 = 2
17127 LA114_0 = self.input.LA(1)
17128
17129 if (LA114_0 == 60) :
17130 alt114 = 1
17131 if alt114 == 1:
17132 # C.g:297:47: 'EFI_RUNTIMESERVICE'
17133 self.match(self.input, 60, self.FOLLOW_60_in_synpred66798)
17134 if self.failed:
17135 return
17136
17137
17138
17139 self.following.append(self.FOLLOW_direct_declarator_in_synpred66802)
17140 self.direct_declarator()
17141 self.following.pop()
17142 if self.failed:
17143 return
17144
17145
17146 # $ANTLR end synpred66
17147
17148
17149
17150 # $ANTLR start synpred67
17151 def synpred67_fragment(self, ):
17152 # C.g:303:15: ( declarator_suffix )
17153 # C.g:303:15: declarator_suffix
17154 self.following.append(self.FOLLOW_declarator_suffix_in_synpred67821)
17155 self.declarator_suffix()
17156 self.following.pop()
17157 if self.failed:
17158 return
17159
17160
17161 # $ANTLR end synpred67
17162
17163
17164
17165 # $ANTLR start synpred69
17166 def synpred69_fragment(self, ):
17167 # C.g:304:9: ( 'EFIAPI' )
17168 # C.g:304:9: 'EFIAPI'
17169 self.match(self.input, 58, self.FOLLOW_58_in_synpred69830)
17170 if self.failed:
17171 return
17172
17173
17174 # $ANTLR end synpred69
17175
17176
17177
17178 # $ANTLR start synpred70
17179 def synpred70_fragment(self, ):
17180 # C.g:304:35: ( declarator_suffix )
17181 # C.g:304:35: declarator_suffix
17182 self.following.append(self.FOLLOW_declarator_suffix_in_synpred70838)
17183 self.declarator_suffix()
17184 self.following.pop()
17185 if self.failed:
17186 return
17187
17188
17189 # $ANTLR end synpred70
17190
17191
17192
17193 # $ANTLR start synpred73
17194 def synpred73_fragment(self, ):
17195 # C.g:310:9: ( '(' parameter_type_list ')' )
17196 # C.g:310:9: '(' parameter_type_list ')'
17197 self.match(self.input, 62, self.FOLLOW_62_in_synpred73878)
17198 if self.failed:
17199 return
17200 self.following.append(self.FOLLOW_parameter_type_list_in_synpred73880)
17201 self.parameter_type_list()
17202 self.following.pop()
17203 if self.failed:
17204 return
17205 self.match(self.input, 63, self.FOLLOW_63_in_synpred73882)
17206 if self.failed:
17207 return
17208
17209
17210 # $ANTLR end synpred73
17211
17212
17213
17214 # $ANTLR start synpred74
17215 def synpred74_fragment(self, ):
17216 # C.g:311:9: ( '(' identifier_list ')' )
17217 # C.g:311:9: '(' identifier_list ')'
17218 self.match(self.input, 62, self.FOLLOW_62_in_synpred74892)
17219 if self.failed:
17220 return
17221 self.following.append(self.FOLLOW_identifier_list_in_synpred74894)
17222 self.identifier_list()
17223 self.following.pop()
17224 if self.failed:
17225 return
17226 self.match(self.input, 63, self.FOLLOW_63_in_synpred74896)
17227 if self.failed:
17228 return
17229
17230
17231 # $ANTLR end synpred74
17232
17233
17234
17235 # $ANTLR start synpred75
17236 def synpred75_fragment(self, ):
17237 # C.g:316:8: ( type_qualifier )
17238 # C.g:316:8: type_qualifier
17239 self.following.append(self.FOLLOW_type_qualifier_in_synpred75921)
17240 self.type_qualifier()
17241 self.following.pop()
17242 if self.failed:
17243 return
17244
17245
17246 # $ANTLR end synpred75
17247
17248
17249
17250 # $ANTLR start synpred76
17251 def synpred76_fragment(self, ):
17252 # C.g:316:24: ( pointer )
17253 # C.g:316:24: pointer
17254 self.following.append(self.FOLLOW_pointer_in_synpred76924)
17255 self.pointer()
17256 self.following.pop()
17257 if self.failed:
17258 return
17259
17260
17261 # $ANTLR end synpred76
17262
17263
17264
17265 # $ANTLR start synpred77
17266 def synpred77_fragment(self, ):
17267 # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
17268 # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
17269 self.match(self.input, 66, self.FOLLOW_66_in_synpred77919)
17270 if self.failed:
17271 return
17272 # C.g:316:8: ( type_qualifier )+
17273 cnt116 = 0
17274 while True: #loop116
17275 alt116 = 2
17276 LA116_0 = self.input.LA(1)
17277
17278 if ((49 <= LA116_0 <= 61)) :
17279 alt116 = 1
17280
17281
17282 if alt116 == 1:
17283 # C.g:0:0: type_qualifier
17284 self.following.append(self.FOLLOW_type_qualifier_in_synpred77921)
17285 self.type_qualifier()
17286 self.following.pop()
17287 if self.failed:
17288 return
17289
17290
17291 else:
17292 if cnt116 >= 1:
17293 break #loop116
17294
17295 if self.backtracking > 0:
17296 self.failed = True
17297 return
17298
17299 eee = EarlyExitException(116, self.input)
17300 raise eee
17301
17302 cnt116 += 1
17303
17304
17305 # C.g:316:24: ( pointer )?
17306 alt117 = 2
17307 LA117_0 = self.input.LA(1)
17308
17309 if (LA117_0 == 66) :
17310 alt117 = 1
17311 if alt117 == 1:
17312 # C.g:0:0: pointer
17313 self.following.append(self.FOLLOW_pointer_in_synpred77924)
17314 self.pointer()
17315 self.following.pop()
17316 if self.failed:
17317 return
17318
17319
17320
17321
17322
17323 # $ANTLR end synpred77
17324
17325
17326
17327 # $ANTLR start synpred78
17328 def synpred78_fragment(self, ):
17329 # C.g:317:4: ( '*' pointer )
17330 # C.g:317:4: '*' pointer
17331 self.match(self.input, 66, self.FOLLOW_66_in_synpred78930)
17332 if self.failed:
17333 return
17334 self.following.append(self.FOLLOW_pointer_in_synpred78932)
17335 self.pointer()
17336 self.following.pop()
17337 if self.failed:
17338 return
17339
17340
17341 # $ANTLR end synpred78
17342
17343
17344
17345 # $ANTLR start synpred81
17346 def synpred81_fragment(self, ):
17347 # C.g:326:32: ( 'OPTIONAL' )
17348 # C.g:326:32: 'OPTIONAL'
17349 self.match(self.input, 53, self.FOLLOW_53_in_synpred81977)
17350 if self.failed:
17351 return
17352
17353
17354 # $ANTLR end synpred81
17355
17356
17357
17358 # $ANTLR start synpred82
17359 def synpred82_fragment(self, ):
17360 # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17361 # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
17362 self.match(self.input, 27, self.FOLLOW_27_in_synpred82974)
17363 if self.failed:
17364 return
17365 # C.g:326:31: ( 'OPTIONAL' )?
17366 alt119 = 2
17367 LA119_0 = self.input.LA(1)
17368
17369 if (LA119_0 == 53) :
17370 LA119_1 = self.input.LA(2)
17371
17372 if (self.synpred81()) :
17373 alt119 = 1
17374 if alt119 == 1:
17375 # C.g:326:32: 'OPTIONAL'
17376 self.match(self.input, 53, self.FOLLOW_53_in_synpred82977)
17377 if self.failed:
17378 return
17379
17380
17381
17382 self.following.append(self.FOLLOW_parameter_declaration_in_synpred82981)
17383 self.parameter_declaration()
17384 self.following.pop()
17385 if self.failed:
17386 return
17387
17388
17389 # $ANTLR end synpred82
17390
17391
17392
17393 # $ANTLR start synpred83
17394 def synpred83_fragment(self, ):
17395 # C.g:330:28: ( declarator )
17396 # C.g:330:28: declarator
17397 self.following.append(self.FOLLOW_declarator_in_synpred83997)
17398 self.declarator()
17399 self.following.pop()
17400 if self.failed:
17401 return
17402
17403
17404 # $ANTLR end synpred83
17405
17406
17407
17408 # $ANTLR start synpred84
17409 def synpred84_fragment(self, ):
17410 # C.g:330:39: ( abstract_declarator )
17411 # C.g:330:39: abstract_declarator
17412 self.following.append(self.FOLLOW_abstract_declarator_in_synpred84999)
17413 self.abstract_declarator()
17414 self.following.pop()
17415 if self.failed:
17416 return
17417
17418
17419 # $ANTLR end synpred84
17420
17421
17422
17423 # $ANTLR start synpred86
17424 def synpred86_fragment(self, ):
17425 # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17426 # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17427 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred86994)
17428 self.declaration_specifiers()
17429 self.following.pop()
17430 if self.failed:
17431 return
17432 # C.g:330:27: ( declarator | abstract_declarator )*
17433 while True: #loop120
17434 alt120 = 3
17435 LA120 = self.input.LA(1)
17436 if LA120 == 66:
17437 LA120_3 = self.input.LA(2)
17438
17439 if (self.synpred83()) :
17440 alt120 = 1
17441 elif (self.synpred84()) :
17442 alt120 = 2
17443
17444
17445 elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
17446 alt120 = 1
17447 elif LA120 == 62:
17448 LA120 = self.input.LA(2)
17449 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:
17450 alt120 = 2
17451 elif LA120 == 58:
17452 LA120_21 = self.input.LA(3)
17453
17454 if (self.synpred83()) :
17455 alt120 = 1
17456 elif (self.synpred84()) :
17457 alt120 = 2
17458
17459
17460 elif LA120 == 66:
17461 LA120_22 = self.input.LA(3)
17462
17463 if (self.synpred83()) :
17464 alt120 = 1
17465 elif (self.synpred84()) :
17466 alt120 = 2
17467
17468
17469 elif LA120 == 59:
17470 LA120_23 = self.input.LA(3)
17471
17472 if (self.synpred83()) :
17473 alt120 = 1
17474 elif (self.synpred84()) :
17475 alt120 = 2
17476
17477
17478 elif LA120 == 60:
17479 LA120_24 = self.input.LA(3)
17480
17481 if (self.synpred83()) :
17482 alt120 = 1
17483 elif (self.synpred84()) :
17484 alt120 = 2
17485
17486
17487 elif LA120 == IDENTIFIER:
17488 LA120_25 = self.input.LA(3)
17489
17490 if (self.synpred83()) :
17491 alt120 = 1
17492 elif (self.synpred84()) :
17493 alt120 = 2
17494
17495
17496 elif LA120 == 62:
17497 LA120_26 = self.input.LA(3)
17498
17499 if (self.synpred83()) :
17500 alt120 = 1
17501 elif (self.synpred84()) :
17502 alt120 = 2
17503
17504
17505
17506 elif LA120 == 64:
17507 alt120 = 2
17508
17509 if alt120 == 1:
17510 # C.g:330:28: declarator
17511 self.following.append(self.FOLLOW_declarator_in_synpred86997)
17512 self.declarator()
17513 self.following.pop()
17514 if self.failed:
17515 return
17516
17517
17518 elif alt120 == 2:
17519 # C.g:330:39: abstract_declarator
17520 self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999)
17521 self.abstract_declarator()
17522 self.following.pop()
17523 if self.failed:
17524 return
17525
17526
17527 else:
17528 break #loop120
17529
17530
17531 # C.g:330:61: ( 'OPTIONAL' )?
17532 alt121 = 2
17533 LA121_0 = self.input.LA(1)
17534
17535 if (LA121_0 == 53) :
17536 alt121 = 1
17537 if alt121 == 1:
17538 # C.g:330:62: 'OPTIONAL'
17539 self.match(self.input, 53, self.FOLLOW_53_in_synpred861004)
17540 if self.failed:
17541 return
17542
17543
17544
17545
17546
17547 # $ANTLR end synpred86
17548
17549
17550
17551 # $ANTLR start synpred90
17552 def synpred90_fragment(self, ):
17553 # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
17554 # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
17555 self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred901046)
17556 self.specifier_qualifier_list()
17557 self.following.pop()
17558 if self.failed:
17559 return
17560 # C.g:341:29: ( abstract_declarator )?
17561 alt122 = 2
17562 LA122_0 = self.input.LA(1)
17563
17564 if (LA122_0 == 62 or LA122_0 == 64 or LA122_0 == 66) :
17565 alt122 = 1
17566 if alt122 == 1:
17567 # C.g:0:0: abstract_declarator
17568 self.following.append(self.FOLLOW_abstract_declarator_in_synpred901048)
17569 self.abstract_declarator()
17570 self.following.pop()
17571 if self.failed:
17572 return
17573
17574
17575
17576
17577
17578 # $ANTLR end synpred90
17579
17580
17581
17582 # $ANTLR start synpred91
17583 def synpred91_fragment(self, ):
17584 # C.g:346:12: ( direct_abstract_declarator )
17585 # C.g:346:12: direct_abstract_declarator
17586 self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred911067)
17587 self.direct_abstract_declarator()
17588 self.following.pop()
17589 if self.failed:
17590 return
17591
17592
17593 # $ANTLR end synpred91
17594
17595
17596
17597 # $ANTLR start synpred93
17598 def synpred93_fragment(self, ):
17599 # C.g:351:6: ( '(' abstract_declarator ')' )
17600 # C.g:351:6: '(' abstract_declarator ')'
17601 self.match(self.input, 62, self.FOLLOW_62_in_synpred931086)
17602 if self.failed:
17603 return
17604 self.following.append(self.FOLLOW_abstract_declarator_in_synpred931088)
17605 self.abstract_declarator()
17606 self.following.pop()
17607 if self.failed:
17608 return
17609 self.match(self.input, 63, self.FOLLOW_63_in_synpred931090)
17610 if self.failed:
17611 return
17612
17613
17614 # $ANTLR end synpred93
17615
17616
17617
17618 # $ANTLR start synpred94
17619 def synpred94_fragment(self, ):
17620 # C.g:351:65: ( abstract_declarator_suffix )
17621 # C.g:351:65: abstract_declarator_suffix
17622 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred941098)
17623 self.abstract_declarator_suffix()
17624 self.following.pop()
17625 if self.failed:
17626 return
17627
17628
17629 # $ANTLR end synpred94
17630
17631
17632
17633 # $ANTLR start synpred109
17634 def synpred109_fragment(self, ):
17635 # C.g:386:4: ( '(' type_name ')' cast_expression )
17636 # C.g:386:4: '(' type_name ')' cast_expression
17637 self.match(self.input, 62, self.FOLLOW_62_in_synpred1091282)
17638 if self.failed:
17639 return
17640 self.following.append(self.FOLLOW_type_name_in_synpred1091284)
17641 self.type_name()
17642 self.following.pop()
17643 if self.failed:
17644 return
17645 self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286)
17646 if self.failed:
17647 return
17648 self.following.append(self.FOLLOW_cast_expression_in_synpred1091288)
17649 self.cast_expression()
17650 self.following.pop()
17651 if self.failed:
17652 return
17653
17654
17655 # $ANTLR end synpred109
17656
17657
17658
17659 # $ANTLR start synpred114
17660 def synpred114_fragment(self, ):
17661 # C.g:395:4: ( 'sizeof' unary_expression )
17662 # C.g:395:4: 'sizeof' unary_expression
17663 self.match(self.input, 74, self.FOLLOW_74_in_synpred1141330)
17664 if self.failed:
17665 return
17666 self.following.append(self.FOLLOW_unary_expression_in_synpred1141332)
17667 self.unary_expression()
17668 self.following.pop()
17669 if self.failed:
17670 return
17671
17672
17673 # $ANTLR end synpred114
17674
17675
17676
17677 # $ANTLR start synpred117
17678 def synpred117_fragment(self, ):
17679 # C.g:409:13: ( '(' argument_expression_list ')' )
17680 # C.g:409:13: '(' argument_expression_list ')'
17681 self.match(self.input, 62, self.FOLLOW_62_in_synpred1171420)
17682 if self.failed:
17683 return
17684 self.following.append(self.FOLLOW_argument_expression_list_in_synpred1171424)
17685 self.argument_expression_list()
17686 self.following.pop()
17687 if self.failed:
17688 return
17689 self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428)
17690 if self.failed:
17691 return
17692
17693
17694 # $ANTLR end synpred117
17695
17696
17697
17698 # $ANTLR start synpred118
17699 def synpred118_fragment(self, ):
17700 # C.g:410:13: ( '(' macro_parameter_list ')' )
17701 # C.g:410:13: '(' macro_parameter_list ')'
17702 self.match(self.input, 62, self.FOLLOW_62_in_synpred1181444)
17703 if self.failed:
17704 return
17705 self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1181446)
17706 self.macro_parameter_list()
17707 self.following.pop()
17708 if self.failed:
17709 return
17710 self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448)
17711 if self.failed:
17712 return
17713
17714
17715 # $ANTLR end synpred118
17716
17717
17718
17719 # $ANTLR start synpred120
17720 def synpred120_fragment(self, ):
17721 # C.g:412:13: ( '*' IDENTIFIER )
17722 # C.g:412:13: '*' IDENTIFIER
17723 self.match(self.input, 66, self.FOLLOW_66_in_synpred1201482)
17724 if self.failed:
17725 return
17726 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1201486)
17727 if self.failed:
17728 return
17729
17730
17731 # $ANTLR end synpred120
17732
17733
17734
17735 # $ANTLR start synpred137
17736 def synpred137_fragment(self, ):
17737 # C.g:443:20: ( STRING_LITERAL )
17738 # C.g:443:20: STRING_LITERAL
17739 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371683)
17740 if self.failed:
17741 return
17742
17743
17744 # $ANTLR end synpred137
17745
17746
17747
17748 # $ANTLR start synpred138
17749 def synpred138_fragment(self, ):
17750 # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17751 # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17752 # C.g:443:8: ( IDENTIFIER )*
17753 while True: #loop125
17754 alt125 = 2
17755 LA125_0 = self.input.LA(1)
17756
17757 if (LA125_0 == IDENTIFIER) :
17758 alt125 = 1
17759
17760
17761 if alt125 == 1:
17762 # C.g:0:0: IDENTIFIER
17763 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680)
17764 if self.failed:
17765 return
17766
17767
17768 else:
17769 break #loop125
17770
17771
17772 # C.g:443:20: ( STRING_LITERAL )+
17773 cnt126 = 0
17774 while True: #loop126
17775 alt126 = 2
17776 LA126_0 = self.input.LA(1)
17777
17778 if (LA126_0 == STRING_LITERAL) :
17779 alt126 = 1
17780
17781
17782 if alt126 == 1:
17783 # C.g:0:0: STRING_LITERAL
17784 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683)
17785 if self.failed:
17786 return
17787
17788
17789 else:
17790 if cnt126 >= 1:
17791 break #loop126
17792
17793 if self.backtracking > 0:
17794 self.failed = True
17795 return
17796
17797 eee = EarlyExitException(126, self.input)
17798 raise eee
17799
17800 cnt126 += 1
17801
17802
17803
17804
17805 # $ANTLR end synpred138
17806
17807
17808
17809 # $ANTLR start synpred142
17810 def synpred142_fragment(self, ):
17811 # C.g:458:4: ( lvalue assignment_operator assignment_expression )
17812 # C.g:458:4: lvalue assignment_operator assignment_expression
17813 self.following.append(self.FOLLOW_lvalue_in_synpred1421744)
17814 self.lvalue()
17815 self.following.pop()
17816 if self.failed:
17817 return
17818 self.following.append(self.FOLLOW_assignment_operator_in_synpred1421746)
17819 self.assignment_operator()
17820 self.following.pop()
17821 if self.failed:
17822 return
17823 self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748)
17824 self.assignment_expression()
17825 self.following.pop()
17826 if self.failed:
17827 return
17828
17829
17830 # $ANTLR end synpred142
17831
17832
17833
17834 # $ANTLR start synpred169
17835 def synpred169_fragment(self, ):
17836 # C.g:520:4: ( expression_statement )
17837 # C.g:520:4: expression_statement
17838 self.following.append(self.FOLLOW_expression_statement_in_synpred1692035)
17839 self.expression_statement()
17840 self.following.pop()
17841 if self.failed:
17842 return
17843
17844
17845 # $ANTLR end synpred169
17846
17847
17848
17849 # $ANTLR start synpred173
17850 def synpred173_fragment(self, ):
17851 # C.g:524:4: ( macro_statement )
17852 # C.g:524:4: macro_statement
17853 self.following.append(self.FOLLOW_macro_statement_in_synpred1732055)
17854 self.macro_statement()
17855 self.following.pop()
17856 if self.failed:
17857 return
17858
17859
17860 # $ANTLR end synpred173
17861
17862
17863
17864 # $ANTLR start synpred174
17865 def synpred174_fragment(self, ):
17866 # C.g:525:4: ( asm2_statement )
17867 # C.g:525:4: asm2_statement
17868 self.following.append(self.FOLLOW_asm2_statement_in_synpred1742060)
17869 self.asm2_statement()
17870 self.following.pop()
17871 if self.failed:
17872 return
17873
17874
17875 # $ANTLR end synpred174
17876
17877
17878
17879 # $ANTLR start synpred181
17880 def synpred181_fragment(self, ):
17881 # C.g:544:19: ( declaration )
17882 # C.g:544:19: declaration
17883 self.following.append(self.FOLLOW_declaration_in_synpred1812166)
17884 self.declaration()
17885 self.following.pop()
17886 if self.failed:
17887 return
17888
17889
17890 # $ANTLR end synpred181
17891
17892
17893
17894 # $ANTLR start synpred182
17895 def synpred182_fragment(self, ):
17896 # C.g:544:33: ( statement_list )
17897 # C.g:544:33: statement_list
17898 self.following.append(self.FOLLOW_statement_list_in_synpred1822170)
17899 self.statement_list()
17900 self.following.pop()
17901 if self.failed:
17902 return
17903
17904
17905 # $ANTLR end synpred182
17906
17907
17908
17909 # $ANTLR start synpred186
17910 def synpred186_fragment(self, ):
17911 # C.g:554:8: ( declaration )
17912 # C.g:554:8: declaration
17913 self.following.append(self.FOLLOW_declaration_in_synpred1862225)
17914 self.declaration()
17915 self.following.pop()
17916 if self.failed:
17917 return
17918
17919
17920 # $ANTLR end synpred186
17921
17922
17923
17924 # $ANTLR start synpred188
17925 def synpred188_fragment(self, ):
17926 # C.g:558:4: ( statement )
17927 # C.g:558:4: statement
17928 self.following.append(self.FOLLOW_statement_in_synpred1882242)
17929 self.statement()
17930 self.following.pop()
17931 if self.failed:
17932 return
17933
17934
17935 # $ANTLR end synpred188
17936
17937
17938
17939 def synpred69(self):
17940 self.backtracking += 1
17941 start = self.input.mark()
17942 self.synpred69_fragment()
17943 success = not self.failed
17944 self.input.rewind(start)
17945 self.backtracking -= 1
17946 self.failed = False
17947 return success
17948
17949 def synpred81(self):
17950 self.backtracking += 1
17951 start = self.input.mark()
17952 self.synpred81_fragment()
17953 success = not self.failed
17954 self.input.rewind(start)
17955 self.backtracking -= 1
17956 self.failed = False
17957 return success
17958
17959 def synpred82(self):
17960 self.backtracking += 1
17961 start = self.input.mark()
17962 self.synpred82_fragment()
17963 success = not self.failed
17964 self.input.rewind(start)
17965 self.backtracking -= 1
17966 self.failed = False
17967 return success
17968
17969 def synpred66(self):
17970 self.backtracking += 1
17971 start = self.input.mark()
17972 self.synpred66_fragment()
17973 success = not self.failed
17974 self.input.rewind(start)
17975 self.backtracking -= 1
17976 self.failed = False
17977 return success
17978
17979 def synpred83(self):
17980 self.backtracking += 1
17981 start = self.input.mark()
17982 self.synpred83_fragment()
17983 success = not self.failed
17984 self.input.rewind(start)
17985 self.backtracking -= 1
17986 self.failed = False
17987 return success
17988
17989 def synpred84(self):
17990 self.backtracking += 1
17991 start = self.input.mark()
17992 self.synpred84_fragment()
17993 success = not self.failed
17994 self.input.rewind(start)
17995 self.backtracking -= 1
17996 self.failed = False
17997 return success
17998
17999 def synpred67(self):
18000 self.backtracking += 1
18001 start = self.input.mark()
18002 self.synpred67_fragment()
18003 success = not self.failed
18004 self.input.rewind(start)
18005 self.backtracking -= 1
18006 self.failed = False
18007 return success
18008
18009 def synpred86(self):
18010 self.backtracking += 1
18011 start = self.input.mark()
18012 self.synpred86_fragment()
18013 success = not self.failed
18014 self.input.rewind(start)
18015 self.backtracking -= 1
18016 self.failed = False
18017 return success
18018
18019 def synpred120(self):
18020 self.backtracking += 1
18021 start = self.input.mark()
18022 self.synpred120_fragment()
18023 success = not self.failed
18024 self.input.rewind(start)
18025 self.backtracking -= 1
18026 self.failed = False
18027 return success
18028
18029 def synpred40(self):
18030 self.backtracking += 1
18031 start = self.input.mark()
18032 self.synpred40_fragment()
18033 success = not self.failed
18034 self.input.rewind(start)
18035 self.backtracking -= 1
18036 self.failed = False
18037 return success
18038
18039 def synpred142(self):
18040 self.backtracking += 1
18041 start = self.input.mark()
18042 self.synpred142_fragment()
18043 success = not self.failed
18044 self.input.rewind(start)
18045 self.backtracking -= 1
18046 self.failed = False
18047 return success
18048
18049 def synpred182(self):
18050 self.backtracking += 1
18051 start = self.input.mark()
18052 self.synpred182_fragment()
18053 success = not self.failed
18054 self.input.rewind(start)
18055 self.backtracking -= 1
18056 self.failed = False
18057 return success
18058
18059 def synpred109(self):
18060 self.backtracking += 1
18061 start = self.input.mark()
18062 self.synpred109_fragment()
18063 success = not self.failed
18064 self.input.rewind(start)
18065 self.backtracking -= 1
18066 self.failed = False
18067 return success
18068
18069 def synpred181(self):
18070 self.backtracking += 1
18071 start = self.input.mark()
18072 self.synpred181_fragment()
18073 success = not self.failed
18074 self.input.rewind(start)
18075 self.backtracking -= 1
18076 self.failed = False
18077 return success
18078
18079 def synpred186(self):
18080 self.backtracking += 1
18081 start = self.input.mark()
18082 self.synpred186_fragment()
18083 success = not self.failed
18084 self.input.rewind(start)
18085 self.backtracking -= 1
18086 self.failed = False
18087 return success
18088
18089 def synpred188(self):
18090 self.backtracking += 1
18091 start = self.input.mark()
18092 self.synpred188_fragment()
18093 success = not self.failed
18094 self.input.rewind(start)
18095 self.backtracking -= 1
18096 self.failed = False
18097 return success
18098
18099 def synpred169(self):
18100 self.backtracking += 1
18101 start = self.input.mark()
18102 self.synpred169_fragment()
18103 success = not self.failed
18104 self.input.rewind(start)
18105 self.backtracking -= 1
18106 self.failed = False
18107 return success
18108
18109 def synpred117(self):
18110 self.backtracking += 1
18111 start = self.input.mark()
18112 self.synpred117_fragment()
18113 success = not self.failed
18114 self.input.rewind(start)
18115 self.backtracking -= 1
18116 self.failed = False
18117 return success
18118
18119 def synpred70(self):
18120 self.backtracking += 1
18121 start = self.input.mark()
18122 self.synpred70_fragment()
18123 success = not self.failed
18124 self.input.rewind(start)
18125 self.backtracking -= 1
18126 self.failed = False
18127 return success
18128
18129 def synpred118(self):
18130 self.backtracking += 1
18131 start = self.input.mark()
18132 self.synpred118_fragment()
18133 success = not self.failed
18134 self.input.rewind(start)
18135 self.backtracking -= 1
18136 self.failed = False
18137 return success
18138
18139 def synpred34(self):
18140 self.backtracking += 1
18141 start = self.input.mark()
18142 self.synpred34_fragment()
18143 success = not self.failed
18144 self.input.rewind(start)
18145 self.backtracking -= 1
18146 self.failed = False
18147 return success
18148
18149 def synpred33(self):
18150 self.backtracking += 1
18151 start = self.input.mark()
18152 self.synpred33_fragment()
18153 success = not self.failed
18154 self.input.rewind(start)
18155 self.backtracking -= 1
18156 self.failed = False
18157 return success
18158
18159 def synpred94(self):
18160 self.backtracking += 1
18161 start = self.input.mark()
18162 self.synpred94_fragment()
18163 success = not self.failed
18164 self.input.rewind(start)
18165 self.backtracking -= 1
18166 self.failed = False
18167 return success
18168
18169 def synpred39(self):
18170 self.backtracking += 1
18171 start = self.input.mark()
18172 self.synpred39_fragment()
18173 success = not self.failed
18174 self.input.rewind(start)
18175 self.backtracking -= 1
18176 self.failed = False
18177 return success
18178
18179 def synpred74(self):
18180 self.backtracking += 1
18181 start = self.input.mark()
18182 self.synpred74_fragment()
18183 success = not self.failed
18184 self.input.rewind(start)
18185 self.backtracking -= 1
18186 self.failed = False
18187 return success
18188
18189 def synpred114(self):
18190 self.backtracking += 1
18191 start = self.input.mark()
18192 self.synpred114_fragment()
18193 success = not self.failed
18194 self.input.rewind(start)
18195 self.backtracking -= 1
18196 self.failed = False
18197 return success
18198
18199 def synpred93(self):
18200 self.backtracking += 1
18201 start = self.input.mark()
18202 self.synpred93_fragment()
18203 success = not self.failed
18204 self.input.rewind(start)
18205 self.backtracking -= 1
18206 self.failed = False
18207 return success
18208
18209 def synpred75(self):
18210 self.backtracking += 1
18211 start = self.input.mark()
18212 self.synpred75_fragment()
18213 success = not self.failed
18214 self.input.rewind(start)
18215 self.backtracking -= 1
18216 self.failed = False
18217 return success
18218
18219 def synpred137(self):
18220 self.backtracking += 1
18221 start = self.input.mark()
18222 self.synpred137_fragment()
18223 success = not self.failed
18224 self.input.rewind(start)
18225 self.backtracking -= 1
18226 self.failed = False
18227 return success
18228
18229 def synpred90(self):
18230 self.backtracking += 1
18231 start = self.input.mark()
18232 self.synpred90_fragment()
18233 success = not self.failed
18234 self.input.rewind(start)
18235 self.backtracking -= 1
18236 self.failed = False
18237 return success
18238
18239 def synpred138(self):
18240 self.backtracking += 1
18241 start = self.input.mark()
18242 self.synpred138_fragment()
18243 success = not self.failed
18244 self.input.rewind(start)
18245 self.backtracking -= 1
18246 self.failed = False
18247 return success
18248
18249 def synpred91(self):
18250 self.backtracking += 1
18251 start = self.input.mark()
18252 self.synpred91_fragment()
18253 success = not self.failed
18254 self.input.rewind(start)
18255 self.backtracking -= 1
18256 self.failed = False
18257 return success
18258
18259 def synpred73(self):
18260 self.backtracking += 1
18261 start = self.input.mark()
18262 self.synpred73_fragment()
18263 success = not self.failed
18264 self.input.rewind(start)
18265 self.backtracking -= 1
18266 self.failed = False
18267 return success
18268
18269 def synpred5(self):
18270 self.backtracking += 1
18271 start = self.input.mark()
18272 self.synpred5_fragment()
18273 success = not self.failed
18274 self.input.rewind(start)
18275 self.backtracking -= 1
18276 self.failed = False
18277 return success
18278
18279 def synpred78(self):
18280 self.backtracking += 1
18281 start = self.input.mark()
18282 self.synpred78_fragment()
18283 success = not self.failed
18284 self.input.rewind(start)
18285 self.backtracking -= 1
18286 self.failed = False
18287 return success
18288
18289 def synpred7(self):
18290 self.backtracking += 1
18291 start = self.input.mark()
18292 self.synpred7_fragment()
18293 success = not self.failed
18294 self.input.rewind(start)
18295 self.backtracking -= 1
18296 self.failed = False
18297 return success
18298
18299 def synpred76(self):
18300 self.backtracking += 1
18301 start = self.input.mark()
18302 self.synpred76_fragment()
18303 success = not self.failed
18304 self.input.rewind(start)
18305 self.backtracking -= 1
18306 self.failed = False
18307 return success
18308
18309 def synpred77(self):
18310 self.backtracking += 1
18311 start = self.input.mark()
18312 self.synpred77_fragment()
18313 success = not self.failed
18314 self.input.rewind(start)
18315 self.backtracking -= 1
18316 self.failed = False
18317 return success
18318
18319 def synpred2(self):
18320 self.backtracking += 1
18321 start = self.input.mark()
18322 self.synpred2_fragment()
18323 success = not self.failed
18324 self.input.rewind(start)
18325 self.backtracking -= 1
18326 self.failed = False
18327 return success
18328
18329 def synpred4(self):
18330 self.backtracking += 1
18331 start = self.input.mark()
18332 self.synpred4_fragment()
18333 success = not self.failed
18334 self.input.rewind(start)
18335 self.backtracking -= 1
18336 self.failed = False
18337 return success
18338
18339 def synpred174(self):
18340 self.backtracking += 1
18341 start = self.input.mark()
18342 self.synpred174_fragment()
18343 success = not self.failed
18344 self.input.rewind(start)
18345 self.backtracking -= 1
18346 self.failed = False
18347 return success
18348
18349 def synpred173(self):
18350 self.backtracking += 1
18351 start = self.input.mark()
18352 self.synpred173_fragment()
18353 success = not self.failed
18354 self.input.rewind(start)
18355 self.backtracking -= 1
18356 self.failed = False
18357 return success
18358
18359 def synpred14(self):
18360 self.backtracking += 1
18361 start = self.input.mark()
18362 self.synpred14_fragment()
18363 success = not self.failed
18364 self.input.rewind(start)
18365 self.backtracking -= 1
18366 self.failed = False
18367 return success
18368
18369 def synpred15(self):
18370 self.backtracking += 1
18371 start = self.input.mark()
18372 self.synpred15_fragment()
18373 success = not self.failed
18374 self.input.rewind(start)
18375 self.backtracking -= 1
18376 self.failed = False
18377 return success
18378
18379 def synpred10(self):
18380 self.backtracking += 1
18381 start = self.input.mark()
18382 self.synpred10_fragment()
18383 success = not self.failed
18384 self.input.rewind(start)
18385 self.backtracking -= 1
18386 self.failed = False
18387 return success
18388
18389
18390
18391
18392
18393 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])
18394 FOLLOW_function_definition_in_external_declaration113 = frozenset([1])
18395 FOLLOW_declaration_in_external_declaration118 = frozenset([1])
18396 FOLLOW_macro_statement_in_external_declaration123 = frozenset([1, 25])
18397 FOLLOW_25_in_external_declaration126 = frozenset([1])
18398 FOLLOW_declaration_specifiers_in_function_definition157 = frozenset([4, 58, 59, 60, 62, 66])
18399 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])
18400 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])
18401 FOLLOW_compound_statement_in_function_definition171 = frozenset([1])
18402 FOLLOW_compound_statement_in_function_definition180 = frozenset([1])
18403 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])
18404 FOLLOW_declaration_specifiers_in_declaration207 = frozenset([4, 58, 59, 60, 62, 66])
18405 FOLLOW_init_declarator_list_in_declaration216 = frozenset([25])
18406 FOLLOW_25_in_declaration220 = frozenset([1])
18407 FOLLOW_declaration_specifiers_in_declaration234 = frozenset([4, 25, 58, 59, 60, 62, 66])
18408 FOLLOW_init_declarator_list_in_declaration238 = frozenset([25])
18409 FOLLOW_25_in_declaration243 = frozenset([1])
18410 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])
18411 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])
18412 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])
18413 FOLLOW_init_declarator_in_init_declarator_list308 = frozenset([1, 27])
18414 FOLLOW_27_in_init_declarator_list311 = frozenset([4, 58, 59, 60, 62, 66])
18415 FOLLOW_init_declarator_in_init_declarator_list313 = frozenset([1, 27])
18416 FOLLOW_declarator_in_init_declarator326 = frozenset([1, 28])
18417 FOLLOW_28_in_init_declarator329 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18418 FOLLOW_initializer_in_init_declarator331 = frozenset([1])
18419 FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
18420 FOLLOW_34_in_type_specifier376 = frozenset([1])
18421 FOLLOW_35_in_type_specifier381 = frozenset([1])
18422 FOLLOW_36_in_type_specifier386 = frozenset([1])
18423 FOLLOW_37_in_type_specifier391 = frozenset([1])
18424 FOLLOW_38_in_type_specifier396 = frozenset([1])
18425 FOLLOW_39_in_type_specifier401 = frozenset([1])
18426 FOLLOW_40_in_type_specifier406 = frozenset([1])
18427 FOLLOW_41_in_type_specifier411 = frozenset([1])
18428 FOLLOW_42_in_type_specifier416 = frozenset([1])
18429 FOLLOW_struct_or_union_specifier_in_type_specifier423 = frozenset([1])
18430 FOLLOW_enum_specifier_in_type_specifier433 = frozenset([1])
18431 FOLLOW_type_id_in_type_specifier451 = frozenset([1])
18432 FOLLOW_IDENTIFIER_in_type_id467 = frozenset([1])
18433 FOLLOW_struct_or_union_in_struct_or_union_specifier494 = frozenset([4, 43])
18434 FOLLOW_IDENTIFIER_in_struct_or_union_specifier496 = frozenset([43])
18435 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])
18436 FOLLOW_struct_declaration_list_in_struct_or_union_specifier501 = frozenset([44])
18437 FOLLOW_44_in_struct_or_union_specifier503 = frozenset([1])
18438 FOLLOW_struct_or_union_in_struct_or_union_specifier508 = frozenset([4])
18439 FOLLOW_IDENTIFIER_in_struct_or_union_specifier510 = frozenset([1])
18440 FOLLOW_set_in_struct_or_union0 = frozenset([1])
18441 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])
18442 FOLLOW_specifier_qualifier_list_in_struct_declaration549 = frozenset([4, 47, 58, 59, 60, 62, 66])
18443 FOLLOW_struct_declarator_list_in_struct_declaration551 = frozenset([25])
18444 FOLLOW_25_in_struct_declaration553 = frozenset([1])
18445 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])
18446 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])
18447 FOLLOW_struct_declarator_in_struct_declarator_list584 = frozenset([1, 27])
18448 FOLLOW_27_in_struct_declarator_list587 = frozenset([4, 47, 58, 59, 60, 62, 66])
18449 FOLLOW_struct_declarator_in_struct_declarator_list589 = frozenset([1, 27])
18450 FOLLOW_declarator_in_struct_declarator602 = frozenset([1, 47])
18451 FOLLOW_47_in_struct_declarator605 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18452 FOLLOW_constant_expression_in_struct_declarator607 = frozenset([1])
18453 FOLLOW_47_in_struct_declarator614 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18454 FOLLOW_constant_expression_in_struct_declarator616 = frozenset([1])
18455 FOLLOW_48_in_enum_specifier634 = frozenset([43])
18456 FOLLOW_43_in_enum_specifier636 = frozenset([4])
18457 FOLLOW_enumerator_list_in_enum_specifier638 = frozenset([27, 44])
18458 FOLLOW_27_in_enum_specifier640 = frozenset([44])
18459 FOLLOW_44_in_enum_specifier643 = frozenset([1])
18460 FOLLOW_48_in_enum_specifier648 = frozenset([4])
18461 FOLLOW_IDENTIFIER_in_enum_specifier650 = frozenset([43])
18462 FOLLOW_43_in_enum_specifier652 = frozenset([4])
18463 FOLLOW_enumerator_list_in_enum_specifier654 = frozenset([27, 44])
18464 FOLLOW_27_in_enum_specifier656 = frozenset([44])
18465 FOLLOW_44_in_enum_specifier659 = frozenset([1])
18466 FOLLOW_48_in_enum_specifier664 = frozenset([4])
18467 FOLLOW_IDENTIFIER_in_enum_specifier666 = frozenset([1])
18468 FOLLOW_enumerator_in_enumerator_list677 = frozenset([1, 27])
18469 FOLLOW_27_in_enumerator_list680 = frozenset([4])
18470 FOLLOW_enumerator_in_enumerator_list682 = frozenset([1, 27])
18471 FOLLOW_IDENTIFIER_in_enumerator695 = frozenset([1, 28])
18472 FOLLOW_28_in_enumerator698 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18473 FOLLOW_constant_expression_in_enumerator700 = frozenset([1])
18474 FOLLOW_set_in_type_qualifier0 = frozenset([1])
18475 FOLLOW_pointer_in_declarator784 = frozenset([4, 58, 59, 60, 62])
18476 FOLLOW_58_in_declarator788 = frozenset([4, 59, 60, 62])
18477 FOLLOW_59_in_declarator793 = frozenset([4, 60, 62])
18478 FOLLOW_60_in_declarator798 = frozenset([4, 62])
18479 FOLLOW_direct_declarator_in_declarator802 = frozenset([1])
18480 FOLLOW_pointer_in_declarator808 = frozenset([1])
18481 FOLLOW_IDENTIFIER_in_direct_declarator819 = frozenset([1, 62, 64])
18482 FOLLOW_declarator_suffix_in_direct_declarator821 = frozenset([1, 62, 64])
18483 FOLLOW_62_in_direct_declarator827 = frozenset([4, 58, 59, 60, 62, 66])
18484 FOLLOW_58_in_direct_declarator830 = frozenset([4, 58, 59, 60, 62, 66])
18485 FOLLOW_declarator_in_direct_declarator834 = frozenset([63])
18486 FOLLOW_63_in_direct_declarator836 = frozenset([62, 64])
18487 FOLLOW_declarator_suffix_in_direct_declarator838 = frozenset([1, 62, 64])
18488 FOLLOW_64_in_declarator_suffix852 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18489 FOLLOW_constant_expression_in_declarator_suffix854 = frozenset([65])
18490 FOLLOW_65_in_declarator_suffix856 = frozenset([1])
18491 FOLLOW_64_in_declarator_suffix866 = frozenset([65])
18492 FOLLOW_65_in_declarator_suffix868 = frozenset([1])
18493 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])
18494 FOLLOW_parameter_type_list_in_declarator_suffix880 = frozenset([63])
18495 FOLLOW_63_in_declarator_suffix882 = frozenset([1])
18496 FOLLOW_62_in_declarator_suffix892 = frozenset([4])
18497 FOLLOW_identifier_list_in_declarator_suffix894 = frozenset([63])
18498 FOLLOW_63_in_declarator_suffix896 = frozenset([1])
18499 FOLLOW_62_in_declarator_suffix906 = frozenset([63])
18500 FOLLOW_63_in_declarator_suffix908 = frozenset([1])
18501 FOLLOW_66_in_pointer919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18502 FOLLOW_type_qualifier_in_pointer921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18503 FOLLOW_pointer_in_pointer924 = frozenset([1])
18504 FOLLOW_66_in_pointer930 = frozenset([66])
18505 FOLLOW_pointer_in_pointer932 = frozenset([1])
18506 FOLLOW_66_in_pointer937 = frozenset([1])
18507 FOLLOW_parameter_list_in_parameter_type_list948 = frozenset([1, 27])
18508 FOLLOW_27_in_parameter_type_list951 = frozenset([53, 67])
18509 FOLLOW_53_in_parameter_type_list954 = frozenset([67])
18510 FOLLOW_67_in_parameter_type_list958 = frozenset([1])
18511 FOLLOW_parameter_declaration_in_parameter_list971 = frozenset([1, 27])
18512 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])
18513 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])
18514 FOLLOW_parameter_declaration_in_parameter_list981 = frozenset([1, 27])
18515 FOLLOW_declaration_specifiers_in_parameter_declaration994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18516 FOLLOW_declarator_in_parameter_declaration997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18517 FOLLOW_abstract_declarator_in_parameter_declaration999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18518 FOLLOW_53_in_parameter_declaration1004 = frozenset([1])
18519 FOLLOW_pointer_in_parameter_declaration1013 = frozenset([4, 66])
18520 FOLLOW_IDENTIFIER_in_parameter_declaration1016 = frozenset([1])
18521 FOLLOW_IDENTIFIER_in_identifier_list1027 = frozenset([1, 27])
18522 FOLLOW_27_in_identifier_list1031 = frozenset([4])
18523 FOLLOW_IDENTIFIER_in_identifier_list1033 = frozenset([1, 27])
18524 FOLLOW_specifier_qualifier_list_in_type_name1046 = frozenset([1, 62, 64, 66])
18525 FOLLOW_abstract_declarator_in_type_name1048 = frozenset([1])
18526 FOLLOW_type_id_in_type_name1054 = frozenset([1])
18527 FOLLOW_pointer_in_abstract_declarator1065 = frozenset([1, 62, 64])
18528 FOLLOW_direct_abstract_declarator_in_abstract_declarator1067 = frozenset([1])
18529 FOLLOW_direct_abstract_declarator_in_abstract_declarator1073 = frozenset([1])
18530 FOLLOW_62_in_direct_abstract_declarator1086 = frozenset([62, 64, 66])
18531 FOLLOW_abstract_declarator_in_direct_abstract_declarator1088 = frozenset([63])
18532 FOLLOW_63_in_direct_abstract_declarator1090 = frozenset([1, 62, 64])
18533 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094 = frozenset([1, 62, 64])
18534 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098 = frozenset([1, 62, 64])
18535 FOLLOW_64_in_abstract_declarator_suffix1110 = frozenset([65])
18536 FOLLOW_65_in_abstract_declarator_suffix1112 = frozenset([1])
18537 FOLLOW_64_in_abstract_declarator_suffix1117 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18538 FOLLOW_constant_expression_in_abstract_declarator_suffix1119 = frozenset([65])
18539 FOLLOW_65_in_abstract_declarator_suffix1121 = frozenset([1])
18540 FOLLOW_62_in_abstract_declarator_suffix1126 = frozenset([63])
18541 FOLLOW_63_in_abstract_declarator_suffix1128 = frozenset([1])
18542 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])
18543 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135 = frozenset([63])
18544 FOLLOW_63_in_abstract_declarator_suffix1137 = frozenset([1])
18545 FOLLOW_assignment_expression_in_initializer1150 = frozenset([1])
18546 FOLLOW_43_in_initializer1155 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18547 FOLLOW_initializer_list_in_initializer1157 = frozenset([27, 44])
18548 FOLLOW_27_in_initializer1159 = frozenset([44])
18549 FOLLOW_44_in_initializer1162 = frozenset([1])
18550 FOLLOW_initializer_in_initializer_list1173 = frozenset([1, 27])
18551 FOLLOW_27_in_initializer_list1176 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18552 FOLLOW_initializer_in_initializer_list1178 = frozenset([1, 27])
18553 FOLLOW_assignment_expression_in_argument_expression_list1196 = frozenset([1, 27, 53])
18554 FOLLOW_53_in_argument_expression_list1199 = frozenset([1, 27])
18555 FOLLOW_27_in_argument_expression_list1204 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18556 FOLLOW_assignment_expression_in_argument_expression_list1206 = frozenset([1, 27, 53])
18557 FOLLOW_53_in_argument_expression_list1209 = frozenset([1, 27])
18558 FOLLOW_multiplicative_expression_in_additive_expression1225 = frozenset([1, 68, 69])
18559 FOLLOW_68_in_additive_expression1229 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18560 FOLLOW_multiplicative_expression_in_additive_expression1231 = frozenset([1, 68, 69])
18561 FOLLOW_69_in_additive_expression1235 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18562 FOLLOW_multiplicative_expression_in_additive_expression1237 = frozenset([1, 68, 69])
18563 FOLLOW_cast_expression_in_multiplicative_expression1251 = frozenset([1, 66, 70, 71])
18564 FOLLOW_66_in_multiplicative_expression1255 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18565 FOLLOW_cast_expression_in_multiplicative_expression1257 = frozenset([1, 66, 70, 71])
18566 FOLLOW_70_in_multiplicative_expression1261 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18567 FOLLOW_cast_expression_in_multiplicative_expression1263 = frozenset([1, 66, 70, 71])
18568 FOLLOW_71_in_multiplicative_expression1267 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18569 FOLLOW_cast_expression_in_multiplicative_expression1269 = frozenset([1, 66, 70, 71])
18570 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])
18571 FOLLOW_type_name_in_cast_expression1284 = frozenset([63])
18572 FOLLOW_63_in_cast_expression1286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18573 FOLLOW_cast_expression_in_cast_expression1288 = frozenset([1])
18574 FOLLOW_unary_expression_in_cast_expression1293 = frozenset([1])
18575 FOLLOW_postfix_expression_in_unary_expression1304 = frozenset([1])
18576 FOLLOW_72_in_unary_expression1309 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18577 FOLLOW_unary_expression_in_unary_expression1311 = frozenset([1])
18578 FOLLOW_73_in_unary_expression1316 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18579 FOLLOW_unary_expression_in_unary_expression1318 = frozenset([1])
18580 FOLLOW_unary_operator_in_unary_expression1323 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18581 FOLLOW_cast_expression_in_unary_expression1325 = frozenset([1])
18582 FOLLOW_74_in_unary_expression1330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18583 FOLLOW_unary_expression_in_unary_expression1332 = frozenset([1])
18584 FOLLOW_74_in_unary_expression1337 = frozenset([62])
18585 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])
18586 FOLLOW_type_name_in_unary_expression1341 = frozenset([63])
18587 FOLLOW_63_in_unary_expression1343 = frozenset([1])
18588 FOLLOW_primary_expression_in_postfix_expression1367 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18589 FOLLOW_64_in_postfix_expression1383 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18590 FOLLOW_expression_in_postfix_expression1385 = frozenset([65])
18591 FOLLOW_65_in_postfix_expression1387 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18592 FOLLOW_62_in_postfix_expression1401 = frozenset([63])
18593 FOLLOW_63_in_postfix_expression1405 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18594 FOLLOW_62_in_postfix_expression1420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18595 FOLLOW_argument_expression_list_in_postfix_expression1424 = frozenset([63])
18596 FOLLOW_63_in_postfix_expression1428 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18597 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])
18598 FOLLOW_macro_parameter_list_in_postfix_expression1446 = frozenset([63])
18599 FOLLOW_63_in_postfix_expression1448 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18600 FOLLOW_75_in_postfix_expression1462 = frozenset([4])
18601 FOLLOW_IDENTIFIER_in_postfix_expression1466 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18602 FOLLOW_66_in_postfix_expression1482 = frozenset([4])
18603 FOLLOW_IDENTIFIER_in_postfix_expression1486 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18604 FOLLOW_76_in_postfix_expression1502 = frozenset([4])
18605 FOLLOW_IDENTIFIER_in_postfix_expression1506 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18606 FOLLOW_72_in_postfix_expression1522 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18607 FOLLOW_73_in_postfix_expression1536 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
18608 FOLLOW_parameter_declaration_in_macro_parameter_list1559 = frozenset([1, 27])
18609 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])
18610 FOLLOW_parameter_declaration_in_macro_parameter_list1564 = frozenset([1, 27])
18611 FOLLOW_set_in_unary_operator0 = frozenset([1])
18612 FOLLOW_IDENTIFIER_in_primary_expression1613 = frozenset([1])
18613 FOLLOW_constant_in_primary_expression1618 = frozenset([1])
18614 FOLLOW_62_in_primary_expression1623 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18615 FOLLOW_expression_in_primary_expression1625 = frozenset([63])
18616 FOLLOW_63_in_primary_expression1627 = frozenset([1])
18617 FOLLOW_HEX_LITERAL_in_constant1643 = frozenset([1])
18618 FOLLOW_OCTAL_LITERAL_in_constant1653 = frozenset([1])
18619 FOLLOW_DECIMAL_LITERAL_in_constant1663 = frozenset([1])
18620 FOLLOW_CHARACTER_LITERAL_in_constant1671 = frozenset([1])
18621 FOLLOW_IDENTIFIER_in_constant1680 = frozenset([4, 9])
18622 FOLLOW_STRING_LITERAL_in_constant1683 = frozenset([1, 4, 9])
18623 FOLLOW_IDENTIFIER_in_constant1688 = frozenset([1, 4])
18624 FOLLOW_FLOATING_POINT_LITERAL_in_constant1699 = frozenset([1])
18625 FOLLOW_assignment_expression_in_expression1715 = frozenset([1, 27])
18626 FOLLOW_27_in_expression1718 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18627 FOLLOW_assignment_expression_in_expression1720 = frozenset([1, 27])
18628 FOLLOW_conditional_expression_in_constant_expression1733 = frozenset([1])
18629 FOLLOW_lvalue_in_assignment_expression1744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18630 FOLLOW_assignment_operator_in_assignment_expression1746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18631 FOLLOW_assignment_expression_in_assignment_expression1748 = frozenset([1])
18632 FOLLOW_conditional_expression_in_assignment_expression1753 = frozenset([1])
18633 FOLLOW_unary_expression_in_lvalue1765 = frozenset([1])
18634 FOLLOW_set_in_assignment_operator0 = frozenset([1])
18635 FOLLOW_logical_or_expression_in_conditional_expression1839 = frozenset([1, 90])
18636 FOLLOW_90_in_conditional_expression1842 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18637 FOLLOW_expression_in_conditional_expression1844 = frozenset([47])
18638 FOLLOW_47_in_conditional_expression1846 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18639 FOLLOW_conditional_expression_in_conditional_expression1848 = frozenset([1])
18640 FOLLOW_logical_and_expression_in_logical_or_expression1863 = frozenset([1, 91])
18641 FOLLOW_91_in_logical_or_expression1866 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18642 FOLLOW_logical_and_expression_in_logical_or_expression1868 = frozenset([1, 91])
18643 FOLLOW_inclusive_or_expression_in_logical_and_expression1881 = frozenset([1, 92])
18644 FOLLOW_92_in_logical_and_expression1884 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18645 FOLLOW_inclusive_or_expression_in_logical_and_expression1886 = frozenset([1, 92])
18646 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899 = frozenset([1, 93])
18647 FOLLOW_93_in_inclusive_or_expression1902 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18648 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904 = frozenset([1, 93])
18649 FOLLOW_and_expression_in_exclusive_or_expression1917 = frozenset([1, 94])
18650 FOLLOW_94_in_exclusive_or_expression1920 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18651 FOLLOW_and_expression_in_exclusive_or_expression1922 = frozenset([1, 94])
18652 FOLLOW_equality_expression_in_and_expression1935 = frozenset([1, 77])
18653 FOLLOW_77_in_and_expression1938 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18654 FOLLOW_equality_expression_in_and_expression1940 = frozenset([1, 77])
18655 FOLLOW_relational_expression_in_equality_expression1952 = frozenset([1, 95, 96])
18656 FOLLOW_set_in_equality_expression1955 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18657 FOLLOW_relational_expression_in_equality_expression1961 = frozenset([1, 95, 96])
18658 FOLLOW_shift_expression_in_relational_expression1975 = frozenset([1, 97, 98, 99, 100])
18659 FOLLOW_set_in_relational_expression1978 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18660 FOLLOW_shift_expression_in_relational_expression1988 = frozenset([1, 97, 98, 99, 100])
18661 FOLLOW_additive_expression_in_shift_expression2001 = frozenset([1, 101, 102])
18662 FOLLOW_set_in_shift_expression2004 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18663 FOLLOW_additive_expression_in_shift_expression2010 = frozenset([1, 101, 102])
18664 FOLLOW_labeled_statement_in_statement2025 = frozenset([1])
18665 FOLLOW_compound_statement_in_statement2030 = frozenset([1])
18666 FOLLOW_expression_statement_in_statement2035 = frozenset([1])
18667 FOLLOW_selection_statement_in_statement2040 = frozenset([1])
18668 FOLLOW_iteration_statement_in_statement2045 = frozenset([1])
18669 FOLLOW_jump_statement_in_statement2050 = frozenset([1])
18670 FOLLOW_macro_statement_in_statement2055 = frozenset([1])
18671 FOLLOW_asm2_statement_in_statement2060 = frozenset([1])
18672 FOLLOW_asm1_statement_in_statement2065 = frozenset([1])
18673 FOLLOW_asm_statement_in_statement2070 = frozenset([1])
18674 FOLLOW_declaration_in_statement2075 = frozenset([1])
18675 FOLLOW_103_in_asm2_statement2086 = frozenset([4])
18676 FOLLOW_IDENTIFIER_in_asm2_statement2089 = frozenset([62])
18677 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])
18678 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])
18679 FOLLOW_63_in_asm2_statement2101 = frozenset([25])
18680 FOLLOW_25_in_asm2_statement2103 = frozenset([1])
18681 FOLLOW_104_in_asm1_statement2115 = frozenset([43])
18682 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])
18683 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])
18684 FOLLOW_44_in_asm1_statement2127 = frozenset([1])
18685 FOLLOW_105_in_asm_statement2138 = frozenset([43])
18686 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])
18687 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])
18688 FOLLOW_44_in_asm_statement2150 = frozenset([1])
18689 FOLLOW_IDENTIFIER_in_macro_statement2162 = frozenset([62])
18690 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])
18691 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])
18692 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])
18693 FOLLOW_expression_in_macro_statement2173 = frozenset([63])
18694 FOLLOW_63_in_macro_statement2176 = frozenset([1])
18695 FOLLOW_IDENTIFIER_in_labeled_statement2188 = frozenset([47])
18696 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])
18697 FOLLOW_statement_in_labeled_statement2192 = frozenset([1])
18698 FOLLOW_106_in_labeled_statement2197 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18699 FOLLOW_constant_expression_in_labeled_statement2199 = frozenset([47])
18700 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])
18701 FOLLOW_statement_in_labeled_statement2203 = frozenset([1])
18702 FOLLOW_107_in_labeled_statement2208 = frozenset([47])
18703 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])
18704 FOLLOW_statement_in_labeled_statement2212 = frozenset([1])
18705 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])
18706 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])
18707 FOLLOW_statement_list_in_compound_statement2228 = frozenset([44])
18708 FOLLOW_44_in_compound_statement2231 = frozenset([1])
18709 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])
18710 FOLLOW_25_in_expression_statement2254 = frozenset([1])
18711 FOLLOW_expression_in_expression_statement2259 = frozenset([25])
18712 FOLLOW_25_in_expression_statement2261 = frozenset([1])
18713 FOLLOW_108_in_selection_statement2272 = frozenset([62])
18714 FOLLOW_62_in_selection_statement2274 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18715 FOLLOW_expression_in_selection_statement2278 = frozenset([63])
18716 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])
18717 FOLLOW_statement_in_selection_statement2284 = frozenset([1, 109])
18718 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])
18719 FOLLOW_statement_in_selection_statement2301 = frozenset([1])
18720 FOLLOW_110_in_selection_statement2308 = frozenset([62])
18721 FOLLOW_62_in_selection_statement2310 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18722 FOLLOW_expression_in_selection_statement2312 = frozenset([63])
18723 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])
18724 FOLLOW_statement_in_selection_statement2316 = frozenset([1])
18725 FOLLOW_111_in_iteration_statement2327 = frozenset([62])
18726 FOLLOW_62_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18727 FOLLOW_expression_in_iteration_statement2333 = frozenset([63])
18728 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])
18729 FOLLOW_statement_in_iteration_statement2337 = frozenset([1])
18730 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])
18731 FOLLOW_statement_in_iteration_statement2346 = frozenset([111])
18732 FOLLOW_111_in_iteration_statement2348 = frozenset([62])
18733 FOLLOW_62_in_iteration_statement2350 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18734 FOLLOW_expression_in_iteration_statement2354 = frozenset([63])
18735 FOLLOW_63_in_iteration_statement2356 = frozenset([25])
18736 FOLLOW_25_in_iteration_statement2358 = frozenset([1])
18737 FOLLOW_113_in_iteration_statement2365 = frozenset([62])
18738 FOLLOW_62_in_iteration_statement2367 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18739 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])
18740 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])
18741 FOLLOW_expression_in_iteration_statement2375 = frozenset([63])
18742 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])
18743 FOLLOW_statement_in_iteration_statement2380 = frozenset([1])
18744 FOLLOW_114_in_jump_statement2393 = frozenset([4])
18745 FOLLOW_IDENTIFIER_in_jump_statement2395 = frozenset([25])
18746 FOLLOW_25_in_jump_statement2397 = frozenset([1])
18747 FOLLOW_115_in_jump_statement2402 = frozenset([25])
18748 FOLLOW_25_in_jump_statement2404 = frozenset([1])
18749 FOLLOW_116_in_jump_statement2409 = frozenset([25])
18750 FOLLOW_25_in_jump_statement2411 = frozenset([1])
18751 FOLLOW_117_in_jump_statement2416 = frozenset([25])
18752 FOLLOW_25_in_jump_statement2418 = frozenset([1])
18753 FOLLOW_117_in_jump_statement2423 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18754 FOLLOW_expression_in_jump_statement2425 = frozenset([25])
18755 FOLLOW_25_in_jump_statement2427 = frozenset([1])
18756 FOLLOW_declaration_specifiers_in_synpred2100 = frozenset([1])
18757 FOLLOW_declaration_specifiers_in_synpred4100 = frozenset([4, 58, 59, 60, 62, 66])
18758 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])
18759 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])
18760 FOLLOW_43_in_synpred4108 = frozenset([1])
18761 FOLLOW_declaration_in_synpred5118 = frozenset([1])
18762 FOLLOW_declaration_specifiers_in_synpred7157 = frozenset([1])
18763 FOLLOW_declaration_specifiers_in_synpred10207 = frozenset([1])
18764 FOLLOW_type_specifier_in_synpred14272 = frozenset([1])
18765 FOLLOW_type_qualifier_in_synpred15286 = frozenset([1])
18766 FOLLOW_type_qualifier_in_synpred33444 = frozenset([1])
18767 FOLLOW_IDENTIFIER_in_synpred34442 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18768 FOLLOW_type_qualifier_in_synpred34444 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
18769 FOLLOW_declarator_in_synpred34447 = frozenset([1])
18770 FOLLOW_type_qualifier_in_synpred39566 = frozenset([1])
18771 FOLLOW_type_specifier_in_synpred40570 = frozenset([1])
18772 FOLLOW_pointer_in_synpred66784 = frozenset([4, 58, 59, 60, 62])
18773 FOLLOW_58_in_synpred66788 = frozenset([4, 59, 60, 62])
18774 FOLLOW_59_in_synpred66793 = frozenset([4, 60, 62])
18775 FOLLOW_60_in_synpred66798 = frozenset([4, 62])
18776 FOLLOW_direct_declarator_in_synpred66802 = frozenset([1])
18777 FOLLOW_declarator_suffix_in_synpred67821 = frozenset([1])
18778 FOLLOW_58_in_synpred69830 = frozenset([1])
18779 FOLLOW_declarator_suffix_in_synpred70838 = frozenset([1])
18780 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])
18781 FOLLOW_parameter_type_list_in_synpred73880 = frozenset([63])
18782 FOLLOW_63_in_synpred73882 = frozenset([1])
18783 FOLLOW_62_in_synpred74892 = frozenset([4])
18784 FOLLOW_identifier_list_in_synpred74894 = frozenset([63])
18785 FOLLOW_63_in_synpred74896 = frozenset([1])
18786 FOLLOW_type_qualifier_in_synpred75921 = frozenset([1])
18787 FOLLOW_pointer_in_synpred76924 = frozenset([1])
18788 FOLLOW_66_in_synpred77919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
18789 FOLLOW_type_qualifier_in_synpred77921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
18790 FOLLOW_pointer_in_synpred77924 = frozenset([1])
18791 FOLLOW_66_in_synpred78930 = frozenset([66])
18792 FOLLOW_pointer_in_synpred78932 = frozenset([1])
18793 FOLLOW_53_in_synpred81977 = frozenset([1])
18794 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])
18795 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])
18796 FOLLOW_parameter_declaration_in_synpred82981 = frozenset([1])
18797 FOLLOW_declarator_in_synpred83997 = frozenset([1])
18798 FOLLOW_abstract_declarator_in_synpred84999 = frozenset([1])
18799 FOLLOW_declaration_specifiers_in_synpred86994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18800 FOLLOW_declarator_in_synpred86997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18801 FOLLOW_abstract_declarator_in_synpred86999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
18802 FOLLOW_53_in_synpred861004 = frozenset([1])
18803 FOLLOW_specifier_qualifier_list_in_synpred901046 = frozenset([1, 62, 64, 66])
18804 FOLLOW_abstract_declarator_in_synpred901048 = frozenset([1])
18805 FOLLOW_direct_abstract_declarator_in_synpred911067 = frozenset([1])
18806 FOLLOW_62_in_synpred931086 = frozenset([62, 64, 66])
18807 FOLLOW_abstract_declarator_in_synpred931088 = frozenset([63])
18808 FOLLOW_63_in_synpred931090 = frozenset([1])
18809 FOLLOW_abstract_declarator_suffix_in_synpred941098 = frozenset([1])
18810 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])
18811 FOLLOW_type_name_in_synpred1091284 = frozenset([63])
18812 FOLLOW_63_in_synpred1091286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18813 FOLLOW_cast_expression_in_synpred1091288 = frozenset([1])
18814 FOLLOW_74_in_synpred1141330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18815 FOLLOW_unary_expression_in_synpred1141332 = frozenset([1])
18816 FOLLOW_62_in_synpred1171420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18817 FOLLOW_argument_expression_list_in_synpred1171424 = frozenset([63])
18818 FOLLOW_63_in_synpred1171428 = frozenset([1])
18819 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])
18820 FOLLOW_macro_parameter_list_in_synpred1181446 = frozenset([63])
18821 FOLLOW_63_in_synpred1181448 = frozenset([1])
18822 FOLLOW_66_in_synpred1201482 = frozenset([4])
18823 FOLLOW_IDENTIFIER_in_synpred1201486 = frozenset([1])
18824 FOLLOW_STRING_LITERAL_in_synpred1371683 = frozenset([1])
18825 FOLLOW_IDENTIFIER_in_synpred1381680 = frozenset([4, 9])
18826 FOLLOW_STRING_LITERAL_in_synpred1381683 = frozenset([1, 9])
18827 FOLLOW_lvalue_in_synpred1421744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
18828 FOLLOW_assignment_operator_in_synpred1421746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
18829 FOLLOW_assignment_expression_in_synpred1421748 = frozenset([1])
18830 FOLLOW_expression_statement_in_synpred1692035 = frozenset([1])
18831 FOLLOW_macro_statement_in_synpred1732055 = frozenset([1])
18832 FOLLOW_asm2_statement_in_synpred1742060 = frozenset([1])
18833 FOLLOW_declaration_in_synpred1812166 = frozenset([1])
18834 FOLLOW_statement_list_in_synpred1822170 = frozenset([1])
18835 FOLLOW_declaration_in_synpred1862225 = frozenset([1])
18836 FOLLOW_statement_in_synpred1882242 = frozenset([1])
18837