]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Ecc/CParser.py
Check In tool source code based on Build tool project revision r1655.
[mirror_edk2.git] / BaseTools / Source / Python / Ecc / CParser.py
1 # $ANTLR 3.0.1 C.g 2009-02-16 16:02:50
2
3 from antlr3 import *
4 from antlr3.compat import set, frozenset
5
6 import CodeFragment
7 import FileProfile
8
9
10
11 # for convenience in actions
12 HIDDEN = BaseRecognizer.HIDDEN
13
14 # token types
15 CHARACTER_LITERAL=8
16 LETTER=11
17 Exponent=15
18 DECIMAL_LITERAL=7
19 IntegerTypeSuffix=14
20 UnicodeVocabulary=21
21 HexDigit=13
22 BS=20
23 WS=19
24 LINE_COMMAND=24
25 COMMENT=22
26 LINE_COMMENT=23
27 OCTAL_LITERAL=6
28 HEX_LITERAL=5
29 FLOATING_POINT_LITERAL=10
30 UnicodeEscape=18
31 EscapeSequence=12
32 EOF=-1
33 STRING_LITERAL=9
34 OctalEscape=17
35 IDENTIFIER=4
36 FloatTypeSuffix=16
37
38 # token names
39 tokenNames = [
40 "<invalid>", "<EOR>", "<DOWN>", "<UP>",
41 "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
42 "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
43 "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
44 "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
45 "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
46 "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
47 "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
48 "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
49 "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
50 "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'('", "')'",
51 "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'", "'++'", "'--'",
52 "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='", "'/='", "'%='",
53 "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='", "'?'", "'||'",
54 "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='", "'>='",
55 "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'", "'default'",
56 "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'", "'goto'",
57 "'continue'", "'break'", "'return'"
58 ]
59
60
61 class function_definition_scope(object):
62 def __init__(self):
63 self.ModifierText = None
64 self.DeclText = None
65 self.LBLine = None
66 self.LBOffset = None
67 self.DeclLine = None
68 self.DeclOffset = None
69 class postfix_expression_scope(object):
70 def __init__(self):
71 self.FuncCallText = None
72
73
74 class CParser(Parser):
75 grammarFileName = "C.g"
76 tokenNames = tokenNames
77
78 def __init__(self, input):
79 Parser.__init__(self, input)
80 self.ruleMemo = {}
81
82 self.function_definition_stack = []
83 self.postfix_expression_stack = []
84
85
86
87
88
89
90
91
92 def printTokenInfo(self, line, offset, tokenText):
93 print str(line)+ ',' + str(offset) + ':' + str(tokenText)
94
95 def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text):
96 PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset))
97 FileProfile.PredicateExpressionList.append(PredExp)
98
99 def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
100 EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
101 FileProfile.EnumerationDefinitionList.append(EnumDef)
102
103 def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):
104 SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))
105 FileProfile.StructUnionDefinitionList.append(SUDef)
106
107 def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText):
108 Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset))
109 FileProfile.TypedefDefinitionList.append(Tdef)
110
111 def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset):
112 FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset))
113 FileProfile.FunctionDefinitionList.append(FuncDef)
114
115 def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText):
116 VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset))
117 FileProfile.VariableDeclarationList.append(VarDecl)
118
119 def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList):
120 FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))
121 FileProfile.FunctionCallingList.append(FuncCall)
122
123
124
125
126 # $ANTLR start translation_unit
127 # C.g:50:1: translation_unit : ( external_declaration )* ;
128 def translation_unit(self, ):
129
130 translation_unit_StartIndex = self.input.index()
131 try:
132 try:
133 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1):
134 return
135
136 # C.g:51:2: ( ( external_declaration )* )
137 # C.g:51:4: ( external_declaration )*
138 # C.g:51:4: ( external_declaration )*
139 while True: #loop1
140 alt1 = 2
141 LA1_0 = self.input.LA(1)
142
143 if (LA1_0 == IDENTIFIER or LA1_0 == 26 or (29 <= LA1_0 <= 42) or (45 <= LA1_0 <= 46) or (48 <= LA1_0 <= 61) or LA1_0 == 65) :
144 alt1 = 1
145
146
147 if alt1 == 1:
148 # C.g:0:0: external_declaration
149 self.following.append(self.FOLLOW_external_declaration_in_translation_unit64)
150 self.external_declaration()
151 self.following.pop()
152 if self.failed:
153 return
154
155
156 else:
157 break #loop1
158
159
160
161
162
163
164 except RecognitionException, re:
165 self.reportError(re)
166 self.recover(self.input, re)
167 finally:
168 if self.backtracking > 0:
169 self.memoize(self.input, 1, translation_unit_StartIndex)
170
171 pass
172
173 return
174
175 # $ANTLR end translation_unit
176
177
178 # $ANTLR start external_declaration
179 # C.g:62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
180 def external_declaration(self, ):
181
182 external_declaration_StartIndex = self.input.index()
183 try:
184 try:
185 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
186 return
187
188 # C.g:67:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
189 alt3 = 3
190 LA3_0 = self.input.LA(1)
191
192 if ((29 <= LA3_0 <= 33)) :
193 LA3_1 = self.input.LA(2)
194
195 if (self.synpred4()) :
196 alt3 = 1
197 elif (self.synpred5()) :
198 alt3 = 2
199 else:
200 if self.backtracking > 0:
201 self.failed = True
202 return
203
204 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
205
206 raise nvae
207
208 elif (LA3_0 == 34) :
209 LA3_2 = self.input.LA(2)
210
211 if (self.synpred4()) :
212 alt3 = 1
213 elif (self.synpred5()) :
214 alt3 = 2
215 else:
216 if self.backtracking > 0:
217 self.failed = True
218 return
219
220 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
221
222 raise nvae
223
224 elif (LA3_0 == 35) :
225 LA3_3 = self.input.LA(2)
226
227 if (self.synpred4()) :
228 alt3 = 1
229 elif (self.synpred5()) :
230 alt3 = 2
231 else:
232 if self.backtracking > 0:
233 self.failed = True
234 return
235
236 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
237
238 raise nvae
239
240 elif (LA3_0 == 36) :
241 LA3_4 = self.input.LA(2)
242
243 if (self.synpred4()) :
244 alt3 = 1
245 elif (self.synpred5()) :
246 alt3 = 2
247 else:
248 if self.backtracking > 0:
249 self.failed = True
250 return
251
252 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
253
254 raise nvae
255
256 elif (LA3_0 == 37) :
257 LA3_5 = self.input.LA(2)
258
259 if (self.synpred4()) :
260 alt3 = 1
261 elif (self.synpred5()) :
262 alt3 = 2
263 else:
264 if self.backtracking > 0:
265 self.failed = True
266 return
267
268 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
269
270 raise nvae
271
272 elif (LA3_0 == 38) :
273 LA3_6 = self.input.LA(2)
274
275 if (self.synpred4()) :
276 alt3 = 1
277 elif (self.synpred5()) :
278 alt3 = 2
279 else:
280 if self.backtracking > 0:
281 self.failed = True
282 return
283
284 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
285
286 raise nvae
287
288 elif (LA3_0 == 39) :
289 LA3_7 = self.input.LA(2)
290
291 if (self.synpred4()) :
292 alt3 = 1
293 elif (self.synpred5()) :
294 alt3 = 2
295 else:
296 if self.backtracking > 0:
297 self.failed = True
298 return
299
300 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
301
302 raise nvae
303
304 elif (LA3_0 == 40) :
305 LA3_8 = self.input.LA(2)
306
307 if (self.synpred4()) :
308 alt3 = 1
309 elif (self.synpred5()) :
310 alt3 = 2
311 else:
312 if self.backtracking > 0:
313 self.failed = True
314 return
315
316 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
317
318 raise nvae
319
320 elif (LA3_0 == 41) :
321 LA3_9 = self.input.LA(2)
322
323 if (self.synpred4()) :
324 alt3 = 1
325 elif (self.synpred5()) :
326 alt3 = 2
327 else:
328 if self.backtracking > 0:
329 self.failed = True
330 return
331
332 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
333
334 raise nvae
335
336 elif (LA3_0 == 42) :
337 LA3_10 = self.input.LA(2)
338
339 if (self.synpred4()) :
340 alt3 = 1
341 elif (self.synpred5()) :
342 alt3 = 2
343 else:
344 if self.backtracking > 0:
345 self.failed = True
346 return
347
348 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
349
350 raise nvae
351
352 elif ((45 <= LA3_0 <= 46)) :
353 LA3_11 = self.input.LA(2)
354
355 if (self.synpred4()) :
356 alt3 = 1
357 elif (self.synpred5()) :
358 alt3 = 2
359 else:
360 if self.backtracking > 0:
361 self.failed = True
362 return
363
364 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
365
366 raise nvae
367
368 elif (LA3_0 == 48) :
369 LA3_12 = self.input.LA(2)
370
371 if (self.synpred4()) :
372 alt3 = 1
373 elif (self.synpred5()) :
374 alt3 = 2
375 else:
376 if self.backtracking > 0:
377 self.failed = True
378 return
379
380 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
381
382 raise nvae
383
384 elif (LA3_0 == IDENTIFIER) :
385 LA3_13 = self.input.LA(2)
386
387 if (self.synpred4()) :
388 alt3 = 1
389 elif (self.synpred5()) :
390 alt3 = 2
391 elif (True) :
392 alt3 = 3
393 else:
394 if self.backtracking > 0:
395 self.failed = True
396 return
397
398 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
399
400 raise nvae
401
402 elif (LA3_0 == 58) :
403 LA3_14 = self.input.LA(2)
404
405 if (self.synpred4()) :
406 alt3 = 1
407 elif (self.synpred5()) :
408 alt3 = 2
409 else:
410 if self.backtracking > 0:
411 self.failed = True
412 return
413
414 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
415
416 raise nvae
417
418 elif (LA3_0 == 65) and (self.synpred4()):
419 alt3 = 1
420 elif (LA3_0 == 59) :
421 LA3_16 = self.input.LA(2)
422
423 if (self.synpred4()) :
424 alt3 = 1
425 elif (self.synpred5()) :
426 alt3 = 2
427 else:
428 if self.backtracking > 0:
429 self.failed = True
430 return
431
432 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
433
434 raise nvae
435
436 elif (LA3_0 == 60) :
437 LA3_17 = self.input.LA(2)
438
439 if (self.synpred4()) :
440 alt3 = 1
441 elif (self.synpred5()) :
442 alt3 = 2
443 else:
444 if self.backtracking > 0:
445 self.failed = True
446 return
447
448 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input)
449
450 raise nvae
451
452 elif ((49 <= LA3_0 <= 57)) :
453 LA3_18 = self.input.LA(2)
454
455 if (self.synpred4()) :
456 alt3 = 1
457 elif (self.synpred5()) :
458 alt3 = 2
459 else:
460 if self.backtracking > 0:
461 self.failed = True
462 return
463
464 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
465
466 raise nvae
467
468 elif (LA3_0 == 61) and (self.synpred4()):
469 alt3 = 1
470 elif (LA3_0 == 26) :
471 alt3 = 2
472 else:
473 if self.backtracking > 0:
474 self.failed = True
475 return
476
477 nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input)
478
479 raise nvae
480
481 if alt3 == 1:
482 # C.g:67:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
483 self.following.append(self.FOLLOW_function_definition_in_external_declaration103)
484 self.function_definition()
485 self.following.pop()
486 if self.failed:
487 return
488
489
490 elif alt3 == 2:
491 # C.g:68:4: declaration
492 self.following.append(self.FOLLOW_declaration_in_external_declaration108)
493 self.declaration()
494 self.following.pop()
495 if self.failed:
496 return
497
498
499 elif alt3 == 3:
500 # C.g:69:4: macro_statement ( ';' )?
501 self.following.append(self.FOLLOW_macro_statement_in_external_declaration113)
502 self.macro_statement()
503 self.following.pop()
504 if self.failed:
505 return
506 # C.g:69:20: ( ';' )?
507 alt2 = 2
508 LA2_0 = self.input.LA(1)
509
510 if (LA2_0 == 25) :
511 alt2 = 1
512 if alt2 == 1:
513 # C.g:69:21: ';'
514 self.match(self.input, 25, self.FOLLOW_25_in_external_declaration116)
515 if self.failed:
516 return
517
518
519
520
521
522
523 except RecognitionException, re:
524 self.reportError(re)
525 self.recover(self.input, re)
526 finally:
527 if self.backtracking > 0:
528 self.memoize(self.input, 2, external_declaration_StartIndex)
529
530 pass
531
532 return
533
534 # $ANTLR end external_declaration
535
536 class function_definition_return(object):
537 def __init__(self):
538 self.start = None
539 self.stop = None
540
541
542
543 # $ANTLR start function_definition
544 # C.g:74:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
545 def function_definition(self, ):
546 self.function_definition_stack.append(function_definition_scope())
547 retval = self.function_definition_return()
548 retval.start = self.input.LT(1)
549 function_definition_StartIndex = self.input.index()
550 d = None
551
552 a = None
553
554 b = None
555
556 declarator1 = None
557
558
559
560 self.function_definition_stack[-1].ModifierText = ''
561 self.function_definition_stack[-1].DeclText = ''
562 self.function_definition_stack[-1].LBLine = 0
563 self.function_definition_stack[-1].LBOffset = 0
564 self.function_definition_stack[-1].DeclLine = 0
565 self.function_definition_stack[-1].DeclOffset = 0
566
567 try:
568 try:
569 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3):
570 return retval
571
572 # C.g:94:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) )
573 # C.g:94:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement )
574 # C.g:94:5: (d= declaration_specifiers )?
575 alt4 = 2
576 LA4 = self.input.LA(1)
577 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:
578 alt4 = 1
579 elif LA4 == IDENTIFIER:
580 LA4 = self.input.LA(2)
581 if LA4 == 65:
582 alt4 = 1
583 elif LA4 == 58:
584 LA4_21 = self.input.LA(3)
585
586 if (self.synpred7()) :
587 alt4 = 1
588 elif LA4 == 59:
589 LA4_22 = self.input.LA(3)
590
591 if (self.synpred7()) :
592 alt4 = 1
593 elif LA4 == 60:
594 LA4_23 = self.input.LA(3)
595
596 if (self.synpred7()) :
597 alt4 = 1
598 elif LA4 == IDENTIFIER:
599 LA4_24 = self.input.LA(3)
600
601 if (self.synpred7()) :
602 alt4 = 1
603 elif LA4 == 61:
604 LA4_25 = self.input.LA(3)
605
606 if (self.synpred7()) :
607 alt4 = 1
608 elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33:
609 LA4_26 = self.input.LA(3)
610
611 if (self.synpred7()) :
612 alt4 = 1
613 elif LA4 == 34:
614 LA4_27 = self.input.LA(3)
615
616 if (self.synpred7()) :
617 alt4 = 1
618 elif LA4 == 35:
619 LA4_28 = self.input.LA(3)
620
621 if (self.synpred7()) :
622 alt4 = 1
623 elif LA4 == 36:
624 LA4_29 = self.input.LA(3)
625
626 if (self.synpred7()) :
627 alt4 = 1
628 elif LA4 == 37:
629 LA4_30 = self.input.LA(3)
630
631 if (self.synpred7()) :
632 alt4 = 1
633 elif LA4 == 38:
634 LA4_31 = self.input.LA(3)
635
636 if (self.synpred7()) :
637 alt4 = 1
638 elif LA4 == 39:
639 LA4_32 = self.input.LA(3)
640
641 if (self.synpred7()) :
642 alt4 = 1
643 elif LA4 == 40:
644 LA4_33 = self.input.LA(3)
645
646 if (self.synpred7()) :
647 alt4 = 1
648 elif LA4 == 41:
649 LA4_34 = self.input.LA(3)
650
651 if (self.synpred7()) :
652 alt4 = 1
653 elif LA4 == 42:
654 LA4_35 = self.input.LA(3)
655
656 if (self.synpred7()) :
657 alt4 = 1
658 elif LA4 == 45 or LA4 == 46:
659 LA4_36 = self.input.LA(3)
660
661 if (self.synpred7()) :
662 alt4 = 1
663 elif LA4 == 48:
664 LA4_37 = self.input.LA(3)
665
666 if (self.synpred7()) :
667 alt4 = 1
668 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:
669 LA4_38 = self.input.LA(3)
670
671 if (self.synpred7()) :
672 alt4 = 1
673 elif LA4 == 58:
674 LA4_14 = self.input.LA(2)
675
676 if (self.synpred7()) :
677 alt4 = 1
678 elif LA4 == 59:
679 LA4_16 = self.input.LA(2)
680
681 if (self.synpred7()) :
682 alt4 = 1
683 elif LA4 == 60:
684 LA4_17 = self.input.LA(2)
685
686 if (self.synpred7()) :
687 alt4 = 1
688 if alt4 == 1:
689 # C.g:0:0: d= declaration_specifiers
690 self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition147)
691 d = self.declaration_specifiers()
692 self.following.pop()
693 if self.failed:
694 return retval
695
696
697
698 self.following.append(self.FOLLOW_declarator_in_function_definition150)
699 declarator1 = self.declarator()
700 self.following.pop()
701 if self.failed:
702 return retval
703 # C.g:95:3: ( ( declaration )+ a= compound_statement | b= compound_statement )
704 alt6 = 2
705 LA6_0 = self.input.LA(1)
706
707 if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 60)) :
708 alt6 = 1
709 elif (LA6_0 == 43) :
710 alt6 = 2
711 else:
712 if self.backtracking > 0:
713 self.failed = True
714 return retval
715
716 nvae = NoViableAltException("95:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
717
718 raise nvae
719
720 if alt6 == 1:
721 # C.g:95:5: ( declaration )+ a= compound_statement
722 # C.g:95:5: ( declaration )+
723 cnt5 = 0
724 while True: #loop5
725 alt5 = 2
726 LA5_0 = self.input.LA(1)
727
728 if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 60)) :
729 alt5 = 1
730
731
732 if alt5 == 1:
733 # C.g:0:0: declaration
734 self.following.append(self.FOLLOW_declaration_in_function_definition156)
735 self.declaration()
736 self.following.pop()
737 if self.failed:
738 return retval
739
740
741 else:
742 if cnt5 >= 1:
743 break #loop5
744
745 if self.backtracking > 0:
746 self.failed = True
747 return retval
748
749 eee = EarlyExitException(5, self.input)
750 raise eee
751
752 cnt5 += 1
753
754
755 self.following.append(self.FOLLOW_compound_statement_in_function_definition161)
756 a = self.compound_statement()
757 self.following.pop()
758 if self.failed:
759 return retval
760
761
762 elif alt6 == 2:
763 # C.g:96:5: b= compound_statement
764 self.following.append(self.FOLLOW_compound_statement_in_function_definition170)
765 b = self.compound_statement()
766 self.following.pop()
767 if self.failed:
768 return retval
769
770
771
772 if self.backtracking == 0:
773
774 if d != None:
775 self.function_definition_stack[-1].ModifierText = self.input.toString(d.start,d.stop)
776 else:
777 self.function_definition_stack[-1].ModifierText = ''
778 self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start,declarator1.stop)
779 self.function_definition_stack[-1].DeclLine = declarator1.start.line
780 self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine
781 if a != None:
782 self.function_definition_stack[-1].LBLine = a.start.line
783 self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine
784 else:
785 self.function_definition_stack[-1].LBLine = b.start.line
786 self.function_definition_stack[-1].LBOffset = b.start.charPositionInLine
787
788
789
790
791
792 retval.stop = self.input.LT(-1)
793
794 if self.backtracking == 0:
795
796 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)
797
798
799
800 except RecognitionException, re:
801 self.reportError(re)
802 self.recover(self.input, re)
803 finally:
804 if self.backtracking > 0:
805 self.memoize(self.input, 3, function_definition_StartIndex)
806
807 self.function_definition_stack.pop()
808 pass
809
810 return retval
811
812 # $ANTLR end function_definition
813
814
815 # $ANTLR start declaration
816 # C.g:114:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
817 def declaration(self, ):
818
819 declaration_StartIndex = self.input.index()
820 a = None
821 d = None
822 e = None
823 b = None
824
825 c = None
826
827 s = None
828
829 t = None
830
831
832 try:
833 try:
834 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
835 return
836
837 # C.g:115:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
838 alt9 = 2
839 LA9_0 = self.input.LA(1)
840
841 if (LA9_0 == 26) :
842 alt9 = 1
843 elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 60)) :
844 alt9 = 2
845 else:
846 if self.backtracking > 0:
847 self.failed = True
848 return
849
850 nvae = NoViableAltException("114:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input)
851
852 raise nvae
853
854 if alt9 == 1:
855 # C.g:115:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
856 a = self.input.LT(1)
857 self.match(self.input, 26, self.FOLLOW_26_in_declaration193)
858 if self.failed:
859 return
860 # C.g:115:17: (b= declaration_specifiers )?
861 alt7 = 2
862 LA7 = self.input.LA(1)
863 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:
864 alt7 = 1
865 elif LA7 == IDENTIFIER:
866 LA7_13 = self.input.LA(2)
867
868 if (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 60) or LA7_13 == 65) :
869 alt7 = 1
870 elif (LA7_13 == 61) :
871 LA7_25 = self.input.LA(3)
872
873 if (self.synpred10()) :
874 alt7 = 1
875 elif LA7 == 58:
876 LA7_14 = self.input.LA(2)
877
878 if (self.synpred10()) :
879 alt7 = 1
880 elif LA7 == 59:
881 LA7_16 = self.input.LA(2)
882
883 if (self.synpred10()) :
884 alt7 = 1
885 elif LA7 == 60:
886 LA7_17 = self.input.LA(2)
887
888 if (self.synpred10()) :
889 alt7 = 1
890 if alt7 == 1:
891 # C.g:0:0: b= declaration_specifiers
892 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration197)
893 b = self.declaration_specifiers()
894 self.following.pop()
895 if self.failed:
896 return
897
898
899
900 self.following.append(self.FOLLOW_init_declarator_list_in_declaration206)
901 c = self.init_declarator_list()
902 self.following.pop()
903 if self.failed:
904 return
905 d = self.input.LT(1)
906 self.match(self.input, 25, self.FOLLOW_25_in_declaration210)
907 if self.failed:
908 return
909 if self.backtracking == 0:
910
911 if b != None:
912 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start,b.stop), self.input.toString(c.start,c.stop))
913 else:
914 self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start,c.stop))
915
916
917
918
919 elif alt9 == 2:
920 # C.g:123:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
921 self.following.append(self.FOLLOW_declaration_specifiers_in_declaration224)
922 s = self.declaration_specifiers()
923 self.following.pop()
924 if self.failed:
925 return
926 # C.g:123:30: (t= init_declarator_list )?
927 alt8 = 2
928 LA8_0 = self.input.LA(1)
929
930 if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 61) or LA8_0 == 65) :
931 alt8 = 1
932 if alt8 == 1:
933 # C.g:0:0: t= init_declarator_list
934 self.following.append(self.FOLLOW_init_declarator_list_in_declaration228)
935 t = self.init_declarator_list()
936 self.following.pop()
937 if self.failed:
938 return
939
940
941
942 e = self.input.LT(1)
943 self.match(self.input, 25, self.FOLLOW_25_in_declaration233)
944 if self.failed:
945 return
946 if self.backtracking == 0:
947
948 if t != None:
949 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))
950
951
952
953
954
955 except RecognitionException, re:
956 self.reportError(re)
957 self.recover(self.input, re)
958 finally:
959 if self.backtracking > 0:
960 self.memoize(self.input, 4, declaration_StartIndex)
961
962 pass
963
964 return
965
966 # $ANTLR end declaration
967
968 class declaration_specifiers_return(object):
969 def __init__(self):
970 self.start = None
971 self.stop = None
972
973
974
975 # $ANTLR start declaration_specifiers
976 # C.g:130:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
977 def declaration_specifiers(self, ):
978
979 retval = self.declaration_specifiers_return()
980 retval.start = self.input.LT(1)
981 declaration_specifiers_StartIndex = self.input.index()
982 try:
983 try:
984 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
985 return retval
986
987 # C.g:131:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
988 # C.g:131:6: ( storage_class_specifier | type_specifier | type_qualifier )+
989 # C.g:131:6: ( storage_class_specifier | type_specifier | type_qualifier )+
990 cnt10 = 0
991 while True: #loop10
992 alt10 = 4
993 LA10 = self.input.LA(1)
994 if LA10 == 58:
995 LA10_2 = self.input.LA(2)
996
997 if (self.synpred15()) :
998 alt10 = 3
999
1000
1001 elif LA10 == 59:
1002 LA10_3 = self.input.LA(2)
1003
1004 if (self.synpred15()) :
1005 alt10 = 3
1006
1007
1008 elif LA10 == 60:
1009 LA10_4 = self.input.LA(2)
1010
1011 if (self.synpred15()) :
1012 alt10 = 3
1013
1014
1015 elif LA10 == IDENTIFIER:
1016 LA10_5 = self.input.LA(2)
1017
1018 if (self.synpred14()) :
1019 alt10 = 2
1020
1021
1022 elif LA10 == 53:
1023 LA10_9 = self.input.LA(2)
1024
1025 if (self.synpred15()) :
1026 alt10 = 3
1027
1028
1029 elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
1030 alt10 = 1
1031 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:
1032 alt10 = 2
1033 elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57:
1034 alt10 = 3
1035
1036 if alt10 == 1:
1037 # C.g:131:10: storage_class_specifier
1038 self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers254)
1039 self.storage_class_specifier()
1040 self.following.pop()
1041 if self.failed:
1042 return retval
1043
1044
1045 elif alt10 == 2:
1046 # C.g:132:7: type_specifier
1047 self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers262)
1048 self.type_specifier()
1049 self.following.pop()
1050 if self.failed:
1051 return retval
1052
1053
1054 elif alt10 == 3:
1055 # C.g:133:13: type_qualifier
1056 self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers276)
1057 self.type_qualifier()
1058 self.following.pop()
1059 if self.failed:
1060 return retval
1061
1062
1063 else:
1064 if cnt10 >= 1:
1065 break #loop10
1066
1067 if self.backtracking > 0:
1068 self.failed = True
1069 return retval
1070
1071 eee = EarlyExitException(10, self.input)
1072 raise eee
1073
1074 cnt10 += 1
1075
1076
1077
1078
1079
1080 retval.stop = self.input.LT(-1)
1081
1082
1083 except RecognitionException, re:
1084 self.reportError(re)
1085 self.recover(self.input, re)
1086 finally:
1087 if self.backtracking > 0:
1088 self.memoize(self.input, 5, declaration_specifiers_StartIndex)
1089
1090 pass
1091
1092 return retval
1093
1094 # $ANTLR end declaration_specifiers
1095
1096 class init_declarator_list_return(object):
1097 def __init__(self):
1098 self.start = None
1099 self.stop = None
1100
1101
1102
1103 # $ANTLR start init_declarator_list
1104 # C.g:137:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
1105 def init_declarator_list(self, ):
1106
1107 retval = self.init_declarator_list_return()
1108 retval.start = self.input.LT(1)
1109 init_declarator_list_StartIndex = self.input.index()
1110 try:
1111 try:
1112 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
1113 return retval
1114
1115 # C.g:138:2: ( init_declarator ( ',' init_declarator )* )
1116 # C.g:138:4: init_declarator ( ',' init_declarator )*
1117 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list298)
1118 self.init_declarator()
1119 self.following.pop()
1120 if self.failed:
1121 return retval
1122 # C.g:138:20: ( ',' init_declarator )*
1123 while True: #loop11
1124 alt11 = 2
1125 LA11_0 = self.input.LA(1)
1126
1127 if (LA11_0 == 27) :
1128 alt11 = 1
1129
1130
1131 if alt11 == 1:
1132 # C.g:138:21: ',' init_declarator
1133 self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list301)
1134 if self.failed:
1135 return retval
1136 self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list303)
1137 self.init_declarator()
1138 self.following.pop()
1139 if self.failed:
1140 return retval
1141
1142
1143 else:
1144 break #loop11
1145
1146
1147
1148
1149
1150 retval.stop = self.input.LT(-1)
1151
1152
1153 except RecognitionException, re:
1154 self.reportError(re)
1155 self.recover(self.input, re)
1156 finally:
1157 if self.backtracking > 0:
1158 self.memoize(self.input, 6, init_declarator_list_StartIndex)
1159
1160 pass
1161
1162 return retval
1163
1164 # $ANTLR end init_declarator_list
1165
1166
1167 # $ANTLR start init_declarator
1168 # C.g:141:1: init_declarator : declarator ( '=' initializer )? ;
1169 def init_declarator(self, ):
1170
1171 init_declarator_StartIndex = self.input.index()
1172 try:
1173 try:
1174 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
1175 return
1176
1177 # C.g:142:2: ( declarator ( '=' initializer )? )
1178 # C.g:142:4: declarator ( '=' initializer )?
1179 self.following.append(self.FOLLOW_declarator_in_init_declarator316)
1180 self.declarator()
1181 self.following.pop()
1182 if self.failed:
1183 return
1184 # C.g:142:15: ( '=' initializer )?
1185 alt12 = 2
1186 LA12_0 = self.input.LA(1)
1187
1188 if (LA12_0 == 28) :
1189 alt12 = 1
1190 if alt12 == 1:
1191 # C.g:142:16: '=' initializer
1192 self.match(self.input, 28, self.FOLLOW_28_in_init_declarator319)
1193 if self.failed:
1194 return
1195 self.following.append(self.FOLLOW_initializer_in_init_declarator321)
1196 self.initializer()
1197 self.following.pop()
1198 if self.failed:
1199 return
1200
1201
1202
1203
1204
1205
1206
1207 except RecognitionException, re:
1208 self.reportError(re)
1209 self.recover(self.input, re)
1210 finally:
1211 if self.backtracking > 0:
1212 self.memoize(self.input, 7, init_declarator_StartIndex)
1213
1214 pass
1215
1216 return
1217
1218 # $ANTLR end init_declarator
1219
1220
1221 # $ANTLR start storage_class_specifier
1222 # C.g:145:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
1223 def storage_class_specifier(self, ):
1224
1225 storage_class_specifier_StartIndex = self.input.index()
1226 try:
1227 try:
1228 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
1229 return
1230
1231 # C.g:146:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
1232 # C.g:
1233 if (29 <= self.input.LA(1) <= 33):
1234 self.input.consume();
1235 self.errorRecovery = False
1236 self.failed = False
1237
1238 else:
1239 if self.backtracking > 0:
1240 self.failed = True
1241 return
1242
1243 mse = MismatchedSetException(None, self.input)
1244 self.recoverFromMismatchedSet(
1245 self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
1246 )
1247 raise mse
1248
1249
1250
1251
1252
1253
1254 except RecognitionException, re:
1255 self.reportError(re)
1256 self.recover(self.input, re)
1257 finally:
1258 if self.backtracking > 0:
1259 self.memoize(self.input, 8, storage_class_specifier_StartIndex)
1260
1261 pass
1262
1263 return
1264
1265 # $ANTLR end storage_class_specifier
1266
1267
1268 # $ANTLR start type_specifier
1269 # C.g:153: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 );
1270 def type_specifier(self, ):
1271
1272 type_specifier_StartIndex = self.input.index()
1273 s = None
1274
1275 e = None
1276
1277
1278 try:
1279 try:
1280 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
1281 return
1282
1283 # C.g:154:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
1284 alt13 = 12
1285 LA13_0 = self.input.LA(1)
1286
1287 if (LA13_0 == 34) :
1288 alt13 = 1
1289 elif (LA13_0 == 35) :
1290 alt13 = 2
1291 elif (LA13_0 == 36) :
1292 alt13 = 3
1293 elif (LA13_0 == 37) :
1294 alt13 = 4
1295 elif (LA13_0 == 38) :
1296 alt13 = 5
1297 elif (LA13_0 == 39) :
1298 alt13 = 6
1299 elif (LA13_0 == 40) :
1300 alt13 = 7
1301 elif (LA13_0 == 41) :
1302 alt13 = 8
1303 elif (LA13_0 == 42) :
1304 alt13 = 9
1305 elif ((45 <= LA13_0 <= 46)) :
1306 alt13 = 10
1307 elif (LA13_0 == 48) :
1308 alt13 = 11
1309 elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
1310 alt13 = 12
1311 else:
1312 if self.backtracking > 0:
1313 self.failed = True
1314 return
1315
1316 nvae = NoViableAltException("153: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)
1317
1318 raise nvae
1319
1320 if alt13 == 1:
1321 # C.g:154:4: 'void'
1322 self.match(self.input, 34, self.FOLLOW_34_in_type_specifier366)
1323 if self.failed:
1324 return
1325
1326
1327 elif alt13 == 2:
1328 # C.g:155:4: 'char'
1329 self.match(self.input, 35, self.FOLLOW_35_in_type_specifier371)
1330 if self.failed:
1331 return
1332
1333
1334 elif alt13 == 3:
1335 # C.g:156:4: 'short'
1336 self.match(self.input, 36, self.FOLLOW_36_in_type_specifier376)
1337 if self.failed:
1338 return
1339
1340
1341 elif alt13 == 4:
1342 # C.g:157:4: 'int'
1343 self.match(self.input, 37, self.FOLLOW_37_in_type_specifier381)
1344 if self.failed:
1345 return
1346
1347
1348 elif alt13 == 5:
1349 # C.g:158:4: 'long'
1350 self.match(self.input, 38, self.FOLLOW_38_in_type_specifier386)
1351 if self.failed:
1352 return
1353
1354
1355 elif alt13 == 6:
1356 # C.g:159:4: 'float'
1357 self.match(self.input, 39, self.FOLLOW_39_in_type_specifier391)
1358 if self.failed:
1359 return
1360
1361
1362 elif alt13 == 7:
1363 # C.g:160:4: 'double'
1364 self.match(self.input, 40, self.FOLLOW_40_in_type_specifier396)
1365 if self.failed:
1366 return
1367
1368
1369 elif alt13 == 8:
1370 # C.g:161:4: 'signed'
1371 self.match(self.input, 41, self.FOLLOW_41_in_type_specifier401)
1372 if self.failed:
1373 return
1374
1375
1376 elif alt13 == 9:
1377 # C.g:162:4: 'unsigned'
1378 self.match(self.input, 42, self.FOLLOW_42_in_type_specifier406)
1379 if self.failed:
1380 return
1381
1382
1383 elif alt13 == 10:
1384 # C.g:163:4: s= struct_or_union_specifier
1385 self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier413)
1386 s = self.struct_or_union_specifier()
1387 self.following.pop()
1388 if self.failed:
1389 return
1390 if self.backtracking == 0:
1391
1392 if s.stop != None:
1393 self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start,s.stop))
1394
1395
1396
1397
1398 elif alt13 == 11:
1399 # C.g:168:4: e= enum_specifier
1400 self.following.append(self.FOLLOW_enum_specifier_in_type_specifier423)
1401 e = self.enum_specifier()
1402 self.following.pop()
1403 if self.failed:
1404 return
1405 if self.backtracking == 0:
1406
1407 if e.stop != None:
1408 self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
1409
1410
1411
1412
1413 elif alt13 == 12:
1414 # C.g:173:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
1415 self.following.append(self.FOLLOW_type_id_in_type_specifier441)
1416 self.type_id()
1417 self.following.pop()
1418 if self.failed:
1419 return
1420
1421
1422
1423 except RecognitionException, re:
1424 self.reportError(re)
1425 self.recover(self.input, re)
1426 finally:
1427 if self.backtracking > 0:
1428 self.memoize(self.input, 9, type_specifier_StartIndex)
1429
1430 pass
1431
1432 return
1433
1434 # $ANTLR end type_specifier
1435
1436
1437 # $ANTLR start type_id
1438 # C.g:176:1: type_id : IDENTIFIER ;
1439 def type_id(self, ):
1440
1441 type_id_StartIndex = self.input.index()
1442 try:
1443 try:
1444 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
1445 return
1446
1447 # C.g:177:5: ( IDENTIFIER )
1448 # C.g:177:9: IDENTIFIER
1449 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id457)
1450 if self.failed:
1451 return
1452
1453
1454
1455
1456 except RecognitionException, re:
1457 self.reportError(re)
1458 self.recover(self.input, re)
1459 finally:
1460 if self.backtracking > 0:
1461 self.memoize(self.input, 10, type_id_StartIndex)
1462
1463 pass
1464
1465 return
1466
1467 # $ANTLR end type_id
1468
1469 class struct_or_union_specifier_return(object):
1470 def __init__(self):
1471 self.start = None
1472 self.stop = None
1473
1474
1475
1476 # $ANTLR start struct_or_union_specifier
1477 # C.g:181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
1478 def struct_or_union_specifier(self, ):
1479
1480 retval = self.struct_or_union_specifier_return()
1481 retval.start = self.input.LT(1)
1482 struct_or_union_specifier_StartIndex = self.input.index()
1483 try:
1484 try:
1485 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
1486 return retval
1487
1488 # C.g:183:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
1489 alt15 = 2
1490 LA15_0 = self.input.LA(1)
1491
1492 if ((45 <= LA15_0 <= 46)) :
1493 LA15_1 = self.input.LA(2)
1494
1495 if (LA15_1 == IDENTIFIER) :
1496 LA15_2 = self.input.LA(3)
1497
1498 if (LA15_2 == 43) :
1499 alt15 = 1
1500 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 <= 63) or LA15_2 == 65) :
1501 alt15 = 2
1502 else:
1503 if self.backtracking > 0:
1504 self.failed = True
1505 return retval
1506
1507 nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input)
1508
1509 raise nvae
1510
1511 elif (LA15_1 == 43) :
1512 alt15 = 1
1513 else:
1514 if self.backtracking > 0:
1515 self.failed = True
1516 return retval
1517
1518 nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input)
1519
1520 raise nvae
1521
1522 else:
1523 if self.backtracking > 0:
1524 self.failed = True
1525 return retval
1526
1527 nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input)
1528
1529 raise nvae
1530
1531 if alt15 == 1:
1532 # C.g:183:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
1533 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier484)
1534 self.struct_or_union()
1535 self.following.pop()
1536 if self.failed:
1537 return retval
1538 # C.g:183:20: ( IDENTIFIER )?
1539 alt14 = 2
1540 LA14_0 = self.input.LA(1)
1541
1542 if (LA14_0 == IDENTIFIER) :
1543 alt14 = 1
1544 if alt14 == 1:
1545 # C.g:0:0: IDENTIFIER
1546 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier486)
1547 if self.failed:
1548 return retval
1549
1550
1551
1552 self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier489)
1553 if self.failed:
1554 return retval
1555 self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier491)
1556 self.struct_declaration_list()
1557 self.following.pop()
1558 if self.failed:
1559 return retval
1560 self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier493)
1561 if self.failed:
1562 return retval
1563
1564
1565 elif alt15 == 2:
1566 # C.g:184:4: struct_or_union IDENTIFIER
1567 self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier498)
1568 self.struct_or_union()
1569 self.following.pop()
1570 if self.failed:
1571 return retval
1572 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier500)
1573 if self.failed:
1574 return retval
1575
1576
1577 retval.stop = self.input.LT(-1)
1578
1579
1580 except RecognitionException, re:
1581 self.reportError(re)
1582 self.recover(self.input, re)
1583 finally:
1584 if self.backtracking > 0:
1585 self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
1586
1587 pass
1588
1589 return retval
1590
1591 # $ANTLR end struct_or_union_specifier
1592
1593
1594 # $ANTLR start struct_or_union
1595 # C.g:187:1: struct_or_union : ( 'struct' | 'union' );
1596 def struct_or_union(self, ):
1597
1598 struct_or_union_StartIndex = self.input.index()
1599 try:
1600 try:
1601 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
1602 return
1603
1604 # C.g:188:2: ( 'struct' | 'union' )
1605 # C.g:
1606 if (45 <= self.input.LA(1) <= 46):
1607 self.input.consume();
1608 self.errorRecovery = False
1609 self.failed = False
1610
1611 else:
1612 if self.backtracking > 0:
1613 self.failed = True
1614 return
1615
1616 mse = MismatchedSetException(None, self.input)
1617 self.recoverFromMismatchedSet(
1618 self.input, mse, self.FOLLOW_set_in_struct_or_union0
1619 )
1620 raise mse
1621
1622
1623
1624
1625
1626
1627 except RecognitionException, re:
1628 self.reportError(re)
1629 self.recover(self.input, re)
1630 finally:
1631 if self.backtracking > 0:
1632 self.memoize(self.input, 12, struct_or_union_StartIndex)
1633
1634 pass
1635
1636 return
1637
1638 # $ANTLR end struct_or_union
1639
1640
1641 # $ANTLR start struct_declaration_list
1642 # C.g:192:1: struct_declaration_list : ( struct_declaration )+ ;
1643 def struct_declaration_list(self, ):
1644
1645 struct_declaration_list_StartIndex = self.input.index()
1646 try:
1647 try:
1648 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
1649 return
1650
1651 # C.g:193:2: ( ( struct_declaration )+ )
1652 # C.g:193:4: ( struct_declaration )+
1653 # C.g:193:4: ( struct_declaration )+
1654 cnt16 = 0
1655 while True: #loop16
1656 alt16 = 2
1657 LA16_0 = self.input.LA(1)
1658
1659 if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 60)) :
1660 alt16 = 1
1661
1662
1663 if alt16 == 1:
1664 # C.g:0:0: struct_declaration
1665 self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list527)
1666 self.struct_declaration()
1667 self.following.pop()
1668 if self.failed:
1669 return
1670
1671
1672 else:
1673 if cnt16 >= 1:
1674 break #loop16
1675
1676 if self.backtracking > 0:
1677 self.failed = True
1678 return
1679
1680 eee = EarlyExitException(16, self.input)
1681 raise eee
1682
1683 cnt16 += 1
1684
1685
1686
1687
1688
1689
1690 except RecognitionException, re:
1691 self.reportError(re)
1692 self.recover(self.input, re)
1693 finally:
1694 if self.backtracking > 0:
1695 self.memoize(self.input, 13, struct_declaration_list_StartIndex)
1696
1697 pass
1698
1699 return
1700
1701 # $ANTLR end struct_declaration_list
1702
1703
1704 # $ANTLR start struct_declaration
1705 # C.g:196:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
1706 def struct_declaration(self, ):
1707
1708 struct_declaration_StartIndex = self.input.index()
1709 try:
1710 try:
1711 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
1712 return
1713
1714 # C.g:197:2: ( specifier_qualifier_list struct_declarator_list ';' )
1715 # C.g:197:4: specifier_qualifier_list struct_declarator_list ';'
1716 self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration539)
1717 self.specifier_qualifier_list()
1718 self.following.pop()
1719 if self.failed:
1720 return
1721 self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration541)
1722 self.struct_declarator_list()
1723 self.following.pop()
1724 if self.failed:
1725 return
1726 self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration543)
1727 if self.failed:
1728 return
1729
1730
1731
1732
1733 except RecognitionException, re:
1734 self.reportError(re)
1735 self.recover(self.input, re)
1736 finally:
1737 if self.backtracking > 0:
1738 self.memoize(self.input, 14, struct_declaration_StartIndex)
1739
1740 pass
1741
1742 return
1743
1744 # $ANTLR end struct_declaration
1745
1746
1747 # $ANTLR start specifier_qualifier_list
1748 # C.g:200:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
1749 def specifier_qualifier_list(self, ):
1750
1751 specifier_qualifier_list_StartIndex = self.input.index()
1752 try:
1753 try:
1754 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
1755 return
1756
1757 # C.g:201:2: ( ( type_qualifier | type_specifier )+ )
1758 # C.g:201:4: ( type_qualifier | type_specifier )+
1759 # C.g:201:4: ( type_qualifier | type_specifier )+
1760 cnt17 = 0
1761 while True: #loop17
1762 alt17 = 3
1763 LA17 = self.input.LA(1)
1764 if LA17 == 58:
1765 LA17_2 = self.input.LA(2)
1766
1767 if (self.synpred39()) :
1768 alt17 = 1
1769
1770
1771 elif LA17 == 59:
1772 LA17_3 = self.input.LA(2)
1773
1774 if (self.synpred39()) :
1775 alt17 = 1
1776
1777
1778 elif LA17 == 60:
1779 LA17_4 = self.input.LA(2)
1780
1781 if (self.synpred39()) :
1782 alt17 = 1
1783
1784
1785 elif LA17 == IDENTIFIER:
1786 LA17 = self.input.LA(2)
1787 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 == 62 or LA17 == 65:
1788 alt17 = 2
1789 elif LA17 == 61:
1790 LA17_94 = self.input.LA(3)
1791
1792 if (self.synpred40()) :
1793 alt17 = 2
1794
1795
1796 elif LA17 == 47:
1797 LA17_95 = self.input.LA(3)
1798
1799 if (self.synpred40()) :
1800 alt17 = 2
1801
1802
1803 elif LA17 == 63:
1804 LA17_96 = self.input.LA(3)
1805
1806 if (self.synpred40()) :
1807 alt17 = 2
1808
1809
1810
1811 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:
1812 alt17 = 1
1813 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:
1814 alt17 = 2
1815
1816 if alt17 == 1:
1817 # C.g:201:6: type_qualifier
1818 self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list556)
1819 self.type_qualifier()
1820 self.following.pop()
1821 if self.failed:
1822 return
1823
1824
1825 elif alt17 == 2:
1826 # C.g:201:23: type_specifier
1827 self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list560)
1828 self.type_specifier()
1829 self.following.pop()
1830 if self.failed:
1831 return
1832
1833
1834 else:
1835 if cnt17 >= 1:
1836 break #loop17
1837
1838 if self.backtracking > 0:
1839 self.failed = True
1840 return
1841
1842 eee = EarlyExitException(17, self.input)
1843 raise eee
1844
1845 cnt17 += 1
1846
1847
1848
1849
1850
1851
1852 except RecognitionException, re:
1853 self.reportError(re)
1854 self.recover(self.input, re)
1855 finally:
1856 if self.backtracking > 0:
1857 self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
1858
1859 pass
1860
1861 return
1862
1863 # $ANTLR end specifier_qualifier_list
1864
1865
1866 # $ANTLR start struct_declarator_list
1867 # C.g:204:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
1868 def struct_declarator_list(self, ):
1869
1870 struct_declarator_list_StartIndex = self.input.index()
1871 try:
1872 try:
1873 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
1874 return
1875
1876 # C.g:205:2: ( struct_declarator ( ',' struct_declarator )* )
1877 # C.g:205:4: struct_declarator ( ',' struct_declarator )*
1878 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list574)
1879 self.struct_declarator()
1880 self.following.pop()
1881 if self.failed:
1882 return
1883 # C.g:205:22: ( ',' struct_declarator )*
1884 while True: #loop18
1885 alt18 = 2
1886 LA18_0 = self.input.LA(1)
1887
1888 if (LA18_0 == 27) :
1889 alt18 = 1
1890
1891
1892 if alt18 == 1:
1893 # C.g:205:23: ',' struct_declarator
1894 self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list577)
1895 if self.failed:
1896 return
1897 self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list579)
1898 self.struct_declarator()
1899 self.following.pop()
1900 if self.failed:
1901 return
1902
1903
1904 else:
1905 break #loop18
1906
1907
1908
1909
1910
1911
1912 except RecognitionException, re:
1913 self.reportError(re)
1914 self.recover(self.input, re)
1915 finally:
1916 if self.backtracking > 0:
1917 self.memoize(self.input, 16, struct_declarator_list_StartIndex)
1918
1919 pass
1920
1921 return
1922
1923 # $ANTLR end struct_declarator_list
1924
1925
1926 # $ANTLR start struct_declarator
1927 # C.g:208:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
1928 def struct_declarator(self, ):
1929
1930 struct_declarator_StartIndex = self.input.index()
1931 try:
1932 try:
1933 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
1934 return
1935
1936 # C.g:209:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
1937 alt20 = 2
1938 LA20_0 = self.input.LA(1)
1939
1940 if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 61) or LA20_0 == 65) :
1941 alt20 = 1
1942 elif (LA20_0 == 47) :
1943 alt20 = 2
1944 else:
1945 if self.backtracking > 0:
1946 self.failed = True
1947 return
1948
1949 nvae = NoViableAltException("208:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
1950
1951 raise nvae
1952
1953 if alt20 == 1:
1954 # C.g:209:4: declarator ( ':' constant_expression )?
1955 self.following.append(self.FOLLOW_declarator_in_struct_declarator592)
1956 self.declarator()
1957 self.following.pop()
1958 if self.failed:
1959 return
1960 # C.g:209:15: ( ':' constant_expression )?
1961 alt19 = 2
1962 LA19_0 = self.input.LA(1)
1963
1964 if (LA19_0 == 47) :
1965 alt19 = 1
1966 if alt19 == 1:
1967 # C.g:209:16: ':' constant_expression
1968 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator595)
1969 if self.failed:
1970 return
1971 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator597)
1972 self.constant_expression()
1973 self.following.pop()
1974 if self.failed:
1975 return
1976
1977
1978
1979
1980
1981 elif alt20 == 2:
1982 # C.g:210:4: ':' constant_expression
1983 self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator604)
1984 if self.failed:
1985 return
1986 self.following.append(self.FOLLOW_constant_expression_in_struct_declarator606)
1987 self.constant_expression()
1988 self.following.pop()
1989 if self.failed:
1990 return
1991
1992
1993
1994 except RecognitionException, re:
1995 self.reportError(re)
1996 self.recover(self.input, re)
1997 finally:
1998 if self.backtracking > 0:
1999 self.memoize(self.input, 17, struct_declarator_StartIndex)
2000
2001 pass
2002
2003 return
2004
2005 # $ANTLR end struct_declarator
2006
2007 class enum_specifier_return(object):
2008 def __init__(self):
2009 self.start = None
2010 self.stop = None
2011
2012
2013
2014 # $ANTLR start enum_specifier
2015 # C.g:213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
2016 def enum_specifier(self, ):
2017
2018 retval = self.enum_specifier_return()
2019 retval.start = self.input.LT(1)
2020 enum_specifier_StartIndex = self.input.index()
2021 try:
2022 try:
2023 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
2024 return retval
2025
2026 # C.g:215:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
2027 alt23 = 3
2028 LA23_0 = self.input.LA(1)
2029
2030 if (LA23_0 == 48) :
2031 LA23_1 = self.input.LA(2)
2032
2033 if (LA23_1 == IDENTIFIER) :
2034 LA23_2 = self.input.LA(3)
2035
2036 if (LA23_2 == 43) :
2037 alt23 = 2
2038 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 <= 63) or LA23_2 == 65) :
2039 alt23 = 3
2040 else:
2041 if self.backtracking > 0:
2042 self.failed = True
2043 return retval
2044
2045 nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
2046
2047 raise nvae
2048
2049 elif (LA23_1 == 43) :
2050 alt23 = 1
2051 else:
2052 if self.backtracking > 0:
2053 self.failed = True
2054 return retval
2055
2056 nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
2057
2058 raise nvae
2059
2060 else:
2061 if self.backtracking > 0:
2062 self.failed = True
2063 return retval
2064
2065 nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input)
2066
2067 raise nvae
2068
2069 if alt23 == 1:
2070 # C.g:215:4: 'enum' '{' enumerator_list ( ',' )? '}'
2071 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier624)
2072 if self.failed:
2073 return retval
2074 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier626)
2075 if self.failed:
2076 return retval
2077 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier628)
2078 self.enumerator_list()
2079 self.following.pop()
2080 if self.failed:
2081 return retval
2082 # C.g:215:31: ( ',' )?
2083 alt21 = 2
2084 LA21_0 = self.input.LA(1)
2085
2086 if (LA21_0 == 27) :
2087 alt21 = 1
2088 if alt21 == 1:
2089 # C.g:0:0: ','
2090 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier630)
2091 if self.failed:
2092 return retval
2093
2094
2095
2096 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier633)
2097 if self.failed:
2098 return retval
2099
2100
2101 elif alt23 == 2:
2102 # C.g:216:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
2103 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier638)
2104 if self.failed:
2105 return retval
2106 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier640)
2107 if self.failed:
2108 return retval
2109 self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier642)
2110 if self.failed:
2111 return retval
2112 self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier644)
2113 self.enumerator_list()
2114 self.following.pop()
2115 if self.failed:
2116 return retval
2117 # C.g:216:42: ( ',' )?
2118 alt22 = 2
2119 LA22_0 = self.input.LA(1)
2120
2121 if (LA22_0 == 27) :
2122 alt22 = 1
2123 if alt22 == 1:
2124 # C.g:0:0: ','
2125 self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier646)
2126 if self.failed:
2127 return retval
2128
2129
2130
2131 self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier649)
2132 if self.failed:
2133 return retval
2134
2135
2136 elif alt23 == 3:
2137 # C.g:217:4: 'enum' IDENTIFIER
2138 self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier654)
2139 if self.failed:
2140 return retval
2141 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier656)
2142 if self.failed:
2143 return retval
2144
2145
2146 retval.stop = self.input.LT(-1)
2147
2148
2149 except RecognitionException, re:
2150 self.reportError(re)
2151 self.recover(self.input, re)
2152 finally:
2153 if self.backtracking > 0:
2154 self.memoize(self.input, 18, enum_specifier_StartIndex)
2155
2156 pass
2157
2158 return retval
2159
2160 # $ANTLR end enum_specifier
2161
2162
2163 # $ANTLR start enumerator_list
2164 # C.g:220:1: enumerator_list : enumerator ( ',' enumerator )* ;
2165 def enumerator_list(self, ):
2166
2167 enumerator_list_StartIndex = self.input.index()
2168 try:
2169 try:
2170 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
2171 return
2172
2173 # C.g:221:2: ( enumerator ( ',' enumerator )* )
2174 # C.g:221:4: enumerator ( ',' enumerator )*
2175 self.following.append(self.FOLLOW_enumerator_in_enumerator_list667)
2176 self.enumerator()
2177 self.following.pop()
2178 if self.failed:
2179 return
2180 # C.g:221:15: ( ',' enumerator )*
2181 while True: #loop24
2182 alt24 = 2
2183 LA24_0 = self.input.LA(1)
2184
2185 if (LA24_0 == 27) :
2186 LA24_1 = self.input.LA(2)
2187
2188 if (LA24_1 == IDENTIFIER) :
2189 alt24 = 1
2190
2191
2192
2193
2194 if alt24 == 1:
2195 # C.g:221:16: ',' enumerator
2196 self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list670)
2197 if self.failed:
2198 return
2199 self.following.append(self.FOLLOW_enumerator_in_enumerator_list672)
2200 self.enumerator()
2201 self.following.pop()
2202 if self.failed:
2203 return
2204
2205
2206 else:
2207 break #loop24
2208
2209
2210
2211
2212
2213
2214 except RecognitionException, re:
2215 self.reportError(re)
2216 self.recover(self.input, re)
2217 finally:
2218 if self.backtracking > 0:
2219 self.memoize(self.input, 19, enumerator_list_StartIndex)
2220
2221 pass
2222
2223 return
2224
2225 # $ANTLR end enumerator_list
2226
2227
2228 # $ANTLR start enumerator
2229 # C.g:224:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
2230 def enumerator(self, ):
2231
2232 enumerator_StartIndex = self.input.index()
2233 try:
2234 try:
2235 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
2236 return
2237
2238 # C.g:225:2: ( IDENTIFIER ( '=' constant_expression )? )
2239 # C.g:225:4: IDENTIFIER ( '=' constant_expression )?
2240 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator685)
2241 if self.failed:
2242 return
2243 # C.g:225:15: ( '=' constant_expression )?
2244 alt25 = 2
2245 LA25_0 = self.input.LA(1)
2246
2247 if (LA25_0 == 28) :
2248 alt25 = 1
2249 if alt25 == 1:
2250 # C.g:225:16: '=' constant_expression
2251 self.match(self.input, 28, self.FOLLOW_28_in_enumerator688)
2252 if self.failed:
2253 return
2254 self.following.append(self.FOLLOW_constant_expression_in_enumerator690)
2255 self.constant_expression()
2256 self.following.pop()
2257 if self.failed:
2258 return
2259
2260
2261
2262
2263
2264
2265
2266 except RecognitionException, re:
2267 self.reportError(re)
2268 self.recover(self.input, re)
2269 finally:
2270 if self.backtracking > 0:
2271 self.memoize(self.input, 20, enumerator_StartIndex)
2272
2273 pass
2274
2275 return
2276
2277 # $ANTLR end enumerator
2278
2279
2280 # $ANTLR start type_qualifier
2281 # C.g:228:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' );
2282 def type_qualifier(self, ):
2283
2284 type_qualifier_StartIndex = self.input.index()
2285 try:
2286 try:
2287 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
2288 return
2289
2290 # C.g:229:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' )
2291 # C.g:
2292 if (49 <= self.input.LA(1) <= 60):
2293 self.input.consume();
2294 self.errorRecovery = False
2295 self.failed = False
2296
2297 else:
2298 if self.backtracking > 0:
2299 self.failed = True
2300 return
2301
2302 mse = MismatchedSetException(None, self.input)
2303 self.recoverFromMismatchedSet(
2304 self.input, mse, self.FOLLOW_set_in_type_qualifier0
2305 )
2306 raise mse
2307
2308
2309
2310
2311
2312
2313 except RecognitionException, re:
2314 self.reportError(re)
2315 self.recover(self.input, re)
2316 finally:
2317 if self.backtracking > 0:
2318 self.memoize(self.input, 21, type_qualifier_StartIndex)
2319
2320 pass
2321
2322 return
2323
2324 # $ANTLR end type_qualifier
2325
2326 class declarator_return(object):
2327 def __init__(self):
2328 self.start = None
2329 self.stop = None
2330
2331
2332
2333 # $ANTLR start declarator
2334 # C.g:243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
2335 def declarator(self, ):
2336
2337 retval = self.declarator_return()
2338 retval.start = self.input.LT(1)
2339 declarator_StartIndex = self.input.index()
2340 try:
2341 try:
2342 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
2343 return retval
2344
2345 # C.g:244:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
2346 alt30 = 2
2347 LA30_0 = self.input.LA(1)
2348
2349 if (LA30_0 == 65) :
2350 LA30_1 = self.input.LA(2)
2351
2352 if (self.synpred65()) :
2353 alt30 = 1
2354 elif (True) :
2355 alt30 = 2
2356 else:
2357 if self.backtracking > 0:
2358 self.failed = True
2359 return retval
2360
2361 nvae = NoViableAltException("243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input)
2362
2363 raise nvae
2364
2365 elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 61)) :
2366 alt30 = 1
2367 else:
2368 if self.backtracking > 0:
2369 self.failed = True
2370 return retval
2371
2372 nvae = NoViableAltException("243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
2373
2374 raise nvae
2375
2376 if alt30 == 1:
2377 # C.g:244:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
2378 # C.g:244:4: ( pointer )?
2379 alt26 = 2
2380 LA26_0 = self.input.LA(1)
2381
2382 if (LA26_0 == 65) :
2383 alt26 = 1
2384 if alt26 == 1:
2385 # C.g:0:0: pointer
2386 self.following.append(self.FOLLOW_pointer_in_declarator769)
2387 self.pointer()
2388 self.following.pop()
2389 if self.failed:
2390 return retval
2391
2392
2393
2394 # C.g:244:13: ( 'EFIAPI' )?
2395 alt27 = 2
2396 LA27_0 = self.input.LA(1)
2397
2398 if (LA27_0 == 58) :
2399 alt27 = 1
2400 if alt27 == 1:
2401 # C.g:244:14: 'EFIAPI'
2402 self.match(self.input, 58, self.FOLLOW_58_in_declarator773)
2403 if self.failed:
2404 return retval
2405
2406
2407
2408 # C.g:244:25: ( 'EFI_BOOTSERVICE' )?
2409 alt28 = 2
2410 LA28_0 = self.input.LA(1)
2411
2412 if (LA28_0 == 59) :
2413 alt28 = 1
2414 if alt28 == 1:
2415 # C.g:244:26: 'EFI_BOOTSERVICE'
2416 self.match(self.input, 59, self.FOLLOW_59_in_declarator778)
2417 if self.failed:
2418 return retval
2419
2420
2421
2422 # C.g:244:46: ( 'EFI_RUNTIMESERVICE' )?
2423 alt29 = 2
2424 LA29_0 = self.input.LA(1)
2425
2426 if (LA29_0 == 60) :
2427 alt29 = 1
2428 if alt29 == 1:
2429 # C.g:244:47: 'EFI_RUNTIMESERVICE'
2430 self.match(self.input, 60, self.FOLLOW_60_in_declarator783)
2431 if self.failed:
2432 return retval
2433
2434
2435
2436 self.following.append(self.FOLLOW_direct_declarator_in_declarator787)
2437 self.direct_declarator()
2438 self.following.pop()
2439 if self.failed:
2440 return retval
2441
2442
2443 elif alt30 == 2:
2444 # C.g:246:4: pointer
2445 self.following.append(self.FOLLOW_pointer_in_declarator793)
2446 self.pointer()
2447 self.following.pop()
2448 if self.failed:
2449 return retval
2450
2451
2452 retval.stop = self.input.LT(-1)
2453
2454
2455 except RecognitionException, re:
2456 self.reportError(re)
2457 self.recover(self.input, re)
2458 finally:
2459 if self.backtracking > 0:
2460 self.memoize(self.input, 22, declarator_StartIndex)
2461
2462 pass
2463
2464 return retval
2465
2466 # $ANTLR end declarator
2467
2468
2469 # $ANTLR start direct_declarator
2470 # C.g:249:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
2471 def direct_declarator(self, ):
2472
2473 direct_declarator_StartIndex = self.input.index()
2474 try:
2475 try:
2476 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
2477 return
2478
2479 # C.g:250:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
2480 alt34 = 2
2481 LA34_0 = self.input.LA(1)
2482
2483 if (LA34_0 == IDENTIFIER) :
2484 alt34 = 1
2485 elif (LA34_0 == 61) :
2486 alt34 = 2
2487 else:
2488 if self.backtracking > 0:
2489 self.failed = True
2490 return
2491
2492 nvae = NoViableAltException("249:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
2493
2494 raise nvae
2495
2496 if alt34 == 1:
2497 # C.g:250:4: IDENTIFIER ( declarator_suffix )*
2498 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator804)
2499 if self.failed:
2500 return
2501 # C.g:250:15: ( declarator_suffix )*
2502 while True: #loop31
2503 alt31 = 2
2504 LA31_0 = self.input.LA(1)
2505
2506 if (LA31_0 == 61) :
2507 LA31 = self.input.LA(2)
2508 if LA31 == 62:
2509 LA31_30 = self.input.LA(3)
2510
2511 if (self.synpred66()) :
2512 alt31 = 1
2513
2514
2515 elif LA31 == 58:
2516 LA31_31 = self.input.LA(3)
2517
2518 if (self.synpred66()) :
2519 alt31 = 1
2520
2521
2522 elif LA31 == 65:
2523 LA31_32 = self.input.LA(3)
2524
2525 if (self.synpred66()) :
2526 alt31 = 1
2527
2528
2529 elif LA31 == 59:
2530 LA31_33 = self.input.LA(3)
2531
2532 if (self.synpred66()) :
2533 alt31 = 1
2534
2535
2536 elif LA31 == 60:
2537 LA31_34 = self.input.LA(3)
2538
2539 if (self.synpred66()) :
2540 alt31 = 1
2541
2542
2543 elif LA31 == IDENTIFIER:
2544 LA31_35 = self.input.LA(3)
2545
2546 if (self.synpred66()) :
2547 alt31 = 1
2548
2549
2550 elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33:
2551 LA31_37 = self.input.LA(3)
2552
2553 if (self.synpred66()) :
2554 alt31 = 1
2555
2556
2557 elif LA31 == 34:
2558 LA31_38 = self.input.LA(3)
2559
2560 if (self.synpred66()) :
2561 alt31 = 1
2562
2563
2564 elif LA31 == 35:
2565 LA31_39 = self.input.LA(3)
2566
2567 if (self.synpred66()) :
2568 alt31 = 1
2569
2570
2571 elif LA31 == 36:
2572 LA31_40 = self.input.LA(3)
2573
2574 if (self.synpred66()) :
2575 alt31 = 1
2576
2577
2578 elif LA31 == 37:
2579 LA31_41 = self.input.LA(3)
2580
2581 if (self.synpred66()) :
2582 alt31 = 1
2583
2584
2585 elif LA31 == 38:
2586 LA31_42 = self.input.LA(3)
2587
2588 if (self.synpred66()) :
2589 alt31 = 1
2590
2591
2592 elif LA31 == 39:
2593 LA31_43 = self.input.LA(3)
2594
2595 if (self.synpred66()) :
2596 alt31 = 1
2597
2598
2599 elif LA31 == 40:
2600 LA31_44 = self.input.LA(3)
2601
2602 if (self.synpred66()) :
2603 alt31 = 1
2604
2605
2606 elif LA31 == 41:
2607 LA31_45 = self.input.LA(3)
2608
2609 if (self.synpred66()) :
2610 alt31 = 1
2611
2612
2613 elif LA31 == 42:
2614 LA31_46 = self.input.LA(3)
2615
2616 if (self.synpred66()) :
2617 alt31 = 1
2618
2619
2620 elif LA31 == 45 or LA31 == 46:
2621 LA31_47 = self.input.LA(3)
2622
2623 if (self.synpred66()) :
2624 alt31 = 1
2625
2626
2627 elif LA31 == 48:
2628 LA31_48 = self.input.LA(3)
2629
2630 if (self.synpred66()) :
2631 alt31 = 1
2632
2633
2634 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:
2635 LA31_49 = self.input.LA(3)
2636
2637 if (self.synpred66()) :
2638 alt31 = 1
2639
2640
2641
2642 elif (LA31_0 == 63) :
2643 LA31 = self.input.LA(2)
2644 if LA31 == 64:
2645 LA31_51 = self.input.LA(3)
2646
2647 if (self.synpred66()) :
2648 alt31 = 1
2649
2650
2651 elif LA31 == 61:
2652 LA31_52 = self.input.LA(3)
2653
2654 if (self.synpred66()) :
2655 alt31 = 1
2656
2657
2658 elif LA31 == IDENTIFIER:
2659 LA31_53 = self.input.LA(3)
2660
2661 if (self.synpred66()) :
2662 alt31 = 1
2663
2664
2665 elif LA31 == HEX_LITERAL:
2666 LA31_54 = self.input.LA(3)
2667
2668 if (self.synpred66()) :
2669 alt31 = 1
2670
2671
2672 elif LA31 == OCTAL_LITERAL:
2673 LA31_55 = self.input.LA(3)
2674
2675 if (self.synpred66()) :
2676 alt31 = 1
2677
2678
2679 elif LA31 == DECIMAL_LITERAL:
2680 LA31_56 = self.input.LA(3)
2681
2682 if (self.synpred66()) :
2683 alt31 = 1
2684
2685
2686 elif LA31 == CHARACTER_LITERAL:
2687 LA31_57 = self.input.LA(3)
2688
2689 if (self.synpred66()) :
2690 alt31 = 1
2691
2692
2693 elif LA31 == STRING_LITERAL:
2694 LA31_58 = self.input.LA(3)
2695
2696 if (self.synpred66()) :
2697 alt31 = 1
2698
2699
2700 elif LA31 == FLOATING_POINT_LITERAL:
2701 LA31_59 = self.input.LA(3)
2702
2703 if (self.synpred66()) :
2704 alt31 = 1
2705
2706
2707 elif LA31 == 71:
2708 LA31_60 = self.input.LA(3)
2709
2710 if (self.synpred66()) :
2711 alt31 = 1
2712
2713
2714 elif LA31 == 72:
2715 LA31_61 = self.input.LA(3)
2716
2717 if (self.synpred66()) :
2718 alt31 = 1
2719
2720
2721 elif LA31 == 65 or LA31 == 67 or LA31 == 68 or LA31 == 76 or LA31 == 77 or LA31 == 78:
2722 LA31_62 = self.input.LA(3)
2723
2724 if (self.synpred66()) :
2725 alt31 = 1
2726
2727
2728 elif LA31 == 73:
2729 LA31_63 = self.input.LA(3)
2730
2731 if (self.synpred66()) :
2732 alt31 = 1
2733
2734
2735
2736
2737
2738 if alt31 == 1:
2739 # C.g:0:0: declarator_suffix
2740 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator806)
2741 self.declarator_suffix()
2742 self.following.pop()
2743 if self.failed:
2744 return
2745
2746
2747 else:
2748 break #loop31
2749
2750
2751
2752
2753 elif alt34 == 2:
2754 # C.g:251:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
2755 self.match(self.input, 61, self.FOLLOW_61_in_direct_declarator812)
2756 if self.failed:
2757 return
2758 # C.g:251:8: ( 'EFIAPI' )?
2759 alt32 = 2
2760 LA32_0 = self.input.LA(1)
2761
2762 if (LA32_0 == 58) :
2763 LA32_1 = self.input.LA(2)
2764
2765 if (self.synpred68()) :
2766 alt32 = 1
2767 if alt32 == 1:
2768 # C.g:251:9: 'EFIAPI'
2769 self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator815)
2770 if self.failed:
2771 return
2772
2773
2774
2775 self.following.append(self.FOLLOW_declarator_in_direct_declarator819)
2776 self.declarator()
2777 self.following.pop()
2778 if self.failed:
2779 return
2780 self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator821)
2781 if self.failed:
2782 return
2783 # C.g:251:35: ( declarator_suffix )+
2784 cnt33 = 0
2785 while True: #loop33
2786 alt33 = 2
2787 LA33_0 = self.input.LA(1)
2788
2789 if (LA33_0 == 61) :
2790 LA33 = self.input.LA(2)
2791 if LA33 == 62:
2792 LA33_30 = self.input.LA(3)
2793
2794 if (self.synpred69()) :
2795 alt33 = 1
2796
2797
2798 elif LA33 == 58:
2799 LA33_31 = self.input.LA(3)
2800
2801 if (self.synpred69()) :
2802 alt33 = 1
2803
2804
2805 elif LA33 == 65:
2806 LA33_32 = self.input.LA(3)
2807
2808 if (self.synpred69()) :
2809 alt33 = 1
2810
2811
2812 elif LA33 == 59:
2813 LA33_33 = self.input.LA(3)
2814
2815 if (self.synpred69()) :
2816 alt33 = 1
2817
2818
2819 elif LA33 == 60:
2820 LA33_34 = self.input.LA(3)
2821
2822 if (self.synpred69()) :
2823 alt33 = 1
2824
2825
2826 elif LA33 == IDENTIFIER:
2827 LA33_35 = self.input.LA(3)
2828
2829 if (self.synpred69()) :
2830 alt33 = 1
2831
2832
2833 elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33:
2834 LA33_37 = self.input.LA(3)
2835
2836 if (self.synpred69()) :
2837 alt33 = 1
2838
2839
2840 elif LA33 == 34:
2841 LA33_38 = self.input.LA(3)
2842
2843 if (self.synpred69()) :
2844 alt33 = 1
2845
2846
2847 elif LA33 == 35:
2848 LA33_39 = self.input.LA(3)
2849
2850 if (self.synpred69()) :
2851 alt33 = 1
2852
2853
2854 elif LA33 == 36:
2855 LA33_40 = self.input.LA(3)
2856
2857 if (self.synpred69()) :
2858 alt33 = 1
2859
2860
2861 elif LA33 == 37:
2862 LA33_41 = self.input.LA(3)
2863
2864 if (self.synpred69()) :
2865 alt33 = 1
2866
2867
2868 elif LA33 == 38:
2869 LA33_42 = self.input.LA(3)
2870
2871 if (self.synpred69()) :
2872 alt33 = 1
2873
2874
2875 elif LA33 == 39:
2876 LA33_43 = self.input.LA(3)
2877
2878 if (self.synpred69()) :
2879 alt33 = 1
2880
2881
2882 elif LA33 == 40:
2883 LA33_44 = self.input.LA(3)
2884
2885 if (self.synpred69()) :
2886 alt33 = 1
2887
2888
2889 elif LA33 == 41:
2890 LA33_45 = self.input.LA(3)
2891
2892 if (self.synpred69()) :
2893 alt33 = 1
2894
2895
2896 elif LA33 == 42:
2897 LA33_46 = self.input.LA(3)
2898
2899 if (self.synpred69()) :
2900 alt33 = 1
2901
2902
2903 elif LA33 == 45 or LA33 == 46:
2904 LA33_47 = self.input.LA(3)
2905
2906 if (self.synpred69()) :
2907 alt33 = 1
2908
2909
2910 elif LA33 == 48:
2911 LA33_48 = self.input.LA(3)
2912
2913 if (self.synpred69()) :
2914 alt33 = 1
2915
2916
2917 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:
2918 LA33_49 = self.input.LA(3)
2919
2920 if (self.synpred69()) :
2921 alt33 = 1
2922
2923
2924
2925 elif (LA33_0 == 63) :
2926 LA33 = self.input.LA(2)
2927 if LA33 == 64:
2928 LA33_51 = self.input.LA(3)
2929
2930 if (self.synpred69()) :
2931 alt33 = 1
2932
2933
2934 elif LA33 == 61:
2935 LA33_52 = self.input.LA(3)
2936
2937 if (self.synpred69()) :
2938 alt33 = 1
2939
2940
2941 elif LA33 == IDENTIFIER:
2942 LA33_53 = self.input.LA(3)
2943
2944 if (self.synpred69()) :
2945 alt33 = 1
2946
2947
2948 elif LA33 == HEX_LITERAL:
2949 LA33_54 = self.input.LA(3)
2950
2951 if (self.synpred69()) :
2952 alt33 = 1
2953
2954
2955 elif LA33 == OCTAL_LITERAL:
2956 LA33_55 = self.input.LA(3)
2957
2958 if (self.synpred69()) :
2959 alt33 = 1
2960
2961
2962 elif LA33 == DECIMAL_LITERAL:
2963 LA33_56 = self.input.LA(3)
2964
2965 if (self.synpred69()) :
2966 alt33 = 1
2967
2968
2969 elif LA33 == CHARACTER_LITERAL:
2970 LA33_57 = self.input.LA(3)
2971
2972 if (self.synpred69()) :
2973 alt33 = 1
2974
2975
2976 elif LA33 == STRING_LITERAL:
2977 LA33_58 = self.input.LA(3)
2978
2979 if (self.synpred69()) :
2980 alt33 = 1
2981
2982
2983 elif LA33 == FLOATING_POINT_LITERAL:
2984 LA33_59 = self.input.LA(3)
2985
2986 if (self.synpred69()) :
2987 alt33 = 1
2988
2989
2990 elif LA33 == 71:
2991 LA33_60 = self.input.LA(3)
2992
2993 if (self.synpred69()) :
2994 alt33 = 1
2995
2996
2997 elif LA33 == 72:
2998 LA33_61 = self.input.LA(3)
2999
3000 if (self.synpred69()) :
3001 alt33 = 1
3002
3003
3004 elif LA33 == 65 or LA33 == 67 or LA33 == 68 or LA33 == 76 or LA33 == 77 or LA33 == 78:
3005 LA33_62 = self.input.LA(3)
3006
3007 if (self.synpred69()) :
3008 alt33 = 1
3009
3010
3011 elif LA33 == 73:
3012 LA33_63 = self.input.LA(3)
3013
3014 if (self.synpred69()) :
3015 alt33 = 1
3016
3017
3018
3019
3020
3021 if alt33 == 1:
3022 # C.g:0:0: declarator_suffix
3023 self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator823)
3024 self.declarator_suffix()
3025 self.following.pop()
3026 if self.failed:
3027 return
3028
3029
3030 else:
3031 if cnt33 >= 1:
3032 break #loop33
3033
3034 if self.backtracking > 0:
3035 self.failed = True
3036 return
3037
3038 eee = EarlyExitException(33, self.input)
3039 raise eee
3040
3041 cnt33 += 1
3042
3043
3044
3045
3046
3047 except RecognitionException, re:
3048 self.reportError(re)
3049 self.recover(self.input, re)
3050 finally:
3051 if self.backtracking > 0:
3052 self.memoize(self.input, 23, direct_declarator_StartIndex)
3053
3054 pass
3055
3056 return
3057
3058 # $ANTLR end direct_declarator
3059
3060
3061 # $ANTLR start declarator_suffix
3062 # C.g:254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
3063 def declarator_suffix(self, ):
3064
3065 declarator_suffix_StartIndex = self.input.index()
3066 try:
3067 try:
3068 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
3069 return
3070
3071 # C.g:255:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
3072 alt35 = 5
3073 LA35_0 = self.input.LA(1)
3074
3075 if (LA35_0 == 63) :
3076 LA35_1 = self.input.LA(2)
3077
3078 if (LA35_1 == 64) :
3079 alt35 = 2
3080 elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 61 or LA35_1 == 65 or (67 <= LA35_1 <= 68) or (71 <= LA35_1 <= 73) or (76 <= LA35_1 <= 78)) :
3081 alt35 = 1
3082 else:
3083 if self.backtracking > 0:
3084 self.failed = True
3085 return
3086
3087 nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
3088
3089 raise nvae
3090
3091 elif (LA35_0 == 61) :
3092 LA35 = self.input.LA(2)
3093 if LA35 == 62:
3094 alt35 = 5
3095 elif LA35 == IDENTIFIER:
3096 LA35_17 = self.input.LA(3)
3097
3098 if (self.synpred72()) :
3099 alt35 = 3
3100 elif (self.synpred73()) :
3101 alt35 = 4
3102 else:
3103 if self.backtracking > 0:
3104 self.failed = True
3105 return
3106
3107 nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 17, self.input)
3108
3109 raise nvae
3110
3111 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 == 65:
3112 alt35 = 3
3113 else:
3114 if self.backtracking > 0:
3115 self.failed = True
3116 return
3117
3118 nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
3119
3120 raise nvae
3121
3122 else:
3123 if self.backtracking > 0:
3124 self.failed = True
3125 return
3126
3127 nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
3128
3129 raise nvae
3130
3131 if alt35 == 1:
3132 # C.g:255:6: '[' constant_expression ']'
3133 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix837)
3134 if self.failed:
3135 return
3136 self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix839)
3137 self.constant_expression()
3138 self.following.pop()
3139 if self.failed:
3140 return
3141 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix841)
3142 if self.failed:
3143 return
3144
3145
3146 elif alt35 == 2:
3147 # C.g:256:9: '[' ']'
3148 self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix851)
3149 if self.failed:
3150 return
3151 self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix853)
3152 if self.failed:
3153 return
3154
3155
3156 elif alt35 == 3:
3157 # C.g:257:9: '(' parameter_type_list ')'
3158 self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix863)
3159 if self.failed:
3160 return
3161 self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix865)
3162 self.parameter_type_list()
3163 self.following.pop()
3164 if self.failed:
3165 return
3166 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix867)
3167 if self.failed:
3168 return
3169
3170
3171 elif alt35 == 4:
3172 # C.g:258:9: '(' identifier_list ')'
3173 self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix877)
3174 if self.failed:
3175 return
3176 self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix879)
3177 self.identifier_list()
3178 self.following.pop()
3179 if self.failed:
3180 return
3181 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix881)
3182 if self.failed:
3183 return
3184
3185
3186 elif alt35 == 5:
3187 # C.g:259:9: '(' ')'
3188 self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix891)
3189 if self.failed:
3190 return
3191 self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix893)
3192 if self.failed:
3193 return
3194
3195
3196
3197 except RecognitionException, re:
3198 self.reportError(re)
3199 self.recover(self.input, re)
3200 finally:
3201 if self.backtracking > 0:
3202 self.memoize(self.input, 24, declarator_suffix_StartIndex)
3203
3204 pass
3205
3206 return
3207
3208 # $ANTLR end declarator_suffix
3209
3210
3211 # $ANTLR start pointer
3212 # C.g:262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
3213 def pointer(self, ):
3214
3215 pointer_StartIndex = self.input.index()
3216 try:
3217 try:
3218 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
3219 return
3220
3221 # C.g:263:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
3222 alt38 = 3
3223 LA38_0 = self.input.LA(1)
3224
3225 if (LA38_0 == 65) :
3226 LA38 = self.input.LA(2)
3227 if LA38 == 58:
3228 LA38_2 = self.input.LA(3)
3229
3230 if (self.synpred76()) :
3231 alt38 = 1
3232 elif (True) :
3233 alt38 = 3
3234 else:
3235 if self.backtracking > 0:
3236 self.failed = True
3237 return
3238
3239 nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
3240
3241 raise nvae
3242
3243 elif LA38 == 59:
3244 LA38_3 = self.input.LA(3)
3245
3246 if (self.synpred76()) :
3247 alt38 = 1
3248 elif (True) :
3249 alt38 = 3
3250 else:
3251 if self.backtracking > 0:
3252 self.failed = True
3253 return
3254
3255 nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
3256
3257 raise nvae
3258
3259 elif LA38 == 60:
3260 LA38_4 = self.input.LA(3)
3261
3262 if (self.synpred76()) :
3263 alt38 = 1
3264 elif (True) :
3265 alt38 = 3
3266 else:
3267 if self.backtracking > 0:
3268 self.failed = True
3269 return
3270
3271 nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
3272
3273 raise nvae
3274
3275 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 == 61 or LA38 == 62 or LA38 == 63:
3276 alt38 = 3
3277 elif LA38 == 53:
3278 LA38_20 = self.input.LA(3)
3279
3280 if (self.synpred76()) :
3281 alt38 = 1
3282 elif (True) :
3283 alt38 = 3
3284 else:
3285 if self.backtracking > 0:
3286 self.failed = True
3287 return
3288
3289 nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 20, self.input)
3290
3291 raise nvae
3292
3293 elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57:
3294 LA38_28 = self.input.LA(3)
3295
3296 if (self.synpred76()) :
3297 alt38 = 1
3298 elif (True) :
3299 alt38 = 3
3300 else:
3301 if self.backtracking > 0:
3302 self.failed = True
3303 return
3304
3305 nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 28, self.input)
3306
3307 raise nvae
3308
3309 elif LA38 == 65:
3310 LA38_29 = self.input.LA(3)
3311
3312 if (self.synpred77()) :
3313 alt38 = 2
3314 elif (True) :
3315 alt38 = 3
3316 else:
3317 if self.backtracking > 0:
3318 self.failed = True
3319 return
3320
3321 nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
3322
3323 raise nvae
3324
3325 else:
3326 if self.backtracking > 0:
3327 self.failed = True
3328 return
3329
3330 nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
3331
3332 raise nvae
3333
3334 else:
3335 if self.backtracking > 0:
3336 self.failed = True
3337 return
3338
3339 nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
3340
3341 raise nvae
3342
3343 if alt38 == 1:
3344 # C.g:263:4: '*' ( type_qualifier )+ ( pointer )?
3345 self.match(self.input, 65, self.FOLLOW_65_in_pointer904)
3346 if self.failed:
3347 return
3348 # C.g:263:8: ( type_qualifier )+
3349 cnt36 = 0
3350 while True: #loop36
3351 alt36 = 2
3352 LA36 = self.input.LA(1)
3353 if LA36 == 58:
3354 LA36_2 = self.input.LA(2)
3355
3356 if (self.synpred74()) :
3357 alt36 = 1
3358
3359
3360 elif LA36 == 59:
3361 LA36_3 = self.input.LA(2)
3362
3363 if (self.synpred74()) :
3364 alt36 = 1
3365
3366
3367 elif LA36 == 60:
3368 LA36_4 = self.input.LA(2)
3369
3370 if (self.synpred74()) :
3371 alt36 = 1
3372
3373
3374 elif LA36 == 53:
3375 LA36_20 = self.input.LA(2)
3376
3377 if (self.synpred74()) :
3378 alt36 = 1
3379
3380
3381 elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57:
3382 LA36_28 = self.input.LA(2)
3383
3384 if (self.synpred74()) :
3385 alt36 = 1
3386
3387
3388
3389 if alt36 == 1:
3390 # C.g:0:0: type_qualifier
3391 self.following.append(self.FOLLOW_type_qualifier_in_pointer906)
3392 self.type_qualifier()
3393 self.following.pop()
3394 if self.failed:
3395 return
3396
3397
3398 else:
3399 if cnt36 >= 1:
3400 break #loop36
3401
3402 if self.backtracking > 0:
3403 self.failed = True
3404 return
3405
3406 eee = EarlyExitException(36, self.input)
3407 raise eee
3408
3409 cnt36 += 1
3410
3411
3412 # C.g:263:24: ( pointer )?
3413 alt37 = 2
3414 LA37_0 = self.input.LA(1)
3415
3416 if (LA37_0 == 65) :
3417 LA37_1 = self.input.LA(2)
3418
3419 if (self.synpred75()) :
3420 alt37 = 1
3421 if alt37 == 1:
3422 # C.g:0:0: pointer
3423 self.following.append(self.FOLLOW_pointer_in_pointer909)
3424 self.pointer()
3425 self.following.pop()
3426 if self.failed:
3427 return
3428
3429
3430
3431
3432
3433 elif alt38 == 2:
3434 # C.g:264:4: '*' pointer
3435 self.match(self.input, 65, self.FOLLOW_65_in_pointer915)
3436 if self.failed:
3437 return
3438 self.following.append(self.FOLLOW_pointer_in_pointer917)
3439 self.pointer()
3440 self.following.pop()
3441 if self.failed:
3442 return
3443
3444
3445 elif alt38 == 3:
3446 # C.g:265:4: '*'
3447 self.match(self.input, 65, self.FOLLOW_65_in_pointer922)
3448 if self.failed:
3449 return
3450
3451
3452
3453 except RecognitionException, re:
3454 self.reportError(re)
3455 self.recover(self.input, re)
3456 finally:
3457 if self.backtracking > 0:
3458 self.memoize(self.input, 25, pointer_StartIndex)
3459
3460 pass
3461
3462 return
3463
3464 # $ANTLR end pointer
3465
3466
3467 # $ANTLR start parameter_type_list
3468 # C.g:268:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
3469 def parameter_type_list(self, ):
3470
3471 parameter_type_list_StartIndex = self.input.index()
3472 try:
3473 try:
3474 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
3475 return
3476
3477 # C.g:269:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
3478 # C.g:269:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
3479 self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list933)
3480 self.parameter_list()
3481 self.following.pop()
3482 if self.failed:
3483 return
3484 # C.g:269:19: ( ',' ( 'OPTIONAL' )? '...' )?
3485 alt40 = 2
3486 LA40_0 = self.input.LA(1)
3487
3488 if (LA40_0 == 27) :
3489 alt40 = 1
3490 if alt40 == 1:
3491 # C.g:269:20: ',' ( 'OPTIONAL' )? '...'
3492 self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list936)
3493 if self.failed:
3494 return
3495 # C.g:269:24: ( 'OPTIONAL' )?
3496 alt39 = 2
3497 LA39_0 = self.input.LA(1)
3498
3499 if (LA39_0 == 53) :
3500 alt39 = 1
3501 if alt39 == 1:
3502 # C.g:269:25: 'OPTIONAL'
3503 self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list939)
3504 if self.failed:
3505 return
3506
3507
3508
3509 self.match(self.input, 66, self.FOLLOW_66_in_parameter_type_list943)
3510 if self.failed:
3511 return
3512
3513
3514
3515
3516
3517
3518
3519 except RecognitionException, re:
3520 self.reportError(re)
3521 self.recover(self.input, re)
3522 finally:
3523 if self.backtracking > 0:
3524 self.memoize(self.input, 26, parameter_type_list_StartIndex)
3525
3526 pass
3527
3528 return
3529
3530 # $ANTLR end parameter_type_list
3531
3532
3533 # $ANTLR start parameter_list
3534 # C.g:272:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
3535 def parameter_list(self, ):
3536
3537 parameter_list_StartIndex = self.input.index()
3538 try:
3539 try:
3540 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
3541 return
3542
3543 # C.g:273:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
3544 # C.g:273:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3545 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list956)
3546 self.parameter_declaration()
3547 self.following.pop()
3548 if self.failed:
3549 return
3550 # C.g:273:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
3551 while True: #loop42
3552 alt42 = 2
3553 LA42_0 = self.input.LA(1)
3554
3555 if (LA42_0 == 27) :
3556 LA42_1 = self.input.LA(2)
3557
3558 if (LA42_1 == 53) :
3559 LA42_3 = self.input.LA(3)
3560
3561 if (self.synpred81()) :
3562 alt42 = 1
3563
3564
3565 elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 60) or LA42_1 == 65) :
3566 alt42 = 1
3567
3568
3569
3570
3571 if alt42 == 1:
3572 # C.g:273:27: ',' ( 'OPTIONAL' )? parameter_declaration
3573 self.match(self.input, 27, self.FOLLOW_27_in_parameter_list959)
3574 if self.failed:
3575 return
3576 # C.g:273:31: ( 'OPTIONAL' )?
3577 alt41 = 2
3578 LA41_0 = self.input.LA(1)
3579
3580 if (LA41_0 == 53) :
3581 LA41_1 = self.input.LA(2)
3582
3583 if (self.synpred80()) :
3584 alt41 = 1
3585 if alt41 == 1:
3586 # C.g:273:32: 'OPTIONAL'
3587 self.match(self.input, 53, self.FOLLOW_53_in_parameter_list962)
3588 if self.failed:
3589 return
3590
3591
3592
3593 self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list966)
3594 self.parameter_declaration()
3595 self.following.pop()
3596 if self.failed:
3597 return
3598
3599
3600 else:
3601 break #loop42
3602
3603
3604
3605
3606
3607
3608 except RecognitionException, re:
3609 self.reportError(re)
3610 self.recover(self.input, re)
3611 finally:
3612 if self.backtracking > 0:
3613 self.memoize(self.input, 27, parameter_list_StartIndex)
3614
3615 pass
3616
3617 return
3618
3619 # $ANTLR end parameter_list
3620
3621
3622 # $ANTLR start parameter_declaration
3623 # C.g:276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
3624 def parameter_declaration(self, ):
3625
3626 parameter_declaration_StartIndex = self.input.index()
3627 try:
3628 try:
3629 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
3630 return
3631
3632 # C.g:277:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
3633 alt46 = 2
3634 LA46 = self.input.LA(1)
3635 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:
3636 alt46 = 1
3637 elif LA46 == IDENTIFIER:
3638 LA46_13 = self.input.LA(2)
3639
3640 if (self.synpred85()) :
3641 alt46 = 1
3642 elif (True) :
3643 alt46 = 2
3644 else:
3645 if self.backtracking > 0:
3646 self.failed = True
3647 return
3648
3649 nvae = NoViableAltException("276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
3650
3651 raise nvae
3652
3653 elif LA46 == 65:
3654 alt46 = 2
3655 else:
3656 if self.backtracking > 0:
3657 self.failed = True
3658 return
3659
3660 nvae = NoViableAltException("276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
3661
3662 raise nvae
3663
3664 if alt46 == 1:
3665 # C.g:277:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
3666 self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration979)
3667 self.declaration_specifiers()
3668 self.following.pop()
3669 if self.failed:
3670 return
3671 # C.g:277:27: ( declarator | abstract_declarator )*
3672 while True: #loop43
3673 alt43 = 3
3674 LA43 = self.input.LA(1)
3675 if LA43 == 65:
3676 LA43_5 = self.input.LA(2)
3677
3678 if (self.synpred82()) :
3679 alt43 = 1
3680 elif (self.synpred83()) :
3681 alt43 = 2
3682
3683
3684 elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
3685 alt43 = 1
3686 elif LA43 == 61:
3687 LA43 = self.input.LA(2)
3688 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 == 62 or LA43 == 63:
3689 alt43 = 2
3690 elif LA43 == IDENTIFIER:
3691 LA43_37 = self.input.LA(3)
3692
3693 if (self.synpred82()) :
3694 alt43 = 1
3695 elif (self.synpred83()) :
3696 alt43 = 2
3697
3698
3699 elif LA43 == 58:
3700 LA43_38 = self.input.LA(3)
3701
3702 if (self.synpred82()) :
3703 alt43 = 1
3704 elif (self.synpred83()) :
3705 alt43 = 2
3706
3707
3708 elif LA43 == 65:
3709 LA43_39 = self.input.LA(3)
3710
3711 if (self.synpred82()) :
3712 alt43 = 1
3713 elif (self.synpred83()) :
3714 alt43 = 2
3715
3716
3717 elif LA43 == 59:
3718 LA43_40 = self.input.LA(3)
3719
3720 if (self.synpred82()) :
3721 alt43 = 1
3722 elif (self.synpred83()) :
3723 alt43 = 2
3724
3725
3726 elif LA43 == 60:
3727 LA43_41 = self.input.LA(3)
3728
3729 if (self.synpred82()) :
3730 alt43 = 1
3731 elif (self.synpred83()) :
3732 alt43 = 2
3733
3734
3735 elif LA43 == 61:
3736 LA43_43 = self.input.LA(3)
3737
3738 if (self.synpred82()) :
3739 alt43 = 1
3740 elif (self.synpred83()) :
3741 alt43 = 2
3742
3743
3744
3745 elif LA43 == 63:
3746 alt43 = 2
3747
3748 if alt43 == 1:
3749 # C.g:277:28: declarator
3750 self.following.append(self.FOLLOW_declarator_in_parameter_declaration982)
3751 self.declarator()
3752 self.following.pop()
3753 if self.failed:
3754 return
3755
3756
3757 elif alt43 == 2:
3758 # C.g:277:39: abstract_declarator
3759 self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration984)
3760 self.abstract_declarator()
3761 self.following.pop()
3762 if self.failed:
3763 return
3764
3765
3766 else:
3767 break #loop43
3768
3769
3770 # C.g:277:61: ( 'OPTIONAL' )?
3771 alt44 = 2
3772 LA44_0 = self.input.LA(1)
3773
3774 if (LA44_0 == 53) :
3775 alt44 = 1
3776 if alt44 == 1:
3777 # C.g:277:62: 'OPTIONAL'
3778 self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration989)
3779 if self.failed:
3780 return
3781
3782
3783
3784
3785
3786 elif alt46 == 2:
3787 # C.g:279:4: ( pointer )* IDENTIFIER
3788 # C.g:279:4: ( pointer )*
3789 while True: #loop45
3790 alt45 = 2
3791 LA45_0 = self.input.LA(1)
3792
3793 if (LA45_0 == 65) :
3794 alt45 = 1
3795
3796
3797 if alt45 == 1:
3798 # C.g:0:0: pointer
3799 self.following.append(self.FOLLOW_pointer_in_parameter_declaration998)
3800 self.pointer()
3801 self.following.pop()
3802 if self.failed:
3803 return
3804
3805
3806 else:
3807 break #loop45
3808
3809
3810 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1001)
3811 if self.failed:
3812 return
3813
3814
3815
3816 except RecognitionException, re:
3817 self.reportError(re)
3818 self.recover(self.input, re)
3819 finally:
3820 if self.backtracking > 0:
3821 self.memoize(self.input, 28, parameter_declaration_StartIndex)
3822
3823 pass
3824
3825 return
3826
3827 # $ANTLR end parameter_declaration
3828
3829
3830 # $ANTLR start identifier_list
3831 # C.g:282:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
3832 def identifier_list(self, ):
3833
3834 identifier_list_StartIndex = self.input.index()
3835 try:
3836 try:
3837 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
3838 return
3839
3840 # C.g:283:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
3841 # C.g:283:4: IDENTIFIER ( ',' IDENTIFIER )*
3842 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1012)
3843 if self.failed:
3844 return
3845 # C.g:284:2: ( ',' IDENTIFIER )*
3846 while True: #loop47
3847 alt47 = 2
3848 LA47_0 = self.input.LA(1)
3849
3850 if (LA47_0 == 27) :
3851 alt47 = 1
3852
3853
3854 if alt47 == 1:
3855 # C.g:284:3: ',' IDENTIFIER
3856 self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1016)
3857 if self.failed:
3858 return
3859 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1018)
3860 if self.failed:
3861 return
3862
3863
3864 else:
3865 break #loop47
3866
3867
3868
3869
3870
3871
3872 except RecognitionException, re:
3873 self.reportError(re)
3874 self.recover(self.input, re)
3875 finally:
3876 if self.backtracking > 0:
3877 self.memoize(self.input, 29, identifier_list_StartIndex)
3878
3879 pass
3880
3881 return
3882
3883 # $ANTLR end identifier_list
3884
3885
3886 # $ANTLR start type_name
3887 # C.g:287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
3888 def type_name(self, ):
3889
3890 type_name_StartIndex = self.input.index()
3891 try:
3892 try:
3893 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
3894 return
3895
3896 # C.g:288:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
3897 alt49 = 2
3898 LA49_0 = self.input.LA(1)
3899
3900 if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 60)) :
3901 alt49 = 1
3902 elif (LA49_0 == IDENTIFIER) :
3903 LA49_13 = self.input.LA(2)
3904
3905 if (self.synpred89()) :
3906 alt49 = 1
3907 elif (True) :
3908 alt49 = 2
3909 else:
3910 if self.backtracking > 0:
3911 self.failed = True
3912 return
3913
3914 nvae = NoViableAltException("287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
3915
3916 raise nvae
3917
3918 else:
3919 if self.backtracking > 0:
3920 self.failed = True
3921 return
3922
3923 nvae = NoViableAltException("287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
3924
3925 raise nvae
3926
3927 if alt49 == 1:
3928 # C.g:288:4: specifier_qualifier_list ( abstract_declarator )?
3929 self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1031)
3930 self.specifier_qualifier_list()
3931 self.following.pop()
3932 if self.failed:
3933 return
3934 # C.g:288:29: ( abstract_declarator )?
3935 alt48 = 2
3936 LA48_0 = self.input.LA(1)
3937
3938 if (LA48_0 == 61 or LA48_0 == 63 or LA48_0 == 65) :
3939 alt48 = 1
3940 if alt48 == 1:
3941 # C.g:0:0: abstract_declarator
3942 self.following.append(self.FOLLOW_abstract_declarator_in_type_name1033)
3943 self.abstract_declarator()
3944 self.following.pop()
3945 if self.failed:
3946 return
3947
3948
3949
3950
3951
3952 elif alt49 == 2:
3953 # C.g:289:4: type_id
3954 self.following.append(self.FOLLOW_type_id_in_type_name1039)
3955 self.type_id()
3956 self.following.pop()
3957 if self.failed:
3958 return
3959
3960
3961
3962 except RecognitionException, re:
3963 self.reportError(re)
3964 self.recover(self.input, re)
3965 finally:
3966 if self.backtracking > 0:
3967 self.memoize(self.input, 30, type_name_StartIndex)
3968
3969 pass
3970
3971 return
3972
3973 # $ANTLR end type_name
3974
3975
3976 # $ANTLR start abstract_declarator
3977 # C.g:292:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
3978 def abstract_declarator(self, ):
3979
3980 abstract_declarator_StartIndex = self.input.index()
3981 try:
3982 try:
3983 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
3984 return
3985
3986 # C.g:293:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
3987 alt51 = 2
3988 LA51_0 = self.input.LA(1)
3989
3990 if (LA51_0 == 65) :
3991 alt51 = 1
3992 elif (LA51_0 == 61 or LA51_0 == 63) :
3993 alt51 = 2
3994 else:
3995 if self.backtracking > 0:
3996 self.failed = True
3997 return
3998
3999 nvae = NoViableAltException("292:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
4000
4001 raise nvae
4002
4003 if alt51 == 1:
4004 # C.g:293:4: pointer ( direct_abstract_declarator )?
4005 self.following.append(self.FOLLOW_pointer_in_abstract_declarator1050)
4006 self.pointer()
4007 self.following.pop()
4008 if self.failed:
4009 return
4010 # C.g:293:12: ( direct_abstract_declarator )?
4011 alt50 = 2
4012 LA50_0 = self.input.LA(1)
4013
4014 if (LA50_0 == 61) :
4015 LA50 = self.input.LA(2)
4016 if LA50 == 62:
4017 LA50_12 = self.input.LA(3)
4018
4019 if (self.synpred90()) :
4020 alt50 = 1
4021 elif LA50 == 58:
4022 LA50_13 = self.input.LA(3)
4023
4024 if (self.synpred90()) :
4025 alt50 = 1
4026 elif LA50 == 65:
4027 LA50_14 = self.input.LA(3)
4028
4029 if (self.synpred90()) :
4030 alt50 = 1
4031 elif LA50 == 59:
4032 LA50_15 = self.input.LA(3)
4033
4034 if (self.synpred90()) :
4035 alt50 = 1
4036 elif LA50 == 60:
4037 LA50_16 = self.input.LA(3)
4038
4039 if (self.synpred90()) :
4040 alt50 = 1
4041 elif LA50 == IDENTIFIER:
4042 LA50_17 = self.input.LA(3)
4043
4044 if (self.synpred90()) :
4045 alt50 = 1
4046 elif LA50 == 61:
4047 LA50_18 = self.input.LA(3)
4048
4049 if (self.synpred90()) :
4050 alt50 = 1
4051 elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
4052 LA50_19 = self.input.LA(3)
4053
4054 if (self.synpred90()) :
4055 alt50 = 1
4056 elif LA50 == 34:
4057 LA50_20 = self.input.LA(3)
4058
4059 if (self.synpred90()) :
4060 alt50 = 1
4061 elif LA50 == 35:
4062 LA50_21 = self.input.LA(3)
4063
4064 if (self.synpred90()) :
4065 alt50 = 1
4066 elif LA50 == 36:
4067 LA50_22 = self.input.LA(3)
4068
4069 if (self.synpred90()) :
4070 alt50 = 1
4071 elif LA50 == 37:
4072 LA50_23 = self.input.LA(3)
4073
4074 if (self.synpred90()) :
4075 alt50 = 1
4076 elif LA50 == 38:
4077 LA50_24 = self.input.LA(3)
4078
4079 if (self.synpred90()) :
4080 alt50 = 1
4081 elif LA50 == 39:
4082 LA50_25 = self.input.LA(3)
4083
4084 if (self.synpred90()) :
4085 alt50 = 1
4086 elif LA50 == 40:
4087 LA50_26 = self.input.LA(3)
4088
4089 if (self.synpred90()) :
4090 alt50 = 1
4091 elif LA50 == 41:
4092 LA50_27 = self.input.LA(3)
4093
4094 if (self.synpred90()) :
4095 alt50 = 1
4096 elif LA50 == 42:
4097 LA50_28 = self.input.LA(3)
4098
4099 if (self.synpred90()) :
4100 alt50 = 1
4101 elif LA50 == 45 or LA50 == 46:
4102 LA50_29 = self.input.LA(3)
4103
4104 if (self.synpred90()) :
4105 alt50 = 1
4106 elif LA50 == 48:
4107 LA50_30 = self.input.LA(3)
4108
4109 if (self.synpred90()) :
4110 alt50 = 1
4111 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:
4112 LA50_31 = self.input.LA(3)
4113
4114 if (self.synpred90()) :
4115 alt50 = 1
4116 elif LA50 == 63:
4117 LA50_32 = self.input.LA(3)
4118
4119 if (self.synpred90()) :
4120 alt50 = 1
4121 elif (LA50_0 == 63) :
4122 LA50 = self.input.LA(2)
4123 if LA50 == 64:
4124 LA50_33 = self.input.LA(3)
4125
4126 if (self.synpred90()) :
4127 alt50 = 1
4128 elif LA50 == 61:
4129 LA50_34 = self.input.LA(3)
4130
4131 if (self.synpred90()) :
4132 alt50 = 1
4133 elif LA50 == IDENTIFIER:
4134 LA50_35 = self.input.LA(3)
4135
4136 if (self.synpred90()) :
4137 alt50 = 1
4138 elif LA50 == HEX_LITERAL:
4139 LA50_36 = self.input.LA(3)
4140
4141 if (self.synpred90()) :
4142 alt50 = 1
4143 elif LA50 == OCTAL_LITERAL:
4144 LA50_37 = self.input.LA(3)
4145
4146 if (self.synpred90()) :
4147 alt50 = 1
4148 elif LA50 == DECIMAL_LITERAL:
4149 LA50_38 = self.input.LA(3)
4150
4151 if (self.synpred90()) :
4152 alt50 = 1
4153 elif LA50 == CHARACTER_LITERAL:
4154 LA50_39 = self.input.LA(3)
4155
4156 if (self.synpred90()) :
4157 alt50 = 1
4158 elif LA50 == STRING_LITERAL:
4159 LA50_40 = self.input.LA(3)
4160
4161 if (self.synpred90()) :
4162 alt50 = 1
4163 elif LA50 == FLOATING_POINT_LITERAL:
4164 LA50_41 = self.input.LA(3)
4165
4166 if (self.synpred90()) :
4167 alt50 = 1
4168 elif LA50 == 71:
4169 LA50_42 = self.input.LA(3)
4170
4171 if (self.synpred90()) :
4172 alt50 = 1
4173 elif LA50 == 72:
4174 LA50_43 = self.input.LA(3)
4175
4176 if (self.synpred90()) :
4177 alt50 = 1
4178 elif LA50 == 65 or LA50 == 67 or LA50 == 68 or LA50 == 76 or LA50 == 77 or LA50 == 78:
4179 LA50_44 = self.input.LA(3)
4180
4181 if (self.synpred90()) :
4182 alt50 = 1
4183 elif LA50 == 73:
4184 LA50_45 = self.input.LA(3)
4185
4186 if (self.synpred90()) :
4187 alt50 = 1
4188 if alt50 == 1:
4189 # C.g:0:0: direct_abstract_declarator
4190 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1052)
4191 self.direct_abstract_declarator()
4192 self.following.pop()
4193 if self.failed:
4194 return
4195
4196
4197
4198
4199
4200 elif alt51 == 2:
4201 # C.g:294:4: direct_abstract_declarator
4202 self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1058)
4203 self.direct_abstract_declarator()
4204 self.following.pop()
4205 if self.failed:
4206 return
4207
4208
4209
4210 except RecognitionException, re:
4211 self.reportError(re)
4212 self.recover(self.input, re)
4213 finally:
4214 if self.backtracking > 0:
4215 self.memoize(self.input, 31, abstract_declarator_StartIndex)
4216
4217 pass
4218
4219 return
4220
4221 # $ANTLR end abstract_declarator
4222
4223
4224 # $ANTLR start direct_abstract_declarator
4225 # C.g:297:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
4226 def direct_abstract_declarator(self, ):
4227
4228 direct_abstract_declarator_StartIndex = self.input.index()
4229 try:
4230 try:
4231 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
4232 return
4233
4234 # C.g:298:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
4235 # C.g:298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
4236 # C.g:298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
4237 alt52 = 2
4238 LA52_0 = self.input.LA(1)
4239
4240 if (LA52_0 == 61) :
4241 LA52 = self.input.LA(2)
4242 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 == 62:
4243 alt52 = 2
4244 elif LA52 == 65:
4245 LA52_18 = self.input.LA(3)
4246
4247 if (self.synpred92()) :
4248 alt52 = 1
4249 elif (True) :
4250 alt52 = 2
4251 else:
4252 if self.backtracking > 0:
4253 self.failed = True
4254 return
4255
4256 nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
4257
4258 raise nvae
4259
4260 elif LA52 == 61 or LA52 == 63:
4261 alt52 = 1
4262 else:
4263 if self.backtracking > 0:
4264 self.failed = True
4265 return
4266
4267 nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
4268
4269 raise nvae
4270
4271 elif (LA52_0 == 63) :
4272 alt52 = 2
4273 else:
4274 if self.backtracking > 0:
4275 self.failed = True
4276 return
4277
4278 nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
4279
4280 raise nvae
4281
4282 if alt52 == 1:
4283 # C.g:298:6: '(' abstract_declarator ')'
4284 self.match(self.input, 61, self.FOLLOW_61_in_direct_abstract_declarator1071)
4285 if self.failed:
4286 return
4287 self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1073)
4288 self.abstract_declarator()
4289 self.following.pop()
4290 if self.failed:
4291 return
4292 self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1075)
4293 if self.failed:
4294 return
4295
4296
4297 elif alt52 == 2:
4298 # C.g:298:36: abstract_declarator_suffix
4299 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1079)
4300 self.abstract_declarator_suffix()
4301 self.following.pop()
4302 if self.failed:
4303 return
4304
4305
4306
4307 # C.g:298:65: ( abstract_declarator_suffix )*
4308 while True: #loop53
4309 alt53 = 2
4310 LA53_0 = self.input.LA(1)
4311
4312 if (LA53_0 == 61) :
4313 LA53 = self.input.LA(2)
4314 if LA53 == 62:
4315 LA53_12 = self.input.LA(3)
4316
4317 if (self.synpred93()) :
4318 alt53 = 1
4319
4320
4321 elif LA53 == 58:
4322 LA53_13 = self.input.LA(3)
4323
4324 if (self.synpred93()) :
4325 alt53 = 1
4326
4327
4328 elif LA53 == 65:
4329 LA53_14 = self.input.LA(3)
4330
4331 if (self.synpred93()) :
4332 alt53 = 1
4333
4334
4335 elif LA53 == 59:
4336 LA53_15 = self.input.LA(3)
4337
4338 if (self.synpred93()) :
4339 alt53 = 1
4340
4341
4342 elif LA53 == 60:
4343 LA53_16 = self.input.LA(3)
4344
4345 if (self.synpred93()) :
4346 alt53 = 1
4347
4348
4349 elif LA53 == IDENTIFIER:
4350 LA53_17 = self.input.LA(3)
4351
4352 if (self.synpred93()) :
4353 alt53 = 1
4354
4355
4356 elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33:
4357 LA53_19 = self.input.LA(3)
4358
4359 if (self.synpred93()) :
4360 alt53 = 1
4361
4362
4363 elif LA53 == 34:
4364 LA53_20 = self.input.LA(3)
4365
4366 if (self.synpred93()) :
4367 alt53 = 1
4368
4369
4370 elif LA53 == 35:
4371 LA53_21 = self.input.LA(3)
4372
4373 if (self.synpred93()) :
4374 alt53 = 1
4375
4376
4377 elif LA53 == 36:
4378 LA53_22 = self.input.LA(3)
4379
4380 if (self.synpred93()) :
4381 alt53 = 1
4382
4383
4384 elif LA53 == 37:
4385 LA53_23 = self.input.LA(3)
4386
4387 if (self.synpred93()) :
4388 alt53 = 1
4389
4390
4391 elif LA53 == 38:
4392 LA53_24 = self.input.LA(3)
4393
4394 if (self.synpred93()) :
4395 alt53 = 1
4396
4397
4398 elif LA53 == 39:
4399 LA53_25 = self.input.LA(3)
4400
4401 if (self.synpred93()) :
4402 alt53 = 1
4403
4404
4405 elif LA53 == 40:
4406 LA53_26 = self.input.LA(3)
4407
4408 if (self.synpred93()) :
4409 alt53 = 1
4410
4411
4412 elif LA53 == 41:
4413 LA53_27 = self.input.LA(3)
4414
4415 if (self.synpred93()) :
4416 alt53 = 1
4417
4418
4419 elif LA53 == 42:
4420 LA53_28 = self.input.LA(3)
4421
4422 if (self.synpred93()) :
4423 alt53 = 1
4424
4425
4426 elif LA53 == 45 or LA53 == 46:
4427 LA53_29 = self.input.LA(3)
4428
4429 if (self.synpred93()) :
4430 alt53 = 1
4431
4432
4433 elif LA53 == 48:
4434 LA53_30 = self.input.LA(3)
4435
4436 if (self.synpred93()) :
4437 alt53 = 1
4438
4439
4440 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:
4441 LA53_31 = self.input.LA(3)
4442
4443 if (self.synpred93()) :
4444 alt53 = 1
4445
4446
4447
4448 elif (LA53_0 == 63) :
4449 LA53 = self.input.LA(2)
4450 if LA53 == 64:
4451 LA53_33 = self.input.LA(3)
4452
4453 if (self.synpred93()) :
4454 alt53 = 1
4455
4456
4457 elif LA53 == 61:
4458 LA53_34 = self.input.LA(3)
4459
4460 if (self.synpred93()) :
4461 alt53 = 1
4462
4463
4464 elif LA53 == IDENTIFIER:
4465 LA53_35 = self.input.LA(3)
4466
4467 if (self.synpred93()) :
4468 alt53 = 1
4469
4470
4471 elif LA53 == HEX_LITERAL:
4472 LA53_36 = self.input.LA(3)
4473
4474 if (self.synpred93()) :
4475 alt53 = 1
4476
4477
4478 elif LA53 == OCTAL_LITERAL:
4479 LA53_37 = self.input.LA(3)
4480
4481 if (self.synpred93()) :
4482 alt53 = 1
4483
4484
4485 elif LA53 == DECIMAL_LITERAL:
4486 LA53_38 = self.input.LA(3)
4487
4488 if (self.synpred93()) :
4489 alt53 = 1
4490
4491
4492 elif LA53 == CHARACTER_LITERAL:
4493 LA53_39 = self.input.LA(3)
4494
4495 if (self.synpred93()) :
4496 alt53 = 1
4497
4498
4499 elif LA53 == STRING_LITERAL:
4500 LA53_40 = self.input.LA(3)
4501
4502 if (self.synpred93()) :
4503 alt53 = 1
4504
4505
4506 elif LA53 == FLOATING_POINT_LITERAL:
4507 LA53_41 = self.input.LA(3)
4508
4509 if (self.synpred93()) :
4510 alt53 = 1
4511
4512
4513 elif LA53 == 71:
4514 LA53_42 = self.input.LA(3)
4515
4516 if (self.synpred93()) :
4517 alt53 = 1
4518
4519
4520 elif LA53 == 72:
4521 LA53_43 = self.input.LA(3)
4522
4523 if (self.synpred93()) :
4524 alt53 = 1
4525
4526
4527 elif LA53 == 65 or LA53 == 67 or LA53 == 68 or LA53 == 76 or LA53 == 77 or LA53 == 78:
4528 LA53_44 = self.input.LA(3)
4529
4530 if (self.synpred93()) :
4531 alt53 = 1
4532
4533
4534 elif LA53 == 73:
4535 LA53_45 = self.input.LA(3)
4536
4537 if (self.synpred93()) :
4538 alt53 = 1
4539
4540
4541
4542
4543
4544 if alt53 == 1:
4545 # C.g:0:0: abstract_declarator_suffix
4546 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1083)
4547 self.abstract_declarator_suffix()
4548 self.following.pop()
4549 if self.failed:
4550 return
4551
4552
4553 else:
4554 break #loop53
4555
4556
4557
4558
4559
4560
4561 except RecognitionException, re:
4562 self.reportError(re)
4563 self.recover(self.input, re)
4564 finally:
4565 if self.backtracking > 0:
4566 self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
4567
4568 pass
4569
4570 return
4571
4572 # $ANTLR end direct_abstract_declarator
4573
4574
4575 # $ANTLR start abstract_declarator_suffix
4576 # C.g:301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
4577 def abstract_declarator_suffix(self, ):
4578
4579 abstract_declarator_suffix_StartIndex = self.input.index()
4580 try:
4581 try:
4582 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
4583 return
4584
4585 # C.g:302:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
4586 alt54 = 4
4587 LA54_0 = self.input.LA(1)
4588
4589 if (LA54_0 == 63) :
4590 LA54_1 = self.input.LA(2)
4591
4592 if (LA54_1 == 64) :
4593 alt54 = 1
4594 elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 61 or LA54_1 == 65 or (67 <= LA54_1 <= 68) or (71 <= LA54_1 <= 73) or (76 <= LA54_1 <= 78)) :
4595 alt54 = 2
4596 else:
4597 if self.backtracking > 0:
4598 self.failed = True
4599 return
4600
4601 nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
4602
4603 raise nvae
4604
4605 elif (LA54_0 == 61) :
4606 LA54_2 = self.input.LA(2)
4607
4608 if (LA54_2 == 62) :
4609 alt54 = 3
4610 elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 60) or LA54_2 == 65) :
4611 alt54 = 4
4612 else:
4613 if self.backtracking > 0:
4614 self.failed = True
4615 return
4616
4617 nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
4618
4619 raise nvae
4620
4621 else:
4622 if self.backtracking > 0:
4623 self.failed = True
4624 return
4625
4626 nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
4627
4628 raise nvae
4629
4630 if alt54 == 1:
4631 # C.g:302:4: '[' ']'
4632 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1095)
4633 if self.failed:
4634 return
4635 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1097)
4636 if self.failed:
4637 return
4638
4639
4640 elif alt54 == 2:
4641 # C.g:303:4: '[' constant_expression ']'
4642 self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1102)
4643 if self.failed:
4644 return
4645 self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1104)
4646 self.constant_expression()
4647 self.following.pop()
4648 if self.failed:
4649 return
4650 self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1106)
4651 if self.failed:
4652 return
4653
4654
4655 elif alt54 == 3:
4656 # C.g:304:4: '(' ')'
4657 self.match(self.input, 61, self.FOLLOW_61_in_abstract_declarator_suffix1111)
4658 if self.failed:
4659 return
4660 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1113)
4661 if self.failed:
4662 return
4663
4664
4665 elif alt54 == 4:
4666 # C.g:305:4: '(' parameter_type_list ')'
4667 self.match(self.input, 61, self.FOLLOW_61_in_abstract_declarator_suffix1118)
4668 if self.failed:
4669 return
4670 self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1120)
4671 self.parameter_type_list()
4672 self.following.pop()
4673 if self.failed:
4674 return
4675 self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1122)
4676 if self.failed:
4677 return
4678
4679
4680
4681 except RecognitionException, re:
4682 self.reportError(re)
4683 self.recover(self.input, re)
4684 finally:
4685 if self.backtracking > 0:
4686 self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
4687
4688 pass
4689
4690 return
4691
4692 # $ANTLR end abstract_declarator_suffix
4693
4694
4695 # $ANTLR start initializer
4696 # C.g:308:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
4697 def initializer(self, ):
4698
4699 initializer_StartIndex = self.input.index()
4700 try:
4701 try:
4702 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
4703 return
4704
4705 # C.g:310:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
4706 alt56 = 2
4707 LA56_0 = self.input.LA(1)
4708
4709 if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 61 or LA56_0 == 65 or (67 <= LA56_0 <= 68) or (71 <= LA56_0 <= 73) or (76 <= LA56_0 <= 78)) :
4710 alt56 = 1
4711 elif (LA56_0 == 43) :
4712 alt56 = 2
4713 else:
4714 if self.backtracking > 0:
4715 self.failed = True
4716 return
4717
4718 nvae = NoViableAltException("308:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
4719
4720 raise nvae
4721
4722 if alt56 == 1:
4723 # C.g:310:4: assignment_expression
4724 self.following.append(self.FOLLOW_assignment_expression_in_initializer1135)
4725 self.assignment_expression()
4726 self.following.pop()
4727 if self.failed:
4728 return
4729
4730
4731 elif alt56 == 2:
4732 # C.g:311:4: '{' initializer_list ( ',' )? '}'
4733 self.match(self.input, 43, self.FOLLOW_43_in_initializer1140)
4734 if self.failed:
4735 return
4736 self.following.append(self.FOLLOW_initializer_list_in_initializer1142)
4737 self.initializer_list()
4738 self.following.pop()
4739 if self.failed:
4740 return
4741 # C.g:311:25: ( ',' )?
4742 alt55 = 2
4743 LA55_0 = self.input.LA(1)
4744
4745 if (LA55_0 == 27) :
4746 alt55 = 1
4747 if alt55 == 1:
4748 # C.g:0:0: ','
4749 self.match(self.input, 27, self.FOLLOW_27_in_initializer1144)
4750 if self.failed:
4751 return
4752
4753
4754
4755 self.match(self.input, 44, self.FOLLOW_44_in_initializer1147)
4756 if self.failed:
4757 return
4758
4759
4760
4761 except RecognitionException, re:
4762 self.reportError(re)
4763 self.recover(self.input, re)
4764 finally:
4765 if self.backtracking > 0:
4766 self.memoize(self.input, 34, initializer_StartIndex)
4767
4768 pass
4769
4770 return
4771
4772 # $ANTLR end initializer
4773
4774
4775 # $ANTLR start initializer_list
4776 # C.g:314:1: initializer_list : initializer ( ',' initializer )* ;
4777 def initializer_list(self, ):
4778
4779 initializer_list_StartIndex = self.input.index()
4780 try:
4781 try:
4782 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
4783 return
4784
4785 # C.g:315:2: ( initializer ( ',' initializer )* )
4786 # C.g:315:4: initializer ( ',' initializer )*
4787 self.following.append(self.FOLLOW_initializer_in_initializer_list1158)
4788 self.initializer()
4789 self.following.pop()
4790 if self.failed:
4791 return
4792 # C.g:315:16: ( ',' initializer )*
4793 while True: #loop57
4794 alt57 = 2
4795 LA57_0 = self.input.LA(1)
4796
4797 if (LA57_0 == 27) :
4798 LA57_1 = self.input.LA(2)
4799
4800 if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 61 or LA57_1 == 65 or (67 <= LA57_1 <= 68) or (71 <= LA57_1 <= 73) or (76 <= LA57_1 <= 78)) :
4801 alt57 = 1
4802
4803
4804
4805
4806 if alt57 == 1:
4807 # C.g:315:17: ',' initializer
4808 self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1161)
4809 if self.failed:
4810 return
4811 self.following.append(self.FOLLOW_initializer_in_initializer_list1163)
4812 self.initializer()
4813 self.following.pop()
4814 if self.failed:
4815 return
4816
4817
4818 else:
4819 break #loop57
4820
4821
4822
4823
4824
4825
4826 except RecognitionException, re:
4827 self.reportError(re)
4828 self.recover(self.input, re)
4829 finally:
4830 if self.backtracking > 0:
4831 self.memoize(self.input, 35, initializer_list_StartIndex)
4832
4833 pass
4834
4835 return
4836
4837 # $ANTLR end initializer_list
4838
4839 class argument_expression_list_return(object):
4840 def __init__(self):
4841 self.start = None
4842 self.stop = None
4843
4844
4845
4846 # $ANTLR start argument_expression_list
4847 # C.g:320:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
4848 def argument_expression_list(self, ):
4849
4850 retval = self.argument_expression_list_return()
4851 retval.start = self.input.LT(1)
4852 argument_expression_list_StartIndex = self.input.index()
4853 try:
4854 try:
4855 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
4856 return retval
4857
4858 # C.g:321:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
4859 # C.g:321:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
4860 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1181)
4861 self.assignment_expression()
4862 self.following.pop()
4863 if self.failed:
4864 return retval
4865 # C.g:321:28: ( 'OPTIONAL' )?
4866 alt58 = 2
4867 LA58_0 = self.input.LA(1)
4868
4869 if (LA58_0 == 53) :
4870 alt58 = 1
4871 if alt58 == 1:
4872 # C.g:321:29: 'OPTIONAL'
4873 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1184)
4874 if self.failed:
4875 return retval
4876
4877
4878
4879 # C.g:321:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
4880 while True: #loop60
4881 alt60 = 2
4882 LA60_0 = self.input.LA(1)
4883
4884 if (LA60_0 == 27) :
4885 alt60 = 1
4886
4887
4888 if alt60 == 1:
4889 # C.g:321:43: ',' assignment_expression ( 'OPTIONAL' )?
4890 self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1189)
4891 if self.failed:
4892 return retval
4893 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1191)
4894 self.assignment_expression()
4895 self.following.pop()
4896 if self.failed:
4897 return retval
4898 # C.g:321:69: ( 'OPTIONAL' )?
4899 alt59 = 2
4900 LA59_0 = self.input.LA(1)
4901
4902 if (LA59_0 == 53) :
4903 alt59 = 1
4904 if alt59 == 1:
4905 # C.g:321:70: 'OPTIONAL'
4906 self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1194)
4907 if self.failed:
4908 return retval
4909
4910
4911
4912
4913
4914 else:
4915 break #loop60
4916
4917
4918
4919
4920
4921 retval.stop = self.input.LT(-1)
4922
4923
4924 except RecognitionException, re:
4925 self.reportError(re)
4926 self.recover(self.input, re)
4927 finally:
4928 if self.backtracking > 0:
4929 self.memoize(self.input, 36, argument_expression_list_StartIndex)
4930
4931 pass
4932
4933 return retval
4934
4935 # $ANTLR end argument_expression_list
4936
4937
4938 # $ANTLR start additive_expression
4939 # C.g:324:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
4940 def additive_expression(self, ):
4941
4942 additive_expression_StartIndex = self.input.index()
4943 try:
4944 try:
4945 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
4946 return
4947
4948 # C.g:325:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
4949 # C.g:325:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
4950 # C.g:325:4: ( multiplicative_expression )
4951 # C.g:325:5: multiplicative_expression
4952 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1210)
4953 self.multiplicative_expression()
4954 self.following.pop()
4955 if self.failed:
4956 return
4957
4958
4959
4960 # C.g:325:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
4961 while True: #loop61
4962 alt61 = 3
4963 LA61_0 = self.input.LA(1)
4964
4965 if (LA61_0 == 67) :
4966 alt61 = 1
4967 elif (LA61_0 == 68) :
4968 alt61 = 2
4969
4970
4971 if alt61 == 1:
4972 # C.g:325:33: '+' multiplicative_expression
4973 self.match(self.input, 67, self.FOLLOW_67_in_additive_expression1214)
4974 if self.failed:
4975 return
4976 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1216)
4977 self.multiplicative_expression()
4978 self.following.pop()
4979 if self.failed:
4980 return
4981
4982
4983 elif alt61 == 2:
4984 # C.g:325:65: '-' multiplicative_expression
4985 self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1220)
4986 if self.failed:
4987 return
4988 self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1222)
4989 self.multiplicative_expression()
4990 self.following.pop()
4991 if self.failed:
4992 return
4993
4994
4995 else:
4996 break #loop61
4997
4998
4999
5000
5001
5002
5003 except RecognitionException, re:
5004 self.reportError(re)
5005 self.recover(self.input, re)
5006 finally:
5007 if self.backtracking > 0:
5008 self.memoize(self.input, 37, additive_expression_StartIndex)
5009
5010 pass
5011
5012 return
5013
5014 # $ANTLR end additive_expression
5015
5016
5017 # $ANTLR start multiplicative_expression
5018 # C.g:328:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
5019 def multiplicative_expression(self, ):
5020
5021 multiplicative_expression_StartIndex = self.input.index()
5022 try:
5023 try:
5024 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
5025 return
5026
5027 # C.g:329:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
5028 # C.g:329:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5029 # C.g:329:4: ( cast_expression )
5030 # C.g:329:5: cast_expression
5031 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1236)
5032 self.cast_expression()
5033 self.following.pop()
5034 if self.failed:
5035 return
5036
5037
5038
5039 # C.g:329:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
5040 while True: #loop62
5041 alt62 = 4
5042 LA62 = self.input.LA(1)
5043 if LA62 == 65:
5044 alt62 = 1
5045 elif LA62 == 69:
5046 alt62 = 2
5047 elif LA62 == 70:
5048 alt62 = 3
5049
5050 if alt62 == 1:
5051 # C.g:329:23: '*' cast_expression
5052 self.match(self.input, 65, self.FOLLOW_65_in_multiplicative_expression1240)
5053 if self.failed:
5054 return
5055 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1242)
5056 self.cast_expression()
5057 self.following.pop()
5058 if self.failed:
5059 return
5060
5061
5062 elif alt62 == 2:
5063 # C.g:329:45: '/' cast_expression
5064 self.match(self.input, 69, self.FOLLOW_69_in_multiplicative_expression1246)
5065 if self.failed:
5066 return
5067 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1248)
5068 self.cast_expression()
5069 self.following.pop()
5070 if self.failed:
5071 return
5072
5073
5074 elif alt62 == 3:
5075 # C.g:329:67: '%' cast_expression
5076 self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1252)
5077 if self.failed:
5078 return
5079 self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1254)
5080 self.cast_expression()
5081 self.following.pop()
5082 if self.failed:
5083 return
5084
5085
5086 else:
5087 break #loop62
5088
5089
5090
5091
5092
5093
5094 except RecognitionException, re:
5095 self.reportError(re)
5096 self.recover(self.input, re)
5097 finally:
5098 if self.backtracking > 0:
5099 self.memoize(self.input, 38, multiplicative_expression_StartIndex)
5100
5101 pass
5102
5103 return
5104
5105 # $ANTLR end multiplicative_expression
5106
5107
5108 # $ANTLR start cast_expression
5109 # C.g:332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
5110 def cast_expression(self, ):
5111
5112 cast_expression_StartIndex = self.input.index()
5113 try:
5114 try:
5115 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
5116 return
5117
5118 # C.g:333:2: ( '(' type_name ')' cast_expression | unary_expression )
5119 alt63 = 2
5120 LA63_0 = self.input.LA(1)
5121
5122 if (LA63_0 == 61) :
5123 LA63 = self.input.LA(2)
5124 if LA63 == IDENTIFIER:
5125 LA63_13 = self.input.LA(3)
5126
5127 if (self.synpred108()) :
5128 alt63 = 1
5129 elif (True) :
5130 alt63 = 2
5131 else:
5132 if self.backtracking > 0:
5133 self.failed = True
5134 return
5135
5136 nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 13, self.input)
5137
5138 raise nvae
5139
5140 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 == 61 or LA63 == 65 or LA63 == 67 or LA63 == 68 or LA63 == 71 or LA63 == 72 or LA63 == 73 or LA63 == 76 or LA63 == 77 or LA63 == 78:
5141 alt63 = 2
5142 elif 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:
5143 alt63 = 1
5144 else:
5145 if self.backtracking > 0:
5146 self.failed = True
5147 return
5148
5149 nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
5150
5151 raise nvae
5152
5153 elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 65 or (67 <= LA63_0 <= 68) or (71 <= LA63_0 <= 73) or (76 <= LA63_0 <= 78)) :
5154 alt63 = 2
5155 else:
5156 if self.backtracking > 0:
5157 self.failed = True
5158 return
5159
5160 nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
5161
5162 raise nvae
5163
5164 if alt63 == 1:
5165 # C.g:333:4: '(' type_name ')' cast_expression
5166 self.match(self.input, 61, self.FOLLOW_61_in_cast_expression1267)
5167 if self.failed:
5168 return
5169 self.following.append(self.FOLLOW_type_name_in_cast_expression1269)
5170 self.type_name()
5171 self.following.pop()
5172 if self.failed:
5173 return
5174 self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1271)
5175 if self.failed:
5176 return
5177 self.following.append(self.FOLLOW_cast_expression_in_cast_expression1273)
5178 self.cast_expression()
5179 self.following.pop()
5180 if self.failed:
5181 return
5182
5183
5184 elif alt63 == 2:
5185 # C.g:334:4: unary_expression
5186 self.following.append(self.FOLLOW_unary_expression_in_cast_expression1278)
5187 self.unary_expression()
5188 self.following.pop()
5189 if self.failed:
5190 return
5191
5192
5193
5194 except RecognitionException, re:
5195 self.reportError(re)
5196 self.recover(self.input, re)
5197 finally:
5198 if self.backtracking > 0:
5199 self.memoize(self.input, 39, cast_expression_StartIndex)
5200
5201 pass
5202
5203 return
5204
5205 # $ANTLR end cast_expression
5206
5207
5208 # $ANTLR start unary_expression
5209 # C.g:337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
5210 def unary_expression(self, ):
5211
5212 unary_expression_StartIndex = self.input.index()
5213 try:
5214 try:
5215 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
5216 return
5217
5218 # C.g:338:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
5219 alt64 = 6
5220 LA64 = self.input.LA(1)
5221 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 == 61:
5222 alt64 = 1
5223 elif LA64 == 71:
5224 alt64 = 2
5225 elif LA64 == 72:
5226 alt64 = 3
5227 elif LA64 == 65 or LA64 == 67 or LA64 == 68 or LA64 == 76 or LA64 == 77 or LA64 == 78:
5228 alt64 = 4
5229 elif LA64 == 73:
5230 LA64_12 = self.input.LA(2)
5231
5232 if (LA64_12 == 61) :
5233 LA64_13 = self.input.LA(3)
5234
5235 if (self.synpred113()) :
5236 alt64 = 5
5237 elif (True) :
5238 alt64 = 6
5239 else:
5240 if self.backtracking > 0:
5241 self.failed = True
5242 return
5243
5244 nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self.input)
5245
5246 raise nvae
5247
5248 elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 65 or (67 <= LA64_12 <= 68) or (71 <= LA64_12 <= 73) or (76 <= LA64_12 <= 78)) :
5249 alt64 = 5
5250 else:
5251 if self.backtracking > 0:
5252 self.failed = True
5253 return
5254
5255 nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self.input)
5256
5257 raise nvae
5258
5259 else:
5260 if self.backtracking > 0:
5261 self.failed = True
5262 return
5263
5264 nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self.input)
5265
5266 raise nvae
5267
5268 if alt64 == 1:
5269 # C.g:338:4: postfix_expression
5270 self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1289)
5271 self.postfix_expression()
5272 self.following.pop()
5273 if self.failed:
5274 return
5275
5276
5277 elif alt64 == 2:
5278 # C.g:339:4: '++' unary_expression
5279 self.match(self.input, 71, self.FOLLOW_71_in_unary_expression1294)
5280 if self.failed:
5281 return
5282 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1296)
5283 self.unary_expression()
5284 self.following.pop()
5285 if self.failed:
5286 return
5287
5288
5289 elif alt64 == 3:
5290 # C.g:340:4: '--' unary_expression
5291 self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1301)
5292 if self.failed:
5293 return
5294 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1303)
5295 self.unary_expression()
5296 self.following.pop()
5297 if self.failed:
5298 return
5299
5300
5301 elif alt64 == 4:
5302 # C.g:341:4: unary_operator cast_expression
5303 self.following.append(self.FOLLOW_unary_operator_in_unary_expression1308)
5304 self.unary_operator()
5305 self.following.pop()
5306 if self.failed:
5307 return
5308 self.following.append(self.FOLLOW_cast_expression_in_unary_expression1310)
5309 self.cast_expression()
5310 self.following.pop()
5311 if self.failed:
5312 return
5313
5314
5315 elif alt64 == 5:
5316 # C.g:342:4: 'sizeof' unary_expression
5317 self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1315)
5318 if self.failed:
5319 return
5320 self.following.append(self.FOLLOW_unary_expression_in_unary_expression1317)
5321 self.unary_expression()
5322 self.following.pop()
5323 if self.failed:
5324 return
5325
5326
5327 elif alt64 == 6:
5328 # C.g:343:4: 'sizeof' '(' type_name ')'
5329 self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1322)
5330 if self.failed:
5331 return
5332 self.match(self.input, 61, self.FOLLOW_61_in_unary_expression1324)
5333 if self.failed:
5334 return
5335 self.following.append(self.FOLLOW_type_name_in_unary_expression1326)
5336 self.type_name()
5337 self.following.pop()
5338 if self.failed:
5339 return
5340 self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1328)
5341 if self.failed:
5342 return
5343
5344
5345
5346 except RecognitionException, re:
5347 self.reportError(re)
5348 self.recover(self.input, re)
5349 finally:
5350 if self.backtracking > 0:
5351 self.memoize(self.input, 40, unary_expression_StartIndex)
5352
5353 pass
5354
5355 return
5356
5357 # $ANTLR end unary_expression
5358
5359
5360 # $ANTLR start postfix_expression
5361 # C.g:346:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
5362 def postfix_expression(self, ):
5363 self.postfix_expression_stack.append(postfix_expression_scope())
5364 postfix_expression_StartIndex = self.input.index()
5365 a = None
5366 b = None
5367 x = None
5368 y = None
5369 z = None
5370 p = None
5371
5372 c = None
5373
5374
5375
5376 self.postfix_expression_stack[-1].FuncCallText = ''
5377
5378 try:
5379 try:
5380 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
5381 return
5382
5383 # C.g:353:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
5384 # C.g:353:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5385 self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1352)
5386 p = self.primary_expression()
5387 self.following.pop()
5388 if self.failed:
5389 return
5390 if self.backtracking == 0:
5391 self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)
5392
5393 # C.g:354:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
5394 while True: #loop65
5395 alt65 = 10
5396 LA65 = self.input.LA(1)
5397 if LA65 == 65:
5398 LA65_1 = self.input.LA(2)
5399
5400 if (LA65_1 == IDENTIFIER) :
5401 LA65_30 = self.input.LA(3)
5402
5403 if (self.synpred119()) :
5404 alt65 = 6
5405
5406
5407
5408
5409 elif LA65 == 63:
5410 alt65 = 1
5411 elif LA65 == 61:
5412 LA65 = self.input.LA(2)
5413 if LA65 == 62:
5414 alt65 = 2
5415 elif LA65 == IDENTIFIER:
5416 LA65_43 = self.input.LA(3)
5417
5418 if (self.synpred116()) :
5419 alt65 = 3
5420 elif (self.synpred117()) :
5421 alt65 = 4
5422
5423
5424 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 == 61 or LA65 == 67 or LA65 == 68 or LA65 == 71 or LA65 == 72 or LA65 == 73 or LA65 == 76 or LA65 == 77 or LA65 == 78:
5425 alt65 = 3
5426 elif LA65 == 65:
5427 LA65_53 = self.input.LA(3)
5428
5429 if (self.synpred116()) :
5430 alt65 = 3
5431 elif (self.synpred117()) :
5432 alt65 = 4
5433
5434
5435 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:
5436 alt65 = 4
5437
5438 elif LA65 == 74:
5439 alt65 = 5
5440 elif LA65 == 75:
5441 alt65 = 7
5442 elif LA65 == 71:
5443 alt65 = 8
5444 elif LA65 == 72:
5445 alt65 = 9
5446
5447 if alt65 == 1:
5448 # C.g:354:13: '[' expression ']'
5449 self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1368)
5450 if self.failed:
5451 return
5452 self.following.append(self.FOLLOW_expression_in_postfix_expression1370)
5453 self.expression()
5454 self.following.pop()
5455 if self.failed:
5456 return
5457 self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1372)
5458 if self.failed:
5459 return
5460
5461
5462 elif alt65 == 2:
5463 # C.g:355:13: '(' a= ')'
5464 self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1386)
5465 if self.failed:
5466 return
5467 a = self.input.LT(1)
5468 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1390)
5469 if self.failed:
5470 return
5471 if self.backtracking == 0:
5472 self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
5473
5474
5475
5476 elif alt65 == 3:
5477 # C.g:356:13: '(' c= argument_expression_list b= ')'
5478 self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1405)
5479 if self.failed:
5480 return
5481 self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1409)
5482 c = self.argument_expression_list()
5483 self.following.pop()
5484 if self.failed:
5485 return
5486 b = self.input.LT(1)
5487 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1413)
5488 if self.failed:
5489 return
5490 if self.backtracking == 0:
5491 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))
5492
5493
5494
5495 elif alt65 == 4:
5496 # C.g:357:13: '(' macro_parameter_list ')'
5497 self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1429)
5498 if self.failed:
5499 return
5500 self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1431)
5501 self.macro_parameter_list()
5502 self.following.pop()
5503 if self.failed:
5504 return
5505 self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1433)
5506 if self.failed:
5507 return
5508
5509
5510 elif alt65 == 5:
5511 # C.g:358:13: '.' x= IDENTIFIER
5512 self.match(self.input, 74, self.FOLLOW_74_in_postfix_expression1447)
5513 if self.failed:
5514 return
5515 x = self.input.LT(1)
5516 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1451)
5517 if self.failed:
5518 return
5519 if self.backtracking == 0:
5520 self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
5521
5522
5523
5524 elif alt65 == 6:
5525 # C.g:359:13: '*' y= IDENTIFIER
5526 self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1467)
5527 if self.failed:
5528 return
5529 y = self.input.LT(1)
5530 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1471)
5531 if self.failed:
5532 return
5533 if self.backtracking == 0:
5534 self.postfix_expression_stack[-1].FuncCallText = y.text
5535
5536
5537
5538 elif alt65 == 7:
5539 # C.g:360:13: '->' z= IDENTIFIER
5540 self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1487)
5541 if self.failed:
5542 return
5543 z = self.input.LT(1)
5544 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1491)
5545 if self.failed:
5546 return
5547 if self.backtracking == 0:
5548 self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
5549
5550
5551
5552 elif alt65 == 8:
5553 # C.g:361:13: '++'
5554 self.match(self.input, 71, self.FOLLOW_71_in_postfix_expression1507)
5555 if self.failed:
5556 return
5557
5558
5559 elif alt65 == 9:
5560 # C.g:362:13: '--'
5561 self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1521)
5562 if self.failed:
5563 return
5564
5565
5566 else:
5567 break #loop65
5568
5569
5570
5571
5572
5573
5574 except RecognitionException, re:
5575 self.reportError(re)
5576 self.recover(self.input, re)
5577 finally:
5578 if self.backtracking > 0:
5579 self.memoize(self.input, 41, postfix_expression_StartIndex)
5580
5581 self.postfix_expression_stack.pop()
5582 pass
5583
5584 return
5585
5586 # $ANTLR end postfix_expression
5587
5588
5589 # $ANTLR start macro_parameter_list
5590 # C.g:366:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
5591 def macro_parameter_list(self, ):
5592
5593 macro_parameter_list_StartIndex = self.input.index()
5594 try:
5595 try:
5596 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
5597 return
5598
5599 # C.g:367:2: ( parameter_declaration ( ',' parameter_declaration )* )
5600 # C.g:367:4: parameter_declaration ( ',' parameter_declaration )*
5601 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1544)
5602 self.parameter_declaration()
5603 self.following.pop()
5604 if self.failed:
5605 return
5606 # C.g:367:26: ( ',' parameter_declaration )*
5607 while True: #loop66
5608 alt66 = 2
5609 LA66_0 = self.input.LA(1)
5610
5611 if (LA66_0 == 27) :
5612 alt66 = 1
5613
5614
5615 if alt66 == 1:
5616 # C.g:367:27: ',' parameter_declaration
5617 self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1547)
5618 if self.failed:
5619 return
5620 self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1549)
5621 self.parameter_declaration()
5622 self.following.pop()
5623 if self.failed:
5624 return
5625
5626
5627 else:
5628 break #loop66
5629
5630
5631
5632
5633
5634
5635 except RecognitionException, re:
5636 self.reportError(re)
5637 self.recover(self.input, re)
5638 finally:
5639 if self.backtracking > 0:
5640 self.memoize(self.input, 42, macro_parameter_list_StartIndex)
5641
5642 pass
5643
5644 return
5645
5646 # $ANTLR end macro_parameter_list
5647
5648
5649 # $ANTLR start unary_operator
5650 # C.g:370:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
5651 def unary_operator(self, ):
5652
5653 unary_operator_StartIndex = self.input.index()
5654 try:
5655 try:
5656 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
5657 return
5658
5659 # C.g:371:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
5660 # C.g:
5661 if self.input.LA(1) == 65 or (67 <= self.input.LA(1) <= 68) or (76 <= self.input.LA(1) <= 78):
5662 self.input.consume();
5663 self.errorRecovery = False
5664 self.failed = False
5665
5666 else:
5667 if self.backtracking > 0:
5668 self.failed = True
5669 return
5670
5671 mse = MismatchedSetException(None, self.input)
5672 self.recoverFromMismatchedSet(
5673 self.input, mse, self.FOLLOW_set_in_unary_operator0
5674 )
5675 raise mse
5676
5677
5678
5679
5680
5681
5682 except RecognitionException, re:
5683 self.reportError(re)
5684 self.recover(self.input, re)
5685 finally:
5686 if self.backtracking > 0:
5687 self.memoize(self.input, 43, unary_operator_StartIndex)
5688
5689 pass
5690
5691 return
5692
5693 # $ANTLR end unary_operator
5694
5695 class primary_expression_return(object):
5696 def __init__(self):
5697 self.start = None
5698 self.stop = None
5699
5700
5701
5702 # $ANTLR start primary_expression
5703 # C.g:379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
5704 def primary_expression(self, ):
5705
5706 retval = self.primary_expression_return()
5707 retval.start = self.input.LT(1)
5708 primary_expression_StartIndex = self.input.index()
5709 try:
5710 try:
5711 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
5712 return retval
5713
5714 # C.g:380:2: ( IDENTIFIER | constant | '(' expression ')' )
5715 alt67 = 3
5716 LA67 = self.input.LA(1)
5717 if LA67 == IDENTIFIER:
5718 LA67_1 = self.input.LA(2)
5719
5720 if (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
5721 alt67 = 2
5722 elif (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 (61 <= LA67_1 <= 65) or (67 <= LA67_1 <= 72) or (74 <= LA67_1 <= 76) or (79 <= LA67_1 <= 101)) :
5723 alt67 = 1
5724 else:
5725 if self.backtracking > 0:
5726 self.failed = True
5727 return retval
5728
5729 nvae = NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input)
5730
5731 raise nvae
5732
5733 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:
5734 alt67 = 2
5735 elif LA67 == 61:
5736 alt67 = 3
5737 else:
5738 if self.backtracking > 0:
5739 self.failed = True
5740 return retval
5741
5742 nvae = NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
5743
5744 raise nvae
5745
5746 if alt67 == 1:
5747 # C.g:380:4: IDENTIFIER
5748 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1598)
5749 if self.failed:
5750 return retval
5751
5752
5753 elif alt67 == 2:
5754 # C.g:381:4: constant
5755 self.following.append(self.FOLLOW_constant_in_primary_expression1603)
5756 self.constant()
5757 self.following.pop()
5758 if self.failed:
5759 return retval
5760
5761
5762 elif alt67 == 3:
5763 # C.g:382:4: '(' expression ')'
5764 self.match(self.input, 61, self.FOLLOW_61_in_primary_expression1608)
5765 if self.failed:
5766 return retval
5767 self.following.append(self.FOLLOW_expression_in_primary_expression1610)
5768 self.expression()
5769 self.following.pop()
5770 if self.failed:
5771 return retval
5772 self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1612)
5773 if self.failed:
5774 return retval
5775
5776
5777 retval.stop = self.input.LT(-1)
5778
5779
5780 except RecognitionException, re:
5781 self.reportError(re)
5782 self.recover(self.input, re)
5783 finally:
5784 if self.backtracking > 0:
5785 self.memoize(self.input, 44, primary_expression_StartIndex)
5786
5787 pass
5788
5789 return retval
5790
5791 # $ANTLR end primary_expression
5792
5793
5794 # $ANTLR start constant
5795 # C.g:385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
5796 def constant(self, ):
5797
5798 constant_StartIndex = self.input.index()
5799 try:
5800 try:
5801 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
5802 return
5803
5804 # C.g:386:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
5805 alt72 = 6
5806 LA72 = self.input.LA(1)
5807 if LA72 == HEX_LITERAL:
5808 alt72 = 1
5809 elif LA72 == OCTAL_LITERAL:
5810 alt72 = 2
5811 elif LA72 == DECIMAL_LITERAL:
5812 alt72 = 3
5813 elif LA72 == CHARACTER_LITERAL:
5814 alt72 = 4
5815 elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
5816 alt72 = 5
5817 elif LA72 == FLOATING_POINT_LITERAL:
5818 alt72 = 6
5819 else:
5820 if self.backtracking > 0:
5821 self.failed = True
5822 return
5823
5824 nvae = NoViableAltException("385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input)
5825
5826 raise nvae
5827
5828 if alt72 == 1:
5829 # C.g:386:9: HEX_LITERAL
5830 self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1628)
5831 if self.failed:
5832 return
5833
5834
5835 elif alt72 == 2:
5836 # C.g:387:9: OCTAL_LITERAL
5837 self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1638)
5838 if self.failed:
5839 return
5840
5841
5842 elif alt72 == 3:
5843 # C.g:388:9: DECIMAL_LITERAL
5844 self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1648)
5845 if self.failed:
5846 return
5847
5848
5849 elif alt72 == 4:
5850 # C.g:389:7: CHARACTER_LITERAL
5851 self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1656)
5852 if self.failed:
5853 return
5854
5855
5856 elif alt72 == 5:
5857 # C.g:390:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
5858 # C.g:390:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
5859 cnt70 = 0
5860 while True: #loop70
5861 alt70 = 2
5862 LA70_0 = self.input.LA(1)
5863
5864 if (LA70_0 == IDENTIFIER) :
5865 LA70_1 = self.input.LA(2)
5866
5867 if (LA70_1 == IDENTIFIER) :
5868 LA70_61 = self.input.LA(3)
5869
5870 if (self.synpred137()) :
5871 alt70 = 1
5872
5873
5874 elif (LA70_1 == STRING_LITERAL) :
5875 alt70 = 1
5876
5877
5878 elif (LA70_0 == STRING_LITERAL) :
5879 alt70 = 1
5880
5881
5882 if alt70 == 1:
5883 # C.g:390:8: ( IDENTIFIER )* ( STRING_LITERAL )+
5884 # C.g:390:8: ( IDENTIFIER )*
5885 while True: #loop68
5886 alt68 = 2
5887 LA68_0 = self.input.LA(1)
5888
5889 if (LA68_0 == IDENTIFIER) :
5890 alt68 = 1
5891
5892
5893 if alt68 == 1:
5894 # C.g:0:0: IDENTIFIER
5895 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1665)
5896 if self.failed:
5897 return
5898
5899
5900 else:
5901 break #loop68
5902
5903
5904 # C.g:390:20: ( STRING_LITERAL )+
5905 cnt69 = 0
5906 while True: #loop69
5907 alt69 = 2
5908 LA69_0 = self.input.LA(1)
5909
5910 if (LA69_0 == STRING_LITERAL) :
5911 LA69_31 = self.input.LA(2)
5912
5913 if (self.synpred136()) :
5914 alt69 = 1
5915
5916
5917
5918
5919 if alt69 == 1:
5920 # C.g:0:0: STRING_LITERAL
5921 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1668)
5922 if self.failed:
5923 return
5924
5925
5926 else:
5927 if cnt69 >= 1:
5928 break #loop69
5929
5930 if self.backtracking > 0:
5931 self.failed = True
5932 return
5933
5934 eee = EarlyExitException(69, self.input)
5935 raise eee
5936
5937 cnt69 += 1
5938
5939
5940
5941
5942 else:
5943 if cnt70 >= 1:
5944 break #loop70
5945
5946 if self.backtracking > 0:
5947 self.failed = True
5948 return
5949
5950 eee = EarlyExitException(70, self.input)
5951 raise eee
5952
5953 cnt70 += 1
5954
5955
5956 # C.g:390:38: ( IDENTIFIER )*
5957 while True: #loop71
5958 alt71 = 2
5959 LA71_0 = self.input.LA(1)
5960
5961 if (LA71_0 == IDENTIFIER) :
5962 alt71 = 1
5963
5964
5965 if alt71 == 1:
5966 # C.g:0:0: IDENTIFIER
5967 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1673)
5968 if self.failed:
5969 return
5970
5971
5972 else:
5973 break #loop71
5974
5975
5976
5977
5978 elif alt72 == 6:
5979 # C.g:391:9: FLOATING_POINT_LITERAL
5980 self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1684)
5981 if self.failed:
5982 return
5983
5984
5985
5986 except RecognitionException, re:
5987 self.reportError(re)
5988 self.recover(self.input, re)
5989 finally:
5990 if self.backtracking > 0:
5991 self.memoize(self.input, 45, constant_StartIndex)
5992
5993 pass
5994
5995 return
5996
5997 # $ANTLR end constant
5998
5999 class expression_return(object):
6000 def __init__(self):
6001 self.start = None
6002 self.stop = None
6003
6004
6005
6006 # $ANTLR start expression
6007 # C.g:396:1: expression : assignment_expression ( ',' assignment_expression )* ;
6008 def expression(self, ):
6009
6010 retval = self.expression_return()
6011 retval.start = self.input.LT(1)
6012 expression_StartIndex = self.input.index()
6013 try:
6014 try:
6015 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
6016 return retval
6017
6018 # C.g:397:2: ( assignment_expression ( ',' assignment_expression )* )
6019 # C.g:397:4: assignment_expression ( ',' assignment_expression )*
6020 self.following.append(self.FOLLOW_assignment_expression_in_expression1700)
6021 self.assignment_expression()
6022 self.following.pop()
6023 if self.failed:
6024 return retval
6025 # C.g:397:26: ( ',' assignment_expression )*
6026 while True: #loop73
6027 alt73 = 2
6028 LA73_0 = self.input.LA(1)
6029
6030 if (LA73_0 == 27) :
6031 alt73 = 1
6032
6033
6034 if alt73 == 1:
6035 # C.g:397:27: ',' assignment_expression
6036 self.match(self.input, 27, self.FOLLOW_27_in_expression1703)
6037 if self.failed:
6038 return retval
6039 self.following.append(self.FOLLOW_assignment_expression_in_expression1705)
6040 self.assignment_expression()
6041 self.following.pop()
6042 if self.failed:
6043 return retval
6044
6045
6046 else:
6047 break #loop73
6048
6049
6050
6051
6052
6053 retval.stop = self.input.LT(-1)
6054
6055
6056 except RecognitionException, re:
6057 self.reportError(re)
6058 self.recover(self.input, re)
6059 finally:
6060 if self.backtracking > 0:
6061 self.memoize(self.input, 46, expression_StartIndex)
6062
6063 pass
6064
6065 return retval
6066
6067 # $ANTLR end expression
6068
6069
6070 # $ANTLR start constant_expression
6071 # C.g:400:1: constant_expression : conditional_expression ;
6072 def constant_expression(self, ):
6073
6074 constant_expression_StartIndex = self.input.index()
6075 try:
6076 try:
6077 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
6078 return
6079
6080 # C.g:401:2: ( conditional_expression )
6081 # C.g:401:4: conditional_expression
6082 self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1718)
6083 self.conditional_expression()
6084 self.following.pop()
6085 if self.failed:
6086 return
6087
6088
6089
6090
6091 except RecognitionException, re:
6092 self.reportError(re)
6093 self.recover(self.input, re)
6094 finally:
6095 if self.backtracking > 0:
6096 self.memoize(self.input, 47, constant_expression_StartIndex)
6097
6098 pass
6099
6100 return
6101
6102 # $ANTLR end constant_expression
6103
6104
6105 # $ANTLR start assignment_expression
6106 # C.g:404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
6107 def assignment_expression(self, ):
6108
6109 assignment_expression_StartIndex = self.input.index()
6110 try:
6111 try:
6112 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
6113 return
6114
6115 # C.g:405:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
6116 alt74 = 2
6117 LA74 = self.input.LA(1)
6118 if LA74 == IDENTIFIER:
6119 LA74 = self.input.LA(2)
6120 if LA74 == STRING_LITERAL:
6121 LA74_13 = self.input.LA(3)
6122
6123 if (self.synpred141()) :
6124 alt74 = 1
6125 elif (True) :
6126 alt74 = 2
6127 else:
6128 if self.backtracking > 0:
6129 self.failed = True
6130 return
6131
6132 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
6133
6134 raise nvae
6135
6136 elif LA74 == IDENTIFIER:
6137 LA74_14 = self.input.LA(3)
6138
6139 if (self.synpred141()) :
6140 alt74 = 1
6141 elif (True) :
6142 alt74 = 2
6143 else:
6144 if self.backtracking > 0:
6145 self.failed = True
6146 return
6147
6148 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
6149
6150 raise nvae
6151
6152 elif LA74 == 63:
6153 LA74_15 = self.input.LA(3)
6154
6155 if (self.synpred141()) :
6156 alt74 = 1
6157 elif (True) :
6158 alt74 = 2
6159 else:
6160 if self.backtracking > 0:
6161 self.failed = True
6162 return
6163
6164 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
6165
6166 raise nvae
6167
6168 elif LA74 == 61:
6169 LA74_16 = self.input.LA(3)
6170
6171 if (self.synpred141()) :
6172 alt74 = 1
6173 elif (True) :
6174 alt74 = 2
6175 else:
6176 if self.backtracking > 0:
6177 self.failed = True
6178 return
6179
6180 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
6181
6182 raise nvae
6183
6184 elif LA74 == 74:
6185 LA74_17 = self.input.LA(3)
6186
6187 if (self.synpred141()) :
6188 alt74 = 1
6189 elif (True) :
6190 alt74 = 2
6191 else:
6192 if self.backtracking > 0:
6193 self.failed = True
6194 return
6195
6196 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
6197
6198 raise nvae
6199
6200 elif LA74 == 65:
6201 LA74_18 = self.input.LA(3)
6202
6203 if (self.synpred141()) :
6204 alt74 = 1
6205 elif (True) :
6206 alt74 = 2
6207 else:
6208 if self.backtracking > 0:
6209 self.failed = True
6210 return
6211
6212 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
6213
6214 raise nvae
6215
6216 elif LA74 == 75:
6217 LA74_19 = self.input.LA(3)
6218
6219 if (self.synpred141()) :
6220 alt74 = 1
6221 elif (True) :
6222 alt74 = 2
6223 else:
6224 if self.backtracking > 0:
6225 self.failed = True
6226 return
6227
6228 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
6229
6230 raise nvae
6231
6232 elif LA74 == 71:
6233 LA74_20 = self.input.LA(3)
6234
6235 if (self.synpred141()) :
6236 alt74 = 1
6237 elif (True) :
6238 alt74 = 2
6239 else:
6240 if self.backtracking > 0:
6241 self.failed = True
6242 return
6243
6244 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 20, self.input)
6245
6246 raise nvae
6247
6248 elif LA74 == 72:
6249 LA74_21 = self.input.LA(3)
6250
6251 if (self.synpred141()) :
6252 alt74 = 1
6253 elif (True) :
6254 alt74 = 2
6255 else:
6256 if self.backtracking > 0:
6257 self.failed = True
6258 return
6259
6260 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
6261
6262 raise nvae
6263
6264 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 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:
6265 alt74 = 2
6266 elif LA74 == 28 or LA74 == 79 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:
6267 alt74 = 1
6268 else:
6269 if self.backtracking > 0:
6270 self.failed = True
6271 return
6272
6273 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input)
6274
6275 raise nvae
6276
6277 elif LA74 == HEX_LITERAL:
6278 LA74 = self.input.LA(2)
6279 if LA74 == 63:
6280 LA74_44 = self.input.LA(3)
6281
6282 if (self.synpred141()) :
6283 alt74 = 1
6284 elif (True) :
6285 alt74 = 2
6286 else:
6287 if self.backtracking > 0:
6288 self.failed = True
6289 return
6290
6291 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
6292
6293 raise nvae
6294
6295 elif LA74 == 61:
6296 LA74_45 = self.input.LA(3)
6297
6298 if (self.synpred141()) :
6299 alt74 = 1
6300 elif (True) :
6301 alt74 = 2
6302 else:
6303 if self.backtracking > 0:
6304 self.failed = True
6305 return
6306
6307 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
6308
6309 raise nvae
6310
6311 elif LA74 == 74:
6312 LA74_46 = self.input.LA(3)
6313
6314 if (self.synpred141()) :
6315 alt74 = 1
6316 elif (True) :
6317 alt74 = 2
6318 else:
6319 if self.backtracking > 0:
6320 self.failed = True
6321 return
6322
6323 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
6324
6325 raise nvae
6326
6327 elif LA74 == 65:
6328 LA74_47 = self.input.LA(3)
6329
6330 if (self.synpred141()) :
6331 alt74 = 1
6332 elif (True) :
6333 alt74 = 2
6334 else:
6335 if self.backtracking > 0:
6336 self.failed = True
6337 return
6338
6339 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
6340
6341 raise nvae
6342
6343 elif LA74 == 75:
6344 LA74_48 = self.input.LA(3)
6345
6346 if (self.synpred141()) :
6347 alt74 = 1
6348 elif (True) :
6349 alt74 = 2
6350 else:
6351 if self.backtracking > 0:
6352 self.failed = True
6353 return
6354
6355 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
6356
6357 raise nvae
6358
6359 elif LA74 == 71:
6360 LA74_49 = self.input.LA(3)
6361
6362 if (self.synpred141()) :
6363 alt74 = 1
6364 elif (True) :
6365 alt74 = 2
6366 else:
6367 if self.backtracking > 0:
6368 self.failed = True
6369 return
6370
6371 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
6372
6373 raise nvae
6374
6375 elif LA74 == 72:
6376 LA74_50 = self.input.LA(3)
6377
6378 if (self.synpred141()) :
6379 alt74 = 1
6380 elif (True) :
6381 alt74 = 2
6382 else:
6383 if self.backtracking > 0:
6384 self.failed = True
6385 return
6386
6387 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
6388
6389 raise nvae
6390
6391 elif LA74 == 28 or LA74 == 79 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:
6392 alt74 = 1
6393 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 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:
6394 alt74 = 2
6395 else:
6396 if self.backtracking > 0:
6397 self.failed = True
6398 return
6399
6400 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input)
6401
6402 raise nvae
6403
6404 elif LA74 == OCTAL_LITERAL:
6405 LA74 = self.input.LA(2)
6406 if LA74 == 63:
6407 LA74_73 = self.input.LA(3)
6408
6409 if (self.synpred141()) :
6410 alt74 = 1
6411 elif (True) :
6412 alt74 = 2
6413 else:
6414 if self.backtracking > 0:
6415 self.failed = True
6416 return
6417
6418 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
6419
6420 raise nvae
6421
6422 elif LA74 == 61:
6423 LA74_74 = self.input.LA(3)
6424
6425 if (self.synpred141()) :
6426 alt74 = 1
6427 elif (True) :
6428 alt74 = 2
6429 else:
6430 if self.backtracking > 0:
6431 self.failed = True
6432 return
6433
6434 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
6435
6436 raise nvae
6437
6438 elif LA74 == 74:
6439 LA74_75 = self.input.LA(3)
6440
6441 if (self.synpred141()) :
6442 alt74 = 1
6443 elif (True) :
6444 alt74 = 2
6445 else:
6446 if self.backtracking > 0:
6447 self.failed = True
6448 return
6449
6450 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
6451
6452 raise nvae
6453
6454 elif LA74 == 65:
6455 LA74_76 = self.input.LA(3)
6456
6457 if (self.synpred141()) :
6458 alt74 = 1
6459 elif (True) :
6460 alt74 = 2
6461 else:
6462 if self.backtracking > 0:
6463 self.failed = True
6464 return
6465
6466 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
6467
6468 raise nvae
6469
6470 elif LA74 == 75:
6471 LA74_77 = self.input.LA(3)
6472
6473 if (self.synpred141()) :
6474 alt74 = 1
6475 elif (True) :
6476 alt74 = 2
6477 else:
6478 if self.backtracking > 0:
6479 self.failed = True
6480 return
6481
6482 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
6483
6484 raise nvae
6485
6486 elif LA74 == 71:
6487 LA74_78 = self.input.LA(3)
6488
6489 if (self.synpred141()) :
6490 alt74 = 1
6491 elif (True) :
6492 alt74 = 2
6493 else:
6494 if self.backtracking > 0:
6495 self.failed = True
6496 return
6497
6498 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
6499
6500 raise nvae
6501
6502 elif LA74 == 72:
6503 LA74_79 = self.input.LA(3)
6504
6505 if (self.synpred141()) :
6506 alt74 = 1
6507 elif (True) :
6508 alt74 = 2
6509 else:
6510 if self.backtracking > 0:
6511 self.failed = True
6512 return
6513
6514 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
6515
6516 raise nvae
6517
6518 elif LA74 == 28 or LA74 == 79 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:
6519 alt74 = 1
6520 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 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:
6521 alt74 = 2
6522 else:
6523 if self.backtracking > 0:
6524 self.failed = True
6525 return
6526
6527 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input)
6528
6529 raise nvae
6530
6531 elif LA74 == DECIMAL_LITERAL:
6532 LA74 = self.input.LA(2)
6533 if LA74 == 63:
6534 LA74_102 = self.input.LA(3)
6535
6536 if (self.synpred141()) :
6537 alt74 = 1
6538 elif (True) :
6539 alt74 = 2
6540 else:
6541 if self.backtracking > 0:
6542 self.failed = True
6543 return
6544
6545 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
6546
6547 raise nvae
6548
6549 elif LA74 == 61:
6550 LA74_103 = self.input.LA(3)
6551
6552 if (self.synpred141()) :
6553 alt74 = 1
6554 elif (True) :
6555 alt74 = 2
6556 else:
6557 if self.backtracking > 0:
6558 self.failed = True
6559 return
6560
6561 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
6562
6563 raise nvae
6564
6565 elif LA74 == 74:
6566 LA74_104 = self.input.LA(3)
6567
6568 if (self.synpred141()) :
6569 alt74 = 1
6570 elif (True) :
6571 alt74 = 2
6572 else:
6573 if self.backtracking > 0:
6574 self.failed = True
6575 return
6576
6577 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
6578
6579 raise nvae
6580
6581 elif LA74 == 65:
6582 LA74_105 = self.input.LA(3)
6583
6584 if (self.synpred141()) :
6585 alt74 = 1
6586 elif (True) :
6587 alt74 = 2
6588 else:
6589 if self.backtracking > 0:
6590 self.failed = True
6591 return
6592
6593 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
6594
6595 raise nvae
6596
6597 elif LA74 == 75:
6598 LA74_106 = self.input.LA(3)
6599
6600 if (self.synpred141()) :
6601 alt74 = 1
6602 elif (True) :
6603 alt74 = 2
6604 else:
6605 if self.backtracking > 0:
6606 self.failed = True
6607 return
6608
6609 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
6610
6611 raise nvae
6612
6613 elif LA74 == 71:
6614 LA74_107 = self.input.LA(3)
6615
6616 if (self.synpred141()) :
6617 alt74 = 1
6618 elif (True) :
6619 alt74 = 2
6620 else:
6621 if self.backtracking > 0:
6622 self.failed = True
6623 return
6624
6625 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
6626
6627 raise nvae
6628
6629 elif LA74 == 72:
6630 LA74_108 = self.input.LA(3)
6631
6632 if (self.synpred141()) :
6633 alt74 = 1
6634 elif (True) :
6635 alt74 = 2
6636 else:
6637 if self.backtracking > 0:
6638 self.failed = True
6639 return
6640
6641 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input)
6642
6643 raise nvae
6644
6645 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 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:
6646 alt74 = 2
6647 elif LA74 == 28 or LA74 == 79 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:
6648 alt74 = 1
6649 else:
6650 if self.backtracking > 0:
6651 self.failed = True
6652 return
6653
6654 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input)
6655
6656 raise nvae
6657
6658 elif LA74 == CHARACTER_LITERAL:
6659 LA74 = self.input.LA(2)
6660 if LA74 == 63:
6661 LA74_131 = self.input.LA(3)
6662
6663 if (self.synpred141()) :
6664 alt74 = 1
6665 elif (True) :
6666 alt74 = 2
6667 else:
6668 if self.backtracking > 0:
6669 self.failed = True
6670 return
6671
6672 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
6673
6674 raise nvae
6675
6676 elif LA74 == 61:
6677 LA74_132 = self.input.LA(3)
6678
6679 if (self.synpred141()) :
6680 alt74 = 1
6681 elif (True) :
6682 alt74 = 2
6683 else:
6684 if self.backtracking > 0:
6685 self.failed = True
6686 return
6687
6688 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
6689
6690 raise nvae
6691
6692 elif LA74 == 74:
6693 LA74_133 = self.input.LA(3)
6694
6695 if (self.synpred141()) :
6696 alt74 = 1
6697 elif (True) :
6698 alt74 = 2
6699 else:
6700 if self.backtracking > 0:
6701 self.failed = True
6702 return
6703
6704 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
6705
6706 raise nvae
6707
6708 elif LA74 == 65:
6709 LA74_134 = self.input.LA(3)
6710
6711 if (self.synpred141()) :
6712 alt74 = 1
6713 elif (True) :
6714 alt74 = 2
6715 else:
6716 if self.backtracking > 0:
6717 self.failed = True
6718 return
6719
6720 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
6721
6722 raise nvae
6723
6724 elif LA74 == 75:
6725 LA74_135 = self.input.LA(3)
6726
6727 if (self.synpred141()) :
6728 alt74 = 1
6729 elif (True) :
6730 alt74 = 2
6731 else:
6732 if self.backtracking > 0:
6733 self.failed = True
6734 return
6735
6736 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
6737
6738 raise nvae
6739
6740 elif LA74 == 71:
6741 LA74_136 = self.input.LA(3)
6742
6743 if (self.synpred141()) :
6744 alt74 = 1
6745 elif (True) :
6746 alt74 = 2
6747 else:
6748 if self.backtracking > 0:
6749 self.failed = True
6750 return
6751
6752 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
6753
6754 raise nvae
6755
6756 elif LA74 == 72:
6757 LA74_137 = self.input.LA(3)
6758
6759 if (self.synpred141()) :
6760 alt74 = 1
6761 elif (True) :
6762 alt74 = 2
6763 else:
6764 if self.backtracking > 0:
6765 self.failed = True
6766 return
6767
6768 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
6769
6770 raise nvae
6771
6772 elif LA74 == 28 or LA74 == 79 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:
6773 alt74 = 1
6774 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 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:
6775 alt74 = 2
6776 else:
6777 if self.backtracking > 0:
6778 self.failed = True
6779 return
6780
6781 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
6782
6783 raise nvae
6784
6785 elif LA74 == STRING_LITERAL:
6786 LA74 = self.input.LA(2)
6787 if LA74 == IDENTIFIER:
6788 LA74_160 = self.input.LA(3)
6789
6790 if (self.synpred141()) :
6791 alt74 = 1
6792 elif (True) :
6793 alt74 = 2
6794 else:
6795 if self.backtracking > 0:
6796 self.failed = True
6797 return
6798
6799 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
6800
6801 raise nvae
6802
6803 elif LA74 == 63:
6804 LA74_161 = self.input.LA(3)
6805
6806 if (self.synpred141()) :
6807 alt74 = 1
6808 elif (True) :
6809 alt74 = 2
6810 else:
6811 if self.backtracking > 0:
6812 self.failed = True
6813 return
6814
6815 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
6816
6817 raise nvae
6818
6819 elif LA74 == 61:
6820 LA74_162 = self.input.LA(3)
6821
6822 if (self.synpred141()) :
6823 alt74 = 1
6824 elif (True) :
6825 alt74 = 2
6826 else:
6827 if self.backtracking > 0:
6828 self.failed = True
6829 return
6830
6831 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
6832
6833 raise nvae
6834
6835 elif LA74 == 74:
6836 LA74_163 = self.input.LA(3)
6837
6838 if (self.synpred141()) :
6839 alt74 = 1
6840 elif (True) :
6841 alt74 = 2
6842 else:
6843 if self.backtracking > 0:
6844 self.failed = True
6845 return
6846
6847 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
6848
6849 raise nvae
6850
6851 elif LA74 == 65:
6852 LA74_164 = self.input.LA(3)
6853
6854 if (self.synpred141()) :
6855 alt74 = 1
6856 elif (True) :
6857 alt74 = 2
6858 else:
6859 if self.backtracking > 0:
6860 self.failed = True
6861 return
6862
6863 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
6864
6865 raise nvae
6866
6867 elif LA74 == 75:
6868 LA74_165 = self.input.LA(3)
6869
6870 if (self.synpred141()) :
6871 alt74 = 1
6872 elif (True) :
6873 alt74 = 2
6874 else:
6875 if self.backtracking > 0:
6876 self.failed = True
6877 return
6878
6879 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
6880
6881 raise nvae
6882
6883 elif LA74 == 71:
6884 LA74_166 = self.input.LA(3)
6885
6886 if (self.synpred141()) :
6887 alt74 = 1
6888 elif (True) :
6889 alt74 = 2
6890 else:
6891 if self.backtracking > 0:
6892 self.failed = True
6893 return
6894
6895 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
6896
6897 raise nvae
6898
6899 elif LA74 == 72:
6900 LA74_167 = self.input.LA(3)
6901
6902 if (self.synpred141()) :
6903 alt74 = 1
6904 elif (True) :
6905 alt74 = 2
6906 else:
6907 if self.backtracking > 0:
6908 self.failed = True
6909 return
6910
6911 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
6912
6913 raise nvae
6914
6915 elif LA74 == 28 or LA74 == 79 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:
6916 alt74 = 1
6917 elif LA74 == STRING_LITERAL:
6918 LA74_169 = self.input.LA(3)
6919
6920 if (self.synpred141()) :
6921 alt74 = 1
6922 elif (True) :
6923 alt74 = 2
6924 else:
6925 if self.backtracking > 0:
6926 self.failed = True
6927 return
6928
6929 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 169, self.input)
6930
6931 raise nvae
6932
6933 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 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:
6934 alt74 = 2
6935 else:
6936 if self.backtracking > 0:
6937 self.failed = True
6938 return
6939
6940 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input)
6941
6942 raise nvae
6943
6944 elif LA74 == FLOATING_POINT_LITERAL:
6945 LA74 = self.input.LA(2)
6946 if LA74 == 63:
6947 LA74_191 = self.input.LA(3)
6948
6949 if (self.synpred141()) :
6950 alt74 = 1
6951 elif (True) :
6952 alt74 = 2
6953 else:
6954 if self.backtracking > 0:
6955 self.failed = True
6956 return
6957
6958 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
6959
6960 raise nvae
6961
6962 elif LA74 == 61:
6963 LA74_192 = self.input.LA(3)
6964
6965 if (self.synpred141()) :
6966 alt74 = 1
6967 elif (True) :
6968 alt74 = 2
6969 else:
6970 if self.backtracking > 0:
6971 self.failed = True
6972 return
6973
6974 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
6975
6976 raise nvae
6977
6978 elif LA74 == 74:
6979 LA74_193 = self.input.LA(3)
6980
6981 if (self.synpred141()) :
6982 alt74 = 1
6983 elif (True) :
6984 alt74 = 2
6985 else:
6986 if self.backtracking > 0:
6987 self.failed = True
6988 return
6989
6990 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
6991
6992 raise nvae
6993
6994 elif LA74 == 65:
6995 LA74_194 = self.input.LA(3)
6996
6997 if (self.synpred141()) :
6998 alt74 = 1
6999 elif (True) :
7000 alt74 = 2
7001 else:
7002 if self.backtracking > 0:
7003 self.failed = True
7004 return
7005
7006 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
7007
7008 raise nvae
7009
7010 elif LA74 == 75:
7011 LA74_195 = self.input.LA(3)
7012
7013 if (self.synpred141()) :
7014 alt74 = 1
7015 elif (True) :
7016 alt74 = 2
7017 else:
7018 if self.backtracking > 0:
7019 self.failed = True
7020 return
7021
7022 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
7023
7024 raise nvae
7025
7026 elif LA74 == 71:
7027 LA74_196 = self.input.LA(3)
7028
7029 if (self.synpred141()) :
7030 alt74 = 1
7031 elif (True) :
7032 alt74 = 2
7033 else:
7034 if self.backtracking > 0:
7035 self.failed = True
7036 return
7037
7038 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
7039
7040 raise nvae
7041
7042 elif LA74 == 72:
7043 LA74_197 = self.input.LA(3)
7044
7045 if (self.synpred141()) :
7046 alt74 = 1
7047 elif (True) :
7048 alt74 = 2
7049 else:
7050 if self.backtracking > 0:
7051 self.failed = True
7052 return
7053
7054 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input)
7055
7056 raise nvae
7057
7058 elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 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:
7059 alt74 = 2
7060 elif LA74 == 28 or LA74 == 79 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:
7061 alt74 = 1
7062 else:
7063 if self.backtracking > 0:
7064 self.failed = True
7065 return
7066
7067 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
7068
7069 raise nvae
7070
7071 elif LA74 == 61:
7072 LA74 = self.input.LA(2)
7073 if LA74 == IDENTIFIER:
7074 LA74_220 = self.input.LA(3)
7075
7076 if (self.synpred141()) :
7077 alt74 = 1
7078 elif (True) :
7079 alt74 = 2
7080 else:
7081 if self.backtracking > 0:
7082 self.failed = True
7083 return
7084
7085 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input)
7086
7087 raise nvae
7088
7089 elif LA74 == HEX_LITERAL:
7090 LA74_221 = self.input.LA(3)
7091
7092 if (self.synpred141()) :
7093 alt74 = 1
7094 elif (True) :
7095 alt74 = 2
7096 else:
7097 if self.backtracking > 0:
7098 self.failed = True
7099 return
7100
7101 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input)
7102
7103 raise nvae
7104
7105 elif LA74 == OCTAL_LITERAL:
7106 LA74_222 = self.input.LA(3)
7107
7108 if (self.synpred141()) :
7109 alt74 = 1
7110 elif (True) :
7111 alt74 = 2
7112 else:
7113 if self.backtracking > 0:
7114 self.failed = True
7115 return
7116
7117 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input)
7118
7119 raise nvae
7120
7121 elif LA74 == DECIMAL_LITERAL:
7122 LA74_223 = self.input.LA(3)
7123
7124 if (self.synpred141()) :
7125 alt74 = 1
7126 elif (True) :
7127 alt74 = 2
7128 else:
7129 if self.backtracking > 0:
7130 self.failed = True
7131 return
7132
7133 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input)
7134
7135 raise nvae
7136
7137 elif LA74 == CHARACTER_LITERAL:
7138 LA74_224 = self.input.LA(3)
7139
7140 if (self.synpred141()) :
7141 alt74 = 1
7142 elif (True) :
7143 alt74 = 2
7144 else:
7145 if self.backtracking > 0:
7146 self.failed = True
7147 return
7148
7149 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input)
7150
7151 raise nvae
7152
7153 elif LA74 == STRING_LITERAL:
7154 LA74_225 = self.input.LA(3)
7155
7156 if (self.synpred141()) :
7157 alt74 = 1
7158 elif (True) :
7159 alt74 = 2
7160 else:
7161 if self.backtracking > 0:
7162 self.failed = True
7163 return
7164
7165 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input)
7166
7167 raise nvae
7168
7169 elif LA74 == FLOATING_POINT_LITERAL:
7170 LA74_226 = self.input.LA(3)
7171
7172 if (self.synpred141()) :
7173 alt74 = 1
7174 elif (True) :
7175 alt74 = 2
7176 else:
7177 if self.backtracking > 0:
7178 self.failed = True
7179 return
7180
7181 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
7182
7183 raise nvae
7184
7185 elif LA74 == 61:
7186 LA74_227 = self.input.LA(3)
7187
7188 if (self.synpred141()) :
7189 alt74 = 1
7190 elif (True) :
7191 alt74 = 2
7192 else:
7193 if self.backtracking > 0:
7194 self.failed = True
7195 return
7196
7197 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
7198
7199 raise nvae
7200
7201 elif LA74 == 71:
7202 LA74_228 = self.input.LA(3)
7203
7204 if (self.synpred141()) :
7205 alt74 = 1
7206 elif (True) :
7207 alt74 = 2
7208 else:
7209 if self.backtracking > 0:
7210 self.failed = True
7211 return
7212
7213 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
7214
7215 raise nvae
7216
7217 elif LA74 == 72:
7218 LA74_229 = self.input.LA(3)
7219
7220 if (self.synpred141()) :
7221 alt74 = 1
7222 elif (True) :
7223 alt74 = 2
7224 else:
7225 if self.backtracking > 0:
7226 self.failed = True
7227 return
7228
7229 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
7230
7231 raise nvae
7232
7233 elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
7234 LA74_230 = self.input.LA(3)
7235
7236 if (self.synpred141()) :
7237 alt74 = 1
7238 elif (True) :
7239 alt74 = 2
7240 else:
7241 if self.backtracking > 0:
7242 self.failed = True
7243 return
7244
7245 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
7246
7247 raise nvae
7248
7249 elif LA74 == 73:
7250 LA74_231 = self.input.LA(3)
7251
7252 if (self.synpred141()) :
7253 alt74 = 1
7254 elif (True) :
7255 alt74 = 2
7256 else:
7257 if self.backtracking > 0:
7258 self.failed = True
7259 return
7260
7261 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input)
7262
7263 raise nvae
7264
7265 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:
7266 alt74 = 2
7267 else:
7268 if self.backtracking > 0:
7269 self.failed = True
7270 return
7271
7272 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
7273
7274 raise nvae
7275
7276 elif LA74 == 71:
7277 LA74 = self.input.LA(2)
7278 if LA74 == IDENTIFIER:
7279 LA74_244 = self.input.LA(3)
7280
7281 if (self.synpred141()) :
7282 alt74 = 1
7283 elif (True) :
7284 alt74 = 2
7285 else:
7286 if self.backtracking > 0:
7287 self.failed = True
7288 return
7289
7290 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input)
7291
7292 raise nvae
7293
7294 elif LA74 == HEX_LITERAL:
7295 LA74_245 = self.input.LA(3)
7296
7297 if (self.synpred141()) :
7298 alt74 = 1
7299 elif (True) :
7300 alt74 = 2
7301 else:
7302 if self.backtracking > 0:
7303 self.failed = True
7304 return
7305
7306 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input)
7307
7308 raise nvae
7309
7310 elif LA74 == OCTAL_LITERAL:
7311 LA74_246 = self.input.LA(3)
7312
7313 if (self.synpred141()) :
7314 alt74 = 1
7315 elif (True) :
7316 alt74 = 2
7317 else:
7318 if self.backtracking > 0:
7319 self.failed = True
7320 return
7321
7322 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input)
7323
7324 raise nvae
7325
7326 elif LA74 == DECIMAL_LITERAL:
7327 LA74_247 = self.input.LA(3)
7328
7329 if (self.synpred141()) :
7330 alt74 = 1
7331 elif (True) :
7332 alt74 = 2
7333 else:
7334 if self.backtracking > 0:
7335 self.failed = True
7336 return
7337
7338 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input)
7339
7340 raise nvae
7341
7342 elif LA74 == CHARACTER_LITERAL:
7343 LA74_248 = self.input.LA(3)
7344
7345 if (self.synpred141()) :
7346 alt74 = 1
7347 elif (True) :
7348 alt74 = 2
7349 else:
7350 if self.backtracking > 0:
7351 self.failed = True
7352 return
7353
7354 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input)
7355
7356 raise nvae
7357
7358 elif LA74 == STRING_LITERAL:
7359 LA74_249 = self.input.LA(3)
7360
7361 if (self.synpred141()) :
7362 alt74 = 1
7363 elif (True) :
7364 alt74 = 2
7365 else:
7366 if self.backtracking > 0:
7367 self.failed = True
7368 return
7369
7370 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input)
7371
7372 raise nvae
7373
7374 elif LA74 == FLOATING_POINT_LITERAL:
7375 LA74_250 = self.input.LA(3)
7376
7377 if (self.synpred141()) :
7378 alt74 = 1
7379 elif (True) :
7380 alt74 = 2
7381 else:
7382 if self.backtracking > 0:
7383 self.failed = True
7384 return
7385
7386 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
7387
7388 raise nvae
7389
7390 elif LA74 == 61:
7391 LA74_251 = self.input.LA(3)
7392
7393 if (self.synpred141()) :
7394 alt74 = 1
7395 elif (True) :
7396 alt74 = 2
7397 else:
7398 if self.backtracking > 0:
7399 self.failed = True
7400 return
7401
7402 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
7403
7404 raise nvae
7405
7406 elif LA74 == 71:
7407 LA74_252 = self.input.LA(3)
7408
7409 if (self.synpred141()) :
7410 alt74 = 1
7411 elif (True) :
7412 alt74 = 2
7413 else:
7414 if self.backtracking > 0:
7415 self.failed = True
7416 return
7417
7418 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
7419
7420 raise nvae
7421
7422 elif LA74 == 72:
7423 LA74_253 = self.input.LA(3)
7424
7425 if (self.synpred141()) :
7426 alt74 = 1
7427 elif (True) :
7428 alt74 = 2
7429 else:
7430 if self.backtracking > 0:
7431 self.failed = True
7432 return
7433
7434 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
7435
7436 raise nvae
7437
7438 elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
7439 LA74_254 = self.input.LA(3)
7440
7441 if (self.synpred141()) :
7442 alt74 = 1
7443 elif (True) :
7444 alt74 = 2
7445 else:
7446 if self.backtracking > 0:
7447 self.failed = True
7448 return
7449
7450 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
7451
7452 raise nvae
7453
7454 elif LA74 == 73:
7455 LA74_255 = self.input.LA(3)
7456
7457 if (self.synpred141()) :
7458 alt74 = 1
7459 elif (True) :
7460 alt74 = 2
7461 else:
7462 if self.backtracking > 0:
7463 self.failed = True
7464 return
7465
7466 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
7467
7468 raise nvae
7469
7470 else:
7471 if self.backtracking > 0:
7472 self.failed = True
7473 return
7474
7475 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
7476
7477 raise nvae
7478
7479 elif LA74 == 72:
7480 LA74 = self.input.LA(2)
7481 if LA74 == IDENTIFIER:
7482 LA74_256 = self.input.LA(3)
7483
7484 if (self.synpred141()) :
7485 alt74 = 1
7486 elif (True) :
7487 alt74 = 2
7488 else:
7489 if self.backtracking > 0:
7490 self.failed = True
7491 return
7492
7493 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input)
7494
7495 raise nvae
7496
7497 elif LA74 == HEX_LITERAL:
7498 LA74_257 = self.input.LA(3)
7499
7500 if (self.synpred141()) :
7501 alt74 = 1
7502 elif (True) :
7503 alt74 = 2
7504 else:
7505 if self.backtracking > 0:
7506 self.failed = True
7507 return
7508
7509 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input)
7510
7511 raise nvae
7512
7513 elif LA74 == OCTAL_LITERAL:
7514 LA74_258 = self.input.LA(3)
7515
7516 if (self.synpred141()) :
7517 alt74 = 1
7518 elif (True) :
7519 alt74 = 2
7520 else:
7521 if self.backtracking > 0:
7522 self.failed = True
7523 return
7524
7525 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input)
7526
7527 raise nvae
7528
7529 elif LA74 == DECIMAL_LITERAL:
7530 LA74_259 = self.input.LA(3)
7531
7532 if (self.synpred141()) :
7533 alt74 = 1
7534 elif (True) :
7535 alt74 = 2
7536 else:
7537 if self.backtracking > 0:
7538 self.failed = True
7539 return
7540
7541 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input)
7542
7543 raise nvae
7544
7545 elif LA74 == CHARACTER_LITERAL:
7546 LA74_260 = self.input.LA(3)
7547
7548 if (self.synpred141()) :
7549 alt74 = 1
7550 elif (True) :
7551 alt74 = 2
7552 else:
7553 if self.backtracking > 0:
7554 self.failed = True
7555 return
7556
7557 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input)
7558
7559 raise nvae
7560
7561 elif LA74 == STRING_LITERAL:
7562 LA74_261 = self.input.LA(3)
7563
7564 if (self.synpred141()) :
7565 alt74 = 1
7566 elif (True) :
7567 alt74 = 2
7568 else:
7569 if self.backtracking > 0:
7570 self.failed = True
7571 return
7572
7573 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input)
7574
7575 raise nvae
7576
7577 elif LA74 == FLOATING_POINT_LITERAL:
7578 LA74_262 = self.input.LA(3)
7579
7580 if (self.synpred141()) :
7581 alt74 = 1
7582 elif (True) :
7583 alt74 = 2
7584 else:
7585 if self.backtracking > 0:
7586 self.failed = True
7587 return
7588
7589 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
7590
7591 raise nvae
7592
7593 elif LA74 == 61:
7594 LA74_263 = self.input.LA(3)
7595
7596 if (self.synpred141()) :
7597 alt74 = 1
7598 elif (True) :
7599 alt74 = 2
7600 else:
7601 if self.backtracking > 0:
7602 self.failed = True
7603 return
7604
7605 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
7606
7607 raise nvae
7608
7609 elif LA74 == 71:
7610 LA74_264 = self.input.LA(3)
7611
7612 if (self.synpred141()) :
7613 alt74 = 1
7614 elif (True) :
7615 alt74 = 2
7616 else:
7617 if self.backtracking > 0:
7618 self.failed = True
7619 return
7620
7621 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
7622
7623 raise nvae
7624
7625 elif LA74 == 72:
7626 LA74_265 = self.input.LA(3)
7627
7628 if (self.synpred141()) :
7629 alt74 = 1
7630 elif (True) :
7631 alt74 = 2
7632 else:
7633 if self.backtracking > 0:
7634 self.failed = True
7635 return
7636
7637 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
7638
7639 raise nvae
7640
7641 elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
7642 LA74_266 = self.input.LA(3)
7643
7644 if (self.synpred141()) :
7645 alt74 = 1
7646 elif (True) :
7647 alt74 = 2
7648 else:
7649 if self.backtracking > 0:
7650 self.failed = True
7651 return
7652
7653 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
7654
7655 raise nvae
7656
7657 elif LA74 == 73:
7658 LA74_267 = self.input.LA(3)
7659
7660 if (self.synpred141()) :
7661 alt74 = 1
7662 elif (True) :
7663 alt74 = 2
7664 else:
7665 if self.backtracking > 0:
7666 self.failed = True
7667 return
7668
7669 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
7670
7671 raise nvae
7672
7673 else:
7674 if self.backtracking > 0:
7675 self.failed = True
7676 return
7677
7678 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
7679
7680 raise nvae
7681
7682 elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
7683 LA74 = self.input.LA(2)
7684 if LA74 == 61:
7685 LA74_268 = self.input.LA(3)
7686
7687 if (self.synpred141()) :
7688 alt74 = 1
7689 elif (True) :
7690 alt74 = 2
7691 else:
7692 if self.backtracking > 0:
7693 self.failed = True
7694 return
7695
7696 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input)
7697
7698 raise nvae
7699
7700 elif LA74 == IDENTIFIER:
7701 LA74_269 = self.input.LA(3)
7702
7703 if (self.synpred141()) :
7704 alt74 = 1
7705 elif (True) :
7706 alt74 = 2
7707 else:
7708 if self.backtracking > 0:
7709 self.failed = True
7710 return
7711
7712 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input)
7713
7714 raise nvae
7715
7716 elif LA74 == HEX_LITERAL:
7717 LA74_270 = self.input.LA(3)
7718
7719 if (self.synpred141()) :
7720 alt74 = 1
7721 elif (True) :
7722 alt74 = 2
7723 else:
7724 if self.backtracking > 0:
7725 self.failed = True
7726 return
7727
7728 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input)
7729
7730 raise nvae
7731
7732 elif LA74 == OCTAL_LITERAL:
7733 LA74_271 = self.input.LA(3)
7734
7735 if (self.synpred141()) :
7736 alt74 = 1
7737 elif (True) :
7738 alt74 = 2
7739 else:
7740 if self.backtracking > 0:
7741 self.failed = True
7742 return
7743
7744 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input)
7745
7746 raise nvae
7747
7748 elif LA74 == DECIMAL_LITERAL:
7749 LA74_272 = self.input.LA(3)
7750
7751 if (self.synpred141()) :
7752 alt74 = 1
7753 elif (True) :
7754 alt74 = 2
7755 else:
7756 if self.backtracking > 0:
7757 self.failed = True
7758 return
7759
7760 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input)
7761
7762 raise nvae
7763
7764 elif LA74 == CHARACTER_LITERAL:
7765 LA74_273 = self.input.LA(3)
7766
7767 if (self.synpred141()) :
7768 alt74 = 1
7769 elif (True) :
7770 alt74 = 2
7771 else:
7772 if self.backtracking > 0:
7773 self.failed = True
7774 return
7775
7776 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input)
7777
7778 raise nvae
7779
7780 elif LA74 == STRING_LITERAL:
7781 LA74_274 = self.input.LA(3)
7782
7783 if (self.synpred141()) :
7784 alt74 = 1
7785 elif (True) :
7786 alt74 = 2
7787 else:
7788 if self.backtracking > 0:
7789 self.failed = True
7790 return
7791
7792 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input)
7793
7794 raise nvae
7795
7796 elif LA74 == FLOATING_POINT_LITERAL:
7797 LA74_275 = self.input.LA(3)
7798
7799 if (self.synpred141()) :
7800 alt74 = 1
7801 elif (True) :
7802 alt74 = 2
7803 else:
7804 if self.backtracking > 0:
7805 self.failed = True
7806 return
7807
7808 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
7809
7810 raise nvae
7811
7812 elif LA74 == 71:
7813 LA74_276 = self.input.LA(3)
7814
7815 if (self.synpred141()) :
7816 alt74 = 1
7817 elif (True) :
7818 alt74 = 2
7819 else:
7820 if self.backtracking > 0:
7821 self.failed = True
7822 return
7823
7824 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
7825
7826 raise nvae
7827
7828 elif LA74 == 72:
7829 LA74_277 = self.input.LA(3)
7830
7831 if (self.synpred141()) :
7832 alt74 = 1
7833 elif (True) :
7834 alt74 = 2
7835 else:
7836 if self.backtracking > 0:
7837 self.failed = True
7838 return
7839
7840 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
7841
7842 raise nvae
7843
7844 elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
7845 LA74_278 = self.input.LA(3)
7846
7847 if (self.synpred141()) :
7848 alt74 = 1
7849 elif (True) :
7850 alt74 = 2
7851 else:
7852 if self.backtracking > 0:
7853 self.failed = True
7854 return
7855
7856 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
7857
7858 raise nvae
7859
7860 elif LA74 == 73:
7861 LA74_279 = self.input.LA(3)
7862
7863 if (self.synpred141()) :
7864 alt74 = 1
7865 elif (True) :
7866 alt74 = 2
7867 else:
7868 if self.backtracking > 0:
7869 self.failed = True
7870 return
7871
7872 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
7873
7874 raise nvae
7875
7876 else:
7877 if self.backtracking > 0:
7878 self.failed = True
7879 return
7880
7881 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
7882
7883 raise nvae
7884
7885 elif LA74 == 73:
7886 LA74 = self.input.LA(2)
7887 if LA74 == 61:
7888 LA74_280 = self.input.LA(3)
7889
7890 if (self.synpred141()) :
7891 alt74 = 1
7892 elif (True) :
7893 alt74 = 2
7894 else:
7895 if self.backtracking > 0:
7896 self.failed = True
7897 return
7898
7899 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input)
7900
7901 raise nvae
7902
7903 elif LA74 == IDENTIFIER:
7904 LA74_281 = self.input.LA(3)
7905
7906 if (self.synpred141()) :
7907 alt74 = 1
7908 elif (True) :
7909 alt74 = 2
7910 else:
7911 if self.backtracking > 0:
7912 self.failed = True
7913 return
7914
7915 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input)
7916
7917 raise nvae
7918
7919 elif LA74 == HEX_LITERAL:
7920 LA74_282 = self.input.LA(3)
7921
7922 if (self.synpred141()) :
7923 alt74 = 1
7924 elif (True) :
7925 alt74 = 2
7926 else:
7927 if self.backtracking > 0:
7928 self.failed = True
7929 return
7930
7931 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input)
7932
7933 raise nvae
7934
7935 elif LA74 == OCTAL_LITERAL:
7936 LA74_283 = self.input.LA(3)
7937
7938 if (self.synpred141()) :
7939 alt74 = 1
7940 elif (True) :
7941 alt74 = 2
7942 else:
7943 if self.backtracking > 0:
7944 self.failed = True
7945 return
7946
7947 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input)
7948
7949 raise nvae
7950
7951 elif LA74 == DECIMAL_LITERAL:
7952 LA74_284 = self.input.LA(3)
7953
7954 if (self.synpred141()) :
7955 alt74 = 1
7956 elif (True) :
7957 alt74 = 2
7958 else:
7959 if self.backtracking > 0:
7960 self.failed = True
7961 return
7962
7963 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input)
7964
7965 raise nvae
7966
7967 elif LA74 == CHARACTER_LITERAL:
7968 LA74_285 = self.input.LA(3)
7969
7970 if (self.synpred141()) :
7971 alt74 = 1
7972 elif (True) :
7973 alt74 = 2
7974 else:
7975 if self.backtracking > 0:
7976 self.failed = True
7977 return
7978
7979 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input)
7980
7981 raise nvae
7982
7983 elif LA74 == STRING_LITERAL:
7984 LA74_286 = self.input.LA(3)
7985
7986 if (self.synpred141()) :
7987 alt74 = 1
7988 elif (True) :
7989 alt74 = 2
7990 else:
7991 if self.backtracking > 0:
7992 self.failed = True
7993 return
7994
7995 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input)
7996
7997 raise nvae
7998
7999 elif LA74 == FLOATING_POINT_LITERAL:
8000 LA74_287 = self.input.LA(3)
8001
8002 if (self.synpred141()) :
8003 alt74 = 1
8004 elif (True) :
8005 alt74 = 2
8006 else:
8007 if self.backtracking > 0:
8008 self.failed = True
8009 return
8010
8011 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
8012
8013 raise nvae
8014
8015 elif LA74 == 71:
8016 LA74_288 = self.input.LA(3)
8017
8018 if (self.synpred141()) :
8019 alt74 = 1
8020 elif (True) :
8021 alt74 = 2
8022 else:
8023 if self.backtracking > 0:
8024 self.failed = True
8025 return
8026
8027 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
8028
8029 raise nvae
8030
8031 elif LA74 == 72:
8032 LA74_289 = self.input.LA(3)
8033
8034 if (self.synpred141()) :
8035 alt74 = 1
8036 elif (True) :
8037 alt74 = 2
8038 else:
8039 if self.backtracking > 0:
8040 self.failed = True
8041 return
8042
8043 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
8044
8045 raise nvae
8046
8047 elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78:
8048 LA74_290 = self.input.LA(3)
8049
8050 if (self.synpred141()) :
8051 alt74 = 1
8052 elif (True) :
8053 alt74 = 2
8054 else:
8055 if self.backtracking > 0:
8056 self.failed = True
8057 return
8058
8059 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
8060
8061 raise nvae
8062
8063 elif LA74 == 73:
8064 LA74_291 = self.input.LA(3)
8065
8066 if (self.synpred141()) :
8067 alt74 = 1
8068 elif (True) :
8069 alt74 = 2
8070 else:
8071 if self.backtracking > 0:
8072 self.failed = True
8073 return
8074
8075 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
8076
8077 raise nvae
8078
8079 else:
8080 if self.backtracking > 0:
8081 self.failed = True
8082 return
8083
8084 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
8085
8086 raise nvae
8087
8088 else:
8089 if self.backtracking > 0:
8090 self.failed = True
8091 return
8092
8093 nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
8094
8095 raise nvae
8096
8097 if alt74 == 1:
8098 # C.g:405:4: lvalue assignment_operator assignment_expression
8099 self.following.append(self.FOLLOW_lvalue_in_assignment_expression1729)
8100 self.lvalue()
8101 self.following.pop()
8102 if self.failed:
8103 return
8104 self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1731)
8105 self.assignment_operator()
8106 self.following.pop()
8107 if self.failed:
8108 return
8109 self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1733)
8110 self.assignment_expression()
8111 self.following.pop()
8112 if self.failed:
8113 return
8114
8115
8116 elif alt74 == 2:
8117 # C.g:406:4: conditional_expression
8118 self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1738)
8119 self.conditional_expression()
8120 self.following.pop()
8121 if self.failed:
8122 return
8123
8124
8125
8126 except RecognitionException, re:
8127 self.reportError(re)
8128 self.recover(self.input, re)
8129 finally:
8130 if self.backtracking > 0:
8131 self.memoize(self.input, 48, assignment_expression_StartIndex)
8132
8133 pass
8134
8135 return
8136
8137 # $ANTLR end assignment_expression
8138
8139
8140 # $ANTLR start lvalue
8141 # C.g:409:1: lvalue : unary_expression ;
8142 def lvalue(self, ):
8143
8144 lvalue_StartIndex = self.input.index()
8145 try:
8146 try:
8147 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
8148 return
8149
8150 # C.g:410:2: ( unary_expression )
8151 # C.g:410:4: unary_expression
8152 self.following.append(self.FOLLOW_unary_expression_in_lvalue1750)
8153 self.unary_expression()
8154 self.following.pop()
8155 if self.failed:
8156 return
8157
8158
8159
8160
8161 except RecognitionException, re:
8162 self.reportError(re)
8163 self.recover(self.input, re)
8164 finally:
8165 if self.backtracking > 0:
8166 self.memoize(self.input, 49, lvalue_StartIndex)
8167
8168 pass
8169
8170 return
8171
8172 # $ANTLR end lvalue
8173
8174
8175 # $ANTLR start assignment_operator
8176 # C.g:413:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
8177 def assignment_operator(self, ):
8178
8179 assignment_operator_StartIndex = self.input.index()
8180 try:
8181 try:
8182 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
8183 return
8184
8185 # C.g:414:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
8186 # C.g:
8187 if self.input.LA(1) == 28 or (79 <= self.input.LA(1) <= 88):
8188 self.input.consume();
8189 self.errorRecovery = False
8190 self.failed = False
8191
8192 else:
8193 if self.backtracking > 0:
8194 self.failed = True
8195 return
8196
8197 mse = MismatchedSetException(None, self.input)
8198 self.recoverFromMismatchedSet(
8199 self.input, mse, self.FOLLOW_set_in_assignment_operator0
8200 )
8201 raise mse
8202
8203
8204
8205
8206
8207
8208 except RecognitionException, re:
8209 self.reportError(re)
8210 self.recover(self.input, re)
8211 finally:
8212 if self.backtracking > 0:
8213 self.memoize(self.input, 50, assignment_operator_StartIndex)
8214
8215 pass
8216
8217 return
8218
8219 # $ANTLR end assignment_operator
8220
8221
8222 # $ANTLR start conditional_expression
8223 # C.g:427:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
8224 def conditional_expression(self, ):
8225
8226 conditional_expression_StartIndex = self.input.index()
8227 e = None
8228
8229
8230 try:
8231 try:
8232 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
8233 return
8234
8235 # C.g:428:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
8236 # C.g:428:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
8237 self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1824)
8238 e = self.logical_or_expression()
8239 self.following.pop()
8240 if self.failed:
8241 return
8242 # C.g:428:28: ( '?' expression ':' conditional_expression )?
8243 alt75 = 2
8244 LA75_0 = self.input.LA(1)
8245
8246 if (LA75_0 == 89) :
8247 alt75 = 1
8248 if alt75 == 1:
8249 # C.g:428:29: '?' expression ':' conditional_expression
8250 self.match(self.input, 89, self.FOLLOW_89_in_conditional_expression1827)
8251 if self.failed:
8252 return
8253 self.following.append(self.FOLLOW_expression_in_conditional_expression1829)
8254 self.expression()
8255 self.following.pop()
8256 if self.failed:
8257 return
8258 self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1831)
8259 if self.failed:
8260 return
8261 self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1833)
8262 self.conditional_expression()
8263 self.following.pop()
8264 if self.failed:
8265 return
8266 if self.backtracking == 0:
8267 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
8268
8269
8270
8271
8272
8273
8274
8275
8276 except RecognitionException, re:
8277 self.reportError(re)
8278 self.recover(self.input, re)
8279 finally:
8280 if self.backtracking > 0:
8281 self.memoize(self.input, 51, conditional_expression_StartIndex)
8282
8283 pass
8284
8285 return
8286
8287 # $ANTLR end conditional_expression
8288
8289 class logical_or_expression_return(object):
8290 def __init__(self):
8291 self.start = None
8292 self.stop = None
8293
8294
8295
8296 # $ANTLR start logical_or_expression
8297 # C.g:431:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
8298 def logical_or_expression(self, ):
8299
8300 retval = self.logical_or_expression_return()
8301 retval.start = self.input.LT(1)
8302 logical_or_expression_StartIndex = self.input.index()
8303 try:
8304 try:
8305 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
8306 return retval
8307
8308 # C.g:432:2: ( logical_and_expression ( '||' logical_and_expression )* )
8309 # C.g:432:4: logical_and_expression ( '||' logical_and_expression )*
8310 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1848)
8311 self.logical_and_expression()
8312 self.following.pop()
8313 if self.failed:
8314 return retval
8315 # C.g:432:27: ( '||' logical_and_expression )*
8316 while True: #loop76
8317 alt76 = 2
8318 LA76_0 = self.input.LA(1)
8319
8320 if (LA76_0 == 90) :
8321 alt76 = 1
8322
8323
8324 if alt76 == 1:
8325 # C.g:432:28: '||' logical_and_expression
8326 self.match(self.input, 90, self.FOLLOW_90_in_logical_or_expression1851)
8327 if self.failed:
8328 return retval
8329 self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1853)
8330 self.logical_and_expression()
8331 self.following.pop()
8332 if self.failed:
8333 return retval
8334
8335
8336 else:
8337 break #loop76
8338
8339
8340
8341
8342
8343 retval.stop = self.input.LT(-1)
8344
8345
8346 except RecognitionException, re:
8347 self.reportError(re)
8348 self.recover(self.input, re)
8349 finally:
8350 if self.backtracking > 0:
8351 self.memoize(self.input, 52, logical_or_expression_StartIndex)
8352
8353 pass
8354
8355 return retval
8356
8357 # $ANTLR end logical_or_expression
8358
8359
8360 # $ANTLR start logical_and_expression
8361 # C.g:435:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
8362 def logical_and_expression(self, ):
8363
8364 logical_and_expression_StartIndex = self.input.index()
8365 try:
8366 try:
8367 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
8368 return
8369
8370 # C.g:436:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
8371 # C.g:436:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
8372 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1866)
8373 self.inclusive_or_expression()
8374 self.following.pop()
8375 if self.failed:
8376 return
8377 # C.g:436:28: ( '&&' inclusive_or_expression )*
8378 while True: #loop77
8379 alt77 = 2
8380 LA77_0 = self.input.LA(1)
8381
8382 if (LA77_0 == 91) :
8383 alt77 = 1
8384
8385
8386 if alt77 == 1:
8387 # C.g:436:29: '&&' inclusive_or_expression
8388 self.match(self.input, 91, self.FOLLOW_91_in_logical_and_expression1869)
8389 if self.failed:
8390 return
8391 self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1871)
8392 self.inclusive_or_expression()
8393 self.following.pop()
8394 if self.failed:
8395 return
8396
8397
8398 else:
8399 break #loop77
8400
8401
8402
8403
8404
8405
8406 except RecognitionException, re:
8407 self.reportError(re)
8408 self.recover(self.input, re)
8409 finally:
8410 if self.backtracking > 0:
8411 self.memoize(self.input, 53, logical_and_expression_StartIndex)
8412
8413 pass
8414
8415 return
8416
8417 # $ANTLR end logical_and_expression
8418
8419
8420 # $ANTLR start inclusive_or_expression
8421 # C.g:439:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
8422 def inclusive_or_expression(self, ):
8423
8424 inclusive_or_expression_StartIndex = self.input.index()
8425 try:
8426 try:
8427 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
8428 return
8429
8430 # C.g:440:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
8431 # C.g:440:4: exclusive_or_expression ( '|' exclusive_or_expression )*
8432 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1884)
8433 self.exclusive_or_expression()
8434 self.following.pop()
8435 if self.failed:
8436 return
8437 # C.g:440:28: ( '|' exclusive_or_expression )*
8438 while True: #loop78
8439 alt78 = 2
8440 LA78_0 = self.input.LA(1)
8441
8442 if (LA78_0 == 92) :
8443 alt78 = 1
8444
8445
8446 if alt78 == 1:
8447 # C.g:440:29: '|' exclusive_or_expression
8448 self.match(self.input, 92, self.FOLLOW_92_in_inclusive_or_expression1887)
8449 if self.failed:
8450 return
8451 self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1889)
8452 self.exclusive_or_expression()
8453 self.following.pop()
8454 if self.failed:
8455 return
8456
8457
8458 else:
8459 break #loop78
8460
8461
8462
8463
8464
8465
8466 except RecognitionException, re:
8467 self.reportError(re)
8468 self.recover(self.input, re)
8469 finally:
8470 if self.backtracking > 0:
8471 self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
8472
8473 pass
8474
8475 return
8476
8477 # $ANTLR end inclusive_or_expression
8478
8479
8480 # $ANTLR start exclusive_or_expression
8481 # C.g:443:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
8482 def exclusive_or_expression(self, ):
8483
8484 exclusive_or_expression_StartIndex = self.input.index()
8485 try:
8486 try:
8487 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
8488 return
8489
8490 # C.g:444:2: ( and_expression ( '^' and_expression )* )
8491 # C.g:444:4: and_expression ( '^' and_expression )*
8492 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1902)
8493 self.and_expression()
8494 self.following.pop()
8495 if self.failed:
8496 return
8497 # C.g:444:19: ( '^' and_expression )*
8498 while True: #loop79
8499 alt79 = 2
8500 LA79_0 = self.input.LA(1)
8501
8502 if (LA79_0 == 93) :
8503 alt79 = 1
8504
8505
8506 if alt79 == 1:
8507 # C.g:444:20: '^' and_expression
8508 self.match(self.input, 93, self.FOLLOW_93_in_exclusive_or_expression1905)
8509 if self.failed:
8510 return
8511 self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1907)
8512 self.and_expression()
8513 self.following.pop()
8514 if self.failed:
8515 return
8516
8517
8518 else:
8519 break #loop79
8520
8521
8522
8523
8524
8525
8526 except RecognitionException, re:
8527 self.reportError(re)
8528 self.recover(self.input, re)
8529 finally:
8530 if self.backtracking > 0:
8531 self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
8532
8533 pass
8534
8535 return
8536
8537 # $ANTLR end exclusive_or_expression
8538
8539
8540 # $ANTLR start and_expression
8541 # C.g:447:1: and_expression : equality_expression ( '&' equality_expression )* ;
8542 def and_expression(self, ):
8543
8544 and_expression_StartIndex = self.input.index()
8545 try:
8546 try:
8547 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
8548 return
8549
8550 # C.g:448:2: ( equality_expression ( '&' equality_expression )* )
8551 # C.g:448:4: equality_expression ( '&' equality_expression )*
8552 self.following.append(self.FOLLOW_equality_expression_in_and_expression1920)
8553 self.equality_expression()
8554 self.following.pop()
8555 if self.failed:
8556 return
8557 # C.g:448:24: ( '&' equality_expression )*
8558 while True: #loop80
8559 alt80 = 2
8560 LA80_0 = self.input.LA(1)
8561
8562 if (LA80_0 == 76) :
8563 alt80 = 1
8564
8565
8566 if alt80 == 1:
8567 # C.g:448:25: '&' equality_expression
8568 self.match(self.input, 76, self.FOLLOW_76_in_and_expression1923)
8569 if self.failed:
8570 return
8571 self.following.append(self.FOLLOW_equality_expression_in_and_expression1925)
8572 self.equality_expression()
8573 self.following.pop()
8574 if self.failed:
8575 return
8576
8577
8578 else:
8579 break #loop80
8580
8581
8582
8583
8584
8585
8586 except RecognitionException, re:
8587 self.reportError(re)
8588 self.recover(self.input, re)
8589 finally:
8590 if self.backtracking > 0:
8591 self.memoize(self.input, 56, and_expression_StartIndex)
8592
8593 pass
8594
8595 return
8596
8597 # $ANTLR end and_expression
8598
8599
8600 # $ANTLR start equality_expression
8601 # C.g:450:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
8602 def equality_expression(self, ):
8603
8604 equality_expression_StartIndex = self.input.index()
8605 try:
8606 try:
8607 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
8608 return
8609
8610 # C.g:451:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
8611 # C.g:451:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
8612 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1937)
8613 self.relational_expression()
8614 self.following.pop()
8615 if self.failed:
8616 return
8617 # C.g:451:26: ( ( '==' | '!=' ) relational_expression )*
8618 while True: #loop81
8619 alt81 = 2
8620 LA81_0 = self.input.LA(1)
8621
8622 if ((94 <= LA81_0 <= 95)) :
8623 alt81 = 1
8624
8625
8626 if alt81 == 1:
8627 # C.g:451:27: ( '==' | '!=' ) relational_expression
8628 if (94 <= self.input.LA(1) <= 95):
8629 self.input.consume();
8630 self.errorRecovery = False
8631 self.failed = False
8632
8633 else:
8634 if self.backtracking > 0:
8635 self.failed = True
8636 return
8637
8638 mse = MismatchedSetException(None, self.input)
8639 self.recoverFromMismatchedSet(
8640 self.input, mse, self.FOLLOW_set_in_equality_expression1940
8641 )
8642 raise mse
8643
8644
8645 self.following.append(self.FOLLOW_relational_expression_in_equality_expression1946)
8646 self.relational_expression()
8647 self.following.pop()
8648 if self.failed:
8649 return
8650
8651
8652 else:
8653 break #loop81
8654
8655
8656
8657
8658
8659
8660 except RecognitionException, re:
8661 self.reportError(re)
8662 self.recover(self.input, re)
8663 finally:
8664 if self.backtracking > 0:
8665 self.memoize(self.input, 57, equality_expression_StartIndex)
8666
8667 pass
8668
8669 return
8670
8671 # $ANTLR end equality_expression
8672
8673
8674 # $ANTLR start relational_expression
8675 # C.g:454:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
8676 def relational_expression(self, ):
8677
8678 relational_expression_StartIndex = self.input.index()
8679 try:
8680 try:
8681 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
8682 return
8683
8684 # C.g:455:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
8685 # C.g:455:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8686 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1960)
8687 self.shift_expression()
8688 self.following.pop()
8689 if self.failed:
8690 return
8691 # C.g:455:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
8692 while True: #loop82
8693 alt82 = 2
8694 LA82_0 = self.input.LA(1)
8695
8696 if ((96 <= LA82_0 <= 99)) :
8697 alt82 = 1
8698
8699
8700 if alt82 == 1:
8701 # C.g:455:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
8702 if (96 <= self.input.LA(1) <= 99):
8703 self.input.consume();
8704 self.errorRecovery = False
8705 self.failed = False
8706
8707 else:
8708 if self.backtracking > 0:
8709 self.failed = True
8710 return
8711
8712 mse = MismatchedSetException(None, self.input)
8713 self.recoverFromMismatchedSet(
8714 self.input, mse, self.FOLLOW_set_in_relational_expression1963
8715 )
8716 raise mse
8717
8718
8719 self.following.append(self.FOLLOW_shift_expression_in_relational_expression1973)
8720 self.shift_expression()
8721 self.following.pop()
8722 if self.failed:
8723 return
8724
8725
8726 else:
8727 break #loop82
8728
8729
8730
8731
8732
8733
8734 except RecognitionException, re:
8735 self.reportError(re)
8736 self.recover(self.input, re)
8737 finally:
8738 if self.backtracking > 0:
8739 self.memoize(self.input, 58, relational_expression_StartIndex)
8740
8741 pass
8742
8743 return
8744
8745 # $ANTLR end relational_expression
8746
8747
8748 # $ANTLR start shift_expression
8749 # C.g:458:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
8750 def shift_expression(self, ):
8751
8752 shift_expression_StartIndex = self.input.index()
8753 try:
8754 try:
8755 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
8756 return
8757
8758 # C.g:459:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
8759 # C.g:459:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
8760 self.following.append(self.FOLLOW_additive_expression_in_shift_expression1986)
8761 self.additive_expression()
8762 self.following.pop()
8763 if self.failed:
8764 return
8765 # C.g:459:24: ( ( '<<' | '>>' ) additive_expression )*
8766 while True: #loop83
8767 alt83 = 2
8768 LA83_0 = self.input.LA(1)
8769
8770 if ((100 <= LA83_0 <= 101)) :
8771 alt83 = 1
8772
8773
8774 if alt83 == 1:
8775 # C.g:459:25: ( '<<' | '>>' ) additive_expression
8776 if (100 <= self.input.LA(1) <= 101):
8777 self.input.consume();
8778 self.errorRecovery = False
8779 self.failed = False
8780
8781 else:
8782 if self.backtracking > 0:
8783 self.failed = True
8784 return
8785
8786 mse = MismatchedSetException(None, self.input)
8787 self.recoverFromMismatchedSet(
8788 self.input, mse, self.FOLLOW_set_in_shift_expression1989
8789 )
8790 raise mse
8791
8792
8793 self.following.append(self.FOLLOW_additive_expression_in_shift_expression1995)
8794 self.additive_expression()
8795 self.following.pop()
8796 if self.failed:
8797 return
8798
8799
8800 else:
8801 break #loop83
8802
8803
8804
8805
8806
8807
8808 except RecognitionException, re:
8809 self.reportError(re)
8810 self.recover(self.input, re)
8811 finally:
8812 if self.backtracking > 0:
8813 self.memoize(self.input, 59, shift_expression_StartIndex)
8814
8815 pass
8816
8817 return
8818
8819 # $ANTLR end shift_expression
8820
8821
8822 # $ANTLR start statement
8823 # C.g:464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
8824 def statement(self, ):
8825
8826 statement_StartIndex = self.input.index()
8827 try:
8828 try:
8829 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
8830 return
8831
8832 # C.g:465:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
8833 alt84 = 11
8834 LA84 = self.input.LA(1)
8835 if LA84 == IDENTIFIER:
8836 LA84 = self.input.LA(2)
8837 if LA84 == 47:
8838 alt84 = 1
8839 elif LA84 == 61:
8840 LA84_44 = self.input.LA(3)
8841
8842 if (self.synpred168()) :
8843 alt84 = 3
8844 elif (self.synpred172()) :
8845 alt84 = 7
8846 elif (self.synpred173()) :
8847 alt84 = 8
8848 elif (True) :
8849 alt84 = 11
8850 else:
8851 if self.backtracking > 0:
8852 self.failed = True
8853 return
8854
8855 nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 44, self.input)
8856
8857 raise nvae
8858
8859 elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 63 or LA84 == 67 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 74 or LA84 == 75 or LA84 == 76 or LA84 == 79 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:
8860 alt84 = 3
8861 elif LA84 == 65:
8862 LA84_47 = self.input.LA(3)
8863
8864 if (self.synpred168()) :
8865 alt84 = 3
8866 elif (True) :
8867 alt84 = 11
8868 else:
8869 if self.backtracking > 0:
8870 self.failed = True
8871 return
8872
8873 nvae = NoViableAltException("464: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)
8874
8875 raise nvae
8876
8877 elif LA84 == 25:
8878 LA84_65 = self.input.LA(3)
8879
8880 if (self.synpred168()) :
8881 alt84 = 3
8882 elif (True) :
8883 alt84 = 11
8884 else:
8885 if self.backtracking > 0:
8886 self.failed = True
8887 return
8888
8889 nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 65, self.input)
8890
8891 raise nvae
8892
8893 elif LA84 == IDENTIFIER:
8894 LA84_67 = self.input.LA(3)
8895
8896 if (self.synpred168()) :
8897 alt84 = 3
8898 elif (True) :
8899 alt84 = 11
8900 else:
8901 if self.backtracking > 0:
8902 self.failed = True
8903 return
8904
8905 nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 67, self.input)
8906
8907 raise nvae
8908
8909 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:
8910 alt84 = 11
8911 else:
8912 if self.backtracking > 0:
8913 self.failed = True
8914 return
8915
8916 nvae = NoViableAltException("464: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)
8917
8918 raise nvae
8919
8920 elif LA84 == 105 or LA84 == 106:
8921 alt84 = 1
8922 elif LA84 == 43:
8923 alt84 = 2
8924 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 == 61 or LA84 == 65 or LA84 == 67 or LA84 == 68 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 76 or LA84 == 77 or LA84 == 78:
8925 alt84 = 3
8926 elif LA84 == 107 or LA84 == 109:
8927 alt84 = 4
8928 elif LA84 == 110 or LA84 == 111 or LA84 == 112:
8929 alt84 = 5
8930 elif LA84 == 113 or LA84 == 114 or LA84 == 115 or LA84 == 116:
8931 alt84 = 6
8932 elif LA84 == 102:
8933 alt84 = 8
8934 elif LA84 == 103:
8935 alt84 = 9
8936 elif LA84 == 104:
8937 alt84 = 10
8938 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:
8939 alt84 = 11
8940 else:
8941 if self.backtracking > 0:
8942 self.failed = True
8943 return
8944
8945 nvae = NoViableAltException("464: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)
8946
8947 raise nvae
8948
8949 if alt84 == 1:
8950 # C.g:465:4: labeled_statement
8951 self.following.append(self.FOLLOW_labeled_statement_in_statement2010)
8952 self.labeled_statement()
8953 self.following.pop()
8954 if self.failed:
8955 return
8956
8957
8958 elif alt84 == 2:
8959 # C.g:466:4: compound_statement
8960 self.following.append(self.FOLLOW_compound_statement_in_statement2015)
8961 self.compound_statement()
8962 self.following.pop()
8963 if self.failed:
8964 return
8965
8966
8967 elif alt84 == 3:
8968 # C.g:467:4: expression_statement
8969 self.following.append(self.FOLLOW_expression_statement_in_statement2020)
8970 self.expression_statement()
8971 self.following.pop()
8972 if self.failed:
8973 return
8974
8975
8976 elif alt84 == 4:
8977 # C.g:468:4: selection_statement
8978 self.following.append(self.FOLLOW_selection_statement_in_statement2025)
8979 self.selection_statement()
8980 self.following.pop()
8981 if self.failed:
8982 return
8983
8984
8985 elif alt84 == 5:
8986 # C.g:469:4: iteration_statement
8987 self.following.append(self.FOLLOW_iteration_statement_in_statement2030)
8988 self.iteration_statement()
8989 self.following.pop()
8990 if self.failed:
8991 return
8992
8993
8994 elif alt84 == 6:
8995 # C.g:470:4: jump_statement
8996 self.following.append(self.FOLLOW_jump_statement_in_statement2035)
8997 self.jump_statement()
8998 self.following.pop()
8999 if self.failed:
9000 return
9001
9002
9003 elif alt84 == 7:
9004 # C.g:471:4: macro_statement
9005 self.following.append(self.FOLLOW_macro_statement_in_statement2040)
9006 self.macro_statement()
9007 self.following.pop()
9008 if self.failed:
9009 return
9010
9011
9012 elif alt84 == 8:
9013 # C.g:472:4: asm2_statement
9014 self.following.append(self.FOLLOW_asm2_statement_in_statement2045)
9015 self.asm2_statement()
9016 self.following.pop()
9017 if self.failed:
9018 return
9019
9020
9021 elif alt84 == 9:
9022 # C.g:473:4: asm1_statement
9023 self.following.append(self.FOLLOW_asm1_statement_in_statement2050)
9024 self.asm1_statement()
9025 self.following.pop()
9026 if self.failed:
9027 return
9028
9029
9030 elif alt84 == 10:
9031 # C.g:474:4: asm_statement
9032 self.following.append(self.FOLLOW_asm_statement_in_statement2055)
9033 self.asm_statement()
9034 self.following.pop()
9035 if self.failed:
9036 return
9037
9038
9039 elif alt84 == 11:
9040 # C.g:475:4: declaration
9041 self.following.append(self.FOLLOW_declaration_in_statement2060)
9042 self.declaration()
9043 self.following.pop()
9044 if self.failed:
9045 return
9046
9047
9048
9049 except RecognitionException, re:
9050 self.reportError(re)
9051 self.recover(self.input, re)
9052 finally:
9053 if self.backtracking > 0:
9054 self.memoize(self.input, 60, statement_StartIndex)
9055
9056 pass
9057
9058 return
9059
9060 # $ANTLR end statement
9061
9062
9063 # $ANTLR start asm2_statement
9064 # C.g:478:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
9065 def asm2_statement(self, ):
9066
9067 asm2_statement_StartIndex = self.input.index()
9068 try:
9069 try:
9070 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
9071 return
9072
9073 # C.g:479:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
9074 # C.g:479:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
9075 # C.g:479:4: ( '__asm__' )?
9076 alt85 = 2
9077 LA85_0 = self.input.LA(1)
9078
9079 if (LA85_0 == 102) :
9080 alt85 = 1
9081 if alt85 == 1:
9082 # C.g:0:0: '__asm__'
9083 self.match(self.input, 102, self.FOLLOW_102_in_asm2_statement2071)
9084 if self.failed:
9085 return
9086
9087
9088
9089 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2074)
9090 if self.failed:
9091 return
9092 self.match(self.input, 61, self.FOLLOW_61_in_asm2_statement2076)
9093 if self.failed:
9094 return
9095 # C.g:479:30: (~ ( ';' ) )*
9096 while True: #loop86
9097 alt86 = 2
9098 LA86_0 = self.input.LA(1)
9099
9100 if (LA86_0 == 62) :
9101 LA86_1 = self.input.LA(2)
9102
9103 if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 116)) :
9104 alt86 = 1
9105
9106
9107 elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 61) or (63 <= LA86_0 <= 116)) :
9108 alt86 = 1
9109
9110
9111 if alt86 == 1:
9112 # C.g:479:31: ~ ( ';' )
9113 if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 116):
9114 self.input.consume();
9115 self.errorRecovery = False
9116 self.failed = False
9117
9118 else:
9119 if self.backtracking > 0:
9120 self.failed = True
9121 return
9122
9123 mse = MismatchedSetException(None, self.input)
9124 self.recoverFromMismatchedSet(
9125 self.input, mse, self.FOLLOW_set_in_asm2_statement2079
9126 )
9127 raise mse
9128
9129
9130
9131
9132 else:
9133 break #loop86
9134
9135
9136 self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2086)
9137 if self.failed:
9138 return
9139 self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2088)
9140 if self.failed:
9141 return
9142
9143
9144
9145
9146 except RecognitionException, re:
9147 self.reportError(re)
9148 self.recover(self.input, re)
9149 finally:
9150 if self.backtracking > 0:
9151 self.memoize(self.input, 61, asm2_statement_StartIndex)
9152
9153 pass
9154
9155 return
9156
9157 # $ANTLR end asm2_statement
9158
9159
9160 # $ANTLR start asm1_statement
9161 # C.g:482:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
9162 def asm1_statement(self, ):
9163
9164 asm1_statement_StartIndex = self.input.index()
9165 try:
9166 try:
9167 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
9168 return
9169
9170 # C.g:483:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
9171 # C.g:483:4: '_asm' '{' (~ ( '}' ) )* '}'
9172 self.match(self.input, 103, self.FOLLOW_103_in_asm1_statement2100)
9173 if self.failed:
9174 return
9175 self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2102)
9176 if self.failed:
9177 return
9178 # C.g:483:15: (~ ( '}' ) )*
9179 while True: #loop87
9180 alt87 = 2
9181 LA87_0 = self.input.LA(1)
9182
9183 if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 116)) :
9184 alt87 = 1
9185
9186
9187 if alt87 == 1:
9188 # C.g:483:16: ~ ( '}' )
9189 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 116):
9190 self.input.consume();
9191 self.errorRecovery = False
9192 self.failed = False
9193
9194 else:
9195 if self.backtracking > 0:
9196 self.failed = True
9197 return
9198
9199 mse = MismatchedSetException(None, self.input)
9200 self.recoverFromMismatchedSet(
9201 self.input, mse, self.FOLLOW_set_in_asm1_statement2105
9202 )
9203 raise mse
9204
9205
9206
9207
9208 else:
9209 break #loop87
9210
9211
9212 self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2112)
9213 if self.failed:
9214 return
9215
9216
9217
9218
9219 except RecognitionException, re:
9220 self.reportError(re)
9221 self.recover(self.input, re)
9222 finally:
9223 if self.backtracking > 0:
9224 self.memoize(self.input, 62, asm1_statement_StartIndex)
9225
9226 pass
9227
9228 return
9229
9230 # $ANTLR end asm1_statement
9231
9232
9233 # $ANTLR start asm_statement
9234 # C.g:486:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
9235 def asm_statement(self, ):
9236
9237 asm_statement_StartIndex = self.input.index()
9238 try:
9239 try:
9240 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
9241 return
9242
9243 # C.g:487:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
9244 # C.g:487:4: '__asm' '{' (~ ( '}' ) )* '}'
9245 self.match(self.input, 104, self.FOLLOW_104_in_asm_statement2123)
9246 if self.failed:
9247 return
9248 self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2125)
9249 if self.failed:
9250 return
9251 # C.g:487:16: (~ ( '}' ) )*
9252 while True: #loop88
9253 alt88 = 2
9254 LA88_0 = self.input.LA(1)
9255
9256 if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 116)) :
9257 alt88 = 1
9258
9259
9260 if alt88 == 1:
9261 # C.g:487:17: ~ ( '}' )
9262 if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 116):
9263 self.input.consume();
9264 self.errorRecovery = False
9265 self.failed = False
9266
9267 else:
9268 if self.backtracking > 0:
9269 self.failed = True
9270 return
9271
9272 mse = MismatchedSetException(None, self.input)
9273 self.recoverFromMismatchedSet(
9274 self.input, mse, self.FOLLOW_set_in_asm_statement2128
9275 )
9276 raise mse
9277
9278
9279
9280
9281 else:
9282 break #loop88
9283
9284
9285 self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2135)
9286 if self.failed:
9287 return
9288
9289
9290
9291
9292 except RecognitionException, re:
9293 self.reportError(re)
9294 self.recover(self.input, re)
9295 finally:
9296 if self.backtracking > 0:
9297 self.memoize(self.input, 63, asm_statement_StartIndex)
9298
9299 pass
9300
9301 return
9302
9303 # $ANTLR end asm_statement
9304
9305
9306 # $ANTLR start macro_statement
9307 # C.g:490:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
9308 def macro_statement(self, ):
9309
9310 macro_statement_StartIndex = self.input.index()
9311 try:
9312 try:
9313 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
9314 return
9315
9316 # C.g:491:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
9317 # C.g:491:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
9318 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2147)
9319 if self.failed:
9320 return
9321 self.match(self.input, 61, self.FOLLOW_61_in_macro_statement2149)
9322 if self.failed:
9323 return
9324 # C.g:491:19: ( declaration )*
9325 while True: #loop89
9326 alt89 = 2
9327 LA89 = self.input.LA(1)
9328 if LA89 == IDENTIFIER:
9329 LA89 = self.input.LA(2)
9330 if LA89 == 61:
9331 LA89_45 = self.input.LA(3)
9332
9333 if (self.synpred180()) :
9334 alt89 = 1
9335
9336
9337 elif LA89 == 65:
9338 LA89_48 = self.input.LA(3)
9339
9340 if (self.synpred180()) :
9341 alt89 = 1
9342
9343
9344 elif LA89 == 25:
9345 LA89_66 = self.input.LA(3)
9346
9347 if (self.synpred180()) :
9348 alt89 = 1
9349
9350
9351 elif LA89 == IDENTIFIER:
9352 LA89_69 = self.input.LA(3)
9353
9354 if (self.synpred180()) :
9355 alt89 = 1
9356
9357
9358 elif LA89 == 58:
9359 LA89_70 = self.input.LA(3)
9360
9361 if (self.synpred180()) :
9362 alt89 = 1
9363
9364
9365 elif LA89 == 59:
9366 LA89_71 = self.input.LA(3)
9367
9368 if (self.synpred180()) :
9369 alt89 = 1
9370
9371
9372 elif LA89 == 60:
9373 LA89_72 = self.input.LA(3)
9374
9375 if (self.synpred180()) :
9376 alt89 = 1
9377
9378
9379 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9380 LA89_73 = self.input.LA(3)
9381
9382 if (self.synpred180()) :
9383 alt89 = 1
9384
9385
9386 elif LA89 == 34:
9387 LA89_74 = self.input.LA(3)
9388
9389 if (self.synpred180()) :
9390 alt89 = 1
9391
9392
9393 elif LA89 == 35:
9394 LA89_75 = self.input.LA(3)
9395
9396 if (self.synpred180()) :
9397 alt89 = 1
9398
9399
9400 elif LA89 == 36:
9401 LA89_76 = self.input.LA(3)
9402
9403 if (self.synpred180()) :
9404 alt89 = 1
9405
9406
9407 elif LA89 == 37:
9408 LA89_77 = self.input.LA(3)
9409
9410 if (self.synpred180()) :
9411 alt89 = 1
9412
9413
9414 elif LA89 == 38:
9415 LA89_78 = self.input.LA(3)
9416
9417 if (self.synpred180()) :
9418 alt89 = 1
9419
9420
9421 elif LA89 == 39:
9422 LA89_79 = self.input.LA(3)
9423
9424 if (self.synpred180()) :
9425 alt89 = 1
9426
9427
9428 elif LA89 == 40:
9429 LA89_80 = self.input.LA(3)
9430
9431 if (self.synpred180()) :
9432 alt89 = 1
9433
9434
9435 elif LA89 == 41:
9436 LA89_81 = self.input.LA(3)
9437
9438 if (self.synpred180()) :
9439 alt89 = 1
9440
9441
9442 elif LA89 == 42:
9443 LA89_82 = self.input.LA(3)
9444
9445 if (self.synpred180()) :
9446 alt89 = 1
9447
9448
9449 elif LA89 == 45 or LA89 == 46:
9450 LA89_83 = self.input.LA(3)
9451
9452 if (self.synpred180()) :
9453 alt89 = 1
9454
9455
9456 elif LA89 == 48:
9457 LA89_84 = self.input.LA(3)
9458
9459 if (self.synpred180()) :
9460 alt89 = 1
9461
9462
9463 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:
9464 LA89_85 = self.input.LA(3)
9465
9466 if (self.synpred180()) :
9467 alt89 = 1
9468
9469
9470
9471 elif LA89 == 26:
9472 LA89 = self.input.LA(2)
9473 if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9474 LA89_87 = self.input.LA(3)
9475
9476 if (self.synpred180()) :
9477 alt89 = 1
9478
9479
9480 elif LA89 == 34:
9481 LA89_88 = self.input.LA(3)
9482
9483 if (self.synpred180()) :
9484 alt89 = 1
9485
9486
9487 elif LA89 == 35:
9488 LA89_89 = self.input.LA(3)
9489
9490 if (self.synpred180()) :
9491 alt89 = 1
9492
9493
9494 elif LA89 == 36:
9495 LA89_90 = self.input.LA(3)
9496
9497 if (self.synpred180()) :
9498 alt89 = 1
9499
9500
9501 elif LA89 == 37:
9502 LA89_91 = self.input.LA(3)
9503
9504 if (self.synpred180()) :
9505 alt89 = 1
9506
9507
9508 elif LA89 == 38:
9509 LA89_92 = self.input.LA(3)
9510
9511 if (self.synpred180()) :
9512 alt89 = 1
9513
9514
9515 elif LA89 == 39:
9516 LA89_93 = self.input.LA(3)
9517
9518 if (self.synpred180()) :
9519 alt89 = 1
9520
9521
9522 elif LA89 == 40:
9523 LA89_94 = self.input.LA(3)
9524
9525 if (self.synpred180()) :
9526 alt89 = 1
9527
9528
9529 elif LA89 == 41:
9530 LA89_95 = self.input.LA(3)
9531
9532 if (self.synpred180()) :
9533 alt89 = 1
9534
9535
9536 elif LA89 == 42:
9537 LA89_96 = self.input.LA(3)
9538
9539 if (self.synpred180()) :
9540 alt89 = 1
9541
9542
9543 elif LA89 == 45 or LA89 == 46:
9544 LA89_97 = self.input.LA(3)
9545
9546 if (self.synpred180()) :
9547 alt89 = 1
9548
9549
9550 elif LA89 == 48:
9551 LA89_98 = self.input.LA(3)
9552
9553 if (self.synpred180()) :
9554 alt89 = 1
9555
9556
9557 elif LA89 == IDENTIFIER:
9558 LA89_99 = self.input.LA(3)
9559
9560 if (self.synpred180()) :
9561 alt89 = 1
9562
9563
9564 elif LA89 == 58:
9565 LA89_100 = self.input.LA(3)
9566
9567 if (self.synpred180()) :
9568 alt89 = 1
9569
9570
9571 elif LA89 == 65:
9572 LA89_101 = self.input.LA(3)
9573
9574 if (self.synpred180()) :
9575 alt89 = 1
9576
9577
9578 elif LA89 == 59:
9579 LA89_102 = self.input.LA(3)
9580
9581 if (self.synpred180()) :
9582 alt89 = 1
9583
9584
9585 elif LA89 == 60:
9586 LA89_103 = self.input.LA(3)
9587
9588 if (self.synpred180()) :
9589 alt89 = 1
9590
9591
9592 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:
9593 LA89_104 = self.input.LA(3)
9594
9595 if (self.synpred180()) :
9596 alt89 = 1
9597
9598
9599 elif LA89 == 61:
9600 LA89_105 = self.input.LA(3)
9601
9602 if (self.synpred180()) :
9603 alt89 = 1
9604
9605
9606
9607 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9608 LA89 = self.input.LA(2)
9609 if LA89 == 65:
9610 LA89_106 = self.input.LA(3)
9611
9612 if (self.synpred180()) :
9613 alt89 = 1
9614
9615
9616 elif LA89 == 58:
9617 LA89_107 = self.input.LA(3)
9618
9619 if (self.synpred180()) :
9620 alt89 = 1
9621
9622
9623 elif LA89 == 59:
9624 LA89_108 = self.input.LA(3)
9625
9626 if (self.synpred180()) :
9627 alt89 = 1
9628
9629
9630 elif LA89 == 60:
9631 LA89_109 = self.input.LA(3)
9632
9633 if (self.synpred180()) :
9634 alt89 = 1
9635
9636
9637 elif LA89 == IDENTIFIER:
9638 LA89_110 = self.input.LA(3)
9639
9640 if (self.synpred180()) :
9641 alt89 = 1
9642
9643
9644 elif LA89 == 61:
9645 LA89_111 = self.input.LA(3)
9646
9647 if (self.synpred180()) :
9648 alt89 = 1
9649
9650
9651 elif LA89 == 25:
9652 LA89_112 = self.input.LA(3)
9653
9654 if (self.synpred180()) :
9655 alt89 = 1
9656
9657
9658 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9659 LA89_113 = self.input.LA(3)
9660
9661 if (self.synpred180()) :
9662 alt89 = 1
9663
9664
9665 elif LA89 == 34:
9666 LA89_114 = self.input.LA(3)
9667
9668 if (self.synpred180()) :
9669 alt89 = 1
9670
9671
9672 elif LA89 == 35:
9673 LA89_115 = self.input.LA(3)
9674
9675 if (self.synpred180()) :
9676 alt89 = 1
9677
9678
9679 elif LA89 == 36:
9680 LA89_116 = self.input.LA(3)
9681
9682 if (self.synpred180()) :
9683 alt89 = 1
9684
9685
9686 elif LA89 == 37:
9687 LA89_117 = self.input.LA(3)
9688
9689 if (self.synpred180()) :
9690 alt89 = 1
9691
9692
9693 elif LA89 == 38:
9694 LA89_118 = self.input.LA(3)
9695
9696 if (self.synpred180()) :
9697 alt89 = 1
9698
9699
9700 elif LA89 == 39:
9701 LA89_119 = self.input.LA(3)
9702
9703 if (self.synpred180()) :
9704 alt89 = 1
9705
9706
9707 elif LA89 == 40:
9708 LA89_120 = self.input.LA(3)
9709
9710 if (self.synpred180()) :
9711 alt89 = 1
9712
9713
9714 elif LA89 == 41:
9715 LA89_121 = self.input.LA(3)
9716
9717 if (self.synpred180()) :
9718 alt89 = 1
9719
9720
9721 elif LA89 == 42:
9722 LA89_122 = self.input.LA(3)
9723
9724 if (self.synpred180()) :
9725 alt89 = 1
9726
9727
9728 elif LA89 == 45 or LA89 == 46:
9729 LA89_123 = self.input.LA(3)
9730
9731 if (self.synpred180()) :
9732 alt89 = 1
9733
9734
9735 elif LA89 == 48:
9736 LA89_124 = self.input.LA(3)
9737
9738 if (self.synpred180()) :
9739 alt89 = 1
9740
9741
9742 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:
9743 LA89_125 = self.input.LA(3)
9744
9745 if (self.synpred180()) :
9746 alt89 = 1
9747
9748
9749
9750 elif LA89 == 34:
9751 LA89 = self.input.LA(2)
9752 if LA89 == 65:
9753 LA89_126 = self.input.LA(3)
9754
9755 if (self.synpred180()) :
9756 alt89 = 1
9757
9758
9759 elif LA89 == 58:
9760 LA89_127 = self.input.LA(3)
9761
9762 if (self.synpred180()) :
9763 alt89 = 1
9764
9765
9766 elif LA89 == 59:
9767 LA89_128 = self.input.LA(3)
9768
9769 if (self.synpred180()) :
9770 alt89 = 1
9771
9772
9773 elif LA89 == 60:
9774 LA89_129 = self.input.LA(3)
9775
9776 if (self.synpred180()) :
9777 alt89 = 1
9778
9779
9780 elif LA89 == IDENTIFIER:
9781 LA89_130 = self.input.LA(3)
9782
9783 if (self.synpred180()) :
9784 alt89 = 1
9785
9786
9787 elif LA89 == 61:
9788 LA89_131 = self.input.LA(3)
9789
9790 if (self.synpred180()) :
9791 alt89 = 1
9792
9793
9794 elif LA89 == 25:
9795 LA89_132 = self.input.LA(3)
9796
9797 if (self.synpred180()) :
9798 alt89 = 1
9799
9800
9801 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9802 LA89_133 = self.input.LA(3)
9803
9804 if (self.synpred180()) :
9805 alt89 = 1
9806
9807
9808 elif LA89 == 34:
9809 LA89_134 = self.input.LA(3)
9810
9811 if (self.synpred180()) :
9812 alt89 = 1
9813
9814
9815 elif LA89 == 35:
9816 LA89_135 = self.input.LA(3)
9817
9818 if (self.synpred180()) :
9819 alt89 = 1
9820
9821
9822 elif LA89 == 36:
9823 LA89_136 = self.input.LA(3)
9824
9825 if (self.synpred180()) :
9826 alt89 = 1
9827
9828
9829 elif LA89 == 37:
9830 LA89_137 = self.input.LA(3)
9831
9832 if (self.synpred180()) :
9833 alt89 = 1
9834
9835
9836 elif LA89 == 38:
9837 LA89_138 = self.input.LA(3)
9838
9839 if (self.synpred180()) :
9840 alt89 = 1
9841
9842
9843 elif LA89 == 39:
9844 LA89_139 = self.input.LA(3)
9845
9846 if (self.synpred180()) :
9847 alt89 = 1
9848
9849
9850 elif LA89 == 40:
9851 LA89_140 = self.input.LA(3)
9852
9853 if (self.synpred180()) :
9854 alt89 = 1
9855
9856
9857 elif LA89 == 41:
9858 LA89_141 = self.input.LA(3)
9859
9860 if (self.synpred180()) :
9861 alt89 = 1
9862
9863
9864 elif LA89 == 42:
9865 LA89_142 = self.input.LA(3)
9866
9867 if (self.synpred180()) :
9868 alt89 = 1
9869
9870
9871 elif LA89 == 45 or LA89 == 46:
9872 LA89_143 = self.input.LA(3)
9873
9874 if (self.synpred180()) :
9875 alt89 = 1
9876
9877
9878 elif LA89 == 48:
9879 LA89_144 = self.input.LA(3)
9880
9881 if (self.synpred180()) :
9882 alt89 = 1
9883
9884
9885 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:
9886 LA89_145 = self.input.LA(3)
9887
9888 if (self.synpred180()) :
9889 alt89 = 1
9890
9891
9892
9893 elif LA89 == 35:
9894 LA89 = self.input.LA(2)
9895 if LA89 == 65:
9896 LA89_146 = self.input.LA(3)
9897
9898 if (self.synpred180()) :
9899 alt89 = 1
9900
9901
9902 elif LA89 == 58:
9903 LA89_147 = self.input.LA(3)
9904
9905 if (self.synpred180()) :
9906 alt89 = 1
9907
9908
9909 elif LA89 == 59:
9910 LA89_148 = self.input.LA(3)
9911
9912 if (self.synpred180()) :
9913 alt89 = 1
9914
9915
9916 elif LA89 == 60:
9917 LA89_149 = self.input.LA(3)
9918
9919 if (self.synpred180()) :
9920 alt89 = 1
9921
9922
9923 elif LA89 == IDENTIFIER:
9924 LA89_150 = self.input.LA(3)
9925
9926 if (self.synpred180()) :
9927 alt89 = 1
9928
9929
9930 elif LA89 == 61:
9931 LA89_151 = self.input.LA(3)
9932
9933 if (self.synpred180()) :
9934 alt89 = 1
9935
9936
9937 elif LA89 == 25:
9938 LA89_152 = self.input.LA(3)
9939
9940 if (self.synpred180()) :
9941 alt89 = 1
9942
9943
9944 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
9945 LA89_153 = self.input.LA(3)
9946
9947 if (self.synpred180()) :
9948 alt89 = 1
9949
9950
9951 elif LA89 == 34:
9952 LA89_154 = self.input.LA(3)
9953
9954 if (self.synpred180()) :
9955 alt89 = 1
9956
9957
9958 elif LA89 == 35:
9959 LA89_155 = self.input.LA(3)
9960
9961 if (self.synpred180()) :
9962 alt89 = 1
9963
9964
9965 elif LA89 == 36:
9966 LA89_156 = self.input.LA(3)
9967
9968 if (self.synpred180()) :
9969 alt89 = 1
9970
9971
9972 elif LA89 == 37:
9973 LA89_157 = self.input.LA(3)
9974
9975 if (self.synpred180()) :
9976 alt89 = 1
9977
9978
9979 elif LA89 == 38:
9980 LA89_158 = self.input.LA(3)
9981
9982 if (self.synpred180()) :
9983 alt89 = 1
9984
9985
9986 elif LA89 == 39:
9987 LA89_159 = self.input.LA(3)
9988
9989 if (self.synpred180()) :
9990 alt89 = 1
9991
9992
9993 elif LA89 == 40:
9994 LA89_160 = self.input.LA(3)
9995
9996 if (self.synpred180()) :
9997 alt89 = 1
9998
9999
10000 elif LA89 == 41:
10001 LA89_161 = self.input.LA(3)
10002
10003 if (self.synpred180()) :
10004 alt89 = 1
10005
10006
10007 elif LA89 == 42:
10008 LA89_162 = self.input.LA(3)
10009
10010 if (self.synpred180()) :
10011 alt89 = 1
10012
10013
10014 elif LA89 == 45 or LA89 == 46:
10015 LA89_163 = self.input.LA(3)
10016
10017 if (self.synpred180()) :
10018 alt89 = 1
10019
10020
10021 elif LA89 == 48:
10022 LA89_164 = self.input.LA(3)
10023
10024 if (self.synpred180()) :
10025 alt89 = 1
10026
10027
10028 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:
10029 LA89_165 = self.input.LA(3)
10030
10031 if (self.synpred180()) :
10032 alt89 = 1
10033
10034
10035
10036 elif LA89 == 36:
10037 LA89 = self.input.LA(2)
10038 if LA89 == 65:
10039 LA89_166 = self.input.LA(3)
10040
10041 if (self.synpred180()) :
10042 alt89 = 1
10043
10044
10045 elif LA89 == 58:
10046 LA89_167 = self.input.LA(3)
10047
10048 if (self.synpred180()) :
10049 alt89 = 1
10050
10051
10052 elif LA89 == 59:
10053 LA89_168 = self.input.LA(3)
10054
10055 if (self.synpred180()) :
10056 alt89 = 1
10057
10058
10059 elif LA89 == 60:
10060 LA89_169 = self.input.LA(3)
10061
10062 if (self.synpred180()) :
10063 alt89 = 1
10064
10065
10066 elif LA89 == IDENTIFIER:
10067 LA89_170 = self.input.LA(3)
10068
10069 if (self.synpred180()) :
10070 alt89 = 1
10071
10072
10073 elif LA89 == 61:
10074 LA89_171 = self.input.LA(3)
10075
10076 if (self.synpred180()) :
10077 alt89 = 1
10078
10079
10080 elif LA89 == 25:
10081 LA89_172 = self.input.LA(3)
10082
10083 if (self.synpred180()) :
10084 alt89 = 1
10085
10086
10087 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10088 LA89_173 = self.input.LA(3)
10089
10090 if (self.synpred180()) :
10091 alt89 = 1
10092
10093
10094 elif LA89 == 34:
10095 LA89_174 = self.input.LA(3)
10096
10097 if (self.synpred180()) :
10098 alt89 = 1
10099
10100
10101 elif LA89 == 35:
10102 LA89_175 = self.input.LA(3)
10103
10104 if (self.synpred180()) :
10105 alt89 = 1
10106
10107
10108 elif LA89 == 36:
10109 LA89_176 = self.input.LA(3)
10110
10111 if (self.synpred180()) :
10112 alt89 = 1
10113
10114
10115 elif LA89 == 37:
10116 LA89_177 = self.input.LA(3)
10117
10118 if (self.synpred180()) :
10119 alt89 = 1
10120
10121
10122 elif LA89 == 38:
10123 LA89_178 = self.input.LA(3)
10124
10125 if (self.synpred180()) :
10126 alt89 = 1
10127
10128
10129 elif LA89 == 39:
10130 LA89_179 = self.input.LA(3)
10131
10132 if (self.synpred180()) :
10133 alt89 = 1
10134
10135
10136 elif LA89 == 40:
10137 LA89_180 = self.input.LA(3)
10138
10139 if (self.synpred180()) :
10140 alt89 = 1
10141
10142
10143 elif LA89 == 41:
10144 LA89_181 = self.input.LA(3)
10145
10146 if (self.synpred180()) :
10147 alt89 = 1
10148
10149
10150 elif LA89 == 42:
10151 LA89_182 = self.input.LA(3)
10152
10153 if (self.synpred180()) :
10154 alt89 = 1
10155
10156
10157 elif LA89 == 45 or LA89 == 46:
10158 LA89_183 = self.input.LA(3)
10159
10160 if (self.synpred180()) :
10161 alt89 = 1
10162
10163
10164 elif LA89 == 48:
10165 LA89_184 = self.input.LA(3)
10166
10167 if (self.synpred180()) :
10168 alt89 = 1
10169
10170
10171 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:
10172 LA89_185 = self.input.LA(3)
10173
10174 if (self.synpred180()) :
10175 alt89 = 1
10176
10177
10178
10179 elif LA89 == 37:
10180 LA89 = self.input.LA(2)
10181 if LA89 == 65:
10182 LA89_186 = self.input.LA(3)
10183
10184 if (self.synpred180()) :
10185 alt89 = 1
10186
10187
10188 elif LA89 == 58:
10189 LA89_187 = self.input.LA(3)
10190
10191 if (self.synpred180()) :
10192 alt89 = 1
10193
10194
10195 elif LA89 == 59:
10196 LA89_188 = self.input.LA(3)
10197
10198 if (self.synpred180()) :
10199 alt89 = 1
10200
10201
10202 elif LA89 == 60:
10203 LA89_189 = self.input.LA(3)
10204
10205 if (self.synpred180()) :
10206 alt89 = 1
10207
10208
10209 elif LA89 == IDENTIFIER:
10210 LA89_190 = self.input.LA(3)
10211
10212 if (self.synpred180()) :
10213 alt89 = 1
10214
10215
10216 elif LA89 == 61:
10217 LA89_191 = self.input.LA(3)
10218
10219 if (self.synpred180()) :
10220 alt89 = 1
10221
10222
10223 elif LA89 == 25:
10224 LA89_192 = self.input.LA(3)
10225
10226 if (self.synpred180()) :
10227 alt89 = 1
10228
10229
10230 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10231 LA89_193 = self.input.LA(3)
10232
10233 if (self.synpred180()) :
10234 alt89 = 1
10235
10236
10237 elif LA89 == 34:
10238 LA89_194 = self.input.LA(3)
10239
10240 if (self.synpred180()) :
10241 alt89 = 1
10242
10243
10244 elif LA89 == 35:
10245 LA89_195 = self.input.LA(3)
10246
10247 if (self.synpred180()) :
10248 alt89 = 1
10249
10250
10251 elif LA89 == 36:
10252 LA89_196 = self.input.LA(3)
10253
10254 if (self.synpred180()) :
10255 alt89 = 1
10256
10257
10258 elif LA89 == 37:
10259 LA89_197 = self.input.LA(3)
10260
10261 if (self.synpred180()) :
10262 alt89 = 1
10263
10264
10265 elif LA89 == 38:
10266 LA89_198 = self.input.LA(3)
10267
10268 if (self.synpred180()) :
10269 alt89 = 1
10270
10271
10272 elif LA89 == 39:
10273 LA89_199 = self.input.LA(3)
10274
10275 if (self.synpred180()) :
10276 alt89 = 1
10277
10278
10279 elif LA89 == 40:
10280 LA89_200 = self.input.LA(3)
10281
10282 if (self.synpred180()) :
10283 alt89 = 1
10284
10285
10286 elif LA89 == 41:
10287 LA89_201 = self.input.LA(3)
10288
10289 if (self.synpred180()) :
10290 alt89 = 1
10291
10292
10293 elif LA89 == 42:
10294 LA89_202 = self.input.LA(3)
10295
10296 if (self.synpred180()) :
10297 alt89 = 1
10298
10299
10300 elif LA89 == 45 or LA89 == 46:
10301 LA89_203 = self.input.LA(3)
10302
10303 if (self.synpred180()) :
10304 alt89 = 1
10305
10306
10307 elif LA89 == 48:
10308 LA89_204 = self.input.LA(3)
10309
10310 if (self.synpred180()) :
10311 alt89 = 1
10312
10313
10314 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:
10315 LA89_205 = self.input.LA(3)
10316
10317 if (self.synpred180()) :
10318 alt89 = 1
10319
10320
10321
10322 elif LA89 == 38:
10323 LA89 = self.input.LA(2)
10324 if LA89 == 65:
10325 LA89_206 = self.input.LA(3)
10326
10327 if (self.synpred180()) :
10328 alt89 = 1
10329
10330
10331 elif LA89 == 58:
10332 LA89_207 = self.input.LA(3)
10333
10334 if (self.synpred180()) :
10335 alt89 = 1
10336
10337
10338 elif LA89 == 59:
10339 LA89_208 = self.input.LA(3)
10340
10341 if (self.synpred180()) :
10342 alt89 = 1
10343
10344
10345 elif LA89 == 60:
10346 LA89_209 = self.input.LA(3)
10347
10348 if (self.synpred180()) :
10349 alt89 = 1
10350
10351
10352 elif LA89 == IDENTIFIER:
10353 LA89_210 = self.input.LA(3)
10354
10355 if (self.synpred180()) :
10356 alt89 = 1
10357
10358
10359 elif LA89 == 61:
10360 LA89_211 = self.input.LA(3)
10361
10362 if (self.synpred180()) :
10363 alt89 = 1
10364
10365
10366 elif LA89 == 25:
10367 LA89_212 = self.input.LA(3)
10368
10369 if (self.synpred180()) :
10370 alt89 = 1
10371
10372
10373 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10374 LA89_213 = self.input.LA(3)
10375
10376 if (self.synpred180()) :
10377 alt89 = 1
10378
10379
10380 elif LA89 == 34:
10381 LA89_214 = self.input.LA(3)
10382
10383 if (self.synpred180()) :
10384 alt89 = 1
10385
10386
10387 elif LA89 == 35:
10388 LA89_215 = self.input.LA(3)
10389
10390 if (self.synpred180()) :
10391 alt89 = 1
10392
10393
10394 elif LA89 == 36:
10395 LA89_216 = self.input.LA(3)
10396
10397 if (self.synpred180()) :
10398 alt89 = 1
10399
10400
10401 elif LA89 == 37:
10402 LA89_217 = self.input.LA(3)
10403
10404 if (self.synpred180()) :
10405 alt89 = 1
10406
10407
10408 elif LA89 == 38:
10409 LA89_218 = self.input.LA(3)
10410
10411 if (self.synpred180()) :
10412 alt89 = 1
10413
10414
10415 elif LA89 == 39:
10416 LA89_219 = self.input.LA(3)
10417
10418 if (self.synpred180()) :
10419 alt89 = 1
10420
10421
10422 elif LA89 == 40:
10423 LA89_220 = self.input.LA(3)
10424
10425 if (self.synpred180()) :
10426 alt89 = 1
10427
10428
10429 elif LA89 == 41:
10430 LA89_221 = self.input.LA(3)
10431
10432 if (self.synpred180()) :
10433 alt89 = 1
10434
10435
10436 elif LA89 == 42:
10437 LA89_222 = self.input.LA(3)
10438
10439 if (self.synpred180()) :
10440 alt89 = 1
10441
10442
10443 elif LA89 == 45 or LA89 == 46:
10444 LA89_223 = self.input.LA(3)
10445
10446 if (self.synpred180()) :
10447 alt89 = 1
10448
10449
10450 elif LA89 == 48:
10451 LA89_224 = self.input.LA(3)
10452
10453 if (self.synpred180()) :
10454 alt89 = 1
10455
10456
10457 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:
10458 LA89_225 = self.input.LA(3)
10459
10460 if (self.synpred180()) :
10461 alt89 = 1
10462
10463
10464
10465 elif LA89 == 39:
10466 LA89 = self.input.LA(2)
10467 if LA89 == 65:
10468 LA89_226 = self.input.LA(3)
10469
10470 if (self.synpred180()) :
10471 alt89 = 1
10472
10473
10474 elif LA89 == 58:
10475 LA89_227 = self.input.LA(3)
10476
10477 if (self.synpred180()) :
10478 alt89 = 1
10479
10480
10481 elif LA89 == 59:
10482 LA89_228 = self.input.LA(3)
10483
10484 if (self.synpred180()) :
10485 alt89 = 1
10486
10487
10488 elif LA89 == 60:
10489 LA89_229 = self.input.LA(3)
10490
10491 if (self.synpred180()) :
10492 alt89 = 1
10493
10494
10495 elif LA89 == IDENTIFIER:
10496 LA89_230 = self.input.LA(3)
10497
10498 if (self.synpred180()) :
10499 alt89 = 1
10500
10501
10502 elif LA89 == 61:
10503 LA89_231 = self.input.LA(3)
10504
10505 if (self.synpred180()) :
10506 alt89 = 1
10507
10508
10509 elif LA89 == 25:
10510 LA89_232 = self.input.LA(3)
10511
10512 if (self.synpred180()) :
10513 alt89 = 1
10514
10515
10516 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10517 LA89_233 = self.input.LA(3)
10518
10519 if (self.synpred180()) :
10520 alt89 = 1
10521
10522
10523 elif LA89 == 34:
10524 LA89_234 = self.input.LA(3)
10525
10526 if (self.synpred180()) :
10527 alt89 = 1
10528
10529
10530 elif LA89 == 35:
10531 LA89_235 = self.input.LA(3)
10532
10533 if (self.synpred180()) :
10534 alt89 = 1
10535
10536
10537 elif LA89 == 36:
10538 LA89_236 = self.input.LA(3)
10539
10540 if (self.synpred180()) :
10541 alt89 = 1
10542
10543
10544 elif LA89 == 37:
10545 LA89_237 = self.input.LA(3)
10546
10547 if (self.synpred180()) :
10548 alt89 = 1
10549
10550
10551 elif LA89 == 38:
10552 LA89_238 = self.input.LA(3)
10553
10554 if (self.synpred180()) :
10555 alt89 = 1
10556
10557
10558 elif LA89 == 39:
10559 LA89_239 = self.input.LA(3)
10560
10561 if (self.synpred180()) :
10562 alt89 = 1
10563
10564
10565 elif LA89 == 40:
10566 LA89_240 = self.input.LA(3)
10567
10568 if (self.synpred180()) :
10569 alt89 = 1
10570
10571
10572 elif LA89 == 41:
10573 LA89_241 = self.input.LA(3)
10574
10575 if (self.synpred180()) :
10576 alt89 = 1
10577
10578
10579 elif LA89 == 42:
10580 LA89_242 = self.input.LA(3)
10581
10582 if (self.synpred180()) :
10583 alt89 = 1
10584
10585
10586 elif LA89 == 45 or LA89 == 46:
10587 LA89_243 = self.input.LA(3)
10588
10589 if (self.synpred180()) :
10590 alt89 = 1
10591
10592
10593 elif LA89 == 48:
10594 LA89_244 = self.input.LA(3)
10595
10596 if (self.synpred180()) :
10597 alt89 = 1
10598
10599
10600 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:
10601 LA89_245 = self.input.LA(3)
10602
10603 if (self.synpred180()) :
10604 alt89 = 1
10605
10606
10607
10608 elif LA89 == 40:
10609 LA89 = self.input.LA(2)
10610 if LA89 == 65:
10611 LA89_246 = self.input.LA(3)
10612
10613 if (self.synpred180()) :
10614 alt89 = 1
10615
10616
10617 elif LA89 == 58:
10618 LA89_247 = self.input.LA(3)
10619
10620 if (self.synpred180()) :
10621 alt89 = 1
10622
10623
10624 elif LA89 == 59:
10625 LA89_248 = self.input.LA(3)
10626
10627 if (self.synpred180()) :
10628 alt89 = 1
10629
10630
10631 elif LA89 == 60:
10632 LA89_249 = self.input.LA(3)
10633
10634 if (self.synpred180()) :
10635 alt89 = 1
10636
10637
10638 elif LA89 == IDENTIFIER:
10639 LA89_250 = self.input.LA(3)
10640
10641 if (self.synpred180()) :
10642 alt89 = 1
10643
10644
10645 elif LA89 == 61:
10646 LA89_251 = self.input.LA(3)
10647
10648 if (self.synpred180()) :
10649 alt89 = 1
10650
10651
10652 elif LA89 == 25:
10653 LA89_252 = self.input.LA(3)
10654
10655 if (self.synpred180()) :
10656 alt89 = 1
10657
10658
10659 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10660 LA89_253 = self.input.LA(3)
10661
10662 if (self.synpred180()) :
10663 alt89 = 1
10664
10665
10666 elif LA89 == 34:
10667 LA89_254 = self.input.LA(3)
10668
10669 if (self.synpred180()) :
10670 alt89 = 1
10671
10672
10673 elif LA89 == 35:
10674 LA89_255 = self.input.LA(3)
10675
10676 if (self.synpred180()) :
10677 alt89 = 1
10678
10679
10680 elif LA89 == 36:
10681 LA89_256 = self.input.LA(3)
10682
10683 if (self.synpred180()) :
10684 alt89 = 1
10685
10686
10687 elif LA89 == 37:
10688 LA89_257 = self.input.LA(3)
10689
10690 if (self.synpred180()) :
10691 alt89 = 1
10692
10693
10694 elif LA89 == 38:
10695 LA89_258 = self.input.LA(3)
10696
10697 if (self.synpred180()) :
10698 alt89 = 1
10699
10700
10701 elif LA89 == 39:
10702 LA89_259 = self.input.LA(3)
10703
10704 if (self.synpred180()) :
10705 alt89 = 1
10706
10707
10708 elif LA89 == 40:
10709 LA89_260 = self.input.LA(3)
10710
10711 if (self.synpred180()) :
10712 alt89 = 1
10713
10714
10715 elif LA89 == 41:
10716 LA89_261 = self.input.LA(3)
10717
10718 if (self.synpred180()) :
10719 alt89 = 1
10720
10721
10722 elif LA89 == 42:
10723 LA89_262 = self.input.LA(3)
10724
10725 if (self.synpred180()) :
10726 alt89 = 1
10727
10728
10729 elif LA89 == 45 or LA89 == 46:
10730 LA89_263 = self.input.LA(3)
10731
10732 if (self.synpred180()) :
10733 alt89 = 1
10734
10735
10736 elif LA89 == 48:
10737 LA89_264 = self.input.LA(3)
10738
10739 if (self.synpred180()) :
10740 alt89 = 1
10741
10742
10743 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:
10744 LA89_265 = self.input.LA(3)
10745
10746 if (self.synpred180()) :
10747 alt89 = 1
10748
10749
10750
10751 elif LA89 == 41:
10752 LA89 = self.input.LA(2)
10753 if LA89 == 65:
10754 LA89_266 = self.input.LA(3)
10755
10756 if (self.synpred180()) :
10757 alt89 = 1
10758
10759
10760 elif LA89 == 58:
10761 LA89_267 = self.input.LA(3)
10762
10763 if (self.synpred180()) :
10764 alt89 = 1
10765
10766
10767 elif LA89 == 59:
10768 LA89_268 = self.input.LA(3)
10769
10770 if (self.synpred180()) :
10771 alt89 = 1
10772
10773
10774 elif LA89 == 60:
10775 LA89_269 = self.input.LA(3)
10776
10777 if (self.synpred180()) :
10778 alt89 = 1
10779
10780
10781 elif LA89 == IDENTIFIER:
10782 LA89_270 = self.input.LA(3)
10783
10784 if (self.synpred180()) :
10785 alt89 = 1
10786
10787
10788 elif LA89 == 61:
10789 LA89_271 = self.input.LA(3)
10790
10791 if (self.synpred180()) :
10792 alt89 = 1
10793
10794
10795 elif LA89 == 25:
10796 LA89_272 = self.input.LA(3)
10797
10798 if (self.synpred180()) :
10799 alt89 = 1
10800
10801
10802 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10803 LA89_273 = self.input.LA(3)
10804
10805 if (self.synpred180()) :
10806 alt89 = 1
10807
10808
10809 elif LA89 == 34:
10810 LA89_274 = self.input.LA(3)
10811
10812 if (self.synpred180()) :
10813 alt89 = 1
10814
10815
10816 elif LA89 == 35:
10817 LA89_275 = self.input.LA(3)
10818
10819 if (self.synpred180()) :
10820 alt89 = 1
10821
10822
10823 elif LA89 == 36:
10824 LA89_276 = self.input.LA(3)
10825
10826 if (self.synpred180()) :
10827 alt89 = 1
10828
10829
10830 elif LA89 == 37:
10831 LA89_277 = self.input.LA(3)
10832
10833 if (self.synpred180()) :
10834 alt89 = 1
10835
10836
10837 elif LA89 == 38:
10838 LA89_278 = self.input.LA(3)
10839
10840 if (self.synpred180()) :
10841 alt89 = 1
10842
10843
10844 elif LA89 == 39:
10845 LA89_279 = self.input.LA(3)
10846
10847 if (self.synpred180()) :
10848 alt89 = 1
10849
10850
10851 elif LA89 == 40:
10852 LA89_280 = self.input.LA(3)
10853
10854 if (self.synpred180()) :
10855 alt89 = 1
10856
10857
10858 elif LA89 == 41:
10859 LA89_281 = self.input.LA(3)
10860
10861 if (self.synpred180()) :
10862 alt89 = 1
10863
10864
10865 elif LA89 == 42:
10866 LA89_282 = self.input.LA(3)
10867
10868 if (self.synpred180()) :
10869 alt89 = 1
10870
10871
10872 elif LA89 == 45 or LA89 == 46:
10873 LA89_283 = self.input.LA(3)
10874
10875 if (self.synpred180()) :
10876 alt89 = 1
10877
10878
10879 elif LA89 == 48:
10880 LA89_284 = self.input.LA(3)
10881
10882 if (self.synpred180()) :
10883 alt89 = 1
10884
10885
10886 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:
10887 LA89_285 = self.input.LA(3)
10888
10889 if (self.synpred180()) :
10890 alt89 = 1
10891
10892
10893
10894 elif LA89 == 42:
10895 LA89 = self.input.LA(2)
10896 if LA89 == 65:
10897 LA89_286 = self.input.LA(3)
10898
10899 if (self.synpred180()) :
10900 alt89 = 1
10901
10902
10903 elif LA89 == 58:
10904 LA89_287 = self.input.LA(3)
10905
10906 if (self.synpred180()) :
10907 alt89 = 1
10908
10909
10910 elif LA89 == 59:
10911 LA89_288 = self.input.LA(3)
10912
10913 if (self.synpred180()) :
10914 alt89 = 1
10915
10916
10917 elif LA89 == 60:
10918 LA89_289 = self.input.LA(3)
10919
10920 if (self.synpred180()) :
10921 alt89 = 1
10922
10923
10924 elif LA89 == IDENTIFIER:
10925 LA89_290 = self.input.LA(3)
10926
10927 if (self.synpred180()) :
10928 alt89 = 1
10929
10930
10931 elif LA89 == 61:
10932 LA89_291 = self.input.LA(3)
10933
10934 if (self.synpred180()) :
10935 alt89 = 1
10936
10937
10938 elif LA89 == 25:
10939 LA89_292 = self.input.LA(3)
10940
10941 if (self.synpred180()) :
10942 alt89 = 1
10943
10944
10945 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
10946 LA89_293 = self.input.LA(3)
10947
10948 if (self.synpred180()) :
10949 alt89 = 1
10950
10951
10952 elif LA89 == 34:
10953 LA89_294 = self.input.LA(3)
10954
10955 if (self.synpred180()) :
10956 alt89 = 1
10957
10958
10959 elif LA89 == 35:
10960 LA89_295 = self.input.LA(3)
10961
10962 if (self.synpred180()) :
10963 alt89 = 1
10964
10965
10966 elif LA89 == 36:
10967 LA89_296 = self.input.LA(3)
10968
10969 if (self.synpred180()) :
10970 alt89 = 1
10971
10972
10973 elif LA89 == 37:
10974 LA89_297 = self.input.LA(3)
10975
10976 if (self.synpred180()) :
10977 alt89 = 1
10978
10979
10980 elif LA89 == 38:
10981 LA89_298 = self.input.LA(3)
10982
10983 if (self.synpred180()) :
10984 alt89 = 1
10985
10986
10987 elif LA89 == 39:
10988 LA89_299 = self.input.LA(3)
10989
10990 if (self.synpred180()) :
10991 alt89 = 1
10992
10993
10994 elif LA89 == 40:
10995 LA89_300 = self.input.LA(3)
10996
10997 if (self.synpred180()) :
10998 alt89 = 1
10999
11000
11001 elif LA89 == 41:
11002 LA89_301 = self.input.LA(3)
11003
11004 if (self.synpred180()) :
11005 alt89 = 1
11006
11007
11008 elif LA89 == 42:
11009 LA89_302 = self.input.LA(3)
11010
11011 if (self.synpred180()) :
11012 alt89 = 1
11013
11014
11015 elif LA89 == 45 or LA89 == 46:
11016 LA89_303 = self.input.LA(3)
11017
11018 if (self.synpred180()) :
11019 alt89 = 1
11020
11021
11022 elif LA89 == 48:
11023 LA89_304 = self.input.LA(3)
11024
11025 if (self.synpred180()) :
11026 alt89 = 1
11027
11028
11029 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:
11030 LA89_305 = self.input.LA(3)
11031
11032 if (self.synpred180()) :
11033 alt89 = 1
11034
11035
11036
11037 elif LA89 == 45 or LA89 == 46:
11038 LA89_40 = self.input.LA(2)
11039
11040 if (LA89_40 == IDENTIFIER) :
11041 LA89_306 = self.input.LA(3)
11042
11043 if (self.synpred180()) :
11044 alt89 = 1
11045
11046
11047 elif (LA89_40 == 43) :
11048 LA89_307 = self.input.LA(3)
11049
11050 if (self.synpred180()) :
11051 alt89 = 1
11052
11053
11054
11055
11056 elif LA89 == 48:
11057 LA89_41 = self.input.LA(2)
11058
11059 if (LA89_41 == IDENTIFIER) :
11060 LA89_308 = self.input.LA(3)
11061
11062 if (self.synpred180()) :
11063 alt89 = 1
11064
11065
11066 elif (LA89_41 == 43) :
11067 LA89_309 = self.input.LA(3)
11068
11069 if (self.synpred180()) :
11070 alt89 = 1
11071
11072
11073
11074
11075 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:
11076 LA89 = self.input.LA(2)
11077 if LA89 == 65:
11078 LA89_310 = self.input.LA(3)
11079
11080 if (self.synpred180()) :
11081 alt89 = 1
11082
11083
11084 elif LA89 == 58:
11085 LA89_311 = self.input.LA(3)
11086
11087 if (self.synpred180()) :
11088 alt89 = 1
11089
11090
11091 elif LA89 == 59:
11092 LA89_312 = self.input.LA(3)
11093
11094 if (self.synpred180()) :
11095 alt89 = 1
11096
11097
11098 elif LA89 == 60:
11099 LA89_313 = self.input.LA(3)
11100
11101 if (self.synpred180()) :
11102 alt89 = 1
11103
11104
11105 elif LA89 == IDENTIFIER:
11106 LA89_314 = self.input.LA(3)
11107
11108 if (self.synpred180()) :
11109 alt89 = 1
11110
11111
11112 elif LA89 == 61:
11113 LA89_315 = self.input.LA(3)
11114
11115 if (self.synpred180()) :
11116 alt89 = 1
11117
11118
11119 elif LA89 == 25:
11120 LA89_316 = self.input.LA(3)
11121
11122 if (self.synpred180()) :
11123 alt89 = 1
11124
11125
11126 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
11127 LA89_317 = self.input.LA(3)
11128
11129 if (self.synpred180()) :
11130 alt89 = 1
11131
11132
11133 elif LA89 == 34:
11134 LA89_318 = self.input.LA(3)
11135
11136 if (self.synpred180()) :
11137 alt89 = 1
11138
11139
11140 elif LA89 == 35:
11141 LA89_319 = self.input.LA(3)
11142
11143 if (self.synpred180()) :
11144 alt89 = 1
11145
11146
11147 elif LA89 == 36:
11148 LA89_320 = self.input.LA(3)
11149
11150 if (self.synpred180()) :
11151 alt89 = 1
11152
11153
11154 elif LA89 == 37:
11155 LA89_321 = self.input.LA(3)
11156
11157 if (self.synpred180()) :
11158 alt89 = 1
11159
11160
11161 elif LA89 == 38:
11162 LA89_322 = self.input.LA(3)
11163
11164 if (self.synpred180()) :
11165 alt89 = 1
11166
11167
11168 elif LA89 == 39:
11169 LA89_323 = self.input.LA(3)
11170
11171 if (self.synpred180()) :
11172 alt89 = 1
11173
11174
11175 elif LA89 == 40:
11176 LA89_324 = self.input.LA(3)
11177
11178 if (self.synpred180()) :
11179 alt89 = 1
11180
11181
11182 elif LA89 == 41:
11183 LA89_325 = self.input.LA(3)
11184
11185 if (self.synpred180()) :
11186 alt89 = 1
11187
11188
11189 elif LA89 == 42:
11190 LA89_326 = self.input.LA(3)
11191
11192 if (self.synpred180()) :
11193 alt89 = 1
11194
11195
11196 elif LA89 == 45 or LA89 == 46:
11197 LA89_327 = self.input.LA(3)
11198
11199 if (self.synpred180()) :
11200 alt89 = 1
11201
11202
11203 elif LA89 == 48:
11204 LA89_328 = self.input.LA(3)
11205
11206 if (self.synpred180()) :
11207 alt89 = 1
11208
11209
11210 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:
11211 LA89_329 = self.input.LA(3)
11212
11213 if (self.synpred180()) :
11214 alt89 = 1
11215
11216
11217
11218
11219 if alt89 == 1:
11220 # C.g:0:0: declaration
11221 self.following.append(self.FOLLOW_declaration_in_macro_statement2151)
11222 self.declaration()
11223 self.following.pop()
11224 if self.failed:
11225 return
11226
11227
11228 else:
11229 break #loop89
11230
11231
11232 # C.g:491:33: ( statement_list )?
11233 alt90 = 2
11234 LA90 = self.input.LA(1)
11235 if LA90 == IDENTIFIER:
11236 LA90 = self.input.LA(2)
11237 if LA90 == 61:
11238 LA90_44 = self.input.LA(3)
11239
11240 if (self.synpred181()) :
11241 alt90 = 1
11242 elif 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:
11243 alt90 = 1
11244 elif LA90 == STRING_LITERAL:
11245 LA90_46 = self.input.LA(3)
11246
11247 if (self.synpred181()) :
11248 alt90 = 1
11249 elif LA90 == IDENTIFIER:
11250 LA90_47 = self.input.LA(3)
11251
11252 if (self.synpred181()) :
11253 alt90 = 1
11254 elif LA90 == 63:
11255 LA90_48 = self.input.LA(3)
11256
11257 if (self.synpred181()) :
11258 alt90 = 1
11259 elif LA90 == 74:
11260 LA90_49 = self.input.LA(3)
11261
11262 if (self.synpred181()) :
11263 alt90 = 1
11264 elif LA90 == 65:
11265 LA90_50 = self.input.LA(3)
11266
11267 if (self.synpred181()) :
11268 alt90 = 1
11269 elif LA90 == 75:
11270 LA90_51 = self.input.LA(3)
11271
11272 if (self.synpred181()) :
11273 alt90 = 1
11274 elif LA90 == 71:
11275 LA90_52 = self.input.LA(3)
11276
11277 if (self.synpred181()) :
11278 alt90 = 1
11279 elif LA90 == 72:
11280 LA90_53 = self.input.LA(3)
11281
11282 if (self.synpred181()) :
11283 alt90 = 1
11284 elif LA90 == 28 or LA90 == 79 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:
11285 LA90_54 = self.input.LA(3)
11286
11287 if (self.synpred181()) :
11288 alt90 = 1
11289 elif LA90 == 69:
11290 LA90_72 = self.input.LA(3)
11291
11292 if (self.synpred181()) :
11293 alt90 = 1
11294 elif LA90 == 70:
11295 LA90_73 = self.input.LA(3)
11296
11297 if (self.synpred181()) :
11298 alt90 = 1
11299 elif LA90 == 67:
11300 LA90_74 = self.input.LA(3)
11301
11302 if (self.synpred181()) :
11303 alt90 = 1
11304 elif LA90 == 68:
11305 LA90_75 = self.input.LA(3)
11306
11307 if (self.synpred181()) :
11308 alt90 = 1
11309 elif LA90 == 100 or LA90 == 101:
11310 LA90_76 = self.input.LA(3)
11311
11312 if (self.synpred181()) :
11313 alt90 = 1
11314 elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
11315 LA90_77 = self.input.LA(3)
11316
11317 if (self.synpred181()) :
11318 alt90 = 1
11319 elif LA90 == 94 or LA90 == 95:
11320 LA90_78 = self.input.LA(3)
11321
11322 if (self.synpred181()) :
11323 alt90 = 1
11324 elif LA90 == 76:
11325 LA90_79 = self.input.LA(3)
11326
11327 if (self.synpred181()) :
11328 alt90 = 1
11329 elif LA90 == 93:
11330 LA90_80 = self.input.LA(3)
11331
11332 if (self.synpred181()) :
11333 alt90 = 1
11334 elif LA90 == 92:
11335 LA90_81 = self.input.LA(3)
11336
11337 if (self.synpred181()) :
11338 alt90 = 1
11339 elif LA90 == 91:
11340 LA90_82 = self.input.LA(3)
11341
11342 if (self.synpred181()) :
11343 alt90 = 1
11344 elif LA90 == 90:
11345 LA90_83 = self.input.LA(3)
11346
11347 if (self.synpred181()) :
11348 alt90 = 1
11349 elif LA90 == 89:
11350 LA90_84 = self.input.LA(3)
11351
11352 if (self.synpred181()) :
11353 alt90 = 1
11354 elif LA90 == 27:
11355 LA90_85 = self.input.LA(3)
11356
11357 if (self.synpred181()) :
11358 alt90 = 1
11359 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 == 102 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 109 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116:
11360 alt90 = 1
11361 elif LA90 == HEX_LITERAL:
11362 LA90 = self.input.LA(2)
11363 if LA90 == 63:
11364 LA90_87 = self.input.LA(3)
11365
11366 if (self.synpred181()) :
11367 alt90 = 1
11368 elif LA90 == 61:
11369 LA90_88 = self.input.LA(3)
11370
11371 if (self.synpred181()) :
11372 alt90 = 1
11373 elif LA90 == 74:
11374 LA90_89 = self.input.LA(3)
11375
11376 if (self.synpred181()) :
11377 alt90 = 1
11378 elif LA90 == 65:
11379 LA90_90 = self.input.LA(3)
11380
11381 if (self.synpred181()) :
11382 alt90 = 1
11383 elif LA90 == 75:
11384 LA90_91 = self.input.LA(3)
11385
11386 if (self.synpred181()) :
11387 alt90 = 1
11388 elif LA90 == 71:
11389 LA90_92 = self.input.LA(3)
11390
11391 if (self.synpred181()) :
11392 alt90 = 1
11393 elif LA90 == 72:
11394 LA90_93 = self.input.LA(3)
11395
11396 if (self.synpred181()) :
11397 alt90 = 1
11398 elif LA90 == 69:
11399 LA90_94 = self.input.LA(3)
11400
11401 if (self.synpred181()) :
11402 alt90 = 1
11403 elif LA90 == 70:
11404 LA90_95 = self.input.LA(3)
11405
11406 if (self.synpred181()) :
11407 alt90 = 1
11408 elif LA90 == 67:
11409 LA90_96 = self.input.LA(3)
11410
11411 if (self.synpred181()) :
11412 alt90 = 1
11413 elif LA90 == 68:
11414 LA90_97 = self.input.LA(3)
11415
11416 if (self.synpred181()) :
11417 alt90 = 1
11418 elif LA90 == 100 or LA90 == 101:
11419 LA90_98 = self.input.LA(3)
11420
11421 if (self.synpred181()) :
11422 alt90 = 1
11423 elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
11424 LA90_99 = self.input.LA(3)
11425
11426 if (self.synpred181()) :
11427 alt90 = 1
11428 elif LA90 == 94 or LA90 == 95:
11429 LA90_100 = self.input.LA(3)
11430
11431 if (self.synpred181()) :
11432 alt90 = 1
11433 elif LA90 == 76:
11434 LA90_101 = self.input.LA(3)
11435
11436 if (self.synpred181()) :
11437 alt90 = 1
11438 elif LA90 == 93:
11439 LA90_102 = self.input.LA(3)
11440
11441 if (self.synpred181()) :
11442 alt90 = 1
11443 elif LA90 == 92:
11444 LA90_103 = self.input.LA(3)
11445
11446 if (self.synpred181()) :
11447 alt90 = 1
11448 elif LA90 == 91:
11449 LA90_104 = self.input.LA(3)
11450
11451 if (self.synpred181()) :
11452 alt90 = 1
11453 elif LA90 == 90:
11454 LA90_105 = self.input.LA(3)
11455
11456 if (self.synpred181()) :
11457 alt90 = 1
11458 elif LA90 == 89:
11459 LA90_106 = self.input.LA(3)
11460
11461 if (self.synpred181()) :
11462 alt90 = 1
11463 elif LA90 == 27:
11464 LA90_107 = self.input.LA(3)
11465
11466 if (self.synpred181()) :
11467 alt90 = 1
11468 elif LA90 == 25:
11469 alt90 = 1
11470 elif LA90 == 28 or LA90 == 79 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:
11471 LA90_110 = self.input.LA(3)
11472
11473 if (self.synpred181()) :
11474 alt90 = 1
11475 elif LA90 == OCTAL_LITERAL:
11476 LA90 = self.input.LA(2)
11477 if LA90 == 63:
11478 LA90_111 = self.input.LA(3)
11479
11480 if (self.synpred181()) :
11481 alt90 = 1
11482 elif LA90 == 61:
11483 LA90_112 = self.input.LA(3)
11484
11485 if (self.synpred181()) :
11486 alt90 = 1
11487 elif LA90 == 74:
11488 LA90_113 = self.input.LA(3)
11489
11490 if (self.synpred181()) :
11491 alt90 = 1
11492 elif LA90 == 65:
11493 LA90_114 = self.input.LA(3)
11494
11495 if (self.synpred181()) :
11496 alt90 = 1
11497 elif LA90 == 75:
11498 LA90_115 = self.input.LA(3)
11499
11500 if (self.synpred181()) :
11501 alt90 = 1
11502 elif LA90 == 71:
11503 LA90_116 = self.input.LA(3)
11504
11505 if (self.synpred181()) :
11506 alt90 = 1
11507 elif LA90 == 72:
11508 LA90_117 = self.input.LA(3)
11509
11510 if (self.synpred181()) :
11511 alt90 = 1
11512 elif LA90 == 28 or LA90 == 79 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:
11513 LA90_118 = self.input.LA(3)
11514
11515 if (self.synpred181()) :
11516 alt90 = 1
11517 elif LA90 == 69:
11518 LA90_119 = self.input.LA(3)
11519
11520 if (self.synpred181()) :
11521 alt90 = 1
11522 elif LA90 == 70:
11523 LA90_120 = self.input.LA(3)
11524
11525 if (self.synpred181()) :
11526 alt90 = 1
11527 elif LA90 == 67:
11528 LA90_121 = self.input.LA(3)
11529
11530 if (self.synpred181()) :
11531 alt90 = 1
11532 elif LA90 == 68:
11533 LA90_122 = self.input.LA(3)
11534
11535 if (self.synpred181()) :
11536 alt90 = 1
11537 elif LA90 == 100 or LA90 == 101:
11538 LA90_123 = self.input.LA(3)
11539
11540 if (self.synpred181()) :
11541 alt90 = 1
11542 elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
11543 LA90_124 = self.input.LA(3)
11544
11545 if (self.synpred181()) :
11546 alt90 = 1
11547 elif LA90 == 94 or LA90 == 95:
11548 LA90_125 = self.input.LA(3)
11549
11550 if (self.synpred181()) :
11551 alt90 = 1
11552 elif LA90 == 76:
11553 LA90_126 = self.input.LA(3)
11554
11555 if (self.synpred181()) :
11556 alt90 = 1
11557 elif LA90 == 93:
11558 LA90_127 = self.input.LA(3)
11559
11560 if (self.synpred181()) :
11561 alt90 = 1
11562 elif LA90 == 92:
11563 LA90_128 = self.input.LA(3)
11564
11565 if (self.synpred181()) :
11566 alt90 = 1
11567 elif LA90 == 91:
11568 LA90_129 = self.input.LA(3)
11569
11570 if (self.synpred181()) :
11571 alt90 = 1
11572 elif LA90 == 90:
11573 LA90_130 = self.input.LA(3)
11574
11575 if (self.synpred181()) :
11576 alt90 = 1
11577 elif LA90 == 89:
11578 LA90_131 = self.input.LA(3)
11579
11580 if (self.synpred181()) :
11581 alt90 = 1
11582 elif LA90 == 27:
11583 LA90_132 = self.input.LA(3)
11584
11585 if (self.synpred181()) :
11586 alt90 = 1
11587 elif LA90 == 25:
11588 alt90 = 1
11589 elif LA90 == DECIMAL_LITERAL:
11590 LA90 = self.input.LA(2)
11591 if LA90 == 63:
11592 LA90_135 = self.input.LA(3)
11593
11594 if (self.synpred181()) :
11595 alt90 = 1
11596 elif LA90 == 61:
11597 LA90_136 = self.input.LA(3)
11598
11599 if (self.synpred181()) :
11600 alt90 = 1
11601 elif LA90 == 74:
11602 LA90_137 = self.input.LA(3)
11603
11604 if (self.synpred181()) :
11605 alt90 = 1
11606 elif LA90 == 65:
11607 LA90_138 = self.input.LA(3)
11608
11609 if (self.synpred181()) :
11610 alt90 = 1
11611 elif LA90 == 75:
11612 LA90_139 = self.input.LA(3)
11613
11614 if (self.synpred181()) :
11615 alt90 = 1
11616 elif LA90 == 71:
11617 LA90_140 = self.input.LA(3)
11618
11619 if (self.synpred181()) :
11620 alt90 = 1
11621 elif LA90 == 72:
11622 LA90_141 = self.input.LA(3)
11623
11624 if (self.synpred181()) :
11625 alt90 = 1
11626 elif LA90 == 28 or LA90 == 79 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:
11627 LA90_142 = self.input.LA(3)
11628
11629 if (self.synpred181()) :
11630 alt90 = 1
11631 elif LA90 == 69:
11632 LA90_143 = self.input.LA(3)
11633
11634 if (self.synpred181()) :
11635 alt90 = 1
11636 elif LA90 == 70:
11637 LA90_144 = self.input.LA(3)
11638
11639 if (self.synpred181()) :
11640 alt90 = 1
11641 elif LA90 == 67:
11642 LA90_145 = self.input.LA(3)
11643
11644 if (self.synpred181()) :
11645 alt90 = 1
11646 elif LA90 == 68:
11647 LA90_146 = self.input.LA(3)
11648
11649 if (self.synpred181()) :
11650 alt90 = 1
11651 elif LA90 == 100 or LA90 == 101:
11652 LA90_147 = self.input.LA(3)
11653
11654 if (self.synpred181()) :
11655 alt90 = 1
11656 elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
11657 LA90_148 = self.input.LA(3)
11658
11659 if (self.synpred181()) :
11660 alt90 = 1
11661 elif LA90 == 94 or LA90 == 95:
11662 LA90_149 = self.input.LA(3)
11663
11664 if (self.synpred181()) :
11665 alt90 = 1
11666 elif LA90 == 76:
11667 LA90_150 = self.input.LA(3)
11668
11669 if (self.synpred181()) :
11670 alt90 = 1
11671 elif LA90 == 93:
11672 LA90_151 = self.input.LA(3)
11673
11674 if (self.synpred181()) :
11675 alt90 = 1
11676 elif LA90 == 92:
11677 LA90_152 = self.input.LA(3)
11678
11679 if (self.synpred181()) :
11680 alt90 = 1
11681 elif LA90 == 91:
11682 LA90_153 = self.input.LA(3)
11683
11684 if (self.synpred181()) :
11685 alt90 = 1
11686 elif LA90 == 90:
11687 LA90_154 = self.input.LA(3)
11688
11689 if (self.synpred181()) :
11690 alt90 = 1
11691 elif LA90 == 89:
11692 LA90_155 = self.input.LA(3)
11693
11694 if (self.synpred181()) :
11695 alt90 = 1
11696 elif LA90 == 27:
11697 LA90_156 = self.input.LA(3)
11698
11699 if (self.synpred181()) :
11700 alt90 = 1
11701 elif LA90 == 25:
11702 alt90 = 1
11703 elif LA90 == CHARACTER_LITERAL:
11704 LA90 = self.input.LA(2)
11705 if LA90 == 63:
11706 LA90_159 = self.input.LA(3)
11707
11708 if (self.synpred181()) :
11709 alt90 = 1
11710 elif LA90 == 61:
11711 LA90_160 = self.input.LA(3)
11712
11713 if (self.synpred181()) :
11714 alt90 = 1
11715 elif LA90 == 74:
11716 LA90_161 = self.input.LA(3)
11717
11718 if (self.synpred181()) :
11719 alt90 = 1
11720 elif LA90 == 65:
11721 LA90_162 = self.input.LA(3)
11722
11723 if (self.synpred181()) :
11724 alt90 = 1
11725 elif LA90 == 75:
11726 LA90_163 = self.input.LA(3)
11727
11728 if (self.synpred181()) :
11729 alt90 = 1
11730 elif LA90 == 71:
11731 LA90_164 = self.input.LA(3)
11732
11733 if (self.synpred181()) :
11734 alt90 = 1
11735 elif LA90 == 72:
11736 LA90_165 = self.input.LA(3)
11737
11738 if (self.synpred181()) :
11739 alt90 = 1
11740 elif LA90 == 28 or LA90 == 79 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:
11741 LA90_166 = self.input.LA(3)
11742
11743 if (self.synpred181()) :
11744 alt90 = 1
11745 elif LA90 == 69:
11746 LA90_167 = self.input.LA(3)
11747
11748 if (self.synpred181()) :
11749 alt90 = 1
11750 elif LA90 == 70:
11751 LA90_168 = self.input.LA(3)
11752
11753 if (self.synpred181()) :
11754 alt90 = 1
11755 elif LA90 == 67:
11756 LA90_169 = self.input.LA(3)
11757
11758 if (self.synpred181()) :
11759 alt90 = 1
11760 elif LA90 == 68:
11761 LA90_170 = self.input.LA(3)
11762
11763 if (self.synpred181()) :
11764 alt90 = 1
11765 elif LA90 == 100 or LA90 == 101:
11766 LA90_171 = self.input.LA(3)
11767
11768 if (self.synpred181()) :
11769 alt90 = 1
11770 elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
11771 LA90_172 = self.input.LA(3)
11772
11773 if (self.synpred181()) :
11774 alt90 = 1
11775 elif LA90 == 94 or LA90 == 95:
11776 LA90_173 = self.input.LA(3)
11777
11778 if (self.synpred181()) :
11779 alt90 = 1
11780 elif LA90 == 76:
11781 LA90_174 = self.input.LA(3)
11782
11783 if (self.synpred181()) :
11784 alt90 = 1
11785 elif LA90 == 93:
11786 LA90_175 = self.input.LA(3)
11787
11788 if (self.synpred181()) :
11789 alt90 = 1
11790 elif LA90 == 92:
11791 LA90_176 = self.input.LA(3)
11792
11793 if (self.synpred181()) :
11794 alt90 = 1
11795 elif LA90 == 91:
11796 LA90_177 = self.input.LA(3)
11797
11798 if (self.synpred181()) :
11799 alt90 = 1
11800 elif LA90 == 90:
11801 LA90_178 = self.input.LA(3)
11802
11803 if (self.synpred181()) :
11804 alt90 = 1
11805 elif LA90 == 89:
11806 LA90_179 = self.input.LA(3)
11807
11808 if (self.synpred181()) :
11809 alt90 = 1
11810 elif LA90 == 27:
11811 LA90_180 = self.input.LA(3)
11812
11813 if (self.synpred181()) :
11814 alt90 = 1
11815 elif LA90 == 25:
11816 alt90 = 1
11817 elif LA90 == STRING_LITERAL:
11818 LA90 = self.input.LA(2)
11819 if LA90 == IDENTIFIER:
11820 LA90_183 = self.input.LA(3)
11821
11822 if (self.synpred181()) :
11823 alt90 = 1
11824 elif LA90 == 63:
11825 LA90_184 = self.input.LA(3)
11826
11827 if (self.synpred181()) :
11828 alt90 = 1
11829 elif LA90 == 61:
11830 LA90_185 = self.input.LA(3)
11831
11832 if (self.synpred181()) :
11833 alt90 = 1
11834 elif LA90 == 74:
11835 LA90_186 = self.input.LA(3)
11836
11837 if (self.synpred181()) :
11838 alt90 = 1
11839 elif LA90 == 65:
11840 LA90_187 = self.input.LA(3)
11841
11842 if (self.synpred181()) :
11843 alt90 = 1
11844 elif LA90 == 75:
11845 LA90_188 = self.input.LA(3)
11846
11847 if (self.synpred181()) :
11848 alt90 = 1
11849 elif LA90 == 71:
11850 LA90_189 = self.input.LA(3)
11851
11852 if (self.synpred181()) :
11853 alt90 = 1
11854 elif LA90 == 72:
11855 LA90_190 = self.input.LA(3)
11856
11857 if (self.synpred181()) :
11858 alt90 = 1
11859 elif LA90 == 69:
11860 LA90_191 = self.input.LA(3)
11861
11862 if (self.synpred181()) :
11863 alt90 = 1
11864 elif LA90 == 70:
11865 LA90_192 = self.input.LA(3)
11866
11867 if (self.synpred181()) :
11868 alt90 = 1
11869 elif LA90 == 67:
11870 LA90_193 = self.input.LA(3)
11871
11872 if (self.synpred181()) :
11873 alt90 = 1
11874 elif LA90 == 68:
11875 LA90_194 = self.input.LA(3)
11876
11877 if (self.synpred181()) :
11878 alt90 = 1
11879 elif LA90 == 100 or LA90 == 101:
11880 LA90_195 = self.input.LA(3)
11881
11882 if (self.synpred181()) :
11883 alt90 = 1
11884 elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
11885 LA90_196 = self.input.LA(3)
11886
11887 if (self.synpred181()) :
11888 alt90 = 1
11889 elif LA90 == 94 or LA90 == 95:
11890 LA90_197 = self.input.LA(3)
11891
11892 if (self.synpred181()) :
11893 alt90 = 1
11894 elif LA90 == 76:
11895 LA90_198 = self.input.LA(3)
11896
11897 if (self.synpred181()) :
11898 alt90 = 1
11899 elif LA90 == 93:
11900 LA90_199 = self.input.LA(3)
11901
11902 if (self.synpred181()) :
11903 alt90 = 1
11904 elif LA90 == 92:
11905 LA90_200 = self.input.LA(3)
11906
11907 if (self.synpred181()) :
11908 alt90 = 1
11909 elif LA90 == 91:
11910 LA90_201 = self.input.LA(3)
11911
11912 if (self.synpred181()) :
11913 alt90 = 1
11914 elif LA90 == 90:
11915 LA90_202 = self.input.LA(3)
11916
11917 if (self.synpred181()) :
11918 alt90 = 1
11919 elif LA90 == 89:
11920 LA90_203 = self.input.LA(3)
11921
11922 if (self.synpred181()) :
11923 alt90 = 1
11924 elif LA90 == 27:
11925 LA90_204 = self.input.LA(3)
11926
11927 if (self.synpred181()) :
11928 alt90 = 1
11929 elif LA90 == 25:
11930 alt90 = 1
11931 elif LA90 == STRING_LITERAL:
11932 LA90_206 = self.input.LA(3)
11933
11934 if (self.synpred181()) :
11935 alt90 = 1
11936 elif LA90 == 28 or LA90 == 79 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:
11937 LA90_207 = self.input.LA(3)
11938
11939 if (self.synpred181()) :
11940 alt90 = 1
11941 elif LA90 == FLOATING_POINT_LITERAL:
11942 LA90 = self.input.LA(2)
11943 if LA90 == 63:
11944 LA90_209 = self.input.LA(3)
11945
11946 if (self.synpred181()) :
11947 alt90 = 1
11948 elif LA90 == 61:
11949 LA90_210 = self.input.LA(3)
11950
11951 if (self.synpred181()) :
11952 alt90 = 1
11953 elif LA90 == 74:
11954 LA90_211 = self.input.LA(3)
11955
11956 if (self.synpred181()) :
11957 alt90 = 1
11958 elif LA90 == 65:
11959 LA90_212 = self.input.LA(3)
11960
11961 if (self.synpred181()) :
11962 alt90 = 1
11963 elif LA90 == 75:
11964 LA90_213 = self.input.LA(3)
11965
11966 if (self.synpred181()) :
11967 alt90 = 1
11968 elif LA90 == 71:
11969 LA90_214 = self.input.LA(3)
11970
11971 if (self.synpred181()) :
11972 alt90 = 1
11973 elif LA90 == 72:
11974 LA90_215 = self.input.LA(3)
11975
11976 if (self.synpred181()) :
11977 alt90 = 1
11978 elif LA90 == 69:
11979 LA90_216 = self.input.LA(3)
11980
11981 if (self.synpred181()) :
11982 alt90 = 1
11983 elif LA90 == 70:
11984 LA90_217 = self.input.LA(3)
11985
11986 if (self.synpred181()) :
11987 alt90 = 1
11988 elif LA90 == 67:
11989 LA90_218 = self.input.LA(3)
11990
11991 if (self.synpred181()) :
11992 alt90 = 1
11993 elif LA90 == 68:
11994 LA90_219 = self.input.LA(3)
11995
11996 if (self.synpred181()) :
11997 alt90 = 1
11998 elif LA90 == 100 or LA90 == 101:
11999 LA90_220 = self.input.LA(3)
12000
12001 if (self.synpred181()) :
12002 alt90 = 1
12003 elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99:
12004 LA90_221 = self.input.LA(3)
12005
12006 if (self.synpred181()) :
12007 alt90 = 1
12008 elif LA90 == 94 or LA90 == 95:
12009 LA90_222 = self.input.LA(3)
12010
12011 if (self.synpred181()) :
12012 alt90 = 1
12013 elif LA90 == 76:
12014 LA90_223 = self.input.LA(3)
12015
12016 if (self.synpred181()) :
12017 alt90 = 1
12018 elif LA90 == 93:
12019 LA90_224 = self.input.LA(3)
12020
12021 if (self.synpred181()) :
12022 alt90 = 1
12023 elif LA90 == 92:
12024 LA90_225 = self.input.LA(3)
12025
12026 if (self.synpred181()) :
12027 alt90 = 1
12028 elif LA90 == 91:
12029 LA90_226 = self.input.LA(3)
12030
12031 if (self.synpred181()) :
12032 alt90 = 1
12033 elif LA90 == 90:
12034 LA90_227 = self.input.LA(3)
12035
12036 if (self.synpred181()) :
12037 alt90 = 1
12038 elif LA90 == 89:
12039 LA90_228 = self.input.LA(3)
12040
12041 if (self.synpred181()) :
12042 alt90 = 1
12043 elif LA90 == 27:
12044 LA90_229 = self.input.LA(3)
12045
12046 if (self.synpred181()) :
12047 alt90 = 1
12048 elif LA90 == 25:
12049 alt90 = 1
12050 elif LA90 == 28 or LA90 == 79 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:
12051 LA90_231 = self.input.LA(3)
12052
12053 if (self.synpred181()) :
12054 alt90 = 1
12055 elif LA90 == 61:
12056 LA90 = self.input.LA(2)
12057 if LA90 == IDENTIFIER:
12058 LA90_233 = self.input.LA(3)
12059
12060 if (self.synpred181()) :
12061 alt90 = 1
12062 elif LA90 == HEX_LITERAL:
12063 LA90_234 = self.input.LA(3)
12064
12065 if (self.synpred181()) :
12066 alt90 = 1
12067 elif LA90 == OCTAL_LITERAL:
12068 LA90_235 = self.input.LA(3)
12069
12070 if (self.synpred181()) :
12071 alt90 = 1
12072 elif LA90 == DECIMAL_LITERAL:
12073 LA90_236 = self.input.LA(3)
12074
12075 if (self.synpred181()) :
12076 alt90 = 1
12077 elif LA90 == CHARACTER_LITERAL:
12078 LA90_237 = self.input.LA(3)
12079
12080 if (self.synpred181()) :
12081 alt90 = 1
12082 elif LA90 == STRING_LITERAL:
12083 LA90_238 = self.input.LA(3)
12084
12085 if (self.synpred181()) :
12086 alt90 = 1
12087 elif LA90 == FLOATING_POINT_LITERAL:
12088 LA90_239 = self.input.LA(3)
12089
12090 if (self.synpred181()) :
12091 alt90 = 1
12092 elif LA90 == 61:
12093 LA90_240 = self.input.LA(3)
12094
12095 if (self.synpred181()) :
12096 alt90 = 1
12097 elif LA90 == 71:
12098 LA90_241 = self.input.LA(3)
12099
12100 if (self.synpred181()) :
12101 alt90 = 1
12102 elif LA90 == 72:
12103 LA90_242 = self.input.LA(3)
12104
12105 if (self.synpred181()) :
12106 alt90 = 1
12107 elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
12108 LA90_243 = self.input.LA(3)
12109
12110 if (self.synpred181()) :
12111 alt90 = 1
12112 elif LA90 == 73:
12113 LA90_244 = self.input.LA(3)
12114
12115 if (self.synpred181()) :
12116 alt90 = 1
12117 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:
12118 LA90_245 = self.input.LA(3)
12119
12120 if (self.synpred181()) :
12121 alt90 = 1
12122 elif LA90 == 34:
12123 LA90_246 = self.input.LA(3)
12124
12125 if (self.synpred181()) :
12126 alt90 = 1
12127 elif LA90 == 35:
12128 LA90_247 = self.input.LA(3)
12129
12130 if (self.synpred181()) :
12131 alt90 = 1
12132 elif LA90 == 36:
12133 LA90_248 = self.input.LA(3)
12134
12135 if (self.synpred181()) :
12136 alt90 = 1
12137 elif LA90 == 37:
12138 LA90_249 = self.input.LA(3)
12139
12140 if (self.synpred181()) :
12141 alt90 = 1
12142 elif LA90 == 38:
12143 LA90_250 = self.input.LA(3)
12144
12145 if (self.synpred181()) :
12146 alt90 = 1
12147 elif LA90 == 39:
12148 LA90_251 = self.input.LA(3)
12149
12150 if (self.synpred181()) :
12151 alt90 = 1
12152 elif LA90 == 40:
12153 LA90_252 = self.input.LA(3)
12154
12155 if (self.synpred181()) :
12156 alt90 = 1
12157 elif LA90 == 41:
12158 LA90_253 = self.input.LA(3)
12159
12160 if (self.synpred181()) :
12161 alt90 = 1
12162 elif LA90 == 42:
12163 LA90_254 = self.input.LA(3)
12164
12165 if (self.synpred181()) :
12166 alt90 = 1
12167 elif LA90 == 45 or LA90 == 46:
12168 LA90_255 = self.input.LA(3)
12169
12170 if (self.synpred181()) :
12171 alt90 = 1
12172 elif LA90 == 48:
12173 LA90_256 = self.input.LA(3)
12174
12175 if (self.synpred181()) :
12176 alt90 = 1
12177 elif LA90 == 71:
12178 LA90 = self.input.LA(2)
12179 if LA90 == IDENTIFIER:
12180 LA90_257 = self.input.LA(3)
12181
12182 if (self.synpred181()) :
12183 alt90 = 1
12184 elif LA90 == HEX_LITERAL:
12185 LA90_258 = self.input.LA(3)
12186
12187 if (self.synpred181()) :
12188 alt90 = 1
12189 elif LA90 == OCTAL_LITERAL:
12190 LA90_259 = self.input.LA(3)
12191
12192 if (self.synpred181()) :
12193 alt90 = 1
12194 elif LA90 == DECIMAL_LITERAL:
12195 LA90_260 = self.input.LA(3)
12196
12197 if (self.synpred181()) :
12198 alt90 = 1
12199 elif LA90 == CHARACTER_LITERAL:
12200 LA90_261 = self.input.LA(3)
12201
12202 if (self.synpred181()) :
12203 alt90 = 1
12204 elif LA90 == STRING_LITERAL:
12205 LA90_262 = self.input.LA(3)
12206
12207 if (self.synpred181()) :
12208 alt90 = 1
12209 elif LA90 == FLOATING_POINT_LITERAL:
12210 LA90_263 = self.input.LA(3)
12211
12212 if (self.synpred181()) :
12213 alt90 = 1
12214 elif LA90 == 61:
12215 LA90_264 = self.input.LA(3)
12216
12217 if (self.synpred181()) :
12218 alt90 = 1
12219 elif LA90 == 71:
12220 LA90_265 = self.input.LA(3)
12221
12222 if (self.synpred181()) :
12223 alt90 = 1
12224 elif LA90 == 72:
12225 LA90_266 = self.input.LA(3)
12226
12227 if (self.synpred181()) :
12228 alt90 = 1
12229 elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
12230 LA90_267 = self.input.LA(3)
12231
12232 if (self.synpred181()) :
12233 alt90 = 1
12234 elif LA90 == 73:
12235 LA90_268 = self.input.LA(3)
12236
12237 if (self.synpred181()) :
12238 alt90 = 1
12239 elif LA90 == 72:
12240 LA90 = self.input.LA(2)
12241 if LA90 == IDENTIFIER:
12242 LA90_269 = self.input.LA(3)
12243
12244 if (self.synpred181()) :
12245 alt90 = 1
12246 elif LA90 == HEX_LITERAL:
12247 LA90_270 = self.input.LA(3)
12248
12249 if (self.synpred181()) :
12250 alt90 = 1
12251 elif LA90 == OCTAL_LITERAL:
12252 LA90_271 = self.input.LA(3)
12253
12254 if (self.synpred181()) :
12255 alt90 = 1
12256 elif LA90 == DECIMAL_LITERAL:
12257 LA90_272 = self.input.LA(3)
12258
12259 if (self.synpred181()) :
12260 alt90 = 1
12261 elif LA90 == CHARACTER_LITERAL:
12262 LA90_273 = self.input.LA(3)
12263
12264 if (self.synpred181()) :
12265 alt90 = 1
12266 elif LA90 == STRING_LITERAL:
12267 LA90_274 = self.input.LA(3)
12268
12269 if (self.synpred181()) :
12270 alt90 = 1
12271 elif LA90 == FLOATING_POINT_LITERAL:
12272 LA90_275 = self.input.LA(3)
12273
12274 if (self.synpred181()) :
12275 alt90 = 1
12276 elif LA90 == 61:
12277 LA90_276 = self.input.LA(3)
12278
12279 if (self.synpred181()) :
12280 alt90 = 1
12281 elif LA90 == 71:
12282 LA90_277 = self.input.LA(3)
12283
12284 if (self.synpred181()) :
12285 alt90 = 1
12286 elif LA90 == 72:
12287 LA90_278 = self.input.LA(3)
12288
12289 if (self.synpred181()) :
12290 alt90 = 1
12291 elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
12292 LA90_279 = self.input.LA(3)
12293
12294 if (self.synpred181()) :
12295 alt90 = 1
12296 elif LA90 == 73:
12297 LA90_280 = self.input.LA(3)
12298
12299 if (self.synpred181()) :
12300 alt90 = 1
12301 elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
12302 LA90 = self.input.LA(2)
12303 if LA90 == 61:
12304 LA90_281 = self.input.LA(3)
12305
12306 if (self.synpred181()) :
12307 alt90 = 1
12308 elif LA90 == IDENTIFIER:
12309 LA90_282 = self.input.LA(3)
12310
12311 if (self.synpred181()) :
12312 alt90 = 1
12313 elif LA90 == HEX_LITERAL:
12314 LA90_283 = self.input.LA(3)
12315
12316 if (self.synpred181()) :
12317 alt90 = 1
12318 elif LA90 == OCTAL_LITERAL:
12319 LA90_284 = self.input.LA(3)
12320
12321 if (self.synpred181()) :
12322 alt90 = 1
12323 elif LA90 == DECIMAL_LITERAL:
12324 LA90_285 = self.input.LA(3)
12325
12326 if (self.synpred181()) :
12327 alt90 = 1
12328 elif LA90 == CHARACTER_LITERAL:
12329 LA90_286 = self.input.LA(3)
12330
12331 if (self.synpred181()) :
12332 alt90 = 1
12333 elif LA90 == STRING_LITERAL:
12334 LA90_287 = self.input.LA(3)
12335
12336 if (self.synpred181()) :
12337 alt90 = 1
12338 elif LA90 == FLOATING_POINT_LITERAL:
12339 LA90_288 = self.input.LA(3)
12340
12341 if (self.synpred181()) :
12342 alt90 = 1
12343 elif LA90 == 71:
12344 LA90_289 = self.input.LA(3)
12345
12346 if (self.synpred181()) :
12347 alt90 = 1
12348 elif LA90 == 72:
12349 LA90_290 = self.input.LA(3)
12350
12351 if (self.synpred181()) :
12352 alt90 = 1
12353 elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
12354 LA90_291 = self.input.LA(3)
12355
12356 if (self.synpred181()) :
12357 alt90 = 1
12358 elif LA90 == 73:
12359 LA90_292 = self.input.LA(3)
12360
12361 if (self.synpred181()) :
12362 alt90 = 1
12363 elif LA90 == 73:
12364 LA90 = self.input.LA(2)
12365 if LA90 == 61:
12366 LA90_293 = self.input.LA(3)
12367
12368 if (self.synpred181()) :
12369 alt90 = 1
12370 elif LA90 == IDENTIFIER:
12371 LA90_294 = self.input.LA(3)
12372
12373 if (self.synpred181()) :
12374 alt90 = 1
12375 elif LA90 == HEX_LITERAL:
12376 LA90_295 = self.input.LA(3)
12377
12378 if (self.synpred181()) :
12379 alt90 = 1
12380 elif LA90 == OCTAL_LITERAL:
12381 LA90_296 = self.input.LA(3)
12382
12383 if (self.synpred181()) :
12384 alt90 = 1
12385 elif LA90 == DECIMAL_LITERAL:
12386 LA90_297 = self.input.LA(3)
12387
12388 if (self.synpred181()) :
12389 alt90 = 1
12390 elif LA90 == CHARACTER_LITERAL:
12391 LA90_298 = self.input.LA(3)
12392
12393 if (self.synpred181()) :
12394 alt90 = 1
12395 elif LA90 == STRING_LITERAL:
12396 LA90_299 = self.input.LA(3)
12397
12398 if (self.synpred181()) :
12399 alt90 = 1
12400 elif LA90 == FLOATING_POINT_LITERAL:
12401 LA90_300 = self.input.LA(3)
12402
12403 if (self.synpred181()) :
12404 alt90 = 1
12405 elif LA90 == 71:
12406 LA90_301 = self.input.LA(3)
12407
12408 if (self.synpred181()) :
12409 alt90 = 1
12410 elif LA90 == 72:
12411 LA90_302 = self.input.LA(3)
12412
12413 if (self.synpred181()) :
12414 alt90 = 1
12415 elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78:
12416 LA90_303 = self.input.LA(3)
12417
12418 if (self.synpred181()) :
12419 alt90 = 1
12420 elif LA90 == 73:
12421 LA90_304 = self.input.LA(3)
12422
12423 if (self.synpred181()) :
12424 alt90 = 1
12425 if alt90 == 1:
12426 # C.g:0:0: statement_list
12427 self.following.append(self.FOLLOW_statement_list_in_macro_statement2155)
12428 self.statement_list()
12429 self.following.pop()
12430 if self.failed:
12431 return
12432
12433
12434
12435 # C.g:491:49: ( expression )?
12436 alt91 = 2
12437 LA91_0 = self.input.LA(1)
12438
12439 if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 61 or LA91_0 == 65 or (67 <= LA91_0 <= 68) or (71 <= LA91_0 <= 73) or (76 <= LA91_0 <= 78)) :
12440 alt91 = 1
12441 if alt91 == 1:
12442 # C.g:0:0: expression
12443 self.following.append(self.FOLLOW_expression_in_macro_statement2158)
12444 self.expression()
12445 self.following.pop()
12446 if self.failed:
12447 return
12448
12449
12450
12451 self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2161)
12452 if self.failed:
12453 return
12454
12455
12456
12457
12458 except RecognitionException, re:
12459 self.reportError(re)
12460 self.recover(self.input, re)
12461 finally:
12462 if self.backtracking > 0:
12463 self.memoize(self.input, 64, macro_statement_StartIndex)
12464
12465 pass
12466
12467 return
12468
12469 # $ANTLR end macro_statement
12470
12471
12472 # $ANTLR start labeled_statement
12473 # C.g:494:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
12474 def labeled_statement(self, ):
12475
12476 labeled_statement_StartIndex = self.input.index()
12477 try:
12478 try:
12479 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
12480 return
12481
12482 # C.g:495:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
12483 alt92 = 3
12484 LA92 = self.input.LA(1)
12485 if LA92 == IDENTIFIER:
12486 alt92 = 1
12487 elif LA92 == 105:
12488 alt92 = 2
12489 elif LA92 == 106:
12490 alt92 = 3
12491 else:
12492 if self.backtracking > 0:
12493 self.failed = True
12494 return
12495
12496 nvae = NoViableAltException("494:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
12497
12498 raise nvae
12499
12500 if alt92 == 1:
12501 # C.g:495:4: IDENTIFIER ':' statement
12502 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2173)
12503 if self.failed:
12504 return
12505 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2175)
12506 if self.failed:
12507 return
12508 self.following.append(self.FOLLOW_statement_in_labeled_statement2177)
12509 self.statement()
12510 self.following.pop()
12511 if self.failed:
12512 return
12513
12514
12515 elif alt92 == 2:
12516 # C.g:496:4: 'case' constant_expression ':' statement
12517 self.match(self.input, 105, self.FOLLOW_105_in_labeled_statement2182)
12518 if self.failed:
12519 return
12520 self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2184)
12521 self.constant_expression()
12522 self.following.pop()
12523 if self.failed:
12524 return
12525 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2186)
12526 if self.failed:
12527 return
12528 self.following.append(self.FOLLOW_statement_in_labeled_statement2188)
12529 self.statement()
12530 self.following.pop()
12531 if self.failed:
12532 return
12533
12534
12535 elif alt92 == 3:
12536 # C.g:497:4: 'default' ':' statement
12537 self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2193)
12538 if self.failed:
12539 return
12540 self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2195)
12541 if self.failed:
12542 return
12543 self.following.append(self.FOLLOW_statement_in_labeled_statement2197)
12544 self.statement()
12545 self.following.pop()
12546 if self.failed:
12547 return
12548
12549
12550
12551 except RecognitionException, re:
12552 self.reportError(re)
12553 self.recover(self.input, re)
12554 finally:
12555 if self.backtracking > 0:
12556 self.memoize(self.input, 65, labeled_statement_StartIndex)
12557
12558 pass
12559
12560 return
12561
12562 # $ANTLR end labeled_statement
12563
12564 class compound_statement_return(object):
12565 def __init__(self):
12566 self.start = None
12567 self.stop = None
12568
12569
12570
12571 # $ANTLR start compound_statement
12572 # C.g:500:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
12573 def compound_statement(self, ):
12574
12575 retval = self.compound_statement_return()
12576 retval.start = self.input.LT(1)
12577 compound_statement_StartIndex = self.input.index()
12578 try:
12579 try:
12580 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
12581 return retval
12582
12583 # C.g:501:2: ( '{' ( declaration )* ( statement_list )? '}' )
12584 # C.g:501:4: '{' ( declaration )* ( statement_list )? '}'
12585 self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2208)
12586 if self.failed:
12587 return retval
12588 # C.g:501:8: ( declaration )*
12589 while True: #loop93
12590 alt93 = 2
12591 LA93 = self.input.LA(1)
12592 if LA93 == IDENTIFIER:
12593 LA93 = self.input.LA(2)
12594 if LA93 == 61:
12595 LA93_44 = self.input.LA(3)
12596
12597 if (self.synpred185()) :
12598 alt93 = 1
12599
12600
12601 elif LA93 == 65:
12602 LA93_48 = self.input.LA(3)
12603
12604 if (self.synpred185()) :
12605 alt93 = 1
12606
12607
12608 elif LA93 == 25:
12609 LA93_67 = self.input.LA(3)
12610
12611 if (self.synpred185()) :
12612 alt93 = 1
12613
12614
12615 elif LA93 == IDENTIFIER:
12616 LA93_69 = self.input.LA(3)
12617
12618 if (self.synpred185()) :
12619 alt93 = 1
12620
12621
12622 elif LA93 == 58:
12623 LA93_70 = self.input.LA(3)
12624
12625 if (self.synpred185()) :
12626 alt93 = 1
12627
12628
12629 elif LA93 == 59:
12630 LA93_71 = self.input.LA(3)
12631
12632 if (self.synpred185()) :
12633 alt93 = 1
12634
12635
12636 elif LA93 == 60:
12637 LA93_72 = self.input.LA(3)
12638
12639 if (self.synpred185()) :
12640 alt93 = 1
12641
12642
12643 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12644 LA93_73 = self.input.LA(3)
12645
12646 if (self.synpred185()) :
12647 alt93 = 1
12648
12649
12650 elif LA93 == 34:
12651 LA93_74 = self.input.LA(3)
12652
12653 if (self.synpred185()) :
12654 alt93 = 1
12655
12656
12657 elif LA93 == 35:
12658 LA93_75 = self.input.LA(3)
12659
12660 if (self.synpred185()) :
12661 alt93 = 1
12662
12663
12664 elif LA93 == 36:
12665 LA93_76 = self.input.LA(3)
12666
12667 if (self.synpred185()) :
12668 alt93 = 1
12669
12670
12671 elif LA93 == 37:
12672 LA93_77 = self.input.LA(3)
12673
12674 if (self.synpred185()) :
12675 alt93 = 1
12676
12677
12678 elif LA93 == 38:
12679 LA93_78 = self.input.LA(3)
12680
12681 if (self.synpred185()) :
12682 alt93 = 1
12683
12684
12685 elif LA93 == 39:
12686 LA93_79 = self.input.LA(3)
12687
12688 if (self.synpred185()) :
12689 alt93 = 1
12690
12691
12692 elif LA93 == 40:
12693 LA93_80 = self.input.LA(3)
12694
12695 if (self.synpred185()) :
12696 alt93 = 1
12697
12698
12699 elif LA93 == 41:
12700 LA93_81 = self.input.LA(3)
12701
12702 if (self.synpred185()) :
12703 alt93 = 1
12704
12705
12706 elif LA93 == 42:
12707 LA93_82 = self.input.LA(3)
12708
12709 if (self.synpred185()) :
12710 alt93 = 1
12711
12712
12713 elif LA93 == 45 or LA93 == 46:
12714 LA93_83 = self.input.LA(3)
12715
12716 if (self.synpred185()) :
12717 alt93 = 1
12718
12719
12720 elif LA93 == 48:
12721 LA93_84 = self.input.LA(3)
12722
12723 if (self.synpred185()) :
12724 alt93 = 1
12725
12726
12727 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:
12728 LA93_85 = self.input.LA(3)
12729
12730 if (self.synpred185()) :
12731 alt93 = 1
12732
12733
12734
12735 elif LA93 == 26:
12736 LA93 = self.input.LA(2)
12737 if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12738 LA93_86 = self.input.LA(3)
12739
12740 if (self.synpred185()) :
12741 alt93 = 1
12742
12743
12744 elif LA93 == 34:
12745 LA93_87 = self.input.LA(3)
12746
12747 if (self.synpred185()) :
12748 alt93 = 1
12749
12750
12751 elif LA93 == 35:
12752 LA93_88 = self.input.LA(3)
12753
12754 if (self.synpred185()) :
12755 alt93 = 1
12756
12757
12758 elif LA93 == 36:
12759 LA93_89 = self.input.LA(3)
12760
12761 if (self.synpred185()) :
12762 alt93 = 1
12763
12764
12765 elif LA93 == 37:
12766 LA93_90 = self.input.LA(3)
12767
12768 if (self.synpred185()) :
12769 alt93 = 1
12770
12771
12772 elif LA93 == 38:
12773 LA93_91 = self.input.LA(3)
12774
12775 if (self.synpred185()) :
12776 alt93 = 1
12777
12778
12779 elif LA93 == 39:
12780 LA93_92 = self.input.LA(3)
12781
12782 if (self.synpred185()) :
12783 alt93 = 1
12784
12785
12786 elif LA93 == 40:
12787 LA93_93 = self.input.LA(3)
12788
12789 if (self.synpred185()) :
12790 alt93 = 1
12791
12792
12793 elif LA93 == 41:
12794 LA93_94 = self.input.LA(3)
12795
12796 if (self.synpred185()) :
12797 alt93 = 1
12798
12799
12800 elif LA93 == 42:
12801 LA93_95 = self.input.LA(3)
12802
12803 if (self.synpred185()) :
12804 alt93 = 1
12805
12806
12807 elif LA93 == 45 or LA93 == 46:
12808 LA93_96 = self.input.LA(3)
12809
12810 if (self.synpred185()) :
12811 alt93 = 1
12812
12813
12814 elif LA93 == 48:
12815 LA93_97 = self.input.LA(3)
12816
12817 if (self.synpred185()) :
12818 alt93 = 1
12819
12820
12821 elif LA93 == IDENTIFIER:
12822 LA93_98 = self.input.LA(3)
12823
12824 if (self.synpred185()) :
12825 alt93 = 1
12826
12827
12828 elif LA93 == 58:
12829 LA93_99 = self.input.LA(3)
12830
12831 if (self.synpred185()) :
12832 alt93 = 1
12833
12834
12835 elif LA93 == 65:
12836 LA93_100 = self.input.LA(3)
12837
12838 if (self.synpred185()) :
12839 alt93 = 1
12840
12841
12842 elif LA93 == 59:
12843 LA93_101 = self.input.LA(3)
12844
12845 if (self.synpred185()) :
12846 alt93 = 1
12847
12848
12849 elif LA93 == 60:
12850 LA93_102 = self.input.LA(3)
12851
12852 if (self.synpred185()) :
12853 alt93 = 1
12854
12855
12856 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:
12857 LA93_103 = self.input.LA(3)
12858
12859 if (self.synpred185()) :
12860 alt93 = 1
12861
12862
12863 elif LA93 == 61:
12864 LA93_104 = self.input.LA(3)
12865
12866 if (self.synpred185()) :
12867 alt93 = 1
12868
12869
12870
12871 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12872 LA93 = self.input.LA(2)
12873 if LA93 == 65:
12874 LA93_105 = self.input.LA(3)
12875
12876 if (self.synpred185()) :
12877 alt93 = 1
12878
12879
12880 elif LA93 == 58:
12881 LA93_106 = self.input.LA(3)
12882
12883 if (self.synpred185()) :
12884 alt93 = 1
12885
12886
12887 elif LA93 == 59:
12888 LA93_107 = self.input.LA(3)
12889
12890 if (self.synpred185()) :
12891 alt93 = 1
12892
12893
12894 elif LA93 == 60:
12895 LA93_108 = self.input.LA(3)
12896
12897 if (self.synpred185()) :
12898 alt93 = 1
12899
12900
12901 elif LA93 == IDENTIFIER:
12902 LA93_109 = self.input.LA(3)
12903
12904 if (self.synpred185()) :
12905 alt93 = 1
12906
12907
12908 elif LA93 == 61:
12909 LA93_110 = self.input.LA(3)
12910
12911 if (self.synpred185()) :
12912 alt93 = 1
12913
12914
12915 elif LA93 == 25:
12916 LA93_111 = self.input.LA(3)
12917
12918 if (self.synpred185()) :
12919 alt93 = 1
12920
12921
12922 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
12923 LA93_112 = self.input.LA(3)
12924
12925 if (self.synpred185()) :
12926 alt93 = 1
12927
12928
12929 elif LA93 == 34:
12930 LA93_113 = self.input.LA(3)
12931
12932 if (self.synpred185()) :
12933 alt93 = 1
12934
12935
12936 elif LA93 == 35:
12937 LA93_114 = self.input.LA(3)
12938
12939 if (self.synpred185()) :
12940 alt93 = 1
12941
12942
12943 elif LA93 == 36:
12944 LA93_115 = self.input.LA(3)
12945
12946 if (self.synpred185()) :
12947 alt93 = 1
12948
12949
12950 elif LA93 == 37:
12951 LA93_116 = self.input.LA(3)
12952
12953 if (self.synpred185()) :
12954 alt93 = 1
12955
12956
12957 elif LA93 == 38:
12958 LA93_117 = self.input.LA(3)
12959
12960 if (self.synpred185()) :
12961 alt93 = 1
12962
12963
12964 elif LA93 == 39:
12965 LA93_118 = self.input.LA(3)
12966
12967 if (self.synpred185()) :
12968 alt93 = 1
12969
12970
12971 elif LA93 == 40:
12972 LA93_119 = self.input.LA(3)
12973
12974 if (self.synpred185()) :
12975 alt93 = 1
12976
12977
12978 elif LA93 == 41:
12979 LA93_120 = self.input.LA(3)
12980
12981 if (self.synpred185()) :
12982 alt93 = 1
12983
12984
12985 elif LA93 == 42:
12986 LA93_121 = self.input.LA(3)
12987
12988 if (self.synpred185()) :
12989 alt93 = 1
12990
12991
12992 elif LA93 == 45 or LA93 == 46:
12993 LA93_122 = self.input.LA(3)
12994
12995 if (self.synpred185()) :
12996 alt93 = 1
12997
12998
12999 elif LA93 == 48:
13000 LA93_123 = self.input.LA(3)
13001
13002 if (self.synpred185()) :
13003 alt93 = 1
13004
13005
13006 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:
13007 LA93_124 = self.input.LA(3)
13008
13009 if (self.synpred185()) :
13010 alt93 = 1
13011
13012
13013
13014 elif LA93 == 34:
13015 LA93 = self.input.LA(2)
13016 if LA93 == 65:
13017 LA93_125 = self.input.LA(3)
13018
13019 if (self.synpred185()) :
13020 alt93 = 1
13021
13022
13023 elif LA93 == 58:
13024 LA93_126 = self.input.LA(3)
13025
13026 if (self.synpred185()) :
13027 alt93 = 1
13028
13029
13030 elif LA93 == 59:
13031 LA93_127 = self.input.LA(3)
13032
13033 if (self.synpred185()) :
13034 alt93 = 1
13035
13036
13037 elif LA93 == 60:
13038 LA93_128 = self.input.LA(3)
13039
13040 if (self.synpred185()) :
13041 alt93 = 1
13042
13043
13044 elif LA93 == IDENTIFIER:
13045 LA93_129 = self.input.LA(3)
13046
13047 if (self.synpred185()) :
13048 alt93 = 1
13049
13050
13051 elif LA93 == 61:
13052 LA93_130 = self.input.LA(3)
13053
13054 if (self.synpred185()) :
13055 alt93 = 1
13056
13057
13058 elif LA93 == 25:
13059 LA93_131 = self.input.LA(3)
13060
13061 if (self.synpred185()) :
13062 alt93 = 1
13063
13064
13065 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13066 LA93_132 = self.input.LA(3)
13067
13068 if (self.synpred185()) :
13069 alt93 = 1
13070
13071
13072 elif LA93 == 34:
13073 LA93_133 = self.input.LA(3)
13074
13075 if (self.synpred185()) :
13076 alt93 = 1
13077
13078
13079 elif LA93 == 35:
13080 LA93_134 = self.input.LA(3)
13081
13082 if (self.synpred185()) :
13083 alt93 = 1
13084
13085
13086 elif LA93 == 36:
13087 LA93_135 = self.input.LA(3)
13088
13089 if (self.synpred185()) :
13090 alt93 = 1
13091
13092
13093 elif LA93 == 37:
13094 LA93_136 = self.input.LA(3)
13095
13096 if (self.synpred185()) :
13097 alt93 = 1
13098
13099
13100 elif LA93 == 38:
13101 LA93_137 = self.input.LA(3)
13102
13103 if (self.synpred185()) :
13104 alt93 = 1
13105
13106
13107 elif LA93 == 39:
13108 LA93_138 = self.input.LA(3)
13109
13110 if (self.synpred185()) :
13111 alt93 = 1
13112
13113
13114 elif LA93 == 40:
13115 LA93_139 = self.input.LA(3)
13116
13117 if (self.synpred185()) :
13118 alt93 = 1
13119
13120
13121 elif LA93 == 41:
13122 LA93_140 = self.input.LA(3)
13123
13124 if (self.synpred185()) :
13125 alt93 = 1
13126
13127
13128 elif LA93 == 42:
13129 LA93_141 = self.input.LA(3)
13130
13131 if (self.synpred185()) :
13132 alt93 = 1
13133
13134
13135 elif LA93 == 45 or LA93 == 46:
13136 LA93_142 = self.input.LA(3)
13137
13138 if (self.synpred185()) :
13139 alt93 = 1
13140
13141
13142 elif LA93 == 48:
13143 LA93_143 = self.input.LA(3)
13144
13145 if (self.synpred185()) :
13146 alt93 = 1
13147
13148
13149 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:
13150 LA93_144 = self.input.LA(3)
13151
13152 if (self.synpred185()) :
13153 alt93 = 1
13154
13155
13156
13157 elif LA93 == 35:
13158 LA93 = self.input.LA(2)
13159 if LA93 == 65:
13160 LA93_145 = self.input.LA(3)
13161
13162 if (self.synpred185()) :
13163 alt93 = 1
13164
13165
13166 elif LA93 == 58:
13167 LA93_146 = self.input.LA(3)
13168
13169 if (self.synpred185()) :
13170 alt93 = 1
13171
13172
13173 elif LA93 == 59:
13174 LA93_147 = self.input.LA(3)
13175
13176 if (self.synpred185()) :
13177 alt93 = 1
13178
13179
13180 elif LA93 == 60:
13181 LA93_148 = self.input.LA(3)
13182
13183 if (self.synpred185()) :
13184 alt93 = 1
13185
13186
13187 elif LA93 == IDENTIFIER:
13188 LA93_149 = self.input.LA(3)
13189
13190 if (self.synpred185()) :
13191 alt93 = 1
13192
13193
13194 elif LA93 == 61:
13195 LA93_150 = self.input.LA(3)
13196
13197 if (self.synpred185()) :
13198 alt93 = 1
13199
13200
13201 elif LA93 == 25:
13202 LA93_151 = self.input.LA(3)
13203
13204 if (self.synpred185()) :
13205 alt93 = 1
13206
13207
13208 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13209 LA93_152 = self.input.LA(3)
13210
13211 if (self.synpred185()) :
13212 alt93 = 1
13213
13214
13215 elif LA93 == 34:
13216 LA93_153 = self.input.LA(3)
13217
13218 if (self.synpred185()) :
13219 alt93 = 1
13220
13221
13222 elif LA93 == 35:
13223 LA93_154 = self.input.LA(3)
13224
13225 if (self.synpred185()) :
13226 alt93 = 1
13227
13228
13229 elif LA93 == 36:
13230 LA93_155 = self.input.LA(3)
13231
13232 if (self.synpred185()) :
13233 alt93 = 1
13234
13235
13236 elif LA93 == 37:
13237 LA93_156 = self.input.LA(3)
13238
13239 if (self.synpred185()) :
13240 alt93 = 1
13241
13242
13243 elif LA93 == 38:
13244 LA93_157 = self.input.LA(3)
13245
13246 if (self.synpred185()) :
13247 alt93 = 1
13248
13249
13250 elif LA93 == 39:
13251 LA93_158 = self.input.LA(3)
13252
13253 if (self.synpred185()) :
13254 alt93 = 1
13255
13256
13257 elif LA93 == 40:
13258 LA93_159 = self.input.LA(3)
13259
13260 if (self.synpred185()) :
13261 alt93 = 1
13262
13263
13264 elif LA93 == 41:
13265 LA93_160 = self.input.LA(3)
13266
13267 if (self.synpred185()) :
13268 alt93 = 1
13269
13270
13271 elif LA93 == 42:
13272 LA93_161 = self.input.LA(3)
13273
13274 if (self.synpred185()) :
13275 alt93 = 1
13276
13277
13278 elif LA93 == 45 or LA93 == 46:
13279 LA93_162 = self.input.LA(3)
13280
13281 if (self.synpred185()) :
13282 alt93 = 1
13283
13284
13285 elif LA93 == 48:
13286 LA93_163 = self.input.LA(3)
13287
13288 if (self.synpred185()) :
13289 alt93 = 1
13290
13291
13292 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:
13293 LA93_164 = self.input.LA(3)
13294
13295 if (self.synpred185()) :
13296 alt93 = 1
13297
13298
13299
13300 elif LA93 == 36:
13301 LA93 = self.input.LA(2)
13302 if LA93 == 65:
13303 LA93_165 = self.input.LA(3)
13304
13305 if (self.synpred185()) :
13306 alt93 = 1
13307
13308
13309 elif LA93 == 58:
13310 LA93_166 = self.input.LA(3)
13311
13312 if (self.synpred185()) :
13313 alt93 = 1
13314
13315
13316 elif LA93 == 59:
13317 LA93_167 = self.input.LA(3)
13318
13319 if (self.synpred185()) :
13320 alt93 = 1
13321
13322
13323 elif LA93 == 60:
13324 LA93_168 = self.input.LA(3)
13325
13326 if (self.synpred185()) :
13327 alt93 = 1
13328
13329
13330 elif LA93 == IDENTIFIER:
13331 LA93_169 = self.input.LA(3)
13332
13333 if (self.synpred185()) :
13334 alt93 = 1
13335
13336
13337 elif LA93 == 61:
13338 LA93_170 = self.input.LA(3)
13339
13340 if (self.synpred185()) :
13341 alt93 = 1
13342
13343
13344 elif LA93 == 25:
13345 LA93_171 = self.input.LA(3)
13346
13347 if (self.synpred185()) :
13348 alt93 = 1
13349
13350
13351 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13352 LA93_172 = self.input.LA(3)
13353
13354 if (self.synpred185()) :
13355 alt93 = 1
13356
13357
13358 elif LA93 == 34:
13359 LA93_173 = self.input.LA(3)
13360
13361 if (self.synpred185()) :
13362 alt93 = 1
13363
13364
13365 elif LA93 == 35:
13366 LA93_174 = self.input.LA(3)
13367
13368 if (self.synpred185()) :
13369 alt93 = 1
13370
13371
13372 elif LA93 == 36:
13373 LA93_175 = self.input.LA(3)
13374
13375 if (self.synpred185()) :
13376 alt93 = 1
13377
13378
13379 elif LA93 == 37:
13380 LA93_176 = self.input.LA(3)
13381
13382 if (self.synpred185()) :
13383 alt93 = 1
13384
13385
13386 elif LA93 == 38:
13387 LA93_177 = self.input.LA(3)
13388
13389 if (self.synpred185()) :
13390 alt93 = 1
13391
13392
13393 elif LA93 == 39:
13394 LA93_178 = self.input.LA(3)
13395
13396 if (self.synpred185()) :
13397 alt93 = 1
13398
13399
13400 elif LA93 == 40:
13401 LA93_179 = self.input.LA(3)
13402
13403 if (self.synpred185()) :
13404 alt93 = 1
13405
13406
13407 elif LA93 == 41:
13408 LA93_180 = self.input.LA(3)
13409
13410 if (self.synpred185()) :
13411 alt93 = 1
13412
13413
13414 elif LA93 == 42:
13415 LA93_181 = self.input.LA(3)
13416
13417 if (self.synpred185()) :
13418 alt93 = 1
13419
13420
13421 elif LA93 == 45 or LA93 == 46:
13422 LA93_182 = self.input.LA(3)
13423
13424 if (self.synpred185()) :
13425 alt93 = 1
13426
13427
13428 elif LA93 == 48:
13429 LA93_183 = self.input.LA(3)
13430
13431 if (self.synpred185()) :
13432 alt93 = 1
13433
13434
13435 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:
13436 LA93_184 = self.input.LA(3)
13437
13438 if (self.synpred185()) :
13439 alt93 = 1
13440
13441
13442
13443 elif LA93 == 37:
13444 LA93 = self.input.LA(2)
13445 if LA93 == 65:
13446 LA93_185 = self.input.LA(3)
13447
13448 if (self.synpred185()) :
13449 alt93 = 1
13450
13451
13452 elif LA93 == 58:
13453 LA93_186 = self.input.LA(3)
13454
13455 if (self.synpred185()) :
13456 alt93 = 1
13457
13458
13459 elif LA93 == 59:
13460 LA93_187 = self.input.LA(3)
13461
13462 if (self.synpred185()) :
13463 alt93 = 1
13464
13465
13466 elif LA93 == 60:
13467 LA93_188 = self.input.LA(3)
13468
13469 if (self.synpred185()) :
13470 alt93 = 1
13471
13472
13473 elif LA93 == IDENTIFIER:
13474 LA93_189 = self.input.LA(3)
13475
13476 if (self.synpred185()) :
13477 alt93 = 1
13478
13479
13480 elif LA93 == 61:
13481 LA93_190 = self.input.LA(3)
13482
13483 if (self.synpred185()) :
13484 alt93 = 1
13485
13486
13487 elif LA93 == 25:
13488 LA93_191 = self.input.LA(3)
13489
13490 if (self.synpred185()) :
13491 alt93 = 1
13492
13493
13494 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13495 LA93_192 = self.input.LA(3)
13496
13497 if (self.synpred185()) :
13498 alt93 = 1
13499
13500
13501 elif LA93 == 34:
13502 LA93_193 = self.input.LA(3)
13503
13504 if (self.synpred185()) :
13505 alt93 = 1
13506
13507
13508 elif LA93 == 35:
13509 LA93_194 = self.input.LA(3)
13510
13511 if (self.synpred185()) :
13512 alt93 = 1
13513
13514
13515 elif LA93 == 36:
13516 LA93_195 = self.input.LA(3)
13517
13518 if (self.synpred185()) :
13519 alt93 = 1
13520
13521
13522 elif LA93 == 37:
13523 LA93_196 = self.input.LA(3)
13524
13525 if (self.synpred185()) :
13526 alt93 = 1
13527
13528
13529 elif LA93 == 38:
13530 LA93_197 = self.input.LA(3)
13531
13532 if (self.synpred185()) :
13533 alt93 = 1
13534
13535
13536 elif LA93 == 39:
13537 LA93_198 = self.input.LA(3)
13538
13539 if (self.synpred185()) :
13540 alt93 = 1
13541
13542
13543 elif LA93 == 40:
13544 LA93_199 = self.input.LA(3)
13545
13546 if (self.synpred185()) :
13547 alt93 = 1
13548
13549
13550 elif LA93 == 41:
13551 LA93_200 = self.input.LA(3)
13552
13553 if (self.synpred185()) :
13554 alt93 = 1
13555
13556
13557 elif LA93 == 42:
13558 LA93_201 = self.input.LA(3)
13559
13560 if (self.synpred185()) :
13561 alt93 = 1
13562
13563
13564 elif LA93 == 45 or LA93 == 46:
13565 LA93_202 = self.input.LA(3)
13566
13567 if (self.synpred185()) :
13568 alt93 = 1
13569
13570
13571 elif LA93 == 48:
13572 LA93_203 = self.input.LA(3)
13573
13574 if (self.synpred185()) :
13575 alt93 = 1
13576
13577
13578 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:
13579 LA93_204 = self.input.LA(3)
13580
13581 if (self.synpred185()) :
13582 alt93 = 1
13583
13584
13585
13586 elif LA93 == 38:
13587 LA93 = self.input.LA(2)
13588 if LA93 == 65:
13589 LA93_205 = self.input.LA(3)
13590
13591 if (self.synpred185()) :
13592 alt93 = 1
13593
13594
13595 elif LA93 == 58:
13596 LA93_206 = self.input.LA(3)
13597
13598 if (self.synpred185()) :
13599 alt93 = 1
13600
13601
13602 elif LA93 == 59:
13603 LA93_207 = self.input.LA(3)
13604
13605 if (self.synpred185()) :
13606 alt93 = 1
13607
13608
13609 elif LA93 == 60:
13610 LA93_208 = self.input.LA(3)
13611
13612 if (self.synpred185()) :
13613 alt93 = 1
13614
13615
13616 elif LA93 == IDENTIFIER:
13617 LA93_209 = self.input.LA(3)
13618
13619 if (self.synpred185()) :
13620 alt93 = 1
13621
13622
13623 elif LA93 == 61:
13624 LA93_210 = self.input.LA(3)
13625
13626 if (self.synpred185()) :
13627 alt93 = 1
13628
13629
13630 elif LA93 == 25:
13631 LA93_211 = self.input.LA(3)
13632
13633 if (self.synpred185()) :
13634 alt93 = 1
13635
13636
13637 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13638 LA93_212 = self.input.LA(3)
13639
13640 if (self.synpred185()) :
13641 alt93 = 1
13642
13643
13644 elif LA93 == 34:
13645 LA93_213 = self.input.LA(3)
13646
13647 if (self.synpred185()) :
13648 alt93 = 1
13649
13650
13651 elif LA93 == 35:
13652 LA93_214 = self.input.LA(3)
13653
13654 if (self.synpred185()) :
13655 alt93 = 1
13656
13657
13658 elif LA93 == 36:
13659 LA93_215 = self.input.LA(3)
13660
13661 if (self.synpred185()) :
13662 alt93 = 1
13663
13664
13665 elif LA93 == 37:
13666 LA93_216 = self.input.LA(3)
13667
13668 if (self.synpred185()) :
13669 alt93 = 1
13670
13671
13672 elif LA93 == 38:
13673 LA93_217 = self.input.LA(3)
13674
13675 if (self.synpred185()) :
13676 alt93 = 1
13677
13678
13679 elif LA93 == 39:
13680 LA93_218 = self.input.LA(3)
13681
13682 if (self.synpred185()) :
13683 alt93 = 1
13684
13685
13686 elif LA93 == 40:
13687 LA93_219 = self.input.LA(3)
13688
13689 if (self.synpred185()) :
13690 alt93 = 1
13691
13692
13693 elif LA93 == 41:
13694 LA93_220 = self.input.LA(3)
13695
13696 if (self.synpred185()) :
13697 alt93 = 1
13698
13699
13700 elif LA93 == 42:
13701 LA93_221 = self.input.LA(3)
13702
13703 if (self.synpred185()) :
13704 alt93 = 1
13705
13706
13707 elif LA93 == 45 or LA93 == 46:
13708 LA93_222 = self.input.LA(3)
13709
13710 if (self.synpred185()) :
13711 alt93 = 1
13712
13713
13714 elif LA93 == 48:
13715 LA93_223 = self.input.LA(3)
13716
13717 if (self.synpred185()) :
13718 alt93 = 1
13719
13720
13721 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:
13722 LA93_224 = self.input.LA(3)
13723
13724 if (self.synpred185()) :
13725 alt93 = 1
13726
13727
13728
13729 elif LA93 == 39:
13730 LA93 = self.input.LA(2)
13731 if LA93 == 65:
13732 LA93_225 = self.input.LA(3)
13733
13734 if (self.synpred185()) :
13735 alt93 = 1
13736
13737
13738 elif LA93 == 58:
13739 LA93_226 = self.input.LA(3)
13740
13741 if (self.synpred185()) :
13742 alt93 = 1
13743
13744
13745 elif LA93 == 59:
13746 LA93_227 = self.input.LA(3)
13747
13748 if (self.synpred185()) :
13749 alt93 = 1
13750
13751
13752 elif LA93 == 60:
13753 LA93_228 = self.input.LA(3)
13754
13755 if (self.synpred185()) :
13756 alt93 = 1
13757
13758
13759 elif LA93 == IDENTIFIER:
13760 LA93_229 = self.input.LA(3)
13761
13762 if (self.synpred185()) :
13763 alt93 = 1
13764
13765
13766 elif LA93 == 61:
13767 LA93_230 = self.input.LA(3)
13768
13769 if (self.synpred185()) :
13770 alt93 = 1
13771
13772
13773 elif LA93 == 25:
13774 LA93_231 = self.input.LA(3)
13775
13776 if (self.synpred185()) :
13777 alt93 = 1
13778
13779
13780 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13781 LA93_232 = self.input.LA(3)
13782
13783 if (self.synpred185()) :
13784 alt93 = 1
13785
13786
13787 elif LA93 == 34:
13788 LA93_233 = self.input.LA(3)
13789
13790 if (self.synpred185()) :
13791 alt93 = 1
13792
13793
13794 elif LA93 == 35:
13795 LA93_234 = self.input.LA(3)
13796
13797 if (self.synpred185()) :
13798 alt93 = 1
13799
13800
13801 elif LA93 == 36:
13802 LA93_235 = self.input.LA(3)
13803
13804 if (self.synpred185()) :
13805 alt93 = 1
13806
13807
13808 elif LA93 == 37:
13809 LA93_236 = self.input.LA(3)
13810
13811 if (self.synpred185()) :
13812 alt93 = 1
13813
13814
13815 elif LA93 == 38:
13816 LA93_237 = self.input.LA(3)
13817
13818 if (self.synpred185()) :
13819 alt93 = 1
13820
13821
13822 elif LA93 == 39:
13823 LA93_238 = self.input.LA(3)
13824
13825 if (self.synpred185()) :
13826 alt93 = 1
13827
13828
13829 elif LA93 == 40:
13830 LA93_239 = self.input.LA(3)
13831
13832 if (self.synpred185()) :
13833 alt93 = 1
13834
13835
13836 elif LA93 == 41:
13837 LA93_240 = self.input.LA(3)
13838
13839 if (self.synpred185()) :
13840 alt93 = 1
13841
13842
13843 elif LA93 == 42:
13844 LA93_241 = self.input.LA(3)
13845
13846 if (self.synpred185()) :
13847 alt93 = 1
13848
13849
13850 elif LA93 == 45 or LA93 == 46:
13851 LA93_242 = self.input.LA(3)
13852
13853 if (self.synpred185()) :
13854 alt93 = 1
13855
13856
13857 elif LA93 == 48:
13858 LA93_243 = self.input.LA(3)
13859
13860 if (self.synpred185()) :
13861 alt93 = 1
13862
13863
13864 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:
13865 LA93_244 = self.input.LA(3)
13866
13867 if (self.synpred185()) :
13868 alt93 = 1
13869
13870
13871
13872 elif LA93 == 40:
13873 LA93 = self.input.LA(2)
13874 if LA93 == 65:
13875 LA93_245 = self.input.LA(3)
13876
13877 if (self.synpred185()) :
13878 alt93 = 1
13879
13880
13881 elif LA93 == 58:
13882 LA93_246 = self.input.LA(3)
13883
13884 if (self.synpred185()) :
13885 alt93 = 1
13886
13887
13888 elif LA93 == 59:
13889 LA93_247 = self.input.LA(3)
13890
13891 if (self.synpred185()) :
13892 alt93 = 1
13893
13894
13895 elif LA93 == 60:
13896 LA93_248 = self.input.LA(3)
13897
13898 if (self.synpred185()) :
13899 alt93 = 1
13900
13901
13902 elif LA93 == IDENTIFIER:
13903 LA93_249 = self.input.LA(3)
13904
13905 if (self.synpred185()) :
13906 alt93 = 1
13907
13908
13909 elif LA93 == 61:
13910 LA93_250 = self.input.LA(3)
13911
13912 if (self.synpred185()) :
13913 alt93 = 1
13914
13915
13916 elif LA93 == 25:
13917 LA93_251 = self.input.LA(3)
13918
13919 if (self.synpred185()) :
13920 alt93 = 1
13921
13922
13923 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
13924 LA93_252 = self.input.LA(3)
13925
13926 if (self.synpred185()) :
13927 alt93 = 1
13928
13929
13930 elif LA93 == 34:
13931 LA93_253 = self.input.LA(3)
13932
13933 if (self.synpred185()) :
13934 alt93 = 1
13935
13936
13937 elif LA93 == 35:
13938 LA93_254 = self.input.LA(3)
13939
13940 if (self.synpred185()) :
13941 alt93 = 1
13942
13943
13944 elif LA93 == 36:
13945 LA93_255 = self.input.LA(3)
13946
13947 if (self.synpred185()) :
13948 alt93 = 1
13949
13950
13951 elif LA93 == 37:
13952 LA93_256 = self.input.LA(3)
13953
13954 if (self.synpred185()) :
13955 alt93 = 1
13956
13957
13958 elif LA93 == 38:
13959 LA93_257 = self.input.LA(3)
13960
13961 if (self.synpred185()) :
13962 alt93 = 1
13963
13964
13965 elif LA93 == 39:
13966 LA93_258 = self.input.LA(3)
13967
13968 if (self.synpred185()) :
13969 alt93 = 1
13970
13971
13972 elif LA93 == 40:
13973 LA93_259 = self.input.LA(3)
13974
13975 if (self.synpred185()) :
13976 alt93 = 1
13977
13978
13979 elif LA93 == 41:
13980 LA93_260 = self.input.LA(3)
13981
13982 if (self.synpred185()) :
13983 alt93 = 1
13984
13985
13986 elif LA93 == 42:
13987 LA93_261 = self.input.LA(3)
13988
13989 if (self.synpred185()) :
13990 alt93 = 1
13991
13992
13993 elif LA93 == 45 or LA93 == 46:
13994 LA93_262 = self.input.LA(3)
13995
13996 if (self.synpred185()) :
13997 alt93 = 1
13998
13999
14000 elif LA93 == 48:
14001 LA93_263 = self.input.LA(3)
14002
14003 if (self.synpred185()) :
14004 alt93 = 1
14005
14006
14007 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:
14008 LA93_264 = self.input.LA(3)
14009
14010 if (self.synpred185()) :
14011 alt93 = 1
14012
14013
14014
14015 elif LA93 == 41:
14016 LA93 = self.input.LA(2)
14017 if LA93 == 65:
14018 LA93_265 = self.input.LA(3)
14019
14020 if (self.synpred185()) :
14021 alt93 = 1
14022
14023
14024 elif LA93 == 58:
14025 LA93_266 = self.input.LA(3)
14026
14027 if (self.synpred185()) :
14028 alt93 = 1
14029
14030
14031 elif LA93 == 59:
14032 LA93_267 = self.input.LA(3)
14033
14034 if (self.synpred185()) :
14035 alt93 = 1
14036
14037
14038 elif LA93 == 60:
14039 LA93_268 = self.input.LA(3)
14040
14041 if (self.synpred185()) :
14042 alt93 = 1
14043
14044
14045 elif LA93 == IDENTIFIER:
14046 LA93_269 = self.input.LA(3)
14047
14048 if (self.synpred185()) :
14049 alt93 = 1
14050
14051
14052 elif LA93 == 61:
14053 LA93_270 = self.input.LA(3)
14054
14055 if (self.synpred185()) :
14056 alt93 = 1
14057
14058
14059 elif LA93 == 25:
14060 LA93_271 = self.input.LA(3)
14061
14062 if (self.synpred185()) :
14063 alt93 = 1
14064
14065
14066 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14067 LA93_272 = self.input.LA(3)
14068
14069 if (self.synpred185()) :
14070 alt93 = 1
14071
14072
14073 elif LA93 == 34:
14074 LA93_273 = self.input.LA(3)
14075
14076 if (self.synpred185()) :
14077 alt93 = 1
14078
14079
14080 elif LA93 == 35:
14081 LA93_274 = self.input.LA(3)
14082
14083 if (self.synpred185()) :
14084 alt93 = 1
14085
14086
14087 elif LA93 == 36:
14088 LA93_275 = self.input.LA(3)
14089
14090 if (self.synpred185()) :
14091 alt93 = 1
14092
14093
14094 elif LA93 == 37:
14095 LA93_276 = self.input.LA(3)
14096
14097 if (self.synpred185()) :
14098 alt93 = 1
14099
14100
14101 elif LA93 == 38:
14102 LA93_277 = self.input.LA(3)
14103
14104 if (self.synpred185()) :
14105 alt93 = 1
14106
14107
14108 elif LA93 == 39:
14109 LA93_278 = self.input.LA(3)
14110
14111 if (self.synpred185()) :
14112 alt93 = 1
14113
14114
14115 elif LA93 == 40:
14116 LA93_279 = self.input.LA(3)
14117
14118 if (self.synpred185()) :
14119 alt93 = 1
14120
14121
14122 elif LA93 == 41:
14123 LA93_280 = self.input.LA(3)
14124
14125 if (self.synpred185()) :
14126 alt93 = 1
14127
14128
14129 elif LA93 == 42:
14130 LA93_281 = self.input.LA(3)
14131
14132 if (self.synpred185()) :
14133 alt93 = 1
14134
14135
14136 elif LA93 == 45 or LA93 == 46:
14137 LA93_282 = self.input.LA(3)
14138
14139 if (self.synpred185()) :
14140 alt93 = 1
14141
14142
14143 elif LA93 == 48:
14144 LA93_283 = self.input.LA(3)
14145
14146 if (self.synpred185()) :
14147 alt93 = 1
14148
14149
14150 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:
14151 LA93_284 = self.input.LA(3)
14152
14153 if (self.synpred185()) :
14154 alt93 = 1
14155
14156
14157
14158 elif LA93 == 42:
14159 LA93 = self.input.LA(2)
14160 if LA93 == 65:
14161 LA93_285 = self.input.LA(3)
14162
14163 if (self.synpred185()) :
14164 alt93 = 1
14165
14166
14167 elif LA93 == 58:
14168 LA93_286 = self.input.LA(3)
14169
14170 if (self.synpred185()) :
14171 alt93 = 1
14172
14173
14174 elif LA93 == 59:
14175 LA93_287 = self.input.LA(3)
14176
14177 if (self.synpred185()) :
14178 alt93 = 1
14179
14180
14181 elif LA93 == 60:
14182 LA93_288 = self.input.LA(3)
14183
14184 if (self.synpred185()) :
14185 alt93 = 1
14186
14187
14188 elif LA93 == IDENTIFIER:
14189 LA93_289 = self.input.LA(3)
14190
14191 if (self.synpred185()) :
14192 alt93 = 1
14193
14194
14195 elif LA93 == 61:
14196 LA93_290 = self.input.LA(3)
14197
14198 if (self.synpred185()) :
14199 alt93 = 1
14200
14201
14202 elif LA93 == 25:
14203 LA93_291 = self.input.LA(3)
14204
14205 if (self.synpred185()) :
14206 alt93 = 1
14207
14208
14209 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14210 LA93_292 = self.input.LA(3)
14211
14212 if (self.synpred185()) :
14213 alt93 = 1
14214
14215
14216 elif LA93 == 34:
14217 LA93_293 = self.input.LA(3)
14218
14219 if (self.synpred185()) :
14220 alt93 = 1
14221
14222
14223 elif LA93 == 35:
14224 LA93_294 = self.input.LA(3)
14225
14226 if (self.synpred185()) :
14227 alt93 = 1
14228
14229
14230 elif LA93 == 36:
14231 LA93_295 = self.input.LA(3)
14232
14233 if (self.synpred185()) :
14234 alt93 = 1
14235
14236
14237 elif LA93 == 37:
14238 LA93_296 = self.input.LA(3)
14239
14240 if (self.synpred185()) :
14241 alt93 = 1
14242
14243
14244 elif LA93 == 38:
14245 LA93_297 = self.input.LA(3)
14246
14247 if (self.synpred185()) :
14248 alt93 = 1
14249
14250
14251 elif LA93 == 39:
14252 LA93_298 = self.input.LA(3)
14253
14254 if (self.synpred185()) :
14255 alt93 = 1
14256
14257
14258 elif LA93 == 40:
14259 LA93_299 = self.input.LA(3)
14260
14261 if (self.synpred185()) :
14262 alt93 = 1
14263
14264
14265 elif LA93 == 41:
14266 LA93_300 = self.input.LA(3)
14267
14268 if (self.synpred185()) :
14269 alt93 = 1
14270
14271
14272 elif LA93 == 42:
14273 LA93_301 = self.input.LA(3)
14274
14275 if (self.synpred185()) :
14276 alt93 = 1
14277
14278
14279 elif LA93 == 45 or LA93 == 46:
14280 LA93_302 = self.input.LA(3)
14281
14282 if (self.synpred185()) :
14283 alt93 = 1
14284
14285
14286 elif LA93 == 48:
14287 LA93_303 = self.input.LA(3)
14288
14289 if (self.synpred185()) :
14290 alt93 = 1
14291
14292
14293 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:
14294 LA93_304 = self.input.LA(3)
14295
14296 if (self.synpred185()) :
14297 alt93 = 1
14298
14299
14300
14301 elif LA93 == 45 or LA93 == 46:
14302 LA93_40 = self.input.LA(2)
14303
14304 if (LA93_40 == IDENTIFIER) :
14305 LA93_305 = self.input.LA(3)
14306
14307 if (self.synpred185()) :
14308 alt93 = 1
14309
14310
14311 elif (LA93_40 == 43) :
14312 LA93_306 = self.input.LA(3)
14313
14314 if (self.synpred185()) :
14315 alt93 = 1
14316
14317
14318
14319
14320 elif LA93 == 48:
14321 LA93_41 = self.input.LA(2)
14322
14323 if (LA93_41 == IDENTIFIER) :
14324 LA93_307 = self.input.LA(3)
14325
14326 if (self.synpred185()) :
14327 alt93 = 1
14328
14329
14330 elif (LA93_41 == 43) :
14331 LA93_308 = self.input.LA(3)
14332
14333 if (self.synpred185()) :
14334 alt93 = 1
14335
14336
14337
14338
14339 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:
14340 LA93 = self.input.LA(2)
14341 if LA93 == 65:
14342 LA93_309 = self.input.LA(3)
14343
14344 if (self.synpred185()) :
14345 alt93 = 1
14346
14347
14348 elif LA93 == 58:
14349 LA93_310 = self.input.LA(3)
14350
14351 if (self.synpred185()) :
14352 alt93 = 1
14353
14354
14355 elif LA93 == 59:
14356 LA93_311 = self.input.LA(3)
14357
14358 if (self.synpred185()) :
14359 alt93 = 1
14360
14361
14362 elif LA93 == 60:
14363 LA93_312 = self.input.LA(3)
14364
14365 if (self.synpred185()) :
14366 alt93 = 1
14367
14368
14369 elif LA93 == IDENTIFIER:
14370 LA93_313 = self.input.LA(3)
14371
14372 if (self.synpred185()) :
14373 alt93 = 1
14374
14375
14376 elif LA93 == 61:
14377 LA93_314 = self.input.LA(3)
14378
14379 if (self.synpred185()) :
14380 alt93 = 1
14381
14382
14383 elif LA93 == 25:
14384 LA93_315 = self.input.LA(3)
14385
14386 if (self.synpred185()) :
14387 alt93 = 1
14388
14389
14390 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
14391 LA93_316 = self.input.LA(3)
14392
14393 if (self.synpred185()) :
14394 alt93 = 1
14395
14396
14397 elif LA93 == 34:
14398 LA93_317 = self.input.LA(3)
14399
14400 if (self.synpred185()) :
14401 alt93 = 1
14402
14403
14404 elif LA93 == 35:
14405 LA93_318 = self.input.LA(3)
14406
14407 if (self.synpred185()) :
14408 alt93 = 1
14409
14410
14411 elif LA93 == 36:
14412 LA93_319 = self.input.LA(3)
14413
14414 if (self.synpred185()) :
14415 alt93 = 1
14416
14417
14418 elif LA93 == 37:
14419 LA93_320 = self.input.LA(3)
14420
14421 if (self.synpred185()) :
14422 alt93 = 1
14423
14424
14425 elif LA93 == 38:
14426 LA93_321 = self.input.LA(3)
14427
14428 if (self.synpred185()) :
14429 alt93 = 1
14430
14431
14432 elif LA93 == 39:
14433 LA93_322 = self.input.LA(3)
14434
14435 if (self.synpred185()) :
14436 alt93 = 1
14437
14438
14439 elif LA93 == 40:
14440 LA93_323 = self.input.LA(3)
14441
14442 if (self.synpred185()) :
14443 alt93 = 1
14444
14445
14446 elif LA93 == 41:
14447 LA93_324 = self.input.LA(3)
14448
14449 if (self.synpred185()) :
14450 alt93 = 1
14451
14452
14453 elif LA93 == 42:
14454 LA93_325 = self.input.LA(3)
14455
14456 if (self.synpred185()) :
14457 alt93 = 1
14458
14459
14460 elif LA93 == 45 or LA93 == 46:
14461 LA93_326 = self.input.LA(3)
14462
14463 if (self.synpred185()) :
14464 alt93 = 1
14465
14466
14467 elif LA93 == 48:
14468 LA93_327 = self.input.LA(3)
14469
14470 if (self.synpred185()) :
14471 alt93 = 1
14472
14473
14474 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:
14475 LA93_328 = self.input.LA(3)
14476
14477 if (self.synpred185()) :
14478 alt93 = 1
14479
14480
14481
14482
14483 if alt93 == 1:
14484 # C.g:0:0: declaration
14485 self.following.append(self.FOLLOW_declaration_in_compound_statement2210)
14486 self.declaration()
14487 self.following.pop()
14488 if self.failed:
14489 return retval
14490
14491
14492 else:
14493 break #loop93
14494
14495
14496 # C.g:501:21: ( statement_list )?
14497 alt94 = 2
14498 LA94_0 = self.input.LA(1)
14499
14500 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 <= 61) or LA94_0 == 65 or (67 <= LA94_0 <= 68) or (71 <= LA94_0 <= 73) or (76 <= LA94_0 <= 78) or (102 <= LA94_0 <= 107) or (109 <= LA94_0 <= 116)) :
14501 alt94 = 1
14502 if alt94 == 1:
14503 # C.g:0:0: statement_list
14504 self.following.append(self.FOLLOW_statement_list_in_compound_statement2213)
14505 self.statement_list()
14506 self.following.pop()
14507 if self.failed:
14508 return retval
14509
14510
14511
14512 self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2216)
14513 if self.failed:
14514 return retval
14515
14516
14517
14518 retval.stop = self.input.LT(-1)
14519
14520
14521 except RecognitionException, re:
14522 self.reportError(re)
14523 self.recover(self.input, re)
14524 finally:
14525 if self.backtracking > 0:
14526 self.memoize(self.input, 66, compound_statement_StartIndex)
14527
14528 pass
14529
14530 return retval
14531
14532 # $ANTLR end compound_statement
14533
14534
14535 # $ANTLR start statement_list
14536 # C.g:504:1: statement_list : ( statement )+ ;
14537 def statement_list(self, ):
14538
14539 statement_list_StartIndex = self.input.index()
14540 try:
14541 try:
14542 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
14543 return
14544
14545 # C.g:505:2: ( ( statement )+ )
14546 # C.g:505:4: ( statement )+
14547 # C.g:505:4: ( statement )+
14548 cnt95 = 0
14549 while True: #loop95
14550 alt95 = 2
14551 LA95 = self.input.LA(1)
14552 if LA95 == IDENTIFIER:
14553 LA95 = self.input.LA(2)
14554 if 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:
14555 alt95 = 1
14556 elif LA95 == 61:
14557 LA95_47 = self.input.LA(3)
14558
14559 if (self.synpred187()) :
14560 alt95 = 1
14561
14562
14563 elif LA95 == 63:
14564 LA95_48 = self.input.LA(3)
14565
14566 if (self.synpred187()) :
14567 alt95 = 1
14568
14569
14570 elif LA95 == 74:
14571 LA95_49 = self.input.LA(3)
14572
14573 if (self.synpred187()) :
14574 alt95 = 1
14575
14576
14577 elif LA95 == 65:
14578 LA95_50 = self.input.LA(3)
14579
14580 if (self.synpred187()) :
14581 alt95 = 1
14582
14583
14584 elif LA95 == 75:
14585 LA95_51 = self.input.LA(3)
14586
14587 if (self.synpred187()) :
14588 alt95 = 1
14589
14590
14591 elif LA95 == 71:
14592 LA95_52 = self.input.LA(3)
14593
14594 if (self.synpred187()) :
14595 alt95 = 1
14596
14597
14598 elif LA95 == 72:
14599 LA95_53 = self.input.LA(3)
14600
14601 if (self.synpred187()) :
14602 alt95 = 1
14603
14604
14605 elif LA95 == 28 or LA95 == 79 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:
14606 LA95_54 = self.input.LA(3)
14607
14608 if (self.synpred187()) :
14609 alt95 = 1
14610
14611
14612 elif LA95 == STRING_LITERAL:
14613 LA95_55 = self.input.LA(3)
14614
14615 if (self.synpred187()) :
14616 alt95 = 1
14617
14618
14619 elif LA95 == IDENTIFIER:
14620 LA95_56 = self.input.LA(3)
14621
14622 if (self.synpred187()) :
14623 alt95 = 1
14624
14625
14626 elif LA95 == 69:
14627 LA95_57 = self.input.LA(3)
14628
14629 if (self.synpred187()) :
14630 alt95 = 1
14631
14632
14633 elif LA95 == 70:
14634 LA95_58 = self.input.LA(3)
14635
14636 if (self.synpred187()) :
14637 alt95 = 1
14638
14639
14640 elif LA95 == 67:
14641 LA95_59 = self.input.LA(3)
14642
14643 if (self.synpred187()) :
14644 alt95 = 1
14645
14646
14647 elif LA95 == 68:
14648 LA95_60 = self.input.LA(3)
14649
14650 if (self.synpred187()) :
14651 alt95 = 1
14652
14653
14654 elif LA95 == 100 or LA95 == 101:
14655 LA95_61 = self.input.LA(3)
14656
14657 if (self.synpred187()) :
14658 alt95 = 1
14659
14660
14661 elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
14662 LA95_62 = self.input.LA(3)
14663
14664 if (self.synpred187()) :
14665 alt95 = 1
14666
14667
14668 elif LA95 == 94 or LA95 == 95:
14669 LA95_63 = self.input.LA(3)
14670
14671 if (self.synpred187()) :
14672 alt95 = 1
14673
14674
14675 elif LA95 == 76:
14676 LA95_64 = self.input.LA(3)
14677
14678 if (self.synpred187()) :
14679 alt95 = 1
14680
14681
14682 elif LA95 == 93:
14683 LA95_65 = self.input.LA(3)
14684
14685 if (self.synpred187()) :
14686 alt95 = 1
14687
14688
14689 elif LA95 == 92:
14690 LA95_66 = self.input.LA(3)
14691
14692 if (self.synpred187()) :
14693 alt95 = 1
14694
14695
14696 elif LA95 == 91:
14697 LA95_67 = self.input.LA(3)
14698
14699 if (self.synpred187()) :
14700 alt95 = 1
14701
14702
14703 elif LA95 == 90:
14704 LA95_68 = self.input.LA(3)
14705
14706 if (self.synpred187()) :
14707 alt95 = 1
14708
14709
14710 elif LA95 == 89:
14711 LA95_69 = self.input.LA(3)
14712
14713 if (self.synpred187()) :
14714 alt95 = 1
14715
14716
14717 elif LA95 == 27:
14718 LA95_70 = self.input.LA(3)
14719
14720 if (self.synpred187()) :
14721 alt95 = 1
14722
14723
14724
14725 elif LA95 == HEX_LITERAL:
14726 LA95 = self.input.LA(2)
14727 if LA95 == 63:
14728 LA95_89 = self.input.LA(3)
14729
14730 if (self.synpred187()) :
14731 alt95 = 1
14732
14733
14734 elif LA95 == 61:
14735 LA95_90 = self.input.LA(3)
14736
14737 if (self.synpred187()) :
14738 alt95 = 1
14739
14740
14741 elif LA95 == 74:
14742 LA95_91 = self.input.LA(3)
14743
14744 if (self.synpred187()) :
14745 alt95 = 1
14746
14747
14748 elif LA95 == 65:
14749 LA95_92 = self.input.LA(3)
14750
14751 if (self.synpred187()) :
14752 alt95 = 1
14753
14754
14755 elif LA95 == 75:
14756 LA95_93 = self.input.LA(3)
14757
14758 if (self.synpred187()) :
14759 alt95 = 1
14760
14761
14762 elif LA95 == 71:
14763 LA95_94 = self.input.LA(3)
14764
14765 if (self.synpred187()) :
14766 alt95 = 1
14767
14768
14769 elif LA95 == 72:
14770 LA95_95 = self.input.LA(3)
14771
14772 if (self.synpred187()) :
14773 alt95 = 1
14774
14775
14776 elif LA95 == 69:
14777 LA95_96 = self.input.LA(3)
14778
14779 if (self.synpred187()) :
14780 alt95 = 1
14781
14782
14783 elif LA95 == 70:
14784 LA95_97 = self.input.LA(3)
14785
14786 if (self.synpred187()) :
14787 alt95 = 1
14788
14789
14790 elif LA95 == 67:
14791 LA95_98 = self.input.LA(3)
14792
14793 if (self.synpred187()) :
14794 alt95 = 1
14795
14796
14797 elif LA95 == 68:
14798 LA95_99 = self.input.LA(3)
14799
14800 if (self.synpred187()) :
14801 alt95 = 1
14802
14803
14804 elif LA95 == 100 or LA95 == 101:
14805 LA95_100 = self.input.LA(3)
14806
14807 if (self.synpred187()) :
14808 alt95 = 1
14809
14810
14811 elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
14812 LA95_101 = self.input.LA(3)
14813
14814 if (self.synpred187()) :
14815 alt95 = 1
14816
14817
14818 elif LA95 == 94 or LA95 == 95:
14819 LA95_102 = self.input.LA(3)
14820
14821 if (self.synpred187()) :
14822 alt95 = 1
14823
14824
14825 elif LA95 == 76:
14826 LA95_103 = self.input.LA(3)
14827
14828 if (self.synpred187()) :
14829 alt95 = 1
14830
14831
14832 elif LA95 == 93:
14833 LA95_104 = self.input.LA(3)
14834
14835 if (self.synpred187()) :
14836 alt95 = 1
14837
14838
14839 elif LA95 == 92:
14840 LA95_105 = self.input.LA(3)
14841
14842 if (self.synpred187()) :
14843 alt95 = 1
14844
14845
14846 elif LA95 == 91:
14847 LA95_106 = self.input.LA(3)
14848
14849 if (self.synpred187()) :
14850 alt95 = 1
14851
14852
14853 elif LA95 == 90:
14854 LA95_107 = self.input.LA(3)
14855
14856 if (self.synpred187()) :
14857 alt95 = 1
14858
14859
14860 elif LA95 == 89:
14861 LA95_108 = self.input.LA(3)
14862
14863 if (self.synpred187()) :
14864 alt95 = 1
14865
14866
14867 elif LA95 == 27:
14868 LA95_109 = self.input.LA(3)
14869
14870 if (self.synpred187()) :
14871 alt95 = 1
14872
14873
14874 elif LA95 == 25:
14875 alt95 = 1
14876 elif LA95 == 28 or LA95 == 79 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:
14877 LA95_112 = self.input.LA(3)
14878
14879 if (self.synpred187()) :
14880 alt95 = 1
14881
14882
14883
14884 elif LA95 == OCTAL_LITERAL:
14885 LA95 = self.input.LA(2)
14886 if LA95 == 63:
14887 LA95_113 = self.input.LA(3)
14888
14889 if (self.synpred187()) :
14890 alt95 = 1
14891
14892
14893 elif LA95 == 61:
14894 LA95_114 = self.input.LA(3)
14895
14896 if (self.synpred187()) :
14897 alt95 = 1
14898
14899
14900 elif LA95 == 74:
14901 LA95_115 = self.input.LA(3)
14902
14903 if (self.synpred187()) :
14904 alt95 = 1
14905
14906
14907 elif LA95 == 65:
14908 LA95_116 = self.input.LA(3)
14909
14910 if (self.synpred187()) :
14911 alt95 = 1
14912
14913
14914 elif LA95 == 75:
14915 LA95_117 = self.input.LA(3)
14916
14917 if (self.synpred187()) :
14918 alt95 = 1
14919
14920
14921 elif LA95 == 71:
14922 LA95_118 = self.input.LA(3)
14923
14924 if (self.synpred187()) :
14925 alt95 = 1
14926
14927
14928 elif LA95 == 72:
14929 LA95_119 = self.input.LA(3)
14930
14931 if (self.synpred187()) :
14932 alt95 = 1
14933
14934
14935 elif LA95 == 28 or LA95 == 79 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:
14936 LA95_120 = self.input.LA(3)
14937
14938 if (self.synpred187()) :
14939 alt95 = 1
14940
14941
14942 elif LA95 == 69:
14943 LA95_121 = self.input.LA(3)
14944
14945 if (self.synpred187()) :
14946 alt95 = 1
14947
14948
14949 elif LA95 == 70:
14950 LA95_122 = self.input.LA(3)
14951
14952 if (self.synpred187()) :
14953 alt95 = 1
14954
14955
14956 elif LA95 == 67:
14957 LA95_123 = self.input.LA(3)
14958
14959 if (self.synpred187()) :
14960 alt95 = 1
14961
14962
14963 elif LA95 == 68:
14964 LA95_124 = self.input.LA(3)
14965
14966 if (self.synpred187()) :
14967 alt95 = 1
14968
14969
14970 elif LA95 == 100 or LA95 == 101:
14971 LA95_125 = self.input.LA(3)
14972
14973 if (self.synpred187()) :
14974 alt95 = 1
14975
14976
14977 elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
14978 LA95_126 = self.input.LA(3)
14979
14980 if (self.synpred187()) :
14981 alt95 = 1
14982
14983
14984 elif LA95 == 94 or LA95 == 95:
14985 LA95_127 = self.input.LA(3)
14986
14987 if (self.synpred187()) :
14988 alt95 = 1
14989
14990
14991 elif LA95 == 76:
14992 LA95_128 = self.input.LA(3)
14993
14994 if (self.synpred187()) :
14995 alt95 = 1
14996
14997
14998 elif LA95 == 93:
14999 LA95_129 = self.input.LA(3)
15000
15001 if (self.synpred187()) :
15002 alt95 = 1
15003
15004
15005 elif LA95 == 92:
15006 LA95_130 = self.input.LA(3)
15007
15008 if (self.synpred187()) :
15009 alt95 = 1
15010
15011
15012 elif LA95 == 91:
15013 LA95_131 = self.input.LA(3)
15014
15015 if (self.synpred187()) :
15016 alt95 = 1
15017
15018
15019 elif LA95 == 90:
15020 LA95_132 = self.input.LA(3)
15021
15022 if (self.synpred187()) :
15023 alt95 = 1
15024
15025
15026 elif LA95 == 89:
15027 LA95_133 = self.input.LA(3)
15028
15029 if (self.synpred187()) :
15030 alt95 = 1
15031
15032
15033 elif LA95 == 27:
15034 LA95_134 = self.input.LA(3)
15035
15036 if (self.synpred187()) :
15037 alt95 = 1
15038
15039
15040 elif LA95 == 25:
15041 alt95 = 1
15042
15043 elif LA95 == DECIMAL_LITERAL:
15044 LA95 = self.input.LA(2)
15045 if LA95 == 63:
15046 LA95_137 = self.input.LA(3)
15047
15048 if (self.synpred187()) :
15049 alt95 = 1
15050
15051
15052 elif LA95 == 61:
15053 LA95_138 = self.input.LA(3)
15054
15055 if (self.synpred187()) :
15056 alt95 = 1
15057
15058
15059 elif LA95 == 74:
15060 LA95_139 = self.input.LA(3)
15061
15062 if (self.synpred187()) :
15063 alt95 = 1
15064
15065
15066 elif LA95 == 65:
15067 LA95_140 = self.input.LA(3)
15068
15069 if (self.synpred187()) :
15070 alt95 = 1
15071
15072
15073 elif LA95 == 75:
15074 LA95_141 = self.input.LA(3)
15075
15076 if (self.synpred187()) :
15077 alt95 = 1
15078
15079
15080 elif LA95 == 71:
15081 LA95_142 = self.input.LA(3)
15082
15083 if (self.synpred187()) :
15084 alt95 = 1
15085
15086
15087 elif LA95 == 72:
15088 LA95_143 = self.input.LA(3)
15089
15090 if (self.synpred187()) :
15091 alt95 = 1
15092
15093
15094 elif LA95 == 28 or LA95 == 79 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:
15095 LA95_144 = self.input.LA(3)
15096
15097 if (self.synpred187()) :
15098 alt95 = 1
15099
15100
15101 elif LA95 == 69:
15102 LA95_145 = self.input.LA(3)
15103
15104 if (self.synpred187()) :
15105 alt95 = 1
15106
15107
15108 elif LA95 == 70:
15109 LA95_146 = self.input.LA(3)
15110
15111 if (self.synpred187()) :
15112 alt95 = 1
15113
15114
15115 elif LA95 == 67:
15116 LA95_147 = self.input.LA(3)
15117
15118 if (self.synpred187()) :
15119 alt95 = 1
15120
15121
15122 elif LA95 == 68:
15123 LA95_148 = self.input.LA(3)
15124
15125 if (self.synpred187()) :
15126 alt95 = 1
15127
15128
15129 elif LA95 == 100 or LA95 == 101:
15130 LA95_149 = self.input.LA(3)
15131
15132 if (self.synpred187()) :
15133 alt95 = 1
15134
15135
15136 elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
15137 LA95_150 = self.input.LA(3)
15138
15139 if (self.synpred187()) :
15140 alt95 = 1
15141
15142
15143 elif LA95 == 94 or LA95 == 95:
15144 LA95_151 = self.input.LA(3)
15145
15146 if (self.synpred187()) :
15147 alt95 = 1
15148
15149
15150 elif LA95 == 76:
15151 LA95_152 = self.input.LA(3)
15152
15153 if (self.synpred187()) :
15154 alt95 = 1
15155
15156
15157 elif LA95 == 93:
15158 LA95_153 = self.input.LA(3)
15159
15160 if (self.synpred187()) :
15161 alt95 = 1
15162
15163
15164 elif LA95 == 92:
15165 LA95_154 = self.input.LA(3)
15166
15167 if (self.synpred187()) :
15168 alt95 = 1
15169
15170
15171 elif LA95 == 91:
15172 LA95_155 = self.input.LA(3)
15173
15174 if (self.synpred187()) :
15175 alt95 = 1
15176
15177
15178 elif LA95 == 90:
15179 LA95_156 = self.input.LA(3)
15180
15181 if (self.synpred187()) :
15182 alt95 = 1
15183
15184
15185 elif LA95 == 89:
15186 LA95_157 = self.input.LA(3)
15187
15188 if (self.synpred187()) :
15189 alt95 = 1
15190
15191
15192 elif LA95 == 27:
15193 LA95_158 = self.input.LA(3)
15194
15195 if (self.synpred187()) :
15196 alt95 = 1
15197
15198
15199 elif LA95 == 25:
15200 alt95 = 1
15201
15202 elif LA95 == CHARACTER_LITERAL:
15203 LA95 = self.input.LA(2)
15204 if LA95 == 63:
15205 LA95_161 = self.input.LA(3)
15206
15207 if (self.synpred187()) :
15208 alt95 = 1
15209
15210
15211 elif LA95 == 61:
15212 LA95_162 = self.input.LA(3)
15213
15214 if (self.synpred187()) :
15215 alt95 = 1
15216
15217
15218 elif LA95 == 74:
15219 LA95_163 = self.input.LA(3)
15220
15221 if (self.synpred187()) :
15222 alt95 = 1
15223
15224
15225 elif LA95 == 65:
15226 LA95_164 = self.input.LA(3)
15227
15228 if (self.synpred187()) :
15229 alt95 = 1
15230
15231
15232 elif LA95 == 75:
15233 LA95_165 = self.input.LA(3)
15234
15235 if (self.synpred187()) :
15236 alt95 = 1
15237
15238
15239 elif LA95 == 71:
15240 LA95_166 = self.input.LA(3)
15241
15242 if (self.synpred187()) :
15243 alt95 = 1
15244
15245
15246 elif LA95 == 72:
15247 LA95_167 = self.input.LA(3)
15248
15249 if (self.synpred187()) :
15250 alt95 = 1
15251
15252
15253 elif LA95 == 28 or LA95 == 79 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:
15254 LA95_168 = self.input.LA(3)
15255
15256 if (self.synpred187()) :
15257 alt95 = 1
15258
15259
15260 elif LA95 == 69:
15261 LA95_169 = self.input.LA(3)
15262
15263 if (self.synpred187()) :
15264 alt95 = 1
15265
15266
15267 elif LA95 == 70:
15268 LA95_170 = self.input.LA(3)
15269
15270 if (self.synpred187()) :
15271 alt95 = 1
15272
15273
15274 elif LA95 == 67:
15275 LA95_171 = self.input.LA(3)
15276
15277 if (self.synpred187()) :
15278 alt95 = 1
15279
15280
15281 elif LA95 == 68:
15282 LA95_172 = self.input.LA(3)
15283
15284 if (self.synpred187()) :
15285 alt95 = 1
15286
15287
15288 elif LA95 == 100 or LA95 == 101:
15289 LA95_173 = self.input.LA(3)
15290
15291 if (self.synpred187()) :
15292 alt95 = 1
15293
15294
15295 elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
15296 LA95_174 = self.input.LA(3)
15297
15298 if (self.synpred187()) :
15299 alt95 = 1
15300
15301
15302 elif LA95 == 94 or LA95 == 95:
15303 LA95_175 = self.input.LA(3)
15304
15305 if (self.synpred187()) :
15306 alt95 = 1
15307
15308
15309 elif LA95 == 76:
15310 LA95_176 = self.input.LA(3)
15311
15312 if (self.synpred187()) :
15313 alt95 = 1
15314
15315
15316 elif LA95 == 93:
15317 LA95_177 = self.input.LA(3)
15318
15319 if (self.synpred187()) :
15320 alt95 = 1
15321
15322
15323 elif LA95 == 92:
15324 LA95_178 = self.input.LA(3)
15325
15326 if (self.synpred187()) :
15327 alt95 = 1
15328
15329
15330 elif LA95 == 91:
15331 LA95_179 = self.input.LA(3)
15332
15333 if (self.synpred187()) :
15334 alt95 = 1
15335
15336
15337 elif LA95 == 90:
15338 LA95_180 = self.input.LA(3)
15339
15340 if (self.synpred187()) :
15341 alt95 = 1
15342
15343
15344 elif LA95 == 89:
15345 LA95_181 = self.input.LA(3)
15346
15347 if (self.synpred187()) :
15348 alt95 = 1
15349
15350
15351 elif LA95 == 27:
15352 LA95_182 = self.input.LA(3)
15353
15354 if (self.synpred187()) :
15355 alt95 = 1
15356
15357
15358 elif LA95 == 25:
15359 alt95 = 1
15360
15361 elif LA95 == STRING_LITERAL:
15362 LA95 = self.input.LA(2)
15363 if LA95 == IDENTIFIER:
15364 LA95_185 = self.input.LA(3)
15365
15366 if (self.synpred187()) :
15367 alt95 = 1
15368
15369
15370 elif LA95 == 63:
15371 LA95_186 = self.input.LA(3)
15372
15373 if (self.synpred187()) :
15374 alt95 = 1
15375
15376
15377 elif LA95 == 61:
15378 LA95_187 = self.input.LA(3)
15379
15380 if (self.synpred187()) :
15381 alt95 = 1
15382
15383
15384 elif LA95 == 74:
15385 LA95_188 = self.input.LA(3)
15386
15387 if (self.synpred187()) :
15388 alt95 = 1
15389
15390
15391 elif LA95 == 65:
15392 LA95_189 = self.input.LA(3)
15393
15394 if (self.synpred187()) :
15395 alt95 = 1
15396
15397
15398 elif LA95 == 75:
15399 LA95_190 = self.input.LA(3)
15400
15401 if (self.synpred187()) :
15402 alt95 = 1
15403
15404
15405 elif LA95 == 71:
15406 LA95_191 = self.input.LA(3)
15407
15408 if (self.synpred187()) :
15409 alt95 = 1
15410
15411
15412 elif LA95 == 72:
15413 LA95_192 = self.input.LA(3)
15414
15415 if (self.synpred187()) :
15416 alt95 = 1
15417
15418
15419 elif LA95 == 69:
15420 LA95_193 = self.input.LA(3)
15421
15422 if (self.synpred187()) :
15423 alt95 = 1
15424
15425
15426 elif LA95 == 70:
15427 LA95_194 = self.input.LA(3)
15428
15429 if (self.synpred187()) :
15430 alt95 = 1
15431
15432
15433 elif LA95 == 67:
15434 LA95_195 = self.input.LA(3)
15435
15436 if (self.synpred187()) :
15437 alt95 = 1
15438
15439
15440 elif LA95 == 68:
15441 LA95_196 = self.input.LA(3)
15442
15443 if (self.synpred187()) :
15444 alt95 = 1
15445
15446
15447 elif LA95 == 100 or LA95 == 101:
15448 LA95_197 = self.input.LA(3)
15449
15450 if (self.synpred187()) :
15451 alt95 = 1
15452
15453
15454 elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
15455 LA95_198 = self.input.LA(3)
15456
15457 if (self.synpred187()) :
15458 alt95 = 1
15459
15460
15461 elif LA95 == 94 or LA95 == 95:
15462 LA95_199 = self.input.LA(3)
15463
15464 if (self.synpred187()) :
15465 alt95 = 1
15466
15467
15468 elif LA95 == 76:
15469 LA95_200 = self.input.LA(3)
15470
15471 if (self.synpred187()) :
15472 alt95 = 1
15473
15474
15475 elif LA95 == 93:
15476 LA95_201 = self.input.LA(3)
15477
15478 if (self.synpred187()) :
15479 alt95 = 1
15480
15481
15482 elif LA95 == 92:
15483 LA95_202 = self.input.LA(3)
15484
15485 if (self.synpred187()) :
15486 alt95 = 1
15487
15488
15489 elif LA95 == 91:
15490 LA95_203 = self.input.LA(3)
15491
15492 if (self.synpred187()) :
15493 alt95 = 1
15494
15495
15496 elif LA95 == 90:
15497 LA95_204 = self.input.LA(3)
15498
15499 if (self.synpred187()) :
15500 alt95 = 1
15501
15502
15503 elif LA95 == 89:
15504 LA95_205 = self.input.LA(3)
15505
15506 if (self.synpred187()) :
15507 alt95 = 1
15508
15509
15510 elif LA95 == 27:
15511 LA95_206 = self.input.LA(3)
15512
15513 if (self.synpred187()) :
15514 alt95 = 1
15515
15516
15517 elif LA95 == 25:
15518 alt95 = 1
15519 elif LA95 == STRING_LITERAL:
15520 LA95_208 = self.input.LA(3)
15521
15522 if (self.synpred187()) :
15523 alt95 = 1
15524
15525
15526 elif LA95 == 28 or LA95 == 79 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:
15527 LA95_210 = self.input.LA(3)
15528
15529 if (self.synpred187()) :
15530 alt95 = 1
15531
15532
15533
15534 elif LA95 == FLOATING_POINT_LITERAL:
15535 LA95 = self.input.LA(2)
15536 if LA95 == 63:
15537 LA95_211 = self.input.LA(3)
15538
15539 if (self.synpred187()) :
15540 alt95 = 1
15541
15542
15543 elif LA95 == 61:
15544 LA95_212 = self.input.LA(3)
15545
15546 if (self.synpred187()) :
15547 alt95 = 1
15548
15549
15550 elif LA95 == 74:
15551 LA95_213 = self.input.LA(3)
15552
15553 if (self.synpred187()) :
15554 alt95 = 1
15555
15556
15557 elif LA95 == 65:
15558 LA95_214 = self.input.LA(3)
15559
15560 if (self.synpred187()) :
15561 alt95 = 1
15562
15563
15564 elif LA95 == 75:
15565 LA95_215 = self.input.LA(3)
15566
15567 if (self.synpred187()) :
15568 alt95 = 1
15569
15570
15571 elif LA95 == 71:
15572 LA95_216 = self.input.LA(3)
15573
15574 if (self.synpred187()) :
15575 alt95 = 1
15576
15577
15578 elif LA95 == 72:
15579 LA95_217 = self.input.LA(3)
15580
15581 if (self.synpred187()) :
15582 alt95 = 1
15583
15584
15585 elif LA95 == 69:
15586 LA95_218 = self.input.LA(3)
15587
15588 if (self.synpred187()) :
15589 alt95 = 1
15590
15591
15592 elif LA95 == 70:
15593 LA95_219 = self.input.LA(3)
15594
15595 if (self.synpred187()) :
15596 alt95 = 1
15597
15598
15599 elif LA95 == 67:
15600 LA95_220 = self.input.LA(3)
15601
15602 if (self.synpred187()) :
15603 alt95 = 1
15604
15605
15606 elif LA95 == 68:
15607 LA95_221 = self.input.LA(3)
15608
15609 if (self.synpred187()) :
15610 alt95 = 1
15611
15612
15613 elif LA95 == 100 or LA95 == 101:
15614 LA95_222 = self.input.LA(3)
15615
15616 if (self.synpred187()) :
15617 alt95 = 1
15618
15619
15620 elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99:
15621 LA95_223 = self.input.LA(3)
15622
15623 if (self.synpred187()) :
15624 alt95 = 1
15625
15626
15627 elif LA95 == 94 or LA95 == 95:
15628 LA95_224 = self.input.LA(3)
15629
15630 if (self.synpred187()) :
15631 alt95 = 1
15632
15633
15634 elif LA95 == 76:
15635 LA95_225 = self.input.LA(3)
15636
15637 if (self.synpred187()) :
15638 alt95 = 1
15639
15640
15641 elif LA95 == 93:
15642 LA95_226 = self.input.LA(3)
15643
15644 if (self.synpred187()) :
15645 alt95 = 1
15646
15647
15648 elif LA95 == 92:
15649 LA95_227 = self.input.LA(3)
15650
15651 if (self.synpred187()) :
15652 alt95 = 1
15653
15654
15655 elif LA95 == 91:
15656 LA95_228 = self.input.LA(3)
15657
15658 if (self.synpred187()) :
15659 alt95 = 1
15660
15661
15662 elif LA95 == 90:
15663 LA95_229 = self.input.LA(3)
15664
15665 if (self.synpred187()) :
15666 alt95 = 1
15667
15668
15669 elif LA95 == 89:
15670 LA95_230 = self.input.LA(3)
15671
15672 if (self.synpred187()) :
15673 alt95 = 1
15674
15675
15676 elif LA95 == 27:
15677 LA95_231 = self.input.LA(3)
15678
15679 if (self.synpred187()) :
15680 alt95 = 1
15681
15682
15683 elif LA95 == 28 or LA95 == 79 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:
15684 LA95_233 = self.input.LA(3)
15685
15686 if (self.synpred187()) :
15687 alt95 = 1
15688
15689
15690 elif LA95 == 25:
15691 alt95 = 1
15692
15693 elif LA95 == 61:
15694 LA95 = self.input.LA(2)
15695 if LA95 == IDENTIFIER:
15696 LA95_235 = self.input.LA(3)
15697
15698 if (self.synpred187()) :
15699 alt95 = 1
15700
15701
15702 elif LA95 == HEX_LITERAL:
15703 LA95_236 = self.input.LA(3)
15704
15705 if (self.synpred187()) :
15706 alt95 = 1
15707
15708
15709 elif LA95 == OCTAL_LITERAL:
15710 LA95_237 = self.input.LA(3)
15711
15712 if (self.synpred187()) :
15713 alt95 = 1
15714
15715
15716 elif LA95 == DECIMAL_LITERAL:
15717 LA95_238 = self.input.LA(3)
15718
15719 if (self.synpred187()) :
15720 alt95 = 1
15721
15722
15723 elif LA95 == CHARACTER_LITERAL:
15724 LA95_239 = self.input.LA(3)
15725
15726 if (self.synpred187()) :
15727 alt95 = 1
15728
15729
15730 elif LA95 == STRING_LITERAL:
15731 LA95_240 = self.input.LA(3)
15732
15733 if (self.synpred187()) :
15734 alt95 = 1
15735
15736
15737 elif LA95 == FLOATING_POINT_LITERAL:
15738 LA95_241 = self.input.LA(3)
15739
15740 if (self.synpred187()) :
15741 alt95 = 1
15742
15743
15744 elif LA95 == 61:
15745 LA95_242 = self.input.LA(3)
15746
15747 if (self.synpred187()) :
15748 alt95 = 1
15749
15750
15751 elif LA95 == 71:
15752 LA95_243 = self.input.LA(3)
15753
15754 if (self.synpred187()) :
15755 alt95 = 1
15756
15757
15758 elif LA95 == 72:
15759 LA95_244 = self.input.LA(3)
15760
15761 if (self.synpred187()) :
15762 alt95 = 1
15763
15764
15765 elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
15766 LA95_245 = self.input.LA(3)
15767
15768 if (self.synpred187()) :
15769 alt95 = 1
15770
15771
15772 elif LA95 == 73:
15773 LA95_246 = self.input.LA(3)
15774
15775 if (self.synpred187()) :
15776 alt95 = 1
15777
15778
15779 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:
15780 LA95_247 = self.input.LA(3)
15781
15782 if (self.synpred187()) :
15783 alt95 = 1
15784
15785
15786 elif LA95 == 34:
15787 LA95_248 = self.input.LA(3)
15788
15789 if (self.synpred187()) :
15790 alt95 = 1
15791
15792
15793 elif LA95 == 35:
15794 LA95_249 = self.input.LA(3)
15795
15796 if (self.synpred187()) :
15797 alt95 = 1
15798
15799
15800 elif LA95 == 36:
15801 LA95_250 = self.input.LA(3)
15802
15803 if (self.synpred187()) :
15804 alt95 = 1
15805
15806
15807 elif LA95 == 37:
15808 LA95_251 = self.input.LA(3)
15809
15810 if (self.synpred187()) :
15811 alt95 = 1
15812
15813
15814 elif LA95 == 38:
15815 LA95_252 = self.input.LA(3)
15816
15817 if (self.synpred187()) :
15818 alt95 = 1
15819
15820
15821 elif LA95 == 39:
15822 LA95_253 = self.input.LA(3)
15823
15824 if (self.synpred187()) :
15825 alt95 = 1
15826
15827
15828 elif LA95 == 40:
15829 LA95_254 = self.input.LA(3)
15830
15831 if (self.synpred187()) :
15832 alt95 = 1
15833
15834
15835 elif LA95 == 41:
15836 LA95_255 = self.input.LA(3)
15837
15838 if (self.synpred187()) :
15839 alt95 = 1
15840
15841
15842 elif LA95 == 42:
15843 LA95_256 = self.input.LA(3)
15844
15845 if (self.synpred187()) :
15846 alt95 = 1
15847
15848
15849 elif LA95 == 45 or LA95 == 46:
15850 LA95_257 = self.input.LA(3)
15851
15852 if (self.synpred187()) :
15853 alt95 = 1
15854
15855
15856 elif LA95 == 48:
15857 LA95_258 = self.input.LA(3)
15858
15859 if (self.synpred187()) :
15860 alt95 = 1
15861
15862
15863
15864 elif LA95 == 71:
15865 LA95 = self.input.LA(2)
15866 if LA95 == IDENTIFIER:
15867 LA95_259 = self.input.LA(3)
15868
15869 if (self.synpred187()) :
15870 alt95 = 1
15871
15872
15873 elif LA95 == HEX_LITERAL:
15874 LA95_260 = self.input.LA(3)
15875
15876 if (self.synpred187()) :
15877 alt95 = 1
15878
15879
15880 elif LA95 == OCTAL_LITERAL:
15881 LA95_261 = self.input.LA(3)
15882
15883 if (self.synpred187()) :
15884 alt95 = 1
15885
15886
15887 elif LA95 == DECIMAL_LITERAL:
15888 LA95_262 = self.input.LA(3)
15889
15890 if (self.synpred187()) :
15891 alt95 = 1
15892
15893
15894 elif LA95 == CHARACTER_LITERAL:
15895 LA95_263 = self.input.LA(3)
15896
15897 if (self.synpred187()) :
15898 alt95 = 1
15899
15900
15901 elif LA95 == STRING_LITERAL:
15902 LA95_264 = self.input.LA(3)
15903
15904 if (self.synpred187()) :
15905 alt95 = 1
15906
15907
15908 elif LA95 == FLOATING_POINT_LITERAL:
15909 LA95_265 = self.input.LA(3)
15910
15911 if (self.synpred187()) :
15912 alt95 = 1
15913
15914
15915 elif LA95 == 61:
15916 LA95_266 = self.input.LA(3)
15917
15918 if (self.synpred187()) :
15919 alt95 = 1
15920
15921
15922 elif LA95 == 71:
15923 LA95_267 = self.input.LA(3)
15924
15925 if (self.synpred187()) :
15926 alt95 = 1
15927
15928
15929 elif LA95 == 72:
15930 LA95_268 = self.input.LA(3)
15931
15932 if (self.synpred187()) :
15933 alt95 = 1
15934
15935
15936 elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
15937 LA95_269 = self.input.LA(3)
15938
15939 if (self.synpred187()) :
15940 alt95 = 1
15941
15942
15943 elif LA95 == 73:
15944 LA95_270 = self.input.LA(3)
15945
15946 if (self.synpred187()) :
15947 alt95 = 1
15948
15949
15950
15951 elif LA95 == 72:
15952 LA95 = self.input.LA(2)
15953 if LA95 == IDENTIFIER:
15954 LA95_271 = self.input.LA(3)
15955
15956 if (self.synpred187()) :
15957 alt95 = 1
15958
15959
15960 elif LA95 == HEX_LITERAL:
15961 LA95_272 = self.input.LA(3)
15962
15963 if (self.synpred187()) :
15964 alt95 = 1
15965
15966
15967 elif LA95 == OCTAL_LITERAL:
15968 LA95_273 = self.input.LA(3)
15969
15970 if (self.synpred187()) :
15971 alt95 = 1
15972
15973
15974 elif LA95 == DECIMAL_LITERAL:
15975 LA95_274 = self.input.LA(3)
15976
15977 if (self.synpred187()) :
15978 alt95 = 1
15979
15980
15981 elif LA95 == CHARACTER_LITERAL:
15982 LA95_275 = self.input.LA(3)
15983
15984 if (self.synpred187()) :
15985 alt95 = 1
15986
15987
15988 elif LA95 == STRING_LITERAL:
15989 LA95_276 = self.input.LA(3)
15990
15991 if (self.synpred187()) :
15992 alt95 = 1
15993
15994
15995 elif LA95 == FLOATING_POINT_LITERAL:
15996 LA95_277 = self.input.LA(3)
15997
15998 if (self.synpred187()) :
15999 alt95 = 1
16000
16001
16002 elif LA95 == 61:
16003 LA95_278 = self.input.LA(3)
16004
16005 if (self.synpred187()) :
16006 alt95 = 1
16007
16008
16009 elif LA95 == 71:
16010 LA95_279 = self.input.LA(3)
16011
16012 if (self.synpred187()) :
16013 alt95 = 1
16014
16015
16016 elif LA95 == 72:
16017 LA95_280 = self.input.LA(3)
16018
16019 if (self.synpred187()) :
16020 alt95 = 1
16021
16022
16023 elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
16024 LA95_281 = self.input.LA(3)
16025
16026 if (self.synpred187()) :
16027 alt95 = 1
16028
16029
16030 elif LA95 == 73:
16031 LA95_282 = self.input.LA(3)
16032
16033 if (self.synpred187()) :
16034 alt95 = 1
16035
16036
16037
16038 elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
16039 LA95 = self.input.LA(2)
16040 if LA95 == 61:
16041 LA95_283 = self.input.LA(3)
16042
16043 if (self.synpred187()) :
16044 alt95 = 1
16045
16046
16047 elif LA95 == IDENTIFIER:
16048 LA95_284 = self.input.LA(3)
16049
16050 if (self.synpred187()) :
16051 alt95 = 1
16052
16053
16054 elif LA95 == HEX_LITERAL:
16055 LA95_285 = self.input.LA(3)
16056
16057 if (self.synpred187()) :
16058 alt95 = 1
16059
16060
16061 elif LA95 == OCTAL_LITERAL:
16062 LA95_286 = self.input.LA(3)
16063
16064 if (self.synpred187()) :
16065 alt95 = 1
16066
16067
16068 elif LA95 == DECIMAL_LITERAL:
16069 LA95_287 = self.input.LA(3)
16070
16071 if (self.synpred187()) :
16072 alt95 = 1
16073
16074
16075 elif LA95 == CHARACTER_LITERAL:
16076 LA95_288 = self.input.LA(3)
16077
16078 if (self.synpred187()) :
16079 alt95 = 1
16080
16081
16082 elif LA95 == STRING_LITERAL:
16083 LA95_289 = self.input.LA(3)
16084
16085 if (self.synpred187()) :
16086 alt95 = 1
16087
16088
16089 elif LA95 == FLOATING_POINT_LITERAL:
16090 LA95_290 = self.input.LA(3)
16091
16092 if (self.synpred187()) :
16093 alt95 = 1
16094
16095
16096 elif LA95 == 71:
16097 LA95_291 = self.input.LA(3)
16098
16099 if (self.synpred187()) :
16100 alt95 = 1
16101
16102
16103 elif LA95 == 72:
16104 LA95_292 = self.input.LA(3)
16105
16106 if (self.synpred187()) :
16107 alt95 = 1
16108
16109
16110 elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
16111 LA95_293 = self.input.LA(3)
16112
16113 if (self.synpred187()) :
16114 alt95 = 1
16115
16116
16117 elif LA95 == 73:
16118 LA95_294 = self.input.LA(3)
16119
16120 if (self.synpred187()) :
16121 alt95 = 1
16122
16123
16124
16125 elif LA95 == 73:
16126 LA95 = self.input.LA(2)
16127 if LA95 == 61:
16128 LA95_295 = self.input.LA(3)
16129
16130 if (self.synpred187()) :
16131 alt95 = 1
16132
16133
16134 elif LA95 == IDENTIFIER:
16135 LA95_296 = self.input.LA(3)
16136
16137 if (self.synpred187()) :
16138 alt95 = 1
16139
16140
16141 elif LA95 == HEX_LITERAL:
16142 LA95_297 = self.input.LA(3)
16143
16144 if (self.synpred187()) :
16145 alt95 = 1
16146
16147
16148 elif LA95 == OCTAL_LITERAL:
16149 LA95_298 = self.input.LA(3)
16150
16151 if (self.synpred187()) :
16152 alt95 = 1
16153
16154
16155 elif LA95 == DECIMAL_LITERAL:
16156 LA95_299 = self.input.LA(3)
16157
16158 if (self.synpred187()) :
16159 alt95 = 1
16160
16161
16162 elif LA95 == CHARACTER_LITERAL:
16163 LA95_300 = self.input.LA(3)
16164
16165 if (self.synpred187()) :
16166 alt95 = 1
16167
16168
16169 elif LA95 == STRING_LITERAL:
16170 LA95_301 = self.input.LA(3)
16171
16172 if (self.synpred187()) :
16173 alt95 = 1
16174
16175
16176 elif LA95 == FLOATING_POINT_LITERAL:
16177 LA95_302 = self.input.LA(3)
16178
16179 if (self.synpred187()) :
16180 alt95 = 1
16181
16182
16183 elif LA95 == 71:
16184 LA95_303 = self.input.LA(3)
16185
16186 if (self.synpred187()) :
16187 alt95 = 1
16188
16189
16190 elif LA95 == 72:
16191 LA95_304 = self.input.LA(3)
16192
16193 if (self.synpred187()) :
16194 alt95 = 1
16195
16196
16197 elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78:
16198 LA95_305 = self.input.LA(3)
16199
16200 if (self.synpred187()) :
16201 alt95 = 1
16202
16203
16204 elif LA95 == 73:
16205 LA95_306 = self.input.LA(3)
16206
16207 if (self.synpred187()) :
16208 alt95 = 1
16209
16210
16211
16212 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 == 102 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 109 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116:
16213 alt95 = 1
16214
16215 if alt95 == 1:
16216 # C.g:0:0: statement
16217 self.following.append(self.FOLLOW_statement_in_statement_list2227)
16218 self.statement()
16219 self.following.pop()
16220 if self.failed:
16221 return
16222
16223
16224 else:
16225 if cnt95 >= 1:
16226 break #loop95
16227
16228 if self.backtracking > 0:
16229 self.failed = True
16230 return
16231
16232 eee = EarlyExitException(95, self.input)
16233 raise eee
16234
16235 cnt95 += 1
16236
16237
16238
16239
16240
16241
16242 except RecognitionException, re:
16243 self.reportError(re)
16244 self.recover(self.input, re)
16245 finally:
16246 if self.backtracking > 0:
16247 self.memoize(self.input, 67, statement_list_StartIndex)
16248
16249 pass
16250
16251 return
16252
16253 # $ANTLR end statement_list
16254
16255 class expression_statement_return(object):
16256 def __init__(self):
16257 self.start = None
16258 self.stop = None
16259
16260
16261
16262 # $ANTLR start expression_statement
16263 # C.g:508:1: expression_statement : ( ';' | expression ';' );
16264 def expression_statement(self, ):
16265
16266 retval = self.expression_statement_return()
16267 retval.start = self.input.LT(1)
16268 expression_statement_StartIndex = self.input.index()
16269 try:
16270 try:
16271 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
16272 return retval
16273
16274 # C.g:509:2: ( ';' | expression ';' )
16275 alt96 = 2
16276 LA96_0 = self.input.LA(1)
16277
16278 if (LA96_0 == 25) :
16279 alt96 = 1
16280 elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 61 or LA96_0 == 65 or (67 <= LA96_0 <= 68) or (71 <= LA96_0 <= 73) or (76 <= LA96_0 <= 78)) :
16281 alt96 = 2
16282 else:
16283 if self.backtracking > 0:
16284 self.failed = True
16285 return retval
16286
16287 nvae = NoViableAltException("508:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
16288
16289 raise nvae
16290
16291 if alt96 == 1:
16292 # C.g:509:4: ';'
16293 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2239)
16294 if self.failed:
16295 return retval
16296
16297
16298 elif alt96 == 2:
16299 # C.g:510:4: expression ';'
16300 self.following.append(self.FOLLOW_expression_in_expression_statement2244)
16301 self.expression()
16302 self.following.pop()
16303 if self.failed:
16304 return retval
16305 self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2246)
16306 if self.failed:
16307 return retval
16308
16309
16310 retval.stop = self.input.LT(-1)
16311
16312
16313 except RecognitionException, re:
16314 self.reportError(re)
16315 self.recover(self.input, re)
16316 finally:
16317 if self.backtracking > 0:
16318 self.memoize(self.input, 68, expression_statement_StartIndex)
16319
16320 pass
16321
16322 return retval
16323
16324 # $ANTLR end expression_statement
16325
16326
16327 # $ANTLR start selection_statement
16328 # C.g:513:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
16329 def selection_statement(self, ):
16330
16331 selection_statement_StartIndex = self.input.index()
16332 e = None
16333
16334
16335 try:
16336 try:
16337 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
16338 return
16339
16340 # C.g:514:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
16341 alt98 = 2
16342 LA98_0 = self.input.LA(1)
16343
16344 if (LA98_0 == 107) :
16345 alt98 = 1
16346 elif (LA98_0 == 109) :
16347 alt98 = 2
16348 else:
16349 if self.backtracking > 0:
16350 self.failed = True
16351 return
16352
16353 nvae = NoViableAltException("513:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input)
16354
16355 raise nvae
16356
16357 if alt98 == 1:
16358 # C.g:514:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
16359 self.match(self.input, 107, self.FOLLOW_107_in_selection_statement2257)
16360 if self.failed:
16361 return
16362 self.match(self.input, 61, self.FOLLOW_61_in_selection_statement2259)
16363 if self.failed:
16364 return
16365 self.following.append(self.FOLLOW_expression_in_selection_statement2263)
16366 e = self.expression()
16367 self.following.pop()
16368 if self.failed:
16369 return
16370 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2265)
16371 if self.failed:
16372 return
16373 if self.backtracking == 0:
16374 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16375
16376 self.following.append(self.FOLLOW_statement_in_selection_statement2269)
16377 self.statement()
16378 self.following.pop()
16379 if self.failed:
16380 return
16381 # C.g:514:167: ( options {k=1; backtrack=false; } : 'else' statement )?
16382 alt97 = 2
16383 LA97_0 = self.input.LA(1)
16384
16385 if (LA97_0 == 108) :
16386 alt97 = 1
16387 if alt97 == 1:
16388 # C.g:514:200: 'else' statement
16389 self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2284)
16390 if self.failed:
16391 return
16392 self.following.append(self.FOLLOW_statement_in_selection_statement2286)
16393 self.statement()
16394 self.following.pop()
16395 if self.failed:
16396 return
16397
16398
16399
16400
16401
16402 elif alt98 == 2:
16403 # C.g:515:4: 'switch' '(' expression ')' statement
16404 self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2293)
16405 if self.failed:
16406 return
16407 self.match(self.input, 61, self.FOLLOW_61_in_selection_statement2295)
16408 if self.failed:
16409 return
16410 self.following.append(self.FOLLOW_expression_in_selection_statement2297)
16411 self.expression()
16412 self.following.pop()
16413 if self.failed:
16414 return
16415 self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2299)
16416 if self.failed:
16417 return
16418 self.following.append(self.FOLLOW_statement_in_selection_statement2301)
16419 self.statement()
16420 self.following.pop()
16421 if self.failed:
16422 return
16423
16424
16425
16426 except RecognitionException, re:
16427 self.reportError(re)
16428 self.recover(self.input, re)
16429 finally:
16430 if self.backtracking > 0:
16431 self.memoize(self.input, 69, selection_statement_StartIndex)
16432
16433 pass
16434
16435 return
16436
16437 # $ANTLR end selection_statement
16438
16439
16440 # $ANTLR start iteration_statement
16441 # C.g:518:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
16442 def iteration_statement(self, ):
16443
16444 iteration_statement_StartIndex = self.input.index()
16445 e = None
16446
16447
16448 try:
16449 try:
16450 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
16451 return
16452
16453 # C.g:519:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
16454 alt100 = 3
16455 LA100 = self.input.LA(1)
16456 if LA100 == 110:
16457 alt100 = 1
16458 elif LA100 == 111:
16459 alt100 = 2
16460 elif LA100 == 112:
16461 alt100 = 3
16462 else:
16463 if self.backtracking > 0:
16464 self.failed = True
16465 return
16466
16467 nvae = NoViableAltException("518:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input)
16468
16469 raise nvae
16470
16471 if alt100 == 1:
16472 # C.g:519:4: 'while' '(' e= expression ')' statement
16473 self.match(self.input, 110, self.FOLLOW_110_in_iteration_statement2312)
16474 if self.failed:
16475 return
16476 self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2314)
16477 if self.failed:
16478 return
16479 self.following.append(self.FOLLOW_expression_in_iteration_statement2318)
16480 e = self.expression()
16481 self.following.pop()
16482 if self.failed:
16483 return
16484 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2320)
16485 if self.failed:
16486 return
16487 self.following.append(self.FOLLOW_statement_in_iteration_statement2322)
16488 self.statement()
16489 self.following.pop()
16490 if self.failed:
16491 return
16492 if self.backtracking == 0:
16493 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16494
16495
16496
16497 elif alt100 == 2:
16498 # C.g:520:4: 'do' statement 'while' '(' e= expression ')' ';'
16499 self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2329)
16500 if self.failed:
16501 return
16502 self.following.append(self.FOLLOW_statement_in_iteration_statement2331)
16503 self.statement()
16504 self.following.pop()
16505 if self.failed:
16506 return
16507 self.match(self.input, 110, self.FOLLOW_110_in_iteration_statement2333)
16508 if self.failed:
16509 return
16510 self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2335)
16511 if self.failed:
16512 return
16513 self.following.append(self.FOLLOW_expression_in_iteration_statement2339)
16514 e = self.expression()
16515 self.following.pop()
16516 if self.failed:
16517 return
16518 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2341)
16519 if self.failed:
16520 return
16521 self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2343)
16522 if self.failed:
16523 return
16524 if self.backtracking == 0:
16525 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16526
16527
16528
16529 elif alt100 == 3:
16530 # C.g:521:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
16531 self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2350)
16532 if self.failed:
16533 return
16534 self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2352)
16535 if self.failed:
16536 return
16537 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2354)
16538 self.expression_statement()
16539 self.following.pop()
16540 if self.failed:
16541 return
16542 self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2358)
16543 e = self.expression_statement()
16544 self.following.pop()
16545 if self.failed:
16546 return
16547 # C.g:521:58: ( expression )?
16548 alt99 = 2
16549 LA99_0 = self.input.LA(1)
16550
16551 if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 61 or LA99_0 == 65 or (67 <= LA99_0 <= 68) or (71 <= LA99_0 <= 73) or (76 <= LA99_0 <= 78)) :
16552 alt99 = 1
16553 if alt99 == 1:
16554 # C.g:0:0: expression
16555 self.following.append(self.FOLLOW_expression_in_iteration_statement2360)
16556 self.expression()
16557 self.following.pop()
16558 if self.failed:
16559 return
16560
16561
16562
16563 self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2363)
16564 if self.failed:
16565 return
16566 self.following.append(self.FOLLOW_statement_in_iteration_statement2365)
16567 self.statement()
16568 self.following.pop()
16569 if self.failed:
16570 return
16571 if self.backtracking == 0:
16572 self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
16573
16574
16575
16576
16577 except RecognitionException, re:
16578 self.reportError(re)
16579 self.recover(self.input, re)
16580 finally:
16581 if self.backtracking > 0:
16582 self.memoize(self.input, 70, iteration_statement_StartIndex)
16583
16584 pass
16585
16586 return
16587
16588 # $ANTLR end iteration_statement
16589
16590
16591 # $ANTLR start jump_statement
16592 # C.g:524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
16593 def jump_statement(self, ):
16594
16595 jump_statement_StartIndex = self.input.index()
16596 try:
16597 try:
16598 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
16599 return
16600
16601 # C.g:525:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
16602 alt101 = 5
16603 LA101 = self.input.LA(1)
16604 if LA101 == 113:
16605 alt101 = 1
16606 elif LA101 == 114:
16607 alt101 = 2
16608 elif LA101 == 115:
16609 alt101 = 3
16610 elif LA101 == 116:
16611 LA101_4 = self.input.LA(2)
16612
16613 if (LA101_4 == 25) :
16614 alt101 = 4
16615 elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 61 or LA101_4 == 65 or (67 <= LA101_4 <= 68) or (71 <= LA101_4 <= 73) or (76 <= LA101_4 <= 78)) :
16616 alt101 = 5
16617 else:
16618 if self.backtracking > 0:
16619 self.failed = True
16620 return
16621
16622 nvae = NoViableAltException("524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
16623
16624 raise nvae
16625
16626 else:
16627 if self.backtracking > 0:
16628 self.failed = True
16629 return
16630
16631 nvae = NoViableAltException("524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
16632
16633 raise nvae
16634
16635 if alt101 == 1:
16636 # C.g:525:4: 'goto' IDENTIFIER ';'
16637 self.match(self.input, 113, self.FOLLOW_113_in_jump_statement2378)
16638 if self.failed:
16639 return
16640 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2380)
16641 if self.failed:
16642 return
16643 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2382)
16644 if self.failed:
16645 return
16646
16647
16648 elif alt101 == 2:
16649 # C.g:526:4: 'continue' ';'
16650 self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2387)
16651 if self.failed:
16652 return
16653 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2389)
16654 if self.failed:
16655 return
16656
16657
16658 elif alt101 == 3:
16659 # C.g:527:4: 'break' ';'
16660 self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2394)
16661 if self.failed:
16662 return
16663 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2396)
16664 if self.failed:
16665 return
16666
16667
16668 elif alt101 == 4:
16669 # C.g:528:4: 'return' ';'
16670 self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2401)
16671 if self.failed:
16672 return
16673 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2403)
16674 if self.failed:
16675 return
16676
16677
16678 elif alt101 == 5:
16679 # C.g:529:4: 'return' expression ';'
16680 self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2408)
16681 if self.failed:
16682 return
16683 self.following.append(self.FOLLOW_expression_in_jump_statement2410)
16684 self.expression()
16685 self.following.pop()
16686 if self.failed:
16687 return
16688 self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2412)
16689 if self.failed:
16690 return
16691
16692
16693
16694 except RecognitionException, re:
16695 self.reportError(re)
16696 self.recover(self.input, re)
16697 finally:
16698 if self.backtracking > 0:
16699 self.memoize(self.input, 71, jump_statement_StartIndex)
16700
16701 pass
16702
16703 return
16704
16705 # $ANTLR end jump_statement
16706
16707 # $ANTLR start synpred2
16708 def synpred2_fragment(self, ):
16709 # C.g:67:6: ( declaration_specifiers )
16710 # C.g:67:6: declaration_specifiers
16711 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred290)
16712 self.declaration_specifiers()
16713 self.following.pop()
16714 if self.failed:
16715 return
16716
16717
16718 # $ANTLR end synpred2
16719
16720
16721
16722 # $ANTLR start synpred4
16723 def synpred4_fragment(self, ):
16724 # C.g:67:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
16725 # C.g:67:6: ( declaration_specifiers )? declarator ( declaration )* '{'
16726 # C.g:67:6: ( declaration_specifiers )?
16727 alt102 = 2
16728 LA102 = self.input.LA(1)
16729 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:
16730 alt102 = 1
16731 elif LA102 == IDENTIFIER:
16732 LA102 = self.input.LA(2)
16733 if LA102 == 65:
16734 alt102 = 1
16735 elif LA102 == 58:
16736 LA102_21 = self.input.LA(3)
16737
16738 if (self.synpred2()) :
16739 alt102 = 1
16740 elif LA102 == 59:
16741 LA102_22 = self.input.LA(3)
16742
16743 if (self.synpred2()) :
16744 alt102 = 1
16745 elif LA102 == 60:
16746 LA102_23 = self.input.LA(3)
16747
16748 if (self.synpred2()) :
16749 alt102 = 1
16750 elif LA102 == IDENTIFIER:
16751 LA102_24 = self.input.LA(3)
16752
16753 if (self.synpred2()) :
16754 alt102 = 1
16755 elif LA102 == 61:
16756 LA102_25 = self.input.LA(3)
16757
16758 if (self.synpred2()) :
16759 alt102 = 1
16760 elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33:
16761 LA102_26 = self.input.LA(3)
16762
16763 if (self.synpred2()) :
16764 alt102 = 1
16765 elif LA102 == 34:
16766 LA102_27 = self.input.LA(3)
16767
16768 if (self.synpred2()) :
16769 alt102 = 1
16770 elif LA102 == 35:
16771 LA102_28 = self.input.LA(3)
16772
16773 if (self.synpred2()) :
16774 alt102 = 1
16775 elif LA102 == 36:
16776 LA102_29 = self.input.LA(3)
16777
16778 if (self.synpred2()) :
16779 alt102 = 1
16780 elif LA102 == 37:
16781 LA102_30 = self.input.LA(3)
16782
16783 if (self.synpred2()) :
16784 alt102 = 1
16785 elif LA102 == 38:
16786 LA102_31 = self.input.LA(3)
16787
16788 if (self.synpred2()) :
16789 alt102 = 1
16790 elif LA102 == 39:
16791 LA102_32 = self.input.LA(3)
16792
16793 if (self.synpred2()) :
16794 alt102 = 1
16795 elif LA102 == 40:
16796 LA102_33 = self.input.LA(3)
16797
16798 if (self.synpred2()) :
16799 alt102 = 1
16800 elif LA102 == 41:
16801 LA102_34 = self.input.LA(3)
16802
16803 if (self.synpred2()) :
16804 alt102 = 1
16805 elif LA102 == 42:
16806 LA102_35 = self.input.LA(3)
16807
16808 if (self.synpred2()) :
16809 alt102 = 1
16810 elif LA102 == 45 or LA102 == 46:
16811 LA102_36 = self.input.LA(3)
16812
16813 if (self.synpred2()) :
16814 alt102 = 1
16815 elif LA102 == 48:
16816 LA102_37 = self.input.LA(3)
16817
16818 if (self.synpred2()) :
16819 alt102 = 1
16820 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:
16821 LA102_38 = self.input.LA(3)
16822
16823 if (self.synpred2()) :
16824 alt102 = 1
16825 elif LA102 == 58:
16826 LA102_14 = self.input.LA(2)
16827
16828 if (self.synpred2()) :
16829 alt102 = 1
16830 elif LA102 == 59:
16831 LA102_16 = self.input.LA(2)
16832
16833 if (self.synpred2()) :
16834 alt102 = 1
16835 elif LA102 == 60:
16836 LA102_17 = self.input.LA(2)
16837
16838 if (self.synpred2()) :
16839 alt102 = 1
16840 if alt102 == 1:
16841 # C.g:0:0: declaration_specifiers
16842 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred490)
16843 self.declaration_specifiers()
16844 self.following.pop()
16845 if self.failed:
16846 return
16847
16848
16849
16850 self.following.append(self.FOLLOW_declarator_in_synpred493)
16851 self.declarator()
16852 self.following.pop()
16853 if self.failed:
16854 return
16855 # C.g:67:41: ( declaration )*
16856 while True: #loop103
16857 alt103 = 2
16858 LA103_0 = self.input.LA(1)
16859
16860 if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 60)) :
16861 alt103 = 1
16862
16863
16864 if alt103 == 1:
16865 # C.g:0:0: declaration
16866 self.following.append(self.FOLLOW_declaration_in_synpred495)
16867 self.declaration()
16868 self.following.pop()
16869 if self.failed:
16870 return
16871
16872
16873 else:
16874 break #loop103
16875
16876
16877 self.match(self.input, 43, self.FOLLOW_43_in_synpred498)
16878 if self.failed:
16879 return
16880
16881
16882 # $ANTLR end synpred4
16883
16884
16885
16886 # $ANTLR start synpred5
16887 def synpred5_fragment(self, ):
16888 # C.g:68:4: ( declaration )
16889 # C.g:68:4: declaration
16890 self.following.append(self.FOLLOW_declaration_in_synpred5108)
16891 self.declaration()
16892 self.following.pop()
16893 if self.failed:
16894 return
16895
16896
16897 # $ANTLR end synpred5
16898
16899
16900
16901 # $ANTLR start synpred7
16902 def synpred7_fragment(self, ):
16903 # C.g:94:6: ( declaration_specifiers )
16904 # C.g:94:6: declaration_specifiers
16905 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7147)
16906 self.declaration_specifiers()
16907 self.following.pop()
16908 if self.failed:
16909 return
16910
16911
16912 # $ANTLR end synpred7
16913
16914
16915
16916 # $ANTLR start synpred10
16917 def synpred10_fragment(self, ):
16918 # C.g:115:18: ( declaration_specifiers )
16919 # C.g:115:18: declaration_specifiers
16920 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10197)
16921 self.declaration_specifiers()
16922 self.following.pop()
16923 if self.failed:
16924 return
16925
16926
16927 # $ANTLR end synpred10
16928
16929
16930
16931 # $ANTLR start synpred14
16932 def synpred14_fragment(self, ):
16933 # C.g:132:7: ( type_specifier )
16934 # C.g:132:7: type_specifier
16935 self.following.append(self.FOLLOW_type_specifier_in_synpred14262)
16936 self.type_specifier()
16937 self.following.pop()
16938 if self.failed:
16939 return
16940
16941
16942 # $ANTLR end synpred14
16943
16944
16945
16946 # $ANTLR start synpred15
16947 def synpred15_fragment(self, ):
16948 # C.g:133:13: ( type_qualifier )
16949 # C.g:133:13: type_qualifier
16950 self.following.append(self.FOLLOW_type_qualifier_in_synpred15276)
16951 self.type_qualifier()
16952 self.following.pop()
16953 if self.failed:
16954 return
16955
16956
16957 # $ANTLR end synpred15
16958
16959
16960
16961 # $ANTLR start synpred33
16962 def synpred33_fragment(self, ):
16963 # C.g:173:16: ( type_qualifier )
16964 # C.g:173:16: type_qualifier
16965 self.following.append(self.FOLLOW_type_qualifier_in_synpred33434)
16966 self.type_qualifier()
16967 self.following.pop()
16968 if self.failed:
16969 return
16970
16971
16972 # $ANTLR end synpred33
16973
16974
16975
16976 # $ANTLR start synpred34
16977 def synpred34_fragment(self, ):
16978 # C.g:173:4: ( IDENTIFIER ( type_qualifier )* declarator )
16979 # C.g:173:5: IDENTIFIER ( type_qualifier )* declarator
16980 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34432)
16981 if self.failed:
16982 return
16983 # C.g:173:16: ( type_qualifier )*
16984 while True: #loop106
16985 alt106 = 2
16986 LA106 = self.input.LA(1)
16987 if LA106 == 58:
16988 LA106_2 = self.input.LA(2)
16989
16990 if (self.synpred33()) :
16991 alt106 = 1
16992
16993
16994 elif LA106 == 59:
16995 LA106_3 = self.input.LA(2)
16996
16997 if (self.synpred33()) :
16998 alt106 = 1
16999
17000
17001 elif LA106 == 60:
17002 LA106_4 = self.input.LA(2)
17003
17004 if (self.synpred33()) :
17005 alt106 = 1
17006
17007
17008 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:
17009 alt106 = 1
17010
17011 if alt106 == 1:
17012 # C.g:0:0: type_qualifier
17013 self.following.append(self.FOLLOW_type_qualifier_in_synpred34434)
17014 self.type_qualifier()
17015 self.following.pop()
17016 if self.failed:
17017 return
17018
17019
17020 else:
17021 break #loop106
17022
17023
17024 self.following.append(self.FOLLOW_declarator_in_synpred34437)
17025 self.declarator()
17026 self.following.pop()
17027 if self.failed:
17028 return
17029
17030
17031 # $ANTLR end synpred34
17032
17033
17034
17035 # $ANTLR start synpred39
17036 def synpred39_fragment(self, ):
17037 # C.g:201:6: ( type_qualifier )
17038 # C.g:201:6: type_qualifier
17039 self.following.append(self.FOLLOW_type_qualifier_in_synpred39556)
17040 self.type_qualifier()
17041 self.following.pop()
17042 if self.failed:
17043 return
17044
17045
17046 # $ANTLR end synpred39
17047
17048
17049
17050 # $ANTLR start synpred40
17051 def synpred40_fragment(self, ):
17052 # C.g:201:23: ( type_specifier )
17053 # C.g:201:23: type_specifier
17054 self.following.append(self.FOLLOW_type_specifier_in_synpred40560)
17055 self.type_specifier()
17056 self.following.pop()
17057 if self.failed:
17058 return
17059
17060
17061 # $ANTLR end synpred40
17062
17063
17064
17065 # $ANTLR start synpred65
17066 def synpred65_fragment(self, ):
17067 # C.g:244:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
17068 # C.g:244:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
17069 # C.g:244:4: ( pointer )?
17070 alt111 = 2
17071 LA111_0 = self.input.LA(1)
17072
17073 if (LA111_0 == 65) :
17074 alt111 = 1
17075 if alt111 == 1:
17076 # C.g:0:0: pointer
17077 self.following.append(self.FOLLOW_pointer_in_synpred65769)
17078 self.pointer()
17079 self.following.pop()
17080 if self.failed:
17081 return
17082
17083
17084
17085 # C.g:244:13: ( 'EFIAPI' )?
17086 alt112 = 2
17087 LA112_0 = self.input.LA(1)
17088
17089 if (LA112_0 == 58) :
17090 alt112 = 1
17091 if alt112 == 1:
17092 # C.g:244:14: 'EFIAPI'
17093 self.match(self.input, 58, self.FOLLOW_58_in_synpred65773)
17094 if self.failed:
17095 return
17096
17097
17098
17099 # C.g:244:25: ( 'EFI_BOOTSERVICE' )?
17100 alt113 = 2
17101 LA113_0 = self.input.LA(1)
17102
17103 if (LA113_0 == 59) :
17104 alt113 = 1
17105 if alt113 == 1:
17106 # C.g:244:26: 'EFI_BOOTSERVICE'
17107 self.match(self.input, 59, self.FOLLOW_59_in_synpred65778)
17108 if self.failed:
17109 return
17110
17111
17112
17113 # C.g:244:46: ( 'EFI_RUNTIMESERVICE' )?
17114 alt114 = 2
17115 LA114_0 = self.input.LA(1)
17116
17117 if (LA114_0 == 60) :
17118 alt114 = 1
17119 if alt114 == 1:
17120 # C.g:244:47: 'EFI_RUNTIMESERVICE'
17121 self.match(self.input, 60, self.FOLLOW_60_in_synpred65783)
17122 if self.failed:
17123 return
17124
17125
17126
17127 self.following.append(self.FOLLOW_direct_declarator_in_synpred65787)
17128 self.direct_declarator()
17129 self.following.pop()
17130 if self.failed:
17131 return
17132
17133
17134 # $ANTLR end synpred65
17135
17136
17137
17138 # $ANTLR start synpred66
17139 def synpred66_fragment(self, ):
17140 # C.g:250:15: ( declarator_suffix )
17141 # C.g:250:15: declarator_suffix
17142 self.following.append(self.FOLLOW_declarator_suffix_in_synpred66806)
17143 self.declarator_suffix()
17144 self.following.pop()
17145 if self.failed:
17146 return
17147
17148
17149 # $ANTLR end synpred66
17150
17151
17152
17153 # $ANTLR start synpred68
17154 def synpred68_fragment(self, ):
17155 # C.g:251:9: ( 'EFIAPI' )
17156 # C.g:251:9: 'EFIAPI'
17157 self.match(self.input, 58, self.FOLLOW_58_in_synpred68815)
17158 if self.failed:
17159 return
17160
17161
17162 # $ANTLR end synpred68
17163
17164
17165
17166 # $ANTLR start synpred69
17167 def synpred69_fragment(self, ):
17168 # C.g:251:35: ( declarator_suffix )
17169 # C.g:251:35: declarator_suffix
17170 self.following.append(self.FOLLOW_declarator_suffix_in_synpred69823)
17171 self.declarator_suffix()
17172 self.following.pop()
17173 if self.failed:
17174 return
17175
17176
17177 # $ANTLR end synpred69
17178
17179
17180
17181 # $ANTLR start synpred72
17182 def synpred72_fragment(self, ):
17183 # C.g:257:9: ( '(' parameter_type_list ')' )
17184 # C.g:257:9: '(' parameter_type_list ')'
17185 self.match(self.input, 61, self.FOLLOW_61_in_synpred72863)
17186 if self.failed:
17187 return
17188 self.following.append(self.FOLLOW_parameter_type_list_in_synpred72865)
17189 self.parameter_type_list()
17190 self.following.pop()
17191 if self.failed:
17192 return
17193 self.match(self.input, 62, self.FOLLOW_62_in_synpred72867)
17194 if self.failed:
17195 return
17196
17197
17198 # $ANTLR end synpred72
17199
17200
17201
17202 # $ANTLR start synpred73
17203 def synpred73_fragment(self, ):
17204 # C.g:258:9: ( '(' identifier_list ')' )
17205 # C.g:258:9: '(' identifier_list ')'
17206 self.match(self.input, 61, self.FOLLOW_61_in_synpred73877)
17207 if self.failed:
17208 return
17209 self.following.append(self.FOLLOW_identifier_list_in_synpred73879)
17210 self.identifier_list()
17211 self.following.pop()
17212 if self.failed:
17213 return
17214 self.match(self.input, 62, self.FOLLOW_62_in_synpred73881)
17215 if self.failed:
17216 return
17217
17218
17219 # $ANTLR end synpred73
17220
17221
17222
17223 # $ANTLR start synpred74
17224 def synpred74_fragment(self, ):
17225 # C.g:263:8: ( type_qualifier )
17226 # C.g:263:8: type_qualifier
17227 self.following.append(self.FOLLOW_type_qualifier_in_synpred74906)
17228 self.type_qualifier()
17229 self.following.pop()
17230 if self.failed:
17231 return
17232
17233
17234 # $ANTLR end synpred74
17235
17236
17237
17238 # $ANTLR start synpred75
17239 def synpred75_fragment(self, ):
17240 # C.g:263:24: ( pointer )
17241 # C.g:263:24: pointer
17242 self.following.append(self.FOLLOW_pointer_in_synpred75909)
17243 self.pointer()
17244 self.following.pop()
17245 if self.failed:
17246 return
17247
17248
17249 # $ANTLR end synpred75
17250
17251
17252
17253 # $ANTLR start synpred76
17254 def synpred76_fragment(self, ):
17255 # C.g:263:4: ( '*' ( type_qualifier )+ ( pointer )? )
17256 # C.g:263:4: '*' ( type_qualifier )+ ( pointer )?
17257 self.match(self.input, 65, self.FOLLOW_65_in_synpred76904)
17258 if self.failed:
17259 return
17260 # C.g:263:8: ( type_qualifier )+
17261 cnt116 = 0
17262 while True: #loop116
17263 alt116 = 2
17264 LA116_0 = self.input.LA(1)
17265
17266 if ((49 <= LA116_0 <= 60)) :
17267 alt116 = 1
17268
17269
17270 if alt116 == 1:
17271 # C.g:0:0: type_qualifier
17272 self.following.append(self.FOLLOW_type_qualifier_in_synpred76906)
17273 self.type_qualifier()
17274 self.following.pop()
17275 if self.failed:
17276 return
17277
17278
17279 else:
17280 if cnt116 >= 1:
17281 break #loop116
17282
17283 if self.backtracking > 0:
17284 self.failed = True
17285 return
17286
17287 eee = EarlyExitException(116, self.input)
17288 raise eee
17289
17290 cnt116 += 1
17291
17292
17293 # C.g:263:24: ( pointer )?
17294 alt117 = 2
17295 LA117_0 = self.input.LA(1)
17296
17297 if (LA117_0 == 65) :
17298 alt117 = 1
17299 if alt117 == 1:
17300 # C.g:0:0: pointer
17301 self.following.append(self.FOLLOW_pointer_in_synpred76909)
17302 self.pointer()
17303 self.following.pop()
17304 if self.failed:
17305 return
17306
17307
17308
17309
17310
17311 # $ANTLR end synpred76
17312
17313
17314
17315 # $ANTLR start synpred77
17316 def synpred77_fragment(self, ):
17317 # C.g:264:4: ( '*' pointer )
17318 # C.g:264:4: '*' pointer
17319 self.match(self.input, 65, self.FOLLOW_65_in_synpred77915)
17320 if self.failed:
17321 return
17322 self.following.append(self.FOLLOW_pointer_in_synpred77917)
17323 self.pointer()
17324 self.following.pop()
17325 if self.failed:
17326 return
17327
17328
17329 # $ANTLR end synpred77
17330
17331
17332
17333 # $ANTLR start synpred80
17334 def synpred80_fragment(self, ):
17335 # C.g:273:32: ( 'OPTIONAL' )
17336 # C.g:273:32: 'OPTIONAL'
17337 self.match(self.input, 53, self.FOLLOW_53_in_synpred80962)
17338 if self.failed:
17339 return
17340
17341
17342 # $ANTLR end synpred80
17343
17344
17345
17346 # $ANTLR start synpred81
17347 def synpred81_fragment(self, ):
17348 # C.g:273:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
17349 # C.g:273:27: ',' ( 'OPTIONAL' )? parameter_declaration
17350 self.match(self.input, 27, self.FOLLOW_27_in_synpred81959)
17351 if self.failed:
17352 return
17353 # C.g:273:31: ( 'OPTIONAL' )?
17354 alt119 = 2
17355 LA119_0 = self.input.LA(1)
17356
17357 if (LA119_0 == 53) :
17358 LA119_1 = self.input.LA(2)
17359
17360 if (self.synpred80()) :
17361 alt119 = 1
17362 if alt119 == 1:
17363 # C.g:273:32: 'OPTIONAL'
17364 self.match(self.input, 53, self.FOLLOW_53_in_synpred81962)
17365 if self.failed:
17366 return
17367
17368
17369
17370 self.following.append(self.FOLLOW_parameter_declaration_in_synpred81966)
17371 self.parameter_declaration()
17372 self.following.pop()
17373 if self.failed:
17374 return
17375
17376
17377 # $ANTLR end synpred81
17378
17379
17380
17381 # $ANTLR start synpred82
17382 def synpred82_fragment(self, ):
17383 # C.g:277:28: ( declarator )
17384 # C.g:277:28: declarator
17385 self.following.append(self.FOLLOW_declarator_in_synpred82982)
17386 self.declarator()
17387 self.following.pop()
17388 if self.failed:
17389 return
17390
17391
17392 # $ANTLR end synpred82
17393
17394
17395
17396 # $ANTLR start synpred83
17397 def synpred83_fragment(self, ):
17398 # C.g:277:39: ( abstract_declarator )
17399 # C.g:277:39: abstract_declarator
17400 self.following.append(self.FOLLOW_abstract_declarator_in_synpred83984)
17401 self.abstract_declarator()
17402 self.following.pop()
17403 if self.failed:
17404 return
17405
17406
17407 # $ANTLR end synpred83
17408
17409
17410
17411 # $ANTLR start synpred85
17412 def synpred85_fragment(self, ):
17413 # C.g:277:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
17414 # C.g:277:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
17415 self.following.append(self.FOLLOW_declaration_specifiers_in_synpred85979)
17416 self.declaration_specifiers()
17417 self.following.pop()
17418 if self.failed:
17419 return
17420 # C.g:277:27: ( declarator | abstract_declarator )*
17421 while True: #loop120
17422 alt120 = 3
17423 LA120 = self.input.LA(1)
17424 if LA120 == 65:
17425 LA120_3 = self.input.LA(2)
17426
17427 if (self.synpred82()) :
17428 alt120 = 1
17429 elif (self.synpred83()) :
17430 alt120 = 2
17431
17432
17433 elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
17434 alt120 = 1
17435 elif LA120 == 61:
17436 LA120 = self.input.LA(2)
17437 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 == 62 or LA120 == 63:
17438 alt120 = 2
17439 elif LA120 == 58:
17440 LA120_21 = self.input.LA(3)
17441
17442 if (self.synpred82()) :
17443 alt120 = 1
17444 elif (self.synpred83()) :
17445 alt120 = 2
17446
17447
17448 elif LA120 == 65:
17449 LA120_22 = self.input.LA(3)
17450
17451 if (self.synpred82()) :
17452 alt120 = 1
17453 elif (self.synpred83()) :
17454 alt120 = 2
17455
17456
17457 elif LA120 == 59:
17458 LA120_23 = self.input.LA(3)
17459
17460 if (self.synpred82()) :
17461 alt120 = 1
17462 elif (self.synpred83()) :
17463 alt120 = 2
17464
17465
17466 elif LA120 == 60:
17467 LA120_24 = self.input.LA(3)
17468
17469 if (self.synpred82()) :
17470 alt120 = 1
17471 elif (self.synpred83()) :
17472 alt120 = 2
17473
17474
17475 elif LA120 == IDENTIFIER:
17476 LA120_25 = self.input.LA(3)
17477
17478 if (self.synpred82()) :
17479 alt120 = 1
17480 elif (self.synpred83()) :
17481 alt120 = 2
17482
17483
17484 elif LA120 == 61:
17485 LA120_26 = self.input.LA(3)
17486
17487 if (self.synpred82()) :
17488 alt120 = 1
17489 elif (self.synpred83()) :
17490 alt120 = 2
17491
17492
17493
17494 elif LA120 == 63:
17495 alt120 = 2
17496
17497 if alt120 == 1:
17498 # C.g:277:28: declarator
17499 self.following.append(self.FOLLOW_declarator_in_synpred85982)
17500 self.declarator()
17501 self.following.pop()
17502 if self.failed:
17503 return
17504
17505
17506 elif alt120 == 2:
17507 # C.g:277:39: abstract_declarator
17508 self.following.append(self.FOLLOW_abstract_declarator_in_synpred85984)
17509 self.abstract_declarator()
17510 self.following.pop()
17511 if self.failed:
17512 return
17513
17514
17515 else:
17516 break #loop120
17517
17518
17519 # C.g:277:61: ( 'OPTIONAL' )?
17520 alt121 = 2
17521 LA121_0 = self.input.LA(1)
17522
17523 if (LA121_0 == 53) :
17524 alt121 = 1
17525 if alt121 == 1:
17526 # C.g:277:62: 'OPTIONAL'
17527 self.match(self.input, 53, self.FOLLOW_53_in_synpred85989)
17528 if self.failed:
17529 return
17530
17531
17532
17533
17534
17535 # $ANTLR end synpred85
17536
17537
17538
17539 # $ANTLR start synpred89
17540 def synpred89_fragment(self, ):
17541 # C.g:288:4: ( specifier_qualifier_list ( abstract_declarator )? )
17542 # C.g:288:4: specifier_qualifier_list ( abstract_declarator )?
17543 self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred891031)
17544 self.specifier_qualifier_list()
17545 self.following.pop()
17546 if self.failed:
17547 return
17548 # C.g:288:29: ( abstract_declarator )?
17549 alt122 = 2
17550 LA122_0 = self.input.LA(1)
17551
17552 if (LA122_0 == 61 or LA122_0 == 63 or LA122_0 == 65) :
17553 alt122 = 1
17554 if alt122 == 1:
17555 # C.g:0:0: abstract_declarator
17556 self.following.append(self.FOLLOW_abstract_declarator_in_synpred891033)
17557 self.abstract_declarator()
17558 self.following.pop()
17559 if self.failed:
17560 return
17561
17562
17563
17564
17565
17566 # $ANTLR end synpred89
17567
17568
17569
17570 # $ANTLR start synpred90
17571 def synpred90_fragment(self, ):
17572 # C.g:293:12: ( direct_abstract_declarator )
17573 # C.g:293:12: direct_abstract_declarator
17574 self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred901052)
17575 self.direct_abstract_declarator()
17576 self.following.pop()
17577 if self.failed:
17578 return
17579
17580
17581 # $ANTLR end synpred90
17582
17583
17584
17585 # $ANTLR start synpred92
17586 def synpred92_fragment(self, ):
17587 # C.g:298:6: ( '(' abstract_declarator ')' )
17588 # C.g:298:6: '(' abstract_declarator ')'
17589 self.match(self.input, 61, self.FOLLOW_61_in_synpred921071)
17590 if self.failed:
17591 return
17592 self.following.append(self.FOLLOW_abstract_declarator_in_synpred921073)
17593 self.abstract_declarator()
17594 self.following.pop()
17595 if self.failed:
17596 return
17597 self.match(self.input, 62, self.FOLLOW_62_in_synpred921075)
17598 if self.failed:
17599 return
17600
17601
17602 # $ANTLR end synpred92
17603
17604
17605
17606 # $ANTLR start synpred93
17607 def synpred93_fragment(self, ):
17608 # C.g:298:65: ( abstract_declarator_suffix )
17609 # C.g:298:65: abstract_declarator_suffix
17610 self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred931083)
17611 self.abstract_declarator_suffix()
17612 self.following.pop()
17613 if self.failed:
17614 return
17615
17616
17617 # $ANTLR end synpred93
17618
17619
17620
17621 # $ANTLR start synpred108
17622 def synpred108_fragment(self, ):
17623 # C.g:333:4: ( '(' type_name ')' cast_expression )
17624 # C.g:333:4: '(' type_name ')' cast_expression
17625 self.match(self.input, 61, self.FOLLOW_61_in_synpred1081267)
17626 if self.failed:
17627 return
17628 self.following.append(self.FOLLOW_type_name_in_synpred1081269)
17629 self.type_name()
17630 self.following.pop()
17631 if self.failed:
17632 return
17633 self.match(self.input, 62, self.FOLLOW_62_in_synpred1081271)
17634 if self.failed:
17635 return
17636 self.following.append(self.FOLLOW_cast_expression_in_synpred1081273)
17637 self.cast_expression()
17638 self.following.pop()
17639 if self.failed:
17640 return
17641
17642
17643 # $ANTLR end synpred108
17644
17645
17646
17647 # $ANTLR start synpred113
17648 def synpred113_fragment(self, ):
17649 # C.g:342:4: ( 'sizeof' unary_expression )
17650 # C.g:342:4: 'sizeof' unary_expression
17651 self.match(self.input, 73, self.FOLLOW_73_in_synpred1131315)
17652 if self.failed:
17653 return
17654 self.following.append(self.FOLLOW_unary_expression_in_synpred1131317)
17655 self.unary_expression()
17656 self.following.pop()
17657 if self.failed:
17658 return
17659
17660
17661 # $ANTLR end synpred113
17662
17663
17664
17665 # $ANTLR start synpred116
17666 def synpred116_fragment(self, ):
17667 # C.g:356:13: ( '(' argument_expression_list ')' )
17668 # C.g:356:13: '(' argument_expression_list ')'
17669 self.match(self.input, 61, self.FOLLOW_61_in_synpred1161405)
17670 if self.failed:
17671 return
17672 self.following.append(self.FOLLOW_argument_expression_list_in_synpred1161409)
17673 self.argument_expression_list()
17674 self.following.pop()
17675 if self.failed:
17676 return
17677 self.match(self.input, 62, self.FOLLOW_62_in_synpred1161413)
17678 if self.failed:
17679 return
17680
17681
17682 # $ANTLR end synpred116
17683
17684
17685
17686 # $ANTLR start synpred117
17687 def synpred117_fragment(self, ):
17688 # C.g:357:13: ( '(' macro_parameter_list ')' )
17689 # C.g:357:13: '(' macro_parameter_list ')'
17690 self.match(self.input, 61, self.FOLLOW_61_in_synpred1171429)
17691 if self.failed:
17692 return
17693 self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1171431)
17694 self.macro_parameter_list()
17695 self.following.pop()
17696 if self.failed:
17697 return
17698 self.match(self.input, 62, self.FOLLOW_62_in_synpred1171433)
17699 if self.failed:
17700 return
17701
17702
17703 # $ANTLR end synpred117
17704
17705
17706
17707 # $ANTLR start synpred119
17708 def synpred119_fragment(self, ):
17709 # C.g:359:13: ( '*' IDENTIFIER )
17710 # C.g:359:13: '*' IDENTIFIER
17711 self.match(self.input, 65, self.FOLLOW_65_in_synpred1191467)
17712 if self.failed:
17713 return
17714 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1191471)
17715 if self.failed:
17716 return
17717
17718
17719 # $ANTLR end synpred119
17720
17721
17722
17723 # $ANTLR start synpred136
17724 def synpred136_fragment(self, ):
17725 # C.g:390:20: ( STRING_LITERAL )
17726 # C.g:390:20: STRING_LITERAL
17727 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1361668)
17728 if self.failed:
17729 return
17730
17731
17732 # $ANTLR end synpred136
17733
17734
17735
17736 # $ANTLR start synpred137
17737 def synpred137_fragment(self, ):
17738 # C.g:390:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
17739 # C.g:390:8: ( IDENTIFIER )* ( STRING_LITERAL )+
17740 # C.g:390:8: ( IDENTIFIER )*
17741 while True: #loop125
17742 alt125 = 2
17743 LA125_0 = self.input.LA(1)
17744
17745 if (LA125_0 == IDENTIFIER) :
17746 alt125 = 1
17747
17748
17749 if alt125 == 1:
17750 # C.g:0:0: IDENTIFIER
17751 self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1371665)
17752 if self.failed:
17753 return
17754
17755
17756 else:
17757 break #loop125
17758
17759
17760 # C.g:390:20: ( STRING_LITERAL )+
17761 cnt126 = 0
17762 while True: #loop126
17763 alt126 = 2
17764 LA126_0 = self.input.LA(1)
17765
17766 if (LA126_0 == STRING_LITERAL) :
17767 alt126 = 1
17768
17769
17770 if alt126 == 1:
17771 # C.g:0:0: STRING_LITERAL
17772 self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371668)
17773 if self.failed:
17774 return
17775
17776
17777 else:
17778 if cnt126 >= 1:
17779 break #loop126
17780
17781 if self.backtracking > 0:
17782 self.failed = True
17783 return
17784
17785 eee = EarlyExitException(126, self.input)
17786 raise eee
17787
17788 cnt126 += 1
17789
17790
17791
17792
17793 # $ANTLR end synpred137
17794
17795
17796
17797 # $ANTLR start synpred141
17798 def synpred141_fragment(self, ):
17799 # C.g:405:4: ( lvalue assignment_operator assignment_expression )
17800 # C.g:405:4: lvalue assignment_operator assignment_expression
17801 self.following.append(self.FOLLOW_lvalue_in_synpred1411729)
17802 self.lvalue()
17803 self.following.pop()
17804 if self.failed:
17805 return
17806 self.following.append(self.FOLLOW_assignment_operator_in_synpred1411731)
17807 self.assignment_operator()
17808 self.following.pop()
17809 if self.failed:
17810 return
17811 self.following.append(self.FOLLOW_assignment_expression_in_synpred1411733)
17812 self.assignment_expression()
17813 self.following.pop()
17814 if self.failed:
17815 return
17816
17817
17818 # $ANTLR end synpred141
17819
17820
17821
17822 # $ANTLR start synpred168
17823 def synpred168_fragment(self, ):
17824 # C.g:467:4: ( expression_statement )
17825 # C.g:467:4: expression_statement
17826 self.following.append(self.FOLLOW_expression_statement_in_synpred1682020)
17827 self.expression_statement()
17828 self.following.pop()
17829 if self.failed:
17830 return
17831
17832
17833 # $ANTLR end synpred168
17834
17835
17836
17837 # $ANTLR start synpred172
17838 def synpred172_fragment(self, ):
17839 # C.g:471:4: ( macro_statement )
17840 # C.g:471:4: macro_statement
17841 self.following.append(self.FOLLOW_macro_statement_in_synpred1722040)
17842 self.macro_statement()
17843 self.following.pop()
17844 if self.failed:
17845 return
17846
17847
17848 # $ANTLR end synpred172
17849
17850
17851
17852 # $ANTLR start synpred173
17853 def synpred173_fragment(self, ):
17854 # C.g:472:4: ( asm2_statement )
17855 # C.g:472:4: asm2_statement
17856 self.following.append(self.FOLLOW_asm2_statement_in_synpred1732045)
17857 self.asm2_statement()
17858 self.following.pop()
17859 if self.failed:
17860 return
17861
17862
17863 # $ANTLR end synpred173
17864
17865
17866
17867 # $ANTLR start synpred180
17868 def synpred180_fragment(self, ):
17869 # C.g:491:19: ( declaration )
17870 # C.g:491:19: declaration
17871 self.following.append(self.FOLLOW_declaration_in_synpred1802151)
17872 self.declaration()
17873 self.following.pop()
17874 if self.failed:
17875 return
17876
17877
17878 # $ANTLR end synpred180
17879
17880
17881
17882 # $ANTLR start synpred181
17883 def synpred181_fragment(self, ):
17884 # C.g:491:33: ( statement_list )
17885 # C.g:491:33: statement_list
17886 self.following.append(self.FOLLOW_statement_list_in_synpred1812155)
17887 self.statement_list()
17888 self.following.pop()
17889 if self.failed:
17890 return
17891
17892
17893 # $ANTLR end synpred181
17894
17895
17896
17897 # $ANTLR start synpred185
17898 def synpred185_fragment(self, ):
17899 # C.g:501:8: ( declaration )
17900 # C.g:501:8: declaration
17901 self.following.append(self.FOLLOW_declaration_in_synpred1852210)
17902 self.declaration()
17903 self.following.pop()
17904 if self.failed:
17905 return
17906
17907
17908 # $ANTLR end synpred185
17909
17910
17911
17912 # $ANTLR start synpred187
17913 def synpred187_fragment(self, ):
17914 # C.g:505:4: ( statement )
17915 # C.g:505:4: statement
17916 self.following.append(self.FOLLOW_statement_in_synpred1872227)
17917 self.statement()
17918 self.following.pop()
17919 if self.failed:
17920 return
17921
17922
17923 # $ANTLR end synpred187
17924
17925
17926
17927 def synpred185(self):
17928 self.backtracking += 1
17929 start = self.input.mark()
17930 self.synpred185_fragment()
17931 success = not self.failed
17932 self.input.rewind(start)
17933 self.backtracking -= 1
17934 self.failed = False
17935 return success
17936
17937 def synpred7(self):
17938 self.backtracking += 1
17939 start = self.input.mark()
17940 self.synpred7_fragment()
17941 success = not self.failed
17942 self.input.rewind(start)
17943 self.backtracking -= 1
17944 self.failed = False
17945 return success
17946
17947 def synpred14(self):
17948 self.backtracking += 1
17949 start = self.input.mark()
17950 self.synpred14_fragment()
17951 success = not self.failed
17952 self.input.rewind(start)
17953 self.backtracking -= 1
17954 self.failed = False
17955 return success
17956
17957 def synpred65(self):
17958 self.backtracking += 1
17959 start = self.input.mark()
17960 self.synpred65_fragment()
17961 success = not self.failed
17962 self.input.rewind(start)
17963 self.backtracking -= 1
17964 self.failed = False
17965 return success
17966
17967 def synpred15(self):
17968 self.backtracking += 1
17969 start = self.input.mark()
17970 self.synpred15_fragment()
17971 success = not self.failed
17972 self.input.rewind(start)
17973 self.backtracking -= 1
17974 self.failed = False
17975 return success
17976
17977 def synpred117(self):
17978 self.backtracking += 1
17979 start = self.input.mark()
17980 self.synpred117_fragment()
17981 success = not self.failed
17982 self.input.rewind(start)
17983 self.backtracking -= 1
17984 self.failed = False
17985 return success
17986
17987 def synpred173(self):
17988 self.backtracking += 1
17989 start = self.input.mark()
17990 self.synpred173_fragment()
17991 success = not self.failed
17992 self.input.rewind(start)
17993 self.backtracking -= 1
17994 self.failed = False
17995 return success
17996
17997 def synpred68(self):
17998 self.backtracking += 1
17999 start = self.input.mark()
18000 self.synpred68_fragment()
18001 success = not self.failed
18002 self.input.rewind(start)
18003 self.backtracking -= 1
18004 self.failed = False
18005 return success
18006
18007 def synpred40(self):
18008 self.backtracking += 1
18009 start = self.input.mark()
18010 self.synpred40_fragment()
18011 success = not self.failed
18012 self.input.rewind(start)
18013 self.backtracking -= 1
18014 self.failed = False
18015 return success
18016
18017 def synpred141(self):
18018 self.backtracking += 1
18019 start = self.input.mark()
18020 self.synpred141_fragment()
18021 success = not self.failed
18022 self.input.rewind(start)
18023 self.backtracking -= 1
18024 self.failed = False
18025 return success
18026
18027 def synpred75(self):
18028 self.backtracking += 1
18029 start = self.input.mark()
18030 self.synpred75_fragment()
18031 success = not self.failed
18032 self.input.rewind(start)
18033 self.backtracking -= 1
18034 self.failed = False
18035 return success
18036
18037 def synpred92(self):
18038 self.backtracking += 1
18039 start = self.input.mark()
18040 self.synpred92_fragment()
18041 success = not self.failed
18042 self.input.rewind(start)
18043 self.backtracking -= 1
18044 self.failed = False
18045 return success
18046
18047 def synpred4(self):
18048 self.backtracking += 1
18049 start = self.input.mark()
18050 self.synpred4_fragment()
18051 success = not self.failed
18052 self.input.rewind(start)
18053 self.backtracking -= 1
18054 self.failed = False
18055 return success
18056
18057 def synpred85(self):
18058 self.backtracking += 1
18059 start = self.input.mark()
18060 self.synpred85_fragment()
18061 success = not self.failed
18062 self.input.rewind(start)
18063 self.backtracking -= 1
18064 self.failed = False
18065 return success
18066
18067 def synpred39(self):
18068 self.backtracking += 1
18069 start = self.input.mark()
18070 self.synpred39_fragment()
18071 success = not self.failed
18072 self.input.rewind(start)
18073 self.backtracking -= 1
18074 self.failed = False
18075 return success
18076
18077 def synpred76(self):
18078 self.backtracking += 1
18079 start = self.input.mark()
18080 self.synpred76_fragment()
18081 success = not self.failed
18082 self.input.rewind(start)
18083 self.backtracking -= 1
18084 self.failed = False
18085 return success
18086
18087 def synpred119(self):
18088 self.backtracking += 1
18089 start = self.input.mark()
18090 self.synpred119_fragment()
18091 success = not self.failed
18092 self.input.rewind(start)
18093 self.backtracking -= 1
18094 self.failed = False
18095 return success
18096
18097 def synpred90(self):
18098 self.backtracking += 1
18099 start = self.input.mark()
18100 self.synpred90_fragment()
18101 success = not self.failed
18102 self.input.rewind(start)
18103 self.backtracking -= 1
18104 self.failed = False
18105 return success
18106
18107 def synpred187(self):
18108 self.backtracking += 1
18109 start = self.input.mark()
18110 self.synpred187_fragment()
18111 success = not self.failed
18112 self.input.rewind(start)
18113 self.backtracking -= 1
18114 self.failed = False
18115 return success
18116
18117 def synpred33(self):
18118 self.backtracking += 1
18119 start = self.input.mark()
18120 self.synpred33_fragment()
18121 success = not self.failed
18122 self.input.rewind(start)
18123 self.backtracking -= 1
18124 self.failed = False
18125 return success
18126
18127 def synpred2(self):
18128 self.backtracking += 1
18129 start = self.input.mark()
18130 self.synpred2_fragment()
18131 success = not self.failed
18132 self.input.rewind(start)
18133 self.backtracking -= 1
18134 self.failed = False
18135 return success
18136
18137 def synpred83(self):
18138 self.backtracking += 1
18139 start = self.input.mark()
18140 self.synpred83_fragment()
18141 success = not self.failed
18142 self.input.rewind(start)
18143 self.backtracking -= 1
18144 self.failed = False
18145 return success
18146
18147 def synpred69(self):
18148 self.backtracking += 1
18149 start = self.input.mark()
18150 self.synpred69_fragment()
18151 success = not self.failed
18152 self.input.rewind(start)
18153 self.backtracking -= 1
18154 self.failed = False
18155 return success
18156
18157 def synpred72(self):
18158 self.backtracking += 1
18159 start = self.input.mark()
18160 self.synpred72_fragment()
18161 success = not self.failed
18162 self.input.rewind(start)
18163 self.backtracking -= 1
18164 self.failed = False
18165 return success
18166
18167 def synpred168(self):
18168 self.backtracking += 1
18169 start = self.input.mark()
18170 self.synpred168_fragment()
18171 success = not self.failed
18172 self.input.rewind(start)
18173 self.backtracking -= 1
18174 self.failed = False
18175 return success
18176
18177 def synpred34(self):
18178 self.backtracking += 1
18179 start = self.input.mark()
18180 self.synpred34_fragment()
18181 success = not self.failed
18182 self.input.rewind(start)
18183 self.backtracking -= 1
18184 self.failed = False
18185 return success
18186
18187 def synpred181(self):
18188 self.backtracking += 1
18189 start = self.input.mark()
18190 self.synpred181_fragment()
18191 success = not self.failed
18192 self.input.rewind(start)
18193 self.backtracking -= 1
18194 self.failed = False
18195 return success
18196
18197 def synpred116(self):
18198 self.backtracking += 1
18199 start = self.input.mark()
18200 self.synpred116_fragment()
18201 success = not self.failed
18202 self.input.rewind(start)
18203 self.backtracking -= 1
18204 self.failed = False
18205 return success
18206
18207 def synpred113(self):
18208 self.backtracking += 1
18209 start = self.input.mark()
18210 self.synpred113_fragment()
18211 success = not self.failed
18212 self.input.rewind(start)
18213 self.backtracking -= 1
18214 self.failed = False
18215 return success
18216
18217 def synpred80(self):
18218 self.backtracking += 1
18219 start = self.input.mark()
18220 self.synpred80_fragment()
18221 success = not self.failed
18222 self.input.rewind(start)
18223 self.backtracking -= 1
18224 self.failed = False
18225 return success
18226
18227 def synpred73(self):
18228 self.backtracking += 1
18229 start = self.input.mark()
18230 self.synpred73_fragment()
18231 success = not self.failed
18232 self.input.rewind(start)
18233 self.backtracking -= 1
18234 self.failed = False
18235 return success
18236
18237 def synpred89(self):
18238 self.backtracking += 1
18239 start = self.input.mark()
18240 self.synpred89_fragment()
18241 success = not self.failed
18242 self.input.rewind(start)
18243 self.backtracking -= 1
18244 self.failed = False
18245 return success
18246
18247 def synpred10(self):
18248 self.backtracking += 1
18249 start = self.input.mark()
18250 self.synpred10_fragment()
18251 success = not self.failed
18252 self.input.rewind(start)
18253 self.backtracking -= 1
18254 self.failed = False
18255 return success
18256
18257 def synpred81(self):
18258 self.backtracking += 1
18259 start = self.input.mark()
18260 self.synpred81_fragment()
18261 success = not self.failed
18262 self.input.rewind(start)
18263 self.backtracking -= 1
18264 self.failed = False
18265 return success
18266
18267 def synpred180(self):
18268 self.backtracking += 1
18269 start = self.input.mark()
18270 self.synpred180_fragment()
18271 success = not self.failed
18272 self.input.rewind(start)
18273 self.backtracking -= 1
18274 self.failed = False
18275 return success
18276
18277 def synpred136(self):
18278 self.backtracking += 1
18279 start = self.input.mark()
18280 self.synpred136_fragment()
18281 success = not self.failed
18282 self.input.rewind(start)
18283 self.backtracking -= 1
18284 self.failed = False
18285 return success
18286
18287 def synpred77(self):
18288 self.backtracking += 1
18289 start = self.input.mark()
18290 self.synpred77_fragment()
18291 success = not self.failed
18292 self.input.rewind(start)
18293 self.backtracking -= 1
18294 self.failed = False
18295 return success
18296
18297 def synpred172(self):
18298 self.backtracking += 1
18299 start = self.input.mark()
18300 self.synpred172_fragment()
18301 success = not self.failed
18302 self.input.rewind(start)
18303 self.backtracking -= 1
18304 self.failed = False
18305 return success
18306
18307 def synpred137(self):
18308 self.backtracking += 1
18309 start = self.input.mark()
18310 self.synpred137_fragment()
18311 success = not self.failed
18312 self.input.rewind(start)
18313 self.backtracking -= 1
18314 self.failed = False
18315 return success
18316
18317 def synpred74(self):
18318 self.backtracking += 1
18319 start = self.input.mark()
18320 self.synpred74_fragment()
18321 success = not self.failed
18322 self.input.rewind(start)
18323 self.backtracking -= 1
18324 self.failed = False
18325 return success
18326
18327 def synpred5(self):
18328 self.backtracking += 1
18329 start = self.input.mark()
18330 self.synpred5_fragment()
18331 success = not self.failed
18332 self.input.rewind(start)
18333 self.backtracking -= 1
18334 self.failed = False
18335 return success
18336
18337 def synpred108(self):
18338 self.backtracking += 1
18339 start = self.input.mark()
18340 self.synpred108_fragment()
18341 success = not self.failed
18342 self.input.rewind(start)
18343 self.backtracking -= 1
18344 self.failed = False
18345 return success
18346
18347 def synpred82(self):
18348 self.backtracking += 1
18349 start = self.input.mark()
18350 self.synpred82_fragment()
18351 success = not self.failed
18352 self.input.rewind(start)
18353 self.backtracking -= 1
18354 self.failed = False
18355 return success
18356
18357 def synpred93(self):
18358 self.backtracking += 1
18359 start = self.input.mark()
18360 self.synpred93_fragment()
18361 success = not self.failed
18362 self.input.rewind(start)
18363 self.backtracking -= 1
18364 self.failed = False
18365 return success
18366
18367 def synpred66(self):
18368 self.backtracking += 1
18369 start = self.input.mark()
18370 self.synpred66_fragment()
18371 success = not self.failed
18372 self.input.rewind(start)
18373 self.backtracking -= 1
18374 self.failed = False
18375 return success
18376
18377
18378
18379
18380
18381 FOLLOW_external_declaration_in_translation_unit64 = 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, 65])
18382 FOLLOW_function_definition_in_external_declaration103 = frozenset([1])
18383 FOLLOW_declaration_in_external_declaration108 = frozenset([1])
18384 FOLLOW_macro_statement_in_external_declaration113 = frozenset([1, 25])
18385 FOLLOW_25_in_external_declaration116 = frozenset([1])
18386 FOLLOW_declaration_specifiers_in_function_definition147 = frozenset([4, 58, 59, 60, 61, 65])
18387 FOLLOW_declarator_in_function_definition150 = 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])
18388 FOLLOW_declaration_in_function_definition156 = 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])
18389 FOLLOW_compound_statement_in_function_definition161 = frozenset([1])
18390 FOLLOW_compound_statement_in_function_definition170 = frozenset([1])
18391 FOLLOW_26_in_declaration193 = 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, 65])
18392 FOLLOW_declaration_specifiers_in_declaration197 = frozenset([4, 58, 59, 60, 61, 65])
18393 FOLLOW_init_declarator_list_in_declaration206 = frozenset([25])
18394 FOLLOW_25_in_declaration210 = frozenset([1])
18395 FOLLOW_declaration_specifiers_in_declaration224 = frozenset([4, 25, 58, 59, 60, 61, 65])
18396 FOLLOW_init_declarator_list_in_declaration228 = frozenset([25])
18397 FOLLOW_25_in_declaration233 = frozenset([1])
18398 FOLLOW_storage_class_specifier_in_declaration_specifiers254 = 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])
18399 FOLLOW_type_specifier_in_declaration_specifiers262 = 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])
18400 FOLLOW_type_qualifier_in_declaration_specifiers276 = 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])
18401 FOLLOW_init_declarator_in_init_declarator_list298 = frozenset([1, 27])
18402 FOLLOW_27_in_init_declarator_list301 = frozenset([4, 58, 59, 60, 61, 65])
18403 FOLLOW_init_declarator_in_init_declarator_list303 = frozenset([1, 27])
18404 FOLLOW_declarator_in_init_declarator316 = frozenset([1, 28])
18405 FOLLOW_28_in_init_declarator319 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18406 FOLLOW_initializer_in_init_declarator321 = frozenset([1])
18407 FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
18408 FOLLOW_34_in_type_specifier366 = frozenset([1])
18409 FOLLOW_35_in_type_specifier371 = frozenset([1])
18410 FOLLOW_36_in_type_specifier376 = frozenset([1])
18411 FOLLOW_37_in_type_specifier381 = frozenset([1])
18412 FOLLOW_38_in_type_specifier386 = frozenset([1])
18413 FOLLOW_39_in_type_specifier391 = frozenset([1])
18414 FOLLOW_40_in_type_specifier396 = frozenset([1])
18415 FOLLOW_41_in_type_specifier401 = frozenset([1])
18416 FOLLOW_42_in_type_specifier406 = frozenset([1])
18417 FOLLOW_struct_or_union_specifier_in_type_specifier413 = frozenset([1])
18418 FOLLOW_enum_specifier_in_type_specifier423 = frozenset([1])
18419 FOLLOW_type_id_in_type_specifier441 = frozenset([1])
18420 FOLLOW_IDENTIFIER_in_type_id457 = frozenset([1])
18421 FOLLOW_struct_or_union_in_struct_or_union_specifier484 = frozenset([4, 43])
18422 FOLLOW_IDENTIFIER_in_struct_or_union_specifier486 = frozenset([43])
18423 FOLLOW_43_in_struct_or_union_specifier489 = 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])
18424 FOLLOW_struct_declaration_list_in_struct_or_union_specifier491 = frozenset([44])
18425 FOLLOW_44_in_struct_or_union_specifier493 = frozenset([1])
18426 FOLLOW_struct_or_union_in_struct_or_union_specifier498 = frozenset([4])
18427 FOLLOW_IDENTIFIER_in_struct_or_union_specifier500 = frozenset([1])
18428 FOLLOW_set_in_struct_or_union0 = frozenset([1])
18429 FOLLOW_struct_declaration_in_struct_declaration_list527 = 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])
18430 FOLLOW_specifier_qualifier_list_in_struct_declaration539 = frozenset([4, 47, 58, 59, 60, 61, 65])
18431 FOLLOW_struct_declarator_list_in_struct_declaration541 = frozenset([25])
18432 FOLLOW_25_in_struct_declaration543 = frozenset([1])
18433 FOLLOW_type_qualifier_in_specifier_qualifier_list556 = 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])
18434 FOLLOW_type_specifier_in_specifier_qualifier_list560 = 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])
18435 FOLLOW_struct_declarator_in_struct_declarator_list574 = frozenset([1, 27])
18436 FOLLOW_27_in_struct_declarator_list577 = frozenset([4, 47, 58, 59, 60, 61, 65])
18437 FOLLOW_struct_declarator_in_struct_declarator_list579 = frozenset([1, 27])
18438 FOLLOW_declarator_in_struct_declarator592 = frozenset([1, 47])
18439 FOLLOW_47_in_struct_declarator595 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18440 FOLLOW_constant_expression_in_struct_declarator597 = frozenset([1])
18441 FOLLOW_47_in_struct_declarator604 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18442 FOLLOW_constant_expression_in_struct_declarator606 = frozenset([1])
18443 FOLLOW_48_in_enum_specifier624 = frozenset([43])
18444 FOLLOW_43_in_enum_specifier626 = frozenset([4])
18445 FOLLOW_enumerator_list_in_enum_specifier628 = frozenset([27, 44])
18446 FOLLOW_27_in_enum_specifier630 = frozenset([44])
18447 FOLLOW_44_in_enum_specifier633 = frozenset([1])
18448 FOLLOW_48_in_enum_specifier638 = frozenset([4])
18449 FOLLOW_IDENTIFIER_in_enum_specifier640 = frozenset([43])
18450 FOLLOW_43_in_enum_specifier642 = frozenset([4])
18451 FOLLOW_enumerator_list_in_enum_specifier644 = frozenset([27, 44])
18452 FOLLOW_27_in_enum_specifier646 = frozenset([44])
18453 FOLLOW_44_in_enum_specifier649 = frozenset([1])
18454 FOLLOW_48_in_enum_specifier654 = frozenset([4])
18455 FOLLOW_IDENTIFIER_in_enum_specifier656 = frozenset([1])
18456 FOLLOW_enumerator_in_enumerator_list667 = frozenset([1, 27])
18457 FOLLOW_27_in_enumerator_list670 = frozenset([4])
18458 FOLLOW_enumerator_in_enumerator_list672 = frozenset([1, 27])
18459 FOLLOW_IDENTIFIER_in_enumerator685 = frozenset([1, 28])
18460 FOLLOW_28_in_enumerator688 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18461 FOLLOW_constant_expression_in_enumerator690 = frozenset([1])
18462 FOLLOW_set_in_type_qualifier0 = frozenset([1])
18463 FOLLOW_pointer_in_declarator769 = frozenset([4, 58, 59, 60, 61])
18464 FOLLOW_58_in_declarator773 = frozenset([4, 59, 60, 61])
18465 FOLLOW_59_in_declarator778 = frozenset([4, 60, 61])
18466 FOLLOW_60_in_declarator783 = frozenset([4, 61])
18467 FOLLOW_direct_declarator_in_declarator787 = frozenset([1])
18468 FOLLOW_pointer_in_declarator793 = frozenset([1])
18469 FOLLOW_IDENTIFIER_in_direct_declarator804 = frozenset([1, 61, 63])
18470 FOLLOW_declarator_suffix_in_direct_declarator806 = frozenset([1, 61, 63])
18471 FOLLOW_61_in_direct_declarator812 = frozenset([4, 58, 59, 60, 61, 65])
18472 FOLLOW_58_in_direct_declarator815 = frozenset([4, 58, 59, 60, 61, 65])
18473 FOLLOW_declarator_in_direct_declarator819 = frozenset([62])
18474 FOLLOW_62_in_direct_declarator821 = frozenset([61, 63])
18475 FOLLOW_declarator_suffix_in_direct_declarator823 = frozenset([1, 61, 63])
18476 FOLLOW_63_in_declarator_suffix837 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18477 FOLLOW_constant_expression_in_declarator_suffix839 = frozenset([64])
18478 FOLLOW_64_in_declarator_suffix841 = frozenset([1])
18479 FOLLOW_63_in_declarator_suffix851 = frozenset([64])
18480 FOLLOW_64_in_declarator_suffix853 = frozenset([1])
18481 FOLLOW_61_in_declarator_suffix863 = 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, 65])
18482 FOLLOW_parameter_type_list_in_declarator_suffix865 = frozenset([62])
18483 FOLLOW_62_in_declarator_suffix867 = frozenset([1])
18484 FOLLOW_61_in_declarator_suffix877 = frozenset([4])
18485 FOLLOW_identifier_list_in_declarator_suffix879 = frozenset([62])
18486 FOLLOW_62_in_declarator_suffix881 = frozenset([1])
18487 FOLLOW_61_in_declarator_suffix891 = frozenset([62])
18488 FOLLOW_62_in_declarator_suffix893 = frozenset([1])
18489 FOLLOW_65_in_pointer904 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18490 FOLLOW_type_qualifier_in_pointer906 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18491 FOLLOW_pointer_in_pointer909 = frozenset([1])
18492 FOLLOW_65_in_pointer915 = frozenset([65])
18493 FOLLOW_pointer_in_pointer917 = frozenset([1])
18494 FOLLOW_65_in_pointer922 = frozenset([1])
18495 FOLLOW_parameter_list_in_parameter_type_list933 = frozenset([1, 27])
18496 FOLLOW_27_in_parameter_type_list936 = frozenset([53, 66])
18497 FOLLOW_53_in_parameter_type_list939 = frozenset([66])
18498 FOLLOW_66_in_parameter_type_list943 = frozenset([1])
18499 FOLLOW_parameter_declaration_in_parameter_list956 = frozenset([1, 27])
18500 FOLLOW_27_in_parameter_list959 = 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, 65])
18501 FOLLOW_53_in_parameter_list962 = 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, 65])
18502 FOLLOW_parameter_declaration_in_parameter_list966 = frozenset([1, 27])
18503 FOLLOW_declaration_specifiers_in_parameter_declaration979 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18504 FOLLOW_declarator_in_parameter_declaration982 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18505 FOLLOW_abstract_declarator_in_parameter_declaration984 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18506 FOLLOW_53_in_parameter_declaration989 = frozenset([1])
18507 FOLLOW_pointer_in_parameter_declaration998 = frozenset([4, 65])
18508 FOLLOW_IDENTIFIER_in_parameter_declaration1001 = frozenset([1])
18509 FOLLOW_IDENTIFIER_in_identifier_list1012 = frozenset([1, 27])
18510 FOLLOW_27_in_identifier_list1016 = frozenset([4])
18511 FOLLOW_IDENTIFIER_in_identifier_list1018 = frozenset([1, 27])
18512 FOLLOW_specifier_qualifier_list_in_type_name1031 = frozenset([1, 61, 63, 65])
18513 FOLLOW_abstract_declarator_in_type_name1033 = frozenset([1])
18514 FOLLOW_type_id_in_type_name1039 = frozenset([1])
18515 FOLLOW_pointer_in_abstract_declarator1050 = frozenset([1, 61, 63])
18516 FOLLOW_direct_abstract_declarator_in_abstract_declarator1052 = frozenset([1])
18517 FOLLOW_direct_abstract_declarator_in_abstract_declarator1058 = frozenset([1])
18518 FOLLOW_61_in_direct_abstract_declarator1071 = frozenset([61, 63, 65])
18519 FOLLOW_abstract_declarator_in_direct_abstract_declarator1073 = frozenset([62])
18520 FOLLOW_62_in_direct_abstract_declarator1075 = frozenset([1, 61, 63])
18521 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1079 = frozenset([1, 61, 63])
18522 FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1083 = frozenset([1, 61, 63])
18523 FOLLOW_63_in_abstract_declarator_suffix1095 = frozenset([64])
18524 FOLLOW_64_in_abstract_declarator_suffix1097 = frozenset([1])
18525 FOLLOW_63_in_abstract_declarator_suffix1102 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18526 FOLLOW_constant_expression_in_abstract_declarator_suffix1104 = frozenset([64])
18527 FOLLOW_64_in_abstract_declarator_suffix1106 = frozenset([1])
18528 FOLLOW_61_in_abstract_declarator_suffix1111 = frozenset([62])
18529 FOLLOW_62_in_abstract_declarator_suffix1113 = frozenset([1])
18530 FOLLOW_61_in_abstract_declarator_suffix1118 = 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, 65])
18531 FOLLOW_parameter_type_list_in_abstract_declarator_suffix1120 = frozenset([62])
18532 FOLLOW_62_in_abstract_declarator_suffix1122 = frozenset([1])
18533 FOLLOW_assignment_expression_in_initializer1135 = frozenset([1])
18534 FOLLOW_43_in_initializer1140 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18535 FOLLOW_initializer_list_in_initializer1142 = frozenset([27, 44])
18536 FOLLOW_27_in_initializer1144 = frozenset([44])
18537 FOLLOW_44_in_initializer1147 = frozenset([1])
18538 FOLLOW_initializer_in_initializer_list1158 = frozenset([1, 27])
18539 FOLLOW_27_in_initializer_list1161 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18540 FOLLOW_initializer_in_initializer_list1163 = frozenset([1, 27])
18541 FOLLOW_assignment_expression_in_argument_expression_list1181 = frozenset([1, 27, 53])
18542 FOLLOW_53_in_argument_expression_list1184 = frozenset([1, 27])
18543 FOLLOW_27_in_argument_expression_list1189 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18544 FOLLOW_assignment_expression_in_argument_expression_list1191 = frozenset([1, 27, 53])
18545 FOLLOW_53_in_argument_expression_list1194 = frozenset([1, 27])
18546 FOLLOW_multiplicative_expression_in_additive_expression1210 = frozenset([1, 67, 68])
18547 FOLLOW_67_in_additive_expression1214 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18548 FOLLOW_multiplicative_expression_in_additive_expression1216 = frozenset([1, 67, 68])
18549 FOLLOW_68_in_additive_expression1220 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18550 FOLLOW_multiplicative_expression_in_additive_expression1222 = frozenset([1, 67, 68])
18551 FOLLOW_cast_expression_in_multiplicative_expression1236 = frozenset([1, 65, 69, 70])
18552 FOLLOW_65_in_multiplicative_expression1240 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18553 FOLLOW_cast_expression_in_multiplicative_expression1242 = frozenset([1, 65, 69, 70])
18554 FOLLOW_69_in_multiplicative_expression1246 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18555 FOLLOW_cast_expression_in_multiplicative_expression1248 = frozenset([1, 65, 69, 70])
18556 FOLLOW_70_in_multiplicative_expression1252 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18557 FOLLOW_cast_expression_in_multiplicative_expression1254 = frozenset([1, 65, 69, 70])
18558 FOLLOW_61_in_cast_expression1267 = 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])
18559 FOLLOW_type_name_in_cast_expression1269 = frozenset([62])
18560 FOLLOW_62_in_cast_expression1271 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18561 FOLLOW_cast_expression_in_cast_expression1273 = frozenset([1])
18562 FOLLOW_unary_expression_in_cast_expression1278 = frozenset([1])
18563 FOLLOW_postfix_expression_in_unary_expression1289 = frozenset([1])
18564 FOLLOW_71_in_unary_expression1294 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18565 FOLLOW_unary_expression_in_unary_expression1296 = frozenset([1])
18566 FOLLOW_72_in_unary_expression1301 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18567 FOLLOW_unary_expression_in_unary_expression1303 = frozenset([1])
18568 FOLLOW_unary_operator_in_unary_expression1308 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18569 FOLLOW_cast_expression_in_unary_expression1310 = frozenset([1])
18570 FOLLOW_73_in_unary_expression1315 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18571 FOLLOW_unary_expression_in_unary_expression1317 = frozenset([1])
18572 FOLLOW_73_in_unary_expression1322 = frozenset([61])
18573 FOLLOW_61_in_unary_expression1324 = 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])
18574 FOLLOW_type_name_in_unary_expression1326 = frozenset([62])
18575 FOLLOW_62_in_unary_expression1328 = frozenset([1])
18576 FOLLOW_primary_expression_in_postfix_expression1352 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18577 FOLLOW_63_in_postfix_expression1368 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18578 FOLLOW_expression_in_postfix_expression1370 = frozenset([64])
18579 FOLLOW_64_in_postfix_expression1372 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18580 FOLLOW_61_in_postfix_expression1386 = frozenset([62])
18581 FOLLOW_62_in_postfix_expression1390 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18582 FOLLOW_61_in_postfix_expression1405 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18583 FOLLOW_argument_expression_list_in_postfix_expression1409 = frozenset([62])
18584 FOLLOW_62_in_postfix_expression1413 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18585 FOLLOW_61_in_postfix_expression1429 = 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, 65])
18586 FOLLOW_macro_parameter_list_in_postfix_expression1431 = frozenset([62])
18587 FOLLOW_62_in_postfix_expression1433 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18588 FOLLOW_74_in_postfix_expression1447 = frozenset([4])
18589 FOLLOW_IDENTIFIER_in_postfix_expression1451 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18590 FOLLOW_65_in_postfix_expression1467 = frozenset([4])
18591 FOLLOW_IDENTIFIER_in_postfix_expression1471 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18592 FOLLOW_75_in_postfix_expression1487 = frozenset([4])
18593 FOLLOW_IDENTIFIER_in_postfix_expression1491 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18594 FOLLOW_71_in_postfix_expression1507 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18595 FOLLOW_72_in_postfix_expression1521 = frozenset([1, 61, 63, 65, 71, 72, 74, 75])
18596 FOLLOW_parameter_declaration_in_macro_parameter_list1544 = frozenset([1, 27])
18597 FOLLOW_27_in_macro_parameter_list1547 = 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, 65])
18598 FOLLOW_parameter_declaration_in_macro_parameter_list1549 = frozenset([1, 27])
18599 FOLLOW_set_in_unary_operator0 = frozenset([1])
18600 FOLLOW_IDENTIFIER_in_primary_expression1598 = frozenset([1])
18601 FOLLOW_constant_in_primary_expression1603 = frozenset([1])
18602 FOLLOW_61_in_primary_expression1608 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18603 FOLLOW_expression_in_primary_expression1610 = frozenset([62])
18604 FOLLOW_62_in_primary_expression1612 = frozenset([1])
18605 FOLLOW_HEX_LITERAL_in_constant1628 = frozenset([1])
18606 FOLLOW_OCTAL_LITERAL_in_constant1638 = frozenset([1])
18607 FOLLOW_DECIMAL_LITERAL_in_constant1648 = frozenset([1])
18608 FOLLOW_CHARACTER_LITERAL_in_constant1656 = frozenset([1])
18609 FOLLOW_IDENTIFIER_in_constant1665 = frozenset([4, 9])
18610 FOLLOW_STRING_LITERAL_in_constant1668 = frozenset([1, 4, 9])
18611 FOLLOW_IDENTIFIER_in_constant1673 = frozenset([1, 4])
18612 FOLLOW_FLOATING_POINT_LITERAL_in_constant1684 = frozenset([1])
18613 FOLLOW_assignment_expression_in_expression1700 = frozenset([1, 27])
18614 FOLLOW_27_in_expression1703 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18615 FOLLOW_assignment_expression_in_expression1705 = frozenset([1, 27])
18616 FOLLOW_conditional_expression_in_constant_expression1718 = frozenset([1])
18617 FOLLOW_lvalue_in_assignment_expression1729 = frozenset([28, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88])
18618 FOLLOW_assignment_operator_in_assignment_expression1731 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18619 FOLLOW_assignment_expression_in_assignment_expression1733 = frozenset([1])
18620 FOLLOW_conditional_expression_in_assignment_expression1738 = frozenset([1])
18621 FOLLOW_unary_expression_in_lvalue1750 = frozenset([1])
18622 FOLLOW_set_in_assignment_operator0 = frozenset([1])
18623 FOLLOW_logical_or_expression_in_conditional_expression1824 = frozenset([1, 89])
18624 FOLLOW_89_in_conditional_expression1827 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18625 FOLLOW_expression_in_conditional_expression1829 = frozenset([47])
18626 FOLLOW_47_in_conditional_expression1831 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18627 FOLLOW_conditional_expression_in_conditional_expression1833 = frozenset([1])
18628 FOLLOW_logical_and_expression_in_logical_or_expression1848 = frozenset([1, 90])
18629 FOLLOW_90_in_logical_or_expression1851 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18630 FOLLOW_logical_and_expression_in_logical_or_expression1853 = frozenset([1, 90])
18631 FOLLOW_inclusive_or_expression_in_logical_and_expression1866 = frozenset([1, 91])
18632 FOLLOW_91_in_logical_and_expression1869 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18633 FOLLOW_inclusive_or_expression_in_logical_and_expression1871 = frozenset([1, 91])
18634 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1884 = frozenset([1, 92])
18635 FOLLOW_92_in_inclusive_or_expression1887 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18636 FOLLOW_exclusive_or_expression_in_inclusive_or_expression1889 = frozenset([1, 92])
18637 FOLLOW_and_expression_in_exclusive_or_expression1902 = frozenset([1, 93])
18638 FOLLOW_93_in_exclusive_or_expression1905 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18639 FOLLOW_and_expression_in_exclusive_or_expression1907 = frozenset([1, 93])
18640 FOLLOW_equality_expression_in_and_expression1920 = frozenset([1, 76])
18641 FOLLOW_76_in_and_expression1923 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18642 FOLLOW_equality_expression_in_and_expression1925 = frozenset([1, 76])
18643 FOLLOW_relational_expression_in_equality_expression1937 = frozenset([1, 94, 95])
18644 FOLLOW_set_in_equality_expression1940 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18645 FOLLOW_relational_expression_in_equality_expression1946 = frozenset([1, 94, 95])
18646 FOLLOW_shift_expression_in_relational_expression1960 = frozenset([1, 96, 97, 98, 99])
18647 FOLLOW_set_in_relational_expression1963 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18648 FOLLOW_shift_expression_in_relational_expression1973 = frozenset([1, 96, 97, 98, 99])
18649 FOLLOW_additive_expression_in_shift_expression1986 = frozenset([1, 100, 101])
18650 FOLLOW_set_in_shift_expression1989 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18651 FOLLOW_additive_expression_in_shift_expression1995 = frozenset([1, 100, 101])
18652 FOLLOW_labeled_statement_in_statement2010 = frozenset([1])
18653 FOLLOW_compound_statement_in_statement2015 = frozenset([1])
18654 FOLLOW_expression_statement_in_statement2020 = frozenset([1])
18655 FOLLOW_selection_statement_in_statement2025 = frozenset([1])
18656 FOLLOW_iteration_statement_in_statement2030 = frozenset([1])
18657 FOLLOW_jump_statement_in_statement2035 = frozenset([1])
18658 FOLLOW_macro_statement_in_statement2040 = frozenset([1])
18659 FOLLOW_asm2_statement_in_statement2045 = frozenset([1])
18660 FOLLOW_asm1_statement_in_statement2050 = frozenset([1])
18661 FOLLOW_asm_statement_in_statement2055 = frozenset([1])
18662 FOLLOW_declaration_in_statement2060 = frozenset([1])
18663 FOLLOW_102_in_asm2_statement2071 = frozenset([4])
18664 FOLLOW_IDENTIFIER_in_asm2_statement2074 = frozenset([61])
18665 FOLLOW_61_in_asm2_statement2076 = 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])
18666 FOLLOW_set_in_asm2_statement2079 = 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])
18667 FOLLOW_62_in_asm2_statement2086 = frozenset([25])
18668 FOLLOW_25_in_asm2_statement2088 = frozenset([1])
18669 FOLLOW_103_in_asm1_statement2100 = frozenset([43])
18670 FOLLOW_43_in_asm1_statement2102 = 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])
18671 FOLLOW_set_in_asm1_statement2105 = 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])
18672 FOLLOW_44_in_asm1_statement2112 = frozenset([1])
18673 FOLLOW_104_in_asm_statement2123 = frozenset([43])
18674 FOLLOW_43_in_asm_statement2125 = 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])
18675 FOLLOW_set_in_asm_statement2128 = 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])
18676 FOLLOW_44_in_asm_statement2135 = frozenset([1])
18677 FOLLOW_IDENTIFIER_in_macro_statement2147 = frozenset([61])
18678 FOLLOW_61_in_macro_statement2149 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18679 FOLLOW_declaration_in_macro_statement2151 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18680 FOLLOW_statement_list_in_macro_statement2155 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18681 FOLLOW_expression_in_macro_statement2158 = frozenset([62])
18682 FOLLOW_62_in_macro_statement2161 = frozenset([1])
18683 FOLLOW_IDENTIFIER_in_labeled_statement2173 = frozenset([47])
18684 FOLLOW_47_in_labeled_statement2175 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18685 FOLLOW_statement_in_labeled_statement2177 = frozenset([1])
18686 FOLLOW_105_in_labeled_statement2182 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18687 FOLLOW_constant_expression_in_labeled_statement2184 = frozenset([47])
18688 FOLLOW_47_in_labeled_statement2186 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18689 FOLLOW_statement_in_labeled_statement2188 = frozenset([1])
18690 FOLLOW_106_in_labeled_statement2193 = frozenset([47])
18691 FOLLOW_47_in_labeled_statement2195 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18692 FOLLOW_statement_in_labeled_statement2197 = frozenset([1])
18693 FOLLOW_43_in_compound_statement2208 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18694 FOLLOW_declaration_in_compound_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, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18695 FOLLOW_statement_list_in_compound_statement2213 = frozenset([44])
18696 FOLLOW_44_in_compound_statement2216 = frozenset([1])
18697 FOLLOW_statement_in_statement_list2227 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18698 FOLLOW_25_in_expression_statement2239 = frozenset([1])
18699 FOLLOW_expression_in_expression_statement2244 = frozenset([25])
18700 FOLLOW_25_in_expression_statement2246 = frozenset([1])
18701 FOLLOW_107_in_selection_statement2257 = frozenset([61])
18702 FOLLOW_61_in_selection_statement2259 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18703 FOLLOW_expression_in_selection_statement2263 = frozenset([62])
18704 FOLLOW_62_in_selection_statement2265 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18705 FOLLOW_statement_in_selection_statement2269 = frozenset([1, 108])
18706 FOLLOW_108_in_selection_statement2284 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18707 FOLLOW_statement_in_selection_statement2286 = frozenset([1])
18708 FOLLOW_109_in_selection_statement2293 = frozenset([61])
18709 FOLLOW_61_in_selection_statement2295 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18710 FOLLOW_expression_in_selection_statement2297 = frozenset([62])
18711 FOLLOW_62_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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18712 FOLLOW_statement_in_selection_statement2301 = frozenset([1])
18713 FOLLOW_110_in_iteration_statement2312 = frozenset([61])
18714 FOLLOW_61_in_iteration_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18715 FOLLOW_expression_in_iteration_statement2318 = frozenset([62])
18716 FOLLOW_62_in_iteration_statement2320 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18717 FOLLOW_statement_in_iteration_statement2322 = frozenset([1])
18718 FOLLOW_111_in_iteration_statement2329 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18719 FOLLOW_statement_in_iteration_statement2331 = frozenset([110])
18720 FOLLOW_110_in_iteration_statement2333 = frozenset([61])
18721 FOLLOW_61_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18722 FOLLOW_expression_in_iteration_statement2339 = frozenset([62])
18723 FOLLOW_62_in_iteration_statement2341 = frozenset([25])
18724 FOLLOW_25_in_iteration_statement2343 = frozenset([1])
18725 FOLLOW_112_in_iteration_statement2350 = frozenset([61])
18726 FOLLOW_61_in_iteration_statement2352 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18727 FOLLOW_expression_statement_in_iteration_statement2354 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18728 FOLLOW_expression_statement_in_iteration_statement2358 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18729 FOLLOW_expression_in_iteration_statement2360 = frozenset([62])
18730 FOLLOW_62_in_iteration_statement2363 = 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, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116])
18731 FOLLOW_statement_in_iteration_statement2365 = frozenset([1])
18732 FOLLOW_113_in_jump_statement2378 = frozenset([4])
18733 FOLLOW_IDENTIFIER_in_jump_statement2380 = frozenset([25])
18734 FOLLOW_25_in_jump_statement2382 = frozenset([1])
18735 FOLLOW_114_in_jump_statement2387 = frozenset([25])
18736 FOLLOW_25_in_jump_statement2389 = frozenset([1])
18737 FOLLOW_115_in_jump_statement2394 = frozenset([25])
18738 FOLLOW_25_in_jump_statement2396 = frozenset([1])
18739 FOLLOW_116_in_jump_statement2401 = frozenset([25])
18740 FOLLOW_25_in_jump_statement2403 = frozenset([1])
18741 FOLLOW_116_in_jump_statement2408 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18742 FOLLOW_expression_in_jump_statement2410 = frozenset([25])
18743 FOLLOW_25_in_jump_statement2412 = frozenset([1])
18744 FOLLOW_declaration_specifiers_in_synpred290 = frozenset([1])
18745 FOLLOW_declaration_specifiers_in_synpred490 = frozenset([4, 58, 59, 60, 61, 65])
18746 FOLLOW_declarator_in_synpred493 = 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])
18747 FOLLOW_declaration_in_synpred495 = 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])
18748 FOLLOW_43_in_synpred498 = frozenset([1])
18749 FOLLOW_declaration_in_synpred5108 = frozenset([1])
18750 FOLLOW_declaration_specifiers_in_synpred7147 = frozenset([1])
18751 FOLLOW_declaration_specifiers_in_synpred10197 = frozenset([1])
18752 FOLLOW_type_specifier_in_synpred14262 = frozenset([1])
18753 FOLLOW_type_qualifier_in_synpred15276 = frozenset([1])
18754 FOLLOW_type_qualifier_in_synpred33434 = frozenset([1])
18755 FOLLOW_IDENTIFIER_in_synpred34432 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
18756 FOLLOW_type_qualifier_in_synpred34434 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65])
18757 FOLLOW_declarator_in_synpred34437 = frozenset([1])
18758 FOLLOW_type_qualifier_in_synpred39556 = frozenset([1])
18759 FOLLOW_type_specifier_in_synpred40560 = frozenset([1])
18760 FOLLOW_pointer_in_synpred65769 = frozenset([4, 58, 59, 60, 61])
18761 FOLLOW_58_in_synpred65773 = frozenset([4, 59, 60, 61])
18762 FOLLOW_59_in_synpred65778 = frozenset([4, 60, 61])
18763 FOLLOW_60_in_synpred65783 = frozenset([4, 61])
18764 FOLLOW_direct_declarator_in_synpred65787 = frozenset([1])
18765 FOLLOW_declarator_suffix_in_synpred66806 = frozenset([1])
18766 FOLLOW_58_in_synpred68815 = frozenset([1])
18767 FOLLOW_declarator_suffix_in_synpred69823 = frozenset([1])
18768 FOLLOW_61_in_synpred72863 = 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, 65])
18769 FOLLOW_parameter_type_list_in_synpred72865 = frozenset([62])
18770 FOLLOW_62_in_synpred72867 = frozenset([1])
18771 FOLLOW_61_in_synpred73877 = frozenset([4])
18772 FOLLOW_identifier_list_in_synpred73879 = frozenset([62])
18773 FOLLOW_62_in_synpred73881 = frozenset([1])
18774 FOLLOW_type_qualifier_in_synpred74906 = frozenset([1])
18775 FOLLOW_pointer_in_synpred75909 = frozenset([1])
18776 FOLLOW_65_in_synpred76904 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60])
18777 FOLLOW_type_qualifier_in_synpred76906 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65])
18778 FOLLOW_pointer_in_synpred76909 = frozenset([1])
18779 FOLLOW_65_in_synpred77915 = frozenset([65])
18780 FOLLOW_pointer_in_synpred77917 = frozenset([1])
18781 FOLLOW_53_in_synpred80962 = frozenset([1])
18782 FOLLOW_27_in_synpred81959 = 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, 65])
18783 FOLLOW_53_in_synpred81962 = 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, 65])
18784 FOLLOW_parameter_declaration_in_synpred81966 = frozenset([1])
18785 FOLLOW_declarator_in_synpred82982 = frozenset([1])
18786 FOLLOW_abstract_declarator_in_synpred83984 = frozenset([1])
18787 FOLLOW_declaration_specifiers_in_synpred85979 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18788 FOLLOW_declarator_in_synpred85982 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18789 FOLLOW_abstract_declarator_in_synpred85984 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65])
18790 FOLLOW_53_in_synpred85989 = frozenset([1])
18791 FOLLOW_specifier_qualifier_list_in_synpred891031 = frozenset([1, 61, 63, 65])
18792 FOLLOW_abstract_declarator_in_synpred891033 = frozenset([1])
18793 FOLLOW_direct_abstract_declarator_in_synpred901052 = frozenset([1])
18794 FOLLOW_61_in_synpred921071 = frozenset([61, 63, 65])
18795 FOLLOW_abstract_declarator_in_synpred921073 = frozenset([62])
18796 FOLLOW_62_in_synpred921075 = frozenset([1])
18797 FOLLOW_abstract_declarator_suffix_in_synpred931083 = frozenset([1])
18798 FOLLOW_61_in_synpred1081267 = 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])
18799 FOLLOW_type_name_in_synpred1081269 = frozenset([62])
18800 FOLLOW_62_in_synpred1081271 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18801 FOLLOW_cast_expression_in_synpred1081273 = frozenset([1])
18802 FOLLOW_73_in_synpred1131315 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18803 FOLLOW_unary_expression_in_synpred1131317 = frozenset([1])
18804 FOLLOW_61_in_synpred1161405 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18805 FOLLOW_argument_expression_list_in_synpred1161409 = frozenset([62])
18806 FOLLOW_62_in_synpred1161413 = frozenset([1])
18807 FOLLOW_61_in_synpred1171429 = 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, 65])
18808 FOLLOW_macro_parameter_list_in_synpred1171431 = frozenset([62])
18809 FOLLOW_62_in_synpred1171433 = frozenset([1])
18810 FOLLOW_65_in_synpred1191467 = frozenset([4])
18811 FOLLOW_IDENTIFIER_in_synpred1191471 = frozenset([1])
18812 FOLLOW_STRING_LITERAL_in_synpred1361668 = frozenset([1])
18813 FOLLOW_IDENTIFIER_in_synpred1371665 = frozenset([4, 9])
18814 FOLLOW_STRING_LITERAL_in_synpred1371668 = frozenset([1, 9])
18815 FOLLOW_lvalue_in_synpred1411729 = frozenset([28, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88])
18816 FOLLOW_assignment_operator_in_synpred1411731 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78])
18817 FOLLOW_assignment_expression_in_synpred1411733 = frozenset([1])
18818 FOLLOW_expression_statement_in_synpred1682020 = frozenset([1])
18819 FOLLOW_macro_statement_in_synpred1722040 = frozenset([1])
18820 FOLLOW_asm2_statement_in_synpred1732045 = frozenset([1])
18821 FOLLOW_declaration_in_synpred1802151 = frozenset([1])
18822 FOLLOW_statement_list_in_synpred1812155 = frozenset([1])
18823 FOLLOW_declaration_in_synpred1852210 = frozenset([1])
18824 FOLLOW_statement_in_synpred1872227 = frozenset([1])
18825